Paper 2016/412
Solving Quadratic Equations with XL on Parallel Architectures - extended version
Chen-Mou Cheng, Tung Chou, Ruben Niederhagen, and Bo-Yin Yang
Abstract
Solving a system of multivariate quadratic equations (MQ) is an NP-complete problem whose complexity estimates are relevant to many cryptographic scenarios. In some cases it is required in the best known attack; sometimes it is a generic attack (such as for the multivariate PKCs), and sometimes it determines a provable level of security (such as for the QUAD stream ciphers). Under reasonable assumptions, the best way to solve generic MQ systems is the XL algorithm implemented with a sparse matrix solver such as Wiedemann's algorithm. Knowing how much time an implementation of this attack requires gives us a good idea of how future cryptosystems related to MQ can be broken, similar to how implementations of the General Number Field Sieve that factors smaller RSA numbers give us more insight into the security of actual RSA-based cryptosystems. This paper describes such an implementation of XL using the block Wiedemann algorithm. In 5 days we are able to solve a system with 32 variables and 64 equations over $\mathbb{F}_{16}$ (a computation of about $2^{60.3}$ bit operations) on a small cluster of 8 nodes, with 8 CPU cores and 36 GB of RAM in each node. We do not expect system solvers of the F$_4$/F$_5$ family to accomplish this due to their much higher memory demand. Our software also offers implementations for $\mathbb{F}_{2}$ and $\mathbb{F}_{31}$ and can be easily adapted to other small fields. More importantly, it scales nicely for small clusters, NUMA machines, and a combination of both.
Metadata
- Available format(s)
- Publication info
- A major revision of an IACR publication in CHES 2012
- Keywords
- XLGröbner basisblock Wiedemannsparse solvermultivariate quadratic systems
- Contact author(s)
- ruben @ polycephaly org
- History
- 2016-04-28: received
- Short URL
- https://ia.cr/2016/412
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2016/412, author = {Chen-Mou Cheng and Tung Chou and Ruben Niederhagen and Bo-Yin Yang}, title = {Solving Quadratic Equations with {XL} on Parallel Architectures - extended version}, howpublished = {Cryptology {ePrint} Archive, Paper 2016/412}, year = {2016}, url = {https://eprint.iacr.org/2016/412} }