0

Kết quả Giải mã

Affine
A
B

Kết quả Mã hóa

Affine
A
B

Về Mật mã Affine

Mật mã Affine là một dạng mật mã thay thế đơn, trong đó mỗi ký tự trong văn bản được thay thế bằng một ký tự khác.

Việc thay thế ký tự được thực hiện theo công thức sau:

E(x) = (ax + b) mod m

m biểu thị số lượng loại ký tự cần chuyển đổi. x là giá trị số của ký tự (từ 0 đến m - 1). ab là khóa mã hóa.

Ví dụ, đối với 26 chữ cái tiếng Anh "ABCDEFGHIJKLMNOPQRSTUVWXYZ", m = 26, và x tương ứng với A ~ Z là 0 ~ 25.

Ký tựABCDEFGHIJKLMNOPQRSTUVWXYZ
x012345678910111213141516171819202122232425

Nếu a = 5, b = 3, quá trình mã hóa diễn ra như sau:

Trước mã hóaSECRET
x184217419
(5x + 3)932313882398
(5x + 3) mod 26152313102320
Sau mã hóaPXNKXU

Kết quả mã hóa tất cả các chữ cái tiếng Anh với a = 5, b = 3 như sau:

Trước mã hóa : ABCDEFGHIJKLMNOPQRSTUVWXYZ
Sau mã hóa   : DINSXCHMRWBGLQVAFKPUZEJOTY

Nếu chỉ định a = 1, b = -3, kết quả sẽ giống Mật mã Caesar. Nếu chỉ định a = 1, b = 13, kết quả sẽ giống ROT13. Nếu chỉ định a = -1, b = -1, kết quả sẽ giống Mật mã Atbash.

a phải là số nguyên tố cùng nhau với m. Điều này có nghĩa là ước chung lớn nhất của am phải là 1. Ví dụ, nếu a = 4, m = 26, thì không thể sử dụng vì cả hai đều chia hết cho 2 (ngoài 1). Trong DenCode, nếu a không hợp lệ, ký tự gốc sẽ được trả về mà không chuyển đổi.

Hỗ trợ ngôn ngữ khác

Ngoài chữ Latinh, DenCode còn hỗ trợ chữ Cyrillic và chữ Kana Nhật Bản (Hiragana/Katakana).

Kết quả mã hóa với a = 5, b = 3 như sau:

Chữ Cyrillic
Trước mã hóa : АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
Sau mã hóa   : ГИНТЧЬБЖЛРХЪЯДЙОУШЭВЗМСЦЫАЕКПФЩЮ

m = 32 (32 ký tự).

Chữ Kana Nhật Bản (Hiragana/Katakana)
Trước mã hóa : ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんゔ
Sau mã hóa   : いぉぎこじそぢでぬぱぶほむゅりわゔぅおくごすぞっとねひぷぼめゆるゐぁうかぐさずたつどのびへぽもょれゑあぇがけざせだづなはぴべまゃよろをぃえきげしぜちてにばふぺみやらゎん
Trước mã hóa : ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴ
Sau mã hóa   : イォギコジソヂデヌパブホムュリワヴゥオクゴスゾットネヒプボメユルヰァウカグサズタツドノビヘポモョレヱアェガケザセダヅナハピベマャヨロヲィエキゲシゼチテニバフペミヤラヮン

Thứ tự ký tự dựa trên định nghĩa Unicode. Lưu ý rằng các ký tự "ゕ", "ゖ", "ヵ", "ヶ" và "ヷ", "ヸ", "ヹ", "ヺ" không được mã hóa.

m = 84 (84 ký tự).