Научная статья на тему 'Анализ метода построения эллиптической кривой с заданным порядком'

Анализ метода построения эллиптической кривой с заданным порядком Текст научной статьи по специальности «Математика»

CC BY
287
47
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Анализ метода построения эллиптической кривой с заданным порядком»

УДК 681.3

АНАЛИЗ МЕТОДА ПОСТРОЕНИЯ ЭЛЛИПТИЧЕСКОМ КРИВОМ С ЗАДАННЫМ ПОРЯДКОМ

Н.И. ЧЕРВЯКОВ М. Г. БАБЕНКО

В статье рассмотрен метод построения эллиптической кривой с заданным порядком. Предложена модификация метода деления пополам для нахождения корней многочленов над Fp.

Ставропольский государственный университет

e-mail: [email protected]

Ключевые слова: криптосистемы на эллиптической кривой, методы нахождения корней многочленов над конечным полем.

Введение. Постановка задачи

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

Эллиптические кривые - один из самых перспективных инструментов для построения криптографических алгоритмов [2]. Это обусловлено тем, что они обеспечивают максимально возможную для криптосистемы с открытым ключом стойкость на один бит размера задачи [4]. Эллиптическая кривая Е, заданная уравнением в форме Вейерштрассе:

где p — простое число.

Одним из основных требований, предъявляемых к эллиптической кривой (l) является, содержание большого простого числа в порядке группы точек. Французский математик Ф. Морейн предложил метод построения эллиптической кривой E над простым полем с заданным количеством точек.

Постановка задачи. нахождения корней многочлена заданного над Fp.

Основная часть.

Морейн обратил внимание на тот факт, что всегда можно найти кривую, если знать её инвариант j(E)и j(E1728 по следующим формулам:

j(E )

a = 3k, b = 2k, гае k =- v \ ч mod p. (2)

1728 - j(E) F

Между порядком эллиптической кривой и инвариантом существует функциональная зависимость. Рассмотрим метод предложенный Ф. Морейном в работе [3].

1. По заданному порядку #E(Fp )= hn , где n большое простое число n > 2254 используя формулу 1 = p +1-# E(Fp ) вычисляем значение дивизора: D = 4p -12.

2. Вычисляем многочлен Гильберта HD (X) (алгоритм вычисления многочлена Гильберта описан в работе [1])

3. Находим корни многочлена ГильбертаHD (X) (одним из корней многочлена Гильберта, является искомое значение j(E)).

4. Для каждого из корней многочлена Гильберта HD (X) вычисляем значение коэффициентов a, b по формуле (2). Выбираем случайную точку

(1)

= -1.

Р(х ,у)е Е(рр): у2 = х3 + ах + Ь и проверяем на выполнение условия #Е(рр)Р = О. При выполнении условия кривая найдена.

5. Пусть # Е(рр )р ^ О переходим к кривой кручения а' = ас \ Ь' = Ьс

^ р J

Выбираем случайную точку Р'(х , у) е Е(рр ): у2 = х3 + аX + Ь' и проверяем на выполнение условия # Е(рр )Р ' = О. При выполнение условия процедура завершена, иначе возвращаемся на пункт 4 и рассматриваем следующий корень многочлена Гильберта в качестве j(E ).

Приведем примеры модулярных многочленов Гильберта: Н163 (х ) = х +640320;

Н403(х) = х2 - 108844203402491055833088000000 х + 2452811389229331391979520000;

Н883(х) = х3 + 167990285381627318187575520800123387904000000000 х2 -151960111125245282033875619529124478976000000 х +34903934341011819039224295011933392896000

Для нахождения корней многочлена Гильберта в , модифицируем численный

метод деления отрезка пополам.

Используем следующие формулы

р-1

хР - х =

П(х - ' )

Метод деления отрезка пополам для нахождения корней многочлена

g(х) над Рр.

Пусть /(х) = хр - х и V е образ^щий элемент в Рр.

Вначале определим количество различных корней многочлена g(х), для этого вычислим НОД(/(х), g(х)) = g1 (х), тогда количество различных корней многочлена g(х) равно degg1 (х) = п.

На втором этапе вычислим НОД(/(х), g(х2 ))= gl 1 (х), если deg g1 1 (х)> 0, то количество корней многочлена gl (х), являющихся квадратичными вычетами в Рр равно deg gl, 1(х) „ ( )

-2-' а количество корней многочлена g1 (х), являющихся квадратичными невычетами в рр* равно ёеё^(х) . где gl,2(х) = НОД(g•х2}/(х)). На третьем этапе рассмотрим два случая:

1. Если deg g11 (х) > 2 , то вычисляем НОД(/ (х), g(х4 ))= g111 (х), если deg g1 1 1 (х) = 2 • deg g1 1 (х), то переходим на шаг 4, иначе вычисляем НОД(/(х),g(V2 • х4))= &,1,2(х).

2. Если deg g1 2 (х) > 2, то вычисляем НОД(/(х), g(V • х4 ))= ^ 2 1 (х), если deg g1 2 1 (х) = 2 • deg g1 2 (х), то переходим на шаг 4, иначе вычисляем НОД(/(х),g(V3 • х4))= gl,2,2(х).

Серия История. Политология. Экономика. Информатика. 2011. № 1 (96). Выпуск 17/1

Шаг четвертый разбивается на четыре случая:

1. Если deg^11(х)> 4, то вычисляем НОД(f (х),g(х8)) = ^ 1 1 1(х) если deg g1 1 1 1 (х) = 2 • deg g1 1 1 (х), то переходим на шаг 5 иначе вычисляем НОД(/(х), g(у4 • х8 ))= и2 (х).

2. Если deg g1 1 2 (х )> 4, то вычисля ем НОД (f (х), g (у 2 • х8 ))= g1 1 2 1 (х) если deg ^ 1 2 1(х) = 2 • deg g1 1 2 (х), то переходим на шаг 5, иначе вычисляем

НОД(/(х), g(у6 • х8 )) = gl, 1,2,2 (х).

3. Если deg g1 2 1 (х)> 4 , то вычисляем НОД(/(х), g(у • х8 ))= g1 2 1 1 (х), если deg g1 2 1 1(х) = 2 • deg g1 2 1 (х), то переходим на шаг 5, иначе вычисляем НОД (г (х), g (у5 • х8 ))= ^,2 , 1,2 (х).

4. Если deg ,2 (х)> 4, то вычисляем НОД(/(х), g(у3 • х8)) = gl,2 ,2 , 1 (х), если deg ^ 2 2 2 (х) = 2 • deg g1 2 2 (х), то переходим на шаг 5, иначе вычисляем НОД(/(х),g(у7 • х8)) = ^„,2(х).ИТ.Д.

Процесс останавливается когда выполняется условие deg ^ к к (х) = 2к.

Пример. Найти корни много члена g (х) = х3 +10 х2 + 4х + 6 над F17

Решение

Так как НОД(х17 - х, g(х))= g1 (х) = g(х) и deg(g (х))= 3 , то, многочлен g(х) имеет три различных корня в и у = 6 .

Вычисления удобно оформить в виде схемы, представлены на рис. 1.

Рис 1. Схема работы метода деления отрезка пополам для нахождения корней многочлена g(х) над Fp

Из нод^(у6 • х16 ),/(х))=х16 - 1 следует, что корнем ^ (х) является х1 = у 6 mod17 = 8. Из нод^(уы • х16 ),/(х))=х16 - 1 следует, что кор нем ^ (х) является

