СПОСОБ ШИФРОВАНИЯ С ЗАЩИТОЙ ОТ КВАНТОВЫХ АТАК НА ОСНОВЕ ЦИКЛОВ ФУНКЦИЙ ВЕБЕРА
WEBER FUNCTION CYCLE-BASED QUANTUM ATTACK-SECURE ENCRYPTION METHOD

Изобретение относится к электросвязи и вычислительной технике, в частности к области криптографической защиты электронных данных, передаваемых по телекоммуникационным сетям и сетям ЭВМ, с использованием изогений эллиптических кривых, и может быть использовано в системах передачи данных. Используемые в данном описании специфические термины поясняются в Приложении 1.
Известны системы криптографической защиты - электронной цифровой подписи (ЭЦП) электронного документа на основе эллиптических кривых [ГОСТ Р 34.10-2001. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи. Госстандарт России, М., 2001]; [ANSI X9.62. Public Key Cryptography for the Financial Services Industry, The Elliptic Curve Digital Signature Algorithm (ECDSA), 2005, http://www.comms.scitech.susx.ac.uk/fft/crypto/ecdsa.pdf], предусматривающие процессы формирования и проверки ЭЦП. Указанные стандарты ЭЦП по сути являются вариантами схем ЭЦП Эль-Гамаля [ElGamal Т.A public-key cryptosystem and a signature scheme based on discrete logarithms // IEEE Transactions on Information Theory. 1985. Vol.IT-31. P.469-472.] и Шнорра [Schnorr C.P. Efficient identification and signatures for smart cards // Advances in Cryptology - CRYPTO ′89. Lecture Notes in Computer Science. Springer-Verlag. 1990. Vol.435. P.239-252.]. Известен также способ криптографической защиты данных, заключающийся в шифровании с открытым ключом на основе эллиптических кривых [Ростовцев А.Г., Маховенко Е.Б. Теоретическая криптография, СПб, НПО «Профессионал», 2005, доступно с http://progbook.net/seti/kriptograf/1568-teoreticheskava_kriptografiya.html].
Известен способ шифрования данных с использованием изогений эллиптических кривых [Джао, Венкатесан. Использование изогений для разработки криптосистем, патент RU №2376651, патент US №7499544]. Здесь изогении рассматриваются как отображения точек одной эллиптической кривой в точки другой эллиптической кривой.
Безопасность указанных технических решений основана на сложности решения задачи дискретного логарифма на эллиптической кривой: для точек Р, Q эллиптической кривой найти целое число l такое, что P=lQ. Известно, что квантовый компьютер достаточно большой разрядности (примерно 3000 кубитов) может эффективно решать такие задачи [http://en.wikipedia.org/wiki/Elliptic_curve_cryptography]. Поэтому известные способы не обеспечивают безопасность по отношению к квантовым атакам.
Другие известные криптосистемы с открытым ключом (RSA, криптосистема на группе классов квадратичного порядка, криптосистемы на гиперэллиптических кривых [A. Menezes, P. Van Oorchot, S. Vanstone. Handbook of applied cryptography, CRC press, 1996]) также уязвимы к квантовым атакам [Ростовцев А.Г., Маховенко Е.Б. Теоретическая криптография, СПб, НПО «Профессионал», 2005]. Такие криптосистемы также уязвимы к квантовым атакам, например, для разложения составного числа может использоваться алгоритм Шора [Hughes R.J. Quantum computation. Technical report LA-UR-98-288, 1998].
Канадская фирма D-wave освоила производство квантовых компьютеров разрядности 128 кубитов [www.dwavesys.com/en/priducts-services.html] и работает над увеличением их разрядности. Таким образом, безопасность известных способов криптографической защиты информации находится под угрозой. Возникает необходимость в новых способах криптографической защиты данных, стойких по отношению к квантовым атакам.
В известных системах ЭЦП обрабатываемые данные представлены битовой строкой или набором битовых строк. Под битовой строкой (БС) понимается электромагнитный сигнал в цифровой двоичной форме, параметром которого является число битов и порядок следования нулевых и единичных значений. Битовые строки допускают операцию конкатенации, логические и арифметические операции. Криптографическая защита данных заключается в выполнении действий с БС (преобразованиях БС и выполнении операций с БС) и выполняется с помощью вычислительных устройств, например персональных компьютеров или смарт-карт [доступно с http://www.aloaha.com/press_en/elliptic-curves-and-sha-256-support.php].
2
3
2
∞
∞
l
<mrow><mi>j</mi><mo>=</mo><mfrac><mrow><msup><mrow><mrow><mo>(</mo><mrow><msup><mi>g</mi><mrow><mn>24</mn></mrow></msup><mo>−</mo><mn>16</mn></mrow><mo>)</mo></mrow></mrow><mn>3</mn></msup></mrow><mrow><msup><mi>g</mi><mrow><mn>24</mn></mrow></msup></mrow></mfrac></mrow>
Эллиптическая кривая над конечным полем из p элементов, где p - простое число, состоит из точек, заданных уравнением y=x+Ax+B (mod p) и точки P. Точки эллиптических кривых допускают операцию сложения с нулевым элементом P=(0, 1, 0). Полиномы деления f(x) обращаются в 0 тогда и только тогда, когда x-координата точки порядка l является корнем этого полинома. Эллиптическая кривая характеризуется своим инвариантом j, дискриминантом Фробениуса Dc для целого c и соответствующим числом классов (см. Приложение 1), а также значением функции Вебера g, удовлетворяющей уравнению
в случае D≡1 (mod 8).
1
2
∞
1
2
1
2
1
2
1
2
Изогения эллиптических кривых - отображение E→E, заданное рациональными функциями, сохраняющее неподвижным точку P и переводящее сумму точек на E в сумму точек на E, изогения характеризуется своей степенью (взаимно простой с p). Изогении соответствует отображение функций Вебера g(E)→g(E). Если изогения E→E существует, то эллиптические кривые E, E обладают одинаковыми дискриминантами Фробениуса.
l
Существуют целочисленные симметрические модулярные полиномы Ф(U, V), обращающиеся в 0, если переменные принимают значение j-инвариантов эллиптических кривых, между которыми существует изогения степени l [патент US №7623655, H04L 9/14]. Недостатком этих полиномов является большая длина коэффициентов и большое число слагаемых, что затрудняет их использование в системах защиты информации. Изогения простой нечетной степени l является изогений Элкиса, если дискриминант Фробениуса эллиптической кривой является квадратом по модулю l.
За прототип принят способ [патент RU №2376651, G09C 1/00] «Использование изогений для разработки криптосистем», дублирующий указанный выше патент US №7499544.
Существенные признаки прототипа.
Способ шифрования сообщений, содержащий: генерацию изогении, отображающей множество точек первой эллиптической кривой на вторую эллиптическую кривую, опубликование открытого ключа, соответствующего изогении, шифрование сообщения с использованием ключа, соответствующего изогении, и расшифрование зашифрованного сообщения при помощи ключа расшифрования, соответствующего изогении, при этом хотя бы один из ключей является секретным и является дуальной изогений к исходной изогении (п.1 формулы).
Способ расшифрования сообщений, содержащий опубликование открытого ключа, соответствующего изогении, отображающей множество точек первой эллиптической кривой на вторую эллиптическую кривую, и расшифрование зашифрованного сообщения при помощи ключа расшифрования, соответствующего изогении, при этом ключ расшифрования является дуальной изогений к упомянутой изогении (п.12 формулы).
0
Способ по п.1, дополнительно включающий формирование множества модулярных изогений без раскрытия промежуточных кривых, (п.9 формулы). При этом модулярная изогения определяется авторами на основе модулярной кривой X(l).
2
<mrow><mi>S</mi><mo>=</mo><mover><mi>ϕ</mi><mo>^</mo></mover><mo stretchy="false">(</mo><mi>T</mi><mo stretchy="false">)</mo></mrow>
<mrow><mover><mi>ϕ</mi><mo>^</mo></mover></mrow>
Идентификационное шифрование (IBE) с использованием изогений, в котором открытым ключом является точка T∈E второй эллиптической кривой, а секретным ключом - точка
первой эллиптической кривой для дуальной изогении
.
Прототип рассматривает изогению как отображение точек первой эллиптической кривой на вторую эллиптическую кривую. Здесь изогения используется для ускорения известных способов криптографической защиты данных - шифрования с открытым ключом на эллиптической кривой и вычисления спаривания Вейля/Тейта. Эти известные способы основаны на задаче вычисления дискретного логарифма на эллиптической кривой и поэтому уязвимы к квантовым атакам, следовательно, и прототип, как их ускоренная версия, не обеспечивает безопасность по отношению к квантовым атакам. Это обстоятельство является недостатком прототипа, который устраняется в заявленном способе.
Технической задачей заявляемого решения является разработка способа шифрования с открытым ключом, обеспечивающего защиту от квантовых атак.
Поставленная задача достигается тем, что обрабатываемые данные представлены функциями Вебера изогенных эллиптических кривых над конечным полем, а обработка данных заключается в отображении функций Вебера путем движения по циклам функций Вебера, при этом дискриминант Фробениуса эллиптической кривой равен произведению квадрата целого числа на число, сравнимое с 1 по модулю 8.
1
2
На фиг.1 представлен цикл функций Вебера для изогении степени l на фиг.2 представлен цикл функций Вебера для изогении другой степени l.
l
l
l
l
l
l
В заявленном способе рассматривается отображение функций Вебера, которое определяется изогениями малых простых степеней l и целочисленными симметрическими полиномами W для функции Вебера, являющихся аналогами классических модулярных полиномов Ф для функции j. Объем памяти для хранения полинома W примерно в 1000 раз меньше, чем для хранения полинома Ф, за счет сокращения числа ненулевых коэффициентов и их длины. Время обработки информации с использованием полинома Ф, W пропорционально квадрату его длины. Поэтому скорость обработки данных с использованием функций Вебера в миллионы раз больше, чем при использовании классических модулярных полиномов.
Ниже перечислены существенные признаки предлагаемого способа.
1
k
1
k
i
i+1
i
i
1. Способ шифрования с защитой от квантовых атак на основе циклов функций Вебера, в котором сообщение зашифровывают с использованием открытого ключа и зашифрованное сообщение расшифровывают при помощи секретного ключа, содержащий первую эллиптическую кривую и вторую эллиптическую кривую с одинаковыми дискриминантами Фробениуса, соответствующими открытому ключу, и отображение первой эллиптической кривой во вторую эллиптическую кривую, соответствующее секретному ключу, отличающийся тем, что эллиптические кривые задают значениями функции Вебера, причем секретный ключ определяют как цепочку отображений функций Вебера, соответствующих изогениям Элкиса степеней l,…, l, заданную набором целых чисел N, …, N, где N - число шагов по циклу функций Вебера для изогении степени, при этом очередное значение функции Вебера g определяют как корень симметрического полинома двух переменных при замене одной переменной на предыдущее значение функции Вебера g, а при переходе к изогении очередной степени задают положительное направление на цикле, для этого находят полином, задающий ядро изогении, а шаги по циклу выполняют в направлении, соответствующем знаку числа N.
2. Способ по п.1, отличающийся тем, что дискриминант Фробениуса выбирают равным произведению квадрата целого числа на число, сравнимое с 1 по модулю 8.
3. Способ по п.1, отличающийся тем, что ядро изогении задают полиномом, для которого точки ядра лежат в расширении минимальной степени, и по его коэффициентам находят функцию Вебера, соответствующую положительному направлению.
Принципиальное различие между прототипом и заявленным способом заключается в следующем.
- Прототип уязвим к квантовым атакам, а для заявленного способа эффективные квантовые атаки не найдены.
- В прототипе шифруемые данные представлены координатами точки эллиптической кривой, что затрудняет шифрование произвольного текста, а в заявленном способе - произвольным ненулевым элементом.
- Безопасность прототипа основана на задаче дискретного логарифмирования на эллиптической кривой, для решения которой есть эффективный квантовый алгоритм, а безопасность заявленного способа основана на задаче вычисления изогении между эллиптическими кривыми, которая в настоящее время не может быть решена на квантовом компьютере.
Указанные существенные признаки данного способа позволяют строить криптосистемы с открытым ключом по аналогии с известной криптосистемой Диффи-Хеллмана и Эль-Гамаля (см. [A. Menezes, P. Van Oorchot, S. Vanstone. Handbook of applied cryptography, CRC press, 1996]). Ha сегодняшний день не созданы эффективные алгоритмы для обычного или квантового компьютера, нарушающие безопасность предлагаемой криптосистемы. Это позволяет говорить о том, что предлагаемый способ обеспечивает стойкость по отношению к квантовым атакам.
p
Основой заявленного способа является процедура вычисления цепочки из N≠0 отображений простой нечетной степени l функции Вебера для первоначальной эллиптической кривой E(F) (целое число N может быть положительным и отрицательным), которая выполняется следующим образом.
p
0
- Для эллиптической кривой E(F) вычисляют значение функции Вебера g по модулю p. Присваивают переменной g индекс i=0 и значение g.
- Для выбора положительного направления выполняют следующие действия.
l
p
p
l
- Определяют наименьшую степень расширения n поля F, в котором лежит ядро изогении степени l кривой E(F) и наименьшую степень расширения m, поля, в котором лежит ядро изогении скрученной кривой.
l
<mrow><mfrac><mrow><mi>l</mi><mo>−</mo><mn>1</mn></mrow><mn>2</mn></mfrac></mrow>
- Находят делители полинома деления f(x), степень которых является делителем числа
, и находят ядро изогении.
- По найденному ядру изогении вычисляют функцию Вебера g′ изогенной эллиптической кривой, задающую положительное направление.
l
- Если N=1, то результат: g′. Если N=-1, то выбирают тот из двух корней полинома W(U, g), который отличен от g′.
0
2
l
1
2
- Если N=±1, то находятся корни g, g полинома W(U, g) (mod p) и переменной g присваивается индекс 2 и значение g.
2
i
l
i-1
N
- Если N=±2, то результат g, иначе п.4 рекуррентно повторяется, при этом переменной g присваивается очередной индекс и вычисляется корень g полинома W(U, g) (mod p), пока не будет получено i=N. Результат: g.
1
2
k
i
i
0
Если нужно вычислить цепочку отображений функций Вебера для изогений нескольких степеней l, l, …, l, состоящую из N изогений l, то для каждой изогении выполняются указанные выше вычисления, причем в качестве начального значения g используется значение, найденное на предыдущем этапе.
1
2
1
1
1
2
2
2
1
1
2
1
1
2
2
1
1
Поскольку произведение изогений коммутативно и ассоциативно, то очередность их вычислений не влияет на результат. Например, если нужно вычислить цепочку отображений функций Вебера, заданную тремя изогениями степени l и двумя изогениями степени l, то последовательности (l, l, l, l, l), (l, l, l, l, l), (l, l, l, l, l) и т.п. дадут одинаковый результат.
1
При использовании изогений степени l функции Вебера образуют цикл, длина которого является делителем числа классов, например для h=7 (см. фиг.1).
1
2
1
7
Зададим положительное направление g→g по часовой стрелке, тогда отрицательное направление g→g соответствует дуальной изогении.
2
При использовании изогении другой степени l функции Вебера тоже образуют цикл, но вершины соединяются в другом порядке (см. фиг.2).
1
4
2
1
1
2
1
2
Зададим положительное направление отображением g→g. Тогда один шаг изогении степени l соответствует трем шагам изогении степени l, а один шаг изогении степени l - пяти шагам изогении степени l. При совмещении циклов, задаваемых изогениями степенями l и l, получаем звезду.
Таким образом, используемые циклы функций Вебера задают звезду. Если число классов очень велико (что имеет место в криптографии), то число вершин звезды оказывается необозримым. При этом длина шага на звезде для изогении одной степени по сравнению с другой степенью является трудновычислимой.
p
1
k
l
l
Ключевой обмен при использовании изогении строится по аналогии с системой Диффи-Хеллмана. Два пользователя A, B договариваются об использовании первоначальной эллиптической кривой E(F), для которой число классов дискриминанта Фробениуса велико. Кроме того, оба пользователя имеют библиотеку модулярных полиномов {W, …, W} для функции Вебера, состоящую из полиномов W для простых нечетных l, по модулю которых дискриминант Фробениуса D является квадратом, библиотеку полиномов деления f для тех же l для каждой из k изогении, при этом для изогении каждой степени определена степень полинома, задающего ядро. Если в разложении полинома деления есть несколько полиномов одинаковой степени, то положительное направление задается тем ядром, для которого y-координата лежит в поле минимальной степени расширения.
l
k
0
A
Для установления сеансового ключа пользователь А выбирает малые целые случайные числа {N, …, N} по числу модулярных полиномов своей библиотеки. В качестве первоначального значения пользователь А использует значение функции Вебера g исходной эллиптической кривой. Он вычисляет цепочку описанным выше способом и посылает результат g пользователю B.
1
k
0
B
Пользователь B выбирает независимо случайные числа {M, …, M}, вычисляет цепочку изогений для начального значения g и результат g посылает пользователю A.
B
1
k
1
1
k
k
0
AB
A
1
k
1
1
k
k
0
AB
AB
Пользователь A, используя в качестве начального значения g, вычисляет цепочку изогений длин {N, …, N}, эквивалентную цепочке {M+N, …, M+N} для начального значения g и получает результат g. Пользователь B, используя в качестве начального значения g, вычисляет цепочку изогений длин {M, …, M}, эквивалентную цепочке {N+М, …, N+M} для начального значения g и получает тот же результат g. Оба пользователя используют найденное значение g в качестве сеансового ключа.
p
0
1,
k
1
k
1
k
<mrow><msub><mrow><munder accentunder="true"><mi>g</mi><mo stretchy="true">_</mo></munder></mrow><mrow><munder accentunder="true"><mi>A</mi><mo stretchy="true">_</mo></munder></mrow></msub></mrow>
Шифрование с открытым ключом выполняется следующим образом. Открытым ключом являются эллиптическая кривая E(F) со значением функции Вебера g, набор изогений {l…, l}, значение функции Вебера
, полученное применением к эллиптической кривой цепочки изогений длин {N, …, N}. Секретным ключом является набор длин {N, …, N}.
1
k
0
B
A
AB
AB
B
Для зашифрования текста m с помощью открытого ключа отправитель генерирует случайную цепочку длин изогений {M, …, M}, вычисляет цепочку этих изогений для начального значения g, получает значение g, вычисляет цепочку этих же изогений для начального значения g, получает результат g, вычисляет значение s≡m*g (mod p). Зашифрованным текстом является пара (g, s).
1
k
B
AB
AB
-1
Для расшифрования зашифрованного текста владелец секретного ключа вычисляет цепочку изогений степеней {N, …, N} для начального значения g и получает g. Затем он вычисляет m≡s*g  (mod p).
Заявленный способ позволяет выполнять аутентификацию сообщений по схеме без диалоговых доказательств с нулевым разглашением знаний.
p
Для вычисления коэффициентов изогенного образа эллиптической кривой можно использовать многочисленные известные алгоритмы разложения на множители. Например, произведение линейных делителей полинома F(U) равно наибольшему общему делителю полиномов: GCD(F(U), U-U) и быстро вычисляется алгоритмом Евклида [A. Menezes, P. Van Oorchot, S. Vanstone. Handbook of applied cryptography, CRC press, 1996].
l
l
l
Полиномы деления f(x) и модулярные полиномы W(U, V) для функций Вебера вычислимы, например, [math.mit.edu/~drew/WeberModPolys.htm]. Так, модулярные полиномы W для изогений степени l=5, 7, 11, 13, 17, 29 имеют вид:
5
6
6
5
5
W=U+V-UV+4UV;
7
8
8
7
7
7
4
4
W=U+V-UV+UV-8UV;
11
12
12
11
11
9
9
7
7
5
5
3
3
W=U+V-UV+11UV-44UV+88UV-88UV+32UV;
13
14
14
13
13
12
2
2
12
10
4
4
10
8
6
6
8
W=U+V-UV+13UV+13UV+52UV+52UV+78UV+78UV+64UV;
17
18
18
17
17
16
10
10
16
15
3
3
15
13
13
12
6
6
12
9
9
8
2
2
8
5
5
W=U+V-UV+17UV+17UV-34UV-34UV+34UV+119UV+119UV+340UV+272UV+272UV+544UV-256UV;
29
30
30
29
29
29
5
5
29
28
10
10
28
27
15
15
27
27
20
20
27
25
2
25
25
24
6
6
24
22
16
16
22
21
21
20
2
2
20
18
12
12
18
17
17
15
3
3
15
14
8
8
14
13
13
10
4
4
10
9
9
5
5
W=U+V-UV+29UV+29UV+261UV+261UV+783UV+783UV+667UV+667UV-116UV-116UV+203UV+5365UV+5365UV-5713UV-5713UV-1334UV+4716UV+4716UV+37642UV+37642UV+12470UV-50112UV-50112UV-91408UV-91408UV-49880UV+170752UV+170752UV+85376UV-207872UV+16384UV
2
3
2
3
1
1
l
<mrow><mi>d</mi><mo>=</mo><mfrac><mrow><mi>l</mi><mo>−</mo><mn>1</mn></mrow><mn>2</mn></mfrac></mrow>
Направление на цикле изогении задается следующим упрощением формул Велу. Пусть исходная эллиптическая кривая задана уравнением y=x+Ax+B, а ее образ для изогении степени l задан уравнением y=x+Ax+B. x-координаты точек ядра изогении степени l - задаются делителем степени
полинома деления f(x). Обозначим этот делитель
l
1
2
3
d
d
d-1
d-2
d-3
h(x)=x+cx+cx+ cx+…+c
1
1
Коэффициенты A, B изогенного образа эллиптической кривой равны:
1
1
2
2
A≡-A(10d-1)-30(c +2c) (mod p);
1
1
1
2
3
1
3
B≡-B(28d-1)+70(с +3cc+3c)+42Ac (mod p).
Положительное направление на цикле изогении можно задавать иначе, например, выбором одного из двух возможных значений отображения Фробениуса для заданного ядра изогении [Elkies N. Elliptic and modular curves over finite fields and related computational issues. Computational Perspectives on Number Theory: Proceedings of a Conference in Honor of A.O.L. Atkin (D.A. Buell and J.T. Teitelbaum, eds.; AMS/International Press, 1998), p.21-76]. Эти значения одинаковы для всех изогенных эллиптических кривых и могут быть определены заранее (входить в состав программного обеспечения, реализующего криптосистему).
256
Для практических приложений число классов h должно быть достаточно большим, чтобы перебор всех изогенных эллиптических кривых был невозможен, например h>2. Для этого числа p, D должны иметь длину примерно 500-550 бит.
max
max
max
max
max
i
i
i
max
l
<mrow><msub><mi>N</mi><mrow><mi>max</mi></mrow></msub><msqrt><mrow><mi>h</mi><mo>/</mo><mn>4</mn></mrow></msqrt></mrow>
<mrow><mfrac><mn>1</mn><mrow><mi>ln</mi><mi>l</mi></mrow></mfrac></mrow>
-k
1/k
256
Число используемых изогении k и максимальная длина N изогений каждой длины оценивается из условия, что почти каждое значение функции Вебера из h возможных значений можно получить, меняя длины цепочек. Если число используемых степеней изогении k=1, то N=h/2, если k=2, то
, в общем случае N=(h*2). Если h≈2, то при k=50 получаем N≈18, если K=80, то N≈5. Поскольку случайный дискриминант является квадратом по модулю l примерно для половины простых чисел l, а случайное число l является простым с вероятностью
, то при использовании 50 малых простых l получаем максимальную степень используемой степени изогении l≈547. Соответствующий симметрический полином W(U, V) имеет длину 869 килобайт.
Рассмотрим примеры реализации заявленного способа для небольших чисел p.
2
3
Пример 1. Циклы функций Вебера. Исходная эллиптическая кривая задана уравнением y=x+x+3 (mod 971) и имеет параметры D=-2588, j=42,число классов h=23, функция Вебера равна g=466.
7
13
17
Дискриминант D является ненулевым квадратом по модулю l=7, 13, 17. Используем полиномы W, W, W.
7
7
Для изогении степени 7 модулярный полином W(U, g) имеет два корня по модулю p: 92 и 881. Подставляем значение 881, полином W(U, 881) имеет два корня: 466, соответствующий предыдущему значению, и 701 - новый элемент цикла. Продолжаем эту процедуру далее и получаем цикл функций Вебера степени 7 длины h для направления, заданного корнем 881: (466, 881, 701, 120, 300, 397, 952, 108, 697, 140, 411, 839, 812, 903, 171, 374, 639, 963, 459, 613, 545, 71, 92).
13
Для изогении степени 13 модулярный полином W(U, g) имеет два корня по модулю p: 300 и 613. Строим цикл функций Вебера длины h для направления, заданного корнем 613. Получаем цикл (466, 613, 374, 839, 108, 120, 92, 459, 171, 411, 952, 701, 71, 963, 903, 140, 397, 881, 545, 639, 812, 697, 300).
17
Для изогении степени 17 модулярный полином W(U, g) имеет два корня по модулю p: 545 и 120. Строим цикл изогений степени 17 длины h для направления, заданного корнем 545. Получаем (466, 545, 963, 171, 839, 697, 397, 701, 92, 613, 639, 903, 411, 108, 300, 881, 71, 459, 374, 812, 140, 952, 120).
2
3
π
0
1
2
3
4
Пример 2. Определение положительного направления на цикле изогений. Исходная эллиптическая кривая задана уравнением y=x+x+1 (mod 1187), имеет значение следа T=-12, дискриминант отображения Фробениуса D=4D где D=-1151, значение функции Вебера g=123. Дискриминант D является квадратом по модулю простых чисел l=5, l=7, l=11, l=29. Эти простые числа задают степени используемых изогений.
2
d
<mrow><mi>α</mi><mo>=</mo><mo>−</mo><mn>6</mn><mo>+</mo><msqrt><mi>D</mi></msqrt></mrow>
<mrow><mover accent="true"><mi>α</mi><mo stretchy="true">¯</mo></mover><mo>=</mo><mo>−</mo><mn>6</mn><mo>−</mo><msqrt><mi>D</mi></msqrt></mrow>
<mrow><msup><mi>p</mi><mi>d</mi></msup><mo>+</mo><mn>1</mn><mo>+</mo><msup><mi>α</mi><mi>d</mi></msup><mo>+</mo><msup><mrow><mover accent="true"><mi>α</mi><mo stretchy="true">¯</mo></mover></mrow><mi>d</mi></msup></mrow>
i
1
2
3
4
Уравнение отображения Фробениуса π-Tπ+p=0 имеет корни
,
. Находим, для каких наименьших степеней расширения d число точек эллиптической кривой над полем из p элементов, равное
, делится на l. Получаем для l=5 степень d=1; для l=7 степень d=1; для l=11 степень d=5; для l=29 степень d=7.
5
0
2
5
1
1
5
0
5
0
p
2
Задаем положительное направление на цикле изогении. Для изогении степени 5 модулярный полином W(U, g) имеет два корня: 487 и 486. Находим h(x)=GCD(x-x,f(x))=645+74x+x (это произведение двух линейных полиномов), отсюда A=223, B=348, функция Вебера имеет два противоположных значения 487 и 700, первое из них совпадает с одним из корней полинома W(U, g). Положительное направление на цикле изогений для изогении степени 5 задается значением g=487, а отрицательное направление - другим корнем полинома W(U, g): g=486.
7
0
3
5
1
1
p
2
3
Для изогении степени 7 полином W(U, g) имеет два корня: 529 и 576. Для задания положительного направления находим h(x)=GCD(x-x,f(x))=63+374x+1121x+x (это произведение трех линейных полиномов), отсюда A=935, B=568, функция Вебера имеет два противоположных значения 576 и 611, первое из них совпадает с одним из корней полинома Вебера. Положительное направление на цикле изогении для изогении степени 5 задается значением g=576, а отрицательное направление - другим корнем полинома Вебера g=529.
11
0
11
5
1
1
<mrow><mi>G</mi><mi>C</mi><mi>D</mi><mrow><mo>(</mo><mrow><msup><mi>x</mi><mrow><msup><mi>p</mi><mn>5</mn></msup></mrow></msup><mo>−</mo><mi>x</mi><mo>,</mo><msub><mi>f</mi><mrow><mn>11</mn></mrow></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><mo>)</mo></mrow><mo>:</mo><mn>1146</mn><mo>+</mo><mn>922</mn><mi>x</mi><mo>+</mo><mn>178</mn><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><mn>446</mn><msup><mi>x</mi><mn>3</mn></msup><mo>+</mo><mn>39</mn><msup><mi>x</mi><mn>4</mn></msup><mo>+</mo><msup><mi>x</mi><mn>5</mn></msup></mrow>
<mrow><msqrt><mrow><msup><mi>t</mi><mn>3</mn></msup><mo>+</mo><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msqrt><mo>∈</mo><mi>K</mi></mrow>
<mrow><msqrt><mrow><msup><mi>s</mi><mn>3</mn></msup><mo>+</mo><mi>s</mi><mo>+</mo><mn>1</mn></mrow></msqrt><mo>∉</mo><mi>K</mi></mrow>
2
3
4
5
2
3
4
5
Для изогении степени 11 полином W(U, g) имеет два корня: 227 и 84. Полином деления f(x) имеет два неприводимых делителя степени 5, найденные как
и 100+523x+943x+1158x+1184x+x, задающие расширение степени 5. Расширенное поле K можно задавать любым неприводимым полиномом степени 5. Зададим поле K первым полиномом и обозначим t - корень первого полинома, y - координата точки ядра при x=t равна
- обе координаты точки ядра лежат в поле степени расширения 5. Зададим поле K вторым полиномом и обозначим s - корень второго полинома, y - координата точки ядра при x=s равна
(она лежит в поле степени расширения 10). Для задания положительного направления выбираем первый делитель: h(x)=1146+922x+178x+446x+39x+x, отсюда A=73, B=758, функция Вебера имеет два противоположных значения 227 и 960, первое из них совпадает с одним из корней полинома Вебера. Положительное направление на цикле изогений для изогении степени 5 задается значением g=227, а отрицательное направление - другим корнем полинома Вебера g=84.
29
0
29
14
1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Для изогении степени 29 полином W(U, g) имеет два корня: 314 и 165. Для задания положительного направления находим делитель степени 14 полинома f(x):h(x)=668+657x+1140x+256x+131x+841x+483x+484x+667x+987x+48x+743x+978x+1079x+x (это произведение двух неприводимых полиномов степени 7), отсюда A=623, B=1128, функция Вебера имеет два противоположных значения 165 и 1022, первое из них совпадает с одним из корней полинома Вебера.
Объяснение терминов, используемых в описании и формуле изобретения.
Запись a≡b (mod p) означает, что a-b делится на p.
p
p
p
-1
-1
-1
p
<mrow><msup><mi>t</mi><mi>p</mi></msup><msup><mrow /><mn>2</mn></msup><mrow><mo>(</mo><mrow><mi>mod</mi><mi>f</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow>
<mrow><msup><mi>t</mi><mrow><msup><mi>p</mi><mrow><mi>d</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow></msup><mrow><mo>(</mo><mrow><mi>mod</mi><mi>f</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow>
Конечное поле F из p элементов, где число p - простое множество {0, 1, …, p-1}. Сложение и умножение в конечном поле выполняются по модулю p и обозначается a+b (mod p), ab (mod p) (см. [Глухов М.М., Елизаров В.П., Нечаев А.А. Алгебра. - М.: Гелиос-АРВ, 2003]), например, 3+4≡0 (mod 7), 3·4≡5 (mod 7). Для любого ненулевого элемента a существует обратный элемент a такой, что aa=1. Элемент a может быть найден расширенным алгоритмом Евклида. Конечное поле F допускает конечные расширения, получаемые присоединением корней неприводимых полиномов. Степень расширения равна степени неприводимого полинома, корень которого присоединяется. Если t - корень неприводимого полинома f степени d, то остальные корни равны t(mod f(t)),
, …,
. Присоединение корней всех неприводимых полиномов дает алгебраическое замыкание поля F.
p
-1
-1
Проективная плоскость - множество точек, представленных ненулевыми тройками (X, Y, Z), X, Y, Z∈F, с учетом эквивалентности (X, Y, Z)=(cX, cY, cZ) для любого c≠0. Множество точек проективной плоскости вида (X, Y, 0) определяет бесконечно удаленную прямую. Остальные точки проективной плоскости с учетом эквивалентности однозначно представимы в виде пар (x, y)=(x, y, 1), где x=XZ, y=YZ.
Поскольку хотя бы одна из координат любой точки проективной плоскости отлична от 0, эта точка эквивалентна точке, у которой соответствующая ненулевая координата равна 1.
p
p
2
3
2
3
3
2
Эллиптическая кривая E(F) над полем из p>3 элементов состоит из точек проективной плоскости, удовлетворяющих однородному кубическому уравнению f(X, Y, Z)=0, причем ни в одной точке кривой все три частных производных полинома f не обращаются в 0 одновременно. Например, уравнение в форме Вейерштрасса YZ=X+AXZ+BZ, где A, B∈F, 4A+27B≠0 (mod p).
1
2
3
1
2
1
2
2
1
1
2
3
1
2
3
1
3
∞
2
3
Точки эллиптической кривой допускают сложение: P+P=P для любых P P, причем P+P=P+P, P+(P+P)=(P+P)+P для любых P, P, P. Если эллиптическая кривая задана уравнением в форме Вейерштрасса, то нулевым элементом по сложению является точка P=(0, 1, 0). Все остальные точки удовлетворяют уравнению y=x+Ax+B, x=X/Z, y=Y/Z. Противоположной к точке (x, y) является точка (x, -y).
p
1
2
1
2
π
p
p
π
π
p
p
p
2
2
2
<mrow><mo>|</mo><mi>T</mi><mo>|</mo><mo><</mo><mn>2</mn><msqrt><mi>p</mi></msqrt></mrow>
На эллиптической кривой E(F) действует отображение Фробениуса π(X, Y, Z)=(X, Y, Z), отображающее кривую в себя, при этом π(P+P)=π(P)+π(P). Отображение Фробениуса удовлетворяет уравнению π-Tπ+p=0 с дискриминантом D=T-4p<0, где
- целое число. Число точек r эллиптической кривой E(F) равно r=p+1-T. При переходе к конечным расширениям поля F число точек остается конечным. Скрученные эллиптические кривые обладают противоположными значениями T, одинаковым значением дискриминанта D, но различными числами точек. Дискриминант отображения Фробениуса может допускать разложение вида D=Dc для целого c. Число приведенных квадратичных форм (a, b, c), 0<a≤c, -a<b≤a, b>0 при a=c, называется числом классов.
<mrow><mover accent="true"><mi>α</mi><mo stretchy="true">¯</mo></mover></mrow>
<mrow><mi>F</mi><munder accentunder="true"><mi>p</mi><mo stretchy="true">_</mo></munder></mrow>
<mrow><msup><mi>p</mi><mi>n</mi></msup><mo>+</mo><mn>1</mn><mo>−</mo><msup><mi>α</mi><mi>n</mi></msup><mo>−</mo><mover accent="true"><mrow><msup><mi>α</mi><mi>n</mi></msup></mrow><mo stretchy="true">¯</mo></mover></mrow>
Если α,
- комплексные корни уравнения Фробениуса, то число точек эллиптической кривой над расширением степени n исходного поля
равно
.
<mrow><mi>j</mi><mo>=</mo><mn>1728</mn><mfrac><mrow><mn>4</mn><msup><mi>A</mi><mn>3</mn></msup></mrow><mrow><mn>4</mn><msup><mi>A</mi><mn>3</mn></msup><mo>+</mo><mn>27</mn><msup><mi>B</mi><mn>2</mn></msup></mrow></mfrac></mrow>
p
Изоморфизм эллиптических кривых задается обратимой линейной заменой переменных. Эллиптическая кривая с точностью до изоморфизма над алгебраически замкнутым полем характеризуется своим j-инвариантом [Silverman J. The arithmetic of elliptic curves. - Springer-Verlag, 1986]. Если эллиптическая кривая задана уравнением в форме Вейерштрасса, то
. Скрученные кривые изоморфны над квадратичным расширением поля F.
p
π
π
<mrow><mi>j</mi><mo stretchy="false">(</mo><mi>τ</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mrow><mo stretchy="false">(</mo><mi>g</mi><msup><mrow><mo stretchy="false">(</mo><mi>τ</mi><mo stretchy="false">)</mo></mrow><mrow><mn>24</mn></mrow></msup><mo>−</mo><mn>16</mn><mo stretchy="false">)</mo><msup><mtext></mtext><mn>3</mn></msup></mrow><mrow><mi>g</mi><msup><mrow><mo stretchy="false">(</mo><mi>τ</mi><mo stretchy="false">)</mo></mrow><mrow><mn>24</mn></mrow></msup></mrow></mfrac></mrow>
2
Инвариант эллиптической кривой E(F) с дискриминантом D равен приведенному по модулю p значению модулярной функции j(τ) комплексной переменной τ для некоторого значения τ, связанного с уравнением кривой. Существует функция Вебера g(τ), связанная с функцией j соотношением
. Если D=D/c≡1 (mod 8) для целого c, то по зависимость между j и g взаимно однозначная [N. Yui, D. Zagier. On the singular values of Weber modular functions // Mathematics of computation, 1997, v.66, 1645-1662].
1
p
2
p
1
2
p
p
π
<mrow><msqrt><mrow><mo>|</mo><msub><mi>D</mi><mi>π</mi></msub><mo>|</mo></mrow></msqrt></mrow>
Если две эллиптические кривые в форме Вейерштрасса E(F), E(F), обладающие инвариантами j, j соответственно, имеют одинаковое число точек над полем F или его квадратичным расширением, то существует изогения - отображение первой кривой во вторую и обратно, заданное дробями полиномов с коэффициентами из F. Число неизоморфных эллиптических кривых, обладающих одинаковым числом точек, называется числом классов дискриминанта D и по порядку величины близко к
.
1
2
1
2
1
2
2
1
p
p
p
<mrow><mover><mi>ϕ</mi><mo>^</mo></mover></mrow>
Ядро изогении φ: E→E - точки кривой E, рассматриваемой над алгебраически замкнутым полем, отображающиеся в нулевой элемент кривой E, конечно. Изогения полностью определяется своим ядром. Число точек ядра называется также степенью изогении φ: E→E. Дуальная изогения
: E→E имеет такую же степень. Изогения степени l для эллиптической кривой E(F) существует, если число точек эллиптической кривой над некоторым конечным расширением поля F делится на l. Поэтому для изогении степени l существует наименьшая степень расширения поля F такая, что число точек эллиптической кривой над этим расширением делится на l.
1
2
2
1
1
2
3
1
2
3
Изогении допускают умножение, степень произведения изогений равна произведению степеней исходных изогений, поэтому достаточно рассматривать только изогении простых степеней. Произведение изогений коммутативно и ассоциативно: φφ=φφ, φ(φφ)=(φφ)φ.
1
p
2
p
1
1
R
R
1
p
2
3
2
3
Изогения может быть вычислена по формулам Велу [Velu J. Isogenies entre courbes elliptiques. C.R. Acad. Sc. Paris, 273 (1971), 238-241]. Пусть E(F):y=x+Ax+B; E(F):ν=u+Au+B, и (x,y)∈E(F) - точка нечетного порядка l. Для точки Q из ядра изогении положим
Q
Q
Q
Q
Q
3
2
s=4x +4Ax+4В, t=6x +4A.
2
p
Кривая E(F) задается коэффициентами
2
2
l
Ядро изогении простой нечетной степени l для эллиптической кривой в форме Вейерштрасса состоит из l точек порядка l, x-координаты которых являются корнями полиномов деления f(x) степени (l-1)/2.
Полиномы деления определяются рекуррентно [J. Silverman. The arithmetic of elliptic curves. - Springer-Verlag, 1986]:
0
1
2
ψ=0, ψ=1, ψ=2y,
3
4
2
2
ψ=3x+6Ax+12Bx-A,
4
6
4
2
2
2
2
3
ψ=4y(x+5Ax+20Bx-5Ax-4ABx-8B-A),
2n
n
n+2
n-1
n-2
n-1
2
2
2yψ=ψ(ψψ -ψψ ), n>2,
2n+1
n+2
n
n+1
n-1
3
3
ψ=ψψ -ψ ψ, n<1,
n
n
f(x)=ψ(x, y),
если n нечетное, и
n
n
f(x)=ψ(x, y)/y,
если n четное.
l
l
Полиномы f раскладываются на множители. Координаты точек ядра изогении степени l являются корнями одного и того же неприводимого делителя полинома деления f(x).
Существует алгоритм Чуфа для вычисления числа точек эллиптической кривой над конечным полем и его улучшение Элкиса [N. Elkies. Elliptic and modular curves over finite fields and related issuses // Proceedings of a conference in honor of A.O.L. Atkin, AMS international press, 1998, pp.21-76]. Изогения Элкиса - изогения, по модулю степени которой дискриминант Фробениуса является квадратом. Для изогении Элкиса степени l характеристический полином отображения Фробениуса раскладывается на линейные множители по модулю l. Дуальные изогении соответствуют различным корням полинома отображения Фробениуса по модулю l.
0
0
l
l
0
1
0
1
0
l
0
Для изогении Элкиса степени l и кривой E с инвариантом j существует ровно два изогенных образа, соответствующие двум дуальным изогениям (для исходной и скрученной кривой). При этом существует целочисленный симметрический модулярный полином Ф(U, V), такой, что Ф(U, j) (mod p) имеет два корня, соответствующие двум дуальным изогениям. Обозначим один из корней через j. Тогда можно построить цикл изогений степени l вида j→j→…→j. Длина цикла является делителем числа классов. При изменении степени изогении цикл состоит из тех же j-инвариантов, но переставленных. Множество точек (U, V), таких, что Ф(U, V)=0, называется классической модулярной кривой X(l).
l
l
<mrow><mi>j</mi><mo>=</mo><mfrac><mrow><msup><mrow><mo stretchy="false">(</mo><msup><mi>g</mi><mrow><mn>24</mn></mrow></msup><mo>−</mo><mn>16</mn><mo stretchy="false">)</mo></mrow><mn>3</mn></msup></mrow><mrow><msup><mi>g</mi><mrow><mn>24</mn></mrow></msup></mrow></mfrac></mrow>
На практике если D≡1 (mod 8), то вместо полиномов Ф удобнее рассматривать полиномы W для функции Вебера g, удовлетворяющей уравнению
. Это полиномы тоже симметрические, разреженные, имеют меньшие коэффициенты и позволяют строить аналогичные циклы для функции Вебера.
Квантовая атака основана на вычислении секретного ключа с помощью квантового компьютера.