Small scalar multiplication on Weierstrass curves using division polynomials
Предлагаются алгоритмы вычисления нечетных малых кратных заданной точки $P$ на кривой в короткой форме Вейерштрасса над большим простым полем. Предлагаемые алгоритмы используют многочлены деления и обладают большей эффективностью, чем наивные алгоритмы, основанные на последовательных сложениях с $2P...
Gespeichert in:
Veröffentlicht in: | Математические вопросы криптографии 2022-06, Vol.13 (2), p.17-35 |
---|---|
Hauptverfasser: | , , |
Format: | Artikel |
Sprache: | rus |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Предлагаются алгоритмы вычисления нечетных малых кратных заданной точки $P$ на кривой в короткой форме Вейерштрасса над большим простым полем. Предлагаемые алгоритмы используют многочлены деления и обладают большей эффективностью, чем наивные алгоритмы, основанные на последовательных сложениях с $2P$. Показано, как с помощью найденных малых кратных вычислять произвольные кратные точки $P$, считая ее волатильной. Использование оконного метода и отказ от условных переходов позволяют обеспечить регулярность (фиксированное время работы) итогового алгоритма вычисления кратной точки. Малые кратные рассчитываются либо в якобиевых, либо в аффинных координатах, причем аффинные координаты строятся по якобиевым. При переходе к аффинным координатам используется метод Монтгомери быстрого мультипликативного обращения сразу нескольких элементов поля. Переход к аффинным координатам замедляет предвычисления, но ускоряет основной цикл алгоритма вычисления кратной точки. Показано, что такой переход имеет смысл и дает общий прирост производительности при используемых на практике размерностях.
This paper deals with elliptic curves in the short Weierstrass form over large prime fields and presents algorithms for computing small odd multiples of a given point $P$ on a curve. Our algorithms make use of division polynomials and are more efficient than the naive algorithm based on repeated additions with $2P$. We show how to perform scalar multiplication in the variable base settings using the precomputed small multiples. By employing the window method and avoiding conditional branches, we achieve the constant-time property for the final scalar multiplication algorithm. Small multiples are computed in either Jacobian or affine coordinates. To obtain affine coordinates, we use Montgomery's trick of simultaneous multiplicative inversion of several field elements. The conversion to affine coordinates slows down the precomputations but speeds up the main scalar multiplication loop. We show that the conversion makes sense and gives an overall performance boost in practical settings. |
---|---|
ISSN: | 2220-2617 2222-3193 |
DOI: | 10.4213/mvk406 |