Skip to main content
Log in

Upper bounds on the multiplicative complexity of symmetric Boolean functions

  • Published:
Cryptography and Communications Aims and scope Submit manuscript

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, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

References

  1. 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

    Google Scholar 

  2. Canteaut, A., Videau, M.: Symmetric Boolean functions. IEEE Trans. Inf. Theory 51(8), 2791–2811 (2005). https://doi.org/10.1109/TIT.2005.851743

    Article  MathSciNet  Google Scholar 

  3. Sasao, T.: Switching theory for logic synthesis, 1st. Kluwer Academic Publishers, Norwell (1999). https://doi.org/10.1007/978-1-4615-5139-3

    Book  Google Scholar 

  4. 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)

  5. 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

    Article  MathSciNet  Google Scholar 

  6. 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

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

  8. 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

    Article  MathSciNet  Google Scholar 

  9. 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

    Chapter  Google Scholar 

  10. 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

    Article  MathSciNet  Google Scholar 

  11. 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

    Google Scholar 

  12. 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

    Article  MathSciNet  Google Scholar 

  13. 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

    Google Scholar 

  14. Ç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)

    Article  MathSciNet  Google Scholar 

  15. 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

    Article  MathSciNet  Google Scholar 

  16. 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

    Chapter  Google Scholar 

  17. Komamiya, Y.: Theory of computing networks, Bulletin of the Electrotechnical Laboratory. In Japanese (1959)

  18. Circuit minimization team at the Cryptographic Technology Group, NIST, Circuits for functions of interest to cryptography. https://github.com/usnistgov/Circuits/ (2019)

Download references

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

Authors

Corresponding author

Correspondence to Luís T. A. N. Brandão.

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.

Table 5 Upper bounds on the MC of elementary symmetric functions \({{\Sigma }_{k}^{n}}\)
Table 6 Upper bounds on the MC of (exactly-k) counting functions \({E}_{k}^{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:

Table 7 Upper bounds (UB) obtained for \(\text {MC}_{\max \nolimits }({\mathcal {S}}_{n})\)
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 (g1g2).

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 bz5, respectively.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12095-019-00377-3

Keywords

Mathematics Subject Classification (2010)

Navigation