{
  "schemeId": 1,
  "xwingDraftRevision": "draft-connolly-cfrg-xwing-kem-10",
  "keyFormat": "ML-KEM-768 public key (1184 bytes) || X25519 public key (32 bytes)",
  "ciphertextFormat": "enc || ciphertext || tag",
  "lengths": {
    "publicKeyBytes": 1216,
    "secretKeySeedBytes": 32,
    "encapsulationRandomnessBytes": 64,
    "encapsulationBytes": 1120,
    "plaintextBytes": 192,
    "ciphertextBytes": 192,
    "tagBytes": 16,
    "outputNoteDataBytes": 1328
  },
  "hkdf": {
    "hash": "SHA-256",
    "extractSaltHex": "0x",
    "keyInfoUtf8": "EIP-8182-delivery-scheme-1 key",
    "nonceInfoUtf8": "EIP-8182-delivery-scheme-1 nonce"
  },
  "deterministicFixtureInputs": {
    "recipientSeedHex": "0x0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20",
    "encapsulationRandomnessHex": "0x808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f0000000000000000000000000000000000000000000000000000000000000000",
    "deliveryPublicKeyHex": "0x32eb35f1d05a04d9cb4e11905f59c0a120446ddbaa207868be2ccc0196b617c54596310cb6d06e4c746cd5c1abd0210c2110c3f1cc87416311bc51398c44bd860bc138641454948779d42ce80413de011762213cb1f35dbda01f7aa6adab142a51b94773bc33e59451ad672669da1541f560db0715d1790282dbc6407385c4bb947c266b3ae58856229b41d6c987c968efcc3c09d123bf81bb1cf151245c7b2b073b04889b028ccd10250c125173258aad43e07cc120cae27a7f1022c64f3a0fcf578cc9c38e5b5a9eb49b1652ab82dd870068eb00a65b89ead9c9d0fb84a1a10656b5b21ef18a625b382f1b7e5600b1d588c994e837a94932a51b7194873e2d86764273642c59ae5ef7c320b32583dc6e5b99047344615555261771990bb1b73c3380b561159c6899be937c28693ba8d7bd63100646fcc876a282b7e498ce37b4389c73826744abc1b63ef83fe6572d3dc83fabb6c6ec44c5931aae46b93ed6e18bfe983e46c00b21dbb2d219c35237840dac4e595079fef385c877c8356324ae956c2fc753429c5b6ae77c412c98678c6809f55dcf274d64565fd30874951ca41a8013f9c86a81d8132721567e514285b110d8b761a4a21f14b80a69154e0abb138a378ce37ca615e717783482c9690a3c180c74ba0d05f156bea4b96e6534b3011a1f3c3b54522661ab82f049516ae0957f01b9c782738646316a64ab6f98588cc52048e97153d4ce84976efea8c5bf25579328c5af7a4f76acbede7024b575c30a486dea130131fb3250dc3d12d64a7c80b3c6901d8926707fb99ae7d64635703d9e23940bc1749887c8079b1dc971a7ef237ff3b4b288e7789eab9264505bd4c45c867c0fb4f4b516803bce705eddf25014f72c3c61a6ffaa61113300abc8284c307856da689469c4a78346bffc08d0f75dd7b531ccf149dbb99990879e98b743552892271c500fe344e283889591a84a090070b5153828130ffa1eacd28fb90224888b4be7a0716f982173f80ded8c72a16a3b07e887e8d03327bcbf7e77339c514f29b44b66d07d9878b76f3ca9f59ab03c4c7601c1bf98813b63d330c026c46fd9c571da3832b048a94484cbc70968183b5e876414e9bb45d53dd4659b5d4a66dd4541af2aa4a24b2a9e8299076a293bcb4d869592c450494f0334d4906d84949f685c400b128f3587caf8a1a85256b76eb2cd465908a8c39ad7565529b544378514c21b0db09acbfd5c871cd9a0da14063d035e078810e9c6acd877c5d2341528da3f4c45b28a3650ee0878da3534eb409d0bd81083a41e12ab7a05fb868d24c1d048b2383c78010b0954b46282a957301aad8997cb65274713e8ce0653139c32164b71ce6fb2be28ec70925420aaa3cc68c2a85eb92c445380c35bc5e566cf1fd7cf70e7ad5e48522234a84d0848071266e3f92e732313e3677fb0340a4764744fc77fbfb0582867355189519c4770f89b3ac2934964ac7b2c05c435987ed243bd14e203ec1059ded24a3cbc04b464c07d5b631582461d1a46019cbddf720807420cf79a2774e226ca373e0a1283a8c4926bd5a456b95724e322e72a073b18944b392d6b769d8bcb6058b31ee9a64acfd0ad191ca6869548c971057ab560e016ac5c8305871096dd18b90778c2ce14ed7671c7a67d441932d9ca6191835a1975c1a1944d6c7ecccbe73b9b5fa901a528090ffadde972054b6a293a",
    "deliverySecretKeySeedHex": "0x0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20"
  },
  "valid": {
    "note": {
      "amount": "0x7b",
      "ownerAddress": "0x1000000000000000000000000000000000000001",
      "noteSecret": "0x9a30c7169353639e90408af99356936cf892a0804368969c6175bcf69d0cfd",
      "ownerNullifierKeyHash": "0x4253988c3c90f48989ffea6026140cc2153f0cf182363f6cff7545c6ee4c79a",
      "tokenAddress": "0x0",
      "originTag": "0x1fd3dc2240f475e7369af21e44c04a7eddd9ffc40733977e4a84b7de8a3a0951"
    },
    "noteCommitment": "0x2861f055ebd60fa5b53b4cba1ffc5d8b56d1f5d04b29dc6795b9fde159d87d7e",
    "sharedSecretHex": "0x8790ce3747a7423c65b31c4e43be4269fb1bc4a61899947e169da3dbc18bafdc",
    "hkdfPrkHex": "0x474e74306b9a4d25e5338eb5cecf740d1ea517833b95527a968ec6ae68968ae0",
    "aeadKeyHex": "0xa6671e20dab614833d750f46118f50c90b7d5058b6d878d48b868daf96c33847",
    "nonceHex": "0xe301a50fc0ee6ae45f25a4c4",
    "encHex": "0xa93081cc51f64304a0d03c6eadc407c1c62163b15474ff84f9d01eb384c43f0ec2929eeff5076cc8f3df2494f556a7b70d9477e25b8b960ac1310b34b664246bb7d04c029c0de37bf459e5cfbf81da9dae5b9dc0b9ce464622a27f220817f38b2b5cf444cd8f8dba23b0b5c7cda0761e43ab3360e22927a4b53ef187c309fd77bedf13ce4b777d1f968634a0251e3eb401dfa105e8436dd947cdd02579c2348ffa6f050691d63b00bf5864352a7b5a335443c3a1176df1f2fc8da9f05054face04811f94e1d7e0e6e0d23a26dc6b73fbd85529091a3f2b6a015bc673594ca95f57ac644c7a2f7904349f12fecd8c4d23035c137866b9185081eed29ac9105df397556e45502d600e8f833abe7644e991b181641e8e869a0991ce8bfb6bc3a3d5225e0089764ef24591d276afabcc3645edafd9be0cfafad651a2902ffd44ab618bba4f00089c8d62851a2d2af8cfc50adbf89660b23a9680c56035af5a94218d9ea1f1b7d494b133f28804bf31857413837be1551cf5ad5d358f1d417f0a7897f93f65c59eff09ceac4d0496cb3de9d09fb6cd8208ac9464507bc24a9ec47a3c42a7ad756ecd1d8a5dd69ce8eb7cfe3a241b66ea186417c24dc7a4a422d0eb7d64f114d8e5d536c435a498d496530c02478ed631c05c36858c6264f6032746b13a5eacdf52a97c5e515880375e4a1944f8f7fb7feae4c38322df9f8e0866d666186205241e52119f49ac99fc188e8c14514390bc27ec84e4a86fed4e2b0b069995119bf361833cf93db30173224556f8802e8b8e10e0c4b2facb6cdff0d9cfbb99905494a0feaeee99f96ee509b026df4ef0e2bb009cb817e41a8dc1e83927f169e17fdea19f2737b3632cf87a88e9d8f50c50188af23e6ca016d5a5f32c091b186c0c91fac1f04b4c4d8e19889e65cd671d1b39053d302b839063b50b56d7a2d81d013b23821ae3bbfbb52ad155fd586a65e106f6179314708319dffa1fb1d817d7f21e070106edaae9f95a7e96114ed7ba46348af7eac42a07290dee1564d0378a69b5190faac802a124f0a3347978cc7c33613aa061bc187354650e003831ddc4fe0ceb1d1be6e0b7cc3c588f1128ca02dac2a43c3a1c250fa3efc2a2958e4c86da5623276989ffeba734321b7d0fdb1a1756a0312533cd61dc41cdc077a1245e63b18c5063e8486bb79708cc73648836a5aa7a54056fdf0b64be856d0798c87eec880d82fb7ed660264e0bba75a95fa3759be56a53506def625e12007ebc4b57cab73ee6e04c2170ece2d92c4044ad7034a859cd6e6edc96f3ff7dfcae2d104614eddfcf681b9b550114708984176c8b4e4ae83dff8b3dfb96712a1919438efbf6aca548757f75bf671f09c339d0eb53bada458f034877bbc73b12e5ed6b527739211caadcfbcd503111c6f4293d8eeb3c11c77d96053657c9bd35fa4be622830ed6ede45c02d7f82f0b0f8d15ad1e809354f096ebbc53e070ac5a9c0beccb6457a4cff35d0abc7a5151baaf5aa9a50dfbb6f463540b74e7ae51a44c17b52fe57da347cd62431528daac5fbb290730fff684afc4cfc2ed90995f58cb3b74",
    "ciphertextHex": "0xddf48ae8ae494b1f191287611297aab642deac176f2ae942599997eb96b6acb5fc3038a04b81d5377f01c73ffe7674127fd13ed094dafd12891cc5735654c7a711cd40cf59f836dd68f7753cb6267b6d92191e2b85ebe8ed32faeb10374ea25536a1e346c4ba5bd88d0745a74a3955aa936d087b0cc8144cad57e2587724b62347fa026895be1ed2d774c2be7af5175e061d7ef7ac21921b8d4d9c79f1fe89ee8889533b60dc7f705cb0d78ea681910b33deeefde65330dda6288164652cf10c",
    "tagHex": "0x8407f7dd1f42438225cda6648d8d321a",
    "outputNoteDataHex": "0xa93081cc51f64304a0d03c6eadc407c1c62163b15474ff84f9d01eb384c43f0ec2929eeff5076cc8f3df2494f556a7b70d9477e25b8b960ac1310b34b664246bb7d04c029c0de37bf459e5cfbf81da9dae5b9dc0b9ce464622a27f220817f38b2b5cf444cd8f8dba23b0b5c7cda0761e43ab3360e22927a4b53ef187c309fd77bedf13ce4b777d1f968634a0251e3eb401dfa105e8436dd947cdd02579c2348ffa6f050691d63b00bf5864352a7b5a335443c3a1176df1f2fc8da9f05054face04811f94e1d7e0e6e0d23a26dc6b73fbd85529091a3f2b6a015bc673594ca95f57ac644c7a2f7904349f12fecd8c4d23035c137866b9185081eed29ac9105df397556e45502d600e8f833abe7644e991b181641e8e869a0991ce8bfb6bc3a3d5225e0089764ef24591d276afabcc3645edafd9be0cfafad651a2902ffd44ab618bba4f00089c8d62851a2d2af8cfc50adbf89660b23a9680c56035af5a94218d9ea1f1b7d494b133f28804bf31857413837be1551cf5ad5d358f1d417f0a7897f93f65c59eff09ceac4d0496cb3de9d09fb6cd8208ac9464507bc24a9ec47a3c42a7ad756ecd1d8a5dd69ce8eb7cfe3a241b66ea186417c24dc7a4a422d0eb7d64f114d8e5d536c435a498d496530c02478ed631c05c36858c6264f6032746b13a5eacdf52a97c5e515880375e4a1944f8f7fb7feae4c38322df9f8e0866d666186205241e52119f49ac99fc188e8c14514390bc27ec84e4a86fed4e2b0b069995119bf361833cf93db30173224556f8802e8b8e10e0c4b2facb6cdff0d9cfbb99905494a0feaeee99f96ee509b026df4ef0e2bb009cb817e41a8dc1e83927f169e17fdea19f2737b3632cf87a88e9d8f50c50188af23e6ca016d5a5f32c091b186c0c91fac1f04b4c4d8e19889e65cd671d1b39053d302b839063b50b56d7a2d81d013b23821ae3bbfbb52ad155fd586a65e106f6179314708319dffa1fb1d817d7f21e070106edaae9f95a7e96114ed7ba46348af7eac42a07290dee1564d0378a69b5190faac802a124f0a3347978cc7c33613aa061bc187354650e003831ddc4fe0ceb1d1be6e0b7cc3c588f1128ca02dac2a43c3a1c250fa3efc2a2958e4c86da5623276989ffeba734321b7d0fdb1a1756a0312533cd61dc41cdc077a1245e63b18c5063e8486bb79708cc73648836a5aa7a54056fdf0b64be856d0798c87eec880d82fb7ed660264e0bba75a95fa3759be56a53506def625e12007ebc4b57cab73ee6e04c2170ece2d92c4044ad7034a859cd6e6edc96f3ff7dfcae2d104614eddfcf681b9b550114708984176c8b4e4ae83dff8b3dfb96712a1919438efbf6aca548757f75bf671f09c339d0eb53bada458f034877bbc73b12e5ed6b527739211caadcfbcd503111c6f4293d8eeb3c11c77d96053657c9bd35fa4be622830ed6ede45c02d7f82f0b0f8d15ad1e809354f096ebbc53e070ac5a9c0beccb6457a4cff35d0abc7a5151baaf5aa9a50dfbb6f463540b74e7ae51a44c17b52fe57da347cd62431528daac5fbb290730fff684afc4cfc2ed90995f58cb3b74ddf48ae8ae494b1f191287611297aab642deac176f2ae942599997eb96b6acb5fc3038a04b81d5377f01c73ffe7674127fd13ed094dafd12891cc5735654c7a711cd40cf59f836dd68f7753cb6267b6d92191e2b85ebe8ed32faeb10374ea25536a1e346c4ba5bd88d0745a74a3955aa936d087b0cc8144cad57e2587724b62347fa026895be1ed2d774c2be7af5175e061d7ef7ac21921b8d4d9c79f1fe89ee8889533b60dc7f705cb0d78ea681910b33deeefde65330dda6288164652cf10c8407f7dd1f42438225cda6648d8d321a",
    "outputNoteDataHash": "0x76fe43455e5e6ed9d7df58dc0cfb68e36454d6eb70a0e6e9cf215f6d7d1b28b"
  },
  "badTag": {
    "outputNoteDataHex": "0xa93081cc51f64304a0d03c6eadc407c1c62163b15474ff84f9d01eb384c43f0ec2929eeff5076cc8f3df2494f556a7b70d9477e25b8b960ac1310b34b664246bb7d04c029c0de37bf459e5cfbf81da9dae5b9dc0b9ce464622a27f220817f38b2b5cf444cd8f8dba23b0b5c7cda0761e43ab3360e22927a4b53ef187c309fd77bedf13ce4b777d1f968634a0251e3eb401dfa105e8436dd947cdd02579c2348ffa6f050691d63b00bf5864352a7b5a335443c3a1176df1f2fc8da9f05054face04811f94e1d7e0e6e0d23a26dc6b73fbd85529091a3f2b6a015bc673594ca95f57ac644c7a2f7904349f12fecd8c4d23035c137866b9185081eed29ac9105df397556e45502d600e8f833abe7644e991b181641e8e869a0991ce8bfb6bc3a3d5225e0089764ef24591d276afabcc3645edafd9be0cfafad651a2902ffd44ab618bba4f00089c8d62851a2d2af8cfc50adbf89660b23a9680c56035af5a94218d9ea1f1b7d494b133f28804bf31857413837be1551cf5ad5d358f1d417f0a7897f93f65c59eff09ceac4d0496cb3de9d09fb6cd8208ac9464507bc24a9ec47a3c42a7ad756ecd1d8a5dd69ce8eb7cfe3a241b66ea186417c24dc7a4a422d0eb7d64f114d8e5d536c435a498d496530c02478ed631c05c36858c6264f6032746b13a5eacdf52a97c5e515880375e4a1944f8f7fb7feae4c38322df9f8e0866d666186205241e52119f49ac99fc188e8c14514390bc27ec84e4a86fed4e2b0b069995119bf361833cf93db30173224556f8802e8b8e10e0c4b2facb6cdff0d9cfbb99905494a0feaeee99f96ee509b026df4ef0e2bb009cb817e41a8dc1e83927f169e17fdea19f2737b3632cf87a88e9d8f50c50188af23e6ca016d5a5f32c091b186c0c91fac1f04b4c4d8e19889e65cd671d1b39053d302b839063b50b56d7a2d81d013b23821ae3bbfbb52ad155fd586a65e106f6179314708319dffa1fb1d817d7f21e070106edaae9f95a7e96114ed7ba46348af7eac42a07290dee1564d0378a69b5190faac802a124f0a3347978cc7c33613aa061bc187354650e003831ddc4fe0ceb1d1be6e0b7cc3c588f1128ca02dac2a43c3a1c250fa3efc2a2958e4c86da5623276989ffeba734321b7d0fdb1a1756a0312533cd61dc41cdc077a1245e63b18c5063e8486bb79708cc73648836a5aa7a54056fdf0b64be856d0798c87eec880d82fb7ed660264e0bba75a95fa3759be56a53506def625e12007ebc4b57cab73ee6e04c2170ece2d92c4044ad7034a859cd6e6edc96f3ff7dfcae2d104614eddfcf681b9b550114708984176c8b4e4ae83dff8b3dfb96712a1919438efbf6aca548757f75bf671f09c339d0eb53bada458f034877bbc73b12e5ed6b527739211caadcfbcd503111c6f4293d8eeb3c11c77d96053657c9bd35fa4be622830ed6ede45c02d7f82f0b0f8d15ad1e809354f096ebbc53e070ac5a9c0beccb6457a4cff35d0abc7a5151baaf5aa9a50dfbb6f463540b74e7ae51a44c17b52fe57da347cd62431528daac5fbb290730fff684afc4cfc2ed90995f58cb3b74ddf48ae8ae494b1f191287611297aab642deac176f2ae942599997eb96b6acb5fc3038a04b81d5377f01c73ffe7674127fd13ed094dafd12891cc5735654c7a711cd40cf59f836dd68f7753cb6267b6d92191e2b85ebe8ed32faeb10374ea25536a1e346c4ba5bd88d0745a74a3955aa936d087b0cc8144cad57e2587724b62347fa026895be1ed2d774c2be7af5175e061d7ef7ac21921b8d4d9c79f1fe89ee8889533b60dc7f705cb0d78ea681910b33deeefde65330dda6288164652cf10c8407f7dd1f42438225cda6648d8d321b",
    "outputNoteDataHash": "0x125a1e35b08a563c09d4e4e379543981e7a6bd44ea64fadd376d50b6b9ffca4",
    "expectedResult": "reject during AES-256-GCM tag verification"
  },
  "badCommitment": {
    "claimedNoteCommitment": "0x2861f055ebd60fa5b53b4cba1ffc5d8b56d1f5d04b29dc6795b9fde159d87d7e",
    "recoveredNote": {
      "amount": "0x7c",
      "ownerAddress": "0x1000000000000000000000000000000000000001",
      "noteSecret": "0x9a30c7169353639e90408af99356936cf892a0804368969c6175bcf69d0cfd",
      "ownerNullifierKeyHash": "0x4253988c3c90f48989ffea6026140cc2153f0cf182363f6cff7545c6ee4c79a",
      "tokenAddress": "0x0",
      "originTag": "0x1fd3dc2240f475e7369af21e44c04a7eddd9ffc40733977e4a84b7de8a3a0951"
    },
    "recoveredNoteCommitment": "0x22660d60e49e602bbd3cfea0500efee74b3970f71d0ad9707a7fe30726a3b419",
    "outputNoteDataHex": "0xa93081cc51f64304a0d03c6eadc407c1c62163b15474ff84f9d01eb384c43f0ec2929eeff5076cc8f3df2494f556a7b70d9477e25b8b960ac1310b34b664246bb7d04c029c0de37bf459e5cfbf81da9dae5b9dc0b9ce464622a27f220817f38b2b5cf444cd8f8dba23b0b5c7cda0761e43ab3360e22927a4b53ef187c309fd77bedf13ce4b777d1f968634a0251e3eb401dfa105e8436dd947cdd02579c2348ffa6f050691d63b00bf5864352a7b5a335443c3a1176df1f2fc8da9f05054face04811f94e1d7e0e6e0d23a26dc6b73fbd85529091a3f2b6a015bc673594ca95f57ac644c7a2f7904349f12fecd8c4d23035c137866b9185081eed29ac9105df397556e45502d600e8f833abe7644e991b181641e8e869a0991ce8bfb6bc3a3d5225e0089764ef24591d276afabcc3645edafd9be0cfafad651a2902ffd44ab618bba4f00089c8d62851a2d2af8cfc50adbf89660b23a9680c56035af5a94218d9ea1f1b7d494b133f28804bf31857413837be1551cf5ad5d358f1d417f0a7897f93f65c59eff09ceac4d0496cb3de9d09fb6cd8208ac9464507bc24a9ec47a3c42a7ad756ecd1d8a5dd69ce8eb7cfe3a241b66ea186417c24dc7a4a422d0eb7d64f114d8e5d536c435a498d496530c02478ed631c05c36858c6264f6032746b13a5eacdf52a97c5e515880375e4a1944f8f7fb7feae4c38322df9f8e0866d666186205241e52119f49ac99fc188e8c14514390bc27ec84e4a86fed4e2b0b069995119bf361833cf93db30173224556f8802e8b8e10e0c4b2facb6cdff0d9cfbb99905494a0feaeee99f96ee509b026df4ef0e2bb009cb817e41a8dc1e83927f169e17fdea19f2737b3632cf87a88e9d8f50c50188af23e6ca016d5a5f32c091b186c0c91fac1f04b4c4d8e19889e65cd671d1b39053d302b839063b50b56d7a2d81d013b23821ae3bbfbb52ad155fd586a65e106f6179314708319dffa1fb1d817d7f21e070106edaae9f95a7e96114ed7ba46348af7eac42a07290dee1564d0378a69b5190faac802a124f0a3347978cc7c33613aa061bc187354650e003831ddc4fe0ceb1d1be6e0b7cc3c588f1128ca02dac2a43c3a1c250fa3efc2a2958e4c86da5623276989ffeba734321b7d0fdb1a1756a0312533cd61dc41cdc077a1245e63b18c5063e8486bb79708cc73648836a5aa7a54056fdf0b64be856d0798c87eec880d82fb7ed660264e0bba75a95fa3759be56a53506def625e12007ebc4b57cab73ee6e04c2170ece2d92c4044ad7034a859cd6e6edc96f3ff7dfcae2d104614eddfcf681b9b550114708984176c8b4e4ae83dff8b3dfb96712a1919438efbf6aca548757f75bf671f09c339d0eb53bada458f034877bbc73b12e5ed6b527739211caadcfbcd503111c6f4293d8eeb3c11c77d96053657c9bd35fa4be622830ed6ede45c02d7f82f0b0f8d15ad1e809354f096ebbc53e070ac5a9c0beccb6457a4cff35d0abc7a5151baaf5aa9a50dfbb6f463540b74e7ae51a44c17b52fe57da347cd62431528daac5fbb290730fff684afc4cfc2ed90995f58cb3b74ddf48ae8ae494b1f191287611297aab642deac176f2ae942599997eb96b6acb2fc3038a04b81d5377f01c73ffe7674127fd13ed094dafd12891cc5735654c7a711cd40cf59f836dd68f7753cb6267b6d92191e2b85ebe8ed32faeb10374ea25536a1e346c4ba5bd88d0745a74a3955aa936d087b0cc8144cad57e2587724b62347fa026895be1ed2d774c2be7af5175e061d7ef7ac21921b8d4d9c79f1fe89ee8889533b60dc7f705cb0d78ea681910b33deeefde65330dda6288164652cf10cd0e6aa06b53e0b6148cdb4cc7becde8c",
    "outputNoteDataHash": "0x2decd30432d252716bd11f650d8d7ad1ea9d56c09de72391b3401b00274fc958",
    "expectedResult": "reject after decrypt because recomputed note commitment does not match the claimed note commitment"
  }
}
