Перейти к содержанию
TextArray
100% локально

Аффинный шифр

Зашифруйте текст с помощью аффинного шифра — линейного математического шифрования, основанного на модульной арифметике.

Входные данные
Выходные данные

Аффинный шифр

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

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

Вставьте открытый текст и выберите «Кодировать», чтобы зашифровать его, или вставьте зашифрованный текст и выберите «Декодировать», чтобы восстановить оригинал. Множитель управляет тем, как зашифровываются буквы, а смещение впоследствии их сдвигает. Заглавные и небуквенные символы проходят без изменений. Все работает в вашем браузере, поэтому ваш текст и ключи никогда не покидают ваше устройство. Живой подсчет показывает, сколько букв было преобразовано, а также общее количество символов.

FAQ

Что такое аффинный шифр?
Аффинный шифр — это шифр замены, в котором каждая буква шифруется с помощью линейного преобразования: E(x) = (a*x + b) mod 26. Он сочетает в себе умножение и сложение для скремблирования текста, предлагая больше разнообразия, чем простой сдвиг Цезаря.
Почему число a должно быть взаимно простым с числом 26?
Чтобы дешифрование работало, множитель a должен иметь модульный мультипликативный обратный по модулю 26. Это существует только в том случае, если a и 26 не имеют общих делителей, то есть они взаимно просты. Допустимые значения: 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25.
Как расшифровать сообщение?
Переключите режим на декодирование, введите те же значения a и b, которые использовались для шифрования, и вставьте зашифрованный текст. Инструмент вычисляет модульное обратное преобразование a и отменяет преобразование: D(y) = a_inv * (y - b) mod 26.
Безопасен ли аффинный шифр?
Нет. Имея всего 312 возможных ключей, он уязвим для атак методом перебора и частотного анализа. Он подходит для решения головоломок и обучения криптографии, но не для защиты конфиденциальной информации.
Мой текст где-нибудь загружен?
Нет. Шифрование и дешифрование полностью выполняются в вашем браузере. Ваш текст и ключи никогда не отправляются на сервер.