Азбука шпионов: Шифр простой замены
Шифр простой замены (Monoalphabetic Substitution Cipher) — это дедушка всех современных криптосистем. Идея элементарна: мы меняем каждую букву алфавита на какую-то другую. 'А' становится 'Я', 'Б' становится 'Ю', и так далее.
Ключ к шифру — это перемешанный алфавит. Количество возможных ключей для русского языка составляет 33! (факториал 33), что является астрономическим числом. Казалось бы, перебрать их все невозможно даже на суперкомпьютере. Так почему же этот шифр считается слабым?
Ахиллесова пята: Частотный анализ
В любом языке одни буквы встречаются чаще других. В русском языке буква "О" встречается примерно в 11% случаев, "Е" — в 8%, а "Ф" — меньше чем в 0.2%.
Как бы вы ни перемешивали буквы, если вы замените "О" на "Z", то в зашифрованном тексте "Z" будет встречаться так же часто (11%). Криптоаналитик просто подсчитает частоту букв в шифротексте и сопоставит их с эталонной частотой языка.
- Самые частые: О, Е, А, И, Н, Т, С.
- Средние: Р, В, Л, К, М, Д, П.
- Редкие: Щ, Ц, Ю, Ф, Э, Ъ.
Исторические примеры
"Пляшущие человечки"
В знаменитом рассказе Артура Конан Дойла Шерлок Холмс взламывает именно шифр простой замены, где вместо букв используются забавные рисунки человечков. Он заметил, что одна фигурка встречается чаще всего — и предположил, что это буква "E" (самая частая в английском).
"Золотой жук" Эдгара По
Это классический учебник по частотному анализу, замаскированный под художественную литературу. Главный герой находит сокровища, расшифровав пергамент пирата Кидда.
Усложненные версии
Чтобы защититься от частотного анализа, придумали:
- Омофоны: Частые буквы заменяются не на один символ, а на несколько разных (например, 'О' = 5, 12, 33).
- Полиалфавитные шифры: Алфавит замены меняется после каждой буквы (см. Шифр Виженера).