Метод комплексного умножения для построения эллиптических кривых и его оптимизации

2011 Теоретические основы прикладной дискретной математики №3

УДК 511.2

МЕТОД КОМПЛЕКСНОГО УМНОЖЕНИЯ ДЛЯ ПОСТРОЕНИЯ ЭЛЛИПТИЧЕСКИХ КРИВЫХ И ЕГО ОПТИМИЗАЦИИ1

Е. А. Гречников

Московский государственный университет им. М. В. Ломоносова, г. Москва, Россия

E-mail: grechnik@mccme.ru

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

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

Введение

В последнее время эллиптические кривые играют важную роль в разнообразных приложениях, в числе которых можно назвать криптосистемы с открытым ключом [1, 2], алгоритмы разложения на множители [3] и проверки простоты [4] целых чисел. Для этих приложений необходимы эллиптические кривые над конечными полями, порядок которых удовлетворяет определённым ограничениям. Так, для криптографических применений желательно, чтобы порядок кривой был простым числом или, по крайней мере, имел по возможности больший простой делитель.

Один из методов построения эллиптических кривых с заданными условиями на порядок кривой заключается в следующем. Будем случайным образом генерировать коэффициенты уравнения, задающего кривую. Для каждого сгенерированного уравнения вычислим порядок соответствующей кривой и проверим, удовлетворяет ли он нужным условиям; если нет, перейдём к следующей кривой. Распределение значений порядка кривой при таком подходе оказывается приблизительно равномерным, строгое утверждение для случая простого поля характеристики, большей 3, можно найти в [3]. К сожалению, сложность алгоритма подсчёта порядка кривой растёт хоть и полиномиально, но достаточно быстро.

Теория комплексного умножения предоставляет другой, более практичный метод создания кривой с заданными ограничениями на порядок. Здесь сначала подбирается порядок кривой, удовлетворяющий нужным ограничениям, после чего строится кривая с заданным порядком. В п. 1 описываются детали метода и некоторые известные его оптимизации.

Предлагается новый способ оптимизации вычислений. Для его изложения понадобятся теоретические результаты, доказанные в п. 2 и 3. В п. 4 описан предлагаемый подход, в п. 5, 6 и 7 — его детали.

хРабота поддержана грантом РФФИ №11-01-12098.

1. Метод комплексного умножения

1.1. Т е о р е т и ч е с к и е о с н о в ы Будем везде считать, что D Е Z такое, что

D < 0 и либо D = 0 (mod 4), либо D = 1 (mod 4).

Рассмотрим поле K = Q(v D); его дискриминант обозначим через d. Тогда d < 0 и

— либо

d = 1 (mod 4) и d свободно от квадратов, (

— либо

dd d = 0 (mod 4), — свободно от квадратов, - = 1 (mod 4). (

Кроме того, D = f2d, где f Е N. Обозначим через O = Z (d + v^d)/2

кольцо целых

поля K и через OD = Z (D + vD)/2 порядок в O кондуктора f. Если M — произвольное числовое поле, то через Ом будем обозначать кольцо целых этого поля; так, Ок = О.

Дробным идеалом порядка Od будем называть подмножество K, являющееся конечно порождённым Od-модулем и содержащее ненулевой элемент; целым идеалом или просто идеалом Od — дробный идеал, содержащийся в Od (что совпадает с обычным определением идеала кольца с исключением нулевого идеала). Собственным (дробным) идеалом порядка Od будем называть (дробный) идеал а, такой, что {в Е K : в а С а} = OD. Все собственные дробные идеалы порядка OD образуют абелеву группу относительно операции умножения идеалов [5, §7], которую будем обозначать I (Od ). Легко видеть, что главные дробные идеалы, т. е. множества вида aOD с а Е K*, образуют подгруппу в I(OD), которую будем обозначать P(OD). Будем называть эквивалентными идеалы, отличающиеся умножением на главный дробный идеал; запись а ~ b будет обозначать эквивалентность дробных идеалов а и b. Будем для краткости называть класс эквивалентных собственных дробных идеалов просто классом идеалов. Поскольку P(Od) —подгруппа, то классы идеалов образуют фактор-группу Hd = I (Od )/P(Od ). Она называется группой классов идеалов и является конечной абелевой группой [5, §7]. Поскольку Od и K инвариантны относительно комплексного сопряжения, то комплексное сопряжение дробного идеала как множества само является дробным идеалом; операция комплексного сопряжения идеалов индуцирует корректно определённую операцию на HD.

Квадратичной формой назовём выражение вида Ax2 + Bxy + Cy2, где A, B, C Е Z. Будем также обозначать такие выражения тройками (A, B, C). Дискриминантом квадратичной формы назовём величину B2 — 4AC, две формы назовём эквивалентными, если одна переходит в другую заменой переменных (x,y) с целочисленной матрицей определителя 1. Назовём квадратичную форму положительно определённой, если её дискриминант отрицателен и A > 0, и примитивной, если gcd(A, B, C) = 1. Далее будем рассматривать только примитивные положительно определённые квадратичные формы дискриминанта D, для краткости не оговаривая этого явно. Корнем формы будем называть (единственный) корень т уравнения At2+Вт+C = 0, лежащий в верхней

комплексной полуплоскости H = {z Е C : Im z > 0}, т. е. т =---+ ^ Е K П H. При-

2A

ведённой формой назовём такую форму, что |B| ^ A ^ C, и если B < 0, то |B| < A < C. Каждая форма эквивалентна ровно одной приведённой форме [5, Theorem 2.8].

Элементы группы Hd находятся во взаимно-однозначном соответствии с приведёнными формами, которое будем обозначать буквой h, а именно [5, Theorem 7.7]: форме £ = (A, B, C) с корнем т можно сопоставить класс h(£) = h(A, B,C) идеалов Od, содержащий (1, т)z (который является собственным дробным идеалом Od), причём эквивалентным формам будет сопоставлен один и тот же класс.

Все приведённые формы легко перечислить: нетрудно видеть, что для такой формы справедливы неравенства |B| ^ A ^ \/|D|/3 и при фиксированных A, B существует не более одного варианта для C. Это делает приведённые формы удобным способом задания элементов Hd .

Наряду с классическим определением модулярного инварианта j как функции на верхней полуплоскости H [6, §46] можно также определить j-инвариант решётки в C [5, §10], не меняющийся при умножении решётки на любое ненулевое комплексное число, так, что при т Е H выполнено равенство j (т) = j ((1, т)z). Если а — собственный дробный идеал Od , то он является решёткой в C. При этом умножение идеала а на главный идеал приводит к умножению решётки на элемент из K*; следовательно, значение ^'(а) зависит только от класса идеала а. С вычислительной точки зрения если дробный идеал а принадлежит классу, заданному формой Ax2 + Bxy + Cy2 с корнем т, то есть а ~ (1, т)z, то ^'(а) = j (т).

Для любой эллиптической кривой при n Е Z определим отображение [n], переводящее точку P в точку nP. В частности, отображение [1] — тождественное. Изогенией двух эллиптических кривых будем называть морфизм (в смысле алгебраической геометрии), переводящий бесконечно удалённую точку одной кривой в бесконечно удалённую точку другой, эндоморфизмом эллиптической кривой будем называть изогению в себя. При любом n Е Z отображение [n] является эндоморфизмом эллиптической кривой [7, Example III.4.1] и коммутирует с любым другим эндоморфизмом (поскольку любая изогения эллиптических кривых является гомоморфизмом групп точек в силу [7, Theorem III.4.8]); кольцо эндоморфизмов эллиптической кривой является Z-модулем относительно действия n^ = [n] о ^, где n Е Z, ^ — эндоморфизм. Эндоморфизмы {[n] : n Е Z} образуют кольцо, изоморфное Z [7, Proposition III.4.2].

Кольцо эндоморфизмов эллиптической кривой над C либо совпадает с {[n] : n Е Z}, либо изоморфно порядку в некотором мнимоквадратичном поле [7, Corollary III.9.4 и Exercise 3.18b]. В последнем случае говорят, что кривая имеет комплексное умножение на этот порядок. Есть ровно |Hd | неизоморфных эллиптических кривых с умножением на Od [7, Proposition C.11.1], эти кривые характеризуются тем, что их j-инвариант совпадает со значением модулярного инварианта j (а), вычисленного на представителях классов идеалов Od . Эти значения называются сингулярными значениями. Любое такое значение генерирует над K одно и то же поле L = L(D) = K(j(а)), называемое полем классов кольца OD (ring class field) [5, Theorem 11.1]. Группа Галуа расширения L/K изоморфна группе Hd [5, §9]. Канонический изоморфизм, который будем обозначать П, сопоставляет классу идеалов с представителем b автоморфизм, переводящий ^'(а) в j(аЬ-1) [5, Corollary 11.37]. Комплексное сопряжение действует следующим образом: ^'(а) = j (а) по определению j [5, §10], аа ~ OD [5, (7.6)], следовательно,

j(а) = Ла-1).

h

Рассмотрим многочлен HD[j](x) = П (x — j(а^)), где h = |HD| и а» — представители

i= 1

всех классов идеалов. Его коэффициенты лежат в L, инвариантны относительно действия Gal(L/K) и комплексного сопряжения, то есть лежат в Q. Более того, j(а^ — целые алгебраические числа [5, Theorem 11.1], так что HD [j](x) Е Z[x].

Пусть p простое, n натуральное, q = pn, эллиптическая кривая E определена над конечным полем Fq. Под точками и эндоморфизмами кривой E при отсутствии явного указания основного поля будем понимать Fq-точки и эндоморфизмы над Fq. Под порядком кривой будем понимать число Fq-точек. Кольцо эндоморфизмов End(E) изоморфно либо порядку в некотором мнимоквадратичном поле, либо порядку в некоторой алгебре кватернионов над Q [7, Corollary III.9.4 и Theorem V.3.1]. В последнем случае кривая E называется суперсингулярной, и такие кривые нас интересовать не будут. В первом случае End(E) = Od для некоторого D, удовлетворяющего (1); End(E) = ([1],a)Z, где а — некоторый эндоморфизм кривой E. Оказывается [8, Теорема 13.14], что кривая вместе с эндоморфизмом а может быть «поднята» в C в следующем смысле: существует числовое поле L', кривая E', определённая над ним, эндоморфизм а' кривой E', идеал B' С OL>, лежащий над p (то есть B'nZ = pZ), и редукция E' по модулю B', изоморфная E, причём при этой редукции а' переходит в а. Поскольку а Е {[n] : n Е Z}, то и а' Е {[n] : n Е Z}, так что End(E') = Z и E' обладает комплексным умножением на некоторый порядок в некотором мнимоквадратичном поле. Согласно свойствам редукции [8, Теорема 13.12], она индуцирует изоморфизм End(E') с подкольцом в End(E). Поскольку редукция а' есть а, то End(E') = End(E) = OD.

В End(E) есть эндоморфизм Фробениуса Fr : (x,y) м- (xq,yq) и дуальный к нему эндоморфизм Fr, причём Fr о Fr = [q] [7, Theorem III.6.2 и Proposition 2.11] и [|E(Fq)|] = [| Ker([1] — Fr)|] = ([1] — Fr) о ([1] — Fr) (первое равенство следует из того, что Fr оставляет неподвижными точки Fq и только их, второе— [7, Theorem III.4.10, Corollary III.5.5, Theorem III.6.2]). Обозначим элемент OD = End(E), соответствующий Fr, через п, а элемент, соответствующий Fr, через п; тогда пп = q и (1—п)(1—п) = = |E(Fq)|. В частности, при п Е R из этих равенств легко видеть, что п — действительно комплексное сопряжение к п; если п Е R, то п Е R П Od = Z, следовательно, Fr = [п], а в таком случае Fr = Fr [7, Theorem III.6.2], так что и в этом случае п совпадает с комплексным сопряжением к п.

Поскольку п Е OD, то существуют u,v Е Z, такие, что п = (u + vvD)/2. Тогда п = (u — vvD)/2 и q = пп = (u2 — Dv2)/4, т. е. 4q = u2 + |D|v2. Порядок кривой E при этом равен 1 — п — п + пп = q +1 — u; в силу [7, Exercise 5.10] из несуперсингулярности следует, что (q, u) = 1 .

Подытожим вышесказанное: если E — несуперсингулярная эллиптическая кривая над Fq, то найдутся число D, числовое поле L' и кривая E' над ним, такие, что

— E' обладает комплексным умножением на Od ;

— существует редукция E', изоморфная E;

— порядок E равен q + 1 — u, где u Е Z такое, что для некоторого v Е Z выполнено

равенство 4q = u2 + |D|v2.

Для построения таких кривых Е реализуем следующую схему, подробности которой будут описаны позже:

1) Выберем числа д = рп, р простое, и и, V, О е Ъ так, чтобы Е удовлетворяло (1) и выполнялись следующие условия:

а также чтобы порядок поля д и порядок будущей кривой д +1 — и удовлетворяли условиям, нужным для конкретных приложений.

І.2. Базовый алгоритм

4q = u2 + IDI^2; gcd(u,q) = ^

2)

3)

Вычислим многочлен Но [і](х).

Редуцируем многочлен Но [і](х) по модулю р; получим некоторый многочлен над Ер С , который, как будет показано, разлагается на линейные множите-

ли над . Вычислим какой-нибудь из его корней и построим эллиптическую кривую Е" над с і-инвариантом, равным вычисленному корню.

Кривая Е// обладает комплексным умножением на О о. Изоморфизм не меняет кольца комплексного умножения, но может изменить число -точек. В дальнейшем будет показано, как построить кривую, изоморфную Е//, с числом точек д + 1 — и.

Под — , где а Е Z, p — простое, будем понимать символ Кронекера, который p

при нечётном p равен символу Лежандра, а при p =2 определён только в случае а = 0,1 (mod 4) и равен

1, если a = 1 (mod 8),

-1, если a = 5 (mod 8),

О, если a = О (mod 4).

При Ь е N символ Кронекера определим по мультипликативности.

Условия (4) и (5) накладывают довольно сильные ограничения на д и р. В частности, справедлива следующая лемма.

Лемма 1. Пусть 6 < 0 удовлетворяет условию (2) или (3), О = 6/2. Пусть для д = рп и некоторых целых и, V выполнены условия 4д справедливы следующие утверждения:

1)

u2 + IDIv2, gcd(q,u) = 1. Тогда

2)

3)

p tf; _ _ pO = pp, где p = p u + v\f~D

простые идеалы O;

2

u + vv^D

Є (9

D;

O = pn

или

u + v^fD

Доказательство. Из равенства 4q = u2 + |D|v2 и условия p f u легко видеть, что p f D и p f г; кроме того, редукция равенства по модулю p даёт u2 — Dv2 = = 0 (mod p), откуда D = (uv-1) (mod p). Для доказательства первого утверждения остаётся заметить, что D = df2.

Второе утверждение очевидным образом следует из p f D.

Третье утверждение следует из первого в силу хорошо известного факта из теории квадратичных полей (например, [9, Предложения 13.1.3 и 13.1.4]).

Для доказательства четвёртого утверждения рассмотрим по модулю 2 равенство

4q = u2 + ID I v2. Если D чётно, то u чётно, OD

Z

(D + vD)/2

= Z

(vD)/2

(u + vvD)/2 = u/2 + vvD/2 Є OD. Если же D нечётно, то u = v (mod 2), OD

и

Z

(D + vD)/2

Z

(1 + vD)/2 и (u + vVD)/2 = (u — v)/2 + v(1 + vD)/2 Є Od.

2

2

u і v д/ Dd u___v д/ /D

Заметим, что ----- ----O • ---- ----O = qO = pnO = pnpn. Поскольку p f u, то

_ u ± v^J~D

pp = pO f----------O. Теперь последнее утверждение следует из единственности раз-

ложения на простые идеалы в кольце O.

Перейдём к вопросам реализации.

Действия на первом этапе зависят от требований к q и порядку кривой.

Если q фиксировано, то будем осуществлять перебор целых D, удовлетворяющих (І). Для каждого D сначала проверим необходимое условие (б); если оно нарушено, перейдём к следующему D. Пусть D удовлетворяет (б). Применим алгоритм Корначиа [І0], который решает уравнение x2 і DIy2 = m, при m = 4q. Если решения не существует, перейдём к следующему D. Если решение найдено, то проверим, удовлетворяет ли q і І ± x требованиям на порядок кривой.

Если же q не фиксировано, то вместо метода, описанного в предыдущем абзаце, эффективнее фиксировать D, удовлетворяющее (І), после чего случайным образом выбирать u,!, вычислять q из (4) и q і 1 ± й и проверять, что они удовлетворяют нужным условиям. В [ІІ] и [І2] предлагаются улучшения этого метода, по существу заключающиеся в том, что если указанные параметры выбирать не совсем случайно, то можно гарантировать отсутствие (или снизить вероятность существования) малых простых делителей у q = (u211DIv2)/4 и q 11 ± u. Так, если ограничиться нечётным p и требованием нечётности и простоты одного из чисел q і 1 ± u (как это делает [І2]), то легко видеть, что D = 5 (mod 8), й и v должны быть нечётными; в [І2] предлагается начать с u = 210u0 і 1, ї = 210v0 і 105, u0,v0 — случайным образом выбранные натуральные числа, после чего (если выбранные й и ї не подошли) прибавлять к u попеременно 106 и 104 = 210 — 106. Заметим, что 210 = 105 • 2 = 2 • 3 • 5 • Т. При таком выборе (u21 ID I!2)/4 и одно из q іІ ± u не делится на 2, 3, 5, Т. Метод из [ІІ] использует больше малых простых делителей и более громоздкий, поэтому здесь не приводится. Сравнение производительности методов есть в [І2].

На втором этапе вычисляем многочлен Hd [j](x). Для этого перечислим все h = = IHd I приведённых форм, вычислим их корни ті ,... , Th, найдём с достаточно высокой точностью значения j (ті),... , j (Th) как комплексные числа. По ним приближённо вычислим коэффициенты многочлена Hd [j](x). Если точность вычислений такова, что погрешность в коэффициентах меньше 0,Б, то коэффициенты, являющиеся целыми числами, могут быть однозначно восстановлены по вычисленным приближениям.

Если M — числовое поле, C С OM — простой идеал, z Є OM, то через RC(z) будем обозначать редукцию z по модулю идеала C (таким образом, Rc — отображение из Om в конечное поле). Отображение Rc также действует на многочленах из Om[x] покоэффициентно.

Для реализации третьего этапа надо показать, что многочлен Rpz(Hd[j](x)) разлагается на линейные множители над Fq, а также построить эллиптическую кривую по её j-инварианту.

По лемме І pO = pp. Пусть B С Ol — простой идеал, лежащий над p. Поскольку B П Z = p П Z = pZ, то

RpZ

i=l

и многочлен Дрй(Нд [і](х)) раскладывается на линейные множители над полем О^/В. Таким образом, остаётся доказать следующую теорему.

Теорема 1.

Ol/В С Fq.

Доказательство. Через C— ^ , где C — простой идеал OL, лежащий над про-

стым идеалом c С O, неразветвлённым в —, будем обозначать символ Артина [Б, §Б] (который определён для любого расширения Галуа K С —, но здесь понадобится только для конкретных полей K и —, определённых выше), а именно такой единственный ([Б, Lemma Б.І9]) элемент а Є Gal(—/K), что a (a) = aNorm(c) (mod C) для любого a Є Ol. Поскольку Gal(—/K) = Hd абелева, то символ Артина зависит только от c [Б, Corollary Б.2І] и для него правомерно обозначение ^^ . Если b = c^1 ... ckk —дробный идеал O и все Q — простые, неразветвлённые в —, то определим ( —/— ) = ( —— ) • ... • ( —— ) . Отображение ( —— ) задаёт гомоморфизм

V b У V ci У VcW \ • J

из группы таких дробных идеалов O, в разложение которых на простые не входят простые идеалы, разветвлённые в —, в группу Gal(—/K). Этот гомоморфизм называется отображением Артина.

Через Pk,z(/) [Б, §9] будем обозначать подгруппу дробных идеалов O, порождённую главными идеалами вида aO, a Є O, a = a (mod /O) для некоторого a Є Z, gcd(a, /) = 1. Согласно [Б, §9], поле — классов кольца OD —это единственное абелево расширение K, такое, что

— все простые идеалы O, разветвлённые в —, делят /O (и, следовательно, все идеалы из PK,Z(/) неразветвлены в —: если a = a (mod /O), то gcd(aO, /O) = = gcd(aO, /O) = gcd(a, /)O = O, так что идеал aO взаимно прост с /O);

— ядро отображения Артина есть группа PK,Z(/).

Положим П = (u і Vv/D)/2; из леммы І следует, что либо pn = ПO, либо pn = ПO. В обоих случаях идеал pn главный и лежит в Pk,z(/) (поскольку П = (u і V\/D)/2 = = (u — /Vd)/2 (mod /O), П = (u — VV/)/2 = (u і /!d)/2 (mod /O), по определению Pk,z(/), лемме І и равенству (4)), следовательно, лежит в ядре отображения Артина.

( —/K \ n

Отсюда получаем, что ( —p—J = Id. Иными словами, n-кратное возведение в степень

Norm(p) = p, то есть возведение в степень pn = q, действует на Ol/B тривиально, что возможно только в том случае, когда Ol/B С Fq.

Используя формулы из [7, Proposition А.І.І], легко убедиться, что при j Є Fq или j Є C следующие кривые, определённые соответственно над Fq или над C, имеют j -инвариант, равный j :

— над полем характеристики, равной 0 или не меньшей Б, при j = 0 и j = 1Т28:

2 3 j

y2 = x3 і 3cx і 2c, где c =------;

У ’ 1Т28 —j’

— над полем характеристики, равной 0 или не меньшей Б, при j = 0: y2 = x3 і 1;

— над полем характеристики, равной 0 или не меньшей Б, при j = 1Т28: y2 = x3 і x;

— над полем Fq характеристики 2 при j Є F*: у2 і xy = x3 і j-1;

— над полем Fq характеристики 3 при j Є F*: y2 = x3 і x2 — j-1.

Неуказанные случаи j = 0 для полей характеристик 2 и 3 задают суперсингулярные кривые [7, Exercise Б.7, Theorem 4.І], поэтому нам не встретятся.

На четвёртом этапе утверждается, что построенная к этому моменту кривая Е// обладает комплексным умножением на Od (и, в частности, несуперсингулярна). Докажем это.

Из (7) и построения кривой E" следует, что её j-инвариант равен RB(j(a)), где а — некоторый собственный дробный идеал Od . Поскольку j (а) Е Ol, то в силу [13, §4.3] существует некоторое конечное расширение L/ поля L, кривая Е;, определённая над L;, с j-инвариантом, равным j (а), и идеал B С Ol, лежащий над B, редукция по которому уравнения кривой задаёт кривую без особых точек (уже над конечным полем).

Поскольку j-инвариант кривой Е/ равен сингулярному значению, то Е/ обладает комплексным умножением на Od . Поскольку j-инвариант редукции равен редукции j-инварианта (ибо j-инвариант есть рациональная функция от коэффициентов уравнения, задающего кривую), а B П OL = B, то (j(а)) = RB(j(а)), т. е. j-инвариант редукции кривой Е/ по модулю B равен j-инварианту кривой Е11. Поскольку две кривые изоморфны, если и только если их j-инварианты совпадают [7, Proposition III.1.4], то Е// изоморфна редукции Е/. Теперь из леммы 1 и свойств редукции [8, Теорема 13.12] следует, что Е// несуперсингулярна и End^//) = End^/) = OD.

Таким образом, на четвёртом этапе мы начинаем с кривой Е//, которая определена над Fq и имеет комплексное умножение на Od. Как было показано, порядок кривой Е// равен q +1 — u, где 4q = u2 + |D|v2 и gcd(q,u) = 1, но u,v необязательно совпадают с u, V. Пусть п = (u + vvD)/2 Е OD С O. В силу леммы 1 либо nO = p”, либо nO = p”. То же самое верно и для nO. Следовательно, nO = nO либо nO = пO. Поскольку норма идеала nO^ С Od равна q и взаимно проста с кондуктором f порядка Od , то nOD = nO П OD [5, Proposition 7.20]. Аналогично пOD = nO П OD. Таким образом, либо nOD = nOD, либо nOD = пOD, т. е. в кольце OD число п ассоциировано либо с п, либо с п.

Хорошо известно (см., например, [9, Предложение 13.1.5]), что единицы в кольце OD суть {±1} при D Е { — 3, —4}, {±1, ±(з, ±Сз) при D = —3, где Z3 = e2ni/3 = = (—1 + л/—3)/2, и {±1, ±i} при D = —4.

Если D Е { — 3, —4}, то п = ±п либо п = ±п, что соответствует u = ±u. Таким образом, в этом случае |Е"^д)| = q + 1 ±u. Если |E//(Fq)| = q +1 — u, то кривая Е// является искомой, иначе следует сконструировать другую кривую по уравнению Е// следующим образом. Если p = 2, то нормальная форма Вейерштрасса уравнения кривой имеет вид y2 = f (x), где f — многочлен степени 3 со старшим коэффициентом 1, и тогда кривая y2 = c3f (x/c), где с — квадратичный невычет из Fq, имеет нужный порядок (как легко видеть из формулы в [14]). Если же p = 2, то нормальная форма Вейерштрасса имеет вид y2 + xy = x3 + a2x2 + йб, и тогда кривая y2+xy = x3 + (а2+y)x2 + a6, где TrFq/F27 = 1, имеет нужный порядок [14].

Если D = —3, то в соответствии с описанной выше процедурой можно вычислить H-3[j](x) = x, единственный корень j = 0. Формула (6) в этом случае означает

( —3 | = 1, откуда p = 1 (mod 3), в частности, p > 3. Любая кривая вида y2 = x3 + b, p

b = 0, имеет j-инвариант, равный нулю [7, Proposition A.1.1], и все кривые такого вида Fq-изоморфны между собой (поскольку у них одинаковый j-инвариант).

Обозначим через х единственный мультипликативный характер Fq порядка 2 и положим S2(b) = x(x3 + b). Легко видеть, что порядок кривой y2 = x3 + b равен

xeFq

q + 1 + S2(b). Поскольку p = 1 (mod 3), то и q = 1 (mod 3); в этом случае, соглас-

но [15] (где рассматривается только случай q = p, когда х есть символ Лежандра, но рассуждения переносятся на общий случай тривиальным образом), существуют k, l Е Z, такие, что для произвольного кубического невычета с Е F* справедливы равенства S2(1) = 2k, S2(с2) = — k ± 3l, S2(c-2) = —k ^ 3l и q = k2 + 3l2. Кроме того, S2(b) = x(t)s2(bt3) для любого t Е F*.

Построенная на третьем этапе кривая Е// имеет вид y2 = x3 + 1; тогда u = —S2(1) = = —2k, q = k2 + 3l2, l = ±S2(c )-6S2(c—", где с — произвольный кубический невычет в Fq; отсюда в силу |п |2 = q имеем п = — k ± l\/—3. В случае необходимости сделаем замену с на с-1 и представим п в виде —k — l^/—3, где l = (S2(c2) — S2(c-2))/6.

Либо п, либо п равно произведению п на какую-то из единиц кольца O-3; в обоих случаях u = 2 Re п равно удвоенной вещественной части произведения п на какую-то из единиц. Таким образом, для u возможны шесть вариантов:

— u = 2 Re п = ±2 Re п = ±2k. В этом случае ищем кривую с q +1 ± 2k точек, и кривая y2 = x3 + 1 либо y2 = x3 + g3, где g — квадратичный невычет в Fq, является искомой;

— u = 2 Reп = ±2 Re

точек, и кривая y2 = x3 + с2 либо y2 = x3 + с2д3 является искомой;

— u = 2 Re п = ±2 Re

точек, и кривая y2 = x3 + с-2 либо y2 = x3 + с-2д3 является искомой.

Если D = —4, то аналогично имеем H_4[j](x) = x — 1728, единственный корень

f—4\

j = 1728. Формула (6) в этом случае означает — =1, откуда p = 1 (mod 4), в

p

частности по-прежнему p > 3. Любая кривая вида y2 = x3 + bx, b = 0, имеет j -инвариант, равный 1728 [7, Proposition A.1.1], и все кривые такого вида Fq-изоморфны между собой (поскольку имеют одинаковый j -инвариант).

Положим S1(b) = ^2 x(x)x(x2 + b), где, как и раньше, х — единственный мульти-

xeFq

пликативный характер Fq порядка 2. Легко видеть, что порядок кривой y2 = x3 + bx равен q + 1 + S1(b). Поскольку p = 1 (mod 4), то и q = 1 (mod 4); в этом случае, согласно [16], существуют k,l Е Z, такие, что k нечётно, S1 (1) = 2k, S1(b) = ±2l для любого квадратичного невычета b и S1(b) = x(t)S1(bt2) для любого t Е F*.

Построенная на третьем этапе кривая Е// имеет вид y2 = x3 + x; тогда u = —S1(1) = = —2k, q = k2 + l2. Поскольку |п|2 = q, то п = —k ± li.

Аналогично предыдущему случаю есть четыре варианта для u, а именно ±2 Re п = = ±2k и ±2 Re (гп) = ±2l. Если u = ±2k, то кривая y2 = x3 + x либо y2 = x3 + g2x, где g — квадратичный невычет в Fq, имеет нужное число точек. Если u = ±2l, то кривая y2 = x3 + gx либо y2 = x3 + g3x имеет нужное число точек.

1.3. Некоторые известные оптимизации метода

Коэффициенты многочлена Hd[j] растут достаточно быстро с ростом |D|. Например, H_40[j](x) = x2 — 425692800x + 9103145472000. Поэтому представляет интерес поиск других функций, сингулярные значения которых лежат в L, но имеют меньшую высоту характеристического многочлена.

Пусть z Е H, q = e2niz. Введём вслед за [6] функции

Пусть N — натуральное число. Назовём вслед за [17] N-системой набор форм (АЬВЬ 61),..., (А^,В^, СД такой, что

— набор |^(А^, В*, С) : 1 ^ г ^ Л,} является полной системой представителей груп-

— справедливы соотношения gcd(A^ N) = 1; Bj = Bj (mod 2N).

Отметим, что для любой формы (Aj, Bj, Cj) выполнено Bj = D (mod 2), так что из первого условия автоматически следует, что Bj = Bj (mod 2) для любых г, j.

По известному набору форм, удовлетворяющему первому условию

1) Сначала добьёмся выполнения условия gcd(Aj, N) = 1 при всех г.

Ясно, что достаточно уметь добиваться условия gcd(Aj, N0l) = 1 в предположении, что gcd(A^ N0) = 1, где l — очередной простой делитель N, не делящий N0.

Число l не может делить каждое из трёх чисел Aj, Aj + N0B^ + NQ Cj, l2Aj + lN0Bj + +NgCi, потому что иначе числа Aj,Bj,Cj имели бы общий делитель l и форма (Aj, Bj, Cj) не была бы примитивной.

— Если l { Aj, то условие gcd(Aj, N0l) = 1 выполнено.

— Если 11 Aj + N0Bj + Nq Cj, то в форме Ajx2 + Bjxy + Cjy2 сделаем замену переменных x = x/, y = N0x/ + y/ (очевидно, определитель матрицы этой замены равен 1); получим эквивалентную форму с коэффициентом при x/2, равным Aj + N0 Bj + Nq Cj, дальше будем работать с ней вместо (Aj, Bj, Cj).

— Если l {l2Aj + lN0Bj + NqC, то найдём a, b Е Z, такие, что al — bN0 = 1, и сделаем замену переменных x = lx/ + by/, y = N0x/ + ay/ (очевидно, определитель матрицы этой замены равен 1); получим эквивалентную форму с коэффициентом при x/2, равным l2Aj + lN0Bj + Nq Cj, дальше будем работать с ней вместо (Aj, Bj, Cj).

2) Остаётся обеспечить условие Bj = B1 (mod 2N) при всех г. Замена переменных x = x/ + ay/, y = y/ переводит форму (Aj,Bj,Cj) в эквивалентную форму (Aj, Bj + 2aAj, Cj + aBj + a2Aj); поскольку gcd(Aj, N) = 1, то применение этого преобразования с a = A_1(B1 — Bj)/2 mod N решает задачу.

Теорема 2 (Theorem 1 из [17]). Пусть а Е H — корень формы

пы ;

(А, В, С), 2 | А, 32 | В,

дискриминант которой равен В2 — 4АС = О = —4т, т € N. Пусть $(а) определено следующими формулами:

(mod 8),

f(a)3, если m = 3 (mod 8), \3

;)M , если m = 5 (mod 8),

3

если m = Т (mod 8),

3

если m = 2 (mod 4),

3

если m = 4 (mod 8).

Тогда g(a) G OL.

Если a1 = a,... , ah — корни элементов 16-системы, то сингулярные значения g(a^) образуют полный набор различных сопряжённых чисел над Q.

Теорема 3 (Theorem 2 из [17]). Пусть a G H — корень формы

Более того, в случае 3 { Д, если а1 = а,..., а, — корни элементов 3-системы, то сингулярные значения 72(а^) образуют полный набор различных сопряжённых чисел над Q. Кроме того, числа 72(а^) целые алгебраические.

Введём вслед за [18] при простых р1,р2 функцию

Теорема 4 (Theorems 3.2, 3.3, Corollary 3.1 из [18]). Пусть D удовлетворяет (1), N = p1p2, Р1 и p2 — простые числа, удовлетворяющие следующему условию:

Тогда существует форма (АЬВ,61), такая, что gcd(A1,N) = 1 и N | С1. Пусть а1 Е Н — её корень. Сингулярное значение тр1р2 (а1) лежит в Ь. Все сопряжённые над К значения к тр р2 (а1) суть тр р2 (а*), где а* пробегает корни элементов ^системы. Числа тр (а*) являются целыми алгебраическими.

Если выполнено условие 1 или 2а, то тр (а*) являются единицами (т. е. т-^р2(а*) также целые алгебраические).

Если р1 и р2 удовлетворяют более сильному условию

(A,B,C), 3 t A, 3 | B

дискриминанта B2 — 4AC = D. Тогда

и обозначим s

24

gcd(24, (p1 — 1)(p2 — 1))'

. p, либо 26} p|f при p1 = p2 = p.

= —1 и p1,p2 t f при p1 = p2;

— ("р) = 1 или Р I ^ при Рі = Р2 = Р =2;

— либо = 1, либо 2 | f и Б ф 4 (mod 32) при р1 = р2 = 2,

то комплексное сопряжение переставляет числа тр1 ,Р2 (а^).

Далее понадобятся более точные утверждения. Формулировки теорем 2, 3, 4 дают неполную информацию о действии автоморфизмов из Оа1(Ь/К) на сингулярных значениях. Однако их доказательства из [17, 18] предоставляют эту информацию.

Утверждение 1 [17]. Пусть 9 — функция, описанная в формулировке одной из теорем 2, 3, 4 (в последней достаточно выполнения слабого условия на р1,р2), а, Ь — два элемента N-системы из формулировок тех же теорем, а — корень а, в — корень Ь,

О : ^ Са1(Ь/К) —канонический изоморфизм. Тогда

9(а)ОД(аЖЬ)-1) = 9 (в).

Для 9 = і эта формула также верна, что уже упоминалось выше.

Утверждение 1 удобнее использовать в виде формулы, задающей действие конкретного элемента Са1(Ь/К) на сингулярных значениях. Напомним, что () сюръективно, а N -система по определению содержит представителей всех классов .

Следствие. Пусть 9, ^система и а такие же, как в предыдущем утверждении, и с Є Нд. Тогда существует форма Ь, принадлежащая этой ^системе и такая, что

^(Ь) = ^(а)с-1.

Если в — корень Ь, то

9

В дальнейшем при использовании функции mp1 p2 будем предполагать, что p1 и р2 удовлетворяют сильному условию теоремы; легко видеть, что для любого D такие p1 , p2 всегда можно найти.

Объединяя теоремы 2 и 3, получаем, что если в дополнение к условиям теоремы 2 выполнены условия 3 \ D, 3 { A, 3 | B, то в заключении теоремы 2 в выражениях для g(a) можно убрать возведение в куб. Например, рассмотрим случай m = 3 (mod 8). Согласно (9),

f

(f(a)3)8 - 16 V J

Поскольку f(a)3 G L и Y2(a) G L, то и f(a) G L. Из утверждения 1 следует, что любой автоморфизм из Gal(L/K) переводит f(a)3 в f(a')3 и y2(a) в y2(a;), где a' зависит только от автоморфизма; из (11) следует, что f(a) переходит в f(a'). Наконец, f(a) — целое алгебраическое, например, как кубический корень из целого алгебраического числа f(a)3. В остальных случаях формулы несколько сложнее, но принцип одинаков.

Пусть 9 и a* = {a1,... , ah} — соответственно функция и набор корней, заданные в условии одной из теорем 2-4. Введём многочлен от одной переменной

HD[9, a*](x) = П (x - 9(ai)).

i=1

Если 9 — функция, заданная в условии теоремы 2 или 3, то многочлен Нд [9, а*] имеет целые коэффициенты. Если же 9 = тр , то нужно привлечь утверждение 1, из

которого легко видеть, что Hd [9, a*] инвариантен относительно Gal(L/K) и, следовательно, лежит в K[x]; теперь из теоремы 4 следует, что и в этом случае Hd [9, a*] имеет целые коэффициенты.

Например, H_40[y2, a*](x) = x2 — 780x + 20880, H-40[g, a*](x) = x2 — x — 1, где g(a) =

AQ —f1(a)2, H_4o[m5 ,7, a*](x) = x2 — x — 1, H_4o[mn ,13, a*](x) = x2 ±2x + 1. (В первых трёх примерах многочлен не зависит от набора a*, в последнем в зависимости от a* есть два варианта.) Последний пример демонстрирует, что значения mp1p2 (a^) могут и не быть попарно различными, так что в общем случае Hd [mpip2, a*] есть некоторая степень минимального многочлена.

Поскольку для рассматриваемых функций многочлен Hd[9, a*], как и Hd[j], имеет целые коэффициенты, то его можно вычислять путём построения достаточно точных приближений к сингулярным значениям 9(a^) с последующим перемножением скобок вида x — 9(a^) и восстановлением целых коэффициентов многочлена путём округления вычисленных приближений. Поскольку 9(a^) G Ol, то 9(a^) имеет представителя в OL/B С Fq (теорема 1), так что редукция уравнения HD[9,a*](x) = 0 по модулю р разлагается на линейные множители над Fq. Остаётся по значению редукции 9(a^) в Fq вычислить j-инвариант нужной эллиптической кривой, равный RB(j(a)). Для функции y2 и степеней f из теоремы 2 ответ дают формулы (9). Для функций mp1 p2 ситуация более сложная. В этом случае существует многочлен ФР1 ,p2 (x,y) G Z[x,y], такой, что выполнено тождество ФР1 ,Р2(mp1 ,Р2(z), j(z)) = 0 [18]; подставляя в это тождество значение z = a^ и редуцируя по модулю B (поскольку B П Z = pZ, то для редукции достаточно привести многочлен ФР1,Р2 по модулю р), получаем полиномиальное уравнение над Fq на RB(j(a)), из которого можно найти несколько вариантов для RB(j(a)). Правильный вариант можно выбрать, рассмотрев все варианты, построив для каждого эллиптическую кривую и проверив, что её порядок равен q +1 — m. Если, как, например, нужно в криптографических приложениях, q + 1 — m делится на большое простое число, то простой тест, проверяющий, что случайно выбранная точка кривой после умножения на q +1 — m переходит в нуль, хорошо отсеивает неверные альтернативы. Следует отметить, что совпадающий порядок кривой не гарантирует, что кольцо эндоморфизмов есть в точности Od , но столь тонкие различия часто неважны для приложений; более подробно этот вопрос разобран в [18].

2. Свойства изоморфизма Q

Мы определили группу Hd как фактор-группу группы I (Od ) собственных дробных идеалов порядка Od по подгруппе главных идеалов P (Od ).

Напомним, что идеал а С OD взаимно прост с f, если a + fOD = OD. Согласно [5, Lemma 7.18], это условие эквивалентно gcd(Norm(a), f) = 1, и все такие идеалы собственные. Обозначим подгруппу, порождённую ими в I(Od), через I(Od , f). Обозначим подгруппу в P(Od), порождённую главными идеалами aO_D с gcd(Norm(a), f) = 1, через P(OD, f). Включение I(OD, f) С I(OD) индуцирует изоморфизм I(OD, f )/P(OD, f) = HD [5, Proposition 7.19].

Идеал а С O взаимно прост с f тогда и только тогда, когда выполнено условие gcd(Norm(a), f) = 1 [5, Lemma 7.18]. Обозначим группу дробных идеалов O, порождённую такими идеалами, через I(O, f). Напомним, что P_K,z(f) обозначает подгруппу идеалов O, порождённую главными идеалами вида aO, где a G O, a = a (mod f O) для a G Z, такого, что gcd(a, f) = 1. В соответствии с [5, Proposition 7.20] формула a M aO

задаёт изоморфизм групп П1 : I(OD, f) M I(O, f), сохраняющий норму. Кроме того [5, Proposition 7.22], П индуцирует изоморфизм I(OD, f)/P(OD, f) = I(O, f)/PK,z(f). Таким образом, получили изоморфизм П2 : HD M /(O,f)/PK,Z(f). Отображение

Артина I(O, f) M Gal(L/K), которое будем обозначать ^ —^ , индуцирует изоморфизм I(O, f)/PK,Z(f) M Gal(L/K), композиция которого с П2, согласно [5, §9], есть канонический изоморфизм П, который фигурирует в утверждении 1.

Подытожим: существует коммутативная диаграмма

I

I I I

HD — I

П2

где вертикальные стрелки обозначают проекции группы на фактор-группу, а стрелки во второй строке обозначают изоморфизмы.

Теорема 5. Пусть (A, B, C) — форма, такая, что gcd(A, D) = 1. Пусть q | D такое, что выполнен один из двух наборов условий:

— |q| — нечётное простое число, q = 1 (mod 4);

— q G {—4, ±8}, D/q = 0 (mod 4) или D/q = 1 (mod 4).

Тогда

1) -q G L;

2)

3)

(a, (—B + VD)/2^ g I(Od, f), Norm(a) = A;

/ L/K \ . . (q \ / L/K \ ^ ^

( ) (л/?) = л/?, где ( ------- ) обозначает отображение Артина,

введён-

ное при доказательстве теоремы 1, а есть символ Кронекера, определённый на с. 21.

Доказательство. Первое утверждение следует из [19, Theorem 2.2.23 и (2.2.8)].

По [5, Theorem 7.7] а является собственным идеалом Od . Его норма по определению равна |Od/а|; легко видеть, что в каждом смежном классе по а существует единственное целое число из 0,... , A — 1, так что Norm(a) = A. Поскольку gcd(A, f) = 1, то a взаимно прост с f.

Докажем третье утверждение. Запишем П1(а) = p1 • ... • ps, где pj — простые идеалы O (не обязательно различные). Поскольку A = Norm(a) = Norm(p1) • ... • Norm(ps) и символ Кронекера мультипликативен по нижнему аргументу, достаточно доказать, что для каждого простого p | П1(а) выполнено равенство с символом Артина

p

Q

Norm

13)

Поскольку левая часть есть образ ^fq под действием некоторого автоморфизма, то она должна быть равна ±^/q.

Пусть p — простой идеал, p | П1(а), p П Z = pZ, р нечётно. Пусть простой идеал B С OL лежит над p. Поскольку gcd(A, D) = 1 и q | D, то 2—q G B и, следовательно,

—q = — —q (mod B). По определению

Norm(p)-1 :_ , 4

q 2 yfq (mod B).

n

Если идеал pO простой (т. е. p = pO), то Norm(p) = р2 и правая часть (13) равна —q.

_ Norm(p)-1 , 1 ч Р+1 ' 1 ' ' N

С другой стороны, q 2 = (qp-1) 2 = 1 (mod р), так что левая часть (13) сравнима

с y/q по модулю B и, следовательно, равна ^/q, так что равенство (13) выполнено.

Если идеал pO не простой, то Norm(p) = р и правая часть (13) равна ( ^ ) —q.

\pj

С другой стороны, q ^ = qр— = (mod р), так что левая часть (13) сравнима

с I ^ ) —q по модулю B, следовательно, равна ( ^ ) —q, что доказывает (13) и в этом pp случае.

Пусть теперь p | П1 (a), p П Z = 2Z, простой идеал B С OL лежит над p. В этом случае 2 | A, следовательно, по условию 2 { D и q нечётно. Поскольку B2 — 4AC = D, то D = B2 = 1 (mod 8). Следовательно, d = 1 (mod 8) и идеал 2O не простой [9, Предложение 13.1.4], так что Norm(p) = 2. Таким образом, правая часть (13) рав-

(q\ ^ Д й (i3) (LlK\ f1 + —q\ Э

на V2/ q. Для вычисления левой части (13) рассмотрим I —p— II ------— I . Это

выражение должно быть равно (1 ± ^/q) /2, и два возможных значения различны по модулю B. По определению

2

(mod B).

Если = 1, то q = 1 (mod 8), (q — 1)/4 чётно и, следовательно, лежит в B; если = —1, то q = 5 (mod 8), (q — 1)/4 нечётно и, следовательно, сравнимо с —1 = 1

'1 ,2

по модулю B. В обоих случаях

откуда следует

Лемма 2. Пусть d < 0 удовлетворяет одному из условий (2) и (3). Тогда d может быть единственным с точностью до порядка множителей способом представлен в виде произведения d = q1 • ... • q*, где все q* попарно взаимно просты, q* = (—1)q, если q > 0 — нечётное простое, и q* G {—4, ±8}, если q = 2.

Доказательство. Единственность такого представления очевидна, нужно доказать его существование.

В случае (2) разложение числа d на простые множители имеет вид d = —q1 •... • qt, где q^ — различные нечётные простые; поскольку q* = ±q^, то d = ±q1 •... • q*; наконец, поскольку d = 1 (mod 4) и q* = 1 (mod 4) для всех i, то заключение леммы выполнено.

В случае (3) разложение числа d/4 на простые множители имеет вид либо d/4 = —q1 • ... • qt-1, либо d/4 = —2q1 • ... • qt-1, где в обоих вариантах q^ — различные нечётные простые. Если d/4 нечётно, то, как и в предыдущем случае, d/4 = ±q1 • ... • q*-1, но теперь в силу (3) d/4 = 1 (mod 4), так что в правой части должен быть знак минус, и после умножения на 4 получаем заключение леммы с q* = —4. Наконец, если d/4 чётно, то d/4 = ±2q1 • ... • q*-1, и, выбирая знак q* = ±8 подходящим образом, получаем заключение леммы.

Легко видеть, что числа q* из леммы 2 удовлетворяют условию теоремы 5 и, следовательно, K (VH,... , л/qf) С L. Поле K (л/Ц,... , л/qf) зависит только от поля K (которое определяет d, но не f) и называется полем родов (genus field) для K. Далее будем обозначать K (л/Ц,... , л/1?) = KG.

3. Кольцо целых поля родов

Итак, введены в рассмотрение поля K = Q и KG = K (—q1, . . . , —qtr). Далее

понадобится знание кольца целых в Kg.

Пусть q* взяты из условия леммы 2, тогда выполнен один из следующих трёх случаев:

1) все |qi| —нечётные простые;

2) q* = ±8;

3) q* = —4.

Построим в каждом из этих случаев фундаментальный базис поля Kg; поскольку d = q1  ...  q*, то —d G Q(—з!,... , —qtF) и следовательно, KG = Q(—qf,... , —qf).

Лемма 3. Пусть M — числовое поле, p G Z — такое простое число, что идеал pZ неразветвлён в M. Пусть также c G M такое, что pc2 G OM. Тогда c G OM.

Доказательство. Предположим, что c G OM. Тогда идеал cOM дробный, и его разложение на простые имеет вид q11 ...  q^, где все qj попарно различны и s1 < 0. Но степень q1 в разложении идеала pOm не превосходит 1 в силу неразветвлённости pZ, а степень q1 в разложении идеала c2Om не больше —2, следовательно, степень идеала q1 в разложении pc2Om отрицательна, что противоречит тому, что pc2 G Om .

Теорема 6. Пусть q1,..., qr — такие попарно различные целые числа, что |qj| — нечётные простые и / = 1 (mod 4). Обозначим а = (1 + л/qj)/2 и а = (1 — v^/i)/2. Тогда

1) числа «11 ... а^г, когда набор (sj) пробегает всевозможные наборы из {0,1}r, образуют фундаментальный базис поля Q(^/qT,... , yfoT);

2) числа (511 a1-s1... <5^гa1-Sr, когда набор (sj) пробегает всевозможные наборы из {0,1}r, образуют фундаментальный базис поля 0(^/1ъ ... , л/<?г).

Доказательство. Доказательство проведём индукцией по г. При r = 0 утверждение тривиально. Предположим, что утверждение доказано для полей Mj = = Q(—/1,..., —qi) при i = 1,..., г — 1.

Лемма 4. Пусть р G Z — простое число, не делящее ни одно из чисел /1,... , /г-1. Тогда идеал pZ неразветвлён в Mr-1.

Доказательство. Достаточно проверить, что для всех 1 ^ i ^ г — 1 никакой из идеалов поля Mj-1, делящих pOMi-1, неразветвлён в Mj = Mj-1^y/qj').

Пусть p — простой идеал кольца целых поля Mj-1, такой, что p П Z = pZ. Расширение Mj-1 С Mj порождается элементом aj; из индуктивного предположения следует, что (1, aj) образуют базис Om4/Om*- 1. Единственный нетривиальный автоморфизм Mj над Mj-1 переводит этот базис в (1, aj). В соответствии с [20, Предложения III.8 и III.14] для доказательства неразветвлённости p достаточно проверить, что p не делит

det ^ = (aj — <5j)2 = /j. Поскольку р не делит qj, это свойство выполнено.

Применим лемму 4 к р = |/r|. Разложение идеала OMr-1 на простые идеалы не содержит квадратов. В частности, ^/qT G Mr-1, поскольку иначе было бы (qrOMr-1) =

= (^/ОТОмг-і)2. Следовательно, (1,аТ) образуют базис МТ над Мг-і. Пусть а + ЬаТ — целое алгебраическое число и а, Ь Є Мг-1. Число а + 6(1 — аТ) — сопряжённое к а + ЬаТ и потому тоже является целым алгебраическим. Следовательно, их сумма х = 2а + Ь и произведение у = а2 + аЬ + Ь2 (1 — а)/4 также являются целыми алгебраическими и, следовательно, лежат в ОМг-1. Далее, х2 — 4у = йЬ2 Є ОМг-1. Из леммы 3 следует, что Ь Є ОМг-1. Следовательно, 2а Є ОМг-1, а2 + аЬ Є ОМг-1, 2а2 = 2(а2 + аЬ) — 2а  Ь Є ОМг-1. Применяя леммы 4 и 3 к р = 2, получаем а Є Омг_ 1. Таким образом, если а + ЬаТ — целое алгебраическое и а,Ь Є Мг-1, то а,Ь Є ОМг-1; обратное утверждение очевидно, следовательно, (1,аТ) образуют базис кольца целых МТ над Омг-1 , что доказывает индуктивный переход для набора аі1 ... . Для доказательства второго утверждения теоремы достаточно заметить, что (1 — аг, аг) = ((1 — )/2, (1 + ^/СТ)/2) также

образуют базис кольца целых МТ над ОМг-1.

Теорема 7. Пусть /1,... ,/Г-1 такие же, как в теореме 6, и = ±8. Обозначим аг = \//4. Тогда следующие множества образуют фундаментальные базисы поля 0(^51,..., ):

1) числа «11 ... а^г, когда набор (^) пробегает всевозможные наборы из {0,1}г;

2) числа й!1 «1-51 ... О--1 а1—г-1 а^г, когда набор (в*) пробегает всевозможные наборы из {0,1}г.

Доказательство. Положим М = 0(^/ЙЇ,..., л/ЙТ-Г). Применим лемму 4 к р =2 и теорему 6. Идеал 2Z неразветвлён в М, следовательно, как было показано ранее, ^/ОТ Є М и (1, ^/ОТ) образуют базис М (^/ОТ) над М.

Пусть а+ЬаГ — целое алгебраическое число и а, Ь Є М. Число а — Ьаг — сопряжённое к а + Ьаг и потому тоже является целым алгебраическим. Следовательно, их сумма 2а и произведение а2 +

2Ь2

также являются целыми алгебраическими и, следовательно, лежат в Ом. Далее, (2а)2 — 4(а2 + 2Ь2) = ±2(2Ь)2 Є Ом, по лемме 3 отсюда следует, что 2Ь Є Ом. Теперь 2(а2 + 2Ь2) ± (2Ь)2 = 2а2 Є Ом и, повторно применяя лемму 3, находим а Є Ом. Наконец, а2 — (а2 + 2Ь2) = ±2Ь2 Є Ом, и третье применение леммы 3 даёт Ь Є Ом. Таким образом, (1, аг) образуют базис кольца целых поля М(^/ЙТГ) над Ом, и применение теоремы 6 завершает доказательство.

Теорема 8. Пусть й,... , СГ-1 такие же, как в теореме 6, и дТ = —4. Обозначим аг = у/й/4 = і. Тогда следующие множества образуют фундаментальные базисы поля

0(^а,..., Vй):

1) числа «11 ... а^г, когда набор (в^) пробегает всевозможные наборы из {0,1}г;

