[ { "name": "said-001-issued-envelope", "description": "env-001, the USD byte as the issuer issued it to Alice, with its SAID — the snapshot SAID — replaced by the placeholder. The provenance inside carries the byte's identity (said-002) in its own `d`, which is part of what is hashed here. Nested maps, byte strings, text and integers all go through one canonical encoding.", "said_field": "d", "input": { "d": "#####################################################", "provenance": { "d": "Eyl2abuhbzbih3ao7hvjmgtjyzm4b5jeufdzafn6pme3j6id53z7q", "issuer": "Bi473abxg23bmfn2aud3q6xot7apm3d6oca5zjaadlliirhc6ivcq", "recipient": "Bzxpecfxm3pdlfe6xm6ps45kvhdxielo55ktsj5ndknyhgnr72oqa", "nonce": { "$bytes": "dcc74ebbcedebda361fb18a7abec95d9" }, "cargo": { "type": 1, "bytes": { "$bytes": "a1666d6963726f731a05f5e100" } }, "signature": { "establishment": 0, "signatures": [ { "index": 0, "signature": { "$bytes": "0188d2bbf7bf3ea95bb33866235bae150ac65c7371bc2776f17eb0944884cc8a4e7d402947d334d07e871acd0c305e6791d6e9b5747a683b6c58fc81f21dbcdd09" } } ] } }, "ownership_chain": [], "joule_cost": { "measured_microjoules": 1200, "estimated_microjoules": 1500 } }, "canonical_cbor_hex": "a46164783523232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323236a6a6f756c655f636f7374a2746d656173757265645f6d6963726f6a6f756c65731904b075657374696d617465645f6d6963726f6a6f756c65731905dc6a70726f76656e616e6365a66164783545796c3261627568627a62696833616f3768766a6d67746a797a6d3462356a657566647a61666e36706d65336a36696435337a377165636172676fa26474797065016562797465734da1666d6963726f731a05f5e100656e6f6e636550dcc74ebbcedebda361fb18a7abec95d96669737375657278354269343733616278673233626d666e32617564337136786f743761706d3364366f6361357a6a6161646c6c6969726863366976637169726563697069656e747835427a7870656366786d3370646c666536786d36707334356b7668647869656c6f35356b74736a356e646b6e7968676e7237326f7161697369676e6174757265a26a7369676e61747572657381a265696e64657800697369676e617475726558410188d2bbf7bf3ea95bb33866235bae150ac65c7371bc2776f17eb0944884cc8a4e7d402947d334d07e871acd0c305e6791d6e9b5747a683b6c58fc81f21dbcdd096d65737461626c6973686d656e74006f6f776e6572736869705f636861696e80", "blake3_hex": "8c168dbeed0949943f8fa3c97e61d6635ff40b199282e180409808fc4e2c415e", "expected_said": "Erqli3pxnbfezip4pupex4yowmnp7icyzskbodacataepytrmifpa", "said_cbor_hex": "a4616478354572716c693370786e6266657a697034707570657834796f776d6e70376963797a736b626f64616361746165707974726d696670616a6a6f756c655f636f7374a2746d656173757265645f6d6963726f6a6f756c65731904b075657374696d617465645f6d6963726f6a6f756c65731905dc6a70726f76656e616e6365a66164783545796c3261627568627a62696833616f3768766a6d67746a797a6d3462356a657566647a61666e36706d65336a36696435337a377165636172676fa26474797065016562797465734da1666d6963726f731a05f5e100656e6f6e636550dcc74ebbcedebda361fb18a7abec95d96669737375657278354269343733616278673233626d666e32617564337136786f743761706d3364366f6361357a6a6161646c6c6969726863366976637169726563697069656e747835427a7870656366786d3370646c666536786d36707334356b7668647869656c6f35356b74736a356e646b6e7968676e7237326f7161697369676e6174757265a26a7369676e61747572657381a265696e64657800697369676e617475726558410188d2bbf7bf3ea95bb33866235bae150ac65c7371bc2776f17eb0944884cc8a4e7d402947d334d07e871acd0c305e6791d6e9b5747a683b6c58fc81f21dbcdd096d65737461626c6973686d656e74006f6f776e6572736869705f636861696e80" }, { "name": "said-002-byte-identity", "description": "env-001's provenance — the issuer's attestation to the cargo, the recipient and the nonce, with the issuer's signature — with its `d` replaced by the placeholder. Its SAID is the byte's identity (treatise §8.2), fixed at issuance: no transfer changes it.", "said_field": "d", "input": { "d": "#####################################################", "issuer": "Bi473abxg23bmfn2aud3q6xot7apm3d6oca5zjaadlliirhc6ivcq", "recipient": "Bzxpecfxm3pdlfe6xm6ps45kvhdxielo55ktsj5ndknyhgnr72oqa", "nonce": { "$bytes": "dcc74ebbcedebda361fb18a7abec95d9" }, "cargo": { "type": 1, "bytes": { "$bytes": "a1666d6963726f731a05f5e100" } }, "signature": { "establishment": 0, "signatures": [ { "index": 0, "signature": { "$bytes": "0188d2bbf7bf3ea95bb33866235bae150ac65c7371bc2776f17eb0944884cc8a4e7d402947d334d07e871acd0c305e6791d6e9b5747a683b6c58fc81f21dbcdd09" } } ] } }, "canonical_cbor_hex": "a661647835232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232365636172676fa26474797065016562797465734da1666d6963726f731a05f5e100656e6f6e636550dcc74ebbcedebda361fb18a7abec95d96669737375657278354269343733616278673233626d666e32617564337136786f743761706d3364366f6361357a6a6161646c6c6969726863366976637169726563697069656e747835427a7870656366786d3370646c666536786d36707334356b7668647869656c6f35356b74736a356e646b6e7968676e7237326f7161697369676e6174757265a26a7369676e61747572657381a265696e64657800697369676e617475726558410188d2bbf7bf3ea95bb33866235bae150ac65c7371bc2776f17eb0944884cc8a4e7d402947d334d07e871acd0c305e6791d6e9b5747a683b6c58fc81f21dbcdd096d65737461626c6973686d656e7400", "blake3_hex": "c2f400d0e1c8507d81df3d52c34d38cb381ea49428f202b7cf61369f207dde7f", "expected_said": "Eyl2abuhbzbih3ao7hvjmgtjyzm4b5jeufdzafn6pme3j6id53z7q", "said_cbor_hex": "a66164783545796c3261627568627a62696833616f3768766a6d67746a797a6d3462356a657566647a61666e36706d65336a36696435337a377165636172676fa26474797065016562797465734da1666d6963726f731a05f5e100656e6f6e636550dcc74ebbcedebda361fb18a7abec95d96669737375657278354269343733616278673233626d666e32617564337136786f743761706d3364366f6361357a6a6161646c6c6969726863366976637169726563697069656e747835427a7870656366786d3370646c666536786d36707334356b7668647869656c6f35356b74736a356e646b6e7968676e7237326f7161697369676e6174757265a26a7369676e61747572657381a265696e64657800697369676e617475726558410188d2bbf7bf3ea95bb33866235bae150ac65c7371bc2776f17eb0944884cc8a4e7d402947d334d07e871acd0c305e6791d6e9b5747a683b6c58fc81f21dbcdd096d65737461626c6973686d656e7400" }, { "name": "said-003-transferred-envelope", "description": "env-002, the same byte after three transfers. The identity inside is said-002's, unchanged; the snapshot SAID differs from said-001's because a SAID covers the whole object it is derived over, ownership chain included.", "said_field": "d", "input": { "d": "#####################################################", "provenance": { "d": "Eyl2abuhbzbih3ao7hvjmgtjyzm4b5jeufdzafn6pme3j6id53z7q", "issuer": "Bi473abxg23bmfn2aud3q6xot7apm3d6oca5zjaadlliirhc6ivcq", "recipient": "Bzxpecfxm3pdlfe6xm6ps45kvhdxielo55ktsj5ndknyhgnr72oqa", "nonce": { "$bytes": "dcc74ebbcedebda361fb18a7abec95d9" }, "cargo": { "type": 1, "bytes": { "$bytes": "a1666d6963726f731a05f5e100" } }, "signature": { "establishment": 0, "signatures": [ { "index": 0, "signature": { "$bytes": "0188d2bbf7bf3ea95bb33866235bae150ac65c7371bc2776f17eb0944884cc8a4e7d402947d334d07e871acd0c305e6791d6e9b5747a683b6c58fc81f21dbcdd09" } } ] } }, "ownership_chain": [ { "previous_history_hash": { "$bytes": "c2f400d0e1c8507d81df3d52c34d38cb381ea49428f202b7cf61369f207dde7f" }, "from": "Bzxpecfxm3pdlfe6xm6ps45kvhdxielo55ktsj5ndknyhgnr72oqa", "to": "Bqeerhhfrn2brgrbslwilntkcdfcngatst3j5acuu6krzsggi2tcq", "frame": 10, "signature": { "establishment": 0, "signatures": [ { "index": 0, "signature": { "$bytes": "0176f343a82d949a1f89606e53e69ca78896b8a7189bdfd1a8581d463e58cbb63a6d911fab2eb99fede19edef4f6c4376cfc2abb6b1bd2e6f3d179e9da916cb108" } } ] } }, { "previous_history_hash": { "$bytes": "0a2a977471247d441ef3b766422a7eea835cfdaab6f8b390697a055ba0234834" }, "from": "Bqeerhhfrn2brgrbslwilntkcdfcngatst3j5acuu6krzsggi2tcq", "to": "Bzxpecfxm3pdlfe6xm6ps45kvhdxielo55ktsj5ndknyhgnr72oqa", "frame": 11, "signature": { "establishment": 0, "signatures": [ { "index": 0, "signature": { "$bytes": "01a5c67191eb55e8d29cf30026e03ea5e66d827af43c413c73d250c059573156cb4bca8998e70d4a3f0a8745e4ad287007459eac1e6fef223b8b18589b796ebc0f" } }, { "index": 2, "signature": { "$bytes": "0197288385a060626b2866f8ba49334223985a5120cffeab84f65e87573d410a705488f43a6ffd61de745b1b5134b71a030d4ae98c398ef2e6cb0ffd2d5655b500" } } ] } }, { "previous_history_hash": { "$bytes": "53b295243fb7fad0619379612a2d1906fc17b8da522bee8d43545d4f0e738766" }, "from": "Bzxpecfxm3pdlfe6xm6ps45kvhdxielo55ktsj5ndknyhgnr72oqa", "to": "Bqeerhhfrn2brgrbslwilntkcdfcngatst3j5acuu6krzsggi2tcq", "frame": 12, "signature": { "establishment": 1, "signatures": [ { "index": 0, "signature": { "$bytes": "01854eb95c94a56944912a25634fac3bd3a2ade24ccea7da3a733154fb106cfa0264d0df79f8b0344f591e2256a060f851613724a82bb5ae467a8cbd28771be205" } } ] } } ], "joule_cost": { "measured_microjoules": 1200, "estimated_microjoules": 1500 } }, "canonical_cbor_hex": "a46164783523232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323236a6a6f756c655f636f7374a2746d656173757265645f6d6963726f6a6f756c65731904b075657374696d617465645f6d6963726f6a6f756c65731905dc6a70726f76656e616e6365a66164783545796c3261627568627a62696833616f3768766a6d67746a797a6d3462356a657566647a61666e36706d65336a36696435337a377165636172676fa26474797065016562797465734da1666d6963726f731a05f5e100656e6f6e636550dcc74ebbcedebda361fb18a7abec95d96669737375657278354269343733616278673233626d666e32617564337136786f743761706d3364366f6361357a6a6161646c6c6969726863366976637169726563697069656e747835427a7870656366786d3370646c666536786d36707334356b7668647869656c6f35356b74736a356e646b6e7968676e7237326f7161697369676e6174757265a26a7369676e61747572657381a265696e64657800697369676e617475726558410188d2bbf7bf3ea95bb33866235bae150ac65c7371bc2776f17eb0944884cc8a4e7d402947d334d07e871acd0c305e6791d6e9b5747a683b6c58fc81f21dbcdd096d65737461626c6973686d656e74006f6f776e6572736869705f636861696e83a562746f78354271656572686866726e326272677262736c77696c6e746b636466636e6761747374336a3561637575366b727a73676769327463716466726f6d7835427a7870656366786d3370646c666536786d36707334356b7668647869656c6f35356b74736a356e646b6e7968676e7237326f7161656672616d650a697369676e6174757265a26a7369676e61747572657381a265696e64657800697369676e617475726558410176f343a82d949a1f89606e53e69ca78896b8a7189bdfd1a8581d463e58cbb63a6d911fab2eb99fede19edef4f6c4376cfc2abb6b1bd2e6f3d179e9da916cb1086d65737461626c6973686d656e74007570726576696f75735f686973746f72795f686173685820c2f400d0e1c8507d81df3d52c34d38cb381ea49428f202b7cf61369f207dde7fa562746f7835427a7870656366786d3370646c666536786d36707334356b7668647869656c6f35356b74736a356e646b6e7968676e7237326f71616466726f6d78354271656572686866726e326272677262736c77696c6e746b636466636e6761747374336a3561637575366b727a7367676932746371656672616d650b697369676e6174757265a26a7369676e61747572657382a265696e64657800697369676e6174757265584101a5c67191eb55e8d29cf30026e03ea5e66d827af43c413c73d250c059573156cb4bca8998e70d4a3f0a8745e4ad287007459eac1e6fef223b8b18589b796ebc0fa265696e64657802697369676e617475726558410197288385a060626b2866f8ba49334223985a5120cffeab84f65e87573d410a705488f43a6ffd61de745b1b5134b71a030d4ae98c398ef2e6cb0ffd2d5655b5006d65737461626c6973686d656e74007570726576696f75735f686973746f72795f6861736858200a2a977471247d441ef3b766422a7eea835cfdaab6f8b390697a055ba0234834a562746f78354271656572686866726e326272677262736c77696c6e746b636466636e6761747374336a3561637575366b727a73676769327463716466726f6d7835427a7870656366786d3370646c666536786d36707334356b7668647869656c6f35356b74736a356e646b6e7968676e7237326f7161656672616d650c697369676e6174757265a26a7369676e61747572657381a265696e64657800697369676e6174757265584101854eb95c94a56944912a25634fac3bd3a2ade24ccea7da3a733154fb106cfa0264d0df79f8b0344f591e2256a060f851613724a82bb5ae467a8cbd28771be2056d65737461626c6973686d656e74017570726576696f75735f686973746f72795f68617368582053b295243fb7fad0619379612a2d1906fc17b8da522bee8d43545d4f0e738766", "blake3_hex": "fab1dd13396833938e5a56a5d6142037dcf122b9763e42878c1bcdd1e22da3af", "expected_said": "E7ky52ezznazzhds2k2s5mfbag7opcivzoy7efb4mdpg5dyrnuoxq", "said_cbor_hex": "a46164783545376b793532657a7a6e617a7a686473326b3273356d66626167376f706369767a6f7937656662346d647067356479726e756f78716a6a6f756c655f636f7374a2746d656173757265645f6d6963726f6a6f756c65731904b075657374696d617465645f6d6963726f6a6f756c65731905dc6a70726f76656e616e6365a66164783545796c3261627568627a62696833616f3768766a6d67746a797a6d3462356a657566647a61666e36706d65336a36696435337a377165636172676fa26474797065016562797465734da1666d6963726f731a05f5e100656e6f6e636550dcc74ebbcedebda361fb18a7abec95d96669737375657278354269343733616278673233626d666e32617564337136786f743761706d3364366f6361357a6a6161646c6c6969726863366976637169726563697069656e747835427a7870656366786d3370646c666536786d36707334356b7668647869656c6f35356b74736a356e646b6e7968676e7237326f7161697369676e6174757265a26a7369676e61747572657381a265696e64657800697369676e617475726558410188d2bbf7bf3ea95bb33866235bae150ac65c7371bc2776f17eb0944884cc8a4e7d402947d334d07e871acd0c305e6791d6e9b5747a683b6c58fc81f21dbcdd096d65737461626c6973686d656e74006f6f776e6572736869705f636861696e83a562746f78354271656572686866726e326272677262736c77696c6e746b636466636e6761747374336a3561637575366b727a73676769327463716466726f6d7835427a7870656366786d3370646c666536786d36707334356b7668647869656c6f35356b74736a356e646b6e7968676e7237326f7161656672616d650a697369676e6174757265a26a7369676e61747572657381a265696e64657800697369676e617475726558410176f343a82d949a1f89606e53e69ca78896b8a7189bdfd1a8581d463e58cbb63a6d911fab2eb99fede19edef4f6c4376cfc2abb6b1bd2e6f3d179e9da916cb1086d65737461626c6973686d656e74007570726576696f75735f686973746f72795f686173685820c2f400d0e1c8507d81df3d52c34d38cb381ea49428f202b7cf61369f207dde7fa562746f7835427a7870656366786d3370646c666536786d36707334356b7668647869656c6f35356b74736a356e646b6e7968676e7237326f71616466726f6d78354271656572686866726e326272677262736c77696c6e746b636466636e6761747374336a3561637575366b727a7367676932746371656672616d650b697369676e6174757265a26a7369676e61747572657382a265696e64657800697369676e6174757265584101a5c67191eb55e8d29cf30026e03ea5e66d827af43c413c73d250c059573156cb4bca8998e70d4a3f0a8745e4ad287007459eac1e6fef223b8b18589b796ebc0fa265696e64657802697369676e617475726558410197288385a060626b2866f8ba49334223985a5120cffeab84f65e87573d410a705488f43a6ffd61de745b1b5134b71a030d4ae98c398ef2e6cb0ffd2d5655b5006d65737461626c6973686d656e74007570726576696f75735f686973746f72795f6861736858200a2a977471247d441ef3b766422a7eea835cfdaab6f8b390697a055ba0234834a562746f78354271656572686866726e326272677262736c77696c6e746b636466636e6761747374336a3561637575366b727a73676769327463716466726f6d7835427a7870656366786d3370646c666536786d36707334356b7668647869656c6f35356b74736a356e646b6e7968676e7237326f7161656672616d650c697369676e6174757265a26a7369676e61747572657381a265696e64657800697369676e6174757265584101854eb95c94a56944912a25634fac3bd3a2ade24ccea7da3a733154fb106cfa0264d0df79f8b0344f591e2256a060f851613724a82bb5ae467a8cbd28771be2056d65737461626c6973686d656e74017570726576696f75735f686973746f72795f68617368582053b295243fb7fad0619379612a2d1906fc17b8da522bee8d43545d4f0e738766" }, { "name": "said-004-rotation-event", "description": "Alice's rotation event (kel-002, event 1) with its `d` replaced by the placeholder. A rotation's `i` is the controller's AID, written out; only an inception's own `i` is placeholdered too (§3.1).", "said_field": "d", "input": { "t": "rot", "v": "SBYTE10JSON", "d": "#####################################################", "i": "Bzxpecfxm3pdlfe6xm6ps45kvhdxielo55ktsj5ndknyhgnr72oqa", "s": 1, "p": "Ezxpecfxm3pdlfe6xm6ps45kvhdxielo55ktsj5ndknyhgnr72oqa", "kt": 1, "k": [ { "$bytes": "012354b51b90e2fe316f648ff7456178869ba360edee56635d0676fd54a9227ef0" } ], "nt": 1, "n": [ "E645lnczbq6zrnrsaqq5ncuhmvsws4gsdjnc4hwvusflar5vtey4q" ], "a": [] }, "canonical_cbor_hex": "ab61618061647835232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232361697835427a7870656366786d3370646c666536786d36707334356b7668647869656c6f35356b74736a356e646b6e7968676e7237326f7161616b815821012354b51b90e2fe316f648ff7456178869ba360edee56635d0676fd54a9227ef0616e817835453634356c6e637a6271367a726e7273617171356e6375686d76737773346773646a6e63346877767573666c61723576746579347161707835457a7870656366786d3370646c666536786d36707334356b7668647869656c6f35356b74736a356e646b6e7968676e7237326f7161617301617463726f7461766b534259544531304a534f4e626b7401626e7401", "blake3_hex": "0492527cfe02dc06107fd2bdeec65e07c8a4c54a6a3652916d9ccccda9a97f6e", "expected_said": "Easjfe7h6aloamed72k665rs6a7ekjrkkni3ffelnttgm3knjp5xa", "said_cbor_hex": "ab616180616478354561736a6665376836616c6f616d656437326b3636357273366137656b6a726b6b6e69336666656c6e7474676d336b6e6a7035786161697835427a7870656366786d3370646c666536786d36707334356b7668647869656c6f35356b74736a356e646b6e7968676e7237326f7161616b815821012354b51b90e2fe316f648ff7456178869ba360edee56635d0676fd54a9227ef0616e817835453634356c6e637a6271367a726e7273617171356e6375686d76737773346773646a6e63346877767573666c61723576746579347161707835457a7870656366786d3370646c666536786d36707334356b7668647869656c6f35356b74736a356e646b6e7968676e7237326f7161617301617463726f7461766b534259544531304a534f4e626b7401626e7401" }, { "name": "said-005-interaction-event", "description": "Alice's interaction event (kel-002, event 2), whose anchor is said-002's SAID: the identity of the byte she was issued.", "said_field": "d", "input": { "t": "ixn", "v": "SBYTE10JSON", "d": "#####################################################", "i": "Bzxpecfxm3pdlfe6xm6ps45kvhdxielo55ktsj5ndknyhgnr72oqa", "s": 2, "p": "Easjfe7h6aloamed72k665rs6a7ekjrkkni3ffelnttgm3knjp5xa", "kt": 1, "k": [ { "$bytes": "012354b51b90e2fe316f648ff7456178869ba360edee56635d0676fd54a9227ef0" } ], "nt": 1, "n": [ "E645lnczbq6zrnrsaqq5ncuhmvsws4gsdjnc4hwvusflar5vtey4q" ], "a": [ "Eyl2abuhbzbih3ao7hvjmgtjyzm4b5jeufdzafn6pme3j6id53z7q" ] }, "canonical_cbor_hex": "ab616181783545796c3261627568627a62696833616f3768766a6d67746a797a6d3462356a657566647a61666e36706d65336a36696435337a377161647835232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232361697835427a7870656366786d3370646c666536786d36707334356b7668647869656c6f35356b74736a356e646b6e7968676e7237326f7161616b815821012354b51b90e2fe316f648ff7456178869ba360edee56635d0676fd54a9227ef0616e817835453634356c6e637a6271367a726e7273617171356e6375686d76737773346773646a6e63346877767573666c617235767465793471617078354561736a6665376836616c6f616d656437326b3636357273366137656b6a726b6b6e69336666656c6e7474676d336b6e6a7035786161730261746369786e61766b534259544531304a534f4e626b7401626e7401", "blake3_hex": "7ec9dfdeaeae80c29a24c6498675a72a8b6503d4cac7324cb72ce1c1a96862b4", "expected_said": "Ep3e57xvov2amfgreyzeym5nhfkfwka6uzldtetfxftq4dklimk2a", "said_cbor_hex": "ab616181783545796c3261627568627a62696833616f3768766a6d67746a797a6d3462356a657566647a61666e36706d65336a36696435337a37716164783545703365353778766f7632616d66677265797a65796d356e68666b66776b6136757a6c64746574667866747134646b6c696d6b326161697835427a7870656366786d3370646c666536786d36707334356b7668647869656c6f35356b74736a356e646b6e7968676e7237326f7161616b815821012354b51b90e2fe316f648ff7456178869ba360edee56635d0676fd54a9227ef0616e817835453634356c6e637a6271367a726e7273617171356e6375686d76737773346773646a6e63346877767573666c617235767465793471617078354561736a6665376836616c6f616d656437326b3636357273366137656b6a726b6b6e69336666656c6e7474676d336b6e6a7035786161730261746369786e61766b534259544531304a534f4e626b7401626e7401" }, { "name": "said-006-only-said-field", "description": "The empty-map case of identity spec §2.5: an object whose only member is its SAID field. It is the smallest object a SAID can be derived over — a truly empty map has nowhere to put one.", "said_field": "d", "input": { "d": "#####################################################" }, "canonical_cbor_hex": "a1616478352323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323", "blake3_hex": "e0e9858d678259ae81196c47a1de59f52e53dfd5c413a44dd336ce901eb00291", "expected_said": "E4duyldlhqjm25aiznrd2dxsz6uxfhx6vyqj2itotg3hjahvqakiq", "said_cbor_hex": "a16164783545346475796c646c68716a6d323561697a6e7264326478737a367578666878367679716a3269746f746733686a61687671616b6971" }, { "name": "said-007-one-field-per-key", "description": "The one-field case: identity spec §3.4's per-key object {d, k}, whose SAID is a next-key commitment. k is a byte string: the algorithm identifier 0x01 (Ed25519) followed by the public key of RFC 8032's first test seed (§3.3) — the issuer's key in kel-001.", "said_field": "d", "input": { "d": "#####################################################", "k": { "$bytes": "01d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a" } }, "canonical_cbor_hex": "a2616478352323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323616b582101d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a", "blake3_hex": "c9357de555002f5bd3c70ffaa40d0d8a99316614f6c3e8372136cdfe93c76da2", "expected_said": "Eze2x3zkvaaxvxu6hb75kidinrkmtczqu63b6qnzbg3g75e6hnwra", "said_cbor_hex": "a261647835457a653278337a6b7661617876787536686237356b6964696e726b6d74637a717536336236716e7a6267336737356536686e777261616b582101d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a" }, { "name": "said-008-spec-worked-example", "description": "The worked example of identity spec §2.4: {\"d\": placeholder, \"n\": 1}. Its canonical encoding is 61 bytes, and §2.4 prints the digest and SAID given here.", "said_field": "d", "input": { "d": "#####################################################", "n": 1 }, "canonical_cbor_hex": "a2616478352323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323616e01", "blake3_hex": "56813033774b7fb781e0f8547eae6ec3ca24728c8af6ae9dd771d1e0258f6d39", "expected_said": "Ek2atam3xjn73papa7bkh5ltoypfci4umrl3k5hoxohi6ajmpnu4q", "said_cbor_hex": "a261647835456b326174616d33786a6e37337061706137626b68356c746f797066636934756d726c336b35686f786f686936616a6d706e753471616e01" }, { "name": "said-009-non-canonical-copy-rejected", "description": "The adversarial case of identity spec §2.5, aimed at re-encoding. These are said-008's bytes with n written 0x18 0x01 instead of 0x01, still stating said-008's SAID. A verifier that re-encodes before hashing gets said-008's bytes back and accepts, so a second byte string would verify under said-008's SAID. A conforming verifier refuses the input as non-canonical before computing anything.", "said_field": "d", "input_cbor_hex": "a261647835456b326174616d33786a6e37337061706137626b68356c746f797066636934756d726c336b35686f786f686936616a6d706e753471616e1801", "error": "non_shortest_integer", "said_of_received_bytes": "Eiq35nwixqgv23jmqme6sgpiismnq7vv42z33qodyypexl3muy4ma", "said_after_reencoding": "Ek2atam3xjn73papa7bkh5ltoypfci4umrl3k5hoxohi6ajmpnu4q" }, { "name": "said-010-self-consistent-non-canonical-rejected", "description": "The adversarial case aimed the other way. said-008's object with its keys in reverse order, stating the SAID of exactly these bytes (placeholder substituted in place). A verifier that hashes what it received, without checking canonical form, accepts it. A conforming verifier refuses it as non-canonical.", "said_field": "d", "input_cbor_hex": "a2616e016164783545686b706b787576766a346266617272357677366e70716f3665746e347a79746d797972373462666534646c6e6f64776a68646971", "error": "unsorted_map_keys", "said_of_received_bytes": "Ehkpkxuvvj4bfarr5vw6npqo6etn4zytmyyr74bfe4dlnodwjhdiq", "said_after_reencoding": "Ek2atam3xjn73papa7bkh5ltoypfci4umrl3k5hoxohi6ajmpnu4q" }, { "name": "said-011-changed-content-rejected", "description": "said-008's object with n changed from 1 to 2 and its SAID left as it was. The bytes are canonical and well-formed, but they state a SAID they do not hash to.", "said_field": "d", "input_cbor_hex": "a261647835456b326174616d33786a6e37337061706137626b68356c746f797066636934756d726c336b35686f786f686936616a6d706e753471616e02", "error": "said_mismatch" } ]