Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Реализация теста Миллера-Рабина, Как??? 
:(
    Опции темы
Apokalip.sys
Дата 17.4.2007, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 16.4.2007

Репутация: нет
Всего: нет



Господа знатоки, помогите с реализацией проверки больших, 512бит и более, чисел на простоту по средствам теста Миллера-Рабина. Из книжки не понял ничего...  smile 

Заранее спасибо.
PM MAIL   Вверх
Silent
Дата 28.4.2007, 09:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 252
Регистрация: 3.10.2006

Репутация: 1
Всего: 9



Мысль 1. Тест Миллера-Рабина на простоту:
Предположим, что мы хотим определить, является ли большое натуральное число n простым или составным. Представим n-1 в виде 2^s*t (t - нечетно), и выберем случайное число b, 0<b<n. Сначала вычисляем b^t mod n. Если получается остаток плюс/минус 1, то заключаем, что n прошло тест при данном b, и производим новый случайный выбор b. В противном случае делаем операцию (b^t)^2 mod n до тех пор, пока результат не будет -1. Если -1, то можно считать n простым. В противном случае справедливы утверждения [b^(2^(r+1)) mod n = 1] и [b^(2^r) mod n <> -1] - следовательно, n - составное (не простое). Это описан один шаг, и вероятность того, что после положительного ответа n окажется составным - 0,25. Для уменьшения вероятности такой ошибки делают несколько таких шагов, при этом вероятность вычисляется как 1/(4^k), где k - количество шагов. (Н.Коблиц, Курс теории чисел и криптографии)

Мысль 2. Реализация для больших чисел
Берем Java и никаких проблем smile

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0557 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.