Данная работа относится к теории дискретных функций. В диссертации рассматриваются булевы функции и их важный с криптографической точки зрения параметр нелинейность. Исследуется класс максимально нелинейных функций.
Дискретные функции широко исследуются в математике, так как с их помощью удается описывать широкий класс природных явлений. Традиционными задачами для теории дискретных функций является изучение параметров и свойств этих функций, важных с практической или теоретической точки зрения. Множество функций, обладающих определенным свойством, можно выделить в отдельный класс. Поэтому естественным образом возникают задачи получения явных конструкций таких функций для использования в практике, подсчета мощностей этих классов, что представляет определенный теоретический интерес. Часто важно знать, как разные параметры соотносятся друг с другом, находятся ли они в противоречии или дополняют друг друга.
Наиболее известным примером дискретных функций являются булевы функции. Они находят широкое применение в электронных вычислительных и управляющих системах, играют важную роль при передаче информации. В криптографии они используются при конструировании различных криптографических объектов (шифры, хэш-функции и т. п.). Основной целью, преследуемой разработчиком таких объектов, например, шифров, является максимальное затруднение их анализа противником. Развитие методов криптографического анализа привело к выделению ряда свойств, важных с криптографической точки зрения. Наличие этих свойств у функций необходимо, чтобы криптографические схемы, построенные с их использованием, успешно противостояли различным методам анализа, например статистическому, корреляционному, дифференциальному, линейному.
2, 3- 12, 16, 18]. К таким свойствам можно отнести нелинейность и устойчивость булевой функции, корреляционную и алгебраическую иммунности. Ежегодно публикуются десятки работ, посвсщенных изучению этих параметров, а также связей между ними (например, [4, 8, 17, 21]).
В ряде методов криптографического анализа существенно используется ,.близость" криптографических функций к функциям, обладающим простой структурой с хорошо изученными свойствами. Примером таких ., плохих" функций служат аффинные функции (в дискретной математике их обычно называют линейными). Мерой удаленности булевой функции от класса аффинных функций является ее нелинейность. Множество функций, для которых нелинейность принимает максимально возможное значение, называется множеством максимально-нелинейных функций. Известно, что при четных п нелинейность булевой функции от п переменных ограничена величиной ./V/ < 2″ ~1 — г&trade-/2″ 1, причем для максимально-нелинейных функций это неравенство обращается в равенство.
Наличие у булевой функции свойств, близких к линейным, говорит об определенной &bdquo-простоте'' этой функции, что облегчает исследование других ее параметров и свойств. Поэтому возникает практическая необходимость в построении функций, обладающих высокой или даже максимально возможной нелинейностью [10, 13, 20, 22]. Несмотря на то, что уже построено довольно много классов максимально-нелинейных функций, не удается описать класс всех максимально-нелинейных функций. Более того, не получено близких верхних и нижних оценок на мощность этого класса. Некоторые результаты в этом направлении можно найти в [11, 14, 23].
Вместе с нелинейностью можно рассматривать и нелинейность порядка г, которая определяется как минимальное расстояние между данной функцией и всеми функциями степени не более г. Если для подсчета нелинейности разработан эффективный аппарат коэффициентов Уолша, то подсчет нелинейности произвольного порядка представляет более сложную задачу. Рекурсивные оценки на нелинейность порядка г можно найти в [15], а оценки на нелинейность через другие параметры функции в [4, 5, б].
Высокая нелинейность булевой функции означает, что она плохо приближается аффинными функциями. Однако в принципе может оказаться, что данную функцию удастся хорошо приблизить, почти аффинной'' булевой функцией. В работе [19]. наряду с нелинейностью, исследуется расстояние до множества функций, обладающих нетривиальными линейными структурами (булева функция обладает нетривиальной линейной структурой, если существует ненулевой вектор а, такой что /(х) Ф /(оф а) = соиз&euro-). Расстояние до множества /с-аффинных функций (при к ф О это множество состоит из некоторого числа аффинных и квадратичных функций) исследуется в [9]. В качестве &bdquo-плохих" функций можно рассматривать и другие классы функций, например алгебраически вырожденные функции [1] (функция / называется алгебраически вырожденной, если ее можно представить в виде /(х) = д (Ах), где, А — некоторая матрица, а д — функция от меньшего числа переменных).
Анализ конкретных криптографических объектов часто приводит к решению систем булевых уравнений вида оь х) = С, V для некоторого неизвестного вектора х. Для произвольной булевой функции / такие системы плохо решаются. Предположим, что для некоторой булевой функции д (а, х) с достаточно большой вероятностью выполняется равенство f (a, x) = д (а, х), тогда с определенной вероятностью будет выполняться система равенств д{а>1, х) = С,.
З’ТП! ¦?) Сто.
Если функция д — аффинная относительно х, то получим линейную систему, которая быстро решается, и мы с определенной вероятностью находим решение исходной системы. Однако решение можно быстро найти и в тех случаях, когда функция д в своем полиноме Жегалкина содержит не более к нелинейных слагаемых. Заменяя каждый моном вида х^. на соответствующую переменную Игь.1г5, мы придем к некоторой линейной системе. Если исходная нелинейная система содержала п неизвестных, то полученная линейная система будет содержать не более п + к неизвестных. При фиксированном к сложность решения такой линейной системы будет 0(н3). Находя решения этой линейной системы и проверяя их на необходимую связь между переменными, мы с некоторой вероятностью можем быстро получить решение исходной системы.
Таким образом, для криптографических целей нужно, чтобы функция / плохо приближалась не только аффинными, но и &bdquo-почти аффинными" функциями. В диссертации в качестве &bdquo-почти аффинных" функций рассматриваются функции с небольшим числом нелинейных слагаемых в их полиноме Жегалкина. Исследуется расстояние от класса максимально-нелинейных функций до нового класса приближающих функций. Дадим некоторые определения.
Пусть Fn множество булевых функций от п переменных. Определим расстояние между двумя булевыми функциями как число наборов, на которых они различаются, т. е. dist (f, g) — | {%: f (x) ф $(х')} IРасстоянием между двумя множествами функций М, N С.
Fn называется dist (M, N) — mmdist (f, g). Множество булевых функций, у которых стеем geN пень полинома Жегалкина не превосходит 1, называется множеством аффинных функций. Обозначим его через Ап. Тогда нелинейность функции / равна Nf = dist (f, Ап). Множество булевых функций, у которых нелинейность равна максимально возможному значению для функций из Fn, называется множеством максимально-нелинейных функций.
Пусть АЕ&bdquoмножество функций от п переменных, у которых в полиноме Жегалкина.
—-к присутствует не более к нелинейных слагаемых, а АЕп множество функций от п переменных аффинно эквивалентных функциям из АЕ&bdquo-. Обозначим через Pk (U) = dist (U, АЕ^), где U — некоторое множество функций от 271 переменных.
В диссертации получены следующие основные результаты (в скобках приводятся номера теорем в тексте диссертации).
Теорема 1 (теорема 1.1) Пусть £?2,г множество всех максимально-нелинейных функций от 2п переменных, тогда.
Pk (B2n)> 22n-l-'Sk-2n~l.
Обозначим через Мп известный класс максимально-нелинейных функций от ~и переменных класс Мэйорана-Мак-Фарланда.
Теорема 2 (теорема 1.2) При любом к > 0 и п = рк + 0 < Ь < к выполняется:
Рк (м2п) < 22п~'- зк ¦ (г — ^^ -2п;
Из теорем 1 и 2 следует.
Теорема 3 (теорема 1.3) При любом фиксированном к и п —> оо выполняется:
Рк{В2п) = 22п~1 — Зк ¦ 2п~1 + о (2п~1).
При малых значениях параметра к удается получить точные формулы для величин Рк{В2п) и рк{М2п).
Теорема 4 (теорема 2.1) Для класса всех максимально-нелинейных функций В2п при всех п > 2 выполняется равенство:
Р{В2п) — 22″ -1 — 3 • 2п~1 + 2.
При п = 1 Р1(в2п) = о.;
Теорема 5 (теорема 3.1) Верно равенство: р2(М2п) = 22п~1 — 9 • 2п~1 -4- 6 (^21^-1 Ч- — 8 при п > 6. При п — 1,2,3,4,5 величина р2(М2п) равна 0, 0,16, 88,416 соответственно. Опишем кратко содержание работы.
Работа состоит из введения, трех глав, заключения и списка литературы.
В главе 1 приводятся основые определения и вспомогательные утверждения. Рассмат.
—-к риваются два множества приближающих функций АЕ2п и АЕ2п. Доказывается, что расстояние от максимально-нелинейных функций до АЕ2п снижается по сравнению с их нелинейностью не более чем на (Зк — 1) ¦ 2п~1. Строится пример максимально-нелинейной функции из класса Мэйорана-Мак-Фарланда, для которой расстояние до класса АЕ2п асимптотически равно 22'1−1 — Зк ¦ 2п~х 4- о (2п~1) при фиксированном кип—* оо. Далее показывается, что добавление к функциям класса АЕ2п всех функций, аффинно эквивалентных им, не сокращает расстояние по сравнению с рк{В2п).
В главе 2 исследуется величина Рк{В2П) при к = 1. Получена точная формула для величины р (Вгп), ПРИ всех пДоказывается, что для всех максимально-нелинейных функций от 2п переменных расстояние до класса АЕп гарантированно снижается по сравнению с их нелинейностью на величину 2п~1. Показывается, как для произвольной максимально-нелинейной функции построить функцию д (х) из класса АЕп, для которой (Иэ^.д) — 22п~~1 — 2 • 2п~1. Также доказывается, что существуют максимально-нелинейные функции, для которых сЙ5£(/, АЕ12п) = 22″ -1 — 2 • 2П1. Причем этот результат сохраняется при переходе от класса АЕп к классу АЕ2п.
В главе 3 исследуется величина Рк{М2П) при к = 2. Получена точная формула для этой величины при всех 71. Как и в случае Р (В2П) показывается, что существуют более устойчивые функции, для которых расстояние до класса АЕп заведомо больше и равно 14 • 9″ -1.
В диссертации принята следующая нумерация теорем. Теоремы нумеруются двойками чисел, где первое число номер главы, а второе — номер теоремы внутри главы. Определения, леммы, утверждения и следствия, а также формулы, нумеруются аналогичным образом. Основные результаты диссертации опубликованы в работах [24, 25, 26, 27, 28, 29].
Заключение
.
В данной работе исследовалось расстояние от классов максимально-нелинейных функций до классов в некотором смысле &bdquo-близких" классу аффинных функций. Удалось получить верхние и нижние оценки для этой велицины, а также получить точные формулы при малых значениях параметров для всех п.
Приведем список основных результатов.
1. Получены нижние и верхние оценки для расстояния от класса всех максимально-нелинейных функций от 2п переменных до класса функций, у которых в полиноме Жегалкина присутствует не более фиксированного числа к нелинейных слагаемых. Показано также, что это расстояние не меняется, если в класс приближающих функций добавить все функции аффинно эквивалентные функциям из этого класса. Установлено, что это расстояние уменьшается по сравнению с нелинейностью рассматриваемых функций на величину, асимптотически равную (3^ — 1) • 2П~1 при п, стремящемся к бесконечности.
2. Получена точная формула для расстояния от класса всех максимально-нелинейных функций от 2п переменных до класса функций, у которых в полиноме Жегалкина присутствует не более одного нелинейного слагаемого. Показано, что для различных максимально-нелинейных функций расстояние до класса функций, у которых в полиноме Жегалкина присутствует не более одного нелинейного слагаемого, может быть различным. Для функций из класса Мэйорана-Мак-Фарланда получены точные границы, в которых изменяется это расстояние.
3. Получена точная формула для расстояния от класса максимально-нелинейных функций Мэйорана-Мак-Фарланда от 2п переменных до класса функций, у которых в полиноме Жегалкина присутствует не более двух нелинейных слагаемых.