Determining the Multiplicative Complexity of Boolean Functions using SAT

We present a constructive SAT-based algorithm to determine the multiplicative complexity of a Boolean function, i.e., the smallest number of AND gates in any logic network that consists of 2-input AND gates, 2-input XOR gates, and inverters. In order to speed-up solving time, we make use of several symmetry breaking constraints; these exploit properties of XAGs that may be useful beyond the proposed SAT-based algorithm. We further propose a heuristic post-optimization algorithm to reduce the number of XOR gates once the optimum number of AND gates has been obtained, which also makes use of SAT solvers. Our algorithm is capable to find all optimum XAGs for representatives of all 5-input affine-equivalent classes, and for a set of frequently occurring 6-input functions.

[1]  Vladimir Kolesnikov,et al.  Improved Garbled Circuit: Free XOR Gates and Applications , 2008, ICALP.

[2]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[3]  Mathias Soeken,et al.  SAT-Based Exact Synthesis: Encodings, Topology Families, and Parallelism , 2020, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[4]  Ahmad-Reza Sadeghi,et al.  TinyGarble: Highly Compressed and Scalable Sequential Garbled Circuits , 2015, 2015 IEEE Symposium on Security and Privacy.

[5]  Joan Boyar,et al.  Logic Minimization Techniques with Applications to Cryptology , 2013, Journal of Cryptology.

[6]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[7]  Giovanni De Micheli,et al.  The EPFL Logic Synthesis Libraries , 2018, ArXiv.

[8]  René Peralta,et al.  The multiplicative complexity of 6-variable Boolean functions , 2018, Cryptography and Communications.

[9]  Stelvio Cimato,et al.  An OBDD-Based Technique for the Efficient Synthesis of Garbled Circuits , 2019, STM.

[10]  Grigory Yaroslavtsev,et al.  Finding Efficient Circuits Using SAT-Solvers , 2009, SAT.

[11]  Magnus Find On the Complexity of Computing Two Nonlinearity Measures , 2014, CSR.

[12]  Giovanni De Micheli,et al.  The EPFL Combinational Benchmark Suite , 2015 .

[13]  René Peralta,et al.  The Multiplicative Complexity of Boolean Functions on Four and Five Variables , 2014, LightSec.

[14]  Leonid A. Levin,et al.  The Tale of One-Way Functions , 2000, Probl. Inf. Transm..

[15]  Joan Boyar,et al.  On the Shortest Linear Straight-Line Program for Computing Linear Forms , 2008, MFCS.

[16]  David Thomas,et al.  The Art in Computer Programming , 2001 .

[17]  Daniel Slamanig,et al.  Post-Quantum Zero-Knowledge and Signatures from Symmetric-Key Primitives , 2017, CCS.

[18]  Mathias Soeken,et al.  A Hybrid Method for Spectral Translation Equivalent Boolean Functions , 2019, 2019 IEEE Pacific Rim Conference on Communications, Computers and Signal Processing (PACRIM).

[19]  Martin R. Albrecht,et al.  Ciphers for MPC and FHE , 2015, IACR Cryptol. ePrint Arch..

[20]  Krzysztof Czarnecki,et al.  Learning Rate Based Branching Heuristic for SAT Solvers , 2016, SAT.

[21]  G. S. Tseitin On the Complexity of Derivation in Propositional Calculus , 1983 .

[22]  Michael Codish,et al.  Pairwise Cardinality Networks , 2010, LPAR.

[23]  Theodosis Mourouzis,et al.  Solving Circuit Optimisation Problems in Cryptography and Cryptanalysis , 2011, IACR Cryptol. ePrint Arch..

[24]  Giovanni De Micheli,et al.  Reducing the Multiplicative Complexity in Logic Networks for Cryptography and Security Applications , 2019, 2019 56th ACM/IEEE Design Automation Conference (DAC).

[25]  Donald E. Knuth The Art of Computer Programming, Volume 4, Fascicle 6: Satisfiability , 2015 .

[26]  Helmut Veith,et al.  Counterexample-guided abstraction refinement for symbolic model checking , 2003, JACM.

[27]  Giovanni De Micheli,et al.  The Role of Multiplicative Complexity in Compiling Low $T$-count Oracle Circuits , 2019, 2019 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[28]  Farinaz Koushanfar,et al.  MPCircuits: Optimized Circuit Generation for Secure Multi-Party Computation , 2019, 2019 IEEE International Symposium on Hardware Oriented Security and Trust (HOST).

[29]  Svetlana N. Selezneva On the Multiplicative Complexity of Boolean Functions , 2016, Fundam. Informaticae.

[30]  Giovanni De Micheli,et al.  A Logic Synthesis Toolbox for Reducing the Multiplicative Complexity in Logic Networks , 2020, 2020 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[31]  M. Harrison On the Classification of Boolean Functions by the General Linear and Affine Groups , 1964 .

[32]  Peter Schneider-Kamp,et al.  Synthesizing Shortest Linear Straight-Line Programs over GF(2) Using SAT , 2010, SAT.

[33]  Gilles Audemard,et al.  Predicting Learnt Clauses Quality in Modern SAT Solvers , 2009, IJCAI.