{
  "description": "Ed25519 sign/verify (RFC 8032) with raw 32-byte keys. AVP uses Ed25519 for member identity, the challenge→token signature (SPEC §3) and the anti-MITM key binding (SPEC §9). 'seedHex' is the 32-byte secret seed, 'publicKeyHex' the raw 32-byte public key (derivable from the seed), 'messageHex' the message bytes, 'signatureHex' the 64-byte signature, all lowercase hex. Cases rfc8032-test2/test3 are the published RFC 8032 §7.1 test vectors: the runner derives the public key from the seed, reproduces the signature byte-for-byte, and verifies it.",
  "cases": [
    {
      "name": "rfc8032-test2",
      "source": "RFC 8032 §7.1 (TEST 2, 1-octet message)",
      "seedHex": "4ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb",
      "publicKeyHex": "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c",
      "messageHex": "72",
      "signatureHex": "92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00"
    },
    {
      "name": "rfc8032-test3",
      "source": "RFC 8032 §7.1 (TEST 3, 2-octet message)",
      "seedHex": "c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7",
      "publicKeyHex": "fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025",
      "messageHex": "af82",
      "signatureHex": "6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a"
    }
  ]
}
