1. Trang chủ
  2. » Công Nghệ Thông Tin

thuật toán mã hóa và ứng dụng phần 5

29 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 567,68 KB

Nội dung

Chương 4 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 Khóa Khối (bit) (bit) 512 512 768 512 1024 512 C++ #Nhịp 8360 9910 11645 Tốc độ (Mbit/giây) 153.4 130.1 110.7 #Nhịp 8160 9730 11364 C Tốc

Chương Bảng 4.3 Tốc độ xử lý phiên 512/768/1024-bit máy Pentium IV 2.4 GHz Pentium IV 2.4 GHz Khóa Khối (bit) (bit) 512 512 768 512 1024 512 C++ #Nhịp 8360 9910 11645 Tốc độ (Mbit/giây) 153.4 130.1 110.7 C #Nhịp 8160 9730 11364 Tốc độ (Mbit/giây) 157.4 132.3 113.7 Bảng 4.2 Bảng 4.3 thể tốc độ xử lý phiên 256/384/512-bit phiên 512/768/1024-bit máy Pentium IV 2.4 GHz Kết tính theo đơn vị Mbit/giây đơn vị nhịp dao động Bảng 4.4 Bảng so sánh tốc độ xử lý phiên 256/384/512-bit Kích thước (bit) Khóa Khối 256 256 384 256 512 256 Pentium 200 MHz C++ C 26.9 27.4 22.7 23.3 19.5 20.2 Tốc độ xử lý (Mbit/giây) Pentium II Pentium III 400 MHz 733 MHz C++ C C++ C 55.0 56.4 100.8 103.4 46.4 47.5 85.0 87.1 41.1 42.0 75.3 76.9 Pentium IV 2.4 GHz C++ C 343.9 353.3 290.4 297.8 257.4 263.1 Bảng 4.5 Bảng so sánh tốc độ xử lý phiên 512/768/1024-bit Kích thước (bit) Khóa Khối 512 512 768 512 1024 512 112 Pentium 200 MHz C++ C 12.0 12.4 10.6 11.0 8.9 9.2 Tốc độ xử lý (Mbit/giây) Pentium II Pentium III 400 MHz 733 MHz C++ C C++ C 24.4 25.1 44.7 45.9 20.7 21.6 37.9 38.6 17.6 18.1 32.3 33.1 Pentium IV 2.4 GHz C++ C 153.4 157.4 130.1 132.3 110.7 113.7 Phương pháp Rijndael mở rộng Kết so sánh tốc độ xử lý 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) phiên 256/384/512-bit phiên 512/768/1024-bit thể Bảng 4.4 Bảng 4.5 4.7 Kết luận Đối với phiên nguyên thủy thuật tốn mã hóa Rijndael, phương pháp hiệu để phân tích mật mã phương pháp vét cạn để tìm mã khóa sử dụng Như vậy, sử dụng mã khóa có 128/192/256 bit khơng gian mã khóa K cần khảo sát có 2128, 2192, 2256 phần tử Một cách tương tự, phiên mở rộng thuật tốn Rijndael, phương pháp vét cạn để tìm mã khóa phương pháp khả thi so với phương pháp khác Đối với phiên mở rộng 256/384/512-bit 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 mã khóa sử dụng 256, 384 hay 512 bit Đối với phiên mở rộng 512/768/1024-bit 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 mã khóa sử dụng 512, 768 hay 1024 bit Dựa vào số liệu thống kê Bảng 3.2, Bảng 4.4 Bảng 4.5, nhận thấy tăng gấp đơi kích thước khối xử lý thời gian mã 113 Chương hóa khối liệu tăng lên lần tốc độ mã hóa giảm hai lần Tuy nhiên, điều hồn tồn chấp nhận việc tăng kích thước mã khóa kích thước khối xử lý làm khơng gian mã khóa tăng lên đáng kể thơng tin mã hóa an tồn 114 Các thuật tốn ứng cử viên AES Chương Các thuật toán ứng cử viên AES " Trong chương 3, khảo sát phương pháp mã hóa Rijndael Cùng với phương pháp này, cịn có bốn phương pháp mã hóa khác chọn vào vòng chung kết ứng cử viên chuẩn mã hóa AES, bao gồm phương pháp MARS, RC6, Serpent TwoFish Trong nội dung chương giới thiệu bốn phương pháp mã hóa ứng cử viên AES 5.1 Phương pháp mã hóa MARS MARS thuật tốn mã hóa khóa đối xứng hỗ trợ kích thước khối liệu 128 bit cho phép sử dụng mã khóa có kích thước thay đổi Thuật toán thiết kế sở khai thác mạnh việc thực phép toán hệ máy tính nhằm tăng hiệu thuật toán so với thuật toán mã hóa quy ước trước 115 Chương 5.1.1 Quy trình mã hóa Thơng tin cần mã hóa D[3] D[2] D[1] D[0] Cộng khóa Trộn “tới” chu kỳ trộn “tới” khơng có khóa chu kỳ trộn “tới” có khóa Phần lõi chu kỳ trộn “lùi” có khóa chu kỳ trộn “lùi” khơng có khóa Trộn “lùi” Trừ khóa Thơng tin mã hóa D’[3] ⊞ Phép cộng D’[2] D’[1] ⊟ Phép trừ Hình 5.1 Quy trình mã hóa MARS 116 D’[0] Các thuật tốn ứng cử viên AES Hình 5.1 thể mơ hình chung quy trình mã hóa MARS Dữ liệu đầu vào kết q trình mã hóa từ có độ dài 32 bit Tất phép tốn quy trình mã hóa giải mã thực từ 32 bit Trong trường hợp khảo sát liệu mã hóa dạng mảng gồm byte, tác giả quy ước sử dụng thứ tự lưu trữ little–endian 5.1.2 S–box Trong trình thiết kế S–box, phần tử S-box chọn cho S– box có đặc tính tuyến tính vi phân an toàn chống lại phương pháp cơng Phụ lục A trình bày chi tiết nội dung S-box sử dụng thuật toán MARS Các S–box phát sinh cách cho i = đến 102, j = đến 4, S [5i + j ] = SHA − 1(5i c1 c c3) j (5.1) (ở SHA – 1(.)j từ thứ j kết SHA – 1) Xem i số nguyên không dấu 32 bit c1, c2, c3 số cố định Trong thực ta đặt c1 = 0xb7415162 , c2 = 0x283f6a88 (là phần khai triển nhị phân phân số e, π tương ứng) biến đổi c3 tìm S–box có đặc tính tốt Xem SHA–1 phép tốn dòng byte sử dụng quy ước little–endian để chuyển đổi từ byte S–box xây dựng sau: Đầu tiên biến đổi giá trị có c3 theo thứ tự tăng dần, bắt đầu với c3 = Đối với giá trị, phát sinh S–box sau cố định cách biến đổi tồn cặp (i, j) mục S0, S1 117 Chương theo thứ tự từ điển kiểm tra xem S[i] ⊕ S[j] có chênh lệch nhiều byte zero Bất kỳ lúc tìm chênh lệch nhiều byte zero thay S[i] với 3⋅S[i] di chuyển đến i Sau dừng lại, thử nghiệm S–box lại để kiểm tra xem có thỏa mãn hết điều kiện 1–8 tính single bit correlation (điều kiện 9) Giá trị c3 giảm single bit correlation c3 = 0x02917d59 S–box có parity bias 2–7, single bit bias đạt cao 1/30, Two consecutive bit bias đạt cao 1/32 single bit correlation bias nhỏ 1/22 5.1.3 Khởi tạo phân bố khóa Thủ tục Key–Expansion thực việc mở rộng mảng khóa k[] bao gồm n từ 32 bit (với n số khoảng từ đến 14) thành mảng K[] gồm 40 từ Cần lưu ý không cần có u cầu đặc biệt cấu trúc khóa gốc k[] (ví dụ khóa khơng cần sử dụng bit parity) Ngoài ra, thủ tục Key– Expansion đảm bảo từ khóa sử dụng cho phép nhân thủ tục mã hóa có đặc tính sau đây: Hai bit thấp từ khóa sử dụng phép nhân có giá trị 118 Khơng có từ khóa chứa liên tiếp 10 bit 10 bit Các thuật toán ứng cử viên AES 5.1.3.1 Thủ tục Key–Expansion Thủ tục Key–Expansion bao gồm bước sau: Ban đầu, nội dung khóa gốc chép vào mảng tạm T[] (có độ dài 15 từ), số n cuối số Nghĩa là: T [0 n − 1] = k[0 n − 1], T [n] = n, T [n + 14] = (5.2) Sau đó, bước thực lặp lại bốn lần Mỗi lần lặp tính giá trị 10 từ khóa mở rộng: a) Mảng T[] biến đổi sử dụng công thức tuyến tính sau: for i = to 14 T [i ] = T [i ] ⊕ ((T [i − mod15] ⊕ T [i − mod15])

Ngày đăng: 10/05/2021, 23:20

TỪ KHÓA LIÊN QUAN