Skip to content

Software

Dustin Schnelle edited this page Apr 17, 2018 · 1 revision

Software

This page is to display information about the software used for the "Reconfigurable Arduino Crypto FPGA Shield" project. Both Cyptol and SAW are open source products provided by Galois, but can be obtained via GitHub.

Sodium Library

Sodium library

Cryptol

Cryptol is a domain-specific language used to specify cryptographic algorithms. Cryptol software allows for the implementation of an algorithm more suited towards mathematical specification than a general purpose language, like C. According to cryptol.net Cyrptol is used by private companies, educators, and the U.S. Government to analyze algorithms and implementation, to generate implementation, and as a learning tool. Cryptol was originally designed to express cryptographic algorithms that can be implemented in computer hardware.

Downloading Cryptol:

Note: to run Cryptol Z3 SMT solver is needed as the default SMT solver

Click here to go to the repository where a Cryptol 2.5.0 for Linux can be obtained.

Click here to go to the repository where Z3 4.6.0 can be obtained.

Documentation on Cryptol:

ProgrammingCryptol

SAW

SAW stands for Software Analysis Workbench and according to saw.galios.com it provides the ability to formally verify properties of code written in C, Java, and Cryptol. Using SAW as a verification tool provides a level of assurance beyond the capabilities of traditional frameworks. Galois has used SAW mainly to verify implementations of cryptographic algorithms like AES block cipher and the Secure Hash Algorithm(SHA).

Downloading SAW:

Click here to go to SAW download page containing binaries and dependencies(ABC, Boolector, CVC4, MathSAT, Yikes, and Z3).

Manual on SAW:

SAW Manual Page

Clone this wiki locally