Научная статья на тему 'Реализация алгоритма поиска гиперэллиптических кривых, подходящих для криптографии'

Реализация алгоритма поиска гиперэллиптических кривых, подходящих для криптографии Текст научной статьи по специальности «Математика»

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

Аннотация научной статьи по математике, автор научной работы — Болтнев Ю. Ф.

Представлены алгоритмы вычисления порядка якобиана гиперэллиптической кривой над расширениями конечного поля и поиска кривых, подходящих для криптографии.

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

Algorithm Implementation for Searching of Hyperelliptic Curves Suitable for Cryptography

Algorithms for computing of Jacobian order of hyperelliptic curve over finite field extensions and for searching of curves suitable for cryptography are represented.

Текст научной работы на тему «Реализация алгоритма поиска гиперэллиптических кривых, подходящих для криптографии»

ПРИКЛАДНАЯ АЛГЕБРА

УДК 512.8

Ю.Ф. Болтнев

РЕАЛИЗАЦИЯ АЛГОРИТМА ПОИСКА ГИПЕРЭЛЛИПТИЧЕСКИХ КРИВЫХ, ПОДХОДЯЩИХ ДЛЯ КРИПТОГРАФИИ

Представлены алгоритмы вычисления порядка якобиана ги-перэллиптической кривой над расширениями конечного поля и поиска кривых, подходящих для криптографии.

Algorithms for computing of Jacobian order of hyperelliptic curve over finite field extensions and for searching of curves suitable for cryptography are represented.

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

Основные определения и свойства

Пусть $ — якобиан гиперэллиптической кривой С над конечным полем Фq, заданной уравнением y2 + h(x)y = f(x), ф r - расширение сте-

q

пени r поля фq, Mr - число Ф r точек кривой С, включая бесконечную

q

точку, Nr - порядок (конечной) абелевой группы J (F r) (см. [2; 4]), С -

q

гиперэллиптическая кривая, определенная над Фq, а Mr = = # C(F r) для

Я.

r^l. Считаем известным понятие дзета-функции кривой.

Теорема. Пусть С - гиперэллиптическая кривая рода g, определенная над Фq, а Z(C/ Фq; T) - дзета-функция кривой С, тогда

1) Z(C/ Фq; T) — рациональная функция вида Z(C^q; T) =----------,

(1 - T)(1 - qT )

где L(T) — многочлен степени 2g с целыми коэффициентами вида

L(T) = 1 + a{T +... + ag-1Tg-1 + agTg + qag-iTg+1 +...+ qgr1a\T2g-1 + qgT2g;

2) L(T) разлагается на множители: L(T) = Пs 1(1 - a,T)(1 - atT), где каждое a является комплексным числом с модулем ^;

2

3) Nr = # J (Fqr) задается формулой Nr = Пs 1 -ar\ , где || обозначает модуль комплексного числа (в частности, N1 = L(1)).

Отсюда следует алгоритм для вычисления Nr для произвольного r:

l) найти коэффициенты a1, a2, ... , ag многочлена L(T); 2) вычислить кор-

101

Вестник РГУ им. И. Канта. 2006. Вып. 10. Физико-математические науки. С. 101—105.

102

ни at многочлена L(T); З) вычислить Nr = # J (F ).

ч

Опишем программы в Maple 7, реализующие данный алгоритм.

Описание программ Программа Каталог.

Назначение: построение каталога гиперэллиптических кривых, имеющих различные L-многочлены, путем полного перебора кривых при фиксированных роде g и характеристике p

Исходные данные: g — род кривой; p — характеристика поля. Головная программа перебирает кривые с различными L-многочленами степени 2g вида y 2 = f (x), где f(x) — многочлен из Фp[x] степени 2g + 1 в случае, если характеристика p > 2, или y 2 + y = f (x) при p = 2.

Результаты представлены в виде таблицы из четырех столбцов:

1) f(x) — многочлен из Фp[x] степени 2g+1, соответствующий кривой y2 = f (x) (соответственно y 2 + y = f (x)); 2) [M1, ..., Mg] — набор значений Mk, определяющий L-многочлен; 3) LL(t) — многочлен, взаимный к L-многочлену L(t); N_pol — количество различных L-многочленов.

