Из Википедии, бесплатной энциклопедии
  (Перенаправлено с кривых Гессе )
Перейти к навигации Перейти к поиску

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

Определение [ править ]

Кривая Гессе уравнения

Пусть - поле и рассмотрим эллиптическую кривую в следующем частном случае формы Вейерштрасса над :

где кривая имеет дискриминант Тогда точка имеет порядок 3.

Чтобы доказать, что это имеет порядок 3, заметим, что касательная к точке at - это прямая, пересекающаяся с кратностью 3 в точке .

И наоборот, если даны точки 3-го порядка на эллиптической кривой, обе определены над полем, можно привести кривую к форме Вейерштрасса так, чтобы касательная в точке была прямой . Тогда уравнение кривой будет с .

Теперь, чтобы получить кривую Гессе, необходимо выполнить следующее преобразование :

Сначала обозначим корень многочлена

потом

Обратите внимание, что если имеет конечное поле порядка , то каждый элемент имеет уникальный кубический корень ; в целом, лежит в поле расширения K .

Теперь, определяя следующее значение , получается другая кривая C, которая бирационально эквивалентна E:

 :

которая называется кубической формой Гессепроективных координатах )

 :

в аффинной плоскости (удовлетворяющая и ).

Кроме того, (иначе кривая была бы особой ).

Исходя из кривой Гессе, бирационально эквивалентное уравнение Вейерштрасса дается формулой

при преобразованиях:

а также

где:

а также

Групповой закон [ править ]

Интересно проанализировать групповой закон эллиптической кривой, определяя формулы сложения и удвоения (поскольку атаки SPA и DPA основаны на времени выполнения этих операций). Кроме того, в этом случае нам нужно только использовать ту же процедуру для вычисления сложения, удвоения или вычитания баллов, чтобы получить эффективные результаты, как сказано выше. В общем случае групповой закон определяется следующим образом: если три точки лежат на одной прямой, то сумма их равна нулю . Таким образом, в силу этого свойства групповые законы различны для каждой кривой.

В этом случае, правильный способ заключается в использовании формулы Коши-Desboves', получая точку на бесконечности θ = (1: 1: 0) , то есть, нейтральный элемент (обратный & thetas является θ снова). Пусть P = ( x 1 , y 1 ) - точка на кривой. Прямая содержит точку P и бесконечно удаленную точку θ . Следовательно, - P - третья точка пересечения этой прямой с кривой. Пересекая эллиптическую кривую с прямой, получается следующее условие

Так как не равен нуль (поскольку D 3 отличен 1), то х координата - Р является у 1 и у координаты - Р является й 1 , то есть, или в проективных координатах .

В некоторых приложениях криптографии на основе эллиптических кривых и метода факторизации эллиптических кривых ( ECM ) необходимо вычислять скалярные умножения P , скажем [ n ] P для некоторого целого числа n , и они основаны на методе двойного сложения. ; для этих операций нужны формулы сложения и удвоения.

Удвоение

Теперь, если это точка на эллиптической кривой, можно определить операцию "удвоения", используя формулы Коши-Дебова:

Добавление

Таким же образом для двух разных точек, скажем и , можно определить формулу сложения. Пусть R обозначает сумму этих точек, R = P + Q , тогда ее координаты определяются как:

Алгоритмы и примеры [ править ]

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

Предложение . Пусть P = ( X, Y, Z ) - точка на эллиптической кривой Гессе E ( K ) . Потом:

(2).

Кроме того, мы имеем ( Z : X : Y ) ≠ ( Y : Z : X ) .

Наконец, в отличие от других параметризаций , здесь нет вычитания для вычисления отрицания точки. Следовательно, этот алгоритм сложения также можно использовать для вычитания двух точек P = ( X 1 : Y 1 : Z 1 ) и Q = ( X 2 : Y 2 : Z 2 ) на эллиптической кривой Гессе:

(3)

