![]() |
|
![]() ![]() ![]() |
|
Apokalip.sys |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 16.4.2007 Репутация: нет Всего: нет |
Господа знатоки, помогите с реализацией проверки больших, 512бит и более, чисел на простоту по средствам теста Миллера-Рабина. Из книжки не понял ничего...
![]() Заранее спасибо. |
|||
|
||||
Silent |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 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 и никаких проблем ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |