Научная статья на тему 'Модифікований віконний метод однократного множення точки еліптичної кривої на скаляр у полі GF(p)'

Модифікований віконний метод однократного множення точки еліптичної кривої на скаляр у полі GF(p) Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
308
45
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЕОМ / еліптична криптографія / скалярне множення / таблиця передобчислень / еліптична крива / скінченне поле / computers / elliptic curve cryptography / scalar multiplication / precomputation table / elliptic curve / finite field / ЭВМ / эллиптическая криптография / скалярное умножение / таблица предвычислений / эллиптическая кривая / конечное поле

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Дичка І. А., Онай М. В., Дрозда Т. П.

При реалізації багатьох криптографічних додатків виникає потреба у швидких алгоритмах множення точки еліптичної кривої на число. У даній статті запропоновано модифікований віконний метод однократного множення точки еліптичної кривої на скаляр у полі GF(p). Об’єктом дослідження є процеси виконання операцій у еліптичних криптосистемах. Предметом дослідження є методи та алгоритми виконання операцій однократного множення точки еліптичної кривої на число у полі GF(p). Метою даного дослідження є розроблення та оптимізація методів і алгоритмів виконання операції множення точки еліптичної кривої на скаляр у полі GF(p) для поліпшення часових характеристик. Існуючі та запропоновані алгоритми реалізовані на мові програмування С# у середовищі розробки Visual Studio 2013. У даній статті проведено дослідження існуючих алгоритмів скалярного множення точки еліптичної кривої та розроблено три модифікації LR-алгоритму віконного методу і узагальнену модифікацію. Експериментальні дослідження реалізованих алгоритмів проводились згідно запропонованої нами методики, яка дозволяє нівелювати вплив на результати дослідження множника та точки еліптичної кривої. Проведене експериментальне дослідження віконних методів та їх модифікацій показало збільшення швидкодії роботи модифікованих алгоритмів у порівнянні з існуючими в середньому на 13%.

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

MODIFIED METHOD FOR ELIPTIC CURVE SCALAR POINT MULTIPLICATION OVER GF(P)

During development of many cryptographic applications, we need to perform fast algorithms of scalar multiplication. In this paper we propose a modified window method of elliptic curve point multiplication over the GF(p). The object of the research are the processes of performing operations in elliptic cryptosystems. The subject of the research are the methods and the algorithms of elliptic curve point multiplication over the GF(p). The goal of the research is to develop and optimize the methods and the algorithms of performing elliptic curve point multiplication operation over the GF(p) for improving the time characteristics. Existing and proposed algorithms were implemented with C# programming language and integrated development environment – Visual Studio 2013. In this article we did an investigation of the existing algorithms of elliptic curve point multiplication and developed three versions of the window method LR-algorithm and generalized modification. Experimental studies of the implemented algorithms were performed according to the proposed methodology, which allows us to explore the impact of the multiplier and elliptical curve point on the results of the research. The experimental research of window methods and their modifications showed an increase speed of the modified algorithms compared to the existing algorithms in average of 13%.

Текст научной работы на тему «Модифікований віконний метод однократного множення точки еліптичної кривої на скаляр у полі GF(p)»

p-ISSN 1607-3274. Радюелектронжа, шформатика, управлiння. 2016. № 2 e-ISSN 2313-688X. Radio Electronics, Computer Science, Control. 2016. № 2

УДК004.021

Дичка I. А.1, Онай М. В.2, Дрозда Т. П.3

Професор, доктор технЧних наук, декан факультету прикладно) математики НТУУ «КП1», Ки)в, Укра)на 2Старший викладач кафедри програмного забезпечення комп'ютерних систем факультету прикладно)' математики

НТУУ «КП1», Ки)в, УкраГна

3Магстрант кафедри програмного забезпечення комп'ютерних систем факультету прикладно)' математики НТУУ

«КП1», Ки)в, Укра)на

МОДИФ1КОВАНИЙ В1КОННИЙ МЕТОД ОДНОКРАТНОГО МНОЖЕННЯ _ТОЧКИ ЕЛ1ПТИЧНО1 КРИВО1 НА СКАЛЯР У ПОЛ1 GF(P)_

При реалiзащi багатьох криптографiчних додатюв виникае потреба у швидких алгоритмах множення точки елштично! криво! на число. У данш статт запропоновано модифжований вжонний метод однократного множення точки елштично! криво! на скаляр у полi GF(p). Об'ектом дослщження е процеси виконання операцш у елiптичних криптосистемах. Предметом дослщження е методи та алгоритми виконання операцш однократного множення точки елштично! криво! на число у полi GF(p). Метою даного дослщження е розроблення та оптимiзацiя метсдов i алгоритмiв виконання операцп множення точки елштично! криво! на скаляр у полi GF(p) для полшшення часових характеристик. Iснуючi та запропоноваш алгоритми реалiзованi на мовi програмування С# у середовищi розробки Visual Studio 2013. У данш статт проведено дослщження юнуючих алгоритмiв скалярного множення точки елштично! криво! та розроблено три модифжаци LR-алгоритму вжонного методу i узагальнену модифiкацiю. Експериментальш дослiдження реалiзованих алгоритмiв проводились згщно запропоновано! нами методики, яка дозволяе швелювати вплив на результати дослщження множника та точки елштично! криво!. Проведене експериментальне дослщження вконних метсдав та !х модифiкацiй показало збшьшення швидкоди роботи модифiкованих алгоритмiв у порiвняннi з iснуючими в середньому на 13%.

Ключовi слова: ЕОМ, елштична криптографiя, скалярне множення, таблиця передобчислень, елштична крива, скiнченне поле.

НОМЕНКЛАТУРА

ЕОМ - електронно-обчислювальна машина; ЕК - елштична крива;

GF(p) - Galois field, поле Галуа або сюиченне поле, де p - просте число, що е кiлькiстю елементiв поля; LR - left-to-right; RL - right-to-left; NAF - a non-adjacent form; wNAF - a window non-adjacent form; p - модуль;

a, b - параметри елштичжи кривоц

x, y - змшш елштичжи кривоц

к - множник, скаляр;

P, Q - точка елiптичноï кривоц

w - довжина вiкна;

n - бiтова довжина скаляра к;

Table - таблиця передобчислень;

for - початок циклу з лiчильником;

end for - юнець циклу з лiчильником;

while - початок циклу з передуомовою;

end while - юнець циклу з передуомовою;

do - виконати;

to - до;

downto - вниз до; if - умовний оператор;

then - гшка умовного оператору за якою виконуеть-ся перехщ, якщо умова справедлива;

else - гшка умовного оператору за якою вщбуваеться перехщ якщо умова не виконуеться;

return - видати результат на вихщ алгоритму;

(к/-1,...,к^,к0)r - l розрядiв подання числа к у сис-темi числення з основою r. ВСТУП

Задача забезпечення конфщенцшност iнформацiï та захист ïï вщ зловмисникiв стае дедалi складнiшою i в той

© Дичка I. А., Онай М. В., Дрозда Т. П., 2016 DOI 10.15588/1607-3274-2016-2-12

же час найбшьш актуальною. Бшьшють систем захисту шформацп будуеться на основi асиметричних криптосистем. Одним з роздЫв криптографп, який вивчае аси-метричнi криптосистеми, що засноваш на елiптичних кривих над сюиченними полями, е елiптична криптогра-фiя. Вона бере свiй початок ще з 80-х рокiв XX ст. (запро-понована Вiктором Мiллером i Нiлом Коблiцем) [1, 2]. Перевага використання елштичних кривих в криптогра-фiчних цiлях базуеться на складност розв'язання задач дискретного логарифмування у групi точок елiптичною кривою. Елшична криптографiя забезпечуе набагато ви-щий рiвень криптостiйкостi використовуючи клкш, що мають меншу довжину у ж^внянш з iншими популяр-ними криптосистемами, що заснованi на факторизацл цших чисел та проблемi дискретного логарифмування у муль-типлжативнш груш юльця лишкiв за певним модулем. У даному дослiдженнi буде розглянута елiптична крива над полем ОР(р). Елементами цього поля е цЫ додатнi числа вiд 0 до р — 1, дер - модуль. У випадках колир не дорiвнюе 2 або 3 буде-яке рiвняння елштично! криво1 можна звести до форми Веерштраса [3]. Тому дана робота Грунтувати-меться на несингулярнiй елiптичнiй кривiй у формi Веерштраса: _у2 = х3 + ах + Ь, дер Ф 2,3.

Найбшьш обчислювально витратною операпiею в елштичних криптосистемах е операщя множення точки елштично! криво! на скаляр. У зв'язку з цим актуальною е задача прискорення роботи юнуючих алгорштшв скалярного множення точки елштично! криво!. 1 ПОСТАНОВКА ЗАДАЧ1

Прискорення операцп скалярного множення на ель птичнiй кривiй викликае iнтерес багатьох дослщниюв у галузi криптографп [3-9]. З щею метою була запропоно-вана низка методiв виконання дано! операцп [4-9], що в основному полягають в представленш скаляра у деякш з вщповщних форм та виконанш рiзних операпiй на елш-

тичнiй кривiй (додавання, подвоення, зменшення у два або три рази).

Множення цiлого числа k на точку P елштично! криво! можна представити наступним чином: [k ] P = P + P + ■.. + pP k

Зазвичай число k представляють у двшковому виг-лядi та за допомогою методiв додавання i подвоення зна-ходять [k]P. Для чисел великих порядюв здiйснення мно-ження таким чином буде виконуватися занадто довго, тому актуальним е дослiдження та модифжащя вiконних методiв, якi аналiзують одночасно кiлька розрядiв подан-ня множника у певнiй системi числення.

Таким чином, метою даного досл^ження е модифь кацiя вiконного алгоритму виконання операцп множення точки елштично! криво! на скаляр у пол1 GF(p) для полшшення часових характеристик алгоритму. 2 ОГЛЯД Л1ТЕРАТУРИ

Вперше iдея подання скаляра у певнш системi числення була використана Дональдом Кнутом [3], для муль-типлжативно! групи, тобто для пiднесення до степеня вщносно операцi! множення. Пiзнiше Хенкерсон та Ме-незес [4] використали цю iдею для побудови алгорштшв пiднесення до степеня в адитивнш групi. Скалярне множення точки елштично! криво! е тднесенням до степеня в адитивнш груш точок елштично! криво!.

Загалом вш алгоритми множення точки елштично! криво! на число Грунтуються на поданш множника у певнш системi числення та розглядi розрядiв цього подання злiва направо, тобто вiд старшого до молодшого -LR або справа налiво, вiд молодшого до старшого - RL.

В лiтературi [4-8] розглядаються рiзнi модифiкацi! вжонних алгоритмiв скалярного множення, якi завдяки побудовi таблиць передобчислень (precomputation table) на початкових стадiях алгоритмiв дають хорошi показни-ки швидкодi!.

Вжонш методи отримали таку назву через те, що в них розглядаеться не по одному двшковому розряду, а по w розрядiв, де w - довжина вiкна. В робота [6] Метью Рiвайн розглядае два види вжонних алгоритмiв: LR- та RL-алгоритми.

Нехай k - деякий скаляр на який виконуеться множення точки елштично! криво!, тод1 його подання у сис-

■.w

темi числення за основою

2

матиме вигляд

l-1

k = £ k 2w i=0

де

k, ej0,l,...2w -lj , k;-1 * 0 ,

l =

та n - бггова дов-

жина скаляра k.

