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

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

CC BY
67
16
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БУЛЕВЫ СХЕМЫ / СЛОЖНОСТЬ СХЕМ / АРИФМЕТИКА / КОНЕЧНЫЕ ПОЛЯ / BOOLEAN CIRCUITS / THE COMPLEXITY OF SCHEMES / ARITHMETICS / FINITE FIELDS

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

В работе доказывается, что для любого ɛ> 0 при любом m, n = ms и s ≥ sɛ можно выбрать в поле GF(2n) базис, для которого схемная сложность умножения меньше n1+ɛ/2, а сложность инвертирования меньше n+ɛ. При n = 2 · 3k в некотором базисе получены оценки сложности умножения n(log3n)(log2 log3 n)/2+O(1), и по порядку такие же оценки получены для инвертирования.

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

On circuits for arithmetic in finite fields

In the work it is proved that for any ɛ> 0 for any m, n = ms and s ≥ sɛ , you can choose in the field GF(2n) basis, for which the circuit complexity of multiplication of less than n1+ɛ/2, and the difficulty of inverting is less than n1+ɛ. At n = 2 · 3k for some basis of the obtained for the multiplication of estimating complexity n(log3n)(log2 log3 n)/2+O(1) and in the order of magnitude of the same estimates are obtained for inverting.

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

УДК 519.7 + 512.624

А. А. Бурцев1, С. Б. Гашков2

1 Московский физико-технический институт (государственный университет)

2Московский государственный университет им. М. В. Ломоносова

О схемах для арифметики в конечных полях

