Nonlinearity of Boolean Functions: An Algorithmic Approach Based on Multivariate Polynomials
Abstract
:1. Introduction
1.1. Related Works
1.2. Our Contribution
1.3. Outline of the Paper
2. Preliminaries and Notation on Boolean Functions
2.1. Representations of Boolean Functions
2.2. Nonlinearity and Walsh Transform of a Boolean Function
3. Preliminary Results
Polynomials and Vector Weights
4. Computing the Nonlinearity of a Boolean Function
4.1. Gröebner Bases over the Biniary Field
- 1.
- ,
- 2.
- ,
- 3.
- .
4.2. Gröebner Bases over the Rational Field
Algorithm 1. Basic algorithm to compute the nonlinearity of a B.f. using Gröbner basis over . |
Input: a B.f. f |
Output: the nonlinearity of f |
1: |
2: while do |
3: |
4: end while |
5: return |
Algorithm 2. To compute the nonlinearity of the B.f. f using Gröbner basis over a field . |
Input:f |
Output: nonlinearity of f |
1: Compute |
2: |
3: while do |
4: |
5: end while |
6: return j |
4.3. Fast Polynomial Evaluation
Algorithm 3. To compute the nonlinearity of the Boolean function, using Nonlinearity Polynomial () and Fast Polynomial Evaluation (). | |
Input:f | |
Output: nonlinearity of f | |
1: if then | |
2: return 0 | |
3: else | |
4: Compute | // Algorithm 4: |
5: Compute | // |
6: return m | |
7: end if |
4.4. Properties of the Nonlinearity Polynomial
5. Complexity Considerations
5.1. Complexity of Constructing the Nonlinearity Polynomial
Algorithm 4. Algorithm to calculate the nonlinearity polynomial in integer operations. |
Input: The evaluation vector of a B.f. |
Output: the vector of the coefficients of |
Calculation of the coefficients of the monomials not containing |
1: |
2: for do |
3: |
4: repeat |
5: for do |
6: |
7: if then |
8: |
9: else |
10: |
11: end if |
12: end for |
13: |
14: until |
15: end for |
Calculation of the coefficients of the monomials containing |
16: |
17: for do |
18: |
19: end for |
20: return c |
- 1.
- integer sums and doublings, in particular about integer sums and about integer doublings.
- 2.
- The storage of integers of size less than or equal to .
5.2. Some Considerations on Algorithm 1
5.3. Algorithms 1 and 2
5.4. Algorithm 3
- Calculation of the nonlinearity polynomial . This step, as shown in Theorem 5, requires integer operations and memory.
- Evaluation of the nonlinearity polynomial . This step can be performed using fast Möbius transform in integer sums and memory. We refer to this algorithm as the Fast Polynomial Evaluation () algorithm.
- Computation of the minimum with . This step requires no more than checks.
6. Conclusions
Author Contributions
Funding
Acknowledgments
Conflicts of Interest
References
- Shannon, C.E. Communication theory of secrecy systems. Bell Syst. Tech. J. 1949, 28, 656–715. [Google Scholar] [CrossRef]
- Rothaus, O.S. On “bent” functions. J. Comb. Theory Ser. A 1976, 20, 300–305. [Google Scholar] [CrossRef] [Green Version]
- Adams, C.M.; Tavares, S.E. The Use of Bent Sequences to Achieve Higher-Order Strict Avalanche Criterion in S-Box Design; Technical Report TR 90-013; Queen’s University: Kingston, ON, Canada, 1990. [Google Scholar]
- Maitra, S.; Sarkar, P. Maximum nonlinearity of symmetric Boolean functions on odd number of variables. IEEE Trans. Inf. Theory 2002, 48, 2626–2630. [Google Scholar] [CrossRef]
- Savickỳ, P. On the bent Boolean functions that are symmetric. Eur. J. Comb. 1994, 15, 407–410. [Google Scholar] [CrossRef] [Green Version]
- Cusick, T.W.; Stanica, P. Cryptographic Boolean Functions and Applications; Academic Press: Cambridge, MA, USA, 2017. [Google Scholar]
- Carlet, C. Boolean Functions for Cryptography and Coding Theory; Cambridge University Press: Cambridge, UK, 2021. [Google Scholar]
- Wu, C.-K.; Feng, D. Boolean Functions and Their Applications in Cryptography; Springer: Berlin/Heidelberg, Germany, 2016. [Google Scholar]
- Carlet, C.; Mesnager, S. Four decades of research on bent functions. Des. Codes Cryptogr. 2016, 78, 5–50. [Google Scholar] [CrossRef]
- Dillon, J.F. Elementary Hadamard Difference Sets. Ph.D. Thesis, University of Maryland, College Park, MD, USA, 1974. [Google Scholar]
- Tokareva, N. Bent Functions: Results and Applications to Cryptography; Academic Press: Cambridge, MA, USA; Elsevier: Amsterdam, The Netherlands, 2015. [Google Scholar]
- Carlet, C. Boolean functions for cryptography and error correcting codes, Boolean Models and Methods in Mathematics. Comput. Sci. Eng. 2010, 2, 257–397. [Google Scholar]
- Mesnager, S. Bent Functions; Springer: Berlin/Heidelberg, Germany, 2016. [Google Scholar]
- Çalık, Ç. Nonlinearity computation for sparse boolean functions. arXiv 2013, arXiv:1305.0860. [Google Scholar]
- Çalık, Ç. Computing Cryptographic Properties of Boolean Functions from the Algebraic Normal form Representation. Ph.D. Thesis, Middle East Technical University, Ankara, Turkey, 2013. [Google Scholar]
- Carlet, C. On the confusion and diffusion properties of Maiorana–McFarland’s and extended Maiorana–McFarland’s functions. J. Complex. 2004, 20, 182–204. [Google Scholar] [CrossRef] [Green Version]
- Dobbertin, H. Construction of bent functions and balanced Boolean functions with high nonlinearity. In International Workshop on Fast Software Encryption; Springer: Berlin/Heidelberg, Germany, 1994; pp. 61–74. [Google Scholar]
- Charpin, P. Normal boolean functions. J. Complex. 2004, 20, 245–265. [Google Scholar] [CrossRef] [Green Version]
- Carlet, C.; Méaux, P.; Rotella, Y. Boolean functions with restricted input and their robustness; application to the flip cipher. IACR Trans. Symmetric Cryptol. 2017, 2017, 192–227. [Google Scholar] [CrossRef]
- Carlet, C. Recursive lower bounds on the nonlinearity profile of boolean functions and their applications. IEEE Trans. Inf. Theory 2008, 54, 1262–1272. [Google Scholar] [CrossRef]
- Iwata, T.; Kurosawa, K. Probabilistic higher order differential attack and higher order bent functions. In International Conference on the Theory and Application of Cryptology and Information Security; Springer: Berlin/Heidelberg, Germany, 1999; pp. 62–74. [Google Scholar]
- Carlet, C. On the higher order nonlinearities of algebraic immune functions. In Annual International Cryptology Conference; Springer: Berlin/Heidelberg, Germany, 2006; pp. 584–601. [Google Scholar]
- Carlet, C.; Dalai, D.K.; Gupta, K.C.; Maitra, S. Algebraic immunity for cryptographically significant boolean functions: Analysis and construction. IEEE Trans. Inf. Theory 2006, 52, 3105–3121. [Google Scholar] [CrossRef]
- Yan, H.; Tang, D. Improving lower bounds on the second-order nonlinearity of three classes of boolean functions. Discret. Math. 2020, 343, 111698. [Google Scholar] [CrossRef]
- Mesnager, S.; Zhou, Z.; Ding, C. On the nonlinearity of boolean functions with restricted input. Cryptogr. Commun. 2019, 11, 63–76. [Google Scholar] [CrossRef]
- Semaev, I. New non-linearity parameters of boolean functions. arXiv 2019, arXiv:1906.00426. [Google Scholar]
- Guerrini, E.; Orsini, E.; Sala, M. Computing the distance distribution of systematic nonlinear codes. J. Algebra Its Appl. 2010, 9, 241–256. [Google Scholar] [CrossRef] [Green Version]
- Bellini, E.; Sala, M. A deterministic algorithm for the distance and weight distribution of binary nonlinear codes. Int. J. Inf. Coding Theory 2018, 5, 18–35. [Google Scholar]
- Sala, M.; Simonetti, I. An algebraic description of Boolean Functions. International Workshop on Coding and Cryptography (WCC) 2007, Versailles, France, 2007. Available online: https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.74.3211&rep=rep1&type=pdf (accessed on 2 November 2021).
- Bellini, E.; Mora, T.; Sala, M. Algorithmic Approach Using Polynomial Systems for the Nonlinearity of Boolean Functions, Computation Presentation. In Proceedings of the The thirteen conference on Effective Methods in Algebraic Geometry, Trento, Italy, 15–19 June 2015. [Google Scholar]
- Bellini, E. Yet Another Algorithm to Compute the Nonlinearity of a Boolean Function. In Proceedings of the Yet Another Conference on Cryptography, Porquerolles, France, 9–13 June 2014; Available online: http://veron.univ-tln.fr/YACC14/Bellini.pdf (accessed on 2 November 2021).
- MacWilliams, F.J.; Sloane, N.J.A. The Theory of Error-Correcting Codes; North-Holland Publishing Co. Amsterdam, North-Holland Mathematical Library: Amsterdam, North-Holland, 1977; Volume 16. [Google Scholar]
- Carlet, C.; Guillot, P. A new representation of Boolean functions. In Applied Algebra, Algebraic Algorithms and Error-Correcting Codes; Springer: Berlin/Heidelberg, Germany, 1999; pp. 94–103. [Google Scholar]
- Carlet, C.; Guillot, P. Bent, resilient functions and the Numerical Normal Form. DIMACS Ser. Discret. Math. Theor. Comput. Sci. 2001, 56, 87–96. [Google Scholar]
- Carlet, C. On the coset weight divisibility and nonlinearity of resilient and correlation-immune functions. In Sequences and Their Applications; Springer: Berlin/Heidelberg, Germany, 2002; pp. 131–144. [Google Scholar]
- Simonetti, I. On the non-linearity of Boolean functions. In Gröbner Bases, Coding, and Cryptography; RISC Book Series; Sala, M., Mora, T., Perret, L., Sakata, S., Traverso, C., Eds.; Springer: Heidelberg, Germany, 2009; pp. 409–413. [Google Scholar]
- Guerrini, E. On Distance and Optimality in Non-Linear Codes. Master’s Thesis, Department of Mathematics, University of Pisa, Pisa, Italy, 2005. [Google Scholar]
- Seidenberg, A. Constructions in algebra. Trans. Amer. Math. Soc. 1974, 197, 273–313. [Google Scholar] [CrossRef]
- MAGMA: Computational Algebra System for Algebra, Number Theory and Geometry, The University of Sydney Computational Algebra Group. 2020. Available online: http://magma.maths.usyd.edu.au/magma (accessed on 16 December 2021).
- Faugere, J.-C. A new efficient algorithm for computing gröbner bases (f4). J. Pure Appl. Algebra 1999, 139, 61–88. [Google Scholar] [CrossRef]
- Simonetti, I. On Some Applications of Commutative Algebra to Boolean Functions and Their Non-Linearity. Ph.D. Thesis, Department of Mathematics, University of Trento, Trento, Italy, 2007. [Google Scholar]
- Bellini, E. Computational Techniques for Nonlinear Codes and Boolean Functions. Ph.D. Thesis, Department of Mathematics, University of Trento, Trento, Italy, 2014. [Google Scholar]
u | 1 | ||||||||
---|---|---|---|---|---|---|---|---|---|
000 | |||||||||
001 | |||||||||
010 | |||||||||
011 | |||||||||
100 | |||||||||
101 | |||||||||
110 | |||||||||
111 |
u | |||||||||
---|---|---|---|---|---|---|---|---|---|
000 | |||||||||
001 | |||||||||
010 | |||||||||
011 | |||||||||
100 | |||||||||
101 | |||||||||
110 | |||||||||
111 |
NL | #S | m | M | #C | #S | m | M | #C | #S | m | M | #C |
0 | 4 | 4 | 4 | 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 4.5 | 4 | 5 | 4.4 | 8.5 | 7 | 10 | 28 | 0 | 0 | 0 | 0 |
2 | 4.4 | 4 | 5 | 4 | 9.7 | 8 | 11 | 24 | 9.3 | 8 | 11 | 56 |
NL | #S | m | M | #C | #S | m | M | #C | #S | m | M | #C |
0 | 5 | 5 | 5 | 16 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 5.25 | 4 | 6 | 8 | 8.75 | 8 | 11 | 120 | 0 | 0 | 0 | 0 |
2 | 4.83 | 4 | 6 | 5.67 | 9.97 | 8 | 12 | 62.83 | 14.50 | 12 | 18 | 560 |
3 | 4.62 | 4 | 6 | 4.76 | 9.92 | 8 | 12 | 42.72 | 15.76 | 13 | 19 | 315.04 |
4 | 4.53 | 4 | 6 | 4.42 | 9.83 | 8 | 12 | 37.49 | 15.81 | 13 | 19 | 246.19 |
5 | 4.46 | 4 | 5 | 4.19 | 10.11 | 8 | 12 | 34.39 | 15.89 | 13 | 19 | 215.68 |
6 | 4.43 | 4 | 5 | 4.00 | 9.71 | 8 | 11 | 24.00 | 17.29 | 16 | 19 | 156.86 |
NL | #S | m | M | #C | #S | m | M | #C | #S | m | M | #C | #S | m | M | #C |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
3 | 20.18 | 15 | 23 | 1820 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
4 | 21.44 | 16 | 24 | 1319.96 | 23.99 | 22 | 29 | 4368 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
5 | 21.54 | 19 | 24 | 1003.15 | 26.00 | 24 | 28 | 3851.24 | 23.50 | 22 | 25 | 8008 | 0 | 0 | 0 | 0 |
6 | 19.57 | 19 | 20 | 671.71 | 28 | 28 | 28 | 2603.79 | 28 | 28 | 28 | 7608.79 | 16 | 16 | 16 | 11441 |
n | Algorithm 3 | Algorithm 2 | Algorithm 2 | Algorithm 1 | ||
---|---|---|---|---|---|---|
2–3 | 1.53 | - | - | 1.45 | 1.86 | 2.50 |
3–4 | 1.31 | - | - | 1.88 | 2.27 | 7.51 |
4–5 | 1.22 | 0.90 | 1.02 | 2.33 | 2.91 | - |
5–6 | 1.17 | 0.98 | 1.09 | 2.64 | 3.23 | - |
6–7 | 1.14 | 1.01 | 1.13 | 2.76 | 4.29 | - |
7–8 | 1.12 | 1.22 | 1.07 | 3.24 | - | - |
8–9 | 1.11 | 0.95 | 1.17 | 3.48 | - | - |
9–10 | 1.09 | 1.25 | 1.07 | - | - | - |
10–11 | 1.09 | 1.07 | 1.11 | - | - | - |
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/).
Share and Cite
Bellini, E.; Sala, M.; Simonetti, I. Nonlinearity of Boolean Functions: An Algorithmic Approach Based on Multivariate Polynomials. Symmetry 2022, 14, 213. https://doi.org/10.3390/sym14020213
Bellini E, Sala M, Simonetti I. Nonlinearity of Boolean Functions: An Algorithmic Approach Based on Multivariate Polynomials. Symmetry. 2022; 14(2):213. https://doi.org/10.3390/sym14020213
Chicago/Turabian StyleBellini, Emanuele, Massimiliano Sala, and Ilaria Simonetti. 2022. "Nonlinearity of Boolean Functions: An Algorithmic Approach Based on Multivariate Polynomials" Symmetry 14, no. 2: 213. https://doi.org/10.3390/sym14020213
APA StyleBellini, E., Sala, M., & Simonetti, I. (2022). Nonlinearity of Boolean Functions: An Algorithmic Approach Based on Multivariate Polynomials. Symmetry, 14(2), 213. https://doi.org/10.3390/sym14020213