Вiконний LR-алгоритм полягае у виконаннi обчислень за наступними формулами:

T-1 =[ki-1 ] P T = [ 2w ] T+i +[k, ]P, i = l - 2..0.

Шсля проведення обчислень за цими формулами зна-чення [k ]P буде знаходитися у To.

Вiконний RL-алгоритм передбачае виконання обчис-лень за такою формулою:

l-1

[k ]P = 1

i=0

k • 2i

P.

Для обох алгоритмiв на початковш стадi! будуеться таблиця передобчислень, яка складаеться з 2w -1 еле-ментiв.

Алгоритм 1 - Бшарний вiконний LR-алгоритм

Вхiд: P £ E(GF(p)), k = (k-1,...,k1, k0 )r £ N

Вих1д: Q = [k ] P

1. fori = 1 to 2w -1 do 1.1. Table[i] ^ i • P

2. end for

3. Q ^ 0

4. for i = l -1 downto 0 do

4.1. Q ^ 2w • Q

4.2. if ki > 0 then Q ^ Q + Table[ki ]

5. end for

6. return Q

Алгоритм 2 - Бшарний вжонний RL-алгоритм

Вх1д: P £ E(GF(p)), k = (kl-1,...,k1,k0)

:N

ВИХ1Д: Q = [k] P

1. fori = 1 to 2w-1 do 1.1. Table[i] ^ i • P

2. end for

3. Q ^ 0

4. fori = 0 tol -1 do

4.1. if k > 0 then Q ^ Q + Table[kl ]

4.2. Table ^ 2w • Table

5. end for

6. return Q

Наприклад, таблиця передобчислень для вжна дов-жиною 3, тобто w = 3 матиме вигляд (Р - точка елштич-но! криво!):

№ елементу Значения точки

1 001-P

2 010 • P

3 011-P

4 100 • P

5 101-P

6 110 • P

7 111-P

При аналiтичному аналiзi алгорштшв 1 та 2 стае зро-зум1лим, що RL-алгоритм буде повшьшшим за LR-алго-ритм, оск1льки у RL-алгоритмi на кожнш iтерацi! циклу виконуеться переобчислення значень, що записан у таб-лицю, тому дал! ми будемо розглядати лише LR-алгорит-ми реалiзацi! в1конних методiв.

p-ISSN 1607-3274. Радюелектронжа, шформатика, управлiиия. 2016. № 2 e-ISSN 2313-688X. Radio Electronics, Computer Science, Control. 2016. № 2

Наступним методом скалярного множення точки ЕК, що розглядаеться в робот! [8] е метод з пересувним в1кном. Даний метод дютав таку назву через те, що зпдно цього методу необидно видшяти в1кно довжиною w 61т тшьки якщо старший 61т дорiвнюе 1, в 1ншому випадку викону-ють д1! передбачен1 в1дпов1дним бшарним алгоритмом.

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

При розробц1 в1конного методу з пересувним в1кном ставилось за мету досягти компром1су м1ж кшьюстю до-давань i подвоень точки. На початковш стад1! цього методу будуеться таблиця передобчислень, що м1стить еле-

менти [t]P для t = {2w-1,2w-1 + 1,...,2w-1}. LR-представ-лення для скаляра k буде мати наступний вигляд: k = k0 + 2k1 + 22 k2 +... + 2mkm.

Алгоритм 3 - Б1нарний LR-алгоритм з пересувним в1кном

Вх1д: P e E (GF (p)), k £ N

Вих1д: Q = [k] P

1. Q ^ 0, i ^ log2 k

2. while i > 0 do

2.1. if (ki = 0) thenQ = 2 • Q

2.2. else

2.2.1. if i > w -1 then

a) t ^ (ki ki_w+1)

b) Q ^ 2w • Q

c) Q ^ Q +1 • P

2.2.2. else

a) Викликати б1нарний LR-алгоритм 2.2.3 i ^ i - w

3. end while

4. return Q

Одним з напрямк1в прискорення метод1в скалярного множення точки ЕК е переведення множника у NAF пред-ставлення [4]. Подання множника k у форм1 NAF вира-l-1

жаеться формулою k = £ ki 2i, де k £ {0; ±1} та k/- Ф 0. i=0

Метод з поданням множника у вигляд1 NAF, е ефек-тивн1шим (при наявност1 NAF-розкладення множника) н1ж звичайн1 в1конш методи через те, що два сусщш роз-ряди не можуть бути одночасно не нульовим, а це ско-рочуе к1льк1сть операцш додавання i в1дн1мання точки. В1конна реал1зац1я даного методу д1стала назву метод з поданням множника у вигляд1 wNAF. Подання множни-

n—1

ка у wNAF форм1 виражаеться формулою k = £ ti 2i, де

i=0

, LI, r.w-1

кожне ненульове j, е непарним та таким, що уЛ < 2 ,

tn-1 Ф 0 i хоча б один з w посл1довних б1т е не нульовим.

На початковш стадп реал1зац1! LR-алгоритму цього методу множення потр1бно кр1м побудови таблиц передобчислень перевести скаляр у wNAF представлення використовуючи алгоритм 4.

Алгоритм 4 - Переведення додатного цшого числа k у wNAF подання

Вх1д: позитивне ц1ле k, ширина в1кна w

Вих1д: wNAF(k)

1. i ^ 0

2. while k > 1 do

2.1. if k е непарним then 2.1.1. t, ^ kmod2w

2.1.2. k ^ k -Ц

2.2. else Ц ^ 0

, k . . 1

2 3 k <--, i ^ i +1

2

3. end while

4. return {Jn-l, t^..^ ^ J0}

Алгоритм 5 - LR-алгоритм з поданням множника у вигляд1 wNAF

Вх1д: позитивне ц1ле k, P £ E(GF(p)) , ширина в1кна w

Вих1д: kP

1. Використати алгоритм 4 для обчислення