Подводя итог, можно сказать, что, адаптируя порядок входных данных в соответствии с уравнением (2) или (3), алгоритм сложения, представленный выше, может использоваться безразлично для: добавления 2 (разн.) Точек, удвоения точки и вычитания 2 точек только 12 умножений и 7 вспомогательных переменных, включая 3 переменные результата. До изобретения кривых Эдвардса эти результаты представляют собой самый быстрый из известных способов реализации скалярного умножения эллиптической кривой для обеспечения устойчивости к атакам по побочным каналам .

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

Дополнение [ править ]

Пусть P 1 = ( X 1 : Y 1 : Z 1 ) и P 2 = ( X 2 : Y 2 : Z 2 ) - две точки, отличные от θ . Предполагая, что Z 1 = Z 2 = 1, алгоритм задается следующим образом:

А = Х 1 Y 2

В = Y 1 X 2

X 3 = B Y 1 - Y 2 А
Y 3 = Х 1 А - В Х 2
Z 3 = Y 2 X 2 - X 1 Y 1

Необходимая стоимость составляет 8 умножений и 3 сложения Стоимость повторного добавления 7 умножений и 3 сложений, в зависимости от первой точки.

Пример

Учитывая следующие точки на кривой для d = −1, P 1 = (1: 0: −1) и P 2 = (0: −1: 1) , тогда, если P 3 = P 1 + P 2, имеем:

Х 3 = 0 - 1 = -1
Y 3 = −1−0 = −1
Z 3 = 0 - 0 = 0

Тогда: P 3 = (−1: −1: 0)

Удвоение [ править ]

Пусть P  = ( X 1  :  Y 1  :  Z 1 ) - точка, тогда формула удвоения задается следующим образом:

  • А = Х 1 2
  • B = Y 1 2
  • D = А  +  В
  • G = ( X 1  +  Y 1 ) 2  -  D
  • Х 3 = (2 Y 1  -  G ) × ( Х 1  +  A  + 1)
  • Y 3 = ( G  - 2 X 1 ) × ( Y 1  +  B  + 1)
  • Z 3 = ( Х 1  -  Y 1 ) × ( G  + 2 D )

Стоимость этого алгоритма составляет три умножения + три квадрата + 11 сложений + 3 × 2.

Пример

Если - точка над кривой Гессе с параметром d = −1 , то координаты определяются как:

Х = (2. (−1) - 2) (−1 + 1 + 1) = −4

Y = (−4-2. (−1)) ((−1) + 1 + 1) = −2

Z = (−1 - (−1)) ((−4) + 2. 2) = 0

Это,

Расширенные координаты [ править ]

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

http://hyperelliptic.org/EFD/g1p/auto-hessian-extended.html#addition-add-20080225-hwcd

и представлены следующими уравнениями:

См. Также [ править ]

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

Скрученные кривые Гессе

Внешние ссылки [ править ]

  • http://hyperelliptic.org/EFD/g1p/index.html

Заметки [ править ]

  1. ^ Формулы Коши-Десбоу: эллиптические кривые Гессе и атаки по боковым каналам, Марк Джой и Жан-Жак Квисквартер

Ссылки [ править ]

  • Отто Гессе (1844 г.), «Убер умирает устранение дер Вариабельн aus drei algebraischen Gleichungen vom zweiten Grade mit zwei Variabeln», Журнал für die reine und angewandte Mathematik , 10, стр. 68–96
  • Марк Джой, Жан-Жак Кискватер (2001). «Эллиптические кривые Гессе и атаки по боковым каналам». Криптографическое оборудование и встроенные системы - CHES 2001 . Конспект лекций по информатике. 2162 . Springer-Verlag Berlin Heidelberg 2001. С. 402–410. DOI : 10.1007 / 3-540-44709-1_33 . ISBN 978-3-540-42521-2.
  • Н.П. Смарт (2001). «Гессенская форма эллиптической кривой». Криптографическое оборудование и встроенные системы - CHES 2001 . Конспект лекций по информатике. 2162 . Springer-Verlag Berlin Heidelberg 2001. С. 118–125. DOI : 10.1007 / 3-540-44709-1_11 . ISBN 978-3-540-42521-2.