Transalg: a Tool for Translating Procedural Descriptions of Discrete Functions to SAT (Tool Paper)

In this paper we present the Transalg system, designed to produce SAT encodings for discrete functions, written as programs in a specific language. Translation of such programs to SAT is based on propositional encoding methods for formal computing models and on the concept of symbolic execution. We used the Transalg system to make SAT encodings for a number of cryptographic functions.

[1]  Mutsunori Banbara,et al.  Scarab: A Rapid Prototyping Tool for SAT-Based Constraint Programming Systems , 2013, SAT.

[2]  Claude Castelluccia,et al.  Extending SAT Solvers to Cryptographic Problems , 2009, SAT.

[3]  Mikhail Posypkin,et al.  Parallel Logical Cryptanalysis of the Generator A5/1 in BNB-Grid System , 2011, PaCT.

[4]  Michael Codish,et al.  Compiling finite domain constraints to SAT with BEE* , 2012, Theory and Practice of Logic Programming.

[5]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools (2nd Edition) , 2006 .

[6]  Barry O'Sullivan,et al.  Constraint Programming and Combinatorial Optimisation in Numberjack , 2010, CPAIOR.

[7]  Tobias Eibach,et al.  Attacking Bivium Using SAT Solvers , 2008, SAT.

[8]  Fabio Massacci,et al.  Logical Cryptanalysis as a SAT Problem , 2000, Journal of Automated Reasoning.

[9]  Niklas Sörensson,et al.  Translating Pseudo-Boolean Constraints into SAT , 2006, J. Satisf. Boolean Model. Comput..

[10]  Ilya Mironov,et al.  Applications of SAT Solvers to Cryptanalysis of Hash Functions , 2006, SAT.

[11]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

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

[13]  Alfred Menezes,et al.  Handbook of Applied Cryptography , 2018 .

[14]  Steven David Prestwich,et al.  CNF Encodings , 2021, Handbook of Satisfiability.

[15]  James C. King,et al.  Symbolic execution and program testing , 1976, CACM.

[16]  Robert K. Brayton,et al.  Logic Minimization Algorithms for VLSI Synthesis , 1984, The Kluwer International Series in Engineering and Computer Science.

[17]  Predrag Janicic URSA: A System for Uniform Reduction to SAT , 2012 .

[18]  Alexander A. Semenov,et al.  On estimating total time to solve SAT in distributed computing environments: Application to the SAT@home project , 2013, ArXiv.

[19]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[20]  Theo Tryfonas,et al.  Frontiers in Artificial Intelligence and Applications , 2009 .

[21]  Mate Soos,et al.  Grain of Salt --- an Automated Way to Test Stream Ciphers through SAT Solvers , 2010 .