Скрученная кривая Эдвардса

Искривленная кривая Эдвардса уравнения 10 x 2 + y 2 = 1 + 6 x 2 y 2 {\displaystyle 10x^{2}+y^{2}=1+6x^{2}y^{2}}

В алгебраической геометрии скрученные кривые Эдвардса являются плоскими моделями эллиптических кривых , обобщением кривых Эдвардса , введенным Бернштейном , Биркнером, Джоем, Ланге и Питерсом в 2008 году. [1] Набор кривых назван в честь математика Гарольда М. Эдвардса . Эллиптические кривые важны в криптографии с открытым ключом , а скрученные кривые Эдвардса лежат в основе схемы электронной подписи EdDSA , которая обеспечивает высокую производительность, избегая при этом проблем безопасности, которые возникли в других схемах цифровой подписи.

Определение

Скрученная кривая Эдвардса над полем с характеристикой , не равной 2 (то есть ни один элемент не является своим собственным аддитивным обратным) представляет собой аффинную плоскую кривую, определяемую уравнением: E E , a , d {\displaystyle E_{E,a,d}} K {\displaystyle \mathbb {K} }

E E , a , d : a x 2 + y 2 = 1 + d x 2 y 2 {\displaystyle E_{E,a,d}:ax^{2}+y^{2}=1+dx^{2}y^{2}}

где — различные ненулевые элементы . a , d {\displaystyle a,d} K {\displaystyle \mathbb {K} }

Каждая скрученная кривая Эдвардса является скручиванием кривой Эдвардса . Частный случай — раскрученная кривая Эдвардса , поскольку кривая сводится к обычной кривой Эдвардса . a = 1 {\displaystyle a=1}

Каждая скрученная кривая Эдвардса бирационально эквивалентна эллиптической кривой в форме Монтгомери и наоборот. [2]

Групповое право

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

Добавление к скрученным кривым Эдвардса

Пусть — поле с характеристикой, отличной от 2. Пусть и — точки на скрученной кривой Эдвардса. Уравнение скрученной кривой Эдвардса записывается как; K {\displaystyle \mathbb {K} } ( x 1 , y 1 ) {\displaystyle (x_{1},y_{1})} ( x 2 , y 2 ) {\displaystyle (x_{2},y_{2})}

E E , a , d {\displaystyle E_{E,a,d}} : . a x 2 + y 2 = 1 + d x 2 y 2 {\displaystyle ax^{2}+y^{2}=1+dx^{2}y^{2}}

Сумма этих баллов составляет : ( x 1 , y 1 ) , ( x 2 , y 2 ) {\displaystyle (x_{1},y_{1}),(x_{2},y_{2})} E E , a , d {\displaystyle E_{E,a,d}}

( x 1 , y 1 ) + ( x 2 , y 2 ) = ( x 1 y 2 + y 1 x 2 1 + d x 1 x 2 y 1 y 2 , y 1 y 2 a x 1 x 2 1 d x 1 x 2 y 1 y 2 ) {\displaystyle (x_{1},y_{1})+(x_{2},y_{2})=\left({\frac {x_{1}y_{2}+y_{1}x_{2}}{1+dx_{1}x_{2}y_{1}y_{2}}},{\frac {y_{1}y_{2}-ax_{1}x_{2}}{1-dx_{1}x_{2}y_{1}y_{2}}}\right)}

Нейтральный элемент — (0,1), а отрицательный — ( x 1 , y 1 ) {\displaystyle (x_{1},y_{1})} ( x 1 , y 1 ) {\displaystyle (-x_{1},y_{1})}

Эти формулы также работают для удвоения. Если a является квадратом в , а d не является квадратом в , эти формулы являются полными : это означает, что их можно использовать для всех пар точек без исключений; поэтому они работают и для удвоения, а нейтральные элементы и отрицательные элементы принимаются в качестве входных данных. [3] [ проверка не удалась ] K {\displaystyle \mathbb {K} } K {\displaystyle \mathbb {K} }

Пример сложения

Дана следующая скрученная кривая Эдвардса с a = 3 и d = 2:

3 x 2 + y 2 = 1 + 2 x 2 y 2 {\displaystyle 3x^{2}+y^{2}=1+2x^{2}y^{2}}

можно сложить точки и используя формулу, приведенную выше. Результатом является точка P 3 , имеющая координаты: P 1 = ( 1 , 2 ) {\displaystyle P_{1}=(1,{\sqrt {2}})} P 2 = ( 1 , 2 ) {\displaystyle P_{2}=(1,-{\sqrt {2}})}

