Tấn công khuếch tán ngược

Một phần của tài liệu Digital library Ha Noi university of science and technology760 (Trang 106 - 109)

3.4 Đề xuất 3: Phân tích hệ mật mã hỗn loạn có cấu trúc SPN với một vòng lặp

3.4.2.2 Tấn công khuếch tán ngược

Rõ ràng rằng tấn công khuếch tán ngược có thể được thực hiện trước nếu luật hoán vị

được biết. Tương tự như quá trình khuếch tán của phía bên mật mã, trong biểu thức

giải mã (3.6) cho thấy một từ mã được giải mã với sự phụ thuộc củ a giá trị hiện tại của

từ mã và giá trị của từ mã ngay trước nó. Vì vậy, để tấn công khuếch tán ngược trong

phương pháp tấn công lựa chọn văn bản mã hóa cũng tương tự như tấn công trong phương pháp lựa chọn văn bản trơn. Đó là, b ản mã hóa mẫu được chọn cho giải mã

và đầu ra tương ứng được tập hợp lại để tìm ra các khóa mật của quá trình khuếch tán.

Mục tiêu của tấn công n ày là để khôi phục các khóa mật dùng trong khuếch tán ngược

rcv rd_ 2 vàrcv rd_ 3 tương đương với dãy số ngẫu nhiên ban đầu rand2vàrand 3.

Trên thực tế, giá trị của rand3( )i và rand2(temp2) trong b iểu thức (3.6) không

thể nhận được trực tiếp từ giá trị củaac i ( )vàcipher d i_ ( ). Vì vậy, phương pháp thử

được áp dụng để tìm ra giá trị có thể của rcv rd_ 2 và rcv r d_ 3. Rõ ràng các phần tử của rand2 được dùng để giải mã cipher d i_ ( ) phụ thuộc vào cipher d i_ ( − 1) thông qua rand1. Trong tấn công khuếch tán ngược, sự phụ thuộc này được viết dưới dạng rcv rd_ 2(cipher d_ (i − 1)). Vì vậy, để tìm rcv rd_ 2(cipher d_ (i − 1)) và

rcv rd_ 3( )i tương đương cặp rand 2(temp2) và rand3( )i trong giải mã ngược cho

từ mã c iph er d i_ ( ) với giá trị nào đó của cip he r d i_ ( − 1), 64 mẫu ma trận mở rộng được chọn với cá c giá trị cipher d i_ ( ) khác nhau có giá trị nằm trong khoảng

giá trị khác nhau của cipher d i_ ( ) và các giá trị tương ứng của ac i( ) được dùng

để tính toán ra rcv rd_ 2(cipher d_ (i − 1)) và rcv rd_ 3( )i. Điều này được thực hiện dựa trên các chuỗi cipher d i_ ( ) và ac i( ). Xem kỹ biểu thức (3.6) thấy rằng trường

hợp th ứ hai tính toán cho ac i( ) luôn được áp dụng khi ciphe r d i_ ( ) = 63; đó là

cipherd( )i ≥ rand 3( )i. Điều này dùng để hạn chế các ràng buộc tính toán cho các

giá trị có thể có củarcv rd_ 2(cipher d_ (i − 1))vàrcv rd_ 3( )i. Nói cách khác, với một

giá tr ị n hất định của cip he r rd_ 2,cipher d i_ ( ) = 63 được chọn để tìm các giá trị có

thể có củarcv rd_ 2(cipher d_ (i − 1))vàrcv rd_ 3( )i ;rcv rd_ 2(cipher d_ (i − 1))quét

từ 0 đến 63 và g iá trị thích hợp của rcv rd_ 3( )i thu được theo ràng buộc. Thêm vào

đó, cặp giá trị thích hợp của rcv rd_ 2(cipher d_ (i − 1))và rcv rd_ 3( )i phải đáp ứng

được biểu thức (3.6). Nên mỗi cặp giá trị có thể của rcv r d_ 2(cipher d_ (i − 1)) và

rcv rd_ 3( )i được thử để tính toán ra dãy các giá trị của cipher d i_ ( )vàac i ( ). Giá trị

đúng củarcv rd_ 2(cipher d_ (i − 1))vàrcv rd_ 3( )i tương đương vớirand 2(temp2)và rand3( )i, tạo ra dãy giá trị của cipher d i_ ( )vàac i( )phù hợp với phần được tách ra từ

phần giải mã trên.

Có thể thấy được phép XOR trong biểu thức (3.6) dẫn đến hai cặp giá trị đúng

của rcv rd_ 2(cipher d_ (i − 1)) và rcv rd_ 3( )i tương ứng vớ i mỗi giá trị nào đó của

cipher rd_ 2. Nếu giá trị của cipher d i_ ( − 1) được quét từ 0 đến 63, ta sẽ nhận được

hai tập dãy sốrcv rd_ 2 vàrcv rd_ 3 và được dùng như là các khóa giải mã ( rcv rd_ 2a,

rcv rd_ 3a) và ( rcv rd_ 2b,rcv rd_ 3b). Vì vậy, mỗi rcv rd_ 3có kích thước4N2× 64. Chú

ý rằng không cần quan tâm tớitemp2 trong tấn công khuếch tán ngược; thay vào đó,

giá trị củacipher d i_ ( − 1)và vị trí của các từ mã (chỉ số ) là những thông tin quani trọng trong quá trình phân tích mã. Giải thuật tấn công khuếch tán như sau:

