{ "crypto": [ { "name": "RFC 8439 Test Vector #1", "key": "0000000000000000000000000000000000000000000000000000000000000000", "nonce": "000000000000000000000000", "plaintext": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "ciphertext": "76b8e0ada0f13d90405d6ae55386bd28bdd219b8a08ded1aa836efcc8b770dc7da41597c5157488d7724e03fb8d84a376a43b8f41518a11cc387b669b2ee6586" }, { "name": "RFC 8439 Test Vector #2", "key": "0000000000000000000000000000000000000000000000000000000000000001", "nonce": "000000000000000000000002", "plaintext": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000416e79207375626d697373696f6e20746f20746865204945544620696e74656e6465642062792074686520436f6e7472696275746f7220666f72207075626c69636174696f6e20617320616c6c206f722070617274206f6620616e204945544620496e7465726e65742d4472616674206f722052464320616e6420616e792073746174656d656e74206d6164652077697468696e2074686520636f6e74657874206f6620616e204945544620616374697669747920697320636f6e7369646572656420616e20224945544620436f6e747269627574696f6e222e20537563682073746174656d656e747320696e636c756465206f72616c2073746174656d656e747320696e20494554462073657373696f6e732c2061732077656c6c206173207772697474656e20616e6420656c656374726f6e696320636f6d6d756e69636174696f6e73206d61646520617420616e792074696d65206f7220706c6163652c207768696368206172652061646472657373656420746f", "ciphertext": "ecfa254f845f647473d3cb140da9e87606cb33066c447b87bc2666dde3fbb739a371c9ec7abcb4cfa9211f7d90f64c2d07f89e5cf9b93e330a6e4c08af5ba6d5a3fbf07df3fa2fde4f376ca23e82737041605d9f4f4f57bd8cff2c1d4b7955ec2a97948bd3722915c8f3d337f7d370050e9e96d647b7c39f56e031ca5eb6250d4042e02785ececfa4b4bb5e8ead0440e20b6e8db09d881a7c6132f420e52795042bdfa7773d8a9051447b3291ce1411c680465552aa6c405b7764d5e87bea85ad00f8449ed8f72d0d662ab052691ca66424bc86d2df80ea41f43abf937d3259dc4b2d0dfb48a6c9139ddd7f76966e928e635553ba76c5c879d7b35d49eb2e62b0871cdac638939e25e8a1e0ef9d5280fa8ca328b351c3c765989cbcf3daa8b6ccc3aaf9f3979c92b3720fc88dc95ed84a1be059c6499b9fda236e7e818b04b0bc39c1e876b193bfe5569753f88128cc08aaa9b63d1a16f80ef2554d7189c411f5869ca52c5b83fa36ff216b9c1d30062bebcfd2dc5bce0911934fda79a86f6e698ced759c3ff9b6477338f3da4f9cd8514ea9982ccafb341b2384dd902f3d1ab7ac61dd29c6f21ba5b862f3730e37cfdc4fd806c22f221" }, { "name": "RFC 8439 Test Vector #3", "key": "1c9240a5eb55d38af333888604f6b5f0473917c1402b80099dca5cbc207075c0", "nonce": "000000000000000000000002", "plaintext": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002754776173206272696c6c69672c20616e642074686520736c6974687920746f7665730a446964206779726520616e642067696d626c6520696e2074686520776162653a0a416c6c206d696d737920776572652074686520626f726f676f7665732c0a416e6420746865206d6f6d65207261746873206f757467726162652e", "ciphertext": "965e3bc6f9ec7ed9560808f4d229f94b137ff275ca9b3fcbdd59deaad23310aeb3f29d0897b7f345edea64af6f34f511529094bf6166ec3106a09cb9e77ef9cf30859f340ad3fbf9e8e82ba2015d45a764276d0b4277ee671b75878744fc9437c5121c21471c949c9d397e19ea9bc399d6c9bec37ac0be3e3c06a0fef004121cc94390cceffe28b03239cb499463032f52bca5ad5c0d594683c94994070e13b57c0ecaf8814f24bc6349038283f8abb351e1de70070f78bc385748726988623f242513a6c069c22c7c4744f4c3de81adba42dadeb3d47e22c5d670fdcfc50bce70802c879fefb6976ddf0b5f008165360e97c1e50a0a5fa8446107d88506a8358ec9e85a0646387c51ac63b1accbcb8d67dd1af6995104b8d2f763cf4c0cee3651c54af39e0594f9d51178d9921f3f318c230883585d9cdee8e23a74f75c3d0c1a1fd81ef4c97d780dae587a24f153d76ea1e35d34ddef6524c314457c4286f8f169a1758be2ea6533110b340d4c935c7bd786ee4243d35e7da2099f23d3f3aca4f54dbdc8fee6db7fd631b355a71a613ceae8c2523ddde8d5fd39c2ab34adfbcac620b6b1a69cb8fe1c1e0794fae1ca2bea3620ae5f9b02ab8a088b9fdd53f966ffbf9fe52addbfc638a54a889e4f7f8c8500e6a4d05861c9fb3323679a82604d903192b4161f399c34db40c18b2e6fa8edccba0acff6bb78483144ee146396fcbc5ce39638b232224c07a23c9f81d39efe4fc64f6406cedd0a4e47792a8219e8509d68198734ba5e3adeb6cbe2f191fcffe7ca1360f4060dfdb57a0c6f110f064d6a344fc31233e620a7a3f777fef54ccc9ebef8ce1e2365c90c1f29971d276382028aef4c36d0f2f83f1c07e607d4d0108a16ce900a3284a6d6764adeff5e9d79c18a889357ebf11fe21f774901ead6812cab6c03830ff67a35c0deeeb50f2f68b11615ab0907e205c1a085b2415d4fb82321ec378ead30bd953f297604b7808c58d4d22498d676a3c6677a7788ed01a36837cb9d0b7183614c395d5b46c2aecad577718682c857563fd1e5da216c26bec32fa091a0b6115df01eb7ec6614efbdeacda26404f06ce58530a9e4435013842e9a4b2e108214ebf17bfe3238e9cdba0f02060385ed889783f6cbaafe127bfedf4f6fcd1afae081ed8e38895f7c5250abb15629d48a0d478041997e4302c25955744067b83f9b41fb4d921e69934e4d8a7bcf7769b67233ec446d25950d2971e97fa9dbc7a627333c87ed1ef8671fc9c64c56604a9aac1ca5cf1325010ff19220cdcd4a7310f7bc371aeb3c66739a7ae20698b5d0527e47946d66e3263fb8c04dba46ef0d27efdc8c44cf97b53d409b5373e6a06ededda13517db0899512b3a5c4e5cd492fcddbbff8325f133c42bfdbe2d3095bd10069909b3e1c7207de4f14c9aebb4cb91efc6c05c260aa6d9299ec7e38afde1aba2601025577a3ab526529433d5cca18910fb9d8a091d13ec13fe0f1606214dce11f9a62d9a7181f8e03eec47462bdbdbb15cd1fba469fcc86e1a4375664facb2c86555713a15aeb40662cb798ed945aadf32f0cd9e03819073f4b8f49a54f189ccb46fb05667f6004a6f6878e5afa353eb6af6fa2da814a63ce0baf1684b75a4e63ce2ca3108928ca4fd3b0b68630f270fd1cd6d703f4bab495d344d5855dccd9141e9a5622f2d3b9e7c4115946c5021e1841b13c064999bfa76659e09dbda91e474478e9520429af08b6b3e5185cd6b86396ad1d5b900f51d49a961a906ce5f30c55583503f7eaaa69aedc48ecfb9fd506982914555d2be302c0ccac714ab85086a29b21dbf282eb2adacf424ea282339ac8400262bdfadf21eb8c6e2726ff7f4295a2021979ce1c37f74a0541ffffb36f431e354a7b1275793b2b629a3e9888b7f38afbe00f7cd4743ce97486e138998fb56fdb125c963708720465af49a62f6d85136d2061dac0eb98947d010137a415aa723181abeb3f93c5ea9e1ddf55c673e7783279c952e64272704c7db85d4cdb52b5136e825ca6802ad20cd2e9193e4e96907b4b11b62e1d62beb99273eafe4d83b5ff1ad29f98d291fef356ca7ee1d43a282f64d57a1679fb79b6299555be33f371eda883b5bf9a29207ac9ef9e75c7a7546cbfa741d6f11a952f05c1cab1b3a370425710a59c043897bc4aa3723a7964249bdac0fa7a15df62f10f8343207d0b99775f0621d51ad6d93947b9764a4b2e541fbfc2895f0b5100d05ba66e17e6f4c35e9d3740beccdb267fdd07f85358dc257dbe0283f970da733784ef8d3b8d4321d2b1885117746bf85d1fe309508a79cdd617ca22976680e7e1592ef60103468ec0c4b61c26b4581afa16ef92ce1fc8881ee0a93a29b16fde5d322d736d6fa99f9617c2a2f0c3bfbed58c88214e8dde5df011e78e536287a10b2d9690c96c901236dc6f07a2a00ffc2cab12bbe07b4ee60491249aafe63a7297e5bd4046e032bc45dc766acbdddf449e5911187a4734d7a63c1a1dbc861f6440046e1a87620c1471a9cb727ae3cdaf9c7ad626f5e22de857ab52b112972823a601b7c258c0b34dc06b8c821f7b63009336a18f0747ee2e0677418c8d91ffcf22ad2c6a718e0f818000e4f0d4625e031ffa4b67fa0310390f857e52fb16d0b468a3516469b256f60afa44bcf4ce6b0acbeec0eed1290c8c24b907d8af817d2d278a30a33475d2de45fc5676c155e25e90d1c2f306f2c3b73bdb090d8e67128efa57d30206c1eb38ab68db885041c6ce41237c26fc2a2011acf97b1ed4b91564732f6a1a34bcfe269bcec9f9c5c4f336611425599c7c007ec71ccd279911ce822c3e9b7f14070b1b6188100f4da14289bcc6d8f11caeb03847881173abc0f543d752a544d3a10280eedc98ae17a94de9692dde850eac8e496eff4dfe932ff55ad155299ddc0ddc97b7f02ea06cb80d939710e21384c3eabd71559f256f3c10504287c2aa7fe99e8362d2b6c33e2ac52d73e75c532b70a19fcbca970f85001e7cefa1efa2805dcb697de8f08d81928a52863b6e964992eb47bebf3ce13c4b110fd2280066b3008ecc1df8de10981ae36d1aef0a58b56811072ea17ec730711a4ffde83c7a6f25301dacf2125e95e23a4bf54de9c62735003ba94987bb8ec1271600cb5dfc30141fb99d3248fa6dfd45d126f33f893ae1380cd27855ef37de77b49a51c4759b33fc05a27eb0c0296cbc25d507319ed128ccb13bfcd7eab9e4f4fbe87186f45c5124e49cd83907d9515d7b28285a420b8917c30fa586adc3e42bd256598cdc8f78ae1e43b6a69be2ffa816399dc36e9d45439a06202062037efa8392e224d3bf48e0550859a9c76b9ffcaca8ff37d4856a83aeed01f412d090009b2c491fae1a4a9a3a73a2443d86697847434c4ef6a221866434bd25285aa9dea587034bc384440422faab1fc293ea1a701be0f0e9de22e83923bbfe69a4fcdb96b45efea91310345f95e7a34c936fda61b05bc7d21cd5251f30c1a06eabf771087d4f8164599fa6156d8d77630c4f6924d0054821d93936ec2f52e09ad8bc61f8f18f59acf07c8988338fb987413b7fa77f9f313f76436fb1083e436594f2aef329e3c72c464010439eb8a842f901c11a3e7efc908e9d3034547a56135e6804d81b972faf8561334137ec18cf09fde87b08583aaec88639f198a486985a65252b8d59e7a86d073bb52a7d8fbe2d06fe48dcc30689af133f29bce6745f2ae18a7ef6965e07f65bb86b1a04d9e32782dea1752a4bb37c747f1cc0a5722e91d0102ab22ce2820f938adc4f706c41562e6347f95ed87a45ffae7426f27a1df5fb69110044c0d73118effa95b01e5cf166d3df2d721caf9b21e5fb14c616871fd84c54f9d65b283196c7fe4f60553ebf39c6402c42234e32a356b3e764312a61a5532055716ead6962568f87d3f3f7704c6a8d1bcd1bf4d50d6154b6da731b187b58dfd728afa36757a797ac188d1" } ], "api": { "defaults": { "key_len": 32, "nonce_len": 12, "enc_input_len": 263, "enc_buf_len": 263, "dec_input_len": 263, "dec_buf_len": 263 }, "tests": [ { "name": "Invalid key length (< 32)", "key_len": 31, "error": "ApiMisuse(\"Invalid key length\")" }, { "name": "Invalid key length (> 32)", "key_len": 33, "error": "ApiMisuse(\"Invalid key length\")" }, { "name": "Invalid nonce length (< 12)", "nonce_len": 11, "error": "ApiMisuse(\"Invalid nonce length\")" }, { "name": "Invalid nonce length (> 12)", "nonce_len": 13, "error": "ApiMisuse(\"Invalid nonce length\")" }, { "name": "Invalid buffer length (< input_len)", "enc_buf_len": 262, "dec_buf_len": 262, "error": "ApiMisuse(\"Buffer is too small\")" } ] } }