Научная статья на тему 'Быстрые алгоритмы вычисления преобразований на основе эллиптических кривых с предварительными вычислениями'

Быстрые алгоритмы вычисления преобразований на основе эллиптических кривых с предварительными вычислениями Текст научной статьи по специальности «Математика»

CC BY
878
107
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БЫСТРЫЕ АЛГОРИТМЫ / ЭЛЛИПТИЧЕСКИЕ КРИВЫЕ / СЛОЖНОСТЬ / ПРЕДВАРИТЕЛЬНЫЕ ВЫЧИСЛЕНИЯ / СКАЛЯРНОЕ УМНОЖЕНИЕ ТОЧКИ / FAST ALGORITHMS / ELLIPTIC CURVES / PRECOMPUTATIONS / COMPUTATIONAL COMPLEXITY / SCALAR MULTIPLICATION OF POINT

Аннотация научной статьи по математике, автор научной работы — Хлебородов Д.С.

Эффективные алгоритмы вычисления преобразований на основе эллиптических кривых сравнительно новая область исследований, представляющая огромный интерес. Рассмотрено эффективное скалярное умножение точки эллиптической кривой, определенной над простым полем, с использованием предварительных вычислений. В основе предлагаемых алгоритмов лежат методы несовместного представления скаляра (Non-Adjacent Form, NAF) с окном фиксированной и переменной ширины (скользящим окном). Для оценки эффективности полученных и ранее предложенных алгоритмов введен критерий эффективности, основанный на средней вычислительной сложности. Для получения новых более эффективных алгоритмов использованы эффективные операции в простом поле, операции с точкой: сложение (ADD); удвоение (DBL и DBL J A); операция “удвоить и сложить” (DA); масштабирование (SCALE); свойства аффинной координатной системы; свойства координатной системы Якоби; свойства координатной системы Якоби Чудновского. Для алгоритмов сформулированы и доказаны утверждения относительно их вычислительной сложности

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

FAST COMPUTATION ALGORITHMS OF TRANSFORMATIONS BASED ON ELLIPTIC CURVES WITH PRECOMPUTATIONS

The paper considers efficient algorithms for calculating transformations based on elliptic curves. This new research area is of great interest nowadays. The paper presents an effective scalar multiplication of an elliptic curve point defined over the prime field using of preliminary calculations. The proposed algorithms are based on the method of incompatible representations of the scalar (Non-Adjacent Form, NAF) with a window of both fixed and variable width (a sliding window). In order to evaluate the effectiveness of the previously obtained algorithms we proposed the architecture of the algorithms and the criterion of efficiency based on the average computational complexity. For elaborating newer and more efficient algorithms some effective operations both in the prime field and with a point, such as addition (ADD), doubling (DBL, DBL J A), a complex operation “double and add” (DA), a scaling duplication (SCALE), properties of the affine coordinate system, and Jacobi and Jacobi Chudnovsky coordinate systems are used. Statements about the algorithms computational complexity are formulated and proved

Текст научной работы на тему «Быстрые алгоритмы вычисления преобразований на основе эллиптических кривых с предварительными вычислениями»

ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ИНФОРМАТИКИ

УДК 512.742.72

БЫСТРЫЕ АЛГОРИТМЫ ВЫЧИСЛЕНИЯ ПРЕОБРАЗОВАНИЙ

НА ОСНОВЕ ЭЛЛИПТИЧЕСКИХ КРИВЫХ С ПРЕДВАРИТЕЛЬНЫМИ

ВЫЧИСЛЕНИЯМИ

Д.С. Хлебородов

МГТУ им. Н.Э. Баумана, Москва, Российская Федерация e-mail: dkhleborodov@gmail.com

