УДК 004.056.5
АЛГОРИТМ НАХОЖДЕНИЯ МИНИМАЛЬНОГО ЭЛЕМЕНТА я-МЕРНОЙ РЕШЕТКИ БЕРНШТЕЙНА НАД ПОЛЕМ РАЦИОНАЛЬНЫХ ФУНКЦИЙ Г (х)
© 2015 г. В.М. Деундяк, Е. С. Чекунов
Деундяк Владимир Михайлович - кандидат физико-математических наук, старший научный сотрудник ФГНУ НИИ «Спецвузавтоматика», пер. Газетный, 51, г. Ростов н/Д, 344002; доцент, кафедра алгебры и дискретной математики, Институт математики, механики и компьютерных наук Южного федерального университета, ул. Мильчакова, 8а, г. Ростов н/Д, 344090, e-mail: vlade@math.sfedu.ru
Чекунов Евгений Сергеевич - магистр, кафедра алгебры и дискретной математики, Институт математики, механики и компьютерных наук Южного федерального университета, ул. Мильчакова, 8а, г. Ростов н/Д, 344090, e-mail: echekunov@gmail.com
Deundyak Vladimir Mikhailovich - Candidate of Physical and Mathematical Science, Senior Researche, NII «Specvu-zavtomatika», Gazetny Lane, 51, Rostov-on-Don, 344002, Russia; Associate Professor, Department of Algebra and Discrete Mathematics, Institute of Mathematics, Mechanics and Computer Sciences of the Southern Federal University, Milchakov St., 8a, Rostov-on-Don, 344090, Russia, e-mail: vlade@math.sfedu.ru
Chekunov Evgeniy Sergeevich - Master Student, Department of Algebra and Discrete Mathematics, Institute of Mathematics, Mechanics and Computer Sciences of the Southern Federal University, Milchakov St., 8a, Rostov-on-Don, 344090, Russia, e-mail: echekunov@gmail.com
Рассматривается задача нахождения минимального элемента n-мерной решетки Бернштейна над полем рациональных функций (x). Решение строится на основе алгоритма Ленстры приведения базиса решетки. Для n-
мерной решетки Бернштейна доказывается теорема существования минимального элемента и его связь с приведенным по Ленстре базисом. Приводится алгоритм решения задачи и доказательство его корректности. Полученный результат применяется в математической модели списочного декодера Бернштейна и используется для усиления защиты кодовых криптосистем типа Мак-Элиса.
Ключевые слова: n-мерные решетки, минимальный элемент решетки, списочный декодер Бернштейна, алгоритм Ленстры.
The problem is considered of finding the minima of n-dimensional Bernstein lattice over rational functional fields F^m (x). The solution is based on the Lenstra lattice basis reduction algorithm. For n-dimensional Bernstein lattice it is
proved the existence of a minima element and its connection with the Lenstra reduced basis. An algorithm for solving the problem and the proof of correctness are presented. The result is applied in the mathematical model of Bernstein list decoder and it is used to enhance the protection of McEliece-like code-based cryptosystems.
Keywords: n-dimensional lattices, lattice minima, Bernstein list decoding algorithm, LLL algorithm.
В последнее время в разнообразных задачах защиты информации все чаще применяются мощные методы теории кодирования, в частности, интенсивно разрабатываются и исследуются новые кодовые криптосистемы [1]. В связи с этим актуальной является задача усиления защиты кодовых криптосистем типа Мак-Элиса [2] от несанкционированного доступа (НСД), которую можно решать за счет как подходящего выбора помехоустойчивого кода, так и применения современных методов кодирования и декодирования. Известно, что классическая криптосистема Мак-Элиса на бинарных кодах Гоппы до сих пор является стойкой к структурным атакам [3-6]. Однако для нее существуют детерминированные алгоритмы атак на шифрограмму (см., например, [3, 4]). Чтобы противостоять таким атакам, в работе [3] предложено усилить стойкость криптосистемы за счет увеличения параметров кода и замены стандартного метода декодирования Паттерсона на списочный декодер Бернштейна [7], что позволяет
вносить предусмотренные протоколом дополнительные зашумляющие помехи.
В работе [8] представлена математическая модель списочного декодера Бернштейна [7], с помощью которого можно дополнительно исправлять (ё -1)2/8п ошибок в случае бинарного сепара-бельного [п, к, ё] -кода Гоппы. В модели декодера Бернштейна задача нахождения минимального элемента заданной и-мерной решетки Бернштейна над полем рациональных функций Г (х) является
ключевой. В настоящей работе она решается на основе использования алгоритма Ленстры [9].
Решетки над кольцами многочленов
Пусть х] - кольцо многочленов от переменной х с коэффициентами из поля Галуа К Определим функцию deg : х] ^ 2, которая каждому многочлену из х] ставит в соответствие его сте-
пень. Согласно [10], Г[х] -решеткой называется пара (Ь, /), состоящая из свободного Г[х] -модуля Ь и функции /: Ь ^ 2, обладающей следующими свойствами: Уа, Ь е Ь : /(а + Ь) < тах{и(а); ¡и(Ь)} , У а е Г[х], а е Ь : /и(аа) = deg а + /(а) , У а е Ь : /(а) > 0, /(0) = 0 , У2 е 2 : | {а е Ь : /(а) < г} | < да , где | X | — мощность произвольного множества X
Решетку Л = (Ь, /) будем называть и-мерной, если ранг модуля Ь равен и. Линейно независимые векторы Ь,Ь,•••,Ь еЬ называются базисом решетки Л.
Пусть Л = (Ь, /) — и-мерная Г[х] -решетка с базисом Ь, Ь ,•••, Ь . Числа К,К,-.,\е 2 будем называть последовательными минимумами решетки Л, если найдутся такие V,у2,•••,еЛ, что К =/(V) — минимум /(х) для всех х еЛ(х Ф 0); К = /(V) — минимум /(х) для всех хеЛ, линейно независимых с V; — ; К = /(V) — минимум /(х) для всех хеЛ, линейно независимых с V,V,•••,уи-1. По определению 0<К<К<<К, значит V — минимальный вектор решетки Л .
Свяжем с решеткой Л матрицу БЛ = (Ьу), г,у = \...п, строками которой являются базисные элементы решетки. Под определителем решетки det(Л) будем понимать определитель матрицы БЛ . Известно, что определитель решетки не зависит от выбора базиса [10].
Рассмотрим функцию deg в кольце Гт [х].
Продолжим ее в поле рациональных функций Г (х) по следующему правилу:
правилу: Уа е F (x): | |а| |=
У а е Гт (х): deg а = deg— = degф- deg¥, 2 ¥ где ф,¥ е ¥г [х].
Определим функцию | |-||: Г (х) ^N^{0} по
12^а, если а ф 0; [0, если а = 0.
Согласно [8], функция || • || является неархимедовой нормой в поле Гт (х).
Рассмотрим и-мерную Г (х) -решетку Лп= (Ьп,\) с модулем Ьп с (Г (х))п ранга и и нормой уп Уф = (ф,--,Фп)еЬп: V(ф) = тах{||ф ||,г = 1...п}, где ф е Г (х). Решетку Ли будем называть и-мерной решеткой Бернштейна [7].
Пусть Ь1,...,Ья еЛ — некоторый базис решет-
ки Бернштейна Ли. Мерой неортогональности решетки Ли, порожденной базисом Ь1,• .., Ьи, назовем величину
. , Пп=1^(ь-
meSЛn Ь п ) = -- ,
||det БЛп ||
где Ь,. = (Ь,1,., Ь1п), БЛп = (Ьу), Ьуе Г2Ш (х), г,у = 1...п .
Лемма 1. Для любого базиса решетки Ь,•••,Ьп еАи для меры неортогональности выполняется неравенство mesд (Ь,•••,Ьп) > 1.
Доказательство. Пусть Ь = Фи, • • •, Ьп), • • • ,
Ьп = (Ьn1,•, Ьпп ).
Рассмотрим матрицу Вл = (Ьу), г,у = 1„.п . Не теряя общности, будем считать, что
| Ь11 ||= тах{||Ь1 у||, у = 1—п}
|| Ьпп ||= тах{У ЬУ ||, У = 1 — п} .
Тогда | |detБ^ | |<| |ЬП|И |Ь„п ||=
= ^п (Ь,) • ^п (Ь2)--Уп (Ьп ) .
По определению меры неортогональности име-
П п=1 (Ь,) ^
ем me^ =——-> 1 .•
Лп l|detБл ||
Предположим, что в результате некоторой перестановки координат базиса решетки Ь,•,Ьп поучили базис Ь, •, Ь 'п, для которого
Уп (Ь,.) < Уп (Ьу), 1 <,< у < п, (1)
|| Ь', ||>||ЬУ ||, 1 <г<у < п, (2)
||Ь- ||>|| Ь-у ||, 1 <у <,<п . (3)
Тогда базис решетки Ь, Ьп называется приведенным по Ленстре.
Теорема 1. Пусть Л — и-мерная решетка Бернштейна с базисом Ь = {Ь,•..,Ь}. Тогда имеют место два утверждения.
I) следующие условия эквивалентны:
1) базис Ь является приведенным по Ленстре;
2) базис Ь такой, что mesл Ь = 1 и уп (Ь,) < уп ),
1 < г < у < п .
II) если выполнено одно из двух эквивалентных условий 1) и 2), то уп (Ьу) — у-й последовательн^1й
минимум решетки Л и, в частности, уп ) < уп (х) для всех х еЛи, х Ф 0.
Доказательство. Предположим, что базис Ь решетки Л является приведенным по Ленстре. Тогда существует перестановка п координат базиса Ь такая, что для векторов Ь' = тг(Ь1),..., Ь' )
выполнены условия (1)-(3). Поскольку норма вектора не зависит от порядка его координат, то уп (Ь,') = (Ь,-), 1 < , < п. Из условий (2), (3) и определения нормы ул следует, что
I I Ъи I = V (Ь, ), , = 1-.И,
| |Ь,| |< Уп (Ь,), 1 <, < , < п,
I |Ь,| |< V (Ь,), 1 < , <,< п.
п
Тогда | ^ В, | | >П V (Ь,).
,=1
Согласно лемме 1 и определению меры неортогональности, имеем ше^ Ь = 1.
Покажем, что если базис Ь приведен по Ленстре, тогда V (Ь_,-) — ]-й последовательный минимум решетки Лп.
Предположим, что ^ = V (х) - ]-й последовательный минимум решетки Лп для некоторого х = ^п ГЬ, , 1 < , < п . Для доказательства утверждения достаточно показать, что уп (х) > уп (Ь,).
Пусть В - матрица, строками которой являются базисные векторы Ь(, 1 < г < п. Тогда В-1 = Лд / det В , где Лд - матрица, составленная из алгебраических дополнений элементов матрицы ВД . Рассмотрим г-й столбец Ь-1 матрицы В-1 как
вектор.
Согласно правилу Крамера, гАп ■•• Ап ■
б:1 =
1
det Бд
А
Ап1
\А1п
пп у
где А - алгебраическое дополнение матрицы ВЛ . Нас интересует норма г-го столбца матрицы В-1 . Оценим ее через матрицу В . Из равенства 1
Ь:1 =
det Бд
-( Ал ... Ain ) получаем
V (Ь:1) =
1
det Б,
-Vn (Аа,..., Аы ) .
Поскольку алгебраическое дополнение А представляет собой определитель матрицы В с вычеркнутыми г-й строкой и ]-м столбцом, то норму V (А ,•••, Ап) можно оценить сверху через матрицу
П п= V» (Ь,)
Б
а именно vn (Ал,..., Ап ) <
Тогда vn (Ь,.1) <
vn (Ь, )
П=1 vn(ЬJ) _ mes, Ь Vn (Ь, )| | det BAn | | Vn (Ь,.) "
По определению r = хБ.1 , значит | | r | | < vn (x)vn (Ь71) для всех 1 < i < n. Тогда Vn (rЬ, ) =| | r | | Vn (Ь, ) < Vn (x)Vn (Ь:1)^ (Ь, ) = mes, Ь • Vn (x).
Так как базис b является приведенным по Ленстре, значит V (Ь, ) < V (^ ), 1 <, < J < n, mesA Ь = 1.
Не нарушая условие упорядоченности базиса Ь, .••,Ьп, перенумеруем его так, чтобы r ^ 0 для
некоторого ,0 е {J, J +1, ... , n}. Номер ,0 существует, поскольку согласно предположению Vn (х) — j-й последовательный минимум. Тогда
Vn (х) > Vn (r. Ь.) > Vn (ЬJ ) .
Таким образом, Vn (Ь. ) — j-й последовательный минимум решетки Ли. В частности, Vn (Ь ) < Vn (x) для всех х еЛи, x ^ 0, 1 < J < n .
Предположим, что базис b такой, что mesA Ь = 1 и Vn (Ь, ) < Vn (Ь. ), 1 <, < J < n . Сделаем перестановку координат базиса b так, чтобы
||ô;j= max{U J = 1...n} = Щ) , ...,
ЦЬПпП= max{|| b'nJ ||, J = 1...n} = Vn (Ьп ).
Тогда согласно (3) имеем
||b ||>|| bJ ||, 1 <, < J < n .
Так как ||det БЛ ||=ПП-iV (Ь, ) и выполнено условие (2), то справедливо (3). •
Алгоритм приведения базиса и-мерной решетки Бернштейна
Пусть Ли — и-мерная решетка Бернштейна, порожденная базисом Ь = {Ь,...,Ьп}. Опишем алгоритм приведения базиса решетки Ли пошагово. В качестве исходных данных возьмем базис и-мерной решетки Бернштейна b. Результатом работы алгоритма будет базис, приведенный по Ленстре.
Алгоритм
Шаг 0. Определяем перестановочную матрицу P = (ptJ ), 1 <,, J < n. Полагаем P = I, к = 0.
Шаг 1. Если к < п , тогда переставляем базисные векторы Ьк+у,...,Ьп так, чтобы выполнялось условие
Vn (bк+1 ) = min{Vn (b, ) : к + 1 <, < n} .
Если к = n, тогда переходим на шаг 6.
Шаг 2. Решаем систему уравнений
£ <
1 < J < к
(4)
относительно неизвестных r, где а„ е Fm — коэф-
Л
,=1
фициент многочлена Ь при степени xlogVn (b'},
1 < i < к + 1.
Шаг 3. Вычисляем
bk+1 = bk+1rb,xlog*(bк+1)-1ов*ft) .
Шаг 4. Если vM(b+1) = vM(b+1) , то заменяем
вектор bi+1 на новый b[+1. Делаем перестановку
координат векторов b>.••> bn так, чтобы
I \Ьк+1к+1 I I = vn (bi+ i). Вносим изменения в матрицу P
согласно перестановке. Присваиваем k новое значение к +1 и переходим на шаг 1.
Шаг 5. Если vn (bк+J < vn (bк+J, то заменяем вектор bi+1 на новый b+1. Находим наибольшее значение I е{1,...,к} такое, что vn(bl) <vn(bк+j). Присваиваем k новое значение l и переходим на шаг 1.
Шаг 6. Переставляем координаты векторов b,.••,bn согласно перестановке P.
Шаг 7. Выводим базис {b,..., Ьи } и выходим из алгоритма.
Теорема 2. Алгоритм приведения базиса решетки Ли работает корректно и за конечное
число шагов преобразует заданный базис и-мерной решетки Бернштейна в базис, приведенный по Ленстре.
Доказательство. Рассмотрим и-мерную решетку Бернштейна, порожденную базисом b = {b,...,b}. Положим vn(b0) = 0. Предположим, что для некоторого к е{0,1,...,n} на шаге 1 алгоритма выполнены условия:
Vn (bi ) < Vn (b, ), 1 < i < j < к, (5)
Vn (bj < Vn (b, ), к < j < n, (6)
| | Ьи | |>| | Ь, | | , 1 < i < к, i < j < n, (7)
I Ьц | | >| | Ь, | | , 1 < j < i < к.
Отметим, что при к = 0 условия (5)-(7) выполняются. Если к = n и b удовлетворяет условиям (5)-(7), тогда по определению b является приведенным по Ленстре базисом, и следовательно, алгоритм работает корректно.
Предположим, что к < n . Покажем, что после преобразований векторов базиса b, сделанных на шагах 1-5 алгоритма, получим справедливость условий (5)-(7) при к = к +1.
На шаге 1 алгоритма происходит перестановка векторов базиса b, в результате которой вектор bi+1 имеет минимальную норму vn среди векторов
b i b n . Кроме T0г0, vn (b к ) < Vn (b к+1) в силу (6).
Значит, в результате преобразований, сделанных на шаге 1 алгоритма, базис решетки удовлетворяет условиям (5), (6) при к = к +1. Теперь покажем справедливость условий (7).
Для того чтобы вектор bi+1 удовлетворял условиям (7), его необходимо изменить с помощью элементарных преобразований. Для этого на шаге 2 алгоритма решается система уравнений (4), решение которой используется в преобразовании вектора bi+1 на шаге 3. Отметим, что система уравнений (4) имеет единственное решение (r,...,rt), r еFT • Благодаря условиям (7) коэффициенты многочленов a ^ 0 при 1 < i < к и a = 0 при 1 < j < i < к,
поэтому матрица коэффициентов A = (a} имеет
верхнетреугольный вид и ее ранг равен к.
Таким образом, после преобразований, сделанных на шаге 3, имеем vn (b '+1) < vn (bt+J. Более того,
благодаря решению системы (4) || b'к+1, ||< vn(bi+х) при 1 < i < к , поэтому в случае vn (bк+х) = vn (bк+х) перестановка координат bt,...,bn не затронет первые к координат вектора базиса.
Если vn (b'+1) < vn (bt+J, то согласно алгоритму необходимо присвоить к наибольшее значение I е(0,1,...,к} такое, что vn(bl) <vn(bк+1). Это обеспечит выполнение условий (5)-(7).
Таким образом, после прохождения шагов 1-6 алгоритма базис удовлетворяет условиям (5)-(7), т.е. является приведенным по Ленстре. Отметим, что в алгоритме на шаге 4 происходит перестановка координат базиса, поэтому на шаге 6 необходимо восстановить порядок координат исходного базиса. •
Литература
1. Сидельников В.М. Теория кодирования. М., 2008. 324 с.
2. McEliece R.J. A public key cryptosystem based on algebraic coding theory // DSN progress report. 1978. Vol. 42-44. P. 114-116.
3. Bernstein D.J., Lange T., Peters C. Attacking and defending the McEliece cryptosystem // Lecture Notes in Computer Science. 2008. Vol. 5299. P. 31-46.
4. Engelbert D., Overbeck R., Schmidt A. A summary of McEliece-type cryptosystems and their security // J. of Mathematical Cryptology. 2007. Vol. 1 (2). P. 151-199.
5. Minder L., Shokrollahi A. Cryptanalysis of the Si-delnikov cryptosystem // Lecture Notes in Computer Science. 2007. Vol. 4515. P. 347-360.
6. Wieschebrink C. Cryptanalysis of the Niederreiter public key scheme based on GRS subcodes // Lecture Notes in Computer Science. 2010. Vol. 6061. P. 61-72.
7. Bernstein D.J. List decoding for binary Goppa codes. 2008. URL: http://cr.yp.to/papers.html#goppalist (дата обращения: 21.12.2014).
8. Деундяк В.М., Чекунов Е.С. Математическая модель списочного декодера Бернштейна // Математика и ее приложения. 2012. Т. 9, вып. 1. С. 31-40.
9. Lenstra A.K. Factoring multivariate polynomials over finite fields // J. Comput. System Sci. 1985. Vol. 30(2). P. 235-248.
10. Lenstra H.W. Lattices. Algorithmic number theory: lattices, number fields, curves and cryptography // Math. Sci. Res. Inst. 2008. Vol. 44. P. 127-181.
References
1. Sidel'nikov V.M. Teoriya kodirovaniya [Coding theory]. Moscow, 2008, 324 p.
2. McEliece R.J. A public-key cryptosystem based on algebraic coding theory. DNS Progress Report, 1978, vol. 42-44, pp. 114-116.
3. Bernstein D.J., Lange T., Peters C. Attacking and defending the McEliece cryptosystem. Lecture Notes in Computer Science, 2008, vol. 5299, pp. 31-46.
4. Engelbert D., Overbeck R., Schmidt A. A summary of McEliece-type cryptosystems and their security. J. of Mathematical Cryptology, 2007, vol. 1(2), pp. 151199.
Поступила в редакцию
5. Minder L., Shokrollahi A. Cryptanalysis of the Si-delnikov cryptosystem. Lecture Notes in Computer Science, 2007, vol. 4515, pp. 347-360.
6. Wieschebrink C. Cryptanalysis of the Niederreiter Public Key Scheme Based on GRS Subcodes. Lecture Notes in Computer Science, 2010, vol. 6061, pp. 61-72.
7. Bernstein D.J. List decoding for binary Goppa codes. 2008. Available at: http://cr.yp.to/papers.html# gop-palist (accessed 21.12.2014).
8. Deundyak V.M., Chekunov E.S. Matemati-cheskaya model' spisochnogo dekodera Bernshteina [A mathematical model of scheduling decoder Bernstein]. Matematika i ee prilozheniya, 2012, vol. 9, no 1, pp. 3140.
9. Lenstra A.K. Factoring multivariate polynomials over finite fields. J. Comput. System Sci., 1985, Vol. 30 (2), pp. 235-248.
10. Lenstra H.W. Lattices. Algorithmic number theory: lattices, number fields, curves and cryptography. Math. Sci. Res. Inst, 2008, vol. 44, pp. 127-181.
1 апреля 2015 г.