Vietebooks Nguyn Hong Cng Trang 36 Xét thấy rằng, nếu độ dịch tơng đối khác 0 thì các ớc lợng này thay đổi trong khoảng từ 0.031 đến 0,045; ngợc lại nếu độ dịch tơng đối bằng 0 thì ớc lợng bằng 0,065. Có thể dùng nhận xét này để tạo nên một phỏng đoán thích hợp cho l = k i -k j (độ dịch tơng đối của y i và y j ) nh sau: Giả sử cố định y i và xét việc mã hoá y j bảng e 0 ,e 1 ,e 2 . . . Ta kí hiệu các kết quả bằng y j 0 ,y j 1 ,. . . Dễ dàng dùng các chỉ số MI c (y i ,y j g ), 0 g 25 theo công thức sau: Khi g = l thì MI c phải gần với giá trị 0,065 vì độ dịch tơng đối của y i và y j bằng 0. Tuy nhiên, với các giá trị g l thì MI c sẽ thay đổi giữa 0,031 và 0,045. Bằng kỹ thuật này, có thể thu đợc các độ dịch tơng đối của hai xâu con y i bất kỳ. Vấn đề còn lại chỉ là 26 từ khoá có thể và điều này dễ dàng tìm đợc bằng phơng pháp tìm kiếm vét cạn. Trở lại ví dụ 1.11 để minh hoạ. Ví dụ 1.11( tiếp ): ở trên đã giả định rằng, độ dài từ khoá là 5. Bây giờ ta sẽ thử tính các độ dịch tơng đối. Nhờ máy tính, dễ dàng tính 260 giá trị MI c (y i ,y j g ), trong đó 1 i j 5; 0 g 25. Các giá trị này đợc cho trên bảng 1.5. Với mỗi cặp ( i,j), ta tìm các giá trị của MI c (y i ,y j g ) nào gần với 0,065. Nếu có một giá trị duy nhất nh vậy( Đối với mỗi cặp (i,j) cho trớc), thì có thể phán đoán đó chính là giá trị độ dịch tơng đối. Trong bảng 1.5 có 6 giá trị nh vậy đợc đóng khung. Chúng chứng tỏ khá rõ ràng là độ dịch tơng đối của y 1 và y 2 bằng 9; độ dịch tơng đối của y 2 và y 3 bằng 13; độ dịch tơng đối của y 2 và y 5 bằng 7; độ dịch tơng đối của y 3 và y 5 bằng 20; của y 4 và y 5 bằng 11. Từ đây có các phơng trình theo 5 ẩn số K 1 , K 2 , K 3 , K 4 , K 5 nh sau: K 1 - K 2 = 9 K 1 - K 2 = 16 K 2 - K 3 = 13 K 2 - K 5 = 17 K 3 - K 5 = 20 K 4 - K 5 = 11 'n.n 'ff )y,x(MI i gii g c = = 25 0 Vietebooks Nguyn Hong Cng Trang 37 Điều này cho phép biểu thị các K i theo K 1 ; K 2 = K 1 + 17 K 3 = K 1 + 4 K 4 = K 1 + 21 K 5 = K 1 + 10 Nh vậy khoá có khả năng là ( K 1 , K 1 +17, K 1 +4, K 1 +21, K 1 +10) với giá trị K 1 nào đó Z 26 . Từ đây ta hy vọng rằng, từ khoá là một dịch vòng nào đó của AREVK. Bây giờ , không tốn nhiều công sức lắm cũng có thể xác định đợc từ khoá là JANET. Giải mã bản mã theo khoá này, ta thu đợc bản rõ sau: The almond tree was in tentative blossom. The days were longer often ending with magnificient evenings of corrugated pink skies. The hunting seasun was over, with hounds and guns put away for six months. The vineyards were busy again as the well-organized farmers treated their vinesand the more lackadaisical neighbors hurried to do the pruning they have done in November. Bảng 1.5. Các chỉ số trùng hợp tơng hỗ quan sát đợc. i j Giá trị của MI c (y j ,y j g ) 1 2 0,028 0,027 0,028 0,034 0,039 0,037 0,026 0,025 0,052 0,068 0,044 0,026 0,037 0,043 0,037 0,043 0,037 0,028 0,041 0,041 0,041 0,034 0,037 0,051 0,045 0,042 0,036 1 3 0,039 0,033 0,040 0,034 0,028 0,053 0,048 0,033 0,029 0,056 0,050 0,045 0,039 0,040 0,036 0,037 0,032 0,027 0,037 0,047 0,032 0,027 0,039 0,037 0,039 0,035 1 4 0,034 0,043 0,025 0,027 0,038 0,049 0,040 0,032 0,029 0,034 0,039 0,044 0,044 0,034 0,039 0,045 0,044 0,037 0,055 0,047 0,032 0,027 0,039 0,037 0,039 0,035 1 5 0,043 0,033 0,028 0,046 0,043 0,044 0,039 0,031 0,026 0,030 0,036 0,040 0,041 0,024 0,019 0,048 0,070 0,044 0,028 0,038 0,044 0,043 0,047 0,033 0,026 2 3 0,046 0,048 0,041 0,032 0,036 0,035 0,036 0,020 0,024 0,039 0,034 0,029 0,040 0,067 0,061 0,033 0,037 0,045 0,033 0,033 0,027 0,033 0,045 0,052 0,042 0,030 2 4 0,046 0,034 0,043 0,044 0,034 0,031 0,040 0,045 0,040 0,048 0,044 0,033 0,024 0,028 0,042 0,039 0,026 0,034 0,050 0,035 0,032 0,040 0,056 0,043 0,028 0,028 2 5 0,033 0,033 0,036 0,046 0,026 0,018 0,043 0,080 0,050 0,029 0,031 0,045 0,039 0,037 0,027 0,026 0,031 0,039 0,040 0,037 0,041 0,046 0,045 0,043 0,035 0,030 3 4 0,038 0,036 0,040 0,033 0,036 0,060 0,035 0,041 0,029 0,058 0,035 0,035 0,034 0,053 0,030 0,032 0,035 0,036 0,036 0,028 0,043 0,032 0,051 0,032 0,034 0,030 3 5 0,035 0,038 0,034 0,036 0,030 0,043 0,043 0,050 0,025 0,041 0,051 0,050 0,035 0,032 0,033 0,033 0,052 0,031 0,027 0,030 0,072 0,035 0,034 0,032 0,043 0,027 4 5 0,052 0,038 0,033 0,038 0,041 0,043 0,037 0,048 0,028 0,028 0,036 0,061 0,033 0,033 0,032 0,052 0,034 0,027 0,039 0,043 0,033 0,027 0,030 0,039 0,048 0,035 Vietebooks Nguyn Hong Cng Trang 38 1.2.4.Tấn công với bản rõ đ biết trên hệ mật Hill. Hệ mã Hill là một hệ mật khó pha hơn nếu tấn công chỉ với bản mã. Tuy nhiên hệ mật này dễ bị phá nếu tấn công bằng bản rõ đã biết. Trớc tiên, giả sử rằng, thám mã đã biết đợc giá trị m đang sử dụng. Giả sử thám mã có ít nhất m cặp véc tơ khác nhau xj = (x 1,j , x 2,j , , . . ., x m,j ) và y j = (y 1,j , y 2,j , ,y m,j ) (1 j m) sao cho y j = e K (x j ), 1 j m. Nếu xác định hai ma trận: X = (x i,j ) Y = (y i,j ) cấp mìm thì ta có phơng trình ma trận Y = XK, trong đó ma trận K cấp mìm là khoá cha biết. Với điều kiện ma trận Y là khả nghịch. Oscar có thể tính K = X -1 Y và nhờ vậy phá đợc hệ mật. ( Nếu Y không khả nghịch thì cấn phải thử các tập khác gồm m cặp rõ - mã). Ví dụ 1.12. Giả sử bản rõ Friday đợc mã hoá bằng mã Hill với m = 2, bản mã nhận đợc là PQCFKU. Ta có e K (5,17) = (15,16), e K (8,3) = (2,5) và e K (0,24) = (10,20). Từ hai cặp rõ - mã đầu tiên, ta nhận đợc phơng trình ma trận: Dùng định lý 1.3, dễ dàng tính đợc: Bởi vậy: Ta có thể dùng cặp rõ - mã thứ 3 để kiểm tra kết quả này. Vấn đề ở đây là thám mã phải làm gì nếu không biết m?. Giả sử rằng m không quá lớn, khi đó thám má có thể thử với m = 2,3,. . . cho tới khi tìm đợc khoá. Nếu một giá trị giả định của m không đúng thì mà trận mìm tìm đợc theo thuật toán đã mô tả ở trên sẽ không tơng thích với các cặp rõ - mã khác. Phơng pháp này, có thể xác định giá trị m nếu cha biết. 1.2.5. Thám m hệ m dòng xây dựng trên LFSR. K = 3 8 17 5 5 2 16 15 = 15 2 1 9 3 8 17 5 1 = = 3 8 19 7 5 2 16 15 15 2 1 9 K Vietebooks Nguyn Hong Cng Trang 39 Ta nhớ lại rằng, bản mã là tổng theo modulo 2 của bản rõ và dòng khoá, tức y i = x i + z i mod 2. Dòng khóa đợc tạo từ (z 1 ,z 2 ,. . .,z m ) theo quạn hệ đệ quy tuyến tính: trong đó c 0 ,. . .,c m Z 2 (và c 0 = 1) Vì tất cả các phép toán này là tyuến tính nên có thể hy vọng rằng, hệ mật này có thể bị phá theo phơng pháp tấn công với bản rõ đã biết nh trờng hợp mật mã Hill. Giả sử rằng, Oscar có một xâu bản rõ x 1 x 2 . . .x n và xâu bản mã tơng ứng y 1 y 2 . . .y n . Sau đó anh ta tính các bít dòng khoá z i = x i +y i mod 2, 1 i n. Ta cũng giả thiết rằng Oscar cũng đã biết giá trị của m. Khi đó Oscar chỉ cần tính c 0 , . . ., c m-1 để có thể tái tạo lại toàn bộ dòng khoá. Nói cách khác, Oscar cần phải có khả năng để xác định các giá trị của m ẩn số. Với i 1 bất kì ta có : là một phơng trình tuyến tính n ẩn. Nếu n 2n thì có m phơng trình tuyến tính m ẩn có thể giải đợc. Hệ m phơng trình tuyến tính có thể viết dới dạng ma trận nh sau: Nếu ma trận hệ số có nghịch đảo ( theo modulo 2 )thì ta nhận đợc nghiệm: Trên thực tế, ma trận sẽ có nghịch đảo nếu bậc của phép đệ quy đợc dùng để tạo dòng khoá là m.(xem bài tập). Minh hoạ điều này qua một ví dụ. Ví dụ 1.13. 2 1 1 0 1 modzcz i m j jm + = + = 2 1 0 1 modzcz ji m j jm + = + = ()() = + + ++ z . . . z z . . . . . z . . . z z z . . . z 1-2m1mm 1m32 m21 110221 . z c, ,c,cz, ,z,z mmmm ()( ) 1 1-2m1mm 1m32 m21 221110 z . . . z z . . . . . z . . . z z z . . . z + + ++ = . z z, ,z,zc, ,c,c mmmm Vietebooks Nguyn Hong Cng Trang 40 Giả sử Oscar thu đợc xâu bản mã 101101011110010 tơng ứng với xâu bản rõ 011001111111001 Khi đó anh ta có thể tính đợc các bít của dòng khoá: 110100100001010 Ta cũng giả sử rằng, Oscar biết dòng khoá đợc tạo từ một thanh ghi dịch phản hồi (LFSR) có 5 tầng. Khi đó, anh ta sẽ giải phơng trình mà trận sau ( nhận đợc từ 10 bít đầu tiên của dòng khoá): Có thể kiểm tra đợc rằng: Từ đó ta có: = (1, 0, 0, 1, 0) Nh vậy phép đệ quy đợc dùng để tạo dòng khoá là: z i+5 = z i + z i+3 mod 2 1.3. Các chú giải v ti liệu dẫn Nhiều tài liệu về mật mã cổ điển đã có trong các giáo trình, chẳng hạn nh giáo trình của Beker và Piper [BP82] và Denning [DE82]. Xác suất đánh ()( ) = 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 1 0 1 0 1 1 00010 43210 c,c,c,c,c,,,, = 0 1 1 0 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 1 0 1 0 1 1 1 ()() = 0 1 1 0 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 1 0 00010 43210 ,,,,c,c,c,c,c . giải v ti liệu dẫn Nhiều tài liệu về mật mã cổ điển đã có trong các giáo trình, chẳng hạn nh giáo trình của Beker và Piper [BP82] và Denning [DE82]. Xác suất đánh ()( ) = 0. biết trên hệ mật Hill. Hệ mã Hill là một hệ mật khó pha hơn nếu tấn công chỉ với bản mã. Tuy nhiên hệ mật này dễ bị phá nếu tấn công bằng bản rõ đã biết. Trớc tiên, giả sử rằng, thám mã đã biết. dịch tơng đối của y 1 và y 2 bằng 9; độ dịch tơng đối của y 2 và y 3 bằng 13; độ dịch tơng đối của y 2 và y 5 bằng 7; độ dịch tơng đối của y 3 và y 5 bằng 20; của y 4 và y 5 bằng 11.