Научная статья на тему 'О сложности и глубине булевых схем для умножения и инвертирования в некоторых полях GF(2n)'

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

CC BY
71
15
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БУЛЕВЫ СХЕМЫ / BOOLEAN SCHEMES / КОНЕЧНЫЕ ПОЛЯ / FINITE FIELDS / МУЛЬТИПЛЕР / MULTIPLIER / ИНВЕРТОР / INVERTOR

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

При n =(p 1) ∙ pk, где p такое простое число, что 2 первообразный корень по модулю p и 2p-1 1 не кратно p2, для стандартного базиса в GF(2n) получены оценки сложности мультиплера О (log log p)n log n Ioglogp n и инвертора О(log p log log p)n log n Ioglogp n. В частности, при p = 3 получены оценка сложности умножения 5 5-nlog3 nlog2 Iog3 п + О(пlogп) 8 и оценка сложности инвертирования, которая больше указанной асимптотически в 2, 5 раза (здесь и далее логарифмы двоичные, если явно не указано основание).

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

Текст научной работы на тему «О сложности и глубине булевых схем для умножения и инвертирования в некоторых полях GF(2n)»

ВЕСТН. МОСК. УН-ТА. СЕР.1, МАТЕМАТИКА. МЕХАНИКА. 2009. №4 3

Математика

УДК 519.95

О СЛОЖНОСТИ И ГЛУБИНЕ БУЛЕВЫХ СХЕМ ДЛЯ УМНОЖЕНИЯ И ИНВЕРТИРОВАНИЯ В НЕКОТОРЫХ ПОЛЯХ GF(2n)

С. Б. Гашков1, И. С. Сергеев2

При n = (p — 1) • pk, где p — такое простое число, что 2 — первообразный корень по модулю p и 2p-1 — 1 не кратно p2, для стандартного базиса в GF(2n) получены оценки сложности мультиплера O(log log p)n log n loglogp n и инвертора O(logp log logp)n log n loglogp n. В частности, при p = 3 получены оценка сложности умножения

5

5-nlog3 nlog2 log3 п + 0(п log п) 8

и оценка сложности инвертирования, которая больше указанной асимптотически в 2, 5 раза (здесь и далее логарифмы двоичные, если явно не указано основание).

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

Let n = (p — 1) • pk, where p is a prime number such that 2 is a primitive root modulo p, 2p-1 — 1 is not divided by p2. For a standard basis of the field GF(2n), a multiplier of complexity O(loglogp)n log n loglogp n and an invertor of complexity O(logp log logp)n log n loglogp n are

constructed. In particular, in the case p = 3 the upper bound

5

5-nlog3 nlog2 log3 n + 0(n log n) 8

for the multiplication complexity and the asymptotically 2, 5 times greater bound for the inversion complexity are obtained.

Key words: Boolean schemes, finite fields, multiplier, invertor.

Известно [1] (см. также, например, [2]), что при использовании стандартных базисов в полях GF(2n) сложность булевой схемы для умножения, построенной из двухвходовых элементов, асимптотически не больше O(n log n log log n). Более аккуратные оценки сложности метода [1] для n = 2 • 3k имеют вид

(12 + o(l))nlog3nlog2log3n [2] и (9-—£--Ь o(l))n log3 п log2 log3 п. Последняя оценка приведена для модификации метода [1] в [3]. Глубина схем во всех случаях логарифмическая (т.е. O(logn)).