2) числа аЦа1”51 ... О--1 а1—г-1 а^г, когда набор (в^) пробегает всевозможные наборы из {0, 1}г.

Доказательство. Положим М = 0(^/Ої,..., л/ОТ—1). Равенство 2 = —і(1 + і)2 показывает, что идеал 2Z разветвлён в любом поле, содержащем і. Согласно лемме 4 и теореме 6, 2Z неразветвлён в М. Следовательно, і Є М.

Пусть а + Ьі — целое алгебраическое число и а, Ь Є М. Число а — Ьі — сопряжённое к а + Ьі и потому тоже является целым алгебраическим. Следовательно, их сумма 2а и произведение а2+Ь2 также являются целыми алгебраическими и, следовательно, лежат в Ом. Далее, 2(а2 + Ь2) + 2а  2Ь = 2(а + Ь)2 Є Ом и по леммам 4 и 3, применённым к р = 2, и теореме 6 а + Ь Є Ом. Теперь 2а — (а + Ь) = а — Ь Є Ом, (а + Ь)(а — Ь) = = а2—Ь2 Є Ом, 2а2 Є Ом, 2Ь2 Є Ом; снова применяя леммы 4 и 3 и теорему 6, получаем

а,Ь Є Ом. Таким образом, (1,а*) образуют базис кольца целых поля М(^/ЙТ) над Ом, и применение теоремы 6 завершает доказательство.

