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

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

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

291

то Ит„_>00в„ > 0 .

Тогда построенная методом максимума правдоподобия оценка решения

х° состоятельна:

р{х’ = х °}-» 1 , п > о о .

ДОКАЗАТЕЛЬСТВО. Положим в правой части (13)

с = р1 + щ_аЛ1 (р (\-р ),

где их_а - квантиль нормального распределения с уровнем значимости 1 - а . Тогда при достаточно больших I

с —р1 + и1_а^ р ( 1 - р ) < 1{р + р {1 - 2р)).

Используя нормальное приближение для распределения случайной величины $(х°), находим, что при п —>оо и а = соц$1

р{^0) ф ' 4 ^ “=7 № '%<&-

Для х Ф х°

р {х ) = Р{$(х) = е х(х )+ А + в, (х) < с} < 2 с; (р ‘) (1 - р ' ,

1<С

так как

рк(^)=у;(^0)фу;(^)®^=1)=р+(1- 2р)рк(^0)^у;(4^,р+(1- 2^ = /

Согласно "известной оценке Чернова (см. /Месси Дж.. Пороговое ирование. М.: Мир, 1962Г) для Р° ~ Р

X С /(р*) (1 -

Р* Т ‘ ^ ехр{- {[ТР- (Ро ) ~ н (Ро )}

1<С=р01

 

где

 

Н (р ) = -1 п [р '(1-

рУ~р} Т (р) = -1п|[р*У (1 - р *У Р].

10*

292

 

 

Поэтому

 

 

2 = ] ^ / р ) ^ ехр)1п|Х| -<[г. (и ,) - Я ( й ) |= ехр 4*1

Ц1+в. ) 5 ф Н ^ '

 

'

т .(р ^ щ р )

Заметим, что /?0 —> р при п —» оо, р* > р , и, значит,

 

1т. [Т\ ( р , ) - Н {р , ) ] = 7 ( р ) - Н ( р ) *

0 .

По условию теоремы Н тя^00 вп > 0,]Х| —> со при п —> оо, следовательно, ^ = 6(1);

 

 

р{х* * х ° } < а + о(1)

 

 

В силу произвольности а

отсюда вытекает утверждение теоремы.

С ледствие

5.1.

Если

в условиях

теоремы

р 1/2,|Х| = 2",то при

* = 0 + еп)« / 1о§2 {2 Рр(1~рТР)> !'т л^ ея > 0 оценка

х*

истинного решения

х° состоятельна.

 

 

 

 

 

 

ДОКАЗАТЕЛЬСТВО непосредственно следует из того, что р* = 1/2.

Пусть У] (х),...,/,(х) -

известные фиксированные функции и р 1 = р , / = 1,...,/.

Разобьем множество V" всех и-мерных двоичных векторов на классы

*,={*:= [/;(х)®/,И]=4,

О х к = У \

х°еХ0.

I

/=1

 

;

к=о

 

 

В связи с тем, что У^(х) - фиксированная функция,

 

 

*.(*)-!}-{/

при

/;Й1/;Й

[1 -/2

при

/X х ) * № I

Таким образом, для любого к е {0,...,?} распределение случайной величины

$ (х) = е у(х)+1->+ 8, (х)

\

293

- одно и то же при всех х е Х к и совпадает с распределением случайной величины

(^1 © 1)+1— ® 1)+ ^ +1 +1—>+ Б{ —к —Е\Ек+ Ек+1+1->+ В(

Положим 8 к = 8(х),х е Х к . Набор чисел (|Х0|,...,|Х,|) естественно

назвать спектром расстояний системы (11) относительно решения х0 (по аналогии со спектром расстояний кода, задаваемого соответствующим преобразованием / ) .

Теорема 5.1А

Пусть левая

часть

системы (11)

фиксированное

Р1 = р < 1 / 2 , 1 =

спектр

расстояний

системы (11)

относительно истинного решения х0; тогда вероятность того, что метод

максимума правдоподобия дает правильное решение системы (11), удовлетворяет неравенству

р {х*=х°}> 1-=|Х *|р(Л ;),

где

* > 1

 

р(к) = = С[р‘(1 - р)к < ак, а = т]Ар{\-р)

1>к/2

ДОКАЗАТЕЛЬСТВО. Нетрудно проверить, что

р ^ = х° } > 1 - р й и ^ (х )< $ (х ° )}

к=1хеХ к

> 1 - = |Х к|Р{Зк 5 8 0}.

к=1

Разность 8 к - 50 имеет такое же распределение, как и случайная величина ^ = к - 2( е \+ ^ + е к), поэтому при 0 < р < 1/2

294

Р{5, <5,} =?{*, +л +*, >М = 2 с; р ' (1 ■- р Г =

1>к/2

\1-к/2

С ледствие 5.2.

Если

= ° ( 0 при п , ( —>оо

вероятность правильного решения системы (11) методом максимума правдоподобия стремится к 1:

Дополнительные сведения о тематике случайных систем уравнений читатель может найти в работах:

Балакин Г. В. О распределении числа решений систем случайных булевых уравнений. - Теория вероятн. и ее примен., 1973, т XVIII, в. 3, с. 627632.

Коваленко И. Н., Левитская А. А., Савчук М. Н. Избранные задачи вероятностной комбинаторики. Киев: Наукова думка, 1986, 224 с.

Ва1акш О. V. Оп 1Ье питЬег оГзо1иПопз оГзуз^етз о?рзеи(1о-Ьоо1еап гапбош е^иа^^оп8. - В сб.: Вероятностные методы дискретной математики. Труды третьей Петроза-водской конференции / Под ред. В. Ф. Колчина и др. Москва/Утрехт: ТВП/У8Р, 1993, с. 71-98.

Параграф 5.6 Аналитические методы криптоанализа

Имеется достаточно обширная литература по алгоритмам решения сис­ тем уравнений в разнообразных алгебраических структурах. В учебных целях мы сосредоточимся на алгоритмах решения систем линейных и нелинейных уравнений над полем Р2, состоящим из двух элементов.

Линейные системы.

Пусть система линейных уравнений над полем Р2 имеет вид ацХ1+а12Х2+....+а1Пхп=Ь1 а21Х,+а22Х2+ ....+а2пхп=Ь2

ат 1Х1+ат2х2+ ... .+атпх„ Ът

295

а^бР2,Ь]€ Рг,Ле 1,ш, 1е 1,п.

Положим,

а и ...............

1

 

X

II

/'и Л

Ъ 1

, ь=

а т\

• • •

а ,пп

КХ п )

Тогда рассматриваемая система принимает вид А х = Ь .

Метод Гаусса, Как известно из курса линейной алгебры, данный метод основан на по­

следовательном исключении неизвестных в уравнениях системы. В терминах матриц исключение неизвестных равносильно выполнению операций сложения в поле Р2 строк матрицы А. Например, пусть первые два уравнения системы имеют вид

Х1+а12х2+....+а1Пх„=Ь1 х,+а22х2+ ... .+а2пх„=Ь2

Выражая XI из первого уравнения (операция + в поле Р2) и, подставляя его во второе уравнение, получаем уравнение

(аи +а22)х2+ • • ■-+(а1„+а2п)хп=Ъ,+Ь2,

исключив таким образом неизвестное X]. Такое преобразование соответствует . замене в матрице

а п ..... ....... а 1п Ь1

а т1

второй строки на сумму первой и второй строк.

Определим следующие элементарные преобразования над матрицами:

1)прибавление одной строки матрицы к другой строке;

2)перестановка строк матрицы;

3)перестановка столбцов.

