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

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

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

Шифры замены

($1, 52 ), (*^2 9 )»•••» (^л-2 »^л-1 ХО^яЧ’ )’

С5! ? 5 3 X 0*2 ? 5 4 Х ---9 ( $ п- 2 9 $п X

Ои О '

В|7ак95] показано, что алгоритм 2 является достаточно эффективным.

Отметим некоторые особенности вскрытия равнозначных

иразнозначных шифров простой замены.

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

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

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

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

111

/ лава Ь

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

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

112

Шифры замены

§ 5.3. Блочные шифры простой замены

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

Простейший блочный шифр оперирует с биграммными шифрвеличинами. Одними из первых таких шифров были биграммные шифры Порта и Плейфера (см. гл. 1). Приведем описание шифра Плейфера, нашедшего широкое применение в начале нашего века.

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

Буквы биграммы (/, у), / Фу (являющейся шифрвеличиной) находятся в данной таблице. При зашифровании би­ грамма (/,у) заменяется биграммой (& ,/), где к и / опреде­ ляются в соответствии с правилами 1-3.

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

2. Если / иу лежат в одной строке, то к и / — буквы той же строки, расположенные непосредственно справа от / и у 113

Iлава Ь

соответственно. При этом если одна из букв — последняя в строке, то считается, что ее “правым соседом” является пер­ вая буква той же строки.

3. Аналогично, если / и у лежат в одном столбце, то они заменяются их “соседями снизу”.

Наглядно правило зашифрования можно проиллюстриро­ вать следующим образом.

В случае 1:

В случае 2:

/ к .• у /

В случае 3:

При зашифровании открытый текст представляется в ви­ де последовательности биграмм. Если текст имеет нечетную

114

Шифры замены

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

Пример (шифра Плейфера)

Пусть шифр использует прямоугольник размером 5 х 6 , в который записан систематически перемешанный русский 30буквенный алфавит на основе ключевого слова командир:

к

О

м

а

н

д

и

Р

б

в

г

е

ж

3

л

п

с

т

У

ф

X

ц

ч

ш

щь ы э ю я

Зашифруем фразу “автором метода является Уитстон”. В качестве “пустышки” будем использовать редкую букву ф.

Представим фразу в виде последовательности биграмм:

АВ ТО РО МФ МЕ ТО ДА ЯВ ЛЯ ЕТ ТЯ УИ ТС ТО НФ

(Нам пришлось дважды вставить “пустышку”.)

В соответствии со сформулированными правилами полу­ чаем шифртекст:

ВП ЗД ЗР ОХ ДБ ЗД КН ЭЕ ТЫ ТШ ШД ЩЖ ЖТ ЗД 04

или без пробелов

впздзрохдбздкнэетытшшдщжжтздоч

115

Iлава 5

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

Шифрвеличинами для другого широко известного блоч­ ного шифра — шифра Хилла (названного по имени Лестора Хилла) — являются п -граммы открытого текста (« > 2 ), представленного некоторым числовым кодом (так что алфа­ витом открытого текста служит кольцо вычетов по модулю мощности алфавита Ът).

Правило зашифрования представляет собой линейное преобразование кольца Ът \ если х = (хХ9...,хп) — «-грамма открытого текста, к = (ку) — некоторая обратимая матрица

над Ъ (ключ) и У =

— «-грамма шифртекста, то

у ^ = Е к(х) = к • .

Соответственно х ^ = В к (у) = к~1у ^,

где к~] — матрица, обратная к матрице для к .

Подчеркнем, что матричные операции здесь производятся над кольцом Ъ .

Проиллюстрируем введенное определение примером.

Пример (шифра Хилла)

Положим п = 4 и зашифруем фразу:

без труда не вынешь рыбку из пруда

записанную в 30-буквенном русском алфавите. Условимся о числовом кодировании букв в соответствии с таблицей:

116

Шифры замены

 

 

 

 

 

 

 

 

 

 

 

 

 

А Б В Г д Е Ж 3

И К Л М Н О П

1

18

11

6

0

15

20

5

 

21

23

13

4

16

8

25

Р С Т У Ф X ц Ч Ш щ Ь ы Э Ю Я

24

10

19

26

12

2

28

7

 

17

22

3

29

27

14

9

В качестве ключа выберем матрицу

 

 

 

 

 

 

 

 

 

 

"1

2

 

3

4"

 

 

 

 

 

 

 

 

 

 

 

1 2

 

3

5

*

 

 

 

 

 

 

 

 

 

к =

 

3

5

 

 

 

 

 

 

 

 

 

 

1 3

 

 

 

 

 

 

 

 

 

 

 

,1

3

4

5;

 

 

 

 

 

 

являющуюся обратимой над кольцом 2 30. Несложно убе­ диться в том, что

г 5

28

1

27^

, _ 0

29

1

О

О

0

29

1

,29

1

0

0 ,

Запишем открытый текст по столбцам матрицы Т :

"18 241616 24 26 24^

15 261515 29 2126

Т =

5 0 11 1718 5 О , 19 1 29 3 23 25 1 ,

и получим шифртекст в виде столбцов матрицы к • Т :

117

Глава 5

 

2

3

4^

/ 18 241616 24

26 24ч

1

2

3

5

 

15

261515 29

2126

1

3

3

5

 

5

0

11 17 18 5

О

,1

3

4

5, чх 19 1

29

3 23 25

1

 

 

 

^19 20 15 19 18 3 20

л

 

 

 

 

8 21 14

221128 21

 

 

 

 

 

2317 29

7

101917

 

 

 

 

28

17 10

24 28

24 17

 

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

токцжишшеюыстщчрбвсцъцтржишш

Замечание. Из соображений удобства в применении по­ лучили широкое распространение шифры, для которых пра­ вила зашифрования и расшифрования идентичны. Такие шифры называются обратимыми. Шифр Хилла является об­ ратимым в том и только том случае, когда к~хк , или иначе:

к2 = Е , где Е — единичная матрица. Матрица, удовлетво­ ряющая этому свойству, называется инволютивной.

Из курса алгебры известен критерий обратимости квад­ ратной матрицы над кольцом Ът .

Теорема. Квадратная матрица М над кольцом Ът об­ ратима тогда и только тогда, когда (|Л/|, т ) = 1, то есть определитель \М\ взаимно прост с т .

Заметим, что правило зашифрования Ем (с матрицей

М п/п) в шифрсистеме Хилла является обратимым линейным

118

Шифры замены

преобразованием «-мерного модуля 2" . Такая функция явля­ ется лишь одним из примеров простого задания обратимого преобразования 2 ” —» 2" , являющегося, очевидно, биекцией на 2 ” . Любая же такая биекция потенциально может рас­

сматриваться как правило зашифрования блочного шифра простой замены (если п — размер блока), выбираемого неко­ торым ключом. Поскольку число обратимых линейных пре­

образований модуля 2" составляет (при п > 2 , т > 2 ) лишь

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

Замечание. Можно проверить, что имеется всего 24 об­ ратимых преобразования / : 2 2 —» 2 2, причем все они явля­ ются аффинными, то есть для любого х е 2 2 они имеют вид

/ ( х ) = х- А + Ь ,

где А — некоторая обратимая 2 x 2 -матрица над 2 2, и

Ь е Ъ \.

Естественным обобщением шифра Хилла является аф­ финный блочный шифр, правило зашифрования Е ^ (х)

которого определяется формулой (1). При этом А является обратимой п х п матрицей, а Ь — фиксированным п-

мерным вектором над 2 да.

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

Увеличение значности шифрвеличин резко усложняет попытки вскрытия открытого текста по известному тексту криптограммы. Однако свойство линейности, присущее рас-

119

I лава Ь

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

Предположим, что известны

п -1-1

пар блоков открытого

текста

и соответствующих

им

блоков шифртекста:

(х0, у 0

( х„, у„ ) , Х „ ^ б 2 ” , полученных на одном ключе

(А,Ь) . Требуется этот ключ найти.

Для решения поставленной задачи положим:

х (,) = х , - х 0, у о) = у , - у 0,г = 1,п.

Тогда 5с(,) и у {,) оказываются связанными линейным соот­

ношением у (/) = х 0) • А .

Аналогичное соотношение имеет место и для матриц

 

 

 

( у 0 ) )

 

 

х =

 

и

7 =

 

 

 

 

 

 

V

х (и)

^

у(/”

)

 

 

 

)

 

 

 

 

из которого

находим

матрицу

А

в виде

произведения

А = Х ~1 У .

 

 

 

 

 

 

 

 

Наконец,

вектор Ь

находится,

например,

по формуле

Ь = у 0 - х0 • А . Естественно, что

такое решение корректно

лишь в том случае, когда матрица X

 

обратима.

 

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

Более детальное рассмотрение блочных шифров простой замены будет продолжено в гл. 8.

120