Bài 2- Mã hóa đối xứng căn bản
Số trang: 44
Loại file: pdf
Dung lượng: 1.38 MB
Lượt xem: 28
Lượt tải: 0
Xem trước 5 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
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
Nội dung trích xuất từ tài liệu:
Bài 2- Mã hóa đối xứng căn bảnBẢO MẬT THÔNG TIN BÀI 2: MÃ HÓA ĐỐI XỨNG CĂN BẢN Nguyễn Hữu Thể 1 Nội dung1. Mã hóa Ceasar2. 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 Pad6. Mã hoán vị (Permutation Cipher) 2 Mã hóa CeasarJulius 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 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. 7 Mã hóa Ceasar Với bản chữ cái Tiếng Việt (29 ký tự) với khóa là 3:Bảng chữ cái thường: AĂÂBCDĐEÊGHIKLMNOÔƠPQRSTUƢVXYBảng chữ cái mật mã: BCDĐEÊGHIKLMNOÔƠPQRSTUƢVXYAĂÂ 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 Mã hóa Ceasar Code Javaprivate 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); 9Mã hóa Ceasar 10 Mô 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 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 được chuyển một cách an toàn từ người gởi đến người nhận. 12 Mô 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 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 ...
Nội dung trích xuất từ tài liệu:
Bài 2- Mã hóa đối xứng căn bảnBẢO MẬT THÔNG TIN BÀI 2: MÃ HÓA ĐỐI XỨNG CĂN BẢN Nguyễn Hữu Thể 1 Nội dung1. Mã hóa Ceasar2. 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 Pad6. Mã hoán vị (Permutation Cipher) 2 Mã hóa CeasarJulius 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 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. 7 Mã hóa Ceasar Với bản chữ cái Tiếng Việt (29 ký tự) với khóa là 3:Bảng chữ cái thường: AĂÂBCDĐEÊGHIKLMNOÔƠPQRSTUƢVXYBảng chữ cái mật mã: BCDĐEÊGHIKLMNOÔƠPQRSTUƢVXYAĂÂ 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 Mã hóa Ceasar Code Javaprivate 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); 9Mã hóa Ceasar 10 Mô 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 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 được chuyển một cách an toàn từ người gởi đến người nhận. 12 Mô 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 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 ...
Tìm kiếm theo từ khóa liên quan:
Mã hóa đối xứng căn bản Mã hóa đối xứng Tin học cơ sở Bài giảng tin học văn phòng Bảo mật thông tin Kỹ thuật lập trình An toàn thông tinTài liệu có liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 309 0 0 -
Đề cương chi tiết bài giảng môn Đảm bảo và an toàn thông tin
25 trang 305 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 248 0 0 -
10 trang 225 1 0
-
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 222 0 0 -
Giáo trình An toàn, an ninh thông tin và mạng lưới
142 trang 201 0 0 -
Kiến thức căn bản về Máy tính - Phùng Văn Đông
52 trang 196 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 188 0 0 -
5 trang 183 0 0
-
Xây dựng thuật toán, thử nghiệm đánh giá mô hình cứng hóa giao thức IKEv2.0
7 trang 162 0 0