Designing Tunable, Verifiable Cryptographic Hardware Using Cryptol

  • Sally Browning
  • Philip Weaver


Cryptographic functional units are increasingly being incorporated into microprocessor designs. In this chapter, we demonstrate how the Cryptol language can be used to produce efficient, high-performance, high-assurance circuits that implement cryptographic functions. By way of example, we develop several implementations of the Advanced Encryption Standard (AES) in Cryptol that are optimized for speed or area and proven equivalent to a high-level specification for AES.


Clock Cycle Advance Encryption Standard Equivalence Check Sequential Circuit Combinatorial Circuit 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Daemen J, Rijmen V (2000) The block cipher rijndael. In: Quisquater J-J, Schneier B (eds) Smart card research and applications, LNCS 1820. Springer, Berlin, pp 288–296Google Scholar
  2. 2.
    Galois, Inc. (2008aa) Cryptol programming guide.
  3. 3.
    Galois, Inc. (2008bb) From cryptol to FPGA: a tutorial.
  4. 4.
    National Institute of Standards and Technology (2001) Federal information processing standards publication 197: advanced encryption standard (AES).

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  1. 1.Galois, Inc.PortlandUSA

Personalised recommendations