Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Алгоритм факторизации Ленстры на основе эллиптических кривых




Пусть n – составное число. Время разложения зависит от размера наименьшего делителя: n=p*q. Если p<<q, то найдено будет достаточно быстро.

Алгоритм хорошо распараллеливается и зависит от гладкости количества точек на выбранной кривой.

Суть алгоритма Ленстры заключается в выборе на псевдокривой EC(Zn) произвольной базовой точки P0 и домножении ее на всевозможные простые числа и их степени пока не получим kP0 = ∞ (mod p) (*), где p–один из делителей n.

#EC – число точек: занимает интервал [p + 1 -2√p, p + 1 + 2√p].

Алгоритм:

Zn – основное множество для координат точек эллиптической кривой EC(Zn): y2= x3 + ax + b, 0 < a,b <p.

Инициализация: //этого в лекциях не было

1. Выберем некоторое значение B1, например, B1 = 10000.

2. Выберем случайным образом числа x, y, a из [0, n − 1].

3. Вычислим b = y2−x3−ax mod n и g = НОД(n, 4a3+27b2). Если

g = n, возвращаемся к п.2. Если 1 < g < n, тогда прекратим вычисление –

делитель найден. Иначе, определим кривую E: y2= x3+ ax + b и базовую

точку-генератор P0(x, y).

4. Присвоим изменяемому параметру P(x, y) начальное значение, равное P0.

Вычисление:

С = p1k1 * p2k2 * … * ptkt – разложение по простым делителям.

r=max piki (i < t) – степень гладкости, причём pr < B1.

Берём произвольную точку P= P0 и вычисляем:

P1= ∏ piti · P, где piti < B1,

в результате чего точка P домножится на pr.

Продолжим вычисление до тех пор, пока не будут пройдены все простые числа, меньшие B1, или не найдется шаг, на котором выполнится условие

НОД(n, P1) = d > 1.

Если выполнится последнее условие, то искомый делитель n найден.

Иначе, либо увеличиваем B1 и повторяем все заново, либо переходим

ко второй стадии алгоритма.

Вторая стадия алгоритма: //и этого тоже

На второй стадии алгоритма предполагается, что число точек #EC

на выбранной ЭК имеет лишь один делитель q, превышающий границу 1-й

стадии B1.

1. Выберем новую границу B2, и выпишем все простые числа из интервала [B1; B2]: {q1, q2,..., qm }.

2. Будем последовательно вычислять точки q1 ·P, q2 ·P, q3 ·P,... пока

не дойдем до границы B2, либо не выполнится условие (*).

Дивизоры

Построение отображения Вейля и родственного ему отображения Тейта основано на теории дивизоров (делителей) алгебраических кривых, разработанной Андре Вейлем.

Идея понятия дивизора основана на том наблюдении, что коэффициенты любого полинома можно вычислить с точностью до ненулевого множителя, зная корни этого многочлена и их кратность.

Действительно, если многочлен P(x) имеет своими корнями кратности ri элементы xi, то .

В нашем случае класс изучаемых функций состоит из дробно-рациональных функций над эллиптическими кривыми, т.е. отношений двух многочленов от двух переменных x и y, определенных на точках некоторой эллиптической кривой.

Пусть теперь E: –эллиптическая кривая над полем K, а f(x,y): E → K –дробно-рациональная функция. Если f – не константа, то существует не более конечного числа точек P ∈ E, в которых f(P) = 0 или f(P) = ∞. Точки первого вида называются нулями функции f, а второго –

полюсами f. С точностью до ненулевого множителя функцию f можно задать, перечисляя все ее нули и полюсы и задавая их кратность. Если f имеет нуль (полюс) кратности k в точке P, то f можно представить в виде произведения , где up имеет в точке P нуль (полюс) первого порядка, а Функция up называется униформизатором функции f в точке P.

Определение 6.1. Пусть E: – эллиптическая кривая над полем k. Дивизором D над кривой E называется формальная сумма вида ,

в которой коэффициенты rP – целые числа и число слагаемых с ненулевым коэффициентом rP

– конечно. Множество точек P, для которых , называется носителем (support) дивизора D и обозначается supp(D). Целое число P ∈ supp(D), называется степенью D и обозначатся deg(D).

Точка эллиптической кривой, равная , называется суммой дивизора D и обозначается sum(D).

Сумма дивизоров определяется естественным образом. Множество дивизоров эллиптической кривой образует аддитивную группу относительно операции сложения, а нулем является дивизор, у которого все коэффициенты равны 0. В группе дивизоров наиболее важную роль играют дивизоры функций, которые называются главными дивизорами (principal divisors).

Вычислим дивизор прямой l: ax + by + c, проходящей через две заданные точки P1(x1, y1) и P2(x2, y2) эллиптической кривой E. Если l не является касательной в т.P1 и P2, то она пересекает E и в третьей т.P3(x3, y3), а также в бесконечно удаленной точке ∞. В точках P1, P2 и P3 прямая l имеет нули 1 порядка, а в т. ∞ – полюс 3 порядка. Чтобы увидеть это, перепишем уравнение ЭК в следующем виде:

(1) откуда (2).

Из уравнения (1) следует, что x/y обращается в 0 в т.∞, а уравнение (2) показывает, что функция x/y является униформизатором в т.∞ и т.∞ является нулем второго порядка для . Значит т.∞ является полюсом 2 порядка для x. Так как y = x · (y/x), то т.∞ является полюсом 3 порядка для y и для функции l = Ax + By + C. Отсюда дивизор прямой l имеет вид (3). Проведем через т.P3 вертикальную прямую v = x – x3. Она проходит через т.P3(x3, y3), −P3(x3, −y3) и т.∞, а ее дивизор имеет вид

. (4)

Из формул (3) и (4) получим

Так как P1 + P2 = −P3 на кривой E, то последнюю формулу можно переписать в виде (5).

Из формул (3) и (4) можно видеть, что согласно определению 6.1 степени прямых lP1,P2 и равны 0, а их сумма равна ∞, что является примером общего факта, выражаемого следующей теоремой:

Теорема 6.2. Дивизор D эллиптической кривой E, имеющий степень 0, является дивизором некоторой функции тогда и только тогда, когда sum(D) = ∞.

Функции от дивизоров

Отображение, задаваемое формулой (7), является групповым гомоморфизмом из аддитивной группы дивизоров в мультипликативную группу поля K, т.к. f(D1 + D2) = f(D1) · f(D2), f(D1 − D2) = f(D1)/f(D2) (6)

Распространяя формулы (6) на произвольные дивизоры, получим формулу (7).

Теорема 6.3.(закона взаимности Вейля) Если f и g – функции на эллиптической кривой такие, что

div(f) и div(g) не имеют общих точек, тогда выполняется следующая

формула: f(div(g)) = g(div(f)).





Поделиться с друзьями:


Дата добавления: 2016-10-07; Мы поможем в написании ваших работ!; просмотров: 1350 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Что разум человека может постигнуть и во что он может поверить, того он способен достичь © Наполеон Хилл
==> читать все изречения...

2487 - | 2299 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.