Cubic power functions with optimal second-order differential uniformity
Connor O'Reilly Ana Sălăgean


§ ABSTRACT 
We discuss the second-order differential uniformity of vectorial Boolean functions, a relevant cryptographic property due to indication of resistance to the boomerang attack. First, we discuss connections with the second-order zero differential uniformity and its recent literature. We then prove the optimality of monomial functions with univariate form x^d where d=2^2k+2^k+1 and (k,n)=1, and begin work towards generalising such conditions to all monomial functions of algebraic degree 3. Finally, we discuss further questions arising from computational results.



94D10 (Primary) 11T06, 94A60 (Secondary)
Dynamics of Small Solid Particles on Substrates of Arbitrary Topography
    [
    September 9, 2024
=======================================================================







§ INTRODUCTION AND BACKGROUND


Boolean functions can be understood as mathematical functions that model transformations on bit-strings, and have wide usage across theoretical computer science, primarily in the subjects of coding theory, and cryptography. Extensive coverage of the application of Boolean functions in cryptography and coding theory is provided in carlet2021book, cusick2009cryptographic. Boolean functions have historically been used in the construction of stream ciphers, pseudorandom generators, and block ciphers. In particular, the S-boxes in the Data Encryption Standard (DES) and Advanced Encryption Standard (AES) ciphers can be described using Boolean functions <cit.>. The difficulty lies in choosing a “secure” Boolean function (or multiple) in the construction of these ciphers in order to provide resistance against attacks.

One well-studied attack on cryptosystems is the differential attack, introduced by <cit.>. For a Boolean function to be resistant to a differential attack, it must satisfy a criterion equivalent to the outputs of the derivative D_af being as uniformly distributed as possible <cit.>*Ch. 3.4.1, or equivalently, having minimal differential uniformity nyberg1993differential, nyberg1993provable. This motivates the extensive study of perfect nonlinear and APN functions, as explained in Section <ref>.

The Boomerang attack is a variation of a differential attack, initially introduced in <cit.>. This method has an advantage over previously-known differential attacks, in that it beats a bound on the minimum number of texts required to break a cipher in some cases. This disproved a common belief, known in <cit.> as a “folk theorem”, leading to some aspects in the design of previous ciphers. Since then, many variations of the attack have been introduced, notably <cit.>.

The main direction to-date in studying resistance to this attack is to generalise the differential uniformity to the second-order derivative of the chosen Boolean function. In <cit.>, the Boomerang Connectivity Table (BCT) was introduced to measure the resistance of an S-box to the differential attack. However, this table does not address the case of Feistel ciphers, and thus later, in <cit.>, the Feistel Boomerang Connectivity Table (FBCT) was introduced for this purpose. More recently, there has been a focus on the second-order zero differential spectra and the second-order zero differential uniformity, which is defined as follows. We note that the authors of <cit.> originally call this the second-order differential spectra, but we include the term "zero" to avoid confusion with the second-order differential uniformity we work with in later sections.


    Given f: _p^n→_p^n, and a,b∈_p^n, we define the second-order zero differential spectra of f with respect to a,b as:
    
    ∇_f(a,b)=|{x∈_p^n :  f(x+a+b)-f(x+a)-f(x+b)+f(x)=0}|.

    If p=2, we define the second-order zero differential uniformity of f as:
    
    ∇_f = max{∇_f(a,b)  :  a ≠ b, a,b ≠ 0}.

    If p>2, then we define the second-order zero differential uniformity of f as:
    
    ∇_f = max{∇_f(a,b)  :  a,b≠ 0}.



This notion extends the Feistel Boomerang Connectivity Table to Boolean functions over odd characteristic fields; indeed the definitions of the Feistel Boomerang uniformity and the second-order zero differential uniformity are identical for p=2. There have been a number of results on the second-order zero differential spectra of various classes of functions. We provide a full list of studied power functions in Table <ref>, along with their second-order zero differential uniformity, denoted by ∇_f. We note that, while we do not list them, full descriptions of the second-order zero differential spectra for each table entry can be found in the respective citations provided.



Our approach follows the definition of the second-order differential uniformity provided in <cit.>, which we feel most naturally extends the definition of the differential uniformity. Our key result provides a new class of power functions with optimal second-order differential uniformity, namely the functions f:_2^n→_2^n given by f(x)=x^d, where d=2^2k+2^k+1, and (k,n)=1. We note that the second-order zero differential uniformity and second-order differential uniformity are equivalent for cubic Boolean functions, as the second derivatives appearing in both cases are affine. As such, many of the studied functions listed in Table <ref> are relevant here, and our results are directly relevant to the study of the second-order zero differential uniformity.

This paper is structured as follows. In Section <ref>, we discuss preliminaries of polynomials in finite fields, Boolean functions, and differential uniformity. In Section <ref>, we discuss a class of power functions of algebraic degree 3 and provide explicit values of the second-order differential uniformity in all cases. In Section <ref>, we discuss algebraic degree 3 power functions in the general case, and provide conditions for optimal second-order differential uniformity. Finally, we conclude in Section <ref> by discussing further questions arising from computational results.





§ PRELIMINARIES




 §.§ Notation


We use p to denote a prime, and q to denote a prime power. We then denote by _q the finite field containing q elements, and by _q the non-zero elements of _q^*. Most commonly, we choose p=2, q=2^n for some n∈, and write _2^n. Similarly, we denote by _p^n the vector space of dimension n over the field _p and, most commonly choosing p=2, write _2^n. We use the convention ={1,2,3,…}, i.e. not including 0. 



 §.§ Boolean functions


Given n,m∈, a Boolean function f is a function f: _2^n→_2, and a vectorial Boolean function is a function g: _2^n→_2^m <cit.>. Note that we can always write g(x)=(f_1(x), …, f_m(x)) for some Boolean functions f_1,…, f_m, which we refer to as the coordinate functions of f. We commonly refer to vectorial Boolean functions as, simply, Boolean functions, and consider a Boolean function f: _2^n→_2 as a specific case with m=1. In this work, we will always consider Boolean functions with respect to affine equivalence. For the following definitions and further information, we refer to <cit.>.

    Given two Boolean functions f,g: _2^n →_2^m, we say that f,g are affine equivalent if there exists some affine automorphims L_1, L_2 of _2^n, _2^m respectively, such that f=L_2∘ g∘ L_1.


We will often refer to the algebraic degree of a Boolean function.

    The algebraic normal form, or ANF, of a given Boolean function f: _2^n→_2 is the unique representation given by:

    f(x)=∑_I⊆{1,…,n} a_I ( ∏_i∈ I x_i) = ∑_I⊆supp(x)a_I

where a_I∈_2, and x=(x_1,…, x_n).


    The degree of the ANF of a Boolean function f is denoted by d_algf, and is called the algebraic degree of f.

Note that a Boolean function is known as cubic when it has algebraic degree less than or equal to 3. We now extend these definitions to vectorial Boolean functions.

    Given a vectorial Boolean function f: _2^n →_2^m, the ANF of f is then:

    f(x) = ∑_I⊆{1,…,n} a_I ( ∏_i∈ I x_i) = ∑_I⊆supp(x)a_I

where a_I∈_2^m, and x=(x_1,…, x_n). The algebraic degree of f is then given by:

    d_algf=max{| I | :  I ⊆{1,…, n}, a_I ≠ 0}

i.e., the maximal algebraic degree of the coordinate functions of f.


We can equivalently write any (vectorial) Boolean function with n=m uniquely as a map f: _2^n→_2^n, in the form:

    f(x)=∑_i=0^2^n-1δ_i x^i

where δ_i ∈_2^n, via the isomorphism between _2^n and _2^n.

When we write a Boolean function in the form of <ref>, we say it is in multivariate form, and when we write it in the form of <ref>, we say it is in univariate form. We will primarily work with Boolean functions in univariate form from here.



 §.§ Linearised polynomials


Due to <cit.>*Thm. 4.3, linearised polynomials form a key element in the study of the second-order differential uniformity of Boolean functions.


    A polynomial of the form:
    
    L(x)=∑_i=0^mα_ix^p^i,

    where α_i∈_p^n and p a prime, is called a p-polynomial over _p^n. If the value of p is fixed or clear from context, L may also be called a linearised polynomial.


Note that the term linearised comes from the fact that the polynomial L can be considered as a linear operator over _p^n.


    Let R be a commutative ring of characteristic p. Then for all a,b∈ R:
    
    (a+b)^p^n=a^p^n+b^p^n, and  (a-b)^p^n=a^p^n-b^p^n





 §.§ Differential uniformity


We begin with the following key definitions.


    Given finite Abelian groups (G_1, +) and (G_2, +), some function f: G_1 → G_2, and a∈ G_1^*, we define the discrete derivative of f in direction a by:
    
    D_af(x)= f(x+a)-f(x).

Moreover, if f: G → G for a group (G,+), given a_i ∈ G^* for i=1,…, k, we denote repeated differentiation in directions a_i by:
    
    D_a_1, a_2, …, a_k^(k) f(x) = D_a_1D_a_2⋯ D_a_kf(x).


Note that applying the discrete derivative to a Boolean function always reduces the algebraic degree by at least 1 <cit.>.

We can then define the differential uniformity of a given Boolean function.

    Let G_1 and G_2 be finite Abelian groups. Then f: G_1 → G_2 is called differentially δ-uniform if, for every non-zero a∈ G_1 and b∈ G_2, the equation D_af(x)=b has at most δ solutions in G_1. The minimum such δ is denoted by δ_f and is called the differential uniformity of f.


We often consider differentiation in the group (_p^n, +). Functions of optimal differential uniformity are known as perfect nonlinear functions.

    We say that a function f: _p^n→_p^n is perfect nonlinear if it is differentially 1-uniform.


Note that, when p=2, for any a we have D_af(x) = D_af(x+a). As such in this case, the function D_af can be at best 2-to-1, so f can be at best differentially 2-uniform.


    We say that a function f: _2^n→_2^n is almost perfect nonlinear, or APN, if the function D_af is 2-to-1 for every a∈_2^n^*, i.e., |{ D_af(x)  : x∈_2^n}| =2^n-1 for all a≠ 0.


We briefly mention the paper <cit.>, which studies the distribution of the second-order derivative of polynomials over _2^n. They first define the second-order differential uniformity as:

    δ^2(f)=max_a≠ a'∈_2^n^*, b∈ F_2^n|{x∈_2^n :  D^(2)_a,a'f(x)=b}|.


Note that an equivalent definition is given recently in <cit.>, referred to as the double differential uniformity. The definition we use in the following work matches these definitions, with altered notation.


    Given n∈, let f: _2^n→_2^n be a Boolean function. Then we say that f has second-order differential uniformity ∇_f if ∇_f is the least integer such that, for every a,b∈_2^n^*, a≠ b, and every c∈_2^n, the equation D_a,b^(2)f(x)=c has at most ∇_f solutions, i.e.,
    
    ∇_f=max_a≠ b∈_2^n^*, c∈ F_2^n|{x∈_2^n :  D^(2)_a,bf(x)=c}|.



Note that we always have:

    D_a,b^(2)f(x)=D_a,b^(2)f(x+a)=D_a,b^(2)f(x+b)=D_a,b^(2)f(x+a+b),

and thus for any Boolean function f, we have ∇_f≥ 4. Moreover, ∇_f is always a multiple of 4.

    Given n∈, let f: _2^n→_2^n be a Boolean function. We say that f has optimal second-order differential uniformity if ∇_f=4.


Note that the second-order differential uniformity is an affine invariant.





§ POWER FUNCTIONS WITH EXPONENT 2/2K+2/K+1


We first consider a particular class of power functions, and give results on its second-order differential uniformity in all cases. We note similarity to the well-studied Bracken-Leander functions <cit.>, but without the restriction n=4k.

        Let k,n∈ satisfy (k,n)=1. Then the Boolean function f: _2^n→_2^n given by f(x)= x^2^2k+2^k+1 has optimal second-order differential uniformity.


    By <cit.>*Prop. 7, it is equivalent to consider only the derivatives D_1,c^(2)f, where c∈_2^n^*. Let q=2^k. We then have:
    
    D_1,c^(2)f(x)    =x^q^2+q+1 + (x+c)^q^2+q+1 + (x+1)^q^2+q+1 + (x+c+1)^q^2+q+1
       = x^q^2+q+1 + (x+c)(x^q^2+c^q^2)(x^q+c^q)+(x+1)(x^q^2+1)(x^q+1)
          +(x+c+1)(x^q^2+c^q^2+1)(x^q+c^q+1)
         ⋮
       = x^q^2(c^q+c) + x^q(c^q^2+c)+x(c^q^2+c^q)
          + c^q^2+q + c^q^2+1 + c^q^2 + c^q+1 + c^q + c

    Suppose there exists x,y such that D_1,c^(2)f(x)= D_1,c^(2)f(y). Then defining z=x+y we have:
    
    0    = z^q^2(c^q+c) + z^q(c^q^2+c)+z(c^q^2+c^q).

    Clearly, we have solutions for z∈{0,1}, so assume z∉{0,1}. As c∉{ 0,1} and (k,n)=1, we have c^q^2≠ c^q, c^q^2≠ c, and c^q ≠ c. We then have:
    
    c^q^2+c^q/c^q+c   = (c^q+c)^q/c^q+c = (c^q+c)^q-1,

    and thus:
    
    c^q^2+c/c^q+c   = c^q^2+c^q+c^q+c/c^q+c=c^q^2+c^q/c^q+c + 1= (c^q+c)^q-1 + 1.

    Dividing <ref> by (c^q+c), from <ref> and <ref> we have:
    
    0    = z^q^2 + z^q((c^q+c)^q-1 + 1)+z(c^q+c)^q-1
    
            0    = z^q^2 + z^q + z^q(c^q+c)^q-1 + z(c^q+c)^q-1
    
            0    = (z^q + z)^q + (z^q + z) (c^q+c)^q-1
    
            0    = (z^q + z)^q-1 + (c^q+c)^q-1
     1    = (z^q + z/c^q + c)^q-1.

    and thus:
    
    z^q + z    = c^q + c
    
            z^q + c^q    = z + c
    
            (z+c)^q    = z + c

    which implies z+c ∈{0,1}. Thus the only solutions are z∈{0,1,c,1+c}, so D_1,c^(2)f is 4-to-1. As this holds for all c∈_2^n^*, we have ∇_f=4.


        Let k,n∈ satisfy (k,n)>1. Then the Boolean function f: _2^n→_2^n given by f(x)= x^2^2k+2^k+1 has maximal second-order differential uniformity, i.e., second-order differential uniformity 2^n.


    From <ref>, we have:
    
    0    = z^q^2(c^q+c) + z^q(c^q^2+c)+z(c^q^2+c^q).

    where q=2^k. As (k,n)=u>1, we have that _2^u is a subfield of _2^n. Thus whenever c∈_2^u∖{0,1} we have c^q^2=c^q=c, so choosing any such c we have that <ref> holds for all z. As such, D_1,c^(2)f(0)= D_1,c^(2)f(0+z) for all z ∈_2^n, so f has second-order differential uniformity 2^n.

Combining the above, we find the following result.

    Given k,n∈, define the Boolean function f: _2^n→_2^n by f(x)= x^2^2k+2^k+1. Then f has optimal second-order uniformity if and only if (k,n)=1. Otherwise, f has second-order uniformity 2^n.


    By Proposition <ref>, we have that (k,n)>1 implies that f is not optimal, and so by the contrapositive, we have that f being optimal implies (k,n)=1. Along with Theorem <ref>, this completes the if and only if statement. The second statement is exactly Proposition <ref>.

Note that f having second-order uniformity 2^n does not provide information on the exact value of (k,n).





§ GENERAL CUBIC MONOMIALS


We now discuss power functions of algebraic degree 3 in the general case. The following is a necessary condition for optimality resembling the contrapositive of Proposition <ref> used in the proof of Theorem <ref>. 


    Let i,j,n∈, 0<i<j<n, j≠ 2i, and define the Boolean function f: _2^n→_2^n given by f(x)= x^2^j+2^i+1. Suppose f has optimal second-order differential uniformity. Then if n is odd, we have (i,n)= (j,n)=(j-i,n)=1. If n is even, then one of these equals to 2, and the others equal to 1.


    Let c∈_2^n^* such that c≠ 1. Then we have:
    
    D_1,c^(2)f(x)   = x^2^j+2^i+1+(x+1)^2^j+2^i+1+(x+c)^2^j+2^i+1+(x+1+c)^2^j+2^i+1
       = x^2^j+2^i+1 + (x+1)(x^2^i+1)(x^2^j+1)+(x+c)(x^2^i+c^2^i)(x^2^j+c^2^j)
          +(x+1+c)(x^2^i+1+c^2^i+1)(x^2^j+1+c^2^j+1)
         ⋮
       = x(c^2^j+c^2^i)+x^2^i(c^2^j+c)+x^2^j(c^2^i+c)
          + (c^2^j+c^2^i+1)+(c^2^i+c^2^j+1)+(c^2^i+2^j+c).

    Then as f is optimal, for each fixed x there exist exactly four elements y such that D_1,c^(2)f(x)= D_1,c^(2)f(y). Defining z=x+y, we have:
    
    0   = z(c^2^j+c^2^i)+z^2^i(c^2^j+c)+z^2^j(c^2^i+c)
       = z(c^2^j+c^2^i)+z^2^i(c^2^j+c^2^i+c^2^i+c)+z^2^j(c^2^i+c)
       = (z+z^2^i)(c^2^j+c^2^i)+(z^2^j+z^2^i)(c^2^i+c).

    and similarly:
    
    0   = (z+z^2^j)(c^2^j+c^2^i)+(z^2^j+z^2^i)(c^2^j+c),  and
    
            0   = (z+z^2^j)(c^2^i+c)+(z+z^2^i)(c^2^j+c).

    Firstly, suppose (i,n)≥ 3. Then there would exist c∈_2^(i,n)⊆_2^n, c≠ 0,1, such that c^2^i+c= 0. Then, from Equation <ref>, we have:
    
    0   = (z+z^2^i)(c^2^j+c^2^i)

    for at most 4 solutions. But there exist at least 8 elements z∈_2^(i,n), contradicting f being optimal. As such, we must have (i,n)≤ 2. Similarly, by Equation <ref> we must have (j,n)≤ 2, and by Equation <ref> we must have (j-i,n)≤ 2. Note then that if n is odd, we have (i,n)=(j,n)=(j-i,n)=1. This proves the first statement.

    Assume now that n is even, and that (i,n)=2, i.e. i is even also. Again, there would exist c∈_2^(i,n)⊆_2^n, c≠ 0,1, such that c^2^i+c= 0, and from Equations <ref> and <ref>, we have:
    
    0   = (z+z^2^i)(c^2^j+c^2^i) , and
    
            0   = (z+z^2^i)(c^2^j+c).

    As f is optimal, we must have c^2^j-i≠ c and c^2^j≠ c for all c∈_2^(i,n) (otherwise these equations would hold for all z for some c). As such, we must have c∉_2^j∩_2^n and c∉_2^j-i∩_2^n. The case c∉_2^j∩_2^n requires either _2^j⊈_2^n or _2^(i,n)⊈_2^j, i.e. either (j,n)=1 or ((i,n),j)=(i,j,n)=1. If (i,j,n)=1, we must have that j is odd, and so (j,n)≠ 2, so (j,n)=1. Similarly, from c∉_2^j-i∩_2^n we see that (j-i,n)=1.
    
    Similarly, beginning with the assumption that (j,n)=2 implies that (i,n)=1=(j-i,n), and assuming (j-i,n)=2 implies (i,n)=1=(j,n).

    Conversely, assume (i,n)=1=(j,n). Then i,j are odd, so j-i is even, so (j-i,n)=2. Similarly, (i,n)=1=(j-i,n) implies (j,n)=2, and (j,n)=1=(j-i,n) implies (i,n)=2. This concludes the proof of the second statement.    


We note that the converse is generally false. For example, d=11 for n=7,8 satisfies the result, but was computed to have second-order differential uniformity 8 in both cases.

The next result leads to a sufficient condition for a general power function of algebraic degree 3 to be affine equivalent to a Boolean function of the form discussed in Theorem <ref>.

    Let i,j,n∈, 0<i<j<n, and define the function f: _2^n→_2^n given by f(x)= x^2^j+2^i+1. Then if j≡ 2i, or i≡ 2j, or i+j≡ 0 n, there exists k such that f is affine equivalent to g(x)= x^2^2k+2^k+1.


    If j≡ 2i n, we have j=2i as i,j<n, and so f=g for k=i, and we are done. If i ≡ 2j n, define k=j-i, and define A(x)=x^2^2k. Then:
    
    A(f(x))   =  (x^2^j+2^i+1)^2^2k
       = x^2^3j-2i+2^2j-i+2^2k
       =x^2^k2^2j-i+2^2j-i+2^2k
       =x^2^2k+2^k+1
       =g(x).

    Note that the fourth equality holds as 2^2j-i≡ 1 (mod 2^n-1). Finally, if i+j≡ 0 n, define k=i, and define A(x)=x^2^k. Then:
    
    A(f(x))   =  (x^2^j+2^i+1)^2^k
       =x^2^i+j+2^2i+2^i
       =x^2^2k+2^k+1
       =g(x). *


