> For the complete documentation index, see [llms.txt](https://tools.galois.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tools.galois.com/cryptol/get-started/documentation.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
