# Documentation

### Reference Materials

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>Browse the Cryptol Reference Manual -> </td><td><a href="https://galoisinc.github.io/cryptol/master/RefMan.html">https://galoisinc.github.io/cryptol/master/RefMan.html</a></td></tr><tr><td>Read our Programming Cryptol guide -> </td><td><a href="https://cdn.prod.website-files.com/673b407e535dbf3b547179dd/677c422f88a92701db5a834d_ProgrammingCryptol.pdf">https://cdn.prod.website-files.com/673b407e535dbf3b547179dd/677c422f88a92701db5a834d_ProgrammingCryptol.pdf</a></td></tr><tr><td>Access the web-based Cryptol course -> </td><td><a href="https://weaversa.github.io/cryptol-course/">https://weaversa.github.io/cryptol-course/</a></td></tr></tbody></table>

### Publications

Some of the material below was created for an earlier version of Cryptol. While the core ideas still apply to the current version, there have been some syntactic changes to the language, so some of the examples need to be translated to the current version.

#### Case Studies and White Papers

* [Empowering the Experts: High-Assurance, High-Performance, High-Level Design with Cryptol](https://cdn.prod.website-files.com/673b407e535dbf3b547179dd/67783b41108a7f20652ac9db_empowering_the_experts.pdf)
* [Domain Specific Languages: A path to high assurance solutions](https://cdn.prod.website-files.com/673b407e535dbf3b547179dd/677c3dcf5de429e588c17875_Cryptol%20Case%20Study.pdf)
* [CRYPTOL: High Assurance, Retargetable Crypto Development and Validation](https://cdn.prod.website-files.com/673b407e535dbf3b547179dd/677c3e237a1d1c47e020150e_Cryptol-%20High%20Assurance%2C%20Retargetable%20Crypto%20Development%20and%20Validation.pdf)

#### Research Publications

* Browning, S. and Weaver, P. Designing Tunable, Verifiable Cryptographic Hardware Using Cryptol. In [Design and Verification of Microprocessor Systems for High-Assurance](http://www.springer.com/engineering/circuits+&+systems/book/978-1-4419-1538-2), David S. Hardin, Editor. Springer 2010.
* Colby Hoffman, Jeff Lewis, Brad Martin, Sally Browning, A Complete Design Flow for MILS in a Single High Assurance FPGA, European Reconfigurable Radio Technologies Workshop, 2010.
* Levent Erkök, Magnus Carlsson, and Adam Wick. Hardware/Software Co-verification of Cryptographic Algorithms using Cryptol. In Formal Methods in Computer Aided Design Conference, FMCAD’09, Austin, TX, November 2009, IEEE.
* Levent Erkök, John Matthews. High assurance programming in Cryptol. In CSIIRW’09: Proceedings of the 5th Annual Workshop on Cyber Security and Information Intelligence Research, Oak Ridge, TN, April 2009, ACM.
* Levent Erkök and John Matthews. Pragmatic Equivalence and Safety Checking in Cryptol. PLPV 2009: 73-81.
* Lee Pike, Mark Shields, John Matthews: A verifying core for a cryptographic language compiler. ACL2 2006: 1-10.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://tools.galois.com/cryptol/get-started/documentation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
