Logical Cryptanalysis as a SAT Problem
 Fabio Massacci,
 Laura Marraro
 … show all 2 hide
Rent the article at a discount
Rent now* Final gross prices may vary according to local VAT.
Get AccessAbstract
Cryptographic algorithms play a key role in computer security and the formal analysis of their robustness is of utmost importance. Yet, logic and automated reasoning tools are seldom used in the analysis of a cipher, and thus one cannot often get the desired formal assurance that the cipher is free from unwanted properties that may weaken its strength.
In this paper, we claim that one can feasibly encode the lowlevel properties of stateoftheart cryptographic algorithms as SAT problems and then use efficient automated theoremproving systems and SATsolvers for reasoning about them. We call this approach logical cryptanalysis.
In this framework, for instance, finding a model for a formula encoding an algorithm is equivalent to finding a key with a cryptanalytic attack. Other important properties, such as cipher integrity or algebraic closure, can also be captured as SAT problems or as quantified boolean formulae. SAT benchmarks based on the encoding of cryptographic algorithms can be used to effectively combine features of “realworld” problems and randomly generated problems.
Here we present a case study on the U.S. Data Encryption Standard (DES) and show how to obtain a manageable encoding of its properties.
We have also tested three SAT provers, TABLEAU by Crawford and Auton, SATO by Zhang, and relSAT by Bayardo and Schrag, on the encoding of DES, and we discuss the reasons behind their different performance.
A discussion of open problems and future research concludes the paper.
 Abadi, M., Needham, R. (1996) Prudent engineering practice for cryptographic protocols. IEEE Trans. Software Engng. 22: pp. 615
 Anderson, R. and Needham, R.: Programming Satan's computer, in Computer Science TodayRecent Trends and Developments, Lecture Notes in Comput. Sci. 1000, SpringerVerlag, 1996, pp. 426–440.
 Andleman, D., Reeds, J. (1982) On the cryptanalysis of rotor machines and substitutionpermutations networks. IEEE Trans. Inform. Theory 28: pp. 578584
 Ascione, M.: Validazione e benchmarking dei BDD per la criptanalisi del data encryption standard, Master's thesis, Facoltà di Ingegneria, Univ. di Roma I “La Sapienza”, March 1999. In Italian.
 Bayardo, R. and Schrag, R.: Using CSP lookback techniques to solve realworld SAT instances, in Proc. of the 14th Nat. (US) Conf. on Artificial Intelligence (AAAI97), AAAI Press/The MIT Press, 1997, pp. 203–208.
 Biham, E. and Biryukov, A.: An improvement of Davies' attack on DES, in Advances in CryptologyEurocrypt 94, Lecture Notes in Comput. Sci., SpringerVerlag, 1994.
 Biham, E., Shamir, A. (1991) Differential cryptanalysis of DESlike cryptosystems. J. Cryptology 4: pp. 372
 Bryant, R. (1986) Graphbased algorithms for Boolean function manipulation. IEEE Trans. Computers 35: pp. 677691
 Büning, H., Karpinski, M., Flögel, A. (1995) Resolution for quantified Boolean formulas. Inform. Comput. 117: pp. 1218
 Burrows, M., Abadi, M., Needham, R. (1990) A logic for authentication. ACM Trans. Comput. Systems 8: pp. 1836
 Cadoli, M., Giovanardi, A. and Schaerf, M.: An algorithm to evaluate quantified Boolean formulae, in Proc. of the 15th (US) Nat. Conf. on Artificial Intelligence (AAAI98), AAAI Press/The MIT Press, 1998, pp. 262–267.
 Campbell, K. and Weiner, M.: DES is not a group, in Proc. of Advances in Cryptography (CRYPTO92), Lecture Notes in Comput. Sci., SpringerVerlag, 1992, pp. 512–520.
 Claesen, L. eds. (1990) Formal VLSI Correctness Verification: VLSI Design Methods, Vol. II. Elsevier Science Publishers, NorthHolland
 Cook, S., Mitchel, D. (1997) Finding hard instances of the satisfiability problem: A survey. Satisfiability Problem: Theory and Applications 35: pp. 117
 Crawford, J., Auton, L. (1996) Experimental results on the crossover point in random 3SAT. Artif. Intell. 81: pp. 3157
 Cryptography Research Inc. DES key search project information, Technical report, Cryptography Research Inc., 1998. Available on the web at http://www.cryptography.com/des/.
 Davis, M., Longemann, G., Loveland, D. (1962) A machine program for theoremproving. Comm. ACM 5: pp. 394397
 Davis, M., Putnam, H. (1960) A computing procedure for quantificational theory. J. ACM 7: pp. 201215
 De Millo, R., Lynch, L. and Merrit, M.: Cryptographic protocols, in Proc. of the 14th ACM SIGACT Symposium on Theory of Computing (STOC82), 1982, pp. 383–400.
 Feistel, H., Notz, W., Smith, L. (1975) Some cryptographic techniques for machinetomachine data communication. Proc. of the IEEE 63: pp. 15451554
 Gomes, C. and Selman, B.: Problem structure in the presence of perturbation, in Proc. of the 14th Nat. (US) Conf. on Artificial Intelligence (AAAI97), AAAI Press/The MIT Press, 1997.
 Gomes, C., Selman, B. and Crato, N.: Heavytailed distributions in combinatorial search, in Third Internal. Conf. on Principles and Practice of Constraint Programming (CP97), Lecture Notes in Comput. Sci. 1330, SpringerVerlag, 1997, pp. 121–135.
 Inventory of controls on cryptography technologies. Organization for Economic Cooperation and Development, Paris
 Harrison, J.: Stalmarck's algorithm as a HOL derived rule, in Proc. of the 9th Internal. Conf. on Theorem Proving in Higher Order Logics (TPHOLs'96), Lecture Notes in Comput. Sci. 1125, SpringerVerlag, 1996, pp. 221–234.
 Johnson, D. and Trick, M. (eds): Cliques, Coloring, Satisfiability: The Second DIMACS Implementation Challenge, AMS Series in Discrete Math. and Theoret. Comput. Sci. 26, Amer. Math. Soc., 1996.
 Kaliski, B., Rivest, R. and Sherman, A.: Is the Data Encryption Standard a group? (preliminary abstract), in Advances in CryptologyEurocrypt 85, Lecture Notes in Comput. Sci. 219, SpringerVerlag, 1985, pp. 81–95.
 Liberatore, P.: Algorithms and experiments on finding minimal models, Technical Report 09–99, Dipartimento di Informatica e Sistemistica, Università di Roma “La Sapienza”, 1999.
 Lowe, G.: Breaking and fixing the NeedhamSchroeder publickey protocol using CSP and FDR, in Tools and Algorithms for the Construction and Analysis of Systems, Lecture Notes in Comput. Sci. 1055, SpringerVerlag, 1996, pp. 147–166.
 Marraro, L.: Analisi crittografica del DES mediante logica booleana, Master's thesis, Facolta di Ingegneria, Univ. di Roma I “La Sapienza”, December 1998. In Italian.
 Marraro, L. and Massacci, F.: A new challenge for automated reasoning: Verification and cryptanalysis of cryptographic algorithms, Technical Report 05–99, Dipartimento di Informatica e Sistemistica, Università di Roma “La Sapienza”, 1999.
 Massacci, F.: Using walkSAT and relSAT for cryptographic key search, in Proc. of the 16th Internat. Joint Conf. on Artificial Intelligence (IJCAI99), Morgan Kaufmann, 1999, pp. 290–295.
 Matsui, M.: The first experimental cryptanalysis of the Data Encryption Standard, in Proc. of Advances in Cryptography (CRYPTO94), Lecture Notes in Comput. Sci. 839, SpringerVerlag, 1994, pp. 1–11.
 Matsui, M.: Linear cryptanalysis method for DES cipher, in Advances in CryptologyEwocrypt 93, Lecture Notes in Comput. Sci. 765, SpringerVerlag, 1994, pp. 368–397.
 Mitchell, J., Mitchell, M. and Stern, U.: Automated analysis of cryptographic protocols using Murphi, in Proc. of the 16th IEEE Symposium on Security and Privacy, IEEE Computer Society Press, 1997, pp. 141–151.
 Report of the ministerial workshop on cryptography policy. Organization for Economic Cooperation and Development, Paris
 National Institute of Standards and Technology. Data encryption standard. Federal Information Processing Standards Publications FIPS PUB 46–2, National (U.S.) Bureau of Standards, Dec. 1997. Supersedes FIPS PUB 46–1 of Jan. 1988.
 National Institute of Standards and Technology. Request for comments on candidate algorithms for the advanced encryption standard (AES), (U.S.) Federal Register 63(177), September 1998.
 Committee on Payment, Settlement Systems, and the Group of Computer Experts of the central banks of the Group of Ten countries, Security of Electronic Money, Banks for International Settlements, Basle, August 1996.
 Paulson, L.: The inductive approach to verifying cryptographic protocols, J. Comput. Security (1998).
 Rivest, R.: The RC5 encryption algorithm, in Proc. of the Fast Software Encryption Workshop (FSE95), Lecture Notes in Comput. Sci. 1008, SpringerVeriag, 1995, pp. 86–96.
 Rudell, R.: Espresso 1OCTTOOLS, January 1988.
 Rudell, R., SangiovanniVincentelli, A. (1987) Multiple valued minimization for PLA optimization. IEEE Trans. Comput. Aided Design. 6: pp. 727750
 Ryan, P., Schneider, S. (1998) An attack on a recurive authentication protocol: A cautionary tale. Inform. Process. Lett. 65: pp. 716
 Schaefer, T.: The complexity of satisfiability problems, in Proc. of the 10th ACM Symposium on Theory of Computing (STOC78), ACM Press and Addison Wesley, 1978, pp. 216–226.
 Schneier, B.: Applied Cryptography: Protocols, Algorithms, and Source Code in C, Wiley, 1994.
 Selman, B., Kautz, H. (1996) Knowledge compilation and theory approximation. J. ACM 43: pp. 193224
 Selman, B., Kautz, H. and McAllester, D.: Ten challenges in propositional resoning and search, in Proc. of the 15th Internat. Joint Conf. on Artificial Intelligence (IJCAI97), Morgan Kaufmann, Los Altos, 1997.
 Selman, B., Mitchell, D., Levesque, H. (1996) Generating hard satisfiability problems. Artif. Intell. 81: pp. 1729
 Shannon, C. (1949) Communication theory of secrecy systems. Bell System Technical J. 28: pp. 656715
 Suttner, C., Sutcliffe, G. (1998) The CADE14 ATP system competition. J. Automated Reasoning 21: pp. 99134
 Zhang, H.: SATO: An efficient propositional prover, in Proc. of the 14th Internat. Conf. on Automated Deduction (CADE97), Lecture Notes in Comput. Sci., 1997.
 Zhang, H.: Personal communication, Nov. 1998.
 Zhang, H. and Stickel, M.: An efficient algorithm for unitpropagation, in Proc. of the 4th Internat. Symposium on AI and Mathematics, 1996.
 Title
 Logical Cryptanalysis as a SAT Problem
 Journal

Journal of Automated Reasoning
Volume 24, Issue 12 , pp 165203
 Cover Date
 20000201
 DOI
 10.1023/A:1006326723002
 Print ISSN
 01687433
 Online ISSN
 15730670
 Publisher
 Kluwer Academic Publishers
 Additional Links
 Topics
 Keywords

 cipher verification
 Data Encryption Standard
 logical cryptanalysis
 propositional satisfiability
 quantified boolean formulae
 SAT benchmarks
 Industry Sectors
 Authors