Для инвертирования в тех же базисах (т.е. для вычисления мультипликативного обратного) известен [4,5](см. также [2]) быстрый вариант алгоритма Евклида с оценкой сложности O(n log2 n log log n), на основе которого может быть построена и булева схема такой же сложности (но глубины O(n)). В [6] рассмотрена конструкция башни полей, для умножения и инвертирования в которой в некоторых случаях получены оценки сложности вида O(n logc n), где C — некоторая константа (эти оценки хуже, чем упомянутые выше, но представляют интерес, так как получены для другого типа базисов; результат [1] был авторам работы [6], по-видимому, неизвестен). Однако основные формулы, приведенные в [6, с. 227], вызывают некоторые сомнения, поэтому эти оценки не представляются бесспорными. Корректно в [6] для полей вида GF(2n), где n = mk, для сложности умножения и инвертирования получены оценки O(n1+1/log m). Подобную конструкцию башни полей независимо рассматривали в [7], но представленные там результаты несколько слабее. В [8] для тех же полей независимо получены более сильные оценки. Результаты [8] могут быть усилены следующим образом.

Теорема. При n = (p — 1) • pk, где p — такое простое число, что 2 — первообразный корень по модулю p и 2p-1 — 1 не кратно p2, для стандартного базиса в поле GF(2n) может быть построена

1 Гашков Сергей Борисович — доктор физ.-мат. наук, проф. каф. дискретной математики мех.-мат. ф-та МГУ, e-mail: sergey.gashkov@lsili.ru, sbgashkov@gmail.com.

2 Сергеев Игорь Сергеевич — канд. физ.-мат. наук, вед. инж. ФГУП НИИ "Квант", e-mail: isserg@gmail.com.

4

ВЕСТН. моек. УН-ТА. СЕР.1, МАТЕМАТИКА. МЕХАНИКА. 2009. №4

булева схема для умножения сложности O(loglogp)n log n loglogp n и глубины O(log n). Для того же базиса может быть построена схема для инвертирования сложности O(logр log logp)n log n loglogp n и глубины O (log2 n).

При p = 3 сложность схемы для умножения равна

5

5-п log3 п log2 log3 п + 0(п log2 п).

В том же случае для сложности схемы инвертирования справедлива асимптотически в 2, 5 раза более высокая оценка.

Тем самым получены схемы для умножения и инвертирования меньшей сложности и глубины, чем упомянутые выше. Заметим, что условие "2p-1 — 1 не кратно р2", как известно, не выполняется среди первых 1012 чисел только для р = 1093, 3511. Однако при этих значениях р число два не является первообразным корнем.

Доказательство. Положим ak = (р — 1)pk, qk = 2ak и рассмотрим башню полей GF(qk) С GF(q2k) (башней называется цепочка последовательно расширяющих друг друга полей). Ее можно вложить в башню

GF(2p-1) С GF((2p-1)p) С GF(((2p-1 )p)p) С ... С GF(2a2k).

В поле GF(2p-1) выберем базис Bo = {1,Uo,...,Ug } и на каждом этаже GF (2(p-1)pi ) башни — базис Bi = {1,ui,u2,.. .,up-1}, где

ирг = u— e GF(2(p-1)pi-1), ...,uPp = uo,^p = 1, uo e GF(2p-1).

Согласно [9, теорема 3.75], неприводимый над GF(2(p-1)pi 1) многочлен, определяющий базис Bi, есть

двучлен xp + Ui-1. Очевидно, Ui e GF(2(p-1)pi), up = 1. Из построения следует

Лемма 1. При 0 ^ k < i последовательность базисов Bi, B-1,..., B-k порождает с точностью до

