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

Бабаш А.В., Шанкин Г.П. Криптография (распознано не всё)

.pdf
Скачиваний:
613
Добавлен:
28.03.2016
Размер:
11.75 Mб
Скачать

231

но хороша ложка к обеду! В ряде случаев не полученная вовремя информация теряет свою ценность. Так, сведения о погоде, о временных дорогах и перепра­ вах и т. д. теряют свою ценность по истечении определенного времени. Учет «старения информации» может быть проведен аналогично учету порчи про­ дуктов питания на овощных и продовольственных складах, аналогично учету старения словарей, т. е. учету не используемых слов из старых словарей. Такой учет может проводится по так называемому правилу «постоянного процента», Щ1)=и(0)ед' , здесь 11(0) - начальное количество «продукта», 11(1) - количество

«продукта» через I единиц времени. Эту же формулу иногда записывают в виде Щ1:)=11(0)(1- а)‘, а - коэффициент старения 0<а<1 .

Параграф 5.2 Принципы построения методов определения ключей

шифрсистем .

Пусть (Х,У,К,1) - модель шифра по К. Шеннону. Рассмотрим задачу определения ключа х^К по известным открытому х и соответствующего ему шифрованному у текстам, то есть задачу нахождения решения %уравнения

Г(х,х)=у Частным случаем этой задачи является задача определения ключа х по

известной выходной последовательности у автономного шифрующего автомата А, которая сводится к нахождению решения уравнения

А(х)=у.

К решению уравнения вида

Ф(х)=У,

(где Ф: К—»У), сводится и первая поставленная задача. Действительно, так как С ХхК—»У, то при фиксированном хеХ индуцируется отображение Ф=ГХ: К—»У, Ф(х)=Г(х,х).

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

Ф(х)=У-

В ряде случаев такие уравнения записываются в «координатной фор­

ме»:

Ф.(ХьХ2,..-,Хп)=У., *е{1,...,Т}.

Здесь: Ф„ 1е {1,...,Т} - координатные функции функции Ф, Х=(ХьХ2,---,Хп)> У=(УьУ2,-..,Ут).

232

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

Ниже дается краткое описание базовых алгоритмов и методов сведения

к ним.

Базовые алгоритмы: алгоритмы поиска, алгоритмы решения систем линейных и нелинейных уравнений над различными алгебраическими структу-

^рами (поля, кольца и т. д.), итерационные методы.

Каждый базовый алгоритм, как и метод сведения к нему, содержит ши­ рокий круг разнообразных методов, связанных собственной «иерархией». Ниже приводится их краткая характеристика.

Алгоритмы поиска. Любой алгоритм нахождения решения х' уравнения

Ф(х)=У представляет собой последовательность действий на основе системы тестов и

может быть описан как алгоритм поиска элемента % в массиве К. В криптогра­ фической литературе под алгоритмами поиска нередко понимают узкий класс алгоритмов поиска - метод последовательного перебора (метод тотального опробования), в соответствии с которым опробуются поочередно в некотором порядке элементы %множества К. Для каждого опробуемого варианта %вычи­ сляется ух=Ф(х) и сравнивается с у по критерию на совпадение. При принятии решения о несовпадении ух с у опробуемый вариант %отбраковывается. При известной структуре (частичной структуре) множества К применяют «упорядо­ ченный», «направленный» перебор элементов из К. Так, например, при струк­ туре множества «больше - менше»:

У1 2<* •*<У|К|

для нахождения номера заданного элемента у сравнивают у со «средней точ­ кой» у[|Г2|/2] массива и выбирают ту половину его, в которой лежит у, затем •

сравнивают у со «средней точкой» выбранного «половинного массива» и так далее до идентификации элемента у. Число операций такого способа оценива­ ется величиной 1о§2К. Иногда удается сгруппировать элементы массива в «лег­

ко различимые» между собой группы и вначале определять номер группы, в . которой лежит у, а затем определять номеру, ведя поиску в этой выделенной группе. Сократить число операций при структуре ключей «больше - меньше» возможно, если использовать предварительную кодировку у-ов и «удобно» расположить у-ки в соответствии с их адресами (см. Зубков А.М., Клыкова Н.В. Построение баз данных с ограниченным временем поиска. Симпозиум по прикладной и промышленной математике. Тезисы доклада. 2001 г., стр. 185186).