n—1

wNAF(k) = £ tt 2i i=0

2. for i = 1 to 2w-1 -1 з кроком 2 do

2.1. Table[i] = i • P

3. end for

4. Q ^ 0

5. for i = n -1 downto 0 do

5.1. Q ^ 2 • Q

5.2. if Ц Ф 0 then

5.2.1. iftx >0 thenQ ^ Q + Table[ti]

5.2.2. else Q ^ Q -Table[ti]

6. end for

7. return Q

Таким чином метод з поданням множника у вигляд1 wNAF е аналогом в1конного методу, але оперуючи знаком NAF подання дозволяе скоротити об'ем необх1дно! для збе-р1гання таблищ передобчислень пам'ят1 вдв1ч1 пор1вняно з класичним в1конним методом. Враховуючи особливост1 wNAF подання ц1лих додатних чисел таблиця передобчислень буде складатися з елеменпв [/']P, де i = 13 ... 2w-1 -1, тобто пор1вняно з б1нарним в1конним методом отримуемо скорочення об'ему таблиц1 передобчислень у чотири рази.

Лог1чним вдосконаленням методу з поданням множника у вигляд1 wNAF е метод з пересувним в1кном та поданням множника у вигляд1 NAF. На в1дм1ну в1д попе-реднього алгоритму з пересувним в1кном, де ми переводимо число k у wNAF представлення, у даному алго-ритм1 потр1бно перевести його у NAF форму, викорис-товуючи алгоритм 6, а пот1м виконувати скалярне множення точки елштично! криво! за алгоритмом 7.

Алгоритм 6 - Переведення додатного цшого числа k у NAF подання

Вх1д: позитивне цше k

Вих1д: NAF (k)

1. i ^ 0

2. while к > 1 do

2.1. if к is odd then

2.1.2. кг ^ 2 - (к mod 4)

2.1.3. к ^ к _ ki

2.2. else ^ ^ 0

, к

2.3. к

2

2.4. i ^ i +1

3. end while

4. return {к1 _1,к1 _2,...,к^ко}

Алгоритм 7 - LK-алгоритм з пересувним в1кном та подан-ням множника у виглядi NAF Вх1д: P е E (GF(p)), к е N Вих1д: [к ] P

1. Використати алгоритм 6 для обчислення

l _1

NAF (к ) = £ kt 2 i=о

2. /or i = 1 to (2w _ (_1)w) / 3 _ 1 з кроком 2 do 2.1. Table[i] = i ■ P

3. end /or

4. Q ^ 0, i ^ l _ 1

5. while i > 0 do

5.1. i/ к1 = 0 then t ^ 1, u ^ 0

5.1.1. else знайти max(t) < wтаке що u ^ (к1,...,ki_t+l) e непарним

52 Q ^ 2t ■ Q

5.3. i/ u > 0 then Q ^ Q + Table[u]

5.4. else i/ u < 0 then Q ^ Q _ Table[u]

5.5. i ^ i _ t

6. end while

7. return Q

Таблиця передобчислень для цього методу буде м1сти-

2(2w _ (_1)w)

ти так1 елементи [i ] P, де i = 1,3,...,—--—-—- _ 1.

3

Як зазначалося вище, час роботи в1конних алгоритмов прискорюеться завдяки побудов1 на першш стадп !х роботи таблиць передобчислень. У таблица 1 наведено пе-рел1к точок, як1 необх1дно обчислити на початковш стадп кожного з розглянутих алгоритмов.

Таблиця 1 - Наперед обчисленш точки для метод1в скалярного множення

Методи Значення множника К1льк1сть наперед обчислених точок

Б1нарний в1конний метод {1,2,...,2w _1} 2w _1

Б1нарний метод з пересувним в1кном {2w_1,2w_1 +1,...,2w _1} 2w _ 2w_

Метод з поданням множника у вигляд1 wNAF {1,3,5,...,2w_1 _1} 2w_2

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

Метод з пересувним в1кном та поданням множника у вигляд1 NAF {1,3,...,2(2w _ (_1)w) _1} 3 _3(2w _ (_1)w)

3 МАТЕР1АЛИ ТА МЕТОДИ

Статистично показано, що двшков1 подання чисел дов-жиною понад 100 б1т м1стять довг1 посл1довност1 нул1в, тому нами запропонована модификация в1конного методу зпдно яко! буде видшятися в1кно з1 старшим одинарним б1том та шшими нульовими. Дану модификацию назвемо модиф1-кац1я №1. При такому тдход таблиця передобчислень буде

складатися з таких елеменпв |2г J P, де i = 0,1,.., w _ 1.

Алгоритм 8 - Модифпсований вжонний ¿^-алгоритм № 1

Вх1д: P е E(GF(p)),к е N

Вих1д: [к] P

1. Table[0] ^ P

2. /or i = 1 tow _ 1

2.1. Table[i] ^ 2 ■ Table[i _ 1]

3. end /or

4. Q ^ 0; i ^ log2 к

5. while i > 0 do

5.1. Q = 2 ■ Q

5.2. i/ kt = 1 then

5.2.1. i/ к_1 = 0 then

a. знайти max(t) < w таке що кг _1 = кг_2 = ... = Vt+1 = 0

b. Q ^ 2t_1 ■ Q

c. Q ^ Q + Table[t _ 1]

d. i ^ i _ t

5.2.2. else

a. Q ^ Q + P

b. i ^ i _ 1

6. end while

7. return Q

Наприклад, таблиця передобчислень для w = 5 ма-тиме вигляд (Р - точка елштично! криво!):

№ елементу Множник Значення точки

0 20 1-P

1 21 10 - P

2 22 100 - P

3 23 1000-P

4 24 10000 -P

У випадку якщо множник к складатиметься переваж-но з нтав, такий спосiб побудови таблищ передобчислень суттево збiльшить швидкодж вiконного методу. Але в протилежному випадку, коли бiти скаляра будуть тiльки одиничнi такий метод не дасть хороших результата. Тому актуальним е побудова ново! таблипi множники яко! будуть складатись тшьки з одиничних бiт. Такий метод назвемо модифжащя №2. Множник к таблищ передобчислень в даному метсд буде рiвним 2' -1, де ' = 1,2,..,w.

Алгоритм 9 - Модифпсований вжонний ¿^-алгоритм № 2

Вхвд: Р е Е (ОР(р)), к е N

Вихгд: [к ] Р

p-ISSN 1607-3274. Радюелектрошка, шформатика, управлiиия. 2016. № 2 e-ISSN 2313-688X. Radio Electronics, Computer Science, Control. 2016. № 2

1. for i = 1 to w

1.1. Table[i] ^ (2i -1) • P

2. end for

3. Q ^ 0; i ^ log2 k

4. while i > 0 do

4.1. Q = 2 • Q

4.2. if k = 1 then

4.2.1. знайти max(t) < w таке що ki_1 = ki-2 = ... = ki—t+1 = 1

4.2.2. Q ^ 2j-1 • Q

4.2.3. Q ^ Q + Table[t-1]

4.2.4. i ^ i -1 +1

4.3. i ^ i -1

5. end while

6. return Q

Для вкна w = 5 таблица пердобчислень матиме вигляд:

8 Множник Значення точки

1 21 -1 1-P

2 22-1 11-P

3 23-1 111-P

4 24-1 1111-P

5 25-1 11111-P

Також можна спод1ватися на прир1ст швидкод1!, коли з розряд1в числа k буде вид1лятися частина б1т, що почи-наеться i заюнчуеться одиницею, а м1ж ними м1стити-меться певна к1льк1сть нул1в (модиф1кащя №3). Множ-ник k у таблищ передобчислень в модиф1кац1! №3 буде

р1вним 2i-1 +1, де i = 2,3,..,w .

Алгоритм 10 - Модиф1кований в1конний LR-алгоритм № 3

Вх1д: P £ E(GF(p)),k £ N Вих1д: [k] P

1. Table[1] ^ P

2. for i = 2 to w

2.1. Table[i] ^ ^ +1) • P

