УДК 512.624: 003.26 Кр.Л. Глуско, С.С. Титов
Арифметический алгоритм решения квадратных уравнений в конечных полях характеристики два
Рассмотрены арифметические задачи в конечных полях характеристики два, которые могут иметь криптографические приложения. На основе построения нормальных базисов с помощью симметричного квадратичного расширения предложен алгоритм решения квадратных уравнений через обобщённую формулу полуследа. Рассмотрены примеры.
Ключевые слова: конечное поле характеристики два, нормальный базис, формула полуследа квадратное уравнение.
Задача решения квадратных уравнений в конечных полях
В современных каналах связи используются многобитовые последовательности, которые можно интерпретировать как элементы конечных полей. Поэтому важной задачей становится поиск решений уравнений в полях больших степеней и представление их в виде битовых строк.
В теории конечных полей одним из актуальных вопросов является решение квадратных уравнений, что нашло применение и в других областях дискретной математики. В эллиптической криптографии, к примеру, это позволяет в два раза уменьшить количество бит для хранения точек эллиптической кривой [1, 2] при реализации криптографических примитивов.
Имеется отличие в задачах решения квадратных уравнений в полях различной характеристики. Решение квадратных уравнений в простых полях нечётной характеристики приводит к задаче вычисления символа Лежандра [2]. Решение же квадратных уравнений в полях характеристики два имеет свою специфику, поскольку решаемое уравнение в стандартном виде оказывается линейным.
Рассмотрим алгоритм решения квадратных уравнений в конечных полях характеристики два. Для полноты изложения дальнейших рассуждений напомним некоторые теоретические понятия.
След - линейная операция ТгР/К, отображающая элементы поля Р в элементы поля К, обладающая свойствами идемпотентности, коммутативности, ассоциативности и дистрибутивности [3]. Различают понятия абсолютного и относительного следа элемента поля. В поле бр(д), где q = рп, фор-
п п-1
мула абсолютного следа элемента поля имеет следующий вид: Тг(2) = 2 + 2 + 2р +...+ 2р Є ОР^) и может принимать значения {0, 1, ..., р— 1}.
Если поле Р = ОР^т) является расширением поля К = ОР^), то речь уже идет о вычислении относительного следа ТгР/К(2) элемента поля ОР^т). Значение следа элемента часто является определяющим для выполнения тех или иных условий.
Любое квадратное уравнение в поле характеристики два приводится к стандартному виду х2 + х = = 2, где г - данный элемент этого поля; х - искомый корень [1, 2]. В книге [2, с. 80] представлен пример такого приведения для несуперсингулярных эллиптических кривых: уравнение вида У2 + хУ + +Дх) = 0 при подстановке У = хТ принимает вид + х12 + Дх) = 0, и при х Ф 0 оно эквивалентно
уравнению Т + Т + о = 0, где о = Дх)/х~2.
Для решения такого квадратного уравнения при Тг(2) = 0 в конечных полях ОР(2п) при нечетном
4 16 2П-1 2П
п используется так называемая формула полуследа: Бг(2) = х = 2 + 2+ 2 + ... + г ; причём 2 =
2 [1, 2, 4].
Утверждение 1. Формула полуследа дает решение квадратного уравнения с нулевым следом в поле ОР(2п), где п нечетное.
В книге [1] решение квадратного уравнения в полях ОР(2п), где п четное, сводится к системе линейных уравнений, вычисление которой довольно громоздко и требует временных затрат. Трудность задачи поиска формулы решения для четной степени иллюстрирует следующее
2!і
Утверждение 2. При четном п не существует линеаризированного многочлена вида 2 = ^ а
(Б - подмножество в {0, 1, ..., п-1}), дающего решение квадратного уравнения 22 + 2 = а.
Можно ставить задачу и как поиск многочлена, корень которого является решением квадратного уравнения
22 +
2 = а в поле ОР(2п) [5, 6], где п четное, при этом стоит еще раз отметить, что в бинарных полях квадратное уравнение является линейным.
Для поиска решения уравнения больших степеней можно использовать идею расширения полей: зная формулу решения квадратного уравнения в полях ОР(2п), где п нечетно, и, зная формулу решения этого уравнения в полях ОР(2*), мы можем найти формулу решения в поле ОР(2пк), к = 2Г, г = 1, 2, 3, ... .
Построение нормальных базисов с помощью квадратичного симметричного расширения
Решение уравнения может быть представлено в стандартном базисе, т.е. базисе вида {1, X, X2, X3, ..., Хп-1}, но мы воспользуемся разложением в нормальном базисе, т.е. базисе вида {а, а2, а4, а8,
2«-1
., а }, где X и а - корни неприводимого многочлена степени п. Задача построения нормальных базисов является нетривиальной, например, требуется, чтобы Тг (в) = 1, поэтому для построения ба-
п—1
зиса {а, а2, а4, а8, ..., а } используем операцию симметричного квадратичного расширения, формула которого такова: а = в + в- , где а является элементом поля Р, в является элементом поля К, а поле К является расширением поля Р.
Необходимо рассмотреть алгоритм построения нормальных базисов при квадратичном симметричном расширении полей.
2 2п—1 2
Возьмем нормальный базис {а, а, ..., а }, а Є ОР(2п), примем в Є ОР(2 п) как результат
симметричного квадратичного расширения поля ОР(2п), то есть а = в + в-1; таким образом, в -
корень квадратного уравнения в2 + в + 1 = 0. Пусть - корень многочлена Д(х) степени п. Из
нормальности базиса вытекает, что Дх) неприводим. Элемент в является корнем многочлена Р(х)
степени 2п, связанного с Дх) соотношением Р(х) = хДх + х-1). Многочлен Р(х) = хпД(х + х-1) является
2 22 п—1
самовозвратным. Исследуем вопрос: когда множество {в, в , •••, в }также будет нормальным
базисом, но уже в поле ОР(22п)? Если Р(х) приводим, то все степени элемента в лежат в поле ОР(2п)
и поэтому не могут образовывать требуемый базис. Многочлен Р(х) будет неприводимым тогда и
-1 -1 2п
только тогда [7], когда след а равен единице; в этом случае справедливо равенство в = в .
В таком случае потребуем от а равенства единице её антиследа, то есть следа а-1: Тг( а-1) = а-1 + ... +
—2п—1
+ а = 1 ф 0. Это требование является существенным.
Из определения нормальности базиса следует: а + ... + а ф 0, т.е. (абсолютный) след элемента равен единице, более того, нормальность исходного базиса равносильна тому, что для
2? 2 1 2^
любого подмножества {?, j, ..., к} множества {0, 1, ..., п-1} сумма а + а + ... + а не равна
2 т} п-1
нулю. Предположим от противного, что элементы множества {в, в , ..., в } линейно зависимы
2? 2j 2к
над полем из двух элементов, т.е. в + в + ••• + в = 0, где {?, 1, ., к} — подмножество множества
{0, 1, ., 2п-1}. Возводя это равенство в степень 2п, получим:
лП г)! гук
(в2 )2 + (в2 )2 + ... + (в2 )2 = 0; (1)
в -2 + в -2! + в -2к = 0. (2)
Сложив выражение (2) и первоначальное в2+ в2 + ••• + в2 = 0, получим (в2 + в 2 ) +
+ (в2 + в2 ) + ••• + (в2 + в2 ) = 0. С учетом выражения а = в + в-1 оно приобретает вид
2 , 21 , , 2к п а + а + ... + а = 0.
2^ 20
Как известно, а = а = а для любого а С СР(2”). Значит, из-за линейной независимости
степеней а числа ?, 1, ..., к разбиваются на пары равных степеней по модулю п, т.е. для а С СР(2”)
множество {/,1, ..., к} преобразуется в {/ь ?1 + п, ..., тт, ?т + п}:
21 + + 2к ( 2г1 + 2г1 +п ) + ( 2Л + 2Л+п ) + + ( 2к1 + 2к1+п ) 0 (3)
а + . + а = ( а + а ) + (а + а ) + ... + (а + а ) = 0. (3)
2?+п 2 . 2п 2? 2п 2?
На основании свойств степеней для а С СР(2п) имеем равенство а = а = (а) = а,
поэтому в выражении (3) все суммы в скобках равны нулю.
2 21 ок 21 2г1+n 9гm ^т+п
Для в получим следующее равенство: в + в +.+ в = (в + в ) +• • + (в + в ).
Ввиду самовозвратности и неприводимости характеристического многочлена выражение
примет вид,(в21 + в2,+п ) +...+ (в2т + р2'т +п ) - (в21 + в-2'‘ ) +...+ (в2'т + в-2'т ) - (в + р-1)2'1 +
+ (в + в-1)2т = а21 + ... + а2'т - 0, где {;, ., /m} - подмножество множества {0, 1, ..., п -1}, что противоречит утверждению о нормальности базиса {а, а2, ..., а°п 1 }.
2 22п—1
Таким образом, наше предположение неверно, и множество {в, в , •••, в } является нормальным базисом. Итак, доказана
2 2п—1
Теорема 1. Если множество {а, а , ..., а } является нормальным базисом в поле ОР(2п), -1 -1 2 2 22 п—1
след а равен единице и а = в + в , в Є ОР(2 п), то множество {в, в , •••, в } также будет
нормальным базисом в поле ОР(22п).
Таким образом, взяв а корень многочлена а2 + а+1 = 0 в поле ОР(2т), т = 2', можно
последовательно построить нормальные базисы в полях ОР(2т), где т = 2к.
Выпишем [8] первые многочлены, определяющие эти нормальные базисы:
Д(х) = х + 1;
£>2(х) = х2+ х + 1;
А(х) = х4 + х3 + х2 + х + 1;
£4(х) = х8 + х7 + х6 + х4 + х2 + х + 1;
^(х) = х16 + х15 + х14 + х13 + х12 + х" + х8 + х5 + х4 + х3 + х2 + х + 1;
Б6(х) = х32 + х31 + х30 + х28 + х27 + х26 + х24 + х22 + х17 + х16 + х15 + х10 + х8 + х6 + х5 + х4 + х2 + х + 1.
Метод решение квадратных уравнений в конечных полях Вернемся к решению квадратного уравнения х2 + х = а.
2 2к-1
Возьмем нормальный базис { , 2, ., } для разложения:
2 4 2k-1
x = ax0 +a xi +a xo +... + a xk-l,
2 4 2k-1
a = aa0 +a al +a ao +... + a ak-l,
2 2 4 В ok-1 ok
x =a x0 +a xi +a xo +... + a xk-2 +a xk-1.
(4)
ok -1
Сложим эти уравнения и вынесем общие множители :
а(х0 + а() + Хк— 12) + а2(х1 + щ + х(?) + а4(х2 + а2 + Х12) + ... + а2 (х—1 + ак— 1 + Хк—22) = 0.
Преобразуем систему (4), с учетом необходимого условия равенства нулю множителей степеней
Х0 + а0 + Хк -12 = 0,
xi + al + x0 = 0, x2 + a2 + xi2 = 0,
(5)
(6)
xk _! + ak_i + xk-2 = 0.
Общий вид таких множителей имеет вид xi + ai + xi-i2 = 0, i-i (mod k), xit ai G GF(2n), где n
нечетное, k = 2r, r = i, 2, 3, ... .
Для примера возьмем r = 2, тогда k = 4.
2
xo + ao + x3 = 0,
2
xi + ai + xo = 0,
x2 + a2 + xi2 = 0,
2
x3 + a3 + x2 = 0.
Выразим x3 в 1-м уравнении из 4-го, затем x2 из 3-го и x1 из 2-го:
x0 = a0 + x32 = a0 + [a3 + x22]2 = a0 + [a3 + (a2 + x12)2]2 = a0 + a32 + a24 + a18 + x016; x016 + x0 = b0, где b0 = a0 + a32 + a24 + ai8.
Приняв F(x0) = x02 + x0, выражение x016 + x0 можно представить как F(F(F(F(x0)))).
Это подтверждает, что к должно является степенью 2, а не просто натуральным числом, чтобы сократились все степени, кроме 20 и 2к. Представим это выражение в общем виде:
2 2 2 2 4 2к-1 2к
x0 = a0 + xk-i = a0 + [a— + xk-2 ] = ■■■ = a{) + a— + ak-2 + ■■■ + ai + x0 .
2k
Таким образом, общий вид уравнения x0 + x0 = b0 и b = F(F(F(...(F(x)))), число итераций F
равно k. Отсюда получаем формулу x0 = (F^1(F^1(F^1(.(F^1(b0)))), где F~l(x) = Sr(x).
В книге [2, с. 79] приведен пример решения квадратного уравнения суперсингулярной эллиптической кривой У2 + У = X + X + 1 над полем ОР(24) = ОР(2)(Х), где X есть корень неприводимого многочлена 1 + X + X4.
Отсюда получаем 1 + X + X4=0. Выразим X4 = 1 + X = (1, 0, 0, 0) + (0, 1, 0, 0)= (1, 1, 0, 0).
Авторы выбрали элемент X = х = {х0, х1, х2, х3} = (1, 0, 0, 0). Подставим его в уравнение Xі + X + + 1 = X3 + X + (1, 0, 0, 0) = (1, 0, 0, 0)3 +(1, 0, 0, 0) + (1, 0, 0, 0) = (1, 0, 0, 0). При подстановке (1, 0, 0, 0) в выражение стандартного базиса X получаем: (1, 0, 0, 0) = 1 + 0X + 0X2 + 0X3 = 1.
Решение уравнения у2 + у = (1, 0, 0, 0) приведено в стандартном базисе у = у0 + у^ + у^2 + у^3, полученные решения (0, 1, 1, 0) и (1, 1, 1, 0), т.е. X + X2 и 1+ X + X2.
Решим это уравнение в нормальном базисе {в, в2, в4, в8}, где в является корнем неприводимого многочлена в4 + в3 + в2 + в + 1 = 0, полученного с помощью симметричного квадратичного расширения многочлена 2 + + 1 = 0.
Итак, мы имеем уравнение а0в + а1в2 + а2в4 + а3в8 = 1. Оно равносильно уравнению в4 + в3 + + в2 + в + 1 = 0 в поле ОР(24), поэтому элементы а0 = а1 = а2 = а3 = 1.
Система (6) примет вид
х0 + х32 = 1,
2
х1 + х0 =1, (7) х2 + х12 =1,
2
х3 + х2 = 1.
Решая ее в поле ОР(2), получаем два решения у1 и у2 этого уравнения, а именно (0, 1, 0, 1) и (1, 0, 1, 0), т.е. у = в4 + в, у2 = в8 + в2.
Для проверки соответствия с [2] необходимо перевести полученные решения в стандартный базис {1, X, X2, X3}. Порядок неприводимого многочлена в4 + в3 + в2 + в + 1 равен пяти (оМ = 5), а для
многочлена 1 + X + X4 порядок оМ = 15. Отсюда следует, что можно принять в = X3.
у1 = в4 + в = X3 + X12 = X3 + X3 + X2 + X + 1 = X2 + X + 1 = (1, 1, 1, 0); у2 = в8 + в2 = X6 + X9 = X3 + X2 + X3 + X = X2 + X = (0, 1, 1, 0).
Этот результат совпадает с приведённым в [2].
Рассмотрим уравнение у2 + у = а при п = 5, 5 = 2, к = 22 = 4. Таким образом, решение будет лежать в поле ОР(220), полученном расширением полей ОР(25) и ОР(24).
Необходимое и достаточное условие разрешимости уравнения в поле ОР(220) есть
219
Тг(а) = а + а2 + ... + а = (а0в + а1 в2 + а2 в4 +а3 в8) + (а32в + а02в2 + + а12в4 +а22в8) + • • • + (а116в + + а216в2 + а316в4 +а016в8) = 0. Сумма коэффициентов при степенях в будут соответственно равны следам элементов а0, а1, а2 и а3 а именно: Тг(а0) + Тг(а1) + Тг(а2) + Тг(а3). В связи с линейной независимостью элементов базиса {в, в2, в4, в8} получаем: Тг(а0) + Тг(а1) + Тг(а2) + Тг(а3) = 0 в поле ОР(25), в силу того, что операция возведения в квадрат является автоморфизмом поля ОР(220) (который называют автоморфизмом Фробениуса), Тг(а0 + а1 + а2 + а3) = 0. Отсюда имеем условие, что следы элементов а0, а1, а2 и а3 в сумме дают 0.
На основании теории, представленной выше, решение квадратного уравнения в нормальном базисе можно представить так: х0в + х1в2 + х2в4 + х3в8 = а.
Последовательной подстановкой находим х0: х0= Бг(Ьс2) = Ь + Ъ(2 + &08 = а0 + а3 + а24 + а18 + ас2 + а34 + а2 + а116 + а08 + а316 + а2 + а12.
По аналогии находим другие значения: х1, х2, и х3.
К примеру, а0 = к = (0, 1, 0, 0, 0); а1 = к2= (0, 0, 1, 0, 0); а2 = к= (0, 1, 0, 0, 0); а3 = к3= (0, 0, 0, 1, 0),
где к - корень уравнения к5 + к2 + 1 = 0.
Найдем побитно решения первоначального квадратного уравнения:
х0 = к + к6 + к4 + к16 + к2 + к12 + к8 + к32 [=к] + к8 + к48 [=к17] + к + к4 = (к3 + к) + (к4 + к3 + к + 1) +
+ к2 + (к3 + к2 + к) + (к4 + к + 1) + к = к3 + к = (0, 1, 0, 1, 0).
х1 = к3 + к = (0, 1, 0, 1, 0), х2 = к + к2 = (0, 0, 1, 1, 0), х3 = к4 + к + 1 = (1, 1, 0, 0, 1).
Таким образом, запишем корни уравнения у2 + у = а в поле ОР(220) при а0 = к, а1 = к2, а2 = к,
а3 = к3, где к - решение уравнения к5 + к2 + 1 = 0, как битовую строку: у1 = х0в + х1в2 + х2в4 + х3в8 =
= (0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1).
Второй корень получим из условия линейной независимости элементов базиса путем инвертирования: у2 = (1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0).
Заключение
Таким образом, описанный метод дает возможность быстро найти корни квадратных уравнений х2 + х = а в полях ОЕ(2т) при любых т, что упрощает процедуру решения и сокращает временные затраты. После представления этих решений в виде битовых строк их можно передавать по каналам связи. Это позволяет унифицировать и оптимизировать процесс решения.
Итак, в данной статье рассмотрены арифметические алгоритмы, такие как построение нормальных базисов посредством симметричного квадратичного расширения конечных полей характеристики два и решение квадратных уравнений в этих полях, что имеет применение в криптографии и теории передачи информации.
Литература
1. Логачев О.А. Булевы функции в теории кодирования и криптологии / О.А. Логачев, А.А. Сальников, В.В. Ященко. - М.: МЦНМО, 2004. - С. 41-53.
2. Болотов А.А. Элементарное введение в эллиптическую криптографию: Протоколы криптографии на эллиптических кривых / А.А. Болотов, С.Б. Гашков, А.Б. Фролов. - М.: КомКнига, 2006. -С. 76-81.
3. Лидл Р Конечные поля / Р. Лидл, Г. Нидеррайтер. - В 2 т. - Т. 1: Пер. с англ. - М.: Мир,
1988. - С. 74-75.
4. Глуско Кр.Л. След и полуслед в конечных полях // Матер. науч.-техн. конф., посвящ. 55-летию УрГУПС: В 2 т. Т. 1: Екатеринбург, 2011. - вып. 97(180), - 1 электрон. опт. диск (СБ-ЯОМ). - С. 356-364.
5. Медведев Н.В. Почти-пороговые схемы разделения секрета на эллиптических кривых / Н.В. Медведев, С.С. Титов // Доклады ТУСУРа. - 2011. - № 1 (23), ч. 1. - С. 91-96.
6. Титов С.С. Генерация неприводимых многочленов, связанных степенной зависимостью корней / С.С. Титов, А.В. Торгашова // Доклады ТУСУРа. - № 2 (22), ч. 1. - С. 310-318.
7. Демкина О.Е. Рекуррентное вычисление неприводимых многочленов в задачах двоичного кодирования / О.Е. Демкина, С.С. Титов, А.В. Торгашова // Молодые ученые - транспорту: Тр. IV науч.-техн. конф. - Екатеринбург: УрГУПС, 2003. - С. 391-404.
8. Глуско К.Л. Специфика проблем связи и управления на транспорте / К.Л. Глуско, С.С. Титов // Инновационный транспорт. - Екатеринбург: УрГУПС. - 2012. - № 2 (3). - С. 44-50.
Глуско Кристина Леонидовна
Аспирант, ассистент каф. высшей и прикладной математики УрГУПСа, г. Екатеринбург
тел.: 8-922-608-52-2i
Эл. почта: gluskokrl@rtural.ru
Титов Сергей Сергеевич
Д-р физ.-мат. наук, профессор каф. высшей и прикладной математики УрГУПСа
Тел.: 8-950-i94-88-8i
Эл. почта: sergey.titov@usaaa.ru
Glusko Kr.L., Titov S.S,
Arithmetic algorithm for solving quadratic equations in finite fields of characteristic two
The paper considers the problem of arithmetic in finite fields of characteristic two, which may have cryptographic applications. Based on the construction of normal bases by using a symmetric quadratic extension of an algorithm for solving quadratic equations by the generalized formula semitrace. Examples considered. Keywords: finite field of characteristic two, normal basis, the formula semitrace, quadratic equation.