)]}'
{
  "commit": "dec6c51f7dec7325a2e6a28b24fe1f87d23e6322",
  "tree": "5190542fb85dd90e1e2e2282d94bacc29c663add",
  "parents": [
    "87e39885379a38e26c07cfc6f233a6c37cc6e069"
  ],
  "author": {
    "name": "Gilles Peskine",
    "email": "Gilles.Peskine@arm.com",
    "time": "Thu Jan 08 17:16:18 2026 +0100"
  },
  "committer": {
    "name": "Gilles Peskine",
    "email": "Gilles.Peskine@arm.com",
    "time": "Mon Feb 09 18:04:13 2026 +0100"
  },
  "message": "Add sample keys for ML-DSA, ML-KEM and SLH-DSA\n\nUse NIST test vectors. I copied the first test case for each parameter set.\nFor ML-KEM and ML-DSA, I did it manually. For SLH-DSA, I used the following\nPython script:\n\n```\n\u003cgen-val/json-files/SLH-DSA-keyGen-FIPS205/internalProjection.json python -c \u0027\nimport json, re, sys\ndata \u003d json.load(sys.stdin)\ntypes \u003d {family: {} for family in [\"SHA2_F\", \"SHA2_S\", \"SHAKE_F\", \"SHAKE_S\"]}\nfor group in data[\"testGroups\"]:\n  t \u003d group[\"tests\"][0]\n  m \u003d re.match(r\"SLH-DSA-(\\w+)-([0-9]+)(\\w+)\", group[\"parameterSet\"])\n  type \u003d m.group(1) + \"_\" + m.group(3).upper()\n  size \u003d m.group(2)\n  prv \u003d t[\"skSeed\"] + t[\"skPrf\"] + t[\"pkSeed\"] + t[\"pk\"]\n  pub \u003d t[\"pkSeed\"] + t[\"pk\"]\n  types[type][size] \u003d (prv, pub)\nfor type in sorted(types.keys()):\n  print(\"\")\n  print(f\"    # https://github.com/usnistgov/ACVP-Server/blob/v1.1.0.41/gen-val/json-files/SLH-DSA-keyGen-FIPS205/internalProjection.json\")\n  print(f\"    \\x27SLH_DSA(PSA_SLH_FAMILY_{type})\\x27: {{\")\n  for size in sorted(types[type].keys()):\n    entry \u003d types[type][size]\n    print(f\"        {size}: (\\\"{entry[0]}\\\",\")\n    print(f\"              \\\"{entry[1]}\\\"),\")\n  print(f\"    }},\")\n\u0027\n```\n\nSigned-off-by: Gilles Peskine \u003cGilles.Peskine@arm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "87a8102f551e47a13f9bb40afa98613ae8410507",
      "old_mode": 33188,
      "old_path": "scripts/mbedtls_framework/asymmetric_key_data.py",
      "new_id": "2c54c7c8f5353b591cdeea550baddf8d72523f50",
      "new_mode": 33188,
      "new_path": "scripts/mbedtls_framework/asymmetric_key_data.py"
    }
  ]
}
