ABSTRACT
Cryptol is a domain specific language tailored for cryptographic algorithms (www.cryptol.net). Explicit support for program verification is an indispensable part of the Cryptol toolset, due to the inherent high-assurance requirements of the application domain. To this end, Cryptol comes with a suite of formal-methods based tools, allowing users to perform various program verification tasks.
- Clark Barrett, Silvio Ranise, Aaron Stump, and Cesare Tinelli. The Satisfiability Modulo Theories Library (SMT-LIB). www.smt-lib.org, 2008.Google Scholar
- Koen Claessen and John Hughes. QuickCheck: A lightweight tool for random testing of Haskell programs. In Proc. of International Conference on Functional Programming (ICFP). ACM SIGPLAN, 2000. Google ScholarDigital Library
- Daniel Kroening and Ofer Strichman. Decision Procedures: An Algorithmic Point of View. Springer, 2008. Google ScholarDigital Library
- J. R. Lewis and B. Martin. Cryptol: high assurance, retargetable crypto development and validation. In Military Communications Conference 2003, volume 2, pages 820--825. IEEE, October 2003. Google ScholarDigital Library
- T. Nipkow, L. C. Paulson, and M. Wenzel. Isabelle/HOL -- A Proof Assistant for Higher-Order Logic. LNCS 2283. Springer, 2002. Google ScholarDigital Library
- NIST. Announcing the AES, November 2001. URL http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf. FIPS Publication 197.Google Scholar
Index Terms
- High assurance programming in Cryptol
Recommendations
Cryptol: specification, implementation and verification of high-grade cryptographic applications
FMSE '07: Proceedings of the 2007 ACM workshop on Formal methods in security engineeringCommunications security is paramount in defense applications. Thus cryptographic algorithms are employed everywhere, from smart cards to hand-held field radios to central servers. The cryptography has to be strong (no-one can break the algorithm), ...
Cryptol, a DSL for cryptographic algorithms
CUFP '10: ACM SIGPLAN Commercial Users of Functional ProgrammingCryptol is a domain-specific functional language designed by Galois, Inc in collaboration with the the NSA for specifying cryptographic algorithms. The Cryptol language includes native support for arbitrary sized words, a strong type-system based on ...
Pragmatic equivalence and safety checking in Cryptol
PLPV '09: Proceedings of the 3rd workshop on Programming languages meets program verificationCryptol is programming a language designed for specifying and programming cryptographic algorithms. In order to meet high-assurance requirements, Cryptol comes with a suite of formal-methods based tools allowing users to perform various program ...
Comments