Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 44 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
44
Dung lượng
1,34 MB
Nội dung
1 BẢO MẬT THÔNG TIN BÀI 2: MÃ HÓA ĐỐI XỨNG CĂN BẢN Nguyễn Hữu Thể 2 Nội dung 1. Mã hóa Ceasar 2. Mô hình mã hóa đối xứng (Symmetric Ciphers) 3. Mã hóa thay thế đơn bảng (Monoalphabetic Substitution Cipher) 4. Mã hóa thay thế đa bảng (Polyalphabetic Substitution Cipher) 5. One-Time Pad 6. Mã hoán vị (Permutation Cipher) Mã hóa Ceasar Julius Caesar 3 Mã hóa Ceasar Thế kỷ thứ 3 trƣớc công nguyên, nhà quân sự ngƣời La Mã Julius Ceasar đã nghĩ ra phƣơng pháp mã hóa một bản tin: thay thế mỗi chữ trong bản tin bằng chữ đứng sau nó k vị trí trong bảng chữ cái. Giả sử chọn k = 3, ta có bảng chuyển đổi nhƣ sau: (sau Z sẽ vòng lại là A, do đó x -> A, y -> B và z -> C) • Giả sử có bản tin gốc (bản rõ): meet me after the toga party • Nhƣ vậy bản tin mã hóa (bản mã) sẽ là: PHHW PH DIWHU WKH WRJD SDUWB Ceasar gửi bản mã. Khi cấp dƣới nhận đƣợc bản mã, tiến hành giải mã theo quy trình ngƣợc lại để có đƣợc bản rõ. 4 Mã hóa Ceasar Gán cho mỗi chữ cái một con số nguyên từ 0 đến 25: Phƣơng pháp Ceasar đƣợc biểu diễn nhƣ sau: với mỗi chữ cái p thay bằng chữ mã hóa C, trong đó: C = (p + k) mod 26 (trong đó mod là phép chia lấy số dƣ) Và quá trình giải mã đơn giản là: p = (C – k) mod 26 k đƣợc gọi là khóa. Dĩ nhiên là Ceasar và cấp dƣới phải cùng dùng chung một giá trị khóa k, nếu không bản tin giải mã sẽ không giống bản rõ ban đầu. 5 Mã hóa Ceasar Ngày nay phƣơng pháp mã hóa của Ceasar không đƣợc xem là an toàn. Giả sử đối thủ của Ceasar có đƣợc bản mã: PHHW PH DIWHU WKH WRJD SDUWB và biết đƣợc phƣơng pháp mã hóa và giải mã là phép cộng trừ modulo 26. Đối thủ có thể thử tất cả 25 trƣờng hợp của k nhƣ sau: 6 Mã hóa Ceasar 7 Trong 25 trƣờng hợp trên, chỉ có trƣờng hợp k=3 thì bản giải mã tƣơng ứng là có ý nghĩa. Do đó đối thủ có thể chắc chắn rằng “meet me after the toga party” là bản rõ ban đầu. Mã hóa Ceasar Với bản chữ cái Tiếng Việt (29 ký tự) với khóa là 3: Gán cho mỗi chữ cái một con số nguyên từ 0 đến 28: Phƣơng pháp Ceasar biểu diễn tiếng Việt nhƣ sau: với mỗi chữ cái p thay bằng chữ mã hóa C, trong đó: C = (p + k) mod 29 (trong đó mod là phép chia lấy số dƣ) Và quá trình giải mã đơn giản là: p = (C – k) mod 29 8 Bảng chữ cái thƣờng: AĂÂBCDĐEÊGHIKLMNOÔƠPQRSTUƢVXY Bảng chữ cái mật mã: BCDĐEÊGHIKLMNOÔƠPQRSTUƢVXYAĂÂ Mã hóa Ceasar Code Java private String encryptMessage(String msg, int k) { String result = ""; for (int i = 0; i < msg.length(); i++) result += encryptChar(msg.charAt(i), k); return result; } private char encryptChar(char c, int k) { if (Character.isLetter(c)) return (char) ('A' + (c - 'A' + k) % 26); //'A'=65 else return c; } Nếu giải mã: encryptMessage(msg,26-k); 9 Mã hóa Ceasar 10 [...]... ra phƣơng án mã hóa thay thế đa bảng 26 Mã hóa thay thế đa bảng (Polyalphabetic Substitution Cipher) Dòng thứ k của bảng là một mã hóa Ceasar k-1 vị trí Ví dụ: dòng thứ 4, ứng với từ khóa D là mã hóa Ceasar 3 vị trí (Trong trường hợp tổng quát, mỗi dòng của bảng Vigenere không phải là một mã hóa Ceasar nữa mà là một mã hóa đơn bảng, do đó có tên gọi là mã hóa đa bảng) Để mã hóa một bản tin thì... hình mã hóa đối xứng (Symmetric Ciphers) Bản rõ P (plaintext) Thuật toán mã hóa E (encrypt algorithm) Khóa bí mật K (secret key) Bản mã C (ciphertext) Thuật toán giải mã D (decrypt algorithm) Trong đó: C = E (P, K) P = D (C, K) 11 Mô hình mã hóa đối xứng (Symmetric Ciphers) Thuật toán mã hóa và giải mã sử dụng chung một khóa, thuật toán giải mã là phép toán ngƣợc của thuật toán mã hóa (trong... kém chi phí 13 Mô hình mã hóa đối xứng (Symmetric Ciphers) Mã hóa Ceasar, từ một bản mã có thể dễ dàng suy ra đƣợc bản rõ ban đầu mà không cần biết khóa bí mật Hành động đi tìm bản rõ từ bản mã mà không cần khóa nhƣ vậy đƣợc gọi là hành động phá mã (cryptanalysis) Do đó một hệ mã hóa đối xứng đƣợc gọi là an toàn khi và chỉ khi nó không thể bị phá mã hoặc thời gian phá mã là bất khả thi Trong phƣơng... (trong mã hóa Ceasar, E là phép cộng còn D là phép trừ) Vì vậy mô hình trên đƣợc gọi là phƣơng pháp mã hóa đối xứng Bản mã C đƣợc gởi đi trên kênh truyền Do bản mã C đã đƣợc biến đổi so với bản rõ P, cho nên những ngƣời thứ ba can thiệp vào kênh truyền để lấy đƣợc bản mã C, thì không hiểu đƣợc ý nghĩa của bản mã Khóa phải đƣợc giữ bí mật giữa ngƣời gởi và ngƣời nhận, hay nói cách khác khóa phải... nhiều nhất 18 Mã hóa thay thế đơn bảng (Monoalphabetic Substitution Cipher) 19 Mã hóa thay thế đơn bảng (Monoalphabetic Substitution Cipher) Phƣơng pháp mã hóa đơn bảng ánh xạ một chữ cái trong bản rõ thành một chữ cái khác trong bản mã Do đó các chữ cái trong bản mã cũng sẽ tuân theo luật phân bố tần suất trên Nếu chữ E đƣợc thay bằng chữ K thì tần suất xuất hiện của chữ K trong bản mã là 13.05%... một khóa có chiều dài bằng chiều dài bản tin Thƣờng thì khóa là một cụm từ nào đó và đƣợc viết lặp lại cho đến khi có chiều dài bằng chiều dài bản tin 27 Mã hóa thay thế đa bảng (Polyalphabetic Substitution Cipher) Ví dụ: bản tin: “We are discovered, save yourself” và khóa là từ DECEPTIVE, ta mã hóa nhƣ sau: Ứng với với chữ w trong bản rõ là chữ D trong khóa, nên dòng mã hóa thứ 4 ứng với khóa... khóa D trong bảng Vigenere đƣợc chọn Do đó chữ w đƣợc mã hóa thành chữ Z Tƣơng tự nhƣ vậy cho các chữ còn lại Trong ví dụ trên, các chữ e trong bản rõ đƣợc mã hóa tƣơng ứng thành I, T, G, T, H, M trong bản mã Do đó phƣơng pháp phá mã dựa trên thống kê tần suất chữ cái là không thực hiện đƣợc Trong 3 thế kỷ sau đó mã hóa Vigenere đƣợc xem là mã hóa không thể bị phá 28 Mã hóa thay thế đa bảng (Polyalphabetic... hình mã hóa đối xứng (Symmetric Ciphers) “Nếu đã có một kênh an toàn để chuyển khóa như vậy thì tại sao không dùng kênh đó để chuyển bản tin, tại sao cần đến chuyện mã hóa? ” Câu trả lời: nội dung bản tin thì có thể rất dài, còn khóa thì thƣờng là ngắn Ngoài ra một khóa còn có thể áp dụng để truyền tin nhiều lần Do đó nếu chỉ chuyển khóa trên kênh an toàn thì đỡ tốn kém chi phí 13 Mô hình mã hóa đối. .. hai trƣờng hợp trên thì bản giải mã đều có ý nghĩa Nếu ngƣời phá mã thực hiện phá mã vét cạn thì sẽ tìm đƣợc nhiều khóa ứng với nhiều bản tin có ý nghĩa => không biết đƣợc bản tin nào là bản rõ Điều này chứng minh phƣơng pháp One-Time Pad là phƣơng pháp mã hóa an toàn tuyệt đối Để phƣơng pháp One-Time Pad là an toàn tuyệt đối thì mỗi khóa chỉ đƣợc sử dụng một lần Nếu một khóa đƣợc sử dụng nhiều... 31 One-Time Pad Có thể thấy rằng điểm yếu của mã hóa đa bảng là do sự lặp lại các từ trong khóa, ví dụ từ DECEPTIVE đƣợc lặp lại nhiều lần Điều này làm cho vẫn tồn tại một mối liên quan giữa bản rõ và bản mã, ví dụ cụm từ red trong bản rõ đƣợc lặp lại thì cụm từ VTW cũng đƣợc lặp lại trong bản mã Do đó vấn đề ở đây là làm sao để giữa bản rõ và bản mã thật sự ngẫu nhiên, không tồn tại mối quan hệ . MẬT THÔNG TIN BÀI 2: MÃ HÓA ĐỐI XỨNG CĂN BẢN Nguyễn Hữu Thể 2 Nội dung 1. Mã hóa Ceasar 2. Mô hình mã hóa đối xứng (Symmetric Ciphers) 3. Mã hóa thay thế đơn bảng (Monoalphabetic Substitution. Giả sử có bản tin gốc (bản rõ): meet me after the toga party • Nhƣ vậy bản tin mã hóa (bản mã) sẽ là: PHHW PH DIWHU WKH WRJD SDUWB Ceasar gửi bản mã. Khi cấp dƣới nhận đƣợc bản mã, tiến. phƣơng pháp mã hóa đối xứng. Bản mã C đƣợc gởi đi trên kênh truyền. Do bản mã C đã đƣợc biến đổi so với bản rõ P, cho nên những ngƣời thứ ba can thiệp vào kênh truyền để lấy đƣợc bản mã C, thì