информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsАтака на InternetГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
 Умер Никлаус Вирт 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / theory
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Можно и 3, можно и любое другое число. Но это ничем особо от... 15.04.05 06:36  Число просмотров: 3996
Автор: RElf <M> Статус: Member
Отредактировано 15.04.05 06:37  Количество правок: 1
<"чистая" ссылка>
> Интересно, а почему именно 2 в стемени m!, а не 3 или что-нибудь еще?

Можно и 3, можно и любое другое число. Но это ничем особо от 2 отличатся не будет.

> > Сначала вычисляют число 2^(m!) mod N. Это делается
> примерно
> > так:
> > a=2;
> > for i=1 to m do
> > a = a^i mod N;
> > end do;
> > m выбирается из расчета чем больше - тем лучше, но так
> > чтобы вычисления занимали разумное время.
>
> А на каждом шаге цикла почему бы НОД не вычислить и
> остановиться, как только НОД не будет равен 1?

Вычисление НОД - дорогая операция. Лучше ее вычислять только один раз в конце, во избежание нежелательных тормозов.

> > Потом просто вычисляют НОД(a-1,N). Если он равен:
> > * 1 - значит, m взято слишком маленьким;
> > * p - вуаля, найдет нетривиальный делитель N;
> > * N - значит, m взято слишком большим (но это не так
> > страшно - надо уменьшить m и повторить).
>
> Нужели можно взять такое m, что НОД будет равен N.

Ну, например, m=N гарантированно даст в качестве результата N. Другое дело, что для больших N, прогон такого цикла будет практически неосуществим.

> И что будет, если сомножители p-1 и q-1 примерно равны?

Нужно выбрать такое m, чтобы p-1 (но не q-1, или же наоборот) было делителем m!.

> И, собственно, не так уж и часто встречается ситуация,
> когда наибольший делитель p-1 будет достаточно мал (чтобы
> p-1 был делителем m!), чтобы за разумное время прокрутить
> вышеуказанный цикл :(.

Теперь еще не чаще. ;)
Имея в виду этот метод, при генерации от p-1 и q-1 часто требуют наличия больших простых делителей.

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

Можно ускорить (но не особо), есть соответствующие модификации. Но основная идея та же.
<theory> Поиск 






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach