Генерация частично бент-функций
Автор: Наумов Максим Викторович
Журнал: Сибирский аэрокосмический журнал @vestnik-sibsau
Рубрика: Математика, механика, информатика
Статья в выпуске: 5 (31), 2010 года.
Бесплатный доступ
Для булевых функций в криптографии важны следующие характеристики: сбалансированность, нелинейность, критерий распространения, корреляционная иммунность, степень и отсутствие ненулевых линейных структур. Частично бент-функции - это класс булевых функций, которые представляют интерес, поскольку могут обладать ценными криптографическими свойствами. Предлагаются два алгоритма генерации частично бент-функций. Эти алгоритмы были реализованы и исследованы; второй из них позволяет улучшать криптографические свойства генерируемых функций.
Булевы функции, частично бент-функции, корреляционная иммунность
Короткий адрес: https://sciup.org/148176340
IDR: 148176340
Текст научной статьи Генерация частично бент-функций
В работе использованы следующие обозначения.
Z 2 = { 0, 1 }; n ∈ N , G = { 0, 1 } n – множество всех двоичных векторов длины п ;
⊕ – сумма по модулю 2, u ⊕ v – вектор, каждый бит которого равен сумме по модулю 2 соответствующих бит векторов u и v ;
( u , v ) = u 1 v 1 ⊕ ... ⊕ unvn – скалярное произведение векторов u и v из G ;
f : G → {0, 1} – булева функция от n переменных;
w ( f ) = |{ s ∈ G : f ( s ) ≠ 0 }| – вес функции f ;
P 2 ( n ) – множество булевых функций от n переменных;
Wf ( s ) = ∑ ( - 1) f ( x ) + ( x , s ) – преобразование Уолша– x ∈ G
Адамара функции f , W f : G → Z ;
NW f – количество ненулевых значений функции W f ( s );
∆f (s) = ∑(-1)f(x)+f(x⊕s) – функция автокорреля-x∈ G ции, Δ f : G → Z;
N Δ f – количество ненулевых значений функции автокорреляции;
d ( f , g ) = |{ s ∈ G : f ( s ) ≠ g ( s )}| = w ( f ⊕ g ) – расстояние по Хэммингу между f и g из P 2 ( n );
d(f, T) = min d(f, g) – расстояние между функци-g∈T ей f ∈ P2 (n) и множеством T ⊂ P2 (n) ;
x 0 = 1, x 1 = x , f ( x , ..., x ) = ⊕ a x i 1 ⋅ ... ⋅ x in –
1 n (i1,...,in)∈G i1,...,in 1 n представление функции f ∈ P2 (n) в виде алгебраической нормальной формы (АНФ), ai ,...,i ∈ {0, 1};
n deg ( x1i1 ⋅ ... ⋅ xnin ) = ∑ik – степень монома k=1
x 1 i 1 ⋅ ... ⋅ xn in , число входящих в него переменных;
deg f – степень функции f , наибольшая из степеней мономов ее АНФ;
A ( n ) = { ( a , x ) ⊕ a 0 : a ∈ G , a 0 ∈ {0, 1} }– класс аффинных функций, A ( n ) ⊂ P 2 ( n ) ;
Nf = d ( f , A ( n )) – нелинейность функции f ;
КИ( m ) – корреляционная иммунность порядка m ;
КР( m ) – критерий распространения порядка m .
Основные понятия. Для генерации частично бент-функций применяются обычные бент-функции.
Бент-функцией называется функция f ∈ P 2 ( n ) , у которой Wf ( s ) = ± 2 n /2 для всех s ∈ G .
Утверждение [1]. f – бент-функция, если и только если для всех s ∈ G , s ≠ 0 выполняется условие Δ f ( s ) = 0.
Бент-функции существуют только для четного n , так как W f – целочисленная функция.
Бент-функции можно генерировать с помощью следующей теоремы.
Теорема ( конструкция Мейорана–МакФарланда ) [2]. Пусть h – любая перестановка на Z 2 n /2 , g – произвольная булева функция от n /2 переменных. Тогда функция f ( u ′ , u ′′ ) = ( u ′ , h ( u ′′ )) ⊕ g ( u ′′ ) является бент-функцией от n переменных.
Функция f ∈ P 2 ( n ) называется корреляционноиммунной порядка m (КИ( m )), если любая ее подфункция от ( n – m ) переменных, полученная фиксаци- w ( f )
ей остальных m переменных, имеет вес m . Очевидно, что если функция КИ( m ), то она КИ( k ) для любого k < m .
Известно, что f ( x ) – КИ( m ), если и только если Wf ( s ) = 0 для всех s ∈ G таких, что 1 ≤ w ( s ) ≤ m .
Корреляционная иммунность позволяет противостоять корреляционной атаке.
К сожалению, бент-функции не могут быть корреляционно-иммунными и сбалансированными, поэтому изучаются различные расширения бент-функций.
Говорят, что функция f удовлетворяет критерию распространения (КР) по направлению a , если Δ f ( a ) = 0, т. е. производная Da f = f ( x ) ⊕ f ( x ⊕ a ) сбалансирована.
Выполнение критерия распространения по направлению a приводит к тому, что f ( x ) = f ( x ⊕ a ) с вероятностью 0,5, т. е. знание значения f ( x ⊕ a ) не поможет нам узнать f ( x ) .
Говорят, что функция f удовлетворяет критерию распространения порядка m (КР( m )), если Δ f ( s ) = 0 для всех s ∈ G таких, что 1 ≤ w ( s ) ≤ m .
Критерий распространения – это свойство, которое характеризует поведение функции в момент, когда некоторые ее координаты инвертированы. Это свойство булевой функции подобно свойству диффузии для криптосистемы. Функции, применяемые в блочных шифрах, должны иметь высокий порядок КР.
Частично бент-функции. Функция f е P 2 ( n ) называется частично бент-функцией, если NW f ■ N A f = 2 n .
Для любой бент-функции по определению NW f = 2 n , а по критерию Ротхауза N A f = 1, поэтому класс бент-функций содержится в классе частично бент-функций.
Частично бент-функции представляют интерес в криптографии, потому что для них произведение NW f ■ N A f. имеет минимальное значение, что дает основание надеяться на то, что число ненулевых значений преобразования Уолша–Адамара и функции автокорреляции также мало, однако это совсем не гарантирует КИ и КР, ведь может оказаться W f ( 5 ) * 0 или A f ( 5 ) * 0 на единственном векторе 5 веса 1. Очевидно, частично бент-функции могут удовлетворять критерию распространения по многим направлениям (в зависимости от N A f ), важному свойству безопасности.
Обычные бент-функции используются в стандарте связи CDMA, в блоках замены (S-boxes), в некоторых шифрах, хэш-функциях [3]. Возможно, частично бент-функции можно использовать в тех же самых областях.
Генератор частично бент-функций 1. Генерировать частично бент-функции можно с помощью следующей теоремы.
Теорема 1 [4]. Функция f е P 2( n ) является частично бент-функцией тогда и только тогда, когда существует невырожденная матрица A с элементами из Z 2 и вектор р е Z 2 такие, что f ( xA ФР ) = = g ( x о ) Ф ( X 1 , t ), где X = ( X 0 x j, X е Z 2 , x о е Z 22 h , x е Z 2 n - 2 h , t е Z 2 n - 2 h ; g - бент-функция.
Опишем этот генератор и вспомогательный генератор невырожденной матрицы. Бент-функции будем строить с помощью конструкции Мейорана– МакФарланда.
Генератор невырожденной матрицы
Вход: n е N .
Выход: невырожденная матрица А размерности n х n .
-
1. Будем представлять матрицу A как множество строк. Возьмем в качестве ее первой строки произвольный ненулевой вектор e 1 длины n , A = { e 1 }. Пусть M = {0, e 1 }. Под M будем понимать линейную оболочку строк матрицы A .
-
2. Если в A есть n строк, т. е. M = G , то возвращаем A.
-
3. Берем произвольный вектор e е G \ M .
-
4. A = A и e , M = M и { m Ф e : m е M }.
-
5. Идем на шаг 2.
Генератор частично бент-функций 1
Вход: n е N , 0 < h <^ n / 2 J .
Выход: r е P 2( n ) - частично бент-функция или ответ «не существует».
-
1. Если n = 2 h , то генерируем бент-функцию r е P 2( n ) и возвращаем ее.
-
2. Генерируем бент-функцию g ( x 0 ) на Z 2 2 h и произвольный вектор t е Z 2 2 h .
-
3. Для всех x = ( x 0 x , ) е G полагаем f ( x ) = g ( x 0 ) ф ( x , , t ).
-
4. Генерируем невырожденную матрицу A и вектор Ре Z n .
-
5. Для всех x е G полагаем r ( x ) = f ( xA Ф P ). Возвращаем r .
Замечание . Нелинейность функции r ( x ) равна Nr = 2 n - 1 - 2 n - h - 1 . Такая же нелинейность у функций, которые выдает генератор 2. Это следует из теорем, которые приводятся в [5].
Определенные на подпространстве бент-функции. Следующие три определения взяты из [6].
Пусть S с G . Функция f : S ^ {0,1} называется частично определенной булевой функцией. Обозначать такие функции мы будем f | S , а называть просто – функциями, определенными на S .
Неполным преобразованием Уолша–Адамара для f называется функция Wf (и) = ^ (-1)f(u)+(u,и) , опреде-и е S ленная на G.
Функция f – частично определенная бент-функция, если для всех и е G выполняется W f ( и ) = ± ^J | S |. Мы будем называть f бент-функцией, определенной на S .
Пусть E' - подпространство G и f - функция, определенная на E '. Введем функцию
A^ E ' ( и ) = ^ ( - 1) f ( u ) + f ( uФи) , определенную на E ', и на и е E '
зовем ее функцией автокорреляции для f на подпространстве E ‘ (определение из [7]).
Приведенное ниже утверждение 2 будет использовано в генераторе 2 частично бент-функций.
Утверждение 1 [7] (характеризация определённых на подпространстве бент-функций). Пусть E' - подпространство G с базисом { e 1, ... , e 2 h } и f – частично определенная функция на нем.
f - частично определенная бент-функция на E' , если и только если для всех 5' е E ', 5 ‘ * 0 выполняется A EE ' ( 5 ') = 0.
Сформулируем и докажем следующее утверждение.
Утверждение 2 (о бент-функции, определённой на подпространстве). Пусть E' - подпространство G с базисом { e1, ... ,e2h } и f – функция, определенная на E'.
Определим булеву функцию g от 2 h переменных так:
V x = x ... x 2 h e Z 22 h , g ( x ) = f ( xe e ... Ф x 2 h e 2 h ).
Тогда
-
V 5 ‘e E ', s' * 0, A E ' ( s ' ) = 0 о g - бент-
- функция.
-
> x' = x 1 e 1 e ... e x 2 h e 2 h , s ' = s 1 e 1 e ... e s 2 h e 2 h ,
AE' (s') = У (-1)f(x')+f(x'®s') = У (-1)g(x)+g(xes) = A (s), f x- x ez2 h g
V s ‘e E ' , s '* 0;
A EE' ( s ' ) = 0 о V s e Z 2 2 h , s * 0;
A g ( s ) = 0. <
Как видим, утверждение 2 дает нам способ построения определенной на подпространстве бент-функции c помощью обычной бент-функции.
Генератор частично бент-функций 2. В [5] было впервые введено понятие частично бент-функции и сформулирована приведенная ниже теорема.
Теорема 2. Любая функция f e P 2 ( n ) удовлетворяет неравенству NW f ■ N A f > 2 n .
Следующие утверждения эквивалентны:
-
а ) функция f – частично бент-функция;
-
б) 3 z e G , V s e G , A f ( s ) = 0 vA f ( s ) = ( - 1) ( s • z ) 2 n ;
-
в ) G разлагается в прямую сумму подпространств E = { x e G : A f ( x ) * 0} и E ‘ ( E ‘ четной размерности) так, что f | E , - бент-функция и
- Vx e E, Vy e E', f (x e y) = f (y) ® (x, z). Здесь z – любое из тех, которые могут быть выбраны в пункте (б).
Поскольку вектор z встречается и далее в теореме 3, назовем его базовым вектором аффинной части для частично бент-функции f .
Следующий генератор основан на теореме 2 и утверждении 2:
Вход: n e N , 0 < h < ^ n / 2 J .
Выход: f e P 2( n ), N = 2 n - 1 - 2 n - h - 1 или ответ -«не существует».
-
1. Если n = 2 h , то генерируем бент-функцию f e P 2 ( n ) и возвращаем ее.
-
2. Генерируем бент-функцию g e P 2 (2 h ) и произвольный вектор z e G .
-
3. Генерируем базисы пространств E ‘ и E , в прямую сумму которых раскладывается G . Это n линейно независимых булевых векторов длины n , { e 1, ..., e 2 h } – базис E' , { e 2 h + 1,..., en } - базис E . Базисы получаем так: генерируем невырожденную матрицу А размерности n х n , ее первые 2h строчек - базис E ‘ , остальные – базис E .
-
4. Для всех x = ( x 1 ,..., x n ) e Z 2 n полагаем f (^ B x i e i ) = g ( x i ,..., x 2 h ) e<$ x i ( e i , z ).
-
i =1 i =2 h +1
Анализ работы генераторов частично бент-функций. Время работы генераторов примерно одинаково, поскольку они похожи по построению. В ге нераторе 2 f (exiei) = f (xA), т. е. генерация невыро-i =1
жденной матрицы используется в обоих генераторах частично бент-функций и занимает 50…60 % всего времени их работы.
В дальнейшем имеет смысл использовать генератор 2, поскольку он позволяет явно задавать пространство E и вектор z , с помощью определенного выбора которых можно попытаться улучшить КИ и КР, задать сбалансированность. Для этого используется следующая теорема.
Теорема 3 [5]. Пусть f – частично бент-функция, z – вектор из пункта ( ii ) теоремы 2, E = { x e G : A f ( x ) ^ 0}. Функция f является:
-
а ) сбалансированной о f | E * const;
-
б ) несбалансированной o f | E = const и w ( f ) = 2 n - 1 ± 2 n - h - 1 , где dim E = n - 2 h , 0 < h < [ n / 2 J ;
-
в ) корреляционно-иммунной порядка k о смежный класс z e E 1 содержит только векторы веса больше k или нулевого;
-
г ) сбалансированной корреляционно-иммунной порядка к о класс z e E 1 содержит только векторы веса больше k ;
-
д ) удовлетворяет критерию распространения PC( к ) о E не содержит векторов веса w , 1 < w < к .
В этой теореме E 1 = { x e G : V e e E ( x , e ) = 0 }. Используя теорему 2, можно пытаться улучшать порядок КИ и КР частично бент-функций.
Улучшение порядка КИ и КР. О работе генератора 2 без улучшений можно судить по следующей таблице (табл. 1).
В генераторе 2 есть возможность напрямую задавать для частично бент-функции базовый вектор аффинной части z и пространство линейных структур E . Это означает, что можно попытаться улучшить порядок КИ и КР для генерируемой функции, так как из теоремы 2 известно, что порядок КИ определяется смежным классом z e E 1, а порядок КР - пространством E .
Начнем с критерия распространения. Выдаваемая функция удовлетворяет КР( k ) тогда и только тогда, когда все ненулевые векторы пространства E имеют вес больше k . Нужно сконструировать E таким образом, чтобы число k было как можно больше.
Если dim E = n - 2 h = 1, т. е. базис пространства E состоит из единственного вектора, то мы берем в качестве этого вектора вектор из всех единиц. Он обеспечивает максимально возможный порядок КР, равный 2 h . Например, улучшенный генератор 2 выдает в этом случае ( n = 15, h = 7) функцию с порядком КИ, равным единице, и порядком КР, равным 14.
Множество {1, 2, …, n } можно разбить на dim E непересекающихся множеств K i с числом элементов, превосходящим или равным |_ n /dim E J . С каждым множеством K i сопоставим вектор длины n , в котором единицы стоят только в позициях из K i . Очевидно, эти dim E векторов линейно независимы. Таким образом, всегда можно добиться порядка КР, равного [ n / dim E J- 1.
Пусть p – порядок КР. Начиная с p = 1 (или [ n / dim E J - 1, если это не нуль) и до p = 2 h пробуем строить пространство E , обеспечивающее КР( p ), с помощью описанного ниже алгоритма; если построить E удается – увеличиваем p , иначе выходим из цикла и E остается тем, что было построено для предыдущего p .
Алгоритм построения пространства E
Вход: n , dim E , p – требуемый порядок КР.
Выход: базис E или ответ – «не найден».
-
1. Если dim E = 1, то возвращаем базис E – вектор из всех единиц.
-
2. Берем в качестве e 1 случайный вектор. Если он не подошел, т. е. его вес ≤ p , то генерируем случайное число t от p + 1 до n и пусть e 1 – это вектор, у которого первые t позиций заполнены единицами. Полагаем M = {0, e 1 }, K = G \ M , i = 2. Здесь M - линейная оболочка построенных векторов базиса E , K – множество кандидатов на место e i .
-
3. Строим e i . Сначала пробуем на место e i случайный вектор. Если он подходит, идем на шаг 4, иначе вычеркиваем этот вектор из K . Перебираем векторы из K с начала или с конца до тех пор, пока не найдем подходящий вектор; неподходящие векторы вычеркиваем. Если нашли подходящий вектор (его вес больше p , и он не приводит к появлению в M ненулевых векторов веса ≤ p ), то идем на шаг 4, иначе ответ – «не найден».
-
4. M = M и { m ® e i : m e M },
-
5. Если базис E размерности dim E еще не построен, то увеличиваем i на единицу и идем на шаг 3, иначе возвращаем базис E .
K = K \ { m ® e i : m e M }.
Функция с n = 15, h = 5 генерируется с использованием алгоритма построения E примерно за три секунды. Для n = 21, h = 7 время работы этого алгоритма неизвестно; оно слишком велико. Ниже приводятся характеристики функций, построенных с применением этого алгоритма (табл. 2).
Как видим, порядок КР действительно улучшился. Функции, для которых он был меньше четырех, перестали выдаваться вообще.
После построения пространства E находим для него произвольное прямое дополнение, это будет пространство E' . Функцию вычисления прямого дополнения нетрудно реализовать на основе предложенного ранее генератора невырожденной матрицы.
Вычисление прямого дополнения E' пространства E
Вход: E , dim E .
Выход: базис E' .
-
1 . M = E , i = 1.
-
2. Если i > n - dim E , то возвращаем
-
3. Берем в качестве e i произвольный вектор из G \ M .
-
4. Расширяем M : M = M и { m ® e i : m e M }, i = i + 1. Идем на шаг 2.
{ e l ,..., e n -dim E } - базис E' .
Этот алгоритм, так же как и генератор невырожденной матрицы, можно немного улучшить: если мы нашли последний вектор, то линейную оболочку остальных векторов M расширять не нужно, поскольку она больше не понадобится.
1 000 функций, выданных генератором 2: n = 15, h = 5; сбалансированных – 966
Таблица 1
не PC(1) |
PC(1) |
PC(2) |
PC(3) |
PC(4) |
PC(5) |
|
не КИ(1) |
6 |
27 (3) |
107 (8) |
170 (6) |
42 |
3 |
КИ(1) |
– |
45 |
213 (5) |
253 (9) |
60 (3) |
– |
КИ(2) |
3 |
11 |
14 |
9 |
– |
– |
Примечание . Здесь и далее в таблицах: без скобок – число сбалансированных функций, в скобках – несбалансированных.
Таблица 2
1 000 функций, выданных генератором 2 с улучшенным КР: n = 15, h = 5; сбалансированных – 966
не КР(1) |
КР(1) |
КР(2) |
КР(3) |
КР(4) |
КР(5) |
КР(6) |
|
не КИ(1) |
– |
– |
– |
– |
– |
338 (2) |
109 |
КИ(1) |
4 (1) |
391 (21) |
102 |
||||
КИ(2) |
– |
16 (2) |
6 |
||||
КИ(3) |
– |
– |
(8) |
Из базисов E и E ′ составляется матрица A (см. генератор 2).
Теперь попробуем улучшить порядок КИ. На пространство E ⊥ повлиять не можем, так как уже построили E ; E ⊥ вычисляем как множество векторов из G , каждый из которых ортогонален всем векторам базиса E . Осталось перебрать все значения z и выбрать среди них то, которое обеспечивает самый высокий порядок КИ. Пишем вспомогательную функцию, которая по z и E ⊥ определяет, какой порядок КИ обеспечивает смежный класс z ⊕ E ⊥ . Для этого проверяем, принадлежат ли z ⊕ E ⊥ векторы веса 1, 2 и т. д.
Можно перебирать все значения z из G , однако это необязательно, поскольку z 1 ⊕ E ⊥ = z 2 ⊕ E ⊥ , если и только если z 2 ⊕ z 1 ∈ E ⊥ . Очевидно, достаточно перебрать все значения z из пространства E 1 – прямого дополнения E ⊥ ; dim E 1 = n – dim E ⊥ = dim E = n – 2 h . Как находить прямое дополнение, нам известно. Базис E ⊥ находится примерно так же, как базис G в генераторе невырожденной матрицы. Для тех значений n и h , которые мы использовали ранее, перебор z не занимает существенного времени – функция генерируется примерно за то же время. О влиянии улучшения z на характеристики генерируемой функции можно судить по приведенным ниже таблицам (табл. 3, 4). Большое число несбалансированных функций в них объясняется тем, что перебор значений z начинается с нуля, а остальные значения z улучшения КИ не дают.
Также была сделана попытка одновременного улучшения КИ и КР.
Выясним, как можно улучшить порядок КИ функции с помощью аффинной добавки.
Влияние аффинной добавки на значения преобразования Уолша–Адамара такое: если
f ( x ) = f ( x ) ⊕ ( x , t ) ⊕ t 0, где t ∈ G , t 0 ∈ {0, 1} , то W f ( 5 ) = W f ( 5 Ф t ), т. е. аффинная добавка приводит к сдвигу значений преобразования Уолша–Адамара. Пусть f является частично бент-функцией, тогда
W f ( 5 ) * 0 о W f ( 5 Ф t ) * 0 о
⇔s⊕t∈ z⊕E⊥ ⇔s ∈z⊕t⊕E⊥,
-
т. е. аффинная добавка к частично бент-функции приводит лишь к изменению z . Улучшить КИ частично бент-функции с помощью аффинной добавки – это значит перебрать все значения вектора z . Как это можно сделать, мы уже знаем.
Предложенный ниже алгоритм может применяться для улучшения КИ любой булевой функции. На практике он не исследовался.
Алгоритм улучшения порядка КИ функции с помощью аффинной добавки
Вход: n , f ∈ P 2 ( n ) .
Выход: t ∈ G или ответ – «нельзя улучшить».
-
1. Находим вес функции f . Если f является константой или ее вес нечетный, то ответ – «нельзя улучшить».
-
2. Находим все значения преобразования Уолша– Адамара функции f , вычисляем множество E = { s ∈ G : Wf ( s ) ≠ 0} и k – порядок КИ функции f .
-
3. Если функция несбалансированная, то вычисляем максимальное m такое, что для всех s ∈ G выполняется 2 m + 1 | Wf ( s ) , иначе вычисляем максимальное m такое, что для всех s ∈ G выполняется 2 m + 2 | Wf ( s ) . По теореме о необходимом условии КИ [1] мы не сможем получить порядок КИ выше m . Если k = m , то ответ – «нельзя улучшить».
-
4 . i = 1. T = G . T – это множество возможных значений вектора t .
-
5. Нам известно, что для функции f ( x ) = f ( x ) ⊕ ( x , t ) ⊕ t 0, t 0 ∈ {0,1} множество t Ф E = { 5 е G : W f ( 5 ) * 0}. Для каждого t е T и каждого j ∈ { j ∈ G : w ( j ) = i } проверяем: если t ⊕ j ∈ E , то T = T \ t . В итоге в T остаются только те значения t , которые обеспечивают КИ( i ) для f . Если T не пусто, то берем любое t ∈ T , в противном случае поступаем так: если i = 1 или i - 1 ≤ k , то ответ – «нельзя улучшить», иначе возвращаем t .
-
6. Если i = m , то возвращаем t . i = i +1. Идем на шаг 4.
Таблица 3
1 000 функций, выданных генератором 2 с улучшенным КИ: n = 15, h = 5; сбалансированных – 328
не КР(1)
КР(1)
КР(2)
КР(3)
КР(4)
КР(5)
КР(6)
не КИ(1)
–
КИ(1)
–
–
(142)
48 (291)
44 (190)
–
–
КИ(2)
–
–
189 (49)
47
–
–
–
Таблица 4
1 000 функций, выданных генератором 2 с улучшенным КИ и КР: n = 15, h = 5; сбалансированных – 277
не КР(1)
КР(1)
КР(2)
КР(3)
КР(4)
КР(5)
КР(6)
не КИ(1)
–
–
–
–
–
–
–
КИ(1)
(1)
8 (435)
–
КИ(2)
1
268 (51)
–
КИ(3)
–
–
(236)
Если этот алгоритм выдает t , то функция f будет иметь более высокий порядок КИ, нежели f . Известно, что аффинная добавка никак не влияет на порядок КР.
Итак, изложены результаты реализации и исследования двух генераторов частично бент-функций, описаны возможности по улучшению порядков КИ и КР таких функций. Работоспособность алгоритмов проверена на практике, изучены свойства генерируемых функций.
Автор выражает благодарность И. А. Панкратовой и К. В. Сафонову за постоянное внимание к работе и ценные замечания.