sorryfreeLast reviewed 2026-09-13
10 frameworks

Verified implementations

Direct answer

Frameworks that prove properties of the code that ships: functional correctness against a specification, memory safety, and constant-time behaviour, for C, Rust, assembly and generated field arithmetic. This is where post-quantum verification happens in practice: ML-KEM and ML-DSA implementations in libjade, libcrux, AWS-LC, mlkem-native and Apple corecrypto all carry machine-checked proofs from tools in this category.

A verified specification is not a verified deployment. Implementation-level tools connect the two, either by generating code from a proof (Fiat-Crypto, Jasmin), by proving hand-written code equivalent to a spec (Cryptol/SAW, CryptoLine, HACL*), or by extracting a model from production Rust into a prover (hax, Aeneas). Bounded model checkers (Kani, CBMC) sit at the cheaper end: they prove memory safety and absence of panics within loop bounds, with no specification needed.

Two lessons from 2026 shape how to read this category. Verified code has shipped at scale (Firefox, Linux, Go, BoringSSL, Signal, AWS). And verification has a boundary: the February 2026 Verification Theatre paper documented 13 vulnerabilities in verified libraries, four inside code covered by proofs, all caused by properties that were never specified. Ask every implementation-verification vendor to state the boundary.

Frameworks in this category

FrameworkTargetsApproachAccessStatus
Jasmin and libjadeFormosa CryptoML-KEM (incl. AVX2) · ML-DSA · X-Wing · Keccak / SHA-3 · X25519 · x86-64 assemblyVerified compiler from a low-level language to assembly; correctness proved in EasyCrypt; constant-time checkedOpen sourceActive (Jasmin 2026.03.2 released July 2026)
haxCryspenRust · libcrux ML-KEM and ML-DSA · Protocol models (ProVerif)Translation of a large Rust subset into proof assistants; properties proved on the extracted modelOpen sourceActive; Lean backend under development with EF funding
Cryptol and SAWGaloisC / LLVM · Java · x86-64 · AWS-LC and s2n · BLST · Soroban (Formal Verso)Executable specifications in Cryptol; SAW proves implementations equivalent via SMT and symbolic simulationOpen source (BSD-3)Active (SAW 1.4, Cryptol 3.4 in 2025)
Fiat-CryptoMIT PLVFinite-field arithmetic · Curve25519 · P-256 · Custom primesCorrect-by-construction code generation from Rocq proofsOpen sourceActive, mature; deployed in BoringSSL and Go
HACL*, Vale and EverCryptProject Everest (Inria Prosecco, Microsoft Research, CMU)C and assembly primitives · Firefox NSS · Linux kernel · mbedTLS · WireGuardVerified C extracted from F* (HACL*) and verified assembly (Vale), unified in EverCryptOpen sourceMaintained; post-quantum work moved to libcrux/hax
AeneasInria (Son Ho) and AeneasVerifRust · Plonky3 and RISC Zero code (2026 pipeline paper)Functional translation of Rust into pure models for Lean, F* or RocqOpen sourceActive
KaniAWSRust · Rust standard library verification challenge · AWS Rust librariesBounded model checking (CBMC backend) for panics, memory safety and user assertionsOpen source (Apache-2.0 / MIT)Active
CBMCDiffblue, AWS and communityC · mlkem-native · s2nBounded model checking for memory safety and assertionsOpen source (BSD-4)Active, mature
CryptoLineAcademia Sinica (Bow-Yaw Wang)Bignum and NTT assembly · OpenSSL · BoringSSL · wolfSSL · PQC NTTsAlgebraic and range reasoning on straight-line arithmetic codeOpen sourceActive research
VerusCMU, Microsoft and communityRust (systems and some cryptographic code)Ghost specifications and SMT-discharged proofs in Rust itselfOpen source (MIT)Active

How to choose

Firms that do this work

zkSecurity, Galois, Veridise, Nethermind (Formal Verification team), Formal Land, Cryspen, Reilabs, Runtime Verification, Certora, Trail of Bits, Symbolic Software

Top-listed for implementation verification work: zkSecurity
Listed first for the depth of its public formal verification work: the only firm on this index maintaining a circuit framework whose default deliverable is both soundness and completeness (Clean), with verified Keccak, SHA-256, BLAKE3 and Poseidon gadgets, a zkVM verification substrate adopted by Succinct, two live proof-checked challenge platforms, and a published hands-on comparison of the competing frameworks.
Read the zkSecurity profile Website ↗

Other categories

ZK circuit verification, Proof systems and computational proofs, Symbolic protocol analysis, Proof assistants and general verifiers, Challenges and programs