{
  "format": "BMENC v1",
  "note": "Conformance vectors for BMENC v1 (docs/specs/bmenc/v1.md). Every key, salt and ephemeral key is fixed, so the same inputs produce the same bytes. The plaintext of a vector is the first plaintextLength bytes of the sequence (i * 131) % 251. A negative vector is a byte-level change to the positive vector it names; a reader must refuse it with a message that includes 'expected'.",
  "positive": [
    {
      "name": "kek-empty",
      "description": "The platform key, and a payload of nothing at all: one segment holding only its tag.",
      "segLog2": 16,
      "fileKey": "a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0",
      "streamSalt": "b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0",
      "plaintextLength": 0,
      "kek": {
        "id": "0199a3f2-0000-7000-8000-00000000beef",
        "version": 7,
        "key": "c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0"
      },
      "recovery": null,
      "password": null,
      "meta": null,
      "built": null,
      "headerHex": "424d454e43000101100000010000008fb0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b001003c0199a3f200007000800000000000beef00000007ac0c94e6c09e77e0dc6a05980b67fbba4488ed693ce2c534950fb3b8981bbbf905ab1bf919e2bcd46b7b2d196acc44669c38f9efc793100a870b6d0f4e8d22bffd626c0a96b51590",
      "fileHex": "424d454e43000101100000010000008fb0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b001003c0199a3f200007000800000000000beef00000007ac0c94e6c09e77e0dc6a05980b67fbba4488ed693ce2c534950fb3b8981bbbf905ab1bf919e2bcd46b7b2d196acc44669c38f9efc793100a870b6d0f4e8d22bffd626c0a96b51590e7b6ea8243515a54618cc44c24e01c9a",
      "fileSha256": "217da70b73629933b16291519c326c19402a4e0bd4496421104e0dfd42e6442b"
    },
    {
      "name": "kek-one-byte",
      "description": "The smallest payload there is.",
      "segLog2": 16,
      "fileKey": "a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1",
      "streamSalt": "b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1",
      "plaintextLength": 1,
      "kek": {
        "id": "0199a3f2-0000-7000-8000-00000000beef",
        "version": 7,
        "key": "c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0"
      },
      "recovery": null,
      "password": null,
      "meta": null,
      "built": null,
      "headerHex": "424d454e43000101100000010000008fb1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b101003c0199a3f200007000800000000000beef00000007b5a7d3dc946294f4a8f0827daaacf1f165eef72055a3d949f4d275aa35707204e42a3ac136c03a26c7b95404f8c08b20535ee7fdc117617e708e8e7fae4c457a6bd0b35b1be7fcfc",
      "fileHex": "424d454e43000101100000010000008fb1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b101003c0199a3f200007000800000000000beef00000007b5a7d3dc946294f4a8f0827daaacf1f165eef72055a3d949f4d275aa35707204e42a3ac136c03a26c7b95404f8c08b20535ee7fdc117617e708e8e7fae4c457a6bd0b35b1be7fcfcc42c7275b614713c9979a95663291e4659",
      "fileSha256": "d19dac573004df0795849e0cee74e4133794070af71d30de53ef574d568634f9"
    },
    {
      "name": "kek-two-kib",
      "description": "One segment with room to spare, which is what most artifacts of a small source look like.",
      "segLog2": 16,
      "fileKey": "a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2",
      "streamSalt": "b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2",
      "plaintextLength": 2048,
      "kek": {
        "id": "0199a3f2-0000-7000-8000-00000000beef",
        "version": 7,
        "key": "c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0"
      },
      "recovery": null,
      "password": null,
      "meta": null,
      "built": null,
      "headerHex": "424d454e43000101100000010000008fb2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b201003c0199a3f200007000800000000000beef00000007521905d44a8b2b781cb7b0d8a66f6a8ca958ad10b822bacabb31f6360a3608f91d385ca6d0d3a67a61bfebd6a1f7b79f38274f0664236bb025f4f857b1745b7812c5547b82f0ba8b",
      "fileHex": "424d454e43000101100000010000008fb2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b201003c0199a3f200007000800000000000beef00000007521905d44a8b2b781cb7b0d8a66f6a8ca958ad10b822bacabb31f6360a3608f91d385ca6d0d3a67a61bfebd6a1f7b79f38274f0664236bb025f4f857b1745b7812c5547b82f0ba8b6bf75fa483dfe08208a1d9f44e2d8826eb5fe4190bc209f19df9924dc5f2511872eb761354102d938d61f5d830d109ced758d988bc98d6ae7e1b88df5bf4cc148bccfca690ad1588c65e9d2d63a24946b0aedaa0fd11177b3ad38e1e0b8f3b69fe3be585377d20c9695a4afa9bc8ef06617910c08e39cb4bca2b53e83de72cbd97b729a8a54553791a3fb4657eb737b423ec7492866916c524501aedde492988467cb32b2a248a81cffb2bf27ca5799f91dc81a1ba8ab24cf1b486e866fce3a87cf4fce501caa7f92241d9bc79bfc11cdc0396c60c0a79794a79ff7626ff1583b68d1f27bb37c5e5c750ab71e02b23453122d54e3c303af992ab2b8174632c08d34d51f7223f874b9bebe4e1a5bb1168e4dffbd6ce467977896ed52538d17b14f0a59f5986702e334e43c57c4db1e6f4b43ed9bd6b3198f88d288a06ee737464280eab7a6cbd845fe8c93bbc40cf2f550e7dad862ce02eee90e469e58cd10acda4065cb5920e51b9cedaca9b4dd0cdebc3dda6aaaddf0e7f48fc4b7ab5a9f6a2a10ac6f9a96e1ec94598e1648b037420cf5b6f70f341da8727b10ff5efe07c24367fa1e704111906061c8675506c1ffbcf9c9736fdaab08a378cd036297730a30781c6ae93b1f5600381c08adea669d5329e3ba53d67f8438bdc1424ee495455a25539d2386518871c3597d161e0fdb46ca22a4c2baf24fefce14b5bbd35113e7ba27e39435348e9df8094cf50bcb9c1aaa3dacf6d6a1a303c098cf51194b95028251b3b8bc17010c9294cdbd8d8727ba188815cd69388bed646bd5a149815c68910e9a41eae55e4409a5363eb2223d88f020726e50303e1ef79542f43d93bb417742717f406aa5632f92153b50ca11dc9a8c76303907de31cbca1dd02d5fa1d961d2c79afc1d9d79c1a824a9e81d6cdf35cbced91b593f00695f355c0cb2dc0e44da2a8d2672de1303c17d50f9ff0a7c19a077e91fe0a877c093eb06e53f68b5806a8d04598ac761cbef87775b22fc0ee0818c50d2960848bb249bb5914340bd0f13fd0314bfa00ba548dc5d03a18924b49d404ef7ddef92bc56c681235ee4969f24c0eb6345c343a3df407b5c6f17a039600ca91ef7ef07975b44a9fb6a01d7e61632216c45578ac11b1b94aa4fef873a9a7cdc4845bb16fb26dfd30e517479a65d35699eff6dd886dd77f3c7a2cbd93d4f04c080862bee4c2668a895515f9c37cdeb99896e098cee2bed47d00560b7e43db351853d60735bc12f969303e4b4f0bbf13c70ce9a443b4788178e902378d7dc491b4fc81cb2f3eb323c6c7e9b0287ddf3551372c670d957be8a9cdcc29b9269a0d5d2f77e38807337ab70d7beaed39d9e3295d0daa89f738d2c14af5b2daac00795f52e69065e9d7d0e9e799882b6bfda61762a356899dd44c5764d0cad4acae3d8a54c44417e36e0791a4a9f6ef423a2b25fe9da6100ff8bd6d023e5e50d5d36fe3db17979f24ad93547f63533377f04190f5ca3e6e87661a62034a9e14d3c0320dd863da6906f75aa938fcebdf2a0598517ea2cabb12dcf5f4ca8174794f2bf51877edb43ea71d590541392bcf122aae316d0927a2afdfcae0a7b48207442cbb0f3dd3438c5bfb8e2eed1dfbba757feb63c56d6976c875fdb02bc641cb20522cd1e7898ba3e0daf82eb8aefedaaf43f5ce34a5eec744fd24b1ab8b8004525552e7bfe1f379e34b8aaaca4840d4a0273502202efc84df5b046d8b43c0a6494ad45497ba283223b9c11234493e19abc8e57d4b49ebbf76fb471d5a620df33729573a411194cc10af79ba5065e5d6eba91c503830612fa014ecdd48b6d3d8ecad941f7c39d72c3697dd0b358262a17df47cf9aebb77be885144f2dbf3c58228ee3f48dda35309746d045e9705bd8de3c1e2fcccaf741fc241329349b51b64094dbdd9935c0329f68721eb7d14dc32e717a83e8c5b88541ee91c43762bb75c9fbc3a349fadcfd3b1ec3ccedc5fb8860e199dec266661071f82cc37a79498274ac87cb33a923c9e65e0b00c64f9a0d8a2550ddac0887dbf0ae869603bb288d5e98b1c2e17b3f240350f178651bcecaebd57e36e728794f8c321e4d9aa89ea8c6f909df2db85237dbf0a685ad6aee91b1126cb840f5a1e3b402f0f2c57de096db4ac0143a37bb1076e3e93156ee862f0e69ed78ec8ed91c359254e6b242814f3a1886abcc100f2423b06dc27a365e0537279065aa3ddc8cceb8ed0e542739daa29b672cab45a13b8b37d1f0e57d8e68051bd1267ee961d4642f72bdae44095defc3496083e79dc9d382d699c4ab22fc42ca783b737d47822c5c54f9e6a45472181e1ddef751064754e47cb531ba557c79bbb6ab8266b05f44ea4700b6f313b0d411d9dc4c8f7a40337c6e58d0c99d47602a4a3d42f19aaf174524b97303d9c3639b76661bac62c39fa87e518bc7f686363b676aa9ee2a954114b3f4f1858cc582ba9e91dbece5510ada56ed46e1037414d5f9489b4edcc30af36c3a78c422696d38130793205139efe19f8826fffbca023af61e1034fd715d2bb207be34a27ab2a4ef221015d54fec25409544e7b67fc82fa02b550db9e9bf19c10e45729055f352ffa00bef6bd655360a39a4debc054a56da4e5325fd5ef0a610e0110837a6344d0b4aa689e6a0d3225db0a4f2c4236104a6ccf82860efc4d4e5de7c25d98d68e22641cdafd27d3a4f0bc38ae2e23b77cf3d1270343ff819b2ec7f07385d85b923853662141a1c0b5d11871dadf9a878b127994f0a69b987d1137e40cc92decd1a56c26b26e205b32941bdd9a43ec0ceb10c24376df15e1282fcf27078d526289a0bd3d6bb5cd7057cede16c6c4ab869addaac8945acecb028149cfa58f408561d9b5d0c42efa4e0667ea31d1f0b36bb9f03eae493fedfe65c7b69055b36d",
      "fileSha256": "44906e9d6e018553c0edc18d71ee24dce8e0294d2f95118c8367df8464143dfd"
    },
    {
      "name": "kek-recovery-meta",
      "description": "What the platform writes for an artifact: the KEK, the recovery key, and a meta block.",
      "segLog2": 16,
      "fileKey": "a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3",
      "streamSalt": "b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3",
      "plaintextLength": 1000,
      "kek": {
        "id": "0199a3f2-0000-7000-8000-00000000beef",
        "version": 7,
        "key": "c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0"
      },
      "recovery": {
        "privateKey": "d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0",
        "ephemeralPrivateKey": "e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0"
      },
      "password": null,
      "meta": {
        "inner": "tar.zst",
        "innerName": "nightly-web-etc-nginx-20260915t020000z.tar.zst",
        "createdUtc": "2026-09-15T02:00:03Z",
        "runId": "0199a3f2-0000-7000-8000-000000000001"
      },
      "built": null,
      "headerHex": "424d454e430001011001000200000191b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b301003c0199a3f200007000800000000000beef00000007d8480809279aeec66fc1f5a5356032f4954f1574acbf6364f592b845d1b1e10fcf5c66b1957bf46e040048ff5d87907f1394b3a131985b894f513de72778ce27b8c10b32f93982a87cda474f6d1aa218a5411272c4ba2441f510ef19e6df03bd7615f4924bdb8015070c6fe9b9ddb6d4e08f1b000000b3bf0a556fd88b4c713c304931431e52796cc4243ab6cfc348a31f67bba63f0a5cebf357029018d48271d4a225f896efe0791d29a2d1adee603ec997ae147c33ba2a12219445f2decb6abec69a972e478d205c185b8b77fc82abff5e11de07ec27c6cf6048311764f41ce2e27301ff5e47c65537c3f28e2b772fdc7f26b45657a669e2ecc4b924510692b8247491115197f1c1a04aeaed0d23159fff35688bd8fc65d496e34aa64c5cb305f74f6c3e9cfcd095b2fe14914342888840d75b1179e30386722b265f0cf4f3cd5d016292aa88a5b840",
      "fileHex": "424d454e430001011001000200000191b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b301003c0199a3f200007000800000000000beef00000007d8480809279aeec66fc1f5a5356032f4954f1574acbf6364f592b845d1b1e10fcf5c66b1957bf46e040048ff5d87907f1394b3a131985b894f513de72778ce27b8c10b32f93982a87cda474f6d1aa218a5411272c4ba2441f510ef19e6df03bd7615f4924bdb8015070c6fe9b9ddb6d4e08f1b000000b3bf0a556fd88b4c713c304931431e52796cc4243ab6cfc348a31f67bba63f0a5cebf357029018d48271d4a225f896efe0791d29a2d1adee603ec997ae147c33ba2a12219445f2decb6abec69a972e478d205c185b8b77fc82abff5e11de07ec27c6cf6048311764f41ce2e27301ff5e47c65537c3f28e2b772fdc7f26b45657a669e2ecc4b924510692b8247491115197f1c1a04aeaed0d23159fff35688bd8fc65d496e34aa64c5cb305f74f6c3e9cfcd095b2fe14914342888840d75b1179e30386722b265f0cf4f3cd5d016292aa88a5b840f317b31384b25e22916be8bc78ff5cd6f379fbe59febbdbd570c234be0effbf9634b61c3fe6b3a206826bd4d2b5d61fbf50895a99db379aef1c43035953f3f5bace78b9582cfee43c9d394df80ec82a3ef99b05bc6633db91e5388733097a7cf1dba314cb64ff33ead7506fdbd17d501bc576ef744c89c49526e51d31a7862d8e0ac46dd8c5ca9cf6d6d8a2d8f7cb84e25f7b1158df37513cb2f1ba4bda20a919ecb1eb1e2302e2807859d4a0618329853136b161b711292874b8123dbc491a5de784a2c545c77a6111ef4c0f4ead3794b8a1968bccf4cd0f60be9f1da68be73530db59fe6eb6d6320d254b6ba80747669e3078c28e7d9737eb0a1f0ece5234198f9a3ac86473ed2c7581d31c7179956346e4d4568a5fa127e2992dcab781a7a33fb40da33a62de541a815fd282137edbf5e069bd952ddbbcfa72395b5ffd5152c8c9c4d8b457fe8f174e3155b1674bdc87c48563d4adb23414bef6b453e1417b2717c89774fc665ab50c091b760d1f378d1dc1654f5a0613ca3404cefae4e70de086357f1c87d8ddeb23d3bc2962e5105d7fec67b619b097ef233b0000e905b6b81f5b2ed9e4eb2342489ba9e254d2198bfac5c4a025e8b37bbd2730c1a48f20117c30125f2c20b007dc19912e636e29fcc0896b10fd5836fc862d62eab8904f56500904fb403d678834aa48d7c1b553dd57a65db4e683529d06ea076890521dcecf19dc0d9033abdf7616a541112161422095c6beba0ebeea96594e686b9432c1c7a7eae68174fbbfacf6313d9ddcb0cf222fdff54a00040c88398124e61261a49832d735b49f526127fc31025d8dc066584943dad858b7e27735e243ea55fcbc45f3295c51daf54d716b46f28b3b693493fe5344dd8cd2de3b707415334b56d93894331868c8521775af358a78cf3a0e9a67d93f9a09c52f97a06d4cdbef8f24a776d3fe2cd670a32127effef8f59ee8cd053d66fe9c0a48c26f558e3ab1c4762b22f92d119c82b7c5944f72430042551bda439a2ef6a7de1c0340c12e8bdbb00e9ef5e16e007f35f06f1fba318e8a5894174c06f4d00275585ada9be2f1bd1724bd76f3730b5b0ec434e5a862683b2aaf07a27fa7bc5f13d410258b5d2d5dfdfac189f8a761cb45af0ffdbe1513c8f14f549905b8597d1ee37e25fcc2d618c134a32d558342d257cb98d7694d354ced514afbb2c844549f566728c7c73aaa4bf77754592021eec51370640f5e74fc837f795326f034b2b1d0bd496f70845078b74af85ef2ea0e350cafe56f120fb3e06afe70acae1b3c442edfcef03d2a8c6b26c516982384a2d20ddf1d68edc67bd13064eacc49815697389d34a84ac26636636f5ffac1ad4e873842949960caf055bfbe617b50e1219e9f7e6fae62737a8b2e527e57c6011d5bc04e227a99c5d4999e625b7e1b474",
      "fileSha256": "ae901bcd6219e6b79fe7cbdfa7ef6489d423bf8863d3f4f50708badb6922c076"
    },
    {
      "name": "recovery-only",
      "description": "The offline recovery key on its own, which is what a platform-less restore uses.",
      "segLog2": 16,
      "fileKey": "a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4",
      "streamSalt": "b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4",
      "plaintextLength": 500,
      "kek": null,
      "recovery": {
        "privateKey": "d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0",
        "ephemeralPrivateKey": "e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1"
      },
      "password": null,
      "meta": null,
      "built": null,
      "headerHex": "424d454e43000101100000010000009bb4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b40400484c2817a9d668ed844d2f95b93b69ecb8485095783a015a424164b0d09702894fc1a6c2d05a7dc98064039dec3e9889d4c7030a98b1f641f11af8c2500307d89d962669bbbe2d3bec6351e99e5e03b3a13d716d46d4f9bbfe0b037e47ee3cbedb96910509c1431f2f",
      "fileHex": "424d454e43000101100000010000009bb4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b40400484c2817a9d668ed844d2f95b93b69ecb8485095783a015a424164b0d09702894fc1a6c2d05a7dc98064039dec3e9889d4c7030a98b1f641f11af8c2500307d89d962669bbbe2d3bec6351e99e5e03b3a13d716d46d4f9bbfe0b037e47ee3cbedb96910509c1431f2faf8369c8158b24b5d4b5a8ffe9b3ea3427e6404ee02d26f460e5ffd2db65be0740f2c05303fcbab79c7a71e7267ccf2561d5699a6e9aede582cfd185a3d3c87075fdb3eee6c2f1c36bc025039540b56948c275c01aa14726074ea1935e1059304c62cc31c2d4f66aa6156b47ca52795754ba79903872c31e3e951b9882b0a9d3ce1df17fac130cdce99a083305fae0974c53c03577becd4aa74c3c96c5c222a55a1b6f1e51aa9077df73ded805af34e1aaf6bb53059b748f69d882d50f4a0023587c69e2d17646a5dc24a97f9b4a39633a4e427103b1bcd91bfd5361ce1e6f08fb0fda3bcb8e17e882329712ba825ea5a09fb9697ae076d04101425e1860a5df6cdda6a824498ec1b54852b7f100dd5d53beb1689371af4d22d9ea69dd4fa05c856c8c81b7eb54074bcf4b8be1505eebbbfea9a3f5fbde18eac1992dfb870fed24d0e719e056421ddc2e7b3d6b453f84ddf28611011025c909c3bbf011b084a81ab6d8180ef7e074b2c5b74dea3c80f54e3d03689fb81a19798dff4a27a5b3376e9ed0d5c679517a04dfd1ebe6571b69475ff4d48332771768eb8952859f73b7995755e675c520a7cb372b659057a64cccbb581e635b91a7dfafc00080282008f0566992e57079ea7dd1992c87a8ba4171a98639e8c0c4ca1fd4eb63df0354fb7691c40bb98a7807f2ce07cf44568caca431270df23d5c364b3f493d7ada340d07cb7387",
      "fileSha256": "25e4eb42208353329ba51514a2af74ea09f258a64b6c3a6b13d73321e7db6c00"
    },
    {
      "name": "password-pbkdf2",
      "description": "A password stanza a FIPS-mode deployment can open.",
      "segLog2": 16,
      "fileKey": "a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5",
      "streamSalt": "b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5",
      "plaintextLength": 300,
      "kek": null,
      "recovery": null,
      "password": {
        "value": "correct horse battery staple",
        "kdf": "pbkdf2",
        "salt": "f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0",
        "memoryKib": null,
        "passes": null,
        "parallelism": null,
        "iterations": 600000
      },
      "meta": null,
      "built": null,
      "headerHex": "424d454e43000101100000010000008fb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b503003cf0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0000927c05677b100d30f13919966ecc7a79d1e54e10de1f99d03dfc96e6664f6ce73af1cff9938d794945d8a2ecbe5e7c0c45ab847d8aa1614ff170da7e7e01fec42a2a92a41e989a7da06ca",
      "fileHex": "424d454e43000101100000010000008fb5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b503003cf0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0000927c05677b100d30f13919966ecc7a79d1e54e10de1f99d03dfc96e6664f6ce73af1cff9938d794945d8a2ecbe5e7c0c45ab847d8aa1614ff170da7e7e01fec42a2a92a41e989a7da06ca0d76318f65c765e675666d62299d43c1fdb46217fd8517e1330927f115c364874fac38c3c3d27182f280c408f24cb6196fb6f6dd8aef8a61808c9f85206256bb6f812c4ef73f3cf26175826d98a7fad2cb605119bca253610c3a2f88976ce71578152b0230056b3675f0f070809d81eafa3601e7ad1b7a1f7b4c6855a4276d3267387f8dfb1fcb86ed99cafc0e0dcc42919cceff28c2c4c9c192aa667f6ea7151abaa23a06db3c1a2796663178dd30caf63dab0b68be07c108cd7ec0ae54363629ec2bf57f7a626c2990315b3e6b070647dbbbc182b1ed139179c0b85d09ec611c7737ac2a812db19402237f8119f7c2a9bbf5154f3f33117b909329f1ac207773ec8553cd97c59497445be851ad8b8b70e5aa4592ac209bcb393613564063fa7d0bbc0542d83cec8f57a1c29867427dbc36a95bd0a4ba3a10e46f51",
      "fileSha256": "5c2f2af52553dd5091f8a6ebde30f11898f797aaaa442b8ef6c10cfde7a3bd62"
    },
    {
      "name": "password-argon2id",
      "description": "A password stanza at a cost cheap enough to run in a test; the kit uses 1 GiB.",
      "segLog2": 16,
      "fileKey": "a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6",
      "streamSalt": "b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6",
      "plaintextLength": 300,
      "kek": null,
      "recovery": null,
      "password": {
        "value": "correct horse battery staple",
        "kdf": "argon2id",
        "salt": "f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1",
        "memoryKib": 8192,
        "passes": 1,
        "parallelism": 1,
        "iterations": null
      },
      "meta": null,
      "built": null,
      "headerHex": "424d454e430001011000000100000094b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6020041f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1000020000000000101ca7bc9d17a960f063f953c1396717ff9738533d94d56bf66eb464cac934f943e3b9655c8e7090907ba36a08168da4ea64f7893353207be29cebde6d1684359b031ad40a1c90327e9",
      "fileHex": "424d454e430001011000000100000094b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6020041f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1000020000000000101ca7bc9d17a960f063f953c1396717ff9738533d94d56bf66eb464cac934f943e3b9655c8e7090907ba36a08168da4ea64f7893353207be29cebde6d1684359b031ad40a1c90327e999784cc06b8fdeb1ed31bc67c481920bfdd56dbed20244bc5ff0c505acdda84d5bbb35f10afe14ff7e0b67f8df01a04d19b77ff20c5f511a82d5760048cd6d85b316a11ac9ddff5edb0a3e803969ee1e7539da0e42aa608320bb02646bac476aa2d46480d83a1c669c45dba1477be877c743351f7244e0e3bfd41b72e3a41f87f82a96a46754e4cd3aaf83b4c398a9722c78730e5f55396a6bb6d245336291910646565b7d6704b8f37c0688ee4c416138fef9b148243584097b89b53e6630b77c6549a240d41832bc52118b0cf6452cb62f1651338610ba37ba9f777e907b324044997d2dca24e3153fe949ac5430cabcf917586d49113b23e81439e8b4cbb0d0cc45e6b5a013859b33f0824a931ef5d5b8680dd773f759b5e11be7899b9df67eb94aa96f83959a60437daaac527f25cb200be803dd352c3a29f8f9",
      "fileSha256": "e2b9b87c0e2af136d50eda61b75fb6c9b6c4c8e57f237bbabbae736eec7db77b"
    },
    {
      "name": "all-stanzas",
      "description": "Every way in at once, in the order the platform writes them.",
      "segLog2": 16,
      "fileKey": "a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7",
      "streamSalt": "b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7",
      "plaintextLength": 2000,
      "kek": {
        "id": "0199a3f2-0000-7000-8000-00000000beef",
        "version": 7,
        "key": "c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0"
      },
      "recovery": {
        "privateKey": "d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0",
        "ephemeralPrivateKey": "e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2"
      },
      "password": {
        "value": "correct horse battery staple",
        "kdf": "argon2id",
        "salt": "f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2",
        "memoryKib": 8192,
        "passes": 1,
        "parallelism": 1,
        "iterations": null
      },
      "meta": null,
      "built": null,
      "headerHex": "424d454e43000101100000030000011eb7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b701003c0199a3f200007000800000000000beef00000007d14da817402d11f9acc5eebab0759f69df3ec7c8b59dd624e52fe2af8dc2f597d8ccc9857744e46504004819d80204bf85f3e1118e1b23410c88f0d0eeced5156f4c5bdf347b14ed7ec63f4d63d7de0ba027ca22e28be760ec539d79b2b770caa766bcf818e7dd6342456f76db015296f80b37020041f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f20000200000000001017227d8f5b5a7acbab319c8a0bdfd44972dc4e9d3da5ba998fb8f94607008b4df8354fcf2b8b41fea7bd5618b6a92e0a4db22b83a6b10e0753fd05fd04681024741ec3ef8fc821db1",
      "fileHex": "424d454e43000101100000030000011eb7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b701003c0199a3f200007000800000000000beef00000007d14da817402d11f9acc5eebab0759f69df3ec7c8b59dd624e52fe2af8dc2f597d8ccc9857744e46504004819d80204bf85f3e1118e1b23410c88f0d0eeced5156f4c5bdf347b14ed7ec63f4d63d7de0ba027ca22e28be760ec539d79b2b770caa766bcf818e7dd6342456f76db015296f80b37020041f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f20000200000000001017227d8f5b5a7acbab319c8a0bdfd44972dc4e9d3da5ba998fb8f94607008b4df8354fcf2b8b41fea7bd5618b6a92e0a4db22b83a6b10e0753fd05fd04681024741ec3ef8fc821db170078127036e1114679185125c4e44b4741a073fdb8c38bbeef63911fac7f53eccc21085f2aa27ec40baab1c5874c29a96cb5d60b676ad948d5ed49a77fcb2778b2a522df38b85f54e67e89fb68e47a46cb231dfcfbb36f978d9d1b7e2a47e90c89952309e60b76e550398bdb3a2491eb521fbcfa8499d2726821a3e589b9349b9e7717d78f2605c15f22d7fa2402215e34585f50b84ad8188eee40847e3da458e222b42da83efed254213b2fe80279e43fb90fc3278a1e50dd76b31554a5466df24a371d29b29c9375723d949f6cd2d0096cd379f1abf368ac09d3093bbd51820a1d4edbf1d6ec5ba5e8e6a96369e1ed30aa62fe20bef3ec2e19cefd23dda83de563be1245d5345b60bec6e51802429f32e755a668e0a97f3ca51cd75fc82d7d249162086705353ff0503798ab477f40fd4272b6e1fafce89108b31e4c53695485cc5e23fe5167ca5c08c379790712a6f28366a58ffc17fda48578d2944ba0025ad83db9b2241186e44bd57ae8e697e74d8a126f3f41cf026f0eb1051ccb2cd26c82d4c7cae221cf088bea767e0b84ac278ccfc3920f6d89c69bd053e7de2e5cdb076299b8fe6942928b706c5df73965ebc3423d3b2dd0e808ad1679dee85e2bed90fc9dc8a79cb499e2fe3cb24aa656c080d0039ccff71df14b4609217427e339bf9e1dd3f870cad0da8955f3c0b3aaaf262abb161e0e81019a6070230c24a6173b678dd66ab6742f949be4a99ebef6f3848aaf60cd2f15c09c86170ef8e7307b3723d15f19494a644322430f5567600aa5549820dc7bfc4e597713f6d472dcd58ad756f8fc3267367dd28c91b6e80bd98adfa09f2c5705c1da76cb78d7cff41192308b985053b8f85e3d8e30beebe31a0269f28249c60649965bac9626616683b3713fc5c471683fb72537547cee7e24babfdc7cf9a53ca4a5091c2271e649e070d923cf2c65e8eb6494a43a59139f461c39a5c5ff35f2c7be713a366539863eb34b2cc944201bbee61bfbee2e811276085caf681a672054a4c17118776490a558ed1434db0fd7b35cb3e0692184e2b04ea10908ac78bff879b2c6629fce25c71da23c5ee2fa07ab4978d5ef83d14a38ffd6fa8cfd7ae72cd772979179bdfc4f89041830e2f3eb923f82805924d889a3b9f439beddd9ff11b01ef256f87c6b109affa497e42fae63b2d722fb361dfbc82d4315852b867000210362b1ea6e08c8f6495c1adce384d53df485dd7b19bb706a0c2650d706f4244f4ba4f35f629e2ba3ec25a1215032f405b69ffb70f0dc480e1c5a4689b154b320f1d1860488bc1e7da7f2a6438e37530b2f83350924f5d6ecb0d754105a5e973f297bf9ab0fc723c4138907cda6f1a5aa954150764a5c03995ab072c9ee648a9a53ba39936adaac431449aed8febad07f54c76f3e81976daeb89243e985ffdbb78e0b7db4f97b638d76d87d45e14fc3f361c98e93d1fa96a53489428c7b2038363deaea89eee2921128345f5bbbcd41473229a5eed41cc114e14b28f11644ce63fa7f367086714036f9fae41f18d3658f97f503761f7f52928186a58afce7865c79f78e10e2eba23df16573e1d413cfc3e0bccb09c0f94fede36714a266a6ec2b73eeb6d122ae23fc0d4a1645515c334097c2b16bb5eb2cff1120fdd3ccb6a43dec88498f4c92b47b3fee1becb7a2156e95ab491d86166e677803b060a761c65049f28646571f1478f10699ef17cf9a7c4e3702698de922dacc87667af58dab61a024862d111722ff7860237c1cdaf86fe98d1dac0aac2282e0574af0bad969da86866e340a82bd038d2116889d124ebafb3b56117e399ea3bf57c489ec3232d7a5309b0d34dd8cf13785040ef5c9ef72f16c41f877f9f9b6f132a2004c41f6d0274a66acb039b00b916123704f42c70cfd1179c06084c6f111bfd842330dbb7b8e652f8c7fe1879ce74790af1529c7404dafc668718de089350711b36bf29d3230115093e55a4b47d7586ddbc4654efeeb35f7f12f398bb1892bcbb05f920398e62d09ad5ec8ce1e888b7b0e2cc285a9d20cc933eec787ccffecf881246303fa419e93e46fc100a5e5930e8da3c0a30d6cd9f90f909f13987e8a016cb790c933ab8c6b31a409b72bf09ca0018272bd4d78dcddcc17064f8788f531174f4078f06313d98df649e5d74d97f92d98c85935859b21bb7b22ce8888ea51ec3a3a91d58272d473e56c0d3579bf14fc7947db8fc2d89cfa9daf57fdcae6d8aaf40839b8053ad439cbd3c414d0888c0b2c4148fcc47689de10ad6b7e1364ee3fb7cdc4465778c6f51462f4b78b56666a263fb4464d842d67c289c4c0bfa9934b59ce2f04c8bcb20a89fea66597dc48a62de6e70d5fb3c2eb97759b7f7ed7bb0ecb4d2a7ae90251c3f322304cd7de1948c0e9c941742a74930a5af016a608f4cdde5bed0214fce6bfdb213b4648938677eaf9a99678744df8200f3ca69299438bddac9182756270a056d454aa0e2d4da101339a2c8efb271a18971af571fc32c17079157d681cb38a7329671c6628710b168682dad5e6ae8d42d4789c8b94b05fad481feba333719352550246fea55b580e4cfe8fb12af30221ead35f00fefd4d590967afb137100c1b8ae9ae91cef78a84994881dbd23da791b61aef48bf2f5a198c1118d48b487d116d53f1838a4d0f0dbb7022ccc12758c4d71564aaf3befd79cf617d56433625ff43430be92e34659cb33d7b312a14fd176f9cf0fa13073a08330526e34825aa69433a9af1de671f5e4396a1a0f04feae89b13c4d4b5995239d7d081a2fd6b30482cc3e09d68de83bf271f3d4d3525d8b0dba73255528dda9d468e461fca1ac0538",
      "fileSha256": "64b0947c29ff8b3d8ced45e413d1f888c267133299b3c756842739152faa901d"
    },
    {
      "name": "unknown-stanza",
      "description": "A stanza type from a later release, which a reader of this one steps over.",
      "segLog2": 16,
      "fileKey": "a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8",
      "streamSalt": "b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8",
      "plaintextLength": 200,
      "kek": {
        "id": "0199a3f2-0000-7000-8000-00000000beef",
        "version": 7,
        "key": "c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0"
      },
      "recovery": null,
      "password": null,
      "meta": null,
      "built": "The KEK stanza, then an unknown 0x80 stanza of 24 bytes, and the header sealed again.",
      "headerHex": "424d454e4300010110000002000000aab8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b801003c0199a3f200007000800000000000beef00000007ca227ab52c1bac617d0cc31e6cbc61f06a10a9b5df1076c65fd303f38e9bb838fcef848fe82d21578000185a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5ae0b8375a079884b03058df1eefb2421104dbfcc11bfb84a1254ebe21948f5d8f",
      "fileHex": "424d454e4300010110000002000000aab8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b801003c0199a3f200007000800000000000beef00000007ca227ab52c1bac617d0cc31e6cbc61f06a10a9b5df1076c65fd303f38e9bb838fcef848fe82d21578000185a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5ae0b8375a079884b03058df1eefb2421104dbfcc11bfb84a1254ebe21948f5d8f551e27a9d3efb479f4c59a91cd1d55693ea4e1fcbcbb1e0a244dba26b4ea35185a47c8a5fa9e19fdd3eec8ebb0d862ed6a6e1cd061feeb28fcb4308986d9facaee49a722dfc806dae01887476429313a34884d8d3aac72efe5110a47555f68dac97045379fd96d9c54868fbad2b0bc68e7976c6cd559847e34eb92f9679ffcfb3e6b1ac58523591dc892cdcdd38ed4753808b2224097ed2ca0cce2f1ea3b4316982d9ca8ddd89d29cee80404fca3eb6368bac7afda9b28f8b41cb2a5825e062f6deaa1fcf65c8a95b3a50a536166f92a6cd3c20434343f89",
      "fileSha256": "adb0a7667ee1ef0f72b793a8aba6ba9c5b85d9f60086dc0fd2e953ef6f3ef739"
    },
    {
      "name": "megabyte-segments-empty",
      "description": "The segment size a plan gets when it says nothing, with nothing in it.",
      "segLog2": 20,
      "fileKey": "a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9",
      "streamSalt": "b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9",
      "plaintextLength": 0,
      "kek": {
        "id": "0199a3f2-0000-7000-8000-00000000beef",
        "version": 7,
        "key": "c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0"
      },
      "recovery": null,
      "password": null,
      "meta": null,
      "built": null,
      "headerHex": "424d454e43000101140000010000008fb9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b901003c0199a3f200007000800000000000beef0000000766327743dd390f5d4fecd7e3bafd52dd463ffcfd254ba023e1cf1a1930876b79a175d11ab163e1af358978593824d118c8b96b4ee1c478e36384cddc52abc6b9a2a5d7cd9e32919a",
      "fileHex": "424d454e43000101140000010000008fb9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b901003c0199a3f200007000800000000000beef0000000766327743dd390f5d4fecd7e3bafd52dd463ffcfd254ba023e1cf1a1930876b79a175d11ab163e1af358978593824d118c8b96b4ee1c478e36384cddc52abc6b9a2a5d7cd9e32919a3bb0d46e20b63092129b56cdf497c297",
      "fileSha256": "0e4534f35ecb80ba00d420063302f3c4b2bffdcfc074afe54297cf9985cadb40"
    },
    {
      "name": "megabyte-segments-small",
      "description": "The default segment size holding rather less than a segment.",
      "segLog2": 20,
      "fileKey": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "streamSalt": "babababababababababababababababababababababababababababababababa",
      "plaintextLength": 1000,
      "kek": {
        "id": "0199a3f2-0000-7000-8000-00000000beef",
        "version": 7,
        "key": "c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0"
      },
      "recovery": null,
      "password": null,
      "meta": null,
      "built": null,
      "headerHex": "424d454e43000101140000010000008fbabababababababababababababababababababababababababababababababa01003c0199a3f200007000800000000000beef00000007bb75209124418c0cff1b06a79d52e4b58c950c23f5dc33c825a0ee1851a0af8957aae10027b4cfe4241b2437b03a66c7b53cf3bee1668de5ab4d76a61ec92a5fa2e5aabea0c564dd",
      "fileHex": "424d454e43000101140000010000008fbabababababababababababababababababababababababababababababababa01003c0199a3f200007000800000000000beef00000007bb75209124418c0cff1b06a79d52e4b58c950c23f5dc33c825a0ee1851a0af8957aae10027b4cfe4241b2437b03a66c7b53cf3bee1668de5ab4d76a61ec92a5fa2e5aabea0c564ddca554bef8bb6c8b133ed4197c78e58cd011d4071cedc3654fdc398b1f5876b05ac4c69ae3d95e5bd85a2d0bf2f3998dadfb603ef52d70eb9c2a58e4a03530b5265c368cfc497864f0e0f78141f399db1149dd97c88da382b40eec23b16f999f3ae22197f0a9607516d3672000622d49b6bea2018df2de98052f3a7e749e8d6e0ca2a57b5d805a677f43efd401ed54af41cc3decb88312af4d331d1f96cb6aeff6ab99d29bbb370272a48e13f94ca58eceada479423a171fb5484dbe40d08ee7d4603277269d3f39da19b990183ff78ec18ec173347169a612a28cc4827e69e29b164c0bbd3b2ea3b45f19363227c9e21771d6c8c9cad96635b7e4287678c7db1c6c4755c9b401f23444482494526a6bde487a85bdf592f9e2444f660a28543e2abb1ab0003bc79c24748b340e06d817863109e0186b629fbc93babe2499e4fc63ccce8d05d007f3c766a9dd75acb60306f04a094c053d154f351aed19a2b7277c75e69c45eaea532ab559172b7c5b9f37c5c4dcac75ddbca0843c11b91954fdb270df7ee292f80fc283625a2e2b09462e842c6caf8cf0f98afa2c98358e613498807fcf58040bd48632f1c417a4f2a5225abc5d674fc7b1c626f8cee3e81268b0e6243172c899781a347db9f5f51bb2005c5ea77b236b63c7adc08ae2b12fb8f1b492f6eaadbec4e2f53980e131bbbfd1179ecbec7aeb9d66c3dc111627851f6e6aab9567e8ca57166add0265b63d9066f6b491f1a696e0fb0fe082658b6e1c4d4dc90678c23d02b0d9b215c5d7fcbc4af46f623c90cd4f95eec1d6d81636ef55ec563e892ae71362d4297a02d42930e1b71c2cd8089ada454afc5f73fa91ffeb48fdf7ebefa0b0794fc8958e0d2ed028f93d34472c3e902951cbcc04dff80f52290776c14b5443071d08910a3832a68fd032936e57c08c06d55d07dc8bdbfad64c3cc3782aeb351166a6fa82d8b26fd53e4e1b3f3baf3f376c137c5f7a5cc714705ceae4bf3bc8d388e3e7748e69795ffed569d5b374f09679d6d1b0946edffcac658acd4e966e75c8d568e70a6ebfe7c809c6e46b9d57e696e7b2715c80582a7a4cdb9db50224c43be5e7f0ea0b27469e3660a1fb769a3d3414bbb44187aa3adec4fceeb1ccf9d8868d8d3de0f4fb6ce75fd6bb741e4fdf5edeb892d75d71f73dede0d2573d50fb1c7b429bf222d1accf4929d7c5e5055e08ecfbe76fd72b02910334724fda349d6b8583827d8f3c76ff0450748824bcc6989422ca4d0b35dca38822ee5ba3e1d5f49e4180bec25fbabab18053a4736fa6c9002abeaa2d3a0be2fe8a7a54f732672578c95301dcbd8f8d743b069a1075d0b7840dfa5705a89d3b0d78a49629ee7a081aa1cf62db51e451f3edbf4862d8013109b2b67f8224b1498f3d213eb4e320517d89b464aa5b815cee010fd67598d",
      "fileSha256": "baa3c09f368396bf8b542777cd33ce6758fb389b1ff3b14a89e2db76c73785d4"
    }
  ],
  "boundary": [
    {
      "name": "segment-minus-one",
      "description": "A payload of 65535 bytes at 2^16 byte segments.",
      "segLog2": 16,
      "fileKey": "c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1",
      "streamSalt": "d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1",
      "plaintextLength": 65535,
      "kek": {
        "id": "0199a3f2-0000-7000-8000-00000000beef",
        "version": 7,
        "key": "c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0"
      },
      "recovery": null,
      "password": null,
      "meta": null,
      "built": null,
      "headerHex": "424d454e43000101100000010000008fd1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d101003c0199a3f200007000800000000000beef00000007cbb21a0c988ba8bdbc278ead9ed2c2ab60c78b5a023bb2ee23bbbf7bef25fbddf4324adcd99f3722c0da35eb4b677c8c1818707a778f43f402c70989a4129d16c1a3e59497dde898",
      "fileHex": null,
      "fileSha256": "f7d7bc23c9e65136503c9b32803d3a0d98d4452be706b3e45ca347c774e29967"
    },
    {
      "name": "segment-exactly",
      "description": "A payload of 65536 bytes at 2^16 byte segments.",
      "segLog2": 16,
      "fileKey": "c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2",
      "streamSalt": "d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2",
      "plaintextLength": 65536,
      "kek": {
        "id": "0199a3f2-0000-7000-8000-00000000beef",
        "version": 7,
        "key": "c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0"
      },
      "recovery": null,
      "password": null,
      "meta": null,
      "built": null,
      "headerHex": "424d454e43000101100000010000008fd2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d201003c0199a3f200007000800000000000beef00000007cbf8a3e56dafec19ad803890e5d26972d86f30af5d453faedc6b187d13bd126309314da9f4c0853af63ca112946f6aaa2c5e077e077a61d01938d42ca424937d3cb0f38586c2e21e",
      "fileHex": null,
      "fileSha256": "8d083f59068bb8083ee52e61e538e1e1775c45eb408a49ddab8127124f3e4dbd"
    },
    {
      "name": "segment-plus-one",
      "description": "A payload of 65537 bytes at 2^16 byte segments.",
      "segLog2": 16,
      "fileKey": "c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3",
      "streamSalt": "d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3",
      "plaintextLength": 65537,
      "kek": {
        "id": "0199a3f2-0000-7000-8000-00000000beef",
        "version": 7,
        "key": "c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0"
      },
      "recovery": null,
      "password": null,
      "meta": null,
      "built": null,
      "headerHex": "424d454e43000101100000010000008fd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d301003c0199a3f200007000800000000000beef000000073f3cd8be7718b71700497984de307c14a412ddd2c2d650c6201cc2a354ca0ac64581a0262270791f4864a50a1cf3e90cc8828ab84e582a1a5badcdb28206250f0c39908cd320c293",
      "fileHex": null,
      "fileSha256": "ddb61de395a81b8f9edec24c808aff7003e3dfcf057df63c4180f1c72e869f18"
    },
    {
      "name": "three-segments",
      "description": "A payload of 196608 bytes at 2^16 byte segments.",
      "segLog2": 16,
      "fileKey": "c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4",
      "streamSalt": "d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4",
      "plaintextLength": 196608,
      "kek": {
        "id": "0199a3f2-0000-7000-8000-00000000beef",
        "version": 7,
        "key": "c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0"
      },
      "recovery": null,
      "password": null,
      "meta": null,
      "built": null,
      "headerHex": "424d454e43000101100000010000008fd4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d401003c0199a3f200007000800000000000beef0000000767c7fda3c89a76a81585112bb8feb003af7f0818be275d0ba1ee1231501f85794786381bee0438f7a5e2dc80bdba35b50ef44d30aafe0010a3a5e683048ceaaa98239877c2267cac",
      "fileHex": null,
      "fileSha256": "69384e98136512a12cdf6d7d08194e3f8f924c6b28e2d07c16de0d5e43745c87"
    },
    {
      "name": "megabyte-segment-plus-one",
      "description": "A payload of 1048577 bytes at 2^20 byte segments.",
      "segLog2": 20,
      "fileKey": "c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5",
      "streamSalt": "d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5",
      "plaintextLength": 1048577,
      "kek": {
        "id": "0199a3f2-0000-7000-8000-00000000beef",
        "version": 7,
        "key": "c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0"
      },
      "recovery": null,
      "password": null,
      "meta": null,
      "built": null,
      "headerHex": "424d454e43000101140000010000008fd5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d501003c0199a3f200007000800000000000beef000000070e6c38630f1a44452cfb8f0044ee8cf01f1230e44a35268b592d8834ec16f016221c8558cf9800a93cba159640eab88d9d5a4f511cfa077d6087b80218f06975acbdba27574ec2ff",
      "fileHex": null,
      "fileSha256": "6aea9d9552b6da47440be9d2334be52a4a011f749169015532c80df50afca387"
    }
  ],
  "negative": [
    {
      "name": "header-mac-flipped",
      "of": "kek-two-kib",
      "kind": "flipHeaderMac",
      "offset": 0,
      "value": 0,
      "expected": "tampered"
    },
    {
      "name": "wrapped-key-flipped",
      "of": "kek-two-kib",
      "kind": "flip",
      "offset": 76,
      "value": 0,
      "expected": "encrypted for somebody else"
    },
    {
      "name": "payload-truncated",
      "of": "kek-two-kib",
      "kind": "truncate",
      "offset": 0,
      "value": 100,
      "expected": "does not verify"
    },
    {
      "name": "payload-extended",
      "of": "kek-two-kib",
      "kind": "append",
      "offset": 0,
      "value": 32,
      "expected": "does not verify"
    },
    {
      "name": "segment-byte-flipped",
      "of": "kek-two-kib",
      "kind": "flip",
      "offset": -2,
      "value": 0,
      "expected": "does not verify"
    },
    {
      "name": "version-two",
      "of": "kek-two-kib",
      "kind": "set",
      "offset": 6,
      "value": 2,
      "expected": "Upgrade bmctl"
    },
    {
      "name": "unknown-aead",
      "of": "kek-two-kib",
      "kind": "set",
      "offset": 7,
      "value": 2,
      "expected": "AEAD 2"
    },
    {
      "name": "segment-too-small",
      "of": "kek-two-kib",
      "kind": "set",
      "offset": 8,
      "value": 15,
      "expected": "outside the format"
    },
    {
      "name": "segment-too-large",
      "of": "kek-two-kib",
      "kind": "set",
      "offset": 8,
      "value": 25,
      "expected": "outside the format"
    },
    {
      "name": "undefined-flag",
      "of": "kek-two-kib",
      "kind": "set",
      "offset": 9,
      "value": 2,
      "expected": "flag this version does not define"
    },
    {
      "name": "no-stanzas",
      "of": "kek-two-kib",
      "kind": "set",
      "offset": 11,
      "value": 0,
      "expected": "1 to 32 stanzas"
    },
    {
      "name": "too-many-stanzas",
      "of": "kek-two-kib",
      "kind": "set",
      "offset": 11,
      "value": 33,
      "expected": "1 to 32 stanzas"
    },
    {
      "name": "header-too-short",
      "of": "kek-two-kib",
      "kind": "set",
      "offset": 15,
      "value": 79,
      "expected": "bytes to 1 MiB"
    },
    {
      "name": "not-a-bmenc-file",
      "of": "kek-two-kib",
      "kind": "set",
      "offset": 0,
      "value": 65,
      "expected": "not a BMENC file"
    },
    {
      "name": "argon2-over-the-limit",
      "of": "password-argon2id",
      "kind": "set",
      "offset": 67,
      "value": 255,
      "expected": "more work than this reader will do"
    },
    {
      "name": "pbkdf2-over-the-limit",
      "of": "password-pbkdf2",
      "kind": "set",
      "offset": 67,
      "value": 255,
      "expected": "more work than this reader will do"
    },
    {
      "name": "meta-block-flipped",
      "of": "kek-recovery-meta",
      "kind": "flipMeta",
      "offset": 0,
      "value": 0,
      "expected": "tampered"
    }
  ]
}