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.1 Tấn công quá trình hoán vị ngược
Nhìn chung, chiến lược để tấn công luật hoán vị ngược được mô tả như trong Hình 3.9.
Kĩ thuật để tìm ra luật n ghịch đảo hoán vị là có chút khác so với kỹ thuật thực hiện
trong tấn công lựa chọn văn bản trơn như được trình bày ở trên.
(a)Các kênh RGB của ảnh bản trơn (b)Ma trận mở rộng để mật mã
(c)Dãy số ngẫu nhiên gốc rand2 (d) Dãy số ngẫu nhiên thứ nhất được khôi phụcrcv_rd2a
(e)Dãy số ngẫu nhiên thứ hai được
khôi phụcrcv_rd2b
(f)Các kênh RGB của ảnh bản mã hóa
được mật mã dùng khóa gốc (g)được mật mã dùng khóa khôi phụcCác kênh RGB của ảnh bản mã hóa
Hình 3.8: Tấn công lựa chọn văn bản trơn trên ảnh5 5× .
đó, tấn công hoán vị ngược trong lựa chọn văn bản mã hóa phải được bắt đầu từ phần
tử cuối cùng ngược trở lại phần tử đầu tiên của ma trận mở rộng. Tuy nhiên, ở phía
giải m ật, quá trình hoán vị ngược được đặt sau khuếch tán ngược như được thấy ở
Hình 3 .1. Vì vậy, quá trình hoán vị ngược sẽ tách rời bất kì cặp từ lân cận trong ma trận mở rộng ra.
Hình 3.9 minh họa các bước tấn công quá tr ìn h hoán vị. Hầu hết các bước thực hiện
cũng giống như tấn công lựa chọn văn bản trơn ở phần trước. Ở đây chọn một ảnh bản
mã hóa bất kì Carb có ma trận mở rộng tương ứng là MD arb_ và được dùng để khôi phục lại ảnh bản trơn Parb. Ma trận mở rộng MPD arb_ được tạo ra từ việc bóc tách
Giải mật mã hóa Ảnh bản mã ngẫu nhiên Carb Tạo ra ma trận m rộngở Parb Giải mật mã hóa
Ảnh bản mã dùngc cho tấn công xáo trộn C(x0,y0) Tạo ra ma trận m rộngở P(x0,y0 ) Comparison (x1,y1), MPD_arb MPD_(x0,y0) (x2,y2).... (xn,yn)
S ửa đổi giá tr ị tại (x0,y0)
Hình 3.9: Thủ tục khôi phục lại luật hoán vị trong tấn công bản mã hóa cho điểm ảnh tại vị
trí (x0, y0).
Ma trậnMPD arb_ này sẽ được dùng trong suốt tấn công hoán vị để tìm ra sự thay đổi
giá trị các phần tử của ma trận mở rộng mẫuM PD x_( 0,y0)thông qua ph ép so sánh. Kết
quả là vị trí đích(x1, y1)của quá trình khuếch tán ngược được xác nhận bằng cách
tìm ra sai khác giữa các giá trị của phần tử trongMPD x_( 0,y0) vàMPD arb_ .
Từ cấu trúc hệ mật mã cho thấy, khu ếch tán ngược được thực hiện trước quá trình
hoán vị ngược. Vì vậy, tấn công hoán vị ngược được bắt đầu từ vị trí(x0, y0) = ( N, N) trong ma trận mở rộng MD x_( 0,y0) của ảnh bản mã hóa C(x0,y0). Ma trận mở rộng MD x_( 0,y0) giống vớiMD arb_ trừ phần tử ở vị trí ( x0, y0)được cố tình thay đổi. Sau
khi giải mã, chỉ có một phần tử tại vị trí(x1, y1)trong ma trậnMD x_( 0,y0) mà bắt đầu
từ vị trí này xuất hiện sự khác nhau về giá trị so vớ i ma trậnMPD arb_ . Nghĩa là phần
tử ở vị trí(x0, y0)đã được chuyển tới vị trí (x1, y1). Tương tự, quá trình được tiếp tục
bằng cách gán các giá trị lân cận cho vị trí(x0, y0) = ( N, N − 1) trong ma trận mở rộng mẫu MD x_( 0,y0). Quá trình khuếch tán làm cho hai giá trị cuối cùng trong ma trậnAD x_( 0,y0)ở vị trí (N, N − 1) và(N, N )cùng thay đổi so với các giá trị ở vị trí
ấy trong ma trậnAD arb_ . Sau khi th ực hiện hoán vị ngược, hai phần tử này tách nhau
ra trong ma trậnMPD x_( 0,y0). Vị trí của hai điểm b ị tách ra đó có thể được thấy thông
qua phép so sánh các phần tử trong các ma trậnMPD x_( 0,y0) vàMPD arb_ . Vị trí đích
(x1, y1)của (x0, y0) = ( N, N − 1) được tìm ra. Quá trình được tiếp tục thực hiện
ngược trở lên cho đến(x0, y0) = (1 1) , để hoàn thành việc tấn công hoán vị ngược.
Các bước để khôi phục luật hoán vị đ ược thực hiện như sau:
• Bước 1: Chọn ma trận mở rộngMD arb_ bất kì.
• Bước 3: Giải mãCarb thu được bản rõ Parb ở đầu ra của bộ giải mã.
• Bước 4: Giãn bản rõParb và thu được ma trậnMPD arb_ .
• Bước 5: Chọn vị trí(x0, y0)để tấn công quá trình hoán vị.
• Bước 6: GánMD x_( 0,y0)=MD arb_ và chỉ khác nhau giá trị tại vị trí (x0, y0).
• Bước 7: CoMD x_( 0,y0) lại thành bản mã hóaC(x0,y0)để giải mã.
• Bước 8: Sau khi giải mãC(x0,y0) thu được bản rõ P(x0,y0) ở đầu ra của bộ giải mã.
• Bước 9: Tạo ra ma trận mở rộngMPD x_( 0,y0) bằng cách giãn bản rõ P(x0,y0). • Bước 10: So sánh hai ma trậnMPD arb_ vàMPD x_( 0,y0)để tìm ra vị trí ( x1, y1),
tại đó bắt đầu có sự khác nhau về giá trị.
• Bước 11: Tiếp tục tìm các vị trí(x1, y1)để điền đầy đủ vào bảng tra cứu.
• Bước 12: Lưu lại giá trịx1vào vị trí (x0, y0)của ma trậnROW và lưu lại giá trị y1vào vị trí (x0, y0)của ma trậnCOL.
• Bước 13: Lặp lại bước 5 đến bước 12 để quét hết các vị trí hiện tại và tìm ra các
vị trí đích.
Ví dụ sau đây sẽ chứng minh sự thành công của phương pháp tấn công hoán vị ngược.
Ở đây, giá trị của các tham số để giải mã giống như ở ví dụ trên, trong Phần 3.4.1.
Hình 3.10 minh họa ma trận mở rộng10 10× để tìm các vị trí thay đổi của các phần
tử(x0, y0) = (10 10) , và(x 0, y0) = (10 10) , . Hình 3.10(a), 3.10(b) bên trái biểu diễn
ma trận MD arb_ có giá trị của tất cả các phần tử bằng 0 và ma trận mở rộng mẫu
MD x_( 0,y0) chỉ có giá trị tại vị trí (x0, y0) = (10 10) , là khác nhau. Sự sai khác giá trị
của các phần tử tương ứng của hai ma trậnM PD arb_ vàMPD x_( 0,y0) sau khi giải mật
là tại vị trí (x1, y1) = (6 9) , như Hình 3.10(a) và 3.10(b) bên phải. Nói cách khác,
phần tử tại vị trí (x0, y0) = (10 10) , được chuyển đến vị trí (x 1, y1) = (6 9) , trong
phép hoán vị ngược. Tiếp tục với các giá trị khác là(x0, y0) = (10 9) , của trong ma trậnMD x_( 0,y0)như được thấy trong Hình 3.10(c) bên trái. Sau khi giải mã và so sánh
hai ma trận M PD arb_ và MPD x_( 0,y0) như trong Hình 3.10(a), 3.10(c), thấy rằng có
hai vị trí kh ác nhau(6 9), và(10 2), . Do vị trí(6 9), trước đây đã được g hi lại là kết
quả hoán vị cho vị tr í(x0, y0) = (10 10) , . Do vậy, chỉ còn vị trí (10 2), là kết quả của
hoán vị với tương ứng với vị trí(10 9), . Quá trình được thực hiện để hoàn thành bảng
tra cứu hoán vị tương đương cho quá trình hoán vị ngược ở phía bộ giải mật mã. Kết
quả, hai ma trận thể hiện luật hoán vị tương đươngROW vàCOLkích thước10 10× được khôi phục như thấy trong Hình 3.10(d).
(a) Ma trận mở rộng và ma trận mở rộng được khôi
phục (b)điểmMa trận mở rộng mẫu và ma trận được khôi phục cho(x0, y0) = (10 10) ,
(c) Ma trận mở rộng mẫu và ma trận được khôi phục cho
điểm(x0, y0) = (10 9) , (d)COLBảng tra cứu của bộ giải mã,(bên phải) ROW ( bên trái) và
Hình 3.10: Tấn công hoán vị trong lựa chọn văn bản mã hóa với kích thước ma trận mở rộng
là10 10× .