Европейская криптология. История спецсвязи — страница 7 из 47

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

Для этой цели на внешнем диске имелись цифры. Альберти составил код, который состоял из 336 кодовых групп, пронумерованных от 11 до 4444. Каждому кодовому обозначению соответствовала определённая фраза. Когда такая фраза встречалась в открытом сообщении, она заменялась соответствующим кодобозначением, а с помощью диска цифры шифровались как обычные знаки открытого текста, превращаясь в буквы.

В 1474 году был написан первый в мире трактат, посвящённый исключительно криптоанализу. Это сделал Чикко Симонетта (Cicco Simonetta), один из секретарей правителей Милана — герцогов Сфорца. В нём он изложил усовершенствованные шифры замены, в том числе шифр многозначной замены, в котором одной букве (гласной) соответствовало несколько шифробозначений. Он разработал 13 правил раскрытия шифров простой замены, в которых сохранены разделители слов.

Рукопись, написанная на трех кусках пергамента, начиналась со слов: «Первое необходимое условие заключается в выяснении того, написан ли документ латинским или местным языком, а это можно установить таким способом: выясните, имеют ли слова в данном документе только пять разных окончаний, меньше или больше. Если их только пять или меньше, вы правы, считая, что документ написан местным языком…».

Ч.Симонетта в своём трактате подробно описал шифры замены, в которых для выравнивания частоты появления букв в шифротексте гласной букве соответствовал не один знак, а несколько. Здесь же впервые было приведено описание так называемого «лозунгового» шифра, который в разных модификациях будет применяться и несколько веков позже. Правило замены букв в нём определялось так: под алфавитом писалась ключевая фраза — лозунг (например, «Ukraine») без повторяемых букв, а затем буквы, которые в лозунге не встречались, в естественном порядке.

A B C D E F G H I J K L M N O P Q R S T U V X Y Z

U K R A I N E B C D F G H J L M O P Q S T V X Y Z

В результате слово «UZHGOROD» превращается в шифротекст: «TZBELPLA».

3. Многоалфавитные шифры

В 1518 году появился первый печатный труд по криптологии «Полиграфия» (лат. Polygraphia). Она была написана Йоганном Гейденбергом (1462–1516), или Тритемием (Трисемусом), аббатом бенедиктинского монастыря Святого Мартина (г. Вюрцбург, Германия), которого многие историки считают отцом европейской криптологии. «Полиграфия» представляла собой сборник из 6 книг и содержала столбцы латинских терминов и слов, соответствующих буквам открытого текста, и первую квадратную таблицу, основу многоалфавитной замены.

Хотя в труде Тритемия были описаны много шифров — как существующих в то время, так и изобретённых самим автором, она была пронизана каббалистическими и оккультными аллюзиями.

В результате книга вызывала гнев многих монарших дворов Европы, которые думали, что Тритемий выдал в ней слишком много тайн. Кроме того, Римская католическая церковь считала труды Тритемия еретическими и в 1609 году внесла его книги в список запрещенных. Это запрещение длилось 250 лет.

В 1541 году книга была переиздана на французским языке, а вскоре был сделан её перевод на немецкий язык. В этой книге Тритемий сделал два новаторских предложения в криптологии: шифр «Аве Мария» и шифр, построенный на основе периодически сдвигаемого ключа.

Шифр «Аве Мария» основывался на принципе замены заранее оговоренных слов на буквы шифротекста. С таких слов складывалось внешне «невинное» сообщение. Например, заменим буквы «А», «К», «Т» на такие слова: «А» — ожидаю, мой; «К» — дома, ключ; «Т» — я, здесь. В таком случае позитивный тайный ответ на заданный вопрос может иметь несколько вариантов: «Я ожидаю дома» или «Здесь мой ключ».

Вторым более серьезным шифром была «таблица Тритемия» — квадратная таблица размером 24х24 со многими алфавитами, названная «tabula recta». Алфавиты были записаны в строки таблицы один под другим, причем каждый из них был сдвинут на одну позицию влево по сравнению с предыдущим.

Тритемий предлагал использовать эту таблицу для многоалфавитного шифрования самым простым из возможных способов: первая буква текста шифровалась первым алфавитом, вторая буква — вторым и т. д. В этой таблице не было отдельного алфавита открытого текста, для этой цели служил алфавит первой строки. Таким образом, слово «UKRAINE» превращалось в шифротекст «ULTDNSL».

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



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