перестановки стандартный базис {1,Ui ,u2 , ...,up - } расширения GF (2(p-1)pi ) поля GF(2(p ^ k 1).

Последовательность базисов Bi,B—1 ,...,Bo порождает с точностью до перестановки стандартный базис {1,ui,uf,... ,u(p-1)p -1} поля GF(2(p-1)pi).

Умножение элемента x = xo + X1Ui + ... + xp-1Up e GF (2(p-1)pi ) на произвольный элемент um e Bi выполняется по формуле

(xo + x1Ui + ... + xp-1up-1)um =

= xp-mUi-1 + xp-m+1Ui-1Ui + ... + xp-1Ui-1Um-1 + xoum + ... + xp-m-1Up-1.

Умножение элемента x = xo + x1Uo + ... + xp-2U¡p-2 e GF(2p-1) на произвольный элемент u™ выпол-няеся по формуле

(xo + x1Uo + ... + xp-2Up- )um — xp-m-1 + xp-m + (xp -m-1 + xp-m+1)uo + ...

... + (xp-m-1 + xp-2)um-2 + xp-m—1Um—1 + (xo + xp-m-^uß? + ... + (xp-m-2 + xp-m-1)Ug~2.

Обозначим сложность схемы умножения на произвольную константу a в поле GF(2n) через M(a,n), а ее глубину — через Dm (a, n). Аналогичные обозначения введем для глубины и сложности умножения на несколько констант. Используя приведенные выше формулы, можно проверить следующие утверждения. Лемма 2. Для любых неотрицательных i,j,m справедливы соотношения

M(um, (р — 1)pi+j) < min {m(p — 2)pj, (p — 2)pi+j}, Dm(um, (p — 1)pi+j) = 1.

Лемма 3. Для любого m e [1,...,p — 1]

M (um,u-m,p — 1) = 2p — 5, Dm (um,u-m,p — 1) = 1,

^o ,uo ,p — 4— — DM\uo M(Uom + u-m,p — 1) < 2p — 6, Dm(Uom + u-m,p — 1) = 2.

Поскольку элемент является в поле GF(qk) первообразным корнем из единицы порядка pk+1, то в поле GF(qk) можно определить дискретное преобразование Фурье (ДПФ) порядка pl при любом i ^ k + 1. Обозначим через F(m,q) сложность реализации ДПФ порядка m над полем GF(q) и через Dp(m,q) — глубину соответствующей схемы.

Рассматривая поле GF (qk) как расширение поля GF (qo) = GF (2p-1) и выбирая в нем базис, указанный в лемме 1, несложно вывести следующее утверждение.

Лемма 4. Верны неравенства F(p,qk) ^ pkF(p,q0), Dp(p,qk) = Dp(p,q0).

При реализации ДПФ порядка p в поле GF(2p-1) можно воспользоваться тем, что при определенных условиях это ДПФ можно свести к двум циклическим сверткам порядка (p — 1)/2. Справедлива

Лемма 5. Пусть p — такое простое число, что 2 является первообразным корнем по модулю p либо 2(p-1)/2 = 1, p = 3 mod 4 и число два порождает группу квадратичных вычетов по модулю p. Тогда имеем

F(p, qo) < (p — 1)(3p2 +2p — 1)/2, Dp(p, qo) < 2 + 2, 441 [log2(p — 1)1. При любом простом p справедливы также неравенства

F(p, qo) = O(p2 logp log logp), Dp(p,qo) = O(logp).

В доказательстве первой части леммы используются конструкция параллельной префиксной схемы из [10] и лемма 3. Второе утверждение получается при реализации свертки методом Шенхаге [1, 2].

Методом Кули—Тьюки [11] вычисление ДПФ порядка pk сводится к вычислениям ДПФ порядка p. Используя лемму 2, можно построить схемы со следующими оценками сложности и глубины. Лемма 6. Для j ^ k + 1 справедливы оценки

F(p, qk) < p?-1jF(p, qk) + (p — 2)(2p — lnp — O(1))pk+j-1(j — 1)/2,

Dp(pj,qk) < j(Dp(p,qk) + 1).

При p = 3 оценка сложности имеет вид

5

F(V,qk) < З^^З,^) + f>k+]~\j - 1) - 0(3fc+J).

Из лемм 4-6 следуют оценки

F(pj ,qk) ^ jpk+1 (3p2 + p — lnp — 7)/2, F(pj ,qk) = O(jpk+jp logp log logp).

Обозначим сложность и глубину умножения в поле GF(q) через M(GF(q)) и Dm (GF(q)) соответственно. Стандартным образом умножение в поле GF (qk) при помощи ДПФ сводится к умножениям в поле GF(q\k/2]). Справедлива

