|           Вперед: 13.5 Построение больших простых чисел n с использованием частичного разложения n-1 на множители
 Вверх: 13. Методы построения больших простых чисел
 Назад: 13.3 Простые числа специального вида
     Содержание 
     Предметный указатель
 
 
 
13.4 Построение больших простых чисел
 с использованием полного разложения
 на простые множители
Хорошо известен следующий результат (см., например, обзор
[Вас1]).
 
 
Теорема 5. 
Пусть  -- нечетное натуральное число,  , и  -- известное
разложение  на простые множители  . Если для
каждого  существует натуральное число  такое, что  и  то  -- простое число. 
 
На этой теореме основан следующий метод Миллера построения
больших простых чисел. Для некоторого набора известных
простых чисел 
 и показателей  вычисляем  .
С помощью некоторого вероятностного теста (см. раздел 13.2) проверяем, не является ли  составным.  Если нет, т. е.  вероятно простое, то
генерируем случайную последовательность  натуральных чисел из интервала  . Для каждого  вычисляем  и  для
всех  таких, что  при
всех  .  Если для некоторого  , то  составное. В противном
случае мы докажем, что  простое, когда для всех  найдем  такое, что  . 
В работе Плейстеда [Pl] указан способ правильной
организации вычислений для проверки сравнений указанного
метода. А именно, следует положить 
 , ![$ d_1
=p_1\ldots p_{[m/2]}$](https://images.geo.web.ru/pubd/2001/10/10/0001161287/img1707.gif) , ![$ d_2=p_{[m/2]+1}\ldots p_m$](https://images.geo.web.ru/pubd/2001/10/10/0001161287/img1708.gif) ,  .  Сначала следует вычислить  , затем  ,  . Наконец, нужно вычислить делая это рекурсивно тем же методом. Мы также при этом
найдем
  , возведя в квадрат  ,
так как  . При вычислениях этим способом требуется  умножений по модулю  . 
Зададимся теперь вопросом: какой из вероятностных тестов и
сколько раз применять? Рекомендуется тест Миллера --
Рабина (см. раздел 13.2). Поскольку на отрезке
![$ [1,n]$](https://images.geo.web.ru/pubd/2001/10/10/0001161287/img1720.gif) доля простых чисел составляет примерно  ,
то надо применить тест  раз, где  определяется из
неравенства  .  Тогда вероятность того, что  составное, будет меньше вероятности того, что  простое (это эвристическое рассуждение). 
Подытоживая сказанное, простоту  такого, что  , проверяем с помощью
следующего алгоритма.
    1.
Тестируем  на простоту методом Миллера -- Рабина  раз, где  определяется из неравенства  . 
    2.
Если не оказалось, что
 составное, то перебираем несколько значений  и для
них проверяем условия метода Миллера. Обычно перебирают
4-6 значений  . 
    3.
Если до сих пор не обнаружено, что  составное и
не доказано, что  простое, то далее чередуют: для одного  тест Миллера -- Рабина, для трех метод Миллера
и т. д. до тех пор, пока не докажут, что  простое или
составное. 
 
Эвристическая оценка сложности проверки простоты чисел  ,
не превосходящих некоторой границы  , с помощью этого
метода составляет  арифметических
операций по модулю чисел, не превосходящих  . 
Таким образом, для построения больших простых чисел нам
остается лишь определить, как выбирать набор
 , т. е. какое взять  .  Для
этого в [Pl] предложен ряд стратегий. 
 
           Вперед: 13.5 Построение больших простых чисел n с использованием частичного разложения n-1 на множители
 Вверх: 13. Методы построения больших простых чисел
 Назад: 13.3 Простые числа специального вида
     Содержание 
     Предметный указатель
 |