Гессианская форма эллиптической кривой
В геометрии представляет кривая Гессе собой плоскую кривую, подобную листу Декарта . Он назван в честь немецкого математика Отто Гессе .Эта кривая была предложена для применения в криптографии на основе эллиптических кривых , поскольку арифметика в этом представлении кривой выполняется быстрее и требует меньше памяти, чем арифметика в стандартной форме Вейерштрасса . [1]
Определение
[ редактировать ]Позволять быть полем и рассмотрим эллиптическую кривую в следующем частном случае формы Вейерштрасса над : где кривая имеет дискриминант Тогда точка имеет порядок 3.
Чтобы доказать это имеет порядок 3, заметим, что касательная к в это линия который пересекает с кратностью 3 при .
И наоборот, учитывая точку порядка 3 на эллиптической кривой оба определены над полем можно привести кривую к форме Вейерштрасса с помощью так что касательная при это линия . Тогда уравнение кривой имеет вид с .
Чтобы получить кривую Гессе, необходимо сделать следующее преобразование :
Сначала позвольте обозначим корень многочлена
Затем
Обратите внимание, что если имеет конечное поле порядка , то каждый элемент имеет уникальный кубический корень ; в общем, лежит в поле расширения K .
Теперь, определив следующее значение получается другая кривая C, бирационально эквивалентная E:
которая называется кубической формой Гессе (в проективных координатах )
в аффинной плоскости (удовлетворяющий и ).
Более того, (иначе кривая была бы сингулярной ).
Начиная с кривой Гессе, бирационально эквивалентное уравнение Вейерштрасса имеет вид при преобразованиях: и где: и
Групповое право
[ редактировать ]Интересно проанализировать групповой закон эллиптической кривой, определяющий формулы сложения и удвоения (поскольку атаки SPA и DPA основаны на времени выполнения этих операций). Более того, в этом случае нам нужно использовать одну и ту же процедуру только для вычисления сложения, удвоения или вычитания точек, чтобы получить эффективные результаты, как сказано выше. В общем, групповой закон определяется следующим образом: если три точки лежат на одной прямой, то их сумма равна нулю . Итак, в силу этого свойства групповые законы различны для каждой кривой.
В этом случае правильным способом будет использование формул Коши-Десбова, получение точки на бесконечности θ = (1 : −1 : 0) , то есть нейтрального элемента (обратным θ снова является θ ). Пусть P = ( x 1 , y 1 ) — точка на кривой. Линия содержит точку P и точку на бесконечности θ . Следовательно, − P — третья точка пересечения этой линии с кривой. Пересекая эллиптическую кривую прямой, получаем следующее условие
С не равно нулю (поскольку D 3 отличается от 1), x координата − P равна y 1 , а y координата − P равна x 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 Икс 2
- Х 3 = Б 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
- З 3 = 0 − 0 = 0
Тогда: P 3 = (−1:−1:0)
удвоение
[ редактировать ]Пусть P = ( X 1 : Y 1 : Z 1 ) — точка, тогда формула удвоения имеет вид:
- А = Х 1 2
- Б = Y 1 2
- Д = А + Б
- G = ( X 1 + Y 1 ) 2 − Д
- Икс 3 знак равно (2 Y 1 - г ) × ( Икс 1 + А + 1)
- Y 3 знак равно ( г - 2 Икс 1 ) × ( Y 1 + B + 1)
- Z 3 знак равно ( Икс 1 - Y 1 ) × ( г + 2 D )
Стоимость этого алгоритма — три умножения + три возведения в квадрат + 11 сложений + 3×2.
- Пример
Если является точкой над кривой Гессе с параметром d = −1 , то координаты даны:
X = (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
и представлены удовлетворяющие следующим уравнениям:
См. также
[ редактировать ]- Дополнительную информацию о времени выполнения, необходимом в конкретном случае, см. в Таблице затрат операций на эллиптических кривых.
- Скрученные кривые Гессе
Внешние ссылки
[ редактировать ]Примечания
[ редактировать ]- ^ Формулы Коши-Десбова: эллиптические кривые Гессе и атаки по боковым каналам , Марк Джой и Жан-Жак Кискартер
Ссылки
[ редактировать ]- Отто Гессе (1844), «Об исключении переменных из трех алгебраических уравнений второй степени с двумя переменными», Журнал чистой и прикладной математики , 10, стр. 68–96.
- Марк Джой, Жан-Жак Кискатер (2001). «Эллиптические кривые Гессеса и атаки по боковым каналам». Криптографическое оборудование и встроенные системы — CHES 2001 . Конспекты лекций по информатике. Том. 2162. Springer-Verlag Berlin Heidelberg 2001. стр. 402–410. дои : 10.1007/3-540-44709-1_33 . ISBN 978-3-540-42521-2 .
- НП Смарт (2001). «Гессенская форма эллиптической кривой». Криптографическое оборудование и встроенные системы — CHES 2001 . Конспекты лекций по информатике. Том. 2162. Springer-Verlag Berlin Heidelberg 2001. стр. 118–125. дои : 10.1007/3-540-44709-1_11 . ISBN 978-3-540-42521-2 . S2CID 30487134 .