
- •3. Метод rc4.
- •11. Вычисление кратного kQ заданной точки q
- •12. Шифрование сообщений с использованием эллиптических кривых
- •4.3.2. Неприводимые многочлены в конечном поле k.
- •18. Дивизоры
- •17. Свойства отображения Вейля. Сведение проблемы вычисления кратного эк к проблеме дискретного логарифмирования в кп. Суперсингулярные кривые.
4.3.2. Неприводимые многочлены в конечном поле k.
В
этом разделе мы научимся определять
для заданного многочлена
с коэффициентами из конечного поля
P={0, 1, 2, ... q - 1}, является ли этот многочлен
неприводимым в поле P. Неприводимые
многочлены используются для построения
линейных сдвиговых регистров с обратной
связью (см. раздел 3.1.6). Наш алгоритм
основывается на следующей теореме.
Теорема.
Пусть F – конечное поле, состоящее из
q элементов. Тогда для любого натурального
многочлен
является произведением всех неприводимых
над полем F многочленов степени k.
Из
этой теоремы сразу следует, что для
произвольного многочлена
является произведением всех линейных
сомножителей
,
является произведением всех квадратичных
сомножителей
и т.д. Поэтому, если
=1
для
,
то
является неприводимым многочленом.
Наибольший общий делитель двух
многочленов находят с помощью алгоритма
Евклида, используя соотношение
,
где
-
остаток от деления
на
.
Упомянутый
тест на неприводимость можно заменить
более быстрым альтернативным тестом:
многочлен
над полем F=
является неприводимым тогда и только
тогда, когда
,
и
для всех простых делителей k степени
n.
Пример.
Показать неразложимость многочлена
над полем F2={0,1}.
В
данном случае, n=3, q=2. Для вычисления
поделим
столбиком
на
и найдем остаток:
.
Остаток равен x. Простым делителям
числа n=3 являются только k=1, поэтому
остается только проверить, что
.
Для этого делим первый многочлен на
второй и находим остаток
.
Теперь по алгоритму Евклида
.
ρ-метод Полларда для дискретного логарифмирования — алгоритм дискретного логарифмирования в кольце вычетов по простому модулю, имеющий экспоненциальную сложность. Он был предложен Поллардом в 1978 году.
Постановка задачи
Для заданного простого числа p и двух целых чисел a и b требуется найти целое число x, удовлетворяющее сравнению:
Идея алгоритма
Рассматриваются три числовые последовательности:
|
|
определённые следующим образом:
|
({{{2}}}) |
|
({{{2}}}) |
|
({{{2}}}) |
|
({{{2}}}) |
Далее
рассматриваются наборы
и
ищется номер i,
для которого
.
Для такого i
выполнено
|
({{{2}}}) |
Если
при этом
,
то
|
Эвристическая
оценка сложности составляет
18. Дивизоры
Построение отображения Вейля и родственного ему отображения Тейта основано на теории дивизоров (делителей) алгебраических кривых, разработанной Андре Вейлем.
Идея понятия дивизора основана на том наблюдении, что коэффициенты любого полинома можно вычислить с точностью до ненулевого множителя, зная корни этого многочлена и их кратность.
Действительно,
если многочлен 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)).