Xấp xỉ tuyến tính các hộp nén

Một phần của tài liệu tìm hiểu chuẩn mật mã dữ liệu des (data encryption standard) và đánh giá độ an toàn (Trang 52 - 53)

Trong phần này chúng ta sẽ nêu phƣơng pháp xấp xỉ tuyến tính các hộp nén của DES làm cơ sở cho việc xấp xỉ tuyến tính cho cả hệ DES đƣợc sử dụng trong tấn công sau này.

Định nghĩa 2.8:

Cho trƣớc hộp nén Sa (a = 1, 2, ..., 8), 1 63 1 15. Chúng ta định nghĩa số NSa( , ) là tất cả các đầu ra của 64 mẫu đầu vào của Sa sao cho giá trị XOR của các bits đầu vào đƣợc đánh dấu bới trùng với giá trị XOR của các bits đầu ra đƣợc đánh dấu bởi . Cụ thể hơn, ta có :

]))} [ ] )[ ( ( ( ])) [ ] [ ( ( , 64 0 : { # ) , ( x x 50 x s s 30 S x t t NSa s t a (2.3)

ở đây ký hiệu là phép nhân logic AND giữa từng bit tƣơng ứng của hai véc tơ.

Chú ý: Từ định nghĩa trên có thể thấy rằng, khi NSa( , ) không bằng 32, thì sẽ có

một sự tƣơng quan nào đó giữa đầu vào và đầu ra của hộp nén Sa. Chẳng hạn, từ việc khảo sát trực tiếp hộp S5 ta có :

NS5(16, 15) = 12 (2.4)

Điều đó có nghĩa là bit vào thứ 4 của S5 là trùng với giá trị XOR của tất cả các bits đầu ra của S5 với xác suất 12/64 0,19. Nói cách khác, chúng ta sẽ có xác suất để có biểu thức tuyến tính :

( , X) ( , Y) = 0 hoặc ( , X) ( , Y) = 1

sẽ tƣơng ứng bằng (NSa / 64) hoặc bằng [1-(NSa/64], trong đó Y là ảnh của X qua phép biến đổi Sa.

Nhƣ vậy, nếu giá trị của NSa( , ) càng xa giá trị ½ thì khả năng nhận đƣợc các tƣơng quan tuyến tính thực sự giữa đầu vào và đầu ra qua hộp nén Sa càng có ý nghĩa hơn đối với thám mã.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Bây giờ, căn cứ vào (2.4) và tính đến các phép mở rộng E và hoán vị P trong hàm vòng F ta sẽ nhận đƣợc phƣơng trình tuyến tính sau đúng với xác suất 0,19 khi khóa K cố định và X ngẫu nhiên:

X[15] F(X, K)[7, 18, 24, 29] = K[22] (2.5) Trong (2.5), ta có thể thấy giá trị X[15] K[22] chính là bit đầu vào thứ tƣ của S5, còn F(X, K)[7, 18, 24, 29] chính là giá trị XOR của 4 bits đầu ra cũng của hộp S5 đó.

Bằng việc khảo sát toàn bộ 8 hộp nén của DES, phƣơng trình (2.4) là một xấp xỉ tuyến tính hiệu quả nhất đối với tất cả các hộp S, và do đó phƣơng trình (2.5) sẽ là một xấp xỉ tốt nhất của hàm vòng.

5 xấp xỉ tuyến tính tốt nhất đối với các hộp nén của DES nhƣ sau : A: X[15] F(X, K)[7, 18, 24,29] = K[22], p = 12/64; B: X[27, 28, 30, 31] F(X, K)[15] = K[42, 43, 45, 46], p = 22/64; C: X[29] F(X, K)[15] = K[44], p = 30/64; D: X[15] F(X, K)[7, 18, 24] = K[22], p = 12/64; E: X[12, 16] F(X, K)[7, 18, 24] = K[19, 23], p = 15/64.

Các xấp xỉ tuyến tính trên đây sẽ đƣợc sử dụng để tấn công DES trong từng trƣờng hợp cụ thể, ở đây chúng tôi chỉ nêu một số ví dụ minh họa cho kiểu tấn công này.

Một phần của tài liệu tìm hiểu chuẩn mật mã dữ liệu des (data encryption standard) và đánh giá độ an toàn (Trang 52 - 53)