233

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

Алгоритмы решения систем линейных и нелинейных уравнений над раз­ личными алгебраическими структурами (поля, кольца и т.д.). Для решения си­ стемлинейных уравнений в этих структурах существует широкий круг извест­ ных «стандартних» алгоритмов, таких как - алгоритмы Гаусса, Штрассена, Коновальцева для решения общих систем линейных уравнений над конечными полями и кольцами; алгоритмы решения некоторых специальных систем ли­ нейных уравнений - например, ганкелевых систем или систем с разреженной матрицей. Из алгоритмов решения систем нелинейных уравнений отметим ал­ горитм Лазера.

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

Методы частичного опробования. В методах этого класса пытаются «разбить» ключ х на две части хьХ2 и представить его в виде х=(ХьХг) таким

образом, чтобы при каждом варианте уравнение Ф(ХьХг)=У относительно %2 решалось достаточно «просто», например, с трудоемкостью меньщрй, чем по­ лный перебор возможных значений %2. При выполнении этих условий решают уравнение Ф(ХьХ2)=У перебором возможных вариантов х '1 с последующим ре­

шением уравнения Ф(х'ьХг)=У Для каждого опробуемого варианта х'ь Приме­ ром такого метода служит метод решения нелинейных булевых уравнений пу­ тем линеаризации за счет опробования части переменных.

Методы последовательного опробования. Этот метод является развити­ ем метода частичного опробования. В этом методе также пытаются «разбить» ключ х на две части хьХг и представить его в виде х=(ХьХ2) таким образом, чтобы при каждом варианте для уравнения Ф(хьХ2)=У относительно %2до­

статочно «просто» устанавливалось, разрешимо оно или нет. Если при варианте X I оно неразрешимо относительно %2, то вариант % \ отбраковывается и опро­ буется следующий вариант. В случае же положительногр ответа уравнение Ф(ХьХг)=У пытаются решить всеми возможными средствами, например, пы­ таются применить метод частичного опробования для части %2, всего ключа х- В последнем случае и говорят о применении метода последовательного опро­ бования.

234

Методы сведения к базовым алгоритмам основаны:

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

на использовании частичного и последовательного опробования.

Неизвестные параметры ХьХ2>--->Хп - части ключа %, относительно ко­

торых решается уравнение, могут быть заданы в различной форме, влияющей как на выбор способов решения уравнения, так и на их сложность. Так, напри­ мер, подстановка может быть задана в обычной двухстрочной форме, или в ма­ тричной форме; двоичная функция может быть задана таблично, в виде много­ члена Жегалкина, в виде вектора ее коэффициентов Фурье по любому базису 11-

мерного векторного пространства над полем вещественных чисел или над ко­ нечным полем и т. д. Собственно сам метод сведения к базовым алгоритмам и состоит в выборе способа представления, «кодирования» частей ключа.

Преобразования уравнений шифрования. Многие методы преобразова­ ния системы уравнений шифрования нацелены на получение уравнений - след­ ствий, которые могут быть решены известными способами. Например, подби­ рают множество У' совместно с отображением (р: У-»У' так, чтобы новое уравнение-следствие

ф( ф (х))=ф(у)

решалось достаточно просто. Найдя все множество М решений этого уравне­ ния, решают, относительно /еМ , начальное уравнение Ф(%)=у, например, оп­ робуя элементы множества М. К таким методам относятся так называемые «методы сведения»: выделение из системы уравнений

Ф.(ХьХ2,...,Хп)=у(, *е{1,...,Т}

«хороших уравнений», например линейных, или выделение уравнений, из ко­ торых можно составить систему уравнений «треугольного типа» и т. д.

Преобразование неизвестных. Один из способов преобразования неиз­ вестных состоит в поиске нового множества К' и отображений ср: К—»К', \р: К'-»У так, чтобы Ф(х)=Н/(ф(х))- В этом случае задача поиска решения уравне­ ния Ф(х)=У сводится к решению двух уравнений

ф(х')=у.

ф(х)=х'-

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

235

Методы использования гомоморфизмов. Итак, мы изучаем возможно­ сти определения прообраза %отображения Ф: К—»У по известному образу

У=Ф(Х)- Ищутся такие подходящие множества К' и У’ и отображения ср: К—>К',

\|/:У->У', РК'—»У', чтобы была коммутативна следующая диаграмма:

к

ф

 

-> У

 

ф -1

1

ф

К'

У'

 

Сначала решается уравнение Дх )=У >относительно % еК' при у'=ф(у). Это уравнение называют гомоморфным образом уравнения Ф(у)=у.

Затем для каждого найденного решения % решается уравнение ф(х)=Х • Обоз­ начим через М все найденные таким образом решения (объединение всех ре­ шений уравнения <р(х)=х' по всем решениям х' уравнения С(х )=У)- Далее решают начальное уравнение Ф(х)=У относительно х^М.

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

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

Параграф 5.3 Методы опробования

Тотальный метод

Пусть А - шифр с алгеброй шифрования (Х,КШ,У,Г), алгеброй расшиф­ рования (У,Кр,Х,Р) и уеУ - известный шифрованный текст, полуденный при зашифровании некоторого содержательного открытого текста х0 при неизвес­

236

тном ключе Хое Кш. Задача состоит в нахождении открытого текста х0, т.е. в решении уравнения Г(х0, х 0) = У относительно х0при известном у и известном

шифре А. Одним из методов решения этого уравнения для известного симмет­ ричного шифра является опробование пар элементов (х',%') из ХхКш. Для каж­ дой пары (х',х ) вычисляется значение !(х',х )=У' и сравнивается у су '. Для несимметричного шифра (шифра с открытым ключом) проводится опробова­ ние х' е Х . В э т о м случае проводится сравнение значения Г(х',х0)=у' с у. Откры­

тый текст х, при котором у=у\ считается решением задачи. Как правило, при надежном шифре А такой способ дешифрования неэффективен из-за большого числа опробований, необходимых для определения открытого текста. Сокра­ тить число опробований можно путем опробования ключей х*^Кр при исполь­ зовании алгебры расшифрования шифра с последующим применением крите­ рия на открытый текст к получаемому расшифрованному тексту Р(у,х*)- Имен­ но этот метод дешифрования и получил название «тотальный метод».

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

Предполагается, что проверка на принадлежность расшифрованного те­ кста множеству содержательных текстов проводится с помощью некоторого «гипотетиченского статистического критерия на содержательные тексты», имеющего ошибки первого и второго рода: а - вероятность отбраковки содер­ жательного текста (в т^ш нах статистического критерия - отбраковки гипоте­ зы Н(0), отвечающей вероятностному распределению Р(0)); р - вероятность принять несодержательный текст за содержательный текст (принять гипотезу Н(0), когда верна гипотеза Н(1) - выборка из распределения Р(1), отвечающего нечитаемым текстам). Далее везде Р5* 1.

Предполагается также, что опробование ключей заключается в после­ довательном случайном и равновероятном опробовании без повторений г клю­ чей из Кр. Процесс опробования заканчивается при опробовании %ключей; ^=) - номер первого ключа ( 1 <)<г), при котором соответствующий расшифрован­