Лемма 7. Имеют место неравенства

M (GF(qk)) < 2pk2 M (GF(qW2])) + 6F pk/2 ,qW2] )+O(ak),

Dm (GF (qk)) < Dm (GF (q^)) + 2Dp pk/2 ,qm)+ O(log p).

Положим T(k) = M(GF(qk)) и D(k) = Dm (GF(qk)). Тогда из леммы 7 получаем рекурсивные неравенства

T(k) < 2p\-k/2^T([k/21) +pk [k/2\O(plogp log logp)+O(pk+1), D(k) < D([k/21) + [k/2\ O(log p) + O(log p), T(k) < 2pW^T([k/21) + 3pk [k/2\ (3p2 + p — lnp — 7) + O(pk+1). Лемма 8. Из рекурсивых неравенств T(1) ^ T1p, D(1) ^ D1, в случае k ^ 2

T(k) < 2pW^T(\k/2l) + C\pklk/2\ + C2pk, D(k) < D(\k/21) + C3[k/2\ + C4,

где константы C\ не зависят от k, следует, 'что

T(k) < Crpkk log2 k + 0(Ci + C2 + Ti)pkk, D(k) < Cak + 0(Ca + C4 + D1) log k.

Применяя лемму 8, получаем при n = ak соотношения

T(k) = O(pk+1k logp log logp log k) = O(loglog p)n log n loglogp n,

T(k) ^ 3(3p2 + p - lnp - 7)pkk log2 k + O(pk+1k) ^ (9p + 12)n logp n log2 logp n + O(n logp n),

D(k) = O(k log p) = O(log n). Используя первую конструкцию из леммы 5, для глубины можно также указать оценку

D(k) < 2(2,441 [log2(p - 1)1 +2)k + O(logp log k) = (4,882 + O(1/log p)) log2 n + O(logp loglogp n).

Рассмотрим более подробно случай p = 3. Из оценки F(3, 2) ^ 10 и лемм 4, 6-8 следует Лемма 9. Справедливы неравенства

15 , 45

F(3k, 2 • 3k) < -jk32k, M{GF{2 )) < -j3kk log2 k + 0(3kk). Поэтому при n = ak = 2 • 3k имеем

45

M(GF(2n) ^ —nlog3n\og2log3n + 0(nlogn). 8

Получим теперь оценку для сложности инвертирования, ограничив рассмотрение случаем p = 3. Воспользуемся следующим представлением произвольного элемента x Е GF (qk) над базисом Bk: x = Xo + X1uk + X2w2, Xi Е GF(qk-1). Положим

z = xqk-1+q2— = X3 + X4uk + X5u2k, y = z • x = x1+qfc-1 +q2-i.

Заметим, что y Е GF(qk-1), так как yqk-1 = y. Инвертирование выполним с помощью формулы x-1 = z • y-1. Несложно проверить, что

z = (Xo2 + X1X2Wk-1) + (X0X1 + X^-)^ + (Xo X2 + X2 )ul

y = Xo Xa + (X1X5 + X2X4)Uk-1, x-1 = Xay-1 + X4y-1Uk + X5y-1^l

Из приведенных формул видно, что для вычисления z, y и затем x-1 достаточно выполнить в общей сложности три возведения в квадрат, четыре сложения, три умножения на Uk-1 в поле GF(qk-1) (любое из действий выполняется со сложностью O(3k) и глубиной O(1)), а также вычислить семь произведений XoX1X0X2X1X2,XoX3, y-1 X3, y-1X4, y-1X5 и сумму произведений X1X5 + X2X4 в том же поле.

Обозначим через n(qi) сложность схемы, вычисляющей семь произведений и одну сумму двух произведений: xox1, xox2, x1x2, xox3, x3x6, x4x6, x5x6, x1x5 + x2x4, в поле GF (qi). Для сложности I (GF (qk)) инвертирования в поле GF(qk) справедлива Лемма 10. Имеет место неравенство

I (GF (qk)) < I (GF (qk-1)) + nfe-1) + O(3k).

Величина n(qk) оценивается при помощи следующей леммы. Лемма 11. Верно неравенство

n(qk) < 2 • 3Lk/2Jn(qpk/2]) + 30F(3Lk/2J, q^) + O(3k).

вЕстн. моск. ун-тА. сЕр.1, мАтЕмАтикА. мЕхАникА. 2009. №4

Лемма доказывается аналогично лемме 7, только нужно учесть, что сомножители Хо,Х\,Х2,Х6 используются по три раза, сомножители Хз,Х4, Х5 — по два раза, а для вычисления суммы Х1Х5 + Х2Х4 в силу свойства линейности ДПФ обратное ДПФ достаточно вычислить два раза вместо четырех. Поэтому ДПФ можно выполнить только 2(7 + 8) = 30 раз. Из лемм 9, 11 следует Лемма 12. Справедливо неравенство

225

ПЫ ^--Зкк log2 к + 0(3кк).

7

Из этой леммы и леммы 10 вытекает

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

Лемма 13. Верно неравенство I(GF(qk)) ^ ^jp • 3kk\og2k + 0{3кк). Таким образом, при n = 2 • 3k справедливо неравенство

I(GF(2n)) ^ 14— • п logo п log2 logo п + 0(п log п). 16

Очевидно, полученная оценка сложности инвертирования асимптотически в 2, 5 раза выше оценки сложности умножения. Глубина построенной схемы оценивается как O(k)DM(GF(qk)) = O(log2 n). Для произвольного p подобные схемы строятся с использованием метода аддитивных цепочек (см. [12]). Теорема доказана.

Работа выполнена при финансовой поддержке РФФИ, проекты № 08-01-00863 и 08-01-00632-а, программы поддержки ведущих научных школ РФ, проект НШ-4470.2008.1, и программы фундаментальных исследований Отделения математических наук РАН "Алгебраические и комбинаторные методы математической кибернетики и информационные системы нового поколения" (проект "Задачи оптимального синтеза управляющих систем").

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

1. Schonhage A. Schnelle multiplikation von polynomen uber korpern der charakteristik 2 // Acta Inform. 1977. 7. 395-398.

2. von zur Gathen J., Gerhard J. Modern computer algebra. Cambridge: Cambridge University Press, 1999.

3. Bernstein D.J. Multidigit multiplication for mathematicians. http://cr.yp.to/papers.htmlm3.

4. Schonhage A. Schnelle berechnung von kettenbruchentwicklungen //Acta Inform. 1971. 1. 139-144.

5. Strassen V. The computational complexity of continued fractions // SIAM J. Comput. 1983. 12. 1-27.

6. Afanassiev V.B., Davydov A.A. Finite field tower: iterated presentation and complexity of arithmetic // Finite fields and their applications. 2002. 8. 216-232.

7. Baktir S, Sunar B. Optimal tower fields // IEEE Trans. Comp. 2004. 53, N 10. 1231-1243.

8. Бурцев А.А., Гашков И.Б., Гашков С.Б. О сложности булевых схем для арифметики в некоторых башнях конечных полей // Вестн. Моск. ун-та. Матем. Механ. 2006. № 5. 10-16.

9. Лидл Р., Нидеррайтер Х. Конечные поля. М.: Мир, 1988.

10. Zhu Н., Cheng C.-K., Graham R. Constructing zero-deficiency parallel prefix circuits of minimum depth // Proc. ASP-DAC. 2005. 883-888.

11. Cooley J., Tukew J. An algorithm for the machine calculation of complex Fourier series // Math. Comp. 1965. 19. 297-301.

12. Гашков С.Б., Сергеев И.С. О применении метода аддитивных цепочек к инвертированию в конечных полях // Дискретная математика. 2006. 18, №4. 56-72.

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

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