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

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

CC BY
412
41
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КЛЮЧЕВЫЕ СЛОВА: КОНЕЧНОЕ ПОЛЕ / УМНОЖЕНИЕ / ИНВЕРСИЯ / НОРМАЛЬНЫЙ БАЗИС / ЦИКЛИЧЕСКИЙ СДВИГ / АЛГОРИТМ / БЫСТРЫЙ АЛГОРИТМ. / FINITE FIELD / MULTIPLICATION / INVERSION / NORMAL BASIS / CYCLIC SHIFT / ALGORITHM / FAST ALGORITHM

Аннотация научной статьи по математике, автор научной работы — Алешников Сергей Иванович, Алешникова Марина Валерьевна, Горбачёв Андрей Александрович

В работе предложены два алгоритма вычисления обратных элементов в конечном поле где q степень простого числа. Они получены путем обобщения алгоритма Вонга для поля с использованием главной идеи быстрого алгоритма вычисления обратного элемента в поле I

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

Похожие темы научных работ по математике , автор научной работы — Алешников Сергей Иванович, Алешникова Марина Валерьевна, Горбачёв Андрей Александрович

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

n work are two algorithms of calculation of inverses in a finite field developed, where q is power of the prime number. They are received by generalisation of algorithm of Wong for a field with use of the main idea for fast algorithm of calculation of inverses in the field

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

34

Алевтина Юрьевна Васильева — асс., Балтийский федеральный университет им. И. Канта, Калининград.

E-mail: [email protected]

About the authors

Prof. Leonid Zinin — I. Kant Baltic Federal University, Kaliningrad. E-mail: [email protected]

Alexandr Sharamet — ass., I. Kant Baltic Federal University, Kaliningrad. E-mail: [email protected]

Alevtina Vasileva — ass., I. Kant Baltic Federal University, Kaliningrad. E-mail: [email protected]

УДК 512.62

С. И. Алешников, М. В. Алешникова, А. А. Горбачёв

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

ОБРАТНЫХ ЭЛЕМЕНТОВ В КОНЕЧНЫХ ПОЛЯХ

В работе предложены два алгоритма вычисления обратных элементов в конечном поле Fqn, где q — степень простого числа. Они получены путем обобщения алгоритма Вонга для поля F2„ с использованием главной идеи быстрого алгоритма вычисления обратного элемента в поле F n.

2"

In work are two algorithms of calculation of inverses in a finite field Fqn

developed, where q is power of the prime number. They are received by generalisation of algorithm of Wong for a field F2„ with use of the main idea for

fast algorithm of calculation of inverses in the field F2„.

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

Key words: finite field, multiplication, inversion, normal basis, cyclic shift, algorithm, fast algorithm.

Введение

В криптосистемах с открытым ключом на эллиптических и гиперэллиптических кривых, в криптосистемах на основе идентификационных данных, использующих спаривания Вейля и Тэйта и их модификации, используются конечные поля большого порядка. В то же время наиболее трудоемкая операция — вычисление обратных элементов. Вопросам ускорения вычислений посвящена огромная литература.

© Алешников С. И., Алешникова М. В., Горбачёв А. А., 2017

Вестник Балтийского федерального университета им. И. Канта.

Сер.: Физико-математические и технические науки. 2017. № 2. С. 34-40.

Так, список литературы в [2] состоит из 3084 источников. Большое число вычислительных алгоритмов в конечных полях представлено в [1]. Информация по структуре конечных полей содержится в [4; 5]. В работе [3] изложены два алгоритма.

1. Алгоритм Вонга для вычисления обратных элементов в поле с

использованием нормального базиса и циклического сдвига. Он требует выполнения п — 2 операций умножения в поле и п — 1 циклических сдвигов.

2. Быстрый алгоритм для вычисления обратных элементов в поле Б2,, (п = 2Г + 1), также использующий нормальный базис и циклический сдвиг. Требует выполнения М — г операций умножения.

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

поля Б2п.

1. Обобщенный алгоритм Вонга

Напомним, что нормальным базисом поля Б п над Бц называется ба-

2 п-1

зис вида а, ац, а ,..., а , где а е БцЛ, а ф 0. Разложение элемента х е БцЛ по этому базису записываем в виде

п-1

х — Хо а + х^ а ^ + ... х,^а — [хо, х^, ..., х, —1]. Тогда элемент х вычисляется с помощью к циклических сдвигов,

т. е.