Together with Theorem <ref>, this provides the following classes of Boolean functions with optimal second-order differential uniformity.

    Let i,j,n∈, 0<i<j<n, and define the function f: _2^n→_2^n given by f(x)= x^2^j+2^i+1. Then if either:
    
        
  * j≡ 2in, with (i,n)=1, or
        
  * 2j≡ in, with (j-i,n)=1, or
        
  * j≡ -in, with (i,n)=1,
    
    the function f has optimal second-order differential uniformity.







§ EXPERIMENTAL RESULTS

To conclude, we provide topics for further investigation arising from computational data. We computed all optimal power functions of the form f:_2^n→_2^n, f(x)=x^d, for 4≤ n≤ 20. Noting that x^d is affine equivalent to x^2^id for all i, we consider exponents up to this transformation. Discussing the data, we make the following key observations.

We found exactly two exponents of algebraic degree 4, d=15,85 at n=5,10 respectively. Observe that these exponents are of the form d=2^3k+2^2k+2^k+1 for k=1,2. Notably, d=585, corresponding to k=3 was computed to have second-order differential uniformity 8 for n=15.

All other computed optimal exponents are of algebraic degree 3. Every computed optimal cubic exponent was of the form d=2^2k+2^k+1 for some k satisfying (k,n)=1 (up to the aforementioned transformation). In other words, every computed optimal cubic exponent is of the form described in Theorem <ref>. 





