Mật mã Affine

Bách khoa toàn thư mở Wikipedia
Bước tới: menu, tìm kiếm

Mật mã afin là một dạng mật mã thay thế dùng một bảng chữ cái, trong đó mỗi chữ cái được ánh xạ tới một số sau đó mã hóa qua một hàm số toán học đơn giản. Một phép dịch Caesar là mật mã Afin, trong đó các chữ cái được mã hóa với hàm (x+b)\mod(26), với b là bước dịch.

Mô tả[sửa | sửa mã nguồn]

Trong mật mã Afin, đầu tiên bảng chữ cái của thông điệp cần mã hóa có kích thước m sẽ được chuyển thành các con số tự nhiên từ 0 .. m-1. Sau đó dùng một hàm mô đun để mã hóa và chuyển thành bản mã.

Hàm mã hóa cho một ký tự như sau:

\mbox{E}(x)=(ax+b)\mod{m},

Với m là kích thước của bảng chữ cái, ab là khóa mã. Giá trị a được chọn sao cho am là nguyên tố cùng nhau. Hàm giải mã là

\mbox{D}(x)=a^{-1}(x-b)\mod{m},

với a^{-1}nghịch đảo của a theo mô đun m. Tức là

1 = a a^{-1}\mod{m}.

Nghịch đảo mô đun của a chỉ tồn tại nếu am là nguyên tố cùng nhau. Hàm giải mã là hàm ngược của hàm mã hóa:

\begin{align}
\mbox{D}(\mbox{E}(x)) &= a^{-1}(\mbox{E}(x)-b)\mod{m}\\
  &= a^{-1}(((ax+b)\mod{m})-b)\mod{m} \\
  &= a^{-1}(ax+b-b)\mod{m} \\
  &= a^{-1}ax \mod{m}\\
  &= x\mod{m}.
\end{align}

Đọc thêm[sửa | sửa mã nguồn]

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


Mật mã cổ điển
Mật mã: ADFGVX | Affine | Atbash | Khóa tự động | Hai chiều | Sách | Caesar | Dvorak | Bốn hình vuông | Hill | Chuyển vị | Chuồng heo | Playfair | Đa ký tự | Reihenschieber | Khóa di động | Thay thế | Dịch chuyển | Ba chiều | Hai hình vuông | Vigenère
Phân tích mã: Phân tích tần suất | Chỉ số trùng hợp | Phép thử Kasiski
Linh tinh: Mật mã | Bảng Polybius | Gậy | bảng kiểm tra Straddling | Tabula recta