{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/encoding-cryptographic-functions-to-sat-using","title":"Encoding Cryptographic Functions to SAT Using Transalg System","arxiv_id":"1607.00888","date":"2016-07-04","proceeding":null,"authors":["Ilya Otpuschennikov","Alexander Semenov","Irina Gribanova","Oleg Zaikin","Stepan Kochemazov"],"abstract":"In this paper we propose the technology for constructing propositional\nencodings of discrete functions. It is aimed at solving inversion problems of\nconsidered functions using state-of-the-art SAT solvers. We implemented this\ntechnology in the form of the software system called Transalg, and used it to\nconstruct SAT encodings for a number of cryptanalysis problems. By applying SAT\nsolvers to these encodings we managed to invert several cryptographic\nfunctions. In particular, we used the SAT encodings produced by Transalg to\nconstruct the family of two-block MD5 collisions in which the first 10 bytes\nare zeros. Also we used Transalg encoding for the widely known A5/1 keystream\ngenerator to solve several dozen of its cryptanalysis instances in a\ndistributed computing environment. In the paper we compare in detail the\nfunctionality of Transalg with that of similar software systems.","url_abs":"http://arxiv.org/abs/1607.00888v1","url_pdf":"http://arxiv.org/pdf/1607.00888v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"encoding-cryptographic-functions-to-sat-using","repo_url":"https://gitlab.com/transalg/transalg","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":null}],"tasks":[{"task_slug":"cryptanalysis","task_name":"Cryptanalysis"},{"task_slug":"distributed-computing","task_name":"Distributed Computing"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}