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

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

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

Надежность шифров

Из приведенной таблицы видно, что языки имеют весьма большую избыточность. Что означает, например, избыточ­ ность, составляющая 75%? Это не означает буквально то, что любые 3 из 4 букв текста можно вычеркнуть без потери ин­ формации. Более точно это означает, что при оптимальном кодировании текста (при использовании, например, кода Хаффмена, кода Фано или другого оптимального кода

[ШенбЗ]) его можно сжать до четверти длины без потери ин­ формации.

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

Шенноновскую энтропию Я л , приходящуюся на букву текста, можно определить тем условием, что для п - буквенного алфавита число текстов длины Ь , удовлетворяю­ щих заданным статистическим ограничениям, равно (при дос­ таточно больших Ь ) не п 1 = 2 71оё2" = 2 7' я°, как это было бы, если мы имели бы право брать любые наборы из Ь букв, а всего лишь

М (Ь ) = 2 а'"а .

(5)

По сути, это и есть асимптотика числа осмысленных от­ крытых текстов длины Ь для данного языка Л . Исходя из этого, можно определить энтропию Я Л языка формулой

Я д =1!т(-!-1о8 гМ(А)

'— и

)

161

Iлава 7

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

§ 7.2. Расстояние единственности

Попытки определения истинного ключа шифра по данной криптограмме путем ее расшифрования на всех возможных ключах могут привести к тому, что критерий на открытый текст примет несколько претендентов за открытый текст. Это объясняется не только недостатками критерия. При неболь­ ших длинах криптограмм результат ее расшифрования может дать несколько осмысленных текстов. Например, крипто­ грамму М^А.1\У, полученную при использовании сдвигового шифра (см. гл. 5) для английского языка, порождают два от­ крытых текста МУЕК и АКЕКА, отвечающих ключам Р (=5) и ^ (=22). При этом один из ключей является истинным, а другой — ложным. Аналогичная ситуация может иметь место для любого другого шифра.

Найдем оценку для числа ложных ключей. Для этого рас­ смотрим связь между энтропиями вероятностных распределе­ ний Р(Х), Р(К), Р (У ), заданных на компонентах Х , К , У

произвольного шифра Хв (см. гл. 2). Нам понадобятся неко­ торые дополнительные сведения об условной энтропии двух вероятностных распределений.

Пусть имеются дискретные случайные величины % и /7, заданные вероятностными распределениями Р (^)9Р(?]) . Для них можно вычислить совместное распределение Р(<!;,Г)) и

условные распределения Р(%/у), Р(г//х) для любых фикси­ рованных значений х е у е /7 .

Определим условную энтропию Н{%/у) формулой

162

Надежность шифров

НЦ; / у) = р(х/У) 1о§2 р (х/ у ) .

Усредненная (по всем у ^ Т ] ) величина Н{<^/у) называ­ ется условной энтропией двух вероятностных распределений:

1р) = -'5УЦр(У)-р(х/у) • 1о82 р(х/у)

(6)

У*п

 

(При этом в (6) по определению полагаем \о%2Р{х/у) = 0, ес­ ли Р (х /у ) = 0.)

Величина (6) измеряет среднее количество информации о обнаруживаемое с помощью г/. Известно (см. [ШенбЗ]),

что имеет место неравенство

< Н (<%) , причем равен­

ство

= Н (^ ) выполняется тогда и только тогда, ко­

гда <^,77 — независимые случайные величины.

Назовем

условную энтропию

Н (К /У ) неопределен­

ностью шифра Xв по ключу. Она измеряет среднее количество информации о ключе, которую дает шифртекст. Аналогично вводится неопеределенностъ шифра по открытому тексту

Н ( Х / У ) . Эти величины являются мерой теоретической

стойкости шифра. В этом можно убедиться на основании сле­ дующих рассуждений.

