Многоалфавитные шифры замены с периодическим ключом
Рассмотрим 30-буквенный алфавит русского языка:
АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЭЮЯ.
В этом алфавите отсутствуют буквы , Й и Ъ, что практически не ограничивает возможностей по составлению открытых сообщений на русском языке. В самом деле, замена буквы на букву Е, буквы Й - на букву И, а буквы Ъ - на букву Ь позволяет понять смысл открытого сообщения, написанного с использованием этого алфавита.
В алфавите любого естественного языка буквы следуют друг за другом в определенном порядке. Это дает возможность присвоить каждой букве алфавита ее естественный порядковый номер. Так, в приведенном алфавите букве А присваивается порядковый номер 1, букве О - порядковый номер 14, а букве Ы - порядковый номер 27. Если в открытом сообщении каждую букву заменить ее естественным порядковым номером в рассматриваемом алфавите, то преобразование числового сообщения в буквенное позволяет однозначно восстановить исходное открытое сообщение. Например, числовое сообщение 1 11 20 1 3 9 18 преобразуется в буквенное сообщение: АЛФАВИТ.
Дополним естественный порядок букв в алфавите. Будем считать, что за последней буквой алфавита следует его первая буква. Такой порядок букв достигается, если расположить их на окружности в естественном порядке по часовой стрелке. При таком расположении можно каждой из букв присвоить порядковый номер относительно любой буквы алфавита. Такой номер назовем относительным порядковым номером. Заметим, что если число букв в алфавите равно , то относительный порядковый номер данной буквы может принимать все значения от 0 до в зависимости от буквы, относительно которой он вычисляется. Для примера рассмотрим исходный 30-буквенный алфавит русского языка, расположенный на окружности (см. рис.).
В этом случае порядковый номер буквы А относительно буквы А равен 0, относительно буквы Я он уже равен 1 и так далее, относительно буквы Б порядковый номер А равен 29. Значения относительных порядковых номеров букв алфавита из букв совпадают со значениями всевозможных остатков от деления целых чисел на натуральное число . Убедитесь в том, что порядковый номер какой-либо буквы алфавита относительно другой буквы равен остатку от деления разности их естественных порядковых номеров на число букв в алфавите.
Обозначим символами:
- порядковый номер буквы с естественным порядковым номером относительно буквы с естественным порядковым номером ;
- остаток от деления целого числа на натуральное число .
При этом справедливо равенство
, где - число букв в алфавите.
Для удобства обозначим
, . Тогда имеют место равенства:
Формула () непосредственно получается из () и ее можно использовать для замены буквы с естественным порядковым номером на букву с естественным порядковым номером . Число называется знаком гаммы.
Для уяснения введенных обозначений читателю предлагается самостоятельно решить следующие задачи.
1. Докажите, что для любых целых , и любого натурального справедливо равенство: , где - целая часть числа (наибольшее целое число, не превосходящее числа ).
2. Докажите равенство () и равенство:
(7) |
Если последовательность знаков гаммы имеет небольшой (по сравнению с длиной открытого текста) период, то соответствующий шифр называется шифром замены с периодическим ключом. Ключом такого шифра, по существу, является отрезок гаммы, равный по длине периоду.
Число отрезков некоторой длины , состоящих из чисел от 0 до равно , так как на каждой из позиций отрезка может быть любое из чисел (независимо от чисел, находящихся на других позициях). Для наглядности приведем значения при в зависимости от значений :
1 | 2 | 3 | 4 | 5 | 6 | 7 | |
30 | 900 | 27000 | 810000 | 24300000 |
8 | 9 | 10 | |
Для рассматриваемого шифра характерно то, что буквы открытого текста, зашифрованные одним и тем же знаком гаммы, по сути, зашифрованы одним и тем же шифром простой замены. Например, ключевая таблица этого шифра простой замены при знаке гаммы, равном 1, имеет вид:
А | Б | В | Г | Д | Е | Ж | З | И | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я |
Б | В | Г | Д | Е | Ж | З | И | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ь | Ы | Э | Ю | Я | А |
ABCDEFGHIJKLMNOPQRSTUVWXYZ BCDEFGHIJKLMNOPQRSTUVWXYZA CDEFGHIJKLMNOPQRSTUVWXYZAB DEFGHIJKLMNOPQRSTUVWXYZABC EFGHIJKLMNOPQRSTUVWXYZABCD FGHIJKLMNOPQRSTUVWXYZABCDE GHIJKLMNOPQRSTUVWXYZABCDEF HIJKLMNOPQRSTUVWXYZABCDEFG IJKLMNOPQRSTUVWXYZABCDEFGH JKLMNOPQRSTUVWXYZABCDEFGHI KLMNOPQRSTUVWXYZABCDEFGHIJ LMNOPQRSTUVWXYZABCDEFGHIJK MNOPQRSTUVWXYZABCDEFGHIJKL NOPQRSTUVWXYZABCDEFGHIJKLM OPQRSTUVWXYZABCDEFGHIJKLMN PQRSTUVWXYZABCDEFGHIJKLMNO QRSTUVWXYZABCDEFGHIJKLMNOP RSTUVWXYZABCDEFGHIJKLMNOPQ STUVWXYZABCDEFGHIJKLMNOPQR TUVWXYZABCDEFGHIJKLMNOPQRS UVWXYZABCDEFGHIJKLMNOPQRST VWXYZABCDEFGHIJKLMNOPQRSTU WXYZABCDEFGHIJKLMNOPQRSTUV XYZABCDEFGHIJKLMNOPQRSTUVW YZABCDEFGHIJKLMNOPQRSTUVWX ZABCDEFGHIJKLMNOPQRSTUVWXY |
table cellpadding="3" >
А теперь я возьму наудачу какое-нибудь число, чтобы сделать из этой фразы криптограмму. Предположим, что число состоит из трех цифр, например, 4, 2 и 3. Я подписываю число 423 под строчкой так, чтобы под каждой буквой стояла цифра, и повторяю число, пока не дойду до конца фразы. Вот что получится:
У | С | У | Д | Ь | И | Ж | А | Р | Р | И | К | Е | С | А | П | Р | О | Н | И | Ц | А | Т | Е | Л | Ь | Н | Ы | Й | У | М |
4 | 2 | 3 | 4 | 2 | 3 | 4 | 2 | 3 | 4 | 2 | 3 | 4 | 2 | 3 | 4 | 2 | 3 | 4 | 2 | 3 | 4 | 2 | 3 | 4 | 2 | 3 | 4 | 2 | 3 | 4 |
АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ |
Доведем до конца начатую криптограмму, построенную на числе 423, и исходная фраза заменится следующей:
Ч | У | Ц | И | Ю | Л | К | В | У | Ф | К | Н | Й | У | Г | У | Т | С | С | К | Щ | Д | Ф | И | П | Ю | Р | Я | Л | Ц | Р |
Но все заканчивается благополучно. Помог счастливый случай. Другу Жоама удается узнать, что автора криптограммы звали Ортега. Поставив буквы О, Р, Т, Е, Г, А над последними шестью буквами документа и подсчитав, на сколько эти буквы по алфавиту сдвинуты относительно букв криптограммы, судья, наконец, находит ключ к документу:
исходное сообщение | О | Р | Т | Е | Г | А |
шифрованное сообщение | Т | У | Ф | К | Д | Г |
относительный сдвиг букв | 4 | 3 | 2 | 5 | 1 | 3 |
исходное сообщение | ... | Д | А | К | О | С | Т | А | ... |
шифрованное сообщение | ... | Й | Б | Н | Т | Ф | Ф | Е | ... |
относительный сдвиг букв | ... | 5 | 1 | 3 | 4 | 3 | 2 | 5 | ... |
С | Г | У | Ч | П | В | Э | Л | Л | З | Й | Р | Т | Е | П | Н | Л | Н | Ф | Г | И | Н | Б | О | Р |
4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 |
Н | А | С | Т | О | Я | Щ | И | Й | В | И | Н | О | В | Н | И | К | К | Р | А | Ж | И | А | Л | М |
Г | Й | У | Г | Л | Ч | Д | К | О | Т | Х | Ж | Г | У | У | М | З | Д | Х | Р | Ъ | С | Г | С | Ю |
3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 |
А | З | О | В | И | У | Б | И | Й | С | Т | В | А | С | О | Л | Д | А | Т | О | Х | Р | А | Н | Ы |
Д | Т | П | Ъ | А | Р | В | Й | Г | Г | И | Щ | В | Ч | Э | Е | Ц | С | Т | У | Ж | В | С | Е | В |
2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 |
В | Н | О | Ч | Ь | Н | А | Д | В | А | Д | Ц | А | Т | Ь | В | Т | О | Р | О | Е | Я | Н | В | А |
Х | А | Х | Я | Ф | Б | Ь | Б | Е | Т | Ф | З | С | Э | Ф | Т | Х | Ж | З | Б | З | Ъ | Г | Ф | Б |
5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 |
Р | Я | Т | Ы | С | Я | Ч | А | В | О | С | Е | М | Ь | С | О | Т | Д | В | А | Д | Ц | А | Т | Ь |
Щ | И | Х | Х | Р | И | П | Ж | Т | З | В | Т | Ж | Й | Т | Г | О | Й | Б | Н | Т | Ф | Ф | Е | О |
1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 |
Ш | Е | С | Т | О | Г | О | Г | О | Д | А | Н | Е | Ж | О | А | М | Д | А | К | О | С | Т | А | Н |
И | Х | Т | Т | Е | Г | И | И | О | К | З | П | Т | Ф | Л | Е | У | Г | С | Ф | И | П | Т | Ь | М |
3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 |
Е | С | П | Р | А | В | Е | Д | Л | И | В | О | П | Р | И | Г | О | В | О | Р | Е | Н | Н | Ы | Й |
О | Ф | О | К | С | Х | М | Г | Б | Т | Ж | Ф | Ы | Г | У | Ч | О | Ю | Н | Ф | Н | Ш | З | Г | Э |
4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 |
К | С | М | Е | Р | Т | И | А | Я | Н | Е | С | Ч | А | С | Т | Н | Ы | Й | С | Л | У | Ж | А | Щ |
Л | Л | Ш | Р | У | Д | Е | Н | К | О | Л | Г | Г | Н | С | Б | К | С | С | Е | П | У | Н | Ф | Ц |
3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 1 | 5 | 3 | 4 | 3 |
И | Й | У | П | Р | А | В | Л | Е | Н | И | Я | А | Л | М | А | З | Н | О | Г | О | О | К | Р | У |
Е | Е | Е | Г | Г | С | Ж | Н | О | Е | Ы | И | О | Н | Р | С | И | Т | К | Ц | Ь | Е | Д | Б | У |
2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 |
Г | А | Д | А | Я | О | Д | И | Н | В | Ч | Е | М | И | П | О | Д | П | И | С | Ы | В | А | Ю | С |
Б | Т | Е | Т | Л | О | Т | Б | Ф | Ц | С | Б | Ю | Й | П | М | П | З | Т | Ж | П | Т | У | Ф | К |
5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 | 1 | 3 | 4 | 3 | 2 | 5 |
Ь | С | В | О | И | М | Н | А | С | Т | О | Я | Щ | И | М | И | М | Е | Н | Е | М | О | Р | Т | Е |
Д | Г | |||||||||||||||||||||||
1 | 3 | |||||||||||||||||||||||
Г | А |
Вторая идея основана на том, что буквы открытого сообщения находятся в открытом тексте на вполне определенных позициях. Если разность номеров их позиций окажется кратной периоду , то стоящие на этих позициях буквы будут зашифрованы одним и тем же знаком гаммы. Это означает, что определенные части открытого текста окажутся зашифрованными шифром простой замены. Эту идею можно использовать для определения периода ключа многоалфавитного шифра замены.
Для определения периода гаммы могут быть применены два способа. Первый из них известен как тест Казизки, второй способ использует так называемый индекс совпадения.
Тест Казизки был описан в 1863 году Фридрихом Казизки. Он основан на следующем наблюдении: два одинаковых отрезка открытого текста будут соответствовать двум одинаковым отрезкам шифрованного текста, если разность номеров позиций их начал кратна периоду гаммы. Следовательно, если мы обнаружим два одинаковых отрезка шифрованного текста, состоящих по крайней мере из трех букв, то с большой вероятностью им соответствуют одинаковые отрезки открытого текста (случайное совпадение маловероятно). Тест Казизки, по сути, заключается в том, что в шифрованном тексте надо найти пары одинаковых отрезков, вычислить разности номеров позиций их начал и определить общие делители найденных разностей. Как правило, один из этих общих делителей равен периоду гаммы.
Для уточнения значения периода гаммы может быть использован индекс совпадения, предложенный в 1920 году Уильямом Фридманом. Для последовательности букв индекс совпадения представляет собой число, равное количеству всех пар номеров позиций последовательности, на которых находятся одинаковые буквы, деленному на общее количество всех пар номеров позиций этой последовательности, т.е. среднему числу пар, состоящих из одинаковых букв. Примечательно то, что при зашифровании последовательности с помощью шифра простой замены указанное число не меняется.
Для иллюстрации этого подхода рассмотрим тот же самый шифрованный текст, записанный в виде последовательности столбцов, содержащих по шесть подряд идущих букв текста в каждом (подряд идущие буквы текста располагаются в столбцах сверху вниз):
С | Э | Т | Ф | Р | Ч | Ж | Д | С | А | И | Ц | С | Я | Т | Т | Ъ | Х | Т | Т | Т | Х | И | Ф | Ф | О | М | Ы | Н | Э | Д | Г | С | Ф | Г | Ы | И | Д | Т | Ц | М | Т |
Г | Л | Е | Г | Г | Д | Г | Х | Ю | Р | Щ | С | Е | Ф | Ф | Х | Г | Х | З | Г | Ф | Т | О | Л | И | Ф | Г | Г | Ф | Л | Е | Г | С | Ц | С | И | Т | Б | Л | С | П | У |
У | Л | П | И | Й | К | У | Р | Д | В | В | Т | В | Б | З | Ж | Ф | Р | В | О | Ф | Т | К | Е | П | О | Б | У | Н | Л | Н | Н | Е | Е | Ж | О | К | У | О | Б | З | Ф |
Ч | З | Н | Н | У | О | У | Ъ | Т | Й | Ч | У | Х | Ь | С | З | Б | И | Т | Й | Е | Е | З | У | Т | К | Т | Ч | Ш | Ш | К | С | У | Е | Н | Н | Ц | Б | Т | Ю | Т | К |
П | Й | Л | Б | Г | Т | М | С | П | Г | Э | Ж | А | Б | Э | Б | Щ | П | Ж | Б | О | Г | П | Г | Ь | С | Ж | О | З | Р | О | Б | П | Е | О | Р | Ь | Т | Б | Й | Ж | Д |
В | Р | Н | О | Л | Х | З | Г | Ъ | Г | Е | В | Х | Е | Ф | З | И | Ж | Й | Н | И | И | Т | С | М | Х | Ф | Ю | Г | У | Л | К | Н | Г | Е | С | Е | Е | Ф | П | П | Г |
А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | |
1 строка | 1 | 0 | 0 | 2 | 3 | 0 | 1 | 0 | 3 | 0 | 0 | 0 | 2 | 1 | 1 | 0 |
2 строка | 0 | 1 | 0 | 9 | 1 | 3 | 0 | 1 | 2 | 0 | 0 | 4 | 0 | 0 | 1 | 1 |
3 строка | 0 | 3 | 4 | 0 | 1 | 3 | 2 | 2 | 1 | 1 | 3 | 2 | 0 | 3 | 4 | 2 |
4 строка | 0 | 2 | 0 | 0 | 0 | 4 | 0 | 3 | 1 | 2 | 3 | 0 | 0 | 4 | 1 | 0 |
5 строка | 1 | 6 | 0 | 4 | 1 | 1 | 4 | 1 | 0 | 2 | 0 | 0 | 1 | 0 | 4 | 5 |
6 строка | 0 | 0 | 2 | 5 | 0 | 5 | 1 | 2 | 3 | 1 | 1 | 2 | 1 | 3 | 1 | 2 |
Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | |
1 строка | 1 | 4 | 8 | 0 | 4 | 2 | 2 | 1 | 0 | 0 | 1 | 2 | 0 | 2 | 0 | 1 |
2 строка | 1 | 4 | 2 | 1 | 5 | 3 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 |
3 строка | 2 | 0 | 2 | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
4 строка | 0 | 2 | 6 | 4 | 0 | 1 | 1 | 3 | 2 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
5 строка | 2 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 2 | 0 | 0 |
6 строка | 1 | 2 | 1 | 1 | 3 | 3 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
По этой таблице частот встречаемости букв вычислим для каждой строки соответствующий ей индекс совпадения:
Номер строки | 1 | 2 | 3 | 4 | 5 | 6 |
Индекс совпадения |
0,060 | 0,077 | 0,045 | 0,053 | 0,057 | 0,057 |
Другие идеи подходов к вскрытию рассматриваемых шифров основаны на тех или иных особенностях их построения и использования (см. решения задач , , , , , , ).
Next: 7.5. Условия задач олимпиад
Up: 7. Олимпиады по криптографии
Previous: Ответы к упражнению.
Contents: