{
  "name": "DVeProto test vectors",
  "spec_version": "1.4",
  "note": "Fixed inputs so Python, JS, and future implementations MUST produce identical outputs. Do not regenerate casually \u2014 bump vector_id if vectors change.",
  "vector_id": "dve-1.4-v1",
  "hkdf": {
    "ikm_hex": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
    "salt": "",
    "info_c2s": "DVeProto-v1/c2s",
    "info_s2c": "DVeProto-v1/s2c",
    "c2s_hex": "aa22396a7f9c6337ef6eeb969c9216908f2201d8ab487250ee68ee49593485f3",
    "s2c_hex": "74aad493fe8b5b26ad4d73ec9de7f30162c2fc2417021e907dae0d703b6750d0"
  },
  "resume_hkdf": {
    "token_hex": "a0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebf",
    "info_c2s": "DVeProto-v1/resume-c2s",
    "info_s2c": "DVeProto-v1/resume-s2c",
    "c2s_hex": "951c7f4285e451e17fb63f3d289e71746dcc6d5aa6b4bf6fc47d21e6eecb3103",
    "s2c_hex": "7db383286e0eb83cc240ce9267f385930e68e0bae8e09f85337e5236c92717be"
  },
  "wire_1_3": {
    "send_prefix_hex": "01020304",
    "send_counter": 1,
    "ptype": 1,
    "stream_id": 0,
    "plaintext_utf8": "{\"dve_op\":\"ping\"}",
    "aad_hex": "13010000",
    "nonce_hex": "010203040000000000000001",
    "ciphertext_hex": "3917520b217c4985165c5825937f8938845908edcf949818c0a7eb2f5244ea4da4"
  },
  "wire_1_4": {
    "send_prefix_hex": "01020304",
    "send_counter": 1,
    "pkt_seq": 1,
    "ptype": 1,
    "stream_id": 0,
    "plaintext_utf8": "{\"dve_op\":\"ping\"}",
    "aad_hex": "1401000000000001",
    "nonce_hex": "010203040000000000000001",
    "frame_hex": "14010000000000010102030400000000000000013917520b217c4985165c5825937f8938849c124b6306feea1aa637793c540fb764"
  },
  "security_notes": [
    "Never reuse (key, nonce).",
    "pkt_seq and nonce counter must not wrap \u2014 terminate session.",
    "Session tickets TTL default 86400s; bind to identity."
  ]
}
