Режим простой замены
Режим простой замены — это метод шифрования, при котором каждый символ открытого текста заменяется на другой символ или группу символов в соответствии с фиксированным правилом (алфавитом, таблицей или ключом). Относится к классу симметричных криптосистем, где для зашифрования и расшифрования используется один и тот же ключ. Режим простой замены является исторически первой и наиболее простой формой шифрования, применяемой с древности до современности.
История
Древние шифры
Первые известные примеры режима простой замены относятся к Древнему Египту (нестандартные иероглифы в гробницах, около 1900 года до н. э.) и Древней Греции (шифр Сцитала, около V века до н. э.). Наиболее известным античным шифром является шифр Цезаря, в котором каждая буква заменялась на букву, отстоящую от неё на фиксированное число позиций в алфавите. Гай Юлий Цезарь использовал сдвиг на 3 позиции для переписки с полководцами.
Средневековье и Возрождение
В IX веке арабский учёный Аль-Кинди в «Трактате о расшифровке криптографических сообщений» описал метод частотного анализа, позволяющий взламывать шифры простой замены. В эпоху Возрождения в Европе применялись более сложные моноалфавитные шифры, например, шифр «Атбаш» (замена первой буквы алфавита на последнюю, второй — на предпоследнюю и т. д.). В XV веке Леон Баттиста Альберти предложил полиалфавитный шифр, но простые замены оставались основой для дипломатической и военной переписки до XIX века.
XX век
С развитием радиосвязи и появлением механических шифровальных машин (например, «Энигма») режим простой замены уступил место более стойким алгоритмам. Однако он продолжает использоваться в учебных целях, в криптографических головоломках и в некоторых приложениях с низкими требованиями к безопасности (например, в простых паролях или кодировании текста в играх).
Классификация
Режимы простой замены делятся на три основных типа:
Моноалфавитная замена
Каждому символу открытого текста ставится в соответствие ровно один символ шифротекста. Отображение фиксировано для всего сообщения. Примеры:
- Шифр Цезаря (сдвиг на n позиций).
- Шифр «Атбаш».
- Произвольная подстановка (случайное перемешивание алфавита).
Ключом является таблица соответствия (или правило сдвига). Количество возможных ключей для алфавита из N символов равно N! (факториал N). Для русского алфавита (33 буквы) это около 8,7×10³⁶ вариантов.
Омофоническая замена
Одному символу открытого текста может соответствовать несколько различных символов шифротекста (омофонов). Это усложняет частотный анализ, так как частоты символов выравниваются. Использовалась в шифрах XV—XVI веков (например, шифр Росиньоля) и в некоторых современных приложениях (например, в кодировании штрихкодов). Ключ включает таблицу с распределением омофонов.
Полиграммная замена
Замене подвергаются не отдельные символы, а группы символов (биграммы, триграммы). Например, шифр Плейфера (1854 год) заменяет пары букв на пары букв с использованием таблицы 5×5. Полиграммная замена более устойчива к частотному анализу, чем моноалфавитная, но требует большего размера ключа.
Устройство и принцип работы
Алгоритм зашифрования
- Выбирается алфавит открытого текста (например, 33 буквы русского языка + пробел).
- Создаётся таблица замены (ключ): каждому символу исходного алфавита ставится в соответствие символ из того же или другого алфавита. Для моноалфавитной замены это взаимно однозначное отображение.
- Исходное сообщение разбивается на символы (или группы символов для полиграммной замены).
- Каждый символ заменяется на соответствующий символ из таблицы.
- Полученная последовательность символов является шифротекстом.
Алгоритм расшифрования
Расшифрование выполняется обратной подстановкой: по таблице замены (или её обратной версии) каждый символ шифротекста заменяется на исходный символ открытого текста.
Пример (шифр Цезаря, сдвиг +3)
- Открытый текст: «ПРИВЕТ»
- Алфавит: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
- Сдвиг: каждая буква заменяется на третью после неё (П → С, Р → Т, И → К, В → Г, Е → З, Т → Ф)
- Шифротекст: «СТКГЗФ»
Криптостойкость и уязвимости
Частотный анализ
Основная уязвимость моноалфавитной замены — сохранение частотных характеристик языка. В любом естественном языке буквы встречаются с разной частотой (например, в русском языке самая частая буква — «О», затем «Е», «А», «И» и т. д.). Злоумышленник, имеющий достаточно длинный шифротекст, может сопоставить частоты символов с известными частотами букв языка и восстановить ключ. Для омофонической замены требуется больше данных, но она также уязвима при анализе биграмм и триграмм.
Атака по известному открытому тексту
Если злоумышленник знает хотя бы часть открытого текста (например, стандартное приветствие или подпись), он может восстановить соответствия для этих символов и использовать их для дешифровки остального сообщения.
Атака на основе словаря
Для коротких сообщений или сообщений на ограниченном словаре (например, военные команды) можно перебирать возможные ключи или использовать словарь часто встречающихся слов.
Современная стойкость
Режим простой замены не считается криптостойким для защиты конфиденциальной информации. Современные стандарты (AES, ГОСТ 28147-89) используют блочные шифры с многократными раундами замены и перестановки, что делает частотный анализ практически невозможным. Однако простая замена применяется в качестве одного из этапов в современных алгоритмах (например, S-блоки в AES).
Применение
Историческое
- Военная и дипломатическая переписка (до XIX века).
- Личная переписка (шифры дневников, любовные записки).
- Криптографические задачи и головоломки (например, в журналах «Наука и жизнь», «Квант»).
Современное
- Обучение криптографии в школах и вузах.
- Простейшие алгоритмы кодирования в компьютерных играх (например, квесты с шифровками).
- Создание паролей (например, замена букв на символы: «Привет» → «Privet»).
- В некоторых приложениях с низкими требованиями к безопасности (например, шифрование конфигурационных файлов в локальных программах).
В составе сложных алгоритмов
Режим простой замены используется как компонент в более сложных криптосистемах:
- S-блоки (substitution boxes) в блочных шифрах (AES, DES, «Кузнечик»).
- Подстановки в поточных шифрах (RC4, Salsa20).
- Преобразования в хеш-функциях (SHA-2, SHA-3).
Интересные факты
- В романе Эдгара По «Золотой жук» (1843) подробно описан взлом шифра простой замены с помощью частотного анализа.
- В рассказе Артура Конан Дойла «Пляшущие человечки» (1903) Шерлок Холмс расшифровывает сообщение, закодированное заменой букв на фигурки человечков.
- В СССР в 1920-х годах использовались шифры простой замены для оперативной связи, но после появления радиоперехвата они были заменены на более стойкие системы.
- Самый длинный известный шифр простой замены, взломанный с помощью частотного анализа, содержал более 10 000 символов (криптограмма «Зодиака» 1969 года, частично расшифрованная).
Критика
Основной недостаток режима простой замены — его низкая криптостойкость. Даже омофоническая и полиграммная замены не обеспечивают защиты от современных методов криптоанализа (линейный, дифференциальный). В условиях цифровой связи, где возможен перехват больших объёмов данных, использование простой замены для конфиденциальной информации недопустимо. Однако в образовательных и развлекательных целях этот метод остаётся полезным для демонстрации базовых принципов криптографии.
Источники
- Криптография: от простой замены до квантовых алгоритмов / под ред. А. В. Зеленцова. — М.: Наука, 2018.
- Шнайер Б. Прикладная криптография. — 2-е изд. — М.: Триумф, 2002.
- Сингх С. Книга шифров: тайная история шифров и их расшифровки. — М.: АСТ, 2007.
- Кан Д. Взломщики кодов. — М.: Центрполиграф, 2000.
- Алферов А. П., Зубов А. Ю., Кузьмин А. С., Черемушкин А. В. Основы криптографии. — М.: Гелиос АРВ, 2002.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →