{
  "slug": "hacl-star",
  "name": "HACL*, Vale and EverCrypt",
  "tagline": "Project Everest's verified cryptographic library in F* and Vale",
  "maintainer": "Project Everest (Inria Prosecco, Microsoft Research, CMU)",
  "url": "https://hacl-star.github.io",
  "repo": "https://github.com/hacl-star/hacl-star",
  "category": "implementations",
  "targets": [
    "C and assembly primitives",
    "Firefox NSS",
    "Linux kernel",
    "mbedTLS",
    "WireGuard"
  ],
  "approach": "Verified C extracted from F* (HACL*) and verified assembly (Vale), unified in EverCrypt",
  "license": "Open source",
  "status": "Maintained; post-quantum work moved to libcrux/hax",
  "summary": "HACL* is a library of cryptographic primitives verified in F* for memory safety, functional correctness and secret independence, with Vale providing verified assembly and EverCrypt a unified API. Its code runs in Firefox, the Linux kernel, mbedTLS and WireGuard.",
  "details": [
    "HACL* proved that verified cryptography can be deployed at internet scale. Its lineage continues in libcrux and hax for post-quantum algorithms."
  ],
  "strengths": [
    "Broadest deployment of any verified library.",
    "Memory safety, correctness and constant-time in one framework.",
    "Agile multiplexing in EverCrypt."
  ],
  "limits": [
    "Classical primitives; post-quantum lives in libcrux.",
    "F* expertise required to extend.",
    "Extraction toolchain is complex."
  ],
  "fit": [
    "Use HACL* when you need verified classical primitives as a library; use hax/libcrux for post-quantum."
  ],
  "references": [
    [
      "HACL*",
      "https://hacl-star.github.io"
    ]
  ],
  "category_name": "Verified implementations",
  "page": "https://sorryfree.com/frameworks/hacl-star/",
  "updated": "2026-09-13"
}