mirror of
https://github.com/bitcoin/bips.git
synced 2026-10-19 19:29:18 +00:00
bip-0138: make PLAINTEXT LENGTH mandatory and add optional payload padding
This commit is contained in:
48
bip-0138.md
48
bip-0138.md
@@ -263,7 +263,39 @@ Implementations MUST reject empty payloads.
|
||||
`CIPHERTEXT` is the encrypted data resulting from encryption of `PAYLOAD` with algorithm
|
||||
defined in `ENCRYPTION` where `PAYLOAD` is encoded following this format:
|
||||
|
||||
`CONTENT` `PLAINTEXT`
|
||||
`CONTENT` `LENGTH` `PLAINTEXT` (`PADDING`)
|
||||
|
||||
`LENGTH`: variable-length integer representing the length of `PLAINTEXT` in bytes. It MUST
|
||||
be present.
|
||||
|
||||
`PLAINTEXT`: the `LENGTH` bytes of payload data.
|
||||
|
||||
`PADDING`: OPTIONAL bytes after `PLAINTEXT`, up to the end of the decrypted `PAYLOAD`.
|
||||
Parsers MUST consume exactly `LENGTH` bytes of `PLAINTEXT` and MUST ignore everything after
|
||||
it. These bytes are reserved for size padding (see Padding) and/or vendor-specific data,
|
||||
the same way trailing bytes after `CIPHERTEXT` are reserved and ignored.
|
||||
|
||||
#### Padding
|
||||
|
||||
Backups that are updated over time can leak information through their size even when the
|
||||
contents are encrypted. A wallet that uploads a new backup after every received transaction
|
||||
can reveal activity to the storage provider through changing payload sizes. This is relevant
|
||||
for mutable payloads such as BIP-329 or BIP-0139.[^padding-privacy]
|
||||
|
||||
Padding is OPTIONAL and is an encoder concern only: decoders ignore the `PADDING` bytes and
|
||||
MUST NOT validate any bucket. Because the padding sits inside `CIPHERTEXT`, the
|
||||
`ENCRYPTED_PAYLOAD` `LENGTH` reveals only the padded size, not the real `PLAINTEXT` size.
|
||||
|
||||
Encoders that pad SHOULD zero-fill `PAYLOAD` up to the smallest bucket `S_n` that fits it,
|
||||
with `S_0 = 10240` (10 KiB) and `S_n = floor(S_0 * (5 / 4)^n)`. Payloads of 10 KiB or less
|
||||
are padded to 10 KiB. This keeps padding overhead under 25% above the smallest fitting bucket
|
||||
while coarsening the observable size. Padding is RECOMMENDED for mutable payloads and
|
||||
unnecessary for static ones such as BIP-380 descriptors and BIP-388 wallet policies.
|
||||
|
||||
[^padding-privacy]: **Why pad inside the ciphertext?**
|
||||
Padding the encrypted payload, rather than appending bytes after the backup, hides the
|
||||
real payload size from anyone who parses the backup, not just from someone who measures
|
||||
the file size. The size field a parser sees is the padded `LENGTH`.
|
||||
|
||||
#### Integer Encodings
|
||||
|
||||
@@ -353,19 +385,19 @@ The version field enables possible future enhancements:
|
||||
|
||||
### Test Vectors
|
||||
|
||||
[key_types.json](./bip-encrypted-backup/test_vectors/keys_types.json) contains test
|
||||
[key_types.json](./bip-0138/test_vectors/keys_types.json) contains test
|
||||
vectors for key serialisations.
|
||||
[content_type.json](./bip-encrypted-backup/test_vectors/content_type.json) contains test
|
||||
[content_type.json](./bip-0138/test_vectors/content_type.json) contains test
|
||||
vectors for contents types serialisations.
|
||||
[derivation_path.json](./bip-encrypted-backup/test_vectors/derivation_path.json) contains
|
||||
[derivation_path.json](./bip-0138/test_vectors/derivation_path.json) contains
|
||||
test vectors for derivation paths serialisations.
|
||||
[individual_secrets.json](./bip-encrypted-backup/test_vectors/individual_secrets.json)
|
||||
[individual_secrets.json](./bip-0138/test_vectors/individual_secrets.json)
|
||||
contains test vectors for individual secrets serialization.
|
||||
[encryption_secret.json](./bip-encrypted-backup/test_vectors/encryption_secret.json)
|
||||
[encryption_secret.json](./bip-0138/test_vectors/encryption_secret.json)
|
||||
contains test vectors for generation of encryption secret.
|
||||
[chacha20poly1305_encryption.json](./bip-encrypted-backup/test_vectors/chacha20poly1305_encryption.json)
|
||||
[chacha20poly1305_encryption.json](./bip-0138/test_vectors/chacha20poly1305_encryption.json)
|
||||
contains test vectors for ciphertexts generated using CHACHA20-POLY1305.
|
||||
[encrypted_backup.json](./bip-encrypted-backup/test_vectors/encrypted_backup.json)
|
||||
[encrypted_backup.json](./bip-0138/test_vectors/encrypted_backup.json)
|
||||
contains test vectors for generation of complete encrypted backup.
|
||||
|
||||
## Acknowledgements
|
||||
|
||||
@@ -10,9 +10,9 @@
|
||||
"derivation_paths": [],
|
||||
"plaintext": "00",
|
||||
"nonce": "a1b2c3d4e5f607080910a1b2",
|
||||
"expected": "424950585858010001ff34b3411f78127b71ca2e3cc60d0fd71350ee557c37d71f4d81fb913461ae0001a1b2c3d4e5f607080910a1b2151d8f44dba6f420976b9343f792b4bd58c06289d234",
|
||||
"expected": "424950585858010001ff34b3411f78127b71ca2e3cc60d0fd71350ee557c37d71f4d81fb913461ae0001a1b2c3d4e5f607080910a1b2161d8f44e9a6196e61ac587ad2a3243b7c26949d848121",
|
||||
"trailing": "deadbeef00ff",
|
||||
"expected_base64": "QklQWFhYAQAB/zSzQR94Entxyi48xg0P1xNQ7lV8N9cfTYH7kTRhrgABobLD1OX2BwgJEKGyFR2PRNum9CCXa5ND95K0vVjAYonSNA=="
|
||||
"expected_base64": "QklQWFhYAQAB/zSzQR94Entxyi48xg0P1xNQ7lV8N9cfTYH7kTRhrgABobLD1OX2BwgJEKGyFh2PROmmGW5hrFh60qMkO3wmlJ2EgSE="
|
||||
},
|
||||
{
|
||||
"description": "Two keys, 1 derivation paths, BIP380 content",
|
||||
@@ -28,8 +28,8 @@
|
||||
],
|
||||
"plaintext": "wsh(or_d(pk([9d69155f/48'/1'/0'/2']tpubDDxT9mkZzWwkKwpGT5fY6iiM9muYTPkTx6Eig8dpHR7TChuGGCWYAHVmpW1ciido5RiFWwjzYsF1GZHkEHg2nrYp3zNtx3QQRkznyLhQ77x/<0;1>/*),and_v(v:pkh([9d69155f/48'/1'/0'/2']tpubDDxT9mkZzWwkKwpGT5fY6iiM9muYTPkTx6Eig8dpHR7TChuGGCWYAHVmpW1ciido5RiFWwjzYsF1GZHkEHg2nrYp3zNtx3QQRkznyLhQ77x/<2;3>/*),older(52596))))#gx5f42wh",
|
||||
"nonce": "0102030405060708090a0b0c",
|
||||
"expected": "42495058585801010480000030800000018000000080000002024900d4ef9021cb059b8fb35c6de9b6db91949a328527ede0645be237899100bd5e3eb8a36f7bf32e02810c14666476f2b28a15cd499c30f8f98e926639a0765c010102030405060708090a0b0cfd63012f51db36ae620d6522a86e4ce7d9daff2f50826aae70c1d3707d18b8075543da1848ad904b11be465e768d8b1ea74a1b21f21f882262bd0d5f7165991720c1836f1bce2dec7ba3813fc1c0bc6404a0fd6228e239f8bddd398c32f8274f9de0f0b5662854ce900d7d5b14a16605eb2a49d031b98513b73777685693b45b17e08a60e095b66403efcc7036cd82a8d675362eab43bcdecb158e8b0dcca476173345d189c2277dc25b9851b2be92c7ef8b69a565af1ccf9726e322db2b8d5266a5df4296527c716b8ba004fb1408cbd7cc7a18575286e6f03e1793b25eea11223fd6cc7a497d8328997b1eb770fcc8125e60511eefb8232b780d80f1d71e9e937627dfb62cd6c5807b35e7d7bb9aaf18d5a46c6ea271f2be26bd1cc35bb2b70cc1930ad5f472b1bf0d7b3bed3dfe358a69beabdafd6316968c530237f21e1c89662ada34d666735f791db5eb68ee29d2d06f42421ec311d6284f5be9850d63e0cfd6cfe207",
|
||||
"expected_base64": "QklQWFhYAQEEgAAAMIAAAAGAAAAAgAAAAgJJANTvkCHLBZuPs1xt6bbbkZSaMoUn7eBkW+I3iZEAvV4+uKNve/MuAoEMFGZkdvKyihXNSZww+PmOkmY5oHZcAQECAwQFBgcICQoLDP1jAS9R2zauYg1lIqhuTOfZ2v8vUIJqrnDB03B9GLgHVUPaGEitkEsRvkZedo2LHqdKGyHyH4giYr0NX3FlmRcgwYNvG84t7HujgT/BwLxkBKD9YijiOfi93TmMMvgnT53g8LVmKFTOkA19WxShZgXrKknQMbmFE7c3d2hWk7RbF+CKYOCVtmQD78xwNs2CqNZ1Ni6rQ7zeyxWOiw3MpHYXM0XRicInfcJbmFGyvpLH74tppWWvHM+XJuMi2yuNUmal30KWUnxxa4ugBPsUCMvXzHoYV1KG5vA+F5OyXuoRIj/WzHpJfYMomXset3D8yBJeYFEe77gjK3gNgPHXHp6TdifftizWxYB7NefXu5qvGNWkbG6icfK+Jr0cw1uytwzBkwrV9HKxvw17O+09/jWKab6r2v1jFpaMUwI38h4ciWYq2jTWZnNfeR2162juKdLQb0JCHsMR1ihPW+mFDWPgz9bP4gc="
|
||||
"expected": "42495058585801010480000030800000018000000080000002024900d4ef9021cb059b8fb35c6de9b6db91949a328527ede0645be237899100bd5e3eb8a36f7bf32e02810c14666476f2b28a15cd499c30f8f98e926639a0765c010102030405060708090a0b0cfd66012f51dbbc8d0b527938df6516c8d6dad47d1cef6afb73cd846a7c46b01c5c43da1948ad924b63f8117660b9ba04b7370e1e9108b40f73a10d447d46dc362dc28c5f609e29d41b9aa40dc1e8e17515f1806f3f920fbfa1cc66ad36d7115f83e2efba4a1055928333255c12fd5003982f57fc1c979c2fdf036b117a8cb45760c69f0bfed4955a44edb1551facb883ea6700288338e3f7d31ec69f00c2b06d00300e96c1fc3f31eb17c04ce0e6a296a3e669f066a34bd59678eb39d22b8d5366a5dd42e4142b597dbf911eeb691df4b4db4635464e86fdfc1d52b2bf5de521596fd2f41a7058b128b1260fa62181c5052e561602fee7022f573b90efd50191bf4e2683a5128ec2862703e1a4be848335fbbd5006966d8b9239bd10b47da7dc1280b03492f60f94966c4110d12fc833a212e182c2f629029980471b20f15b59c16c349664967b7f5b650daaeb62a078c4d1234553425de19e2856a708edd21bf5f080f7d5ebc899a1",
|
||||
"expected_base64": "QklQWFhYAQEEgAAAMIAAAAGAAAAAgAAAAgJJANTvkCHLBZuPs1xt6bbbkZSaMoUn7eBkW+I3iZEAvV4+uKNve/MuAoEMFGZkdvKyihXNSZww+PmOkmY5oHZcAQECAwQFBgcICQoLDP1mAS9R27yNC1J5ON9lFsjW2tR9HO9q+3PNhGp8RrAcXEPaGUitkktj+BF2YLm6BLc3Dh6RCLQPc6ENRH1G3DYtwoxfYJ4p1BuapA3B6OF1FfGAbz+SD7+hzGatNtcRX4Pi77pKEFWSgzMlXBL9UAOYL1f8HJecL98DaxF6jLRXYMafC/7UlVpE7bFVH6y4g+pnACiDOOP30x7GnwDCsG0AMA6Wwfw/MesXwEzg5qKWo+Zp8GajS9WWeOs50iuNU2al3ULkFCtZfb+RHutpHfS020Y1Rk6G/fwdUrK/XeUhWW/S9BpwWLEosSYPpiGBxQUuVhYC/ucCL1c7kO/VAZG/TiaDpRKOwoYnA+GkvoSDNfu9UAaWbYuSOb0QtH2n3BKAsDSS9g+UlmxBENEvyDOiEuGCwvYpApmARxsg8VtZwWw0lmSWe39bZQ2q62KgeMTRI0VTQl3hnihWpwjt0hv18ID31evImaE="
|
||||
},
|
||||
{
|
||||
"description": "Three keys, multiple derivation paths, BIP329 content",
|
||||
@@ -47,8 +47,8 @@
|
||||
],
|
||||
"plaintext": "{\"type\":\"tx\",\"ref\":\"f91d0a8a78462bc59398f2c5d7a84fcff491c26ba54c4833478b202796c8aafd\",\"label\":\"Transaction\",\"origin\":\"wpkh([d34db33f/84'/0'/0'])\"}\n{\"type\":\"addr\",\"ref\":\"bc1q34aq5drpuwy3wgl9lhup9892qp6svr8ldzyy7c\",\"label\":\"Address\"}\n{\"type\":\"pubkey\",\"ref\":\"0283409659355b6d1cc3c32decd5d561abaac86c37a353b52895a5e6c196d6f448\",\"label\":\"Public Key\"}\n{\"type\":\"input\",\"ref\":\"f91d0a8a78462bc59398f2c5d7a84fcff491c26ba54c4833478b202796c8aafd:0\",\"label\":\"Input\"}\n{\"type\":\"output\",\"ref\":\"f91d0a8a78462bc59398f2c5d7a84fcff491c26ba54c4833478b202796c8aafd:1\",\"label\":\"Output\",\"spendable\":false}\n{\"type\":\"xpub\",\"ref\":\"xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8\",\"label\":\"Extended Public Key\"}\n{\"type\":\"tx\",\"ref\":\"f546156d9044844e02b181026a1a407abfca62e7ea1159f87bbeaa77b4286c74\",\"label\":\"Account #1 Transaction\",\"origin\":\"wpkh([d34db33f/84'/0'/1'])\"}",
|
||||
"nonce": "deadbeefcafebabe12345678",
|
||||
"expected": "4249505858580102040000000080000001000000028000000303800000548000000080000000032424c7f03a4b1ec573f64738c2a61ac0a9480750f6a641ff8dd1e85acf5b8008331aabbcc51126eeeaf8f870c92bdae98a5688af3a1d9ce71004980b7f6af6e96e5f3aab8b6dfe2f8c09da023a29f797d8333736fb7b7c64958d0ff4109ba93a01deadbeefcafebabe12345678fd9c03f6ebb8e2e9c02c5194e453edd274ec677e0dea5f18cda3e00f7cc4e8c8d4821bda377728eb2f6d2f69eef72070a2a7bc01cc720bb989346102076d475cab2802f1e3766526d2c0bfd257a8e424045cd91356e8789458d06aa055fe2ed0c42fb338b43ae394ae3f9807e1840171965708c89e3b42e68dc4bf84c51bcc8738475e8325e07398753327c1afa6a96032cf73b9387c0f4cb6825adf383c8135b63394b1372fb2752c5297a595099d91c59f25ad6e0d136013ce64d67a53fc88861bf1f558fc2c775644fba1bba9efd23f562f6edb9a2cb476c40cc2ae3f006d3f839a9607271b6eed6f58efcf435eb0cf79c12b5f3c4160f8c3de8e9e311c7698090be2c8e2a3ef702daf88612179e21ee4ac401cab342f7a1d1c141eed8f1a7c60d6dd34324ed6bd07e03ae596d7c04350698ce4592660b841aadf5c2a372b0fc57539094bc0af80febc92aa10578c0b35efd164f4c94217d2e0de72461bdea40d881858eb4b16f1c361fa98cfe0fcbc83787c492238ea745a84265e907c8a07d98852fef62a2a360b75c8b700b24d503a0e54260a1a94e0a980d69aa76e34ba8c304f85e0e7f4cfa3cf3c0c4ac8ddad1548bf20dabd4b316ed53903701677e78d3cfd46980acfe482110be8be64a27ce1dd4d7502338d087e9b86b7ca6144fc81a2a7b806a4e397dfb8d8ad9ea54130d9b46d2cd9002e372094399078e0bce1af9f2dfb5a69a16ec88e53ec9c6f34d784596afcece4d8abd33e937d9ea4ddf170088270cc4f59f68b978368833dc7713b0351da5f690991c841f17c42e7b4d89c35a821e110c4b2a9a1f0cfebd14cfb39d938569614ee62bb488049c6b7ed636dd90cfb00170dd80f4a6e6c9a45a3bed0fa1340ecddb538bb888fdaaa1680d711d6f94297a9f7ed3401cecb25b6779b4ba5415a343a95597cb85b074d8e19def182d8581fb7b4bc716ba887af1bd51a10c699f6ddfdb5439c7eac02d9220a0417489a79bbc6da4d10325317a6630da9303c433f261e0d36f977cea8113c7e4581e5d27f6607be0f9f7058fd6730d64377b7d1e70f4858974896e3ae9fbde9fb6eb66be4d0c36544cf8cfb80166875f1672f5aa4991951248414a54457e3f3bea0a2953d27de6d0a299cc06471d9f331ace87937b96547e7bcfa7ae972fd9e08cfa69fae42fe786f1cb1d5ee0bc3bbd9277f38b290eb2033f39dc65bfc963c60d3f01d493ab7546cd72504303f68bd5e376d2b6a2dc59d4c3cfbef490d1cdcb73065f756620528bb0bd92301a26f53f0c1ae61962416c746d1b3b38fd202",
|
||||
"expected_base64": "QklQWFhYAQIEAAAAAIAAAAEAAAACgAAAAwOAAABUgAAAAIAAAAADJCTH8DpLHsVz9kc4wqYawKlIB1D2pkH/jdHoWs9bgAgzGqu8xREm7ur4+HDJK9rpilaIrzodnOcQBJgLf2r26W5fOquLbf4vjAnaAjop95fYMzc2+3t8ZJWND/QQm6k6Ad6tvu/K/rq+EjRWeP2cA/bruOLpwCxRlORT7dJ07Gd+DepfGM2j4A98xOjI1IIb2jd3KOsvbS9p7vcgcKKnvAHMcgu5iTRhAgdtR1yrKALx43ZlJtLAv9JXqOQkBFzZE1boeJRY0GqgVf4u0MQvszi0OuOUrj+YB+GEAXGWVwjInjtC5o3Ev4TFG8yHOEdegyXgc5h1MyfBr6apYDLPc7k4fA9MtoJa3zg8gTW2M5SxNy+ydSxSl6WVCZ2RxZ8lrW4NE2ATzmTWelP8iIYb8fVY/Cx3VkT7obup79I/Vi9u25ostHbEDMKuPwBtP4OalgcnG27tb1jvz0NesM95wStfPEFg+MPejp4xHHaYCQviyOKj73Atr4hhIXniHuSsQByrNC96HRwUHu2PGnxg1t00Mk7WvQfgOuWW18BDUGmM5FkmYLhBqt9cKjcrD8V1OQlLwK+A/rySqhBXjAs179Fk9MlCF9Lg3nJGG96kDYgYWOtLFvHDYfqYz+D8vIN4fEkiOOp0WoQmXpB8igfZiFL+9ioqNgt1yLcAsk1QOg5UJgoalOCpgNaap240uowwT4Xg5/TPo888DErI3a0VSL8g2r1LMW7VOQNwFnfnjTz9RpgKz+SCEQvovmSifOHdTXUCM40IfpuGt8phRPyBoqe4BqTjl9+42K2epUEw2bRtLNkALjcglDmQeOC84a+fLftaaaFuyI5T7JxvNNeEWWr87OTYq9M+k32epN3xcAiCcMxPWfaLl4Nogz3HcTsDUdpfaQmRyEHxfELntNicNagh4RDEsqmh8M/r0Uz7Odk4VpYU7mK7SIBJxrftY23ZDPsAFw3YD0pubJpFo77Q+hNA7N21OLuIj9qqFoDXEdb5Qpep9+00Ac7LJbZ3m0ulQVo0OpVZfLhbB02OGd7xgthYH7e0vHFrqIevG9UaEMaZ9t39tUOcfqwC2SIKBBdImnm7xtpNEDJTF6ZjDakwPEM/Jh4NNvl3zqgRPH5FgeXSf2YHvg+fcFj9ZzDWQ3e30ecPSFiXSJbjrp+96ftutmvk0MNlRM+M+4AWaHXxZy9apJkZUSSEFKVEV+PzvqCilT0n3m0KKZzAZHHZ8zGs6Hk3uWVH57z6euly/Z4Iz6afrkL+eG8csdXuC8O72Sd/OLKQ6yAz853GW/yWPGDT8B1JOrdUbNclBDA/aL1eN20rai3FnUw8++9JDRzctzBl91ZiBSi7C9kjAaJvU/DBrmGWJBbHRtGzs4/SAg=="
|
||||
"expected": "4249505858580102040000000080000001000000028000000303800000548000000080000000032424c7f03a4b1ec573f64738c2a61ac0a9480750f6a641ff8dd1e85acf5b8008331aabbcc51126eeeaf8f870c92bdae98a5688af3a1d9ce71004980b7f6af6e96e5f3aab8b6dfe2f8c09da023a29f797d8333736fb7b7c64958d0ff4109ba93a01deadbeefcafebabe12345678fd9f03f6ebb86442b72e0385bf19aa8436ec3f245da31b4892e7a40c6fc6e19888d34dda627622bd7a6a7439e2f6757bf9f4ea55982e08bed2666155583a1057ac2951f2b574642a82c7b3d65cfee12c5459d01702e92f9606d529ea13b06390cd22f367fa4cabd7943e980ae68c0d6bdd144485c0704afd8a81ecc890518598607752984ae0229f22373bcafdaebe6432cf73b94a650a6c95db05a13a6e906efc74d7ef713cf43d7c02dee1c556d9d19c8c36fd6b1d516116cd21c77f5aba889844bffe5cb030261b0df0e8f2adedd47b1d3578998f31f96c9f1783e072406432c3c5d864795d5dec7859a8c13a07efb17b933a04760632b783c59e8578552dc8404fb297a6b1e76a2ea9806b237ce21be4a0111ffa677a7d1f1c441fead94b7c30d18c37671a82ed07e163b296dcc141506bdeb559273ab446f3d30c7d617f00902036591bc2f196e6a6dce7505e814b6aa1a32bb4f55e169ec2d82b2f03adfd52f61a0afa105cb68835a884d5b2a5ead33138197d7cae7749862f0ecc2ddc078c8958a8a32d716607749dbc5be11b046e525721514894b7f6d78191a06f67b9da324e89b0e0f8cba89939041acdd4a94149e82284b8106728c32b4d3d567eeacd63b32dcc58f3fed01975b1e11aa02ef08607324f7cdb177e9bd4ee9c310db8d1fde3fc05b7e19e8fe489fb9ef0403a8fe16a77890c2f622bcf6ac62cb4e0e2a8c47ffb0d36f639c38952bf9f3936d688096df0e8ef8eaedb6e96749af0dca67256872b9b094fe5c5dac3618e7d983f564c07e55f695bc89e10ad3b5ff3b0d49431e877e25392a7adb089d1b4af4ea928827211cc5eb978e911c0198ff3bd3c298346ac1a514e8b74051256a279869dc2ee057bcdfad82cb1f7bdc19126859f39ddad58ef95858b0151ec9623950bc456910d633c2ca5487baf6a507a8d1980eee3a7773dbbb18e4e35b987ee23c55223d7e6dedadfa274cb2edd64a270693c032aab4c8af2aa7e5141436b804134f2776459716b5e043bb92880cf536a5e5391e5d83b5316fc33837114df6169bf5b04ee8e990d1a49cc02d1b5ec9fe5b3ab27f23bbb94876a529f88fa80436473a16a275aa4c41d5723851ef6455de4a2bdf7f7946b728c3c082acc9160708ef737f8bc7160b46b43bdeef979bb24fe9d0d95a4cea140bf637952fc95e70683e4974426799c86e63b66bed8c62cbfd70661d3fd1a4136ad1f2f9b685a7b3773ba1b64217e2064dac57c30e080495c1b8bb32c6ea55e750128bb0ad95119a74fdddfb803b28298ab427ae226fc5db23aeafe5b",
|
||||
"expected_base64": "QklQWFhYAQIEAAAAAIAAAAEAAAACgAAAAwOAAABUgAAAAIAAAAADJCTH8DpLHsVz9kc4wqYawKlIB1D2pkH/jdHoWs9bgAgzGqu8xREm7ur4+HDJK9rpilaIrzodnOcQBJgLf2r26W5fOquLbf4vjAnaAjop95fYMzc2+3t8ZJWND/QQm6k6Ad6tvu/K/rq+EjRWeP2fA/bruGRCty4Dhb8ZqoQ27D8kXaMbSJLnpAxvxuGYiNNN2mJ2Ir16anQ54vZ1e/n06lWYLgi+0mZhVVg6EFesKVHytXRkKoLHs9Zc/uEsVFnQFwLpL5YG1SnqE7BjkM0i82f6TKvXlD6YCuaMDWvdFESFwHBK/YqB7MiQUYWYYHdSmErgIp8iNzvK/a6+ZDLPc7lKZQpsldsFoTpukG78dNfvcTz0PXwC3uHFVtnRnIw2/WsdUWEWzSHHf1q6iJhEv/5csDAmGw3w6PKt7dR7HTV4mY8x+WyfF4PgckBkMsPF2GR5XV3seFmowToH77F7kzoEdgYyt4PFnoV4VS3IQE+yl6ax52ouqYBrI3ziG+SgER/6Z3p9HxxEH+rZS3ww0Yw3ZxqC7QfhY7KW3MFBUGvetVknOrRG89MMfWF/AJAgNlkbwvGW5qbc51BegUtqoaMrtPVeFp7C2CsvA639UvYaCvoQXLaINaiE1bKl6tMxOBl9fK53SYYvDswt3AeMiViooy1xZgd0nbxb4RsEblJXIVFIlLf214GRoG9nudoyTomw4PjLqJk5BBrN1KlBSegihLgQZyjDK009Vn7qzWOzLcxY8/7QGXWx4RqgLvCGBzJPfNsXfpvU7pwxDbjR/eP8Bbfhno/kifue8EA6j+Fqd4kML2Irz2rGLLTg4qjEf/sNNvY5w4lSv585NtaICW3w6O+OrttulnSa8NymclaHK5sJT+XF2sNhjn2YP1ZMB+VfaVvInhCtO1/zsNSUMeh34lOSp62widG0r06pKIJyEcxeuXjpEcAZj/O9PCmDRqwaUU6LdAUSVqJ5hp3C7gV7zfrYLLH3vcGRJoWfOd2tWO+VhYsBUeyWI5ULxFaRDWM8LKVIe69qUHqNGYDu46d3Pbuxjk41uYfuI8VSI9fm3trfonTLLt1konBpPAMqq0yK8qp+UUFDa4BBNPJ3ZFlxa14EO7kogM9Tal5TkeXYO1MW/DODcRTfYWm/WwTujpkNGknMAtG17J/ls6sn8ju7lIdqUp+I+oBDZHOhaidapMQdVyOFHvZFXeSivff3lGtyjDwIKsyRYHCO9zf4vHFgtGtDve75ebsk/p0NlaTOoUC/Y3lS/JXnBoPkl0QmeZyG5jtmvtjGLL/XBmHT/RpBNq0fL5toWns3c7obZCF+IGTaxXww4IBJXBuLsyxupV51ASi7CtlRGadP3d+4A7KCmKtCeuIm/F2yOur+Ww=="
|
||||
},
|
||||
{
|
||||
"description": "Single key, proprietary content (3 bytes)",
|
||||
@@ -61,7 +61,7 @@
|
||||
"derivation_paths": [],
|
||||
"plaintext": "706c61696e74657874",
|
||||
"nonce": "000102030405060708090a0b",
|
||||
"expected": "424950585858010001ff34b3411f78127b71ca2e3cc60d0fd71350ee557c37d71f4d81fb913461ae0001000102030405060708090a0b2803da142accb6215cecfe50629224496c4d35cfc7ee64e906e77cc3398689748c325907c7d5dafef3",
|
||||
"expected_base64": "QklQWFhYAQAB/zSzQR94Entxyi48xg0P1xNQ7lV8N9cfTYH7kTRhrgABAAECAwQFBgcICQoLKAPaFCrMtiFc7P5QYpIkSWxNNc/H7mTpBud8wzmGiXSMMlkHx9Xa/vM="
|
||||
"expected": "424950585858010001ff34b3411f78127b71ca2e3cc60d0fd71350ee557c37d71f4d81fb913461ae0001000102030405060708090a0b2903da142accb6045beaab0565952b463f1f36cdc4ec6be60508154f5c503843c8d795954351d42469b1",
|
||||
"expected_base64": "QklQWFhYAQAB/zSzQR94Entxyi48xg0P1xNQ7lV8N9cfTYH7kTRhrgABAAECAwQFBgcICQoLKQPaFCrMtgRb6qsFZZUrRj8fNs3E7GvmBQgVT1xQOEPI15WVQ1HUJGmx"
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user