В работе доказывается, что для любого е > 0 при любом т, п = ms и s ^ se можно выбрать в поле GF(2") базис, для которого схемная сложность умножения меньше п1+е/2, а сложность инвертирования меньше п1+е. При п = 2 • 3fc в некотором базисе получены оценки сложности умножения n(log3 n)(log2 log3 n)/2+°(1)j и п0 порядку такие же оценки получены для инвертирования.

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

1. Введение

Известно (см. [1], [2]), что при использовании стандартных базисов в полях GF(2”) сложность булевой схемы для умножения, построенной из двухвходовых элементов, равна 0(п log п log log п). Для инвертирования (т.е. вычисления мультипликативного обратного в данном поле) известен быстрый алгоритм Евклида с оценкой сложности 0(п log2 п log log п) (см. [1], [3]). Однако мультипликативная константа в этой оценке велика (несколько сотен), и при реальных значениях п стандартный алгоритм Евклида работает быстрее. Кроме того, этот алгоритм затруднительно применить при построении булевой схемы для инвертирования. Методом [4] можно построить такую схему сложности: I(п) = 0(п(ш+1')/2 log2 п), где ш — экспонента матричного умножения. Однако величина мультипликативной константы здесь с трудом поддается оценке, также трудно оценить глубину этой схемы. Используя [5], можно построить схему для инвертирования глубины 0(log2 п) и сложности

0(niog2 ^/I4(log2 n)log2 8/7), где мультипликативные константы сравнительно невелики, но и эта схема при реальных значениях п представляется неэффективной.

При использовании в поле GF (2”) нормального базиса можно построить схему для умножения сложности 0(п2/ log п) (см. [6]). Если для инвертирования применить метод [7] (основанный на методе Шольца—Брауэра для вычисления 2п — 1 аддитивными цепочками [8]), то можно построить схему сложности 0(Mn(п) logп) = 0(п2) с небольшой мультипликативной константой в оценке, где Мn (п) — сложность умножения в данном базисе. Для некоторых специальных нормальных базисов (существующих не при всех п) можно построить более эффективные схемы для умножения, и, как следствие, для инвертирования. В [6] показано, что для оптимальных нормальных базисов первого типа можно построить мультиплер сложности М(п) + О(п), где М(п) — сложность умножения двоичных многочленов степени п — 1. Для оптимальных нормальных базисов второго типа в [6] указана оценка 3М(п)) + 3^ log2 п + О(п). В [6] также показано, что если п = тк, т,к ^ пс, С ^ 1/2, (т,к) = 1, то для некоторого нормального базиса сложность умножения равна 0(п(т + к)/log п) = 0(п2-С/ log п), откуда следует, что если п — достаточно гладкое число, то для некоторого нормального базиса сложность умножения равна 0(п2-С) при С > 0, характеризующем гладкость числа п. В [4] доказано, что для гауссовых нормальных базисов типа к в поле GF(2”) сложность умножения равна 0(М(пк)), а в [9] подобный результат получен в более общем случае.

2. Схемы в поле GF(2n) при n = ms

К упомянутым результатам можно добавить также следующие.

Теорема 1. Для любого е > 0 при любом т п = т'в и 8 ^ 8е можно указать в поле СР(2™) базис (не стандартный и не нормальный), в котором можно построить схему умножения сложности М(тв) < п1+е/2 и схему инвертирования сложности

1(тя) < п1+е.

Доказательство. Пусть к < в — параметр, значение которого укажем позднее. Выберем наименьшее г такое, что 2тГ ^ 2тк — 1, и г = 8 шоё к. Тогда г = О(к). Поле

СР ^) = ср ^дт°-^ = ср ^дтк^ ,д = 2ш-,

представим в виде башни расширений

СР (д) С СР [дтк) С СР (^[дтк^ = СР [(1т2к) С ... С СР (дтЫ) .

Для каждого этажа башни

СР(дг) = СР (дт*) С СР ^(дт* ^ = СР (>(т)к) = СР(дг+1)

выберем стандартный базис {1,а,... ,атк-1}, определяемый неприводимым над полем

СР (дг) многочленом рг (х) степени тк таким образом, чтобы элемент а порождал нор-

к 1

мальный базис {а, а® ..., а^т }, где Q = дг. Тогда произвольный элемент поля СР(дг+1) можно представить в виде тк-мерного вектора с компонентам и из поля СР (дг) и в виде тк(г+1)-мерного вектора с компонентами из поля СР(д). Умножение в поле СР(дг+1) можно свести к умножению по модулю многочлена рг двух многочленов степени £ = тк — 1 над полем СР(дг). Известно [1], что умножение в поле СР(дг+1) сводится к трем умноже-

С Р( г)

, С Р( г)

/(аг), д(аг) на произвольных 2£ + 1 элементах его подполя СР(д), выполнить 2£ + 1 умно-С Р( г)

чениям Л,(аг) = /(аг) д(аг) коэффициенты произведения к(х) = /(х)д(х). Для выполнения

О( 2)

С Р( ) С Р( г).

умножения в поле СР(дг+г) оценивается как

М(СР(дг+г)) < 3(2тк — 1)М(СР(дг)) + О(т2к)тгк(log2 д)Хо&23,

так как сложение в поле СР(дг) выполняется со сложностью ^2 дг = тгк ^2 д, а сложность умножения на элементы подполя СР(д) равна М(СР(д))тгк = О(log2 д)Хо&2 3тгк, потому, что это умножение сводится к тгк умножениям в поле СР(д). Если обозначить М(СР(дг)) через М(г), а 3(2тк — 1) через а, то полученное рекуррентное неравенство переписывается в виде М(г + 1) ^ аМ(г) + Ьт(г+1Л1к, где Ь = О(а)(тктг 1о®23) = О(а)т°(к), М(0) = М(СР(д)) = О(^2 д)ъ&2 3. Применяя индукцию, имеем

М(I) ^ а1М(0) + Ь (а1-1тк + а1-2т2к + ... + т1к) ,

следовательно:

М(0 < а‘М(0) + аЧ/ — (ткУ1 < а‘М(0) + а‘Ьк , «

< а1М(0) + 3а1 Ь/2 = О(а1+1)т°(к) = О(а)т°(к)211оё2 3(2тк-1).

к

Учитывая, что ® = дт , имеем I = (^2 ®)/ log2 тк, log2 ® = п,

, 1°§2 1°ёд 1°ё2 3(2тк-1)

М(СР(2™)) = М(СР(®)) = О(тг 1о§2 3))2г 1о§23(2т -1) = т°(к)2 ^2™к

= т°(k\logq ф)1к 3(2тк-1) = т°(к)(^2 ®)1о^к 3(2тк-1) = т°(к)п1о^к 3(2тк-1).

Поскольку logтк 3(2 тк — 1) ^ 1 при тк —> те, то для любого е > 0 при любом т, п = тя и 8 ^ 8е, имеем М (СР(2™)) = М (СР(2тВ)) = п1+е/2. Умножение на каждом этаже башни можно выполнять и в нормальном базисе, если выполнить переход к стандартному базису, произвести умножение в нем и вернуться опять в нормальный базис. Грубая оценка сложности переходов между базисами равна

т2кМ (СР (дг)) + (т2к — тк )тгк+г,

ведь для выполнения как прямого, так и обратного преобразования координат требуется не т2к т2к — тк С Р( г),

тгк+г. С помощью циклических сдвигов вычислим в нормальном базисе систему степеней

к

х^,х^2 ,...,х^т 1 ^ = дг.

= тк — 1,

ао = 1,а1 = 2,а2,... ,аь = t длины Ь = Ь(£), т.е. такую последовательность, что каждый ее член а™ при п > 0 равен ап-1 + ак, к < п (если к = п — 1, то операция вычисления ап называется шагом удвоения, а если к < п — 1 — линейным, шагом). Построим линейную аддитивную цепочку, содержащую подпоследовательность

Q“1 — 1 Q“2 — 1 Qt — 1

Q — 1 ,~Я—1~ ,...,~Я—1 ,

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

Qai — 1 Qai +ан — 1 Qai — 1 Qah — 1

--------——-----------—— С/ ----------+---------.

Q — 1 Q — 1 Q Q — 1 + Q — 1

Так как возведение в степень Цп в нормальном базисе делается бесплатно, а х(Яа°-1)/((5-1) = х, ТО ДЛЯ вычисления К (х) = х(®{+1-®)/(®-1) требуется только

Ь = Ь( тк — 1)

N(х) = хК (х). Поэтому сложность совместного вычисления К (х), N (х) оценивается как

ЬМ(СР(дг+1)) < Ь (3(т2к + 2тк — 1)М(СР(дг)) + О(т2к)тгк(тг)ь^ 3) .

Используя формулу х-1 = К(х)/N(х), получаем рекуррентную оценку сложности инвертирования:

/(^2 $+1) = I (т(г+1)к+г) < 1 (тгк+г) + ткМ(СР(дг)) +

+ Ь(тк — 1) (^3(т2к + 2тк — 1)М(СР(дг)) + О(т2к)тгк(тг)1og2 3^ .

Очевидно, что Ь(£) ^ ^2^) + ^(Ь) — 1 ^ 2^2^ ^ 2к log2 т, где Л2(£) — длина двоичной , 2( )

Из полученных выше оценок по индукции с помощью неравенства аМ (п) ^ М (ап) выводим оценку

1(тя) = I (т1к+г^ = Д^2 дг) ^ 1(тг) + О(кт2к ^2 т)М(log2 дг-1) =

= 1(тТ) + О(ктк log2 т)М(тя) = О(ктк log2 т)М(тя).

Теорема доказана.

Укажем конкретный пример применения данного метода. Пусть т = 2, п = тя. Выберем к = 8, тогда logтк 3(2тк — 1) = ^256 1533 < 1.33 Получаем как следствие в некотором базисе поля СР(22 ) оценку сложности умножения О(2п '33) и оценку слож-

( п) = О( М( п)).

(полученных для другого базиса).

3. Схемы в поле ОЕ(2”) при п = 2 ■ 3к

При т = 3 можно уточнить доказанную теорему следующим образом.

Теорема 2. При п = 2 ■ 3к в поле СР(2™) можно указать некоторый (не стандартный и не нормальный) базис и построить в нем, схемы умножения и инвертирования сложности:

М(п) = п(к^3 п)(1о&1о&3га)/2+°(1), /(п) = 0(М(п)).

Доказательство. Положим ^ = 2“* ,аг = 2 ■ 3Ьг, Ьг = 2г и рассмотрим башню полей

СР(до) сСР(<?1) с ... с СР(дк).

Так как ^ — 1 = 2“* — 1 кратно 3Ьг+1 = 3п^ то в поле СР(^) найдется элемент порядка 3Ьг+1 = 3п^ и, значит, определено дискретное преобразование Фурье порядка 3Ьг+1 = 3п Как следует из [И], многочлены степени меньше щ = 3Ьг = а^/2 над полем СР(^) могут быть перемножены С ПОМОЩЬЮ 24п^ ^3 п +0(п^) умножений И 68п logз п + 0(п^) сложений в этом поле. Если обозначить сложность умножения в поле СР((^) через М(СР(Цг)), то сложность умножения многочленов степени меньше п над пол ем СР (дг) будет оцениваться как

(24т ^з п + 0(п))М(СР(дг)) + (68п logз п + 0(п))щ.

Обозначим далее эту оценку через М^. Выберем в этом поле примитивный элемент сц, тогда двучлен Д = хпг — а будет неприводимым согласно теореме 3.75 [12], так как т = 3Ьг делит дг — 1, а значит, и <^+1 — 1 = 2“г+1 — 1. Выбирая в расширении СР((^+1) поля СР(дг) стандартный базис, соответствующий двучлену /г, и замечая, что умножение в этом базисе сводится к умножению многочленов степени меньше п над пол ем СР (дг) и приведению результата по модулю /г (которое выполняется школьным алгоритмом деления с помощью п операций умножения и т операций сложения в поле СР((дг))), имеем

М(СР(дг+1)) ^Мг + пгМ(СР(дг)) + ат <

^ (24т log3 т + 0(т))М(СР(дг)) + (б8п log3 щ + 0(т))т + а»+1 ^

^ (12а* logз аг + 0(аг))М(СР(дг)) + (17а2 logз аг + 0(а2)) + аг+1 ^

^ (12а* logз аг + 0(аг))М(СР(%)) +(17а2 logз а» + 0(а2)) ^

^ (12аД + 0((ц))М(СР(%)).

Отсюда по индукции следует, что

П—1 П—1

log2 М(СР(дп)) ^ ^ ^2 12аД + 0(1) = ^((к^ 3)2г + г log2 24) + 0(1) ^

г=1 г=1

^ (log2 3)2™ + п2/2 + (2^ + log2 3)п + 0(1),

значит,

М(СР(дп)) < 0 ^32"+га2(га2+5га)/2) , дп = 22^2".

Обозначая для краткости ап = 2 ■ 32" через М, имеем

М(СР(2м)) < N(^3 М)га/2+°(1) = N(^3 М)(1о§21о§з^)/2+о(1).

Получим теперь оценку для сложности инвертирования. В расширении СР(дг+1) поля СР(дг) выполняем инвертирование по формуле

1 12 пг — 1

х—1 = К(х)М(х) , К(х) = хЯгхЯг .. .хЯг ,М(х) = хК(х).

Так как

2 пг 2 Пг —1

N(х)дг = х^х^ .. .хЧг = х9гх?2 .. .хЧг х = N(х),

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

то N(х) € СР(дг), поэтому для инвертирования нужно вычислить К(х),М(х), потом выполнить инвертирование в подполе СР(дг) и п^ раз выполнить умножение в поле СР(дг).

п*/3 2п*/3

Для вычисления N(х), К (х) сначала найдем у = ххяг хяг , а потом

Пг / 3— 1 Пг / 3— 1 Пг / 3 2пг/3

N (х) = уудг... уЯг , К(х) = удг... уЯг хЯг хЯг .

Поскольку

пі/З пі/З 2п7-/3 п? пі/З 2пі/3

? А 1 = Хі і Хі 1 Хі і = ХХі тді = V

то у Є СР(д^і/3). Значит, для вычисления у можно сделать 2 умножения в поле СР (<7і+і)

^ Пі /3 2пі / З

и 2 операции возведения в стеиени ^ , ді в том же иоле, потом вычислить

пг/3—1

Ж (х) = ууЯі ... уЯі

и для вычисления ^ (х) сделать одно умножение в поле СР (<7і+і) на элемент подполя СР(д™і/3). Учитывая, что произвольный элемент поля СР((7і+і) можно представить в виде

Хо +Хі7і + Х272,

где = Xj + х37гЗ+^' + хЗ(гаі/З-1)+^аЗ(гаі/З-1) Є СР(д^і/3)^ = 0,1, 2, то умножение в поле СР(<7і+і) на элемент подполя СР(д™г/З) сводится к трем умножениям в этом подполе. Поле СР(д™г/З) является расширением степени т/3 = 3Ьі-1 подполя СР(дг) и в нем можно выбрать базис {1,р,..., Р™і/3-1}, где 0™г/3 = щ. Умножение в этом базисе совпадает с умножением многочленов степени Пг/3 ПО модулю неприводимого над полем СР(дг) многочлена хПі/З+(іі. В расширении СР(д^ С СР(%+1) ранее был выбран базис {1, 7і, . . . , 7Гі-1}, где 7™і = і. Положим Рі = 73. Тогда произвольный элемент подполя СР(д™і/3) имеет относительно базиса {1, Рг,..., рп/г//' 1} координаты, которые совпадают с т/3 координатами этого элемента относительно базиса {1,аг,..., а”і-1} (а остальные его координаты в указанном базисе равны нулю). Поэтому сложность умножения элементов данного подполя оценивается неравенством

М(СР(д™і/3)) < М(сч+і/3) + (т/3)М(СР(дг)) + аг+і/3 <

^ (8т 1о§з Пі + 0(т))М(СР(дг)) + ((68/3)т logз т + 0(т))т + ат/3 ^

^ (4 афі + 0(аі))М(СР(д^).

Оценим сложность возведения в степени д™г/З, д2Пг/З в поле СР(ді+і). Произвольный элемент х толя СР(ді+і) можно представить в виде

Хо + Хі 7г + Х272,

где Х^ Є СР(дІ%/3),І = 0,1, 2, то

. /з пг/3 пг/3 пг/3 Пг/З Пг/3 Пг/3 Пг/3

х*г =Х00г +ХІг 7дгг +Х*2г 7^ =Хо +Хі 7Їг + Х272?і .

Так как д™г/3 — 1 делится на ^ — 1, а значит, кратно т, то

пг

7Iі = 7г(и)(Яі гІ Г)/пі = аі7і, 7ІЧ% 1 = 7г2(«г)2(^1 1)/9 = Ьі7і, сі, Ы Є СР(ді),

пг/3 дп1/3 2-пПг/3

поэтому хЯг = Хо + Х^г +Х2^1 г = Хо + Х1аг')г +Х2Ьг^г, значит, возведение в степень 0™г/3 В ПОЛе СР(<7г+1) сводится к двум умножениям в подполе СР(0^г/3) па элементы подполя СР((^). Следовательно, его сложность оцепивается как (2п^/3)М(СР(дг)). Точно так же оценивается сложность возведения в степень д2Пг/3. Поэтому суммарная сложность всех выполненных операций равна

Ьг = 2М(СР(&+!)) + 3М(СР(д?/3)) + (4пг/3)М(СР(дг)) <

^ (36 афг + 0((ц))М(СР(%)).

Для вычисления

пг / 3-1

УУдг ... УЯг ,

где у € СР(д™г/3), применяем тот же прием, вычисляя сначала

пг/9 2пг/9

о- а-

г = у уЧг уЧг .

п*/3 пг/9 П'/9

Так как удг = у, то = г, значит, г € СР(). Для вычисления г нужно выпол-

т~\{ Пг/3\ пг/9 2пг / 9

нить два умножения в поле СР () и возведение в степени 1 , qi в том же поле.

Аналогично предыдущим рассуждениям, оцениваем их сложность как

2М(СР(д^/3)) + (4пг/9)М(СР(дг)) < (24 аг—1 Ьг + 0(аг—1))М(СР(дг)).

Поскольку

пг / 3— 1 пг/9 — 1

уудг... уЯг = г... гЯг ,

то остается вычислить

пг / 9 -1

г2^ ...г9* ,г € СР(д™г/9).

Применяя тот же прием, сводим это вычисление со сложностью

2М(СР(д^/9)) + (4пг/27)М(СР(дг)) < (24 аг—2Ьг + 0(аг—2))М(СР(дг))

к вычислению

г/27—1

пг/27 — 1

^ ^ € СР(д™г/27)

и т.д. Так как п = 3Ьг, этот процесс закончится через Ьг шагов. На каждом шаге требуемая сложность уменьшается асимптотически в три раза, поэтому сложность вычисления N(х) оценивается как

^243а»—1 Ьг + 0(а*)^ М(СР(<&)),

2

значит, сложность вычисления N(х), К (х) оценивается как

(44 аЫ + 0(а ))М (СР (дг)).

Отсюда следует рекуррентная оценка сложности инвертирования:

1(аг+1) ^ 1(аг) +щМ(СР(дг)) + (44аД + 0(а))М(СР(дг)) ^ ^ 1( а) + (44 аЫ + 0(а))М (СР (дг)).

Из нее по индукции получаем, что

П— 1

1(ап) ^^2(44 агЫ + 0(а»))М(СР(%)) + 1(ао)

^П_

І=1

= (44 ап— 1 Ъп— 1 + 0(ап—1))М (СР (^-1)).

Поскольку М(СР(<?г+1)) ^ (12аЛ + 0(аг))М(СР(д^)), то предполагая, что

М (СР (^+1)) = (12агЪг + 0(аг))М (СР (дг)),

получаем асимптотическую оценку:

1(ап) ^11 + о(1^ М(СР(дп)).

Замечая, что М(СР(дп)) = 0 ^32"+п2(п2+5п')/2^ , во всех случаях имеем

1(ап) = (44^-1 Ьп-1 + 0(ап-1))М(СР(^-1)) = 0 (32п+га2(™2+5га)/2) .

Поэтому при N = ап справедливо равенство /(N) = 0(М(СР(2м))). Такие же оценки можно получить и для любого N = 2 ■ 3”. Для этого выберем к так, чтобы 2к-1 ^ п < 2к и определим последовательность ак = N,(^1 = 2 ■ 3^1о®3(“г/2))/2^, положим д^ = 2аг и рассмотрим башню полей СР(д0) с СР(д1) с ... С СР(дк). Теорем,а доказана.

Для практического построения схем для умножения и инвертирования в полях СР(2п)

п

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

4. Вывод

Для любого £ > 0 при любом т, п = тя и 8 ^ 8е можно выбрать в поле СР(2п) базис, для которого схемная сложность умножения меньше п1+е/2, а сложность инвертирования меньше п^6. При п = 2 ■ 3к для некоторого базиса можно получить для умножения оценки СЛОЖНОСТИ п(^з п)(1°®2 1о®3 га)/2+°(1) и ПО порядку такие же оценки можно получить для инвертирования.

Литература

1. Gathen J. von zur, Gerhard J. Modern computer algebra. — Cambridge University Press, 1999.

2. Schonhage A. Schnelle Multiplication von Polvnomen iiber Korpern der Charakteristik 2 // Acta Informatica. - 1977. - V. 7. - P. 395-398.

3. Schonhage A. Schnelle berechnung von kettenbruchentwicklungen // Acta Informatica 1. — 1971. - P. 139-144.

4. Gao S., Gathen J. von zur, Panario D., Shoup V. Algorithm for exponentiation in finite field // J. of Symbolic Computation. — 2000. — V. 29. — P. 879-889.

5. Штрассен Ф. Алгоритм Гаусса не оптимален // Кибернетический сборник. — Вып. 7. - М.: Мир, 1971.

6. Болотов А.А., Гашков С.Б. О быстром умножении в нормальных базисах конечных полей // Дискретная математика. — 2001. — Т. 13, N8 3. — С. 3-31.

7. Itoh Т., Tsujii S. A fast algorithm for computing multiplicative inverses in GF(2™) using normal bases // Inform. And Comp. — 1988. — V. 78. — P. 171-177.

8. Кнут Д. Искусство программирования. Т. 2. — 2-е изд. — М.: Вильямс, 2000.

9. Gathen J. von zur, Nocker M. Fast arithmetic with general Gauss periods // Theor. Comp. Sci. - 2004. - V. 315. - P. 419-452.

10. Paar C., Fan J.L. Efficient inversion in tower fields of characteristic two. — IS IT, Ulm, Germany, 1997.

11. Гагиков С.Б. Замечания о быстром умножении многочленов, преобразовании Фурье и Хартли // Дискретна,я математика. — 2000. — Т. 12, N8 3. — С. 124-153.

12. Лидл Р., Нидеррейтер X. Конечные поля. — М.: Мир, 1988.

Поступила в редакцию 19.02.2012.

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