Выбрать главу

* * *

РУКОВОДСТВО ДЛЯ МОЛОДЫХ ДАМ

Камасутра — это пространное руководство, которое посвящено, среди прочего, тому, что необходимо знать каждой женщине, чтобы быть хорошей женой. Созданное около IV в. до н. э. брамином по имени Ватьсьяяна, оно рассказывает о 64 различных навыках, в том числе о музыке, кулинарии и шахматах. Особый интерес для нас имеет навык под номером 45, потому что он представляет собой искусство тайнописи, или млеччхита-викальпа. Древний мудрец рекомендует несколько методов, в том числе такой: разделить алфавит на две части и распределить буквы по парам случайным образом. В этой системе каждое соответствие пар представляет собой ключ. Например, один из ключей может быть следующим:

Чтобы написать тайное послание, нужно просто заменить каждую букву А в оригинальном тексте буквой Е, букву Р, соответственно, буквой С, J — буквой W, и так далее.

Кесарю кесарево

Veni, vidi, vici (пришел, увидел, победил).

Юлий Цезарь

Шифры подстановки разрабатывались параллельно с перестановочным шифрованием. В отличие от перестановочного шифрования, строгий шифр подстановки заме няет каждую букву или символ на какой-то другой. В отличие от перестановочного шифрования, шифр подстановки основывается не только на буквах, которые содержатся в сообщении. В перестановочном шифровании буква меняет свое положение, но сохраняет свою роль; одна и та же литера имеет одинаковое значение в исходном сообщении и в зашифрованном. В шифре подстановки буквы сохраняют свои позиции, но меняют роли (одна и та же буква или символ имеет в исходном сообщении одно значение, а в зашифрованном — другое). Одним из первых известных алгоритмов шифра подстановки был шифр Полибия, названный в честь греческого историка Полибия (203–120 гг. до н. э.), который оставил нам его описание. Об этом методе подробно рассказано в Приложении.

Спустя примерно 50 лет после появления шифра Полибия, в I в. до н. э., возник другой шифр подстановки, известный под общим названием шифра Цезаря, потому что именно Юлий Цезарь использовал его для секретной переписки со своими генералами. Шифр Цезаря является одним из наиболее изученных в криптографии, и он очень полезен тем, что иллюстрирует принципы модульной арифметики, одной из математических основ кодированного письма.

Шифр Цезаря заменяет каждую букву другой, находящейся в алфавите на некоторое фиксированное число позиций правее. Как писал великий историк Светоний в книге «Жизнь двенадцати цезарей», Юлий Цезарь использовал для своей личной переписки следующий алгоритм подстановки: каждая буква исходного сообщения сдвигалась по алфавиту на три позиции, а именно, буква А заменялась на D, В — на Е, и так далее. Буква W превращалась в Z, а X, Y и Z возвращались к А, В и С.

* * *

ГАЙ ЮЛИЙ ЦЕЗАРЬ (100-44 гг. до н. э.)

Цезарь (на изображении справа) был военным и государственным деятелем, диктатура которого положила конец Римской республике. После службы в качестве магистрата в Дальней Испании он присоединился к двум другим влиятельным людям того времени, Помпею и Крассу, образовав Первый Триумвират, скрепленный браком Помпея с дочерью Цезаря, Юлией. Три союзника разделили между собой Римскую империю: Красе получил восточные провинции, Помпей остался в Риме, а Цезарь взял на себя военное командование Цизальпийской Галлией и управление Трансальпийской Галлией. В это время началась Галльская война. Она длилась восемь лет и завершилась завоеванием римлянами галльских территорий. После этого Цезарь со своей победоносной армией вернулся в столицу империи и назначил себя единственным диктатором.

* * *

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

Рассмотрим теперь этот процесс подробнее. В таблице ниже мы видим изначальный алфавит из 26 букв и алфавит, преобразованный шифром Цезаря, где каждая буква сдвинута на три позиции вправо (верхний ряд — алфавит открытого сообщения, а нижний — шифроалфавит).

Когда два алфавита, оригинальный (или алфавит открытого сообщения) и шифроалфавит, расположены таким образом, шифрование любого сообщения сводится к замене букв из первого алфавита буквами из второго. Ключ к такому шифру получает название по букве, соответствующей зашифрованному значению буквы А (первой буквы оригинального алфавита). В нашем случае это буква D. Известное выражение AVE CAESAR («Радуйся, Цезарь») будет зашифровано как DYH FDHVDU. Обратно, если зашифрованное сообщение выглядит как WUHH, то расшифрованный текст будет TREE («Дерево»). В случае с только что описанным шифром Цезаря криптоаналитик, который перехватил сообщение и знает используемый алгоритм, но не знает ключ к шифру, должен будет перебрать все возможные сдвиги алфавита, пока не найдет сообщение, имеющее смысл. Для этого он должен будет, в худшем случае, попробовать все возможные ключи или сдвиги. В алфавите, состоящем из n букв, существует n возможных сдвигов, то есть n ключей.

* * *

ШИФРЫ В ФИЛЬМАХ

В классическом научно-фантастическом фильме режиссера Стэнли Кубрика по мотивам повести Артура Кларка «Космическая одиссея 2001 года» (1968) наделенный сознанием суперкомпьютер космического корабля HAL 9000 сходит с ума и пытается убить человеческий экипаж.

Теперь предположим, что слово HAL закодировано шифром Цезаря со сдвигом на одну позицию. Тогда буква Н соответствует букве I, А соответствует В, a L — букве М; другими словами, получается IBM, в то время крупнейший в мире производитель компьютеров. О чем пытался рассказать этот фильм: об опасностях искусственного интеллекта или об угрозах бесконтрольной коммерческой монополии? Или это просто совпадение?

Всевидящий глаз компьютера HAL 9000 из фильма «Космическая одиссея 2001 года»

16 = 4. Модульная арифметика и математика шифра Цезаря

16 = 4? 2 = 14? Это не ошибка и не какая-то странная система счисления. Работа шифра Цезаря может быть проиллюстрирована теорией, которая привычна для математики и в еще большей степени для криптографии — модульной арифметикой, иногда называемой часовой арифметикой. Эта теория появилась еще в работах греческого математика Евклида (325–265 гг. до н. э.) и является одной из основ современной информационной безопасности. В этом параграфе мы расскажем о базовых математических понятиях, связанных с этим особым типом арифметики.

Возьмите в качестве примера обычные часы со стрелками и сравните их с цифровыми часами. На часах со стрелками циферблат разделен на 12 частей, которые мы обозначим числами 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, И. В следующей таблице можно видеть, как время на аналоговом циферблате соответствует времени после полудня на экране цифровых часов.