Next Article in Journal
Medical and Engineering Applications for Estimation and Prediction of a New Competing Risks Model: A Bayesian Approach
Previous Article in Journal
Enhancing Supply Chain Sustainability and Reliability Through WSM and TOPSIS: A Symmetrical Real-World Case Study
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Generating Bent Functions and Dynamic Filters: A Novel Equivalence-Based Approach

by
Joseph Nelson
1,*,
Chungath Srinivasan
2,*,
Anand R. Nair
2 and
Lakshmy Koduvayur Viswanathan
2
1
Department of Mathematics, Amrita School of Physical Sciences, Coimbatore 641112, Amrita Vishwa Vidyapeetham, India
2
TIFAC-CORE in Cyber Security, Amrita School of Engineering, Coimbatore 641112, Amrita Vishwa Vidyapeetham, India
*
Authors to whom correspondence should be addressed.
Symmetry 2024, 16(11), 1501; https://doi.org/10.3390/sym16111501
Submission received: 13 September 2024 / Revised: 16 October 2024 / Accepted: 18 October 2024 / Published: 8 November 2024
(This article belongs to the Section Mathematics)

Abstract

:
Boolean functions are fundamental building blocks in both discrete mathematics and computer science, with applications spanning from cryptography to coding theory. Bent functions, a subset of Boolean functions with maximal nonlinearity, are particularly valuable in cryptographic applications. This study introduces a novel equivalence relation among all Boolean functions and presents an algorithm to generate bent functions based on this relation. We systematically generated a collection of 10,000 bent functions over eight variables, all originating from the same equivalence class, and analyzed their structural complexity through rank determination. Our findings revealed the presence of at least five distinct affine classes of bent functions within this collection. By employing this construction, we devised an algorithm to generate a filter function capable of combining Boolean functions. This filter function can be dynamically adjusted based on a key, offering potential applications in symmetric cipher design, such as enhancing security or improving efficiency.

1. Introduction

Boolean functions are functions from G F ( 2 ) n , an n-dimensional vector space, to the field G F ( 2 ) . Boolean functions that possess high nonlinearity and high algebraic degree play a very crucial role in the field of cryptography. Bent functions are Boolean functions with maximum nonlinearity.
There are several methods to construct bent functions, including primary and secondary construction techniques. The process of generating bent functions from the scratch is known as primary construction. However, creating bent functions from pre-existing bent functions is known as secondary construction. Based on the construction method, there are four main classes of bent functions, which are Maiorana–McFarland class, Dillon’s class, partial spread class, and Dobbertin’s class. Each of these methods utilizes different principles and techniques, making them suitable for different applications.
In the early 1970s, Maiorana and McFarland devised a primary construction technique, resulting in the Maiorana–McFarland class of bent functions, or MM class bent functions. In 1974, John Dillon obtained a class of bent functions called the partial spread class of bent functions. Although the construction is direct, it is difficult to give a concrete example of such a bent function. In [1], the authors have developed an algorithm to construct bent functions in partial spread class and computed the 2-rank. It is also verified that there are many bent functions in the partial spread class that are not affinely equivalent. John Dillon also introduced a family of bent functions called H class in his thesis [2]. In 1995, Dobbertin proposed a direct construction of bent functions that unifies MM bent functions and Dillon bent functions as two opposite external cases. But functions constructed through this method coincide with the MM class of bent functions.
The classification of the primary constructions of bent functions can help the researchers to better understand and utilize the strengths and limitations of different construction methods.
This study introduces a property of Boolean functions called N D -relation (Number of Difference sets), then defines N D -equivalence and generates functions that are N D - equivalent. We have obtained a relationship between bent functions and N D , which has aided in the construction of bent functions with degrees six and eight. We have created several six- and eight-variable bent functions and attempted to classify them. By the definition of the 2-rank of a Boolean function, we conclude that one N D equivalent class of bent function has functions from more than five different affine equivalent classes.
In Section 2, we cover the basics. Section 3 explains how we build the algorithm for six and eight variables. In Section 4, we discuss what is needed to expand the algorithm for more variables. The enumeration of functions that were constructed using our algorithm is covered in Section 5.

2. Preliminaries

It is to be noted that the notation G F ( 2 ) is the field with two elements 0 and 1, with addition modulo 2 denoted by ⨁ and multiplication modulo 2 denoted by writing two elements conjointly. G F ( 2 ) n is used for representing the n-dimensional vector space over the field G F ( 2 ) that consists of n-tuples with entries from G F ( 2 ) . The elements in G F ( 2 ) n have been denoted using bold letters and 0 is used to denote the vector ( 0 , 0 , , 0 ) . G F ( 2 ) n { 0 } consists of all elements of G F ( 2 ) n except 0.
For any two vectors a = ( a 1 , a 2 , , a n ) and b = ( b 1 , b 2 , , b n ) , define the following:
  • Addition of a and b as
    a b = ( a 1 b 1 , a 2 b 2 a n b n ) ;
  • Scalar product of a and b as
    a , b = a 1 b 1 a 2 b 2 a n b n .
