A New Family of Boolean Functions with Good Cryptographic Properties
Total Page:16
File Type:pdf, Size:1020Kb
axioms Article A New Family of Boolean Functions with Good Cryptographic Properties Guillermo Sosa-Gómez 1,* , Octavio Paez-Osuna 2 , Omar Rojas 1 and Evaristo José Madarro-Capó 3 1 Facultad de Ciencias Económicas y Empresariales, Universidad Panamericana, Álvaro del Portillo 49, Zapopan, Jalisco 45010, Mexico; [email protected] 2 Ronin Institute, Montclair, NJ 07043, USA; [email protected] 3 Institute of Cryptography, University of Havana, Havana 10400, Cuba; [email protected] * Correspondence: [email protected]; Tel.: +52-3313682200 Abstract: In 2005, Philippe Guillot presented a new construction of Boolean functions using linear codes as an extension of the Maiorana–McFarland’s (MM) construction of bent functions. In this paper, we study a new family of Boolean functions with cryptographically strong properties, such as non- linearity, propagation criterion, resiliency, and balance. The construction of cryptographically strong Boolean functions is a daunting task, and there is currently a wide range of algebraic techniques and heuristics for constructing such functions; however, these methods can be complex, computationally difficult to implement, and not always produce a sufficient variety of functions. We present in this paper a construction of Boolean functions using algebraic codes following Guillot’s work. Keywords: resilient; boolean function; Hadamard; cryptography; non-linearity MSC: 06E30; 94C10 Citation: Sosa-Gómez, G.; Paez-Osuna, O.; Rojas, O.; Madarro-Capó, E.J. A New Family of 1. Introduction Boolean Functions with Good In today’s society, there is a dependency-based communications security for financial Cryptographic Properties. Axioms transactions [1], telematic services, and telephony networks. Each day, new challenges 2021, 10, 42. https://doi.org/ arise for the protection of sensitive information from unauthorized entities. Cryptosystems 10.3390/axioms10020042 are divided into two main types: symmetric and asymmetric ciphers [2]. Symmetric cryptosystems are classified in two families: block ciphers and stream ciphers. A Academic Editor: Javier Fernandez fundamental piece of many symmetric ciphers are Boolean functions [3] used, for example, in internal state S-boxes. For example, the well known DES block cipher uses 6 input bits Received: 9 February 2021 and 4 output bits [4] and stream ciphers, like Mickey and Sosemanuk, in the eSTREAM Accepted: 22 March 2021 final round portfolio [5]. Published: 25 March 2021 Symmetric ciphers are classified, generally, in block cipher and stream cipher and a fundamental piece in the design of both type of ciphers are Boolean functions [3]. Block Publisher’s Note: MDPI stays neutral ciphers include Boolean functions as component function of internal state non-linear with regard to jurisdictional claims in published maps and institutional Vectorial function, called S-boxes [4], while stream ciphers that are feedback shift register affiliations. based used them as non-linear combination, non-linear filtering, or irregular clock-control [5]. In a symmetric cipher system, one seeks cryptographically strong Boolean functions that can be of practical use and resistant to different kinds of attacks that have appeared over the years (differential attack, linear attack, correlation attack, algebraic attack, etc.). Copyright: c 2021 by the authors. Boolean functions appear in various scientific disciplines, including Coding Theory, Licensee MDPI, Basel, Switzerland. This Combinatorics, Complexity Theory, Cryptography, and Graphic Theory, among others. article is an open access article distributed under the terms and conditions of the In Cryptography, the design and analysis of Boolean functions that possess specific Creative Commons Attribution (CC BY) properties has often being the focus of attention. A productive field of research for most of license (https://creativecommons.org/ these cryptographic properties is the Walsh-Hadamard spectrum, one of the most widely licenses/by/ 4.0/). used representations of the Boolean function. Axioms 2021, 10, 42. https://doi.org/10.3390/axioms10020042 https://www.mdpi.com/journal/axioms Axioms 2021, 10, 42 2 of 10 The construction of cryptographically strong Boolean functions is a daunting task, and there is currently a wide range of algebraic techniques and heuristics for constructing such functions; however, these methods can be complex, computationally difficult to implement, and not always produce a sufficient variety of functions. We present in this paper a construction of Boolean functions using algebraic codes following Guillot’s work. 2. Preliminaries n Here, we follow Reference [6]. Let F2 be the binary vector space of dimension n over n the Galois field of two elements F2. Given two vectors a,b 2 F2 , we define the scalar product as a · b = (a1b1 ⊕ ... ⊕ anbn), and the sum as a ⊕ b = (a1 ⊕ b1,..., an ⊕ bn), where the product and sum ⊕ (also called XOR) are over F2. An n-variable Boolean function f is a mapping n f : F2 −! F2. We will denote by Bn the set of all Boolean functions of n variables. The set Bn is a vector space over F2 with the addition ⊕ defined by ( f ⊕ g)(x) = f (x) ⊕ g(x), n ˆ n for any f , g 2 Bn and any x 2 F2 . The polar form f : F2 −! R, or sign function, of a Boolean function f 2 Bn, is defined by ( ) fˆ(x) = (−1) f x . n The truth table of a Boolean function f is the vector, indexed by the elements of F2 (in lexicographical order), ( f (0¯), f (1¯),..., f (2n − 1)), where 0¯ = (0, ... , 0, 0), 1¯ = (0, ... , 0, 1), ... , 2n − 1 = (1, ... , 1, 1). The polar truth table of f is the (1, −1) sequence defined by (¯) ( n− ) (−1) f 0 ,..., (−1) f 2 1 . n The support f , denoted by Supp( f ), is the set of vectors in F2 in which the image under f is 1, i.e., n Supp( f ) = fx 2 F2 j f (x) = 1g. The weight of a Boolean function f 2 Bn, denoted by w( f ), is the cardinality of its support, i.e., w( f ) = jSupp( f )j. We will say that a function f 2 Bn is balanced if w( f ) = 2n−1, i.e., if the truth table of f contains the same number of 0 and 1. This property is desirable in a Boolean function to resist differential attacks, such as those introduced by Shamir against the DES algorithm [7]. A Boolean function f 2 Bn is called affine if we can write it as f (x) = ha, xi ⊕ b, n for some a 2 F2 and b 2 F2. If b = 0, we say that f is a linear function. The set of affine functions will be denoted by An. Let f , g 2 Bn. The distance, d( f , g), between f and g, is the weight of the function f ⊕ g, i.e., d( f , g) = w( f ⊕ g). Axioms 2021, 10, 42 3 of 10 The non-linearity of a Boolean function f 2 Bn, denoted by N f , is the minimum distance between f and the set of affine functions An, i.e., N f = minfd( f , j) j j 2 Ang. A high non-linearity is desired to reduce the effect of linear cryptanalysis attacks [8]. n A Boolean function in F2 can be expressed uniquely as a polynomial in 2 2 F2[x1,..., xn]/ x1 ⊕ x1,..., xn ⊕ xn , through its Algebraic Normal Form (ANF) ( ) = a1 ··· an f x ∑ cax1 xn , (1) n a2F2 where ca 2 F2, and a = (a1, ... , an), with ca = ∑x≤a f (x), where x ≤ a means that xi ≤ ai, for all 1 ≤ i ≤ n, i.e., ca = g(a1, ... , an), and g is a function in Bn called the Möbius Transform of f , denoted by g = m( f ). The Algebraic Degree of a Boolean function f is the degree of its ANF. It follows that the algebraic degree of f 2 Bn does not exceed n, that is, is the number of variables in the highest order term with non-zero coefficient. n n The Walsh-Hadamard Transform of a function f in F2 is the mapping H( f ) : F2 ! R, defined by H( f )(h) = ∑ f (x)(−1)h·x. (2) n x2F2 n ? Let f 2 Bn be a Boolean function, and let S be an arbitrary subspace of F2 and S the dual (annihilator) of S, i.e., ? n S = fx 2 F2 : x · s = 0, 8s 2 Sg, then ∑ H( f )(u) = 2dimS ∑ f (u). (3) u2S u2S? From the definition of the Walsh-Hadamard Transform, it follows that H( fˆ)(u) equals the number of zeros minus the number of ones in the binary vector f ⊕ lu(lu 2 An and n lu(v) = ∑i=1 uivi) such that n ˆ n H( f )(u) = 2 − 2d( f , ∑ uivi), (4) i=1 n 1 n ˆ d( f , ∑ uivi) = (2 − H( f )(u)), (5) i=1 2 n 1 n ˆ d( f , 1 ⊕ ∑ uivi) = (2 + H( f )(u)). (6) i=1 2 We summarize these results in the following Theorem 1. The non-linearity f is determined by the Walsh-Hadamard Transform of f , i.e., n−1 1 ˆ N f = 2 − max jH( f )(u)j. (7) 2 n u2F2 Proof. See proof in Reference [9]. Axioms 2021, 10, 42 4 of 10 In what follows, we summarize some factors which are important in the design of Boolean functions with good cryptographic properties [10]. An n-variable Boolean function is said to have correlation immunity of order m if and only if H( fˆ)(u) = 0, with 1 ≤ w(u) ≤ m. A Boolean function with correlation immunity of order m and balanced is called m-resilient. The fundamental relationship between the number of variables n, the algebraic degree d, and the order of correlation immunity m of a Boolean function is m + d ≤ n; see Reference [11]. The autocorrelation function r fˆ(s) of a Boolean function f is defined from its polar representation as ( ) = ˆ( ) ˆ( ⊕ ) r fˆ s ∑ f x f x s .