3. end for

4. Q ^ 0; i ^ log2 k

5. while i > 0 do

5.1. Q = 2 • Q

5.2. if ki =1 then

5.2.1. if ki-1 = 0 then

a. знайти max(t) < w таке що

ki = ki-t+1 = 1 та ki-1 = ki-2 = ... = ki-t+2 = 0

b. Q ^ 2t-1 • Q

c. Q ^ Q + Table[t]

d. i ^ i -1 +1

5.2.2. else

a. Q ^ 2 • Q

b. Q ^ Q + Table[2]

c. i ^ i -1 5.2.3. i ^ i -1

6. end while

7. return Q

Оск1льки за допомогою виразу 2i-1 +1 неможливо отримати 1, то до початку циклу побудови таблищ передобчислень у елемент таблищ з шдексом 1, необх1дно записати значення точки Р. Приклад тако! таблищ пердобчислень для в1кна w = 5:

№ елементу Множник Значення точки

1 1 1-P

2 21 + 1 11-P

3 22 + 1 101-P

4 23 + 1 1001-P

5 24 +1 10001-P

У таблищ 2 наведено значення множник1в для таб-лиць передобчислень запропонованих модиф1кац1й. Зро-зум1ло, що кожна 1з запропонованих модиф1кащй в пев-ному частковому випадку буде зб1льшувати швидкод1ю в1конного алгоритму скалярного множення.

Модиф1кац1! № 1-3 дають прир1ст швидкод1! т1льки в окремих випадках, тому актуальним е побудувати уза-гальнений модиф1кований в1конний метод скалярного множення точки ЕК та об'еднати переваги кожно! 1з запропонованих модиф1кащй таким чином, щоб прискори-ти в1конний алгоритм для будь-якого вигляду дв1йкового представлення множника k. Доц1льним буде об'еднува-ти таблищ передобчислень з модиф1кащ! №2 та №3, ос-к1льки модиф1кащя №1 покриваеться модиф1кац1ею №3. Особлив1стю побудови таблиць передобчислень для дру-го! та третьо! модиф1кац1! е те, що номер елемента у таблищ в1дпов1дае бгтовш довжиш множника для якого об-числене в1дпов1дне значення.

Алгоритм 11 - Узагальнений модиф1кований в1кон-ний LR-алгоритм скалярного множення

Вх1д: P £ E (GF(p)), k £ N

Вих1д: [k] P

1. Table1[1]^ P

2. Table2[1] ^ P

3. for i = 2 to w do

3.1. Table1[i] ^ (2i -1) P

3.2. Table2[i]^ ^ +1) P

4. end for

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

5. Q ^ 0, i ^ log2 k

Таблиця 2 - Наперед обчислеш точки для модифжованих вжонних метод1в

Юлькють

Метод Значення множника наперед обчислених точок

Модифжащя №1 2i, де i £[0; w -1] w

Модифжащя №2 2i -1, де i £ [1; w] w

Модифжащя №3 1 та 2i-1 +1, де i £[2; w] w

6. while i > 0 do

6.1. i/ к = 1 then

6.1.1. i/ к_1 = 0 then

a. знайти max(t) < w такий, що к = к_t+1 = 1 and кг_1 = кг_2 =... = ^_t+2 = 0

b. Q ^ 2t ■ Q

c. Q ^ Q + Table1[t]

6.1.2. else

a. знайти max(t) < w такий,

щ° к,_1 = к,_2 = .. = к_+1 = 1

b. Q ^ 2t ■ Q

c. Q ^ Q + Table2[t]

6.1.3. i ^ i _t

6.2. else

