Mật mã Hill

Bách khoa toàn thư mở Wikipedia

Mật Mã Hill được đề xuất bởi Lester.S.Hill năm 1929. Mã cũng được thực hiện trên từng bộ m ký tự. mỗi ký tự trong bản mã một tổ hợp tuyến tính (trên vành Z26) của m ký tự trong bản rõ. Khoá sẽ được cho bởi một ma trận cấp m, tức nó là một phần tử của Z26mxm.

Định nghĩa[sửa | sửa mã nguồn]

Mã Hill là bộ (P, C, K, E, D), thỏa mãn: • P = C = Z26m, với m là một số nguyên dương. • K = {k Z26m x m | (|k|, m) = 1}.

k = K. Ta định nghĩa:

Khoá lập mã: ek(x1, x2, …, xm) = (x1, x2, …, xm).k Khoá giải mã: dk(y1, y2, …, ym) = (y1, y2, …, ym).k-1

Ví dụ[sửa | sửa mã nguồn]

m = 2; k =  |k| = 1 (mod 26) vì thế k-1 =

Với các bộ 2 ký tự (x1, x2) ta có thể mã hoá theo công thức sau: (y1, y2) = (x1, x2).k = (x1, x2). = (11x1 + 3x2, 8x1 + 7x2) Khoá giải mã sẽ là: (x1, x2) = (y1, y2).k-1 = (y1, y2). = (7y1 + 23y2, 18y1 + 11y2) Nhận xét: 1. Số lượng khoá không có công thức tường minh để tính. 2. Nếu biết m cũng có thể dễ dàng dùng máy tính để giải mã.

Phân tích mã[sửa | sửa mã nguồn]


Tham khảo[sửa | sửa mã nguồn]