Рассмотрим эту систему шифрования, таблица которой будет иметь размер не 5х5, а 5х6. Буква шифрования берётся из клетки, находившейся под клеткой буквы сообщения. Поскольку ключевое слово легко было запомнить, то такой подход упрощал процессы шифрования и дешифрования. Для ключа «ШИФРОВКА» таблица будет иметь такой вид (см. таблицу).




Для вышеописанного шифра по данной таблице сообщение «УЖГОРОД» даёт шифровку «ЫСМДГДН». Такие табличные шифры были названы монограммами, потому что шифрование велось по одной букве.

Тритемий также первым заметил, что можно шифровать одновременно по две буквы, которые стояли рядом и были названы «биграммой». Такой шифр был назван «биграммным». Опишем его на примере той же таблицы. Открытый текст разбивался на биграммы, а текст шифровки выходил из него в соответствии с такими правилами:

1. Если обе буквы биграммы исходного текста принадлежали одному столбцу таблицы, то буквами шифра считались буквы, которые были под ними. Так, биграмма «БУ» давала текст шифровки «ЛЫ». Если буква открытого текста находилась в нижней строке, то для шифра бралась соответствующая буква из верхней строки: биграмма «ЯЩ» давала шифр «ВШ» (биграмма из одной буквы или пары одинаковых букв тоже подчинялась этому правилу).

2. Если обе буквы биграммы исходного текста принадлежали одной строке таблицы, то буквами шифра считались буквы, которые лежали справа от них. Так, биграмма «КА» давала текст шифровки «АБ». Если буква открытого текста была в правом столбце, то для шифра бралась соответствующая буква из левого столбца: биграмма «ВЕ» давала шифр «ШК».

3. Если обе буквы биграммы открытого текста лежали в разных строках и столбцах, то вместо них брались две буквы таким образом, чтобы вся их четверка составляла прямоугольник. При этом последовательность букв в шифре была отражением исходной пары. Например, «АЛ» шифровалось как «БЗ», а «ДУ» — как «БЦ».

При шифровании фразы «ОБЪЯВЛЕН СБОР» по биграммам получается шифровка «ФДИВФПДПУКВО»:

ОБ ЪЯ ВЛ ЕН СБ ОР

ФД ИВ ФП ДП УК ВО

Шифрование биграммами резко усилила стойкость шифров к раскрытию.

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

Следующий шаг в развитии предложенного Тритемием способа шифрования был сделан итальянцем Джованни Баттиста Беллазо (Giovan Battista Bellaso). В 1553 году он опубликовал брошюру «Шифр сеньора Джованни Баттиста Беллазо» (итал. La cifra del. Sig. Giovan Battista Bellaso), где предложил использовать для многоалфавитного шифра буквенный ключ, который был назван им «паролем» и должен был легко запоминаться. Пароль выписывался под или над строкой сообщения. Буква пароля, что находились над (под) буквой сообщения, определяла номер строки таблицы Тритемия, то есть алфавит замены, в соответствии с которым и осуществлялась шифрование. Буква сообщения определяла номер столбца таблицы, а буква шифротекста находилась на пересечении строки и столбца таблицы.

Приблизительно в то же время итальянский математик и философ Джероламо Кардано (Gerolamo Cardano) (1501-76) предложил использовать в качестве ключа сам текст сообщения, то есть «самоключ» или «автоключ» (англ. autokey). Например, во фразе «СБОР СЕГОДНЯ» ключом было слово «СБОР» (см. таблицу). Шифрование осуществлялась с помощью таблицы Тритемия.

Кроме того, в 1556 году увлечение теорией магических квадратов привело Кардано к открытию нового класса шифра перестановок, названного решёткой или трафаретом. Он представлял собой квадратную таблицу, в которой четверть ячеек прорезана так, что при четырёх поворотах они покрывали весь квадрат. Вписывание в прорезанные ячейки текста и повороты решётки длились до тех пор, пока весь квадрат не был заполнен. Например, на рисунке ниже показан процесс шифрования решёткой 4х4. Трафарет имел 4 прорезанные клетки, а повороты осуществлялись по часовой стрелке на указанный ниже угол (см. таблицу).




В результате считывания по строкам сообщения «ВСТРЕТИТЬ В ДЕСЯТЬ» превращается в шифротекст: ЕСВЬЯТВСДТТИРЕТЬ.

Главное требование к трафарету — при всех поворотах «окна» не должны попадать на одно и то же место в квадрате, в котором образуется шифротекст. Если в квадрате после снятия трафарета образовывались пустые места, то в них вписывались любые буквы.