6.2.1. Q = 2 ■ Q

6.2.2. i = i _ 1

7. end while

8. return Q

На крощ 11 при реал1зацп алгоритму 11 потребно пе-редбачити переварку чи е праворуч в1д i-го б1та одиничн1 б1ти. Якщо вс1 б1ти молодш1 i-го е нульовими, то необх1-дно виконати так1 дп: Q = 2 ■ Q, Q = Q + Р, i = i _ 1 та перейти на наступну 1терац1ю циклу while.

4ЕКСПЕРИМЕНТИ

З метою проведення експериментальних досл1джень було розроблено програмний продукт на мов1 програму-вання C# у середовищ1 розробки «Visual Studio 2013». Ек-спериментальне досл1дження проводилося на ЕОМ з опе-рац1йною системою Windows 8.1, об'емом оперативно! пам'ят1 2Gb, процесором Pentium Dual-Core 2,30 Hz.

Даний програмний продукт дозволяе проводити тес-тування коректност1 роботи алгоритмов та проводити досл1дження розглянутих в1конних методов скалярного множення точки ЕК. Завдяки тестуванню в1конних алгоритмов для р1зних значень довжини в1кна w було отрима-но оптимальне значення w.

У розробленому програмному продукта, окр1м в1до-мих алгоритмов реализовано запропонован1 нами моди-ф1кацп в1конних ЬЛ-алгоритм1в, оскшьки, як показало досл1дження ЬЛ-алгоритми показують кращ1 результати шж ЛЬ-алгоритми. Для збшьшення швидкодп алгоритмов на початковш стадп роботи кожного з них будуеться таб-лиця передобчислень, значення таблиць передобчислень наведеш у таблищ 1 та таблищ 2. При анализ! лггератур-них джерел [5, 7] було встановлено, що оптимальними параметрами елштично! криво!, як1 забезпечують висо-ку крипостшюсть е: a = 79, b = _3. Тому щ значення параметров було використано у дослщженш.

Зам1р швидкодп роботи алгоритмов проводився за наступною методикою:

1) обираеться довжина модуля р (64, 128, 256 та 512 бгт);

2) для обраного модуля р формуеться множина з 25 випадкових точок елштично! криво!;

3) випадковим чином генеруеться 25 множниюв дов-жиною вгд 32 до 64 бгт;

4) виконуеться множення кожно! точки з п. 2 на ко-жен множник з п. 3, отримаш часовi показники усеред-нюються.

Пошук оптимальних значень довжини вжна (рис. 1) виконувався для модуля р що мае довжину 128 бiт та довжин вжна w е [2;9], оскшьки тсля збiльшення довжини вжна до 10 бiт час виконання алгоритмiв зростае. Значення множниюв змiнювалось вiд 10 до 1000 з кро-ком 100, оскшьки для проведення досл^ження при бшьших значеннях множника було не достатньо обчис-лювально! потужностi комп'ютера.

5 РЕЗУЛЬТАТИ

За наведеною методикою для юнуючих вжонних ЬК-та КЬ-алгорштшв було побудовано таблицю 3 та для зап-ропонованих модифiкапiй i узагальненого модифжова-ного вiконного методу таблицю 4.

Як можна пом^и з таблищ 3, ЬК-алгоритми дають значно кращi результати шж КЬ- алгоритми, що тдтвер-джуе результати проведеного анал^ичного досл^жен-ня, тому доцшьним е пошук оптимального значення довжини вжна w для юнуючих ЬК-алгоритмiв.

На рис. 1 наведено залежшсть часу роботи ЬК-алго-ритмiв вiд довжини вiкна, де 1, 3, 5, 7 - номери вщповщ-них алгоритмiв у таблищ 3.

Як видно з рисунку 1 найкращi часовi характеристики показують алгоритми 1 i 3, а саме бшарний вжонний ЬК-алгоритм та бшарний ЬК-алгоритм з пересувним вжном при довжиш вта 9 бiт, що тдтверджуе доцшьшсть !х модифiкапiй. Швидкодiя роботи модифжованих вжон-них ЬК-алгоритмiв та узагальненого алгоритму наведена в таблищ 4.

Таблиця 3 - Часов! характеристики методгв скалярного множення, мс

№ Методи Довжина модуля, бгт

64 128 256 512

1 Бшарний вжонний ¿Л-алгоритм 5,5 9,0 32,1 84,4

2 Бшарний вжонний ЛЬ-алгоритм 54,7 120,8 403,6 1125,7

3 Бшарний LЛ-алгоритм з пересувним вгкном 6,8 10,3 32,5 84,6

4 Бiнарний ЛЬ-алгоритм з пересувним вгкном 33,8 73,7 257,0 696,2

5 ¿Л-алгоритм з пересувним вгкном та поданням множника у виглядг NAF 4,3 8,6 30,5 84,2

6 ЛЬ-алгоритм з пересувним вгкном та поданням множника у виглядг NAF 19,1 42,1 144,7 390,8

7 ¿Л-алгоритм з поданням множника у виглядг wNAF 4,1 8,9 32,1 87,0

8 ЛЬ-алгоритм з поданням множника у виглядг wNAF 14,7 33,1 110,8 311,1

р-К8К 1607-3274. Радюелектронжа, шформатика, управлiння. 2016. № 2 е-ЕЗБЫ 2313-688Х. Каёю Екойопга, Сошриег Баепое, Сопйо1. 2016. № 2

И ПЗ

Рисунок 1 - Часовг характеристики вгконних ЬЯ-алгоритмгв в залежностг вгд довжини вгкна

Таблиця 4 - Часов! характеристики модифгкованих методгв в залежностг вгд довжини модуля

№ Метод Довжина модуля, бгт

64 128 256 512

1 Модифжащя №1 4,7 11,1 39,1 106,6

2 Модифжащя №2 4,3 9,2 34,4 91,1

