Дискретная математика ТОМ 1 3 ВЫПУСК 3 * 2001 УДК 519.7 О быстром умножении в нормальных базисах конечных полей © 2001 г. А. А. Болотов, С. Б. Гашков В статье оценивается сложность переходов от нормальных базисов к стан­ дартным и обсуждаются связанные с этим вопросы эффективной реализации арифметических вычислений в конечных полях высокой размерности. Работа выполнена при поддержке Российского фонда фундаментальных исследований, проект 99-01-01175, Программы поддержки ведущих научных школ РФФИ, проект 00-15-96103, Программы «Университеты России» и ФЦП «Интеграция», объединенный проект А0110. 1. Введение Э. Берлекемп в своей книге [1] написал в шестидесятые годы, что большие конечные поля представляют собой только академический интерес. Сейчас интерес к большим конечным полям с малой характеристикой уже не академический. Без этих полей, к примеру, немыслима современная криптография с открытым ключом (да и с сек­ ретным тоже). Вследствие этого, за последние 20 лет существенно возрос интерес к эффективной реализации арифметики конечных полей высокой размерности (от 100 до 1000 и выше), причем как к схемной, так и программной имплементации. Эффективность реализации арифметических операций в конечных полях замет­ но зависит от выбора представлений элементов поля, в частности, для этой цели могут быть использованы различные базисы конечных полей. Особо привлекательно с этой точки зрения выглядят нормальные базисы, по­ скольку операция возведения в степень q в поле GF(qn) в этих базисах сводится просто к циклическому сдвигу координат. Хотя нормальные базисы были известны в алгебре уже давно (они были открыты более века тому назад) и многие иссле­ дования, проведенные за это время, группировались здесь вокруг вопроса, как их построить (см., например, комментарий к списку литературы в [18]), однако только примерно 12 лет назад алгебраистами-криптографами из Канады ([19]) были от­ крыты оптимальные нормальные базисы, которые позволили по новому подойти к другому важному вопросу, относящемуся к нормальным базисам, как их использо­ вать, что привело к новому всплеску исследований и публикаций на эту тему (см. [6, 13, 14, 15, 18]). Так как оптимальные нормальные базисы существуют не во всех полях, активно начался также поиск близких к ним нормальных базисов малой сложности (см. [6, 13, 21, 22]). 4 А. А. Болотову С. Б. Гашков Отметим, что впервые подобные базисы были обнаружены еще в 1985 г. (до открытия оптимальных нормальных базисов) В. М. Сидельниковым [23], который доказал, что для любого t, делящего р, q — 1 или q + 1, где q = p u , в поле GF(qt) существует нормальный базис u)i с таблицей умножения WiWj = OLi-jLJi + Qti+jUj +7, *Ф h где индексы у а вычисляются по модулю t, а& и 7 принадлежат GF(q), и выделены случаи, когда 7 = 0Интерес к оптимальным нормальным базисам, в частности, связан с их возмож­ ными применениями в имплементации криптографии эллиптических кривых (см., например, [2]). Известные конструкции схем для умножения в конечных полях (как в нормаль­ ных, так и в других базисах, см., например, [6]) обычно представляются в виде конечно-автоматных схем, составленных из логических элементов и регистров сдви­ га с обратной связью. Сложность этих схем (понимаемая как число составляющих их элементов) линейна, но и время вычисления (измеряемое, как правило, в так называемых клок-циклах) тоже линейно зависит от длины входа (размерности по­ ля). Если же представить эти конструкции в виде логических (булевых) схем, то их сложность, естественно, оказывается квадратичной, а время вычисления (задержка) этих схем будет определяться их глубиной и оказывается логарифмически зависящей от числа входов схемы. В случае же программной имплементации указанных алго­ ритмов время работы будет оцениваться упомянутой булевой (иногда называемой битовой) сложностью этих алгоритмов. Кроме булевой сложности рассматривают также арифметическую сложность, понимаемую обычно как число арифметических операций (в базисном поле) в рассматриваемом алгоритме. Для указанных мер сложности, однако, известны более быстрые, чем квадратич­ ные, алгоритмы умножения в стандартных базисах, например алгоритм Карацубы или асимптотически более быстрый алгоритм Шенхаге [20]. Основная идея предла­ гаемой статьи состоит в одновременном использовании в арифметических вычисле­ ниях двух базисов — стандартного и нормального — с тем, чтобы использовать их преимущества друг перед другом, а именно, умножение удобно проводить в стан­ дартном базисе (см., например, [8, 9, 10]), а нормальные базисы использовать для того, чтобы быстро возводить в степень q. Естественно, что переходы между двумя базисами также должны выполняться при этом быстро. Для этой цели в статье исследуется сложность переходов от нормальных базисов к стандартным и обратно, которую мы называем далее транзитивной сложностью нормальных базисов. Оказывается, что низкой транзитивной сложностью обладают оптимальные нор­ мальные базисы, хотя, вообще говоря, не только они. Далее мы называем нормальные базисы с низкой транзитивной сложностью нор­ мальными базисами с быстрым умножением. Для быстрого выполнения умножения в таких базисах сперва переходим к подходящему стандартному базису, быстро вы­ полняем там умножение и возвращаемся обратно. Использование указанных базисов позволяет ускорить стандартные компьютер­ ные алгоритмы экспоненцирования (возведения в произвольную заданную степень) и инвертирования (вычисления обратного элемента). Отметим, что алгоритмы экс­ поненцирования играют центральную роль во многих криптографических протоко­ лах. 5 О быстром умножении 2. Базисы конечных полей В этом параграфе кратко приводятся основные сведения о стандартных и нормаль­ ных (в том числе и оптимальных) базисах. За более полными сведениями читатель отсылается к [6]. 2.1. Стандартные и нормальные базисы Напомним понятия стандартного базиса и нормального базиса в конечных полях. Будем придерживаться стандартных обозначений, принятых в теории конечных по­ лей (см., например, [1, 5, б, 7]). Через GF(qn) обозначаем конечное поле порядка qn, рассматриваемое как расширение степени п поля GF(q) порядка q. В качестве пред­ ставления элементов поля GF(qn) используем многочлены степени не более п - 1 с коэффициентами из поля GF{q). Если многочлены записаны в в стандартном базисе Ва = {а°,а\...,ап-1} (в этом случае элемент а называем генератором базиса), то сложение элементов поля GF(qn) сводится к покомпонентному сложению в поле GF(q) векторов коэф­ фициентов, соответствующих данным многочленам, а умножение элементов поля есть умножение соответствующих многочленов над полем GF(q), выполняемое по модулю неприводимого над полем GF(q) многочлена д(ж), определяющего рассмат­ риваемое представление поля. Иногда вместо стандартного базиса удобнее так называемый нормальный базис, то есть базис вида который порождается генератором а стандартного базиса — корнем неприводимого над полем GF(q) многочлена д(х) в своем поле разложения GF(qn). Нормальный базис существует для любого п (см., например, [1, 6], где подсчитано их количество), но порождается не всяким неприводимым многочленом д(х), так как составляющие его степени элемента а должны быть линейно независимыми над полем GF(q). Если система степеней {а* ,а* ,...,<*« }, образует нормальный базис, то любой элемент £ поля GF(qn) однозначно представ­ ляется в виде С = ХоС*+ Х1СГ +Я2СГ \-Xn-iOL4 Н , где х о , . . . , £ n _ i — коэффициенты из поля GF(q). Сложение в нормальном базисе, как и в стандартном, есть покомпонентное сло­ жение векторов коэффициентов в поле GF{qn). Возведение в степень q (а значит, и в любую степень qm) в нормальном базисе представляет собой циклический сдвиг коэффициентов, так как С9 = xn-ia + xoaq +x\aq -\ Ь хп-2адП . Рассмотрим умножение в нормальных базисах. Согласно [19] сложностью Св произвольного нормального базиса Б = {а,а9,а92,... ^а^'1} А. А. Болотов} С. В. Гашков 6 называется число ненулевых элементов в матрице Т, г-я строка которой есть вектор коэффициентов элемента aaqt поля GF(qn) относительно базиса В, то есть п-1 j=0 Это определение мотивируется следующим алгоритмом умножения в нормаль­ ном базисе В (алгоритмом Масси-Омуры, см., например, [6]). Пусть п—1 п—1 v9 J г=0 .7=0 n — произвольные элементы поля GF(q ), разложенные по нормальному базису В. Тогда их произведение можно вычислить по формуле ij=0 i,j==0 где разность г — j вычисляется по модулю п, а так как П—1 = П—1 = х ^ ti—j,k& fc=0 х v ti—j^m—jQt m=0 , где разность т — j и сумма fc + j тоже вычисляются по модулю п, то п-1 тп=0 где п-1 Pm = х ^ ti—j,m-jXiyj. i,j=0 Определив матрицу Л равенствами а ^ = U-jy-j, где i — j и т — j вычисляются по модулю п, замечаем, что предыдущую формулу можно переписать в виде п-1 Рт == п-1 х ^ ti—jim—jEiyj i,j=0 == х ^ ^ — 'i~f*^fc+m2//+m fc,J=0 n—1 = / n—1 ^ 0>i,j%i+myj+m = x ^ a*»J ^ ij=0 \xi)^ {Vj)'» i,j=0 где Sm — операция циклического сдвига координат вектора на га компонент, а п-1 Мх> У) = Yl i,j=0 a x ^ iVd 7 О быстром умножении — билинейная форма, связанная с матрицей А. Матрица А симметрическая и число Св ее ненулевых элементов, а также сум­ ма элементов такие же, как и у матрицы Т. Для вычисления билинейной формы А(х, у) достаточно выполнить 2Св + п — 1 сложений и умножений в поле GF(q). Если пренебречь временем выполнения циклических сдвигов, то сложность выпол­ нения умножения над нормальным базисом поля GF(qn) оценивается сверху как п(2Св 4-П — 1) операций в поле GF(q), что видно из следующей основной формулы: « = Л(£С)а + Л(£*п~\<'"~ V + Л(^"~2,С"~ V 2 + • • • + A(?,?)ofl~l. Таким образом, арифметическая сложность умножения зависит только от количест­ ва ненулевых элементов Св в матрице А. Верхняя граница сложности умножения в произвольном нормальном базисе является кубической. Матрица А (таблица умножения в базисе В) однозначно определяет операцию умножения в рассматриваемом поле. О сложности нормальных базисов известно следующее ([19]). Теорема 1. Для любого нормального базиса В поля GF(qn) его сложность Св не меньше 2п — 1. Более того, если q = 2, то сложность нечетна. Нормальные базисы, для которых достигается эта граница, называют оптималь­ ными. 2.2. Оптимальные нормальные базисы и нормальные базисы низкой сложности Оптимальные нормальные базисы были описаны в [19]. Они удачно могут быть ис­ пользованы в мультиплере Масси-Омуры. Впоследствии в ([14]) было показано, что других оптимальных нормальных базисов, кроме найденных в [19], не существует. Поскольку оптимальные нормальные базисы существуют не во всех полях, пред­ ставляют интерес базисы, если и не оптимальные, но имеющие низкую сложность, то есть такие, у которых Св(п) = 0(п). Использование этих базисов в мультиплере Масси-Омуры также приводит к оценке арифметической сложности 0 ( п 2 ) . В статье [13] такие базисы построены с помощью гауссовых периодов, изучению криптографических приложений которых посвящены статьи [15,16]. Еще один метод получения базисов с низкой сложностью указан в [21] (см. также [22]). Базисы Сидельникова [23], вообще говоря, не совсем подходят для использованы в мультиплере Масси-Омуры, но его модификация также дает в случае использова­ ния этих базисов оценку сложности 0 ( п 2 ) . Различают три типа оптимальных нормальных базисов в поле GF(qn) по типу их построения. Первый тип оптимальных нормальных базисов можно построить, когда n-f 1 = р — простое число, a q — примитивный корень по модулю р. В этом случае генератором оптимального нормального базиса будет один из примитивных корней р-й степени из единицы в поле GF(qn). Второй тип оптимальных нормальных базисов возникает, когда 2п + 1 — р — простое число, а элемент q, как и в первом случае, — примитивный корень по модулю р. Генератором этого базиса служит элемент а — С + С~\ г Д е С ~~ примитивный корень р-й степени из единицы в поле GF(q2n). 8 А. А. Болотову С. Б. Гашков Третий тип оптимальных нормальных базисов порождается, когда 2п + 1 = р — простое число, р = 3 (mod 4), a q — квадратичный вычет по модулю р и любой квадратичный вычет представляется в виде степени q по модулю р (или, другими словами, порядок элемента q по модулю р равен п). Как и в случае базиса второго типа в качестве порождающего элемента базиса третьего типа берется а — £ 4- С_1> где С — примитивный корень р-й степени из единицы в поле GF(q2n). 3. 3.1. О транзитивной сложности оптимальных нормальных базисов Оценка сложности перехода от оптимальных нормальных базисов первого типа к стандартным и обратно Имплементированные стандартные алгоритмы умножения в оптимальных нормаль­ ных базисах оказались медленнее ([10]) алгоритмов умножения в стандартных ба­ зисах даже в полях небольших размерностей (в диапазоне 150-350), а с ростом раз­ мерности они становятся еще хуже. Сравнение двух типов базисов, стандартного и нормального, наводит на мысль об ускорении арифметики в конечных полях за счет использования преимуществ каждого из них. Действительно, умножение быст­ рее производить в стандартном представлении поля GF(qn)), а возведение в степень — в нормальном представлении. Для реализации этой идеи понадобятся матрицы перехода от нормального базиса к стандартному и обратно, которые могут оказаться не разряженными, а плотны­ ми, и тогда сложность перехода от одного базиса к другому в худшем случае бу­ дет 0(п2/ log n) (далее если использовать для умножения матрицы на вектор метод Лупанова-Коновальцева [12]). Но в удачном случае сложность перехода может оказаться даже не выше ли­ нейной, например, в случае, если число ненулевых элементов в матрицах переходов будет 0(п). Таким образом, возникает задача поиска нормальных базисов с легко вычисляемыми матрицами переходов к стандартным базисам и обратно. Эта задача легко решается в случае оптимальных нормальных базисов первого типа. Напомним, что первый тип нормальных базисов возникает лишь в случае, когда п + 1 = р — простое число и q — примитивный корень по модулю р. Далее под сложностью понимается арифметическая сложность в классе схем из операций сложения и умножения в основном подполе GF(q). Теорема 2. Переход от стандартного базиса поля GF(qn) к соответствующему (с тем же генератором) оптимальному нормальному базису первого типа (если, конечно, он существует для данного п) и обратно можно выполнить с линейной сложностью. Доказательство. Легко видеть, что в этом случае базис {С, • • • > С1} ( н е совсем стан­ дартный) совпадает с точностью до перестановки с оптимальным нормальным ба­ зисом {cccV.-.c"-1}, так как последовательность чисел 1,<7,<?2,... ,qn"1, вычисленных по модулю р, со­ впадает с некоторой перестановкой последовательности { 1 , 2 , . . . , п} в силу того, что 9 О быстром умножении С есть примитивный корень р-й степени из единицы в поле GF(qn), &q — примитив­ ный корень по модулю р. Поэтому, очевидно, переход от базиса {С • • • »Cn} K нормальному базису {С, С, С 2 . - - . . С""1} и обратно выполняется со сложностью, не большей, чем п. Отметим попутно, что С является корнем неприводимого над полем GF(q) мно­ гочлена х-1 ' Стандартным базисом для перехода будет базис {1, £ , . . . , С п - 1 } - Очевидно, он с линейной сложностью выражается через базис {С • • • > Сп}> поскольку cn = i + c + ... + c n ~\ и обратно, базис {С, • • • , Сп}> благодаря формуле с линейной сложностью выражается через базис {1,С,... , С п _ 1 }- В результате, пе­ реход от оптимального нормального базиса к стандартному базису { 1 , £ , . . . , С п - 1 } и обратно выполняется с линейной слож­ ностью. Умножение в стандартном базисе {1, £ , . . . , С п _ 1 } 5 как обычно, сводится к умно­ жению многочленов над полем GF(q) и последующей редукции по модулю непри­ водимого многочлена /(х) = 1 + х + . . . + х п , соответствующего этому базису. Отметим, что деление с остатком на этот многочлен можно выполнить с линейной сложностью. Действительно, пусть многочлен д(х) степени 2п — 2 надо разделить на / ( х ) и найти остаток (только он нам и нужен), то есть надо представить #(х) в виде д(х) = f(x)h(x)+r(x), где степень г(х) меньше п. Умножив обе части равенства на х - 1, получим д{х)(х - 1) = (хр - l)ft(x) + r(x)(x - 1), а так как степень г(х)(х — 1) меньше п + 1 = р, то г(х)(х — 1) — остаток от деления д(х)(х — 1) на х р — 1. Для умножения #(х) на х—1 достаточно сделать 2п—2 сложений (в поле GF(q)), a для деления результата на хр — 1 достаточно выполнить п — 3 сложений и, наконец, для деления полученного остатка г(х)(х — 1) на х — 1 с помощью схемы Горнера достаточно сделать п сложений. А. А. Болотов, С. Б. Гашков 10 3.2. Оценка сложности перехода от оптимальных нормальных базисов второго и третьего типа к стандартным и обратно (бинарный случай) Вначале докажем несколько вспомогательных утверждений (первая лемма выпол­ няется также и для общего случая). Пусть а — ос\ — генератор оптимального нормального базиса {аь... ,ап} второго типа поля GF(qn), он же — генератор соответствующего стандартного ба­ зиса {а0,...,а""1} то есть a i = a = C + C - 1 ! H при любом к ^ п где С — примитивный корень из 1 степени р = 2п 4-1 в поле GF(q2n) . Пусть q = рг, где р — простое число и а = ( 4- С"1- Рассмотрим вспомогательную последовательность ао, a i , . . . , порожденную элементом а. Положим ао = 2 (в случае р — 2 естественно ао = 0) и, далее, а>к = (к+ Ск, к = 1,2,..., oi=ai. Л е м м а 1. Д л л любого к ^ 1 имеют место следующие рекуррентные ния: соотноше­ a*;+i = a^ai - afc_i, apk = a p , Доказательство. Для доказательства первой формулы заметим, что (С* + Ск)(С + С"1) = С*"1 + C~fc+1 + С*+1 + С*" 1 , то есть a^ai - a^-i = а^+ь Вторая формула очевидна. Третья формула проверяется непосредственно: а р . +г = ср"+г + c~pfe-1 = (cpfc + срк)(с + г*) - (срк'г + г р Ч < ) fc = apfc<Zi - а р *_; = а^p а* - ар*_^. Рекуррентные соотношения, доказанные в лемме, позволяют записать формулы перехода от нормального базиса к почти стандартному базису {а\...,ап}. Действительно, из леммы следует, что для любого г ^ 1 элемент нормального базиса а» выражается в виде значения некоторого многочлена степени г над полем GF(q), то есть г .7=1 О быстром умножении 11 Выразив таким образом все а* в нормальном базисе, получим матрицу перехода Fn = (fij) от почти стандартного базиса к нормальному. Следующие две вспомогательные теоремы относятся к бинарному случаю. В этом случае (то есть, когда р = 2) плотность S(Fn) (количество ненулевых элементов) матрицы Fn оценивается следующим образом. Теорема 3. Плотность матрицы перехода от стандартного базиса поля к нормальному базису второго или третьего типа есть O(n l o g 2 3 ). GF(2n) Доказательство. Согласно формулам леммы 1, матрица F n , построенная с их по­ мощью, имеет при n = 2к — 1 вид Fn 0...0 Gn on 1 on Оп 0...0|> Fn где оп — нулевой вектор-столбец высоты п, Оп — нулевая п х п матрица, матрица Gn есть симметричное отражение матрицы Fn относительно средней строки, то есть Gn = InFn, где In = (#i,n-i+i) — матрица с единицами на побочной диагонали и нулями в остальных местах. Например, матрица Fy имеет вид /1 0 1 F7=|0 1 0 \1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0\ 0 0 0 0 0 0 0 0 1 0 0 1/ Если разбить матрицу на 4 квадратных подматрицы, удалив среднюю строку и сред­ ний столбец, получим, что левый верхний квадрат 3 x 3 симметричен относительно горизонтали левому нижнему и равен нижнему правому квадрату. Средняя стро­ ка и средний столбец содержат ровно одну единицу, лежащую на их пересечении. Матрица является нижнетреугольной с единицами на главной диагонали. Действительно, в общем случае согласно лемме 1 при 0 ^ i ^ 2к 2k+i 22 f2k+ijaj = a2fc+i = сца2 + a2k_i j=i j=i j=i откуда, / 2 fc +ifi = / 2 * - i , j , при 0 ^ j ^ 2k, и /2*-и,2*+,- = /»,j, при 1 < j < 2k. Опираясь на это представление, можно получить следующую рекуррентную фор­ мулу для вычисления плотности последовательности матриц Fn: S(F2n+l) = SS(Fn) + 1, п^З, ЗД) = 4, из которой вытекает рекуррентная формула S(F2k_1) = 3S(F2k-i_1) + 1, к > 2, S{F3) = 4. А. А. Болотову С. Б. Гашков 12 Полагая l(k) — 5(F 2 fc_i), перейдем к линейному рекуррентному соотношению /(fc) = 3Z(fc-l) + l, Z(2) = 4, решением которого будет l(k) = (3k - l ) / 2 . Полагая п = 2к — 1 и используя представление Зк = (2fc)log2 3 = (n -f- l) l o g 2 3 , получим, что S(Fn) = Z(fc) = ((п + l ) l o g 2 3 - 1)/2 = 0 ( n l o g ' 3 ) . В общем случае равенство S(Fn)=0(nlog*3) сохраняется, так как выбрав к таким образом, что 2* - 1 < п < 2* + 1 - 1, можно заметить, что матрица Fn является главной подматрицей матрицы Fmi га = 2к — 1, откуда следует, что S(Fn) ^ S(Fm) = O(m log 2 3 ) = 0(n l o g * 3 ). Оценим теперь плотность матрицы F^ перехода от стандартного базиса поля GF(2n) к нормальному. Обозначим Вп матрицу перехода от стандартного базиса к почти стандартному, тогда F„ = FnBni и непосредственно проверяется, что в матрице Вп все элементы нулевые, кроме наддиагональных элементов &i,i+i = 1 и некоторых элементов нижней строки bnj, и справедливы следующие равенства для элементов матрицы F„: /г,1 = /г,п^п,1 = JiJ = Ji,j—1 "i" Ji,nOnJ ^i,n^n,l? = JiJ—1 "Ь Oi,nOnJi так как в силу нижнетреугольности матрицы Fn для ее элементов справедливы ра­ венства Д п = SiyTl, где (Jt,n — символ Кронекера. Складывая эти равенства, получим, что S(K)= £ Ai + E b n,i = 5(F n )-l + ^ 6 n ) j t=l,J=l J=l ^ S ( F n ) - l + n = 0(n j=l ,og 3 2 ). Обозначим £ ( ^ п ) сложность линейного преобразования, определяемого матри­ цей Fn (в данном случае — это наименьшее число операций сложения по модулю два, необходимых для вычисления этого преобразования). Теорема 4. Справедлива оценка 71 L(Fn) ^ - log2 п + 2п = 0{пlog2 n). О быстром умножении 13 Доказательство. Нам будет удобно оценивать сложность преобразования, задава­ емого транспонированной матрицей F„, которая равна L(Fn) согласно известной лемме о взаимосвязи сложности транспонированных матриц (см., например, [17]). Впрочем, для дальнейшего нам нужно будет оценить сложность перехода от коор­ динат в нормальном базисе ]СГ=1 xiai K координатам в почти стандартном базисе ]CiLi 2/*aV которое определяется как раз матрицей F ^ . Пусть 2к ^ п < 2 fc+1 — 1, тогда с использованием формул из леммы 1 п а% = Y1 у* г—\ п Xi0Li = ]С г—\ 2к 2к Xi€Li + Yl п Yl Xi0,i i=2 f c + l i=l n-2k = ^2, Xi^ + ^Г xi+2k<li+2k г=1 г=1 2к п-2к — 2_^х%а% + 2^ Хг-\-2к(а2 аг + a>2k_i) г=1 г=1 2fe+1-n-l = x2fca2fc-f 2fc-l /^ Xiai + У, n-2fc (xi + x2k+i _i)ai + a i=2fc+1-n i=l / x v i+2kOLii i=l определяя векторы-столбцы X = {xi,...,xn}T, X i = {Xi,. . . ,X2fc+i_n_i,X2fc+i_n + Я П , . • . ,X2fc_l +X2fc + 1 , X 2 f c } , X2 = { x 1 + 2 f c , . . . , x n } T , и векторы-строки *2 = {yi+2*,- -,Уп}, *i = {2/1,...,У2*}» получим, что п-2к 2 Х ^ а * = J ^ a * = J^Xuai + a * ^ г=1 г=1 2fc г=1 X^a* г=1 n-2k = 2 ^ * M a * + / J *2,i+2fcai+2fc> i=l i=l и значит, FZ®X = (y[...y'n) = (У ь У 2 ) = ( F £ ®X b F n T _ 2 f c ® X 2 . ) , (1) где 0 — операция умножения матрицы на вектор в поле GF(2). Разумеется, послед­ нее равенство можно было получить, основываясь только на структуре матрицы Fn. Осталось индуктивно оценить сложность преобразования координат, определяе­ мого матрицей F%. Согласно равенству (1) L(2 m + 1 ) ^ 2т - 1 + 2L(2 m ), т < к - 1, L(2) = 2. А. А. Болотову С. Б. Гашков 14 По индукции непосредственно проверяется, что L(2 m ) = 2 m - 1 m - f l . Для произвольного п в пределах 2к < п < 2k+l получим, что L(n) ^ Ц2к) 4- Цп - 2к) 4- п - 2к. Записывая п в двоичной системе п = 2к» 4- • • • 4- 2kl, где к8 > ... > fci, получаем, что L{n) ^ 2k°-lks 4 - . . . + 2kl~lki ^ n . n < ^log2n4-c-, 4- s - 1 + (n - 2*«) 4- . . . + (n - 2*4 - . . . - 2*2) где C = 1 2 3 4 5 2 + 4 + 8 + 16 + < 4 - - n Теорема 5. Сложность В{п) перехода в поле GF(2 ) от оптимального нормаль­ ного базиса второго или третьего типа к соответствующему стандартному ба­ зису и наоборот удовлетворяет неравенству ТЬ в п < 2 log2 П () Доказательство. + Зп " Обозначим а = С + С - 1 генератор стандартного базиса А = {1,а1,...,а-1} и базиса второго или третьего типа о г 2° 21 2Tt_1i В = { o r ,оГ , . . . , о Г }. Переход от нормального базиса к стандартному будет осуществляться через це­ почку из четырех базисов В - В' -> А' -> Л и преобразования координат элемента / поля (7F(2 n ) в этих базисах п п п п г=1 г=1 г=1 г=1 где ai = C + C\ В' = { а ь . . . , а п } , Л' = { а \ . . . , а * } . Переход от базиса В к базису В1 и преобразование координат х к координатам х! осуществляется перестановкой базисных элементов, и действительно, существует такая перестановка 7г(г) чисел { 1 , . . . , п}, что для любого г = 1 , . . . , 2п выполняется равенство 2i (mod p) = ±тг(г) G { 1 , . . . , п}. (2) О быстром умножении 15 В самом деле, для базиса второго типа последовательность степеней 1,2,22,...,22п-\ вычисленных по модулю р, совпадает с некоторой перестановкой тг(1),... ,тг(2п) множества чисел { 1 , . . . ,2п} в силу того, что 2 — примитивный корень по модулю р. А в силу равенства ( m o d py 2к+п = _2к (по теореме Ферма 2 2 п = 1 (mod р), значит, 2П = - 1 (mod р)) окончательно полу­ чим формулу (2). В случае базиса третьего типа число 2 является квадратичным вычетом по мо­ дулю р, поэтому все степени 2к (mod р), к = 1 , . . . ,п — 1, образуют перестановку множества всех квадратичных вычетов по модулю р, так как их ровно п штук. Добавив к этому тот факт, что р равно 3 по модулю 4, и поэтому —1 является квадратичным невычетом по модулю р, так как в противном случае, существовало бы такое число г, что - 1 = г 2 (mod p), а это бы приводило к противоречию с теоремой Ферма: г?-1 = ( r 2)(p-D/2 = (_1)<р-1>/2 = - 1 (mod р), и тот факт, что произведение вычета на невычет является невычетом, получаем, что последовательность — 2к (mod p), fc = 0 , l , . . . , n — 1 образует перестановку мно­ жества всех квадратичных невычетов по модулю р, в итоге получаем, что и в этом случае верна формула (2). Таким образом, мы получили, что базис { a i , . . . , ап} есть просто перестановка ба­ зиса { а , . . . , а 2 }. Отрицательные индексы можно заменить на соответствующие положительные благодаря равенству ai = О + С~г = а - г по формуле а2* = а\п(^\ (или для координат Xi = х'.,^А. Поэтому далее везде будем считать индексы поло­ жительными, и знак модуля числа будем опускать. Очевидно, что В' — тоже базис, так как он есть просто перестановка базиса В. Можно считать, что сложность перехода Ьвв'{п) = О(п), а если рассматривать не программную, а схемную имплементацию, то даже Ьвв'(п) = 0. Переход от базиса В' к базису А! и преобразование координат х' к координатам у'. Согласно теореме 4, для сложности этого перехода справедлива оценка л L n i ) < ^ l o g 2 n + 2п. Переход от базиса А' к базису А и преобразование координат у' к координатам у. По рекуррентной формуле 1 можно в явном виде построить минимальный анну­ лирующий многочлен та (он строится лишь однажды, до применения алгоритма перехода, поэтому сложность его построения в сложности алгоритма не учитывает­ ся), то есть т* = fn(a) = bia0 + . . . + bnan = 0, (3) А. А. Болотов, С. Б. Гашков 16 где а — генератор этих базисов и не все коэффициенты 6» равны нулю. Сделаем явный переход от координат у' в почти стандартном базисе А' к координатам у в стандартном А. Учитывал выражение (3), находим, что г=1 г=1 \г=0 / и после перегруппировки коэффициентов получаем, что п п—1 п—1 г=1 г=1 г =1 откуда видно, что для сложности перехода от почти стандартного базиса А! к стан­ дартному А справедлива оценка LA'A(P) ^ п — 1. Итак, мы оценили сложность каждого преобразования, теперь осталось их сло­ жить: ЬВА{П) = Ьвв'{п) + LB>A'{n) + ЬА'А(П) ^ - log 2 n 4- Зп. Переход от стандартного базиса к нормальному. Теперь покажем, что теорема верна и при обратном переходе, то есть при переходе от стандартного базиса А к базису второго или третьего типа В. Опять определим цепочку переходов, но уже в обратном порядке: А^А'-+В'-+В. Переход от базиса А к базису А' и от координат у ку'. Опять в силу рекуррент­ ной формулы (1) у нас есть минимальный аннулирующий многочлен (3), из явного вида которого мы можем выразить а 0 , а именно, «° = Х > а < - (4) г=1 Сделаем явный переход от координат у в стандартном базисе А к координатам у' в почти стандартном А!. Приняв во внимание выражение (4) п—1 п—\ ViOL% = / J2 Yl г=0 г=1 \ п viOL% у + ° IJ2 biat \г=1 )> / после перегруппировки коэффициентов получим, что п— 1 п—1 а% 6 аП ^2 Уго? = J2 ^+ ^°)+у° г=0 г=1 = п--1 J2 У№+у'па°> г=1 откуда видно, что для сложности перехода от стандартного базиса А к почти стан­ дартному базису А' справедлива оценка ЬАА'{П) < п — 1. Переход от базиса А' к базису В' и преобразование координат у' к координатам х1. Рассмотрим преобразование (x'1...x'n) = (F-11\)Г О быстром умножении 17 умножения вектора YT на матрицу (F^+i) 7 1 (обратную к матрице из теоремы 4) с помощью (1). В этой формуле рекуррентно выполнялись преобразования с вектора­ ми Х\ и Х 2 „ переводящие их в векторы составляющие вектор Y = (у[, ...,у'п). Естественно, что обратное преобразование {F~}2k)T <8> У 2 Т переведет вектор У2 в вектор Х 2 , а чтобы получить вектор Х\, надо сделать преобразование (F~kl)T (g) Y\T• Так как ^ 1 = {^Ъ- • • ,X2k + i^n-i,X2k + i^n + Ж п ,. . . ,X2fc_i +X2fc + 1 , X 2 f c } , Х 2 = {x 1 + 2 fc,...,x n } , для восстановления вектора X = { x i , . . . , х п } по этим векторам достаточно к соот­ ветствующим п — 2к компонентам вектора Х\ прибавить (по модулю 2) компоненты вектора Х2. Индуктивно продолжая описанное преобразование, мы перейдем к координатам х' в почти нормальном базисе В' со сложностью перехода L-l{n)) ^п-2к + L~l(2k) + L-l(n - 2*), и, как и раньше, придем к оценке ть Ьв'А'{п) ^ - log2 п + 2п. Переход от базиса В' к базису В и координат х' к х получается посредством перестановки, обратной к 7г(г), (см. (3)), а его сложность оценивается, как и раньше, то есть Ьв'в(р) = 0. В результате ЬАв(п) = ЬАА\П) + ЬА>В>(П) + ЬВ'в(п) ^ - l o g 2 n + 3n. Заметим, что при вычислении обратного преобразования (F^ 1 ) 7 " при п = 2/с+1 — 1 мы фактически получили матричное тождество / ( i ^ ) - 1 om Gm (Fj)- = 0...0 1 0...0 1 V От от (FZ)-1 где т = (п—1)/2, а матрица Gm = ^(F^)"*" 1 есть симметричное отражение матрицы ( F ^ ) - 1 относительно средней строки. Отметим, что это тождество так же, как и аналогичное тождество F" 1 / F " 1 От 0„ = 0...0 1 0...0 \ Gm Ош F ^ (здесь т = (п - 1)/2, а матрица Gm = F^Im есть симметричное отражение мат­ рицы F ^ 1 относительно среднего столбца) можно проверить и непосредственно. С помощью этих тождеств так же, как и в теореме 3, можно доказать, что плотность обратной матрицы 5 ( F ~ 1 ) = 0(n l o g 2 3 ) и такую же плотность имеет матрица перехода от нормального базиса второго или третьего типа к стандартному базису поля GF(2n). 18 3.3. А. А. Болотову С. В. Гашков О явном вычислении формул перехода и минимальных многочленов для оптимальных нормальных базисов Рассмотрим теперь общий случай q = pr. Определим последовательность многочле­ нов fi(x) над полем GF(q) рекуррентным соотношением fi+i(x) = xfi(x) - / i - i ( x ) , /i(x) = x /o = 2. По индукции легко доказать, что Л(С + Г 1 ) = С* + Г* для любого элемента £• Как уже отмечалось, эти многочлены задают формулы перехода от стандартных базисов к нормальным в случае базисов второго и третьего типов. Последовательность fi(x) можно формально продолжить и для отрицательных индексов, при этом, очевидно, f-i(x) = fi(x). Указанная последовательность является некоторым аналогом последовательнос­ ти многочленов Чебышева, и так же, как и для них, легко проверяется, что мно­ гочлены с четными номерами сами четные, то есть содержат только одночлены с четными степенями, а многочлены с нечетными номерами сами нечетные. Поэтому их удобно представлять в виде LV2J fi(x) = J2 <Ч,(-1)'*г-2', где коэффициенты будут указаны в лемме 2. Для рассматриваемой последовательности справедливо тождество Чебышева /«(*) = Л(Л-(*)) = /*(/«(*)), для проверки которого достаточно положить х = £ + С - 1 л(/ж+с 1 )) = ме+cj)) : = cij+cij = /«(с+с1)- Легко проверить справедливость еще одного тождества Чебышева fi+j(x) + fi-j(x) = fi(x)fj(x). Действительно, e+j+ci4+c~j + c i + i = (c + с *хс"+c"). Л е м м а 2. Справедливы следующие равенства (в которых все коэффициенты вычисляются по модулю р): LV2J где (?лл удобства положено / 0 = 1. О быстром умножении 19 Доказательство. База индукции проверяется непосредственно. Для обоснования шага индукции ввиду тождества /i+l(x) = Xfi(x) - fi-!(x) достаточно проверить, что a»+i,j = aij + а»_1,^_1, а это вытекает из тождества Паскаля: •С + Г0*С:0-— Для доказательства второго тождества достаточно умножить обе его части на х и опять применить тождество Паскаля: |i/2J m * = xj = / A т /f,А Ьл_2, LV2J , . = у; /ыА (/i+i.v+л-2,-1) Для полноты сформулируем известную теорему (см. [6]) о минимальном аннули­ рующем многочлене генераторов оптимальных нормальных базисов второго и треть­ его типов. Теорема 6. Пусть 2п 4- 1 — простое число и q = рг — примитивный корень по модулю 2п + 1 или 2п + 1 = 3 (mod 4) и q порождает все квадратичные вычеты по модулю 2п + 1 , тогда многочлен дп(х) над GF(q), определенный рекуррентной формулой 90 = 1, £ i ( x ) = x + l, gk(x) = xgk-i(x) -^_2(х), k ^ 2, совпадает с минимальным аннулирующим элемент а многочленом тпа и его корни образуют оптимальный нормальный базис второго или, соответственно, треть­ его типа поля GF(qn). В дополнение к этой теореме мы укажем, как можно явно вычислить коэффици­ енты минимального многочлена. Действительно, используя указанную рекуррент­ ную формулу, по индукции можно проверить, что gk(x) -gk-i(x) = fk(x) при k > О, то есть Як(х) = fk(x) + ... + fi(x) + 1, а поэтому, если п 9п{х) = Yl9njXj, то согласно теореме 6 9n<j = U n E 2 J <w-ii* = (-D«-^J (L(n +/)/2J) i=o \ J / 20 А. А. Болотов, С. Б. Гашков (все вычисления проводятся по модулю р). В случае р = 2 множитель (—l)L(n~j)/2J ? естественно, можно опустить. В силу известной теоремы Люка (см., например, [3]) биномиальный коэффициент (£) по модулю р можно вычислить за 0(ир(Ь)) операций в поле GF(p) по формуле Я(::> где 0 ^ а,, Ь* < р Д ^ г ^ га, — цифры р-ичного разложения а и Ъ соответственно, т г=1 Поэтому, последовательно вычисляя путем прибавления единицы р-ичные разложе­ ния [(n + j)/2\ и j и используя сделанное замечание, можно вычислить все коэф­ фициенты многочлена дп(х) со сложностью 0(pnlogpn). Такое же утверждение, естественно, справедливо и для сложности вычисления многочлена fn(x). Для вычисления всей последовательности многочленов /i(x),... ,/ п (#) или gi(x),... ,gn(x) естественно, конечно, использовать определя­ ющую ее рекуррентную формулу с квадратичной оценкой сложности. 3.4. Оценка сложности перехода от оптимальных нормальных базисов второго и третьего типа к стандартным в общем случае Пусть теперь 2п+1 — простое число, a q = pr — или примитивный корень по модулю 2п + 1, или 2п 4-1 = 3 (mod 4 ) и д порождает все квадратичные вычеты по модулю 2п + 1. Пусть С — примитивный корень из единицы степени 2п 4-1 в поле GF(q2n), c*i = С + С~г?а = а 1 - Тогда, как отмечалось выше, {ai,... , a n } является опти­ мальным нормальным базисом (точнее, его перестановкой) в поле GF(qn), которое можно рассматривать как векторное пространство над полем GF(q). Рассмотрим в нем га-мерное, га ^ п, подпространство, порожденное базисом {ао,... , a m _i} или эквивалентным базисом {1, а,... , а т _ 1 } . Обозначим L(m) слож­ ность преобразования координат от базиса {ао,... , a m - i } к базису {1, а,... , ат~1} и обратно (под сложностью понимается число арифметических операций в поле GF(q)). Теорема 7. При т ^ п L(m) = 0(pmlogpm). Доказательство. Сначала докажем для s = pks', га ^ s неравенство L(s + m ) ^ L(s) + L(ra) + ra(3s'/2 + 2). (5) Заметим, что a* = fc(a) и положим ao = 1. Возьмем разложение произвольного элемента в базисе {од,... , a s + m _i} з—1 га—1 ^XiQi + ^ г=0 г=0 Xi+Sai+S- (6) О быстром умножении Так как а^8 21 = asai — a s _i, разложение (6) можно переписать в виде 5-1 т-1 а a ZiOLi ^2 Уг г + s ^2 г=0 ГДе Уг = Xi — X2s-i, i ^ ' (7) г=0 S — 7 7 1 + 1 , ?/; = ГГ| В ОСТаЛЬНЫХ С л у ч а я х , Z{ = X i + S , % > О, z0 = xs/2, г > 0. Преобразование от (6) к (7) можно выполнить со сложностью т и с той же сложностью выполняется обратное преобразование. Со сложностью L(s) 4- L(m) можно вычислить векторы коэффициентов (у^), (z'j) такие, что рассматриваемый элемент можно записать в виде s— 1 т— 1 ^ ^ ' а Ч а ^ г Я г=0 (8) г=0 Согласно лемме 2 L-72J k а8 = apks, = fAapk) = fs,(a*> ) = ] Г a ^ - l ^ ' - W , (9) причем в этой формуле число коэффициентов, отличных от единицы, не более [s'/2\. Используя (9) можно при т < s преобразовать (8) к виду з+т— 1 £ <ai г=0 ( 10 ) со сложностью {s' 4- l)m. В результате сложность прямого преобразования оценива­ ется сверху величиной L(s) + L(m) + m ( s 4 2). Обратно, со сложностью L{s) 4- L(m) можно вычислить векторы коэффициентов (v{), (WJ) такие, что (10) преобразовываются к виду s— 1 т— 1 s У^ г^а* 4- a ^2 wiaiг=0 (11) г=0 Согласно лемме 2 Le / ' J а° = (арку'= L*'/2J / /\ /лЛ J=0 w/ 5 3 ( , )/*'-2j(<V) L 2J ^ /V\ X , ( i)a(s'-V)Pk- = ( 12 ) Используя (12) (и заменяя, если нужно, ао на 2) можно преобразовать (11) к виду s-l т-1|/А1 Vi0ii J2 г=0 +Yl J2 г=0 j-Q b W 3 i°Li°L{s'-2j)p^ (13) 22 А. А. Болотов, С. Б. Гашков со сложностью ( | y / 2 j ) m и , заменяя произведение otiOt(s>_2j)pk H& a i+(s'-2j)pk a i-(s'-2j)pki + преобразуем (13) к виду s+m-1 ^2 xioti г=0 со сложностью (2([s'/2\) + l)m. В результате сложность и обратного преобразования оценивается сверху величиной L(s) + L(m) 4- m(3s'/2 + 2), значит, неравенство (5) доказано. Докажем теперь рекуррентное неравенство L(pk+1) < PL(pk) + \pk+* + pk+1\log2p]. (14) Для этого представим р в виде 5 + га, где s = [р/2], га = |_Р/2_|, и, применяя (5), получим, что L(p* +1 ) ^ L(pks) + L(pkm) + p*(3sm/2) + pfc(s 4- га). Применяя (5) и тот же прием деления пополам к оценкам L(pks),L(pkm) получаем по индукции, что при любом s ^ р и далее, L(pks)^sL(pk)+pkX(s), где функция Л удовлетворяет неравенству \(s 4- га) ^ A(s) + Л(га) + 3sra/2 4- s + га, Л(1) = 0. Далее по индукции проверяется, что 3 A(s) < - s 2 + sriog2s"|, откуда и следует (14). Из (14) по индукции выводится неравенство L(pk)^lpk+1k + pkk\log2p], а из него неравенство L(pks)<sL(pk)+pk\(s) 3s 3 < — pk+1k + pksk\log2p] + - « У + +P fc s[bg 2 «1 < ^pk+1k + pksk\\og2p-\ + 0(pk+1). Разлагая п в р-ичной системе n = n0pk + .. • + nk = N0 + Nu No = ™oPfc, (15) О быстром умножении 23 и применяя (5) и (15), находим, что L(n) ^ L(N0) + L(Ni) + iVi(3no/2 + 2) ^ L(ATi) 4- n0pfc(3pfc/4 -f fcriog2Pl) + 0(p f c + 1 ). Повторяя указанный прием, получаем неравенства Цп) < ( п о / + . •. + пк)к(Зр/4 + Г1оё2р1) -f 0(p f e + 1 ) ^ nfc(3p/4 -f riog 2 pl) 4- 0(pn) = 0(pnk). Обозначим В(п) сложность перехода от оптимального нормального базиса второ­ го или третьего типа к соответствующему стандартному или наоборот в поле GF(qn). Справедливо следующее обобщение теоремы 5. Теорема 8. Справедлива оценка В(п) = 0(pnlogpn). Доказательство. Доказательство в целом аналогично доказательству теоремы 5. Переход от нормального базиса BQ = { a , a 9 , . . . ,aqn~1} к базису { a i , . . . , a n } делается путем перестановки элементов, как и при доказа­ тельстве теоремы 5. Так как суммы элементов обоих базисов равны и равны следу элемента а, эта сумма принадлежит полю GF(q) и не равна нулю (иначе элемен­ ты базиса были бы линейно зависимы). Поэтому базис { a i , . . . , a n } эквивалентен базису { а о , . . . , a n _ i } и переход от одного из них к другому выполняется с линей­ ной сложностью подобно переходу от стандартного базиса к почти стандартному в доказательстве теоремы 5. Для оценки сложности перехода от базиса { а о , . . . , a n _ i } к стандартному базису { 1 , . . . , a n - 1 } и обратно используем вместо теоремы 4 теорему 7. 3.5. О мере близости нормальных базисов к стандартным Обозначим С*р(п) сложность перехода в поле GF(qn) от нормального базиса Ва к стандартному базису £/?, точнее, максимум из сложностей прямого и обратного преобразования координат в одном базисе к координатам в другом. Тогда C£(n) = minC»,(n) есть мера близости нормального базиса Ва к стандартным базисам. Очевидно, Введем еще две функции Cq(n) = minC"(n) И Cq{n) = max C%{n). 24 А. А. Болотов, С. Б. Гашков Тогда результаты предыдущих пунктов можно переформулировать следующим об­ разом. Если в поле GF(qn) существует оптимальный нормальный базис первого типа, то cq(n) ^ п- 1, а если нет, но существует базис второго или третьего типа, то cq(ri) ^ 0 ( n l o g 2 n ) . Используя метод Лупанова-Коновальцева (см. [12]) для оценки сложности про­ извольного n-мерного линейного оператора над полем GF(q), можно показать, что Cq(n) = 0(n2/ log, n). Теорема 9. Справедлива оценка Cq(n) — cq(n) ^ 2Mq(n) + п — O(nlognloglogn). Доказательство. Пусть сч(п) = С^(п), С„(п) = С£в(п). Тогда Cq(n) - cq(n) < С£0(п) - С£0(п). Очевидно, что сложность произведения линейных операторов не превосходит сумму их сложностей, поэтому Cq{n)-cq{n)^C^a{n\ где С^01^) — сложность перехода от нормального базиса Ва к нормальному базису ВА. Если базисы совпадают, то сложность, очевидно, равна нулю. В противном случае, как известно ([5, 6]), матрица перехода от нормального базиса к другому нормальному базису является циклической, также как и транспонированная к ней матрица замены координат в этих базисах. Сложность оператора с циклической матрицей равна сложности оператора так называемой циклической свертки, которая, как известно (см. например [3]), сводит­ ся к двум преобразованиям обычной свертки и п операциям сложения, а обычная свертка — это не что иное, как операция умножения двух многочленов степени п — 1. Отсюда и вытекает утверждение теоремы. Поведение функции cq(n) в общем случае авторам неизвестно. 4. 4.1. О сложности имплементации арифметических операций в конечных полях Об оценках сложности арифметических операций в конечных полях Пусть конечное поле GF(qn) представлено стандартным базисом В а , порожденным корнем а неприводимого над GF(q) многочлена д(х) степени п. Сложность опе­ рации умножения многочленов степени п - 1 над полем GF(q) обозначим Mq(n). Согласно [20], Mq(n) = O(nlognloglogn). О быстром умножении 25 Обозначим Mqg(ri) сложность операции умножения в указанном представлении поля GF(qn). Так как умножение в рассматриваемом случае сводится к умножению многочленов над полем GF(q) и последующему делению результата на многочлен д(х) с остатком, то независимо от выбора д(х) известна оценка Af'e(n)=3Af,(n) + 0(n), если пренебречь сложностью предварительного вычисления некоторого многочлена / ( х ) , зависящего только от д(х). Далее иногда будем опускать индексы в формуле м«». В некоторых случаях эту оценку можно улучшить. Действительно, если д(х) содержит к одночленов, то сложность редукции по модулю д(х) оценивается как кп и поэтому M * , ( n ) < M , ( n ) + (2fc + l)n, а в случае q = 2 соответственно Mlg(n) ^ Mq(n) + кп. С высокой вероятностью в качестве к можно взять 3, а если неприводимого трех­ члена степени п не существует, то, как проверено экспериментально, но не доказано теоретически, всегда можно взять к = 5, так как существует неприводимый пятичлен. О сложности алгоритмов генерации неприводимых малочленов см., например, [и]. В указанных выше оценках сложность аддитивных операций и умножения в поле GF{q) принимается за единицу. В случае q = 2 это естественно. Если же q = рк, где р — простое число, то естественно также оценить битовую сложность операции умножения в поле GF(q) как M(GF(q))^M(GF(p))M*(k), M(GF(p)) ^ 3M(log 2 p) + 0(log 2 p), где М(т) = 0(т log га log log m) — битовая сложность умножения т-разрядных дво­ ичных чисел. Отметим еще, что для р, являющихся простыми Мерсенна или Ферма, справедлива оценка M(GF(p)) ^ M(log 2 p) + 0(log 2 p). Для битовой сложность операции умножения в поле GF(qn) (при условии зада­ ния элементов поля их координатами в данном базисе В над полем GF(q)) справед­ лива оценка M(GF(qn)) < M(GF(q))M'Jn). Возведение в степень q элемента поля GF(qn) производится путем вставки ну­ лей в последовательность коэффициентов полинома, представляющего этот элемент, после чего производится редукция по модулю #, в результате (с учетом сделанного выше замечания) получаем (теоретически не доказанную) оценку сложности возве­ дения в степень Кя(п) = 0(п). Оценим сложность умножения в поле GF(qn) в случае использования оптималь­ ного нормального базиса первого типа и операций из поля GF(q). Для выполнения умножения переходим к стандартному базису согласно теореме 2 со (схемной) слож­ ностью 2п - 2, затем делаем умножение в стандартном базисе и переходим обратно к нормальному базису со сложностью п — 1. 26 А. А. Болотову С. Б. Гашков Согласно сделанному после теоремы 2 замечанию, получаем оценку M01(GF(qn)) < Msq{n) + In - 8. В случае базисов второго и третьего типа аналогично получаем оценку M°2(GF(qn)) < З М » + у log 2 n + 0(п), которая оказывается асимптотически в три раза хуже, так как в соответствующих стандартных базисах порождающий их неприводимый многочлен (вычисленный в теореме 6) оказывается нетривиальным и для редукции по его модулю приходится использовать для оценки Мд(п) указанную выше общую оценку. Далее через M°(GF(qn)) обозначаем минимальную сложность умножения в поле GF(qn) при условии задании элементов поля в некотором нормальном базисе. 4.2. Об оценках сложности экспоненцирования и инвертирования в конечных полях Заметим, что сложность возведения произвольного элемента поля GF(qn) в степень d < qn (при использовании операций из поля GF(q)) можно оценить, применяя некоторые результаты об аддитивных цепочках [4], как так как для возведения в степень d достаточно log^ d + 0(1) возведений в степень q и асимптотически log9 d/ Iog9 logg d нетривиальных умножений. Известно, что ДЛЯ почти всех d второе слагаемое по порядку нельзя уменьшить, но, например, для d = qn — 2 это сделать можно, опираясь на равенства q"-2 q2m _ j = q(qn-1-l) = ((?m _ + 1)(^m + q-2, ^ < 7 2 m + 1 - l = g ( g 2 m - l ) + (Z-l. Так как согласно тождеству Ферма f""1 = /*"~ 2 , для операции инвертирования в поле понадобится не более А2(га - 1) + 1ъ(п - I) + Ь§2Я + фэ&2Я) умножений и п - 1 возведение в д-ю степень, где A2(n) = flog2(n - 1)], a i/2(n) — число единиц в двоичной записи числа п. Поэтому для сложности инвертирования в стандартном базисе справедлива оценка I(GF(qn)) < (п - 1)Кя(п) + (Л2(п - 1) + i*(n - 1) + Iog2 q + o(log2 q))M(GF(qn)), и так же оценивается сложность деления D(GF(qn)). Оценим сложность инвертирования в оптимальных нормальных базисах (случай стандартных базисов изучался в [9]). Возведение в степень q выполняется бесплатно, поэтому справедлива оценка I°(GF(qn)) ^ (А2(п - 1) + v2(n - 1) + \og2q + o(log2q))M°(GF(qn)), О быстром умножении 27 которая справедлива только для тех п, для которых существуют такие базисы. Ана­ логично, сложность возведения в произвольную степень d < qn в оптимальных нор­ мальных базисах оценивается как 0(M°(GF(q"))\ogd \ 4.3. log log d • Еще об оценках сложности умножения в нормальных базисах Выше было показано, что сложность умножения в конечных полях при использова­ нии оптимальных нормальных базисов асимптотически остается такой же, как и в стандартных базисах. Но такие базисы существуют не для всех значений п. Далее мы приведем примеры других нормальных базисов, для которых сложность умно­ жения все еще остается меньшей, чем тривиальная квадратичная оценка. В [13] были приведены примеры нормальных базисов В, у которых функция сложности Св является линейной. Стандартный алгоритм умножения для таких базисов имеет квадратичную оценку сложности. Указанные базисы Ва порожда­ ются в полях GF(qn) элементами вида а = С 4- С7 + • • • + С7 » г Д е Р — кп + 1 — простое число, £ ~ примитивный корень р-й степени из единицы в поле GF(qkn), являющемся расширением поля GF(qn), 7 — примитивный кореньfc-йстепени из единицы в кольце вычетов порядка р, который вместе с q порождает всю мультип­ ликативную группу ненулевых вычетов по модулю р, то есть каждое число от 1 до fen представимо единственным образом в виде qxj^, О ^ j <fc,О ^ г < п. Известно, что в этом случае минимальным аннулирующим элемент £ многочле­ ном 7П£ над полем GF(q) является круговой многочлен Fp-i=xp'l + ... + l, и поле GF(qn) порождается стандартным базисом В$ = {1,£,... ,(кп~1}а ql ql 79 Так как элементы базиса В имеют вид a — ( 4- С * + •. • 4- С7 9 \ то есть являются суммами разных элементов почти стандартного базиса Б£ = {С, • • • , Скп}, матрица перехода от координат в базисе Ва к координатам в базисе ££ имеет по одной единице в каждой строке и поэтому соответствующее преобразование имеет нулевую схемную сложность (и линейную сложность в случае программной имплементации). Обратное преобразование (определенное, конечно, только на соответст­ вующем подпространстве) также по тем же причинам имеет нулевую схемную слож­ ность. Сложность прямого и обратного перехода от стандартного базиса В^ к почти стандартному базису В£ над полем GF(q) была фактически оценена в доказательст­ ве теоремы 2 и равна в рассматриваемом случаеfen— 1. Согласно сделанному после теоремы 2 замечанию, получаем оценку сложности умножения в базисе В^ M lFkn(kn) < (Мя(кп) + *кп ~ 5)> откуда получаем оценку сложности умножения в нормальном базисе Ва M°(GF{qn)) ^ (М°(кп) + 7fcn - S)M(GF(q)). (16) А. А. Болотов, С. Б. Гашков 28 В случае А; = 1,2 рассматриваемые базисы являются базисами первого и вто­ рого типов и при к = 1 полученная оценка превращается в оценку, приведенную в предыдущем пункте. Отметим, что идея использования в этом случае перехода к стандартному базису В$ впервые, видимо, появилась в сообщении Д. Дама (пред­ ставленном в Интернете). При к = 2 указанная оценка асимптотически несколько лучше оценки M°2{GF{qn)) Чет < (3M|(n) + — log 2 n + 0(n))M(GF(q)), полученной выше для базисов как второго, так и третьего типов, так как М*(2п) асимптотически меньше ЗМ*(п), но практически вопрос сравнения этих оценок не так очевиден. При больших к эффективность оценки (16) ухудшается, но при к = 0(п1~£) она еще остается бесконечно малой в сравнении с квадратичной оцен­ кой. 4.4. О произведениях базисов Известна следующая конструкция (кронекерова) произведения базисов (см., напри­ мер, [5, 6]). Пусть тип — взаимно простые числа, а Bi = {c*i,... ,с* п }, В2 = {/?i,... ,0т} — произвольные базисы в полях GF(qn) и GF(qrn) соответственно. Тогда пересече­ ние этих полей совпадает с полем GF(q), и оба поля содержатся в поле GF(qnrn), базисом в котором (над полем GF(q)) будет произведение базисов Вг®В2 = {ai/?b... ,an/?m}. Произведение стандартных базисов не будет стандартным базисом и нетривиаль­ ной оценки меры близости этого базиса к стандартному авторам неизвестно. Однако для этого произведения базисов сложность умножения в поле GF(qnm) легко оце­ нивается: MBl®B2(GF(qnm)) ^ MBl(GF(qn))M°nJm) < M°tf(n)M°,.Jm), (17) где д — неприводимый полином степени га над полем GF(q), порождающий базис #2, а / ~~ неприводимый полином степени п над полем GF(q)1 порождающий базис BiОднако, как известно [5, 6], произведение Ва ® В& нормальных базисов а В С GF(qn) и В@ С GF(qm) с точностью до перестановки элементов совпадает с нормальным базисом В 7 С GF{qnm), 7 = <*0. Рассмотрим также произведение стандартных базисов Ва ® В р. Легко видеть, что сложность перехода от базиса Ва <g) B& к базису Ва <8> Вр оценивается сверху величиной n C ^ ( m ) + mC«a(n). (18) О быстром умножении 29 Действительно, если произвольный элемент поля GF(qnm) базисах как n-lm-l n—lm—l i=0 j=0 г=0 j=0 записывается в обоих ЕЕ*<>^ = ЕЕ<>"^ то для преобразования матрицы (xiyj) над полем GF(q) в матрицу (x^j) над тем же полем достаточно п раз выполнить (в соответствующую сторону) преобразование Су Jm) над строками матрицы (xi,j)5 чтобы получить равенство п—1 т—1 п—1 9< т—1 Е« Е*^ = Е ^ Е < ^ г=0 j=0 i=0 j=0 а потом т раз выполнить преобразование CqOL(n) над столбцами полученной мат­ рицы {х"А над тем же полем GF(q), чтобы получить равенство п—1 т— 1 т—1 тг—1 n-lm-l $>' 5; <,/? = £ ^ £*;><* = Е Е < ^ г=0 j=0 j=0 г=0 г=0 j=0 Из (17) и (18) следует, что при подходящем выборе элементов а и /3 (или, что то же самое, многочленов / и д) и при j — а/3 для сложности умножения в нормальном базисе в поле GF(qnm) справедлива оценка M°(GF(q™)) < MB,{GF{q™)) ^ M°f{n)M*„g(m) ^ M°qJ{n)Msq^g{m) + nC^{m) + тС£а(п) + nc g (m) + mcq{n). Учитывая оценку Шенхаге [20] и указанную выше тривиальную оценку для cq(m), получаем, что M°{GF(qnrn)) — 0(nm log n log m log log n log log m) + 0(nra)(ra + n)/logq(n + m). Для получения оценки битвой сложности нужно приведенные оценки, естественно, умножить на M(GF(q)). В случае, когда для сд(га) или ся{п) имеются нетривиальные оценки, например, когда для п и га существуют оптимальные нормальные базисы, последнее слагаемое можно заменить на меньшее, например, в последнем случае его можно заменить на 0(nm) log 9 (n +га).Последнее утверждение очевидным образом распространяет­ ся и на случай кронекерова произведения нескольких базисов. В указанном случае последнее слагаемое очевидно поглощается первым и может быть опущено. Кронекерово произведение базисов можно определить и в случае, когда т и п н е обязательно взаимно простые числа, но тогда базис В% = {/?i,... ,/? w } выбирается в поле GF(qnm) и над полем GF(qm). Для произведения стандартных базисов для сложности умножения в поле GF(qnm) опять справедлива оценка MB^B2{GF{qnm)) ^ М1,(п)М^д(т), (19) но здесь д — неприводимый полином степени га над полем GF(qn), порождающий базис В2- А. А. Болотову С. Б. Гашков 30 Рассмотрим произведение Ва (g> В0 нормальных базисов Ва С GF(qn) и В0 С GF(qmn), последний из которых — базис над полем GF(qn). Это произведение ба­ зисов само не является нормальным базисом, но очевидно, что возведение в степень qn в нем тоже сводится к перестановке координат, но уже не циклической. Поэтому схемная сложность возведения в степень qn в этом базисе, как и в нормальном, равна нулю, и такой базис тоже можно использовать для уменьшения сложности экспоненцирования и инвертирования в поле GF(qnm), если получить для него алгоритм умножения невысокой сложности. Для этого, как и выше, рассмотрим произведение соответствующих стандартных базисов Ва ®Вр.В рассматриваемом случае сложность перехода от базиса Ва ® В& к базису Ва <8> В@ оценивается сверху величиной С^,0(т)+тС£а(п). (20) Действительно, если произвольный элемент поля GF(qnm) базисах как п— 1т— 1 n-lm-1 г = 0 .7=0 г=0 j = 0 записывается в обоих то для преобразования матрицы (xij) над полем GF{q) в матрицу {x[j) над тем же полем достаточно га раз выполнить преобразование С*а(п) над строками матрицы (х^), чтобы получить равенство п —1 • г=0 т— 1 пг—1 п—1 j=0 j=0 i=0 а потом один раз выполнить преобразование С^п^(т) над столбцами полученной матрицы {x'(j) над полем GF(qn), чтобы получить равенство т— 1 п—1 n-lm-1 j=0 г=0 г=0 .7=0 Из (19) и (20) следует, что при подходящем выборе элементов а и /3 (или, что то же самое, многочленов /ид) сложность умножения в поле GF(qnm) в некотором базисе с бесплатным возведением в q-ю степень оценивается сверху величиной M8qJ{n)M3qr^g{rn) -f cqr>(m) 4- mcq(n). Учитывая оценку из [20] и указанную выше тривиальную оценку для cqn (m), отсюда опять получаем, что M°(GF(qnm)) = 0(nm log n log m log log n log log m) + 0(nm)(m 4- n)/logq(n + m). Для получения оценок битовой сложности нужно приведенные выше оценки умно­ жить на M(GF(q)). О быстром умножении 31 Список литературы 1. Берлекемп Е., Алгебраическая теория кодирования. Мир, Москва, 1971. 2. Болотов А. А., Гашков С. Б., Фролов А. Б., Часовских А. Б., Алгоритмические основы эллиптической криптографии. Изд-во МЭИ, Москва, 2000. 3. Гашков С. Б. Чубариков В. Н., Арифметика. Алгоритмы. Сложность вычислений. Высшая школа, Москва, 2000. 4. Кнут Д., Искусство программирования на ЭВМ, т. 2. Мир, Москва, 1977. 5. Лидл Р., Нидеррайтер Г., Конечные поля. Мир, Москва, 1988. 6. Jungnickel D., Finite fields: structure and arithmetics. B. I.-Wissenschaftsverlag, Man­ nheim, 1993. 7. von zur Gathen J., Gerhard J., Modern computer algebra. Cambridge Univ. Press, Cam­ bridge, 1999. 8. Болотов А. А., Гашков С Б . , Фролов А. Б., Часовских А. Б., О методах реализации умножения многочленов над конечными полями. Вестник МЭИ (2000), №3, 33-40. 9. Болотов А. А., Гашков С Б . , Фролов А. Б., Часовских А. Б., О методах имплементации арифметических операций в конечных полях. Вестник МЭИ (2000), №4, 24-32. 10. Болотов А. А., Гашков С Б . , Фролов А. Б., Часовских А. Б., Программные и схемные методы умножения многочленов для эллиптической криптографии. Известия РАН. Теория и системы управления (2000), №5, 66-75. 11. Болотов А. А., Гашков С Б . , Хохлов Р. А., О сложности алгоритмов построения непри­ водимых трехчленов и пятичленов над конечными полями. Интеллектуальные систе­ мы (1999) 4, №3-4, 12-34. 12. Коновальцев И. Б., Об одном алгоритме решения линейных уравнений в конечных полях. Пробл. киберн. (1967) 19, 269-274. 13. Ash D. W., Slake I. F., Vanstone S. A., Low complexity normal bases. Discrete Appl. Math. (1989) 25, 191-210. 14. Gao S., Lenstra H. W., Optimal normal bases. Design, Codes and Cryptography (1992) 2, 315-323. 15. Gao S., Vanstone S. A., On orders of optimal normal basis generators. Math. Comput. (1995) 64, 1227-1233. 16. Gao S., von zur Gathen J., Panario D., Gauss periods: orders and cryptografical applica­ tions. Math. Comput. (1998) 67, 343-352. 17. Gashkov S., Kochergin V., On addition chains of vectors, gate circuits, and the complexity of computation of power. Syberian Adv. Math. (1994) 4, 1-16. 18. von zur Gathen J., Giesbrecht M., Constructing normal bases in finite fields. J. Symbolic Comput. (1990) 10, 547-579. 19. Mullin R. C., Onyszchuk I. M., Vanstone S. A., Wilson R. M., Optimal normal bases in GF(pn). Discrete Appl. Math. (1988/89) 22, 149-161. 20. Schonhage A., Schnelle Multiplikation von Polynomen iiber Korpern der Charakteristik 2. Acta Informatica (1977) 7, 395-398. 21. Seguin J. E., Low complexity normal bases. Discrete Appl. Math. (1990) 28, 309-312. 22. Семаев И. А. Конструкция неприводимых полиномов над конечными полями с линейно независимыми корнями. Матем. сб. (1989) 63, 507-519. 23. Сидельников В. М., О нормальных базисах конечного поля. Матем. сб. (1987) 133, №4, 497-507. Статья поступила 10.10.2000.