{ "$schema": "../../schema/test-vector.schema.json", "name": "Group Text Payload", "spec_ref": "src/08-payload-group.md", "protocol_version": 0, "description": "Tests group text message payload: channel_hash(1) + cipher_mac(2) + ciphertext.", "vectors": [ { "id": "grp-txt-001", "description": "Group text message with known channel secret", "type": "encode_decode", "structured": { "header": { "version": 0, "payload_type": "grp_txt", "route_type": "flood" }, "path": { "hash_size": 1, "hash_count": 0, "hashes": [] }, "payload": { "channel_hash": "72", "cipher_mac": "D184", "ciphertext": "948C819389BA4ED7B1194A0FF8E62073" } }, "binary": "15 00 72 D184 948C819389BA4ED7B1194A0FF8E62073", "crypto_context": { "shared_secret": "202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F", "encryption_key": "202122232425262728292A2B2C2D2E2F", "plaintext": "47726F75704D736721" }, "notes": "Channel hash = SHA256(channel_secret)[0] = 0x72. Plaintext 'GroupMsg!' (9 bytes). AES key = first 16 bytes of channel secret." }, { "id": "grp-txt-002", "description": "Group text with tampered MAC must fail", "type": "invalid", "binary": "15 00 72 0000 948C819389BA4ED7B1194A0FF8E62073", "expected_error": "mac_invalid", "notes": "Same ciphertext as grp-txt-001 but MAC zeroed. Verification must fail." } ] }