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

Математические основы криптологии и криптографические методы и средс

..pdf
Скачиваний:
48
Добавлен:
15.11.2022
Размер:
14.26 Mб
Скачать

6 = q2rt + r2, 5(r2) < d(r,) r, = q2r2+ гг, 8 (r3) < 6 (r2)

Гк-г = qkTk-1 + rh b(rk) < 5(r*_i) rk-1 = qk+\rh r*+, = 0 .

Это действительно так, поскольку убывающая цепочка неотри­ цательных целых чисел 6 (6 ) > S(rt) > 6 (1*2) > ... должна оборваться, а обрыв может произойти только за счет обращения в нуль одного из остатков. Последний отличный от нуля остаток гк= НОД(а,6 ).

Непосредственным шагом к установлению факториальности евклидова кольца служит

Лемма 2. Всякое евклидово кольцо К является кольцом с разло­ жением (т.е. любой элемент а Ф0 из К записывается в виде

а = ирхр2...рг).

Доказательство. Пусть элемент а е К обладает собственным делителем b: а = Ьс, где Ь и с - необратимые элементы (другими сло­ вами, а и Ъне ассоциированы). Докажем, что 6 (6 ) < 8 (a).

В самом деле, согласно (Е\) непосредственно имеем 6 (6 ) < < 8 (6 с) = 6 (a). Предположив выполнение равенства 8 (6 ) = 8 (a), вос­ пользуемся условием (Е2) и найдем q,r с b = qa + г, где 8 (r) < 8 (a) или же г = 0. Случай г = 0 отпадает ввиду неассоциированности а и 6 . По той же причине 1 —qc Ф0. Стало быть, снова по (£2) (с заменой a на 6 ) имеем

6 (a) = 8 (6 ) < 5(6(1 - qc)) = 8 ( 6 - qa) = 8 (1*) < 5(a)

- противоречие. Итак, 5(6) < 8 (a).

Если теперь a = аха2...а„, где все а,-необратимы, то am+iaM+2...a„- собственный делитель amam+iam+2...a„, и по доказанному:

5(a) = 6 (aia2...a„) > 6 (a2...a„) >...> 8 (a„) > 8 (1 ).

Эта строго убывающая цепочка неотрицательных чисел имеет длину п < 5(a). Значит, имеется максимальное разложение а на про­ стые множители. Лемма доказана.

Теорема 14. Всякое евклидово кольцо К факториально обла­ дает свойством однозначности разложения на простые множители).

от р\,ръ---Рп, поскольку из р„+1 =р,для какого-то s < л следовало бы рШ-р\Рг---Р„), т.е.р,|1 , что и требовалось доказать.

Поскольку над конечным полем количество многочленов задан­ ной степени ограничено, то можно сделать следующее полезное за­ ключение:

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

А теперь приведем (без доказательства):

Критерий неприводимости (Эйзенштейна)

Пусть f(x ) = х" +а,* " -1 н— + an_lx +an е Z[x) - унитарный мно­

гочлен над Z, все коэффициенты аи...,а„ которого делятся на некото­ рое простое число р, но а„ не делится на р 2. Тогда J\x\ неприводим над Q.

Примечание. Критерий действует и в том случае, когда стар­ ший коэффициент отличен от 1 , но не делится нар.

Пример 47. Многочлен f{x ) =xP~^ + хР~2 н— + Jt+ l неприво­

дим над Q при любом простом р. Для этого достаточно заметить, что вопрос о неприводимости Дх) эквивалентен вопросу о неприводимо­ сти многочлена

/ ( * +1)=£ т т р Г = * с 'Рх'~ 2 +- * СР-2Х+СР-

п)

где С//' = — —:— г- и коэффициенты, кроме старшего, делятся на р

т\\п -ту.

в первой степени, и, следовательно, применим критерий Эйзенштейна.

1.2.21. Вопросы и задачи для самоконтроля

1. Дайте определение множества и отображения. Какие вы знае­ те виды отображений?

2.Дайте определение группы. Какая группа называется Абеле­ вой? Приведите пример группы на множестве целых чисел.

3.Что такое изоморфизм? Приведите пример на множестве це­

лых чисел.

