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

8.3. Тест Рабина-Миллера и сильные псевдопростые числа

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

Пусть – нечетное натуральное число. Тогда можно записать, где– нечетное и.

Если число – простое, то, при. Поэтому квадратные корни из единицы имеют вид:, где показатель равен.

Это означает, что в последовательности ,вычетов по простому модулю, которые являются последовательными квадратами числа, либо появится, либо все эти вычеты сравнимы с единицей, т.е.. Заметим, что при простом, левеемогут располагаться лишь вычеты не равные.

Если – составное, то возможны и другие варианты, поскольку в этом случае, кроме, существуют другие корни из единицы по модулю.

Основанный на данном замечании тест Рабина-Миллера заключается в следующем:

1) псевдослучайно выбираем вычет и проверяем условие. Если условие не выполнено, значит,– составное и работа закончена;

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

3) вычисляем последовательно вычеты чисел ,,, по модулю, пока не появится, либо не исчерпается список;

4) если обнаружена в списке, то не исключено, что число– простое и необходимо перейти на начало, чтобы повторить тест для другого основания;

5) если ни одно число из списка не сравнимо с , то число– составное и необходимо закончить работу.

Как и для других вероятностных тестов, существуют составные числа , которые, для соответствующих оснований, проходят данный тест.

Назовем число , где,– нечетно, сильным псевдопростым по основанию,, если выполняется одно из двух условий:, либо в последовательности,существует число, сравнимое с –1 по модулю.

Оказывается, можно показать, что для любого ,, существует бесконечно много сильных псевдопростых чиселпо основанию.

Примеры: ;.

Можно доказать следующие основные свойства сильных псевдопростых чисел [16]:

1) число , сильное псевдопростое по основанию, является эйлеровым псевдопростым по тому же основанию;

2) если нечетное составное число является сильным псевдопростым по основанию, то общее количество оснований, по которому это число является сильным псевдопростым, не превышает.

Поэтому можно утверждать, что при повторении испытаний теста Рабина-Миллера раз, вероятность неотбраковки составного числа.

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

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

Примеры [17]: если – сильное псевдопростое по основаниям 2 и 3, то– простое; если– сильное псевдопростое по основаниям 2, 3, 5, 7, 11, 13, 17, то– простое.

8.4. Общие требования к выбору параметров rsa

Корректность параметров RSA связана с оценкой стойкости системы и может быть определена лишь с точки зрения практической стойкости.

Следовательно, корректные параметры должны быть построены так, чтобы минимизировать ущерб от известных подходов к ослаблению криптосистемы.

Исходя из этих соображений, рассмотрим наиболее общие требования к выбору параметров криптостсиемы RSA. [17,18].

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

Очевидно, число должно быть большим. Числаине должны содержаться в списках известных больших простых чисел, не должны быть слишком близки друг к другу, либо существенно различаться по величине.

Они не должны быть построенными по детерминированным алгоритмам с небольшим числом известных вариантов начальных параметров или содержать закономерности в двоичной записи.

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

Например, если секретный ключ содержит в двоичной записи небольшое количество единиц, то номера мест этих единиц легко определить перебором.

Можно доказать, что при известном существует возможность факторизации модуля.

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

Заметим также, что при наличии легко получитьиз сравнения. Достаточно возвестив степень, удовлетворяющую соотношению.

Далее. Для любого , взаимно простого с,делит, аделит. ПоэтомуделитНОК.

Следовательно, для построения криптосистемы, вместо определения из сравнения, можно воспользоваться решением сравнения.

Пусть НОД. Тогда.

Очевидно, из соотношения следует, поэтомуи.

Этим условиям удовлетворяют ключи ,,,,, криптоэквивалентные, таким образом, ключу. Следовательно, чем больше НОД, тем больше криптоэквивалентных ключей, тем хуже для криптосистемы.

Очевидно, в наилучшем возможном случае, НОД, при этом,,, где, скажем,и– простые.

Заметим, кстати, что неизвестно, является ли множество простых чисел вида бесконечным.

Оказывается, чтобы исключить возможность применения большинства частных методов факторизации для дешифрования криптосистемы RSA [18], достаточно потребовать, чтобы числа ,,ине разлагались в произведение степеней небольших простых чисел, т.е. чтобы они содержали в разложении большое простое число.

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

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

Таким образом, необходимо выделить некоторый специфический класс простых чисел.

Определение. Простое число называется сильным простым, если выполняются условия:

, ,,

где – большие простые числа.

Поскольку числа – нечетные, то они представляются в виде,,. Кроме того, для наших целей, чем меньше числа, тем лучше.

Для построения сильных простых чисел применяется т.н. метод Гордона.

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

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

Соседние файлы в папке Гулак_по_главам