Каталог содержит процедуры: primpol — выбор примитивного многочлена; N_Points — подсчет числа точек на кривой над заданным полем; nabor — расчет набора значений, определяющего L-многочлен; L_poly — построение многочлена, взаимного к L-многочлену.

Описание процедур.

1. primpol. Вход: p — характеристика поля, n — степень многочлена. Выход: pol — примитивный многочлен поля степени n. Примитивный многочлен h(x) Є Фp[x], т. е. неприводимый над полем Фp многочлен, корень которого является образующей циклической мультипликативной группы конечного поля Фpn, определяется перебором многочленов xn +Yn=1 aix1-1 и проверкой их примитивности функцией

Primitive — встроенной функцией Maple. Перебор многочленов производится путем перебора наборов их коэффициентов (a1, ..., an).

2. N_Points. Вход: p — характеристика поля; n — степень расширения поля; pol — примитивный многочлен поля; f — многочлен из уравнения кривой y2 = f (x). Выход: N — число точек на кривой y2 = f (x) над полем. Количество Mn рациональных точек из С(Фq) при q = pn может быть вычислено по формуле

N=q+1 + Ех(/(x)),

x^q

где %: Фq ^ {-1, 0, 1} — квадратичный характер поля Фq [1; 4]. Значение x( f (x)) для каждого x є Фq определяется из соотношения х( Ах)) = q-1

f(x) 2 .

3. N_Points2. Вход: p = 2 — характеристика поля; n — степень расширения поля ф,„; pol — примитивный многочлен поля; f — многочлен

из уравнения кривой y2 + y = f (x). Выход: Mr — число точек на кривой

Алгоритм поиска гиперэллиптических кривых

У2 + У = / (х) над полем Ф2„ . Известно [4], что число Мг рациональных точек на гиперэллиптической кривой над полем Ф2 г вычисляется из равенства Мг = 1 + #{(а,в) є Ф2г х Ф2Г | в2 + в = Да)}.

По теореме Гильберта 90 для а є Ф г Тг(а) = 0, если и только если а = р?— — р для некоторого р є Фр,, іде Тг(а) — функция следа ^ ¥р. Тогда соотношение Мг = 1 + 2 #{а є Ф2 г | Тг(/О)) = 0} и используется для расчета ве-

2 г-1

личин Мі,М&^ Для 2 = Да) при а є Ф г Тг(г) = 2 + 22 + ... + 2 .

4. ^^г. Вызываемые процедуры: primpol, N_Points. Вход: / — многочлен из уравнения у 2 = / (х) при р > 2 или у 2 + у = Дх) при р = 2; g — род кривой; р — характеристика поля. Выход: М_ІІ8І — набор значений [М1, ., М?], определяемых процедурой N_Points, где каждое значение является количеством рациональных точек кривой у2 = / (х), где / (х) є єфр[х], над полем Ф, (соответственно кривой у 2 + у = / (х) при р = 2) и

определяется процедурой N_Points. Набор необходим для построения многочлена Ь1(і), взаимного к Ь-многочлену Ь(ї), и его определяет.

5. L_poly. Вход: g — род кривой; р — характеристика поля; М_1М — набор значений [Мі, ..., М8]. Выход: Ь — многочлен степени 2g, взаимный к Ь-многочлену вида L(^) = я0 + й1^ + ... + я2^% є Z[^].

Если известны величины М1, М2 ..., Mg для конечных полей Ф , Ф 2, , Ф „, то, найдя вспомогательные величины БГ: р р р^

Бг = Мг - (рг + 1), 1 5 г ^ находим коэффициентах Ь(Ґ) по следующим соотношениям:

Яо = 1, Я2?-і = Р$~' СІІ, 0^І^:g, щ = ( БіОо + 5,-1 аі + ... + щ-1 Яі)/і, 1 ^ і ^&

