70
УДК 512.8
Ю. Ф. Болтнев
АЛГОРИТМ ОПРЕДЕЛЕНИЯ СТРУКТУРЫ ГРУППЫ РАЦИОНАЛЬНЫХ ТОЧЕК ЭЛЛИПТИЧЕСКОЙ КРИВОЙ НАД РАСШИРЕНИЯМИ КОНЕЧНОГО ПОЛЯ
Представлены алгоритм определения структуры группы рациональных точек эллиптической кривой над расширениями конечного поля и алгоритм нахождения числа точек заданного порядка.
The article presents the algorithms of defining the structure of rational points group of elliptic curve under the extensions of a finite field.
І. Предварительные сведения
Известно, что структура группы точек Е^) на эллиптической кривой Е над конечным полем Fq описывается следующей теоремой [2; 3].
Теорема І. Пусть Е —эллиптическая кривая, определенная над Fq. Тогда Е(Fq) изоморфна Zd © Zn, где n и d — целые положительные числа, такие, что d j n, d j (q —1).
Более детальное описание структуры группы Е^) известно только для суперсингулярных кривых [1]. В настоящей статье рассматривается алгоритм вычисления структуры групп Е( Fpr) над расширениями конечного поля Fpr для различных степеней расширения r, справедливый
и для несуперсингулярного случая. Метод основывается на знании факторизации числа Nr — порядка группы Е( Fpr ). Величина Nr считается известной (например, может быть вычислена методом Вейля).
Для определения величин n и d необходимо знание группы m-кручения Е^], а именно знание величины pr — порядка поля, в котором лежат кординаты точек группы Е^].
Известно, что структура группы m-кручения Е^] описывается следующими теоремами [2].
Теорема 2. Пусть P = (x, y) — точка из E(K)\{ Рк}, такая, что 2P Ф Рк, т >- 2. Тогда
P є E[m] »fm(x) = О, где fm(x) — многочлен деления от одной переменной, приведенный по модулю кривой E.
Теорема 3. Пусть Е —эллиптическая кривая над полем К, характеристика К равна р и mє Z>Q.
1. Если р = О или р не делит m, то
Е^] = (Z/mZ) x (Z/mZ);
Вестник РГУ им. И. Канта. 2007. Вып. 10. Физико-математические науки. С. 70 — 74.
Алгоритм определения структуры группы рациональных точек
2. Если р > 0, то Е[ рг ] = (7 / ргZ) или { Рк}.
2. Алгоритм вычисления группы Е[т] с помощью многочленов деления
ВХОД: т —целое число;
р — характеристика поля;
а, Ь —коэффициенты уравнения кривой у2 = х3 + ах + Ь.
ВЫХОД: г —степень расширения Бр, такая, что Е[т] е Е(Fpr).
1. Вычисление многочленов деления /т(х).
2. Построение поля разложения многочлена /т(х).
2.1. Разложение многочлена /т(х) на неприводимые надмножи-тели: /т(х) = £і(х)... £8(х).
2.2. Определение йі = йе£ £і(х), і = 1,., в.
2.3. Вычисление й = НОК(йі, ..., йв) (й = тах(йі, ..., йв фактически). Тогда й — степень расширения поля разложения I: й = [I: Бр].
3. Вычисление корней многочлена/т(х) в поле I: §і, §2, .
4. Вычисление квадратичных характеров х(?(§0), где Р(х)=х3 + ах + Ь:
д-1
*(Р(§)) = ^) 2 .
5. Если х(^(§0) = 1 для всех §і, і = 1,., І, І = йе£ /т(х), то г = й, иначе г = 2й.
Результат: г.
Пример 1. Пусть дана эллиптическая кривая Е / Б5: у2 = Р(х), где Е(х) = х3+2х+1. Вычислить группу кручения Е[4].
1. Вычисляем многочлены деления
/о(х) = 0, /г(х) = 1, /2(х) = 1, /3(х) = 3х4 + 2х2 + 2х + 1,
/4(х) = 2х6 + 4х + 3.
2. Разложим /4(х) над Б5: /4(х) = 2 (х3 + 4х2 + х + 2) (х3 + х2 + 2) и определим степени неприводимых многочленов в разложении: {3, 3}. Вычислим й = НОК(3, 3) = 3. Тогда й — степень расширения поля разложения I: й = [I: Бр] = 3, т. е. I = F5з.
3. Вычислим корни многочлена /4(х) в его поле разложения Рз = Р5(а) где а — корень неприводимого делителя х3 + 4х2 + х + 2 многочлена /4(х): §1 = а, §2 = 4а2 + 1, §3 = 2а2 + 3а, §4 = 2а2 + а, §5 = 3а2 + а + 1, §6 = 4а2 + 4а + 3.
4. Вычислим квадратичные характеры. Имеем, что х(К§0) = 1 для і = 1, 2,., 6., т. е. все Р(§і) являются квадратичными вычетами.
5. Следовательно, г = й = 3.
Результат: Координаты точек группы кручения Е[4] лежат в поле Р5з, т. е. Е[4] е Е( Р5з).
Заметим, что данная группа Е[4] изоморфна группе 74 х 74 и состоит из точки порядка 1 — точки Рк, 3 точек порядка 2 и 12 точек порядка 4.
71
72
3. Алгоритм определения структуры группы E(Fpr)
Идея алгоритма: определить, какие группы m-кручения Е[т] содержатся в группе Е( Fpr) в качестве подгрупп.
1. Определение порядка группы Е( F r) для данного фиксированного r = 1, 2, 3... методом Вейля.
2. Определение возможных структур группы Е( F r) вида
Z Z „j, где Л,-n = N, i,\ nr i,\p -1, j = 1.........../.
3. Построение последовательности { di,..., d; }, где di > ...> di. Полагаем j = 1, d ^ d,.
4. Разложение на множители данного d: d = p fl ... pfs .
5. Для каждого i = 1,., s определяем наименьшую степень расширения r' такую, что Е[ pfi ] с Е( F . ). Если г' делит г, то Е[ pfi ] с Е(F r).
pr p
6. Если Е[ pfi ] с Е( Fpr) верно для каждого i = 1,., s, то Е[Л] с Е( Fpr) и Е( Fpr) = Z d © Z n, где n = N / d. Иначе j = j + 1, d = d, и переход к п.4.
Результат: Целые d и n, при которых Е( Fpr) = Z d © Z п.
Пример 2. Дана эллиптическая кривая Е / F13: у2 = x3 + 7x. Многочлен f(x) имеет 1 корень в F13. Для r = 1 непосредственно определяем N = 18, E(F13) = Z3 © Z6.
Определим структуру группы Е( F134).
1. Вычислим число точек для данного расширения методом Вейля
N = 27 32 52.
2. Определим возможные структуры группы рациональных точек Е( F134) вида Zd © Zn: Z 6 © Zn/6, Z 12 ©Zn/12, Z 24 © Zn/24, Z30 © Zn/30,
Z60 © Zn/60, Z120 © Zn/120.
3. Строим последовательность порядков меньшей циклической группы в порядке убывания d е {120, 60, 30, 24, 12, 6}.
Полагаем за d наибольшее из них d = 120.
4. Разложим d на множители: d = 120 = 3 5 23.
5. Для групп кручения имеют место следующие включения:
Е[3] с Е( F132) с Е( F134), Е[5] с Е( F134), Е[8] с Е( F134).
6. Следовательно, выполняется включение Е[120] с Е( F134).
Таким образом, имеем структуру группы Е( F134) = Z120 © Zn/120.
Аналогично, рассматривая алгоритм для остальных степеней расширения г, получим, что Е( Fi3r) = Zd © Zn/л.
Причем, если:
r = 1 mod 2, то d = 1 mod 2; r = 0 mod 2, то d = 0 mod 6; r = 0 mod 3, то d = 0 mod 9; r = 0 mod 4, то d = 0 mod 120; r = 0 mod 6, то d = 0 mod 18; r = 0 mod 12, то d = 0 mod 360.
Алгоритм определения структуры группы рациональных точек
4. Алгоритм нахождения числа точек заданного порядка
В основе алгоритма лежит доказанное автором предложение.
Предложение. Пусть структура группы рациональных точек эллиптической кривой Е над конечным полем имеет вид Е(ёЦ) = Ха © Хш где й >1, й | п. Тогда число Н точек порядка т, где т | п в группе Е(Б9) определяется соотношением
И = ХЕф(/1)ф(/2),
?1^ |п
[£ъ, *2]=т
где [£1, £2] = ИОК(Ь, £2), ф(£) — функция Эйлера и сумма берется по всем наборам (£ъ, £2), для которых [£ъ, £2] = т.
Доказательство. Аддитивная абелева группа Е(Б?) является прямой суммой двух своих циклических подгрупп Съ и С2, где Съ = Хй, 62 = Хп. Каждая точка Я из Е(ёЦ) однозначно представляется в виде Я = Р + Q, где Р е Съ, Q е С2, причем порядок этой точки в группе Е(Б?) равен огй Я = НОК(огй Р, огй Q). Обозначим ^ = огй Р, £2 = огй Q. Известно, что порядок элемента циклической группы делит порядок этой группы, следовательно | й и £2 | п. Количество элементов заданного порядка £ равно ф(£), где ф(£) — функция Эйлера. Тогда каждой паре чисел (^, £2), где | й и £2 I п соответствует ф(£ъ) ф(£2) точек группы Е^) порядка [£ъ, £2]. Различным таким парам соответствуют различные наборы элементов группы, а объединение всех таких наборов по всем парам (£ъ, £2), таким, что | т и £2 | т и [£ъ, £2] = т исчерпывает множество точек Я из Е(Б?), порядок которых огй Я = т. Следовательно, искомое количество Н точек порядка т, где т I п равно
И = ХЕф(/1)Ф(/2) ,
?1^ ?2|я [£ъ *2]=т
где сумма берется по всем наборам (^, £2), причем [£ъ, £2] = НОК(£ъ, £2) = т.
Следствие 1. Пусть структура группы рациональных точек эллиптической кривой Е над конечным полем имеет вид Е(Б?) = Х2 © Х28/ где Бе М. Тогда количество точек Н максимального порядка 2б в группе Е(Б?) определяется соотношением
Г3ф( 5), если 8 = 1mod2,
И = <
[2ф(2^), если 8=0mod2.
Следствие 2. Пусть структура группы рациональных точек эллиптической кривой Е над конечным полем Ёц имеет вид Е(Б?) = Хт © Хт.
Тогда количество точек Н максимального порядка т в группе Е(Б?) определяется неравенством /г ^ 2шср(ш) — ф(ш)2.
Описание алгоритма
ВХОД: р — характеристика поля;
Е/Ёц. у2 = х3 + ах + Ь — эллиптическая кривая;
Е(Б9) = Хй © Хп.
74
ВЫХОД: Таблица значений т и Ыт.
1. Для каждого т | п вычисляем следующее.
1.1. Ыт = 0.
1.2. Для каждого 11 | й и £2 | п проверяем ИОК(и, £2) = т.
Если «да», то вычисляем Ыт = Ыт + ф(£а) ф(£2).
2. Вернуть (т, Ыт).
Пример 3. Рассмотрим эллиптическую кривую
Е: у2 = х3 +1,
определенную над полем Б25, # Е(Б2б)= 36 и Е(Б2б) = 2б © /б. В условиях предложения й = 6, п = 6. Каждая точка Я из Е(Б 25) однозначно представляется в виде Я = Р + Q, где Р е Сг = /б, Q е С2 = /б.
Порядки элементов данной группы:
1 2 3 6
1 1 2 3 6
2 2 2 6 6
3 3 6 3 6
6 6 6 6 6
Каждой паре чисел (£1, £2), где £1 = огй Р, £2 = огй Q и £1 | 6, £2 I 6 соответствует ф(£а) • ф(£2) точек группы Е(Б25) порядка [£1, £2].
ф(1)=1 ф(2)=1 ф(3)=2 ф(6)=2
ф(1)=1 1 1 2 2
ф(2)=1 1 1 2 2
ф(3)=2 2 2 4 4
ф(6)=2 2 2 4 4
Следовательно, количество fo(m) точек порядка т:
m 1 2 3 6
h(m) 1 3 8 24
Все описанные алгоритмах реализованы автором в вице программ в системе компьютерной алгебры Maple 9.
Список литературы
1. Влэдуц С. Г., Ногин Д.Ю., Цфасман М.А. Алгеброгеометрические коды. Основные понятия. М.: МЦМНО, 2003.
2. Blake I. F., Seroussi G. and Smart N. P. Elliptic curves in cryptography // London Mathematical Society Lecture Note Series. 265. Cambridge University Press, 1999.
3. Hankerson. D., Menezes A., Vanstone S. Guide to elliptic curve cryptography. Springer, 2003.
Об авторе
Ю. Ф. Болтнев — ст. преп., РГУ им. И. Канта, [email protected].