Algorithm 4

ĐẦU VÀO: Ma trậnMDarb với giá trị ngẫu nhiên.

ĐẦU RA: các mảng giá tr ị ngẫu nhiên tương đươngrcv rd_ 2vàrcv rd_ 3.

procedureTẤN CÔNG KHUẾCH TÁN

fori=1 to 4N2do form=0 to 63do Đặtcipher d i_ ( − 1) =m; 5: forn=0 to 63do Đặtcipher d i_ ( ) =nchoM D; Thu gọnMD trở thành ;C Giải mãCđể nhận ;P Tạo raMPD dùng ;P 10: Trích xuấtac i( ); end for; Nhận đượccipher d i_ ( )vàac i( )(*);

Vớicipher d i_ ( ) = 63(ký hiệucipher63), tínhac i( )(ký hiệuac63);

fors=0 to 63do 15: Giả sửrcv rd_ 2(cipher d_ (i − 1)) = s; Tínhrcv rd_ 3( ) =i cipher63 [ 63 − ac ⊕rcv rd_ 2(cipher d_ (i − 1)); forr=0 to 63do

Tínhac i( )vớicipher d i_ ( ) =r,rc v rd_ 2(cipher d_ (i − 1))

vàrcv rd_ 3( )i (**);

20: end for;

So sánh các chuỗicipher d i_ ( )vàac i( )ở (*) vàac i ( )ở (**);

if(Đúng)then

Ghi lạircv rd_ 2(cipher d_ (i − 1))vàrcv rd_ 3( )i;

end if; 25: end for; end for; end for; end procedure

Kết quả thu được là hai cặp dãy số (rcv rd_ 2a,rcv rd_ 3a) và ( rcv rd_ 2b,rcv rd_ 3b). Mỗi dãy rcv rd_ 2 có 65 p hần tử bao gồm cả phần tử ban đầu để giải mã cho từ mã

cipherd(1). Mỗircv rd_ 3 được biểu diễn bằng ma trận kích thước 4N2 × 64, trong

đó rcv rd_ 3( )i, j được dùng để giải mã cipher d i_ ( )vớicipher d i_ ( − 1) = j. Trong

bản sao giải mã, các cặp khóa được tìm thấy này có thể được dùng để giải mã và khôi phục được ảnh bản trơn như khóa giải mã gốc. Trong đó, với phương trình khuếch tán

ngược được viết lại là

cipher d_ (0) =rcv rd_ 2_initial

ac i( ) =

[64 +cipher d_ ( )i − rcv rd_ 3(i, ciphe r d_ (i − 1))] ⊕rcv rd_ 2(cipher d_ (i − 1)),

....for cipher d i < rcv rd_ ( ) _ 3(i, ciphe r d_ (i − 1)),

[cipher d_ ( )i − rcv rd_ 3(i, ciphe r d_ (i − 1))] ⊕rcv rd_ 2(cipher d_ (i − 1)),

....for cipher d i_ ( ) ≥rcv rd_ 3(i, ciphe r d_ (i − 1)).

(3.8)

Hình 3.11 cho thấy kết quả của tấn công lựa chọn văn bản mã hóa, rcv rd_ 2a và

rcv rd_ 2b được khôi phục như trong các Hình 3.11(a) và 3.11(b). Chú ý rằng, các

(a) Khóa khuếch tán được khôi

phụcrcvrd_2a (b)rcvKhóa khuếch tán được khôi phục_rd2b (c)được giải mã sau khi dùng các khóaKênh RGB của ảnh bản trơn khuếch tán được khôi phục

Hình 3.11: Tấn công lựa chọn văn bản mã hóa trên ảnh5 5× .

rcv rd_ 2b. Dãy số rand2gốc như trong Hình 3 .8(c). Do giới hạn về không gian trình

bày nênrcv rd_ 3a vàrcv rd_ 3bkhông được đưa ra ở đây. Ảnh bản mã hóa 5 5 × trong Hình 3.8(f) được giải mã dùngrcv rd_ 2a như trong Hình 3.11(a) và rcv rd_ 3a. Kết quả

nhận được ảnh khôi phục đưa ra trong Hình 3.11(c). Quan sát các ảnh bản trơn được

giải mã trong Hình 3.11(c) là giống hệt với các ảnh gốc trong Hình 3.8(a). Rõ ràng

các khóa khuếch tán ngược được khôi phục trong ví dụ tấn công lựa chọn văn bản

mã hóa trong Hình 3.11(a) và 3. 11(b) không giống với khóa trong tấn công lựa chọn văn bản trơn như trong các Hình 3.8(d), 3.8(e). Nhìn chung, hầu hết các khóa được

khôi phục đều khác với khóa gốc, do vậy chúng được gọi là các khóa tương đương với

khóa gốc. Sau khi kiểm tra kĩ lưỡng, các bảng tra cứu được khôi phục và các cặp khóa

khuếch tán trong bộ mã và giải mã có th ể được dùng tương đương như khóa gốc.

Cần chú ý, việc tấn công hoàn toàn không liên quan đến kích thước ảnh bản trơn,

do vậy với giá trịN lớn vẫn có thể thực hiện được. Tuy nhiên, dung lượng bộ nhớ và

thời gian tấn công sẽ cần lớn khi tăng giá trị .N

Một phần của tài liệu Digital library Ha Noi university of science and technology760 (Trang 106 - 109)

Tải bản đầy đủ (PDF)

(154 trang)