Для дальнейших расчетов в программе Генератор ключей требуются числа, обратные к корням а, Ь-многочлена, являющиеся также корнями многочлена Ь1(і), взаимного к L(^). Поэтому в L_poly ищется многочлен Ь1^), имеющий вид Ь1^) = а0І^ + й1 ^_1 +...+ й2g.

Программа Генератор ключей.

Назначение: поиск кривой, подходящей для криптографии, и генерация ключей шифрования-дешифрования. Исходные данные: g — род кривой; р — характеристика поля; [М1, ..., Mg] — набор значений Мі , полностью определяющий Ь-многочлен (взят из программы Каталог).

Результаты:

1) таблица значений в порядке следования: г — степень расширения поля; N — порядок якобиана над простым полем Фр ; I — длинное простое число, где I = Иг IN ; ЫГ — порядок якобиана над полем ФрГ ;

значение I в форме с плавающей точкой;

2) таблица пар ключей шифрования-дешифрования (е, ^).

Порядок якобиана Ыг кривой над полем Ф г вычисляем по формуле

.2 __

N - П ?=,'-< - П ^ -а,г).

103

104

В программе ищется степень расширения r конечного поля Фpr,

над которым Nr имеет вид Nr = N1 • l, где l — длинное простое число. Рекомендуемые значения l— не менее 40 десятичных знаков.

Данный метод основан на доказанном автором предложении: Предложение. Разложение числа Nr в произведение вида Nr = Nt • l для некоторого натурального t и простого l возможно лишь при простом r и t = 1.

При выбранных r и Nr вычисление пары ключей (e,d) производится из условий ed = 1 (mod Nr), НОД(є, Nr) = 1.

Результаты работы программ Каталог и Генератор ключей приведены в таблице. Ее содержание: 1) f (x) — многочлен из Фp[x] степени 2g +1, соответствующий кривой y2 = f (x) для p > 2 или y2 + y = f (x) для p = 2; 2) [M1,..., Mg] — набор значений Mk, полностью определяющий L-многочлен; 3) r — степень расширения конечного поля ФpT; 4) Nr — порядок

якобиана кривой над полем ФpT в виде произведения Nr = N1 • l, где l —

большое простое число; 5) приближенное значение числа l.

Порядки якобианов гиперэллиптических кривых

f(x) Mi, M r Nr = Ni • l Приближенное значение

x5 + 1 4, 10 59 10 • 19966781110160346782368664772328944 885905284750420567849 0,19 • 1056

x5 + 2x +1 7, 15 53 29 •12955524572887396333986761358295061 368694068528591 0,12 • 1050

x5 + x2 +1 6, 18 — — —

x5 + x2 + x 3, 13 61 8 • 202163658740372682645631444437423641 9919242578545012376397 0,20 • 1058

x5 + x2 + x +1 6, 10 13 20 • 127300882229 0,12 • 1012

В таблице приведен фрагмент каталога представителей классов гипе-рэллиптических кривых над полем Ф3 рода g = 2, где L-многочлены различны. Рекомендуемые значения l: 1045—1060. Пропуски для кривой y2 = x5 + x2 + 1 означают, что порядок якобиана для них не представим в виде Nr = N1 • l ни для каких простых l < 10300 (по всей видимости, и вообще ни для каких простых l). Для некоторых кривых значения l существенно меньше или больше рекомендуемых (l = 0,12 • 1012 для y2 = x5+x2+x+1). Причина — лучших значений для l в разложении вида Nr = N1 • l нет.

Список литературы

1. Коблиц Н. Курс теории чисел и криптографии. М.: Науч. изд-во ТВП, 2001.

2. Соловьев Ю.П., Садовничий В.А., Шавгулидзе Е.Т., Белокуров В.В. Эллиптические кривые и современные алгоритмы теории чисел. М.; Ижевск: Ин-т компьют. исслед., 2003.

3. Elliptic curves in cryptography | I.F. Blake, G. Seroussi, N.P. Smart (London Mathematical Society Lecture Note Series; 265). Cambridge University Press, 1999.

4. Koblitz N. Algebraic aspects of cryptography. Springer-Verlag, 1998.

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