Отметим, что при перестановке строк матрицы (А, Ь ) система уравне­ ний не изменится, а при перестановке столбцов матрицы А произойдет перену­ мерация неизвестных.

Как известно, метод Гаусса заключается в следующем. На первом шаге

матрица (А, Ь) преобразуется в матрицу (А1, Ь ’), у которой первый столбец совпадает с первым столбцом единичной матрицы. Для этого необходимо най-

296

ти строку, в которой первый элемент равен единице (если такой нет, то надо переставить столбцы) и прибавить ее к другим строкам, содержащим единицу в первом столбце. На втором шаге выполняется это же преобразование над под­

матрицей матрицы (А',Ь ‘), полученной удалением первой строки и первого столбца. Продолжая этот процесс, матрицу приводят к виду

/ 1 2 . . .

 

к к+1 . . .п п+1 \

1

*

*

 

 

1

О

Теперь система уравнений А' х = Ь ' (имеет то же множество решений, что и исходная, возможно с измененным порядком нумерации переменных). Если некоторые из элементов Ь'к+ь...,Ь'т отличны от нуля, то система линей­ ных уравнений не имеет решений. Если ••=Ь'т=0, то система имеет 2ПК решений. Для их нахождения фиксируют произвольным образом переменные Хк+ь ...,х„ (2П"Кспособов), а затем находят значение переменной хк из к-го урав­ нения, значение хк.1 из (к-1)-го, и т. д. Так находят все решения исходной сис­

темы уравнений.

Подсчитаем трудоемкость этого метода. На первом шаге выполняется не более (п+1)(т-1) операций сложения, на втором - не более п(т-1) и т. д. Сле­

довательно, трудоемкость преобразования матрицы (А,Ь) к виду (А', Ь ') оце­ нивается величиной

0 (п 2т), .п < т,

(п + 2 - у)(/и - у) = > 0 (л 3),. т = п,

0(п т 2),. гп<п,

или иначе

Т1<0((ш1п(т,п))2тах(т,п).

\

При т=п данная оценка принимает вид

297

Т,*2(п+2Ч)(п- й = Ц х;+2 ) - & 2+ 2 |>

3=1

3=о

з=о

з=о

(п - 1)п(2п -1 )

= п(п - 1)(2п + 5) _

п3

6

 

6

~

3

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

Т2=2(п-к)+2(п-к+1)+. ..+2(п-1)<2(1+2+...+п)=п(п-1)

операций сложения. Таким образом, поскольку Т2< Т1, общая трудоемкость ме­

тода Гаусса оценивается величиной Т|.

ЫЖ-разложение матриц.

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

Сначала заметим, что метод Гаусса фактически заключается в приведе­

нии матрицы (А,Ь ) с помощью элементарных операций к верхнетреугольному виду. Каждая из элементарных операций эквивалентна умножению матрицы

(А, Ь) на некоторую матрицу:

1) при 1<3 прибавление 1-й строки к3-й осуществляется умножением слева на

матрицу

 

 

1

 

1

0

.

0

 

 

 

=Ьн

0

 

1

1

размера тхщ; 2) перестановка 1-й и3-й строк (1<3) эквивалентно умножению слева на матри­

