6. Куценко А. В. Спектр расстояний Хэмминга между самодуальными бент-функциями из класса Мэйорана — МакФарланда // Дискретный анализ и исследование операций. 2018. Т. 25. №1. C. 98-119.
7. Danielsen L. E., Parker M. G., and Solé P. The Rayleigh quotient of bent functions // LNCS.
2009. V. 5921. P. 418-432.
8. Марков А. А. О преобразованиях, не распространяющих искажения // Избранные труды. Т. II. Теория алгорифмов и конструктивная математика, математическая логика, информатика и смежные вопросы. М.: МЦНМО, 2003. С. 70-93.
9. Tokareva N. N. The group of automorphisms of the set of bent functions // Discr. Math. Appl.
2010. No. 20 (5). P. 655-664.
УДК 519.7 Б01 10.17223/2226308X712/17
О КЛАССАХ БУЛЕВЫХ ФУНКЦИЙ ОГРАНИЧЕННОЙ СЛОЖНОСТИ1
А. И. Метальникова, И. А. Панкратова
Рассматриваются классы булевых функций от п переменных, имеющих короткое (по сравнению с 2п) представление. Подсчитаны мощности этих классов, приведены тесты на принадлежность функции классам и алгоритм доопределения частично заданной булевой функции до функции ограниченной степени.
Ключевые слова: существенная зависимость функции от переменной, степень булевой функции, алгебраическая нормальная форма.
Во многих шифрсистемах используются булевы функции. Если функция является ключом, как, например, в [1, 2], то она должна зависеть от большого числа переменных. Поскольку длина вектора значений булевой функции от п переменных равна 2п и формула (в любом базисе) произвольной функции имеет ту же длину (порядка 2п), представляют интерес классы функций, которые зависят от большого числа переменных, но имеют короткое задание. В связи с этим возникают следующие задачи: подсчёт количества функций в классе; разработка теста на принадлежность функции классу; разработка алгоритма доопределения частичной функции до функции из заданного класса.
Обозначим Р2(п) множество всех булевых функций от п переменных; будем рассматривать следующие классы функций в Р2(п) и называть их классами ограниченной сложности:
— Сп,к — с заданным (равным к) числом существенных переменных;
— Сп,^к — с ограниченным (не больше к) числом существенных переменных;
— Оп,к — заданной степени (deg f = к);
— — ограниченной степени (degf ^ к);
— — с заданной (равной к) длиной алгебраической нормальной формы (АНФ);
— — с ограниченной (не больше к) длиной АНФ;
— ЫКп — имеющие бесповторную АНФ (каждая переменная входит в АНФ не более одного раза).
В таблице приведены мощности этих классов, здесь §к — количество функций от к переменных, существенно зависящих от всех своих переменных (последователь-
к /к\ к_г
ность А000371 из [3]), §к = 1)4 . ) 22 г; Вк — число Белла, или количество всех
i=0
1 Работа поддержана грантом РФФИ, проект №17-01-00354.
Дискретные функции
59
неупорядоченных разбиений к-элементного множества (последовательность А000110
к /¿Д
из [3]), задаваемое рекуррентной формулой В0 = 1, Бк+1 = У] ( (Б^.
¿=А V
Класс Мощность
Сп,к (!) Зк
к к /! \ £ |сп,<| = £ Л В ¿=0 ¿=0 VV
Оп,к 25„К5 )
к , N 2.5га
^п,к (; /
Е (2П/ ¿=0 V 1 )
МЕп 2Вп+1
Принадлежность функции f классу ограниченной сложности определяется свойствами её АНФ, например, deg f равна длине самого длинного слагаемого в АНФ; количество существенных переменных — количеству переменных, входящих в АНФ. АНФ, в свою очередь, строится с помощью преобразования Мёбиуса ^ : Р2(п) ^ Р2 (п) [4]:
f (х) =0 д(а)ха, д = ^),
д(а) = 0 f (х). (1)
Для д = ^^) обозначим |а1,..., аг} множество всех векторов, на которых д(а^) = 1, г = 1,...,г; единичным компонентам в а^ соответствуют переменные, входящие в г-е слагаемое АНФ функции /. Через ■№(£) (w(f)) обозначим вес булева вектора х
( к \
(функции f). Тогда Ь = ^ ( \/ аЛ — количество существенных переменных функции f; d = тах w(ai) —её степень. Получаем следующие тесты принадлежности функции f
г=1,...,г
классам ограниченной сложности:
— если Ь = к, то f € Сп,к; если Ь ^ к, то f € Сп,^к;
— если d = к, то f € Дп к; если d ^ к, то f € ;
— если w(g) = к, то f € Ьп,к; если w(g) ^ к, то f € Ьп,^к.
Чуть сложнее проверяется принадлежность функции классу Составим мат-
рицу А размера г х п, строками которой являются векторы а^, г = 1,...,г. Тогда f € если и только если веса всех столбцов матрицы А не больше 1; другими
словами, f € если и только если какой-либо столбец матрицы А содержит хотя
бы две единицы. Соответствующая проверка выполняется в алгоритме 1.
Задача доопределения функции до функции из заданного класса С С Р2(п) ставится так: частично определённая функция f € Р2(п) задана множествами М0 = {х € Ж? : f (х) = 0} и М1 = {х € Щ : f (х) = 1}, М0 П М1 = 0; найти все такие функции д € С, что д(х) = f (х) для всех х € М0 и М1. Рассмотрим случай С = Оп,^к.
АНФ функции f € обладает следующим свойством: д(х) = 0 для всех х,
таких, что w(x) > к, где д = ^^). Обозначим вектор значений функции f как Ь =
Алгоритм 1. Тест на принадлежность функции f классу
Вход: Функция f е Р2(п); матрица А со строками {ая,..., аг}. 1: х := аь 2: Для г = 2,... , г 3: у := х ф аi. 4: Если х&у = 0, то
выход, ответ: f Е 5: х := у. 6: Ответ: f е .
= (&о&1... i), Ьг = f (i) (здесь мы не различаем число в диапазоне от 0 до 2n — 1 и его представление в виде булева вектора длины n).
В самом общем виде (если M0 = M1 = 0) решение задачи состоит в следующем: для каждого x, такого, что w(x) > k, в соответствии с формулой (1) составляем уравнение ф bi = 0. Обозначим матрицу полученной системы линейных однородных уравнений
i^x
(СЛОУ) Bn,k. Все решения получившейся СЛОУ
Bn,k b = о (2)
являются векторами значений функций из .
Для поиска доопределений частично заданной функции (если M0 = 0 или M1 = 0) решаем ту же систему относительно переменных множества {Ьг : i ф M0 U M1}, объявив константами 0 и 1 переменные Ьг с номерами из множеств M0 и M1 соответственно. Таким образом, СЛОУ (2) преобразуется к системе уже не обязательно однородных уравнений.
ЛИТЕРАТУРА
1. Agibalov G. P. Substitution block ciphers with functional keys // Прикладная дискретная математика. 2017. №38. С. 57-65.
2. Агибалов Г. П. SIBCiphers — симметричные итеративные блочные шифры из булевых функций с ключевыми аргументами // Прикладная дискретная математика. Приложение. 2014. №7. С. 43-48.
3. Sloan N. J. A. The On-line Encyclopedia of Integer Sequences. https://oeis.org/
4. Логачев О. А., Сальников А. А., Ященко В. В. Булевы функции в теории кодирования и криптологии. М.: МЦНМО, 2004.
УДК 519.7 DOI 10.17223/2226308X/12/18
0 СВЯЗИ НЕЛИНЕЙНЫХ И ДИФФЕРЕНЦИАЛЬНЫХ СВОЙСТВ
ВЕКТОРНЫХ БУЛЕВЫХ ФУНКЦИЙ1
A. В. Милосердов
Исследуются связи таблиц линейного приближения (LAT) и распределения разностей (DDT) векторных булевых функции. Доказано, что наличие совпадающих строк в DDT и LAT является инвариантом относительно аффинной эквивалентности, а также относительно EA-эквивалентности для нормированных DDT- и
1 Работа поддержана грантами РФФИ, проекты №18-07-01394 и 18-31-00374.