( aQ W( )a W( Q
4.5.5 Phương pháp tấn cơng khĩa liên quan
Vào năm 1993, Eli Biham đã giới thiệu một phương pháp tấn cơng mật mã sử dụng các mã khĩa liên quan [4]. Sau đĩ, phương pháp này được John Kelsey, Bruce Schneier và David Wagner nghiên cứu và áp dụng thử trên một số thuật tốn mã hĩa [30] vào năm 1996.
Trong phương pháp tấn cơng khĩa liên quan, người phân tích thực hiện việc mã hĩa sử dụng các khĩa phân biệt cĩ liên quan với nhau. Đối với phương pháp Rijndael cũng như các thuật tốn mở rộng, tính chất phi tuyến cùng khả năng khuếch tán thơng tin trong việc tạo bảng khĩa mở rộng làm cho việc phân tích mật mã dựa vào các khĩa liên quan trở nên khơng khả thi.
4.6 Kết quả thử nghiệm
Nhờ áp dụng kỹ thuật bảng tra cứu trong việc cài đặt các phiên bản mở rộng của thuật tốn Rijndael nên thời gian thực hiện việc mã hĩa và thời gian thực hiện việc giải mã là tương đương với nhau. Các thử nghiệm được tiến hành và ghi nhận trên máy Pentium 200 MHz (sử dụng hệđiều hành Microsoft Windows 98), máy Pentium II 400 MHz, Pentium III 733 MHz (sử dụng hệđiều hành Microsoft Windows 2000 Professional), Pentium IV 2.4GHz (sử dụng hệ điều hành Microsoft Windows XP Service Pack 2).
Bảng 4.2. Tốc độ xử lý phiên bản 256/384/512-bit trên máy Pentium IV 2.4GHz
Pentium IV 2.4 GHz C++ C Khĩa (bit) Khối (bit) #Nhịp Tốc độ (Mbit/giây) #Nhịp Tốc độ (Mbit/giây) 256 256 1763 343.9 1721 353.3 384 256 2091 290.4 2052 297.8 512 256 2456 257.4 2396 263.1
Bảng 4.3. Tốc độ xử lý phiên bản 512/768/1024-bit trên máy Pentium IV 2.4 GHz
Pentium IV
2.4 GHz C++ C
Khĩa
(bit) Kh(bit) ối #Nhịp (Mbit/giây) Tốc độ #Nhịp (Mbit/giây) Tốc độ
512 512 8360 153.4 8160 157.4
768 512 9910 130.1 9730 132.3
1024 512 11645 110.7 11364 113.7 Bảng 4.2 và Bảng 4.3 thể hiện tốc độ xử lý của phiên bản 256/384/512-bit và Bảng 4.2 và Bảng 4.3 thể hiện tốc độ xử lý của phiên bản 256/384/512-bit và phiên bản 512/768/1024-bit trên máy Pentium IV 2.4 GHz. Kết quảđược tính theo đơn vị Mbit/giây và đơn vị nhịp dao động.
Bảng 4.4. Bảng so sánh tốc độ xử lý của phiên bản 256/384/512-bit
Tốc độ xử lý (Mbit/giây) Kích thước
(bit) 200 MHz Pentium Pentium II 400 MHz Pentium III 733 MHz Pentium IV 2.4 GHz
Khĩa Khối C++ C C++ C C++ C C++ C 256 256 26.9 27.4 55.0 56.4 100.8 103.4 343.9 353.3 384 256 22.7 23.3 46.4 47.5 85.0 87.1 290.4 297.8 512 256 19.5 20.2 41.1 42.0 75.3 76.9 257.4 263.1 Bảng 4.5. Bảng so sánh tốc độ xử lý của phiên bản 512/768/1024-bit Tốc độ xử lý (Mbit/giây) Kích thước
(bit) 200 MHz Pentium Pentium II 400 MHz Pentium III 733 MHz Pentium IV 2.4 GHz
Khĩa Khối C++ C C++ C C++ C C++ C
512 512 12.0 12.4 24.4 25.1 44.7 45.9 153.4 157.4 768 512 10.6 11.0 20.7 21.6 37.9 38.6 130.1 132.3 768 512 10.6 11.0 20.7 21.6 37.9 38.6 130.1 132.3 1024 512 8.9 9.2 17.6 18.1 32.3 33.1 110.7 113.7
Kết quả so sánh tốc độ xử lý trên máy Pentium 200 MHz (sử dụng hệđiều hành Microsoft Windows 98), máy Pentium II 400 MHz, Pentium III 733 MHz (sử dụng hệđiều hành Microsoft Windows 2000 Professional), Pentium IV 2.4GHz (sử dụng hệđiều hành Microsoft Windows XP Service Pack 2) của phiên bản 256/384/512-bit và phiên bản 512/768/1024-bit được thể hiện trong Bảng 4.4 và Bảng 4.5.
4.7 Kết luận
Đối với phiên bản nguyên thủy của thuật tốn mã hĩa Rijndael, phương pháp hiệu quả nhất để phân tích mật mã vẫn là phương pháp vét cạn để tìm ra mã khĩa chính đã được sử dụng. Như vậy, nếu sử dụng mã khĩa chính cĩ 128/192/256 bit thì khơng gian mã khĩa K cần khảo sát lần lượt cĩ 2128, 2192, 2256 phần tử.
Một cách tương tự, đối với các phiên bản mở rộng của thuật tốn Rijndael, phương pháp vét cạn để tìm ra mã khĩa vẫn là phương pháp khả thi hơn so với các phương pháp khác.
Đối với phiên bản mở rộng 256/384/512-bit của thuật tốn mã hĩa Rijndael, khơng gian mã khĩa K cần khảo sát cĩ 2256, 2384, 2512 phần tử tùy thuộc vào độ dài của mã khĩa chính được sử dụng là 256, 384 hay 512 bit.
Đối với phiên bản mở rộng 512/768/1024-bit của thuật tốn mã hĩa Rijndael, khơng gian mã khĩa K cần khảo sát cĩ 2512, 2768, 21024 phần tử tùy thuộc vào độ dài của mã khĩa chính được sử dụng là 512, 768 hay 1024 bit.
Dựa vào các số liệu thống kê trong Bảng 3.2, Bảng 4.4 và Bảng 4.5, chúng ta cĩ thể nhận thấy rằng khi tăng gấp đơi kích thước khối được xử lý thì thời gian mã
hĩa một khối dữ liệu tăng lên hơn 4 lần và do đĩ tốc độ mã hĩa sẽ giảm đi hơn hai lần. Tuy nhiên, điều này hồn tồn cĩ thể chấp nhận được do việc tăng kích thước mã khĩa và kích thước khối xử lý sẽ làm khơng gian mã khĩa tăng lên đáng kể và thơng tin được mã hĩa sẽ càng an tồn hơn.
Chương 5