x2 = v14mod17 = 9, а и з НОД(g(v • x2 ),f(x))=7 • x2 +6 следует, что кор нем gj(x) является

x3 = - 6 • v mod 17 = 4 • 6mod17 = 7 . 3 7

Выводы.

В статье проведен анализ метода Ф. Морейна для построения эллиптической кривой E над простым полем с заданным количеством точек. Предложен метод нахождения корней многочлена заданного над Fp.

Литература

1. Lay G.J., Zimmer Н., Constructing elliptic curves with given group order over large finite fields, in Algorithmic Number Theory-ANTS-I. Lecture Notes in Computer Science, vol. 877 (Springer, Berlin, 1994), pp. 250-263

2. Menezes A., van Oorchot P., Vanstone S. Handbook of applied cryptography. - CRC Press, 1997. - 816 p.

3. Morain F., Primality proving using elliptic curves: an update. In "Algorithmic Number Theory, Third International Symposium, ANTS-III," J. P. Buhler editor, Lecture Notes in Comput. Sci. Vol, 1423, Springer-Verlag, June 1998. pp. 111-127

4. Ростовцев А. Г. Маховенко E. Б. Два подхода к логарифмированию на эллиптической кривой, http://www.ssl.stu.neva.ru/ssl/archieve/lifti.pdf

ANALYSIS METHOD OF CONSTRUCTION ELLIPTIC CURVES WITH A GIVEN ORDER

N.I. CHERVAYKOV M.G. BABENKO

Stavropol State University e-mail:

whbear @yandex.ru

The article represents the method of the elliptic curve construction with a given order. The modification of the bisection method for finding

roots of polynomials over F is suggested.

Key words: cryptosystem on an elliptic curve, methods for finding roots of polynomials over finite fields.

i Надоели баннеры? Вы всегда можете отключить рекламу.