Denote # A as the cardinality of the set A. B n denotes the set of all Boolean functions in n-variable. For any c G F ( 2 ) n and d G F ( 2 ) , the affine function is a Boolean function defined as
l c , d ( x ) = c , x d .
There are many ways of representing Boolean functions. However, in this paper, we use a truth table to represent Boolean functions. The truth table representation of an n-variable Boolean function f is denoted by
f ( y ) = ( f ( x 1 ) , f ( x 2 ) , , f ( x 2 n ) )
where x 1 , x 2 , , x 2 n are the elements in G F ( 2 ) n in lexicographical order. Similarly, define f ( y a ) as ( f ( x 1 a ) , f ( x 2 a ) , , f ( x 2 n a ) ) where a G F ( 2 ) n . The algebraic normal form of f at x = ( x 1 , x 2 , x 3 , , x n ) is given by
f ( x ) = a G F ( 2 ) n b a x 1 a 1 x 2 a 2 x 3 a 3 x n a n
where b a G F ( 2 ) and a = ( a 1 , a 2 , a 3 , , a n ) .
The product f · g represents the point-wise multiplication of values of f ( x ) and g ( x ) . The hamming weight (or weight) of a vector, denoted by w t ( x ) , is the number of ones in the vector x . The hamming weight of a Boolean function is the weight of its truth table. An n-variable Boolean function f is balanced if w t ( f ) = 2 n 1 . Hamming distance (or distance) between two functions f , g : G F ( 2 ) n G F ( 2 ) denoted by d ( f , g ) is defined as d ( f , g ) = w t ( f g ) . The support of a function f denoted by S u p p ( f ) is defined as the set { x G F ( 2 ) n ; f ( x ) = 1 } . The algebraic degree of the function f is defined as
max a G F ( 2 ) n ; b a = 1 w t ( a ) .
Definition 1
(Nonlinearity). The Nonlinearity of f is given by
n l ( f ) = min a G F ( 2 ) n , c G F ( 2 ) d ( f , l a , c ) .
The classification of Boolean functions based on nonlinearity led to the discovery of affine equivalence and extended affine equivalence.
Definition 2
(Affine equivalence). Two Boolean functions, f and g, are said to be affine equivalent if there exists an n × n non-singular matrix A and a vector b G F ( 2 ) n with f ( A x b ) = g ( x ) x G F ( 2 ) n .
Definition 3
(Extended affine equivalence). Two Boolean functions, f and g, are said to be extended affine equivalent if there exists an n × n non-singular matrix A, vectors b , c G F ( 2 ) n and d G F ( 2 ) , with
f ( A x b ) l c , d ( x ) = g ( x ) x G F ( 2 ) n .
Definition 4
(Bent functions). An n-variable Boolean function f with n l ( f ) = 2 n 1 2 n 2 1 is called a bent function.
It is to be noted that bent functions can be defined only for positive even integers. The weight of a bent function is either 2 n 1 2 n 2 1 or 2 n 1 + 2 n 2 1 . So, corresponding to each n, we can partition the collection of all bent functions into two equal halves with weights 2 n 1 2 n 2 1 and 2 n 1 + 2 n 2 1 . If w t ( f ) = k , then w t ( f + 1 ) will be 2 n k . Without any loss of generality, throughout this paper, we are considering bent functions with weight 2 n 1 2 n 2 1 .
There are a good number of papers in the literature discussing the iterative, combinatorial, and exhaustive techniques for constructing bent functions [3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]. There are two types of bent function constructions: primary and secondary. In the primary construction, the bent functions are constructed with respect to their properties, whereas, in the secondary construction, they are constructed using the known bent functions. Maiorana and McFarland independently came up with a primary construction technique known as Maiorana–McFarland construction. They have also calculated the number of functions that can be constructed using the Maiorana–McFarland construction; for 2 m variable Boolean functions, it is ( 2 m ) ! 2 2 m , which is still being used as the lower bound for the number of bent functions. The Maiorana-McFarland class is an example of an algebraic method for constructing bent functions. Additionally, bent functions can be generated iteratively by combining existing ones. One such approach involves using the direct sum of two bent functions to produce a new one, making it particularly useful for generating bent functions of higher dimensions from those of lower dimensions. This iterative process is part of the secondary construction method for bent functions. Later, a lot of primary construction techniques were developed. Depending on the techniques, bent functions are categorized into different classes, like Maiorana–McFarland class, partial spread class, class H , etc. [2,20]. The high algebraic degree of Boolean functions is also as important as that of nonlinearity. In 1962, Eliseev and Stepchenkov demonstrated that, if n 4 , the degree of an n-variable bent function cannot be greater than n 2 . Using this concept, an upper bound for the number of bent functions was derived; for an n-variable Boolean function, the value is 2 i = 0 n 2 n i 2 n + 1 . This also reveals that the construction of Boolean functions with maximum nonlinearity and high algebraic degree is not possible. In most cases, Boolean functions are represented in algebraic normal form; however, a few papers represent Boolean functions using their support [21]. A Boolean function f is said to be perfect nonlinear if f ( x ) f ( x a ) is balanced for all non-zero elements a [22,23]. It is worth noting that all bent functions are perfect nonlinear functions.
Exploring Boolean functions becomes easier when we use alternative representations of them. So, understanding the concept of an incidence matrix becomes important.
Definition 5
(Incidence matrix). Let f be an n-variable Boolean function and S be the support of the function. We define the 2 n × 2 n incidence matrix A f as
A f i , j = 1 if i j S 0 otherwise
Definition 6
(2-Rank of a Boolean function). The rank of the incidence matrix corresponding to the Boolean function is defined as the 2-rank of the Boolean function.
The relationship between bent functions’ rank and affine equivalence is explained in [24]. Bent functions with different ranks will never be affine equivalent; however, all bent functions with the same rank need not be affine equivalent.
Let δ f ( a ) denote the difference set
δ f ( a ) = { x G F ( 2 ) n ; f ( x ) = f ( x a ) = 1 }
This also implies that a can be represented as the sum of two elements from the support of f in | δ f ( a ) | 2 different ways. The definition of difference set has an important role in our construction.

3. Construction of Bent Function

The following theorem describes the relationship between the weight and nonlinearity of Boolean functions whose support is contained in the support of a bent function.
Theorem 1.
Let f be an n-variable bent function with w t ( f ) = n l ( f ) = 2 n 1 2 n 2 1 and g be an n-variable Boolean function with g 1 ( 1 ) f 1 ( 1 ) . Then, w t ( g ) = n l ( g ) .
Proof. 
Let f be an n-variable bent function with w t ( f ) = n l ( f ) = 2 n 1 2 n 2 1 . We have n l ( g ) = m i n { w t ( g + l c , d ) } . Hence, n l ( g ) = w t ( g ) if and only if w t ( g ) w t ( g + l c , d ) for all c G F ( 2 ) n and d G F ( 2 ) .
We know that w t ( g + h ) = w t ( g ) + w t ( h ) 2 · w t ( g · h ) .
w t ( l c , d ) = 0 i f c = 0 , d = 0 2 n i f c = 0 , d = 1 2 n 1 i f c 0
From our assumption on g, it is clear that w t ( g · l c , d ) w t ( f · l c , d ) .
Since f is bent, w t ( f · l c , d ) is either 0, 2 n 2 2 n 2 1 , or 2 n 2 .
Therefore, 2 · w t ( g · l c , d ) 2 n 1 .
The case c = 0 is trivial, so, without any loss of generality, we consider c 0 .
Then, w t ( g + l c , d ) = w t ( g ) + 2 n 1 2 · w t ( g · l c , d )
gives w t ( g + l c , d ) w t ( g ) . (Since 2 · w t ( g · l c , d ) 2 n 1 , 2 n 1 2 · w t ( g · l c , d ) > 0 .)    □
One method to construct bent functions is by extending a subset X of G F ( 2 ) n such that the Boolean function f with S u p p ( f ) = X has n l ( f ) = | X | until the | X | = 2 n 1 2 n 2 1 .
Theorem 2.
(Corollary 3.2 of [25]) Let f be an n-variable Boolean function. If w t ( f ) 2 n 2 , then n l ( f ) = w t ( f ) .
By Theorem 2, it is possible to choose first 2 n 2 elements randomly. In [26], the authors tried to construct bent functions by extending an empty set to the support of an n-variable bent function.
Theorem 3.
(Lemma 2 of [26]). Let f be an n-variable Boolean function with δ f ( a ) for some a G F ( 2 ) n { 0 } . Then,
S u p p ( f ) = a G F ( 2 ) n { 0 } δ f ( a ) .
For a bent function, | δ f ( a ) | = 2 n 2 ± 2 n 2 1 2 for all a G F ( 2 ) n { 0 } .
By Theorem 3, the authors have tried to add elements in support by filling δ f ( a ) until it reaches the cardinality 2 n 2 2 n 2 1 . This method has a limitation that it may not be possible to fill all the sets with the required number of elements. To overcome this issue, we have constructed bent functions using the structure of a known bent function. Corresponding to each subset of G F ( 2 ) n , we can define a 2 n 2 + 1 tuple N D ( S ) , where S is a subset of G F ( 2 ) n . For our convenience, we can also define N D F ( f ) for a Boolean function f as N D F ( f ) = N D ( S ) , where S is the support of the Boolean function f. The following definition will help to describe the construction process.
Definition 7.
For an n-variable Boolean function f with support S G F ( 2 ) n , we define N D ( S ) = ( a 0 , a 2 , a 4 , a 6 a 2 n 1 ) , where a i represents the number of b G F ( 2 ) n { 0 } with | δ f ( b ) | = i .
Note that more than one Boolean function may have the same ND. For example, all the n-variable bent functions with weight 2 n 1 2 n 2 1 have the tuple
( 0 , 0 , 0 , , 0 , a 2 n 1 2 n 2 1 , 0 , 0 , , 0 )
where a 2 n 1 2 n 2 1 = 2 n 1 . The term N D refers to the Number of Difference sets.
Definition 8.
Let f and g be two n-variable Boolean functions. f and g are N D -related if the support of f and g can be expressed as A = { x 1 , x 2 , , x m } and B = { y 1 , y 2 , , y m } , respectively, with N D ( { x 1 , x 2 , , x i } ) = N D ( { y 1 , y 2 , , y i } ) for all 1 i m .
We will now prove that the N D -relation is an equivalence relation.
Theorem 4.
N D relation is an equivalence relation.
Proof. 
We need to prove that the relation is reflexive, symmetric, and transitive.
For an n-variable Boolean function f with S u p p ( f ) = { x 1 , x 2 , x 3 , , x k } , it is clear that N D ( { x 1 , x 2 , x 3 , , x i } ) = N D ( { x 1 , x 2 , x 3 , , x i } ) for all 1 i k . Hence, the relation is reflexive.
If any two n-variable Boolean functions f and g with supports A and B, respectively, are N D -related, then there are arrangements for the supports A and B as { x 1 , x 2 , x 3 , , x k } and { y 1 , y 2 , y 3 , , y k } , respectively, with N D ( { x 1 , x 2 , x 3 , , x i } ) = N D ( { y 1 , y 2 , y 3 , , y i } ) for all 1 i k . Clearly, N D ( { y 1 , y 2 , y 3 , , y i } ) = N D ( { x 1 , x 2 , x 3 , , x i } ) for all 1 i k . Hence, the relation is symmetric.
Let f , g, and h be n-variable Boolean functions with supports A, B, and C, respectively. Suppose that f is N D -related with g and g is N D -related with h. Then, there are arrangements for the supports A and B as { x 1 , x 2 , x 3 , , x k } and { y 1 , y 2 , y 3 , , y k } , respectively, with N D ( { x 1 , x 2 , x 3 , , x i } ) = N D ( { y 1 , y 2 , y 3 , , y i } ) for all 1 i k . Similarly, there are arrangements for the supports B and C as { y 1 , y 2 , y 3 , , y k } and { z 1 , z 2 , z 3 , , z k } , respectively, with N D ( { y 1 , y 2 , y 3 , , y i } ) = N D ( { z 1 , z 2 , z 3 , , z i } ) for all 1 i k . Now, it is clear that N D ( { x 1 , x 2 , x 3 , , x i } ) = N D ( { z 1 , z 2 , z 3 , , z i } ) for all 1 i k . Hence, the relation is transitive.    □
Definition 9
( N D -equivalence). Let f and g be two n-variable bent functions with supports A and B, respectively. Then, f and g are said to be N D -equivalent if the support of f and g can be expressed as A = { x 1 , x 2 , , x m } and B = { y 1 , y 2 , , y m } , respectively, with N D ( { x 1 , x 2 , , x i } ) = N D ( { y 1 , y 2 , , y i } ) for all 1 i m .
It is also possible to represent the inputs of an n-variable Boolean function as integers from 0 to 2 n 1 . We use the integer form of the inputs whenever we use a Boolean function’s support. Here, 0 , 1 , 2 , , 254 , and 255 are used to represent ( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ) , ( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ) , , ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 ) , and ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ) , respectively.
Affine equivalence and N D -equivalence are not the same but affine equivalence implies N D -equivalence. The following theorem explains it.
Theorem 5.
Let f and g be n-variable affine equivalent Boolean functions; then, f and g are N D -equivalent.
Proof. 
Given that f and g are n-variable affine equivalent Boolean functions, there exist a non-singular n × n matrix A and a vector b with f ( A x b ) = g ( x ) x G F ( 2 ) n . Let S u p p ( f ) = { x 1 , x 2 , x m } ; then, we can take S u p p ( g ) = { y 1 , y 2 , y m } with y i = A x i b . Since A x b is a permutation on G F ( 2 ) n , both S u p p ( f ) and S u p p ( g ) have the same cardinality.
  • Claim: N D ( { x 1 , x 2 , x i } ) = N D ( { y 1 , y 2 , y i } ) 0 < i m .
  • Let X = { x 1 , x 2 , x i } and Y = { y 1 , y 2 , y i } .
  • x k δ f X ( a k ) ( A x k b ) δ f Y ( A a k ) .
  • That is, x k δ f x ( a k ) x j X ; x j x k = a k .
  • Let y j = A x j b ; then, y j y k = A x j b A x k b = A ( x j x k ) = A a k .    □
Remark 1.
The extended affine equivalence does not imply N D -equivalence.
Theorem 6.
For n-variable Boolean function l a , b ,
N D F ( l a , c ) = ( 2 n 1 , 0 , 0 ) if a = ( 0 , 0 , 0 ) , c = 0 ( 0 , 0 , , a 2 n 1 = 2 n 1 ) if a = ( 0 , 0 , 0 ) , c = 1 ( 2 n 1 1 , 0 , , a 2 n 2 = 2 n 1 ) Otherwise
Proof. 
Case 1: If a = ( 0 , 0 , 0 ) , c = 0 , then l a , c = 0 for all x G F ( 2 ) n ; hence, the support will be empty, that is, | δ f ( a ) | = 0 for all a G F ( 2 ) n { 0 } .
  • Case 2: If a = ( 0 , 0 , 0 ) and c = 1 , then l a , c = 1 for all x G F ( 2 ) n ; hence, the support will be G F ( 2 ) n and all the elements of G F ( 2 ) n { 0 } can be represented as the sum of 2 elements from the support in 2 n 1 different ways, that is, | δ f ( a ) | = 2 n for all a G F ( 2 ) n { 0 } .
  • Case 3: If a ( 0 , 0 , 0 ) , then l a , c will be a non-constant linear function; hence, its support will be a subspace of G F ( 2 ) n . Its cardinality will be 2 n 1 , and also 2 n 1 1 from the subspace (except zero) can be represented as a sum of 2 elements from the support in 2 n 2 ways, that is, | δ f ( a ) | = 0 for 2 n 1 different elements from G F ( 2 ) n { 0 } and | δ f ( a ) | = 2 n 1 for the remaining 2 n 1 elements.    □
Remark 2.
Since 2 × t 2 = 2 × t × ( t 1 ) 2 = t 2 t and ( t 1 ) 2 < t ( t 1 ) < t 2 , we obtain t = smallest integer greater than t 2 t = 2 × t 2 .
Theorem 7.
Let f be a Boolean function with N D F ( f ) = ( a 0 , a 2 , a 4 , , a k ) ; then,
w t ( f ) = 0 or 1 if a 0 = 2 n 1 a 0 × 0 + a 2 × 2 + + a k × k if a 0 2 n 1
Proof. 
We are proving this lemma using three different cases.
  • Case 1: Let w t ( f ) = 0 . There is no element in the support. It is not possible to represent elements in G F ( 2 ) n { 0 } as the sum of two elements from the support. That is, | δ f ( b ) | = 0 for each b G F ( 2 ) n { 0 } . Now, a 0 = 2 n 1 .
  • Case 2: Let w t ( f ) = 1 . There is only one element in the support. It is not possible to represent elements in G F ( 2 ) n { 0 } as the sum of two elements (there is only one element) from the support. That is, | δ f ( b ) | = 0 for each b G F ( 2 ) n { 0 } . Now, a 0 = 2 n 1 .
  • If w t ( f ) > 1 , then at least one of the | δ f ( b ) | 0 , that is a 0 < 2 n 1 .
  • Case 3: Let w t ( f ) = t , where t 0 , 1 . Then, we can represent t 2 different elements as the sum of two elements from the support. The expression a 0 × 0 + a 2 × 2 + + a k × k will give us the total number of elements represented, which will be 2 × t 2 . From this, we can compute t = 2 × t 2 .    □
By Theorem 7, it is clear that any two N D -equivalent functions have equal weight. It remains to verify whether the nonlinearities coincide for all N D -equivalent functions. The following results can be gathered directly from Definition 8:
  • If f is an n-variable bent function with w t ( f ) = 2 n 1 2 n 2 1 , then N D F ( f ) = ( 0 , 0 , , 0 , a 2 n 2 2 n 2 1 = 2 n 1 , 0 , 0 ) ;
  • If f is an n-variable bent function with w t ( f ) = 2 n 1 + 2 n 2 1 , then N D F ( f ) = ( 0 , 0 , , 0 , a 2 n 2 + 2 n 2 1 = 2 n 1 , 0 , 0 ) ;
  • If w t ( f ) and w t ( g ) are either 0 or 1, then N D F ( f ) = N D F ( g ) = ( 2 n 1 , 0 , , 0 ) ;
  • If w t ( f ) = w t ( g ) = k with k { 2 , 3 } , then N D F ( f ) = N D F ( g ) ;
  • If w t ( f ) = w t ( g ) 3 , then f and g are N D -equivalent;
  • If w t ( f ) = w t ( g ) 5 and N D F ( f ) = N D F ( g ) , then f and g are N D -equivalent.
Our requirement is to construct the support of a bent function by adding elements to an empty set.

3.1. Construction Using ND-Equivalence

By Definition 9, it is possible to make N D -equivalent Boolean functions easily. Steps for constructing an N D -equivalent collection of bent functions is mentioned below:
  • Take the support of an n-variable bent function (with weight 2 n 1 2 n 2 1 ) as K;
  • Let X be an empty set; it will become the support of a bent function by adding elements using Algorithm 1;
  • Arrange the elements in K in a specific order (as mentioned in Section 3.2). Let it be k 0 , k 1 , k 2 , , k 2 n 1 2 n 2 1 1 . Compute N D ( S ) for S = { k 0 } and add elements k 1 , k 2 , , k 2 n 1 2 n 2 1 1 one by one to S. In each step, we need to add elements from the domain G F ( 2 ) n to X such that N D ( S ) = N D ( X ) ;
  • In this way, a set X with N D ( X ) = N D ( K ) is constructed, which turns into the support of a bent function.
For constructing a four-variable bent function, arranging elements from its support is not essential.
We have arranged the support of a six-variable bent function to generate many six-variable bent functions. The arrangement is {19, 52, 11, 23, 13, 18, 49, 8, 14, 22, 0, 2, 51, 32, 39, 1, 57, 29, 25, 27, 54, 62, 3, 31, 33, 38, 58, 61}. We are still working on arrangement of other bent functions. We could find the arrangement for a small number of bent functions, namely, four, six, and eight variables. In six and eight variables, we could find one arrangement for the support. It is possible to make four-, six-, and eight-variable N D -equivalent bent functions concerning those arrangements. By following secondary construction techniques, it is also possible to construct bent functions on a higher number of variables, but they need not be N D -equivalent. We have computed the rank of 10,000 eight-variable bent functions, which is captured in Table 1.
Algorithm 1: Construction of n-variable bent functions
Symmetry 16 01501 i001
The following conclusions are based on the data from Table 1:
  • More than five different affine classes of bent functions belong to the same N D -equivalent class;
  • N D -equivalence is different from affine equivalence;
  • The number of N D -equivalent classes is fewer than that of affine equivalent classes.
The graph in Figure 1 provides a geometric interpretation of the distribution of bent functions with respect to rank in the construction. Two of the functions generated using the algorithm is included in Appendix A.

3.2. Bent Function Support Structure

From the definition of bent functions, they are the only non-constant functions that have NDF representation with all zeros except at one position, where the value is 2 n 1 . As mentioned earlier, for our convenience, we can use decimal integers to represent vectors. Suppose we choose the support of 8-variable bent function x 1 x 2 + x 3 x 4 + x 5 x 6 + x 7 x 8 as Y = {127, 191, 63, 223, 239, 207, 247, 87, 151, 23, 103, 167, 39, 71, 135, 7, 251, 91, 155, 27, 107, 171, 43, 75, 139, 11, 243, 83, 147, 19, 99, 163, 35, 67, 131, 3, 253, 93, 157, 29, 109, 173, 45, 77, 141, 13, 117, 181, 53, 213, 229, 197, 121, 185, 57, 217, 233, 201, 113, 177, 49, 209, 225, 193, 254, 94, 158, 30, 110, 174, 46, 78, 142, 14, 118, 182, 54, 214, 230, 198, 122, 186, 58, 218, 234, 202, 114, 178, 50, 210, 226, 194, 252, 92, 156, 28, 108, 172, 44, 76, 140, 12, 116, 180, 52, 212, 228, 196, 120, 184, 56, 216, 232, 200, 112, 176, 48, 208, 224, 192}; we obtain 160, 65, 230, 7, 112, 50, 116, 91, 29, 127 as the first 10 elements, but could not find any further elements. Such situations will happen if we do not arrange the elements from the support. For 8-variable bent functions, we have arranged them as Y = {99, 163, 35, 67, 131, 3, 243, 83, 147, 19, 107, 171, 43, 75, 139, 11, 251, 91, 155, 27, 103, 167, 39, 71, 135, 7, 247, 87, 151, 23, 127, 191, 63, 223, 239, 207, 109, 173, 45, 77, 141, 13, 253, 93, 157, 29, 110, 174, 46, 78, 142, 14, 254, 94, 158, 30, 108, 172, 44, 76, 140, 12, 252, 92, 156, 28, 117, 181, 53, 213, 229, 197, 121, 185, 57, 217, 233, 201, 113, 177, 49, 209, 225, 193, 118, 182, 54, 214, 230, 198, 122, 186, 58, 218, 114, 116, 180, 52, 212, 228, 196, 120, 184, 232, 200, 112, 176, 48, 178, 50, 210, 226, 194, 56, 224, 192, 234, 202, 216, 208}.
We have tried various well-known methods to arrange the support in order to obtain a bent function at each iteration. Among them, we explored the concept of the least squares method by minimizing and maximizing ( i a i × i 2 ). Our approach was to add elements to the support in such a way that the maximum difference between the difference sets would be minimized, but we could not find a proper arrangement for constructing bent functions. An 8-variable bent function with weight 120 has 120 ! arrangements to its support, which is a huge number considering the computational capacity of present-day computers. Since it is easy to find four-variable bent functions using the algorithm, we have arranged the domain as cosets of a four-dimensional subspace. Using these four variable cosets, it is possible to find five-dimensional cosets; similarly, six- and seven-dimensional cosets can be generated. This construction is similar to the construction of difference sets in Boolean functions. In previous construction techniques, authors have constructed bent functions in separate difference sets and taken their union, but here we have constructed by adding elements to a set—the support.
  • Least squares method: The least squares method is a statistical procedure to find the best fit for a set of data points [27]. The method works by minimizing the sum of the offsets or the residuals of points from the plotted curve. Least squares regression is used to predict the behavior of dependent variables.
In the required scenario, we can try the least squares method. We are adding elements to the support such that the difference between the cardinalities of each δ f becomes minimum. For this purpose, we can restrict the value of
i a i × i 2
to the minimum for adding each element to the support. The process works until the cardinality of the set becomes 102.
However, restricting the value of i a i × i 2 to its maximum will not yield the desired results.
Still, we are investigating the appropriate arrangement of the elements of the support for the construction.

3.3. Counting

