2010 Теоретические основы прикладной дискретной математики №1(7)
ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ПРИКЛАДНОЙ ДИСКРЕТНОЙ МАТЕМАТИКИ
УДК 519.7
О КРИПТОГРАФИЧЕСКИХ СЛАБОСТЯХ НЕКОТОРЫХ КЛАССОВ ПРЕОБРАЗОВАНИЙ ДВОИЧНЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ1
С. В. Смышляев
Московский государственный университет им. М. В. Ломоносова, г. Москва, Россия
E-mail: [email protected]
В работе рассматривается ряд вопросов, связанных с использованием совершенно уравновешенных булевых функций в качестве фильтрующих и появлением слабостей в соответствующих криптопримитивах.
Ключевые слова: совершенно уравновешенные функции, барьеры булевых функций, фильтрующий генератор, криптография.
Введение
При изучении криптографических примитивов, состоящих из регистра сдвига и подключенной к нему реализующей некоторую булеву функцию схемы (фильтра), одним из важнейших вопросов является принципиальная возможность получить на выходе фильтра произвольную двоичную последовательность. Соответствующее свойство реализуемой булевой функции (фильтрующей) было формализовано С. Н. Сумароковым в понятии совершенной уравновешенности, им же в [1] были получены первые утверждения о классе совершенно уравновешенных функций. Исследование данного класса было продолжено в работе [2], в которой авторами было введено понятие барьера булевой функции, важное для изучения аспектов, связанных с использованием булевых функций в качестве фильтрующих, а также был доказан ряд утверждений о совершенно уравновешенных функциях с барьером. Позже [3, 4], в числе прочего, были доказаны некоторые утверждения о слабостях фильтров, построенных с помощью функций с барьером конечной длины, и построены некоторые классы совершенно уравновешенных функций без барьера. Работы [5, 6] были целиком посвящены методам построения классов совершенно уравновешенных функций, удовлетворяющих определенным наборам требований; в частности, широких классов функций без барьера [6].
В настоящей работе рассматриваются два аспекта использования совершенно уравновешенных булевых функций в качестве фильтрующих, связанные с появлением слабостей в соответствующих криптопримитивах.
В п. 1 и 2 приводятся необходимые определения и предварительные результаты. В п. 3.1 доказывается новый критерий совершенной уравновешенности функции, обосновывающий негативные криптографические качества совершенно уравновешенных булевых функций при использовании соответствующих им фильтров в ситуациях, когда на вход поступают отличные от истинно случайных последовательности — в част-
хРабота поддержана РФФИ (проект № 09-01-00653-а).
ности, такие, внутри которых никогда не встречаются некоторые наборы подряд идущих символов.
П. 3.2 посвящен углубленному изучению одного из поднятых в работе [4] вопросов о криптографических слабостях фильтров, построенных с использованием функций с барьером небольшой длины. Рассмотрены вопросы формального построения правил восстановления символов входной последовательности с использованием некоторых подмножеств символов выходной последовательности, доказан ряд особых свойств таких правил в терминах частично определенных булевых функций и в терминах барьеров совершенно уравновешенных булевых функций.
1. Основные определения и обозначения
Для множества двоичных наборов длины п будем использовать обозначение Уп = {0,1}п. Через Тп будем обозначать множество булевых функций от п переменных.
Пусть п,т Е N f Е Тп. Рассмотрим систему булевых уравнений:
f ... ,х8+п-1) = Уз, 5 = 1, 2,..., т. (1)
Обозначим для f Е Тп через ^ отображение из Ут+п-1 в Ут вида
Ут(ж1, ^, . . . , жт+п-1) (У (ж1, . . . , жп) , f (ж2, . . . , жп+1) , . . . , f (жm, . . . ,жт+п-1)). (2)
Нетрудно заметить, что отображение ^ можно понимать как порождаемое т тактами работы фильтра — кодирующего устройства, полученного с помощью подключения входов булевой функции f (называемой, в таком контексте, фильтрующей функцией) к некоторым ячейкам двоичного регистра сдвига. Фильтры часто применяются в криптографических приложениях, связанных с потоковыми шифрами, — например, простейшим примитивом, с помощью которого можно выработать складываемую с битами открытого текста псевдослучайную последовательность, является фильтр, на вход которого подается некоторая линейно-рекуррентная последовательность.
Определение 1 [1]. Булева функция f Е Тп называется функцией без запрета (функцией дефекта нуль), если соотношение
^т)-1(у) = ^
выполняется для любого т Е N и любого у Е ^т.
Определение 2 [1]. Булева функция f Е Тп называется совершенно уравновешенной, если соотношение
й(/т)-1(у) = 2п-1
выполняется для любого т Е N и любого у Е Ут. Множество совершенно уравновешенных функций из Тп обозначим через РВп.
Введем понятие барьера булевой функции, тесно связанное с понятием совершенной уравновешенности.
Определение 3 [2]. Булева функция f Е Тп называется функцией с правым барьером длины Ь, если система уравнений
f (У1,У2,...,Уп) = f (^1,^2,...,^п); f (У2, Уз, .. . , Уп+1) = f (^2, ¿З^.. , ^п+1);
< ... (3)
f (уЬ-1, У&, . . . , уЬ+п-2) = У(^>-1, %ь, . . . , ^6+п-2); к у1 --- ^1 ; ... ; уп-1 — ¿п-1; уп - 0; %п - 1
имеет решение, а система
у (У1,У2,...,Уп) = у (^1,^2,...,^п);
У(У2, Уз, .. . , Уп+1) = У(г2, z3,... , ^п+1);
. . . (4) У(у6-1, у6, . . . , у6+п-2) = У(г6-1, ^6, . . . , г6+п-2);
У (у6, у6+1, . . . , у6+п-1) У (г6, г6+1, . . . , ^6+п-1); к у1 ^1 ; ... ; уп-1 гп-1; уп 0; гп 1
решений не имеет.
Булева функция / Е ^п называется функцией с левым барьером длины Ь, если У/(ж1, ... , жп) = У(жп,... , ж1) является функцией с правым барьером длины Ь.
Булева функция У Е ^п имеет барьер, если она имеет правый или левый барьер, или оба сразу. При этом длиной барьера функции называется соответственно длина правого барьера, левого барьера или меньшая из длин барьеров.
Замечание 1. Нетрудно заметить, что наличие правого (левого) барьера длины 1 означает линейность функции по последнему (первому) аргументу.
Отметим, что для всех утверждений, в которых упоминается длина правого барьера некоторых функций, могут быть очевидным образом построены аналоги с использованием понятия левого барьера. Ввиду этого далее будем говорить только о правых барьерах функций.
2. Предварительные результаты
Отметим важное для криптографических приложений свойство совершенно уравновешенных функций.
Теорема 1 [7]. Пусть п Е N У Е ^п. Для последовательности случайных векторов Хт = (ж1,ж2,... , жт+п-1), т =1, 2,..., с распределением
Рг{Хт — (аЪ . . . , ат+п-1)} — 2 ^ ^ для каждого (а^ . . . , ат+п-1) Е ^т+п-1
случайный вектор Ут = /т(Хт) распределен равномерно для любого т Е N тогда и только тогда, когда У — совершенно уравновешенная функция.
Другими словами, если биты двоичной последовательности, поступающей на вход фильтра, распределены равномерно и независимо, то биты выходной двоичной последовательности обладают этим свойством тогда и только тогда, когда фильтрующая функция совершенно уравновешена.
Для исследования класса совершенно уравновешенных функций часто удобно использовать следующую теорему.
Теорема 2 [1, 7]. Пусть п Е N и У Е ^п. Тогда следующие утверждения эквивалентны:
— У является совершенно уравновешенной;
— У является функцией без запрета;
— не существует двух различных двоичных последовательностей
ж = (ж1, ж2,..., жг), г = (г1, г2,..., ) Е V, г ^ 2п — 1,
таких, что
ж1 г1, ж2 z2, . . . , жп-1 гп-1; жг-п+2 гг-n+2, жг-п+3 гг-n+3, . . . , ;
/Г-п+1(ж) — /Г-п+1 (г).
Связь совершенной уравновешенности с наличием у функции барьера описывается следующим утверждением.
Теорема 3 [2]. Наличие барьера у булевой функции является достаточным, но не необходимым условием совершенной уравновешенности функции.
3. Основные результаты
3.1. Критерий совершенной уравновешенности
Следующее утверждение представляет собой критерий совершенной уравновешенности, суть которого заключается в существовании для каждого фиксированного набора длины к такой выходной последовательности, которая не может быть получена с помощью фильтрующей функции / ни на какой входной последовательности, не содержащей внутри себя этого набора. Иными словами, из запрета на присутствие любого фиксированного набора символов во входной последовательности кодирующего устройства указанного типа в случае совершенно уравновешенной фильтрующей функции незамедлительно следует уменьшение мощности множества возможных выходных последовательностей.
Теорема 4. Функция является совершенно уравновешенной, если и только если для любых к > 0, (у1,... , ук) Е Ук существуют такие г ^ тах{1,1 — п + к} и г = (г1,... , ) Е V., что выполняются следующие условия:
1) 3(ж1 , . . . , жг+п-1) Е ^Т+п- 1 (/Т (ж1 , . . . , жг+п-1) (г1 , . . . , )) ;
2) У(ж1, . . . ,Жг+п-1) Е К.+п-1(Л (Ж1, . . . ,Жг+п-1) = (¿1, . . . ,2г) ^
^ Зг (1 ^ г ^ г + п — к & (ж*,... ,ж*+к-1) = (у1,... ,ук))).
Доказательство.
Необходимость. Для произвольной / Е РВп предположим противное: существуют к > 0 и (у1,... ,ук) Е Ук, такие, что для любого г ^ тах{1,1 — п + к} и любого г = (¿1,... , г.) Е V. выполнено хотя бы одно из двух условий:
а) ^ (ж1 , . . . , жг+п-1 ) Е УТ+п- 1 (/Т (ж1 , . . . , жг+п-1 ) (г1 , . . . , ¿Г )) ;
б) З(ж1,... ,ж.+п-1) Е К+п-1(Л (ж1,... ,ж.+п-1 ) = (г1,...,г-) &
& V* (1 ^ г ^ г + п — к ^ (ж*,..., ж*+к-1) = (У1,..., Ук))).
Покажем, что условие «б» не может выполняться для всех г и г. Представим любой набор ж Е УГ+п-1 в виде
ж = ((ж1,...,жк), (ж1,...,жк),..., (жр,...,жр ),жр+1,...,жт+1) е к+п-ъ
где 0 ^ т < к, р
г + п — 1
. Всего таких ж, что (ж1,... , ж^) = (у1,... , у^) для всех
к
= 1,. . . ,р (что, очевидно, необходимо для выполнения соотношения V* (1 ^ г ^ г + п — к ^ (ж*,..., ж*+к-1) = (У1,..., Ук))
из условия «б»), для каждого г существует не более чем (2к — 1)р • 2к-1.
(2к — 1)р2к-1 / 2к — 1\р 1 ^
Верно соотношение --------+—----- ^ ---к— 2 —> 0. Поэтому существу-
2Г+п-1 \ 2к у г—>+^о
ет столь большое г;, что число последовательностей ж Е V./ +п-1, не содержащих (у1,... ,ук), не превосходит 2-/+п-12-п = 2Г-1. Всего возможных последовательностей г Е V./ ровно 2Г , поэтому хотя бы для одного г Е V./ будет выполнено условие а, противоречащее определению совершенно уравновешенной функции. Полученное противоречие завершает доказательство необходимости.
Достаточность. Предположим противное: f Е РВп. Тогда, как следует из теоре-
Положим (у1,..., ук) = (у;,... , ук). Если существуют г > 0 и г = (г1,... , ) Е V,
такие, что
для какого-то (ж1,..., жГ+п-1), где (ж**,... , ж**+к-1) = (у/; ,...,ук) при некотором г*, то, просматривая (ж1,... , жГ+п-1) слева направо и заменяя все вхождения (у/;,... , ук) на (у",... , ук;), получим решение системы (5), не содержащее внутри себя (у1,... , ук). Получаем противоречие с условием, т. е. f совершенно уравновешена. Достаточность доказана. ■
Замечание 2. Логично задаться вопросом: а для всякой ли выходной последовательности г = (г1,...,гг) Е У существует набор у = (у1,...,ук) Е Ук, входящий (в указанном смысле) в любую входную последовательность ж = (ж1,... , жГ+п-1) из прообраза г, в случае совершенно уравновешенной функции? Ответ на этот вопрос, вообще говоря, отрицательный. Достаточно рассмотреть функцию f (ж1,ж2) = ж1 ф ж2 и состоящую из одних нулей выходную последовательность г — в этом случае в прообраз г будет входить как последовательность из единиц, так и последовательность из нулей. Очевидно, ни одного у, входящего в оба эти решения, не существует.
Свойство совершенно уравновешенных функций, доказанное в теореме 4, означает следующее. Важное свойство, благодаря которому при преобразовании двоичных последовательностей с помощью кодирующего устройства с совершенно уравновешенной фильтрующей функцией f в выходных последовательностях сохраняются хорошие свойства близких к истинно случайным входных последовательностей, никаким положительным образом не переносится на случай далеких от истинно случайных входных последовательностей. Если входная последовательность порождена некоторым детерминированным устройством с конечной памятью и имеет явные зависимости между некоторыми битами, то эти зависимости, а точнее, непосредственно следующие из них запреты на появление некоторых наборов внутри входной последовательности, кодирующим устройством с совершенно уравновешенной фильтрующей функцией всегда будут явно отражены в появлении запретов в выходных последовательностях. То есть совершенная уравновешенность фильтрующей функции делает теоретически возможным распознавание по выходной последовательности структурных особенностей входной последовательности, если она была порождена с помощью некоторого конечного автомата. Например, если на вход фильтрующего устройства с совершенно уравновешенной функцией подавать линейно-рекуррентную последовательность, то по выходу теоретически возможно восстановление рекурренты.
Утверждение теоремы 4 можно переформулировать следующим образом: фильтрующая функция сохраняет запреты (в соответствующем смысле) тогда и только тогда, когда она совершенно уравновешена. Нетрудно заметить, что из данного критерия совершенной уравновешенности непосредственно следует, например, утверждение
о совершенной уравновешенности булевой функции, полученной из некоторых двух совершенно уравновешенных функций с помощью описанной в работе [5] специально определенной операции композиции фильтрующих функций.
Случай отсутствия у фильтрующей функции совершенной уравновешенности и соответствующая ему способность кодирующего устройства с этой функцией не сохранять некоторые запреты могут быть проиллюстрированы следующим простым примером.
Рассмотрим f (xi, x2) = x^2 E F2\PB2 и соответствующее ей фильтрующее устройство. Предположим, что на вход данного устройства могут поступать любые последовательности, за исключением содержащих внутри себя набор (0,1, 0). Покажем, что появление такого запрета на входе не породит запрета на выходе. Для этого заметим, что равенство
fr(gb ^2, . . . , ^г-Ъ ° 1 ° . . . , ^r+1) = fr(gb ^ . . . , gi—1, ° 0, 0, gг+3, . . . , ^r+1)
выполняется для любых r E N, i =1,...,r — 1, и любых значений gj, то есть удаление в произвольной входной последовательности всех наборов (0,1, 0) и подстановка на их места наборов (0, 0, 0) никак не скажется на выходной последовательности.
Из всего вышесказанного можно сделать заключение о том, что использование совершенно уравновешенных функций в качестве фильтрующих предпочтительно в тех и только в тех случаях, когда им на вход будут поступать близкие к истинно случайным двоичные последовательности, не обладающие явными зависимостями между битами. В противном случае лучше использовать функции, которые не переносят некоторые возникающие во входных последовательностях запреты в выходные последовательности, а следовательно, не позволяют по выходам кодирующего устройства узнавать дополнительную информацию о структуре входных последовательностей.
3.2. Восстановление символов входной последовательности
Рассмотрим вопрос, связанный с восстановлением символов входной последовательности фильтрующего устройства. Пусть булева функция f E имеет правый барьер длины b < +то. В случае b =1 f представима в виде f(x1,...,xn) = = g(x1,... ,xn-1) Ф xn, поэтому при использовании этой функции как фильтрующей в кодирующем устройстве упомянутого типа каждый входной бит последовательности однозначно определяется по предыдущим n — 1 входным и соответствующему выходному биту. xi f (xi-n+1 , . . . , xi- 1, уг—n+1) g (xi—n+1 , . . . , xi—1) Ф уг— n+1, i ^, n + 1 , . . .
Возникает вопрос: можно ли для функций с правым барьером большей длины построить аналог локально обратной функции /?
Определим для произвольной функции с барьером длины b < частично определенную булеву функцию /(x1,... , xn—1, y1,... , yb) следующим образом:
f (x1, . . . , xn—1, y1, . . . , yb)
0, 3(*2,... ,tb) E Vb—1 : fb(x1,... ,xra—1, 0, ¿2,... ,tb) = (y1,... ,Уь);
1, 3(¿2,... ,tb) E Vb—1 : fb(x1,... ,x„—1,1,¿2,... ,tb) = (y1,... ,yb); (6)
*, ^(¿1,... ,tb) E Vb : fb(x1,... ,x„—1,¿1,... ,tb) = (y1,... ,Уь).
Чтобы доказать корректность такого задания функции, покажем, что условие
3(i2,... Л) E Vb—1 : fb(x1,... ,x„—1,¿1,¿2,... Л) = (У1,... ,Уь) может быть выполнено не более чем для одного ¿1 E {0, 1}. Предположим противное:
3 (^¿2, . . . , ¿b) E Vb—1 (fb(x1,... , xn—1, 0,¿/2,...,¿b) = (Уъ . . . , Уь^
3(¿/2/, . . . ,¿b/) E Vb—1 (fb(x1, . . . ,xn—1, 1, ¿2, . . . ,¿b/) = (У1, . . . ,yb)).
В таком случае выполнена система
f (zi, >z2,.. f (zi' 7" z2 . . . z"V , zn);
f (z2: >z3,.. .,zn+1) = У2 = f( z2 , z3 , • ••,zn+1 )•
.. f( zb+l, . . . , zb+n— 1) = = Уь = 4' f( zb+1,• • • z'' > b+ra-
zi = z'/ = xi,...,z4-i: - z'' 1 xn -i,zn = Q^
z' zn+1 = ¿2, . . . , zb+ra-1 t' •
7" zn+1 = ¿2, . . . , zb+ra-1
что противоречит определению правого барьера длины b. Следовательно, функция f определена корректным образом и является функцией, которая однозначно восстанавливает символ входной последовательности по n — 1 предшествующим входным и b последующим выходным символам.
Логично предположить, что частично определенная булева функция, действие которой, в некотором смысле, обратно действию некоторой совершенно уравновешенной функции, сама должна быть сбалансированной.
Соответствующее утверждение сформулировано в теореме 5, доказательство которой опирается на леммы 1 и 2.
Предварительно введем два обозначения: для функции f Е Fn и натурального l для всякого набора (xi,... , xn) Е Vn определим величину Mf (xi,... , xn):
M'h (xi,... ,xra) =
= tt{(y1, . . . , ) : 3(tn+1, . . . , tl+n-1) (fZ(x1, . . . , xn, ¿n+1, . . . , tl+n-1) = (y1, . . . , yZ))};
для всякого набора (x1,... , xn-1) Е Vn-1 определим величину Mf (x1,... , xn-1):
Mf (X1, ... , Xn—1) =
tt{(y1, . . . , ) : . . . , ¿Z+n—1) (fZ (x1, . . . , xn— 1, ¿no ¿n+1, . . . , ¿Z+n—1) (y1, . . . , yl))}.
Лемма 1. Пусть f Е Fn имеет правый барьер длины b < +то. Если для некоторого l ^ b существует набор (¡г1,. . . , Xn) Е Vn, такой, что
M'fi (xi,... ,x„) = - M'ft (xi,... ,xn-i),
то существует набор (X . ..,хт+га_ 2) Е ^т+га-2, для которого выполнена следующая система:
т ^ 2;
(/V»' /V»' \ - ( Гр' Гр' •
. . • ) хт+п— 2/ Vх 1> • • * ^ хп_ 1/?
Мл (х-,... ,хі+п-і) ^ М(х-,... ,хі+п-2)/2, і = 1...,т - 1; Зі Е {l, 2 ...,т - 1} (М}г(х-,... ,х-+га_і) < М(х-,... ,х-+га_2)/2) .
Доказательство. Рассмотрим граф де Брейна порядка п — 1 (напомним, что графом де Брейна порядка к называется ориентированный граф с 2к вершинами и 2к+1 ориентированными ребрами, причем вершинам взаимно однозначно сопоставляются двоичные наборы длины к; дуга из вершины с набором (х1,..., хк) в вершину с набором (у1,... , ук) присутствует в графе тогда и только тогда, когда выполнены равенства уг = х*+1 для всех і = 1,... ,к — 1). Введем дополнительные пометки на его дугах.
Дугу из вершины с набором (х1,.. . ,хп-1) в вершину с набором (х2,. ..,хп) пометим в соответствии со следующим правилом:
( 0, М(хь...,х„) < М'' (хь ... ,хга_1)/2;
< 1, М}; (хь...,х„) = М'' (хь ... ,х„_1)/2;
[ 2, М(х1,...,хга) > М'' (х1,... ,хга_1)/2.
Тогда условие леммы можно переформулировать следующим образом: в помеченном описанным выше способом графе де Брейна порядка п— 1 существует хотя бы один цикл, не содержащий дуг с пометкой 2 и содержащий хотя бы одну дугу с пометкой 0.
Из существования у функции f правого барьера длины Ь следует: для I ^ Ь верно, что для произвольного набора (х1,... ,жга_1) выполняется соотношение
{(У1,... ,у) : З(х„+1,... ,хг+п_1) Е У1_1
Шжь ... ,жга_1, 0, х„+1,... ,хг+„_1) = (у1,... ,уг))}П П {(у1,... ,уг) : З(х„+1,... ,хг+„_1) Е У_1
(Л(хь... ,жга_1, 1,хга+1,... ,хг+п_1) = (У1,... ,Уг))} = 0.
Так как при этом выполняется соотношение
{(У1,... ,у) : З(х„+1,... ,хг+п_1) Е У1_1
(/г(х1,... ,ж„_1, 0, х„+1,... ,хг+„_1) = (у1,... ,уг))}и и {(у1,... ,уг) : З(х„+1,... ,хг+„_1) Е И_1 (Уі (х1, . . . , хга_ 1, 1, хга+1, . . . , х1+га_1) (у1, . . . , у1)) }
= {(У1,... , Уг) : З(х„,... , хг+„_1) Е V
(Уі (х1, . . . , хга_1, xra, хга+1, . . . , х1+га_1) (у1, . . . , у1)) },
то верно
М'1 (хь... ,х„_1) = М};(хь... ,х„_1, 0) + М^ (хь... ,х„_1, 1),
поэтому в нашем графе сумма пометок на любой паре выходящих из одной вершины дуг равна 2.
Удалим из графа все дуги с пометкой 2. Для завершения доказательства леммы достаточно построить в получившемся таким образом графе цикл, содержащий дугу с пометкой 0.
Начнем обход получившегося графа, начиная из вершины с набором (ж1,... ,жга_1). Перейдем по единственной исходящей из нее дуге (с пометкой 0). Покажем, что из текущей вершины существует путь (возможно, нулевой длины) по дугам с пометкой 1 в некоторую вершину, из которой исходит дуга с пометкой 0. Достаточно рассмотреть два возможных случая: либо из нашей вершины по дугам с пометкой 1 доступны все вершины графа (и, в том числе, подходящая нам вершина с набором (ж1,... , жга_1)), либо некоторая часть графа недоступна, что может произойти только из-за встреченных вершин, из которых в исходном графе исходила дуга с пометкой 2.
Итак, из исходной вершины по пути, состоящему ровно из одной дуги с пометкой 0
и, возможно, простой цепи из дуг с пометками 1, можно попасть в некоторую вершину, из которой тоже исходит дуга с пометкой 0. В случае, если эта новая вершина отлична от исходной, вновь перейдем по дуге с пометкой 0 и дугам с пометками 1 в некоторую вершину с исходящей из нее дугой с пометкой 0. Продолжая действовать таким образом, через некоторое число шагов попадем в одну из ранее встреченных вершин с исходящей дугой с пометкой 0. Искомый цикл построен, лемма доказана. ■
Лемма 2. Если f Е Fn имеет правый барьер длины b < +то, то равенство Mj (xi,... , xn-i, 0) = Mj (xi,...,xn—ь 1) = Mj' (xi,... ,xn-i)/2 выполняется для любого l ^ Ь и любого (xi, . . . ,xn-i) Е Vn-i.
Доказательство. С помощью вытекающего из определения правого барьера длины b равенства
{(Уь...,^) : ^¿п+ъ..^ ¿Z+n—i ) (fZ(хъ... , xn— i, 0, ¿n+i, . . . , ¿Z+n—i ) = (yi,...,yz ))}n
n{(yi,... ,yz) : 3(in+i,... ,tz+n—i) (fz(xi,... ,Xn—i, 1,tn+i,... ,tz+n—i) = (yi,... ,yz))} = 0
и очевидного равенства
{(yi,...,yz) : З^+ъ..., ¿Z+n—i ) (fZ(x1,... , xn— i, 0, ¿n+i, . . . , ¿Z+n— i ) = (yi,...,yz ))}U U{ (yi , . . . , yZ) : 3(in+i, . . . , ¿Z+n—i) (fZ(xi, . . . , xn—i , 1, ¿n+i , . . . , ¿Z+n—i) — (yi , . . . , yZ))} —
{ (yi , . . . , yZ) : 3(^n ¿n+i , . . . , ¿Z+n—i) (fZ (xi , . . . , xn—i, ¿n ¿n+i, . . . , ¿Z+n—i) (yi , . . . , yZ)) },
которые верны для любого l ^ b, легко получить, что для доказательства леммы достаточно показать невозможность существования для какого-либо l ^ b набора (хь ... , Xn) Е Vn, для которого выполняется неравенство
Предположим существование такого набора (х1,...,хп) Е У для некоторого /,
I ^ Ь, для которого выполняется (7).
Рассмотрим для произвольных фиксированных х1,... ,хга системы, описывающие
отображения // (х1 , . . . , хп—1, хп, ХП+1 , . . . , хп+/_1) , У/ (х1 , . . . , хп—1, хп, ХП+1 , . . . , хп+/) •
Так как /(х1,...,хп) во второй системе определена однозначно и не зависит от хга+1... , хга+г, верно равенство
Й{(у1, . . . , у/+1) • 3(хга+1, . . . , х/+га) (//+1 (х1, . . . , х«о хга+1, . . . , х/+га) (у1, . . . ,у/+1))}
Й{(у2, . . . , у/+1) • 3(хга+1, . . . , х/+га) (//(х2, . . . , хп хга+1, . . . , х/+га) (у2, . . . ,у/+1))}
= М} (х2, . . . ,х„).
С другой стороны, вторая система получена из первой фиксацией аргумента хп и добавлением одной новой строки. Поэтому выполняется неравенство
Н{(уъ ... ,у/+1) • 3(хп+1,... ,хг+„) (/г+1(х1,... ,хп,хга+1,... ,хг+„) = (у1,... ,у/+1))} ^
^ 2 Ц{(уь ... ,уг) • 3(х„+1,... ,хг+„_1) (/(хь... ,х„,х„+1,... ,хг+п-0 = (уъ ... ,уг))} =
(xi,... ,xn) < M'l(xi,... ,xn—1)/2.
2Mj;(xi,... ,Xn).
Окончательно получим: для всякого набора (xi,... ,xn) Е Vn выполнено
Mf (X2, ... ,Xn) ^ 2Mf(xi,... ,Xn).
В лемме 1 доказано, что при нашем предположении о существовании набора
(Х1,... , Хп) Е У, для которого выполнено (7), существует набор (х^,... , хт+п_2), та-
кой, что:
(т ^ 2;
( /V»' /V»' \ - ( /V»' /V»' •
Ухт> * * * ^ хт+п_2/ Vх 1> • • * ^ хп_1/> (9)
М(4,... ,х'--+п_1) ^ М/'(х$,... ,х^+п_2)/2, 3 = l,...,т- 1; ()
33 Е {1, 2 . . . ,т - 1} (М}; (х' , . . . , х^+п_1) < М , . . . ,х'+п_2)/2) .
Из (8) следует, что М" (х(+,... ,х^-+п_1) ^ 2М}; (х^-,... ,х^-+п_1) для 3 = 1,... ,т - 1.
Тогда, с учетом (9), верна следующая цепочка неравенств:
М/; (х1, . . . ,х„_1) = М/; (хт, . . . ,хт+п_2) ^ 2М/г (хт_1, . . . , хт+п_2) ^
^ 2М/г (хт_1, . . . ,хт+п_3)/2 = М/1 (хт_1, . . . , хт+п_3) ^ ... ^ М/' (х1, . . . ,хП_1),
причем хотя бы одно из неравенств этой цепочки — строгое.
Получили М" (х1,... , хП_1) < М/ (х1,..., хП_1). Это противоречие завершает доказательство леммы. ■
Теорема 5. Пусть / Е ^П, / имеет правый барьер длины Ь < +то. Тогда функция /, определенная согласно (6), является уравновешенной (в соответствующем смысле для частично определенных булевых функций):
Й{(хЬ. .. ,хп_ьуь... ,уь) • /(х1,. . . , хп_ 1, у 1, . . . ,уь) = 0} = (10)
= Й{(хь ... ,х„_ьуь... ,уь) • /(х1,... ,х„_1,уь ... ,уъ) = 1}.
Доказательство. Равенство (10), согласно определению /, можно переписать в следующем виде:
Й{ (х1, . . . , хга_ 1, у1, . . . , уЬ) • 3(^га+1, . . . , ^Ъ+П_1)
(/Ъ(х1, . . . , хп_1, 0, ¿п+1, . . . , ^Ъ+п_1) — (у1, . . . , уЬ)) } —
Н{ (х1, . . . , хп_ 1, у1, . . . , уЪ) • 3 (^п+1, . . . , ^Ъ+п_1)
(/Ъ(х1, . . . , хп_1, 1, ¿п+1, . . . , ^Ъ+п_1) (у1, . . . , уЪ)) }.
По определению величины М ' это равенство эквивалентно следующему:
^ М'1 (х1,... ,х„_1, 0) = ^ М}г (хь ... ,х„_1,1). (11)
(жь...,жп_1)еУп_1 (ж1,...,жп_1)еУп_1
Последнее равенство верно в силу леммы 2. ■
Замечание 3. Нетрудно заметить, что из леммы 2 следует и более сильное утверждение: уравновешенной (в соответствующим смысле для частично определенных булевых функций) является не только функция /х, но и любая ее подфункция, полученная фиксацией переменных х1,... , хп_1.
Рассмотренный в замечании 3 факт можно проинтерпретировать следующим образом: если использовать функцию /х для восстановления символов входной последовательности кодирующего устройства с фильтрующей функцией / с правым барьером конечной длины, то при восстановлении очередного входного символа при известных предыдущих п — 1 входных символах ровно половина множества возможных /-грамм последующих выходных символов будет свидетельствовать о равенстве очередного входного символа нулю, ровно половина — о равенстве единице.
Напоследок заметим, что данное свойство нельзя обобщить для произвольной ситуации, в которой возможно восстановление очередного входного символа кодирующего устройства с совершенно уравновешенной фильтрующей функцией по пред-тттествующим п — 1 входным и последующим / выходным символам. Например, при /(х1,х2,х3) = х1 ® х2х3 Е РВ3, п = 2 и / = 2, если требуется восстановить х3, зная х1, х2, у1 = /(х1,х2,х3) = х1 ® х2х3 и у2 = /(х2,х3,х4) = х2 ® х3х4, то в ситуации, когда х1 = 0 и х2 = 1, символ х3 восстановим по паре (у1,у2), однако о равенстве х3 нулю свидетельствует только одна пара — (у1,у2) = (0,1), тогда как о равенстве х3 единице свидетельствуют две: (1, 0) и (1, 1).
Кроме того, нельзя обобщить данное свойство и на случай произвольного отображения вида Уя+ъ_1 ^ И, которое является уравновешенным и у которого п-й входной символ можно восстановить по предшествующим п — 1 входным и Ь последующим выходным символам. Далее приведен пример отображения ^, для которого аналог функции / не является уравновешенным.
Пусть п = Ь
2.
3.
= 2; ^ • ^'п+Ъ~ -1 ^ И; / ^га+Ъ_1 ^ {0, 1 *}
^ (х1,х2,х3) = (у 1,у2) /(х1 , у1 , у2) = х2
х1 х2 х3 у1 у2 х1 у1 у2 х2
0 0 0 0 1 0 0 0 1
0 0 1 0 1 0 0 1 0
0 1 0 0 0 0 1 0 1
0 1 1 1 0 0 1 1 *
1 0 0 1 1 1 0 0 1
1 0 1 1 1 1 0 1 *
1 1 0 0 0 1 1 0 1
1 1 1 1 0 1 1 1 0
ЛИТЕРАТУРА
1. Сумароков С. Н. Запреты двоичных функций и обратимость для одного класса кодирующих устройств // Обозрение прикладной и промышленной математики. 1994. Т. 1. Вып. 1. С.33-55.
Логачев О. А., Смышляев С. В., Ященко В. В. Новые методы изучения совершенно уравновешенных булевых функций // Дискретная математика. 2009. Т. 21. Вып. 2. С. 51-74. Смышляев С. В. О некоторых свойствах совершенно уравновешенных булевых функций // Материалы Четвертой Междунар. научн. конф. по проблемам безопасности и противодействия терроризму (МГУ им. М. В. Ломоносова, Москва, 30-31 октября 2008). М.: МЦНМО, 2009. С. 57-64.
4. Смышляев С. В. Барьеры совершенно уравновешенных булевых функций // Дискретная математика (в печати).
5. Логачев О. А. Об одном классе совершенно уравновешенных булевых функций // Материалы Третьей Междунар. научн. конф. по проблемам безопасности и противодействия терроризму (МГУ им. М. В. Ломоносова, Москва, 25-27 октября 2007). М.: МЦНМО, 2008. С.137-141.
6. Смышляев С. В. О совершенно уравновешенных булевых функциях без барьера // Материалы Восьмой Междунар. научн. конф. «Дискретные модели в теории управляющих систем» (МГУ им. М. В. Ломоносова, Москва, 6-9 апреля 2009). М.: МАКС Пресс, 2009. С.278-284.
7. Логачев О. А., Сальников А. А., Ященко В. В. Булевы функции в теории кодирования и криптологии. М.: МЦНМО, 2004.