Skip to main content

Functional Correctness Proofs of Encryption Algorithms

  • Conference paper
Logic for Programming, Artificial Intelligence, and Reasoning (LPAR 2005)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 3835))

Abstract

We discuss a collection of mechanized formal proofs of symmetric key block encryption algorithms (AES, MARS, Twofish, RC6, Serpent, IDEA, and TEA), performed in an implementation of higher order logic. For each algorithm, functional correctness, namely that decryption inverts encryption, is formally proved by a simple but effective proof methodology involving application of invertibility lemmas in the course of symbolic evaluation. Block ciphers are then lifted to the encryption of arbitrary datatypes by using modes of operation to encrypt lists of bits produced by a polytypic encoding method.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Anderson, R., Biham, E., Knudsen, L.: Serpent: A proposal for the advanced encryption standard (August 1998), Available at http://www.cl.cam.ac.uk/~rja4/serpent.html

  2. Armando, A., Basin, D., Boichut, Y., Chevalier, Y., Compagna, L., Cuellar, J., Hankes Drielsma, P., He, P.C., Rusinowitch, M., Santiago, J., Turuani, M., Vigano, L., Vigneron, L.: The Avispa tool for the automated validation of internet security protocols and applications. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 281–285. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  3. Backes, M., Pfitzmann, B., Waidner, M.: Symmetric authentication in a simulatable Dolev-Yao style cryptographic library. Journal of Information Security 4(3), 135–154 (2005)

    Article  Google Scholar 

  4. Burwick, C., Coppersmith, D., D’Avignon, E., Gennaro, R., Halevi, S., Jutla, C., Mathas Jr., S., O’Connor, L., Peyravian, M., Safford, D., Zunic, N.: MARS - a candidate cipher for AES (September 1999), Available at, http://www.research.ibm.com/security/mars.pdf

  5. Daemen, J., Rijmen, V.: The design of Rijndael: AES - the Advanced Encryption Standard. In: Information Security and Cryptography, vol. 17. Springer, Heidelberg (2002)

    Google Scholar 

  6. Dworkin, M.: Recommendation for block cipher modes of operation: Methods and techniques, Tech. Report SP 800-38A, National Institute of Standards and Technology (2001)

    Google Scholar 

  7. Gordon, M., Iyoda, J., Owens, S., Slind, K.: Automatic formal synthesis of hardware from higher order logic. In: Proceedings of Fifth International Workshop on Automated Verification of Critical Systems (AVoCS). ENTCS (2005) (to appear)

    Google Scholar 

  8. Lai, X., Massey, J.L., Murphy, S.: Markov ciphers and differential cryptanalysis. In: Davies, D.W. (ed.) EUROCRYPT 1991. LNCS, vol. 547, pp. 17–38. Springer, Heidelberg (1991)

    Google Scholar 

  9. Lewis, J.: Cryptol, a domain specific language for cryptography, Tech. report, Galois Connections Inc., (2002), http://www.cryptol.net/docs/CryptolPaper.pdf

  10. Matthews, J.: Recursive definition over coinductive types. In: Bertot, Y., Dowek, G., Hirschowitz, A., Paulin, C., Théry, L. (eds.) TPHOLs 1999. LNCS, vol. 1690, p. 73. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  11. Meertens, L.: Calculate polytypically! In: Kuchen, H., Swierstra, S.D. (eds.) PLILP 1996. LNCS, vol. 1140, pp. 1–16. Springer, Heidelberg (1996)

    Google Scholar 

  12. Norrish, M., Slind, K.: HOL-4 manuals (1998-2005), Available at, http://hol.sourceforge.net/

  13. United States National Institute of Standards and Technology, Advanced Encryption Standard, Web (2001), http://csrc.nist.gov/encryption/aes/

  14. Boyer, R., Moore, J.: Proof checking the RSA public key encryption algorithm. American Mathematical Monthly 91(3), 181–189 (1984)

    Article  MATH  MathSciNet  Google Scholar 

  15. Rivest, R., Robshae, M., Sidney, R., Yin, Y.L.: The RC6 block cipher (August 1998), Available at, http://www.rsasecurity.com/rsalabs/rc6

  16. Schneier, B., Kelsey, J., Whiting, D., Wagner, D., Hall, C., Ferguson, N.: The Twofish encryption algorithm. John Wiley and Sons, Chichester (2003)

    Google Scholar 

  17. Slind, K.: A verification of Rijndael in HOL, Supplementary Proceedings of TPHOLs 2002 (V. A Carreno, C. A. Munoz, and S. Tahar, eds.), NASA Conference Proceedings, no. CP-2002-211736 (August 2002)

    Google Scholar 

  18. Slind, K., Hurd, J.: Applications of polytypism in theorem proving. In: Basin, D., Wolff, B. (eds.) TPHOLs 2003. LNCS, vol. 2758, pp. 103–119. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  19. Thery, L.: Formalizing Huffman’s algorithm, Tech. Report TRCS 034/2004, Department of Informatics, University of Acquila (2004)

    Google Scholar 

  20. Toma, D., Borrione, D.: Formal verification of a SHA-1 circuit core using ACL2. In: Hurd, J., Melham, T. (eds.) TPHOLs 2005. LNCS, vol. 3603, pp. 326–341. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  21. Wadler, P.: Monads for functional programming. In: Broy, M. (ed.) Marktoberdorf Summer School on Progam Design Calculi. NATO ASI Series F: Computer and Systems Sciences, vol. 118. Springer, Heidelberg (1992)

    Google Scholar 

  22. Wheeler, D., Needham, R.: TEA, a tiny encryption algorithm. In: Preneel, B. (ed.) FSE 1994. LNCS, vol. 1008, pp. 363–366. Springer, Heidelberg (1995)

    Google Scholar 

  23. Zhang, J., Slind, K.: Verification of Euclid’s algorithm for finding multiplicative inverses. In: Hurd, J., Melham, T. (eds.) TPHOLs 2005. LNCS, vol. 3603. Springer, Heidelberg (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Duan, J., Hurd, J., Li, G., Owens, S., Slind, K., Zhang, J. (2005). Functional Correctness Proofs of Encryption Algorithms. In: Sutcliffe, G., Voronkov, A. (eds) Logic for Programming, Artificial Intelligence, and Reasoning. LPAR 2005. Lecture Notes in Computer Science(), vol 3835. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11591191_36

Download citation

  • DOI: https://doi.org/10.1007/11591191_36

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-30553-8

  • Online ISBN: 978-3-540-31650-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics