Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Шемякин лекции 2023 / Алфёров А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии

.pdf
Скачиваний:
27
Добавлен:
30.05.2023
Размер:
7.75 Mб
Скачать

Классификация шифров

->I = 19М9а = \ , г . Число таких биекций не пре­

восходит N1

Для шифра однозначной замены определение правила зашифрования можно уточнить: в формуле (2) включение следует заменить равенством

У^=<Ра^^Лx^), 7 = 1,/.

(2’)

Введем еще ряд определений.

Если для некоторого числа д е N выполняются включе­

ния V, € В д, I 1,Л^, то соответствующий шифр замены бу­

дем называть шифром равнозначной замены. В противном случае — шифром разнозначной замены (см. рис. 11).

Рис. 11

В подавляющем большинстве случаев используются

шифры замены, для которых V е А р , для некоторого р е N .

При р ~ 1 говорят о поточных шифрах замены, при р > 1 —

о блочных шифрах замены (см. рис. \2).

91

/ лава 3

Рис. 12

Относительно деления шифров на поточные и блочные подробнее см. в гл. 8.

Следующее определение. В случае г = 1 шифр замены называют одноалфавитным шифром замены или шифром простой замены. В противном случае — многоалфавитным шифром замены (см. рис. 13).

Рис. 13

Ограничиваясь наиболее важными классами шифров за­ мены и исторически известными классами шифров переста­ новки, сведем результаты классификации в схему, изобра­ женную на рис. 14.

92

Классификация шифров

Шифры

Шифры

Композиционные

замены

перестановки

шифры

Многозначные

Однозначные

Маршрутные

замены

замены

перестановки

Симметричные

Асимметричные

Столбцовые

Решетки,

шифры

шифры

(строчные)

лабиринты

 

 

перестановки

 

Поточные

Блочные

шифры

шифры

Одноалфавитные

Многоалфавитные -►

Шифры

шифры

шифры

гаммирования

Рис. 14

Прокомментируем приведенную схему. Подчеркнем, что стрелки, выходящие из любого прямоугольника схемы, ука-

93

I лава 3

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

Далее мы рассмотрим свойства большинства из указан­ ных на схеме классов шифров.

Контрольные вопросы

1.С какими примерами шифров замены и перестановки Вы познакомились в историческом обзоре?

2.Существуют ли шифры, не являющиеся ни шифрами за­ мены, ни шифрами перестановки?

3.Приведите пример шифра многозначной замены.

4.Может ли блочный шифр быть шифром разнозначной за­ мены?

5.Может ли шифр простой замены быть равнозначным , разнозначным, блочным шифром?

6.В каком случае шифр гаммирования является одноалфа­ витным шифром?

7.Каково максимальное число простых замен, из которых может состоять многоалфавитный шифр?

8.Можно ли рассматривать множество возможных откры­ тых и шифрованных текстов как множество шифровеличин и шифрообозначений шифра замены?

94

Глава 4

Шифры перестановки

В историческом обзоре упоминались некоторые типы шифров перестановки. Среди них — шифр Сцитала, атбаги,

поворотная решетка Кардано. В самом общем виде шифр перестановки определен в гл. 3. Ключом шифра является пе­ рестановка номеров букв открытого текста. Зависимость клю­ ча от длины текста создает значительные неудобства в ис­ пользовании шифра. В силу этого был предложен ряд частных шифров перестановок, которые можно применять для зашиф­ рования текстов любой длины.

§ 4.1. Маршрутные перестановки

Широкое применение получили так называемые мар­ шрутные перестановки, основанные на некоторой геомегрической фигуре. Отрезок открытого текста записывается в та­ кую фигуру по некоторой траектории. Шифрованным текстом является последовательность, полученная при выписывании текста по другой траектории. Например, можно записывать сообщение в прямоугольную таблицу, выбрав такой маршрут: будем двигаться по горизонтали, начиная с левого верхнего угла, поочередно слева направо и справа налево. Списывать же сообщение будем по другому маршруту: по вертикалям, начиная с верхнего правого угла и двигаясь поочередно свер­ ху вниз и снизу вверх.

Пример (маршрутной перестановки)

Зашифруем указанным выше способом фразу пример маршрутной перестановки, используя прямоугольную табли­ цу размером 4 x 7 :

95

/ лава 4

п

р

и

м

е

Р

м

н

т

У

р

ш

Р

а

О

й

п

е

Р

е

с

ик в о н а т

Зашифрованная фраза выглядит следующим образом:

мастаеррешрноермвпуиртикионп

Обращение описанных шагов при расшифровании не представляет труда.

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

Пример {вертикальной перестановки)

Зашифруем фразу вот пример шифра вертикальной пере­ становки, используя прямоугольник размером 6 х 7 и число­ вой ключ (5,1,4,7,2,6,3).

5

1

4

7

2

6

3

в

О

т

п

р

и

м

е

р

ш

и

ф

Р

а

в

е

Р

т

и

к

а

л

ь

н

О

й

п

е

Р

е

с

т

а

н

о

в

к

и

 

 

 

 

96

Шифры перестановки

Отметим, что нецелесообразно заполнять последнюю строку прямоугольника “нерабочими” буквами, так как это дало бы противнику, получившему в свое распоряжение дан­ ную криптограмму, сведения о длине числового ключа. В са­ мом деле, в этом случае длину ключа следовало бы искать среди делителей длины сообщения.