Поскольку в каждом случае из теорем следует, что [Кс : О] = 2*, то Е Q(... ,

•\Zqj-i, \/Й1+1,...) Для любого 1 ^ ^ £. Следовательно, в Оа1(Кс/О) есть £ элемен-

тов тщ , действующих следующим образом:

Му с*; = V ^^

Положим т^ = т41 ... т4 Є Оа1(Кс/0) при ^ Є {0,1}*; сравнивая действие т^ на , легко видеть, что все т^ различны. Получаем 2* = | Оа1(Кс/0)| различных элементов Оа1(Кс/0), которые, таким образом, исчерпывают эту группу.

Предыдущие теоремы задают Z-базис Окс. Нас также будут интересовать пересечение Окс с К (являющееся, очевидно, кольцом целых в поле Кс П К) и пересечение Окс с Ж (являющееся, очевидно, Z-модулем). Среди с* есть отрицательные числа. Обозначив через и число положительных среди с*, 0 ^ и < і, можно без ограничения общности считать, что с1 > 0, ... , > 0, си+1 < 0, ... , с* < 0.

Комплексное сопряжение действует на так же, как и композиция ти+1... т*. Поскольку Кс П К — это максимальное подполе Кс, инвариантное относительно комплексного сопряжения, то Оа1((Кс П К)/0) изоморфна фактор-группе Са1(Кс/0) по подгруппе, порождённой комплексным сопряжением. Выбирая в качестве представителя смежного класса элемент с = 0, получаем, что Оа1((Кс П К)/0) состоит из автоморфизмов