x 3 = x 1 y 2 + y 1 x 2 1 + d x 1 x 2 y 1 y 2 = 0 , {\displaystyle x_{3}={\frac {x_{1}y_{2}+y_{1}x_{2}}{1+dx_{1}x_{2}y_{1}y_{2}}}=0,}
y 3 = y 1 y 2 a x 1 x 2 1 d x 1 x 2 y 1 y 2 = 1. {\displaystyle y_{3}={\frac {y_{1}y_{2}-ax_{1}x_{2}}{1-dx_{1}x_{2}y_{1}y_{2}}}=-1.}

Удвоение на скрученных кривых Эдвардса

Удвоение можно выполнить с помощью точно такой же формулы, как и сложение. Удвоение точки на кривой : ( x 1 , y 1 ) {\displaystyle (x_{1},y_{1})} E E , a , d {\displaystyle E_{E,a,d}}

2 ( x 1 , y 1 ) = ( x 3 , y 3 ) {\displaystyle 2(x_{1},y_{1})=(x_{3},y_{3})}

где

x 3 = x 1 y 1 + y 1 x 1 1 + d x 1 x 1 y 1 y 1 = 2 x 1 y 1 a x 1 2 + y 1 2 y 3 = y 1 y 1 a x 1 x 1 1 d x 1 x 1 y 1 y 1 = y 1 2 a x 1 2 2 a x 1 2 y 1 2 . {\displaystyle {\begin{aligned}x_{3}&={\frac {x_{1}y_{1}+y_{1}x_{1}}{1+dx_{1}x_{1}y_{1}y_{1}}}={\frac {2x_{1}y_{1}}{ax_{1}^{2}+y_{1}^{2}}}\\[6pt]y_{3}&={\frac {y_{1}y_{1}-ax_{1}x_{1}}{1-dx_{1}x_{1}y_{1}y_{1}}}={\frac {y_{1}^{2}-ax_{1}^{2}}{2-ax_{1}^{2}-y_{1}^{2}}}.\end{aligned}}}

Знаменатели при удвоении упрощаются с помощью уравнения кривой . Это уменьшает степень с 4 до 2 и позволяет проводить более эффективные вычисления. d x 2 y 2 = a x 2 + b y 2 1 {\displaystyle dx^{2}y^{2}=ax^{2}+by^{2}-1}

Пример удвоения

Рассматривая ту же скрученную кривую Эдвардса, приведенную в предыдущем примере, с a=3 и d=2, можно удвоить точку . Точка 2P 1 , полученная с использованием приведенной выше формулы, имеет следующие координаты: P 1 = ( 1 , 2 ) {\displaystyle P_{1}=(1,{\sqrt {2}})}

x 3 = 2 x 1 y 1 a x 1 2 + y 1 2 = 2 2 5 , {\displaystyle x_{3}={\frac {2x_{1}y_{1}}{ax_{1}^{2}+y_{1}^{2}}}={\frac {2{\sqrt {2}}}{5}},}
y 3 = y 1 2 a x 1 2 2 a x 1 2 y 1 2 = 1 3 . {\displaystyle y_{3}={\frac {y_{1}^{2}-ax_{1}^{2}}{2-ax_{1}^{2}-y_{1}^{2}}}={\frac {1}{3}}.}

Легко увидеть, выполнив небольшие вычисления, что точка принадлежит кривой . P 3 = ( 2 2 5 , 1 3 ) {\displaystyle P_{3}=\left({\frac {2{\sqrt {2}}}{5}},{\frac {1}{3}}\right)} 3 x 2 + y 2 = 1 + 2 x 2 y 2 {\displaystyle 3x^{2}+y^{2}=1+2x^{2}y^{2}}

Расширенные координаты

Существует другой вид системы координат, с помощью которой можно представить точку в скрученных кривых Эдвардса. Точка на представляется как X , Y , Z , T, удовлетворяющая следующим уравнениям x  =  X / Z , y  =  Y / Z , xy  =  T / Z. ( x , y , z ) {\displaystyle (x,y,z)} a x 2 + y 2 = 1 + d x 2 y 2 {\displaystyle ax^{2}+y^{2}=1+dx^{2}y^{2}}

Координаты точки ( X : Y : Z : T ) называются расширенными скрученными координатами Эдвардса . Элемент идентичности представлен как (0:1:1:0). Отрицательная точка — это (− X : Y : Z : −T ).

Перевернутые скрученные координаты Эдвардса

