GIỚI THIỆU MÃ HÓA IDEA Giới thiệu mã hóa IDEA Trình bày thuật toán Độ an toàn của phương pháp Chạy thử chương trình Mã hóa IDEA (International Data Encryption Algorithm) có tên gốc là IPES (Improved Proposed Encryption Standard) là thuật toán mã hóa khối đối xứng được thiết kế bởi James Massey và Xuejia Lai và giới thiệu lần đầu vào năm 1991. Mục đích mã hóa này dùng để thay thế DES. IDEA là phương pháp mã khối sử dụng 128 bit khoá để mã khối dữ liệu 64 bit
Trang 1GIỚI THIỆU MÃ HÓA IDEA
Giảng viên: PGS-TS Trịnh Nhật Tiến Học viên: Nguyễn Ngọc Tuân
MSHV: 13025112
Trang 2Nội dung trình bày
Trang 3Giới thiệu mã hóa IDEA
Mã hóa IDEA (International Data Encryption Algorithm) có tên g c là IPES (Improved ố
Proposed Encryption Standard) là thu t toán ậ
mã hóa kh i đ i x ng đ ố ố ứ ượ c thi t k b i ế ế ở
James Massey và Xuejia Lai và gi i thi u l n ớ ệ ầ
đ u vào năm 1991 M c đích mã hóa này ầ ụ
dùng đ thay th DES ể ế
IDEA là ph ươ ng pháp mã kh i s d ng 128 ố ử ụ bit khoá đ mã kh i d li u 64 bit ể ố ữ ệ
Trang 4Trình bày thuật toán
IDEA s d ng 8,5 vòng mã hóa kh i đ th c ử ụ ố ể ự
hi n ệ
IDEA s d ng 3 phép toán: ử ụ
◦ Phép XOR theo bit Kí hi u là ệ ⊕
◦ Phép c ng 2 s nguyên l y modulo 216 (65536)v i ộ ố ấ ớ
đ u vào và các đ u ra là các s nguyên không d u 16 ầ ầ ố ấ bit Kí hi u là ệ ⊞
◦ Phép nhân hai s nguyên l y modulo 216 +1 v i đ u ố ấ ớ ầ vào và đ u ra là các s nguyên không d u 16 bit Quy ầ ố ấ
c là kh i toàn s 0 (0x0000) bi u th cho 216 và
ngượ ạc l i Kí hi u ệ ⊙
Trang 5Trình bày thuật toán
Trang 6Thu t toán mã hóa ậ
(i=1, 8)
◦ Trong đó
Xi : Là bản rõ
của khối thứ i
nhận được từ
64 bit bản rõ
Zi(j): là khối
khóa thứ i của
vòng j
Trang 7Thu t toán mã hóa ậ
◦ Trong đó
Yi : Là bản mã của khối thứ i
Zi(9): là khóa của khối thứ i của vòng cuối
Trang 8Thuật toán giải mã
chìa khóa như hình vẽ với Z-1 của phép nhân theo modulo của Z ,–Z là nghịch đảo của phép cộng theo modulo của Z
Vòng 1
Vòng 8
Vòng 8,5
.
.
.
Trang 9Thuật toán sinh khối khóa
52 khối khóa sử dụng trong quá trình mã hóa được sinh từ 128 bít khóa của người dùng tạo ra theo như các bước sau:
1 128 bít được phân thành 8 khối được sử dụng trực tiếp bằng 8 khối mã đầu với thứ tự của khối được thể hiện như sau:
Z1(1),Z2(1) ,Z6(1),Z1(2),…Z6(2), ,Z1(8), Z6(8),Z1(9),Z2(9),Z3(9),Z4(9)
2 128 bit khóa do người dùng tạo ra được quay vòng trái 25 vị trí sau đó thì kết quả được phân đoạn thành 8 khối con và đây chính là 8 khối khóa con đầu, sau đó quá trình tiếp tục để có 8 khối con tiếp theo
3 Quá trình được tiếp tục cho đến khi sinh đủ 52 khối khóa con
Trang 10Độ an toàn của phương pháp
Phương pháp mã hóa này được đánh giá là
phương pháp với “khóa yếu”, do quá trình tạo
khối khóa con đơn giản Người ta có thể dự đoán mối quan hệ giữa bản rõ và bản mã Theo nghĩa phân tích cấu trúc của khóa chứ không cần liệt kê khóa.
Phương pháp mã khóa này đã bị phá vào năm
2012 bằng phương pháp tấn công Narrow
bicliques Đây là phương pháp cải tiến của tấn
công vét cạn tìm khóa (Brute-force)
Trang 11Chạy thử chương trình
Trang 12Kết quả ví dụ
Z[1][r] Z[2][r] Z[3][r] Z[4] [r] Z[5][r] Z[6][r]
2-ad vòng 7 8 1024 1536 2048 2560
3-rd vòng 3072 3584 4096 512 16 20
5-th vòng 10240 12288 14336 16384 2048 4096
6-th vòng 6144 8192 112 128 16 32
7-th vòng 48 64 80 96 0 8192
8-th vòng 16384 24576 32768 40960 49152 57345
output transf 128 192 256 320 — —
Khóa 12345678 thì sinh được các khối khóa để mã hóa như dưới:
Trang 13Kết quả ví dụ
khối khóa để giải mã như dưới:
decryption key subblocks DK[i] [r]
1-st vòng 65025 43350 65280 65216 49152 57345
2-nd vòng 65533 21843 32768 24576 0 8192
3-rd vòng 42326 64513 65456 65440 16 32
4-th vòng 21835 65529 65424 65408 2048 4096
5-th vòng 13101 43686 51200 49152 8 12
6-th vòng 19115 53834 65504 65532 16 20
7-th vòng 43670 28069 61440 65024 2048 2560
8-th vòng 18725 57345 64512 64000 5 6
output transf 1 32769 65533 65532 — —
Trang 14Kết quả ví dụ
Kết quả mã hóa từng bước:
Bản rõ 0 1 2 3 Sau 1 vòng 177 202 180 207
Sau 2 vòng 5054 10696 5085
10583 Sau 3 vòng 42790 64040 25583 15559
Sau 4 vòng 16281 58571 61463 33861
Sau 5 vòng 62321 51187 1399 59053
Sau 6 vòng 37668 1126 6125
42057 Sau 7 vòng 49700 61227 19644 21245
Sau 8 vòng 2688 12695 2372 1339
Bản mã 16379 12571
2628 1659 TT=cip(YY,DK)
Trang 15Tài liệu tham khảo
1. Xuejia Lai and James L Massey, A Proposal for a New Block Encryption Standard, EUROCRYPT
1990, pp389–404
2. Wikipedia “International Data Encryption Algorithm”
http://en.wikipedia.org/wiki/International_Data_Encr yption_Algorithm
3. Khovratovich, D.; Leurent, G.; Rechberger, C
"Narrow-Bicliques: Cryptanalysis of Full IDEA"
Advances in Cryptology – EUROCRYPT 2012
Springer-Verlag
Trang 16Q & A ?
Trang 17Cảm ơn!