Эффективные алгоритмы вычисления преобразований на основе эллиптических кривых — сравнительно новая область исследований, представляющая огромный интерес. Рассмотрено эффективное скалярное умножение точки эллиптической кривой, определенной над простым полем, с использованием предварительных вычислений. В основе предлагаемых алгоритмов лежат методы несовместного представления скаляра (Non-Adjacent Form, NAF) с окном фиксированной и переменной ширины (скользящим окном). Для оценки эффективности полученных и ранее предложенных алгоритмов введен критерий эффективности, основанный на средней вычислительной сложности. Для получения новых более эффективных алгоритмов использованы эффективные операции в простом поле, операции с точкой: сложение (ADD); удвоение (DBL и DBLjJ; операция "удвоить и сложить" (DA); масштабирование (SCALE); свойства аффинной координатной системы; свойства координатной системы Якоби; свойства координатной системы Якоби-Чудновского. Для алгоритмов сформулированы и доказаны утверждения относительно их вычислительной сложности.

Ключевые слова: быстрые алгоритмы, эллиптические кривые, сложность, предварительные вычисления, скалярное умножение точки.

FAST COMPUTATION ALGORITHMS OF TRANSFORMATIONS BASED ON ELLIPTIC CURVES WITH PRECOMPUTATIONS

D.S. Khleborodov

Bauman Moscow State Technical University, Moscow, Russian Federation e-mail: dkhleborodov@gmail.com

The paper considers efficient algorithms for calculating transformations based on elliptic curves. This new research area is of great interest nowadays. The paper presents an effective scalar multiplication of an elliptic curve point defined over the prime field using of preliminary calculations. The proposed algorithms are based on the method of incompatible representations of the scalar (Non-Adjacent Form, NAF) with a window of both fixed and variable width (a sliding window). In order to evaluate the effectiveness of the previously obtained algorithms we proposed the architecture of the algorithms and the criterion of efficiency based on the average computational complexity. For elaborating newer and more efficient algorithms some effective operations both in the prime field and with a point, such as addition (ADD), doubling (DBL, DBLjJ, a complex operation "double and add" (DA), a scaling duplication (SCALE), properties of the affine coordinate system, and Jacobi and Jacobi-Chudnovsky coordinate systems are used. Statements about the algorithms computational complexity are formulated and proved.

Keywords: fast algorithms, elliptic curves, precomputations, computational

complexity, scalar multiplication of point.

Введение. Преобразования на основе эллиптических кривых широко используются в криптосистемах с открытым ключом, в частности при вычислении цифровых подписей в отечественном (ГОСТ Р 34.102012) и зарубежных (FIPS PUB 186, ANSI X9.62, SECG) стандартах. Такие криптосистемы, построенные на эллиптических кривых, обеспечивают снижение вычислительных затрат, энергопотребления и памяти при обеспечении высокого уровня безопасности. Преобразования на основе эллиптических кривых также находят свое применение в алгоритмах факторизации целых чисел (метод Ленстры — ECM, Elliptic Curve Factorization Method) и в алгоритмах тестирования натуральных чисел на простоту. Такие алгоритмы представляют практический и теоретический интерес. Несмотря на значительные успехи многих исследователей в данной области, интерес к получению новых результатов по ускорению преобразований сохраняется вследствие большой актуальности приведенных выше задач.

Критерий эффективности. Рассмотрим поле Fp, такое, что p — простое число и для a,b £ Fp выполняется неравенство 4a3 + + 27b2 ф 0 (mod p). Тогда эллиптическая кривая E(Fp) над Fp, определенная параметрами a, b £ Fp, состоит из набора решений или точек P = (x,y), x,y £ Fp, уравнения E(Fp) : y = x3 + ax2 + b (mod p), вместе с особой точкой O, называемой точкой в бесконечности.

Уравнение y2 = x3+ax2+b( mod p) задано в форме Вейерштрасса и называется определяющим уравнением E(Fp). Для точки P = (xP, yP) xP является х-координатой P, а yP — j-координатой точки P. Такого рода интерпретация точки называется аффинными координатами.

Набор точек на E(Fp) представляет собой абелевую группу точек эллиптической кривой с операцией сложения (E (Fp), Ш) [1].

Главная операция преобразования на основе эллиптических кривых — скалярное умножение точки: дано k £ Z и точка P £ E(Fp), скалярное умножение — процесс сложения точки P с собой k раз: dP = P Ш ... Ш P. Результат скалярного умножения обозначается kP. к

Операцией мультискалярного умножения называется преобразование вида:ШП=1 kQ, k £ Z, Q% £ E(Fp) [2].

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

Умножение групп точек ЕВ 1 к{ Р{ Скалярные арифметические операции с точкой ((1Р)

Арифметические операции с точкой (сложение точек Р ЕВ б удвоение точки 2Р и др.)

Арифметические операции в простом поле (сложение, вычитание, возведение в квадрат, умножение, нахождение обратного элемента)

Арифметические операции с большими целыми числами (сложение, умножение, возведение в квадрат)

А

¿2

£3

Х-4

[¿5_

Х-б

Рис. 1. Архитектура преобразований на основе эллиптических кривых

Пусть Е — множество рассматриваемых кривых Е ), С — множество алгоритмов вычисления преобразований на основе эллиптических кривых уровня г математической иерархии. При г = 1 множество алгоритмов С1 будем называть множеством базовых алгоритмов. Тогда алгоритм а Е С, г > 1, получается композицией из Ь алгоритмов множества С—1 : Та : С1-1 —> С.

Архитектура алгоритмов представляет собой математическую иерархию. Множество алгоритмов всех уровней архитектуры обозначается как А = У С.

¿=1,5

Вычислительной (средней вычислительной) сложностью алгоритма а является функция Ьа(п) (Ьа(п)), определяющая зависимость времени (среднего времени) работы алгоритма а от входного параметра п [3].

Введем функцию 5 (а), а Е А, определяющую объем дополнительной памяти для хранения данных, которые связаны с предварительными вычислениями, и необходимой для работы алгоритма а : 5 : А —> Ъ+. Тогда наиболее эффективным алгоритмом а Е С, полученным композицией Та, является такой алгоритм, что

La (n) = Lmin (n), при этом Lmin = min {Lc (n)} , (1)

cGCi

E

где E : E (Fp) : y2=x3+ax2+b (mod p) — множество эллиптических кривых, утвержденных Национальным институтом стандартов и технологий (National Institute of Standards and Technology, NIST). Далее рассмотрим подмножества кривых E: P192, P224, P256, P384 и P521.

В настоящей статье будут приведены алгоритмы, когда при выполнении условия (1) выполняется соотношение S (a) = 0.

Описание основных операций в поле Fp и обозначение их вычислительной сложности представлены в табл. 1 [4].

Таблица 1

Обозначение вычислительной сложности операций в простом поле

Операция Описание

A Сложение/вычитание (addition/subtraction) в поле Fp

R Приведение по модулю (reduction) p

S Возведение в квадрат (squaring) в поле Fp

M Умножение в поле (multiplication) в поле Fp

I Нахождение мультипликативного обратного элемента (inversion) в поле Fp

Эффективные алгоритмы вычисления скалярного умножения точки. Перечислим полученные в процессе настоящего исследования алгоритмы.

Алгоритм на основе метода несовместной формы представления скаляра c окном. Предварительные вычисления повышают эффективность вычисления кратной точки. При ы > 2 несовместное пред-

т— 1

ставление (wNAF) целого d по основанию 2 имеет вид

г=0

где ы > 2, к это простое, < 2ад-1 [3].

Преимуществом указанного метода является то, что число ненулевых чисел и, следовательно, необходимых сложений в ходе вычислений невелико. Предлагаемый алгоритм а^АР (алгоритм 1) скалярного умножения точки для данного wNAF-представления скаляра основан на этом свойстве.

Алгоритм 1. Эффективное вычисление скалярного умножения точки 6Р, 6 е 2, Р е Е (Ер), wNAF (6) = (6п-1,..., 60) на основе метода несовместной формы представления скаляра 6 с окном ы. Вход:

— эллиптическая кривая Е (Ер);

— точка Р е Е (Ер), Р = (х, у), х, у е Ер;

— представление wNAF (d) = (dn-1,..., do);

— окно w G Z+. Выход:

— результат скалярного умножения dP = (x, y), x, y G Fp. Эффективный алгоритм скалярного умножения точки dP, d G Z,

P G E (Fp), на основе метода несовместной формы представления скаляра c окном w приведен ниже:

begin

/* Предварительные вычисления */

1. Pi ^ P

2. P2 ^ dbl (P)

3. foreach (г = 3, 5,..., 2w-i - 1) {

4. Pi ^ add (Pi-2,P2)

5. }

/* Основные вычисления */

6. Q ^ Pn-i

7. while (г > 0) {

8. if (di > 0) {

9. Q ^ da (Q,Pdi)

10. } else {

11. if (di < 0) {

12. Q ^ da (Q, -Pdi)

13. } else {

14. Q ^ dbl (Q)

15. }

16. }

17. г ^ г - 1

18. }

19. return(Q) end

Методы несовместной формы представления скаляра с окном, использования композитных операций DBL, ADD, DA, использования свойств аффинной, Якоби и Якоби - Чудновского координатных систем. Утверждение 1. Алгоритм awNAF (алгоритм 1) вычисления скалярного умножения точки dP, d G Z, P G E (Fp), d = (dn-1,..., d0)2 имеет среднюю вычислительную сложность:

11 n \ ( 3n

^wNAP (n,w) = I + ( W~+~i + 2n - 10 j M + (8n - — - 8) S,

■ш — ширина окна предварительных вычислений. При этом потребуется 2Ш~2 — 1 предварительных вычислений точек. Вычислительная

с

сложность предварительных вычислений составит (11-2w 2—11) M+ + (3 • 2w-2 + 2) S.

< Плотность несовместного представления с окном w (wNAF)

n +

скаляров длинои n примерно равна -, где n G Z+ — длина раз-

w + 1

ложения скаляра d G Z; w G Z+ — ширина окна. Это означает, что вычислительная сложность алгоритма awNAF равна

LaraNAP (n, w) = (DBL + (2w-2 - 1) ADD) +

+ ( —--1 ) ADD + (n - 1) DBL.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

w + 1 - -

Кроме того, необходима память для хранения 2w-2 — 1 точек. В алгоритме awNAF существует множество возможностей для использования своИств координатных систем.

Рассмотрим возможности этапа предварительных вычислений точек. Этот этап содержит большое количество сложений значений 2P, результирующие значения затем используются в последующих вычислениях. Это свидетельствует о том, что результат эффективнее хранить в координатах Якоби - Чудновского. Существует два варианта получения значений 2P: значение может быть вычислено как 2A —> J или как 2A —> A. В первом случае каждое сложение в предварительных вычислениях будет иметь вид Jс Ш Jс —> Jс и вычислительную сложность, равную 11M + 3S. Если значение 2P сохранять в аффинных координатах, то каждое сложение будет иметь вид Jс Ш A —> J и вычислительную сложность, равную 8M + 3S. Компромисс заключается в том, что 2A —> A имеет дорогостоящий шаг с нахождением обратного элемента. Даже если предположить, что I < 30M [3, 5-10], то ширина окна w должна равняться, по меньшей мере, шести, для большей эффективности. Поэтому примем, что для алгоритма шаг P2 ^ 2P имеет структуру 2A —> Jс, а шаг Pi ^ Pi-2 Ш P2 — структуру A Ш Jс —у Jс для г = 3, и Jс Ш Jс —> Jс в остальных случаях.

Для основного этапа вычислений потребуется w + 1 удвоений и сложений, поэтому координаты Якоби используются для временных переменных. Если предварительно вычисленные значения хранятся в координатах Якоби-Чудновского, то шаг 2P Ш Q (для значений отличных от ±1) будет иметь структуру 2 J Ш Jс —> J. Сложность такой операции составит 15M + 7S. Еще одним важным дополнением к работе алгоритма является использование группового обратного элемента для преобразования предварительно вычисленных значений к аффинным координатам. Для этого применим метод Монтгомери со сложностью вычислений I + 3(k — 1)M для k элементов поля Fp. Преобразование предварительно вычисленных точек к аффинным координатам позволит каждому сложению использовать операцию со

с

структурой 23 Ш А —> 3. Таким образом, ее вычислительная сложность составит 13М + 5Б. Компромисс в использовании указанного подхода зависит от мощности множества предварительно вычисленных точек и количества необходимых сложений.

Если предварительно вычисленные точки конвертируются к аффинным координатам для алгоритма, то необходимо (1+3 (2ад-2-2) М) для расчета , ..., 1, используя групповой способ на-

хождений обратного элемента и (3 • 2Ш-2 + 2) М + (2ад-2 — 2) Б для определения аффинной формы для каждого Р = (Х^2, Я-3). После того, как все предварительно вычисленные точки переведены в аффинные координаты, на шаге Q —— 2Q Ш Pki выполняется операция ЮЛ со структурой 23 Ш А —> 3, а на шаге Q — 2Q В Pki — со структурой 23 В А —> 3. Шаг Q — 2Q осуществляется 2А —> 3 в первый раз и 23 —> 3 в остальных случаях. Последний шаг это

3 —> А.

Если di = 0, то di = ±1 с вероятностью около 1/2ад-3. Вычислительная сложность предварительных вычислений составляет LapNeAP (n,w) = (3М + 5Б) + (8М + 3Б) + (2ад-2 — 2) (11М + 3Б) = = (1Ь 2ад-2 — 11) М + (3 • 2ад-2 + 2).

Приведение рассчитанных значений точек в аффинную форму имеет вычислительную сложность, равную LaPrec (п, w) = I + + (6 • (2ад-2 — 1) — 3) М + (2ад-2 — 1) Б.

С предварительно вычисленными точками в форме Якоби - Чуднов-ского остальная часть алгоритма имеет сложность

Lа„1АР (n,w) = — ^ (13М+5Б) +

^ (w+l (15M+7S) + (2M+4S) +

n

+ ( n-w+i"Ч (4M+4S) + (I+3M+S).

После приведения подобных слагаемых получим

М/ П

L,.„AF (n,w) = 1 + ((¿¿2) (w+T - (13+ 15(2"-2 - l)) +

+2 ( n-w+T - 1 +5) M + Ш (w+T -1) (5+7(2"'-2 - T))+

+ 8( n--- 1 )+5 )S.

w + 1

+5

С предварительно вычисленными точками в аффинной форме, остальная часть алгоритма имеет сложность

(п, ы) =(-Л (13М+58) + (2М+4Б) +

+ (п-^--1^ (2М+8Б) + (1+3М + Б).

/ Цп \ / 3п \

+^АР (п, ы) =1+ —+2п-10^ М+ (^8п-—-8^ Б. ►

В алгоритме 1 требуется такое же число промежуточных операций в простом поле ¥р, что и при операциях нахождения обратного элемента по умножению в простом поле. Для некоторых реализаций это представляет собой проблему. Возможным решением может быть сохранение промежуточных результатов в координатах Z2, Z3.

Для предложенного алгоритма а^АР выполняется соотношение

£ (а^АР) = 2^-2 - 1

Сравнительная оценка вычислительной сложности алгоритма, полученного Д. Хенкерсоном, и предлагаемого алгоритма вычисления скалярного умножения точки на основе метода несовместной формы представления скаляра с шириной окна ы при различных значениях ширины ы на подмножестве эллиптических кривых Р192 С Е представлена в табл. 2 (рис. 2).

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

Таблица 2

Средняя вычислительная сложность предлагаемого алгоритма и алгоритма Хенкерсона, Рс Е

w Алгоритм Хенкерсона LawNAF (n) Предлагаемый алгоритм Ь(п) S («wNÄF)

3 2I + 1155,0M + 915,0S 21 + 902,0М + 1384,08 1

4 2I + 1112,2M + 894,2S 21 + 796,0М + 1412,08 3

5 2I + 1129,0M + 891,0S 21 + 726,0М + 1432,08 7

6 2I + 1228,4M + 909,3S 21 + 675,7М + 1445,78 15

7 2I + 1473,0M + 963,0S 21 + 638,0М + 1456,08 21

Алгоритм на основе метода несовместной формы представления скаляра со скользящим окном. Метод несовместной формы представления скаляра со скользящим окном основан на wNAF-представлении скаляра. Набор чисел представления по основанию 2 имеет вид {-2ад-1 + 1, -2ад-1 + 3,..., -1,1,..., 2ад-1 - 3, 2ад-1 - 1} . Таким образом, будут вычислены точки 3Р, 5Р,... ,(2ад-1 - 1) Р.

2000 1500 1000 500 0

3 4 5 6 7

Рис. 2. Сравнение средней вычислительной сложности предлагаемого алгоритма а^нАР (1) и алгоритма Хенкерсона (2) скалярного умножения точки на подмножестве эллиптических кривых РС Е, ш = 3,..., 7

Рассматриваемый метод имеет преимущество над NAF-методом, поскольку в NAF-представлении целого не присутствует двух последовательных ненулевых значений. Поэтому для любых значений ширины т из NAF-представления числа ¿, число представителей будет принадлежать к интервалу (—2™+1 /3; 2™+1 /3) [3].

Выбор значения т определяет число точек, которые необходимо предварительно рассчитать. Когда выбирается небольшая ширина окна т, то число точек, которые необходимо предварительно рассчитать, приблизительно на треть больше, чем в тNAF-методе с параметром т (2™+1 /3 2™+1 /4). Преимущество такого метода заключается в том, что средняя плотность ненулевых чисел меньше, чем в тNAF-методе. Следовательно, количество сложений, необходимых для вычисления скалярного умножения, уменьшается. Предлагаемый алгоритм а^^лг (алгоритм 2) основан на методе несовместной формы представления скаляра со скользящим окном.

Алгоритм 2. Эффективное вычисление скалярного умножения точки ¿Р, й е Ъ, Р е Е ) на основе метода несовместной формы представления скаляра й с окном т.

Вход:

— эллиптическая кривая Е (¥р);

— точка Р е Е (¥р), Р = (х, у), х, у е ;

— окно т;

— представление wNAF (¿) = (¿п-1,..., ¿0).

Выход:

— результат скалярного умножения ¿Р = (х, у), х, у е ¥р.

Эффективный алгоритм скалярного умножения точки ¿Р, й е Ъ, Р е Е (¥р), на основе метода несовместной формы представления скаляра с окном приведен ниже:

2000

1000 0

3 4 5 6 7 и>

Рис. 3. Сравнение средней вычислительной сложности предлагаемого алгоритма ав\^АР (1) и алгоритма Хенкерсона (2) скалярного умножения точки на подмножестве эллиптических кривых РС Е

begin

/* Предварительные вычисления */

1. Pi ^ P

2. P2 ^ dbl (P)

3. foreach (i = 3, 5,..., 2 (2w - (-1)w)/3 - 1) {

4. Pi ^ add (Pi-2 ,P2)

5. }

/* Основные вычисления */

6. Q ^ O

7. i ^ d - 1

8. while (i > 0) {

9. j ^ 0

10. z ^ i

11. while (j < w) {

12. if ((di,..., d-j+i) mod 2 = 0) {

13. z ^ j

14. }

15. j ^ j + 1

16. }

17. Q ^ 2z-1Q

18. if (m > 0) {

19. Q ^ da (Q,Pm)

20. } else {

21. if (m < 0) {

22. Q ^ da (Q, -P-m)

23. } else {

24. Q ^ dbl (Q)

25. }

26. }

27. it- i - t

28. }

29. return(Q) end

Методы несовместной форм представления скаляра со скользящим окном, использования композитных операций DBL, ADD, DA, использования свойств аффинных, Якоби и Якоби-Чуднов-ского координатных систем. Утверждение 2. Алгоритм as\wNAF (алгоритм 2) вычисления скалярного умножения точки dP, d G Z, P G E (Fp), d = (dn_i,..., do)2, имеет среднюю вычислительную сложность:

( 11n \ ( 3n \

La , NAF (n, w) =I + -- 10 M+ 8n--г^т-M s,

as\wNApV ' ; \w + v (w) У V w+v (w) У

4 (-1)w

где w — ширина окна предварительных вычислений; v (w) = - -

3 32--2'

4

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

При этом потребуется - (2--2 — 1) предварительных вычислений

3

точек. Вычислительная сложность предварительных вычислений со-

ставит

LaPrec (п,т)= 11--(-)--11 М+ 3--(-^+2 Б.

^гоСЛР ^ ' ' ^ 3 ) \ 3 )

< Согласно утверждению Хенкерсона [4], средняя длина последо-

й й ( ) 4 (—1)-

вательности нулей между окнами ширинои т равна V (т) =—-

3 3 • 2W_2'

а вычислительная сложность алгоритма предварительных вычислений —

(n,w) = (W+T -3-1)W-О ADD) +

+ ((-Vt - Ч ADD + (n-1) DBL ) ,

\\w+v (w) ) y ! ) '

или

/ 2W — (—1)w \

LaPr^p (n, w) = (3M+5S) + (8M+3S) + i-^--2 j (11M+3S)

С учетом конвертации значений в аффинную форму вычислительная сложность составит

'2W-(-1)w \ \ / 2W-(-

(n. w) = ^ (б (2W-(r1W-l) -з) M+(2W-r1W-l)

S.

При сохранении предварительно вычисленных точек в координатах Якоби-Чудновского, последующий этап алгоритма имеет среднюю вычислительную сложность

^•-АР пт) (т+^и—О (13М+68)+

+ (1--1) (15М+78> + (2М+48> +

+ (п-^-1) (2М+88) + (1+ЗМ+8),

а при преобразовании в аффинную форму среднюю вычислительную сложность —

Ам^ар (п= ((13М+58) + (2М+48) + + (п - ^-1) (2М + 8( + (1+3М+^) =

= 1+ (+2п-1о) + (^п - —-8^ Б. ►

\ад+-у (ад) ) \ ад+-у (ад) /

Сравнительная оценка средней вычислительной сложности алгоритма Хенкерсона и предлагаемого алгоритма ав\идолР вычисления скалярного умножения точки на основе метода несовместной формы представления скаляра со скользящим окном ад на подмножествах эллиптических кривых Р\92 С Е представлена в табл. 3 (рис. 3).

Таблица 3

Средняя вычислительная сложность предлагаемого алгоритма ад^А^ и алгоритма Хенкерсона, Рс Е

w Алгоритм Хенкерсона Las\mNAf (n) Предлагаемый алгоритм ^(п) S (®s\WNAF)

3 2I + 1129,3M + 903,0S 21 + 843,3М + 1400,08 2

4 2I + 1114,6M + 892,7S 21 + 776,3М + 1418,38 4

5 2I + 1164,9M + 897,4S 21 + 705,3М + 1437,68 10

6 2I + 1304,1M + 925,8S 21 + 662,8М + 1449,28 20

7 2I + 1652,1M + 1004,0S 21 + 627,1М + 1459,08 42

Заключение. Проанализирован метод несовместной формы представления скаляра с окном ад (адNAF) и на его основе получен новый более быстрый, чем адNAF-алгоритм Хенкерсона скалярного умножения точки эллиптической кривой а^лр. Доказано утверждение относительно вычислительной сложности предложенного алгоритма аад;мЛР. Для алгоритма выполнено соотношение

£ (атоМЛР) = 2^-2 - 1

Новая, более низкая оценка получена за счет использования следующих операций: 2А —> ас; А Ш ас —> ас; ас Ш ас ас;

2а ш ас а; 2 а ш а а; 2а в а а; 2А а;

2а —> а; а —> А (А, ас и а — представление точки в аффинных, Якоби-Чудновского и Якоби координатных системах); свойств

координат Якоби; метода замены умножений в поле Fp возведением в квадрат; метода Монтгомери и быстрых композитных операций DA и T ("утроения"). Операция c —> с обозначает преобразование и сохранение точки из координат c в с, если c не совпадают с с и только сохранение, если совпадают.

Проанализирован метод несовместной формы представления скаляра со скользящим окном w (s\wNAF) и на его основе получен новый более быстрый, чем известный s\wNAF-алгоритм Хенкерсона скалярного умножения точки эллиптической кривой as\wNAF. Доказано утверждение относительно вычислительной сложности предложенного алгоритма as\wNAF. Для алгоритма as\wNAF выполняется соотношение S (as\wNAF) = 4 (2w-2 - l).

ЛИТЕРАТУРА

1. Hankerson D., Menezes A., Vanstone S. Guide to elliptic curve cryptography. Springer-Verlag, 2004.

2. Matthieu R. Fast and regular algorithms for scalar multiplication over elliptic curves // IACR Cryptology. 2011. No. 338.

3. Rokhlin V., Tygert M.Fast algorithms for spherical harmonic expansions // SIAM J. Sci. Computing. 2008. No. 27 (6). P. 1903-1928.

4. Hisil H., Carter G.. Ed. Dawson E. New formulae for efficient elliptic curve arithmetic. 2007.

5. Bernstein Daniel J., Lange T. Explicit-formulas database. 2014. URL: http://hyperelliptic.org/EFD (дата обращения: 03.01.2015).

6. Хлебородов Д.С. Эффективные алгоритмы скалярного умножения точки эллиптической кривой без предварительных вычислений // Глобальный научный потенциал. 2014. № 5 (38). 35 с.

7. Björn F. Double-and-add with relative Jacobian coordinates // Cryptology. 2014. ePrint Archive.

8. Bernstein Daniel J., Lange T. Faster addition and doubling on elliptic curves. 2007. P. 29-50.

9. Dygin D.M., Grebnev S.V Efficient implementation of the GOST R 34.10 digital signature scheme using modern approaches to elliptic curve scalar multiplication, 2013.

10. Edwards H.M. A normal form for elliptic curves // Bulletin of the American Mathematical Society. 2007. No. 44. P. 393-422. URL: http://www.ams.org/bull/2007-44-03/S0273-0979-07-01153-6/home.html (дата обращения: 18.03.2015).

REFERENCES

[1] Hankerson D., Menezes A., Vanstone S. Guide to elliptic curve cryptography. Springer-Verlag, 2004.

[2] Matthieu R. Fast and regular algorithms for scalar multiplication over elliptic curves. IACR Cryptology, 2011, no. 338.

[3] Rokhlin V., Tygert M. Fast algorithms for spherical harmonic expansions. SIAM J. Sci. Computing, 2008, no. 27 (6), pp. 1903-1928.

[4] Hisil H., Carter G., Ed.: Dawson E. New formulae for efficient elliptic curve arithmetic, 2007.

[5] Bernstein Daniel J., Lange T. Explicit-formulas database, 2014. URL: http://hyperelliptic.org/EFD (accessed: 03.01.2015).

[6] Khleborodov D.S. Efficient Algorithms for Scalar Multiplication of an Elliptic Curve Point without Precomputation. Global'nyy nauchnyy potentsial [Global Research Potential], 2014, no. 5 (38). 35 p.

[7] BjornF. Double-and-add with relative Jacobian coordinates. Cryptology, 2014. ePrint Archive.

[8] Bernstein Daniel J., Lange T. Faster addition and doubling on elliptic curves. 2007, pp. 29-50.

[9] Dygin D.M., Grebnev S.V. Efficient implementation of the GOST R 34.10 digital signature scheme using modern approaches to elliptic curve scalar multiplication, 2013.

[10] Edwards H.M. A normal form for elliptic curves. Bulletin of the American Mathematical Society, 2007, no. 44, pp. 393-422. URL: http://www.ams.org/bull/2007-44-03/S0273-0979-07-01153-6/home.html (accessed: 18.03.2015).

Статья поступила в редакцию 08.03.2015

Хлебородов Денис Сергеевич — аспирант кафедры "Информационная безопасность" МГТУ им. Н.Э. Баумана. Автор трех научных работ в области быстрых алгоритмов вычисления преобразований на основе эллиптических кривых. МГТУ им. Н.Э. Баумана, Российская Федерация, 105005 Москва, 2-я Бауманская ул., д. 5.

Khleborodov D.S. — postgraduate of the Information Security Department of the Bauman Moscow State Technical University. Author of three publications in the field of fast computation algorithms of transformations based on elliptic curves. Bauman Moscow State Technical University, 2-ya Baumanskaya ul. 5, Moscow, 105005 Russian Federation.

Просьба ссылаться на эту статью следующим образом:

Хлебородов Д.С. Быстрые алгоритмы вычисления преобразований на основе эллиптических кривых с предварительными вычислениями // Вестник МГТУ им. Н.Э. Баумана. Сер. Приборостроение. 2015. № 3. C. 65-78.

Please cite this article in English as:

Khleborodov D.S. Fast computation algorithms of transformations based on elliptic curves with precomputations. Vestn. Mosk. Gos. Tekh. Univ. im. N.E. Baumana, Priborostr. [Herald of the Bauman Moscow State Tech. Univ., Instrum. Eng.], 2015, no. 3, pp. 65-78.

i Надоели баннеры? Вы всегда можете отключить рекламу.