УДК 519.7, 512.624
A.A. Бурцев1, С.Б. Гашков2
1 Московский физико-технический институт (государственный университет) 2Московский государственный университет имени М.В. Ломоносова
О схемной реализации арифметики в конечных полях характеристики 7 для
*
вычисления спариваний
Рассматриваются логические схемы из двухвходовых булевых элементов, реализующих двухместные булевы функции. Применительно к криптографическим протоколам на эллиптических кривых, основанным на спаривании, изучаются схемные методы умножения многочленов над полями характеристики 7. Рассматриваются схемные методы реализации арифметики полей GF(7) GF(72), GF(7n), GF(77n) и GF(714n), оценивается сложность и глубина соответствующих схем. Все вычисления, за исключением касающихся глубины схем, можно сформулировать и в терминах программной реализации.
Ключевые слова: схемы для арифметики в конечных полях, криптографические протоколы.
I. Введение
В работах [5-7] для реализации криптографических протоколов было предложено использовать эллиптические кривые над полями нечетной характеристики. Как следствие появился интерес к реализации арифметики в этих и других полях нечетной характеристики (см., например, [8-11]). Дуурсма И. и Ли Х.-С. [12,13] модифицировали быстрый алгоритм для быстрого вычисления спаривания на эллиптических кривых Y2 = Xs — — X ± 1 над толя ми GF (3n) из [5] и применили его для реализации спаривания Тейта для гиперэллиптических кривых Cb = Y2 = Xp — X + b, b = ±1, над полем k = GF(pn), GCD(n, 2p) = = 1, p = 3 (mod 4), и над расширениями extensions F = GF (ppn) и K = GF (p2pn) пол я k. Эти кривые могут рассматриваться как обобщение кривых E3,b: Y2 = X3 — X + b. В первоначальной версии алгоритма Дуурсма-Ли помимо обычных арифметических операций используется операция извлечения кубического корня. Квон С. (см. [14]) предложил модификацию алгоритма Дуурсма-Ли без операции извлечения кубического корня. Этот модифицированный алгоритм мы называем ниже алгоритмом Дуурсма-Ли-Квона (ДЛК-алгоритмом). В [7] введено так называемое ^-pairing и показано, что для его вычисления можно в два раза сократить длину цикла алгоритма Дуурсма-Ли. В статье [15] показано, как исключить извлечение кубических корней по модулю три при вычислении ^-спаривания. В [16] предложен метод ускорения финального экспонен-цирования при вычислении ^-спаривания. Все эти алгоритмы реализованы в арифметике поля GF(36n). В [4] дано обобщение ДЛК-алгоритма на гиперэллиптические кривые Cb. Для реализации
Работа поддержана АВЦП «Развитие научного потенщ
этого обобщенного алгоритма используются поля СЕ(р2пр) и подполя СЕ(рп) и СЕ(р2п). Для случая р = 3 это обобщение ДЛК-алгоритма сделано в
[6,8-10]. Можно показать (см. [4]), что увеличение р
ции умножения в поле СЕ(р2рп) (при условии, что п изменятся так, что порядок поля существенно не меняется). В настоящей статье мы рассматриваем схемную реализацию арифметики в СЕ(7), СЕ(72), СЕ(7п), СЕ(77п),т. СЕ(714п), оцениваем сложность и глубину соответствующих схем. Рассматриваются логические схемы из двухвходовых булевых элементов, реализующих двухместные булевы функции (см., например, [23]). Под сложностью схемы понимается количество составляющих схему функциональных элементов, что по существу совпадает с понятием битовой сложности. Глубина схемы есть максимальное число элементов в любой цепи, соединяющей входы схемы с её выходами. Результаты могут быть применены при реализации основанных на спаривании алгоритмов, упомянутых выше. В частности, можно пор
сложность ДЛК-алгоритма (при сохранении того же уровня безопасности), что согласуется с идеей из [17] выбирать для реализации ДЛК-алгоритма р = 7
исключением касающихся глубины схем, можно сформулировать в терминах программной реализации, что может найти применение в компьютерной алгебре. В статье используются следующие обозначения: М(д), М(СЕ(д)) — схемная сложность умножения, А(д), А(СЕ(д)) — схемная
СЕ(д)
ющем порядок д. Обычно д = 7 либо д = 7т.
В(М(д)), В(М(СЕ(д))) — глубина схемы умноже-
высшей школы», проект 2.1.1/12136
ния, D(A(q)), D(A(GF(q))) — глубина схемы сложения в поле GF(q).
II. Схемы для арифметики по модулю 7
Лемма 2.1. Умножение в GF(7) может быть выполнено схемой сложности 25 и глубины 5 □
Заметим, что умножение числа (x2x;[xo)2 по модулю 7 на числа 4 = (100)2, 2 = (010)2 равносильно циклическим сдвигам битов xi, умножение на 1 = (001) 2 — это тождественное преобразование, умножение на числа 3 = (011)2 = —4, 5 = = (101)2 = —2, 6 = (110)2 = —1 делается точно также, но у результата меняется знак на противоположный, что равносильно прибавлению по модулю два ко всем битам результата знакового бита а. Очевидно, этот бит можно вычислить по формуле m(y2,yi,yo) = (yo + yi)(yo + У2) + Уо- Ум-(000) 2 (111) 2 тате (000)2. Рассмотрим линейный оператор u1 = = Уо Ф yi Ф 1, uo = yo Ф У2 Ф 1. Очевидно, он принимает значение 11 на противоположных наборах 000, 111, значение 10 на противоположных наборах 011, 100, значение 01 на противоположных наборах 010, 101, значение 00 на противоположных наборах 001, 110. Рассмотрим оператор
¿2 = — ui&—uo, di = ui&—uo, do = — ui&uo.
На наборах 000, 111 он принимает значение 000, на наборах 100, 011 — значение 010, на наборах 010, 101 — значение 001, на наборах 001, 110 — значение 100. Рассмотрим оператор
a,2 = d2X2 V dixo V doxi, ai = ¿2X1 V diX2 V doxo, ao = ¿2Xo V diXi V doX2.
На наборах 000x2xixo, 111x2x1xo он принимает значение 000, на наборах 001x2x1x^ 110x2x1xo — значение x2xixo, на таборах 010x2x1x^ 101x2x1xo — значение x1xox^ (x1xox2)2 = 2(x2x1xo)2 mod 7 100x2 x1 xo 011 x2 x1 xo
xox2xi, (xox2x1)2 = 4(x2x1xo)2 mod 7. Тогда ум-(x2x1xo)2 (y2y1yo)2 7
реализуется оператором
z2 = a2 Ф m, zi = ai Ф m, zo = ao Ф m.
Действительно, если (y2yiyo)2 = 0, то m = 0 и он принимает значение (000)2 = (000)2 ■(x2xixo)2 mod 7; если (y2yiyo)2 = 7, то m = 1 и он принимает значение (111)2 = 7 = 0 mod 7 = (111)2■(x2xixo)2 mod 7; если (y2yiyo)2 = a =1, 2, 4, то m = 0 и он принимает значение a(x2xixo)2 mod 7; если (y2yiyo)2 = = a = 3,5, 6, то —a mod 7 = b = 4,2,1, m = = 1 и он принимает значение —b(x2xixo)2 mod 7 = = a(x2xixo)2 mod 7. Сложность схемы для оператора m, d2,di, do равна 7, глубина выходов di равна
2, глубина выхода m равна 3. Сложность схемы для оператора a2,ai, ao равн а 15 + 7 = 22, глубина равна 5 Сложность схемы для оператора z2, zi, zo равна 22 + 3 = 25, глубина равна 6. Если в схеме для a2, ai, ao заменить V на Ф, то оператop z2, zi, zo можно реализовать формулами
z2 = (d2X2 Ф dixo) Ф (doxi Ф m),
*zi = (d2Xi Ф diX2) Ф (doxo Ф m), (2.1)
*zo = (d2Xo Ф diXi) Ф (doX2 Ф m)
25 5
вим набор (111)2 с набором (000)2, так как 7 = = 0 (mod7)
Лемма 2.2. Сложение в GF(7) может быть выполнено схемой сложности 17 и глубины 8 □ Доказательство. Действительно, с к л ады-ваем два трехзначных двоичных числа при помощи схемы, построенной по формулам (2.1) со 12
(а, е2, £i, eo)2. Приведение по модулю
(a,£2,£i,£o)2 =
= 23а + (£2,£i ,£o)2 = (£2,£i,£o)2 + а =
= (z2zizo)2 (mod 7)
по формулам (2.1) имеет сложность 5 и глубину 3, так как при прибавлении однобитового числа формулы (2.1) приобретают вид
zi = Xi + yi, z2 = X2 + (xi yi), z3 = X3 + X2 (xiyi) (mod 2).
GF(7)
сложность 17 и глубину 8. Если подсхему прибавления однобитового числа построить по формулам:
zi = Xi + yi, z2 = X2 + (xi yi), z3 = X3 + (x2xi)yi (mod 2),
немного изменив порядок действий, то сложность подсхемы будет 6, но глубина основной схемы увеличится лишь на 2, а не на 3, так как вычисление x2 xi
GF(7)
схему сложения (2.1) переписать в виде
zi = Xi + yi,
z2 = (X2 + y2) + (xiyi),
z3 = ((X3 + Уз) + X2y2) + ((X2 + y2 )(xiyi)), z4 = ((X3y3) + (X3 + y3)(x2y2)) +
+ (X3 + y3)((x2 + У2 )(xi yi)),
то полученная схема будет иметь сложность 14 и глубину 4. Таким образом, схема сложения в GF(7) будет иметь сложность 20 и глубину 6.
Далее можно показать, что справедливы следующие утверждения.
Лемма 2.3. Существует схема для сложения сложности 18 и глубины 7 и схема для сложения сложности 20 и глубины 6. □
Лемма 2.4. Сложение в GF(7) может быть выполнено схемой сложности 21 и глубины 4. □ Для умножения в поле GF(72) можно использовать две схемы. Стандартная схема, основанная на формуле
(a + ba)(c + da) = (ac — bd) + a(ad + bc),
имеет сложность 4M(7) + 2A(7) = 134 и глубину D(M(7)) + D(A(7)) = 12. Существует схема сложности 142 и глубины 9 и сложности 136 и глубины 11. Схема в нормальном базисе, основанная на формуле
((a + b)(c + d) — 2bd)Y + ((a + b)(c + d) — 2ac)jp,
имеет сложность 3M(7) + 4A(7) = 146 и глубину D(M (7))+2D(A(7)). Этасхемахуже. Но для больших p она имеет меньшую сложность, чем стандартная.
III. Умножение в поле GF(72n) над полем GF (72)
Умножение многочленов 23-й и 24-й степени. Для вычисления ДПФ 48 порядка используем стандартную конструкцию, описанную например, в [20].
Пусть е = ш3 = 1, е3 = 1. В поле GF(7) е = = 2, е2 = 4.
F3
Уо = Х0 + XI + Х2, 2
yi = хо + exi + е Х2,
2 4
У2 = Хо + е XI + е Х2, и вычисляется формулами
zi = Xi + Х2, Z2 = Xi — Х2, Z3 = ех2, Z4 = Z3 — Х2, Z5 = Zi + Z4, Уо = Хо + Zi, yi = Хо + Z4, У2 = Хо — Z5.
F3
собленную не к числам х^ ак произвольным векторам. Эта схема такова:
Zi = Xi + Х2, Z2 = Xi - X2, z3
£ + £2
- 1 Zi
£ - £
Z4 = —2— Z2, У0 = Xo + Zi,
Z5 = yo + Z3, yi = Z5 + Z4, У2 = Z5 - Z4.
_ 2 1 2
В поле GF(7) имеем: s ~2& = -1 ^T--1 =
= 2. Поэтому в этой схеме z3 = 2zz4 = -z2.
Она удобна для векторизации, то есть для применения к векторам хкоторые сами являются результатами применения одного линейного преобразования Хг = Г(Хг). Тогда для вычисления Г3 в указанной схеме можно использовать новые операции:
Zl = Х\ + Х2, = Х1 — Х2,
У0 = Хо + г! = Г (Хо + Zl), z3 = 2г\ = 2Г (Zl),
Z4
-Z2 = -F (Z2),
оставив остальные без изменения. Если первоначальный вариант схемы при применении к векторам xi = F(Xi) требует трехкратного вычисления преобразования F, 6 векторных сложений и 2 скалярных умножения, то указанный вариант требует 6
ных умножений; вместо трехкратного вычисления F
раза — умноженным на скаляры 2,-1. Это понадобится далее.
Для вычисления ДПФ порядка 16 достаточно 17 скалярных умножений и 64 сложений. В поле GF(72) умножение на w4 «бесплатно» (то есть имеет нулевую сложность), поэтому пропадает 1 + + 2 + 4 скалярных умножений и остается только 10.
Для вычисления ДПФ порядка 48 в поле GF(72) применяем теорему Гуда-Томаса (см. [20]) и представляем F4g(X) в виде
F48 = Fs(Fi6(Xi), Fi6(X2), Fie(Xs)),
Xi X
Xi = (xo, хз, .X45),
X2 = (xi6, X19, . . . , X46, Xi, X4, ..., X12), X3 = (X32, X35, . . . , X47, X2, X5, . .., X29),
a F3 — это векторизация ДПФ 3-го порядка, рассмотренная выше. Так как для его вычисле-6
96 обычных) и вычисляются преобразования F16, 2F16, -F16, то дополнительно нужно 192 сложения и 30 скалярных умножений. Окончательно необходимо провести 288 сложений и 30 скалярных умножений. Для умножения многочленов сте-23 48
F48
жений, достаточно не более 864 сложений и 90 скалярных умножений. Отметим, что в первых
48
Действительно, в векторе коэффициентов много-24
2
отличны от нуля, поэтому в векторе Xi последние 8 коэффициентов нулевые, в векторе X2 имеется 8 подряд идущих (в циклическом смысле) нулевых X3 ление многочленов 15 степени с такими наборами коэффициентов на двучлены x8 ± 1с остатком выполняется бесплатно: для нахождения остатка нужен только сдвиг коэффициентов, возможно, со сменой знака у некоторых из них. Глубина F48 равна 8D(A(7)). Поэтому сложность циклической свёртки (см. [20]) многочленов 23-й степени равна
858A(GF (72)) +48M (GF (72)) = 35 604.
Глубина равна 16D(A(7)) + D(M(GF(72))).
Можно проверить, что сложность и глубина циклической свертки многочленов 24-й степени оценивается так же. Но для умножения многочленов 24-й степени, кроме вычисления этой свертки, нужно еще одно умножение и одно вычитание в GF (72).
Умножение многочленов 27-й, 31-й и 49-й степени. Можно показать, что сложность умножения многочленов степени 27 равна
874A(GF (72)) + 62M (GF (72)) = 38024,
а глубина равна 17D(A(7)) + D(M(GF(72))).
Сложность умножения многочленов степени 31 равна
890A(GF (72)) + 48M (GF (72)) + 15A(GF (72)) + + 44M (GF (72)) + 99A(GF (72)) = = 1004A(GF (72)) + 92M (GF (72)) = 46464,
а глубина равна 18D(A(7)) + D(M(7)) = 131.
Сложность умножения многочленов степени 49 равна 90112, а глубина равна 20D(A(7)) + + D(M (7)).
Замечание. Можно показать, что даже для малых степеней n ^ 31 использование ДПФ имеет преимущество перед школьным методом, методом Карацубы [18,22] и методом Тоома [19,22].
IV. Схемы для умножения в поле GF (714n) над пол ем GF (72n)
Умножение двух многочленов шестой степени. Построим схему для умножения двух многочленов шестой степени f0 + fiX + • • • + f6X6, g0 +g1X + • • •+g6X6 с коэффициентами из GF(72n) методом Тоома [19,22]. Выберем узлы интерполяции: 0, ±1, ±2, ±3, ±а, ±2а, ±3а. Здесь а есть «мнимая единица» в GF(72), представленном в виде квадратичного расширения GF(7), так что а2 = —1 mod 7. Значения в узлах многочлена f
представим следующим образом: / (0) = /с,
/ (1) = ((/0 + 1/4) + з(/2 + 2/б)) +
+ б((/1 + 4/5)+ 5/3), /(-1) = ((/с + /4) + (/2 + /б)) -
- 7((/1 + /5) + /з),
/(*) = ((/ + /4) - 8(/2 + /б)) + + 10((/1 + /5) - 9/3У, /(-*) = ((/ + /4) - (/2 + /б)) -
- 11((/1 + /5) - /з)*,
/ (2) = ((/с + 122/4) + 14 (4/2 + 1з/б)) + + 17((2/1 + 154/5) + 1б/з), /(-2) = ((/с + 2/4) + (4/2 + /б)) -
- 18((2/1 + 4/5) + /з),
/(2*) = ((/с + 2/4) - 19(4/2 + /б)) + + 21((2/1 + 4/5) - 2с/з)*, /(-2*) = ((/с + 2/4) - (4/2 + /б)) -
- 22((2/1 + 4/5) - /з)*,
/(3) = /(-4) = ((/с + 2з4/4) + 25 (2/2 + 24/б)) +
+ 28((4/1 + 2б2/5) - 27/з), /(-3) = /(4) = ((/с + 4/4) + (2/2 + /б)) -
- 29((4/1 + 2/5) - /з),
/(3*) = /(-4*) = ((/с + 4/4) - зс(2/2 + /б)) + + з2((4/1 + 2/5)+ з/з)*, /(-3*) = /(4*) = ((/с + 4/4) - (2/2 + /б)) -
- зз((4/1 + 2/5) + /з)*.
Сложность этих вычислений, учитывая у ка-ЗБ.ННЫ6 скобками разбиения (порядок действий при конструировании схемы занумерован индексами при арифметических операциях), равна 33Л^Г(72п)) = 66пЛ(7). В этом равенстве учтено, что Л^Г(72п)) = 2пЛ(7). Глубина этой схемы равна 3Б(Л(7)). Те же вычисления необходимо проделать и для многочлена д. Суммарная сложность их равна 132пЛ(7). Найдём значения многочлена Н(Х) = /(X) • д(Х), Н(Х) = Нс + + Н1Х + • • • + Н12Х12 в выбранных узлах а] = = ..., 12. ^^^^тость вычисления Н^ = Н(а^) = = /а)да), ] = 0,... р = 7 составляет
13(3М ^Г (7п))+4Л^Г (7П))) = 39М ^Г (7п)) + + 52пЛ(7). Здесь использован нормальный базис с оценками сложности арифметики в нём из леммы 2.4, элемент из GF(72п) представлен в виде многочлена степени п - 1 над GF(72). Оценим слож-
Н(Х)
согласно методу Лагранжа, представляется в виде
суммы фундаментальных многочленов. Фундаментальные многочлены (по (mod 7)) после некоторой перестановки есть:
-(X4 - 4)(X4 - 2)(X4 - 1)ft(0) =
= -(X8 + X4 + 1)(X4 - 1)h(0),
4X (X 4 — 4)(X4 — 2)(X2 — 1)(X + a)h(a),
4X (X 4 — 4)(X4 — 2)(X2 — 1)(X — a)h(—a),
4X (X 8 + X4 + 1)(X2 + 1)(X + 1)h(1),
оо (X (X 4 + X4 + 1)(X2 + 1)(X — 1)h( —1),
4X (X 4 — 1)(X4 — 4)(X2 + 4)(X + 2)h(2),
4X (X 4 — 1)(X4 — 4)(X2 + 4)(X — 2)h(—2),
4X (X 4 — 1)(X4 — 4)(X2 — 4)(X + 2a)h(2a),
4X (X 4 — 1)(X4 — 4)(X2 — 4)(X — 2a)h(—2a),
4X (X 4 — 1)(X4 — 2)(X2 — 2)(X + 4a)h(3a),
4X (X 4 — 1)(X4 — 2)(X2 — 2)(X — 4a)h(—3a),
4X (X 4 — 1)(X4 — 2)(X2 + 2)(X + 4)h(—3),
4X (X 4 — 1)(X4 — 2)(X2 + 2)(X — 4)h(3),
так как для получения к-го фундаментального многочлена нужно из произведения
X х (X - 1) х (X + 1) х (X - 2) х (X + 2)х х (X - 3) х (X + 3) х (X - а) х (X + а)х XX - 2а) х (X + 2а) х (X - 3а) х (X + 3а)
удалить (X - к), к = ±1, ±2, ±3, ±а, ±2а, ±3а, перемножить оставшиеся скобки и результат домно-жить на Н(к) и разделить на значение от к полу-
-2
чением случая к = 0, где оно равно -1. Пусть ¿о = -Н(0), ¿1 = -4Н(1), ¿2 = -4Н(-1), ..., ¿п = = -4Н(3а), ¿12 = -4Н(-3а). Вычисление коэффициентов многочлена Н^) по его значениям в 13
Н^) = (X8 + 1X4 + ^[¿о^4 - 1) +
+1X(X2 - ^(¿7(X + а) + 2¿8(X - а)) + +4X(X2 + ^(¿^ + 1) + 2¿2(X - 1))] + +12X(X4 - 41)^4 - 2)^2 - 2)(¿ll(X + 4а) + +2 ¿12 (X - 4а ))+4(X 2 + 2)(¿5(X+4) + 2¿6(X-4))) + +8(X4 - 4)^2 + 4)^4(X - 2) + 2¿з(X + 2)) + +4(X2 - 4)№(X - 2а) + 2¿^ + 2а)))].
к
зывают ее сложность в виде кЛ(С¥(72")). Отсутствие индекса означает, что сложность равна нулю. Поэтому сложность этих вычислений равна (72п))[(2 + 2 + 4 + 1) + 1 + 1) + 12+ 4 + + ((2 + 2 + 4) • 2 + 8)] = 2пА(7) ■ 51 = 102пА(7). Глубина этой схемы равна 6Б(А(7)). Суммируя
полученные оценки, находим, что сложность умножения многочленов степени ^ 6 над GF(72n) есть L = 132nA(7) + 13M(GF(72n)) + 102nA(7) = = 13М(GF(72n)) + 234nA(7). Глубина схемы равна 9D(A(7)) + D(M(GF(72n))). Приведение по модулю X7 — X + 2 многочлена двенадцатой степени do + di X +-----+ di2X12 = со + ci X +-----+ ceX 6
(mod X7 — X + 2) выполняется по формулам: с6 =
= d6 + di2, С5 = d5 — 2di2 + du, C4 = d4 — 2dii + dio,
..., c1 = di — 2d8 + d7, c0 = d0 — 2d7, которые содержат 12 сложений-вычитаний в GF(72n)) и 6 удвоений (удвоения бесплатны при схемной реализа-
X7 —
— X + 2 имеет ложность 12A(GF(72n)) = 24nA(7) и глубину 2D(A(7)), и тогда, учитывая полученную оценку сложности умножения многочленов шестой степени с коэффициентами из GF(72n), имеем
M (GF (7i4n ) < 13M (GF (72n)) + 258nA(7). Для глубины справедливо неравенство D(M(GF(7i4n))) < 11D(A(7))+ D(M(GF(72n))).
Умножение многочленов степени 6 на многочлены степени 3. В алгоритме ДЛК на самом деле используется не умножение произвольных многочленов степени p — 1 над пол ем GF (p2n), а многочлена степени p — 1 на многочлен степени (p + 1)/2, у которого старший коэффициент равен 1. Представляя последний в виде суммы X(p+i)/2 и многочлена степени не выше (p — 1)/2, получаем, что такое умножение сводится к ум-
p — 1 p — 1
GF(p2n) p = 7
пени 6 на многочлен степени 3. Можно показать, что сложность такого умножения не превосходит
10M (GF (72n)) + 140nA(7), а глубина соответствующей схемы не превосходит 10D(A(7)) + D(M (GF (72n))).
Литература
1. Blake I., Seroussi G., Smart N. Elliptic curves in cryptography. - Cambridge: Cambridge University Press, 1999.
2. Blake I.,Seroussi G., Smart N. Advances in elliptic curve cryptograhy. - Cambridge: Cambridge University Press, 2005.
3. Болотов A.A., Гашков C.B., Фролов A.B., Часовских A.A. Элементарное введение в эллиптическую криптографию. Алгебраические и алгоритмические основы. - М.: КомКнига, 2006.
4. Болотов A.A., Гашков C.B., Фролов А.Б., Часовских A.A. Элементарное введение в эллиптическую криптографию. Протоколы криптографии на эллиптических кривых. - М.: КомКнига, 2006.
5. Barreto P.S.L.M., Kim H.Y., Lynn B., Scott M. Efficient algorithms for pairing-based cryptosystems // Crypto-2002, LNCS 2442, 2002. -P. 354-368.
6. Scott M. and Barreto P.S.M.L. Compressed pairing // CRYPTO-2004, LNCS 3152(2004), P. 140156.
7. Barreto P.S.M.L., Galbraith S., O hEigeartaigh C. and Scott M. Efficient pairing computation on supersingular abelian varieties // Cryptology ePrint Archive, Report 2004/375. http: / / eprint.iacr.org/2004/375
8. Kerins T., Marname W.P., Popovici E.M., and Barreto P.S.L.M. Efficient hardware for Tate pairing calculation in characteristic three // CHES-2005.
9. Page D., Smart N.P. Hardware implementation of finite fields of characteristic three // CHES-2002, LNCS, 2002.
10. Granger R., Page D., Stam M. Hardware and software normal basis arithmetic for pairing based cryptography in characteristic three // IEEE Trans, on Comp. - 2005. - V. 54, N 7. - P. 852-860.
11. Bailey D.V., Paar C. Efficient arithmetic in finite field extensions with application in elliptic curve cryptography // J. of Cryptology. - 2001. - 14:3. -P. 156-173.
12. Duursma I. and Lee H.-S. Tate pairing implementation for hyperelliptic curves y2 = xp — x + d // Asiacrypt-2003, LNCS 2894, 2003. - P. 111-123.
13. Duursma I. and Lee H.-S. Tate pairing implementation for tripartite key agreement // Cryptology ePrint Archive, Report 2003/053. http: //eprint.iacr.org/2003/053
14. Kwon S. Efficient Tate pairing computation for supersingular elliptic curves over binary fields // Cryptology ePrint Archive, Report 2004/303. http://eprint.iacr.org/2004/303
15. Beuchat J-L., Shiraze M., Takagi T. and Okamoto E. An algorithm for the ^г-pairing calculation in characteristic three and its hardwareimplementation // Cryptology ePrint Archive, Report 2006/327. http://eprint.iacr.org/2006/327
16. Shiraze M., Takagi T. and Okamoto E. Some efficient algorithms for the final exponentiation ofn Пт — pairing // Cryptology ePrint Archive, Report 2006/. http://eprint.iacr.org/2006/
17. Eunjeong Lee, Huang-Sook Lee and Yoon-jin Lee. Fast computation of Tate pairing on general divisors for hyperelliptic curves of genus 3 // Cryptology ePrint Archive, Report 2006/125. http://eprint.iacr.org/2006/125
18. Карацуба А.А., Офман Ю.П. Умножение многозначных чисел на автоматах // Доклады АН СССР, 1962, - Т. 145(2). - С. 293-294.
19. Тоом А.Л. О сложности схемы из функциональных элементов, реализующей умножение целых чисел // Доклады АН СССР, 1963. - Т. 150. -С. 496-498.
20. Нодеп П., Kumme К. Алгебраическая алго-ритмика. - М.: Мир, 1999.
21. Болотов А.А., Гашков С.В., Фролов А.В., Часовских А.А. Программные и схемные методы умножения многочленов для эллиптической криптографии // Известия РАН. Теория и системы управления. - 2000, 5. - С. 66-75.
22. Дональд Э. Кнут. Искусство программирования. Том 2. Получисленные алгоритмы. Третье издание. - Изд. Вильяме. 2000.
23. Лупанов О.Б. Асимптотические оценки сложности управляющих систем. - М.: Изд-во Московского университета. 1984.
Поступила в редакцию 18.01.2011