Геовикипедия wiki.web.ru | ||
|
|
В этом алфавите отсутствуют буквы , Й и Ъ, что практически не ограничивает возможностей по составлению открытых сообщений на русском языке. В самом деле, замена буквы на букву Е, буквы Й - на букву И, а буквы Ъ - на букву Ь позволяет понять смысл открытого сообщения, написанного с использованием этого алфавита. В алфавите любого естественного языка буквы следуют друг за другом в определенном порядке. Это дает возможность присвоить каждой букве алфавита ее естественный порядковый номер. Так, в приведенном алфавите букве А присваивается порядковый номер 1, букве О - порядковый номер 14, а букве Ы - порядковый номер 27. Если в открытом сообщении каждую букву заменить ее естественным порядковым номером в рассматриваемом алфавите, то преобразование числового сообщения в буквенное позволяет однозначно восстановить исходное открытое сообщение. Например, числовое сообщение 1 11 20 1 3 9 18 преобразуется в буквенное сообщение: АЛФАВИТ. Дополним естественный порядок букв в алфавите. Будем считать, что за последней буквой алфавита следует его первая буква. Такой порядок букв достигается, если расположить их на окружности в естественном порядке по часовой стрелке. При таком расположении можно каждой из букв присвоить порядковый номер относительно любой буквы алфавита. Такой номер назовем относительным порядковым номером. Заметим, что если число букв в алфавите равно , то относительный порядковый номер данной буквы может принимать все значения от 0 до в зависимости от буквы, относительно которой он вычисляется. Для примера рассмотрим исходный 30-буквенный алфавит русского языка, расположенный на окружности (см. рис.).
В этом случае порядковый номер буквы А относительно буквы А равен 0, относительно буквы Я он уже равен 1 и так далее, относительно буквы Б порядковый номер А равен 29. Значения относительных порядковых номеров букв алфавита из букв совпадают со значениями всевозможных остатков от деления целых чисел на натуральное число . Убедитесь в том, что порядковый номер какой-либо буквы алфавита относительно другой буквы равен остатку от деления разности их естественных порядковых номеров на число букв в алфавите.
Обозначим символами:
При этом справедливо равенство , где - число букв в алфавите. Для удобства обозначим , . Тогда имеют место равенства: Формула (8) непосредственно получается из (7) и ее можно использовать для замены буквы с естественным порядковым номером на букву с естественным порядковым номером . Число называется знаком гаммы. Для уяснения введенных обозначений читателю предлагается самостоятельно решить следующие задачи. 1. Докажите, что для любых целых , и любого натурального справедливо равенство: , где - целая часть числа (наибольшее целое число, не превосходящее числа ).
2. Докажите равенство (8) и равенство:
Для зашифрования некоторого открытого сообщения, состоящего из букв, с помощью указанной замены требуется знаков гаммы: по одному на каждую букву сообщения. Последовательность знаков гаммы, необходимая для зашифрования открытого сообщения, является ключом данного шифра. Если последовательность знаков гаммы имеет небольшой (по сравнению с длиной открытого текста) период, то соответствующий шифр называется шифром замены с периодическим ключом. Ключом такого шифра, по существу, является отрезок гаммы, равный по длине периоду. Число отрезков некоторой длины , состоящих из чисел от 0 до равно , так как на каждой из позиций отрезка может быть любое из чисел (независимо от чисел, находящихся на других позициях). Для наглядности приведем значения при в зависимости от значений :
Как видно из приведенной таблицы, число ключей рассматриваемого шифра замены с ключом периода 10, достаточно внушительно и составляет уже сотни триллионов. Это обстоятельство делает практически невозможным вскрытие шифра методом перебора всех его ключей даже при меньших значениях периода гаммы. Для рассматриваемого шифра характерно то, что буквы открытого текста, зашифрованные одним и тем же знаком гаммы, по сути, зашифрованы одним и тем же шифром простой замены. Например, ключевая таблица этого шифра простой замены при знаке гаммы, равном 1, имеет вид:
Догадавшись, что ключом является натуральное число, персонаж ``Жангады'', судья Жаррикес, объясняет сыну обвиняемого Маноэлю, как был зашифрован документ: -``Давайте возьмем фразу, все равно какую, ну хотя бы вот эту:
Доведем до конца начатую криптограмму, построенную на числе 423, и исходная фраза заменится следующей:
Но как найти числовой ключ? Подсчет, проведенный Жаррикесом, показывает, что поиск ключа перебором всех возможных чисел, состоящих не более чем из 10 цифр, потребует более трехсот лет. Судья пытается наудачу отгадать заветное число. Наступает день казни. Обвиняемого Жоама Дакосту ведут на виселицу
Но все заканчивается благополучно. Помог счастливый случай.
Другу Жоама удается узнать, что автора криптограммы звали Ортега.
Поставив буквы О, Р, Т, Е, Г,
А над последними шестью буквами
документа и подсчитав, на сколько эти буквы по алфавиту сдвинуты
относительно букв криптограммы, судья, наконец, находит ключ к
документу:
Г.А.Гуревич в статье ``Криптограмма Жюля Верна''
(журнал ``Квант'' #9, 1985 г.) обращает внимание
на то, что судья прошел практически весь путь до отгадки. Будучи
уверенным, что в документе упоминается имя Жоама Дакосты, судья
строит предположение: ``Если бы строчки были разделены
на слова, то мы могли бы выделить слова, состоящие из семи букв, как и
фамилия Дакоста, и, опробуя их одно за другим, может быть и отыскали бы
число, являющееся ключом криптограммы''. Маноэль, в свою очередь,
поняв основную идею судьи, предлагает опробовать возможные
расположения слова ДАКОСТА в исходном тексте. Поскольку текст
состоит из 252 букв, то достаточно опробовать не более 246 вариантов.
В один прекрасный момент, записав над фрагментом
ЙБНТФФЕ слово ДАКОСТА, мы определили бы
последовательность цифр 5134325. Естественно предположить, что
последняя цифра 5 - начало следующего периода:
Вместо ключа 432513 мы нашли его циклическую перестановку 513432, что
ни в коей мере не мешает расшифрованию текста. Для этого достаточно
для каждой буквы шифрованного текста
определить букву, относительно которой данная буква сдвинута на
величину соответствующей цифры ключа:
Итак, первая идея состоит в использовании вероятного слова, то есть слова, которое с большой вероятностью может содержаться в данном открытом тексте. Речь идет в том числе и о словах, часто встречающихся в любых открытых текстах. К ним, например, относятся такие слова как КОТОРЫЙ, ТОГДА, ЧТО, ЕСЛИ, приставки ПРИ, ПРЕ, ПОД и т.п. Вторая идея основана на том, что буквы открытого сообщения находятся в открытом тексте на вполне определенных позициях. Если разность номеров их позиций окажется кратной периоду гаммы, то стоящие на этих позициях буквы будут зашифрованы одним и тем же знаком гаммы. Это означает, что определенные части открытого текста окажутся зашифрованными шифром простой замены. Эту идею можно использовать для определения периода ключа многоалфавитного шифра замены. Для определения периода гаммы могут быть применены два способа. Первый из них известен как тест Казизки, второй способ использует так называемый индекс совпадения. Тест Казизки был описан в 1863 году Фридрихом Казизки. Он основан на следующем наблюдении: два одинаковых отрезка открытого текста будут соответствовать двум одинаковым отрезкам шифрованного текста, если разность номеров позиций их начал кратна периоду гаммы. Следовательно, если мы обнаружим два одинаковых отрезка шифрованного текста, состоящих по крайней мере из трех букв, то с большой вероятностью им соответствуют одинаковые отрезки открытого текста (случайное совпадение маловероятно). Тест Казизки, по сути, заключается в том, что в шифрованном тексте надо найти пары одинаковых отрезков, вычислить разности номеров позиций их начал и определить общие делители найденных разностей. Как правило, один из этих общих делителей равен периоду гаммы. Для уточнения значения периода гаммы может быть использован индекс совпадения, предложенный в 1920 году Уильямом Фридманом. Для последовательности букв индекс совпадения представляет собой число, равное количеству всех пар номеров позиций последовательности, на которых находятся одинаковые буквы, деленному на общее количество всех пар номеров позиций этой последовательности, т.е. среднему числу пар, состоящих из одинаковых букв. Примечательно то, что при зашифровании последовательности с помощью шифра простой замены указанное число не меняется. Для иллюстрации этого подхода рассмотрим тот же самый шифрованный текст, записанный в виде последовательности столбцов, содержащих по шесть подряд идущих букв текста в каждом (подряд идущие буквы текста располагаются в столбцах сверху вниз):
Составим для каждой из 6 получившихся строк соответствующий ей
набор частот встречаемости букв в каждой из них:
По этой таблице частот встречаемости букв вычислим для каждой строки соответствующий ей индекс совпадения:
Для всего шифрованного текста индекс совпадения равен 0,040, что заметно меньше, чем индекс совпадения для каждой из указанных строк. Это является хорошим подтверждением гипотезы о длине периода гаммы. Другие идеи подходов к вскрытию рассматриваемых шифров основаны на тех или иных особенностях их построения и использования (см. решения задач 1.2, 2.2, 2.5, 2.6, 3.4, 3.5, 4.6). Next: 7.5. Условия задач олимпиад Up: 7. Олимпиады по криптографии Previous: Ответы к упражнению. Contents: Содержание |