Понятие о классификации двоичных функций
Для вычисления групп инерции часто используется класс эвристических методов. Они выполняются в два этапа. Сначала выбирается набор каких-либо достаточно просто вычисляемых параметров (называемых «эвристиками»), по значениям которых можно либо сделать вывод «функции не эквивалентны» или «группа инерции тривиальна» и др., либо уменьшить число вариантов, подлежащих перебору для получения… Читать ещё >
Понятие о классификации двоичных функций (реферат, курсовая, диплом, контрольная)
При анализе полное перечисление всех б.ф. и их свойств не под силу современным электронно-вычислительным машинам (ЭВМ) уже при числе переменных п > 5. В связи с этим используется разбиение функций на классы, где внутри классов функции обладают близкими свойствами. Если число классов невелико, то анализ облегчается, ведь по свойствам представителей классов можно судить о свойствах остальных функций. Подход к исследованию множеств, заключающийся в разбиении их на классы, называют классификацией. Булевы функции можно классифицировать по различным характеристикам: весам, степеням нелинейности и т. д. Важным с точки зрения приложений в криптологии является подход, основанный на применении групп преобразований.
Пусть G — некоторая группа преобразований множества Vn, порядок группы G удовлетворяет неравенствам: 1 < G < (2″)!. Булевы функции f (pc^…, хп) и |/(xj,…, хп) называют эквивалентными относительно группы G, или G-эквивалентными, если в G найдется подстановка g, при которой |/(х) = f (g (x)). Обозначим это отношение f =Gi или/= |/, если в контексте группа G определена однозначно. Данное бинарное отношение на множестве Р2(п) при любой группе G является отношением эквивалентности, так как выполнены свойства:
- а) рефлексивность —/=с/(в этом случае g = е);
- б) симметричность — f =G |/, тогда |/ =Gf
- в) транзитивность — / =G |/, |/ =G zy тогда f =G z.
Итак, множество Р2(п) разбивается на классы в связи с эквивалеицией =с. Обозначим класс эквивалентности, содержащий функцию /, через [;f]G, заметим, что 1 < IL/lcl — IС|. Ес ЛИ IIЛс I = 1, го / неизменна при всех преобразованиях g е G, т. е. функция / инвариантна относительно группы G, или G-инвариантна. Степень инвариантности / относительно преобразований группы G отражает понятие группы инерции. Группа инерции функции / в группе G есть множество преобразований из G (обозначаемое JG(J)), не меняющих /:
МиожествоУ^^ — подгруппа группы G. Если jc (f) 1=1, то говорят, что функция / имеет тривиальную группу инерции в группе G.
Теорема 6.11. Для всякой функции/е Р2 справедливо: {/]q = G / /L/c (/)l•.
А Класс fG есть множество функций (|/(х): |/(х) = f{g{x)), ge G}. Пусть g е G. Определим, сколько преобразований g' из G дают ту же функцию, что и g, т. е. f (g (x)) =f (g'(x)).
Сделаем замену переменной у = g{x). Тогда х = g~l{y) и из последнего равенства имеем.
Данное равенство выполнено «g» = g’g~{ е Jc,(D- Следовательно, g' имеет вид: g'=g" g, и всего таких преобразований jc (f)> где данное число не зависит от выбора g. ?
Заметим, что теорема 6.11 — частный случай леммы Бернсайда (теоремы 4.23).
Укажем основные пять групп подстановок Vn, используемых для классификации б.ф.
1. Группа Sn перестановок переменных состоит из п подстановок вида.
где (jpj2, — перестановка чисел (1,2,…, п).
Функция f{x) называется симметрической, если она инвариантна относительно группы Sn, т. е. Js {f) = Sn. Симметрической б.ф. является, например, сумма всех конъюнкций ранга k от п переменных, 0 < k < п.
2. Группа Zw инвертирований переменных (группа сдвигов) состоит из подстановок.
где (at, аъ ап) е V", 11"| = 2″ .
3. Группа Джевонса Qn {группа однотипности, геометрической эквивалентности) есть произведение групп Sn и Хп. Группа Q" состоит из подстановок вида.
где (jlf …Jn) — перестановка (1,…, п), (av …, а") е Vn.
Подстановка g переставляет переменные и инвертирует некоторые из них, iQj =п2″.
4. Группа GLtl(2) линейных подстановок {полная линейная группа). Подстановки задаются обратимой двоичной матрицей А порядка п: g (x) = хА,
GL"(2) = П (2″ -2');
/=0.
5. Группа AGLn{2) аффинных подстановок {полная аффинная группа) — произведение групп GLn и Она состоит из подстановок g{x) = хА ® /;,.
где А = (ciy) — обратимая двоичная матрица порядка вектор b = (bv …,.
Ь")е AGLn{2) = 2"п'(2″ -2');
1=0.
Каждая из групп Sn, Q", GLn{2) является подгруппой группы AGLn{2).
Отметим аналитические свойства эквивалентных функций. Утверждение 6.3. Пусть / =с|/, тогда:
- 1) II/NMI;
- 2) если G < AGLn(2), то deg/ = deg|/;
- 3) если G е {SIV Ъп> Q,?}, то числа существенных переменных/ и |/ равны.
Л Свойство 1 следует из неизменности веса функции при любой подстановке g.
При любой аффинной подстановке g степень нелинейности функции f (g (x)) не возрастает, поэтому второе свойство следует из цепи соотношений.
Третье свойство следует из того, что любая подстановка g из G преобразует пару соседних векторов множества Vn в пару также соседних векторов. ?
Изложим идею классификации б.ф. с использованием групп преобразований Vn. Важной проблемой классификации является задача конструктивного перечисления, т. е. получение списка представителей всех классов эквивалентности.
- 1. Сначала выбирается какой-либо способ перечисления всех функций из р2(^)> т-е— генерируется последовательность {/ц./ъ/з, •••}• Способы построения этой последовательности могут быть различными, например, перебор всех функций, начиная с функции малого веса или с функции малой степени нелинейности и т. д. Возможно, сразу не удается обеспечить, чтобы все эти функции лежали в разных классах эквивалентности, поэтому выполняем п. 2.
- 2. Полагаем /П) = f{ и подсчитываем [/с (/(1))|. Далее берем /2 и проверяем, выполнено ли отношение /2 = GfG). Если выполнено, то переходим к /3. Если не выполнено, то полагаем /<2> = /2 и подсчитываем 1/г;(У(2)) I и т. д.
Взяв очередную функцию fi из исходной последовательности, проверяем, эквивалентна ли она одной из отобранных ранее функций /О, Если эквивалентна, то переходим к fM. Если не эквивалентна, то полагаем f (m+1) = f. и вычисляем jc (f (m+^) (способы вычисления jc (f)I для б.ф./ рассмотрены ниже), после чего проверяем равенство.
Если (6.17) выполнено, то классификация закончена.
Алгоритм классификации упрощается, если известно число т классов эквивалентности: не требуется вычислять порядки групп инерции и проверять равенство (6.17). В этом случае классификация завершена, если построена последовательность /(В,/(2), 0.
Таблица 63
Число классов эквивалентности б.ф. относительно групп.
G | s" | &, | GL"(2) | AGLn( 2). | |
п= 1. | |||||
п = 2. | |||||
п = 3. | |||||
п = 4. | |||||
п = 5. | 37 333 284. | 134 281 216. | 1 228 158. | ||
п = 6 | >25- 10! б. | >29- 1017 | >4 • 10″. | 950 998 216. | 15 768 919. |
Определенное неудобство такой классификации заключается в том, что мощности классов эквивалентности могут заметно различаться (см. теорему 6.11).
В табл. 6.3 даны результаты подсчета числа классов эквивалентности для пяти указанных групп при п < 6. Из таблицы видно, что для классификации б.ф. от п > 6 переменных этот подход оказывается неэффективным. Вместе с тем подход к классификации функций, основанный на G-эквивалентности, представляет интерес для оценки числа неэквивалентных ключей некоторых криптографических схем.
С целью укрупнения классов эквивалентных функций рассматриваются и другие отношения эквивалентности. Булевы функции f (xx, …, хп) и |/(х1?…, хп) называют (G, Н)-эквивалентными, где Gи Я-группы подстановок множеств V" и Vx соответственно, если найдутся подстановки ge G и h е Я, при которых |/(х) = h (f (g (x))), обозначается /=(СЯ) |/.
В случае булевых функций |я| делит 2. Если группа Я тривиальна, то (G, Я)-эквивалентность и G-эквивалентность совпадают, если IЯ | = 2, то содержащий f (xx,…, хп) класс (С, Я)-эквивалентности состоит из всех б.ф., G-эквивалентных либо /, либо / © 1.
Для вычисления групп инерции часто используется класс эвристических методов. Они выполняются в два этапа. Сначала выбирается набор каких-либо достаточно просто вычисляемых параметров (называемых «эвристиками»), по значениям которых можно либо сделать вывод «функции не эквивалентны» или «группа инерции тривиальна» и др., либо уменьшить число вариантов, подлежащих перебору для получения окончательного ответа.
Пример 6.2. Определение | /S i(/)| для б.ф. /.
Представим/(.хх,…, х6) в виде суммы однородных многочленов: f (xx,…, х6) = 1 ® (r) (Xj ® хг3 ® х4) ® (х{х2 © Х Ъ © Х4Хб) © Х2Х3Х4 © ГДе fi ~ ОДНОРОДНЫЙ многочлен степени i, i = 1, 2, 3, 4: /, = х{ © х3 © х4; /2 = ххх2 © х^съ © х4х5; /3 = х^х3х4; /4 = хэXjpcsfiQ. Составим матрицу M (f) частот встречаемости переменных хх, …, х6 в однородных многочленах.
xt | *2. | *3. | *4. | х5 | *6. | |
А | ||||||
/2 | ||||||
/з. | ||||||
/4. |
Если подстановкаg Е Js (/), то применение ее к столбцам матрицы M (f) не изменит матрицу, т. е. g может переставить только одинаковые столбцы матрицы. В примере одинаковы лишь столбцы, соответствующие х3 и х4. Следовательно, подстановки из /$ (/) оставляют на месте xv х2, х5, х6 и, быть может, переставляют х3 и х4. Применяя к многочлену f (x{,…, Л'6) транспозицию (х3, х4), получаем, что изменяется /2(.г" …, rs), значит, |Д.(/)| = 1.0.
Для определения групп инерции функций в разных группах могут использоваться веса, степени нелинейности подфункций, число существенных переменных, число вхождений в члены фиксированной степени в полиноме и другие инварианты. Группу Jz (/) для б.ф. / можно найти из решения относительно а{1…, ап системы уравнений, составленной в виде равенств коэффициентов АНФ функций /(xj,…, хп) и f (xx © ах,…, х"© ап) при одинаковых мономах.