Mật mã Affine

Từ testwiki
Bước tới điều hướng Bước tới tìm kiếm

Bản mẫu:Chú thích trong bàiMật mã Affine 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 (ax+b)mod(26), với b là bước dịch.

Mô tả

Trong mật mã Affine, đầ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..m1. 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:

E(x)=(ax+b)modm,

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à

D(x)=a1(xb)modm,

với a1nghịch đảo của a theo mô đun m. Tức là

1=aa1modm.

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:

D(E(x))=a1(E(x)b)modm=a1(((ax+b)modm)b)modm=a1(ax+bb)modm=a1axmodm=xmodm.

Đọc thêm

Tham khảo

Bản mẫu:Tham khảo

Bản mẫu:Mật mã cổ điển

Bản mẫu:Sơ khai