Кроме шифров замены, рассмотренных в предыдущем номере, существует большая группа шифров перестановки. При шифровании перестановкой символы шифруемого текста переставляются по определенному правилу в пределах блока этого текста. Шифры перестановки являются, наверно, самыми древними. Во всяком случае, в V веке до нашей эры в Спарте для шифровки применялся стержень цилиндрической формы, называемый скитала (или сцитала). На этот стержень спиралью наматывалась полоска пергамента. Затем вдоль стерж-
Ю. С. Антонов,
кандидат физико-математических наук
ня писали несколько строк текста сообщения. В итоге буквы на полоске оказывались расположенными хаотично. Расшифровать сообщение без стержня определенного диаметра было непросто.
Шифры перестановки можно получать и с использованием таблиц. Рассмотрим самую простую перестановку с использованием таблицы. Пусть имеется сообщение:
«ТЕРМИНАТОР ПРИБЫВАЕТ СЕДЬМОГО В ПОЛНОЧЬ».
Применим шифрующую таблицу:
Скитала. Одно из самых первых шифровальных приспособлений.
Если шифротекст записывать группами по пять букв, получается такое шифрованное сообщение:
«ТНПВЕ ГЛЕАР АДОНР ТИЕЬВ ОМОБТ МПЧИР ЫСООЬ».
В этом случае таблица играет роль скиталы. Не зная размера таблицы, расшифровать текст не очень просто. Усложнить шифровку можно, применяя ключевые слова. Применим в качестве ключа, например, слово «ПЕЛИКАН».
Числа 1,2,...,7 во второй строке расположены в таком порядке, в каком находятся соответствующие буквы первой строки в алфавите. Переставим столбцы по порядку их нумерации.
В итоге получим шифротекст: «ГНВЕП ЛТОАА ДРНЕВ ТЕЬИО РПОТМ БЧМОР СОЫЬИ».
Для большей криптостойкости шифра можно дополнительно использовать еще одно ключевое слово для строк. Например, слово «РЕБУС».
После упорядочения по строкам, таблица станет такой:
Исходное сообщение шифруется в виде: «ВТЕЬИ ОРОАА ДРНЕГ НВЕПЛ ТОРСО ЫЬИПО ТМБЧМ».
Для расшифровки этого выражения надо вначале поместить его в таблицу, восстановить строки, а затем восстановить столбцы.
Рассмотрим опять шифры замены. В 1854 г. англичанин Чарльз Уитстон разработал метод шифровки, который называют «двойным квадратом». Поясним процедуру шифровки на примере. Пусть имеются две таблицы со случайно расположенными в них русскими алфавитами.
Перед шифровкой исходное сообщение разбивают по две буквы, образуя биграммы. Каждая биграмма шифруется отдельно. Первую букву биграммы находят в левой таблице, вторую-в правой. Затем мысленно строят прямоугольник так, чтобы буквы биграммы лежали на концах диагонали прямоугольника. Тогда концы второй диагонали будут соответствовать буквам биграммы шиф-ротекста. Причем первой буквой биграммы шифротекста будет таблица, в которой расположена вторая буква шифруемой биграммы. Предположим, что шифруется биграмма ИЛ. В этом случае прямоугольник образован второй строкой левой таблицы, четвертой строкой правой таблицы, первым столбцом левой таблицы и пятым столбцом правой таблицы. Поэтому биграммой шифротекста будет ОВ. Если обе буквы биграммы лежат в одной строке, то первую букву биграммы шифра берут из левой таблицы в столбце, в котором лежит вторая буква биграммы передаваемого текста. Вторая буква биграммы шифротекста лежит в столбце, в котором лежит первая буква биграммы сообщения. Поэтому, например, биграмма ТО превращается в биграмму ЖБ. Рассмотрим пример:
Сообщение «ПРИЛЕТАЮ ШЕСТОГО» будет зашифровано как«ПЕОВЩНФМЕШРФБЖДЦ».
Шифровка методом «двойного квадрата» дает устойчивый и простой в применении шифр. Этот шифр применялся Германией и рядом других стран в годы первой и даже второй мировой войны.
Предлагаем для решения одну из задач седьмой олимпиады по криптографии.
В компьютерной сети используются пароли, состоящие из цифр. Чтобы избежать хищения паролей, их хранят на диске в зашифрованном виде. При необходимости использования происходит однозначная расшифровка соответствующего пароля. Зашифровка пароля происходит посимвольно одним и тем же преобразованием. Первая цифра остается без изменения, а результат зашифровки каждой следующей цифры зависит только от нее и от предыдущей цифры. Известен список зашифрованных паролей:
4249188780319, 4245133784397, 5393511, 428540012393, 4262271910365, 4252370031465, 4245133784735 и два пароля 4208212275831 и 4242592823026, имеющиеся в зашифрованном виде в этом списке. Можно ли определить шифровки этих паролей и, используя эту информацию, расшифровать некоторые пароли из указанного списка? Если да, то укажите пароли и их зашифровки.
Решение задачи предыдущего номера:
Рассмотрим вторую шифровку. Пусть слово «КОРАБЛИ» связано с первыми буквами этой шифровки. Поместим вторую шифровку и слово «КОРАБЛИ» в первые две строки таблицы. В третью строку поместим пер-
вую шифровку. В четвертой строке будет располагаться расшифровка первого сообщения.
Буква «Ю» стоит в алфавите на 29-м месте, буква «К» - на 10-м. Разность этих чисел равна 19. Первая буква первой шифровки - «Ю». Отняв от числа 29 число 19, получим 10. Следовательно, первой буквой расшифровки (четвертая строка) будет «К». Аналогично получим, что второй буквой расшифровки будет «О». Рассмотрим третью букву второй шифровки. Это тридцатая буква алфавита. Под ней находится буква «Р». Это 16-я буква алфавита. 30-16=14.
Третьей буквой второй шифровки является «Т». Она стоит в алфавите на 18-м месте. Отнимая от этого числа 14, получим 4. Это означает, что третья буква расшифровки стоит в алфавите на 4-м месте. Эта буква - «Г». Также получаем и остальные буквы в расшифровке первого шифрованного сообщения.
ния. Применяя такие же рассуждения, как и в предыдущем случае, в четвертой строке получим расшифровку.
ю П т ц А Р г ш А Л ж ж Е в ц ш ь р в У У
К О р А Б Л и
ю П я т Б н щ м с Д т л Ж г п с г X с ц Ц
К О э ы В э я
Это опять бессмыслица. Начнем передвигать слово «КОРАБЛИ» по второй строке таблицы. Только тогда, когда это слово окажется в конце зашифрованного сообщения, получим внятное выражение:
н: п я т Б Н Щ м с Д т л ж Г п с г X с ц ц
к О р А Б Л И
ю п т ц А Р г ш А л ж ж Е в ц щ ы р в У У
к о г д А О т
н: п т и А Р г ш А л ж ж Е в ц ш ы р В У У
к О р А Б Л и
ю п я т Б н щ м С д т л ж г п с г X С ц ц
в Е ч Е Р о м
Объединим полученные результаты:
Если же мы предположим, что слово «КОРАБЛИ» во второй шифровке располагается, начиная со второй буквы, то, аналогично предыдущему случаю, получим расшифровку первого сообщения в виде (см. 4-ю строку таблицы):
Ю П я г Б Н щ м с д т л ж Г п с г X с ц ц
> О р А Б л и
Ю п т ц А Р г ш А л ж ж Е В ц щ ь р в У У
К Б ф Я д Ф X
Получили бессмысленный набор букв. Это означает, что такого расположения слова «КОРАБЛИ» во второй шифровке не может быть. Совершенно аналогично доказывается, что слово «КОРАБЛИ» не может располагаться во второй шифровке, начиная с 3-й, 4-й,... ,15-й буквы.
Рассмотрим теперь первую шифровку. Пусть слово «КОРАБЛИ» расположено в нем, начиная с первой буквы. В третьей строке таблицы поместим вторую шифровку. В четвертой строке таблицы будет расположена расшифровка соответствующего участка второго сообще-
1С п т ц А Р г ш А Л Ж ж Е В ц ш ы р В У У
к О г д А О т к О р А Б л и
ю п я т Б н щ м С д т л Ж г п с г X С ц Ц
к о р А Б л и В Е ч Е Р о м
Теперь можно догадаться, что первое сообщение означает: «КОГДАОТПЛЫВАЮТКОРАБЛИ».
Продолжая расшифровывать второе сообщение, получим: «КОРАБЛИВЫХОДЯТВЕЧЕРОМ».
Литература:
1. Романеи, Ю.В., Тимофеев П.А., Шаньгин В.Ф. Защита информации в компьютерных системах и сетях. - М.: Радио и связь, 1999.-328 с.
Введение в криптографию / Под общей ред. В.В. Ященко. - СПб.: Питер, 2001. - 288 с.
Современные технологии северянам. - Якутск: «ООО Агентство новых технологий Севера», 2006. -40 с.
Материалы к Каталогу подготовлены на основе проекта «Новые технологии Севера» международной организации губернаторов северных регионов мира «Северного Форума», основываясь на изучении опыта хозяйствования мировой Арктики и практических испытаниях в условиях Якутии.