Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
b = (y^2 - x^3 - ax) mod n 14.08.06 20:47 Число просмотров: 4088
Автор: Led Статус: Незарегистрированный пользователь
|
> Дело в том, что я не силён в Java. Загнал исходник в > NetBeans и разобраться, как его перегнать в Maple или хотя > бы тот язык, в котором можно dll сделать, не получается, да > и не относящегося к чистому ECM там много.
Там есть еще и SIQS, а не только голый ECM.
Я многое там поправил, например убрал увеличение количества проходов по кривым с ростом их номеров. Врубил также возможность перехода сразу на квадртатичное решето, что здорово экономит время. Ну и перевел с апплета на Java приложение, чтобы можно было запускать нормально, а не с сайта (Mozilla с локальной страницы апплеты не грузит). Осталось еще воткнуть сохранене уже готовых результатов при закрытии приложения, т.е. контрольную точку и вполне ничего получается.
> > Приведу код на Maple, о котором говорил выше (он работает, > но недостаточно быстро): > > Генерация случайной кривой и точки (0,y) на ней. > > generate_curve := proc(n, p::name, bound) local > a,b,y,g,random; > > if nargs = 3 then random := rand(bound): > > else random := rand(50); fi; > > > > a := 0; y := 0; g := n; > > while ( a = 0 or y = 0 or g >= n ) do > > a := random() mod n; y := random() mod n; b := y^2 ^^^^^^^^^^
Для начала b cледует вычислять по формуле, которая в заголовке данного сообщения
А после этого лучше переходить на проективные координаты, как в усовершенствованном методе Ленстры. Там нет ни одного обратного значения по модулю и код намного короче получается. Обратный алгоритм Евклида гороздо дороже по вычислительным ресурсам нежели gcd. Он сам по себе усложненный gcd
Ну, a на десерт, не помешает добавить вторую стадию. Она более быстрая, по сравнению с первой и в некоторых случаях весьма результативная.
Пока только с первой стадией мне удавалось за несколько секунд факторизовать числа порядка 64 бит. А со второй за примерно такое же время ломаются и 128 битки.
|
|
|