5) Проверяющий получает значения проверочных полиномов:
j — 1 k—1 i=1,i—jm—0 j—1
Проверяющий рассматривает демонстрацию как убедительную, если
N
S
h*fc f&k Vk~c = Uk Л W- = Qj Л hrf АД R-c‘ = 1 Л hr' fA' Д Ps-cS = 1.
УДК 519
СЛОЖНОСТЬ МЕТОДА ФОРМАЛЬНОГО КОДИРОВАНИЯ ПРИ АНАЛИЗЕ ГЕНЕРАТОРА С ПОЛНОЦИКЛОВОЙ ФУНКЦИЕЙ ПЕРЕХОДОВ
В. М. Фомичев
Обозначим: Мп — множество всех мономов, зависящих от переменных х^ .. .,хп; Мп,^ — подмножество всех мономов степени ^, где 0^ d ^ п. На Мп имеется частичный порядок: х^ ■ ... ■ Х]Л ^ х81 ■ ... ■ х3[ {^1,...,^} С {^,..., в1}. Решётка Мп
изоморфна решётке Уп двоичных п-мерных векторов, при этом изоморфизме вектору
Систему уравнений /¿(х1,... , хп) = а^, г = 1,...,т, заданную полиномами над (2), обозначим ^т,п = а. Левая часть системы определяет отображение Уп ^ Ут,
Обозначим: M(f) — множество мономов ненулевой степени полинома f (x1,... , xn),
M(Fm,n) = У M(fi(xi, ..., xn)) — множество мономов ненулевой степени системы
всех координатных полиномов Fm,n. Для полинома f(xi,..., xn) (для системы Fm,n) над GF(2) величину |M(f)| (|M(Fm,n)|) называют весом полинома f (весом системы Fm,n), обозначается wp(f) (wp(Fm,„)).
При решении системы уравнений Fm,n = а методом формального кодирования каждый ненулевой моном из M(Fm,n) заменяется новой переменной: j ... xjs = Zj, после чего система уравнений Fm,n = а преобразуется в линейную систему Lm,v = а от переменных z1,...,zv, то есть Lm,v - система m булевых линейных полиномов от v переменных, где v = wp(Fm,n). Система линейных уравнений Lm,v = а решается известными методами. При решении совместной системы достаточно рассмотреть лишь максимальную подсистему из ^ линейно независимых уравнений, где ^ = dim (Fm,n) — размерность линейной оболочки системы полиномов Fm,n (число линейно независимых строк матрицы Lm,v). Сложность решения совместной системы уравнений полиномиально зависит от ^ и v. Например, метод Гаусса решения системы уравнений над полем имеет сложность порядка max{^, v} • (min{^, v})2 операций поля.
Рассмотрим генератор двоичной гаммы, моделируемый автономным автоматом A = (Vn, Vi, h, f), где Vn — множество состояний; V — выходной алфавит; f — функция выходов; h — функция переходов, реализующая полноцикловую подстановку множества Vn.
правая часть a = (a1,... , am) Є Vm.
m
i—1
Уравнения гаммообразования автомата A описываются системой уравнений Fm,n = = а, где /¿(xi,... , xn) есть i-я выходная функция автомата: fi(x1,... , xn) =
= f (hi(x1,... , xn)), i = 1,..., m. Гамма и последовательность {fi(x1,..., xn)} выходных функций автомата являются чисто периодическими, длины их периодов совпадают и являются делителями числа 2n.
Пусть длины их периодов равны 2*, где 1 < t ^ n. Оценим сложность определения начального состояния генератора методом формального кодирования по известному периоду гаммы, то есть по отрезку длины 2*. Следовательно, требуется определить dim (F2r,n) и |M(F2r,n)|, где т = 2*-1.
Пусть r — натуральное число, W = {w^} — чисто периодическая последовательность над Vr с длиной периода 2т = 2*, где т > 1, mw(А) — минимальный многочлен (над GF(2)) последовательности W. Длину периода периодической последовательности W обозначим per W.
Последовательность W компенсированная, если w1 ф • • • ф w2T = ur, где ur — нуль пространства V.
Теорема 1. mw(А)=(Аф1)5, где т+1^ s ^2т — e(W) и e(W) = 1 (= 0), если W — компенсированная (не компенсированная); при этом s = т +1, если Wi ф wi+T = а при а = ur и при всех i=1,... ,т.
Следствие 1. dim(F2T,n) ^ т +1.
Для автомата A обозначим чисто периодические последовательности: W(h) = = {hl(un)} — последовательность состояний при начальном состоянии un; f (W(h)) = = {f (h*(un))} — соответствующая ей выходная последовательность; f (H) = {f (h1)} — последовательность выходных функций, i = 0,1, 2,...
На периоде последовательности W (h) определим порядковый номер вектора Y G Vn (обозначим его n(Y)): n(un) = 0, n(Y) — наименьшее натуральное число t, такое, что h*(un) = y. Для монома хг степени d > 0, где $ G Vn, определим многочлен ^г (А) = Av(y) над GF(2), где v(y) - наименьший неотрицательный вычет числа n(Y) по mod (2т); ^ есть стандартный частичный порядок на Vn. Многочлен ^г(А) назовем A-многочленом монома хг.
Обозначим g = hT. Заметим, подстановка g состоит из т циклов длины 2п/т.
Лемма 1.
а) Моном хг степени d > 0 не содержится в M(f (H)) ^ A-многочлен ^г (А) монома хг либо нулевой, либо аннулирующий для последовательности f (H).
б) Если ^г(А) аннулирует последовательность f (H) и y ^ $ для y,$ G Vn, то и g(Y) ^ $.
Для монома хг обозначим: Un(x5) = {£ G Mn: хг ^ £}; Un(x5) = Mn\Un(x5). При любом $ из К, множество Un(x5) не содержит монома xen и множество Un(x5) не пусто и образует в Mn подрешётку, изоморфную решётке Mn-||5||, где ||$|| — вес вектора $.
Обозначим также: Mn(Y,e) = (Un(xY) П Un(xe)) U (Un(xe) П Un(xY)), где y,в G Vn.
Теорема 2. Множество M(f (H)) содержит M(f (x1,..., xn)) и все мономы степени d > 0 из U M,(y, g(Y)) с ненулевым A-многочленом.
YeVn
Теорема 3. Если per f (H) = 2n, то |M(f (H))| ^ 2n-1 и при случайном равновероятном выборе h из класса всех полноцикловых подстановок математическое ожидание оценивается как E|M(f (H))| ^ 2n — (1,5)n + (1,25)n.
Выводы
1) Последовательность выходных функций генератора гаммы, построенного на основе полноцикловой подстановки множества состояний Vn, имеет высокую линейную сложность Л, а именно 2n-1 + 1 ^ Л ^ 2n.
2) Для порядка множества мономов на периоде последовательности выходных функций генератора верны оценки: 2n-1 ^ |M(f(H))| ^ 2n — 1. При n ^ то и при случайном равновероятном выборе функции переходов h из класса всех полноцикловых подстановок множества Vn математическое ожидание величины |M(f (H)) |/(2n — 1) стремится к 1.
3) Сложность Tn определения начального состояния методом формального кодирования оценивается как TL(2n-1) < Tn < TL(2n), где TL(m) — сложность решения над GF(2) системы линейных уравнений размера m х m.
ЛИТЕРАТУРА
1. Фомичёв В. М. Дискретная математика и криптология. М.: ДИАЛОГ-МИФИ, 2003.
2. Shamir A., Patarin J., Courtois N., and Klimov A. Efficient Algorithms for solving Overdefined
Systems of Multivariate Polynomial Equations // Eurocrypt’2000. Springer. LNCS. 2001.
V. 1807.
УДК 65.012.810(075.8)
АВТОМАТИЗИРОВАННЫЕ СРЕДСТВА АНАЛИЗА ПРОТОКОЛОВ1
А. В. Черемушкин
Приведем примеры средств автоматизированного анализа криптографических протоколов, которые в настоящее время можно отнести к наиболее эффективным, и рассмотрим математические аспекты работы этих систем. Подчеркнем, что данные средства позволяют не только проверять заданные свойства протоколов, но и находить конкретные атаки на протоколы в случае, когда эти свойства не выполнены. Поскольку информация о конкретных механизмах работы этих систем не всегда доступна, то при их оценке будем опираться только на те сведения, которые опубликованы в печати. AVISPA
Программный продукт AVISPA появился в начале осени 2005 года. Разработка данного средства проводилась в рамках единого европейского проекта, в котором участвовали LORIA-INRIA (Франция), ETH Цюрих (Швейцария), университет г. Генуя (Италия), Siemens AG (Германия).
Архитектура AVISPA допускает анализ протокола одним из четырех выходных модулей (TA4SP, SATMC, OFMC, CL-AtSe). Спецификация протокола, основанная на ролевом представлении, записывается на языке высокого уровня HLPSL, а затем транслируется во внутренний язык IF. Проверяемые свойства записываются в терминах темпоральной логики. Модуль TA4SP реализует технику, основанную на построении древовидных автоматов и развитую для систем автоматического доказательства. Строится верхняя аппроксимация древовидного автомата, реализующего систему переписывания термов, которая описывает максимальные знания нарушителя. Исследование свойства конфиденциальности теперь сводится к проверке наличия в этом множестве терма, содержащего секрет. Модули SATMC, OFMC, CL-AtSe осуществляют верификацию методом проверки на модели (model checking). Протокол представля-
хРабота выполнена при поддержке гранта Президента РФ НШ № 4.2008.10.