2012 Теоретические основы прикладной дискретной математики №1(15)
УДК 519.6
О РАЗВЕТВЛЕНИЯХ КРИПТОГРАФИЧЕСКИХ ФУНКЦИЙ НА ПРЕОБРАЗОВАНИЯ С ЗАДАННЫМ ПРИЗНАКОМ
К. Г. Когос, В. М. Фомичев
Национальный исследовательский ядерный университет (МИФИ), г. Москва, Россия
E-mail: fomichev@nm.ru
Понятийный аппарат, связанный с разветвлением функций на линейные подфункции, обобщен для разветвлений функций специального вида на преобразования, имеющие заданный признак. Получены оценки характеристик для разветвлений функций, реализуемых генераторами «5-т шагов» и с перемежающимся шагом.
Ключевые слова: степень разветвления, признак в полугруппе, генераторы гаммы с неравномерным движением, генератор с перемежающимся шагом.
Анализ криптографических систем алгебраическими методами состоит в разработке методов решения систем алгебраических уравнений (САУ) и оценке вычислительной сложности их решения. Известно, что от решения нелинейной САУ можно перейти к решению нескольких линейных систем (СЛАУ) путем фиксации константами нескольких переменных. Вместе с тем не только линеаризация систем уравнений представляет интерес для анализа криптографических свойств, важно свести САУ к системам уравнений определенного вида, левая часть которых задает преобразования, имеющие заданный признак [1, гл. 9].
Целью работы является обобщение понятийного аппарата, связанного с разветвлением функций на линейные подфункции [2], для разветвлений функций специального вида на преобразования, имеющие заданный признак, и исследование криптографических характеристик функций, реализуемых в некоторых генераторах гаммы с неравномерным шагом.
При натуральных n, m рассмотрим множество Фп,т всех отображений Vn ^ Vт, n > m, V = {0,1}. Пусть функция g Е Фп,т задается системой координатных функций |gi(xi,... , xn),... , gm(xi,... , xn)}. Определим умножение булева монома и = ■.. .-xip
степени p на отображение g Е Фп,т:
И " g (x1, . . . , xn) {^ ' g1 (x1, . . . , xn) , ... , И' " gm (x1, . . . , xn) }.
Обозначим через g£1b"'Xlfcfc (xk+1,... , xn) ограничение функции g на множество (а1,... , ak, xk+1,... , xn). Здесь а1,... ,ak — фиксированные значения; xk+1,... , xn — булевы переменные. Сформулируем обобщение теоремы о разложении булевой функции по переменным на отображения из множества Фп,щ, .
Теорема 1. Для любой функции g Е Фп,щ, выполнено равенство
g(x1,... , xn) = 0 xT1 ■ ... ■ xlk ■ gax(xk+1,... , xn).
(CTl,...,CTfc )eV k
Итак, множество подфункций {g(a1,... , ak, xk+1,... , xn) : (a1,... , ak) Е Vk} однозначно задает отображение g : Vn ^ Vm при любом k и любом наборе фиксируемых
координат. Будем говорить, что отображение д Е Фп,т разветвляется на отображения
Рассмотрим случай, когда фиксируется к = п — т переменных. Тогда отображение д разветвляется на преобразования множества Vт. Набор номеров фиксируемых переменных обозначим I, то есть I = {^,... , гга-т}, где {*1,... , гга-т} С {1,... , п}, а набор фиксируемых переменных обозначим х(1), то есть х(1) = {ж^ , . . . ,Жгп_т }.
Определение 1. Степенью I-разветвления отображения д Е Фп,т называется число различных преобразований Vт ^ Vт, полученных при фиксации всевозможными наборами двоичных констант набора переменных ж(1); обозначается ж/(й).
Напомним основные определения теории признаков в полугруппах [1, гл. 9].
Пусть О — конечная полугруппа, ее систему образующих обозначим через Б = = {в1,...,5р} С О, р Е N, О = (Б). Известно, что произвольный элемент д полугруппы О представляется словом в алфавите Б. Признаком Н (Н-признаком) в полугруппе О называется подмножество Н полугруппы О, состоящее из всех элементов О, обладающих определенным свойством. Элемент д полугруппы О имеет признак Н, если д Е Н. Непустое множество Я С О имеет Н-признак, если Я П Н = 0; Я не имеет Н-признака или имеет пустой Н-признак, если Я П Н = 0. Признак Н в Я называется тривиальным, если |Я П Н| = 1 (нетривиальным, если |Я П Н| > 1).
Определение 2. Пусть при всех фиксациях набора переменных ж(1) функция д Е Фп,т разветвляется только на преобразования, имеющие признак Н. Тогда набор ж(1) назовем вполне Н-сводящим функцию д, а число различных преобразований Vт ^ Vт, полученных при фиксации всевозможными наборами двоичных констант набора переменных ж(1) и имеющих признак Н, назовем степенью (1,Н)-разветвле-ния функции д и обозначим жд^я).
Определение 3. Пусть при всех фиксациях набора переменных ж(1) функция д Е Фп,т разветвляется только на линейные преобразования. Тогда набор ж(1) назовем вполне линеаризующим функцию д, а число различных линейных преобразований Vт ^ Vт, полученных при фиксации всевозможными наборами двоичных констант набора переменных ж(1), назовем степенью линейного I-разветвления функции д и обозначим Л/ (д).
Пусть N = {1,... , п}, где п — натуральное число.
Определение 4. Степенью разветвления функции д называется шт{ж/(д)},
где минимум берется по всем наборам ж(!) порядка п — т, эта величина обозначается ж(д).
Определение 5. Степенью Н-разветвления функции д называется шт {ж/(д, Н)}, где минимум берется по всем вполне Н-сводящим наборам ж(!)
1 С^п
порядка п — т, эта величина обозначается ж(д, Н).
Определение 6. Степенью линейного разветвления функции д называется шт {Л/(д)}, где минимум берется по всем наборам ж(!) порядка п — т, вполне ли-
1 С^п
неаризующим функцию д, эта величина обозначается Л(д).
Заметим, что если Н есть моноид всех преобразований множества Vm, то ж/(д, Н) = ж/(д), ж(д, Н) = ж(д). Если Н есть полугруппа всех линейных преобразований множества Vm, то ж/(д, Н) = Л/(д), ж(д, Н) = Л(д).
Далее без потери общности считаем, что фиксируются первые п — т переменных, то есть ж1,... , жп-т.
Для любой функции д Е Фп,т, которая разветвляется только на преобразования, имеющие признак Н, справедлива универсальная оценка степени (I, Н)-разветвления:
1 ^ ж/(д, Н) ^ шт(2га-т, |Н|).
Отметим, что нижние и верхние границы достижимы:
1) ж/(д, Н) = 1, если функция д при любом опробовании сводится к единственному преобразованию из множества Н;
2) ж/(д, Н) = 2п-т, если 2п-т ^ |Н| и различны все преобразования из множества Н, на которые разветвляется функция д;
3) жн(д) = |Н|, если 2п-т ^ |Н| и каждое преобразование из множества Н соответствует хотя бы одному опробованию набора переменных ж(!).
В частности, справедливы тривиальные оценки степени I-разветвления и степени линейного I-разветвления:
1 ^ Ж/(д) ^ ш1п(2га-т 2т^т), (1)
1 ^ Л/(д) ^ шт(2га-т, 2т2).
Для криптографических приложений представляет интерес описание класса функций из Фп,т, для которых оценка степени (I, Н)-разветвления существенно ниже, чем в (1).
Введенное понятие степени разветвления функций может быть использовано для анализа некоторых генераторов гаммы с неравномерным движением. Неравномерное движение информации в регистрах генератора используется для введения нелинейной зависимости знаков выходной гаммы от ключевых элементов генератора, в качестве которого фигурирует начальное заполнение регистров. В этом случае степень линейного разветвления характеризует сложность определения начального заполнения генератора с помощью линеаризации уравнений.
Рассмотрим генератор «$-т шагов» [1, с. 316], представляющий собой двухблочную схему, где управляющий автомат есть фильтрующий генератор на базе ЛРС-1 (линейного регистра сдвига,) длины п с фильтрующей булевой функцией f (ж), а генерирующий автомат есть ЛРС-2 длины т (с одной из ячеек которого снимается гамма), продвижение информации в котором зависит от управляющего знака, поступающего от ЛРС-1.
Обозначим ж = (жг,п, . . . , жгд), уг = (уг,т, . . . , Угд) состояния ЛРС-1 и ЛРС-2 соответственно в *-м такте, * = 1, 2,...; ж1 = ж, у1 = у — их начальные состояния. Уравнения гаммообразования генератора имеют вид
Тг у<г(г,ж),1,
где а(г,ж) —суммарная «глубина продвижения» ЛРС-2 после первых * тактов функционирования:
а(*,ж) = Е№ (Ж') ® 1) + т ■ f (ж)). (2)
^=1
Ключом генератора являются начальные состояния ЛРС-1, ЛРС-2, а также функция усложнения f. Заметим, что состояние ЛРС-2 после I тактов функционирования зависит от поступившей от ЛРС-1 управляющей последовательности длины I и начального состояния ЛРС-2.
Зададим отображение ф следующим образом: ф Е Фт+г,т, а именно ф отображает множество управляющих последовательностей длины I и множество начальных состояний ЛРС-2 во множество состояний ЛРС-2 после I тактов функционирования генератора. Зафиксируем множество управляющих последовательностей и рассмотрим преобразования, на которые разветвляется отображение ф. Таким образом, I = {1,...,/}, далее индекс I опускаем.
Теорема 2. Справедлива оценка степени линейного разветвления отображения ф:
Л(ф) ^ I + 1. (3)
Доказательство. Пусть д — линейная подстановка, реализуемая за один такт генерирующим ЛРС-2. При фиксации начального состояния ж ЛРС-1 соответствующая управляющая последовательность длины I определяется однозначно и функция ф совпадает с линейным преобразованием дст(1,ж) множества Vm. Следовательно, степень линейного разветвления функции ф не превосходит числа различных значений, которые принимает величина а(/,ж). В соответствии с (2) значение а(/,ж) зависит только от веса управляющей последовательности длины /. Таким образом, Л(ф) ^ I + 1. ■
Данный результат в общем случае допускает уточнение, так как в теореме не учитываются структурные свойства управляющей последовательности, а именно то, что она может быть, например, линейной рекуррентной последовательностью. С целью уточнения полученных результатов реализован вычислительный эксперимент. На языке С+—Н написана программа, реализующая фильтрующий генератор (управляющий блок генератора «$-т шагов») на базе ЛРС-1 длины 17 с функцией обратной связи, соответствующей примитивному многочлену 1фж3фж17, что обеспечивает максимальную длину периода ЛРС-1. Фильтрующая функция генератора f (ж) = ж1 ж2 Ф ж17 сбалансирована в силу линейности по ж17. В результате выполнения программы для ЛРС-1 получено, что функция «число единиц в выходной последовательности длины 210» при различных ненулевых начальных состояниях принимает всего 157 значений. Заметим, что данное значение существенно ниже верхней границы неравенства (3).
Усложнением генератора «$-т шагов» является генератор с перемежающимся шагом [1, с. 318]. Его гамма образуется как сумма гамм двух генераторов «стоп — вперед» с генерирующими ЛРС-2 и ЛРС-3 длин т и г соответственно. Оба генерирующих регистра имеют общий управляющий блок — фильтрующий генератор с фильтрующей булевой функцией f (ж) на базе ЛРС-1 длины п.
Обозначим ж» = (ж*,™,... ,жм), у» = (уг,т,... ,Ум), г = (^,... ,2^,1) — состояния ЛРС-1, ЛРС-2 и ЛРС-3 соответственно в *-м такте, * = 1, 2,...; ж1 = ж, у1 = у, г1 = г — начальные состояния регистров. Уравнения гаммообразования генератора имеют вид
Т» у<г(г,ж),1 Ф гг-<г(г,ж),1,
где а(г,ж) —суммарная «глубина продвижения» ЛРС-2 после первых * тактов функционирования:
г
а(г,ж) = Е f (ж^).
^=1
Ключом генератора являются начальные состояния ЛРС-1, ЛРС-2, ЛРС-3, а также функция усложнения f. Состояния ЛРС-2, ЛРС-3 после I тактов функционирования зависят от поступившей от ЛРС-1 управляющей последовательности длины I и начальных состояний ЛРС-2, ЛРС-3.
Зададим отображение п Е Фт+г+г,т+г следующим образом: п отображает множество начальных состояний ЛРС-2, ЛРС-3 и множество управляющих последовательностей длины I во множество состояний ЛРС-2, ЛРС-3 после I тактов функционирования генератора. Зафиксируем множество управляющих последовательностей и рассмотрим преобразования, на которые разветвляется отображение п. Аналогично теореме 2 доказывается следующая теорема.
Теорема 3. Справедлива оценка степени линейного разветвления отображения п:
Л(п) ^ I + 1.
Полученные результаты могут быть использованы для криптографического анализа криптосистем, построенных на основе некоторых генераторов гаммы с неравномерным движением. Перспективным направлением представляется исследование разветвлений криптографических функций на преобразования, имеющие признак Н не только линейный.
ЛИТЕРАТУРА
1. Фомичёв В. М. Методы дискретной математики в криптологии. М.: ДИАЛОГ-МИФИ, 2010. 424 с.
2. Логачёв О. А., Сальников А. А., Ященко В. В. Булевы функции в теории кодирования и криптологии. М.: МЦНМО, 2004. 470 с.