Координаты точки называются перевернутыми скрученными координатами Эдвардса на кривой с ; эта точка соответствует аффинной на . Бернштейн и Ланге ввели эти перевернутые координаты для случая a=1 и заметили, что координаты дополнительно экономят время. ( X 1 : Y 1 : Z 1 ) {\displaystyle (X_{1}:Y_{1}:Z_{1})} ( X 2 + a Y 2 ) Z 2 = X 2 Y 2 + d Z 4 {\textstyle (X^{2}+aY^{2})Z^{2}=X^{2}Y^{2}+dZ^{4}} X 1 Y 1 Z 1 0 {\textstyle X_{1}Y_{1}Z_{1}\neq 0} ( Z 1 / X 1 , Z 1 / Y 1 ) {\displaystyle (Z_{1}/X_{1},Z_{1}/Y_{1})} E E , a , d {\displaystyle E_{E,a,d}}

Проективные скрученные координаты Эдвардса

Уравнение для проективной скрученной кривой Эдвардса задается как: При Z 1  ≠ 0 точка (X 1 :Y 1 :Z 1 ) представляет собой аффинную точку ( x 1X 1 / Z 1 , y 1 = Y 1 / Z 1 ) на E E , a , d . ( a X 2 + Y 2 ) Z 2 = Z 4 + d X 2 Y 2 {\displaystyle (aX^{2}+Y^{2})Z^{2}=Z^{4}+dX^{2}Y^{2}}

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

Сложение в проективных скрученных кривых

Добавление на проективной скрученной кривой Эдвардса задается формулой

(X 3 :Y 3 :Z 3 ) = (X 1 :Y 1 :Z 1 ) + (X 2 :Y 2 :Z 2 )

и стоит 10 умножений + 1 возведение в квадрат + 2D + 7 сложений , где 2D это одно умножение на a и одно на d .

Алгоритм
А = Z1 · Z2 ,
В = А 2
С = Х 1 · Х 2
Д = Y1 · Y2
Е = dС · D
Ф = В − Е
Г = Б + Э
X 3 = A · F((X 1 + Y 1 ) · (X 2 + Y 2 ) − C − D)
Y 3 = А · Г · (Д − аС)
Я 3 = Ф · Г

Удвоение на проективных скрученных кривых

Удвоение на проективной скрученной кривой задается формулой

(X 3 :Y 3 :Z 3 ) = 2(X 1 :Y 1 :Z 1 ).

Это стоит 3 умножения + 4 возведения в квадрат + 1 D + 7 сложений , где 1 D — это умножение на a .

Алгоритм
В = (X 1 + Y 1 ) 2
С = Х 1 2
Д = Y 1 2
Е = аС
Ф = Э + Д
Н = Z 1 2
J = F − 2H
X 3 = (B − C − D).J
Y 3 = F · (E − D)
Z 3 = F · J [1]

Смотрите также

Примечания

  1. ^ аб Бернштейн, Дэниел Дж.; Биркнер, Питер; Джой, Марк; Ланге, Таня; Петерс, Кристиана (2008). «Искаженные кривые Эдвардса». В Водене, Серж (ред.). Прогресс в криптологии – AFRICACRYPT 2008 . Конспекты лекций по информатике. Том. 5023. Берлин, Гейдельберг: Springer. стр. 389–405. дои : 10.1007/978-3-540-68164-9_26. ISBN 978-3-540-68164-9.
  2. ^ Дэниел Дж. Бернштейн; Питер Биркнер; Марк Джой; Таня Ланге; Кристиана Питерс. «Скрученные кривые Эдвардса» (PDF) . Проверено 28 января 2020 г. .
  3. ^ Дэниел Дж. Бернстайн и Таня Ланге, Более быстрое сложение и удвоение на эллиптических кривых

Ссылки

  • Дэниел Дж. Бернштейн; Марк Джой; Таня Ланге; Питер Биркнер; Кристиан Петерс, Искривленные кривые Эдвардса (PDF)
  • Хусейн Хисил, Кеннет Вонг, Гэри Картер, Эд Доусон. (2008), «Повторный взгляд на скрученные кривые Эдвардса», Архив Cryptology ePrint{{citation}}: CS1 maint: multiple names: authors list (link)
  • Дэниел Дж. Бернштейн; Таня Ланге; Питер Биркнер; Кристиан Петерс, ECM с использованием кривых Эдвардса (PDF)
  • http://hyperelliptic.org/EFD/g1p/index.html
  • http://hyperelliptic.org/EFD/g1p/auto-twisted.html
  • Алгоритм Ed25519: http://ed25519.cr.yp.to/
Retrieved from "https://en.wikipedia.org/w/index.php?title=Twisted_Edwards_curve&oldid=1235487376"