В математике кривая Якоби — это представление эллиптической кривой, отличное от обычной, определяемой уравнением Вейерштрасса . Иногда она используется в криптографии вместо формы Вейерштрасса, поскольку может обеспечить защиту от атак в стиле простого и дифференциального анализа мощности (SPA); действительно, возможно использовать общую формулу сложения также для удвоения точки на эллиптической кривой этой формы: таким образом, две операции становятся неотличимыми от некоторой информации по побочным каналам. [1] Кривая Якоби также предлагает более быструю арифметику по сравнению с кривой Вейерштрасса.
Кривая Якоби может быть двух типов: пересечение Якоби , которое задается пересечением двух поверхностей, и квартика Якоби .
Эллиптические кривые: основы
Если задана эллиптическая кривая, можно выполнять некоторые «операции» между ее точками: например, можно сложить две точки P и Q, получив точку P + Q , принадлежащую кривой; если задана точка P на эллиптической кривой, можно «удвоить» P, что означает найти [2] P = P + P (квадратные скобки используются для обозначения [n]P , точки P , добавленной n раз), а также найти отрицание P , что означает найти – P. Таким образом, точки эллиптической кривой образуют группу . Обратите внимание, что единичный элемент групповой операции не является точкой на аффинной плоскости, он появляется только в проективных координатах: тогда O = (0: 1: 0) является «точкой на бесконечности», то есть нейтральным элементом в групповом законе . Формулы сложения и удвоения также полезны для вычисления [n]P , n -го кратного точки P на эллиптической кривой: эта операция считается наиболее часто используемой в криптографии эллиптических кривых .
Эллиптическая кривая E над полем K может быть представлена в форме Вейерштрасса y 2 = x 3 + ax + b , где a , b находятся в K . Позже будут важны точки порядка 2 , то есть P на E такие, что [2] P = O и P ≠ O . Если P = ( p , 0) — точка на E , то она имеет порядок 2; в более общем случае точки порядка 2 соответствуют корням многочлена f (x) = x 3 + ax + b .
С этого момента мы будем использовать E a,b для обозначения эллиптической кривой с формой Вейерштрасса y 2 = x 3 + ax + b .
Если E a,b таков, что кубический многочлен x 3 + ax + b имеет три различных корня в K и b = 0, мы можем записать E a,b в нормальной форме Лежандра :
E a,b : y 2 = x(x + 1)(x + j)
В этом случае у нас есть три точки второго порядка: (0, 0), (–1, 0), (– j , 0). В этом случае мы используем обозначение E[j] . Обратите внимание, что j можно выразить через a , b .
Можно определить форму Якоби эллиптической кривой как пересечение двух квадрик. Пусть E a,b — эллиптическая кривая в форме Вейерштрасса, применим к ней следующее отображение :
Кривая E[j] соответствует следующему пересечению поверхностей в P 3 ( K ):
.
«Особый случай», E[0] , эллиптическая кривая имеет двойную точку и, таким образом, является сингулярной .
S1 получается путем применения к E[j ] преобразования :
ψ: E[j] → S1
Групповое право
Для S1 нейтральным элементом группы является точка (0, 1, 1, 1), то есть образ O = (0: 1: 0) при ψ.
Сложение и удвоение
Даны две точки на S1 : P 1 = ( X 1 , Y 1 , Z 1 , T 1 ) и P 2 = ( X 2 , Y 2 , Z 2 , T 2 ), координаты точки P 3 = P 1 + P 2 равны:
Эти формулы также действительны для удвоения: достаточно, чтобы P 1 = P 2. Таким образом, добавление или удвоение точек в S1 — это операции, которые требуют 16 умножений плюс одно умножение на константу ( k ).
Также можно использовать следующие формулы для удвоения точки P 1 и найти P 3 = [2] P 1 :
Используя эти формулы, для удвоения точки требуется 8 умножений. Однако существуют еще более эффективные «стратегии» удвоения, которые требуют всего 7 умножений. [2] Таким образом, можно утроить точку с помощью 23 умножений; действительно, [3] P 1 можно получить, сложив P 1 с [2] P 1 со стоимостью 7 умножений для [2] P 1 и 16 для P 1 + [2] P 1 [2]
Пример сложения и удвоения
Пусть K = R или C и рассмотрим случай:
Рассмотрим точки и : легко проверить, что P 1 и P 2 принадлежат S1 (достаточно убедиться, что эти точки удовлетворяют обоим уравнениям системы S1 ) .
Используя приведенные выше формулы для сложения двух точек, координаты для P 3 , где P 3 = P 1 + P 2 , равны:
Полученная точка — .
Используя приведенные выше формулы удвоения, можно найти точку P 3 = [2] P 1 :
Итак, в этом случае P 3 = [2] P 1 = (0, 12, –12, 12).
Отрицание
Если задана точка P 1 = ( X 1 , Y 1 , Z 1 , T 1 ) в S1 , то ее отрицание равно − P 1 = (− X 1 , Y 1 , Z 1 , T 1 )
Сложение и удвоение в аффинных координатах
Если заданы две аффинные точки P 1 = ( x 1 , y 1 , z 1 ) и P 2 = ( x 2 , y 2 , z 2 ), их сумма представляет собой точку P 3 с координатами:
Эти формулы справедливы также для удвоения при условии P 1 = P 2 .
Расширенные координаты
Существует другой вид системы координат, с помощью которой можно представить точку в пересечении Якоби. Дана следующая эллиптическая кривая в форме пересечения Якоби:
расширенные координаты описывают точку P = (x, y, z) с переменными X, Y, Z, T, XY, ZT , где:
Иногда эти координаты используются, так как они более удобны (с точки зрения времени-стоимости) в некоторых конкретных ситуациях. Для получения дополнительной информации об операциях, основанных на использовании этих координат, см. http://hyperelliptic.org/EFD/g1p/auto-jintersect-extended.html
Определение: Якоби квартика
Эллиптическая кривая в форме Якоби четвертого порядка может быть получена из кривой E a,b в форме Вейерштрасса с хотя бы одной точкой порядка 2. Следующее преобразование f переводит каждую точку E a,b в точку в координатах Якоби, где (X: Y: Z) = (sX: s 2 Y: sZ) .
ж: Е а, б → J
[3]
Применяя f к E a,b , получаем кривую в J следующего вида:
[3]
где:
.
являются элементами в K. C представляет собой эллиптическую кривую в форме Якоби четвертого порядка в координатах Якоби.
Квартика Якоби в аффинных координатах
Общая форма кривой четвертого порядка Якоби в аффинных координатах имеет вид:
,
где часто предполагается e = 1.
Групповое право
Нейтральным элементом группового закона C является проективная точка (0:1:1).
Сложение и удвоение в аффинных координатах
Если даны две аффинные точки и , их сумма представляет собой точку , такую, что:
Как и в пересечениях Якоби, в этом случае также можно использовать эту формулу для удвоения.
Сложение и удвоение в проективных координатах
Даны две точки P 1 = ( X 1 : Y 1 : Z 1 ) и P 2 = ( X 2 : Y 2 : Z 2 ) в C′ , координаты точки P 3 = ( X 3 : Y 3 : Z 3 ), где P 3 = P 1 + P 2 , задаются через P 1 и P 2 по формулам:
Эту формулу можно использовать и для удвоения, при условии, что P 2 = P 1 : таким образом получается точка P 3 = P 1 + P 1 = [2] P 1 .
Число умножений, необходимое для сложения двух точек, равно 13 плюс 3 умножения на константы: в частности, имеется два умножения на константу e и одно на константу a .
Существуют некоторые «стратегии» для сокращения операций, необходимых для сложения и удвоения точек: количество умножений можно уменьшить до 11 плюс 3 умножения на константы ( более подробную информацию см. в [4], раздел 3).
Число умножений можно сократить, работая над константами e и d : эллиптическую кривую в форме Якоби можно модифицировать, чтобы иметь меньшее число операций сложения и удвоения. Так, например, если константа d в C значительно мала, умножение на d можно отменить; однако лучшим вариантом будет уменьшить e : если она мала, то не только одно, но и два умножения игнорируются.
Пример сложения и удвоения
Рассмотрим эллиптическую кривую E 4,0 , она имеет точку P порядка 2: P = ( p , 0) = (0, 0). Следовательно, a = 4, b = p = 0, так что мы имеем e = 1 и d = 1, а соответствующая форма Якоби четвертой степени имеет вид:
Выбрав две точки и , можно найти их сумму P 3 = P 1 + P 2 , используя формулы сложения, приведенные выше:
.
Так
.
Используя те же формулы, получаем точку P 4 = [2] P 1 :
Так
.
Отрицание
Отрицание точки P 1 = ( X 1 : Y 1 : Z 1 ) равно: − P 1 = (− X 1 : Y 1 : Z 1 )
Альтернативные координаты для квартики Якоби
Существуют и другие системы координат, которые можно использовать для представления точки в квартике Якоби: они используются для получения быстрых вычислений в определенных случаях. Для получения дополнительной информации о временных затратах, требуемых для операций с этими координатами, см. http://hyperelliptic.org/EFD/g1p/auto-jquartic.html
Дана аффинная квартика Якоби
Координаты XXYZZ , ориентированные на удвоение, вводят дополнительный параметр кривой c, удовлетворяющий условию a 2 + c 2 = 1, и они представляют точку (x, y) как (X, XX, Y, Z, ZZ, R) , так что:
Координаты XYZ , ориентированные на удвоение , с тем же дополнительным предположением ( a 2 + c 2 = 1), представляют точку (x, y) с (X, Y, Z), удовлетворяющую следующим уравнениям:
При использовании координат XXYZZ нет никаких дополнительных предположений, и они представляют точку (x, y) как (X, XX, Y, Z, ZZ) таким образом, что:
в то время как координаты XXYZZR представляют (x, y) как (X, XX, Y, Z, ZZ, R), так что:
с координатами XYZ точка (x, y) задается как (X, Y, Z) , где:
^ Оливье Билле, Модель Якоби эллиптической кривой и анализ боковых каналов
^ ab PYLiardet и NPSmart, Предотвращение SPA/DPA в системах ECC с использованием формы Якоби , стр. 397
^ Оливье Билле и Марк Джой, Модель Якоби эллиптической кривой и анализ боковых каналов , стр. 37-38
^ Сильвен Дюкен, Улучшение арифметики эллиптических кривых в модели Якоби -I3M, (UMR CNRS 5149) и Лирмм, (UMR CNRS 5506), Университет Монпелье II
Ссылки
Оливье Билле, Марк Джой (2003). "Модель Якоби эллиптической кривой и анализ боковых каналов". Модель Якоби эллиптической кривой и анализ боковых каналов . Конспект лекций по информатике. Том 2643. Springer-Verlag Berlin Heidelberg 2003. стр. 34–42. doi :10.1007/3-540-44828-4_5. ISBN978-3-540-40111-7.
PY Liardet, NP Smart (2001). «Предотвращение SPA/DPA в системах ECC с использованием формы Якоби». Криптографическое оборудование и встроенные системы — CHES 2001. Конспект лекций по информатике. Том 2162. Springer-Verlag Berlin Heidelberg 2001. стр. 391–401. doi :10.1007/3-540-44709-1_32. ISBN978-3-540-42521-2. S2CID 32648481.