Abstract
Multiplicative complexity (MC) is defined as the minimum number of AND gates required to implement a function with a circuit over the basis (AND, XOR, NOT). Boolean functions with MC 1 and 2 have been characterized in Fischer and Peralta (2002), and Find et al. (2017), respectively. In this work, we identify the affine equivalence classes for functions with MC 3 and 4. In order to achieve this, we utilize the notion of the dimension dim(f) of a Boolean function in relation to its linearity dimension, and provide a new lower bound suggesting that the multiplicative complexity of f is at least [dim(f)/2]. For MC 3, this implies that there are no equivalence classes other than those 24 identified in Çalık et al. (2018). Using the techniques from Çalık et al. and the new relation between the dimension and MC, we identify all 1277 equivalence classes having MC 4. We also provide a closed formula for the number of n-variable functions with MC 3 and 4. These results allow us to construct AND-optimal circuits for Boolean functions that have MC 4 or less, independent of the number of variables they are defined on.
Keywords: Affine equivalence, Boolean functions, Multiplicative complexity
1. Introduction
In cryptographic protocols such as fully-homomorphic encryption (e.g., [1]), zero-knowledge proofs (e.g., [2]), and secure multi-party computation (e.g. [3]), Boolean circuits using fewer nonlinear gates are preferred for efficiency. This promoted the design of symmetric primitives (e.g., Rasta [4], LowMC [5]), which are inherently designed to use only a small number of AND gates.
Multiplicative Complexity (MC) is defined as the minimum number of AND gates required to implement a given function by a circuit over the basis (AND, XOR, NOT). The MC of a random n-variable Boolean function f, denoted C∧(f), is at least with high probability [6]. The MC of a random Boolean function is hard to calculate even for a small number of variables. For up to 6 variables, the MC of each Boolean function has been established in [7, 8]. For arbitrary n, it is known that under standard cryptographic assumptions, computing the MC in polynomial time in the length of the truth table [9] is not possible. There are, however, results for special classes of Boolean functions. In [10], Mirwald and Schnorr studied the MC of quadratic functions and showed that C∧(f) = k, iff f is isomorphic to the canonical form . In [11], Brandão et al. studied the MC of symmetric Boolean functions and constructed circuits for all such functions with up to 25 variables.
A particular value of interest is the number of n-variable Boolean functions with MC k, denoted λ(n, k). In [6], it is shown that λ(n, k) ≤ 2k2+2k+2kn+n+1. In 2002, Fischer and Peralta [12] showed that λ(n, 1) is equal to . In 2017, Find et al. [13] characterized the Boolean functions with MC 2 by using the fact that MC is invariant with respect to affine transformations and showed that
| (1) |
In this work, we focus on Boolean functions with MC 3 and 4. We utilize the notion of the dimension dim(f) of a Boolean function in relation to its linearity dimension [14], and provide a new lower bound suggesting that C∧(f) ≥ ⌈dim(f)/2⌉. For MC 3, this implies that there are no other equivalence classes other than those 24 identified in [8]. For MC 4, using the techniques from [8] and the new relation between dimension and MC, we identify 1277 equivalence classes. We also provide a closed formula for the number of n-variable functions with MC 3 and 4, i.e., λ(n, 3) and λ(n, 4).
The techniques allow us to construct AND-optimal circuits for Boolean functions that have MC 4 or less, independent of the number of variables they are defined on. Knowledge of all equivalence classes with MC 4 or less can also be used to determine that a function has MC greater than 4, if it does not belong to any of those classes.
The organization of the paper is as follows. Section 2 gives definitions and preliminary information about Boolean functions and Boolean circuits. Section 3 explains the relation between dimension and MC, and presents the new lower bound. Section 4 provides the affine equivalence classes of Boolean functions with MC 3 and 4. Section 5 concludes the paper with discussion of future research directions.
2. Preliminaries
2.1. Boolean Functions
Let be the binary field with 2 elements and be the n-dimensional vector space over . There is a one-to-one mapping between the elements of and the integers modulo 2n so that maps to the integer . For simplicity, we will occasionally use an integer when an element of is expected. The unit vectors are defined to be vectors whose ith entry is 1 and the remaining entries are zeros.
An n-variable Boolean function f is a mapping from to . Let be the set of n-variable Boolean functions. The truth table Tf of a function is the ordered list of output values:
| (2) |
The algebraic normal form (ANF) of f is the multivariate polynomial
| (3) |
where and is a monomial containing the variables xi where ui = 1. The degree of the monomial xu is the number of variables appearing in xu. The degree of a Boolean function, denoted deg(f), is the highest degree among the monomials appearing in its ANF.
The Walsh-Hadamard transform of a Boolean function f is the integervalued function defined as
| (4) |
The vector [Wf(0), …, Wf(2n − 1)] is called the Walsh spectrum of f. The autocorrelation function of a Boolean function f is defined as
| (5) |
The vector [Cf(0), …, Cf(2n − 1)] is called the autocorrelation spectrum of f.
The vector is a linear structure of f, if f(x) + f(x + α) is a constant function [14]. In this case, the autocorrelation value Cf(α) becomes either −2n or 2n. The set of linear structures of a Boolean function forms a vector space, whose dimension dl(f) is called the linearity dimension of f. The linearity dimension can be computed from the autocorrelation function as follows:
| (6) |
Two functions are affine equivalent if f can be written as
| (7) |
where A is a non-singular n × n matrix over ; a, b are column vectors in and . The parameters T = (A, a, b, c) above constitute an affine transformation that maps g to f. We use [f] to denote the affine equivalence class of the function f.
Some of the relevant cryptographic properties of Boolean functions such as degree, multiplicative complexity, linearity dimension, distribution of the absolute values in the Walsh spectrum and in the autocorrelation spectrum are invariant under affine transformations. A method for determining whether two functions are affine equivalent is given in [15].
In 1972, Berlekamp and Welch showed that has 48 equivalence classes [16]. For n = 6, Maiorana [17] proved that there are 150 357 equivalence classes, which was later independently verified by Fuller [15] and by Braeken et al. [18]. Hou [19] showed that has approximately 265.78 classes.
The effect of an affine transformation on a Boolean functions autocorrelation spectrum is known and explained in the following proposition.
Proposition 1 [20] If can be transformed to using the transformation T = (A, a, b, c), then their autocorrelation spectrums are related in the following way:
| (8) |
Corollary 1 Let , and let A be an invertible n x n matrix. If are linear structures of f, then are linear structures of f(Ax).
Proposition 2 Let and ei is the all-zero unit vector except the ith bit. If is a linear structure of f, then f can be written as
| (9) |
where does not depend on xi and c ∈ F2 satisfies
Proof Any Boolean function can be expressed as
| (10) |
where do not depend on the variable xi. Then, one can obtain f(x + ei) = (xi + 1)g1(x) + g2(x), which leads f(x) + f(x + ei) = g1(x). The vector ei being a linear structure of f implies that g1(x) is constant. From (10), g1(x) = 0 implies f(x) = g2(x) and xi does not appear in the ANF of f, and g1(x) = 1 implies f(x) = xi + g2(x) and xi appears as a linear term in the ANF.
2.2. Boolean Circuits
A Boolean circuit C with n inputs and m outputs is a directed acyclic graph, where the inputs and the gates are the nodes, and the edges correspond to the Boolean-valued wires. The fanin and fanout of a node is the number of wires going in and out of the node, respectively. The nodes with fanin zero are called the input nodes and are labeled with an input variable from {x1, …, xn}. The circuits considered in this study only contain gates from the complete basis (AND, XOR, NOT) and have exactly one node with fanout zero (i.e., m = 1), which is called the output node. For our purposes, we assume AND gates have fan-in two, but XOR gates have arbitrary fan-in > 0.
Boolean functions can be partitioned into those f for which f(0) = 0 and those f for which f(0) = 1. One set can be mapped bijectively into the other by the transformation g(x) = f(x) + 1. A function f(x) for which f(0) = 0 can be computed by a circuit which is both optimal with respect to multiplicative complexity and has no negations. Thus, without loss of generality, we will only consider circuits that do not have the constant 1 as input.
Each Boolean circuit C with n input nodes computes a Boolean function f ∈ Bn. When a Boolean vector x ∈ {0, 1}n is fed to the input nodes, the logic gates compute the function where the output node gets the value f(x).
We use the following notation from [8]:
A: the set of AND gates
B: the set of XOR gates
ai: ith AND gate of the circuit, 1 ≤ i ≤ k
bi: ith XOR gate of the circuit, 1 ≤ i ≤ 2k + 1
Si: the set of AND gates that are inputs to the bi
Li the set of input nodes to bi
The canonical form of a circuit [8] has the following properties:
The circuit output is always an XOR gate.
The output of AND gate is always an input to an XOR gate.
The two inputs of an AND gate are outputs of XOR gates.
The inputs of XOR gates are either inputs to the circuit or outputs of AND gates.
There are no negation gates.
The AND gates are numbered topologically, with no gate being an ancestor of a lower-numbered gate.
XOR gates have fanout 1 or zero (for the output gate).
The AND gate ai has inputs b2i−1 and b2i.
It is easy to verify that any Boolean circuit with k AND gates can be converted into the canonical form with k AND gates and 2k + 1 XOR gates.
Given a set V of nodes, let denote the Boolean function computed as ⊕v∈V v. 1 The output of the i-th XOR gate is , and the output of the i-th AND gate is
| (11) |
Given a circuit, the ordered list (L1, …, L2k+1, S1, …, S2k+1) is called the trace of the circuit. The ordered list [(S1, S2), (S3, S4) …, (S2k−1, S2k)] shows the relations between the AND gates, and is called the topology of the circuit. The ordered list (L1, …, L2k+1) shows the linear inputs to the XOR gates, and is called the input to the topology. For readability, we will be depicting topologies through diagrams rather than as lists of sets.
Example 1 Let f ∈ B4 be f = x1x2x3 + x1x3 + x1x4 + x2x3 + x4. A circuit computing f, with its canonical form and topology is shown in Figure 1. The trace for that circuit is ({x3}, {x2}, {x3, x4}, {x1}, {x4}, ∅, ∅, {a1}, ∅, {a1, a2}). The topology of the circuit is [(∅, ∅), ({a1}, ∅)]. The input to the topology is ({x3}, {x2}, {x3, x4}, {x1}, {x4}).
Fig. 1:

