Phương pháp mật mã hiện đại

Một phần của tài liệu Nghiên cứu bảo mật của kỹ thuật mật mã Vigenère (Trang 45)

. Xáo trộn và khuếch tán: hai tính chất mong muốn trong cấu trúc Feistel. + Xáo trộn: thống kê cấu trúc của plaintext bị loãng ra trong một phạm vi lớn.

+ Khuếch tán: đòi hỏi tạo ra quan hệ thống kê giữa plaintext và ciphertext càng phức tạp càng tốt để ngăn trở các cố gắng suy luận ra mật khóa.

A B C D E F G H I J K L M

Đây là hai thuật ngữ do Claude Shannon giới thiệu. Giả thiết rằng đối phương có kiến thức nào đó về các đặc trưng thống kê của plaintext. Ví dụ, trong một tài liệu viết bằng ngôn ngữ nào đó, phân bố tần số đối với các ký tự khác nhau có thể đã biết. Hoặc có thể có các từ hay cụm từ thường xuất hiện trong thông điệp. Nếu các thống kê này được phản ánh trong ciphertext theo cách nào đó, kẻ bẻ mã rất có thể suy luận được khóa mã hay một phần của khóa hay ít nhất là một tập khóa mà có thể chứa mật khóa chính xác. Shannon nói đến một mật mã mạnh đến mức lý tưởng, tất cả các thống kê về ciphertext là độc lập với khóa sử dụng.

Khác với việc viện cầu đến các hệ thống lý tưởng, Shannon đề nghị hai phương pháp làm sụp đổ các phân tích mã kiểu thống kê: xáo trộnkhuếch tán. Với phương pháp xáo trộn, thông tin cấu trúc của plaintext bị loãng ra trong một phạm vi thống kê lớn của plaintext. Điều này đạt được bằng cách cho mỗi giá trị số của plaintext ảnh hưởng tới giá trị của nhiều số trong ciphertext; ngược lại, mỗi giá trị số của ciphertext ảnh hưởng tới nhiều số trong plaintext. Một ví dụ về phương pháp xáo trộn là mã hóa một thông điệp gồm các ký tự M = m1, m2, m3... với một phép lấy trung bình cộng: 26 mod m y 1 i n n       = ∑ = + k i

của liên tiếp k ký tự để có một ký tự ciphertext yn. Ai cũng có thể chứng minh rằng thống kê cấu trúc của plaintext đã bị che giấu đi. Do đó, tần số ký tự trong ciphertext sẽ là gần với plaintext; các tần số chùm mẫu tự cũng sẽ gần với plaintext và v.v... Trong một khối mật mã nhị phân, phương pháp xáo trộn có thể đạt được bằng cách lặp lại việc thi hành một hoán vị nào đó trên dữ liệu theo sau bởi sự áp dụng một hàm cho hoán vị đó; và hiệu ứng là các bit từ các vị trí khác nhau trong plaintext được biến thành bit đơn trong ciphertext.

Mọi khối mật mã đều đòi hỏi sự biến đổi từ một khối plaintext thành một khối ciphertext với phép biến đổi phụ thuộc khóa. Cơ chế của sự khuếch tán đòi hỏi tạo ra quan hệ thống kê giữa plaintext và ciphertext càng phức tạp càng tốt để ngăn trở các nỗ lực suy luận ra khóa.

Theo hướng khác, sự xáo trộn cần phải tạo ra được quan hệ giữa thống kê về ciphertext và giá trị của khóa mã phức tạp nhất có thể được và cũng để ngăn cản các cố gắng tìm khóa mã. Do vậy, kể cả khi mà đối phương có được các xử lý thống kê trên ciphertext thì cách mà khóa mã được dùng để đưa ra ciphertext đó là quá phức tạp để suy luận khóa chính. Điều này đạt được nhờ việc dùng một thuật toán thay thế phức tạp. Ngược lại, một hàm thay thế tuyến tính sẽ thêm vào một ít xáo trộn. Sự thành công trong thi hành các hàm xáo trộn và khuếch tán nhằm che giấu các thông tin bản chất của plaintext sẽ là các tính chất thiết kế mong muốn của việc xây dựng các hệ thống mật mã khối hiện đại.

Ví dụ: Tính xáo trộn và khuếch tán được thể hiện trong thuât toán mật mã khối hiện đại DES. Điển hình nhất là các hộp S-Box. Năm 1948, NSA đưa ra 3 thuộc tính của hộp S những thuộc tính này đảm bảo tính xáo trộn và khuếch tán của thuật toán:

+ Các bit vào luôn phụ thuộc không tuyến tính với các bít ra. + Sửa đổi ở một bit vào làm thay đổi ít nhất là hai bít ra.

+ Khi một bit vào được giữ cố định với 5 bit còn lại cho thay đổi thì hộp S thể hiện một tính chất được gọi là “phân bố đồng nhất”: so sánh số lượng bit số 0 và 1 ở các đầu ra luôn ở mức cân bằng. Tính chất này khiến cho việc phân tích theo lí thuyết thống kê để tìm cách phá hộp S là vô ích.

Một phần của tài liệu Nghiên cứu bảo mật của kỹ thuật mật mã Vigenère (Trang 45)

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

(90 trang)
w