Ранее: История криптографии: от стеганографии до сложных алгоритмов. Часть II

Фрамгент из фильм

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

Из прошлой части мы выяснили, что полиалфавитный шифр – это последовательность многих моноалфавитных шифров. И одним из наиболее известных полиалфавитов является шифр Виженера. В нём для зашифровывания текста используется какое-либо слово (фраза, текст), и стойкость итогового сообщения зависит исключительно от длины ключа. Приведём пример использования этого шифра:
В качестве примера возьмём кодовое слово – КАРТА, а текст:

Был яркий холодный апрельский день.

Первым делом необходимо убрать все пунктуационные знаки и пробелы в предложении, после удаления должен получиться такой текст:

Быляркийхолодныйапрельскийдень

После, к каждой букве текста мы сопоставляем каждую букву нашего ключа:

123123123-1
Проверка описания

Сам шифротекст мы получаем путём поочерёдной замены каждой буквы в тексте. Буква «К» является двенадцатой по счёту в алфавите, и под ней находящаяся буква «Б» является второй буквой по счёту. Зашифрованный символ – номер буквы их суммы (12+2=14, буква «М» – четырнадцатая по счёту).

c6cb274ec0849b953d2a1-1

И после всех действий из данного текста мы получаем полностью нечитабельный текст, который к тому же не поддаётся привычному частотному анализу и не очень лёгок во взломе.
Для удобства можно использовать квадрат Виженера, где показаны все варианты смещения.

919b7d0015606f8e6a122

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

Всё это привело к тому, что криптоаналитики начали искать некий компромисс, между стойкостью шифра и его простотой в использовании.

Для военной связи требовались скорость и простота, а в дипломатических учреждениях ежедневно отправляли и получали сотни сообщений, поэтому время имело существенное значение.

Омофонический шифр

Именно этот шифр и стал тем компромиссом между стойкостью и простотой. Основной идеей омофонического шифра было использование нескольких символов (цифр, иероглифов) для одной буквы, чтобы не допустить нахождения самого частовстречающегося символа и проведения дальнейшего анализа текста. К примеру частота появлений буквы «О» в русском тексте составляется 9-11%, а это значит, что для этой буквы будет около 9-11 разных символов.
В итогом сообщении, нам необходимо добиться равного распределения всех символов, чтобы они имели одинаковую частоту появлений в тексте (примерно 1-2%)

411e49587ba28bb0441a7-1

Вариант использования омофонического шифра:
Необходимо зашифровать слово АНАНАС, в этом слове есть несколько повторяющихся букв, и будет показан принцип поочерёдной замены. Для этого воспользуемся таблицей сверху, где первая строчка показывает частоту появлений буквы в обычном тексте, и ниже приведены варианты её замены. Чем чаще встречается буква, тем больше вариаций необходимо.
125 (А) 336 (Н) 854 (А) 905 (Н) 981 (А) 291 (С)
Каждый раз, когда начинает повторяться буква, необходимо брать следующее значение из таблицы. После всех преобразований получился набор чисел, который не имеет одинаковых значений:
125 336 854 905 981 291

fa84c4ea90167ec79ce90-1

Криптоанализ

Однако, если этот шифр и скрывает частоту появлений букв, то он не скрывает особенности языка. Каждая буква в тексте связана определённым образом с другими буквами, например в английском языке после «Q» всегда идёт «U» (кроме названий объектов, имён и т.д.), и по такой цепочке можно постепенно начать расшифровывать весь текст.

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

Исторический пример

a7808f7f3d991b5978f35

Антуан и Бонавентур Россиньоли – выдающиеся французские криптографы, служившие Людовику XIII и Людовику XIV, и авторы «Великого шифра» – одного из самых сложных для дешифровки и криптоанализа шифра, со множеством "ловушек". «Великий шифр» использовался исключительно для передачи самых секретных сообщений, планов, замыслов и многих других политических деталей.

К сожалению, после смерти авторов, такой шифр перестал использоваться, так как все сведения для расшифровки были утеряны, но его надёжность и стойкость смогла противостоять усилиям всех криптографов и криптоаналитиков ещё два столетия. За основу шифра Антуан и Бонавентур взяли омофонический шифр, но вместо 10-20 вариантов, Россиньоли использовали тысячи чисел, многие из которых были "ловушками" или пустышками. Только 587 чисел были уникальными и несли какую-либо информацию.

Однако абсолютная устойчивость не могла сохраняться долгое время, и уже в конце XIX века, выдающемуся французскому криптографу Этьену Базери за три года удалось взломать и прочесть содержимое «Великого шифра». Кроме этого, ему удалось узнать реальную историю человека в железной маске, настолько скрытую тайну, которая завораживала многих людей и вдохновляла поэтов, таких как Гюго и Дюма. И легенда, к которой было снято множество фильмов.

Продолжение следует ...

Подписывайтесь на «Код Дурова» в Telegram и во «ВКонтакте», чтобы всегда быть в курсе интересных новостей!

Подписывайтесь на «Код Дурова» в Telegram и во «ВКонтакте», чтобы всегда быть в курсе интересных новостей!