Circuit and topology computing f.
Using a topology [(S1, S2), (S3, S4) …, (S2k−1, S2k)] with k AND gates, 22k+2 new topologies with k + 1 AND gates can be constructed by appending (S2k+1, S2k+2) ⊆ {a1, …, ak} to the original topology. Details of topology construction, and identification of isomorphic topologies are described in [8].
3. A New Lower Bound on Multiplicative Complexity
A general lower bound on the multiplicative complexity of Boolean functions is the degree bound, which states that the multiplicative complexity of a Boolean function f is at least deg(f) − 1 [21]. In this section, we provide a new lower bound on the multiplicative complexity based on the dimension of the Boolean function.
Definition 1 [13] Let Nf be the number of distinct input variables appearing in the ANF of f ∈ Bn. The dimension of f, denoted dim(f) is defined as the smallest number of variables that appear in the ANFs of functions that are affine equivalent to f;
| (12) |
We can now relate the dimension of a function to its linearity dimension, at the same time providing an efficient way to compute it.
Lemma 1 Let . If dim(f) = n, dl(f) = 0.
Proof Let dim(f) = n. If dl(f) > 0, then f has a non-zero linear structure α. From linear algebra, we know there exists an invertible n x n matrix A that satisfies Aα = en. By Corollary 1, en is a linear structure of f(Ax), and by Proposition 2, f(Ax) is independent of xn or xn only appears linearly in the ANF of f(Ax). Then one of f(Ax) or f(Ax) + xn does not depend on xn. This contradicts dim(f) = n. Thus dl(f) = 0.
Theorem 1 Let . Then dim(f) + dl(f) = n.
Proof If dim(f) = n the result follows from Lemma 1. If δ = dim(f) < n, then f is affine equivalent to a function g ∈ Bn with exactly δ variables appearing in its ANF. Without loss of generality, assume the variables x1, …, xδ appear in the ANF of g. Let satisfying g′(x1, …, xδ) = g(x1, …, xn) for all . Since dim(g′) = δ, Lemma 1 implies dl(g′) = 0 (i.e., there are no linear structures of g′). Since the output of g ∈ Bn is independent of the values of the variables xδ+1, xδ+2, …, and xn, and there are no other linear-structures of g based on the first δ variables, is a basis for the linear-structures of g. Then the linearity dimension is n − δ and dim(f) + dl(f) = n holds.
Theorem 2 The MC of a Boolean function is at least ⌈dim(f)/2].
Proof Let f be an arbitrary Boolean function and C⊗(f) = k. There exists a circuit implementing f with k AND gates. The topology of the circuit with k AND gates has 2k linear inputs. Any set of 2k linear functions on n > 2k variables can be mapped to functions having at most 2k variables by an affine transformation. Therefore, dim(f) ≤ 2C∧(f), which implies that the multiplicative complexity of f is greater than or equal to ⌈dim(f)/2⌉.
Note that the dimension bound is tighter than the degree bound for multiplicative complexity when deg(f) ≤ ⌈dim(f)/2⌉.
Example 2 Let f be the symmetric Boolean function , i.e., f = x1x2x3x4 + … + x5x6x7x8. According to the degree bound, the C∧(f) ≥ 3. By Theorem 2, C∧(f) ≥ 4.
4. Boolean Functions with Multiplicative Complexity k
The characterization of Boolean functions with respect to MC can be realized by working on the equivalence classes rather than examining functions individually, since MC is invariant under affine transformation. In this section, we propose an iterative method to construct the list of all affine equivalence classes of Boolean functions with a given MC k.
The method first constructs topologies with i = 1, …, k AND gates in an iterative manner. At ith step, topologies with i AND gates are constructed as described in [8]. Then, the topologies are evaluated by supplying linear function inputs X = (L1, …, L2i), with dimension at most 2i. This process generates a set of Boolean functions with MC at most i. The functions whose MC is less than i are omitted from the list, by checking whether they belong to the equivalence classes with MC less than i. The remaining set of functions are processed to make sure that exactly one function from each equivalence class remains in the set. These functions become the representatives of their classes, and are stored with an associated MC value of i. The method is repeated until i = k. The choice of the representatives is arbitrary and does not have any affect on the results.
4.1. Equivalence Classes with MC 1 and 2
As previously shown in [12, 13], Boolean functions with MC 1 are affine equivalent to x1x2 and can be generated using the topology given in Fig 2.
Fig. 2:

