Bài giảng Mật mã hóa hiện đại - Chương 3: Các hệ mật khóa bí mật - Phạm Việt Hà

pdf 33 trang ngocly 1150
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Mật mã hóa hiện đại - Chương 3: Các hệ mật khóa bí mật - Phạm Việt Hà", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_mat_ma_hoa_hien_dai_chuong_3_cac_he_mat_khoa_bi_ma.pdf

Nội dung text: Bài giảng Mật mã hóa hiện đại - Chương 3: Các hệ mật khóa bí mật - Phạm Việt Hà

  1. TT CNTT HN Wednesday, April 25, 2012 MẬT MÃ HÓA HIỆN ĐẠI Chương 3: Các hệ mật khóa bí mật TS. Phạm Việt Hà VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ Nội dung chính 3.1. Giớithiệuvề hệ mật khóa bí mật 3.2. Các hệ mậtthaythếđơngiản 3.3. Các hệ mậtthaythếđabiểu 3.3.1. Hệ mậtthaythếđabiểu 3.3.2. Hệ mậtPlayfair 3.3.3. Hệ mật Hill 3.3.4. Hệ mật Vigenere 3.3.5. Hệ mật Beaufort 3.4. Các hệ mậtthaythế không tuần hoàn 3.4.1. Hệ mật khoá chạy VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 2 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 1
  2. TT CNTT HN Wednesday, April 25, 2012 Nội dung chính 3.5. Các hệ mật chuyểnvị 3.6. Các hệ mật tích 3.7. ThuậttoánDES 3.8. Chuẩnmãdữ liệu tiên tiến(AES) VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 3 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.1. Giớithiệuvề hệ mật khóa bí mật . Mã hóa cổđiểnlàphương pháp mã hóa đơngiảnnhấtxuấthiện đầu tiên trong lịch sử ngành mã hóa. Thuậttoánđơngiảnvàdễ hiểu. Những phương pháp mã hóa này là cơ sở cho việc nghiên cứu và phát triểnthuậttoánmã hóa đốixứng đượcsử dụng ngày nay. . Mọithuậttoáncổđiển đều là mã khóa đốixứng, vì ở đó thông tin về khóa đượcchia sẻ giữangườigửivàngườinhận. Mậtmãđốixứng là kiểu duy nhấttrước khi phát minh ra khóa công khai (hệ mã không đốixứng) vào những năm 1970. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 4 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 2
  3. TT CNTT HN Wednesday, April 25, 2012 3.1. Giớithiệuvề hệ mật khóa bí mật . Mậtmãđốixứng sử dụng cùng một khóa cho việc mã hóa và giảimã. Có thể nói mậtmãđốixứng là mã một khóa hay mã khóa riêng hay mã thỏa thuận. . Hiện nay các mậtmãđốixứng và công khai tiếptục phát triển và hoàn thiện. Mã công khai ra đờihỗ trợ mã đốixứng chứ không thay thế nó, do đó mã đốixứng đếnnay vẫn đượcsử dụng rộng rãi. . Có ba phương pháp chính trong mật mã khoá bí mật (mật mã khoá riêng hay mật mã cổ điển): • Hoán vị • Thay thế • Xử lý bit (chủ yếunằm trong các ngôn ngữ lập trình) • Ngoài ra còn có phương pháp hỗn hợp thực hiện kết hợp các phương pháp trên mà điển hình là chuẩn mã dữ liệu (DES – Data Encryption Standard) của Mỹ. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 5 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.1. Giớithiệuvề hệ mật khóa bí mật . Sơđồkhốimộthệ mậttruyền tin mật: VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 6 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 3
  4. TT CNTT HN Wednesday, April 25, 2012 3.2. Các hệ mậtthaythếđơngiản . Các Hệ mậtthaythếđơnbiểu • Khi khóa đã đượcchọnthìmỗikítự củabảnrõđượcánhxạđếnmộtkí tự duy nhấtcủabảnmã. Do mỗi cách mã hóa như vậysẽ tương ứng với một hoán vị củabảng chữ và hoán vịđó chính là khóa củamãđã cho. Như vậy độ dài của khóa ở đây là 26 và số khóa có thể có là 26!. • Ví dụ: Ta có bảnmãtương ứng vớibảnrõtrongbảng chữđơnnhư sau: VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 7 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.2. Các hệ mậtthaythếđơngiản • Mậtmãdịch vòng (MDV): VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 8 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 4
  5. TT CNTT HN Wednesday, April 25, 2012 3.2. Các hệ mậtthaythếđơngiản • Xétvídụ: k =5; bảnrõ: meetmeatsunset • B1: Biếnbản rõ thành dãy số nguyên theo bảng trên, ta đượcdãy: 12.4.4.19.12.4.0.19.18.20.13.18.4.19 • B2: Thay 5 vào mỗi giá trị trên và rút gọntổng theo mod 26. Ta được dãy: 17.9.9.24.17.9.5.24.23.25.18.23.9.24 • B3: Biếndãysốở B2 thành kí tự tương ứng. Ta đượcbảnmã: RJJYRJFYXZSXJY VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 9 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.2. Các hệ mậtthaythếđơngiản • Mã thay thế (MTT) • Ví dụ: với phép TT trên, từ bảnrõ: meetmeatsunset. Ta thu đượcbảnmã: THHMTHXMVUSVHM VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 10 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 5
  6. TT CNTT HN Wednesday, April 25, 2012 3.2. Các hệ mậtthaythếđơngiản • Tính an toàn củamãtrênbảng chữđơn. Tổng cộng có 26! Xấpxỉ khoảng 4x1026 khóa. Với khá nhiều khóa vậy nhiềungười nghĩ rằng mã trên bảng chữđơnsẽ an toàn. Nhưng không phảivậy! • Vấn đề ở đây là do: – Các đặctrưng về ngôn ngữ, tầnsuấtxuấthiệncủa các chữ trong bảnrõvàchữ tương ứng trong bảnmãlànhư nhau Nênthámmãcóthể suy đoán đượcánhxạ củamộtsố chữ và từđó dò tìm ra chữ mã cho các chữ khác. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 11 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.2. Các hệ mậtthaythếđơngiản • Tính dư thừacủa ngôn ngữ và thám mã. Ngôn ngữ củaloàingườilàdư thừa.Có mộtsố chữ hoặc các cặpchữ hoặcbộ ba chữđược dùng thường xuyên hơn các bộ chữ cùng độ dài khác. Chẳng hạnnhư các bộ chữ sau đây trong tiếng Anh "th lrd s m shphrd shll nt wnt". • Tóm lại trong nhiều ngôn ngữ các chữ không đượcsử dụng thường xuyên như nhau. Trong tiếng Anh chữ E đượcsử dụng nhiềunhất; sau đó đến các chữ T, R, N, I, O, A, S. Mộtsố chữ rất ít dùng như: Z, J, K, Q, X. • Bằng phương pháp thống kê, ta có thể xây dựng các bảng các tầnsuất các chữđơn, cặpchữ, bộ ba chữ. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 12 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 6
  7. TT CNTT HN Wednesday, April 25, 2012 3.2. Các hệ mậtthaythếđơngiản Sử dụng bảng tầnsuấtvàoviệcthámmãvìmãthế trên bảng chữđơn không làm thay đổitầnsuấttương đốicủa các chữ, có nghĩalàta vẫncóbảng tần suấttrênnhưng đốivớibảng chữ mã tương ứng VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 13 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.2. Các hệ mậtthaythếđơngiản . Do đó có cách thám mã trên bảng chữđơnnhư sau: • Tính toán tầnsuấtcủa các chữ trong bảnmã • So sánh với các giá trịđãbiết • Tìm kiếm các chữđơn hay dùng A-I-E, bộđôi NO và bộ ba RST; và các bộ ít dùng JK, X-Z • Trên bảng chữđơncầnxácđịnh các chữ dùng các bảng bộđôi và bộ ba trợ giúp . Ví dụ: Thám mã bảnmãtrênbảng chữđơn, cho bảnmã: wklv phvvdjh lv qrw wrr kdug wr euhdn • Dựđoán các bộ kí tự hay xuấthiện Đoán w và r là T và O. Khi đóta códựđoán 1 số vị trí trong xâu kí tự rõ là: T -OT TOO TO Suy luận tiếp tục ta có bản rõ: THIS MESSAGE IS NOT TOO HARD TO BREAK VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 14 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 7
  8. TT CNTT HN Wednesday, April 25, 2012 3.3. Các hệ mậtthaythếđabiểu 3.3.1. Hệ mậtthaythếđabiểu 3.3.2. Hệ mậtPlayfair 3.3.3. Hệ mật Hill 3.3.4. Hệ mật Vigenere 3.3.5. Hệ mật Beaufort VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 15 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.3.1. Hệ mậtthaythếđabiểu . Yếu điểmcủa các mã pháp đơnbiểulàphânbố tầnsuấtcủa chúng phản ánh phân bố củabảng chữ cái cơ sở. Một mã pháp an toàn hơnvề mặt mậtmãsẽ thể hiện phân bố bằng phẳng hơn, điểunàysẽ không cho kẻ thám mã chút thông tin nào. . Mộthướng khác làm tăng độ an toàn cho mã trên bảng chữ là sử dụng nhiềubảng chữđểmã. Mỗichữ sẽđượcmãbằng bấtkìchữ nào trong bảnmãtùythuộcvàongữ cảnh khi mã hóa. Làm như vậy để trảibằng tầnsuất các chữ xuấthiện trong bảnmã. Do đólàmmấtbớtcấutrúccủa bảnrõđượcthể hiệntrênbản mã và làm cho mã thám đabảng khó hơn. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 16 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 8
  9. TT CNTT HN Wednesday, April 25, 2012 3.3.1. Các hệ mậtthaythếđabiểu • Ví dụ: Để san bằng phân bố ta kếthợp các chữ cái có phân bố cao với các chữ có phân bố thấp. Nếuchữ cái T đôi lúc đượcmãlàa vàlúckháclại được mã thành b, và X đôi lúc được mã thành a và đôi lúc lại đượcmã thành b thì tầnsuất cao củaT sẽ trộnvớitầnsuấtthấpcủaX sẽ tạora phân bố vừaphảihơn đốivớia vàb . Ta sử dụng khóa để chỉ rõ chọnbảng nào được dùng cho từng chữ trong bản tin. . Độ dài khóa là chu kì lặpcủa các bảng chữ. Độ dài càng lớn và nhiềuchữ khác nhau đượcsử dụng trong từ khóa thì càng khó thám mã. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 17 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.3.2. Hệ mật Playfair . Mã Playfair • Như chúng ta đãthấy không phảisố khoá lớn trong mã bảng chữđơn đảmbảoan toànmã. Một trong các hướng khắcphụclàmãbộ các chữ, tứclàmỗichữ sẽđượcmãbằng mộtsố chữ khác nhau tùy thuộcvào các chữ mà nó đứng cạnh. • Playfair là một trong các mã như vậy, đượcsángtạobởiCharles Wheastone vào năm 1854 và mang tên ngườibạn là Baron Playfair. • Ma trận khoá Playfair. Cho trướcmộttừ làm khoá, với điềukiện trong từ khoá đó không có chữ cái nào bị lặp. Ta lậpma trận Playfair là ma trậncỡ 5 x 5 dựatrêntừ khoá đã cho và gồm các chữ trên bảng chữ cái, đượcsắpxếptheothứ tự nhất định. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 18 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 9
  10. TT CNTT HN Wednesday, April 25, 2012 3.3.2. Hệ mật Playfair . Quy tắcsắpxếp: • Trướchếtviết các chữ củatừ khoá vào các hàng củama trậnbắttừ hàng thứ nhất. • Nếuma trậncòntrống, viết các chữ khác trên bảng chữ cái chưa đượcsử dụng vào các ô còn lại. Có thể viếttheomộttrìnhtự qui ướctrước, chẳng hạntừđầubảng chữ cái cho đếncuối. • Vì có 26 chữ cái tiếng Anh, nên thiếumột ô. Thông thuờng ta dồnhai chữ nào đóvàomột ô chung, chẳng hạnI vàJ. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 19 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.3.2. Hệ mật Playfair • Giả sử sử dụng từ khoá MONARCHY. Lậpma trận khoá Playfair tương ứng như sau: • Cách mã hóa và giảimã: – Chia bản rõ thành từng cặpchữ. Nếumộtcặpnàođó có hai chữ như nhau, thì ta chèn thêm mộtchữ lọcchẳng hạnX. Vídụ, trước khi mã “balloon” biến đổi thành “ba lx lo on”. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 20 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 10
  11. TT CNTT HN Wednesday, April 25, 2012 3.3.2. Hệ mật Playfair – Nếucả hai chữ trong cặp đềurơi vào cùng một hàng, thì mã mỗichữ bằng chữở phía bên phải nó trong cùng hàng củama trận khóa (cuộn vòng quanh từ cuốivềđầu), chẳng hạn“ar” biến đổi thành “RM” – Nếucả hai chữ trong cặp đềurơi vào cùng mộtcột, thì mã mỗichữ bằng chữ ở phía bên dưới nó trong cùng cộtcủama trận khóa (cuộn vòng quanh từ cuốivềđầu), chẳng hạn“mu” biến đổi thành “CM” VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 21 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.3.2. Hệ mật Playfair – Trong các trường hợp khác, mỗichữ trong cặp đượcmãbởichữ cùng hàng với nó và cùng cộtvớichữ cùng cặpvới nó trong ma trận khóa. Chẳng hạn, “hs” mã thành “BP”, và “ea” mã thành “IM” hoặc “JM” (tuỳ theo sở thích) VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 22 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 11
  12. TT CNTT HN Wednesday, April 25, 2012 3.3.2. Hệ mật Playfair . An toàn củamãPlayfair: • An toàn được nâng cao so hơnvớibảng đơn, vì ta có tổng cộng 26 x 26 = 676 cặp. Mỗichữ có thểđượcmãbằng 7 chữ khác nhau, nên tầnsuất các chữ trên bản mã khác tầnsuấtcủa các chữ cái trên vănbảntiếng Anh nói chung. • Muốnsử dụng thống kê tầnsuất, cầnphảicóbảng tầnsuấtcủa 676 cặp để thám mã (so với 26 củamãbảng đơn). Như vậyphải xem xét nhiều trường hợphơnvàtương ứng sẽ có thể có nhiềubảnmãhơncầnlựa chọn. Do đó khó thám mã hơnmãtrênbảng chữđơn. • Mã Playfair đượcsử dụng rộng rãi nhiềunăm trong giới quân sự Mỹ và Anh trong chiếntranhthế giớithứ 1. Nó có thể bị bẻ khoá nếuchotrước vài trămchữ, vì bảnmãvẫncònchứa nhiềucấutrúccủabảnrõ. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 23 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.3.3. Hệ mật Hill . Ý tưởng: là lấym tổ hợptuyến tính củam kítự củamộtphầntử bảnrõđể tạoramộtphầntử m kí tự bảnmã. . Mô tả: VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 24 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 12
  13. TT CNTT HN Wednesday, April 25, 2012 3.3.3. Hệ mật Hill 11 8 . Ví dụ: Giả sử cho khóa: k sử dụng mật mã Hill vớibảnrõ “July” 3 7 • Ta thấyrằng ma trậncócỡ 2 × 2 nên bảnrõsẽđược chia thành các phần tử, mỗiphầntử chứa2 kítự như sau: “ju” tương ứng với (x1, x2) = (9, 20) và “ly” tương ứng với (x3, x4) = (11, 24) • Mã hóa: VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 25 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.3.3. Hệ mật Hill • Giảimã: – Tính: Kiểmtrathấyrằng det(k) = 11 × 7 – 3 × 8 mod 26 = 1, rõ ràng ucln(26, det(k)) = 1, vậyk khả nghịch trên Z26 – Khi đó: (3 4).k-1 = (9 20) và (11 22).k-1 = (11 24) VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 26 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 13
  14. TT CNTT HN Wednesday, April 25, 2012 3.3.3. Hệ mật Hill . Nếunhư tấn công hệ mật Hill chỉ biếtbảnmãthìrất khó nhưng nếutấn công biếtbảnrõthìlại không khó. . Trước tiên hãy giả sử kẻ tấn công đãbiết được giá trị m. Giả sử anh ta có ít nhấtm cặpbảnrõvàbản mã khác nhau là: xj = (x1j, x2j, . . . , xmj) và yj = (y1j, y2j, . . . , ymj) Sao cho yj = eK(xj), 1 ≤ j ≤ m. . Nếuxâydựng hai ma trậnm ×m làX = (xi,j) và Y = (yi,j), thì chúng ta có phương trình ma trận Y = XK, trong đóma trận khóa K cỡ m × m chưa biết . Ma trận X có nghịch đảovàkẻ tấn công có thể tính K = X-1Y và do đó phá đượchệ mật. Kẻ tấn công sẽ làm gì khi không biếtm? VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 27 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.3.4. Hệ mật Vigenere . Mã thếđabảng đơngiảnnhất là mã Vigenere. . Thựcchất quá trình mã hoá Vigenere là việctiếnhànhđồng thời dùng nhiều mã Ceasar cùng mộtlúctrênbảnrõvới nhiều khoá khác nhau. Khoá cho mỗichữ dùng để mã phụ thuộcvàovị trí củachữđó trong bản rõ và đượclấy trong từ khoá theo thứ tự tương ứng. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 28 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 14
  15. TT CNTT HN Wednesday, April 25, 2012 3.3.4. Hệ mật Vigenere . Cách làm: • Giả sử khoá là mộtchữ có độ dài d đượcviếtdạng K = K1K2 Kd, trong đóKi nhận giá trị nguyên từ 0 đến 25. • Ta chia bản rõ thành các khốigồmd chữ. Mỗichữ thứ i trong khốichỉ định dùng bảng chữ thứ ivớitịnh tiếnlàKi giống như trong mã Ceasar. • Trên thựctế khi mã ta có thể sử dụng lầnlượt các bảng chữ và lặplạitừ đầu sau d chữ củabản rõ. Vì có nhiềubảng chữ khác nhau, nên cùng một chữở các vị trí khác nhau sẽ có các bướcnhảy khác nhau, làm cho tần suất các chữ trong bảnmãdãntương đối đều. • Giảimãđơngiản là quá trình làm ngượclại. Nghĩa là dùng bảnmãvàtừ khoá với các bảng chữ tương ứng, nhưng vớimỗichữ sử dụng bướcnhảy lui lạivềđầu VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 29 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.3.4. Hệ mật Vigenere . Ví dụ: • Giả sử d=6 và từ khóa là CIPHER, từ khóa này tương ứng vớidãysố: k = (2, 8, 15, 7, 4, 17) • Giả sử bảnrõ: meetmeatsunset. Chuyển các kí tự rõ thành mã trên Z26 rồicộng vớitừ khóa • Ta nhận đượcbảnmãtương ứng: OMTAQVCBHBRJGB VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 30 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 15
  16. TT CNTT HN Wednesday, April 25, 2012 3.3.4. Hệ mật Vigenere . An toàn của mã Vigenere. • Như vậycó chữ mã khác nhau cho cùng một chữ của bản rõ. Suy ra tần suất của các chữ bị là phẳng, nghĩa là tần suất xuất hiện các chữ trên bản mã tương đối đều nhau. Tuy nhiên chưa mất hoàn toàn, do độ dài của khoá có hạn, nên có thể tạo nên chu kỳ vòng lặp. • Kẻ thám mã bắt đầu từ tần suất của chữ để xem có phải đây là mã đơn bảng chữ hay không. Giả sử đây là mã đa bảng chữ, sau đó xác định số bảng chữ trong từ khoá (dùng phương pháp Kasiski) và lần tìm từng chữ. Như vậy cần tăng độ dài từ khoá để tăng số bảng chữ dùng khi mã để “là” tần suất của các chữ. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 31 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.3.4. Hệ mật Vigenere • Phương pháp Kasiski: – Dựa trên quy luậttiếng anh: không chỉ các chữ cái mà các nhóm chữ cái lẫn các từđầy đủ đềulặplại – Ví dụ: > Các từ kết thúc bằng: s, -th, -ed, -ion, -tion, > Bắt đầubằng kí tự: im-, in-, un-, > Các từ: of, and, with, are, is, that, xuấthiệnvớitầnsuất cao – Tuân theo quy tắc: nếumột thông báo đượcmãbằng n bảng chữ cái luân phiên theo chu kì, và nếumộttừ hay một nhóm chữ cái cụ thể xuất hiệnk lần trong một thông báo rõ thì nó sẽđượcmãxấpxỉ k/n lầntừ cùng mộtbảng chữ cái. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 32 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 16
  17. TT CNTT HN Wednesday, April 25, 2012 3.3.4. Hệ mật Vigenere – Ví dụ: > Nếutừ khóa dài 6 kí tự thì chỉ có 6 cách khác nhau để đặttừ khóa trên từ của các bảnrõ. > Mộttừ hay nhóm kí tự trong bảnrõmàxuấthiệnhơn6 lầnphải đượcmãítnhất2 lần theo cùng vị trí từ khóa và những lầnxuất hiện đó đều đượcmãnhư nhau. – Biện pháp Kasiskis được dùng trên các đoạn đúp trong bảnmã. Để cụmtừ củabảnrõđượcmã2 lần theo cùng cách, khóa phải đihếttoàn bộ số vòng quay và trở ngược đến cùng điểm. Bởivậy khoảng cách giữa các mẫulặplạiphảilàbộicủa độ dài từ khóa. – Để dùng phương pháp này ta phảinhậndiệntấtcả các mẫulặp trong bảnmã. Thường xét mẫulặpcótrên3 kítự. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 33 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.3.4. Hệ mật Vigenere – Phương pháp Kasiski gồm các bướcsau: – Nhậndiện các mẫubị lặpcó3 kítự hoặchơn. – Vớimỗimẫu, ghi ra vị trí bắt đầumỗithể hiệncủamẫu. – Tính khoảng cách giữa các điểmbắt đầucủa các thể hiệnkế tiếp nhau. – Xác định tấtcả các tham số cho mỗi khoảng cách. – Nếu dùng phép thếđabiểu, độ dài khóa sẽ là một trong các tham số thường xuấthiện trong bước4. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 34 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 17
  18. TT CNTT HN Wednesday, April 25, 2012 3.3.5. Hệ mật Beaufort . Hệ mật Beaufort do Francis Beaufort tạora. . Hệ mậtnàycũng dùng bảng aphabe giống hệ mật Vigenere . Tuy nhiên thuật toán mã hóa thì khác với Vigenere VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 35 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.3.5. Hệ mật Beaufort . Thuật toán: • Để mã hóa 1 từ trong bản rõ, ta phải tìm từ rõ đótrênhàngđầu tiên của bảng anphabe. Giả sử x(0,j) là vị trí (hàng thứ 0, cộtthứ j) củatừ rõ x cầnmã. • Ta dóng thẳng xuống theo cộtj chotới khi gặptừ khóa. Giả sử từ khóa ở vị trí (hàng thứ i, cộtthứ j) k(i,j). • Khi đó để tìm từ mã tương ứng củatừ rõ x(0,j) ta dóng ngang sang bên trái, vị trí (hàng thứ i, cộtthứ 0) y(i,0) chính là từ mã tương ứng vớitừ rõ x(0,j) cần tìm. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 36 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 18
  19. TT CNTT HN Wednesday, April 25, 2012 3.3.5. Hệ mật Beaufort . Ví dụ: Key: FORTIFICATION Bảnrõ: DEFEND THE EAST WALL OF THE CASTLE . Kí tự rõ “D” trong bảnmãnằmtạivị trí (0,3), dóng xuống theo cột3 chotới khi gặpkítự “F” của khóa tạivị trí (2,3). Khi đótừ mã tương ứng của“D” sẽ là từ “C” tạivị trí (2,0). Tương tự như vậyta sẽ thu đượcbảnmãtương ứng là: CKMPVCPVWPIWUJOGIUAPVWRIWUUK VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 37 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.4. Các hệ mật không tuần hoàn . Phép thế lý tưởng sẽ dùng nhiềubảng cái để không thể nhậndiện được phân bố và không có mẫu trong suốt đốivớiviệclựachọnmộtbảng chữ cái tại một điểmcụ thể. . Điềugìxảyranếumộtvănbản đượcmãbằng số bảng không hạnchế? . Mộtdãyvôhạn không lặplại sẽ làm hỏng phương pháp Kasiski. • Thứ nhất: Một câu bảnrõlặplạisẽ không được mã theo cùng cách hai lần vì không có sự lặplạimẫu trong việcchọn các bảng chữ cái. • Thứ hai: Giả sử một đoạnbảnmãnàođólàđoạnlặplạicủa đoạntrước đó, đoạnlặplạihầunhư chắcchắnlàtìnhcờ. Khoảng cách giữahaiđoạn đúp rõ sẽ không chỉ rõ chu kì trong mẫu mã hóa vì không có mẫunàovà vì thế không có chu kì. . Như vậy, việclựachọn không lặp các bảng chữ cái mã gây khó khăncho phân tích mã. . Trong phầnnàyta sẽđi tìm hiểumộtsố hệ mậtthaythế “hoàn hảo”. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 38 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 19
  20. TT CNTT HN Wednesday, April 25, 2012 3.4.1. Hệ mật khoá chạy . Lý tưởng nhất là ta có khoá dài như bản tin. . Vigenere đề xuất khoá tự động sinh cho bằng độ dài bản tin như sau: • Từ khoá được nối tiếp bằng chính bản rõ để tạo thành khoá. Sau đó dùng mã Vigenere để mã bản rõ đã cho. • Khi đó biết từ khoá có thể khôi phục được một số chữ ban đầu của bản rõ. Sau đó tiếp tục sử dụng chúng để giải mã cho văn bản còn lại. • Sự cải tiến này làm mất khái niệm chu kỳ, gây khó khăn cho việc thám mã, nhưng vẫn còn đặc trưng tần suất để tấn công. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 39 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.4.1. Hệ mật khoá chạy . Ví dụ: Cho key: detective Plaintext: wearediscoveredsaveyourself . Ta nhận được bản mã tương ứng là: ZICVTWQNGKZEIIGASXSTSLVVWLA VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 40 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 20
  21. TT CNTT HN Wednesday, April 25, 2012 3.5. Các hệ mật chuyểnvị . Trong các mục trước chúng ta đã xét một số mã thay thế, ở đó các chữ của bản rõ được thay thế bằng các chữ khác của bản mã. . Bây giờ chúng ta xét đến loại mã khác, mã hoán vị (MHV), các chữ trong bản rõ không được thay thế bằng các chữ khác mà chỉ thay đổi vị trí, tức là việc mã hoá chỉ dịch chuyển vị trí tương đối giữa các chữ trong bản rõ. . Như vậy, nó dấu bản rõ bằng cách thay đổi thứ tự các chữ, nó không thay đổi các chữ thực tế được dùng. Do đó bản mã có cùng phân bố tần suất xuất hiện các chữ như bản gốc. Như vậy có thể thám mã để phát hiện được. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 41 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.5. Các hệ mật chuyểnvị . Định nghĩa MHV: VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 42 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 21
  22. TT CNTT HN Wednesday, April 25, 2012 3.5. Các hệ mật chuyểnvị . Ví dụ 1: m =6; khóa là phép hoán vị sau: Khi đó phép HV ngược: Bảnrõ: asecondclasscarriageonthetrain VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 43 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.5. Các hệ mật chuyểnvị . Mã hóa: • B1: Nhóm bản rõ thành các nhóm 6 kí tự • B2: Mỗi nhóm 6 kí tự sẽđượcsắpxếplại theo theo phép HV (3, 5, 1, 6, 4, 2), ta có: • Khi đó ta có bảnmã: EOANCSLSDSACRICARAOTGHNERIENAT VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 44 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 22
  23. TT CNTT HN Wednesday, April 25, 2012 3.5. Các hệ mật chuyểnvị . Giảimã: • B1: Nhóm bản mã thành các nhóm 6 kí tự • B2: Mỗi nhóm 6 kí tự sẽđượcsắpxếplại theo theo phép HV -1 (3, 6, 1, 5, 2, 4), ta có: • Khi đó ta có bảnrõtương ứng: asecondclasscarriageonthetrain VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 45 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.5. Các hệ mật chuyểnvị . Ví dụ 2: m = 7 Key: 4 3 1 2 5 6 7 (khóa là thứ tự các cột) Bảnrõ: attackpostponeduntiltwoam . Cách mã: • Viết các chữ củabản tin theo các dòng vớisố cộtxácđịnh. Nếu các chữ trên dòng không trải đủ số cột thì ta thêm các kí tự khác vào cho đủ chẳng hạn x, y, z, • Thay đổithứ tự các cộttheodãysố khóa cho trước • Đọclại chúng theo các cột để nhận đượcbảnmã. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 46 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 23
  24. TT CNTT HN Wednesday, April 25, 2012 3.5. Các hệ mật chuyểnvị . Ta đọctheothứ tự các cộttừ 1 – 7 để nhận đượcbảnmã: TTNAAPTMTSUOAODWCOIXKNLYPETZ . Cách giả mã đượcthựchiệnngượclại VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 47 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.6. Các hệ mậttích . Một phát minh do Shannon đưaranăm 1949 . Ý tưởng kếthợp các hệ mậtbằng cách tạo tích của chúng. Ý tưởng này có tầm quan trọng to lớn trong việcthiếtkế các hệ mậthiệnnay (chẳng hạn, chuẩnmãdữ liệu-DES ). . Để đơngiản, trong phần này chỉ hạnchế xét các hệ mật trong đó C = P (các hệ mậtnàyđượcgọilàtựđồng cấu). VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 48 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 24
  25. TT CNTT HN Wednesday, April 25, 2012 3.6. Các hệ mậttích . Hệ mật tích: (C,P,K1xK2,ED) . Trong đó: • Khóa củaHMT códạng k =(k1, k2), vớivàk11 K k22 K • Các quy tắcmãvàgiảimãcủaHMT đượcxácđịnh như sau: Vớimỗik = (k1, k2) ta có một quy tắcmãek xác định theo công thức: e x e e x k1, k2 k2 k1 d y d d y và quy tắcgiảimã: k1, k2 k1 k2 • Nghĩalà, trước tiên ta mã hoá x bằng ek1 rồimãlạibảnkếtquả bằng ek2. Quá trình giảimãtương tự nhưng thựchiệntheothứ tự ngượclại VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 49 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.7. ThuậttoánDES . DES được IBM phát triểnvàđược công bố lần đầu tiên vào 1975. . Mô tả DES: • DES mã hoá một xâu bit x củabảnrõđộ dài 64 bằng một khoá 56 bit. Bảnmãnhận đượccũng là một xâu bit có độ dài 64. • Thuậttoántiếnhànhtheo3 bước: – B1: Vớibảnrõchotrướcx, một xâu bit x0 sẽđượcxâydựng bằng cách hoán vị các bit của x theo phép hoán vị cốđịnh ban đầuIP. Ta viết: x0 = IP(x) = L0R0, trong đóL0 gồm 32 bit đầuvàR0 là 32 bit cuối. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 50 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 25
  26. TT CNTT HN Wednesday, April 25, 2012 3.7. ThuậttoánDES – B2: Sau đó tính toán 16 lầnlặptheomộthàmxácđịnh. Ta sẽ tính LiRi, 1 i 16 theo quy tắcsau: Li = Ri-1; Ri = Li-1  f(Ri-1, ki) – Trong đó: –  là phép loạitrừ củahaixâubit – f là mộthàmsẽđượcmôtảở sau – k1, k2, , k16 là các xâu bit có độ dài 48 được tính như 1 hàm của khóa k (ki chính là một phép chọn hoán vị bit trong k). VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 51 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.7. ThuậttoánDES – Một vòng của phép mã hóa đượcmôtả như sau: -1 – B3: Áp dụng phép hoán vị ngượcIP cho xâu bit R16L16, ta thu đượcbảnmã -1 y. Tứclày = IP (R16L16) . Hãy chú ý thứ tựđã đảocủaL16 và R16 VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 52 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 26
  27. TT CNTT HN Wednesday, April 25, 2012 3.7.Thuật toán DES . Mô tả tính bảng khóa từ khóa k. • Trên thựctế k là một xâu bit độ dài 64, trong đó có 56 bit khóa và 8 bit kiểm tra tính chẵnlẻ nhằm phát hiệnsai. • Các bit ở các vị trí 8, 16, , 64 đượcxácđịnh sao cho mỗi byte chứa mộtsố lẻ các số “1”. Bởivậy, mộtsaisótđơnlẻ có thể phát hiện được trong mỗi nhóm 8 bit. • Các bit kiểmtrabị bỏ qua trong quá trình tính bảng khóa. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 53 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.7. ThuậttoánDES VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 54 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 27
  28. TT CNTT HN Wednesday, April 25, 2012 3.7. ThuậttoánDES . Tính chấtcủaDES • Tác dụng đồng loạt: Khi ta thay đổi 1 bit trong khoá sẽ gây ra tác động đồng loạt làm thay đổi nhiều bit trên bảnmã. Đây là tính chất mong muốncủa khoá trong thuật toán mã hoá. Nếuthayđổi1 bítđầuvàohoặc khoá sẽ kéo theo thay đổimộtnửasố bít đầura.Do đó không thểđoán khoá được. CÓ thể nói rằng DES thể hiệntácđộng đồng loạtmạnh • Sứcmạnh củaDES –kíchthước khoá: Độ dài của khoá trong DES là 56 bít có 256 = 7.2 x 1016 giá trị khác nhau. Đây là con số rấtlớn nên tìm kiếm duyệtrất khó khăn VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 55 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.7. ThuậttoánDES • Sứcmạnh củaDES –tấn công thờigian:Đây là dạng tấn công vào cài đặtthựctế củamã. Ở đây sử dụng hiểubiếtvề quá trình cài đặtthuậttoán mà suy ra thông tin về một sô khoá con hoặcmọi khoá con. Đặcbiệtsử dụng kếtluậnlàcáctínhtoánchiếm khoảng thời gian khác nhau phụ thuộcvàogiátrịđầuvàocủa nó. Do đókẻ thám mã theo dõi thờigian thựchiện mà phán đoán về khoá. Có thể kẻ thám mã sáng tạo ra các loại card thông minh phán đoán khoá, mà còn phảibànbạcthêmvề chúng. • Sứcmạnh củaDES –tấn công thám mã: Có mộtsố phân tích thám mã trên DES, từđó đề xuấtxâydựng mộtsố cấutrúcsâuvề mã DES. Rồi bằng cách thu thập thông tin về mã, có thểđoán biết đượctấtcả hoặcmột số khoá con đang dùng. Nếucầnthiếtsẽ tìm duyệtnhững khoá còn lại. Nói chung, đólànhững tấn công dựatrênphương pháp thống kê bao gồm: thám mã sai phân, thám mã tuyến tính và tấn công khoá liên kết. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 56 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 28
  29. TT CNTT HN Wednesday, April 25, 2012 3.8. Chuẩnmãdữ liệutiêntiến (AES) . Nguồngốc: • ThuậttoánDES vẫncónhững tấn công về mặt lý thuyếtcóthể bẻđược nó. • Do đóViệnchuẩnquốcgiaHoakỳ US NIST ra lờikêugọi tìm kiếmchuẩn mã mớivàonăm 1997. Sau đó có 15 đề cửđượcchấpnhận vào tháng 6 năm 1998. Và đượcrútgọn còn 5 ứng cử viên vào tháng 6 năm 1999. Đến tháng 10 năm 2000, mã Rijndael đượcchọn làm chuẩn mã nâng cao và được xuấtbảnlàchuẩn FIPS PUB 197 vào 11/2001. . Yêu cầucủaAES • Là mã khối đốixứng khoá riêng. • Kích thướckhốidữ liệu 128 bit và độ dài khoá là tùy biến: 128, 192 hoặc 256 bit. • Chuẩnmãmớiphảimạnh và nhanh hơnTriple DES. Mãmớicócơ sở lí thuyếtmạnh để thờigiansống củachuẩn khoảng 20-30 năm(cộng thêm thời gian lưutrữ). • Khi đưa ra thành chuẩnyêucầu cung cấpchi tiếtthiếtkế và đặctảđầy đủ. Đảmbảorằng chuẩnmãmới cài đặthiệuquả trên cả C và Java. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 57 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.8. Chuẩnmãdữ liệutiêntiến (AES) . Cơ sở toán họccủa AES: trong AES các phép toán cộng và nhân đượcthực hiện trên các byte trong trường hữuhạnGF(28) • Phép cộng: – A = (a1 a2 a3 a4 a5 a6 a7 a8); B = (b1 b2 b3 b4 b5 b6 b7 b8) – C = A + B = (c1 c2 c3 c4 c5 c6 c7 c8), trong đó:Ci = ai+bi mod 2, 1 ≤ i ≤ 8. – Ví dụ: tổng củaA = 73H; B = 4EH là: – Dạng cơ số Hexa: 73H + 4EH = 3DH – Dạng nhị phân: 01110011 + 01001110 = 00111101 – Dạng đathức: (x6 + x5 + x4 + x + 1) + (x6 + x3 + x2 + x) = (x5 + x4 + x3 + x2 + 1) VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 58 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 29
  30. TT CNTT HN Wednesday, April 25, 2012 3.8. Chuẩnmãdữ liệutiêntiến (AES) • Phép nhân: Phép nhân đượcthựchiệntrênGF(28) bằng cách nhân hai đathứcrútgọntheomođulo củamột đathứcbấtkhả quy m(x). Trong AES đathứcbấtkhả quy này là: m(x) = x8 + x4 + x3 + x +1. – Ví dụ: A = C3H, B = 85H tương ứng với a(x) = x7 + x6 + x +1 và b(x) = x7 + x2 + 1. Khi đó: C= A.B c(x) = a(x).b(x) mod (x8 + x4 + x3 + x +1) 7 5 3 2 c(x) = x + x + x +x + x hay C = AEH = 10101110 VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 59 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.8. Chuẩnmãdữ liệutiêntiến (AES) . Sau đây ta xét chi tiếthơn các quá trình mã hoá, sinh khoá và giảimã AES: • Quá trình mã gồm4 bướcsau: – 1. AddRoundKey -mỗibyte củakhối đượckếthợpvới khóa con, các khóa con này đượctạoratừ quá trình tạo khóa con Rijndael VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 60 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 30
  31. TT CNTT HN Wednesday, April 25, 2012 3.8. Chuẩnmãdữ liệutiêntiến (AES)  2. SubBytes - đây là quá trình thay thế (phi tuyến) trong đómỗi byte sẽđược thay thế bằng một byte khác theo bảng tra  Phép thế byte đơngiản  Sử dụng mộtbảng 16 x 16 byte chứa hoán vị củatấtcả 256 giá trị 8 bit – Mỗibyte trạng thái đượcthaybởi byte trên hàng xác định bởi 4 bit trái và cộtxác định bởi 4 bit phải. – Chẳng hạn {95} đượcthaybởihàng9, cột 5, mà giá trị sẽ là {2A}. – S box đượcxâydựng sử dụng hoán vị các giá trị trong GF(28) đã đượcxácđịnh trong chương trước. – Thiếtkếđểchống mọitấn công đãbiết VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 61 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.8. Chuẩnmãdữ liệutiêntiến (AES) – 3. ShiftRows - đổichỗ, các hàng trong khối đượcdịch vòng > Dịch hàng vòng quanh trên mỗihàng > Hàng 1 không đổi > Hàng 2 dịch vòng quanh 1 byte sang trái  Hàng 3 dịch vòng quanh 2 byte sang trái  Hàng 4 dịch vòng quanh 3 byte sang trái  Giảimãthựchiệndịch ngượclại sang phải  Vì trạng thái đượcxử lý bởicột, bước này thực chất là hoán vị byte giữacáccột. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 62 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 31
  32. TT CNTT HN Wednesday, April 25, 2012 3.8. Chuẩnmãdữ liệutiêntiến (AES) – 4. MixColumns - quá trình trộnlàmviệc theo các cột trong khốitheomột chuyển đổituyến tính. – Có thể biểudiễnmỗicộtmớilà nghiệmcủa4 phương trình > để tìm ra byte mới trong mỗicột – Mã yêu cầusử dụng ma trận nghịch đảo > Vớihệ số lớn thì tính toán khó khănhơn  Có các đặctrưng khác củacộtnhư sau:  Mỗicộtlàmột đathứcbậc3 gồm4 số hạng  Vớimỗiphầntử là một byte tương ứng vớiphầntử trong GF(28).  Các đathức nhân tính theo Modulo (x4+1). VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 63 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.8. Chuẩnmãdữ liệutiêntiến (AES) • GiảimãAES – Giảimãngượclại không duy nhất vì các bướcthựchiệntheothứ tự ngượclại. – Nhưng có thể xác định mã ngượctương đương với các bước đãlàm đốivớimã > Nhưng sử dụng ngượclạivớitừng bước > Với khoá con khác nhau – Thựchiện đượcvìkếtquả không thay đổi khi > Đổilại phép thế byte và dịch các hàng > Đổilạiviệctrộn các cộtvàbổ sung khoá vòng – Lý do mở rộng khoá: các tiêu chuẩnthiếtkế bao gồm > Giả sử biếtmộtphần khoá, khi đó không đủ để biết nhiềuhơn, tức là các khoá con khác hoặc khoá nói chung. > Phép biến đổi nghịch đảo được. > Nhanh đốivới nhiềukiểuCPU. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 64 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 32
  33. TT CNTT HN Wednesday, April 25, 2012 3.8. Chuẩnmãdữ liệutiêntiến (AES) . Độ an toàn củaAES: • Thiếtkế và độ dài khóa củathuật toán AES (128, 192 và 256 bít) là đủ an toàn để bảovệ các thông tin đượcxếpvàoloạiTỐI MẬT (secret). Các thông tin TUYỆT MẬT (top secret) sẽ phải dùng khóa 192 hoặc 256 bít. • Mộtvấn đề khác nữalàcấutrúctoánhọccủa AES. Không giống với các thuật toán mã hóa khác, AES có mô tả toán học khá đơngiản. Tuy điều này chưadẫn đếnmối nguy hiểmnàonhưng mộtsố nhà nghiên cứusợ rằng sẽ có ngườilợidụng đượccấu trúc này trong tương lai. VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 65 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ 3.8. Chuẩnmãdữ liệutiêntiến (AES) • Vào thời điểmnăm 2006, dạng tấn công lên AES duy nhất thành công là tấn công kênh bên (side channel attack). • Tấn công kênh bên không tấn công trựctiếpvàothuật toán mã hóa mà thay vào đó, tấn công lên các hệ thống thựchiệnthuậttoáncósơ hở làm lộ dữ liệu VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN Trang 66 © 2009 | CCIT/RIPT TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ CCIT/RIPT 33