weaversa / cryptol-course

The purpose of the course is to teach students how to program in Cryptol, a domain specific language for cryptography.
BSD 3-Clause "New" or "Revised" License
25 stars 13 forks source link

Salsa20 (Galois Implementation) Markdown #202

Open WeeknightMVP opened 2 years ago

WeeknightMVP commented 2 years ago

Adds a SAW demo with exercises to adapt (a variant of) Galois's existing SAW script verifying their own Salsa20 implementation. This implementation is straightforwardly derived from their Cryptol spec, which in turn closely matches Dr. Daniel J. Bernstein's original Salsa20 specification, lending itself nicely to a compositional verification with overrides and uninterpreted functions that reflects the specification and implementation.