х = [хп —к, хп —к +1, ., хп —1, х0, ., хп —к —

Если натуральное п записано в вице

п — 2к1 + 2к2 + ... + 2к,

где к > к2 > ... > кц, то вес Хэмминга Ии!(п) числа п есть количество индексов г , 1 <с г <с э, для которых к, встречаются в предыдущем разложении.

Так как для любого х е Б1п выполняется х — х, то

х-1 — х?—2. (1)

Рассмотрим степень ц п — 2. Имеем

цп — 2 — (цп — ц) + (ц — 2) — ц(цп 1 — 1) + (ц — 2) — — ц(ц — 1)(1 + ц + ц2 + ... + цп —2) + (ц — 2) — — (ц - 1)(ц + ц2 + ц3 + ... + цп —1) + (ц - 2).

35

г

Следовательно,

Х-1 = х0?-1)(<?+<?2+93 +--+<?"~1)+0?-2) _ (х9-1)9+92+93 +...+9"-1 . х9-2

Таким образом, обратный элемент х 1 вычисляется как

Х 1 _ (х9-1 )9 • (х9-1 / • (х9-1 / •... • (х9-1 )9"-1 • (х9-2). Например, при ц _ 2 обратный элемент х 1 в поле вычисляется как Х-1 _ х2 Х22 Х23 Х2П-1 36 Например, при 9 _ 3 обратный элемент х 1 в поле вычисляется как

Х 1 _ (х2)3 • (х2)32 • (х2)3' •... • (х2)3"-1 • х . Например, при 9 _ 5 обратный элемент х 1 в поле вычисляется как

Х-1 _(х4)5 • (х4)52 • (х4)53 •...• (х4)5"-1 • х3 .

Имеем следующий алгоритм вычисления х 1 в поле Б п.

9

Алгоритм 1.

Шаг 1. g := xq 2 (9 - 3 умножений)

Шаг 2. y1 := g • x (1 умножение)

Шаг 3. y := y1

Шаг 4. for k :=1 to n - 2 do

Шаг 5. begin

Шаг 6. z := yq (1 циклический сдвиг)

Шаг 7. y := z • yx (1 умножение)

Шаг 8. end

Щаг 9. y := yq (1 циклический сдвиг)

Шаг 10. y := y • g (1 умножение)

Шаг 11. write y

Таким образом, алгоритм требует q + n - 3 операций умножения в

поле F n и n - 1 циклических сдвигов над Fq, n > 2.

q

Алгоритм Вонга является частным случаем предыдущего алгоритма для q = 2. В этом алгоритме для вычисления x 1 требуется n - 2 операции умножения в поле F2„ и n - 1 циклических сдвигов.

Пример 1. Вычисление обратного x 1 в поле F38 по формуле (1), а

именно x 1 = x3 - 2 = x6559 требует 6558 операций умножения. Использование предыдущего алгоритма требует q + n 3 = 8 операций умножения и n - 1 = 7 циклических сдвигов.

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

2. Быстрый алгоритм вычисления инверсии

Предложение 1. Пусть x - ненулевой элемент поля F2„ (n = 2r + 1).

Тогда существует алгоритм вычисления обратного элемента x_1, требующий числа умножений

M = log2(n - 1) = r

и числа циклических сдвигов

S = n - 1 = 2r. Соответствующий алгоритм имеет такой виц.

Алгоритм 2.

Шаг 1. y := x

Шаг 2. for k := 0 to r - 1 do Шаг 3. begin

Шаг 4. z := y2 (2k циклических сдвигов)

Шаг 5. y := z • y (1 умножение)

Шаг 6. end

Шаг 7. y := y 2 (1 циклический сдвиг)

Шаг 8. write y

Пример 2. Вычисление обратного x 1 в поле F20 по формуле (1), а

именно x 1 = x2 -2 = x510 требует 509 операций умножения. Использование предыдущего алгоритма требует M = log2(n 1) = log28 = 3 операции умножения и n 1 = 8 циклических сдвигов.

Следующее предложение является обобщением предыдущего. Предложение 2. Пусть x - ненулевой элемент поля F2„. Тогда существует алгоритм вычисления обратного элемента x_1, требующий числа умножений

M = [log2(n - 1)] + Hw(n - 1) - 1 2 • [log2(n - 1)],

где [x] - целая часть числа x, и числа циклических сдвигов

S = n - 1.

Соответствующий алгоритм для быстрого вычисления обратного x в поле F2„ имеет следующий вид.

Алгоритм 3.

Шаг 1. y := x

Шаг 2. for k := 0 to k1 - 1 do Шаг 3. begin

2k

Шаг 4. z := y (2 k циклических сдвигов)

Шаг 5. y := z • y (1 умножение)

37

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

38

Шаг 6. y[k] := y Шаг 7. end Шаг 8. for i := 2 to s do Шаг 9. begin

2ki

Шаг 10. z := y2 (2k' циклических сдвигов)

Шаг 11. if ki = 0 then y := z • x

else y := z • y[ki - 1] (1 умножение)

Шаг 12. end

Шаг 13. y := y 2 (1 циклический сдвиг)

Шаг 14. write y

Пример 3. Вычисление обратного x 1 в поле F212 по формуле (1), а

именно x 1 = x2'2-2 = x4094 требует 4093 операций умножения. Использование предыдущего алгоритма требует

M = [log2(12 - 1)] + Hw(12 - 1) - 1 = 3 + 3 - 1 = 5

операций умножения и

S = 12 1 = 11

циклических сдвигов.

Следующее предложение обобщает быстрый алгоритм вычисления

1

x для произвольного q.

Предложение 3. Пусть x - ненулевой элемент поля F n. Тогда суще-

q

ствует алгоритм вычисления обратного элемента x_1, требующий числа умножений

M = [log2(n - 1)] + Hw(n - 1) + Hw(q - 2) и числа циклических сдвигов

S = n - 1.

Запишем алгоритм для быстрого вычисления обратного xв поле Fqn. Пусть

t

n - 1 = Yj2ks , где k1 > k2 > ... > kt.

s=l j

q - 2 = Y 2Ps , где рг > p2 > . > pt.

s=l

Тогда Hw (n 1) = t.

Алгоритм 4.

Шаг 1. z := x

Шаг 2. for k := 0 to k1 - 1 do Шаг 3. begin

2k

Шаг 4. l := zq (2 k циклических сдвигов)

Шаг 5. z := z • l (1 умножение)

Шаг 6. z[k] := z

Шаг 7. end

Шаг 8. for i := 2 to t do Шаг 9. begin

Шаг 10. Шаг 11.

Шаг 12. end

l := yq

if k = 0 then z := z • x

else z := l • z[k; - 1]

Шаг 14. y := z • x Шаг 15. g := y

2P1

Шаг 16. y := y

Шаг 17. for k := 2 to j do

Шаг 18. begin

Шаг 19. -----2Pk

Шаг 20. Шаг 21. end Шаг 22. x* := y • z Шаг 23. write x*

(2ki циклических сдвигов) (1 умножение)

(1 циклический сдвиг) (1 умножение)

r := g

y := y • r

(1 умножение) (1 умножение)

Пример 4. Вычисление обратного x 1 в поле F° по формуле (1), а

-1 98-2 43046719

именно x = x 2 = x

требует 43 046 718 операций умножения. Использование предыдущего алгоритма требует

M = [log 2 (8 - 1)] + Hw (8 - 1) + Hw (9 - 2) = 2 + 3 + 3 = 8

операций умножения и

S = 8 - 1 = 7

циклических сдвигов.

Заметим, что в силу определений выполняется неравенство

Hw(n - 1) ^ [log2(n - 1)] + 1.

Тогда число умножений в алгоритме 4 оценивается так:

M4 = [log 2 (n - 1)] + Hw (n - 1) + Hw (q - 2) < ^ [log 2 (n - 1)] + [log 2 (n - 1)] + Hw (q - 2) + 1 ^ < 2 • [log 2 (n - 1)] + q - 2 + 1 ^ n - 2 + q - 1 = n + q - 3 = Ma,

начиная с n = 6. Поэтому алгоритм 4 более быстрый, чем алгоритм 1.

Список литературы

1. Handbook of elliptic and hyperelliptic curve cryptography / Scientific editors, Henry Cohen & Gerhard Frey. Chapman & Hall/CRC, 2006.

2. Handbook of finite Fields / Scientific editors, Gary L. Mullen, Daniel Panario. CRC Press, Taylor & Francis Group, 2013.

3. Itoh T., Tsujii S. A fast algorithm for computing multiplicative inverses in GF(2m) using normal bases, Inform. and Comput. 1988. Vol. 78. P. 171 — 177.

39

k

Шаг 13. z := z q

40

4. Jungnickel D. Finite fields: Structure and Arithmetics. Mannheim ; Leipzig ; Wien ; Zürich, 1993.

5. Lidl R., Niederreiter H. Finite fields (Second edition). Cambridge University Press, 1997.

Об авторах

Сергей Иванович Алешников — канд. техн. наук, доц., Балтийский федеральный университет им. И. Канта, Калининград.

E-mail: [email protected]

Марина Валерьевна Алешникова — ст. преп., Балтийский федеральный университет им. И. Канта, Калининград.

E-mail: [email protected]

Андрей Александрович Горбачёв — канд. техн. наук, доц., Калининградский государственный технический университет.

E-mail: [email protected]

About the authors

Dr Sergey Aleshnikov, ass. prof., I. Kant Baltic Federal University, Kaliningrad.

E-mail: [email protected]

Marina Aleshnikova, head teacher, I. Kant Baltic Federal University, Kaliningrad.

E-mail: [email protected]

Dr Andrey Gorbachev, ass. prof., Kaliningrad State Technical University.

E-mail: [email protected]

УДК 511

С. И. Алешников, М. В. Алешникова, А. А. Горбачёв

ЭЛЕМЕНТАРНОЕ РЕШЕНИЕ ОДНОГО КУБИЧЕСКОГО ДИОФАНТОВА УРАВНЕНИЯ

Представлен элементарный подход к решению кубического диофан-това уравнения y2 = x3 - 22s, зависящего от одного натурального параметра s. Получено полное решение для всех значений s.

An elementary approach to solving of the cubic Diophantine equations y2 = x3 - 2 2s, depending on one natural parameter s is presented. The full solving for all values s is received.

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

Key words: Diophantine equation, quadratic field, class number, Pell equation, divisibility, Gaussian integers, fundamental unit.

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

© Алешников С. И., Алешникова М. В., Горбачёв А. А., 2017

Вестник Балтийского федерального университета им. И. Канта.

Сер.: Физико-математические и технические науки. 2017. № 2. С. 40-47.

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