0

디코딩 결과

아핀 암호
A
B

인코딩 결과

아핀 암호
A
B

아핀 암호에 대해서

아핀 암호는 문장의 문자를 다른 문자로 치환하여 암호화하는 단일 환자 암호 중 하나입니다.

문자 치환은 다음의 계산식에 따라 수행합니다.

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

m은 변환할 문자의 종류를 나타냅니다. x는 문자를 0부터 m - 1까지의 숫자로 치환한 것입니다. ab가 암호화 키입니다.

예를 들어, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'의 26문자 영문자의 경우, m = 26, x는 A ~ Z를 숫자로 치환한 0 ~ 25가 됩니다.

문자ABCDEFGHIJKLMNOPQRSTUVWXYZ
x012345678910111213141516171819202122232425

a = 5, b = 3으로 한 경우는 다음과 같은 흐름으로 암호화됩니다.

암호화 전SECRET
x184217419
(5x + 3)932313882398
(5x + 3) mod 26152313102320
암호화 후PXNKXU

a = 5, b = 3으로 모든 영문자를 암호화한 결과는 다음과 같습니다.

암호화 전 : ABCDEFGHIJKLMNOPQRSTUVWXYZ
암호화 후 : DINSXCHMRWBGLQVAFKPUZEJOTY

a = 1, b = -3을 지정하면 시저 암호, a = 1, b = 13을 지정하면 ROT13, a = -1, b = -1을 지정하면 아바쉬 암호와 같은 결과를 얻을 수 있습니다.

am과 서로소(Coprime)인 수치를 지정해야 합니다. 이는 am을 나눌 수 있는 수치가 1뿐이어야 한다는 것을 의미합니다. 예를 들어 a = 4, m = 26인 경우는 1 이외에 2로도 나누어지기 때문에 지정할 수 없습니다. DenCode에서는 무효한 a가 지정된 경우 원래의 문자를 변환하지 않고 그대로 반환합니다.

기타 언어 지원

라틴 문자 외에 키릴 문자, 일본어 히라가나/가타카나를 지원하고 있습니다.

a = 5, b = 3으로 암호화한 결과는 각각 다음과 같습니다.

키릴 문자
암호화 전 : АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
암호화 후 : ГИНТЧЬБЖЛРХЪЯДЙОУШЭВЗМСЦЫАЕКПФЩЮ

m = 32 (32문자)입니다.

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

문자 순서는 Unicode 정의 순서입니다. 'ゕ', 'ゖ', 'ヵ', 'ヶ'나 'ヷ', 'ヸ', 'ヹ', 'ヺ'는 암호화 대상이 아닌 점에 주의해 주세요.

m = 84 (84문자)입니다.