Таблица затрат на операции в эллиптических кривых - Table of costs of operations in elliptic curves
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
Криптография на эллиптических кривых это популярная форма открытый ключ шифрование, основанное на математической теории эллиптические кривые. Точки на эллиптической кривой могут быть добавлены и образовать группа при этой операции сложения. В этой статье описываются вычислительные затраты на добавление этой группы и некоторые связанные операции, которые используются в алгоритмах криптографии с эллиптической кривой.
Сокращения для операций
В следующем разделе представлена таблица всех временных затрат на некоторые из возможных операций с эллиптическими кривыми. Столбцы таблицы помечены различными вычислительными операциями. Строки таблицы относятся к разным моделям эллиптических кривых. Рассматриваются следующие операции:
DBL - удвоение
ДОБАВИТЬ - Дополнение
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
Это означает, что требуется 100 умножений (M), чтобы инвертировать (I) элемент; одно умножение требуется для вычисления квадрата (S) элемента; умножение не требуется для умножения элемента на параметр (* param), на константу (* const) или для добавления двух элементов.
Для получения дополнительной информации о других результатах, полученных с другими предположениями, см. http://hyperelliptic.org/EFD/g1p/index.html
Форма кривой, представление | DBL | ДОБАВИТЬ | MADD | mDBL | ОСАГО | DBL + ADD |
---|---|---|---|---|---|---|
Краткая проекция Вейерштрасса | 11 | 14 | 11 | 8 | ||
Короткий проектив Вейерштрасса с a4 = -1 | 11 | 14 | 11 | 8 | ||
Короткий проектив Вейерштрасса с a4 = -3 | 10 | 14 | 11 | 8 | ||
Краткий относительный якобиан Вейерштрасса[1] | 10 | 11 | (7) | (7) | 18 | |
Кривая Доче – Икарта – Кохеля, ориентированная на утроение | 9 | 17 | 11 | 6 | 12 | |
Расширенная кривая Гессе | 9 | 12 | 11 | 9 | ||
Проективная кривая Гессе | 8 | 12 | 10 | 6 | 14 | |
Якоби квартика XYZ | 8 | 13 | 11 | 5 | ||
XYZ, ориентированная на удвоение квартики Якоби | 8 | 13 | 11 | 5 | ||
Проективная скрученная кривая Гессе | 8 | 12 | 12 | 8 | 14 | |
Кривая Доче – Икарта – Кохеля, ориентированная на удвоение | 7 | 17 | 12 | 6 | ||
Проективное пересечение Якоби | 7 | 14 | 12 | 6 | 14 | |
Расширенное пересечение Якоби | 7 | 12 | 11 | 7 | 16 | |
Скрученный проектив Эдвардса | 7 | 11 | 10 | 6 | ||
Скрученный Эдвардс перевернутый | 7 | 10 | 9 | 6 | ||
Twisted Edwards Extended | 8 | 9 | 8 | 7 | ||
Эдвардс проективный | 7 | 11 | 9 | 6 | 13 | |
Якобиевская квартика ориентированная на удвоение XXYZZ | 7 | 11 | 9 | 6 | 14 | |
Якоби квартика XXYZZ | 7 | 11 | 9 | 6 | 14 | |
Якоби квартика XXYZZR | 7 | 10 | 9 | 7 | 15 | |
Кривая Эдвардса перевернутая | 7 | 10 | 9 | 6 | ||
Кривая Монтгомери | 4 | 3 |
Важность удвоения
В некоторых приложениях криптография на основе эллиптических кривых и метод факторизации эллиптической кривой (ECM ) необходимо учитывать скалярное умножение [п]п. Один из способов сделать это - последовательно вычислить:
Но быстрее использовать метод двойного и сложения, например [5]п = [2] ([2] P) + п.В общем, чтобы вычислить [k]п, записывать
с kя в {0,1} и , kл = 1, тогда:
.
Обратите внимание, что этот простой алгоритм занимает не более 2л шагов и каждый шаг состоит из удвоения и (если kя ≠ 0) добавляя две точки. Таким образом, это одна из причин, по которой определены формулы сложения и удвоения. Более того, этот метод применим к любой группе, и если групповой закон записан мультипликативно, вместо этого вызывается алгоритм двойного и сложения. алгоритм квадратного и умножения.
Рекомендации
- ^ Фэй, Бьорн (2014-12-20). «Двойное и сложение с относительными якобианскими координатами». Архив криптологии ePrint.