4.Дайте определение кольца. В чем отличие кольца от группы? Можно ли привести пример множества с заданными на нем необхо­ димыми операциями, являющегося кольцом и не являющегося груп­ пой, и наоборот? Ответ обоснуйте примером.

5.Что значит утверждение: два числа сравнимы по модулю 5? Приведите пример таких чисел.

6. Что такое поле? Укажите его отличие от группы и кольца.

Приведите пример.

7. При каком условии кольцо классов вычетов является полем?

8 . Какой многочлен называется неприводимым над полем Р1 Укажите наивысшую степень неприводимого многочлена над конеч­ ным полем.

9. Вычислить значения обобщенной функции Эйлера для чисел

72; 100; 110; 1210.

 

10.

Вычислить значения обобщенной функции Эйлера для чисел

504; 512; 825.

 

11. Решить систему уравнеий х = 14mod 29;

х = 17mod 31.

1 2 . Решить систему уравнеий х = 21mod63;

х = 13mod37

13.

Вычислить a b modр для значений а = 13, b = 20, р = 109.

14.

Вычислить а ь mod р для значений а = 38, Ь =7, р = 47

1.3. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ

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

На практике в большинстве случаев применяются программные методы получения случайных чисел. На самом деле случайные по­ следовательности, получаемые по некоторому алгоритму, являются псевдослучайными. Это происходит из-за того, что связь между зна­ чениями в последовательности, получаемой программным путем, обычно все-таки существует. Данное обстоятельство приводит к то­ му, что на каком-то этапе генерируемая последовательность чисел начинает повторяться - «входит в период». В данном параграфе рас­ сматриваются принципы построения и алгоритмы нескольких наибо­ лее известных и используемых генераторов случайных последова­ тельностей (далее - ГСП).

1.3.1. Общие сведения о ГСП

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

Математическое ожидание тг и дисперсия Dr такой последова­ тельности, состоящей из п случайных чисел должны быть сле­ дующими (если это действительно равномерно распределенные слу­ чайные числа в интервале от 0 до 1):

Z n

Z (rr mr)2

- *=i - л

п = 1=1-------------

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

х = а + (Ь - а) г,

где г - случайная распределенная в интервале (0; 1) величина. Закон­ ность данного преобразования демонстрируется на рис. 7.

Рис. 7. Схема перевода числа из интервала (0; 1) в интервал (а; Ь)

Теперь х - случайное число, равномерно распределенное в диа­ пазоне от а до Ь.

За эталон генератора случайных чисел (ГСЧ) принят такой гене­ ратор, который порождает последовательность случайных чисел с равномерным законом распределения в интервале (0; 1). За одно обращение данный генератор возвращает одно случайное число. Ес­ ли наблюдать такой ГСЧ достаточно длительное время, то окажется, что, например, в каждый из десяти интервалов (0; 0,1), (0,1; 0,2), (0,2; 0,3), (0,9; 1) попадет практически одинаковое количество случай­ ных чисел - то есть они будут распределены равномерно по всему интервалу (0; 1). Если изобразить на графике к~ 10 интервалов и частоты Nj попаданий в них, то получится экспериментальная кри­ вая плотности распределения случайных чисел (рис. 8).

Яг)

0

г

Рис. 8. Частотная диаграмма выпадения случайных чисел, порождаемых реальным генератором

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

диаграммы идеального ГСП (рис. 9), т.е. в идеальном случае в каж­ дый интервал попадает одинаковое число точек: N = Nik, где N - об­ щее число точек, к - количество интервалов, i = 1, к.

Рис. 9. Частотная диаграмма выпадения случайных чисел, порождаемых идеальным генератором теоретически

Следует помнить, что генерация произвольного случайного чис­ ла состоит из двух этапов:

генерация нормализованного случайного числа (т.е. равно­ мерно распределенного от 0 до 1)(рис. 11);

преобразование нормализованных случайных чисел г, в слу­

чайные числа JC„ которые распределены по необходимому пользователю (произвольному) закону распределения или в необходимом интервале.

1.3.2. Классификация ГСП

Генераторы случайных чисел по способу получения чисел де­ лятся на:

физические;

табличные;

алгоритмические.

Физические ГСЧ. Примером физических ГСЧ могут служить: монета («орел» - 1, «решка» - 0); игральные кости; поделенный на секторы с цифрами барабан со стрелкой; аппаратурный генератор шума (ГШ) (рис. 10), в качестве которого используют шумящее теп­ ловое устройство, например транзистор.