цу

1

1

0

1

1

 

1

 

 

1

 

1...........0

3

размера тхщ.

298

3)перестановка 1-го и )-го столбцов эквивалентна умножению справа на мат­

рицу Ку размера (п+1)(п+1).

Выделим особо случай, когда можно ограничиться выполнением только элементарных операций первого типа.

Обозначим через

3 ц

.

• а 1к

 

 

а к1

• а кк

главные миноры матрицы А. Справедливы следующие теоремы.

Теорема. Если все главные миноры матрицы А отличны от нуля, то до­ статочно использовать только операции первого типа.

Доказательство теоремы проводится индукцией по к.

Теорема. Для любой матрицы А размера пхщ с ненулевыми главными ми­

норами найдутся невырожденные нижнетреугольная матрица Ь размера пхп и верхнетреугольная матрица И размера пхщ такие, что А=Ы1

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

В качестве следствия из этих теорем можно получить утверждение: всякую

невырожденную матрицу А можно привести к виду А=ШК=КХ'ЕГ, где К.,К.' - подстановочные матрицы, а Ь,Ь' и 1ДГ, соответственно, нижние и верхние треугольные матрицы. На основании этого утверждения доказывается, что раз­ ложение матрицы А, указанное выше, находится за 0(п3) операций, а после то­ го как оно найдено, решение каждой системы (со своей правой частью) нахо­ дится за 0(п2) операций.