Topology with 1 AND gate
There are two topologies with 2 AND gates as illustrated in Figure 3. Find et al. [13] showed that a Boolean function with MC 2 is affine equivalent to exactly one of these following three functions x1x2x3, x1x2x3 + x1x4 and x1x2 + x3x4.
Fig. 3:

Topologies with 2 AND gates.
4.2. Equivalence Classes with MC 3
According to Theorem 2, Boolean functions with MC 3 can have up to 6 independent inputs. The MC distribution of all 150 357 affine equivalence classes on 6-variables is given in [8]. Figure 4 shows the graphical representations of the topologies with 3 AND gates.
Fig. 4:

Topologies with 3 AND gates
Evaluating topologies with linear inputs having dimension up to 6 gives the exhaustive list of equivalence classes having MC 3 as shown in Table 1. There are three equivalence classes with dimension 4, and all of these classes can be generated by either of the topologies T4, T6, T7 and T8. For dimension 5 and 6, there are 14 and 7 classes, respectively.
Table 1:
The list of affine equivalence classes with MC 3. The size of each class (i.e., the number of functions in the class) is given for the dimension it belongs to.
| Dimension = 4 | ||
|---|---|---|
| Representative | Size of the class | Generated by |
| x1x2x3x4 | 512 | T4,T6,T7,T8 |
| x1x2+x1x2x3x4 | 17 920 | T4,T6,T7,T8 |
| x2x3+x1x4+x1x2x3x4 | 14 336 | T4,T6,T7,T8 |
| Dimension = 5 | ||
| Representative | Size of the class | Generated by |
| x1x2x3x4+x1x2x5 | 2 222 080 | T4,T6,T7,T8 |
| x1x3x4+x1x2x5 | 1 777 664 | T3 |
| x2x3+x1x2x3x4+x2x3x5+x1x4x5 | 28 442 624 | T4,T8 |
| x1x2x3x4+x1x5 | 3 809 280 | T6,T7 |
| x3x4+x1x2x3x4+x1x5+x1x2x5 | 106 659 840 | T6,T7 |
| x1x2x3+x4x5 | 5 079 040 | T2,T5 |
| x1x2x3x4+x1x5+x1x2x5 | 26 664 960 | T6,T7 |
| x1x3+x1x2x3x4+x1x2x5 | 19 998 720 | T6,T7 |
| x3x4+x1x3x4+x1x2x5 | 17 776 640 | T3,T4,T8 |
| x1x2x3+x2x4+x1x5 | 3 333 120 | T2,T3,T5,T6,T7 |
| x2x3+x1x2x3x4+x1x5 | 26 664 960 | T6,T7 |
| x1x2x3x4+x2x3x5+x1x4x5 | 284 426 240 | T4,T8 |
| x1x2x3x4+x1x2x5+x3x5 | 213 319 680 | T4,T8 |
| x3x4+x1x2x3x4+x1x2x5 | 35 553 280 | T4,T6,T7,T8 |
| Dimension = 6 | ||
| Representative | Size of the class | Generated by |
| x1x2x3x4+x3x4x5+x1x2x6+x5x6 | 143 350 824 960 | T4,T8 |
| x3x4+x1x2x3x4+x1x2x5+x1x6 | 26 878 279 680 | T6,T7 |
| x3x4+x1x3x4+x1x2x5+x1x6 | 2 239 856 640 | T3 |
| x1x3x4+x1x2x5+x1x6 | 223 985 664 | T3 |
| x3x4+x2x5+x1x6 | 1 777 664 | T1 |
| x1x2x3x4+x1x2x5+x1x6 | 6 719 569 920 | T6,T7 |
| x1x2x3+x4x5+x1x6 | 4 479 713 280 | T2,T5 |
4.3. Equivalence Classes with MC 4
According to Theorem 2, Boolean functions with MC 4 can have up to 8 independent inputs. Different from the MC 3 case, it is not feasible to exhaustively list the equivalence classes for Boolean functions with 7 and 8 inputs. This makes it less efficient sometimes to decide whether two functions are in the same equivalence class or not for those cases.
After evaluating 84 topologies with 4 AND gates, 26 classes with dimension 5, 888 classes with dimension 6, 321 classes with dimension 7, and 42 classes with dimension 8 were obtained. The complete list of affine equivalence classes with MC 4 is published on [22].
4.4. Number of Boolean functions with MC ≤ 4
Let λ(n, k) be the number of n-variable Boolean functions with MC k. Boyar et al. [6] showed that λ(n, k) ≤ 2k2+2k+2kn+n+1. The exact formulas for k = 1, 2 are given in [12] and [13], respectively.
The size of an equivalence class for a given f ∈ Bn is calculated using the techniques provided in Corollary 4.8 in [23]. Table 1 provides the size of the equivalence classes with MC 3, defined in Bdim(f). For example, the size 512 of the equivalence class x1x2x3x4 is defined in B4.
Definition 2 Let . The embedding of f in , n ≥ ℓ is defined as the n-variable Boolean function that satisfies fn(x1, …, xℓ, xℓ+1, …, xn) = f(x1, …, xℓ).
The following theorem proved in [13] determines the size of equivalence classes when a Boolean function is embedded in higher number of variables.
Theorem 3 [13] Let , with dim(f) = ℓ. Let fn be the embedding of f in , n ≥ ℓ. The size of the equivalence class [fn] is
| (13) |
Let β(d, k) be the sum of sizes of equivalence classes with multiplicative complexity k and dimension d. For example, β(3, 4) = 32 768 is the total of the size of the equivalence classes [x1x2x3x4], [x1x2+x1x2x3x4] and [x2x3+x1x4+x1x2x3x4]. Then, using the Theorem 3, the number of Boolean functions with MC 3 in Bn is equal to the sum of the sizes of each equivalence class embedded in Bn. This number can be calculated as
| (14) |
where
Similarly, the number of Boolean functions with MC 4 can be calculated as
| (15) |
where
5. Constructing circuits for Boolean functions with MC 4 or less
The techniques defined in [8] and the exhaustive list of affine equivalence classes having MC up to 4 allow us to construct AND-optimal circuits for Boolean functions that have MC up to 4, independent of the number of variables they are defined on.
Given a Boolean function f ∈ Bn, we first compute dim(f). If dim(f) > 8, we conclude that f does not belong to any of the equivalence classes with MC less than or equal to 4, hence C∧(f) > 4. Otherwise, we determine the equivalence class that it belongs to among the 1305 equivalence classes having MC up to 4. Next, we find the affine transformation between the representative of the class and f. Applying the same transformation to the linear inputs of the topology implementing the representative, a circuit that implements f with a minimal number of AND gates can be obtained.
As an optimization, instead of working on Bn, the number of variables in f can be reduced to dim(f) by an affine transformation. Then, the algorithms for identifying the equivalence class of f and finding the transformation between f and the representative of its class can be performed in Bdim(f) more efficiently.
6. Conclusion and Future Work
The relation between dimension and multiplicative complexity of Boolean functions enabled us to exhaustively list all affine equivalence classes with MC 3 and 4. The MC distribution of Boolean functions with dimension up to 6 were provided in [8]. In this work, we showed that there are exactly 24 equivalence classes for MC 3. For MC 4, in addition to the classes found in [8], we determined the equivalences classes having dimension 7 and 8, which makes a total of 1277 equivalence classes. Table 2 provides the number of affine equivalence classes with respect to MC and dimension. The contributions of this paper were written in bold. Note that it is easy to see that for the shaded cells the number of affine equivalence classes is zero. We also provide a closed formula for the number of n-variable functions with MC 3 and 4.
Table 2:
The number of affine equivalence classes with respect to MC and dimension.
| MC | Dimension | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | Total | |
| 1 | 1 | 1 | ||||||||||
| 2 | 1 | 2 | 3 | |||||||||
| 3 | 3 | 14 | 7 | 24 | ||||||||
| 4 | 26 | 888 | 321 | 42 | 1277 | |||||||
| 5 | 148483 | ? | ? | ? | 575 | ? | ||||||
| 6 | 931 | ? | ? | ? | ? | ? | ? | ? | ||||
For each equivalence class representative, an AND-optimal circuit has been constructed. This allows us to construct optimal circuits for any Boolean function with MC up to 4 independent of the number of variables the functions are defined on. The method can also be used to determine that a function has MC greater than 4, if it does not belong to any of the equivalence classes with MC 4 or less.
The table also includes the known cases for n = 5, 6. The identification of classes with MC 5 is still in progress. The techniques require more computation resources as the dimension and MC increase. Different techniques or optimizations may be necessary to find the missing values in the table.
Footnotes
We abuse notation here, identifying a node with the function it computes.
Contributor Information
Çağdaş Çalık, NIST Computer Security Division, 100 Bureau Dr, Gaithersburg, MD 20899.
Meltem Sönmez Turan, NIST Computer Security Division, 100 Bureau Dr, Gaithersburg, MD 20899.
René Peralta, NIST Computer Security Division, 100 Bureau Dr, Gaithersburg, MD 20899.
References
- 1.Brakerski Zvika, Gentry Craig, and Vaikuntanathan Vinod. (Leveled) Fully Homomorphic Encryption without Bootstrapping. In Goldwasser Shafi, editor, Innovations in Theoretical Computer Science 2012, Cambridge, MA, USA, January 8-10, 2012, pages 309–325. ACM, 2012. [Google Scholar]
- 2.Boyar Joan, Damgård Ivan, and Peralta René. Short Non-Interactive Cryptographic Proofs. J. Cryptology, 13(4):449–472, 2000. [Google Scholar]
- 3.Kolesnikov Vladimir and Schneider Thomas. Improved Garbled Circuit: Free XOR Gates and Applications. In Aceto Luca, Damgård Ivan, Goldberg Leslie Ann, Halldórsson Magnús M., Ingólfsdóttir Anna, and Walukiewicz Igor, editors, Automata, Languages and Programming, 35th International Colloquium, ICALP 2008, Reykjavik, Iceland, July 7-11, 2008, Proceedings, Part II - Track B: Logic, Semantics, and Theory of Programming & Track C: Security and Cryptography Foundations, volume 5126 of Lecture Notes in Computer Science, pages 486–498. Springer, 2008. [Google Scholar]
- 4.Dobraunig Christoph, Eichlseder Maria, Grassi Lorenzo, Lallemand Virginie, Leander Gregor, List Eik, Mendel Florian, and Rechberger Christian. Rasta: A Cipher with Low ANDdepth and Few ANDs per Bit. In CRYPTO (1), volume 10991 of Lecture Notes in Computer Science, pages 662–692. Springer, 2018. [Google Scholar]
- 5.Albrecht Martin R., Rechberger Christian, Schneider Thomas, Tiessen Tyge, and Zohner Michael. Ciphers for MPC and FHE. In Oswald Elisabeth and Fischlin Marc, editors, Advances in Cryptology - EUROCRYPT 2015 - 34th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Sofia, Bulgaria, April 26-30, 2015, Proceedings, Part I, volume 9056 of Lecture Notes in Computer Science, pages 430–454. Springer, 2015. [Google Scholar]
- 6.Boyar Joan, Peralta René, and Pochuev Denis. On the Multiplicative Complexity of Boolean Functions over the Basis (Λ, ⊕, 1). Theor. Comput. Sci, 235(1):43–57, 2000. [Google Scholar]
- 7.Turan Meltem Sönmez and Peralta René. The Multiplicative Complexity of Boolean Functions on Four and Five Variables, pages 21–33. Springer International Publishing, Cham, 2015. [Google Scholar]
- 8.Çalık Çağdaş, Turan Meltem Sönmez, and Peralta René. The multiplicative complexity of 6-variable boolean functions. Cryptogr. Commun, 11(1):93–107, 2019. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 9.Find Magnus Gausdal. On the Complexity of Computing Two Nonlinearity Measures. In Computer Science - Theory and Applications - 9th International Computer Science Symposium in Russia, CSR 2014, Moscow, Russia, June 7-11, 2014. Proceedings, pages 167–175, 2014. [Google Scholar]
- 10.Mirwald Roland and Schnorr Claus-Peter. The Multiplicative Complexity of Quadratic Boolean Forms. Theor. Comput. Sci, 102(2):307–328, 1992. [Google Scholar]
- 11.Brandão Luís T. A. N., Çalık Çağdaş, Turan Meltem Sönmez, and René Peralta. Upper bounds on the multiplicative complexity of symmetric boolean functions. Cryptogr. Commun, 11(6):1339–1362, 2019. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 12.Fischer MJ and Peralta R. Counting Predicates of Conjunctive Complexity One. Yale Technical Report 1222, February 2002. [Google Scholar]
- 13.Find Magnus Gausdal, Smith-Tone Daniel, and Turan Meltem Sönmez. The Number of Boolean Functions with Multiplicative Complexity 2. IJICoT, 4(4):222–236, 2017. [Google Scholar]
- 14.Nyberg Kaisa. On the Construction of Highly Nonlinear Permutations. In Rueppel Rainer A., editor, Advances in Cryptology - EUROCRYPT ’92, Workshop on the Theory and Application of of Cryptographic Techniques, Balatonfüred, Hungary, May 24-28, 1992, Proceedings, volume 658 of Lecture Notes in Computer Science, pages 92–98. Springer, 1992. [Google Scholar]
- 15.Fuller Joanne Elizabeth. Analysis of Affine Equivalent Boolean Functions for Cryptography. PhD thesis, Queensland University of Technology, 2003. [Google Scholar]
- 16.Berlekamp Elwyn R. and Welch Lloyd R.. Weight Distributions of the Cosets of the (32, 6) Reed-Muller Code. IEEE Transactions on Information Theory, 18(1):203–207, 1972. [Google Scholar]
- 17.Maiorana James A.. A classification of the cosets of the Reed-Muller code R(1,6). Mathematics of Computation, 57(195):403–414, 1991. [Google Scholar]
- 18.Braeken An, Borissov Yuri L., Nikova Svetla, and Preneel Bart. Classification of Boolean Functions of 6 Variables or Less with Respect to Some Cryptographic Properties. In Caires Luís, Italiano Giuseppe F., Monteiro Luís, Palamidessi Catuscia, and Yung Moti, editors, ICALP, volume 3580 of Lecture Notes in Computer Science, pages 324–334. Springer, 2005. [Google Scholar]
- 19.Hou Xiang-Dong. AGL(m,2) acting on R(r, m)/R(s,m). Journal of Algebra, 171(3):927–938, 1995. [Google Scholar]
- 20.Preneel Bart. Analysis and Design of Cryptographic Hash Functions. PhD thesis, Katholieke Universiteit Leuven, 1993. [Google Scholar]
- 21.Schnorr Claus-Peter. The Multiplicative Complexity of Boolean Functions. In AAECC, pages 45–58, 1988. [Google Scholar]
- 22.NIST Computer Security Division. Circuit Complexity Project Repository, https://github.com/usnistgov/Circuits/.
- 23.Uyan Erdener. Analysis of Boolean Functions with respect to Walsh Spectrum. PhD thesis, Middle East Technical University, 2013. [Google Scholar]
