0

Декодировано

Аффинный
A
B

Закодировано

Аффинный
A
B

Об аффинных шифрах

Шифр аффинных - это один из кодов единственного типа транслитерации, который шифрует, заменяя символы в тексте другими символами.

Замена символов выполняется по следующей формуле.

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

m представляет тип символа для преобразования. x — буква, замененная цифрой от 0 до m — 1. a и b — ключи шифрования.

Например, для 26 буквенных символов «ABCDEFGHIJKLMNOPQRSTUVWXYZ» m = 26, x — от 0 до 25 с заменой чисел от A до Z.

Письмо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 дает тот же результат, что и шифр Атбаша.

a должен указывать число, взаимно простое с m . Это означает, что единственное число, которое делит a и m, должно быть 1. Например, a = 4, m = 26 нельзя указать, потому что оно делится на 2 так же, как и на 1. В DenCode, если задан недопустимый a , он возвращает исходный символ без преобразования.

Поддержка других языков

Помимо латинских букв поддерживаются кириллица и японская хирагана/катакана.

Результаты шифрования с a = 5 и b = 3 следующие.

Кириллица
Исходный алфавит: АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
Шифрованный     : ГИНТЧЬБЖЛРХЪЯДЙОУШЭВЗМСЦЫАЕКПФЩЮ

m = 32 (32 символа).

Японская хирагана/катакана

При сдвиге японской хираганы/катаканы на -3 символа шифруется следующим образом.

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

Порядок символов соответствует порядку определения Unicode. Обратите внимание, что "ゕ", "ゖ", "ヵ", "ヶ", "ヷ", "ヸ", "ヹ" и "ヺ" не подлежат шифрованию.

m = 84 (84 символа).