3 Модифжащя №3 4,3 9,0 31,2 86,4

4 Узагальнений модифжований вжонний метод 4,1 8,2 31,1 82,0

6 ОБГОВОРЕННЯ

За результатами наведеними у таблиц 3, найкращ1 часов1 характеристики для модуль будь-яко! довжини показують ЬЯ-алгоритм з поданням множника у вигляд1 wNAF та бшарний ЬЯ-алгоритм з пересувним вшном Г поданням множника у виг-ляд! NAF. При правильно пдабратй довжиш вшна (рис. 1) та довжит модуля 128 бгт найкрапц часов1 характеристики показують вшонний ЬЯ-алгоритм та ЬЯ-алгоритм з пересувним вшном. З таблиц! 4 видно, що побудоват модифшацп методу з пересувним вшном дають приркт швидкоди для модуль дов-жиною 64 бгт на 20%. Модифшацш №№3 поргвняно з поперед-тми модифшащями покращуе часов1 характеристики майже на 3% для модутв довжиною 128 Г 256 бгт.

Найефектившшою е побудова узагальнено! модифисаци вшонного методу та використання таблиць передобчислень з1

значеннями [/] Р для t = 2' +1, де ' = 1..ж та t = 2' — 1, де

г = 2..Ж. Побудований ЬЯ-алгоритм на и основ1 дае прирют швидкоди в середньому на 13% для модуль 64, 128, 256 та 512 бгт. Запропоноваш таблиц! передобчислень використовують

2Ж-1

поргвняно з бшарними вшонними методами у-разГв мен-

Ж

ше оперативно! пам'ятГ. ВИСНОВКИ

У робот! виршено актуальну задачу вдосконалення ¿снуючих метод!в скалярного множення точки елштич-но! криво! у пол! GF(p).

Наукова новизна роботи полягае у тому, що дютав подаль-шого розвитку науковий п!дх!д модифшаци бшарних метод1в множення точки елштично! криво! на число, що заснований на розгляд1 кшькох розряд1в двшкового подання множника од-ночасно на кожнш гтерацп циклу.

Проведений анализ вшонних методГв множення точки елштич-но! криво! на скаляр у пол! GF(p) показав, що при правильному вибор1 довжини вшна та побудов1 на початковш стади таблиць передобчислень можна суттево збгльшувати швидкодю алгоритмов. За допомогою розробленого програмного забезпечення для ана-л1зу Г тестування методв множення точки ЕК на скаляр, проведено експериментальне дослщження, яке довело практичну доцтьтсть використання запропонованих методв, замсть юнуючих.

Розроблет три модифшацп вшонного ЬЯ-алгоритму з пересувним вшном, яю вщр1зняються вщ кнуючого методу способом побудови таблиць передобчислень, забезпечують приркт швидкоди для множниюв спещально! структури. По-будована узагальнена модифшащя вшонного ЬЯ-алгоритму з пересувним вшном, що полягае у комбшацп, на початковш стадп роботи алгоритму, двох таблиць передобчислень з модифшацп №2 та №3, яка забезпечуе приркт швидкодп по-р1вняно з юнуючими методами в середньому на 13%.

Практична щнтсть отриманих результата полягае у тому, що розроблено програмне забезпечення, яке реатзуе запропо-новат модифшаци та юнукта методи множення точки елштич-но! криво! на число Г дозволяе проводити аналГз алгоритмв, що реалзують зазначет методи. За допомогою даного програмного забезпечення може бути виршена практична задача вибору найкращого алгоритму скалярного множення точки елштично! криво! для використання у алгоритм! цифрового тдпису на елштичних кривих, який широко використовуеться.

Перспективою для подальшого дослщження е побудова модифшованого методу з пересувним вшном та поданням множника у вигляд1 NAF та модифшованого методу з поданням множника у вигляд1 wNAF.

ПОДЯКИ

Дослщження виконано у межах держбюджетно! науково-дослщ-но! теми «Розроблення та дослщження високоефективних арнтеюур сшцалГжванжкомш'клернихсилем дляреалГзащ обчислгньускшчен-них полях «Национального технiчного унверситету Украши «Кшвсь-кийпоттжичнийцктшут» (номер державно!реестрацд 0115и000319).

СПИСОК Л1ТЕРАТУРИ

Miller V. Use of elliptic curves in cryptography / V. Miller // Lecture Notes in Computer Science. Advances in cryptology -CRYPTO 85. - Springer, 1986. - P. 417-426. 10.1007/3-540-39799-X_31

Koblitz N. Introduction to Elliptic Curves and Modular Forms / Neal Koblitz. - New York : Springer, 1984. - 248 p. 10.1007/ 978-1-4684-0255-1

Knuth, D. The Art of Computer Programming. Volume 2 Seminumerical Algorithms, Third Edition / D. E. Knuth. -Massachusetts: Addison-Wesley, 1997. - 762 p. Hankerson D. Guide to Elliptic Curve Cryptography / D. Hankerson, A. Menezes, S. Vanstone. - New York : Springer, 2004. - 311 p.

. Crandall R. Prime Numbers. A Computational Perspective. Second Edition / Richard Crandall, Carl Pomerance. - New York : Springer, 2005. - 604 p. 10.1007/978-1-4684-9316-0 . Rivain M. Fast and Regular Algorithms for Scalar Multiplication over Elliptic Curves / Matthieu Rivain. - IACR Cryptology ePrint Archive, 2011. - 338 p. . Болотов, А. А. Алгоритмические основы эллиптической криптографии / А. А. Болотов. - М. : Изд-во, 2004. - 499 с. . Elliptic Curve Point Multiplication [Electronic resource] // December 31, 2015: Proceedings. - Mode of access: https:// en.wikipedia.org/wiki/Elliptic_curve_point_multiplication. - Last access: 2016. - Title from the screen. . Pathak H. Speeding Up Computation of Scalar Multiplication in Elliptic Curve Cryptosystem / H. Pathak, M. Sanghi // International Journal on Computer Science and Engineering. -2010. - No. 04. - P. 1024-1028.