Counting the number of Boolean functions in each specific class is important for explaining the complexity in cryptanalysis [28,29,30,31]. But, in some cases, finding the upper or lower bounds for the number of functions is also important [32]. It is possible to calculate the number of supports that can be constructed using the algorithm in Section 3. However, many of the sets are equal. To overcome this, we need to classify the supports, with respect to set equality. This will help to find the number of equal sets, which will be the cardinality of each class. The division of the total number of sets with the number of sets in each class will give the number of bent functions that can be constructed using Algorithm 1.
  • It is required to use the principle of counting to find the number of functions that can be constructed using Algorithm 1.
  • Counting principle: Consider a process that consists of r stages. Suppose the following:
    (a)
    There are n 1 possible results for the first stage;
    (b)
    For every possible result of the first stage, there are n 2 possible results at the second stage;
    (c)
    More generally, for all possible results of the first i 1 stages, there are n i possible results at the i t h stage. Then, the total number of possible results of the r-stage process is n 1 n 2 n r .
Corresponding to the support of each bent function, it is possible to construct 2 n different bent functions with the same weight. Furthermore, f 1 is an n-variable bent function if and only if f is an n-variable bent function. Effectively, it is possible to generate 2 n + 1 bent functions using each bent function.
We have also generated bent functions in four, six, and eight variables, but we are still investigating the exact number of sets in each class. Using the first counting principle, we have attempted to enumerate the number of distinct bent functions that we could generate in each variable. Estimation process included in Table 2. The classification of generated functions into already known classes is not an easy task, but, with the help of 2-rank, it is possible to differentiate functions which are affinely equivalent from functions which are not.
One N D -equivalent class of bent function has functions from more than five different affine equivalent classes. Together with the Theorem 5, we can conclude that each N D -equivalent class has cardinality greater than that of the affine equivalent class. Further study on N D -equivalence will help us to find the count of bent functions.

4. Key Dependent Filter Function with Improved Cryptographic Properties

A filter function is a component that combines multiple linear or nonlinear shift registers [33]. The strength of a cipher depends on its resistance to cryptanalysis. Historically, filter functions have been primary targets for attacks due to their vulnerabilities. To address these weaknesses, we developed a construction algorithm that produces filter functions with enhanced nonlinearity, correlation immunity, and balancedness. Notably, the resulting filter function is dependent on the encryption key.
Our construction algorithm, Algorithm 2, takes as input an 8-variable bent function and an 80-bit string, which serves as the encryption key. The algorithm generates an additional eight-variable bent function, leveraging the input function and key. This output function, denoted as f ( x 0 , x 1 , x 2 , , x 7 ) , is the foundation for constructing the filter function.
Algorithm 2 does not directly generate the filter function as its output. Instead, the filter function is derived from the eight-variable bent function f that is produced by Algorithm 2.
The 13-variable Boolean function g ( x 0 , x 1 , , x 12 ) = f x 8 x 9 x 10 x 11 x 12 can be considered a filter function. By varying the 80-bit string input to Algorithm 2, we can generate numerous 13-variable filter functions from a single 8-variable bent function. Similarly, we can obtain 12-, 11-, 10-, and 9-variable filter functions by adjusting the 80-bit string input. Table 3 provides examples of these variations. The outlines of the construction algorithm is given as follows. Let P = ( p 0 , p 1 , p 79 ) be an 80-bit key. Derive 120 different 8-bit words t i from P as follows:
  • t 0 = p 0 p 1 p 2 p 7
    t 1 = p 1 p 2 p 3 p 8
      ⋮
    t 72 = p 72 p 73 p 74 p 79
    t 73 = p 73 p 74 p 75 p 0
      ⋮
    t 79 = p 79 p 0 p 1 p 6
    t 80 = p 0 p 2 p 4 p 14
    t 81 = p 1 p 3 p 5 p 15
      ⋮
    t 119 = p 39 p 41 p 43 p 53 .
Table 3. Filter functions and their properties.
Table 3. Filter functions and their properties.
Filter
Functions
Number of
Variables
Maximum
Nonlinearity
Nonlinearity
of g ( x )
Correlation
Immunity
f ( x ) 81201200
f ( x ) x 8 9≥2422401
f ( x ) x 8 x 9 104964802
f ( x ) x 8 x 9 x 10 11≥9929603
f ( x ) x 8 x 9 x 10 x 11 12201619204
f ( x ) x 8 x 9 x 10 x 11 x 12 13≥403238405
Using these values t i , we generate an 8-variable bent function f and then add a selected function to derive a 13-variable balanced Boolean function with nonlinearity 2840 and correlation immunity 4 [Theorem 8]. The Table 3 provides a detailed overview of the properties of the functions constructed.
Algorithm 2: Construction of 8-variable bent functions
Symmetry 16 01501 i002
Theorem 8
([20]). Let f ( x ) be an n-variable Boolean function. Then, the n + 1 -variable Boolean function g ( x | | y ) = f ( x ) y with x G F ( 2 ) n & y G F ( 2 ) has nonlinearity twice the nonlinearity of f.

5. Discussion

We introduced a novel equivalence relation, ND-equivalence, and developed an algorithm to systematically construct bent functions. Building upon this foundation, we designed a key-dependent dynamic filter function for potential use in stream ciphers. Following the construction of bent functions, we computed the 2-rank for each function produced, resulting in varying ranks of 10, 12, 14, 16, and 20. This indicates the possibility of creating new bent functions by employing an existing bent function that does not necessarily share the same affine properties as the original function. Our analysis of the generated bent functions revealed the existence of multiple affine classes within a single ND-equivalent class, suggesting a richer structure than previously understood. These findings contribute to the understanding of Boolean function properties and open new avenues for exploring their applications in cryptography and other fields.
Further research is required to calculate the number of equivalence classes in the collection of bent functions and the number of functions in each equivalence class. This will help the research community to better understand the relationship between the count of bent functions and the number of variables.

Author Contributions

J.N.: Conceptualization, Methodology, Formal Analysis, Writing—Original Draft, Writing—Review and Editing. C.S.: Data Curation, Visualization, Writing—Review and Editing. A.R.N.: Visualization. L.K.V.: Supervision and Project Administration. All authors have read and agreed to the published version of the manuscript.

Funding

The first author was supported by a research grant from the Council of Science and Industrial Research, India. Additionally, funding for Article Processing Charges (APC) is supported by Amrita Vishwa Vidyapeetham.

