mirror of
https://github.com/luxfi/crypto.git
synced 2026-10-30 16:59:13 +00:00
blake3: pure-Go body wrapping zeebo/blake3 (already in go.mod). Three modes (hash/keyed/derive_key) plus XOF. KAT against the official BLAKE3 test_vectors.json (35 input lengths from 0 to 102400 bytes, 4 modes each = 140 byte-equal assertions). poseidon: extended Sum2 wrapper with Permutation2 (raw t=2 permutation) and Compress2 (gnark-crypto Compress contract). KAT vectors generated from gnark-crypto v0.20.1 (default params t=2, rF=6, rP=50, d=5) for 16 permutation cases. Both layers assert byte-equal to the published spec, no oracle indirection.
250 lines
11 KiB
JSON
250 lines
11 KiB
JSON
{
|
|
"width": 2,
|
|
"full_rounds": 6,
|
|
"partial_rounds": 50,
|
|
"sbox": 5,
|
|
"modulus_hex": "0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
|
|
"round_keys_full_pre": [
|
|
[
|
|
"0x1da4d6adfb0d0b494584f763db50a81908580a5f5e295e168b9b8d31770fac4f",
|
|
"0x0946129a2e33b4e819707a56a3b3790eab80d0a0c7a0c63451fab2a59acc074c"
|
|
],
|
|
[
|
|
"0x2a39b9d5376afd35580abd6952986570867b87303b07140268794dad4b8f82ea",
|
|
"0x27605717d1245c20c546b3c7014e5fa3e4a70e66ecd6de5d32448eea5e3069b2"
|
|
],
|
|
[
|
|
"0x24c896cb2594e17b973653193a470ed7e771ebb09a228d638e50809c03773632",
|
|
"0x0911096c45dd9cda0d61d783957003db6d8701c7869a919ad8042e1b7d597a49"
|
|
]
|
|
],
|
|
"round_keys_partial": [
|
|
"0x26ff6166f1e4b99e27eee6d352a8ce26f1daba01aad28021f11f38a70603afdc",
|
|
"0x008e2faedcf76d08ad6591ff90e50fea79bcb5e18cfb7d954d5b89437bf64b7e",
|
|
"0x19c9da2379b598ace3ad4d1872470830f6184a3cec71eeb632f98820eb353d78",
|
|
"0x0f7c4eb15d8b0b62a8f6a090ec9610a2ab3dfcdb57e2539aa459a40583dfe96b",
|
|
"0x18b99417dc26b5e079750eba282362d1d46900b47dd5ff809171588b08ac3983",
|
|
"0x1ee044081160b3eee2d4493feab82141c73f1c054b76320a8848af08a8d91a26",
|
|
"0x29bb95c8763efd3e0e87f5df12ee8a150455b6d7a14780d19122220366c258dc",
|
|
"0x22c23eec9cb13ff8a3ee9a363d740653215e8991f7f9ec12067b4705e9a5c9fb",
|
|
"0x23589e033a31a667680c8b18926c3be09115c7644c4f905cc7deefc1690b42dc",
|
|
"0x304e99b887f2e1e92c9c0cde5f2bdd4764f60b98a219f1f0dd64ec938a6a247c",
|
|
"0x22e817865236ad3a76fbe88bbdf31fcae792f326271d53a3a493b2de7f7d8b4c",
|
|
"0x10c9efe573e86fa5b238a3f5c70a00bf02bc7dcfcc4878e026b77c881dc8b1c9",
|
|
"0x0a94f16be920d85f4d6f80e745c6bddbc084f309edffef023ea283c72b89bbb6",
|
|
"0x23ed72b4d01d14e3c7888fedb770494abc2c1ea81d6465b5df3da0ebcd69101a",
|
|
"0x17c5115640e4cebeed0e6cbb511ac38498df815a77cb162de8d8f1022eb6bb74",
|
|
"0x2e507fcca290d0d9cf765245750eb04773e09e1fc813959fb99680a82772e4fc",
|
|
"0x0d4a98999f5b39176af6cce65c8d12162433f055cb71d70dfc8803013292bbbf",
|
|
"0x238d8022cc09c21ab3c01261a03dc125321d829e22a7a3b7a1bd3c335eccfa21",
|
|
"0x010cd8e4c2b7051cb81dc8292e35d8e943ce365613d5b39770e454ed9f4ae165",
|
|
"0x088027e54f2a3604b11178cf0ea3c6aa861173a90fb231238e03539590ecc027",
|
|
"0x1b840f5311a2b1d4b4cd7aa7e5a9a6d161165468daa938108302b73e464819db",
|
|
"0x2bf51a5da1828a1cf9b764b1e16c15929a3a346e44198ea0cb366fcd8db78dc1",
|
|
"0x206ad089d8d296ffe68a6a86767a7fe726b8872f9c7beef9d56a3a50f6f23827",
|
|
"0x24d19193171494fa1a54e0a99ac16d05eaec4b6d617c7c199fc07ff88eac550c",
|
|
"0x1dd654a2ca9d9f24f33d88246a40dfb32c40662278b9c0b995d9f9fbaf152138",
|
|
"0x0d171025c925f6e259d20ecbd3a601108c85f05b0fe7793b8acf57f3789785e4",
|
|
"0x055bef435a43aec245cd99ccb0f7c8791d9e8cf2b80d95dd98b9908fed877d55",
|
|
"0x10d2ac8c61c8a2e88a2a3f42d9359a14be63d0ad4cfd9f203b75765d0e595f0e",
|
|
"0x103479710e70996982a84057ec3ba6b2254d7966ddc41e85296e3d0790dcfa56",
|
|
"0x2a366f0448fda3c05914ffb48c765da8de96f9aa340db1638225f8372921807b",
|
|
"0x16be0fb8ef62da17919b6e0378d00594153bb8899aeb686c04626b63285837a4",
|
|
"0x0417038500e9d06c60abbc7f0d0d24c32dec8a0b2aa5a4d52cfd8c78a15bc370",
|
|
"0x26a6873b43ffd2ccf66ec6f4493ff9b54f4d76480bc486a3e5a0308fdd013812",
|
|
"0x0a3314a838f32630a96251914fe5ad262f3db9b2aa8aa9f7391922d36278c498",
|
|
"0x0fde0c5429a6beb07f462d4821f48f86aeadb46a090b15a044f4b59399027da4",
|
|
"0x0abc2d5049972a6b9b357e4163793b0bb517e1eb535a984df11a1c89cda2c8a9",
|
|
"0x0dab51d6e3ebfa661d21722fb21e55051b427a5f173f7f17735205dbb77c464e",
|
|
"0x29c36622598b511d51af6cc37123652fb21be5c2d68fb8efe9b92e70a8c1ae03",
|
|
"0x2c03ec80adac2a33ae846bc0b700d0bcc41c4096e53ac6990d6bbe7ea2fbc85c",
|
|
"0x0918fdbe9cf3a59fbdb4c6852d065105317303116017d893b8b521e3cebe1e0d",
|
|
"0x1f19ec22e69ca33f599dd13cd7e495a8176a79df4f7acf79a9d2135acabe2359",
|
|
"0x1c4b037c8ae85ee1eb32b872eb7f76928c4c76b29ceb001346447b2911080704",
|
|
"0x2b68900ed906616d6c826d0bde341766ba3131e04d420de5af0a69c534efd8db",
|
|
"0x20ca92aa222fcc69448f8dac653c8daaa180ff6dfb397cef723d4f0c782bc7f0",
|
|
"0x10d22d05bdff6bb375276fc82057db337045a5ab7ac053941f6186289b66b2b6",
|
|
"0x0b1ffdbb529367bb98f32ba45784cb435aa910b4a00636d1e5ca79e88bdd6cd9",
|
|
"0x2da32b38e7984bc2ed757ec705eccf8282c7b4f82e5e515f6f89bcc33022ce9f",
|
|
"0x042593ad87403f6d2674b8b55a886725b87eb33958031e94d292cecc6abed1bb",
|
|
"0x181fa1b4d067783a19d7367bf49b3f01051faedab463a6de9308fbd6e7d419f1",
|
|
"0x15aaa6cc9b7900b15683c95515c26028a8e35b00ed8a815c34927188c60de660"
|
|
],
|
|
"round_keys_full_post": [
|
|
[
|
|
"0x1bf28a93209084bbbc63234f057254c280b1a636f5a0eced6787320212f75a7a",
|
|
"0x1cdb8c8bee5426f02cd9e229776118f156273b312f805c8e6f8c9d81a620cb6f"
|
|
],
|
|
[
|
|
"0x08299c0abf196d53162e0facb5f1876f516df2505cc387a0f8ea0e8760d5ca7e",
|
|
"0x221643d205fe82778a7b7b58cb65c4962d76c0072cabd1124117269d7c710b8a"
|
|
],
|
|
[
|
|
"0x2d036a95f81cf49bb7a0143a28c88767f6bd10c3f74b22db487920d43343dbff",
|
|
"0x08a50897c06aafe6ea414fb1bceca2267cd4a39486729fbc6d5d1bb7a172ebd2"
|
|
]
|
|
],
|
|
"kat": [
|
|
{
|
|
"input_hex": [
|
|
"0x0000000000000000000000000000000000000000000000000000000000000000",
|
|
"0x0000000000000000000000000000000000000000000000000000000000000001"
|
|
],
|
|
"output_hex": [
|
|
"0x1cea81d812c4552760b21d75d1fd4c11e43e3f60c67632e7e38f656236378e5d",
|
|
"0x1ae0efd28c01163c0a58440757ef2339affb17836ad3b1fedacabeaab56ca0e1"
|
|
]
|
|
},
|
|
{
|
|
"input_hex": [
|
|
"0x0000000000000000000000000000000000000000000000000000000000000001",
|
|
"0x0000000000000000000000000000000000000000000000000000000000000002"
|
|
],
|
|
"output_hex": [
|
|
"0x02a5b5b81eaff3dfb6aa63c3f18e0e57dfa598062a78514dfa530a9f8d106bf3",
|
|
"0x02e7529d93e1a7ae526147c2ee72588aee90e6a7c3e361de6daa6be045c6f52e"
|
|
]
|
|
},
|
|
{
|
|
"input_hex": [
|
|
"0x0000000000000000000000000000000000000000000000000000000000000002",
|
|
"0x0000000000000000000000000000000000000000000000000000000000000003"
|
|
],
|
|
"output_hex": [
|
|
"0x13226d79a9e1271e046225bbe8ce92c75ce4f83bc31b0013a1501600029af45d",
|
|
"0x1541d618b754eaf4234ce26d55097bdea7d0acb4f4671d6f876926d209f1e80f"
|
|
]
|
|
},
|
|
{
|
|
"input_hex": [
|
|
"0x00000000000000000000000000000000000000000000000000000000deadbeef",
|
|
"0x0000000000000000000000000000000000000000000000000000000000000004"
|
|
],
|
|
"output_hex": [
|
|
"0x27acefaea0a4f4742554606d56aa2b3d6e5616aec8a671aba7313b7ea7734736",
|
|
"0x20f574651ddcc3790861ff2bb09ae28f0c5359c3805e3639fa8e514a423c16c4"
|
|
]
|
|
},
|
|
{
|
|
"input_hex": [
|
|
"0x000000000000000000000000000000000000000000000000000000000000feed",
|
|
"0x0000000000000000000000000000000000000000000000000000000000000005"
|
|
],
|
|
"output_hex": [
|
|
"0x0f641b6f5c3a6726299bf0db8655dcf25d5a934190b27e4be8a9e1016955895a",
|
|
"0x0d2e45dc1965a1d1e7c97017918541b7b91b61dd0bed30e03f0e4995a9f75d39"
|
|
]
|
|
},
|
|
{
|
|
"input_hex": [
|
|
"0x0000000000000000000000000000000000000000000000000000000000001234",
|
|
"0x0000000000000000000000000000000000000000000000000000000000000006"
|
|
],
|
|
"output_hex": [
|
|
"0x028fc2906011f997ea81c8f655d773b19555a700e732cf53753f97694a82e4f0",
|
|
"0x042295ce2d7a92fa4a0b2d87b49c39e2aaef107f8746a485f97846b6baca739a"
|
|
]
|
|
},
|
|
{
|
|
"input_hex": [
|
|
"0x000000000000000000000000000000000000000000000000000000000000cafe",
|
|
"0x0000000000000000000000000000000000000000000000000000000000000007"
|
|
],
|
|
"output_hex": [
|
|
"0x1f969f7ef80e51ff8c8f284a65c3a8f5e81bfe64ba99f5bcfd3a86f7dbb1d00b",
|
|
"0x2f0a6de29fabf988517c76b721020b9b465b9a24916306a4fc8cab617da31eb8"
|
|
]
|
|
},
|
|
{
|
|
"input_hex": [
|
|
"0x0000000000000000000000000000000000000000000000000000000000000042",
|
|
"0x0000000000000000000000000000000000000000000000000000000000000008"
|
|
],
|
|
"output_hex": [
|
|
"0x165de551757a713d12a853897756502e440d7e92e6cd2161b64d8b6dccc2dd55",
|
|
"0x159edb2df4544e015f03890dc19cd67af6238f6dc2a3e19d8faac37de884a728"
|
|
]
|
|
},
|
|
{
|
|
"input_hex": [
|
|
"0x00000000000000000000000000000000000000000000000000000000a1b2c3d4",
|
|
"0x0000000000000000000000000000000000000000000000000000000000000009"
|
|
],
|
|
"output_hex": [
|
|
"0x28854f086ff2e03b014600460eaf9009e77ec173ca3f55f0b0c91d4c681aaa1a",
|
|
"0x031c9d13f62e493bab104aaf354089613130c8100b5aa37ddca27830753f9e5a"
|
|
]
|
|
},
|
|
{
|
|
"input_hex": [
|
|
"0x0000000000000000000000000000000000000000000000000000000000005678",
|
|
"0x000000000000000000000000000000000000000000000000000000000000000a"
|
|
],
|
|
"output_hex": [
|
|
"0x13bec8a9d89332bab9552ff2db7ac16982ca54cfe6b96a93f5ed202131c9c46c",
|
|
"0x2bcb5be6d76aad3f4299505f96ba054f1548a189e89d63c245fef9929401e7d5"
|
|
]
|
|
},
|
|
{
|
|
"input_hex": [
|
|
"0x0000000000000000000000000000000000000000000000000000000000000090",
|
|
"0x000000000000000000000000000000000000000000000000000000000000000b"
|
|
],
|
|
"output_hex": [
|
|
"0x02e22d03baa73a766a8bddf76d85014b14e27678423fbab23bbd4932efeb7f9a",
|
|
"0x05a18680dbf6e94a2b8835c28337bce82a061bc3315faeff6f7eedebf1ce0b28"
|
|
]
|
|
},
|
|
{
|
|
"input_hex": [
|
|
"0x000000000000000000000000000000000000000000000000000000000000beef",
|
|
"0x000000000000000000000000000000000000000000000000000000000000000c"
|
|
],
|
|
"output_hex": [
|
|
"0x1eb6b04cbebe47e7b4fc144fea2588d1a9783794741cca6877532450944e2af3",
|
|
"0x0df5eb3e371710a3abbbc6b0e0add5f8808e7be7f1d76e6cc3ed83e36bde6ca8"
|
|
]
|
|
},
|
|
{
|
|
"input_hex": [
|
|
"0x0000000000000000000000000000000000000000000000000000000000000001",
|
|
"0x000000000000000000000000000000000000000000000000000000000000000d"
|
|
],
|
|
"output_hex": [
|
|
"0x1b702b88a5d184651bbc48b59581fda1b43b0cd8b04d13a04bbb8fdfa0b16e76",
|
|
"0x2e5c2541d17e45491d26e4ea4d64c25a55f033bfbcf4a96d6feb1e526e400364"
|
|
]
|
|
},
|
|
{
|
|
"input_hex": [
|
|
"0x00000000000000000000000000000000000000000000000000000000000000ff",
|
|
"0x000000000000000000000000000000000000000000000000000000000000000e"
|
|
],
|
|
"output_hex": [
|
|
"0x06e8b25b1ea391c45e5546935e0745f0da950425571394f5e69a5bc77013f631",
|
|
"0x0f8f7b79c86708640ab6aae63f75004ca6d09130136b3886a7156e2d75140dd5"
|
|
]
|
|
},
|
|
{
|
|
"input_hex": [
|
|
"0x0000000000000000000000000000000000000000000000000000000000000f00",
|
|
"0x000000000000000000000000000000000000000000000000000000000000000f"
|
|
],
|
|
"output_hex": [
|
|
"0x02ca18519d43e2cafc2668840dfcd9b44102cee2f23aa9632a0e85f36fbb6692",
|
|
"0x305bb668974518207b4b6a37ca19c7e14ba09d2428fad64d76eaf4ce648d33c7"
|
|
]
|
|
},
|
|
{
|
|
"input_hex": [
|
|
"0x000000000000000000000000000000000000000000000000000000000000face",
|
|
"0x0000000000000000000000000000000000000000000000000000000000000010"
|
|
],
|
|
"output_hex": [
|
|
"0x2d9943e264be0513e3e5b51e10bb86f80a1f67404921c0ca97d64267ef94417c",
|
|
"0x1361eb6f5ac9f441c388c17c83187e0a32bcb7831d569974845702ed2361577e"
|
|
]
|
|
}
|
|
]
|
|
}
|