Abstract
In 2005, Guillot published a method for the construction of Boolean functions using linear codes through the Maiorana–McFarland construction of Boolean functions. In this work, we present a construction using Hermitian codes, starting from the classic Maiorana–McFarland construction. This new construction describes how the set of variables is divided into two complementary subspaces, one of these subspaces being a Hermitian Code. The ideal theoretical parameters of the Hermitian code are proposed to reach desirable values of the cryptographic properties of the constructed Boolean functions such as nonlinearity, resiliency order, and order of propagation. An extension of Guillot’s work is also made regarding parameters selection using algebraic geometric tools, including explicit examples.
1. Introduction
One of the major challenges and problems today is in confusion symmetric key algorithms, which depend heavily on good cryptographic properties of Boolean functions such as nonlinearity. For example, implementing a substitution box or S-box needs nonlinear Boolean functions to resist attacks such as linear and differential cryptanalysis. Searching for Boolean functions with desirable cryptographic properties has been difficult because the search space can be huge. There are different algorithms and algebraic and heuristic constructions that allow us to find this type of function; however, these techniques can be highly complex and difficult to implement, where the result does not produce a sufficient number of these types of functions.
In [1], the author presents a good relation between Boolean functions and codes. Furthermore, in [2], the construction of bijective S-boxes from quasi-cyclic codes was shown. In 2005, Guillot [3] presented an extension of the Maiorana–McFarland method for building Boolean functions with good cryptographic properties. The classical construction splits the set of variables into two separate subsets, with a decomposition of the complete working space into two complementary vector spaces being proposed. One of these spaces is considered as a linear code and its parameters assign cryptographic properties to the constructed Boolean function. The cryptographical properties we are interested in are nonlinearity, resiliency, and propagation. Building on such an idea, in [4], a methodology to construct Boolean functions from Guillot’s ideas was presented but, in this case, using Reed–Solomon codes. In this way, from the properties of the code, the cryptographic properties of the Boolean functions that will be generated with this methodology and the number of Boolean functions with similar properties can be obtained. In this work, we follow on the same ideas of [4], a new methodology is proposed for the construction of Boolean functions using Hermitian codes and thus extends the construction of four to one giving the appropriate parameters for it. It theoretically bases the desirable values of the Hermitian code parameters to balance cryptographic properties such as nonlinearity, resiliency order, and propagation order.
2. Preliminaries
2.1. Boolean Function
The mathematical tool that we mainly use in this work is the Walsh–Hadamard transform. Let , with , and be the n-dimensional vector space over the finite field . Given vectors a, , we define the inner product , and the sum , where inner product, ·, and addition, ⊕ (called XOR), are over . A Boolean function f in n variables is a map .The algebra of all Boolean functions on will be denoted by . The polar form , or sign function, of a Boolean function , is defined by .
2.2. Basic Definitions
For f a Boolean function, we call the support of f, and write , the set of vectors of whose image times f is 1, i.e., . If , we call the weight of f, and we write , to the number of 1s from its truth table; therefore . We say that a function is balanced if its truth table contains the same number of 0 as 1, i.e., if . We say that is an affine function if we can write it as for some and some . If , we say that f is a linear function. We denote the set of affine functions from to by . Let , we call the distance between f and g, and write , to the weight of the function , i.e., . We call nonlinearity of a function , and write , to the minimum of the distances between f and any affine function, i.e., .
Definition 1.
The Walsh–Hadamard transform of a function f in is an application , defined by
Theorem 1.
Let and be the Walsh–Hadamard transform. Let S be an arbitrary subspace of and let be the dual (annihilator) of S, i.e., . Then,
Theorem 2.
The Nonlinearity of f is determined by the Walsh–Hadamard transform of f, i.e.,
2.3. Cryptographic Properties of Boolean Functions
The following factors are important in the design of Boolean functions with good cryptographic properties [5,6,7]:
- Balance: An n-variables Boolean function, f, is said to be balanced if . Cryptographic Boolean functions must be balanced, i.e., for a uniformly random input string of bits, the probability of getting a 1 is .
- Nonlinearity: This property reduces the effect of linear cryptanalysis attacks. As discussed before, the nonlinearity of a Boolean function can be calculated directly from the Walsh–Hadamard transform (see Theorem 2).
- Algebraic Degree: A Boolean function f can be represented as a multivariable polynomial on . This polynomial is called the Algebraic Normal Form (ANF) of f.
- Correlation Immunity: A Boolean function of n-variables is said to have Correlation Immunity of order l if and only if , with . A Boolean function with order of Correlation Immunity l and balanced is called l-resilient. There is a fundamental relationship between the number of variables n, the algebraic degree d, and the order of Correlation Immunity l of a function: .
In addition, there are some other important properties of Boolean functions that are used in S-boxes, such as the following two:
- Propagation Criterion: A Boolean function has Propagation Criterion of order k, , if is balanced for all u with .
- Avalanche Effect: It is related to autocorrelation and is defined with respect to a specific input bit such that complementing it results in a change in the output bit with a probability of . The Strict Avalanche Criterion (SAC) requires the avalanche effects of all input bits. A Boolean function f is said to satisfy SAC if is balanced for all u with
2.4. Maiorana–McFarland Construction
A classic and well-known way of building Boolean functions is the Maiorana–McFarland (MM) class, which was created to obtain Bent functions. [8,9] and has also been extended to construct resistant functions [10,11]. For an integer, and , a decomposition into two complementary vector subspaces: E of dimension p and F of dimension . For any pair of maps and the Maiorana–McFarland (MM) construction defines a Boolean function f as follows:
We note the following: the map is defined on , but since is wrapped by an inner product with an F element, the value of f is invariant when is translated by any vector of . In this way, can be defined over the space , which is isomorphic to . Thus, for any dimensional vector subspace E of , the dual of E, denoted by , is the dimensional vector space of vectors that perpendicular to E, i.e., .
3. Concatenation
Let , with , and . Consider two codes, which we call outer code and inner code. Let C be the outer code with parameters , and let I be the inner code with parameters . The concatenation method [12,13] constructs a code F over out of a code over . The first step is to fix any isomorphism . Then,
The code F has parameters .
4. Goppa Codes
4.1. Basic Definitions
An algebraic function field of one variable over K is an extension field such that F is a finite algebraic extension of for some element , which is transcendental over K [14]. A place P of the function field is the maximal ideal of some valuation ring of , . A discrete valuation of is a function . The divisor group of is defined as the free abelian group generated by the places of . For a divisor we define the Riemann–Roch space associated to G by
It is well-known in the theory of error correcting codes that long block lengths, higher dimension, and a large minimum distance are necessary for the reliable transmission of information. Goppa codes provide a large family of codes with such properties. Let be an algebraic function field of genus g. Let , n places of degree 1 of F. We define the divisor , and let be a divisor such that . The Goppa code or algebraic code associated with the divisors D and G is defined as:
Note that all are defined in (), for , so . In this way, is simply the image of the space under the linear mapping evaluation
given by . This definition is analogous to the Reed–Solomon codes [15]. In fact, in the case of the Reed–Solomon code we have that ,
and
where . It follows that so, using the Riemann–Roch theorem
Now, let be such that . Then f has exactly zeros . The latter tells us that
where
So . Then is a code with parameters
4.2. Goppa Codes Example
Consider the following example, let and , here . We will use as our base field the finite field of order 4 where . Consider the function field with . The places of degree one in are: . We may build a Goppa code by defining the divisors as
and
The functions constitute a basis for . A generator matrix for the Goppa code associated with the divisors D and G is thus
and the generated code has parameters .
4.3. Hermitian Codes
Throughout this section q will be a prime power, K denotes the finite field and the function field with
is called the Hermitian function field [16].
Lemma 1
(See [16]). The Hermitian function field F has the following properties:
- (a)
- F has a genus ,
- (b)
- F has places of degree one over .
Proof.
We prove each of the properties of the Lemma as follows:
- (a)
- Because H is a nonsingular (see proof in [16]) plane curve of degree , it follows, by the Riemann–Hurwitz theorem, that .
- (b)
- Let be the common pole of x and y. Furthermore, for every , there are q elements such that , and with respect to all pairs there is a single place of degree one with and . Thus, we have points on the Hermitian curve, denoted by together with .
□
For each , we define the m-th Hermitian code on or AG code, whose parameters are .
Proposition 1.
An -base of , is given by
In particular, if we denote by the dimension of , we have .
Proof.
The elements form a basis for . In particular, for all places different from , we have where is the minimal polynomial of y over . Observe that is in for all places different from , therefore for all , we have that . Let . Because is the only pole of z, z is integral over for all , with , so with and has no poles other than . Therefore, is a polynomial in , i.e.,
with . The elements , for , have pairs of different pole order because , , with q and being relative primes; therefore, applying the strict triangle inequality, we have , therefore
□
Theorem 3.
Suppose that . Then
Proof.
See the proof in [16]. □
Observation: The Hermitian codes have as parameters .
4.4. Hermitian Code Example
Notice that the example in the previous section corresponds to an Hermitian function field. Here we present an example with . As before we will use as our base field, with . Again we consider the function field with . Recall that the places of degree one in are . To construct the Hermitian code we define the divisors as and . The functions constitute a basis for , therefore, a generator matrix G for the Goppa code associated with the divisors D and G is given by
The obtained code has parameters .
5. Constructing
Our proposal is determined by the order of resilience that we can and want to have in our Boolean function. As previously seen, the work fosters the basis of the Maiorana–McFarland construction. A complete description is made in [3,4].
Given a Hermitian code C with parameters , which for , its parameters can be written as . For the isomorphism we continue with what was formalized previously, taking I as the image set of by using a binary inner code with parameters . So the concatenated code F has parameters . For convenience, let us denote the parameters of F by . Without loss of generality, we assume our code F, which in turn will be our complementary subspace F, is systematic. The complementary subspace E will therefore have dimension and will be of the form .
One of the properties of Boolean functions that interests us is the Propagation Criterion; in his article, Guillot showed that a Boolean function has Propagation Criterion of order k if for the lateral class where , it holds that . In principle, because we want to find a Boolean function with , we must select an appropriate . Let L be a function in an Hermitian function field, a an element of . If it means that P is a zero of the function , and applying the natural map we have , or simply . So we are looking for a function , for some such that , preferably that those are its only zeros. So, function L is a linear combination of the functions of a basis for .
5.1. Construction of
For the construction of the required function L we rely on the Strong Approximation theorem, employing an idea that Henning gave us, which is the following: Suppose we want our to have t zeros in the first coordinates, here t is the dimension of the subspace F, we distinguish the following three cases:
Case 1: If , we choose different elements . Then the function L may be written as
and . We write . In this case L will have exactly different zeros, of degree one, so is a vector of weight less than or equal to .
Case 2: If , we write , with and , such that . We fix an element and we consider the set . Then , and we can select different elements . We select a subset . So, the function
has different zeros. As a next step, we choose j different elements with and we define now
then has zeros, which are distinct from the zeros of because for y . So, . Furthermore, let us define the set and . We redefine and we evaluate , which will give us a vector with zeros in the first coordinates.
Case 3: If , by assumption, is of polar order and . Case 2 there is a function with main divisor where and . The function has divisor , therefore, So the function . As we have shown so far, we redefined
Example
Take the case of the Hermitian curve over , the base subfield is composed of and where . The points on the curve are: .
Case 1: If and , then . Just take the first two elements of to build L such that . Then, .
Case 2: We take , such that . So, let us define the set B for (it is important to clarify that A is not defined because ). , and . Now, from B the first to form our function L, . We redefine such that and
Case 3: Let us assume , so and Case 2 applies but with , which we already have built from the previous example. Then, . Now . We redefine and thus . We define and redefine and therefore .
6. Construction of and h
Lemma 2.
If , we have that
Proof.
First, if , then all the addends are 1. Now, let us assume that , and consider the hyperplanes , . These hyperplanes generate a partition of . On the other hand, for any , the sum is 1, and for any , the sum is . Since the cardinalities of H and are the same, that is, , we have proven the Lemma. □
Theorem 4.
Given p and q with and , we define , and such that with and . In addition, we have the construction of MM, we define the Boolean function by , with . Let
Then has a resilience of order l with .
Proof.
Recall that a Boolean function has resilience of order l if , with . We have
since adding over y is always zero because by Definition 1 and using Lemma 2. So, is balanced. For any and any choice u with , we have
Since and , we obtain , so you add them over y are zero. So for all u with , therefore, f has resilience of order l. □
Theorem 5.
Let . Consider and . Then
where f has an MM construction.
Proof.
How have MM construction. We have the mappings: , with , and , and . By definition of Walsh–Hadamard transform, for any , where , and expression (8). Now, if , the sum on the right is and and it will be zero otherwise. So that,
In this way, . By the Theorem 2, we substitute
□
Theorem 6
([17]). Given such that , and any , let be the smallest q such that
then , i.e.,
To prove the above theorem, we need some lemmas. The following motto is well-known and we will omit its demonstration.
Lemma 3.
For , we have the following equality
Lemma 4.
For , we have the following inequality
Proof.
By Lemma 3, we have
Regrouping we have
□
Lemma 5.
If , then
Proof.
By the definition of ,
Then, for ,
□
Now, let us prove Theorem 6.
Proof.
If , then . So let us show that when . If , then there exists an such that . If , then , the proof is completed if .
□
6.1. One-to-One
Following the ideas presented in [4], we observe that we need to have all the values of available. For , we will construct the lateral class and compute the minimum weight of this class for each u. Let us store these weights in the set . In order to build one by one, we should have that , since we want our Boolean function to be balanced. To construct a Boolean function with a high resilience of -order, we must take care of the cardinality of . We then construct the image of , nonzero elements of , and we assign it randomly. Likewise, for , we randomly generate its values using any pseudo-random number generator.
Theorem 7.
For , the maximum nonlinearity of f is , and it can obtained if .
Proof.
By the definition of , t and q satisfy the following inequality:
or
The maximum of nonlinearity is obtained if q is the smallest value satisfying the previous equation. That is to say, □
Lemma 6.
Let be given as in Theorem 7. Then
Proof.
By the definition of ,
In this way
and
leading to
Since the right hand side of the above inequality is positive, □
Theorem 8.
Let , with , and let . Then the nonlinearity of f is
Proof.
The proof is simple, just substitute the value of in Theorem 7. □
Corollary 1.
If , and , then the upper bound of the correlation immunity order is
Proof.
Let us start with the fact that the Theorem 7 we had obtained that,
We substitute and we have
Recall a classic fact from statistics: If X is a random variable and has a binomial distribution, i.e., where n is the number of Bernoulli trials then,
If we have that , then
Thus we have that
If we assume the fact that we have that
That is, when , we have the desired inequality.
As . Recall that de Moivre showed that when certain conditions are met, a binomial distribution can be approximated to a normal distribution of mean and standard deviation , i.e., , where n is the sample size and . The goodness of the approximation is the better the larger and the closer is to of with a correction of because it is fitting a discrete distribution to a continuous one. We decided to give an approximation with the normal distribution i.e., , and we want to see which quartile satisfies that , and gives that . □
6.2. Two-to-One
In this case the methodology is different. We observe that we need to have all the values of for . We will build the lateral class , where the same lateral class is divided into two parts according to the linear function
We define and . We calculate the minimum weight of and , and denote them and , respectively. For each we determine and . If we want to construct a Boolean function -resilient, we need . Then we save u with this property, i.e., we save the pair , where corresponds to the fact where the maximum is reached in or . After that, we define the h function and call this set . It is clear that . With these elements of we will build the image of and the image of . As in the previous section, we must take care that the cardinality of .
Proposition 2.
The optimal value of l, when , is given by
Proof.
This happens due to the fact of the Theorem 5, since is two to one, . If we substitute this value in the results of Theorem 5 and in Lemma 5, we have that and □
Using part of the proof of Lemma 5, to estimate , as and , then , we had previously calculated , this implies that . If we take ,
Corollary 2.
If and , then the upper bound of the correlation immunity order is
Proof.
Following the procedure from the previous section to find a bound for the value of resilience using statistics and find the uneven from the binomial distribution. If X is a random variable and has a binomial distribution, i.e., where is the number of Bernoulli trials then,
We have
If we assume the fact that , we have that
i.e., when , we have the desired inequality, as .
We decided to give an approximation with the normal distribution , i.e., and we want to see which quartile satisfies that , and gives that . □
From the set , let us take exactly , and let none of them be the zero element to ensure the balance. We construct the image of in such a way that . The construction of h is carried out in such a way that the value of is random and the value of , the value is associated to the image value of . On the other hand, if the vector space F and the lateral class have minimum weight k, then f satisfies .
6.3. Four-to-One
We assume that is a four-to-one mapping, i.e., for any , the preimage contains exactly four elements. This implies that . We will first examine the Walsh–Hadamard Transform of f in such a case. Since any quartet is a two-dimensional affine subspace, the proposition is applicable. With the notation of the statement, is the vector space and for any ,
For convenience, we want to build a Boolean function as optimal as possible, so we will take the values in our opinion the most favorable and without losing generality, we have that the Walsh–Hadamard transform of f is expressed, for any and any , in the following way
We assume that our affine subspace is , where is of dimension two, for the construction of and h.
For , we construct the lateral class , the same lateral class is divided into two parts according to the linear functional
We define and . We calculate the minimum weight of and , we will denote it by and For each we determine and , if we want to construct a Boolean function -resilient, we need and also and . Then we save u with this property, i.e., we save the pair to define the function h later, we will call this set , it is clear that . With these elements of we will build the image of and the image of . As in the previous section, we must take care that the cardinality of .
Proposition 3.
The optimal value of l, when , is given by
Proof.
This happens due to the fact derived from Theorem 5, since is four-to-one, . If we substitute this value in the results of Theorem 5 and in Lemma 5, we have and
□
Using part of the proof from Lemma 5, to estimate , as and , then , we had previously calculated . This implies that , but we want , so for the inequality of Lemma 5, we will use . If we take and substitute, then we have
Corollary 3.
If and , then the upper bound of the correlation immunity order is given by
Proof.
Following the procedure from the previous construction to find a bound for the resilience value using statistics and find the uneven from the binomial distribution. If X is a random variable and has a binomial distribution, i.e., where is the number of Bernoulli trials then,
It remains that
If we assume the fact that we have that
i.e., when we have the desired inequality. Since
We decided to give an approximation with the normal distribution , i.e., , and we want to see which curtail satisfies that , and gives us that . □
From the set , let us take exactly , and let none of them be the zero element to ensure the balance. We construct the image of in such a way that . The construction of h is carried out in such a way that the values of and are random. The values of and , the value is associated with the value from the image of . As previously, if the vector space F and the lateral class have minimum weight k, then f satisfies .
6.4. Boolean Functions from
Let be a code with parameters
For our construction of Boolean functions, we will use a concatenated Hermitian code. Let , which is our outer code. Let I be the all even-weight codewords, then with parameters . After concatenation, we obtain a code F with parameters
We will use our code F as the main ingredient to the MM construction, obtaining a new family of Boolean functions, in variables.
7. Conclusions
In this work, the methodology for constructing Boolean functions from Hermitian codes using the MM construction has first been presented. Further, the way to build has been given from the Strong Approximation Theorem on a Hermitian field. Moreover, we have established the optimal parameters based on the dimension of the Hermitian code and, on this, adjust the value of resilience to build cryptographically strong Boolean functions. Furthermore, a complete description is made of what the parameters of the Hermitian code should be, in order to select the appropriate , and thus the much-desired Boolean functions. Desirable cryptographic properties given the chosen construct were carefully reviewed. We established what the optimal parameters are in order to find the Boolean functions according to the Hermitian code. Thus, it will be possible to know when the functions will be balanced and what propagation order criteria they will have; thus, it will be possible to know the order of nonlinearity and resilience.
Author Contributions
The author G.S.-G. worked on conceptualization, methodology, writing—original draft preparation, research, and formal analysis of the work. The author P.L.d.Á.R. did the formal analysis, writing—original draft preparation and supervision. The author O.P.-O. was dedicated to the part of visualization, software, validation, and writing—review and editing. The author H.K. worked on the methodology, writing—original draft preparation, research, and validation. The author E.J.M.-C. was dedicated to visualization, validation, and software. The author O.R. dedicated himself to the part of project administration, writing—review and editing, and supervision. All authors have read and agreed to the published version of the manuscript.
Funding
This research received no external funding.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Carlet, C. Boolean Functions for Cryptography and Error-Correcting Codes. Boolean Model. Methods Math. Comput. Sci. Eng. 2013, 2, 257–397. [Google Scholar] [CrossRef]
- Bikov, D.; Bouyukliev, I.; Bouyuklieva, S. Bijective S-boxes of different sizes obtained from quasi-cyclic codes. J. Algebra Comb. Discret. Struct. Appl. 2019, 6, 123–134. [Google Scholar] [CrossRef][Green Version]
- Guillot, P. Cryptographical Boolean Functions Construction From Linear Codes. In Proceedings of the BFCA’05 Conference, Rouen, France, 8–9 March 2005; pp. 1–14. [Google Scholar]
- Sosa-Gómez, G.; Paez-Osuna, O.; Rojas, O.; Madarro-Capó, E.J. A new family of boolean functions with good cryptographic properties. Axioms 2021, 10, 42. [Google Scholar] [CrossRef]
- Rodríguez, F. De la Búsqueda de Funciones Booleanas con Buenas Propiedades Criptográficas. México. 2007. Available online: Http://delta.cs.cinvestav.mx/~francisco/cajass.pdf (accessed on 28 May 2010).
- Behera, P.K.; Gangopadhyay, S. An improved hybrid genetic algorithm to construct balanced Boolean function with optimal cryptographic properties. Evol. Intell. 2021, 15, 1–15. [Google Scholar] [CrossRef]
- Wang, B.; Su, S. A New Construction of odd-variable Rotation symmetric Boolean functions with good cryptographic properties. Adv. Math. Commun. 2020, 16, 365–382. [Google Scholar] [CrossRef]
- Camion, P.; Carlet, C.; Charpin, P.; Sendrier, N. On Correlation-Immune Functions; Springer: Berlin/Heidelberg, Germany, 1991; Volume 91, pp. 86–100. [Google Scholar]
- Polujan, A.A.; Pott, A. Cubic bent functions outside the completed Maiorana-McFarland class. Des. Codes Cryptogr. 2020, 88, 1701–1722. [Google Scholar] [CrossRef]
- Dillon, J.F. Elementary Hadamard Difference Sets. Ph.D. Thesis, University of Maryland, College Park, MD, USA, 1975. [Google Scholar]
- Li, L.; Wang, L.; Zheng, D.; Zhao, Q. New construction methods on Multiple output Resilient Boolean Functions with High Nonlinearity. IEICE Trans. Fundam. Electron. Commun. Comput. Sci. 2021, 2, 87–92. [Google Scholar] [CrossRef]
- Forney, G.D. Concatenated Codes; Citeseer: Princeton, NJ, USA, 1966; Volume 11. [Google Scholar]
- Santhosh Kumar, P.; Raju, M.; Iqbul, M.A. Serial concatenated convolution codes for coded OFDM in digital audio broadcasting environment. In Proceedings of the International Conference on Intelligent Sustainable Systems, ICISS, Palladam, India, 21–22 February 2019; IEEE: Piscataway, NJ, USA, 2019; pp. 553–558. [Google Scholar] [CrossRef]
- Kumar, P. Algebraic Function Fields and Codes; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2005; Volume 42, p. 676. [Google Scholar] [CrossRef]
- Gao, Y.; Yue, Q.; Huang, X.; Zhang, J. Hulls of Generalized Reed-Solomon Codes via Goppa Codes and Their Applications to Quantum Codes. IEEE Trans. Inf. Theory 2021, 67, 6619–6626. [Google Scholar] [CrossRef]
- Stichtenoth, H. A Note on Hermitian Codes Over GF(q2). IEEE Trans. Inf. Theory 1988, 34, 1345–1348. [Google Scholar] [CrossRef]
- Chee, S.; Lee, S.; Lee, D.; Sung, S.H. On the correlation immune functions and their nonlinearity. In Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Springer: Berlin/Heidelberg, Germany, 1996; Volume 1163, pp. 232–243. [Google Scholar] [CrossRef]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).