reticiulum-specification/test-vectors/request-response.json
John Poole cd851dab87 Completed the REQUEST/RESPONSE three-tier work unit.
Added:

Tier 1 audit: audits/request-response-tier1-rns-1.2.4.md
Deterministic test-vectors/request-response.json
tools/regen_request_response.py
tools/verify_request_response.py
Corrected two material specification errors:

ALLOW_ALL = 0x01, ALLOW_LIST = 0x02; prior values were reversed.
Resource file metadata is carried inside Resource plaintext with flag x; advertisement m remains the hashmap.
Also verified packet/Resource request-ID formulas, response correlation, wrong-ID behavior, receipt states, and malformed envelopes.

Verification:

Deterministic vector SHA-256: 5cdad638…56ab2
git diff --check: pass
Portable-path scan: pass
Full pinned suite: 18 passed, 0 failed
2026-06-08 14:03:50 -07:00

74 lines
14 KiB
JSON

{
"_about": "Deterministic RNS Link REQUEST/RESPONSE vectors. Packet requests use the truncated packet hash as request_id; Resource requests use the truncated hash of packed_request plaintext. Resource ADV q/u/p fields carry request correlation.",
"inputs": {
"link_vector_label": "alice_to_bob_aes256cbc",
"path": "/vector/echo",
"path_hash_hex": "88bc805800abebd8961cef75c491eedd",
"timestamp": 1700000000.0,
"packet_request_iv_hex": "9192939495969798999a9b9c9d9e9fa0",
"packet_response_iv_hex": "a1a2a3a4a5a6a7a8a9aaabacadaeafb0",
"resource_request_iv_hex": "b1b2b3b4b5b6b7b8b9babbbcbdbebfc0",
"resource_response_iv_hex": "c1c2c3c4c5c6c7c8c9cacbcccdcecfd0"
},
"packet_request": {
"plaintext_hex": "93cb41d954fc40000000c41088bc805800abebd8961cef75c491eedd81a76d657373616765a568656c6c6f",
"ciphertext_hex": "42d37aae0e4d2c2a8e425bc7973abba63b3746dbd5d9b16202accb75668ce78eeba657fb1b58a81645c6452890d9cdebafb879698842c08854f91a45688d05f89b06e67ad9cc5d171ed2a6837bd4e5d6cd9c3546c17d7c64ec7a03d0a5b50857",
"raw_hex": "0c007ee5fe3e4952c9ac4519b537f62784740942d37aae0e4d2c2a8e425bc7973abba63b3746dbd5d9b16202accb75668ce78eeba657fb1b58a81645c6452890d9cdebafb879698842c08854f91a45688d05f89b06e67ad9cc5d171ed2a6837bd4e5d6cd9c3546c17d7c64ec7a03d0a5b50857",
"packet_hash_hex": "4700a9939401bbaf45cd63a0c60a6c412568d8ea38d3532a1922ece757e88c8a",
"packet_truncated_hash_hex": "4700a9939401bbaf45cd63a0c60a6c41",
"request_id_hex": "4700a9939401bbaf45cd63a0c60a6c41"
},
"packet_response": {
"plaintext_hex": "92c4104700a9939401bbaf45cd63a0c60a6c4181a6616e73776572a5776f726c64",
"ciphertext_hex": "538e359cc1fc16ccf560dd379392203369ac7ea883fc9ccd09c2eebabff7b70713150a5a3c61277337d7d6ced4f940f36564747838fa5d73465d30e576010b2f8c42b8d8fd313a4f96a54b27a499c89bef51190846a8cb5a81510a8362f54002",
"raw_hex": "0c007ee5fe3e4952c9ac4519b537f62784740a538e359cc1fc16ccf560dd379392203369ac7ea883fc9ccd09c2eebabff7b70713150a5a3c61277337d7d6ced4f940f36564747838fa5d73465d30e576010b2f8c42b8d8fd313a4f96a54b27a499c89bef51190846a8cb5a81510a8362f54002",
"packet_hash_hex": "76b8d46220b118dc0f39e6ab0245065cd2289a9a2fa8feba8d7e65b0e60add41",
"packet_truncated_hash_hex": "76b8d46220b118dc0f39e6ab0245065c",
"correlation_request_id_hex": "4700a9939401bbaf45cd63a0c60a6c41"
},
"resource_request": {
"plaintext_hex": "93cb41d954fc40000000c41088bc805800abebd8961cef75c491eeddc50300000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
"request_id_hex": "5e64247bfe85bd9bc95c80de8780cb2a",
"resource_hash_hex": "104551ebb56a7fcf89cf80c000615ec14622bd309b323bad2fe76284873a2644",
"advertisement_plaintext_hex": "8ba174cd0360a164cd031fa16e02a168c420104551ebb56a7fcf89cf80c000615ec14622bd309b323bad2fe76284873a2644a172c40432323232a16fc420104551ebb56a7fcf89cf80c000615ec14622bd309b323bad2fe76284873a2644a16901a16c01a171c4105e64247bfe85bd9bc95c80de8780cb2aa16609a16dc40882b712a3ebe9cea3",
"parts": [
{
"body_hex": "b1b2b3b4b5b6b7b8b9babbbcbdbebfc084c06a09ae71a7bb8f968c782a8adea75b043a250d2055be454b888fa9a07154ed14daeab5bfdb31fa020dad98644a119c5d2bbe3374645e3fd466695082066fc734e35bedb111b8d6a702731279d376352c58d5497e37906addfea6a2cc7bddb6b294d727a327bb710707e396571eafd8d75d7a22841248ffdb307289d298548da9658a417f262d06b07bfaf38ac889011567bca8dea0f2544996d20a6bfd2f1410728ed3a959c926321c12e0840363a5991e5e5f047d67d43ffe0c83d51a521e344a091be94c6cc6f5d6107c74b94ec3302c9fa62d80a8bb98155081062937ab040254d18b7b3796af391131cf16dbd365e7584b173f7b4378c48e10c2e1412428326fa9e1053bfce1272b6221727723d19cd91b412381457a51a0a68589626bcfcd048f169b2ec55939f8354de72e0531ee9348c5e1a5c11eefe7af94f500533d54b9f9b3dadcae5f39ebc4f926912764f22367969a5094f56bc216bff14c9491a404ac8f445024c1cc5ca638414cd45da5623bb26f3a3ba5cac68e12ba48656b6adbb8e14365a68321fff8c64264ea0ef61f9f7d1443c23702f116c9cf9e3c8e64b25edc29bdc4bd172f925b5e5b5c10e8d7260cc9ab31b89cf8c682b688",
"map_hash_hex": "82b712a3",
"raw_hex": "0c007ee5fe3e4952c9ac4519b537f627847401b1b2b3b4b5b6b7b8b9babbbcbdbebfc084c06a09ae71a7bb8f968c782a8adea75b043a250d2055be454b888fa9a07154ed14daeab5bfdb31fa020dad98644a119c5d2bbe3374645e3fd466695082066fc734e35bedb111b8d6a702731279d376352c58d5497e37906addfea6a2cc7bddb6b294d727a327bb710707e396571eafd8d75d7a22841248ffdb307289d298548da9658a417f262d06b07bfaf38ac889011567bca8dea0f2544996d20a6bfd2f1410728ed3a959c926321c12e0840363a5991e5e5f047d67d43ffe0c83d51a521e344a091be94c6cc6f5d6107c74b94ec3302c9fa62d80a8bb98155081062937ab040254d18b7b3796af391131cf16dbd365e7584b173f7b4378c48e10c2e1412428326fa9e1053bfce1272b6221727723d19cd91b412381457a51a0a68589626bcfcd048f169b2ec55939f8354de72e0531ee9348c5e1a5c11eefe7af94f500533d54b9f9b3dadcae5f39ebc4f926912764f22367969a5094f56bc216bff14c9491a404ac8f445024c1cc5ca638414cd45da5623bb26f3a3ba5cac68e12ba48656b6adbb8e14365a68321fff8c64264ea0ef61f9f7d1443c23702f116c9cf9e3c8e64b25edc29bdc4bd172f925b5e5b5c10e8d7260cc9ab31b89cf8c682b688"
},
{
"body_hex": "b12a395e72dd7851fbc97bd0788357586abd6ce51d55628a5dbc23be1ac3753d435454d3117bd2d1eb17741ba54a67016d26c2ad12cf4c81ac0bfc37da176c1d5b3eee7fc13c00ba45dafa4dce8220ee55817976be8b0b73f12a641193bf35c96faa9569d9306170608114c28939f1c6a430273d2deec113b7025b0227d1d5ec241eb48a9c097dcccab6d275f7e9d5fbaea2d45f8bed8c87a99229adf4daa553387081aec6be45632dcf1710166a919f279400de139940cdeb99e79130c67cdebaa9b1ea48594632a0f67b70f5cf42bfd6bef12a05c12434f72450a343f3bc3b83dbe87a41f7cf76141cc385e6b58fd493447bd6c1096a81ee0985836079c647663e17cd7bd584e197b3a196cdb2ba57b26ef3447c715864a930fc0a10c953c12c45a48c3713251b9df8316d3542f27fc6a0e3e254ebf37809ff8d37ce4e630cd2703a17f11af9681a1a3af6724fc0c2b5f3f4bbe799ef97ad30b63c2a2fb038185102a1ca487a2c5439d384c9f5c03d660a04c8b12daea5e875422c83646c9f86d0bbd4cf91b980045047d494181574",
"map_hash_hex": "ebe9cea3",
"raw_hex": "0c007ee5fe3e4952c9ac4519b537f627847401b12a395e72dd7851fbc97bd0788357586abd6ce51d55628a5dbc23be1ac3753d435454d3117bd2d1eb17741ba54a67016d26c2ad12cf4c81ac0bfc37da176c1d5b3eee7fc13c00ba45dafa4dce8220ee55817976be8b0b73f12a641193bf35c96faa9569d9306170608114c28939f1c6a430273d2deec113b7025b0227d1d5ec241eb48a9c097dcccab6d275f7e9d5fbaea2d45f8bed8c87a99229adf4daa553387081aec6be45632dcf1710166a919f279400de139940cdeb99e79130c67cdebaa9b1ea48594632a0f67b70f5cf42bfd6bef12a05c12434f72450a343f3bc3b83dbe87a41f7cf76141cc385e6b58fd493447bd6c1096a81ee0985836079c647663e17cd7bd584e197b3a196cdb2ba57b26ef3447c715864a930fc0a10c953c12c45a48c3713251b9df8316d3542f27fc6a0e3e254ebf37809ff8d37ce4e630cd2703a17f11af9681a1a3af6724fc0c2b5f3f4bbe799ef97ad30b63c2a2fb038185102a1ca487a2c5439d384c9f5c03d660a04c8b12daea5e875422c83646c9f86d0bbd4cf91b980045047d494181574"
}
]
},
"resource_response": {
"plaintext_hex": "92c4105e64247bfe85bd9bc95c80de8780cb2ac50300fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0efeeedecebeae9e8e7e6e5e4e3e2e1e0dfdedddcdbdad9d8d7d6d5d4d3d2d1d0cfcecdcccbcac9c8c7c6c5c4c3c2c1c0bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a1a09f9e9d9c9b9a999897969594939291908f8e8d8c8b8a898887868584838281807f7e7d7c7b7a797877767574737271706f6e6d6c6b6a696867666564636261605f5e5d5c5b5a595857565554535251504f4e4d4c4b4a494847464544434241403f3e3d3c3b3a393837363534333231302f2e2d2c2b2a292827262524232221201f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0efeeedecebeae9e8e7e6e5e4e3e2e1e0dfdedddcdbdad9d8d7d6d5d4d3d2d1d0cfcecdcccbcac9c8c7c6c5c4c3c2c1c0bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a1a09f9e9d9c9b9a999897969594939291908f8e8d8c8b8a898887868584838281807f7e7d7c7b7a797877767574737271706f6e6d6c6b6a696867666564636261605f5e5d5c5b5a595857565554535251504f4e4d4c4b4a494847464544434241403f3e3d3c3b3a393837363534333231302f2e2d2c2b2a292827262524232221201f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0efeeedecebeae9e8e7e6e5e4e3e2e1e0dfdedddcdbdad9d8d7d6d5d4d3d2d1d0cfcecdcccbcac9c8c7c6c5c4c3c2c1c0bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a1a09f9e9d9c9b9a999897969594939291908f8e8d8c8b8a898887868584838281807f7e7d7c7b7a797877767574737271706f6e6d6c6b6a696867666564636261605f5e5d5c5b5a595857565554535251504f4e4d4c4b4a494847464544434241403f3e3d3c3b3a393837363534333231302f2e2d2c2b2a292827262524232221201f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100",
"request_id_hex": "5e64247bfe85bd9bc95c80de8780cb2a",
"resource_hash_hex": "c74320c211285d8f76a3d13c7b112d6d3b269403677f9c7c1a58d18310b8999d",
"advertisement_plaintext_hex": "8ba174cd0350a164cd0316a16e02a168c420c74320c211285d8f76a3d13c7b112d6d3b269403677f9c7c1a58d18310b8999da172c40442424242a16fc420c74320c211285d8f76a3d13c7b112d6d3b269403677f9c7c1a58d18310b8999da16901a16c01a171c4105e64247bfe85bd9bc95c80de8780cb2aa16611a16dc40807d78700f293aecd",
"parts": [
{
"body_hex": "c1c2c3c4c5c6c7c8c9cacbcccdcecfd056c0b957e1404ebe5393a2293061e245646ac70030afbc1c7d51a0a8a0653d5dd616069d8cdb92cff0f5812ebbeb8b5f219fa1fc48b06ae1aba9c48fbbc9405f94f3362a6bfe66bcb279e26093d5a14d0ad8f0982c1fc858c8ef841bc7efb1ef67ab5368b772aa05af2b77f815c56a269eaf6c2312f442ff004974d456994dc1157856eb275d14b40c506def6a071b0c6fa677ba8083c5dd1615e8d74c25ea61b84b0387ce8f40f4c5ad9a35587d33a7e7a6659bb2e48f541f080822cf03262f0b7a9c7a7f77759451fe4c925047b84a0905f68f43922fb369d8396f4a5e0c5c36b9af3501fe5ddab1028bf21c69b17cda0af87117019027bd60d88d7db28b9eb591e79fc6465d413b104f83b17b0559ec5345fa08c28f54192c6dd41bd13db6db57bbad9f5cb0a7eb4968644cdefe7586718736d77a77f0c6668965b61842f55a333ffa72d7efcb52ce0f9518fcd82c8fd2784a2a7b7d7e6d3a8f9fbb5c106e2deadf7ab4b88b1ffbb2ffc336919deba69bf6446cb0c0339e04fd09a7b2763ebe7675c8d3e8726771945d1c70ee9a3e585af46a8199f834f4abc152cb56e59983ee916366d3e5250c5be068fde57a2ad00a31c17e35b25d855f068bab2dc2e0",
"map_hash_hex": "07d78700",
"raw_hex": "0c007ee5fe3e4952c9ac4519b537f627847401c1c2c3c4c5c6c7c8c9cacbcccdcecfd056c0b957e1404ebe5393a2293061e245646ac70030afbc1c7d51a0a8a0653d5dd616069d8cdb92cff0f5812ebbeb8b5f219fa1fc48b06ae1aba9c48fbbc9405f94f3362a6bfe66bcb279e26093d5a14d0ad8f0982c1fc858c8ef841bc7efb1ef67ab5368b772aa05af2b77f815c56a269eaf6c2312f442ff004974d456994dc1157856eb275d14b40c506def6a071b0c6fa677ba8083c5dd1615e8d74c25ea61b84b0387ce8f40f4c5ad9a35587d33a7e7a6659bb2e48f541f080822cf03262f0b7a9c7a7f77759451fe4c925047b84a0905f68f43922fb369d8396f4a5e0c5c36b9af3501fe5ddab1028bf21c69b17cda0af87117019027bd60d88d7db28b9eb591e79fc6465d413b104f83b17b0559ec5345fa08c28f54192c6dd41bd13db6db57bbad9f5cb0a7eb4968644cdefe7586718736d77a77f0c6668965b61842f55a333ffa72d7efcb52ce0f9518fcd82c8fd2784a2a7b7d7e6d3a8f9fbb5c106e2deadf7ab4b88b1ffbb2ffc336919deba69bf6446cb0c0339e04fd09a7b2763ebe7675c8d3e8726771945d1c70ee9a3e585af46a8199f834f4abc152cb56e59983ee916366d3e5250c5be068fde57a2ad00a31c17e35b25d855f068bab2dc2e0"
},
{
"body_hex": "240597e65c52634ae2f630db036cc7c390125c78fb547ba855a1ee16b6d835879e895e230fe370db07d6331532883ec74be95e317ead177077328bea851227eea79a8bbc275532b78aa2aab282a497d609de8d51a7508e28e275e9788442a5ca431a982bc4f2b228bc986a37da1594dfc6bdc623680c3e5c646a5dcc1229a12ef42e003974007439ffd54adcff1980af0c506da52dc991a71530b04e798024295aa5115f655f0f5a47117bc5ee5be13238ea4f26063b465877ba861a4ad454bb0c2714249fd8a7a2b508e2e881d7ec9b10e151a9552a36d3281165cb1148213206ac759ede15c50c9b592fb8d56c298bc23dc62668654ae11f13f9058518ba1c32105766ffb95ac02530dbf949770ad5ab953b6f2ffa723c32206b7efcd18326562c46bfeddfadee5b41d9f52ce5a654e5d4bb7804bf276f86713742525cfb538f066db6f88dd4ac160dbc0ea1d214b1f4723551fa0dc613c86ce55dc1cb20df0c61f39b28ed49fc23e545eb6ccaa9d6ca2ef6dd0ca8d4a86b9941161aaa0b59",
"map_hash_hex": "f293aecd",
"raw_hex": "0c007ee5fe3e4952c9ac4519b537f627847401240597e65c52634ae2f630db036cc7c390125c78fb547ba855a1ee16b6d835879e895e230fe370db07d6331532883ec74be95e317ead177077328bea851227eea79a8bbc275532b78aa2aab282a497d609de8d51a7508e28e275e9788442a5ca431a982bc4f2b228bc986a37da1594dfc6bdc623680c3e5c646a5dcc1229a12ef42e003974007439ffd54adcff1980af0c506da52dc991a71530b04e798024295aa5115f655f0f5a47117bc5ee5be13238ea4f26063b465877ba861a4ad454bb0c2714249fd8a7a2b508e2e881d7ec9b10e151a9552a36d3281165cb1148213206ac759ede15c50c9b592fb8d56c298bc23dc62668654ae11f13f9058518ba1c32105766ffb95ac02530dbf949770ad5ab953b6f2ffa723c32206b7efcd18326562c46bfeddfadee5b41d9f52ce5a654e5d4bb7804bf276f86713742525cfb538f066db6f88dd4ac160dbc0ea1d214b1f4723551fa0dc613c86ce55dc1cb20df0c61f39b28ed49fc23e545eb6ccaa9d6ca2ef6dd0ca8d4a86b9941161aaa0b59"
}
]
},
"rns_version_at_generation": "1.2.4",
"generator_script": "tools/regen_request_response.py",
"verifies_spec_sections": [
"11.1",
"11.2",
"11.3",
"11.4",
"11.5"
]
}