Стаття надшшла до редакцп 15.02.2016.

Дичка И. А.1, Онай Н. БД Дрозда Т. Ш П1сля доробки 01 03 2016.

1Профессор, доктор технических наук, декан факультета прикладной математики НТУУ «КПИ», Киев, Украина

2Старший преподаватель кафедры программного обеспечения компьютерных систем факультета прикладной математики НТУУ «КПИ», Киев, Украина

3Магистрант кафедры программного обеспечения компьютерных систем факультета прикладной математики НТУУ «КПИ», Киев, Украина

МОДИФИЦИРОВАННЫЙ ОКОННЫЙ МЕТОД ОДНОКРАТНОГО УМНОЖЕНИЯ ТОЧКИ ЭЛЛИПТИЧЕСКОЙ КРИВОЙ НА СКАЛЯР В ПОЛЕ GF(P)

При реализации многих криптографических приложений возникает потребность в быстрых алгоритмах умножения точки эллиптической кривой на число. В данной статье предложен модифицированный оконный метод однократного умножения точки эллиптической кривой на скаляр над полем GF(p). Объектом исследования являются процессы выполнения операций в эллиптических криптосистемах. Предметом исследования являются методы и алгоритмы выполнения операций однократного умножения точки эллиптической кривой на число над полем GF(p). Целью данного исследования является разработка и оптимизация методов и алгоритмов выполнения операции умножения точки эллиптической кривой на скаляр над полем GF(p) для улучшения временных характеристик. Существующие и предложенные алгоритмы реализованы на языке программирования С# в среде разработки Visual Studio 2013. В данной статье проведено исследование существующих алгоритмов скалярного умножения точки эллиптической кривой и разработаны три модификации LR-алгоритма оконного метода и обобщенная модификация. Экспериментальные исследования реализованных алгоритмов проводились согласно предложенной нами методики, которая позволяет нивелировать влияние на результаты исследования множителя и точки эллиптической кривой. Проведенное экспериментальное исследование оконных методов и их модификаций показало увеличение быстродействия работы модифицированных алгоритмов по сравнению с существующими в среднем на 13%.

Ключевые слова: ЭВМ, эллиптическая криптография, скалярное умножение, таблица предвычислений, эллиптическая кривая, конечное поле.

Dychka I. A., Onai M. V., Drozda T. P.

1Professor, Dc.Sc., Dean of the Faculty of Applied Mathematics NTUU «KPI», Kyiv, Ukraine

2Senior Lecturer, Department of Computer Systems Software of Faculty of Applied Mathematics, NTUU «KPI», Kyiv, Ukraine

3Master student, Department of Computer Systems Software of Faculty of Applied Mathematics, NTUU «KPI», Kyiv, Ukraine

MODIFIED METHOD FOR ELIPTIC CURVE SCALAR POINT MULTIPLICATION OVER GF(P)

During development of many cryptographic applications, we need to perform fast algorithms of scalar multiplication. In this paper we propose a modified window method of elliptic curve point multiplication over the GF(p). The object of the research are the processes of performing operations in elliptic cryptosystems. The subject of the research are the methods and the algorithms of elliptic curve point multiplication over the GF(p). The goal of the research is to develop and optimize the methods and the algorithms of performing elliptic curve point multiplication operation over the GF(p) for improving the time characteristics. Existing and proposed algorithms were implemented with C# programming language and integrated development environment - Visual Studio 2013. In this article we did an investigation of the existing algorithms of elliptic curve point multiplication and developed three versions of the window method LR-algorithm and generalized modification. Experimental studies of the implemented algorithms were performed according to the proposed methodology, which allows us to explore the impact of the multiplier and elliptical curve point on the results of the research. The experimental research of window methods and their modifications showed an increase speed of the modified algorithms compared to the existing algorithms in average of 13%.

Keywords: computers, elliptic curve cryptography, scalar multiplication, precomputation table, elliptic curve, finite field.

REFERENCES

Miller V. Use of elliptic curves in cryptography, Lecture Notes in Computer Science. Advances in cryptology — CRYPTO 85. Springer, 1986, pp. 417-426 10.1007/3-540-39799-X_31 Koblitz N. Introduction to Elliptic Curves and Modular Forms. New York, Springer, 1984, 248 p. 10.1007/978-1-4684-0255-1 Knuth D. The Art of Computer Programming. Volume 2 Seminumerical Algorithms, Third Edition. Massachusetts, Addison-Wesley, 1997, 762 p.

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

Hankerson D., Menezes A., Vanstone S. Guide to Elliptic Curve

Cryptography. New York, Springer, 2004, 311 p.

Crandall R., Pomerance C. Prime Numbers. A Computational

Perspective. Second Edition. New York : Springer, 2005, 604 p.

10.1007/978-1-4684-9316-0

6. Rivain M. Fast and Regular Algorithms for Scalar Multiplication over Elliptic Curves. IACR Cryptology ePrint Archive, 2011, 338 p.

7. Bolotov A. A. Algoritmicheskie osnovy e'llipticheskoj kriptografii. Moscow, Izd-vo, 2004, 499 p

8. Elliptic Curve Point Multiplication [Electronic resource]. December 31, 2015: Proceedings. Mode of access: https://en.wikipedia.org/ wiki/Elliptic_curve_point_multiplication, Last access: 2016, Title from the screen.

9. Pathak H., Sanghi M. Speeding Up Computation of Scalar Multiplication in Elliptic Curve Cryptosystem, International Journal on Computer Science and Engineering, 2010, No. 04, pp. 1024-1028.

2

3

4.

5

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