Рис. 10. Схема аппаратного метода генерации случайных чисел

Табличные ГСЧ. Табличные ГСЧ в качестве источника случай­ ных чисел используют специальным образом составленные таблицы, содержащие проверенные некоррелированные, т.е. никак не завися­ щие друг от друга, цифры. В табл. 4 приведен небольшой фрагмент такой таблицы. Обходя таблицу слева направо сверху вниз, можно получать равномерно распределенные от 0 до 1 случайные числа с нужным числом знаков после запятой (в нашем примере мы ис­ пользуем для каждого числа по три знака). Поскольку цифры в таб­ лице не зависят друг от друга, то таблицу можно обходить разными способами, например сверху вниз, или справа налево, или, скажем, можно выбирать цифры, находящиеся на четных позициях.

 

 

 

 

Рис. 11. Диаграмма получения случайных чисел

 

 

 

 

 

 

 

аппаратным методом

 

 

 

 

 

 

 

 

Таблица 4

 

 

 

 

 

 

 

Таблица случайных чисел

 

Случайные цифры

 

Равномерно распределенные от 0 до 1

 

 

случайные числа

 

2

9

2

0

4

2

 

9

6

0,929

9

5

7

3

4

9

0

3

0,204

5

9

1

6

6

5

7

6

0,269

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

1.3.3. Смешанный конгруэнтный метод и его обобщения

Числа, генерируемые с помощью этих ГСЧ, всегда являются псевдослучайными (или квазислучайными), т.е. каждое последующее сгенерированное число зависит от предыдущего: г, + 1 =Дг,).

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

Достоинством данных ГСЧ является быстродействие; генерато­ ры практически не требуют ресурсов памяти, компактны. Недостатки: числа нельзя в полной мере назвать случайными, поскольку между ними имеется зависимость, а также наличие периодов в последова­ тельности квазислучайных чисел.

Рассмотрим несколько алгоритмических методов получения ГСЧ:

метод серединных квадратов;

метод серединных произведений;

метод перемешивания;

линейный конгруэнтный метод.

Метод серединных квадратов

Имеется некоторое четырехзначное число ДО. Это число возво­

дится в квадрат и заносится в Д1. Далее из Д1 берется середина (че­ тыре средних цифры) - новое случайное число - и записывается в ДО. Затем процедура повторяется (рис. 12). Отметим, что на самом деле в качестве случайного числа необходимо брать не ghij, a O.ghij - с при­ писанным слева нулем и десятичной точкой. Этот факт отражен как на рис. 12, так и на последующих подобных рисунках.

■ fa ][b]f с I d | RO

Случайное число

Iе 8f NlAlf1D IM 1iR1=RQ R°

o.ghij

Puc. 12. Схема метода серединных квадратов

Недостатки метода:

если на некоторой итерации число R0 станет равным нулю, то генератор вырождается, поэтому важен правильный выбор начального значения R0;

генератор будет повторять последовательность через М хша­ гов (в лучшем случае), где п - разрядность числа RO, М -

основание системы счисления.

Для примера на рисунке схемы метода: если число R0 ~будет представлено в двоичной системе счисления, то последовательность псевдослучайных чисел повторится через 24 = 16 шагов. Заметим, что повторение последовательности может произойти и раньше, если начальное число будет выбрано неудачно.

Описанный выше способ был предложен Джоном фон Нейма­ ном и относится к 1946 году. Поскольку этот способ оказался нена­ дежным, от него очень быстро отказались.

Метод серединных произведений. Число R0 умножается на Л1, из полученного результата R2 извлекается середина R2* (это очеред­ ное случайное число) и умножается на RI. По этой схеме вычисля­ ются все последующие случайные числа (рис. 13).

R 0 - R 1 - R 2

О Р Р Р

Случайные числа

 

R l *R 2

•“ R3

 

 

0.R2*

Р О Р Р

1

 

|

R 2

-R3

- R 4

 

0.R 3 *

1 Р Р Р Р

 

I

 

R 3

1R 4

= R5

O.R*4^

 

 

Р Р Р Р

Рис. 13. Схема метода серединных произведений