Минимально возможным значением неопределенности шифра по открытому тексту Н ( Х /У ) является 0. Что можно сказать о шифре в этом случае? Ясно, что равенство Н (Х /У ) = 0 выполняется лишь тогда, когда каждое слагаемое

в выражении для Н ( Х /У ) равно нулю:

Р(У) ■Р (х/у) • 1о§2 р (х /у ) = 0 для всех х , у . Согласно принятой договоренности это воз­

можно лишь в случаях, когда (1о§2р(х/у) = 0 или когда

163

( лава 7

1° § 2Р(х/ у ) = 0 5 то есть если р ( х /у ) = 1 при некоторых х, >>. Это означает, что по данному у можно получить суще­ ственную информацию о х , что свидетельствует о слабости шифра. Чем больше Н ( Х / У ), тем меньше информации по­ лучает противник об открытом тексте по криптограмме. Иде­ альной является ситуация, когда Н (Х /У ) = Н ( Х ) . Именно в этом случае шифр можно было бы назвать идеальным или со­ вершенным. Заметим, что (в силу сделанного выше замеча­ ния) такое представление полностью соответствует определе­ нию совершенного по К. Шеннону шифра (см. § 7.3).

Связь между энтропиями компонент шифра дает извест­ ная [ШенбЗ] формула для неопределенности шифра по ключу:

Щ К /У ) = Щ Х ) + Щ К ) - Н ( Г ) ,

(7)

полученная К. Шенноном. Эта формула позволит нам полу­ чить оценку среднего числа ложных ключей.

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

чающих данной криптограмме у е А1 . Предполагается, что

А служит также алфавитом шифрованного текста. Введем обозначение

К(у ) = { к е К : З х е Х , Е к (х) = у}.

Х( у ) есть множество ключей, для каждого из которых у

является результатом зашифрования некоторого осмысленно­ го открытого текста длины Ь .

Если мы располагаем криптограммой у , то число лож­

ных ключей равно |А’(<у)| —1 , так как лишь один из допусти-

164

Надежность шифров

мых ключей является истинным. Определим среднее число ложных ключей к / (относительно всех возможных шифртек-

стов длины Ь ) формулой,

|-о.

 

которая легко приводится к виду

 

К1 = У р (у )-\К (У)\~1-

(*)

уеУ

 

Теорема.Для любого рассматриваемого шифра

с рав­

новероятными ключами при достаточно больших значениях

Ьимеет место неравенство

\к \

<9»

где КА избыточность данного языка.

Доказательство. Согласно формулам (3) и (4), а также ус­

ловию X

при достаточно большом Ь получаем:

 

 

Н { Х ) = Н 1 * 1 - Я Л = 1 -(1 -Д л )-к> Е 2 и.

(10)

Так как У с; А 1', то

 

Н ( У ) < 1о§ 2\у \< 1о§ 2\а 1 | = 1о%2 п 1 = I • 1о§2 п .

 

Отсюда, а также из формулы (7) для неопределенности шифра по ключу и формулы (10), получаем:

Н ( К /У ) = Н ( Х ) + Н (К ) - Н(У) *

 

* Н(К) + Ь • (1 -

КА ) • 1оё2 п - Н(У) >

 

> Н ( К ) + 1 • (1 -

7?Л)• 1о§2 п - Ь - 1о§2 п =

 

= Н (К ) - 7,• 7?Л • 1о§2 п ■

(П )

165

[ лава 7

Найдем соотношение между неопределенностью шифра по ключу и числом ложных ключей. Из определения условной энтропии и равенства (8) получаем:

Н ( К / У ) = ^ р ( у ) ■Щ К / у ) < ^ р ( у ) ■1оё21*(>0| <

уеУ

уеУ

Г

\

- 1°ё: Х р СуН ^ О ) !

= 1о§2(лг^ + 1).

Мы воспользовались известным неравенством Иенсена [Бил69] применительно к функции действительного перемен­ ного /( х ) = 1о§2 х .

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