ный текст будет признан критерием за содержательный текст, или %=г, если такое событие не произойдет при любом )<г.

Основными характеристиками криптографической стойкости шифра относительно тотального метода решения задачи являются:

трудоемкость Е“,р(г) метода - среднее число опробуемых ключей (математиче­ ское ожидание случайной величины %).

Надежность яар(г) метода - вероятность определить истиный содержа­ тельный текст.

237

Расчет этих характеристик тотального метода будем проводить при следующих предположениях: при расшифровании шифртекста^ на всех клю­ чах %* из Кр среди расшифрованных текстов {Р(у,%*):%*еКр} содержится един­ ственный содержательный текст - истинный текст х0; в множестве Кр сущест­ вует единственный ключ у_*0, при котором Р(у,х*0)=х0Эти предположения по­

зволяют трактовать использование гипотетического статистического критерия насодержательный текст, как критерий проверки опробуемого ключа %* на его совпадение с неизвестным истинным ключом %*0. С вероятностью а истинный ключ будет признан ложным (при выполнении гипотезы Н(0) критерием будет принята Н(1)), а с вероятностью Р ложный ключ будет признан истинным (при выполнении гипотезы Н(1) будет принята Н(0)). Процесс опробования ключей закончится при опробовании %ключей; %=] - номер первого ключа (1<)<г), ко­