тА = тА1,...,Л

при Л Є {0,1}*-1, различных при разных Л.

В дальнейшем из двух значений л/й будем выбирать то, которое соответствует произведению ...  д/с*, где значения отдельных корней такие же, как при вычислении а и <5^.

Теорема 9. Пусть с1,... , с* такие же, как в лемме 2, нечётные, занумерованные так, что с* > 0 при 1 ^ і ^ и и с* < 0 при и < і ^ і, где и — некоторое число от 0 до і — 1 включительно; = 0(^с1,... , л/с*"); тА заданы формулой (15). Тогда

1) числа

&!,..,*_! = в^1,...,5і_1 (с1 ,...,с* ) =

П ^«МІ ( ( П й*?іа1-*) а + ( П 5

і=1 /\ \г=«+1 / \г=«+1 /

когда набор (^) пробегает всевозможные наборы из {0,1}*-1, образуют фундаментальный базис поля Кс П К;

2) числа

вГі,...,*-! = в*1,...,5і_1 (11 ,..., сГ ) =

\ / / *-1 \ / *-1 \5г ^ч,1-5г \ ( ( "ГГ / Л, 1-5г \ ^ / І I ~1-5г

П( — ^)5гаг ^ ) И П ( — ^)5гаг ^ — ( П ^( —^^ ) <5*

г=1 / \ \г=«+1 / \г=«+1 /

когда набор (в*) пробегает всевозможные наборы из {0,1}*-1, образуют базис Z-модуля 0К(3 П Ж;

3) для любых п, V Е {0,1}*-1 справедливо равенство

Е (-1)«+--«-т, (в„ в; ^ если 4 = "•

^е{0,1}‘-1 |0, иначе.

Доказательство. Обозначим элемент базиса из п. 2 теоремы 6, соответствующий набору (в1,..., в*), через в*Ь...Л.

Число из 0кс попадает в пересечение Кс П К тогда и только тогда, когда оно инвариантно относительно комплексного сопряжения. Легко видеть, что комплексное сопряжение переводит в* 1,...,«, в в*ь...,8ид-8и+ь...д-8(. Таким образом, для инвариантности Z-линейной комбинации в*х необходимо и достаточно, чтобы для каждого набора (^) коэффициенты при в*ь...,5, и в* 1,...,^и,1-«и+1,...,1-«4 совпадали. Теперь из теоремы 6 следует, что {в* 1,...,в4-1 ,о + в* 1,...,вщ,1-вщ+1,...,1-в4-1,1} образуют требуемый фундаментальный базис. Из определения в; легко видеть, что эта сумма равна в«ъ...,«4-1, что доказывает первое утверждение теоремы.

Число из попадает в пересечение Кс П гК тогда и только тогда, когда оно

меняет знак под действием комплексного сопряжения. Аналогично предыдущему получаем что {в* 1,...,в4-1,о - в* 1,...,вщ,1-вщ+1,...,1-в4-1,1} образуют требуемый ^-базис. Из определения в' легко видеть, что эта разность равна ±вТ 1, что доказывает второе

утверждение теоремы.

Наконец, третье утверждение проверяется прямой выкладкой. А именно, легко видеть, что

Т, ^впъ...да-1

п пга,1-^^ V ( П <5^аг1-(,гпг)) а* +( П йг1-(,4П4)а,4пЛ а

ь=1 ) \ \г=и+1 ) \г=и+1 )

Т, (в,;, „,-1) = ( П (-1)"'йГ-*"-а'^^ х

*(( П (-1)"'й,'Ф"'аг1-(,'"'Л а* -( П (-1)"'йг1-(,'"')а,'"Л а*) .

\ \г=и+1 ) \г=и+1 ) )

Подставим эти формулы в произведение Т,(вПь...,П(-1 )т,(в^...^^ 1), получим формулу вида (а+6)(с-^), в которой раскроем скобки, получив четыре слагаемых ас+6с-а^-М. Под Гщ будем понимать символ Кронекера: 8ц = 1, Гщ = 0 при г = ]. Заметим, что

^

,'=0

(-1)^' ^йП'+^'а^ (Пг+ -) - 5 (П' + ')аП'+^'^ (а2 - й2) = //ЙТ,

^ (- 1),г (- 1)^г й1-(,'П')+(,'^') а(,г Пг) + 1-(,г^г) =

,г=0

( 1)^ (й1-Пг+^1+Пг-^ й1+Пг-^а1-Пг+^) = г (а2 й2) = г ПТ

(-1) (,йг аг - йг аг ^ = ГПг+^Д (,аг - +^,1\/<?г

/'лД-Пг + Ь'г^ Д+Пг-^г ~Д+Пг-^^ Д-Пг+М _ Г / 2 ~,2>

аг ^ = ГПг+^Д (,аг

и перестановка а^ и й даёт ещё два рассматриваемых произведения, которые совпадают с предыдущими, умноженными на (-1).

Таким образом,

Е

,е{од}‘

и \ / *-1 *-1

П л/^] ( а* П л/^" + й*а* П Гпг+ViД\/q; —

г=1 / \ г=и+1 г=и+1

-а*й* П

г=и+1 г=и+1

Знак произведения у1 •... • у* определяется чётностью количества отрицательных множителей, которых ровно £ — и. Таким образом, из условия у1 ... у* < 0 следует, что

І-1

і — и нечётно и П (-1) = (—1)І— = 1;

і=и+1

Е (-1)^1+...+^‘-!(впі>...>Чі—1 ^і,...Л-і) =

0,1}‘-1

П (а* — а*) ( —І = л/°? П "ч^х/0? •

, І—1 \ І—1

і — аі у І 11 "Чі^і V Уі і = V Уі 11 "Чі^,

і=1 / \г=и+1 / і=1

Теорема доказана.

Теорема 10. Пусть у£, •• • , у* такие же, как в теореме 9, и у1 = 8. Пусть у* занумерованы так, что о* > 0 при 1 ^ і ^ и и у* < 0 при и < і ^ і, где и — некоторое число от 1 до і — 1 включительно; = О(л/0! , • • • , л/О?); тл заданы формулой (15). Тогда

1) числа

У и

&і,..,*-і = ввь...)в4-1 (о1 ,•••,0*) = ^ а1 - I х

181 П ~8* ~1-5’

\г=2

х ( ( П а?а1-вЛ а* + ( П а1-5* а*Л йЛ ,

\ \г=м+1 / \г=м+1 / /

когда набор (вг) пробегает всевозможные наборы из {0,1}*-1, образуют фундаментальный базис поля Кс П К;

2) числа

в;ь...Л-1 = в:ь...)в4_1 (у1 ,...,?**) = ^21-51 (П (—а*)5*а1-5* I х

\г=2

х^Г П (—аг)54а1-^ а* — (" П а1-54(—а^Л а*

V \г=«+1 / \г=«+1 /

когда набор (вг) пробегает всевозможные наборы из {0,1}*-1, образуют базис Z-модуля 0К(3 П гК;

3) для любых V, п € {0,1}*-1 справедливо равенство

Е (—1)^>+...+--1 т„ (в„1.....„,-1 в;.„,_1) = Г/5, если п =

^е{0,1}‘-1 [0, иначе.

Доказательство аналогично доказательству теоремы 9. При вычислении выражения из третьего утверждения теоремы по сравнению с теоремой 9 возникает дополнительный множитель

Е (—1Г ((—1Гл/2)П1 ((—1)^1 V2)1-"1 = ^21+П1-"1 (1 + (—1)П1+"1) = 2^2^П1,1.

М1 =о

Теорема 11. Пусть у1,... , у**_1 такие же, как в теореме 9, и у** €{—4, —8}. Пусть уг; занумерованы так, что у* > 0 при 1 ^ г ^ и и у* < 0 при и < г ^ £, где и — некоторое число от 0 до £ — 2 включительно; Кс = 0(^/уТ,... , л/у*); тл заданы формулой (15). Тогда

числа

&ь...л-і = Д*ь...л-і(У°Ї, • • •, Vу?) = (п а1 ^ х

х (( п а,га1 ,г1 а*-1а*4 1 + ( п а1 ,га?1 а*-1(—а*)5( 1

V \г=и+1 / \г=«+1 /

когда набор (вг) пробегает всевозможные наборы из {0,1}*-1, образуют фундаментальный базис поля Кс П К;

2) числа

в;, ,,-1 = в;, (/;,..., л/у*) = (и (-&<)« х

*-2 \ / *-2 \

«;^,1-,4 1 ^,1-,‘-1 ГГ Л,1-,^_^,Л^Ил,. ™Л1-««- 1

х I I П

\ \г=и+1 / \г=м+1

когда набор (вг) пробегает всевозможные наборы из {0,1}*-1, образуют базис Z-модуля 0К(3 П гК;

3) для любых п, V € {0,1}*-1 справедливо равенство

Е

л/^,

если П = V,

^' \ / М V '/1>--->'/С —1 4^1, — ,^4— 1/ I п

М€{0,1}4-1 иначе.

Доказательство. Обозначим элемент базиса из п. 2 теоремы 8, соответствующий набору (в1,..., в*), через в, 1 .

Число из кольца целых поля Кс попадает в пересечение этого поля с К тогда и только тогда, когда оно инвариантно относительно комплексного сопряжения. Легко видеть, что комплексное сопряжение переводит в, 1,...,,4 в (—1),Св, 1,...,,и,1-,и+1,...,1-,4-1,,,. Следовательно, для инвариантности линейной комбинации в,х ,4 с коэффициентами из Z необходимо и достаточно, чтобы для каждого набора (вг) коэффициенты при в, 1,...,,, и в, 1)...,,„)1-,щ+1 ,...,1—,, 1,,, отличались друг от друга умножением на (—1),С. Теперь из теоремы 8 следует, что {в, 1,...,„-2,о,„ + (—1),Св, 1,...,,и,1-,и+1 ,...,1-„-2,1,„} образуют требуемый фундаментальный базис. Из определения в' легко видеть, что эта сумма

равна в,ъ...,„-2,,,, что доказывает первое утверждение теоремы.

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

Третье утверждение доказывается явной выкладкой. Аналогично доказательству теоремы 9 находим

Е (— 1)М1+...+Мс-1 (вП1,...,п,-1 в^,...,^,-1) =

ме{0,1}4-1

и \ / _ *-2

П ^ /у* ап,-1+-",-М /у*-1 П ^ /* +

г=1 / \ г=и+1

г=и+1

+

і=и+1 /

Поскольку ... у* < 0, то количество отрицательных среди у*, то есть і — и, нечётно

*-2

п

і=и+1

и, следовательно, П (—1) = (—1)* и 2 = —1. Тогда

Е (— 1)^1+...+^‘-1 Тд (впі>...>Чі—1 ^ь.^-х) =

0,1}4-1

П $тщл/0л ) (1 + (—1)^І-1+Пі-1 )а1+п‘ 1 щ 1 = £%-т-1 П іїщщл/ол ) 2а*.

Уі І Iі Т V ^ — "44-1^4-1 111 "Чі^

і=1 / \і=1

Теорема доказана.

Теорема 12. Пусть ,... ,у*_1 нечётные положительные, у* = —4 или у* = —8. Тогда

І-1

1) числа в«ъ...,«4-1 = в«ъ...,«4-1 (о1,..., О*) = П (5|і«і-5і, когда набор (ві) пробега-

і=1

ет всевозможные наборы из {0,1}*-1, образуют фундаментальный базис поля Кс П К;

2) числа в*1,...,5і-1 = в*1,...,54-1 (91* ,...,О*) = ^П( —^ аг1-"^ , когда набор Ы

пробегает всевозможные наборы из {0,1}*-1, образуют базис Z-модуля 0К(3 ПЖ;

3) для любых п, V Є {0,1}*-1 справедливо равенство

Е

л/^,

если п = V,

^—' \ / Д V '/1>--->'/С-1 ^1,...,^4_ 1/ I п

МЄ{0,1}4-1 иначе.

Доказательство. Очевидно, что в условиях теоремы = М(^/О*), где М С К. Следовательно, Кс П К = М, Кс П Ж =  М. Первые два утверждения следуют из

теоремы 6, третье доказывается выкладкой, аналогичной доказательству теоремы 9.

Будем обозначать ви = вД1 ,...,Д4-1 при ^ Є {0,1}*-1. Множество {ви} образует фундаментальный базис поля Кс П К, которое в дальнейшем будем обозначать М.

Пусть г — произвольный элемент 0кс. Поскольку г Є Кс, то и г Є Кс, так что г + г = 2 И,е г Є Кс П К и г — г = 2і Іт г Є Кс П Ж. Более того, г и, следовательно, г являются целыми алгебраическими, а потому 2И,е г и 2 і Іт г также являются целыми

алгебраическими. Таким образом, 2И,е г = ^ Ьиви и 2і Іт г = ^ . Здесь и дам и

лее, если явным образом не указано множество значений параметра, записанного греческой буквой, подразумевается {0,1}*-1. Опишем, как по приближённому значению таких сумм находить наборы чисел и ЬД. Числа ви образуют базис вещественного поля М, базис вД чисто мнимый и становится базисом того же поля М после деления, например, на д/О* Є Кс, О* < 0. Таким образом, можно найти точное выражение для г по приближённому значению, если уметь решать задачу восстановления целых коэффициентов разложения вещественного числа, заданного с некоторой точностью, по вещественному базису.

Дальнейший план изложения таков.

— Выделим в 0кс [х] делитель многочлена Нд[0,а *] степени Л./2*-1, который будем рассматривать вместо многочлена Нд[0,а *]. Это позволит уменьшить число вычисляемых коэффициентов и их величину. Этому посвящён п. 4.

— Оценим сверху все сопряжённые числа к коэффициентам рассматриваемого многочлена (п. 5).

— Основная идея для восстановления коэффициентов — использовать рациональные приближения к элементам базиса с одним и тем же знаменателем достаточной точности в зависимости от оценки из п. 5. Построению таких приближений для случая ви и посвящён п. 6.

— Далее в п. 7 опишем, как при помощи этих рациональных приближений точно определить коэффициенты рассматриваемого многочлена, вычисленные по определению с некоторой точностью.

4. Делитель многочлена [0,а *]

Пусть a G . Выберем форму (A, B, C) так, чтобы h(A, B, C) = а и gcd(A, D) = 1; это возможно, поскольку h зависит только от класса эквивалентности формы, а в каждом классе эквивалентных форм, согласно [5, Lemma 2.25, Lemma 2.3], есть представитель (A, B, C) с gcd(A, D) = 1. Определим отображение ^ ^ {±1}* следующей

формулой:

((A)...( a

Это определение корректно, поскольку отображение Артина зависит только от класса

( q * \

идеала в I(О,/)/Рк,ж(/), из теоремы 5 следует, что ( 1 не меняется при замене

формы (А, В, С) на эквивалентную с сохранением условия gcd(A, Д) = 1.

Теорема 13. Образ отображения ^ совпадает с группой {(е^...,^) € {±1}* : П£г = 1} с покомпонентным умножением. Отображение ^ является гомоморфизмом

г

групп. Поле инвариантов Ьп(Кег^ = {х € Ь : т(х) = х для всех т € П(Кег <^)} есть

к Ш,..., ^).

Доказательство. То, что ^ является гомоморфизмом, следует из п. 3 теоремы 5 и того, что отображение Артина является гомоморфизмом.

Проверим, что для любого элемента из образа ^ произведение его компонент равно 1. Рассмотрим идеал а, определённый, как в теореме 5, для формы (А, В, С). Тогда

q*\ 1 fL/K

А) лМ \^1(а),

и, перемножая эти равенства по всем і, с учётом леммы 2 находим

(А )( А)=л (й К

Но ^ Є К, а ( / ^ , будучи элементом Оа1(Ь/К), оставляет на месте элементы К.

V “1

Проверим, что подгруппа П(Кег <^) оставляет на месте элементы . Пусть <^(а) = (1,    , 1), а — представитель а из п. 2 теоремы 5. Тогда

(ш^

то есть образ П1(а) при отображении Артина, равный П(а) в силу коммутативности диаграммы (12), действует на тривиально, что и требовалось доказать.

Таким образом,

(є,,    ,є,) Є {±1} : Пє = Л , К(^,   , Л*) С ЬП(К"^

В силу теории Галуа Оа1(Ьп(Кег^/К) = Са1(Ь/К)/П(Кег<^) = /Кег^ = 1т<^,

в частности [Ьп(Кег^ : К] = | Іт <^| ^ 2*-1. В п. 3 доказано, что [К(/*,   , /О*) : О] = = 2*. Отсюда [К (/О1,..., /О*) : К ] = 2*-1. Поскольку [К (/Ої,..., /О*) : К ] ^ ^ [Ьп(Кег^ : К] = | Іт<^| ^ 2*-1, это возможно только когда | Іт <^| = 2*-1 и

К (/О1,..., /* ) = £п(Кег ^.И

Будем вычислять вместо многочлена Нд [9, а *] его делитель

Нд[9,а *]

^

где набор {(Аі, Ві, Сі)} является Ж-системой, соответствующей функции 9 (т. е. удовлетворяющей условию той из теорем 2-4, которая применима к 9), а аі — корень формы (Аі,Ві,Сі).

Главная возникающая здесь трудность состоит в том, что Нд [9, а * ] не инвариантен относительно Са1(Ь/К). Из формулы (10) и того, что ^ — гомоморфизм, легко видеть, что автоморфизмы из П(Кег <^) оставляют на месте Нд [9, а *](х); таким образом, его коэффициенты лежат в К^. По теоремам 2-4 все числа 9(а) целые алгебраические, так что коэффициенты Нд [9, а *] тоже целые алгебраические. Следовательно, для использования многочлена Нд [9, а *] в методе комплексного умножения нужно уметь восстанавливать целое алгебраическое число из К^ по его достаточно точному комплексному приближению. После получения представления коэффициентов Нд [9, а *] в виде точного разложения по базису дальнейшие действия для генерации эллиптической кривой точно такие же, как и в исходном варианте.

Следует отметить, что поле родов для генерации эллиптических кривых уже рассматривалось в 1993 г. в [4], где трудность восстановления точного значения г одного коэффициента многочлена Нд [9, а *] по приближённому значению преодолевается следующим образом: приближённо вычисляются все сопряжённые значения к г, после чего г ищется в виде разложения по некоторой системе образующих с неопределёнными целыми коэффициентами ^; поскольку целые коэффициенты инвариантны относительно Оа1(К^/К), то все числа, сопряжённые к г, тоже выражаются через Ьі, откуда можно приближённо найти систему линейных уравнений на Ьі. Отметим, что этот подход требует вычисления 9(аі) для корней всех форм Ж-системы и всех сопряжённых многочленов к Нд [9, а *]. Тем самым получается экономия не в количестве коэффициентов, а только в их величине.

В предлагаемом подходе требуется вычисление только многочлена Нд [9, а *]; в частности, достаточно вычислить 9(аі) только для таких корней форм а, для которых <^(^(а)) = (1,..., 1). Из теоремы 13 очевидным образом следует, что таких корней в 2*-1 раз меньше, чем размер Ж-системы.

5. Оценка коэффициентов многочлена Нд [9, а *]

В теоремах 9-12 доказано, что каждый коэффициент многочлена Нд [9, а *] представляется в виде - Ьиви + Е ), где ЬМ,Ь^ Є ^, ви Є К, в* Є Ж. Оценим

2 V и и /

Іт С

величины и Ыи. Для этого сначала получим оценку на максимум модуля всех сопря-

^ То.

J м у± и ц жённых, т. е.

' 1

2 тл (е ьа + Е

Отметим, что многочлен Hd[j,a ;] не зависит от набора а ;, так что правомерно короткое обозначение ВD [j] = НD [j, а ;].

Для получения теоретических оценок применим метод из [21].

Наряду с многочленом Hd [j] будем рассматривать также при ^0 Є {0,1}* многочлены

#D)W [j]

г:^(^(А;,В;,С;))=^0

где, как и раньше, (A^B^C) пробегает представителей всех классов форм, а а^ —

корень (Aj,Bj,Cj).

По определению Hd[j] = HD,(i,...,i) [j]. По тем же причинам, что и для Hd[j], при всех ^0 многочлен НD>^0[j] лежит в OKG[ж]. Более того, если а Є Gal(L/Q) — автоморфизм, соответствующий классу идеалов b Є Hd , то в силу следствия из утверждения 1 HD,^0[j]°" = HD,^0^(6)-i[j]. Поскольку любой автоморфизм поля KG продолжается до элемента из Gal(L/Q), то для любого т Є Gal(KG/Q) найдётся ^0 = ^0(т) (фиксируем одно из продолжений), такое, что HD>^1 [j]т = НD,^1^0(r)[j] для любого Є {±1}*.

Теорема 14. Каждый коэффициент многочлена Hd,^0 [j] по модулю не превосходит

exp ^C5h + c,N ^ln2 N + 4y ln N + се + ln N ^ ^ ^

^ exp (c,N ln2 N + c2N ln N + c3N + c, ln N + c4) = T0,

где N = V|D|/3; y = 0,577... — константа Эйлера; с, = —3п = 5,441...; с2 = 18,587...; с3 = 17,442...; с4 = 11,594...; с5 = 3,011...; се = 2,566... Асимптотическая верхняя оценка

T0 = exp O

также выполняется для других функций 0.

Доказательство. Будем следовать [21, Section 4].

В произведении из (17) можно считать, что (Aj, Bj, Cj) —приведённые формы (поскольку замена формы на эквивалентную соответствует некоторому SL2 ^^преобразованию корня формы, а j инвариантен относительно таких преобразований). Оценим

для приведённой формы (A, B, C) значение j ^(—B + //D)/(2A)^. Аргумент функции j

находится в области {z G H : |z| ^ 1, | Re z| ^ 1/2}. Следовательно, Imz ^ л/3/2 и |q| = |e2niz| ^ e-^. Далее,

1 ОО

j(z) = - + 744 + 'Ё cmqm,

~,m

,_ ст?

q m=1

е4^^т

где коэффициенты ряда Фурье, согласно [22], оцениваются как |ст| ^ ^--------—. Следо-

у2т3/4

вательно,

^ 744 + V —---------е-п^т = к, = 2114,566

^ —2m3/4 1

m=1 v

и j ((-£ + VD)/(2A^ ^ 1/|q| + к, ^ кг/М, где &2 = 1 + k,e = 10,163...

Перенумеруем приведённые формы так, чтобы {(Аг,Вг,С'г) : 1 ^ i ^ deg HD[j]} — все приведённые формы, по которым вычисляется произведение (17), — были расположены в порядке возрастания |1/дг| = еп^/ї^ї/Аі. Тогда коэффициент при многочлена HD,^0 [j] по модулю не превосходит

deg H Dj| , h/2t-1

Cdeg HD j| П 6 < <2k2)h/2‘-1 П e'^iSi/A-.

г=к+1 г| г=1

Следовательно, логарифм любого коэффициента HD,^0 [j] не превосходит h h/2t—1 _ h 1

2*3, ln(2k2)+ Е AT ^ h ln(2k2)+ nVlDl Е AT.

г=1 г г=1 г

Оценка для последней суммы, вычисленная в [21, Theorem 1.2], завершает доказательство для j. Оценки для других функций в следуют из доказанной оценки и [23, Proposition 3].

На практике будем использовать эвристические, но более точные оценки.

В [23] в качестве эвристической оценки сверху, достаточно близкой к точному значению, для логарифмов модулей коэффициентов многочлена Hd[j] предлагается сумма

е A,

где сумма берётся по всем приведённым формам. Там же в качестве аналогичной оценки, соответствующей в вместо j, предлагается эта же сумма, умноженная на некоторую константу, зависящую только от выбранного инварианта в, а именно на отношение степеней degj Ф /degfl Ф, где многочлен от двух переменных Ф связывает функции в и j так, что Ф(в(г), j(z)) = 0.

Тривиальные изменения рассуждений из [23] применительно к многочлену Hd [j] дают эвристическую оценку

єє{±і}‘ ' A

(A,B,C):^(h(A,B,C))=e

при использовании инварианта j. При использовании других функций в следует умножить оценку на degj Ф/deg^ Ф.

Пусть z = І Е+ Еb^ I /2 — коэффициент многочлена H[j], b^,^ Є Z.

V m m /

Как было отмечено выше, действие группы Gal(KG/Q) переводит многочлен Hd,^1 [j] в многочлен того же вида, поэтому для любого Л Є {0,1}* справедливо неравенство

б. Построение рациональных приближений к базису кольца целых

Для построения совместных приближений существуют различные универсальные алгоритмы, изучению которых посвящена работа [24]; на практике характеристики получаемых приближений существенно различаются для разных алгоритмов, для практических целей, по-видимому, наилучшим является алгоритм скалярных произведений из [24, Chapter 6A]. К сожалению, для универсальных алгоритмов довольно трудно получить теоретические оценки качества. Поэтому мы предлагаем алгоритм, подходящий только для наборов чисел нужного вида, работающий на практике примерно столь же хорошо, сколь и алгоритм скалярных произведений, и допускающий теоретические оценки.

Основная часть следующей теоремы по существу содержится в работе [25]. Основные её отличия от рассуждений в [25] заключаются в явной формулировке (в том числе явных константах), введении функции M ([25] оперирует двойственными базисами, что эквивалентно M = 1) и специализацией для интересующего нас случая ([25] не требует нормальности расширения M/Q и содержит также обратную теорему).

Теорема 15. Пусть M С R — поле, такое, что M/Q — расширение Галуа степени m. Пусть WT,...,Wm и »*,...,»т — два Q-базиса M и M : Gal(M/Q) ^ R — функция (необязательно гомоморфизм), такие, что для всех 1 ^ l,l' ^ m выполнено равенство

1, если l = l', О, если l = l'.

Е М

т €Oal

Обозначим

и при i = 2,

C = Е |М(т)т (Wi)|

т €Oal

т=/d

m

C,

Е

т €Oal(M/Q) т=/d

М(т) (т(W,) — WiiW!

Пусть также положительное число А и целые числа Л!,... , Лт таковы, что

ЕЛ,»* = z ^ і,

i=1

т ( £ Л,»*

,=1

А

Z m-1

для всех т Є Gal(M/Q)^ = Id.

Тогда

справедливо неравенство |Л^ ^ ^(Т^)^^ — С А;

если |Л1| > С А, то М(Т^) = 0 и при всех г = 2,... ,т справедлива оценка

Л,_ W

Л, Wi

А

Доказательство. По условию для каждого l = І,

m справедливо равенство

m

Л/ ^ Е Л/^ Е М

^=1 ут GGal

Е М

т €Oal(M/Q) \//=1

M(Id)W/Z+ Е М(т )т (W/ )т (Z).

т €Oal(M/Q) т=/d

f19)

Подставим I = 1:

Л1 = М

т €Оа1(М/О) т=/й

Перенося первое слагаемое из правой части в левую и используя определение С и оценку т (%), находим

СА

|Л1 — М(1^)Ж1%| ^ ^ СА.

% т-1

Это доказывает первое утверждение теоремы.

Пусть |Л1| > С А. Тогда 1^(1^)^!% ^ |Л1| — С А. Следовательно, М(1^) = 0 и

Вычтем из равенства (19) равенство (20), умноженное на Ж/Ж^, и воспользуемся

определением Сг и оценкой т(%):

Ж

л — Ж Л1

Ж1

^ Сг

% т-1

Разделим полученное неравенство на |Л1|:

Л

Л1 Ж

1

т — 1

Применение оценки (21) завершает доказательство.

В работе [25] используется знание структуры группы единиц ОМ (которое даёт тео-

т

рема Дирихле) и находится число Е Л^Ж* как единица специального вида. Это поз-

г=1

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

Будем строить совместные приближения к элементам поля М = Кс П К, для этого

применим теорему 15 к полю М = М. Соответственно т = [М : О] = 2*-1, £ ^ 2, и

Са1(М/О) состоит из автоморфизмов тд при Л € {0,1}*-1, определённых в (15).

Наборы, связанные с полем М, удобно нумеровать векторами из множества {0,1}*-1. Поэтому дальше будем полагать, что заданы два О-базиса поля М, ш* и ш* при ^ € {0,1}*-1, а также функция М : Са1(М/О>) ^ К, удовлетворяющие следующим условиям:

1) <..,0 = 1;

2) любой элемент кольца целых Ом поля М разлагается по базису {ш*} с целыми коэффициентами;

3) если Л, Л' € {0,1}*-1, то

^ ч / * ч I 1, если Л = Л', , ,

Е М

*€{0,1}4-1 I 0 если Л = Л .

Будем называть такую пару М-парой. Легко видеть, что последнее условие обеспечивает выполнение условия на базисы теоремы 15, применённой к числам

^1+М1+2да+22мз+...+24-2

,£ —1

W-

1+,1+2,2+22,з+—+2£ 2,£—1

= ш,

Заметим, что если х Є Ом, то хво о Є ОК(3 П Ж. Из теорем 9-12 легко видеть, что справедливы следующие следствия. Как и в самих теоремах, для л/й выбирается то из двух значений, которое соответствует произведению -у/у! • ... • .

Следствие 1. Если

ш

в,

в,

во,...,<

ш

,1,...,,(—1

,1.....,*—1

во,...,о

М(г,1,...,,4—1) = (-1),1+...+,‘-

т,1,...,,(—1 (во,...,ово ,...,о) [й

то условия 1-3 выполнены. Следствие 2. Если

,1,...,,(—1

в,1,.^—1

во,...,о

в,1.....,*—1

во,...,о

М(т,ь...,№—1) = (-1),1+...+,‘—1

т,1,...,,(—1 (во,...,оД) ,...,о) [й

то условия 1-3 выполнены.

Помимо базисов Wi, Wi* и функции М, в теореме 15 фигурируют набор целых чисел Л^ и константа А. Далее опишем алгоритм построения набора А,, такого, что

А

удовлетворяют условию теоремы 15 с неко-

числа Л1+М1+2№ +22^э+...+2‘-2М4-1

торым А.

Пусть Л е {0,1}*-1, Л = (0,... , 0). Положим £Л = (д? )Л1 ... (С^4-1 (д4*)л“+1 -Л‘-1. Если £Л чётно, положим дЛ = л/^л/2, в противном случае — дЛ = (1 + ^?л)/2. Тогда дл е °м.

Будем использовать цепные дроби. Напомним, что для любого числа Х е К определена последовательность его полных частных Х0,Х1,Х2,... и неполных частных а0,а1,а2,... следующим образом: Х0 = X, ага = |_Хга], Хга+1 = 1/(Хп — ага), причём последовательность конечна (т. е. Хп не определено при некотором п) тогда и только тогда, когда Х е О. Кроме того, определена последовательность подходящих дро-

Ро Р Р2 Р-1

о 1 2

ей о ,01,02

Р-1 = 1,0-1 = 0, Ро

к Х вместе с формальным выражением —— следующим образом:

^-1

= «о, О о = 1,Рп+1 = ага+1Р„ + Р„-1,^„+1 = ага+1^га + Ога-ь Хорошо известно (например, [26, Теорема 9 и Теорема 12]), что при п ^ 0

<

1

если Хп+2 определено ;

Будем рассматривать случай квадратичных иррациональностей; воспользуемся некоторыми результатами из [27, §11.10], собранными в следующем утверждении.

Утверждение 2. Пусть а, Ь, с — целые числа, взаимно простые в совокупности, и 5 = Ь2 — ас > 0 не равно полному квадрату. Корни уравнения ах2 + 2Ьх + с = 0 будем называть иррациональностями определителя 5.

Пусть Х = (—Ь + \/5)/а — иррациональность определителя 5. Тогда все полные частные Х тоже являются иррациональностями определителя 5 и имеют вид Хп = = (хп + л/5)/уп, где хп,уп е Ъ определены единственным образом. Если ап = |_Хп] — неполные частные для Х и у—1 = —с = (5 — Ь2)/а е Ъ, то справедливы следующие формулы:

хп уп—1 ап— 1 хп— 1, п ^ 1 ,

5 = хП + УпУп—1, п ^ 0,

уп уп—2 ап— 1 (хп хп—1), п ^ 1.

Кроме того, при п ^ 0

( 1)п

Х1 . . . Хп = -5 ~ аРП—1 + 2ЬРп—1^п—1 + с^П—1 = (—1)Пуп.

Рп—1 — ^п—1Х

Назовём число (х + л/5)/у, х,у е Ъ, приведённым, если (х + л/5)/у > 1 и

— 1 < (х — л/5)/у < 0. Число (х + л/5)/у приведённое тогда и только тогда, когда 0 <\/5: — х < у < л/5 + х. Если Х приведённое, то все его полные частные Хп тоже приведённые.

Введём несколько необходимых определений.

Будем параллельно строить цепные дроби для всех чисел дЛ, Л е {0,1}*— 1, Л = 0. Полные частные для дл будем обозначать Хл , п, неполные частные — ал , п, числители и знаменатели подходящих дробей — Рл,п и фл,п. Величины хп,уп из утверждения 2, построенные для Х = дл, будем обозначать хл,п и ул,п. Пусть ал обозначает единственный нетривиальный автоморфизм поля О(дл).

Если 5л нечётно, то по определению дл есть иррациональность определителя 5л, хл,0 = 1, ул,0 = 2, ул,—1 = (5л — 1)/2. По индукции из (27) легко видеть, что хЛ,п нечётно при всех п и уЛп чётно при всех п; обозначим х;л п = (хл,п — 1)/2 е Ъ и уЛп = уЛ,п/2 е Ъ. Квадратный трёхчлен ах2 + 2Ьх + с, где а, Ь, с определены утверждением 2, имеет старший коэффициент 2 и корни дЛ, ал(дл). Следовательно, последнее равенство утверждения 2 можно переписать как 2(Рл,п—1 — Ол,п—1дл)ал(Рл,п—1 — Ол,п—1дл) = (—1)пул,п =

= (—1т,п-

Если 5л чётно, то по определению дл есть иррациональность определителя 5л/4, хл,о = 0, ул,о = 1, ул,—1 = 5л/4. Обозначим хЛ,п = хл,п и уЛ,п = ул,п. Квадратный трёхчлен ах2 + 2Ьх + с, где а, Ь, с определены утверждением 2, имеет старший коэффициент 1 и корни дл, ал(дл). Следовательно, последнее равенство утверждения 2 можно переписать как (Рл,п— 1 — Ол,п—1дл)ал(Рл,п—1 — Ол,п— 1дл) = (—1)пул,п = (—1)пуЛ,п.

В обоих случаях

_ дл + хЛ,п Хл,п =----------,

ул ,п

Утверждение 2 даёт эффективный способ последовательного построения чисел х^п, уЛ п, ал,п = [Хл,п], а по ним Рл,п и ^л,п. Для алгоритма понадобятся числа х;Лп, уЛп и

^Л,п =

Отсюда и из (28) следует, что для любого п ^ 0

^А,п^А

Числа А, будем получать, пересчитывая разложение произведения целых алгебраических чисел П ((-1)пл°л(^А,пл)) = Е А,ш, по базису ш,. В силу условия 2 М-пары А=о ,

и (29) числа А, будут целыми.

На каждом шаге алгоритм увеличивает ровно одно из чисел Па. На Е А,ш* этот

переход действует умножением на

( —1)П+1^А (гА,п+1) = уА,га+1/гА,га+1 = ХА,п+1уА,п+1 = 9А + хА,п+1

(-1)п^А (гА,п) УА,пМп УА,п УА,п .

Таким образом, нужно переходить от набора чисел А, к набору чисел А,, такому, что

£АМ = (еАш^,

, \ ? у уА

где хА = хА Пл+1 и уА = уА пл. Поскольку {ш,} образуют О-базис поля М и числа 9, лежат в этом поле, то в самом начале можно предвычислить такие Є О, что

9п = £

,

Зная числа , можем вычислить

/М Л Л 9А + ХА_ 1 л ^ *1^ л * ^ £? А С,?А + А,Ха *

(?А{ш ] ~УГ~ = УА (?Аес"£лш" + £Аш хл] = ? УА

Теперь можно предъявить алгоритм.

Алгоритм построения совместных приближений. Входные данные — набор $а, 9а, , введённых выше, а также порог N > 0. Выходные данные — целые чис-

ла А,, такие, что |Ао,...,о| ^ N0 и А,/Ао,...,о — приближение к ш,/шо,...,о для каждого ц Є {0,1}*-1.

Алгоритм в процессе работы хранит набор из 2*-1 целых чисел А,, а также вспомогательные наборы целых неотрицательных чисел Ха, натуральных чисел (уа,Уа) и вещественных положительных чисел (гА, 5а), где Л Є {0,1}*-1, А = (0,... , 0). Эти наборы имеют следующий смысл: если после некоторого числа итераций на шаге 3 (см. ниже) значение Л было выбрано Па раз, то в определённых выше обозначениях ха = х^пл,

(УА,уА) = (уА ,пл >УА п-1), (гА,гА ) = (^А,пл ,^А,пл-1)^ А,ш, = П((-1)ПЛ ^А(^А,пл )).

, А=о

Действия алгоритма.

1) Инициализация. Присвоить начальные значения: Ао,...,о := 1; Аа := 0; хА := 0; (Уа,Уа) := (1, [^а/4]); (^а,5а) := (1,9а) для всех Л Є {0,1}*-1, Л = (0,... , 0).

2) Итерации. Пока |Ао о | < N0, повторять следующие шаги.

3) Выбрать некоторое Л, такое, что гА = тах г,

,=(о,...,о) м

4) Вычислить а = [(9а + хА)/уА].

5) Присвоить (гА,гА) := (гА — агА,гА).

6) Запомнить х = хА, присвоить хА := ауА — хА — 4 {£А/4}, после чего присвоить

(Уа,У/а) := (Уа — а(хА — х),уА). (Как будет показано, новое значение хА всегда

целое неотрицательное, а новое значение Уа натуральное.)

7) Вычислить А, = 1 ЕА§с,^А + А,хА I /уА для всех ц. (Как было показано,

А, Є ^ для всех ц.) Присвоить А, := А,.

Доказательство следующей теоремы есть в [28].

Теорема 16. Алгоритм завершается за 0(1п N0) шагов. В процессе его работы всегда выполнены неравенства 0 ^ хА < -\/^л — 9А; 0 < уА < л/$А; ^ = Е А,ш, ^ 1;

^ при Л = (0,..., 0).

1

Z m-1

Доказательство. Начнём с оценок величин ж'Ап, yA п.

Лемма 5. Пусть A G {0,1}t-1, А = 0; n ^ 1 — целое число. Тогда

0 ^ х'А)П < VA - gA, 0 < yA,n < Va, -1 < ^a(Xa ,„) < 0.

Доказательство. Будем отдельно рассматривать случаи чётного и нечётного $А. Пусть $А нечётно. По определению ХАд = 1/(gA — |_gA_l)- Очевидно, что ХАд > 1. Кроме того, аА(ХАд) = 1/(1 — gA — |_gA_|) и, поскольку gA > 1, получаем —1 <

< ^a(Xa;1 ) < 0. Следовательно, в силу утверждения 2 все полные частные для gA, начиная с Хад, являются приведёнными иррациональностями определителя $а, т. е.

0 < л/^А—xA,n < yA,n < л/^А+xA,n при n ^ 1. Поскольку в этом случае XA n = (xA,n — 1)/2 и yAn = (Уа,п)/2, получаем заявленные оценки.

Пусть $а чётно. Как и в предыдущем случае, ХАд = 1/(gA — |_gA_l) > 1. Кроме того, 0а(Хад) = —1/(gA + LgAj) и, поскольку gA > 1, получаем —1 < ста (Хад) < 0. Следовательно, в силу утверждения 2 все полные частные для gA, начиная с Хад, являются приведёнными иррациональностями определителя $а/4, т. е. 0 < \АА/2 — Ха,п <

< Уа,п < V^A/2 + XA,n при n ^ 1. Поскольку в этом случае x'A,n = XA,n и yA ,п = Уа,п, получаем заявленные оценки.

Поскольку XA,n = (gA + xA n)/yA n, немедленно получаем Следствие. При n ^ 1 справедлива оценка

XA,п < V^A.

Напомним, что Па при А = 0 обозначает количество выборов А на шаге 3 алгоритма. Неравенство Z = П ((—1)пл cta(za , пл)) ^ 1 немедленно следует из последнего нера-

А=0

венства леммы 5 и определения za ,пл = 1/(Ха, 1  ...  Ха ,

пл ).

Лемма 6.

шах ,п„

— «\/й|.

^Д.11, о)z' п

Доказательство. Перед итерациями левая часть равна 1, так что неравенство верно. Допустим, что после некоторого числа итераций неравенство верно, и предположим, что на очередной итерации алгоритм выбрал значение А на шаге 3, т. е.

zAm = шах zun . Обозначим nA = nA + 1 и n' = nu при и = А, и = (0,..., 0).

’ Л '=(0 ,... ,0) А '

Очевидно, Ха ,п/ > 1, так что zA , n < zA , пл. Возможны два случая:

1) ZA п ^ ш!п zu п . В этом случае min zu n = ш!п zu п , следовательно,

, Л '=(0,...,0) ' м '=(0,...,о) ' ^ '=(0,...,0) ' м

шах zu п шах zu п

М=

ш!П Zu п ш!П Z,

'=(0,...,0) ' " '=(0,...,0) '

S ---- S

2) zA,nA < ш!п Z',„M. В этом случае ш!п zM,n^ = zA,nA; используя (31), находим

шах zu п '=(0,...,0) M,n^ Za

ш!п zM,„/ Za

'=(0,...,0) ' м

S = Ха,„л+1 < v^A S x/idT-

Лемма доказана.

Напомним, что ал — автоморфизм поля О(дл) С М. Заметим, что при любых Л и ^ отображение тм можно ограничить на поле О(дл). Поскольку

тЛ д/(дГ)Л‘... (91-1)Л‘-1 №)Л-+>. -Л‘-^ =

= ((—1)"1 \/А1... ((—1Г-1 yq;-7)л,-l ^А“+1-А-1 =

4-1

У2 ЛгДг /

= (—1)4=1 у (д 1*)Л1... (С1)л‘-1 (д* )Ли+1ф...Л‘-1,

t-1

то Т' | о^(^л) действует тождественно при Е AjU* = 0 (rnod 2) и совпадает с стА в против-

i=1

ном случае.

Обозначим шах zM,n„ = е. Тогда по лемме

е

лива двусторонняя оценка —-= S zA^ S е. Из (29), (30) и леммы 5 следует, что

1 S ZA,^ |ста (za,^)| < VA S VTdT. Следовательно, 1 S \сА ^,пЛ)| S TdT. По построе-

m—1 I 71

нию Z = П |^А ^А,пл)| S — ) , откуда

A=0 е

_ ........... - 1 •

А=0 \е J Z m-1

t—1

Пусть А = 0. Тогда условие Е А*и = 0 (rnod 2), рассматриваемое как уравнение

i=1

на и S {0,1}t—1, имеет ровно n/2 решений, одно из которых нулевое. Получим

VT

21Е ЛгМг. 2|E Ai'i V е / Zm-1

г г

^=0

Остаётся доказать, что алгоритм завершает работу за 0(1п N0) итераций. Доказанная часть теоремы позволяет применить теорему 15, согласно которой в процессе работы алгоритма всегда выполнено неравенство |А0,...,0| ^ |М(/^)ш0,...,0|^ — Су/|^|т, где константы М(/^)ш0,...,0 = 0 и зависят только от базисов.

В силу

Л=0 ^Л,пл у '

1 Е пл-

Z ^ ( П |рА,пл —1 — QА,пл-1 gA М ^ П QА,пл ^ П 22 = 2

A=0 A=0 A=0

Сумма У] Пл есть общее число итераций алгоритма. Таким образом, после 0

А=0

итераций алгоритма достигается неравенство X ^

+ Су^Й[т

|М(/^)шо,...,о|

, из которого следует,

что |А0,...,0| ^ N0, что и требовалось доказать.

7. Вычисление элемента поля родов по приближённому значению

Восстановим числа Ьм Е ^ по приближённому значению числа Е Ьмвм, а также чисм

ла ЬМ Е ^ — по приближённому значению У &МвМ. В п. 5 получены априорные оценки

та ( Е 6*А*

С То

та

Е

*

С То

где Т0 — некоторое выражение, зависящее только от Д. В п. 6 построен набор совместных приближений к числам вм/во,...,о и вМ/в0 0 с точностью, зависящей от парамет-

ра N0.

Построенные приближения удовлетворяют теореме 16, которую и будем использовать. (Можно доказать, что любые совместные приближения Л^ к базису Wi, удовле-

творяющие оценке вида

Лі

Лі

Жі

С

С'

—а, также удовлетворяют последней оценке

из теоремы 16 с показателем а вместо 1/

Продолжим использовать базисы о*, о* и функцию М, определённые в (23) для задачи поиска 6* ив (24) для задачи поиска 6*. Легко видеть, что при таком определении помимо свойств 1-3 М-пар выполнено следующее свойство:

2'. Если х Е Ом, то ох разлагается по базису {о*} с целыми коэффициентами.

Для определённости будем работать с числами 6*; нахождение чисел 6* полностью аналогично.

Пусть Хп Е Ом —линейно независимый над Q набор из т = 2*-1 чисел. Например, можно взять Хп = вп; или Х0,...,0 = 1 и Хп = дп при п = (0,... , 0), где дп определены в предыдущем пункте. В силу условия 2'

*

где хм?п Е ^. (Выбор Хп = дч удобен тем, что коэффициенты хм?п совпадают с рас-

смотренными в предыдущем пункте коэффициентами см?п с перестановкой вм и вМ. Выбор Хп = вп приводит к несколько меньшим по абсолютной величине числам.) Зададимся точностью е > 0 и вычислим Е Ь?в? с точностью е, т. е. найдём число 7,

такое, что

получим

Е 6?& — 7

< є. Разделив это неравенство на во,...,о и умножив на Хп

Е 6? О —

С

|во,...,о 1

Е І Е6? х*?п)

До,...,

С

Обозначим Вмп = £ Ь?хм?п € Тогда для произвольного у! из (22) следует, что

?

Вм'п = Е В^п Е М(тл)тл(^ш*,) = Е М(гл)гл(ш*,)тл (Е Вмп^м

м Л А \ м

£Ам'Вм'п = Е м

м' л у м' / V м /

Слагаемое с Л = 0 будем рассматривать отдельно; в этом случае

следует, что следует, что

Тл £ ВмпЧ

'мп м м

^ т0 |тЛ(Хп)| . Таким образом, из (35), (34) и теоремы 16

£ДмВм'п - М(/^)^7Хп

в0,...,1

« |м{«^| -е^ + е \т{тл)ФГо|та

|Ро,...,о| л=о Zт—1

где, как и раньше, Z = £ А^.

м

Второе слагаемое представляет из себя отношение некоторой константы и Zт-1. Поскольку Ао,...,о = Л1, неравенство (21) показывает, что можно выбрать порог N в алгоритме так, чтобы было выполнено неравенство

А=о

-1

а тогда второй член в правой части (36) меньше 1/4.

Выбрав такой порог N и построив совместные приближения Ам, вычислим Z. Выберем е так, чтобы для всех п было выполнено неравенство

_ < 1 \До,...,о\

Тогда первый член в правой части (36) также будет меньше 1/4, а следовательно, левая часть (36) меньше 1/2. Поскольку £ АуВм'п € ^, то можно восстановить точное

м'

значение этой суммы, округляя М(/^^

7Хп

До,...,о

Возвращаясь к Ь?, получаем на них систему линейных уравнений с левой частью

Е АмВмп = Е ( Е Амхм?п ) Ь?.

м ? V м /

Лемма 7. Матрица ( £ Амхм?п I невырождена.

м ' ?,пе{0,1}4-1

Доказательство. Предположим, что матрица вырождена. Это эквивалентно существованию таких чисел уп Є О, не равных одновременно нулю, что

Е Е А*х*?пУп = °.

П *

Пусть п фиксировано. Введём квадратные матрицы с элементами (Мі)М№ = = Т*і (ш*2), (М2)М'1М'2 = т* (ш*), (X)м>2 = хм"м"п и квадратные диагональные матрицы М3 с элементами М(т*), М4 с элементами т*(Хп). Равенство (22) можно интерпретировать как матричное равенство М1 М3М2 = Е, где Е — единичная матрица. В частности, М1, М2 и М3 обратимы. Совокупность всех равенств, получающихся из (33) применением различных т*, можно интерпретировать как матричное равенство М4М1 = М1Х. Отсюда X = М-1М4М1, Xі = МТМ4(МТ)-1 = М-1М3-1М4М3М2. Поскольку любые диагональные матрицы, в том числе М3 и М4, коммутируют, то М2ХТ = М4М2. Сравнивая элемент на пересечении первой строки и столбца ^, находим £ жм?п = Хп ш*.

Далее п не фиксировано. Умножим (40) на и сложим по всем £ Є {0,1}*-1:

Е Е А*Хпш*Уп = °, (Е ХпУп) (Е = °.

п * п *

Но первый множитель не равен нулю, поскольку Хп выбирались линейно независимыми над О, а уп Є О не все равны нулю. Второй множитель не равен нулю по теореме 16. Полученное противоречие доказывает лемму 7.

Таким образом, для нахождения {Ь*} остаётся решить заведомо невырожденную систему размером т х т, например стандартным методом Гаусса.

Общая схема предлагаемой модификации метода комплексного умножения такова.

1) Выберем числа у = рп, м,г>,Д Є Ъ как в шаге 1 базового алгоритма из п. 1.2. Кривая, которую мы построим, будет определена над и будет иметь порядок у + 1 — и.

2) Вычислим все примитивные формы, оценку Т0 по формуле (18), порог Х0, такой, чтобы была выполнена оценка (37), с использованием формулы (21). Применим алгоритм нахождения совместных приближений из п. 6.

3) Вычислим необходимую точность є по формуле (38). Найдём многочлен Нд [і] по определению (16) приближённо с точностью є.

4) Для каждого коэффициента найденного многочлена определим разложение его удвоенной вещественной части по базису в*, составив систему линейных уравнений с левой частью

5) Редуцируем многочлен по модулю любого простого идеала, лежащего над р, в кольце ; получим некоторый многочлен над , который разлагается на линейные множители над . Вычислим какой-нибудь из его корней и построим эллиптическую кривую Е11 над с і-инвариантом, равным вычисленному корню.

6) Если порядок кривой Е" оказался не таким, какой требуется, применим изоморфизм, описанный в п. 1.2.

Как и в исходном методе, в описанной модификации вместо модулярного инварианта j можно использовать другие функции, описанные в п. 1.3. Для этого следует скорректировать оценку Т0 на шаге 2, как описано в п. 5, на шаге 3 вычислить многочлен Hd[0,а*], а на шаге 5 после нахождения корня редуцированного многочлена вычислить j-инвариант как функцию от найденного корня, описанную в п. 1.3.

Автор благодарит своего научного руководителя Михаила Алексеевича Черепнёва за постановку задачи, продуктивные обсуждения и полезные замечания, позволившие уточнить и прояснить текст.

ЛИТЕРАТУРА

1. KoblitzN. Elliptic curve cryptosystems // Math. Comput. 1987. V. 48. P. 203-209.

2. Miller V. S. Uses of elliptic curves in cryptography // LNCS. 1986. V. 218. P. 417-426.

3. Lenstra H. W. Factoring integers with elliptic curves // Ann. Math. 1987. V. 126. P. 649-673.

4. Atkin A. O. L. and Morain F. Elliptic curves and primality proving // Math. Comput. 1993. V.61. No. 203. P. 29-68.

5. Cox D. A. Primes of the form x2 + ny2. New York: Wiley, 1989.

6. Weber H. Lehrbuch der Algebra. 3rd edition. New York: Chelsea Publishing Company, 1908. V. 3.

7. Silverman J. H. The Arithmetic of Elliptic Curves. Springer, 1986.

8. Ленг С. Эллиптические функции. М.: Наука, 1984.

9. Айерлэнд К., Роузен М. Классическое введение в современную теорию чисел. М.: Мир, 1987.

10. Cornacchia G. Su di un metodo per la risoluzione in numeri interi dell’ equazione

n

£ Chxn-hyh = P // Giorn. Mat. Batt. 1908. No. 46. P. 33-90.

h=0

11. Baier H. Efficient algorithms for generating elliptic curves over finite fields suitable for use in cryptography. Department of Computer Science, Technical University of Darmstadt, 2002.

12. Konstantinou E., Kontogeorgis A., Stamatiou Y. C., and Zaroliagis C. D. On the Efficient Generation of Prime-Order Elliptic Curves // J. Cryptol. 2010. V. 23. No. 3. P. 477-503.

13. Deuring M. Die Typen der Multiplikatorenringe elliptischer Funktionenkorper // Abh. Math. Sem. Hansischen Univ. 1941. B. 14. S. 197-272.

14. Lay G.-J. and Zimmer H. G. Constructing elliptic curves with given group order over large finite fields // LNCS. 1994. V.877. P.250-263.

15. Von Schrutka L. Ein Beweis fur die Zerlegbarkeit der Primzahlen von der Form 6n + 1 in ein einfaches und ein dreifaches Quadrat // J. Reine Ang. Math. 1911. B. 140. S. 252-265.

16. Jacobstahl E. Uber die Darstellung der Primzahlen der Form 4n + 1 als Summe zweier Quadrate // J. Reine Ang. Math. 1907. B. 132. S. 238-245.

17. Schertz R. Weber’s class invariants revisited // J. Theor. Nombr. Bord. 2002. V. 14. No. 1. P. 325-343.

18. Enge A. and Schertz R. Constructing elliptic curves over finite fields using double eta-quotients // J. Theor. Nombr. Bord. 2004. V. 16. No. 3. P. 555-568.

19. Cohn H. Introduction to the construction of class fields. Cambridge University Press, 1985.

20. Ленг С. Алгебраические числа. М.: Мир, 1966.

21. Enge A. The complexity of class polynomial computation via floating point approximations // Math. Comput. 2009. V. 78. No. 266. P. 1089-1107.

22. Brisebarre N. and Philibert G. Effective lower and upper bounds for the Fourier coefficients of powers of the modular invariant j // J. Raman. Math. Soc. 2005. V. 20. P. 255-282.

23. Enge A. and Morain F. Comparing invariants for class fields of imaginary quadratic fields // LNCS. 2002. V. 2369. P. 252-266.

24. Brentjes A. J. Multi-dimensional continued fraction algorithms. Amsterdam: Mathematisch Centrum, 1981.

25. Peck L. G. Simultaneous rational approximations to algebraic numbers // Bull. Amer. Math. Soc. 1961. V. 67. P. 197-201.

26. ХинчинА.Я. Цепные дроби. М.: Наука, 1978.

27. Венков Б. А. Элементарная теория чисел. ОНТИ НКТП СССР, 1937.

28. Гречников Е. А. Оптимизация метода с комплексным умножением построения эллиптической кривой // Деп. в ВИНИТИ 21.06.11, №305-В2011. М.: МГУ им. М. В. Ломоносова, 2011.