UTILS.
100% в браузере
✖️

Аффинный шифр — кодировщик / декодировщик

Моноалфавитный шифр по формуле E(x)=(a·x+b) mod 26 с проверкой ключа (gcd(a,26)=1) и декодированием через модульное обратное. Мгновенно кодируйте или декодируйте буквы.

Ключ a должен быть взаимно прост с 26: 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 или 25.

— результат появится здесь —

Об этом инструменте

Аффинный шифр (кодировщик / декодировщик) — это бесплатный браузерный инструмент для моноалфавитного шифра, построенного на модульной арифметике. Буквы A–Z нумеруются 0–25, и каждая преобразуется линейной функцией E(x) = (a·x + b) mod 26, где a и b — два значения ключа. Декодирование обращает это через D(y) = a⁻¹·(y − b) mod 26, где a⁻¹ — модульное мультипликативное обратное числа a по модулю 26.

Чтобы шифр был обратимым, множитель a должен быть взаимно прост с 26 — то есть gcd(a, 26) = 1. Двенадцать допустимых значений: 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 и 25; любое другое значение отобразило бы две разные буквы в один и тот же результат и не может быть декодировано, поэтому инструмент отклоняет его с понятным сообщением. Аддитивный ключ b может быть любым значением 0–25. Всё вычисляется локально в вашем браузере, поэтому ничего из введённого не покидает ваше устройство.

Регистр сохраняется, а не-буквы проходят без изменений. Аффинный шифр обобщает более простые классические шифры: при a = 1 он сводится к сдвигу Цезаря на b, а при a = 25, b = 25 воспроизводит шифр Атбаш. Он является основой курсов дискретной математики и теории чисел, потому что делает конкретными идеи взаимной простоты и модульных обратных, и он регулярно появляется в CTF-головоломках и инструментах вроде CyberChef.

Часто задаваемые вопросы

Какова формула аффинного шифра?
Кодирование — E(x) = (a·x + b) mod 26, а декодирование — D(y) = a⁻¹·(y − b) mod 26, где буквы нумеруются 0–25. Здесь a⁻¹ — модульное мультипликативное обратное числа a по модулю 26.
Какие значения a допустимы?
Только значения, взаимно простые с 26, т. е. gcd(a, 26) = 1: это 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 или 25. Другие значения делают шифр необратимым, поэтому инструмент их отклоняет.
Как выполняется декодирование?
Ему нужно модульное обратное a⁻¹ числа a по модулю 26 — число, для которого a·a⁻¹ ≡ 1 (mod 26). Инструмент находит его автоматически, затем применяет D(y) = a⁻¹·(y − b) mod 26 к каждой букве.
Как он связан с Цезарем и Атбашем?
Он обобщает оба. При a = 1 аффинный шифр становится сдвигом Цезаря на b, а при a = 25, b = 25 воспроизводит шифр Атбаш. Это линейная форма моноалфавитной подстановки.

Больше инструментов