Skip to main content
NIST Author Manuscripts logoLink to NIST Author Manuscripts
. Author manuscript; available in PMC: 2021 Mar 1.
Published in final edited form as: Cryptogr Commun. 2020;12:10.1007/s12095-020-00445-z. doi: 10.1007/s12095-020-00445-z

Boolean Functions with Multiplicative Complexity 3 and 4

Çağdaş Çalık 1, Meltem Sönmez Turan 2, René Peralta 3
PMCID: PMC7918276  NIHMSID: NIHMS1658833  PMID: 33654507

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 2n2O(n) 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 i=1kx2i1x2i. 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 2(2n3). 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

λ(n,2)=2n(2n1)(2n2)(2n4)(221+2n812+2n8360). (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 F2 be the binary field with 2 elements and F2n be the n-dimensional vector space over F2. There is a one-to-one mapping between the elements of F2n and the integers modulo 2n so that a=(an1,,a0)F2n maps to the integer Σi=0n1ai2i. For simplicity, we will occasionally use an integer when an element of F2n is expected. The unit vectors eiF2n 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 F2n to F2. Let Bn be the set of n-variable Boolean functions. The truth table Tf of a function fBn is the ordered list of output values:

Tf=(f(0),f(1),,f(2n1)). (2)

The algebraic normal form (ANF) of f is the multivariate polynomial

f(x1,,xn)=uF2nauxu, (3)

where auF2 and xu=x1u1x2u2xnun 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

Wf(α)=xF2n(1)f(x)+αx,αF2n. (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

Cf(α)=xF2n(1)f(x)+f(x+α),αF2n. (5)

The vector [Cf(0), …, Cf(2n − 1)] is called the autocorrelation spectrum of f.

The vector αF2n 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:

dl(f)=log2#{|Cf(α)|=2n,αF2n}. (6)

Two functions f,gBn are affine equivalent if f can be written as

f(x)=g(Ax+a)+bx+c,for allx, (7)

where A is a non-singular n × n matrix over F2; a, b are column vectors in F2n and cF2. 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 B5 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 B7 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 gBn can be transformed to fBn using the transformation T = (A, a, b, c), then their autocorrelation spectrums are related in the following way:

Cf(α)=(1)α(A1)bCg(Aα). (8)

Corollary 1 Let fBn, and let A be an invertible n x n matrix. If {αi}i=1k are linear structures of f, then {Aαi}i=1k are linear structures of f(Ax).

Proposition 2 Let fBn and ei is the all-zero unit vector except the ith bit. If eiF2n is a linear structure of f, then f can be written as

f(x)=g(x)+cxi, (9)

where gBn does not depend on xi and c ∈ F2 satisfies

c={0,ifCf(ei)=2n,1,ifCf(ei)=2n.

Proof Any Boolean function fBn can be expressed as

f(x)=xig1(x)+g2(x), (10)

where g1,g2Bn 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 fBn. 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 ≤ ik

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:

  1. The circuit output is always an XOR gate.

  2. The output of AND gate is always an input to an XOR gate.

  3. The two inputs of an AND gate are outputs of XOR gates.

  4. The inputs of XOR gates are either inputs to the circuit or outputs of AND gates.

  5. There are no negation gates.

  6. The AND gates are numbered topologically, with no gate being an ancestor of a lower-numbered gate.

  7. XOR gates have fanout 1 or zero (for the output gate).

  8. 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 XV denote the Boolean function computed as ⊕vV v. 1 The output of the i-th XOR gate is Fbi=XLiXSi, and the output of the i-th AND gate is

Fai=(XL2i1XS2i1)(XL2iXS2i). (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 fB4 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:

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 fBn. 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;

dim(f)=ming[f]Ng. (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 fBn. 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 fBn. 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 gBn with exactly δ variables appearing in its ANF. Without loss of generality, assume the variables x1, …, xδ appear in the ANF of g. Let gBδ satisfying g′(x1, …, xδ) = g(x1, …, xn) for all xF2n. Since dim(g′) = δ, Lemma 1 implies dl(g′) = 0 (i.e., there are no linear structures of g′). Since the output of gBn 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, {ei}i=δ+1n 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 fBn is at leastdim(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 todim(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 Σ48, 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:

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:

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:

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 fBn 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 fB. The embedding of f in Bn, 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 fB, with dim(f) = . Let fn be the embedding of f in Bn, n. The size of the equivalence class [fn] is

|[fn]|=2n|[f]|i=012n2i22i. (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

λ(n,3)=d=46(2ndi=0d12n2i2d2iβ(d,3)) (14)

where

β(4,3)=32768,β(5,3)=775728128,β(6,3)=183894007808.

Similarly, the number of Boolean functions with MC 4 can be calculated as

λ(n,4)=d=58(2ndi=0d12n2i2d2iβ(d,4)) (15)

where

β(5,4)=3515396096,β(6,4)=7944313921970176,β(7,4)=8217135092528316416,β(8,4)=5502415308673798144.

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 fBn, 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

1

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]

RESOURCES