Data Availability Statement

The original contributions presented in the study are included in the article, further inquiries can be directed to the corresponding authors.

Acknowledgments

The first author would like to acknowledge the Council of Scientific and Industrial Research (CSIR) for providing research fellowship vide reference number 09/1034(0006)/2019-EMR-I.

Conflicts of Interest

The authors declare no conflicts of interestt.

Appendix A

Example for N D -equivalent 8-variable bent functions corresponding to the bent function x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 :
  • 1 x 1 x 2 x 1 x 2 x 3 x 1 x 3 x 2 x 3 x 1 x 2 x 3 x 4 x 1 x 4 x 2 x 4 x 2 x 3 x 4 x 5 x 1 x 5 x 1 x 2 x 5 x 2 x 4 x 5 x 6 x 3 x 6 x 1 x 3 x 6 x 2 x 3 x 6 x 4 x 6 x 2 x 4 x 6 x 1 x 5 x 6 x 3 x 5 x 6 x 7 x 2 x 7 x 1 x 2 x 7 x 3 x 4 x 7 x 5 x 7 x 2 x 5 x 7 x 3 x 5 x 7 x 4 x 5 x 7 x 6 x 7 x 1 x 6 x 7 x 2 x 6 x 7 x 4 x 6 x 7 x 8 x 1 x 8 x 2 x 8 x 3 x 8 x 1 x 3 x 8 x 4 x 8 x 2 x 4 x 8 x 1 x 5 x 8 x 2 x 5 x 8 x 3 x 5 x 8 x 3 x 6 x 8 x 5 x 6 x 8 x 7 x 8 x 1 x 7 x 8 x 4 x 7 x 8 x 6 x 7 x 8
  • 1 x 1 x 2 x 1 x 2 x 3 x 1 x 3 x 2 x 3 x 1 x 2 x 3 x 4 x 1 x 4 x 2 x 4 x 2 x 3 x 4 x 5 x 1 x 5 x 1 x 2 x 5 x 2 x 4 x 5 x 6 x 3 x 6 x 1 x 3 x 6 x 2 x 3 x 6 x 4 x 6 x 2 x 4 x 6 x 1 x 5 x 6 x 3 x 5 x 6 x 7 x 2 x 7 x 1 x 2 x 7 x 3 x 4 x 7 x 5 x 7 x 2 x 5 x 7 x 3 x 5 x 7 x 4 x 5 x 7 x 6 x 7 x 1 x 6 x 7 x 2 x 6 x 7 x 4 x 6 x 7 x 8 x 1 x 8 x 2 x 8 x 3 x 8 x 1 x 3 x 8 x 4 x 8 x 2 x 4 x 8 x 1 x 5 x 8 x 2 x 5 x 8 x 3 x 5 x 8 x 3 x 6 x 8 x 5 x 6 x 8 x 7 x 8 x 1 x 7 x 8 x 4 x 7 x 8 x 6 x 7 x 8

