2009
Теоретические основы прикладной дискретной математики
№3(5)
УДК 519.7
О СЛОЖНОСТИ МЕТОДА ФОРМАЛЬНОГО КОДИРОВАНИЯ ПРИ АНАЛИЗЕ ГЕНЕРАТОРА С ПОЛНОЦИКЛОВОЙ ФУНКЦИЕЙ ПЕРЕХОДОВ1
В. М. Фомичёв
Институт проблем, информатики РАН, г.Москва, Россия E-mail: [email protected]
Исследованы генераторы гаммы (автономные автоматы), множество состояний которых есть пространство двоичных п-мерных векторов, и функция переходов реализует полноцикловую подстановку множества состояний. Оценивается сложность Тп решения системы уравнений гаммообразования (без ограничения на число уравнений) относительно неизвестного начального состояния методом формального кодирования. Оценка получена с помощью определения линейной сложности и порядка множества мономов для последовательности выходных функций генератора. Показано, что ТЬ(2п-1) <Тп < ТЬ(2п), где ТЬ(ш) — сложность решения над СР(2) системы из т линейных уравнений от т неизвестных. Данный класс генераторов порождает, в частности, нормальные рекуррентные последовательности над полем СР(2) (последовательности де Брёйна).
Ключевые слова: моном, аннулирующий полином, линейная оболочка.
1. Характеристики, определяющие сложность решения систем уравнений методом формального кодирования
Метод формального кодирования [1] применим для решения любой системы уравнений над конечным полем [2]. Вместе с тем трудоемкость метода меньше трудоемкости метода полного перебора только для частных классов систем уравнений. Определим характеристики системы уравнений, важные для оценки сложности ее решения методом формального кодирования.
Обозначим: Мп — множество всех мономов, зависящих от переменных х1 , ... , Хп;
Мп^ — его подмножество всех мономов степени і, 0 ^ і ^ п. Отсюда Мп = и мпА,
Определим на Мп частичный порядок: х^ ... х^л ^ х81 ... х8е ^ {]1 , ... , ]а} С
С {^1 , ... , з^}. Заметим, что Мп — решётка, изоморфная решётке Уп булевых векторов длины п, где вектору 8 = (81 , . . . , 8п) из Уп биективно соответствует моном
Единицей и нулём решётки Уп являются соответственно векторы еп = (1 ,..., 1) и ип = (0 , ... , 0), единицей и нулём решётки Мп — мономы хеп = х1 ... хп и хип = 1.
1 Результаты работы докладывались на Международной конференции с элементами научной шко-
лы для молодёжи, г. Омск, 7-12 сентября 2009 г.
П
d=0
где Mn,0 = {1} и при d ^ 1
Mn,d = {xh ...xjd : {ji , ... , jd} С {1, ... ,n} , ji < •• ■ < jd} .
x& = xl1 . . . хП из Mn, при этом для j = 1 , ... , n
Рассмотрим систему m уравнений от n неизвестных, заданную полиномами над GF(2):
f1(x1 , • • • , xn) a^
f2(x1 , • • • , xn) ^, (1)
fm(x1 , • • • , xn) — am^
Левая часть системы (1) (система булевых полиномов) определяет отображение
Fm,n(x1 , • • • , xn): Vn ^ Vm, правая часть — вектор a — (a1 , • • • , am) G Vm. Кратко
систему уравнений (1) запишем как Fm,n — a.
Обозначим: M(f (x1 , • • • , xn)) (кратко M(f)) — множество мономов ненулевой сте-
m
пени полинома f (x1 , • • • , xn); M(Fm,n) — (J M(fi(x1 , • • • , )) — множество моно-
i=1
мов ненулевой степени системы координатных полиномов отображения Fm,n (системы уравнений (1)). Для полинома f (x1 , • • • , xn) и для системы полиномов Fm,n над GF(2) величины |M(f)| и |M(Fm,n)| называются весом полинома f (x1 , • • • , xn) и весом системы полиномов Fm,n и обозначаются wp(f) и wp(Fm,n) соответственно.
Для решения системы уравнений (1) методом формального кодирования выполняется замена переменных. Каждый ненулевой моном из M(Fm,n) заменяется новой переменной: Xj1 • • • xis — Zj, после чего система уравнений Fm,n — a преобразуется в линейную систему Lm,v — a от переменных z1 , • • • , , где v — wp(Fm,n) и Lm,v —
система m булевых линейных полиномов от v переменных.
Систему линейных уравнений Lm,v — a можно решать известными методами. При решении совместной системы уравнений достаточно рассматривать лишь максимальную подсистему из ^ линейно независимых уравнений, где ^ — dim (Fm,n) — размерность линейной оболочки системы полиномов Fm,n или, что равносильно, число линейно независимых строк матрицы Lm,v. Сложность решения совместной системы уравнений полиномиально зависит от ^ и v. Например, метод Гаусса имеет сложность порядка max {^, v} • (min {^, v})2 операций поля GF(2), в частности порядка v3, если ^ — v. Сложность решения линейной системы другими методами также определяется величинами v и ^.
2. Постановка задачи
Рассмотрим генератор двоичной гаммы, моделируемый автономным автоматом A — (Vn, Vl, h, f), где К — множество состояний; V1 — выходной алфавит; f — функция выходов; h — функция переходов, реализующая полноцикловую подстановку множества Vn.
Уравнения гаммообразования автомата A описываются системой уравнений (1), где a G Vm и fi(xL , • • • , xn) есть i-я выходная функция автомата A, определенная равенством: fi(xL , • • • , xn) — f (h*(xL , • • • , xn)), i — 1 , • • • , m. Отсюда гамма и последовательность {fi(xL , • • • , xn)} выходных функций автомата являются чисто периодическими последовательностями; длины их периодов совпадают и делят 2n. Пусть длины их периодов равны 2*, где 1 < t ^ n.
Требуется оценить сложность определения начального состояния генератора методом формального кодирования по известному периоду гаммы, где под периодом чисто периодической последовательности с длиной периода t понимается любой ее отрезок длины t. Следовательно, требуется определить (оценить) dim (F2T,n) и |M(F2T,n)| , где т — 2*-1.
3. Размерность линейной оболочки системы выходных функций
Пусть r — натуральное число, W — {Wj} — чисто периодическая последовательность над Vr с длиной периода 2т — 2*, где т > 1, mw(А) — минимальный многочлен (над GF(2)) последовательности W. Длину периода периодической последовательности W обозначим per W.
Последовательность W назовём компенсированной, если wL ф • • • ф w2t — ur, где ur — нуль пространства V-.
Теорема 1.
а) mw(А) — (А ф 1)s, где т + 1 ^ s ^ 2т — e(W) и
, s \ 0, если W не компенсированная,
1 1, если W компенсированная;
при этом s — т + 1, если Wj ф wi+r — а при некотором а — ur и при всех i — 1 , • • • , т.
б) Если многочлен -0(A) — p0 Ф pA ф • • • ф pkAk аннулирует последовательность W и k < 2т, то вес wp(^(A)) чётен и выполнены равенства: pj — pj+T, j — 0,1 , • • • , k — т; Pj — 0, j — k — т + 1 , • • • , т — 1.
Доказательство.
а) По условию длина периода последовательности W равна 2т; следовательно, W аннулируется многочленом А2т ф 1, каноническое разложение которого на неприводимые множители есть (А ф 1)2т. Так как mw(А) делит (А ф 1)2т, то mw(А) — (А ф 1)s, где s ^ 2т. Вместе с тем s > т, так как иначе последовательность W аннулируется многочленом (А ф 1)т, где (А ф 1)т — Ат ф 1. Последнее означало бы, что длина периода последовательности W не больше т, что противоречит условию.
Для компенсированной последовательности W верхнюю оценку линейной сложности можно уточнить: W аннулируется многочленом 1 ф А ф • • • ф А2т-1, каноническое разложение которого на неприводимые множители есть (А ф 1)2т-1. Следовательно, в этом случае mw(А) — (А ф 1)s, где s ^ 2т — 1.
При условии Wj ф wi+r — а нижняя оценка для s достигается, так как при всех
i — 1 , • • • , 2т выполняется
Wi+T+1 ф wi+r ф Wj+i ф Wj — (wi+r+1 ф Wj+i) ф (wi+r ф Wj) — а ф а — u-•
Отсюда многочлен Ат+1 ф Ат ф А ф 1, разложение которого на неприводимые множители есть (А ф 1)т+1, аннулирует последовательность W и является минимальным многочленом для W в соответствии с доказанной нижней оценкой для s.
б) Из утверждения а теоремы следует: mw(А) — (Ат ф 1)(А ф 1)s-T, где
т + 1 ^ s < 2т. Любой многочлен ^(А), аннулирующий последовательность W, кратен многочлену mw(А), то есть ^(А) — mw(А)^(А) при некотором ненулевом многочлене <^(А). Поэтому если deg^(A) — k ^ 2т — 1, то
^(А) — (АТ ф 1)q(A) (2)
где deg q(A) — k — т и q(A) — (А ф 1)s-T<^(А). Если q(A) — qo ф qiА ф • • • ф qfc-rAk-T, то из (2) следует, что pj — pj+T — qj, j — 0,1, • • •, k — т; pj — 0, j — k — т + 1, • • •, т — 1.
Из (2) следует также, что Wp(^(A)) — 2Wp(q(A)), поэтому Wp(^(A)) чётен. ■
Следствие. Для последовательности выходных функций автомата A выполнено
Доказательство. Последовательность {/¿(xl, • • • ,xn)} выходных функций автомата чисто периодическая, поэтому ее линейная оболочка совпадает с (F2T,n) — с линейной оболочкой ее периода. По теореме 7.1 [3] dim (F2T,n) — degm/(A),
где m/(A) —минимальный многочлен последовательности {/¿(xl, • • • , xn)}. В соответствии с утверждением а теоремы 2т ^ degm/(А) ^ т + 1. Следовательно,
2т ^ dim (^2Г,га) ^ т + 1. ■
4. Свойства системы полиномов выходных функций автомата
Для автомата A обозначим чисто периодические последовательности: W(h) —
— {hj(un)} — последовательность состояний при начальном состоянии un; f (W(h)) —
— {f (hj(un))} — соответствующая ей выходная последовательность; H — {hj} — последовательность степеней подстановки h; f (H) — {f (hj)} — соответствующая ей последовательность выходных функций, i — 0, 1, 2, • • • Заметим, что период последовательности H совпадает с циклической группой подстановок (h) порядка 2n.
Отметим свойства этих последовательностей:
1) per W(h) — perH — 2n;
2) per f (W(h)) — per f (H) — 2т, где 1 < т ^ 2n-1;
3) mw(h)(A) — mH(A);
4) m/(w(h))(A) — m/(H)(A);
5) M(f(H)) — M(F2T,„).
Обозначим: Md(f (H)) — Mn,d П M(f (H)) — множество всех мономов степени d, содержащихся в совокупности полиномов выходных функций из последовательности f (H), 0 ^ d ^ n. Отсюда
n
M (f (H)) — U Md(f (H)),
d=1
На периоде последовательности W(h) определим порядковый номер вектора y G Vn (обозначим его n(Y)): n(un) — 0, n(Y) — наименьшее натуральное число t, такое, что h*(un) — Y.
Для монома хг степени d > 0, где 5 G Vn, определим многочлен ^(А) над GF(2),
зависящий от функций h и f автомата A:
^ (А) — ф Av(Y), (3)
где v(y) — наименьший неотрицательный вычет числа n(Y) по mod (2т); символом ^ обозначено стандартное отношение частичного порядка на решётке Vn. Многочлен ^ (А) назовем A-многочленом монома хг.
Отметим некоторые свойства A-многочленов мономов:
1) deg (А) < 2т;
2) Wp(^(А)) ^ 2d и является чётным;
3) Wp(^(А)) — 2d ^ в последовательности W(h) номера любых двух не превосходящих 5 векторов не сравнимы по mod (2т);
4) Wp(^(А)) — 0 ^ множество {n(Y) : Y ^ 5} есть совокупность 2d-1 пар чисел, где числа в каждой паре сравнимы по модулю 2т.
Обозначим: g — hT. Заметим, что подстановка g состоит из т циклов длины 2п/т.
Лемма 1.
а) Моном хг степени d > 0 не содержится в M(f (H)) ^ A-многочлен монома хг либо нулевой, либо аннулирующий для последовательности f(H).
б) Если ^ (Л) аннулирует последовательность f (Н) и 7 ^ 8 для 7, 8 Е то и 0(7) ^ 8
Доказательство.
а) В полиноме Жегалкина булевой функции ^ коэффициент а<$ (<^) при мономе X равен булевой сумме 2й элементов её табличного задания [3], формула (3.16):
ай(<^) = 0 ^(7).
7^
Преобразуем это равенство, используя порядковые номера векторов:
аг(<^) = 0 ^(frn(7)(u„)).
7^^
Отсюда имеем, в частности, равенства для коэффициентов выходных функций /¿, i = 0,1, 2,...:
аг(/i)= 0 /(h*(hn(Y) («„)) = 0 /(hi+n(Y)(u„)).
7^г 7^г
Так как per /(W(h)) = 2т, то /(hi+n(7)) = /(hi+v(7)), i = 0,1, 2,..., следовательно,
аг(/.) = 0 /(ft‘+v(Y)(u„)}. (4)
т^г
По определению жг Є M(/(Н)) ^ аг(/¿) = 0, i = 0,1, 2,... Отсюда в соответствии с (3) следует, что жг Є М/(Н)) ^ A-многочлен монома жг либо является нулевым, либо аннулирующим последовательность /(Н) (а также и /(W(h)), так как m/(w(h))(A) =
= m/ (Я)(А)).
б) В соответствии с определением подстановки $ номера ^(7) и ^($(7)) сравнимы по модулю т и не сравнимы по модулю 2т, поэтому v(7) и v($(7)) также сравнимы по модулю т. Отсюда если многочлен ^г (А) аннулирует последовательность /(Н) (а также /(W(h))), где deg^г(А) < 2т, то из утверждения б теоремы 1 и равенства (3) вытекает, что если Av(y) — моном многочлена ^г (А), то и Av(g(7)) также моном многочлена ^г(А). По построению многочлена ^г(А) это равносильно тому, что если 7 ^ 8, то и g(Y) ^ 8. ■
Для монома жг обозначим
U„(X) = (£ Є Mn : жг ^ £}; Ura(жг) = М„ \ и„(жг).
При любом 8 из Vn множество Un (жг) не содержит монома жЄп и множество Un(X) не пусто и образует в Mn подрешётку, изоморфную решётке Мп_цгц, где ||8|| —вес двоичного вектора 8.
Обозначим также: Мга(7,в) = (Un(xY) П Un(xe)) U (Un(xe) П Un(xY)), где 7,в Є Vn. Теорема 2.
а) Множество М(/(Н)) содержит М(/(ж , ... , жп)) и все мономы степени d > 0 из У Mn(7,g(7)) с ненулевым A-многочленом.
б) Моном жЄп Є М(/і(ж1 , ... , xn)), i =1, 2,... ^ жЄп Є M(/(Н)) ^ ||/|| нечетен. Доказательство.
а) Последовательность Н содержит тождественную подстановку, поэтому последовательность /(H) содержит функцию /(ж1 , ... , жп). Следовательно,
М(/(ж1 , ... , жп)) С М(/(Н)).
При любом 7 Е V« для векторов 7 и 0(7) не выполнены одновременно отношения 7 ^ 0(7) и 0(7) ^ 7, так как 7 = 0(7) в соответствии с определением подстановки 0. Пусть, например, не выполнено отношение 0(7) ^ 7, тогда из определения множества Мга(7,0(7)) следует, что множество и„(ж7) П и„(жд(7)) содержит моном ж7 и, следовательно, не пусто. Если жг Е и„(ж7) П и„(жй(7)) при некоторых 8,7 Е V«, то жг Е и„(ж7) и жг Е и„(жд(7)). Отсюда следует, что 7 ^ 8 в силу определения множества и„(ж7) и отношение 0(7) ^ 8 не выполнено в силу определения множества ига(жй(-7)).
Если для монома жг степени ^ > 0 А-многочлен ^(Л) ненулевой и жг Е М^(Н)), то по утверждению а леммы 1 ^ (Л) аннулирует последовательность f (Н) и по утверждению б леммы 1 если 7 ^ 8, то и 0(7) ^ 8, что противоречит условию. Значит, если (Л) — ненулевой многочлен, то жг Е М^(Н)).
Включение жг Е М^(Н)) для монома жг из и„(жд(7)) П и„(ж7) (если не выполнено отношение 7 ^ 0(7)) доказывается аналогично. Заметим, что рассуждения верны для произвольного вектора 7.
б) В полиноме булевой функции коэффициент при мономе жеп равен 1 ^ вес функции нечетен (теорема 3.11 [3]). Осталось заметить, что веса всех выходных функций автомата равны || в силу эквивалентности этих функций относительно группы под-
становок (Л,). ■
Замечание. Если векторы 7 и 0(7) сравнимы, например 7 ^ 0(7), то
ига(жй(7)) П и „(ж7) = 0 и М„ (7,0(7)) = и„(ж7) П и„(жй(7)).
Следствие 1. Если 0(и„) = в, то М^(Н)) содержит все мономы из и„(жв) с ненулевым А-многочленом; если при этом ||в|| = г и каждый моном из и„(жв) имеет ненулевой А-многочлен, то
Г 1 d < г
иад(я)>^{ с„ , г ^ <5>
Доказательство. Так как ^ в, то М„(мга,в) = и„(ж“п) П и„(жв) в силу замечания к теореме 2. При этом и„(ж“п) = М„, значит, М„(ига,в) = и„(жв), и по утверждению а теоремы 2 если моном жг из и„(жв) имеет ненулевой А-многочлен, то жг Е М^(Н)). _ _
По определению и„(жв) = Мга\и„(жв). Поэтому если все мономы из и„(жв) имеют ненулевые А-многочлены, то по утверждению а теоремы 2 |М<^(Н))| оценивается снизу числом мономов степени ^, которые не больше монома жв степени г. К таким мономам относятся все мономы степени ^, если ^ < г, и если d ^ г, — все мономы степени d за исключением тех, которые превосходят фиксированный моном жв степени г. ■
Следствие 2. Если 0(е„) = а, то М^(Н)) содержит все мономы из и„(жа)\{жеп} с ненулевым А-многочленом; если при этом ||а|| = г и каждый моном из и„(жа)\{жеп} имеет ненулевой А-многочлен, то
Г 0 1 < d < г
|аш(яс«-,, г ^;<П: <б>
Доказательство. Так как а ^ е„, то М„(а, е„) = и„(жа) П и„(жеп) в силу замечания к теореме 2. При этом и„(жеп) = М„\{жеп}, значит, М„(а, е„) = и„(жа)\{же"}, и по утверждению а теоремы 2 если моном жг из и„(жа)\{жеп} имеет ненулевой А-многочлен, то жг Е М^(Н)).
Если все мономы X из Un(xa)\{xen} имеют ненулевые A-многочлены, то по утверждению а теоремы 2 |Md(f (H))| оценивается снизу числом мономов степени d, которые не меньше монома степени г, где d ^ г. ■
Из следствий 1 и 2 теоремы 2 получаем оценку множества M(f (H)). Обозначим для а, в £ Vn
Мп(в/и,а/е) = U„(xe) U U„(x“)\{xen}.
Заметим, Мга(в/м,а/е) = Mn\{xen} при а ^ в.
Следствие 3. Если g(un) = в, g(en) = а, то M(f (H)) содержит все мономы из Мга(в/м,а/е) с ненулевым A-многочленом.
Теорема 3. Если per f (H) = 2п, то:
а) |M(f(H))| ^ 2n-1;
б) при случайном равновероятном выборе h из класса всех полноцикловых подстановок
E|M(f (H))| ^ 2n - (1,5)n + (1,25)n, где EZ — математическое ожидание случайной величины Z.
Доказательство.
а) Для любой полноцикловой подстановки h подстановка g не содержит единичных циклов, поэтому ||g(un)|| ^ 1. Пусть g(un) = в = (в1 , ... , вп) и для определённости в1 = 1.
Если per f (H) = 2n, то любой моном степени d > 0 имеет ненулевой А-многочлен, и при указанном векторе в множество Un(xe) содержит все мономы, не зависящие от x1. Следовательно, |Мп(а/е, в/и)| ^ |Un(хв)| ^ 2п-1. Отсюда |M(f(H))| ^ 2п-1 в соответствии со следствием 3 теоремы 2.
б) При случайном равновероятном выборе h из класса всех полноцикловых подстановок множества Vn пара векторов (а,в), где а = g(en), в = g(un), есть равновероятная бесповторная выборка из множества (Vn\{un, en}). Число таких выборок равно (2п - 2)(2п - 3).
Пусть для векторов а, в решётки Vn выполнено: ||а| = г, ||в|| = p, ||inf (а,в)|| = k, тогда ||sup (а,в)|| = г + p — k. Число пар таких векторов из Vn, обозначаемое N(r,p, k), равно
N(r,p,k) = СП ■ Ck ■ cn-k.
Для такой пары векторов а, в выполнено
|Un(xe)| = 2n - 2n-p,
|(Un(xa) \{xen}) \Un(xe)| = |Un(xsup(a’e)) \{xen}| =2n-r-p+fc - 1,
|Мп(а/е,в/и)| = |Un(xe)| + |(Un(xa)\{xen}) \ Un(xe)| = 2n - 2n-p + 2n-r-p+k - 1.
Следовательно, при случайном равновероятном выборе h из класса всех полноцикловых подстановок множества Vn среднее значение |Мп(а/е, в/и)| определяется формулой (используем принцип включения-исключения с учетом, что а,в,еп,ип суть различные векторы из Vn)
E |Мп(а/е,в/и)| 1
(2n - 2)(2n - 3)
N(r,p, k)(2n - 2n_p + 2n-r_p+k - 1)-
Lr=0 fc=Q p_fc=Q
£ N(0,p, 0)(2" - 1) - £ N(n,p,p)(2" - 2"-”) - £ N(r, 0,0)(2"-r - 1)-
p=0 p=0 r=0
N(r, n, r)(2" - 1) + (N(0, 0, 0) + N(0, n, 0) + N(n, 0, 0) + N(n, n, n))(2" - 1)
r=0
Подсчёт сумм с использованием формулы бинома Ньютона даёт следующий результат:
М 8" - 6" + 5" - 4"+‘ +6 ■ 2" - 3
Е |M"(Q'/e,ß/u)| =---------(2" - 2)(2" - 3)--------■
Отсюда получаем требуемую оценку. ■
Пример. Пусть функция переходов h автомата A реализуется линейным конгруэнтным генератором: h(x) = (x + 1)mod2". Для подстановки h множества V" выполнено:
1) per Wj (h) = per Wj (H) = 2j, j = 1, ■ ■., n;
2) пусть per f (H) = 2", тогда т = 2"-1, h(x) ® hT(x) = (0, ■ ■ ■, 0,1) при любом x G V". Последовательность f (H) имеет алгебраические характеристики:
1) mH (А) = (А ф 1)T+1 — по утверждению а теоремы 1;
2) M(H) содержит множество всех мономов от x1,...,xra-1 — по утверждению а теоремы 2;
3) deg W"(H) = n - 1.
Выводы
1. Последовательность выходных функций генератора гаммы, построенного на основе полноцикловой подстановки множества состояний V", имеет высокую линейную сложность Л, а именно 2"-1 + 1 ^ Л ^ 2".
2. Для порядка множества мономов на периоде последовательности выходных функций генератора верны оценки: 2"-1 ^ |M(f (H))| ^ 2" - 1. При n ^ то и при случайном равновероятном выборе функции переходов h из класса всех полноцикловых подстановок множества V" математическое ожидание величины |M(f(H))| /(2" - 1) стремится к 1.
3. Сложность T" определения начального состояния генератора методом формального кодирования по известному периоду гаммы удовлетворяет оценкам
TL(2"-1) < T" < TL(2"),
где TL(m) — сложность решения над GF(2) системы из m линейных уравнений от m неизвестных.
ЛИТЕРАТУРА
1. Schaumuller-Bichl. Cryptanalysis of the Data Encryption Standard by a method of formal coding // Cryptography, Proc. Burg Feuerstein 1982. LNCS. 1983. V. 149. P. 235-255.
2. Courtois N., Klimov A., Patarin J., Shamir A. Efficient Algorithms for Solving Overdefined Systems of Multivariate Polynomial Equations // LNCS. 2000. V. 1807. P. 392-407.
3. Фомичёв В. М. Дискретная математика и криптология. М.: ДИАЛОГ-МИФИ, 2003. 400 с.