auths-pairing-protocol 0.1.2

Transport-agnostic pairing protocol for auths identity system
Documentation
{
  "envelope_info": "auths-pairing-envelope-v1",
  "aead": "chacha20poly1305",
  "version": 1,
  "vectors": [
    {
      "name": "basic_round_trip_counter_1",
      "transport_key_hex": "a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5",
      "iv_hex": "070707070707070707070707",
      "session_id": "sess-kat",
      "path": "/v1/pairing/sessions/x/response",
      "counter": 1,
      "plaintext_utf8": "hello world",
      "nonce_hex": "070707070707070707070706",
      "aad_hex": "00000008736573732d6b61740000001f2f76312f70616972696e672f73657373696f6e732f782f726573706f6e736500000001",
      "ciphertext_hex": "ed6c2f3e301a623066bad2476a2fde4a72a40615c1f8e67f8bd9af",
      "expected_result": "valid"
    },
    {
      "name": "same_session_counter_2",
      "transport_key_hex": "a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5",
      "iv_hex": "070707070707070707070707",
      "session_id": "sess-kat",
      "path": "/v1/pairing/sessions/x/confirm",
      "counter": 2,
      "plaintext_utf8": "second message",
      "nonce_hex": "070707070707070707070705",
      "aad_hex": "00000008736573732d6b61740000001e2f76312f70616972696e672f73657373696f6e732f782f636f6e6669726d00000002",
      "ciphertext_hex": "7f9ad6ac7d2dc472452ee981bc5127bdcca9a50ed19a45f0d813599e99b3",
      "expected_result": "valid"
    },
    {
      "name": "empty_plaintext",
      "transport_key_hex": "a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5",
      "iv_hex": "070707070707070707070707",
      "session_id": "sess-kat",
      "path": "/v1/pairing/sessions/x/response",
      "counter": 1,
      "plaintext_utf8": "",
      "nonce_hex": "070707070707070707070706",
      "aad_hex": "00000008736573732d6b61740000001f2f76312f70616972696e672f73657373696f6e732f782f726573706f6e736500000001",
      "ciphertext_hex": "1c7d845d1f745c9157defb6a375b7abb",
      "expected_result": "valid"
    },
    {
      "name": "large_plaintext_4kib",
      "transport_key_hex": "a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5",
      "iv_hex": "070707070707070707070707",
      "session_id": "sess-kat",
      "path": "/v1/pairing/sessions/x/response",
      "counter": 1,
      "plaintext_hex": "42424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242",
      "nonce_hex": "070707070707070707070706",
      "aad_hex": "00000008736573732d6b61740000001f2f76312f70616972696e672f73657373696f6e732f782f726573706f6e736500000001",
      "ciphertext_hex": "c74b01101d78571d5694f4f0f3f35bc1660d66474f17fe7f9e6d9b439b51313751d3e4bd33a1f0c3b010bff7e3f65f0aefc6cfbf9c5500e9f6105df2ff5ae5c6168008e9c6f4af2aed38eaff735218b1d3b12874b07a0607f128adce1bb4103d2c3eb772709aa36533141b170e28306d436c66d99bdfc24d538bfb3eb8182469a502a5a53cd9d68177003427786c63c8f986127790caa857992dbae8e7c271cb1eea9fd5db6c5734792529f3dfa1a59c850756b36db670a53a71b3436e5d06590b3132e163c378ddcb46874ddef49d7a5ab03246391a50575dc7116b257ff3f2fb433fea79c35e26d77a3f245c5cc40e1e8fe3209c826e571be46218ebd19b8b9c99c3322b12eeeac720d40fa817bc3fb69b03ec75d6b8e8b308739d945cc1d048a2c52733472dd503ccad7bc1f98ffd6342d494c71429a82834dabbdadd0abea2593105ae395594a6e3a745bceb8a227dc32af1ab9cdc2d78a76eb0ed12b94e82ee6df9bdecbd9e9797ffc3141dcb70e8afa9d10f0691eae362c2ecf0b5a6c79747c55bab242076ec9676aa3ab576ee789cd4272718700c4986bf35737eda36a2d626dfebfcdc0d68b627ea7448452060ef52dc747255efc23a3e597275049a794872dbcd23c64a0f2edeb42d090b63e9398e022e7c425e1ff43d103b0cc4b5ef06be416141700343284e690c4ca0d96e55eab6b45c8d2e84d9753aa9403cfda0b6d9480819f6f24cb391bca404fc362882f52a4a091e041d87f18b0bbc9394956eb019777919c6631aa340e0a6f1a468a772631be373237a37c6a3e01892ecbfb1e933c920c3eab2abbea857e1e81c448d4e703f3a8454d2153c587a66a06d726daffca6303506ff0f833d5b2c7fefa68e6d4ccc944582acc113b7405cb2668e81de7a3e79ed1d0977c9ebae4233516ef96f7bc0b792e64b9d5294cf472968a1e97c13f33fbbfa983678a1504ea4295516075dd0ce9beb8ad623198566e4d5eff6c915d2ca00dd2648b703e43610828d75c15a3811b1662009108059ee0027f85537106b55d4dfa2a74add9b935ee4394b27b9f487cf4580acb597eea901c42be573744c05fdaf223a5b0de8bb26b28ba657a83ed270a562ed4b34689d13510997016ab5097e0f4ecf929c51519bf1d713ef17dd1dd9907d9173979f5c3963badc2400b6858a561aa0646a2eb08f09e1d915c69ecb143b909a40ff1bdb667b4795ab728009edc65683859ce1fb542b28c52103b2522fdd65714a49225f1457f436ebe6677884833b3e64c14ecd33d121ec9c79ec538a67422cd0e910af93c9255e419f848266b10a0a1418db04584143a652b9d266d5535cc305c62252bf2b2520cf7002e2c9f503816dcd2e1b5c98f5188cd2645d599e51acfdb035122c7c6cae3112fa3ddf8d8919ca1a7893271dfba912c0a5908bcba0862337cce1421049f484a2d5bdf0ab9e14ac6e53b3e441c3d0ec6df8a51127f28ca1cf17ac63a0e11a346aca8608d7bad86f0f373220cf9bc32554cb9fe232f5ff21b8228db4c4ea76d08e43ccc78737bc5caba99c0474fad93a0eb9115ad0c61f28a59220d2c4edc3431055708ff37e02ab6652529c9870ad549efd9faef50426efc552ac1a9308b36a14327a67b22ee68630a64895ad6f300aa3dac484836504c810367930807c5c2a461bb78eae3d7d555951a06c79b04d02cd93222a3cff6a8f00df8add5ee37ad8337c455ceadb6f1c10fce99821b7253e11344815b3fb533e4d1fa1f0479145a25f312910b6d3a77c00da55de963d289d4e19d7f024452649151f0d0eed2b82c6c59c67b71a6dcc0499758d0e7f8e085c3218dddfd21b9898fb93b27302b1a13ab8ed983bb3d564469c1413311918217d943cf2ff75bc97aa5cbea34893ca7f26a2aa674fc87aeb373323b55e5d4eabc9b20bb92b5db0261404e5e89631aefef0a7a1511532c8aeb5a6a38de5393297833c2e7f400cf92ac67c11a39b87874966176edd03991d5089434ac75a691a32ba9fffe30ed00a705b9d48dc343c06a5451dc0f5a69d9ff06d1f350e151df112674db7aab21a713593f7da2b6b9976fc652810ce8f57d269187a0339424f90d49a814f7a9724f52946a1797e2dc45580df95fa44edba83dac01abb581e7e9b4615f746ec59460950f0733e20dfc899387bb004a410e2e4df749c8a3c5df4e4d2b59f9c862ce2dbebf30d768980118c5f4270ff2875760c9513c9306accf5f876622fc6d4dea1375615e49397d7b7572046e82c23b3e1f35b7148c73fabda86a3871fa87f033a7e0809851f4c0b0cf43773a2f51a8d58fb212b6275a3f97537323169b9d214bdc3a91a2458fee5f4ed1368a24644eaaf56740716a79e8521a7038fe51c216e631ced6a8d45ef7f7a48026c8d4ac28e0639ee5da427bdce59310d9a3cd39b39c4cd1151d8241ae1771edac3b4439f1ad23d0521a6b2d8a3fe9864b9047c2c8e4d185e4c867cc3280a4a6450535363d364a5e96cd93963a8b135ca0aa5c4dc87e4f2044a8e6913cbc4eb0e5476a27068229097a2cda7e4ab152797f6dc969474dda1b426732ca15345924dd6475f25cb075d403a30a2653b982f7dff55c9b71330844ce5b8e7f59b8a2c569094e7c7e3e394f4e05e9955c49d3ee89b9b53062e210e17ceaa744bb3b82ac5ab696e669d2e8637dc8b59700642b944a68969b0f57c69d4d22f639a551171f56cbedd97737a193381fef90207b29e9ea1ecb2e3d98a61284c135d68841de938c4ce8d0b05dab0dc1383de83316de271b8dc70e50b04ddf1cf81da5a28e4a3d52ba63ff4025e2730c648fafa01fcd447dfc85a7a764afe477b78b55405d4e57501c5b2b89d23b3ff4fc576b776eb18d8f1d8c2890a09bd42d1a7687a22e8e4401f7e3af5d396979bc8d886d817b078e05abd62ab8697e467472b70522079fed21e10bef14cf2b57800f8c941631c914e4a2d62abe79c5af20b74a4f1ce48873678305c2e0717a24cb7b389a53defef9e5c0a66a492c950b411ecfaef1cf8c5009f089c5c7e818165fc6fec8497db7affba48617ed3edd812fa52e42b699d2d79751e0731b37c64516c630c7d23fc683d112e4c188625c69753dbf990b6040afc3323be4d0c5a70ed78b275bd85af6d22289ee106b403ba963a2258960c2dcd77a4db52c2ac62ebfe2fe0bee99a8b195eb6bb05bc90dcd2d783148b4d3f249eeadad5c4cd61ea5446bab5ee54cfff0e5c779082b738e3533c53b9e94256f933f368957aeedf7266c1e0268a48602e1c1cb1fcc7ef8b7dbce6973d224197642dd54d7035b52c93b7d5c370ff4bba567dc6f0cc7dbc17debb1e8ccf527d92c41cd897038d49b5b6d36276921e0da9b89c85bbe37c934e9ff18085145a2d7d5e1de37f38ea597a6422623fb7fe79cd569af018a485caee68e815a0fd449467a9f1474944093cec562b7a711132621b4ab465e8d4611357e04e1490c667fb646d813ac25da85bb50e8c10882d41cc4774713d444f26409e4330f684118f73a27aaff7be4c0e4929f01f9f073f16523b8c4e618b021b173a88219b5db780c643358f6f9ee849785bc2a58f5a3ff00dd028f60c17402ea161f100fc4e6cc009814efc22db65768e77a31925115ee1adce39918e81af5060d77ff91066ad6a87171173864cc27d50174b149f66fd8bc27cc4274c075aa289757f583e1c8208f29f8f199b4fda63828d9e3d3f333adcd784f0885aac605c86eb9b842a53227e9d7143b5c7c6a10383c40480d80b477e1a3b2665a340aec932f8e8fe5748381d04f9bfa1a9e32a618003489b45a40895ed615fb801c679039586d27cf8437f4e3d21c54bf8c531768ab04db2010a621b165407fa34d9f39cb9e0b6c84cf98aef4fb2b19696df316ec40f54241a3929125fab24eda9482f77267fadbb7d30d76e02cea2f2a9e27589547bb0bf6ff5bcd0cfa42c86dbd2ce3048b16bd373b172b283a194b45abbeffaf234c345eb182a12dbd95d1a59409473ca240b535bfccd014811d4f0aaaf1160e13825ba3bb1dcdafb6cb9d70777ee51c23b9c452ec078a9b568eb449340e62aa6652f711a7dfa3772c83231b9ac8696bd2f5f34c5d2196a11533391b45e94f27008aaac4a6d9f66a900a8525e135b74144fefe328831f65c5778a88f97ae3124c3f7d9a5e74c4cab995566f9dd485db77f2ff65e58c5528ca0c882dd6de8f5cabea81f0d79f227d89593d68e8b614db8aecadb3c3a3955afa9b8d6786635c35a814ed3dc065256b3c2129574ab5578db7b9e81d9388c562fe203509ccee7f51ff958161fa17432b9dbe97a48841633f0c3a6a00f26b9d38b5a1c69b6773a92b823b4fa07c84868c0208117c5c5db1962287eff7e01ce09b15394f265d32d17e312dcfce0dd4e089e39c72e5cdbbef5d86246bebf559a1100420be4dda4ef18973d0e89415a424947f9274c4e46e85eeaa73cfdd0242c8d94ca5d166356f36d4bffbe10fa7dfc0c8f29a4e54ac21e94552d6cb07b766e2154089cfb1b95936bb9ff905b144a20114c91b7f16639ce91a5caeb4a4f2fe2d3c5f3461f72cca25cff3fcaed123cd9c4b2df4ed518c7e29b3cc15e9a15570c5d43dbb6127d228f9b7b1e1f1df9f1d2090d3328142e2039ed047a2b821abc728bc81cf46b43a3d78d073426e40384e9d83bd52512c532322ea1f666bcd8a96f387d637bfa5d032cb83995a10b2e856cae828fe1698c6428ffdf2fbf4570498357d96c22f6e81f90f8a3438d114b9c66bb871b8c4fa43586395c7515aee353a4ae42da018a9fd924b159a1ba3e0c7a2c39d793d066aa4d9427d051ee84ab28e7cdd9e3e0594b37ab5e4b67e1be44050fb300193b5aac7a7e415e5e41407c0fe3c83ec1da09b855ec18c8c76308fa4dfaa52e8ae643ebe4ee2a87c786fdc1841f4323fe71873aee84d7101265db5a40e837f0b4e6adddc10a24dbce60555a6bbea3d11d7013cd96c6ef00269ee7007b77fb24ff4b78598835183425222a5fda0a5adb2b6ce3a61504fc90552ef9c0585a1a3b5b26bf630980edb341316c9f1c2b7347cb3b73525488210b8aecbc7d30e19ad930193302e768e595e5041e22d5ae9c263233b83c9e76a98d15a749fe112f39ff4aa8d6f89ec4de02fecbd46352cd88528f611c68f44edd7eb1d0fcd6cf2221fc301aeee9f132ed40fef26160199e6337aae58bac3cc9478d3c992acff314d735ca02e0870c07260454b567122a9f234a454540e147d3d8223a48bcb8b49a791f90ea52bf125b7e685a2c912ae60221e00b35ec1fd7d805305a3e5070d2cf0c62c1953d4a5b67a511afa602b13006a4345b533a41bc68a8ba5f3d7234f8c3790c7733244bcc45314146df44847843b375d41cd8481602929b21fa859ba216591e3e9dda7481099b85e60779996b33d462029b8e6b015e5d0f497d9cde98c66177654a5c38e7c1e418f5087bb51bb1144c9792e246fbb6462be34b95c1fb2853d2c5026da759ec43ba5d7c0dff239f383f779478a777f280ae6c4374a04e105224e595e148bd5facd39950806b2ab70801c6e64b1cfb7f91c7e03bbdda7a6485cfd61819a09d2ac0b2472af9398004fabd654f57c4fb5dea0248976496f1e0a5a3b92952bf861a8c0fb8d8f3f294f00ea3e02edeb059ddd844a1950248b93f146fa09c06771297e52c12dcb5b1cd9b9149ea73f2435190fbdd2ddafb16385f95e852f73d5823522eee575b69363270cf75de918509a51d04a2e997061e99bb81d2245143b8fcc53d97ace313f0d5e9b9acb524491a2d80534cc0a7fd511ac9a269ae888",
      "expected_result": "valid"
    },
    {
      "name": "utf8_multibyte_path",
      "transport_key_hex": "a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5",
      "iv_hex": "070707070707070707070707",
      "session_id": "sess-kat",
      "path": "/v1/échelle/🌀/response",
      "counter": 1,
      "plaintext_utf8": "utf-8 path binding",
      "nonce_hex": "070707070707070707070706",
      "aad_hex": "00000008736573732d6b61740000001a2f76312fc3a96368656c6c652ff09f8c802f726573706f6e736500000001",
      "ciphertext_hex": "f07d257f671a653e60be96d0d8df7dea4a2824d33899225044928c045cfc2ccd7ba7",
      "expected_result": "valid"
    },
    {
      "name": "tampered_tag",
      "transport_key_hex": "a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5",
      "iv_hex": "070707070707070707070707",
      "session_id": "sess-kat",
      "path": "/v1/pairing/sessions/x/response",
      "counter": 1,
      "plaintext_utf8": "hello world",
      "nonce_hex": "070707070707070707070706",
      "aad_hex": "00000008736573732d6b61740000001f2f76312f70616972696e672f73657373696f6e732f782f726573706f6e736500000001",
      "ciphertext_hex": "ed6c2f3e301a623066bad2476a2fde4a72a40615c1f8e67f8bd9ae",
      "expected_result": "tag-mismatch",
      "mutation": "flipped last byte of ciphertext||tag"
    },
    {
      "name": "tampered_ciphertext_body",
      "transport_key_hex": "a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5",
      "iv_hex": "070707070707070707070707",
      "session_id": "sess-kat",
      "path": "/v1/pairing/sessions/x/response",
      "counter": 1,
      "plaintext_utf8": "hello world",
      "nonce_hex": "070707070707070707070706",
      "aad_hex": "00000008736573732d6b61740000001f2f76312f70616972696e672f73657373696f6e732f782f726573706f6e736500000001",
      "ciphertext_hex": "ec6c2f3e301a623066bad2476a2fde4a72a40615c1f8e67f8bd9af",
      "expected_result": "tag-mismatch",
      "mutation": "flipped first byte of ciphertext"
    },
    {
      "name": "wrong_aad_path",
      "transport_key_hex": "a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5",
      "iv_hex": "070707070707070707070707",
      "session_id": "sess-kat",
      "path": "/v1/pairing/sessions/x/WRONG",
      "counter": 1,
      "plaintext_utf8": "hello world",
      "nonce_hex": "070707070707070707070706",
      "aad_hex": "00000008736573732d6b61740000001f2f76312f70616972696e672f73657373696f6e732f782f726573706f6e736500000001",
      "ciphertext_hex": "ed6c2f3e301a623066bad2476a2fde4a72a40615c1f8e67f8bd9af",
      "expected_result": "aad-mismatch",
      "mutation": "path mutated after sealing"
    },
    {
      "name": "counter_rollback",
      "transport_key_hex": "a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5",
      "iv_hex": "070707070707070707070707",
      "session_id": "sess-kat",
      "path": "/v1/pairing/sessions/x/response",
      "counter": 1,
      "plaintext_utf8": "hello world",
      "nonce_hex": "070707070707070707070706",
      "aad_hex": "00000008736573732d6b61740000001f2f76312f70616972696e672f73657373696f6e732f782f726573706f6e736500000001",
      "ciphertext_hex": "ed6c2f3e301a623066bad2476a2fde4a72a40615c1f8e67f8bd9af",
      "expected_result": "counter-not-monotonic",
      "mutation": "replay counter=1 after opening counter>=1"
    }
  ]
}