торый будет признан статистическим критерием за истинный ключ, или %=г, если такое событие не,произойдет при любом _)<г.

Проведем сначала расчет трудоемкости Е ^ г ) тотального метода. Да­ лее для краткости положим КР=К

Пусть В, —событие, состоящее в том, что в схеме последовательного опробования ключей без возвращения 1-ый ключ является истинным,

И 1 ,-,|К |};

-Еа’р(г,1) - среднее значение %при условии В,;

-Еар({<г) - среднее значение 2, при условии, что истинный ключ находится сре­ ди первых г опробуемых ключей;

Еар(с>г+1) - среднее значение Е, при условии, что истинный ключ не содержится среди первых г опробуемых ключей.

По формуле условного математического ожидания получаем

Е“'Р(Г)= —

Еа'р(1<г) + I^ I~ Г Еа р({>г+1).

|^ |

|К |

Для подсчета величины Еа,р(1:<г) предварительно подсчитаем Е“’р(г,1) при 1<г.

Г - 1

г

Еа’Р(г,1)-^Г/и(1 - Д Г 4 р + 1(1-Р)!-'(1-а) +

^ т а ( 1 - Д )м_2 Д + га(1-Р)г1.

т= 1

га = 7 + 1

Первое слагаемое отвечает окончанию опробований на каком то к-ом ключе, где к<1-1 (напомним, что истиный ключ опробуется при 1-ом опробова­ нии). Второе слагаемое отвечает определению истинного ключа при 1-ом опро­ бовании. Третье слагаемое отвечает ситуации аналогичной первой для к>1+ 1 .

Четвертое слагаемое отвечает ситуации, когда при каждом из первых г опробо­ ваний критерий принимал гипотезу Н(1).

238

Если истинный ключ находится среди первых г опробуемых ключей, то

он может с вероятностью —появиться при любом 4-ом опробовании,

г

4е{1,...,г}. Поэтому Еа'р(1< г )= ^ Е а’Р(г,*)р(В1 ) ,

1=1

г 1-1

Е“*(Кг)=-]Г(|;т(1-0Г,р+1(1-0)'-'а-а)+'%'№$-РГ*0 +га(1 -рГ')-

Г 1=1 т=1

т='+1

Г МЫ

+—

+- ^ЁЁ‘0-/в)м+га(1-я"'.

г

г(1‘ Я м ы 1

Нам предстоит теперь изменить порядок суммирования в двойных суммах. С этой целью выпишем отдельно слагаемые первой и второй двойных сумм:

Слагаемые первой суммы:

4=1

 

 

 

4=2

 

1

 

4=3

1

+2(1-р)

 

4=4 1+2(1-р)+3(1-р)2

 

4=г-1

......................................................

 

 

4=г

1 +2(1-р)+3(1-р)2

+...+(г-1)(1-р)г'2

Слагаемые второй суммы:

 

2(1 -р)+3(1 -р)2+...+г(1-р у 1

 

3(1-Р)2+...

+г(1-Р)г''

 

г(1 -Р Г '

Меняя порядок суммирования в двойных суммах, получим, что Е“'р(1<г)=

- Б ( 1- # ' ( г - У ) + - ^ - Б - ( 1 - Д ' Н('-1 )+ — Ъ Ч - Р Г +ю (1-

Дополняя первую сумму слагаемым при у=т9а вторую слагаемым при 1=1 (равными нулю) и меняя везде индекс суммирования на «к», объединяя

первые три слагаемые в одно слагаемое, получим

Е“’р( 4 < г ) = - 2 > ( 1 - / ? ) к'1 Д г - к ) + ^ ( к - 1) + (1 - а ) + га(1-р)г1.

Г К=\

239

В том случае, когда истинный ключ не находится среди первых г опро­ буемых ключей, среднее число опробуемых ключей равно

Еа’р(.*>г+1)=

- Р)К_1Р + г(1-р)г.

к=1

Последнее слагаемое отвечает ситуации, когда при всех опробуемых ключах критерий принял гипотезу Н(1). Для получения окончательной формулы трудо­ емкости Еа,р(г) тотального метода подставим полученные выражения Еа,р((<г), Е^С&гН) в начальную формулу:

Е“’р(г)=

Еа’р(1>г+1).

 

1*1

К |

 

Д г - к ) + ^ ( * - 1 ) + (1 -а )

г а (1 -р )г'' +

I л. | к=[

 

1*1

, 1^1-г

+ г(1-Ю -

|К |

Приведем формулы для расчета среднего числа Е“’р(г) опробуемых ключей в некоторых частных случаях.

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

Д | К | - к ) + ^ ( к - 1 ) + (1 - а )

I -К I

Положим, г=|К| и а=р=0, то есть рассмотрим случай, когда в тотальном методе опробуются все ключи и критерий отбраковки текстов работает без ошибок/

е»0(|к |) - т2 - §

к = Щ ^ .

| А | *.=1

I

В случае г=|К|, а^О, Р=0, то есть при использовании процедуры, не допускаю­ щей принятия ложного ключа за иотинный, но допускающей невыявление ис­ тинного ключа, имеем

 

1

1*1

Е“-0(|к|)=—

2>[1-«] +№ =

_ о - ж ^

! М 1 +1К1а=^ К 1 (1 _ а ) + , , , а

2 \

К \

2

Если положить г=|К|, а=0, Р*0, то есть рассматривать процедуры принятия решения, при которых невозможна потеря истинного ключа, то

 

 

 

240

 

1

1«1

 

Е°'(|К|)=—

2 * с(1 - /?)-' (/?(| /Г|-к> + 1)-

 

I А

I *=1

 

1

4

 

- 7 ^ тЁ * ( 1 - Л '''0 » ( |К |- « с) + 1)-

|* |Й .

 

 

_ д щ + 1 а

_

_ _ д _ а к!

1*1

+

 

| / Г | Й

Для вычисления входящих в последнее выражение сумм рассмотрим функцию

 

 

1*1

1 _

гк+|

 

 

 

 

ф (х)= 2 У

' = —

- •

 

 

I ; « у - 1= Ф \х ) - ~ ('к

1+1)х'*' (* -

* ) + 1 -

х1*|+|

«=о

 

 

. (1 - х

)2

 

|К|

 

|К|

|К|

 

 

 

^ к 2х*-'

= ^ к ( к - 1 ) х к-1 + Х кхК*1 = х Ф " ( х ) + Ф '(х ) .

к=0

 

к=0

к=0

 

 

 

Втожезремя

 

 

 

 

 

 

Г ' М

 

1 - х

 

|

- х

 

Отсюда

 

 

1

 

 

-(1/^1 +1) | К | х1*1

 

 

^

2

1 + х

.

У *

 

Xк 1= —±'----!

Г2 !------+ --------Ф (х ).

^

 

1 - х

 

1 - х

 

Испрльзуя полученные соотношения при х=1-р для Е0,Р(|К|) будем иметь

ф -0 - Д + (I Л-|+1)(1 - Р)Щ- т Ь г ^ ' О - Д .

 

| А

|

| А

|

где

 

 

 

 

 

СГ(1

Д

- ( 1 ^ 1 + ! ) ( ! - Д ' У + ' - а - Д ' ^

'

Подставляя последней выражение в формулу для Е°’Р(|К|) и проводя

элементарные преобразования получаем

 

Е“ т

~0 ~

~(| * 1+1)(| ~ '8>И /?!•[Д1 * I +1>- ‘1

 

 

 

| К I д 2

 

Несложный анализ показывает, что при |К|—> оо