Метод И.В. Коновальцева.

Изложение данного метода мы проведем на основе работы И.В. Коно­ вальцева «Об одном алгоритме решения систем линейных уравнений в конеч­ ных полях», Проблемы кибернетики, вып. 19, 1967 г.

Итак, задача состоит в нахождении решений системы линейных урав­

нений

1^1X.. .а]пхп а1>п+1

..аппхп ап>п+1

299

в случае, когда элементы матрицы А данной системы принадлежат конечному полю из я элементов. Алгоритм И.В. Коновальцева состоит в следующем.

Первые г элементов 1-той строки матрицы А назовем кортежем С].

Перебирая последовательно строки матрицы А, находят первый кортеж С,отличный от (0,0,.. .,0), и ставят его на первое место. В полученной матрице сравнивают кортеж С]^(0,0,...,0) с кортежем С2. Если С1=С2, то вычитают из

второй строки первую, после чего кортеж второй строки станет нулевым. Если С,*С2, то сравнивают С, с Сз и поступают аналогично предыдущему. На по­ следнем этапе сравнивают кортежи С1 и С„ и выполняют соответствующие

операции. Отметим, что в полученной матрице кортеж С]^(0,0,...,0) и среди кортежей С2,...,С„ нет равных С1. Рассматривают строки 2,.. .,п полученной

матрицы, находят первый ненулевой кортеж, меняют его местами с кортежем С2 (переставляя соответствующие строки) и повторяют процедуру, описанную выше. Если число различных ненулевых кортежей равно V, то после V шагов матрица А системы линейных уравнений принимает вид

* Л

А=

0 А'

гдематрица А' имеет V строк и г столбцов. Алгоритмом Гаусса приводят мат­ рицу А' к верхнетреугольному виду. В случае, когда определитель матрицы А отличен от нуля полученная матрица принимает вид

0

1

0

А П - Г /

Если же на этом этапе выяснится, что с1е1А=0, то процесс заканчивается. Этот этап применяется 1 раз, где 1 выбирается исходя из условий

Яг<п-(1-1)г,

но

Яг> п -й \

В результате матрица А принимает вид

300

Ап-1г /

Преобразование подматрицы Ап.№к треугольному виду осуществляется ме­ тодом Гаусса. В результате матрица А преобразуется в матрицу треугольного вида с единичными элементами на главной диагонали (если <1е1А*0). Затем ре­ шается система линейных уравнений с треугольной матрицей коэффициентов. В цитированной выше работе И.В. Коновальцева доказывается, что число всех операций (арифметических и вспомогательных) данного алгоритма не превос­ ходит величины

.3

о( п' )•

1 ° § а

1 1

В заключение отметим, что для уравнений с невырожденной матрицей

Штрассеном был предложен алгоритм со сложностью 0 ( п1о§27 ) операций. По­ нижение оценки сложности в нем достигнуто благодаря использованию памяти ЭВМ.

Методы решения систем нелинейных уравнений

Метод решения системы нелинейных уравнений над полем Р2, ос­ нованный на приведении ее к трапецеидальному виду.

Приведем сначала метод решения системы нелинейных уравнений, уже имеющий трапецеидальный вид:

Г,(х(1),... ,х0 0)=у 1

Г2(х ( 1) , . . . , х 0 г ))= У 2

!т.1(х(1),...,хОт.1))=ут.1

Гт(х(1),...,х(п))=ут, где 1<)1<)2<...^]’т-1<п. Такую систему уравнений называют системой трапе­

цеидального вида. Решают эту систему уравнений следующим образом.

Опробованием 2 ^ векторов (х( 1),... ,х(] 1)) е Р % находят все решения

первого уравнения. Затем во второе уравнение подставляют (опробуют) все