Abstract
A special metric of interest about Boolean functions is multiplicative complexity (MC): the minimum number of AND gates sufficient to implement a function with a Boolean circuit over the basis {XOR, AND, NOT}. In this paper we study the MC of symmetric Boolean functions, whose output is invariant upon reordering of the input variables. Based on the Hamming weight method from Muller and Preparata (J. ACM 22(2), 195–201, 1975), we introduce new techniques that yield circuits with fewer AND gates than upper bounded by Boyar et al. (Theor. Comput. Sci. 235(1), 43–57, 2000) and by Boyar and Peralta (Theor. Comput. Sci. 396(1–3), 223–246, 2008). We generate circuits for all such functions with up to 25 variables. As a special focus, we report concrete upper bounds for the MC of elementary symmetric functions \({{\Sigma }^{n}_{k}}\) and counting functions \({E^{n}_{k}}\) with up to n = 25 input variables. In particular, this allows us to answer two questions posed in 2008: both the elementary symmetric \({{\Sigma }^{8}_{4}}\) and the counting \({E^{8}_{4}}\) functions have MC 6. Furthermore, we show upper bounds for the maximum MC in the class of n-variable symmetric Boolean functions, for each n up to 132.
This is a preview of subscription content,
to check access.




References
Wegener, I.: The complexity of symmetric Boolean functions, vol. 270 of LNCS, pp 433–442. Springer, Berlin (1987). https://doi.org/10.1007/3-540-18170-9_185
Canteaut, A., Videau, M.: Symmetric Boolean functions. IEEE Trans. Inf. Theory 51(8), 2791–2811 (2005). https://doi.org/10.1109/TIT.2005.851743
Sasao, T.: Switching theory for logic synthesis, 1st. Kluwer Academic Publishers, Norwell (1999). https://doi.org/10.1007/978-1-4615-5139-3
Kerntopf, P., Szyprowski, M.: Symmetry in reversible functions and circuits. In: Proceedings of 20th ICCC/ACM international workshop on logic and synthesis — IWLS 2011, pp 67–73 (2011)
Muller, D.E., Preparata, F.P.: Bounds to complexities of networks for sorting and for switching. J. ACM 22(2), 195–201 (1975). https://doi.org/10.1145/321879.321882
Kolesnikov, V., Schneider, T.: Improved garbled circuit: Free XOR gates and applications. In: Aceto, L., Damgård, I., Goldberg, LA, Halldórsson, M.M., Ingólfsdóttir, A., Walukiewicz, I. (eds.) 35th international colloquium — ICALP 2008 automata, languages and programming, vol. 5126 of LNCS, vol. 5126, pp 486–498. Springer (2008). https://doi.org/10.1007/978-3-540-70583-3_40
Brakerski, Z., Gentry, C., Vaikuntanathan, V.: (Leveled) fully homomorphic encryption without bootstrapping. In: Goldwasser, S. (ed.) Proceedings of 3rd innovations in theoretical computer science conference — ITCS ’12, pp 309–325. ACM (2012). https://doi.org/10.1145/2090236.2090262
Boyar, J., Damgård, I., Peralta, R.: Short non-interactive cryptographic proofs. J. Cryptol. 13(4), 449–472 (2000). https://doi.org/10.1007/s001450010011
Carlet, C., Goubin, L., Prouff, E., Quisquater, M., Rivain, M.: Higher-order masking schemes for S-Boxes. In: Canteau, t A. (ed.) Proceedings of 19th international workshop on fast software encryption — FSE 2012, vol. 7549 of LNCS, vol. 7549, pp 366–384. Springer (2012). https://doi.org/10.1007/978-3-642-34047-5_21
Boyar, J., Peralta, R., Pochuev, D.: On the multiplicative complexity of Boolean functions over the basis (∧,⊕, 1). Theor. Comput. Sci. 235(1), 43–57 (2000). https://doi.org/10.1016/S0304-3975(99)00182-6
Find, M.G.: On the complexity of computing two nonlinearity measures. In: Hirsch, E.A., Kuznetsov, S.O., Pin, J.-É., Vereshchagin, N.K. (eds.) Proceedings of CSR 2014: Computer science — theory and applications, vol. 8476 of LNCS, vol. 8476, pp 167–175. Springer International Publishing (2014). https://doi.org/10.1007/978-3-319-06686-8_13
Find, M.G., Smith-Tone, D., Sönmez Turan, M.: The number of Boolean functions with multiplicative complexity 2. Int. J. Inf. Coding Theory (IJICOT) 4(4), 222–236 (2017). https://doi.org/10.1504/IJICOT.2017.086890
Sönmez Turan, M., Peralta, R.: The multiplicative complexity of Boolean functions on four and five variables. In: Eisenbarth, T., Öztürk, E. (eds.) Proceedings of 3rd international workshop on lightweight cryptography for security and privacy — LightSec 2014, vol. 8898 of LNCS, pp 21–33. Springer (2015). https://doi.org/10.1007/978-3-319-16363-5_2
Çalık, Ç., Sönmez Turan, M., Peralta, R.: The multiplicative complexity of 6-variable Boolean functions, Cryptography and Communucations. Special Issue on Boolean Functions and Their Applications, pp. 1–15. https://doi.org/10.1007/s12095-018-0297-2 (2018)
Boyar, J., Peralta, R.: Tight bounds for the multiplicative complexity of symmetric functions. Theor. Comput. Sci. 396(1-3), 223–246 (2008). https://doi.org/10.1016/j.tcs.2008.01.030
Schnorr, C.P.: The multiplicative complexity of Boolean functions. In: Mora, T. (ed.) Applied algebra, algebraic algorithms and error-correcting codes (AAECC 1988), vol. 357 of LNCS, pp 45–58. Springer, Berlin (1989). https://doi.org/10.1007/3-540-51083-4_47
Komamiya, Y.: Theory of computing networks, Bulletin of the Electrotechnical Laboratory. In Japanese (1959)
Circuit minimization team at the Cryptographic Technology Group, NIST, Circuits for functions of interest to cryptography. https://github.com/usnistgov/Circuits/ (2019)
Acknowledgments
The authors thank the anonymous reviewers of the journal, and Morris Dworkin from NIST, for their useful comments and suggestions.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
This article is part of the Topical Collection on Special Issue on Boolean Functions and Their Applications
Appendices
Appendix A: MC upper-bounds for special classes of symmetric Boolean functions
Tables 5 and 6 show MC upper bounds, respectively for all elementary-symmetric Boolean functions \({\Sigma }^n_k\) and all exactly-counting Boolean functions \(E^n_k\), with any number n of variables up to 25, and with k up to n.
Appendix B: Description of \(\text {MC}_{\max \nolimits }\) upper bounds
Table 7 shows, for each n ≤ 132, the \(\text {MC}_{\max \nolimits }\) upper bound we found for the set \({\mathcal {S}}_{n}\) of n-variable symmetric Boolean functions. For each n, the table identifies an encoding H of the Hamming weight, and a method G for finding an MC upper bound of the corresponding g. We checked five different practical combinations of H and G:
- C1.:
-
H = HBR and G = gen, where “gen” uses for g the MC upper bound from Table 1. This was used for n ∈{1, 3, 7, 15, 29–31, 48–63, 99–127}.
- C2.:
-
H = H0 (i.e., using only full adders) and G = exp, where “exp” is an exhaustive computation “experimentally” determining the MC of each g corresponding to each \(f \in {\mathcal {S}}_{n}\). This was used for n ∈{14, 18, 20, 21}.
- C3.:
-
H = Hj (possibly using some (j ≥ 0) half adders, but not computing the full HBR) and G = gen. This was used for n ∈{2, 4 −− 6, 8 −− 13, 16 −− 17, 19, 22 −− 28, 32 −− 47}.
- C4.:
-
H = HBR and G = Gi, where Gi applies the concatenation method to function g, to obtain g2 with only i variables (if i ≥ 1), or to use g2 = g1 + g(0,…, 0, 1) (if i = 0). This was used for n ∈{64 −− 79, 81 −− 95, 128 −− 132}.
- C5.:
-
H = HBR and G = Gi,j, where Gi,j applies Gi to g and then applies Gj to the corresponding g2. This was used for n ∈{80, 96 −− 98}.
The best combination varies with n, but sometimes several combinations yield the same best upper bound. Table 7 shows H and G only for the first best combination in the order C1 < C2 < C3 < C4 < C5.
Column “H” shows the number of used half adders as a subscript j in Hj. When said encoding is HBR, an asterisk is added as suffix (\(H^{\ast }_{j}\)). Column “D” shows the difference to the upper bound that would be obtained with the reference method C1. Column “UB” shows the upper bound in bold when it is equal to the degree bound (n − 1).
Example 3
The case n = 72 (using combination C4) indicates an encoding \(H=H_{5}^{\ast } = H_{\text {BR}}\) with 5 half adders, and a method G4 for g. The encoding HBR produces an output of seven variables (z1,…,z7), upon which the function g can be written as g1(z1,…,z6) ⊕ z7 ∧ (g1(z1,…,z6) ⊕ g2(z1,…,z4)). Since the MC for HBR(x1,...,x72) is 70, the overall upper bound is equal to 79 = 70 + 6 + 1 + 3, where 6 and 3 are the generic MC upper bounds for g1 and g2 (functions of 6 and 4 variables, respectively), and the extra 1 is the AND used to multiply z7 with (g1 ⊕ g2).
Example 4
The case n = 80 (using combination C5) indicates the use of \(H=H_{5}^{\ast } = H_{\text {BR}}\) and G5,0. The HBR encoding outputs 7 variables. Then, G5 decomposes g into g1(z1,…,z6) ⊕ y6 ∧ (g1(z1,…,z6) ⊕ g2(z1,...,z5)). Since for n = 80 there are 81 possible weights, the function g2 is a 5-variable function with 17 (= 81 − 64) defined entries and 15 free entries. For the second decomposition, the number of defined entries of the second component will be 1(= 17 − 16). Thus, G0 can be applied (recall the exceptional case described in Section 4.3) to decompose g2 into \(g^{\prime }_{2}(z_{1},\ldots ,z_{4}) \oplus (z_{5} \wedge b)\), where b is the constant g(0,..., 0, 1). Thus, the upper bound for the \(\text {MC}_{\max \nolimits }\) for n = 80 is equal to 88 = 78 + 6 + 1 + (3 + 0), where 78 is the MC of HBR on 80 variables, and where 6, 3 and 0 are the MC majorants for the 6-variable function g1, the 4-variable function \(g^{\prime }_{2}\), and the 1-variable function b ∧ z5, respectively.
Rights and permissions
About this article
Cite this article
Brandão, L.T.A.N., Çalık, Ç., Sönmez Turan, M. et al. Upper bounds on the multiplicative complexity of symmetric Boolean functions. Cryptogr. Commun. 11, 1339–1362 (2019). https://doi.org/10.1007/s12095-019-00377-3
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12095-019-00377-3