{
  "authors": [
    "Baris Erdem"
  ],
  "configuration": {
    "variables": {
      "parameter_set": {
        "default": "ML_DSA_65",
        "type": "Enum",
        "values": [
          "ML_DSA_44",
          "ML_DSA_65",
          "ML_DSA_87"
        ]
      }
    }
  },
  "depends-on": [
    {
      "gnat": ">=14.2.1",
      "sha3": "~1.0"
    }
  ],
  "description": "SPARK-proved ML-DSA (FIPS 204) lattice-based digital signatures",
  "licenses": "GPL-3.0-only",
  "long-description": "SPARK-proved ML-DSA (Module-Lattice-Based Digital Signature Algorithm)\nimplementing NIST FIPS 204. Verifies signing and verification under\nthe Module Learning With Errors (M-LWE) assumption.\n\nAll three FIPS 204 parameter sets -- ML-DSA-44, ML-DSA-65, ML-DSA-87\n-- are supported and selected at build time via the `parameter_set`\ncrate configuration variable; default is ML-DSA-65 (NIST Category III).\n\nThe 8-layer Cooley-Tukey NTT, Montgomery reduction, Power2Round /\nDecompose / MakeHint / UseHint rounding primitives, and bounded\nrejection-sampling loops for signing are all SPARK-checked. The\nsigning rejection loop is bounded (Max_Retries = 1000) for proof\ntermination; rejection probability per attempt is empirically ~2-4%,\nso the bound is reached only with negligible probability.\n\nBuilt on sha3_ada for SHA-3/SHAKE. No heap allocation, pragma Pure,\nsuitable for embedded and safety-critical systems. FIPS 140-3\nvalidation is out of scope.\n",
  "maintainers": [
    "Baris Erdem <baris@erdem.dev>"
  ],
  "maintainers-logins": [
    "b-erdem"
  ],
  "name": "ml_dsa",
  "origin": {
    "commit": "259116004ff3cff337950d5cf87e905eda3695f7",
    "url": "git+https://github.com/b-erdem/ml_dsa_ada.git"
  },
  "project-files": [
    "ml_dsa_ada.gpr"
  ],
  "tags": [
    "ml-dsa",
    "dilithium",
    "post-quantum",
    "cryptography",
    "spark",
    "embedded",
    "security",
    "verified"
  ],
  "version": "1.0.0",
  "website": "https://github.com/b-erdem/ml_dsa_ada"
}