References

  1. Gadouleau, M.; Mariot, L.; Picek, S. Bent functions in the partial spread class generated by linear recurring sequences. Des. Codes Cryptogr. 2023, 91, 63–82. [Google Scholar] [CrossRef]
  2. Dillon, J.F. Elementary Hadamard Difference-Sets; University of Maryland: College Park, MD, USA, 1974. [Google Scholar]
  3. Carlet, C. Two new classes of bent functions. In Workshop on the Theory and Application of Cryptographic Techniques; Springer: Berlin/Heidelberg, Germany, 1993; pp. 77–101. [Google Scholar]
  4. Carlet, C. A Construction of Bent Functions; London Mathematical Society Lecture Note Series; Cambridge University Press: Cambridge, UK, 1996; pp. 47–58. [Google Scholar]
  5. Carlet, C. On the secondary constructions of resilient and bent functions. In Coding, Cryptography and Combinatorics; Birkhäuser: Basel, Switzerland, 2004; pp. 3–28. [Google Scholar]
  6. Carlet, C.; Gao, G.; Liu, W. A secondary construction and a transformation on rotation symmetric functions, and their action on bent and semi-bent functions. J. Comb. Theory Ser. A 2014, 127, 161–175. [Google Scholar] [CrossRef]
  7. Carlet, C.; Mesnager, S. On Dillon’s class H of bent functions, Niho bent functions and o-polynomials. J. Comb. Theory Ser. A 2011, 118, 2392–2410. [Google Scholar] [CrossRef]
  8. Carlet, C.; Dobbertin, H.; Leander, G. Normal extensions of bent functions. IEEE Trans. Inf. Theory 2004, 50, 2880–2885. [Google Scholar] [CrossRef]
  9. Carlet, C.; Zhang, F.; Hu, Y. Secondary constructions of bent functions and their enforcement. Adv. Math. Commun. 2012, 6, 305–314. [Google Scholar] [CrossRef]
  10. Carlet, C.; Mesnager, S. Four decades of research on bent functions. Des. Codes Cryptogr. 2016, 78, 5–50. [Google Scholar] [CrossRef]
  11. Dalai, D.K.; Maitra, S.; Sarkar, S. Results on rotation symmetric bent functions. Discret. Math. 2009, 309, 2398–2409. [Google Scholar] [CrossRef]
  12. Dobbertin, H.; Leander, G.; Canteaut, A.; Carlet, C.; Felke, P.; Gaborit, P. Construction of bent functions via Niho power functions. J. Comb. Theory Ser. A 2006, 113, 779–798. [Google Scholar] [CrossRef]
  13. Budaghyan, L.; Carlet, C.; Helleseth, T.; Kholosha, A.; Mesnager, S. Further results on Niho bent functions. IEEE Trans. Inf. Theory 2012, 58, 6979–6985. [Google Scholar] [CrossRef]
  14. Rothaus, O.S. On “bent” functions. J. Comb. Theory Ser. A 1976, 20, 300–305. [Google Scholar] [CrossRef]
  15. Leander, N.G. Monomial bent functions. IEEE Trans. Inf. Theory 2006, 52, 738–743. [Google Scholar] [CrossRef]
  16. Li, N.; Helleseth, T.; Tang, X.; Kholosha, A. Several new classes of bent functions from Dillon exponents. IEEE Trans. Inf. Theory 2012, 59, 1818–1831. [Google Scholar] [CrossRef]
  17. Mesnager, S. Further constructions of infinite families of bent functions from new permutations and their duals. Cryptogr. Commun. 2016, 8, 229–246. [Google Scholar] [CrossRef]
  18. Mesnager, S.; Özbudak, F.; Sinak, A. Secondary constructions of (non)-weakly regular plateaued functions over finite fields. Turk. J. Math. 2021, 45, 2295–2306. [Google Scholar] [CrossRef]
  19. Cusick, T.W.; Lakshmy, K.; Sethumadhavan, M. Affine equivalence of monomial rotation symmetric Boolean functions: A Pólya’s theorem approach. J. Math. Cryptol. 2016, 10, 145–156. [Google Scholar] [CrossRef]
  20. Mesnager, S.; Mesnager, S. Bent Functions; Springer International Publishing: Berlin/Heidelberg, Germany, 2016. [Google Scholar]
  21. Climent, J.J.; García, F.J.; Requena, V. Construction of bent functions of 2k variables from a basis of. Int. J. Comput. Math. 2012, 89, 863–880. [Google Scholar] [CrossRef]
  22. Nyberg, K. Constructions of bent functions and difference sets. In Advances in Cryptology—EUROCRYPT’90; Workshop on the Theory and Application of Cryptographic Techniques; Springer: Berlin, Heidelberg, 1990; pp. 151–160. [Google Scholar]
  23. Meier, W.; Staffelbach, O. Nonlinearity criteria for cryptographic functions. In Workshop on the Theory and Application of Cryptographic Techniques; Springer: Berlin/Heidelberg, Germany, 1989; pp. 549–562. [Google Scholar]
  24. Weng, G.; Feng, R.; Qiu, W. On the ranks of bent functions. Finite Fields Their Appl. 2007, 13, 1096–1116. [Google Scholar] [CrossRef]
  25. Ciungu, L.C. Weight and nonlinearity of Boolean functions. Turk. J. Math. 2012, 36, 520–529. [Google Scholar] [CrossRef]
  26. Nelson, J.; Srinivasan, C.; Lakshmy, K.V. An Algorithm for Constructing Support of Bent Functions by Extending a Set. Int. J. Math. Eng. Manag. Sci. 2023, 8, 1040–1055. [Google Scholar] [CrossRef]
  27. Jiang, B.N. On the least-squares method. Comput. Methods Appl. Mech. Eng. 1998, 152, 239–257. [Google Scholar] [CrossRef]
  28. Pandey, S.K.; Mishra, P.R. Count of Rotational Symmetric Bent Boolean Functions; Cryptology ePrint Archive, Paper 2019/873. Available online: https://eprint.iacr.org/2019/873 (accessed on 1 September 2024).
  29. Zeenath, A.U.; Lakshmy, K.V.; Cusick, T.W.; Sethumadhavan, M. Construction and enumeration of balanced rotation symmetric Boolean functions. Discret. Appl. Math. 2024, 357, 197–208. [Google Scholar]
  30. Lakshmy, K.V.; Sethumadhavan, M.; Cusick, T.W. Counting rotation symmetric functions using Polya’s theorem. Discret. Appl. Math. 2014, 169, 162–167. [Google Scholar]
  31. Langevin, P.; Leander, G. Counting all bent functions in dimension eight 99270589265934370305785861242880. Des. Codes Cryptogr. 2011, 59, 193–205. [Google Scholar] [CrossRef]
  32. Tokareva, N. On the number of bent functions from iterative constructions: Lower bounds and hypotheses. Adv. Math. Commun. 2011, 5, 609–621. [Google Scholar] [CrossRef]
  33. Lamba, C.S. Design and analysis of stream cipher for network security. In Proceedings of the 2010 Second International Conference on Communication Software and Networks, Washington, DC, USA, 26–28 February 2010; IEEE: Piscataway, NJ, USA, 2010; pp. 562–567. [Google Scholar]
Figure 1. Distribution of bent functions with respect to rank.
Figure 1. Distribution of bent functions with respect to rank.
Symmetry 16 01501 g001
Table 1. Number of bent functions and corresponding rank.
Table 1. Number of bent functions and corresponding rank.
RankNumber of Functions
101084
12575
14794
161910
205637
Total10,000
Table 2. Estimation of the number of functions that can be generated.
Table 2. Estimation of the number of functions that can be generated.
Number of
Variables n
Number of Supports That
Could Generate with
Weight m  N n , m
Number of Supports
in Each Class
with Weight m  K n , m
Number of Distinct
Functions with Weight
m & 2 n m   N n , m K n , m × 2
Actual Number of
Functions
4322,560720 448 × 2 = 896 896
6 2 72.3 UnknownUnknown 2 32.3
8 2 283.56 UnknownUnknown 2 106.3
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Nelson, J.; Srinivasan, C.; Nair, A.R.; Koduvayur Viswanathan, L. Generating Bent Functions and Dynamic Filters: A Novel Equivalence-Based Approach. Symmetry 2024, 16, 1501. https://doi.org/10.3390/sym16111501

AMA Style

Nelson J, Srinivasan C, Nair AR, Koduvayur Viswanathan L. Generating Bent Functions and Dynamic Filters: A Novel Equivalence-Based Approach. Symmetry. 2024; 16(11):1501. https://doi.org/10.3390/sym16111501

Chicago/Turabian Style

Nelson, Joseph, Chungath Srinivasan, Anand R. Nair, and Lakshmy Koduvayur Viswanathan. 2024. "Generating Bent Functions and Dynamic Filters: A Novel Equivalence-Based Approach" Symmetry 16, no. 11: 1501. https://doi.org/10.3390/sym16111501

APA Style

Nelson, J., Srinivasan, C., Nair, A. R., & Koduvayur Viswanathan, L. (2024). Generating Bent Functions and Dynamic Filters: A Novel Equivalence-Based Approach. Symmetry, 16(11), 1501. https://doi.org/10.3390/sym16111501

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop