Таблица затрат операций на эллиптических кривых
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Криптография с использованием эллиптических кривых — популярная форма шифрования с открытым ключом , основанная на математической теории эллиптических кривых . Точки на эллиптической кривой можно добавлять и образовывать группу в рамках этой операции сложения. В этой статье описываются вычислительные затраты на добавление этой группы и некоторые связанные с ней операции, которые используются в алгоритмах криптографии на эллиптических кривых.
Сокращения для операций
[ редактировать ]В следующем разделе представлена таблица всех временных затрат некоторых возможных операций с эллиптическими кривыми. Столбцы таблицы помечены различными вычислительными операциями. Строки таблицы относятся к различным моделям эллиптических кривых. Рассматриваются следующие операции:
Двухместный номер - удвоение
ДОБАВИТЬ - Дополнение
mADD — смешанное сложение: добавление входного сигнала, масштабированного до координаты Z 1.
mDBL — Смешанное удвоение: удвоение входного сигнала, который был масштабирован до координаты Z 1.
ОСАГО – тройное.
DBL+ADD — комбинированный двойной и дополнительный шаг.
Чтобы узнать, как определяются точки добавления (ADD) и удвоения (DBL) на эллиптических кривых, см. Групповой закон . Важность удвоения для увеличения скорости умножения обсуждается после таблицы. Информацию о других возможных операциях с эллиптическими кривыми см. на http://hyperelliptic.org/EFD/g1p/index.html .
Табуляция
[ редактировать ]При различных предположениях об умножении, сложении, инвертировании элементов в некотором фиксированном поле временные затраты на эти операции различаются. В этой таблице предполагается, что:
- I = 100M, S = 1M, *param = 0M, add = 0M, *const = 0M
Это означает, что для инвертирования (I) элемента требуется 100 умножений (M); для вычисления квадрата (S) элемента требуется одно умножение; для умножения элемента на параметр (*param), на константу (*const) или для сложения двух элементов умножение не требуется.
Дополнительную информацию о других результатах, полученных при различных предположениях, см. на http://hyperelliptic.org/EFD/g1p/index.html.
Важность удвоения
[ редактировать ]В некоторых приложениях криптографии эллиптических кривых и метода факторизации эллиптических кривых ( ECM ) необходимо учитывать скалярное умножение [ n ] P . Один из способов сделать это — последовательно вычислить:
Но быстрее использовать метод двойного сложения , например, [5] P = [2]([2]P) + P . В общем, чтобы вычислить [ k ] P , напишите
с k i в {0,1} и , k l = 1, тогда:
.
Обратите внимание, что этот простой алгоритм занимает не более 2l шагов, и каждый шаг состоит из удвоения и (если k i ≠ 0) добавления двух точек. Итак, это одна из причин, по которой определены формулы сложения и удвоения. Более того, этот метод применим к любой группе, и если групповой закон записан мультипликативно, алгоритм двойного сложения вместо этого называется алгоритмом квадрата и умножения .
Ссылки
[ редактировать ]- ^ Фэй, Бьорн (20 декабря 2014 г.). «Двойное сложение с относительными якобианскими координатами» . Архив электронной печати по криптологии .