{
  "authors": [
    "Baris Erdem"
  ],
  "configuration": {
    "variables": {
      "parameter_set": {
        "default": "ML_KEM_768",
        "type": "Enum",
        "values": [
          "ML_KEM_512",
          "ML_KEM_768",
          "ML_KEM_1024"
        ]
      }
    }
  },
  "depends-on": [
    {
      "gnat": ">=14.2.1",
      "sha3": "~1.0"
    }
  ],
  "description": "SPARK-proved ML-KEM (FIPS 203) lattice-based key encapsulation",
  "licenses": "GPL-3.0-only",
  "long-description": "SPARK-proved ML-KEM (Module-Lattice-Based Key-Encapsulation Mechanism)\nimplementing NIST FIPS 203. Formally verified at SPARK level 2 with zero\npragma Assume, zero unproved VCs. The 7-layer Cooley-Tukey NTT, BaseMul,\nIndCPA, and FO transform are all proved end-to-end with no escape hatches.\n\nAll three FIPS 203 parameter sets -- ML-KEM-512, ML-KEM-768, ML-KEM-1024\n-- are supported and selected at build time via the `parameter_set`\ncrate configuration variable; default is ML-KEM-768 (NIST Category III).\n\nProof techniques are documented in PROOF_NOTES.md and reusable for similar\nlattice / ARX cryptography.\n\nBuilt on sha3_ada for SHA-3/SHAKE. No heap allocation, pragma Pure, suitable\nfor embedded and safety-critical systems. Constant-time execution\nempirically verified via cachegrind (LLd byte-identical). FIPS 140-3\nvalidation is out of scope. See SECURITY.md for the full threat model.\n",
  "maintainers": [
    "Baris Erdem <baris@erdem.dev>"
  ],
  "maintainers-logins": [
    "b-erdem"
  ],
  "name": "ml_kem",
  "origin": {
    "commit": "0b46ce23243d75f11746112c70a6d80799d85e58",
    "url": "git+https://github.com/b-erdem/ml_kem_ada.git"
  },
  "project-files": [
    "ml_kem_ada.gpr"
  ],
  "tags": [
    "ml-kem",
    "post-quantum",
    "cryptography",
    "spark",
    "embedded",
    "security",
    "verified"
  ],
  "version": "1.0.0",
  "website": "https://github.com/b-erdem/ml_kem_ada"
}
