Введение

Тип шифра подстановки. Аффинный шифр — это тип моноалфавитного шифра подстановки, в котором каждая буква алфавита сопоставляется с её числовым эквивалентом, шифруется с помощью простой математической функции и затем преобразуется обратно в букву. Используемая формула означает, что каждая буква шифруется в другую букву и обратно, то есть шифр, по сути, является стандартным шифром подстановки с правилом, определяющим соответствие между буквами. Следовательно, он обладает всеми недостатками шифров подстановки. Каждая буква шифруется функцией (ax + b) mod 26, где b — величина сдвига.

Слабые стороны

Поскольку аффинный шифр по-прежнему является моноалфавитным шифром подстановки, он наследует слабости этого класса шифров. Шифр Цезаря является аффинным шифром с a = 1, поскольку функция шифрования сводится к простому линейному сдвигу. Шифр Атбаш использует a = −1. Рассматривая конкретный случай шифрования сообщений на английском языке (то есть m = 26), существует в общей сложности 286 нетривиальных аффинных шифров, не считая 26 тривиальных шифров Цезаря. Это число обусловлено тем, что существует 12 чисел, взаимно простых с 26 и меньших 26 (это возможные значения a). Каждое значение a может иметь 26 различных сдвигов прибавления (значение b); следовательно, существует 12 × 26, то есть 312 возможных ключей. Это ограниченное разнообразие делает систему крайне небезопасной, если рассматривать её в свете принципа Керкхоффса. Основная слабость шифра заключается в том, что если криптоаналитику удаётся определить (с помощью частотного анализа, перебора, угадывания или иным способом) открытый текст двух символов шифротекста, то ключ можно получить, решив систему уравнений. Поскольку мы знаем, что a и m взаимно просты, это можно использовать для быстрого отбрасывания множества "неверных" ключей в автоматизированной системе. Тот же тип преобразования, который используется в аффинных шифрах, применяется в линейных конгруэнтных генераторах – типе генераторов псевдослучайных чисел. Этот генератор не является криптографически стойким генератором псевдослучайных чисел по той же причине, что и аффинный шифр не является безопасным.