Бабаш А.В., Шанкин Г.П. Криптография (распознано не всё)
.pdf251
Е Т = |Х |Х Е |5 ] |, 1=0
связанных с проведением алгоритма. Для этого достаточно оценить средние значения Е|8ф
Для произвольного целого числа 1>0 выделим в графе переходов авто мата А все пути длины I, исходящие из вершины »о (отождествляя все дуги вида (х,а), аеА). Таким образом мы получим некоторый мультиграф Г(1).
Обозначим через В(1) событие, заключающееся в том, что мультиграф Г(1) будет деревом, а через
|
|Х Г +1 -1 |
|
|
IX | -1 |
|
число вершин дерева высоты 1. Тогда |
|
|
■ |
( |5 |- 1 ) ( |5 |- 2 ) ...( |$ |- уу0 ) + 1) |
[ З Г М - ' - С ^ Г ^ Ч - . . . |
1 и ' |
| з г (1Н |
| з г (1Н |
и при |8|—ко и фиксированных значениях остальных пааметров получаем
|
Р(В0)=1-О(-^-). |
|
I Ь | |
Откуда |
|
Е(|3[|)=Р(В(1))Е(||8[|/В(1))+Р( В(1) )Е(|81|/ В(1) )= |
|
1 |
_ 1 |
=(1-0(— |
))Е(||8,|/В(1))+0( — )Е(|81|/В(0). |
1^1 |
155 I |
Здесь через В(1) обозначено событие, состоящее в том, что мультиграф Г, не будетдеревом.
Заметим теперь, что при фиксированном I с ростом |3| величины Е(||8,|/В(1)), Е(|8т|/ В(1) ) ограничены (например, числом вершин на уровне I де рева). Поэтому из предыдущей формулы вытекает
Е(|8(|)= Е(|8,|/В(0)+ 0(-^ ->. 1$1
По формуле условных математических ожиданий при любом 1>1,1<к
имеем
В Д /В О И -^ Р О З ,-! 1= 1/В(1))Е(|3, |/В(1),|5,_1 1= д .
}
252
1
Расчет Е(|8,|/В(1),|8ц|=.)) проводится из следующих соображений. Каж дое состояние 8,е8, является приемником некоторого состояния 8ц из 8ц. Чис ло приемников состояний из 8ц равйо ЛХ|, при этом один из таких приемников по условию задачи заведомо принадлежит 8,, 1<к. На каждом из остальных ||Х|- 1 приемниках имеется нужное нам значение «у» с вероятностью | Ар1, то есть с вероятностью |Ар* каждый из ЛХ|-1 приемников принадлежит множеству 8,.
Следовательно,
Е(|8,|/ВО),|8ц Н )= 1 + 0 |Х |-1 )|А |-1
И
Е(||8,|/В(0)=ХР (|5мН/В(1)) (1+0|Х|-1) | А р ' ) =
) ' |
|
|
1+|Х| I Ар1Х |
р (|ЗмМ/в(*)М |
- 1Ар’= |
) |
|
|
1+|Х| I Ар1Х |
р (|8цН/В(е-1)Л |
- 1Ар1. |
Таким образом,
Е(||8(|/В(1))= (I А|—11) |Ар‘ +|Х|| Ар1Е(||8ц|/В(1-1)). .
Это равенство справедливо и при 1=1, если положить Е(||80|/В(0))= Е(||80|)=1. Умножим обе части равенства на (|Хр‘|А|)!
([ХИАр1)* Е(||8,|/В(1))= (I А|-1|) (Ар'ОХГЧ^Уч- (|Хр‘|А|)ы Е(||8ц|/В(Ы)). Суммируем последнее соотношение по I от 1 до ] и учитывая, что
Е(||80|/В(0))=1, имеем
X I А|‘|ХР* Е(||8(|/В(1))+ |Ар|Хр] Е(||^|/ва))=
= ( 1 А|-.|)|А-& хI- |А|)'+е(||8о|/в(0))+ |
Й хI- |А|)‘ Е(,|3,|/В(0). |
1=1 |
1=1 |
Откуда |
|
Е(|^|/во))=|хрцАр^(| А| 11) |Ар’ X I х г* |А|‘+ 1]= |
|
1=1 |
|
=|хпАрЧ| А|—11) |Ар‘ ^ | х |
|А|Н= |
‘1=1
253
=|хнАг+ (\А|-1 |) |А-1[|хр|Аг-1 ] (Аг'охнАг1—I)1.
Таким образом,
Е(|83|)=|хр|А|^+ (I А |-1 |) |А г'[|ХйАг-1] (Аг'ОХцАг'-о-'+ос^г1).
Окончательный результат получается подстановкой этого значения в полученную ранее формулу
■ Е Т = |Х |]Г е ^ |. ,
1=о
Опробование в методе использования гомомор физмов
Напомним сначала основйые понятия, связанные с определением гомо морфизма автоматов.
Пусть А=(1а,8а,Оа, (5,Л)161,((3,А)|е|) и В=(1в,8в,Ов, (5,в);е 1,СР1В)1еО два
автомата. Тройку сюрьективных отображений (ц/,ф,г|) \|/: 1д—>1в> ф:§А—>§в; грОд—>Ов
называютгомоморфизмом автомата А на автомат В, если для любых 1е1А, зе8А выполняются следующие равенства:
ф61А3=6у1Вф8,
Г1Р1А8=Ру®ф8.
Автомат В в этом случае называют гомоморфным образом автомата А. Если отображения (\|/,ф,г|) биективны, то гомоморфизм называют изоморфизмом ав томатаА на автомат В.
Следующее, легко проверяемое исходя из определения гомоморфизма, утверждение является основой для построения методов определения начально го состояния автомата А по его входной й выходной последовательностям.
УТВЕРЖДЕНИЕ. Пусть 3=1(1),1(2),...,1(Ь) - произвольная входная по следовательность автомата А, 8 - произвольное его начальное состояние, А($,3)=У=у(1),у(2),...,у(Ь) - выходное слово автомата А, отвечающее его на чальному состоянию зе8А и входному слову 3, а (ф,ф,г|) - гомоморфизм А на В.Тогда выходное слово В(ф8,\|/3) автомата В, соответствующее его начально му состоянию фзе8в и входному слову фЗ=\|л(1),ф1(2),..,,ф1(Ь) есть
В(ф8,\]/3)= г|у(1), туу(2),..., г|у(Ь)
Рассмотрим задачу определения начального состояния 8 автомата А по известным входному слову ЗеГ1"и выходному слову А(з,3)=У, то есть задачу нахождения решений зеЗд уравнения А(з,1(1),1(2),...,1(Ь))=у(1),у(2),...,у(Ь).
ч254
При этом предполагаются известными автоматы А, В и гомоморфизм (ф,ф,г|) А на В.
На основании сформулированного выше утверждения исходную задачу для автомата А можно редуцировать в аналогичную задачу для автомата В, именно будем искать все решения ф8бЗв уравнения
В(ф§, ф1(1),ф1(2),...,\|/1(Ь)= цу(1), г|у(2),..., г|У(Ь)- Цель такой редукции заключается в том, что автомат В может иметь
более простое строение, чем автомат А (например, иметь меньшее число со стояний, или быть линейным). Поэтому для него задача определения начально го состояния может решаться проще (с меньшей трудоемкостью), нежели ис ходная задача. Однако при такой редукции теряется часть первоначальной ин формации, так как произошла замена последовательностей 3, У на последова тельности фЗ, г)У. В этой связи в результате редукции йсходная задача реша ется с дополнительной многозначностью, то есть получаются лишние решения. Для того чтобы их отбросить, надо снова использовать первоначальную ин формацию. Поэтому, найдя все решения 8(фЗ,г|У) уравнения В(ф8,ф1(1),ф1(2),...,У|п(Ь)==г|у(1), г|у(2),..., г|у(Ь), а затем все состояния 8еЗА, для которых ф8б5(фЗ,1]У), следует проверить, какие из этих состояний являются решениями первоначального уравнения
А(8,1(1),1(2),...,1(Ь))=у(1),у(2)„.,,у(Ь).
При расчете трудоемкости данного метода будем использовать сле дующие предположения: каждое из рассматриваемых уравнений
А(8,1(1)Д2),... Д(Ь))=у(1),у(2),... ,у(Ь),
В(ф8, ф1(1),1|/1(2),...,1|/1(Ь)= ЛУ(1), Т1У(2),—, ЛУ(Ь)
имеет единственное решение; нахождение решения второго уравнения прово дится тотальным методом; не учитывается трудоемкость определения всех ре шений ф 'вв уравнения ф8=8В, а последующий отсев этих решений проводится тотальным методом в автомате А.
Трудоемкость метода гомоморфизма слагается из трудоемкости опре деления решения 8В уравнения
В(ф8, \|п(1),\|п(2),...,\|л(Ь)= ЛУ(1), ЛУ(2),-.-, ЛУ(Ь),
18В I +1 |
(среднее число опробований) и среднего числа опробо- |
которая равна — - |
|
2 |
1 |
ваний состояний 8€ф_18В в уравнении
А(8,1(1),1(2),...,1(Ь))=у(1),у(2),...',у(Ь),
которое равно — (|ф_,8В н-1|).
255
При необходимости общую трудоемкость метода усредняют по воз можным значениям |ф-18в|, а также рассчитывают ее в менее жестких предпо ложениях.
. Опробование в методе встречных атак для опре деления начального состояния последовательного соединения автоматов
Рассмотрим задачу определения состояний 31,52 последовательного сое
динениядвух автоматов А1=(1(1),8(1),0(1),81,р1) и А2=(1(2),8(2),0(2),82,р2), 0(1)=1(2) по известному входному слову Зе1(1)ь и выходному слову УеО1",
0(2)=О.
Будем предполагать, что автомат А(2) обратим, то есть по его началь ному состоянию и выходному слову можно однозначно определить его входное слово.
Разобьем слова 3=1|,12,...,1ь У=уьу2,...,уь на отрезки длины I, V, Ь-1-у.
3=30)3(2)3(3); 3(1)е1(1)*, 3(2)е1(1)у, 3(3)€1(1)ы-у; У=У(1),У(2),У(3); У(1)еО', У(2)еОу, У(3)еОы‘у.
Алгоритм решения задачи состоит из трех этапов, которые проводятся для каждого слова МД1 )=21,22,...,2, из 0(1)*.
На первом этапе для слова 2( 1 )=2!,22,... ,2, и каждого )€ 1,1 последовате
льно строят множества 81(11,12, 22,...,2!)={з(1): з(1)б 8(1), А1(з(1),
• •,!)) 2],22,.. >,2)}.
Для чего при слове 21,22,...,2, проводят последовательное опробование $(1)еЗ(1). Опробуя все состояния з(1)еЗ(1), находят множество 8 (;г(), опро буя состояния из 81(1ь2,), находят 81(11,12;2|,22) и так далее до определения множества 81(3(1),2 (1)), для чего требуется провести
Т,(А,)= |3(1)|+|81(1ь21)|+...+ 181(119..*,1(-1>2,,...,2^_()|
опробований (на один такт работы автомата). Далее для каждого 8е81(3 (1 ),2 (1)) при данном 2 (1) вычисляют 2 (2)еО (1 )у, именно
А.(з,3(1),3(2))=2(1),2(2)
и по адресу 2(2) записывают з в память П. Трудоемкость этой части алгоритма есть
Т2(А,)=|3.(3(1),2(1))|(1+у)+|31(3(1),2(1))|, где первое слагаемое является трудоемкостью вычисления адресов, а второе -
число обращений к памяти П. Поэтому для фиксированного 2(1) общая трудое мкость первого этапа алгоритма есть величина Т1= Т1(А1)+ Т2(А1).
256
Второй этап аналогичен первому. Для данного слова 2 ( 1)=2Ь22,...,2( по
следовательно находят множества Зг^ьу,), 32(21,22;уьу2),..., 52(2(1);У(1)),
где 32(2ь...,^;уь...,у])={5(2):8(2)еЗ(2),А2(8(2),21,...,^)=уь...,Уз}. Для нахожде
ния этих множеств потребуется провести Т,(А2)=|3(2)|+| 82(2ьу,)|+...+|32(2,,...,2м;у1,...,у,-1)|
опробований на один такт работы автомата А2. Для каждого з(2)е82(2(1);У(1)) вычисляют 2 (2)
А2(з(2),2( 1),2(2))=У(1),У(2),
что можно сделать в силу обратимости автомата А2. По адресу 2(2) записывают 8(2) в память П. Точнее говоря, по адресу 2(2) находят все з(1)е8(1), содержа щиеся в ячейке с адресом 2(2) и образуют пары (8(1),8(2)). Трудоемкость этой части алгоритма (при фиксированном 2 (1 )) есть
Т2(А2)=|32(2( 1 );У(1)|0+у)+ 152(2( 1);У(1))|, и суммарная трудоемкость второго этапа есть Т2= Т|(А2)+ Т2(А2).
На третьем этапе совокупность пар (з(1),8(2)), содержащихся в каждой адресной ячейке «согласуют» на оставшемся материале. Именно, для каждой пары (з(1),з(2)) опробованием проверяют выполнение равенства
А(з(1),з(2), 3(1),3(2),3(3))=У(1),У(2),У(3), которое по определению пар (з(1 ),з(2)) может не выполняться лишь на послед
них Ь-1-у тактах работы последовательного соединения А=А,-»А2 автоматов
А), А2. Трудоемкость такой проверки в числе опробований (на один такт) равна
Тз=|3(3(1),3(2);У(1),У(2))|(1+у+1)+|8(1,,...,11+у+1.;Уь...,У1+у+1)|+...
...+|30ь...,1ц;у.,...,Уи)|-НЗ(3(1),3(2);У(1),У(2))|, где 8(11,...,^;у1,...,у}) - множество пар (8(1),з(2))е 8( 1)х8(2), для которых
А(з( 1),з(2),11,... ,^)=у1,... ,у).
Последнее слагаемое в формуле для Тз учитывает обращения в память П. Общая трудоемкость трех этапов при фиксированном 2(1)еО(1)‘ есть
Т(2(1))=Т1+Т2+Тз. Все три этапа алгоритма проводятся для каждого 2(1)е0(1)‘. Поэтому общая трудоемкость метода есть
Т==|0(1)|* Т(2(1)).
При необходимости оценивают среднее значение Т, исходя из возмож ных значений параметров З^ ьЬ ,...,^ 2Ь22,...,2|), 52(2|,...,2^у|,...,у}), 3(1,, ...,1];уь...,у|).
257
Параграф 5.4 Принципы построения статистических методов
криптоанализа.
Принципы построения статистических методов криптоанализа весьма многообразны. В данном параграфе мы сформулируем ряд таких принципов, которые используются в известных статистических методах определения клю чей шифрсистем.
Ниже под моделью А* автомата А мы понимаем некоторый новый ав томат, позволяющий с помощью А* решать поставленную для А задачу. Обыч но эти автоматы зависимы и А* имеет некоторые количественные характерис тики «похожести» на А.
1. Рассмотрим задачу восстановления ключа х=(ХьХ2) по известной выходной последовательности А(х)=уьУ2>-"Уь--- шифрующего автомата А с помощью
построения его модели А*.
Пусть модель А* шифрующего автомата А такова, что ее выходная по следовательность при произвольном ключе х=(ХьХг) зависит только от первой части XI ключа и при случайно и равновероятно выбранном ключе х=(ХьХг)
между последовательностями
А(Х 1 ,Х 2 )= У 1 ,У 2 ,...,У Т ,
А*(х0 =У*1,У*2,...,У*т
имеется кореляционная связь, а при ключах вида х=(ХьХ2) и X 1^X1 такой связи
в последовательностях
А ( х ь Х 2) = У ь У 2,...,У т ,
А*(Х'0 =У'ьУ'2,...,У'т
не проявляется.
а). Один из способов нахождения истиной части Х\ ключа %по выходной по следовательности А(хьХг) состоит в опробовании вариантов х' 1 в А*, т. е. вы числении последовательности А*(х' 0=у' |,у'г>- • -,У т для каждого варианта х'1 и
ввыявлении статистическим методом корреляционой зависимости между А(ХьХг) и А*(хО при истинном варианте б). Пусть при истиной части Х1 ключа х=(ХьХг) последовательности А(хьХг),
А*(хО близки по Хэммингу. Предполагаем, что такой близости нет при ложной части Х1 ключа х=(ХьХг)- В этом случае задачу определения истиной части %\ ключа можно свести к решению уравнения А*(хО =у*ьУ*2>--->У*т с искажен
ной правой частью, а записав это уравнение в координатной форме, - к реше нию системы уравнений
258
Ф*.(Х1)=У*., 1е{1,...,Т}
сискаженной правой частью уьу2,...,ут(см.параграф 5.5).
2.Рассмотрим задачу определения части %\ ключа х=(ХьХ2)^К1хК2 из уравне ния Ф(ХьХ2)=У, где Ф: К1ХК2—>У, уеУ. Предположим, что она решается мето дом частичного опробования. Именно, опробуются все варианты х'1 €К( и для
каждого варианта проверяется разрешимость уравнения Ф(х ьХг)=У относите льно %2-
Положим: У'(Х1)= {У=Ф(ХьХ2)-’ (ХиХг)^ {XI}ХК2) и введем индикаторную
функцию:
хч х .-у )" !1’ |
если’ |
У € У '(Х ,). |
О, |
если |
у й У '(Х 1) |
определенную на К]хУ'. |
|
|
В этих обозначениях критерий разрешимости уравнения Ф(х ьХг)=У относительно %2описывается логическим правилом
,Х'(ХьУ)=0 ■=> XI —ложный вариант,
Х'(ХьУ)=1 => XI —истиный вариант.
Поиск эффективного критерия разрешимости уравнения Ф(х ьХг)=У в веденных терминах сводится к поиску «легко» реализуемых алгоритмов вы числения индикаторной функции или, что то же самое, к конструктивному описанию множеств У'СхО, Х^^ч.
Нередко, ввиду сложности отображения Ф, найти индикаторную функ цию не удается, т.е. не удается конструктивно описать множества У'(Х|)>
XIеКр Чтобы обойти эту трудность, обычно пытаются аппроксимировать мно жества У'(хО, XI некоторыми «хорошими» множествами У(хО, Х1е Кь Если
такие множества найдены, то опробование вариантов XIеК] проводят на основе вычисления значения новой индикаторной функции
«*,*>-{ *• во"-увУ<ь>.
О, если уёУ С хО
Естественно, при использовании аппроксимаций в принятии решения по пра вилу
Х(хьу)=0 |
=> |
XI - ложный вариант, |
Х(хьу)=1 |
=> |
XI _ истиный вариант, - |
могут возникать ошибки. Далее процедуры такого вида будут называться X- процедурами (Х-критериями).
Характеристики Х-процедур. Пусть значение у(0)=Ф(х(1),х(2)) полу чено при неизвестном ключе (х(1),х(2))- Будем определять часть ключа х(1) с помощью Х-процедуры. Оценим эффективность метода определения части
259
ключа XI- В качестве меры эффективности можно рассматривать следующие параметры.
1.Трудоемкость вычисления функции X (аппроксимирующей функции индика торной функции).
2.Средняя мощность множества (хь Х(хьу(0))=1} при случайном и равноверо ятном выборе ключа (х( 1Хх(2))еК,хК2=К. Эта величина характеризует число вариантов первой части ключа, оставшихся для дальнейшей обработки с целью
определения использованного полного ключа (хО)>Х(2))- 3. Вероятность не потерять истиный вариант части ключа
Р(х(1)е{Хь ^(ХьУ(0))=1})-
Описание последних двух параметров на языке математической статистики.
Введем в рассмотрение множество пар
Т={т=(Хь X): Х.еКь Х=(хОШ2))еК}
и зададим на этом множестве меру Рт(тО=р(хОР(х)> теТ, где р - равномерная мера на множестве К], а Р - некоторая вероятностная мера на множестве клю чей К.
Рассмотрим следующие подмножества множества Т. Т(0) = {т=(Хь X): Х^К,, Х=(х( 1 ),Х(2»еК, Х1=Х(1)Ь Т(1)= {т=(хь X): Х.еКь Х=(х(1),Х(2))еК, х.*Х(Ш-
Введенная основная мера Рт индуцирует на этих подмножествах соот ветствующие условные распределения
РТ(ог Рт{х/1€Т(0)} и РТ(1Г Рт{х/т€Т(1)}.
Если исходная мера Р равномерна, то эти условные распределения представля ют собой равномерные распределения на соответствующих множествах Т(0),
Т(1).
На первом этапе решения задачи определения части ключа XI из урав нения у(0)=Ф(х(1),х(2)) нас интересует только один вопрос: в каком из мно жеств Т(0), Т(1) лежит соответствующее т=(хь(х(1).Х(2)))- Отождествим эту задачу с задачей разделения с введенных на Т(0), Т(1) распределений РТ(о>, Рт(1)
и посмотрим на Х-процедуру как на статистический критерий разделения этих двух распределений (двух гипотез Т(0), Т(1)). Этот критерий, обозначим его символом (Т(0),Т(1),Х), в общем случае допускает ошибки с соответствующими вероятностями - ошибками критерия:
а= РТ(0){Х(хь у(0))=0} -
вероятность события Х1=х0)> ПРИ условии Х(хь у(0))=0 и Р=Рт(1){Х(х,,у(0))=1}-
вероятность события Х1*Х(1)> ПРИ условии Х(хьу(0))=1, где у(0)=Ф(х(1),х(2))-
9*
260
Теорема. При любой Х-процедуре и любой мере Р на К параметры л=Р{(х(1)6 (Хь МХь у(0))=1} - надежность Х-процедуры и ЕХ - средняя мощ ность множества {%\. Х(Хь у(0))= 1} при случайном и равновероятном выборе части ключа Х(1)еК] выражаются через ошибки а и р критерия (Т(0),Т(1),Х)в виде
я=1-а, Е(Х)=|К1|[(1-а)|К,Г1+р(1-|К1Г1)].
ДОКАЗАТЕЛЬСТВО. Функция
■МхьуИ 1- если-у еУ (5 " )
0, если уёУ С хО представляет собой индикатор события
XIе (Х ь ^-(Х 1>У(0))= 1}
и поэтому я=1-а.
Далее заметим, что
КХС Х(Хь у(0))= 1}|=| {XI: ЧХи Ф(х(1),Х(2)))=1}|=Х Х(Х„ Ф(Х(1),Х(2)))=
XI
=[К,| Е(Х0( Х(Х|, Ф(Х(1),Х(2)))),
где Е(Х1)(Х(Х1,Ф(Х(1)»Х(2)))) - среднее значение случайной величины Х(ХьФ(Х(1),Х(2)) по возможным значениям Х1бК1 при равномерной мере на К!
(вероятность события: Х(ХьФ(Х(1),Х(2)))=1 при случайном равновероятном вы боре Х1?К1 при фиксированном (Х(1),Х(2))еК).
Усредним теперь значения |К1|Е(Х|)( Х(Хь Ф(Х(1),Х(2))) по всем
(Х(1),Х(2))еК. Получим (будет использована теорема Фубини):
ЩХ)=Е (|{Х1: Х(Хь у(0))=1}|)=|К,| Е(ХьХ(1),Х(2))(Х(ХьФ(Х(1),Х(2)))), где Е(Х|,Х( 1),Х(2))(Х(Х1,Ф(Х(1),Х(2)))) - среднее значение случайной величины (Х(ХьФ(Х(1),Х(2))) при равновероятном выборе Х1еК 1 и случайном выборе (Х(1),Х(2))еК с распределением Р(Х), ХеК 1хКг. Другими словами, величина
Е(Х1,Х(1),Х(2))(Х(Х|,Ф(Х(1),Х(2))))
есть вероятность Р события: Х(Х|,Ф(Х(1),Х(2)))=1. Из определений ошибок а, р по формуле полной вероятности непосредственно получаем
/М 1-а)|К 1Г1+ р(1-|К1Г').
Таким образом, ^-процедуры можно описывать на языке математиче ской статистики.
Построение таких статистических процедур нахождения части ключа Х(1) из уравнения у(0)=Ф(х(1), %(2)) нередко проводят по следующей общей
схеме.