Bài giảng Mật mã học - Chương 2: Mã hoá hiện đại
Nội dung
1. Giới thiệu mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
3. Tiêu chuẩn mã hoá tiên tiến AES
4. Hệ mã hoá khoá công khai RSA
5. Bài tập
Tóm tắt nội dung Bài giảng Mật mã học - Chương 2: Mã hoá hiện đại, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
MẬT MÃ HỌC 2NỘI DUNG MÔN HỌC Chương 1: Giới thiệu - Mã hoá cổ điển Chương 2: Mã hoá hiện đại Chương 3: Mã hoá khoá công khai và quản lý khoá Chương 4: Chứng thực thông điệp Chương 5: Chữ ký số Chương 6: Các giao thức và ứng dụng MÃ HOÁ HIỆN ĐẠI CHƯƠNG 2 4Nội dung 1. Giới thiệu mã hoá hiện đại 2. Chuẩn mã hoá dữ liệu DES 3. Tiêu chuẩn mã hoá tiên tiến AES 4. Hệ mã hoá khoá công khai RSA 5. Bài tập 51. Giới thiệu mã hoá hiện đại • Thường sử dụng mã khối kết hợp với các phép hoán vị và thay thế. • Việc biến đổi văn bản được thực hiện nhiều lần trong một số vòng lặp. • Khoá con của các vòng lặp sẽ khác nhau và được sinh ra từ khoá ban đầu. • Phổ biến có DES, AES, RSA... 61. Giới thiệu mã hoá hiện đại Phân loại • Mã hoá khoá đối xứng (symmetric): Block ciphers: mã hoá các khối có chiều dài cố định 64 bit hoặc 128 bit. Phổ biến có IDEA, RC2, DES, Triple DES, Rijndael (AES), MARS, RC6, Serpent, Twofish, DESX, DESL, DESXL. Stream ciphers: mã hoá từng bit của thông điệp. Đại diện là RC4. • Mã hoá khoá bất đối xứng (asymmetric): RSA 72. Chuẩn mã hoá dữ liệu DES • DES (Data Encryption Standard) được sử dụng rộng rãi trên thế giới. • Dùng khoá có độ dài 56 bit để mã hoá các khối dữ liệu 64 bit. • Cả bên mã hoá lẫn bên giải mã đều dùng chung một khoá và DES thuộc vào hệ mã khoá bí mật. • Xét về độ an toàn, hiện nay 3DES (một cải tiến của DES) được đánh giá là có độ an toàn cao vì độ dài khoá của nó gấp 3 lần so với DES. 82. Chuẩn mã hoá dữ liệu DES 92. Chuẩn mã hoá dữ liệu DES • 17.03.1975: DES được công bố để công chúng đóng góp ý kiến. • 11.1976: DES được phê chuẩn làm tiêu chuẩn chính thức. • 1992: Biham và Shamir công bố một phương thức tấn công thám mã vi sai với độ phức tạp thấp hơn tấn công bạo lực (Trên lý thuyết). Kiểu tấn công này đòi hỏi người tấn công lựa chọn 247 văn bản rõ (một điều kiện không thực tế). • 06.1997: Lần đầu tiên, dự án DESCHALL đã phá vỡ được một bản tin mã hoá bằng DES. Lịch sử giải thuật DES 10 2. Chuẩn mã hoá dữ liệu DES • 07.1998: Thiết bị thám mã Deep Crack của tổ chức Electronic Frontier Foundation phá được một khoá của DES trong vòng 56 giờ. • 01.1999: Deep Crack cùng với distributed.net phá được DES trong 22 giờ 15 phút. • 25.10.1999: Triple DES được khuyến cáo sử dụng cho các hệ thống quan trọng. • 26.05.2002: AES trở thành tiêu chuẩn thay thế cho DES. 11 2. Chuẩn mã hoá dữ liệu DES Giải thuật: • Sử dụng một khoá K tạo ra n khoá con K1, K2, , Kn. • Hoán vị dữ liệu. • Thực hiện n vòng lặp. Tại mỗi vòng lặp: Dữ liệu được chia thành hai phần Áp dụng phép toán thay thế lên một phần, phần còn lại giữ nguyên. Hoán vị hai phần cho nhau. • Hoán vị dữ liệu. 12 2. Chuẩn mã hoá dữ liệu DES 13 2. Chuẩn mã hoá dữ liệu DES 14 2. Chuẩn mã hoá dữ liệu DES 15 2. Chuẩn mã hoá dữ liệu DES 16 2. Chuẩn mã hoá dữ liệu DES 17 2. Chuẩn mã hoá dữ liệu DES 18 2. Chuẩn mã hoá dữ liệu DES 19 2. Chuẩn mã hoá dữ liệu DES 20 2. Chuẩn mã hoá dữ liệu DES 21 2. Chuẩn mã hoá dữ liệu DES 22 2. Chuẩn mã hoá dữ liệu DES 23 2. Chuẩn mã hoá dữ liệu DES 24 2. Chuẩn mã hoá dữ liệu DES 25 2. Chuẩn mã hoá dữ liệu DES 26 2. Chuẩn mã hoá dữ liệu DES 27 2. Chuẩn mã hoá dữ liệu DES 28 2. Chuẩn mã hoá dữ liệu DES 29 2. Chuẩn mã hoá dữ liệu DES 30 2. Chuẩn mã hoá dữ liệu DES 31 2. Chuẩn mã hoá dữ liệu DES 32 2. Chuẩn mã hoá dữ liệu DES 33 3. Tiêu chuẩn mã hoá tiên tiến AES • AES (Advanced Encryption Standard – Tiêu chuẩn mã hoá tiên tiến) là một giải thuật mã hoá khoá đối xứng được công bố năm 2000 để thay thế cho DES. Giải thuật này thực hiện mã hoá khối bằng cách lập lại nhiều lần các bước xử lý. • Giải thuật (còn có tên gọi khác là Rijndael) được đề xuất bởi hai nhà mật mã học người Bỉ là Joan Daemen và Vincent Rijmen. 34 3. Tiêu chuẩn mã hoá tiên tiến AES • Kích thước khối dữ liệu đầu vào là 128 bit, kích thước khoá lần lượt là 128, 192, 256 bit (AES-128, AES-192, AES-256). • Mỗi khoá con là một cột gồm 4 bytes. • Mỗi khối dữ liệu 128 bit đầu vào, tương ứng với 16 bytes, tạo thành một ma trận 4x4 của các byte, gọi là ma trận trạng thái. Ma trận trạng thái này sẽ biến đổi trong quá trình thực hiện mã hoá. 35 3. Tiêu chuẩn mã hoá tiên tiến AES 36 3. Tiêu chuẩn mã hoá tiên tiến AES • Hàm SubBytes: mỗi byte trong state được thay thế với các byte khác, sử dụng một bảng look-up được gọi là S-box. S-box được dùng bắt nguồn từ hàm ngược trên trường GF(28). • Hàm ShiftRows: mỗi hàng được chuyển tuần tự với một số lượng bước cố định. Các phần tử của hàng đầu tiên sẽ không thay đổi vị trí, hàng thứ hai dịch sang trái một cột, hàng thứ ba dịch sang trái hai cột, hàng cuối cùng sẽ dịch sang trái ba cột, đảm bảo mỗi cột của bảng đầu ra đều được tạo thành từ các cột của bảng trạng thái đầu vào. 37 3. Tiêu chuẩn mã hoá tiên tiến AES • Hàm MixColumns: mỗi cột được chuyển đổi tuyến tính bằng cách nhân nó với một ma trận trong trường hữu hạn. Mỗi cột được xem như một đa thức trong trường GF(28) và được nhân modulo x4 + 1 với một biểu thức cố định c(x)=3x3+x2+x+2. • Hàm AddRoundKey: mỗi byte trong bảng trạng thái được thực hiện phép XOR với một khoá vòng, quá trình xử lý AES thu được 11 khoá vòng từ các key mã hoá được phân phát cho kỹ thuật mã hoá. 38 3. Tiêu chuẩn mã hoá tiên tiến AES 39 3. Tiêu chuẩn mã hoá tiên tiến AES 40 3. Tiêu chuẩn mã hoá tiên tiến AES 41 3. Tiêu chuẩn mã hoá tiên tiến AES 42 4. Hệ mã hoá khoá công khai RSA • Được sử dụng phổ biến trong thương mại điện tử • Đảm bảo an toàn với điều kiện độ dài khóa đủ lớn. • Thuật toán RSA có hai khóa: khóa công khai (hay khóa công cộng) khóa bí mật (hay khóa cá nhân). • Mỗi khóa là những số cố định sử dụng trong quá trình mã hóa và giải mã. • Khóa công khai được công bố rộng rãi cho mọi người và được dùng để mã hóa. Những thông tin được mã hóa bằng khóa công khai chỉ có thể được giải mã bằng khóa bí mật tương ứng. 43 4. Hệ mã hoá khoá công khai RSA Có thể mô phỏng trực quan một hệ mật mã khoá công khai như sau : • Bob muốn gửi cho Alice một thông tin mật. • Alice sẽ gửi cho Bob một chiếc hộp có khóa đã mở sẵn và giữ lại chìa khóa. • Bob nhận chiếc hộp, cho vào đó một tờ giấy viết thư bình thường và khóa. • Sau đó Bob gửi chiếc hộp lại cho Alice. • Alice mở hộp với chìa khóa của mình và đọc thông tin trong thư. • Trong ví dụ này, chiếc hộp với khóa mở đóng vai trò khóa công khai, chiếc chìa khóa chính là khóa bí mật. 44 4. Hệ mã hoá khoá công khai RSA Bob Alice 45 4. Hệ mã hoá khoá công khai RSA Chọn một số ngẫu nhiên lớn để sinh cặp khóa. Dùng khoá công khai để mã hóa, nhưng dùng khoá bí mật để giải mã. 46 4. Hệ mã hoá khoá công khai RSA Dùng khoá bí mật để ký một thông báo; dùng khoá công khai để xác minh chữ ký. Tổ hợp khoá bí mật của mình với khoá bí mật của người khác tạo ra khoá dùng chung chỉ hai người biết. 47 4. Hệ mã hoá khoá công khai RSA 48 4. Hệ mã hoá khoá công khai RSA 49 4. Hệ mã hoá khoá công khai RSA • Các giải thuật mã hoá DES và RSA còn được ứng dụng vào chữ ký điện tử. • Giải thuật RSA là rất an toàn nhưng tốc độ mã hoá và giải mã chậm hơn giải thuật DES hàng ngàn lần. • Thông thường người ta thường kết hợp hai phương pháp mã hoá DES và RSA như sau: DES mã hoá khối văn bản. RSA để mã hoá khoá mà DES đã dùng để mã hoá khối văn bản. 50 5. Bài tập 1. Nêu chi tiết cơ chế hoạt động của giải thuật mã hoá DES. 2. Cài đặt ứng dụng Advanced Encryption Package. Cho biết cách sử dụng công cụ này. 3. Trình bày tổng quan về cơ chế hoạt động của các giải thuật RC2, RC4, RC6. 4. Trình bày tổng quan về cơ chế hoạt động của giải thuật RSA. 51 5. Bài tập 5. Viết ứng dụng mã hoá và giải mã cho một giải thuật mã hoá hiện đại sử dụng DES và AES. 6. Viết ứng dụng mô phỏng giải thuật mã hoá RSA. 7. Nêu cách sử dụng công cụ mã hoá TrueCrypt. 8. Thực hiện mã hoá và giải mã dữ liệu với công cụ EFS (Encrypt File System).
File đính kèm:
- bai_giang_mat_ma_hoc_chuong_2_ma_hoa_hien_dai.pdf