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