On the Complexity of Solving Quadratic Boolean Systems
arXiv:1112.6263 · doi:10.1016/j.jco.2012.07.001
Abstract
A fundamental problem in computer science is to find all the common zeroes of quadratic polynomials in unknowns over . The cryptanalysis of several modern ciphers reduces to this problem. Up to now, the best complexity bound was reached by an exhaustive search in operations. We give an algorithm that reduces the problem to a combination of exhaustive search and sparse linear algebra. This algorithm has several variants depending on the method used for the linear algebra step. Under precise algebraic assumptions on the input system, we show that the deterministic variant of our algorithm has complexity bounded by when , while a probabilistic variant of the Las Vegas type has expected complexity . Experiments on random systems show that the algebraic assumptions are satisfied with probability very close to~1. We also give a rough estimate for the actual threshold between our method and exhaustive search, which is as low as~200, and thus very relevant for cryptographic applications.
25 pages
Cited by in corpus (11)
- Fast Quantum Algorithm for Solving Multivariate Quadratic Equations
- Solving systems of Boolean multivariate equations with quantum annealing
- On the Efficiency of Solving Boolean Polynomial Systems with the Characteristic Set Method
- Quantum Algorithms for Boolean Equation Solving and Quantum Algebraic Attack on Cryptosystems
- Limitations of the Macaulay matrix approach for using the HHL algorithm to solve multivariate polynomial systems
- RAMESSES, a Rank Metric Encryption Scheme with Short Keys
- On the chordality of polynomial sets in triangular decomposition in top-down style
- Distributed Algorithms that Solve Boolean Equations with Local and Differential Privacies
- A formula for systems of Boolean polynomial equations and applications to computational complexity
- Improved Algorithms for Solving Polynomial Systems over GF(2) by Multiple Parity-Counting
- Speeding up Deciphering by Hypergraph Ordering