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

Шифруйте и расшифровывайте текст аффинным шифром с двумя числовыми ключами: множителем a и сдвигом b. Разберитесь, как модульная арифметика создает классическую подстановку.

Входные данные
0 симв. · 0 байт
Попробовать:
Результат
✓ Моноалфавитный шифр замены ✓ Два числовых ключа: a и b ✓ Поддержка разных алфавитов ✓ Вычисления выполняются на сервере
Примеры
Шифрование с a=5 и b=8 Ключ: 5 Shift: 8
Вход АФФИННЫЙ ШИФР
Выход ЗННУЛЛПШ БУНЪ

Классический пример аффинного шифра, адаптированный для русского алфавита.

Расшифровка с a=5 и b=8 Ключ: 5 Shift: 8
Вход ЗННУЛЛПШ БУНЪ
Выход АФФИННЫЙ ШИФР

Та же пара числовых ключей восстанавливает исходный русский текст.

Другая пара ключей Ключ: 7 Shift: 3
Вход ПРИВЕТ МИР
Выход ПЦАРЕД ЫАЦ

Изменение множителя a и сдвига b создает другой алфавит подстановки.

Сохранение пробелов и знаков Ключ: 5 Shift: 8
Вход ВСТРЕЧА В 10:00!
Выход СЯДЪАЬЗ С 10:00!

Шифруются только буквы алфавита. Пробелы, числа, знаки препинания и другие символы остаются без изменений.

Как работает аффинный шифр

Аффинный шифр — классический моноалфавитный шифр замены, который преобразует каждую букву по математической формуле. Сначала буква переводится в номер, затем шифруется как E(x) = (a × x + b) mod m, где x — позиция буквы, а m — размер выбранного алфавита.

Ключ состоит из двух чисел. Множитель a меняет масштаб позиций букв, а сдвиг b перемещает результат по алфавиту. Вместе они задают фиксированный алфавит подстановки.

Для расшифровки у значения a должна существовать обратная величина по модулю. Это возможно только тогда, когда a взаимно просто с размером алфавита. Пробелы, цифры и знаки препинания сохраняются без изменений.

Ключи аффинного шифра

Аффинный шифр использует два числовых параметра: a и b. Значение a — это множитель, а b — сдвиг. Оба параметра влияют на итоговый алфавит подстановки.

Подходит не каждый множитель. Для русского алфавита из 33 букв значение a должно быть взаимно простым с 33, то есть не делиться на 3 или 11. Например, можно использовать 1, 2, 4, 5, 7, 8, 10, 13, 14, 16, 17, 19, 20, 23, 25, 26, 28, 29, 31 и 32. Если a выбрано неверно, расшифровка не сможет надежно восстановить исходный текст.

Аффинный шифр и шифр Цезаря

Шифр Цезаря использует только одну операцию: фиксированный сдвиг. Аффинный шифр расширяет эту идею, сочетая умножение и сложение по модулю размера алфавита.

Если a = 1, аффинный шифр работает как шифр Цезаря со сдвигом b. Когда a — другой допустимый множитель, схема подстановки становится менее очевидной, хотя шифр по-прежнему остается моноалфавитной заменой.

Надежность аффинного шифра

Аффинный шифр сильнее простого сдвига Цезаря, потому что у него больше возможных ключей, но по современным криптографическим меркам он все равно слаб.

Поскольку каждая буква открытого текста всегда переходит в одну и ту же букву шифртекста, шифр уязвим к частотному анализу и перебору возможных пар ключей. Сегодня он полезен прежде всего для обучения, головоломок и знакомства с модульной арифметикой в криптографии.

FAQ

Для расшифровки нужна обратная величина для a по модулю размера алфавита. Если у a и размера алфавита есть общий делитель, обратной величины не существует, и несколько букв могут перейти в одну и ту же букву шифртекста.

Значение a — это множитель, а b — сдвиг. Вместе они задают математическое преобразование, по которому заменяется каждая буква.

Если a не взаимно просто с размером алфавита, несколько букв могут шифроваться одинаково. В таком случае расшифровка становится неоднозначной или невозможной.

Нет. Шифр Цезаря использует только фиксированный сдвиг, а аффинный шифр использует и умножение, и сложение. При этом Цезарь является частным случаем аффинного шифра при a = 1.

Нет. Это исторический шифр, который можно взломать частотным анализом или перебором ключей. Лучше всего он подходит для обучения, задач и демонстраций.

Нет. В этом инструменте преобразуются только буквы выбранного алфавита. Пробелы, числа, знаки препинания и другие символы остаются без изменений.
Связанные инструменты

Шифр Цезаря

Классический шифр со сдвигом букв и настраиваемым значением сдвига.

Шифр Плейфера

Классический биграммный шифр замены с шифрованием по ключевой матрице.

Шифр Бофора

Классический взаимный шифр на основе ключевого слова.

Шифр Гронсфельда

Классический шифр в стиле Виженера, использующий числовой ключ.

Шифр Виженера

Многоалфавитное шифрование и расшифрование с ключевым словом.

Шифр Вернама

Шифрование по Вернаму на основе XOR с выводом в Base64.