Tải bản đầy đủ (.docx) (12 trang)

Tiểu luận môn Mã hóa an toàn dữ liệu MÃ HÓA IDEA ( International Data Encryption Algorithm )

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (382.16 KB, 12 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
   
BÁO CÁO
MÃ HÓA IDEA
Môn học : Mật mã và an toàn dữ liệu
Giảng viên : PGS.TS. Trịnh Nhật Tiến
Học viên : Nguyễn Ngọc Tuân
Ngày sinh: 21/03/1982
Mã học viên: 13025112
Hà Nội – 2014
MỤC LỤC
2
Trình bày mã hóa IDEA
1. Giới thiệu mã hóa IDEA
International Data Encryption Algorithm (IDEA) 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 cùng thời với PES(Proposed
Encryption Standard).
IDEA là phương pháp mã khối sử dụng 128 bit khoá để mã khối dữ liệu 64 bit.
IDEA được xây dựng nhằm mục đích kết hợp với nhiều yếu tố khác để tăng độ an
toàn và khả năng 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 2
16
(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 2


16
+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 biểu thị cho 2
16
.
Kí hiệu ⊗
Cấu trúc của IDEA theo lược đồ Lai-Massey. Phép XOR được xử dụng trong cả
phép cộng và trừ. IDEA sử dụng một hàm nửa vòng không phụ thuộc khóa. Để làm
việc với 16 bit từ (nghĩa là 4 lần đầu vào thay vì 2 lần cho 64 bit block), IDEA sử
dụng lược đồ Lai-Massey 2 lần song song, với vòng lặp 2 lần song song trộn lẫn
nhau. Để chắc chắn thì hai khối con được đổi chỗ cho nhau sau mỗi vòng.
2. Thuật toán
a. Thuật toán mã hóa
Khối 64 bít bản rõ được phân đoạn thành 4 khối 16 bit được định nghĩa thứ
tự Xi. 4 khối con này được biến đổi thành 4 khối 16bit bản mã Y1,Y2,Y3,Y4 dưới
kiểm soát của 52 khối chìa khóa 16bit, trong đó 6 khối chìa khóa sử dụng tại vòng
r=1, 8 được định nghĩa là Z1(r), Z6(r) và 4 khối chìa khóa sử dụng trong biến đổi
đầu ra được định nghĩa là Z1(9),Z2(9),,Z4(9)
Sơ đồ 1 vòng
3
Sơ đồ vòng 8,5:
b. Thuật toán giải mã
Quá trình giải mã tương tự quá trình mã hóa , chỉ thay đổi khối chìa
khóa như hình vẽ với Z(-1) của phép nhân theo modulo và –Z là
nghịch đảo của phép cộng theo modulo
4
c. Quá trình sinh 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:
- 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)
- 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. Qua trình được
tiếp tục cho đến khi sinh đu 52 khối khóa con
3. Độ an toàn
Độ an toàn: Phương pháp này đã được phá sử dụng phương pháp tấn công
bicliques với giảm mã dài về thành 2 bits tương tự phương pháp tấn công AES
Khóa yếu: Khoá phải có độ dài đủ để chống lại các phương pháp vét cạn khoá
( Chống khả năng thử các khoá được sinh ra từ (N)bit khoá cho trước ).
4. Nhận xét
IDEA được xây dựng sao cho việc thực hiện nó được dễ dàng cả trên phần
cứng và phần mềm . Việc thực hiện trên phần cứng, điển hình là trên vi mạch VLSI
5
(VLSI: mạch tích hợp cao) , được thiết kế để đạt được tốc độ cao. Việc xây dựng
trên phần mềm thì thuận tiện và giá thành thấp do những yếu tố sau:
+ Sử dụng những khối nhỏ : những phép mã thực hiện trên những khối có độ dài
8,16,32 bit phù hợp với việc xử lý trên máy tính.
+ Sử dụng thuật toán giản đơn: Phép toán mã dễ dàng trong lập ttình như phép
cộng , phép dịch chuyển (shift), , Cả 3 phép toán của IDEA đều thoả mãn những
yêu cầu này. Điểm khó khăn nhất là phép toán nhân modulo(2
16
+1) cũng có thể dễ
dàng xây dựng từ những phép toán sẵn có .
- Những điểm chủ yếu trong việc thực hiện trên phần cứng:
+ Sự tương tự trong mã hoá và giải mã : Mã hoá và giải mã chỉ nên khác nhau
trong việc sử dụng khoá và nhờ đó một phương tiện có thể dùng cho cả mã hoá và
giải mã.
+ Cấu trúc lặp lại : Phương pháp mã nên có cấu trúc modul lặp lại để các mạch

VLSI có thể thực hiện được dễ dàng. IDEA được xây dựng từ 2 khối modulo đơn
giản và sử dụng lặp lại nhiều lần.
Tà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”
/>3. Khovratovich, D.; Leurent, G.; Rechberger, C. "Narrow-Bicliques:
Cryptanalysis of Full IDEA". Advances in Cryptology – EUROCRYPT 2012.
Springer-Verlag.
6
Phụ lục 1: Lược đồ đầy đủ của quá trình mã hóa
Vòng 1:
Vòng 2:
Vòng 3:
7
Vòng 4:
Vòng 5:
8
Vòng 6:
Vòng 7:
9
Vòng 8 và 8,5 :
10
11
Phụ lục 2: Chương trình và kết quả chạy thử
Bảng 52 khối khóa con sinh từ khóa 12345678
12
Z[1][r] Z[2][r] Z[3][r] Z[4] [r] Z[5][r] Z[6][r]
1-st round
1

2
3
4
5
6
2-ad round
7
8
1024
1536
2048
2560
3-rd round
3072
3584
4096
512
16
20
4-th round
24
28
32
4
8
12
5-th round
10240
12288
14336

16384
2048
4096
6-th round
6144
8192
112
128
16
32
7-th round
48
64
80
96
0
8192
8-th round
16384
24576
32768
40960
49152
57345
output transf
128
192
256
320



decryption key
subblocks DK[i] [r]
1-st round
65025
43350
65280
65216
49152
57345
2-nd round
65533
21843
32768
24576
0
8192
3-rd round
42326
64513
65456
65440
16
32
4-th round
21835
65529
65424
65408
2048

4096
5-th round
13101
43686
51200
49152
8
12
6-th round
19115
53834
65504
65532
16
20
7-th round
43670
28069
61440
65024
2048
2560
8-th round
18725
57345
64512
64000
5
6
output transf

1
32769
65533
65532


Bảng 52 khối khóa dùng để giải mã
Bảng lưu kết quả trung gian theo từng vòng
TT=cip(YY,DK)
13

×