Теперь, выписывая буквы по столбцам в порядке, указан­ ном числовым ключом, получим такую криптограмму:

ореъекрфийамааеотшрнсивевлрвиркпнпитот

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

В нашем примере 38 = 7-5 + 3, поэтому в заполненной таблице имеется 3 длинных и 4 коротких столбца. Согласно числовому ключу, начальные буквы криптограммы берутся из второго (по счету слева) столбца, он — длинный (так как пер­ вые три столбца — длинные), поэтому первые шесть букв об­ разуют второй столбец. Следующие пять букв образуют пя­ тый столбец (он — короткий). И так далее.

Более сложные маршрутные перестановки могут исполь­ зовать другие геометрические фигуры и более “хитрые” мар­ шруты, как, например, при обходе шахматной доски “ходом коня”, пути в некотором лабиринте и т.п. Возможные вариан­ ты зависят от фантазии составителя системы и, конечно, есте­ ственного требования простоты ее использования.

97

( лава 4

§ 4.2. Элементы криптоанализа шифров перестановки

Укажем сначала основные идеи, используемые при вскры­ тии вертикальных перестановок.

Заметим прежде всего, что буквы каждого столбца запол­ ненного прямоугольника выписываются в криптограмму подряд, то есть криптограмма разбивается на отрезки, являющиеся столбцами таблицы. Поэтому при дешифровании следует попы­ таться соединить две группы последовательных букв крипто­ граммы так, чтобы они образовывали хорошие (“читаемые”) с точки зрения обычного текста комбинации. Для этого естест­ венно использовать наиболее частые биграммы открытого тек­ ста, которые можно составить из букв рассматриваемого шиф­ рованного текста. Если для первой пробы выбрано, скажем, со­ четание СТ (самая частая биграмма русского языка), то мы мо­ жем по очереди приписывать к каждой букве С криптограммы каждую букву Т из нее. При этом несколько букв, стоящих до и после данной буквы С, и несколько букв, стоящих до и после данной буквы Т, соединяются в пары, то есть получаются два столбца букв, записанные рядом:

I П

Конечно, мы не знаем длины столбцов, но некоторые огра­ ничения на них можно получить, используя положение конкрет­ ных букв. Так, столбцы должны иметь одинаковые длины или первый столбец может быть длиннее второго на одну букву, и тогда эта буква — последняя буква сообщения:

98

Шифры перестановки

Ст

АБ

М <-

последняя буква сообщения

Если приписываемые друг к другу буквы разделены, ска­ жем, только двумя буквами, то, как легко видеть, мы можем со­ ставить в соседних столбцах не более трех пар, и длина каждого столбца не превышает четырех. Кроме того, ограничением мо­ жет послужить появление запретной биграммы (например, гласная — мягкий знак):

А

Ь

запретная биграмма

Для выбранного сочетания СТ получается по одной паре столбцов для каждого конкретного выбора букв С и Т из крип­ тограммы, и из них целесообразно отобрать ту пару, которая содержит наиболее частые биграммы.

Заметим, что при автоматизации этого процесса можно приписать каждой биграмме вес, равный частоте ее появления в открытом тексте. Тогда целесообразно отобрать ту пару столб­ цов, которая имеет наибольший вес. Кстати, появление одной биграммы с низкой частотой может указать на то, что длину столбца надо ограничить.

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

Рассмотрим также метод, применимый к любым шифрам перестановки. Допустим, что к двум или более сообщениям (или 99

Г лава 4

отрезкам сообщений) одинаковой длины применяется один и тот же шифр перестановки. Тогда очевидно, что буквы, которые на­ ходились на одинаковых местах в открытых текстах, окажутся на одинаковых местах и в шифрованных текстах.

Выпишем зашифрованные сообщения одно под другим так, что первые буквы всех сообщений оказываются в первом столб­ це, вторые — во втором и т. д. Если предположить, что две кон­ кретные буквы в одном из сообщений идут одна за другой в от­ крытом тексте, то буквы, стоящие на тех же местах в каждом из остальных сообщений, соединяются подобным же образом. Зна­ чит, они могут служить проверкой правильности первого пред­ положения, подобно тому как комбинации, которые дают два столбца в системе вертикальной перестановки, позволяют про­ верить, являются ли соседними две конкретные буквы из этих столбцов. К каждому из указанных двухбуквенных сочетаний можно добавить третью букву для образования триграммы и т. д. Если располагать не менее чем четырьмя сообщениями оди­ наковой длины, то можно с уверенностью гарантировать их вскрытие подобным образом.

Контрольные вопросы

1.Приведите пример шифра перестановки, который может рассматриваться и как блочный шифр замены.

2.Как определить по криптограмме, полученной с помощью шифра вертикальной перестановки, число коротких столб­ цов заполненного открытым текстом основного прямо­ угольника?

3.Какие свойства открытого текста используются при вскры­ тии шифра вертикальной перестановки?

4.Сколько ключей имеет шифр поворотной решетки (см. гла­ ву 1). На основе прямоугольника размером т х п?

5.Каким образом можно использовать вероятные слова для вскрытия ряда криптограмм, полученных на одном ключе шифра перестановки?

100