ш

ниях I,,(I

е

р,,

...,рт >

0,

] Г /?7 = 1 ,

6

(а,в) и любыхРи

Рт ^

О/

^ Р '

~

*' ВЬ|‘

 

 

 

 

 

 

;=1

 

 

 

 

 

т

 

Г/ т

\

 

полняется

неравенство

 

 

 

 

Для

 

 

 

;=1

 

^ '=1

У

 

выпуклых (вниз) функций знак неравенства — противопо­ ложный.

Таким образом, получаем неравенство

 

Щ К / У ) < \ о ё 2 ( к , + 1 ) ,

(12)

которое имеет место при достаточно большом

Ь . Из (И ) и

( 12) следует, что

 

1о§ 2(к ь + 1) ^ н (к ) ~ 1 К \ - 1оВ2 п ■

Условие равновероятности ключей шифра максимизирует энтропию Н (К ) . Это дает нам неравенство

166

НаОежность шифров

1о82

+1)>1о§2|^|-1-/гл -1оЕ2 п,

 

потенцируя которое получаем искомое неравенство (9).

 

Назовем расстоянием единственности для шифра

на­

туральное число (обозначим его Ь0), для которого ожидаемое

число ложных ключей к*Л равно нулю. По сути, расстояние

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

Для получения оценки расстояния единственности для поточного шифра с равновероятными ключами воспользуемся неравенством (9). Непосредственно из этого неравенства сле­ дует, что

К1 + 1

откуда при к 1 = 0 получаем |АГ| < п 1 Пк и, следовательно,

КА -1о§ 2 л

Минимально возможное значение Ь в этом неравенстве и принимается за Ь0. Таким образом

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

замены с параметрами п - 26, |А| = 26!, Яа = 0,5 формула

(13) дает оценку

167

I лава 7

88,4

= 38.

0,5-4,7

Это значит, что для английского языка в среднем по криптограмме длиной около 40 можно однозначно определить открытый текст, что приблизительно соответствует практиче­ скому опыту.

Замечания

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

приблизить величиной Н 2 и так далее.

2.В наших выводах о числе ложных ключей и расстоянии единственности для поточного шифра предполагалось,

что число ключей \к\ рассматриваемого шифра является

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

3.Формулу расстояния единственности можно применять и для блочных шифров. В этом случае шифр можно рас­

168

Надежность шифров

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

К а

(грубым приближением для нее служит отношение

).

П

§ 7.3. Стойкость шифров

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

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

В криптографии с секретным ключом обычно рассматри­ вают следующие криптоатаки.

Атака на основе шифртекста: криптоаналитик располагает

шифртекстами у х = Ек{( х , у т = Ект(х т), отвечаю-

169

\лава 1

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

х19г = 19т9 (или соответствующий ключ

исходя

из

необходимого числа т криптограмм, или

убедиться

в

своей неспособности сделать это. В качестве частных слу­ чаев возможно совпадение ключей: кх =... = кт или совпа­

дение открытых текстов: х х= ... = х т.

Атака на основе известного открытого текста: криптоана­ литик располагает парами (хХ9у х)9...9(хт9у ) открытых и

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

когда кх- ... = кт, требуется определить ключ к или,

убедившись в своей неспособности сделать это, опреде­ лить открытый текст хт+х еще одной криптограммы

у т+х = Ек(хт+1), зашифрованный на том же ключе.

Атака на основе выбранного открытого текста: эта атака отличается от предыдущей лишь тем, что криптоаналитик имеет возможность выбора открытых текстов хХ9...9хт.

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

Атака на основе выбранного шифртекста: эта атака отлича­ ется от второй атаки лишь тем, что криптоаналитик имеет

возможность выбора шифртекстов у Х9...9у т. Цель атаки

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

Атаки на основе выбранных текстов считаются наиболее опасными. Иногда к указанным атакам добавляют и другие.

170