В математической области комбинаторики бент -функция — это булева функция , которая максимально нелинейна; она максимально отличается от множества всех линейных и аффинных функций при измерении с помощью расстояния Хэмминга между таблицами истинности . Конкретно, это означает, что максимальная корреляция между выходом функции и линейной функцией минимальна. Кроме того, производные бент-функции являются сбалансированными булевыми функциями, поэтому при любом изменении входных переменных существует 50-процентная вероятность того, что выходное значение изменится.
Максимальная нелинейность означает, что аппроксимация изогнутой функции аффинной (линейной) функцией является сложной, полезное свойство в защите от линейного криптоанализа . Кроме того, обнаружение изменения в выходных данных функции не дает никакой информации о том, какое изменение произошло во входных данных, что делает функцию невосприимчивой к дифференциальному криптоанализу .
Бент-функции были определены и названы в 1960-х годах Оскаром Ротхаусом в исследовании, опубликованном только в 1976 году. [1] Они были широко изучены для их приложений в криптографии , но также применялись к расширенному спектру , теории кодирования и комбинаторному проектированию . Определение может быть расширено несколькими способами, что приводит к различным классам обобщенных бент-функций, которые разделяют многие из полезных свойств оригинала.
Известно, что в СССР в 1962 году В. А. Елисеев и О. П. Степченков изучали бент-функции, названные ими минимальными функциями . [2] Однако их результаты до сих пор не рассекречены.
Бент-функции также известны как идеально нелинейные ( PN ) булевы функции. Некоторые функции, которые максимально приближены к идеальной нелинейности (например, для функций нечетного числа бит или векторных функций), известны как почти идеально нелинейные ( APN ). [3]
Бент-функции определяются в терминах преобразования Уолша . Преобразование Уолша булевой функции — это функция, заданная формулой
где a · x = a 1 x 1 + a 2 x 2 + … + a n x n (mod 2) — скалярное произведение в Zн
2[4] В качестве альтернативы, пусть S 0 ( a ) = { x ∈ Zн
2 : f ( x ) = a · x } и S 1 ( a ) = { x ∈ Zн
2 : f ( x ) ≠ a · x } . Тогда | S 0 ( a ) | + | S 1 ( a ) | = 2 n и, следовательно,
Для любой булевой функции f и a ∈ Zн
2, преобразование лежит в диапазоне
Более того, линейная функция f 0 ( x ) = a · x и аффинная функция f 1 ( x ) = a · x + 1 соответствуют двум крайним случаям, поскольку
Таким образом, для каждого a ∈ Zн
2Значение характеризует, где функция f ( x ) лежит в диапазоне от f 0 ( x ) до f 1 ( x ).
Ротхаус определил бент-функцию как булеву функцию, преобразование Уолша которой имеет постоянное абсолютное значение . Бент-функции в некотором смысле равноудалены от всех аффинных функций, поэтому их одинаково трудно аппроксимировать любой аффинной функцией.
Простейшими примерами бент-функций, записанных в алгебраической нормальной форме , являются F ( x 1 , x 2 ) = x 1 x 2 и G ( x 1 , x 2 , x 3 , x 4 ) = x 1 x 2 ⊕ x 3 x 4 . Эта закономерность продолжается: x 1 x 2 ⊕ x 3 x 4 ⊕ … ⊕ x n −1 x n является бент-функцией для каждого четного n , но существует большое разнообразие других бент-функций по мере увеличения n . [5] Последовательность значений (−1) f ( x ) , где x ∈ Zн
2взятая в лексикографическом порядке , называется изогнутой последовательностью ; изогнутые функции и изогнутые последовательности имеют эквивалентные свойства. В этой ±1 форме преобразование Уолша легко вычисляется как
где W (2 n ) — естественно упорядоченная матрица Уолша , а последовательность рассматривается как вектор-столбец . [6]
Ротхаус доказал, что бент-функции существуют только для четных n , и что для бент-функции f для всех a ∈ Zн
2. [4] Фактически, , где g также изогнута. В этом случае , поэтому f и g считаются дуальными функциями. [6]
Каждая бент-функция имеет вес Хэмминга (число раз , когда она принимает значение 1) 2 n −1 ± 2 n /2−1 , и фактически согласуется с любой аффинной функцией в одном из этих двух количеств точек. Таким образом, нелинейность f ( минимальное число раз, когда она равна любой аффинной функции) равна 2 n −1 − 2 n /2−1 , максимально возможному. И наоборот, любая булева функция с нелинейностью 2 n −1 − 2 n /2−1 является бент- функцией . [4] Степень f в алгебраической нормальной форме (называемая нелинейным порядком f ) не превышает н/2 (для n > 2 ). [5]
Хотя бент-функции исчезающе редки среди булевых функций многих переменных, они бывают разных видов. Были проведены подробные исследования специальных классов бент-функций, таких как однородные [7] или те , которые возникают из монома над конечным полем , [8], но до сих пор бент-функции не поддаются всем попыткам полного перечисления или классификации.
Существует несколько типов конструкций для изогнутых функций. [2]
Еще в 1982 году было обнаружено, что последовательности максимальной длины, основанные на изогнутых функциях, обладают свойствами взаимной корреляции и автокорреляции, конкурирующими со свойствами кодов Голда и кодов Касами , используемых в CDMA . [9] Эти последовательности имеют несколько применений в методах расширенного спектра .
Свойства изогнутых функций, естественно, представляют интерес для современной цифровой криптографии , которая стремится скрыть связи между входом и выходом. К 1988 году Форре понял, что преобразование Уолша функции может быть использовано для того, чтобы показать, что она удовлетворяет строгому критерию лавины (SAC) и обобщениям более высокого порядка, и рекомендовал этот инструмент для выбора кандидатов на хорошие S-блоки, достигающие почти идеальной диффузии . [10] Действительно, функции, удовлетворяющие SAC до максимально возможного порядка, всегда изогнуты. [11] Более того, изогнутые функции максимально далеки от того, что называется линейными структурами , ненулевыми векторами a такими, что f ( x + a ) + f ( x ) является константой. На языке дифференциального криптоанализа (введенного после открытия этого свойства) производная бент-функции f в каждой ненулевой точке a (то есть f a ( x ) = f ( x + a ) + f ( x )) является сбалансированной булевой функцией, принимающей каждое значение ровно половину времени. Это свойство называется идеальной нелинейностью . [5]
Учитывая такие хорошие свойства диффузии, очевидно, идеальную устойчивость к дифференциальному криптоанализу и устойчивость по определению к линейному криптоанализу , бент-функции могут на первый взгляд показаться идеальным выбором для защищенных криптографических функций, таких как S-boxes. Их фатальным недостатком является то, что они не сбалансированы. В частности, обратимый S-box не может быть построен непосредственно из бент-функций, а потоковый шифр, использующий функцию объединения бент-функций, уязвим для корреляционной атаки . Вместо этого можно начать с бент-функции и случайным образом дополнять соответствующие значения до тех пор, пока результат не будет сбалансирован. Модифицированная функция по-прежнему имеет высокую нелинейность, и поскольку такие функции встречаются очень редко, процесс должен быть намного быстрее, чем поиск методом грубой силы. [5] Но функции, полученные таким образом, могут потерять другие желаемые свойства, даже не удовлетворяя SAC, поэтому необходимо тщательное тестирование. [11] Ряд криптографов работали над методами генерации сбалансированных функций, которые сохраняют как можно больше хороших криптографических качеств бент-функций. [12] [13] [14]
Некоторые из этих теоретических исследований были включены в реальные криптографические алгоритмы. Процедура проектирования CAST , использованная Карлайлом Адамсом и Стаффордом Таваресом для построения S-boxes для блочных шифров CAST-128 и CAST-256 , использует бент-функции. [14] Криптографическая хэш-функция HAVAL использует булевы функции, построенные из представителей всех четырех классов эквивалентности бент-функций на шести переменных. [15] Потоковый шифр Grain использует NLFSR , нелинейный полином обратной связи которого по своей конструкции является суммой бент-функции и линейной функции. [16]
В монографии Токаревой 2015 года описано более 25 различных обобщений бент-функций. [2] Существуют алгебраические обобщения ( q -значные бент-функции, p -арные бент-функции, бент-функции над конечным полем, обобщенные булевы бент-функции Шмидта, бент-функции из конечной абелевой группы в множество комплексных чисел на единичной окружности, бент-функции из конечной абелевой группы в конечную абелеву группу, неабелевы бент-функции, векторные G-бент-функции, многомерные бент-функции на конечной абелевой группе), комбинаторные обобщения (симметричные бент-функции, однородные бент-функции, вращательно-симметричные бент-функции, нормальные бент-функции, самодуальные и антисамодуальные бент-функции, частично определенные бент-функции, платообразные функции, Z-бент-функции и квантовые бент-функции) и криптографические обобщения (полубент-функции, сбалансированные бент-функции, частично бент-функции, гипербент-функции, бент-функции высшего порядка, k -бент-функции).
Наиболее распространенным классом обобщенных бент-функций является тип mod m , такой что
имеет постоянное абсолютное значение m n /2 . Совершенные нелинейные функции , такие, что для всех ненулевых a , f ( x + a ) − f ( a ) принимает каждое значение m n −1 раз, являются обобщенными бент-функциями. Если m является простым числом , то обратное верно. В большинстве случаев рассматриваются только простые m . Для нечетных простых m существуют обобщенные бент-функции для каждого положительного n , четного и нечетного. Они обладают многими из тех же хороших криптографических свойств, что и бинарные бент-функции. [17] [18]
Полу-бент-функции являются нечетным аналогом бент-функций. Полу-бент-функция имеет нечетное n , то есть принимает только значения 0 и m ( n +1)/2 . Они также имеют хорошие криптографические характеристики, и некоторые из них сбалансированы, принимая все возможные значения одинаково часто. [19]
Частично изогнутые функции образуют большой класс, определяемый условием на преобразование Уолша и автокорреляционные функции. Все аффинные и изогнутые функции являются частично изогнутыми. Это, в свою очередь, является собственным подклассом платообразных функций . [20]
Идея гипер-бент-функций заключается в максимизации минимального расстояния до всех булевых функций, получаемых из биективных мономов на конечном поле GF(2 n ), а не только до аффинных функций. Для этих функций это расстояние постоянно, что может сделать их устойчивыми к интерполяционной атаке .
Другие связанные названия были даны криптографически важным классам функций , таким как почти изогнутые функции и кривые функции . Хотя они сами по себе не являются изогнутыми функциями (они даже не являются булевыми функциями), они тесно связаны с изогнутыми функциями и обладают хорошими свойствами нелинейности.