[Resource Topic] 2024/1880: Cryptography Experiments In Lean 4: SHA-3 Implementation

Welcome to the resource topic for 2024/1880

Title:
Cryptography Experiments In Lean 4: SHA-3 Implementation

Authors: Gérald Doussot

Abstract:

In this paper we explain how we implemented the Secure Hash Algorithm-3 (SHA-3) family of functions in Lean 4, a functional programming language and theorem prover. We describe how we used several Lean facilities including type classes, dependent types, macros, and formal verification, and then refined the design to provide a simple one-shot and streaming API for hashing, and Extendable-output functions (XOFs), to reduce potential for misuse by users, and formally prove properties about the implementation.

ePrint: https://eprint.iacr.org/2024/1880

See all topics related to this paper.

Feel free to post resources that are related to this paper below.

Example resources include: implementations, explanation materials, talks, slides, links to previous discussions on other websites.

For more information, see the rules for Resource Topics .