Шемякин лекции 2023 / Алфёров А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии
.pdfШифры замены
($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