Replace NSS with Pale Moon's

This commit is contained in:
wuggy 2026-06-29 21:29:25 +01:00
commit 8c2e376f94
2870 changed files with 1762232 additions and 1374220 deletions

View file

@ -0,0 +1,818 @@
/* vim: set ts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
/* This file is generated from sources in nss/gtests/common/wycheproof
* automatically and should not be touched manually.
* Generation is trigged by calling python3 genTestVectors.py */
#ifndef cbc_vectors_h__
#define cbc_vectors_h__
#include "testvectors_base/test-structs.h"
const AesCbcTestVector kCbcWycheproofVectors[] = {
{1, "e34f15c7bd819930fe9d66e0c166e61c", "",
"da9520f7d3520277035173299388bee2", "b10ab60153276941361000414aed0a9d",
true},
{2, "e09eaa5a3f5e56d279d5e7a03373f6ea", "ef4eab37181f98423e53e947e7050fd0",
"c9ee3cd746bf208c65ca9e72a266d54f",
"d1fa697f3e2e04d64f1a0da203813ca5bc226a0b1d42287b2a5b994a66eaf14a", true},
{3, "9bd3902ed0996c869b572272e76f3889",
"a7ba19d49ee1ea02f098aa8e30c740d893a4456ccc294040484ed8a00a55f93e",
"8b2e86a9a185cfa6f51c7cc595b822bc",
"514cbc69aced506926deacdeb0cc0a5a07d540f65d825b65c7db0075cf930a06e0124ae59"
"8461cab0b3251baa853e377",
true},
{4, "75ce184447cada672e02290310d224f7",
"c774810a31a6421ad8eaafd5c22fa2455e2c167fee4a0b73ff927b2d96c69da1e939407b8"
"6b1c19bcfc69c434c3cf8a2",
"2717d10eb2eea3b39ec257e43307a260",
"137c824d7f7dc36f24216dde37c2e1c10cee533f6453de92e44b898fc3037d2e9e19d67a9"
"6387136dd9717a56e28614a5c177158f402ce2936fd98d1feb6a817",
true},
{5, "e1e726677f4893890f8c027f9d8ef80d", "3f",
"155fd397579b0b5d991d42607f2cc9ad", "599d77aca16910b42d8b4ac9560efe1b",
true},
{6, "b151f491c4c006d1f28214aa3da9a985", "27d9",
"4eb836be6808db264cb1111a3283b394", "74e20bf03a0ad4b49edc86a1b19c3d1d",
true},
{7, "c36ff15f72777ee21deec07b63c1a0cd", "50b428",
"a8446c27ea9068d8d924d5c4eac91157", "3f7a26558ba51cf352219d34c46907ae",
true},
{8, "32b9c5c78c3a0689a86052420fa1e8fc", "0b9262ec",
"ef026d27da3702d7bb72e5e364a8f8f2", "c29d1463baccc558fd720c897da5bb98",
true},
{9, "43151bbaef367277ebfc97509d0aa49c", "eaa91273e7",
"c9defd3929dcd6c355c144e9750dd869", "e24a717914f9cc8eaa1dc96f7840d6af",
true},
{10, "481440298525cc261f8159159aedf62d", "6123c556c5cc",
"ce91e0454b0123f1ead0f158826459e9", "f080e487f4e5b7aed793ea95ffe4bb30",
true},
{11, "9ca26eb88731efbf7f810d5d95e196ac", "7e48f06183aa40",
"1cb7bc8fe00523e7743d3cd9f483d6fe", "27cadee413ed901f51c9366d731d95f6",
true},
{12, "48f0d03e41cc55c4b58f737b5acdea32", "f4a133aa6d5985a0",
"a345f084229dbfe0ceab6c6939571532", "59bf12427b51a3aee0c9d3c540d04d24",
true},
{13, "1c958849f31996b28939ce513087d1be", "b0d2fee11b8e2f86b7",
"e5b6f73f132355b7be7d977bea068dfc", "1a0a18355f8ca4e6e2cf31da18d070da",
true},
{14, "39de0ebea97c09b2301a90009a423253", "81e5c33b4c620852f044",
"c7cd10ca949ea03e7d4ba204b69e09b8", "cef498ea61715a27f400418d1d5bfbf0",
true},
{15, "91656d8fc0aced60ddb1c4006d0dde53", "7b3e440fe566790064b2ec",
"bb8c9af30821dfeb7124392a554d9f01", "7ab43ddc45835ce40d2280bcea6a63f2",
true},
{16, "af7d5134720b5386158d51ea126e7cf9", "7cc6fcc925c20f3c83b5567c",
"54c3b90ca6e933f9094334d0263d3775", "c70b457c945ad40895cf4c8be3ce7c66",
true},
{17, "4ed56753de6f75a032ebabca3ce27971", "0c8c0f5619d9f8da5339281285",
"9a2c5e91d4f0b9b9da64b46c5c2c8cb2", "f9900afee2acfe63f8f15d81bbf64c39",
true},
{18, "beba50c936b696c15e25046dffb23a64", "821ea8532fbabffb6e3d212e9b46",
"cf7951501104e1434309e6b936ec1742", "da4137bd8ac78e75a700b3de806f2d6f",
true},
{19, "501d81ebf912ddb87fbe3b7aac1437bc", "2368e3c3636b5e8e94d2081adbf798",
"90f5cf4fbfd2e2a1ab8eef402617bd5c", "fed05321d11d978e2ec32527ecfce06c",
true},
{20, "831e664c9e3f0c3094c0b27b9d908eb2",
"26603bb76dd0a0180791c4ed4d3b058807", "54f2459e40e002763144f4752cde2fb5",
"8d55dc10584e243f55d2bdbb5758b7fabcd58c8d3785f01c7e3640b2a1dadcd9", true},
{21, "cbffc6c8c7f76f46349c32d666f4efb0",
"6df067add738195fd55ac2e76b476971b9a0e6d8",
"088e01c2c65b26e7ad6af7b92ea09d73",
"e9199842355ea0c3dbf1b2a94fef1c802a95d024df9e407883cf5bf1f02c3cdc", true},
{22, "fda6a01194beb462953d7e6c49b32dac",
"f60ae3b036abcab78c98fc1d4b67970c0955cb6fe24483f8907fd73319679b",
"d9c9468796a2f5741b84d2d41430c5d3",
"19beb4db2be0f3aff0083583038b2281a77c85b5f345ba4d2bc7f742a14f9247", true},
{23, "efd9caa8ac68e9e29acdae57e93bcea8",
"3e1d2001f1e475b972738936443a5f51eedaf802a66fadf2406cfaadb0549149fcb9f485e"
"534dc2d",
"c98b47808add45c0c891983ec4b09846",
"84904fc92bd2e7590aa268e667370327b9446f41067dd40d3e5091a63a0d5687e4926e00c"
"c3cb461c3b85d80ee2da818",
true},
{24, "37e4dbdc436258d5a9adb9f205c77cf3",
"24a874aec067116ad22eb55846ded3f5e86919a135585c929a86d92b2958fed110e52e338"
"04887243584a6a94402cc9a105e0c940ec335bd2890f16dcce3fc8bd02873c80ade6f1ac0"
"8683130bcca454",
"08e9410de244d3f40607ebae38fa74e7",
"1d1391593a336be4b207295ad0542bc4ef2f39053066e12c38f71603f377fd42f4f0b2b5a"
"42cdfeaee2af039f06fcf347abe171af3157ff07f3cdd3b33e11a60caecf9890325c132ee"
"b66ab847278d165c26bca7c30486bb2fd83b63c5ff7ae0",
true},
{25, "db4f3e5e3795cc09a073fa6a81e5a6bc", "",
"23468aa734f5f0f19827316ff168e94f", "aa62606a287476777b92d8e4c4e53028",
false},
{26, "db4f3e5e3795cc09a073fa6a81e5a6bc", "6162636465666768",
"23468aa734f5f0f19827316ff168e94f", "ada437b682c92384b6c23ec10a21b3d8",
false},
{27, "db4f3e5e3795cc09a073fa6a81e5a6bc", "303132333435363738396162636465",
"23468aa734f5f0f19827316ff168e94f", "26c5b3e540ee3dd6b52d14afd01a44f8",
false},
{28, "db4f3e5e3795cc09a073fa6a81e5a6bc", "30313233343536373839414243444546",
"23468aa734f5f0f19827316ff168e94f",
"fbcbdfdaaf17980be939c0b243266ecbc0deb417e98aba3ee12fea2921f8ae51", false},
{29, "db4f3e5e3795cc09a073fa6a81e5a6bc",
"3031323334353637383941424344454647", "23468aa734f5f0f19827316ff168e94f",
"fbcbdfdaaf17980be939c0b243266ecb1188ff22f6563f6173440547d1e0dfd8", false},
{30, "db4f3e5e3795cc09a073fa6a81e5a6bc", "",
"23468aa734f5f0f19827316ff168e94f", "726570a34cea08139d9f836579102a0e",
false},
{31, "db4f3e5e3795cc09a073fa6a81e5a6bc", "6162636465666768",
"23468aa734f5f0f19827316ff168e94f", "c8ef7ac3fd659ce7157d72a25f0a5048",
false},
{32, "db4f3e5e3795cc09a073fa6a81e5a6bc", "303132333435363738396162636465",
"23468aa734f5f0f19827316ff168e94f", "6123c889bbc766acd4bca4cb982f9978",
false},
{33, "db4f3e5e3795cc09a073fa6a81e5a6bc", "30313233343536373839414243444546",
"23468aa734f5f0f19827316ff168e94f",
"fbcbdfdaaf17980be939c0b243266ecb442cd16f7410fca70924b573f7967e84", false},
{34, "db4f3e5e3795cc09a073fa6a81e5a6bc",
"3031323334353637383941424344454647", "23468aa734f5f0f19827316ff168e94f",
"fbcbdfdaaf17980be939c0b243266ecbb20f899b0e7c1d65b931af94b5c44c25", false},
{35, "db4f3e5e3795cc09a073fa6a81e5a6bc", "",
"23468aa734f5f0f19827316ff168e94f", "50aeed98a820c5a037a5aa4d4ef3090b",
false},
{36, "db4f3e5e3795cc09a073fa6a81e5a6bc", "6162636465666768",
"23468aa734f5f0f19827316ff168e94f", "25ee339006f948f42713543c62467ef9",
false},
{37, "db4f3e5e3795cc09a073fa6a81e5a6bc", "303132333435363738396162636465",
"23468aa734f5f0f19827316ff168e94f", "97914574676ed5b8db0b6f3931195b3f",
false},
{38, "db4f3e5e3795cc09a073fa6a81e5a6bc", "30313233343536373839414243444546",
"23468aa734f5f0f19827316ff168e94f",
"fbcbdfdaaf17980be939c0b243266ecb2874a1e2d28dd18e5573df9fd59fd789", false},
{39, "db4f3e5e3795cc09a073fa6a81e5a6bc",
"3031323334353637383941424344454647", "23468aa734f5f0f19827316ff168e94f",
"fbcbdfdaaf17980be939c0b243266ecbb547c4fddbdcd3e02f438a2e48587594", false},
{40, "db4f3e5e3795cc09a073fa6a81e5a6bc", "",
"23468aa734f5f0f19827316ff168e94f",
"d17ccbb26f0aa95f397b20063547349bac24c5429cbea591e96595cccc11451b", false},
{41, "db4f3e5e3795cc09a073fa6a81e5a6bc", "6162636465666768",
"23468aa734f5f0f19827316ff168e94f",
"fc07025e81d43efa85f92afdf8781b1e88598e12d6812df43733e93414b9e901", false},
{42, "db4f3e5e3795cc09a073fa6a81e5a6bc", "303132333435363738396162636465",
"23468aa734f5f0f19827316ff168e94f",
"deb1746f4e9e0be4a21825b071b6e93303031651e0c59091e2ae0fbcce11b987", false},
{43, "db4f3e5e3795cc09a073fa6a81e5a6bc", "30313233343536373839414243444546",
"23468aa734f5f0f19827316ff168e94f",
"fbcbdfdaaf17980be939c0b243266ecb563d35096fde10ccb6f768438c9eb4ec90f399b76"
"924c716e9f94143263306c6",
false},
{44, "db4f3e5e3795cc09a073fa6a81e5a6bc",
"3031323334353637383941424344454647", "23468aa734f5f0f19827316ff168e94f",
"fbcbdfdaaf17980be939c0b243266ecbc8fd2e2c5362acf5212bd47859aa827d8469b87b0"
"e6adafe3dba98c1885b6345",
false},
{45, "db4f3e5e3795cc09a073fa6a81e5a6bc", "",
"23468aa734f5f0f19827316ff168e94f", "ca5dd2d09bd56eec9e8acaeca20af68e",
false},
{46, "db4f3e5e3795cc09a073fa6a81e5a6bc", "6162636465666768",
"23468aa734f5f0f19827316ff168e94f", "01e53a5ec9b0957c45f79ed0f4b2b982",
false},
{47, "db4f3e5e3795cc09a073fa6a81e5a6bc", "30313233343536373839414243444546",
"23468aa734f5f0f19827316ff168e94f",
"fbcbdfdaaf17980be939c0b243266ecbd3909bb3457e5b946ff709be9a2ed84d", false},
{48, "db4f3e5e3795cc09a073fa6a81e5a6bc",
"3031323334353637383941424344454647", "23468aa734f5f0f19827316ff168e94f",
"fbcbdfdaaf17980be939c0b243266ecbc5ab3ab637166a6a067b82b5672c08f8", false},
{49, "db4f3e5e3795cc09a073fa6a81e5a6bc", "",
"23468aa734f5f0f19827316ff168e94f", "ba0726bd6dea11382b19c842e2ddead2",
false},
{50, "db4f3e5e3795cc09a073fa6a81e5a6bc", "6162636465666768",
"23468aa734f5f0f19827316ff168e94f", "22f18b85c729903744fb8db5ed2840d4",
false},
{51, "db4f3e5e3795cc09a073fa6a81e5a6bc", "30313233343536373839414243444546",
"23468aa734f5f0f19827316ff168e94f",
"fbcbdfdaaf17980be939c0b243266ecb6b103fbe43519a18880b7e6d9153e1c2", false},
{52, "db4f3e5e3795cc09a073fa6a81e5a6bc",
"3031323334353637383941424344454647", "23468aa734f5f0f19827316ff168e94f",
"fbcbdfdaaf17980be939c0b243266ecbe00bdb15b8a61285447498700d35e0c6", false},
{53, "db4f3e5e3795cc09a073fa6a81e5a6bc", "",
"23468aa734f5f0f19827316ff168e94f", "d17ccbb26f0aa95f397b20063547349b",
false},
{54, "db4f3e5e3795cc09a073fa6a81e5a6bc", "6162636465666768",
"23468aa734f5f0f19827316ff168e94f", "2056dfa339fa00be6836999411a98c76",
false},
{55, "db4f3e5e3795cc09a073fa6a81e5a6bc", "303132333435363738396162636465",
"23468aa734f5f0f19827316ff168e94f", "f92628f6418d8d9c9afac233861b3835",
false},
{56, "db4f3e5e3795cc09a073fa6a81e5a6bc", "30313233343536373839414243444546",
"23468aa734f5f0f19827316ff168e94f",
"fbcbdfdaaf17980be939c0b243266ecbc0c41093b495a7d5a080d976493fd0e7", false},
{57, "db4f3e5e3795cc09a073fa6a81e5a6bc",
"3031323334353637383941424344454647", "23468aa734f5f0f19827316ff168e94f",
"fbcbdfdaaf17980be939c0b243266ecb6770446a5ccaa26f7d4f970cc5834eba", false},
{58, "db4f3e5e3795cc09a073fa6a81e5a6bc", "",
"23468aa734f5f0f19827316ff168e94f", "4ff3e623fdd432608c183f40864177af",
false},
{59, "db4f3e5e3795cc09a073fa6a81e5a6bc", "6162636465666768",
"23468aa734f5f0f19827316ff168e94f", "6a1ef1e6ae6a788777aabd9ccf3cf43a",
false},
{60, "db4f3e5e3795cc09a073fa6a81e5a6bc", "30313233343536373839414243444546",
"23468aa734f5f0f19827316ff168e94f",
"fbcbdfdaaf17980be939c0b243266ecbee1345cd513161b241f4ae2799b0327f", false},
{61, "db4f3e5e3795cc09a073fa6a81e5a6bc",
"3031323334353637383941424344454647", "23468aa734f5f0f19827316ff168e94f",
"fbcbdfdaaf17980be939c0b243266ecbe0d539beef6f2d4f7cda4fd9f4f05570", false},
{62, "3d6bf9edae6d881eade0ff8c7076a4835b71320c1f36b631", "",
"db20f9a6f4d6b4e478f1a4b9d4051d34", "ff0c315873b4b1872abef2353b792ef0",
true},
{63, "f4bfa5aa4f0f4d62cf736cd2969c43d580fdb92f2753bedb",
"0e239f239705b282ce2200fe20de1165", "69a76dc4da64d89c580eb75ae975ec39",
"7dbd573e4db58a318edfe29f199d8cda538a49f36486337c2711163e55fd5d0b", true},
{64, "9d11abc1fcb248a436598e695be12c3c2ed90a18ba09d62c",
"aa5182cae2a8fb068c0b3fb2be3e57ae523d13dffd1a944587707c2b67447f3f",
"6525667350930fb945dd1895a3abfcd1",
"bd0258909e5b72438d95ca4b29c8a79c6228fd06a3b2fa06f7659654c7b24610f23f2fb16"
"313b7d3614cb0cd16fabb8e",
true},
{65, "7e41d83181659a2c38da5ead353cdb04c2b4d4a3cfe58e25",
"8a32d11c7a11aa72e13381632b1310f4fd90fc209a6a350e61c069a561871214f9c04fc1d"
"f7354cbe4d8d639c525d324",
"3943d8fddd5bb2a59772df31a31a8fff",
"6cbeacf8de25d7dd9dcdc087bf2f80873b1eb335400589076f8d2bf81e294c5d72b85eb8a"
"c9558b0de9e9fbee4b18716e5220c507fbb9d319a08f67816765ca6",
true},
{66, "915429743435c28997a33b33b6574a953d81dae0e7032e6a", "58",
"1379d48493f743e6a149deb3b9bab31e", "519925956d32e4fa350b1144f088e4e8",
true},
{67, "f0c288ba26b284f9fb321b444a6517b3cdda1a799d55fdff", "0f7e",
"48c7f44b43a1279d820733e6cb30617a", "bfb90aa7de1bdeed5bdc5703bdfd9630",
true},
{68, "6b55e4d4fd6847a80a6bfb0dcc0aa93f9fd797fc5c50292e", "33f530",
"2c287b38cc30c8c351b087b91a6a97ba", "b1a25816908c086f26037d10b7be9ad9",
true},
{69, "1eb21a9e995a8e45c9e71ecbd6fe615b3e0318007c64b644", "3aa73c48",
"61f6060919c9c09ef06be28f39c344aa", "74dbdecbfa94b71d2d6ef03200c7d095",
true},
{70, "710e2d5d4a9f0bc7e50796655e046a18cc5769d7764355da", "7e4c690a88",
"7682005907bfef3ce00196a17ad2246d", "10c860aaee23c3c3c1b9306b189dd80d",
true},
{71, "d8c09ea400779b63e774bdacd0cb7b5dd6f736ca23d52acf", "e9520280973b",
"1f6c912997ce007701e5fdf407c6b421", "673dcd444386930a0cc577fab4501e5c",
true},
{72, "8e67e9a0863b55bed408866f1cbc05357abe3f9d79f406f2", "4880b412287a0b",
"5854033ae50de090678432781a168b6c", "059e5f72a81d8820add8eae8fabcdd42",
true},
{73, "28d8da67806410e5565bcc5a9d7ab9fb357413fa0158378c", "004e3f4a4e6db955",
"003b2d86d8b636c58cf664565572d5e6", "c412159fd5ae20d771b7d2e734124d6a",
true},
{74, "dc968dd89fd602bb7eca6f3a8a13e4f59c08d02a514b1934",
"41a25354efeb1bc3b8", "3f22b50f888ab9424ba871d15aac55b7",
"4aba571c2c5ab9a6140f16efc68c8ec1", true},
{75, "7658951c0f620d82afd92756cc2d7983b79da3e56fdd1b78",
"f0e82fb5c5666f4af49f", "e4b8dde04b49fa6b88bfccd8d70c21d1",
"66d1b9152a8cd1a88eab341c775070b4", true},
{76, "d9574c3a221b986690931faac5258d9d3c52362b2cb9b054",
"178ea8404ba54ee4e4522c", "7753f616cd8796c9b8a3bbfbe6cb1e7f",
"d9377788e2881a48f9347786db7df51f", true},
{77, "704409bab28085c44981f28f75dd143a4f747106f63f262e",
"cda5709e7f115624e74ab031", "eae9ee19ccb7f8b087675709c4d35f73",
"db825f4434ea3bb53576fa7385fb7dfe", true},
{78, "d8d06ef6a53bbff5c8f12d791b8f4c67e574bf440736d1cc",
"a1171eae1979f48345dd9485a0", "a6aaff339a729d30a7ec1328db36d23e",
"3e7287df2a5ed9de4d817e352bd47ea7", true},
{79, "71129e781613f39d9ac39fbde2628b44c250c14deb5ef9e2",
"967593cc64bcbf7f3c58d04cb82b", "92fda71e88c70d18ed71b992735a2150",
"17c3ade4b469ae614760039a8fa6250e", true},
{80, "850fc859e9f7b89a367611dee6698f33962d8245ca8dc331",
"586f4f171af116519061a8e0e77940", "ed6596c86b98123ad2f3c573e974d051",
"9cafecff2a28d02f732573f65a2cadca", true},
{81, "cfd3f68873d81a27d2bfce876c79f6e609074dec39e34614",
"b1973cb25aa87ef9d1a8888b0a0f5c04c6", "c45b52a240eba3bdde5dfd57f3d474fb",
"401ad889bdb9d38816c782e00b168ccccde9bf75f4be868ceb91237e8b37b750", true},
{82, "b7f165bced1613da5e747fdf9255832d30c07f2deeb5a326",
"289647ea8d0ff31375a82aa1c620903048bb1d0e",
"07ece5fe02266e073499fd4d66929034",
"455d516e87851e6c894578a0f7126e0acbc7cfbb1d80296647ab89a79dfa6f71", true},
{83, "9bbe6e004fb260dadb02b68b78954f1da5e6a2d02e0aeefe",
"665423092ce95b927e98b8082030f58e33f3ec1b0c29532c2f421855f00f97",
"d799157bc1f77c182027be918b30783a",
"cbf541330a5a9bda24984976b0cf96ba08ef521fa2cdb3df839128570e222ac4", true},
{84, "1381fbd5e79045d40f29790fc1a436c95b040a046ebf0b0f",
"d575dce596dd0a2cd1c18dab7eb0948fafb8669969a48b6314493bfb8daf8acacd51382f9"
"bb5b357",
"fdf97645e4192ba84728bbf6683f79de",
"03225f08592efca14ad8ecf822465e8be4157465d0be150dd3d645b6fef1b19ca7bbaa594"
"0b2a7895fa2b0ee55b0d4ec",
true},
{85, "1bb4ed0e8435e20729f48c1b7e3af6e69e4cebf0731131cf",
"6d29dab6a0568c961ab3c825e0d89940cef06c63ade7e557cd3e92792eaf23c8cd5a0f029"
"c63b1cdce4754ccfad7a73c7c9e50ffe081e9136f5e9a424077339de12ea43572afe1b034"
"e833e5887763aa",
"059685f59247eea5d3f2a1532cb9d6b2",
"27ad00313f328f0d3e6c3238ab560cb7243a9f54f7dff79b5a7a879439993d458017f09e8"
"d3f694098bc19e61fe54085138664abb51a5b328cf2c9ce5d59726fff5e1b7553c143d9e0"
"493c51cab23ff2ecdad91bd72bb12b32f3b611f9a4225d",
true},
{86, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2", "",
"a3fe6f76e8f582830bbe83574a7bb729", "2c010faa25c68c3b30b8c1491c316d5f",
false},
{87, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2", "6162636465666768",
"a3fe6f76e8f582830bbe83574a7bb729", "818454d433154a8e00e8f590b8a1c38c",
false},
{88, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"303132333435363738396162636465", "a3fe6f76e8f582830bbe83574a7bb729",
"0a7423fae3f4c8d4633f839d36f2e9ff", false},
{89, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"30313233343536373839414243444546", "a3fe6f76e8f582830bbe83574a7bb729",
"a7cfcdabcc5a2736a2708c1cb0b61432e83f6e522c371e6e71bde539595b70b7", false},
{90, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"3031323334353637383941424344454647", "a3fe6f76e8f582830bbe83574a7bb729",
"a7cfcdabcc5a2736a2708c1cb0b6143254d15f47701fa54f5957828f386e1d97", false},
{91, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2", "",
"a3fe6f76e8f582830bbe83574a7bb729", "6ded36cc7603e514014dfb7199900676",
false},
{92, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2", "6162636465666768",
"a3fe6f76e8f582830bbe83574a7bb729", "839f772f8e5f50afdc02f954094869fe",
false},
{93, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"303132333435363738396162636465", "a3fe6f76e8f582830bbe83574a7bb729",
"eefe3553c099c187929b287e54f95726", false},
{94, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"30313233343536373839414243444546", "a3fe6f76e8f582830bbe83574a7bb729",
"a7cfcdabcc5a2736a2708c1cb0b61432d0531a2641d40467353542d79ce20ea8", false},
{95, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"3031323334353637383941424344454647", "a3fe6f76e8f582830bbe83574a7bb729",
"a7cfcdabcc5a2736a2708c1cb0b61432aaf08a090ecf66167ba5958100be7950", false},
{96, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2", "",
"a3fe6f76e8f582830bbe83574a7bb729", "c0e402c8bbdda18c8ddd86470bd4b244",
false},
{97, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2", "6162636465666768",
"a3fe6f76e8f582830bbe83574a7bb729", "dc185d4572565e01131e471ec4c48125",
false},
{98, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"303132333435363738396162636465", "a3fe6f76e8f582830bbe83574a7bb729",
"3ad1ddf3c3b320398785e6ec6544e9a2", false},
{99, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"30313233343536373839414243444546", "a3fe6f76e8f582830bbe83574a7bb729",
"a7cfcdabcc5a2736a2708c1cb0b614325876f90cfbbdbcd85e8252d37c44c638", false},
{100, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"3031323334353637383941424344454647", "a3fe6f76e8f582830bbe83574a7bb729",
"a7cfcdabcc5a2736a2708c1cb0b61432d18f57216b0e6426d911998a0e44156b", false},
{101, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2", "",
"a3fe6f76e8f582830bbe83574a7bb729",
"f1605abb4e6628347c616da350fe243043a8d7b6aea244ca013f45241d802213", false},
{102, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"6162636465666768", "a3fe6f76e8f582830bbe83574a7bb729",
"a5f027fb9514ec8844534d452c940feb2c1807f57ed628156cf753f2ab698356", false},
{103, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"303132333435363738396162636465", "a3fe6f76e8f582830bbe83574a7bb729",
"f346fbc9744d723c42bbb2a4c934cdd4f1019e58c226cb2491fed621271a38f3", false},
{104, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"30313233343536373839414243444546", "a3fe6f76e8f582830bbe83574a7bb729",
"a7cfcdabcc5a2736a2708c1cb0b6143263eb325d36e13aa1d3dd1d7e071700104c7eb3e22"
"e0859aa06296bc3194bb909",
false},
{105, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"3031323334353637383941424344454647", "a3fe6f76e8f582830bbe83574a7bb729",
"a7cfcdabcc5a2736a2708c1cb0b61432219485d41584bd110a6d7a9cad472815d93921c48"
"d4bcb509fdf2e63d7627c37",
false},
{106, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2", "",
"a3fe6f76e8f582830bbe83574a7bb729", "215571a18a70140f3a0fd4c1b2dd6316",
false},
{107, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"6162636465666768", "a3fe6f76e8f582830bbe83574a7bb729",
"2529985ec0ec3cf4bd22746e00d7bdc6", false},
{108, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"30313233343536373839414243444546", "a3fe6f76e8f582830bbe83574a7bb729",
"a7cfcdabcc5a2736a2708c1cb0b614329a8058657ac4a150e995cf83efccf051", false},
{109, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"3031323334353637383941424344454647", "a3fe6f76e8f582830bbe83574a7bb729",
"a7cfcdabcc5a2736a2708c1cb0b614328a068626780ba600f880bd5323f8ac15", false},
{110, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2", "",
"a3fe6f76e8f582830bbe83574a7bb729", "13e75f9ffe2afa81b9a2e7faf74aab6d",
false},
{111, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"6162636465666768", "a3fe6f76e8f582830bbe83574a7bb729",
"a382197fe491f5c3f91b629dc47c3d58", false},
{112, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"30313233343536373839414243444546", "a3fe6f76e8f582830bbe83574a7bb729",
"a7cfcdabcc5a2736a2708c1cb0b614320b842e5d6e32660263ff814a0277659f", false},
{113, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"3031323334353637383941424344454647", "a3fe6f76e8f582830bbe83574a7bb729",
"a7cfcdabcc5a2736a2708c1cb0b614321d2f736515cfe17921800eb392e0139d", false},
{114, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2", "",
"a3fe6f76e8f582830bbe83574a7bb729", "f1605abb4e6628347c616da350fe2430",
false},
{115, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"6162636465666768", "a3fe6f76e8f582830bbe83574a7bb729",
"b3602ff0f797cbbdde35105d27e55b94", false},
{116, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"303132333435363738396162636465", "a3fe6f76e8f582830bbe83574a7bb729",
"0334c1bc34b597f60a639e74d8b45c4e", false},
{117, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"30313233343536373839414243444546", "a3fe6f76e8f582830bbe83574a7bb729",
"a7cfcdabcc5a2736a2708c1cb0b61432c3f9fe42d9715035bcda97d27405ced7", false},
{118, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"3031323334353637383941424344454647", "a3fe6f76e8f582830bbe83574a7bb729",
"a7cfcdabcc5a2736a2708c1cb0b61432362b014a9abdaf25ae1f6dfb99d03d9d", false},
{119, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2", "",
"a3fe6f76e8f582830bbe83574a7bb729", "97ab405b86c388f144cf74fbb9358493",
false},
{120, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"6162636465666768", "a3fe6f76e8f582830bbe83574a7bb729",
"691f6009802f0fb4920928db7eca1349", false},
{121, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"30313233343536373839414243444546", "a3fe6f76e8f582830bbe83574a7bb729",
"a7cfcdabcc5a2736a2708c1cb0b61432a99fc96a6fa0c9fcb18de1672d74914d", false},
{122, "9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2",
"3031323334353637383941424344454647", "a3fe6f76e8f582830bbe83574a7bb729",
"a7cfcdabcc5a2736a2708c1cb0b61432dd1bb2e98102322fb1aa92c979d4c7c3", false},
{123, "7bf9e536b66a215c22233fe2daaa743a898b9acb9f7802de70b40e3d6e43ef97",
"", "eb38ef61717e1324ae064e86f1c3e797", "e7c166554d1bb32792c981fa674cc4d8",
true},
{124, "612e837843ceae7f61d49625faa7e7494f9253e20cb3adcea686512b043936cd",
"cc37fae15f745a2f40e2c8b192f2b38d", "9ec7b863ac845cad5e4673da21f5b6a9",
"299295be47e9f5441fe83a7a811c4aeb2650333e681e69fa6b767d28a6ccf282", true},
{125, "96e1e4896fb2cd05f133a6a100bc5609a7ac3ca6d81721e922dadd69ad07a892",
"91a17e4dfcc3166a1add26ff0e7c12056e8a654f28a6de24f4ba739ceb5b5b18",
"e70d83a77a2ce722ac214c00837acedf",
"a615a39ff8f59f82cf72ed13e1b01e32459700561be112412961365c7a0b58aa7a16d68c0"
"65e77ebe504999051476bd7",
true},
{126, "649e373e681ef52e3c10ac265484750932a9918f28fb824f7cb50adab39781fe",
"39b447bd3a01983c1cb761b456d69000948ceb870562a536126a0d18a8e7e49b16de8fe67"
"2f13d0808d8b7d957899917",
"bd003c0a9d804c29f053a77cb380cb47",
"ed3ed8ecdbabc0a8c06259e913f3ab9a1f1dc6d05e5dfdd9c80e1008f3423064d54068129"
"1bbd3e159820fee3ff190a68fe506d8ab9e62c8e7b3816093336dbc",
true},
{127, "e754076ceab3fdaf4f9bcab7d4f0df0cbbafbc87731b8f9b7cd2166472e8eebc",
"40", "014d2e13dfbcb969ba3bb91442d52eca",
"42c0b89a706ed2606cd94f9cb361fa51", true},
{128, "ea3b016bdd387dd64d837c71683808f335dbdc53598a4ea8c5f952473fafaf5f",
"6601", "fae3e2054113f6b3b904aadbfe59655c",
"b90c326b72eb222ddb4dae47f2bc223c", true},
{129, "73d4709637857dafab6ad8b2b0a51b06524717fedf100296644f7cfdaae1805b",
"f1d300", "203cd3e0068e43d38b6f2e48a188f252",
"567c45c5e6d570bef583d21cac43757d", true},
{130, "d5c81b399d4c0d1583a13da56de6d2dc45a66e7b47c24ab1192e246dc961dd77",
"2ae63cbf", "abcf220eede012279c3a2d33295ff273",
"c45afe62fc9351ad0fc9b03bc2f3a91f", true},
{131, "2521203fa0dddf59d837b2830f87b1aa61f958155df3ca4d1df2457cb4284dc8",
"af3a015ea1", "01373953578902909ae4f6cb0a72587c",
"281fa533d0740cc6cdf94dd1a5f7402d", true},
{132, "665a02bc265a66d01775091da56726b6668bfd903cb7af66fb1b78a8a062e43c",
"3f56935def3f", "3fb0d5ecd06c71150748b599595833cb",
"3f3f39697bd7e88d85a14132be1cbc48", true},
{133, "facd75b22221380047305bc981f570e2a1af38928ea7e2059e3af5fc6b82b493",
"57bb86beed156f", "27a2db6114ece34fb6c23302d9ba07c6",
"379990d91557614836381d5026fa04a0", true},
{134, "505aa98819809ef63b9a368a1e8bc2e922da45b03ce02d9a7966b15006dba2d5",
"2e4e7ef728fe11af", "9b2b631e3f24bdc814a14abb3416059e",
"7ecefe24caa78a68f4031d40fdb9a43a", true},
{135, "f942093842808ba47f64e427f7351dde6b9546e66de4e7d60aa6f328182712cf",
"852a21d92848e627c7", "92cfc4eb146b18b73fc76483fc5e1229",
"ffe4ec8baf4af40ab2e7f4d6193fae9c", true},
{136, "64be162b39c6e5f1fed9c32d9f674d9a8cde6eaa2443214d86bd4a1fb53b81b4",
"195a3b292f93baff0a2c", "4ceed8dcb75b6259dad737bdef96f099",
"ef96215e7950e7be8aae78b9ec8aaf39", true},
{137, "b259a555d44b8a20c5489e2f38392ddaa6be9e35b9833b67e1b5fdf6cb3e4c6c",
"afd73117330c6e8528a6e4", "2d4cead3f1120a2b4b59419d04951e20",
"4ed0eac75b05868078303875f82fb4f0", true},
{138, "2c6fc62daa77ba8c6881b3dd6989898fef646663cc7b0a3db8228a707b85f2dc",
"0ff54d6b6759120c2e8a51e3", "a10392634143c2a3332fa0fb3f72200a",
"f4d298caea7c390fc8c7f558f584f852", true},
{139, "abab815d51df29f740e4e2079fb798e0152836e6ab57d1536ae8929e52c06eb8",
"f0058d412a104e53d820b95a7f", "38b916a7ad3a9251ae3bd8865ca3a688",
"5e1c00e2ec829f92b87c6adf5c25262d", true},
{140, "3d5da1af83f7287458bff7a7651ea5d8db72259401333f6b82096996dd7eaf19",
"aacc36972f183057919ff57b49e1", "bfcc3ac44d12e42d780c1188ac64b57f",
"bf3a04ddb2dbfe7c6dc9e15aa67be25d", true},
{141, "c19bdf314c6cf64381425467f42aefa17c1cc9358be16ce31b1d214859ce86aa",
"5d066a92c300e9b6ddd63a7c13ae33", "35bc82e3503b95044c6406a8b2c2ecff",
"fdcfa77f5bd09326b4c11f9281b72474", true},
{142, "73216fafd0022d0d6ee27198b2272578fa8f04dd9f44467fbb6437aa45641bf7",
"d5247b8f6c3edcbfb1d591d13ece23d2f5", "4b74bd981ea9d074757c3e2ef515e5fb",
"fbea776fb1653635f88e2937ed2450ba4e9063e96d7cdba04928f01cb85492fe", true},
{143, "c2039f0d05951aa8d9fbdf68be58a37cf99bd1afcedda286a9db470c3729ca92",
"ed5b5e28e9703bdf5c7b3b080f2690a605fcd0d9",
"9a1d8ccc24c5e4d3995480af236be103",
"3a79bb6084c7116b58afe52d7181a0aacee1caa11df959090e2e7b0073d74817", true},
{144, "4f097858a1aec62cf18f0966b2b120783aa4ae9149d3213109740506ae47adfe",
"ee53d8e5039e82d9fcca114e375a014febfea117a7e709d9008d43858e3660",
"400aab92803bcbb44a96ef789655b34e",
"642b11efb79b49e5d038bc7aa29b8c6c3ce0bf11c3a69670eb565799908be66d", true},
{145, "5f99f7d60653d79f088dd07ef306b65e057d36e053fa1c9f6854425c019fd4df",
"fcc9212c23675c5d69a1266c77389bc955e453daba20034aabbcd502a1b73e05af30f8b76"
"22abdbc",
"6eedf45753ffe38f2407fbc28ab5959c",
"a9b051354f0cf61f11921b330e60f996de796aeb68140a0f9c5962e1f48e4805262fb6f53"
"b26d9bb2fa0e359efe14734",
true},
{146, "95aaa5df4ccb529e9b2dc929e770c1f419f8e8933bfb36f632f532b3dcad2ba6",
"f5735567b7c8312f116517788b091cc6cb1d474b010a77910154fd11c3b2f0cd19f713b63"
"d66492e8cc7ee8ad714783f46c305a26416e11ff4b99ec5ce2550593cc5ec1b86ba6a66d1"
"0f82bdff827055",
"f88551c6aa197f9ad80251c2e32d7663",
"5074f46f1a6d0eeff070d623172eb15bbfc83e7d16466a00c9da5f4545eecf44adbf60cf9"
"ac9aa1a3ec5eca22d4a34a7b21ca44d214c9d04ab1cb0b2c07001de9adb46f3c12f8f4843"
"6b516a409bf6cbdf1871dee3115d5cbb7943558b68867e",
true},
{147, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"", "f010f61c31c9aa8fa0d5be5f6b0f2f70", "e07558d746574528fb813f34e3fb7719",
false},
{148, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"6162636465666768", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"c01af61276368818a8295f7d4b5bb2fd", false},
{149, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"303132333435363738396162636465", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"97dd9716f06be49160399a5b212250ae", false},
{150, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"30313233343536373839414243444546", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"8881e9e02fa9e3037b397957ba1fb7ce783bb4b4e18d7c646f38e0bb8ff92896", false},
{151, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"3031323334353637383941424344454647", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"8881e9e02fa9e3037b397957ba1fb7ce64679a46621b792f643542a735f0bbbf", false},
{152, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"", "f010f61c31c9aa8fa0d5be5f6b0f2f70", "c007ddffb76b95208505fe7f3be96172",
false},
{153, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"6162636465666768", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"e9b7719c4c2b9fa6b94cb50e87b28156", false},
{154, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"303132333435363738396162636465", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"77b31f474c4bd489dbadd532643d1fa5", false},
{155, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"30313233343536373839414243444546", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"8881e9e02fa9e3037b397957ba1fb7cea0166e9e1c0122cb2e2983fc0fac7176", false},
{156, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"3031323334353637383941424344454647", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"8881e9e02fa9e3037b397957ba1fb7ce6f0effa789cbb0b875cc53cc8f7b3caf", false},
{157, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"", "f010f61c31c9aa8fa0d5be5f6b0f2f70", "4dd5f910c94700235c9ed239160e34e2",
false},
{158, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"6162636465666768", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"94d18b5923f8f3608ae7ad494fbb517e", false},
{159, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"303132333435363738396162636465", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"0c92886dbcb030b873123a25d224da42", false},
{160, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"30313233343536373839414243444546", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"8881e9e02fa9e3037b397957ba1fb7ce851be67798a2937cd6681165da6dce03", false},
{161, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"3031323334353637383941424344454647", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"8881e9e02fa9e3037b397957ba1fb7ce45658a37aaebc51098866b0894007e8e", false},
{162, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"524236e25956e950713bec0d3d579068f34e4d18c4ccab081317dae526fe7fca", false},
{163, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"6162636465666768", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"d29eb845640c3a8878f51bc50e290aa4a65a34a93728fe8f82fdb8d3d2b7c648", false},
{164, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"303132333435363738396162636465", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"c34563be2952277c0f5c67ae1d6f847118730dd7f6a502ceef3c4bce5999f7aa", false},
{165, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"30313233343536373839414243444546", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"8881e9e02fa9e3037b397957ba1fb7cec0f74a1aa92fd9c96f9d15d193d1695c1eb33486e"
"269277612f90f509f0535c2",
false},
{166, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"3031323334353637383941424344454647", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"8881e9e02fa9e3037b397957ba1fb7ce151ade309ec5200bacdd83b57ce794cd2b3bf9f89"
"57def829e8465f7db266f9e",
false},
{167, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"", "f010f61c31c9aa8fa0d5be5f6b0f2f70", "fb38cbef13f1d5be9c0ac7ed9cbe023c",
false},
{168, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"6162636465666768", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"18cf8988abe9a2463a3a75db1fac8bcc", false},
{169, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"30313233343536373839414243444546", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"8881e9e02fa9e3037b397957ba1fb7cee16d6fc4b4d3cdf6f915996e437fd4cc", false},
{170, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"3031323334353637383941424344454647", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"8881e9e02fa9e3037b397957ba1fb7cea8f41f61ead6e9936cbe7ee5a1163b9b", false},
{171, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"", "f010f61c31c9aa8fa0d5be5f6b0f2f70", "a05c14da0109093c195b4998812fe150",
false},
{172, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"6162636465666768", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"c477877250c8e4ca2869f35c4757cdb4", false},
{173, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"30313233343536373839414243444546", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"8881e9e02fa9e3037b397957ba1fb7ce69f57c6e99c7b9df7d4879ccd15caf3d", false},
{174, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"3031323334353637383941424344454647", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"8881e9e02fa9e3037b397957ba1fb7ce77f89a247c928f147748ce6bc8fc4b67", false},
{175, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"", "f010f61c31c9aa8fa0d5be5f6b0f2f70", "524236e25956e950713bec0d3d579068",
false},
{176, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"6162636465666768", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"e03b6f2ae1c963b6dfa40b42d34314b7", false},
{177, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"303132333435363738396162636465", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"df14f4cbbccca57b9727d68270a1b6c1", false},
{178, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"30313233343536373839414243444546", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"8881e9e02fa9e3037b397957ba1fb7ceea228bf1edd41c390e2eef140142bc00", false},
{179, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"3031323334353637383941424344454647", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"8881e9e02fa9e3037b397957ba1fb7ce3937e0e9abf7f672a34a500ba8e9099a", false},
{180, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"", "f010f61c31c9aa8fa0d5be5f6b0f2f70", "32ac6057df2a5d1e2e5131348c6ebc4e",
false},
{181, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"6162636465666768", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"df4a7c3b9f4756d30fca0d18e9b28960", false},
{182, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"30313233343536373839414243444546", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"8881e9e02fa9e3037b397957ba1fb7ceae2855c47c7988873d57f901e049494b", false},
{183, "7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a",
"3031323334353637383941424344454647", "f010f61c31c9aa8fa0d5be5f6b0f2f70",
"8881e9e02fa9e3037b397957ba1fb7ce0714c8de200b27ac91d9257fc93c13be",
false}};
#endif // cbc_vectors_h__

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,841 @@
/* vim: set ts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
/* This file is generated from sources in nss/gtests/common/wycheproof
* automatically and should not be touched manually.
* Generation is trigged by calling python3 genTestVectors.py */
#ifndef hmac_sha256_vectors_h__
#define hmac_sha256_vectors_h__
#include "testvectors_base/test-structs.h"
const HmacTestVector kHmacSha256WycheproofVectors[] = {
{1, "empty message",
"1e225cafb90339bba1b24076d4206c3e79c355805d851682bc818baa4f5a7779", "",
"b175b57d89ea6cb606fb3363f2538abd73a4c00b4a1386905bac809004cf1933", false},
{2, "short message",
"8159fd15133cd964c9a6964c94f0ea269a806fd9f43f0da58b6cd1b33d189b2a", "77",
"dfc5105d5eecf7ae7b8b8de3930e7659e84c4172f2555142f1e568fc1872ad93", false},
{3, "short message",
"85a7cbaae825bb82c9b6f6c5c2af5ac03d1f6daa63d2a93c189948ec41b9ded9", "a59b",
"0fe2f13bba2198f6dda1a084be928e304e9cb16a56bc0b7b939a073280244373", false},
{4, "short message",
"48f3029334e55cfbd574ccc765fb2c3685aab1f4837d23370874a3e634c3a76d",
"c7b8b2",
"6c13f79bb2d5b6f9a315fe8fd6cbb5cb817a660687009deccd88c377429e596d", false},
{5, "short message",
"de8b5b5b2f09645be47ecb6407a4e1d9c6b33ae3c2d22517d3357da0357a3139",
"cc021d65",
"e87538eb167e62d7cb236690ff3f034a9c12d417aa8dfa694d7405f9e1f85fe8", false},
{6, "short message",
"b7938910f518f13205ca1492c669001a14ff913c8ab4a0dc3564e7418e91297c",
"a4a6ef6ebd",
"01a93f4ed216d0b280896301e366aa67b25e6b6a5a6e84f291a13391c6e496c5", false},
{7, "short message",
"1bb997ff4de8a5a391de5c08a33bc2c7c2891e47ad5b9c63110192f78b98fe78",
"667e015df7fc",
"06b5d8c5392323a802bc5cdd0b3c527454a873d9651c368836eaa4ad982ba546", false},
{8, "short message",
"32fdeda39f98b4f4426c2d2ac00ab5dd4bfabb68f311447256ed6d3d3a51b154",
"4163a9f77e41f5",
"1b0103729f48c2772bb132aef9ebd6dd6aafc9145df6d5c514b233ee92ef4a00", false},
{9, "short message",
"233e4fdee70bcc20235b6977ddfc05b0df66f5635d827c66e5a63cdb16a24938",
"fdb2ee4b6d1a0ac2",
"120b26ee1355c134c262513c7922deb6c4fd90303de4cd61b9f9cd08f22d6e18", false},
{10, "short message",
"b984c6734e0bd12b1737b2fc7a1b3803b4dfec402140a57b9eccc35414ae661b",
"dea584d0e2a14ad5fd",
"88bc2282e5fce47ec6d9895395cd47fff91a0cdc589a8fd56d8d344616533a3d", false},
{11, "short message",
"d0caf1456ac5e255fa6afd61a79dc8c716f5358a298a508271363fe1ff983561",
"18261dc806913c534666",
"f678f081d83cf126ad6bd52c2dffd786214f519c47452b85a97458d0c10c3ee5", false},
{12, "short message",
"835bc8241ed817735ec9d3d0e2df4c173ee4dded4a8ef0c04a96c48f11820463",
"26f8083e944bacf04e9a4d",
"e0e46cd7d1a75b3d102893da64def46e455308761f1d908786628ca7ee22a0eb", false},
{13, "short message",
"055f95c9461b0809575eccdfa5cdd06275f25d30915c4eb8db40e1acd3ab7591",
"bfb7d6a08dbaa5225f320887",
"e76d5c8c070a6b3c4824e9f342dc3056e63819509e1def98b585aeba0d638a00", false},
{14, "short message",
"e40f7a3eb88ddec4c6347ea4d67610756c82c8ebcc237629bf873ccabc32984a",
"7fe43febc78474649e45bf99b2",
"aa57d020aa24ad823472c2b80ff2d0cf475f7de0068f9a59e8112fede53a3581", false},
{15, "short message",
"b020ad1de1c141f7ec615ee5701521773f9b232e4d06376c382894ce51a61f48",
"81c7581a194b5e71b41146a582c1",
"f45c72603cc160c0762f703407844a7781dfe0f1ddf0aaf4ccd8205e94469aed", false},
{16, "short message",
"9f3fd61a105202648ecff6074c95e502c1c51acd32ec538a5cce89ef841f7989",
"2a76f2acdace42e3b779724946912c",
"0226ee13cc05e2340135b3f4b27a9da1a160f6170fe805dadd98a3711ec9c421", false},
{17, "", "6fa353868c82e5deeedac7f09471a61bf749ab5498239e947e012eee3c82d7c4",
"aeed3e4d4cb9bbb60d482e98c126c0f5",
"9ed7f0e73812a27a87a3808ee0c89a6456499e835974ba57c5aab2a0d8c69e93", false},
{18, "", "5300489494ca86221c91d6d953952ae1a5e097139dc9cf1179c2f56433753824",
"90fea6cf2bd811b449f333ee9233e57697",
"5b692cba13b54fffc3adcbb0e015cc011fbfd61235303ff0ad2a49775083bf22", false},
{19, "", "383e7c5c13476a62268423ef0500479f9e86e236c5a081c6449189e6afdf2af5",
"3202705af89f9555c540b0e1276911d01971abb2c35c78b2",
"4e4901592ba46476408d758435c7d1b489d2689afd84ceaaee78bfb91fd9391d", false},
{20, "", "186e248ad824e1eb93329a7fdcd565b6cb4eaf3f85b90b910777128d8c538d27",
"92ef9ff52f46eccc7e38b9ee19fd2de3b37726c8e6ce9e1b96db5dda4c317902",
"3fc1d73dd4a8858c1fc3d8c4a3f33ed5ad0c70210038394a5902cb26fe287348", false},
{21, "long message",
"28855c7efc8532d92567300933cc1ca2d0586f55dcc9f054fcca2f05254fbf7f",
"9c09207ff0e6e582cb3747dca954c94d45c05e93f1e6f21179cf0e25b4cede74b5479d32f"
"5166935c86f0441905865",
"788c0589000fb7f0b5d51f1596472bc9ec413421a43df96ee32b02b5d275ffe3", false},
{22, "long message",
"8e540cb30c94836ae2a5950f355d482a7002e255207e94fda3f7ef1a099013a0",
"d6500f95e11262e308bf3df4df4b855f33e857563d4543f195639a0a17b442eb9fdcc1367"
"d2eee75c8f805730b89290f",
"39697e70ce741feb33dedc069f00b5627fd9b837d10cbdd5b6d19cfbd511dd2c", false},
{23, "long message",
"69c50d5274358188cff4c0fae742243d4e8a5e5ba55d94ff40edd90f6a43dd10",
"1ac5255aff052828d8ea21b376f1ebdd4bb879949913900405aebce83e48feb6813b5e9c8"
"9f94501a8ade41b26b815c521",
"4b0b4d0416fa2e11586fbfa7fb11261e69991dfa34019b9893d69a2be8c1fc80", false},
{24, "long message",
"23209b7c5aadcbd13f7279af1a86d3c7ae8f179d1bcaaad0dff9a15302e78dbf",
"84bdac37e1af35d9356404e2787d47ece58348dea76a4a46e8aade3463d4db8c94a051be3"
"733b38d756984865d56c60e8025f15e3f968f093e7fb7ebc7e31189c5692d15ed4256737b"
"9b1894e5809503aaa1c9983fb096aa21916361eeb6ef455b129723a1a1ddf9deddea20852"
"9a648",
"4a85c479d1650dbd73bc5248074a55ff50218bddaa8d1fddaaf44946dc19aefb", false},
{25, "long message",
"7c9cc667cae175f448faa96647319633b2d48531373ae7d316c44ddd8b9f69cf",
"9233c1d73b498c5106ff88951e07b9652cb0ddae740737ec205c9876d094978bfc947f7dc"
"937119fd6a93915b19b625958a7a22363aa2ac33fb869ed16b303336ab740a0498a2df66a"
"6599da710094481a7b544bd955b6f97135ba4673401db2db144a6e287041e47a51ed9b6ba"
"956c13508c1c0c25310105239ab73629e30",
"ca1b80441d333909c2bb30769650055051ed20f17de8ee953cb9070af56c704f", false},
{26, "long message",
"82314540564ea3ce30591e97f68b2602de40fa29f773c2508327471b8348e8c4",
"6a6d2f45cebf2757ae16ea33c68617671d77f8fdf80bed8fc5cdc5c8b7086bd28e7eb3eec"
"c7163491104e5309455e67f836579b82a1da3bf5991a8e2b2f189a49e05700e46c409ed5d"
"e77780a5f389e3f13dad406c9d55675329c5c921f07034180937c0f6ef34a2308b6ff3e1a"
"0e9dc1ea65f5632730e8744d1db2c40a6595b",
"0900b3e6535d34f90e2c335775e86bf38ee7e3d26fb60cd9cdf639eb3496b94c", false},
{27, "long message",
"d115acc9a636915241795f48852052e07b51273ae2448251ec1d0d0f9807f3db",
"696d2456de853fa028f486fef437b6b6d1b530a8475e299db3a9005ae9cef8401985b7d31"
"e172e8f439ccd1ad1ec44c9b86b78f3f243c1305b53bc21abad7a8fc5256311bfd34c98e3"
"7dfdc649e7ae4bda08cf2994b063c0c7106ed0b02a1f48af9191cbfb0d6a953b7e04327df"
"e8c93779cb574ba9cba575d01674e83621aa0c5f400d6e6cd24b301e33c9f3303e73bf357"
"408c1be86c2489c09de998ff2ef32df554f1247d9313ce1a7160115d06f4c18d6556ff798"
"6ef8a55e2adcfa27e4c69c71cc2ff01639e9d49bd9ed0687f530ffeb0890132457df20880"
"81bc4a2f7f0a9f4dcea2c80d991db7f3747a1803d7619aaf3dd382c69536a0bcdb931cbe",
"82f92977f0b605eaada510ffceb53ad75fde16a8029f1b75b406a84270dbb8b7", false},
{28, "Flipped bit 0 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d28b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true},
{29, "Flipped bit 0 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"d9b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true},
{30, "Flipped bit 1 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d18b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true},
{31, "Flipped bit 1 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"dab99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true},
{32, "Flipped bit 7 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"538b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true},
{33, "Flipped bit 7 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"58b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true},
{34, "Flipped bit 8 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38a42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true},
{35, "Flipped bit 8 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"d8b89f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true},
{36, "Flipped bit 31 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42896d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true},
{37, "Flipped bit 31 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"d8b99fa709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true},
{38, "Flipped bit 32 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096c80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true},
{39, "Flipped bit 32 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"d8b99f2708a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true},
{40, "Flipped bit 33 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096f80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true},
{41, "Flipped bit 33 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"d8b99f270ba3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true},
{42, "Flipped bit 63 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f4df826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true},
{43, "Flipped bit 63 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"d8b99f2709a3caf4172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true},
{44, "Flipped bit 64 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f45f836b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true},
{45, "Flipped bit 64 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"d8b99f2709a3ca74162cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true},
{46, "Flipped bit 71 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f45f026b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true},
{47, "Flipped bit 71 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"d8b99f2709a3ca74972cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true},
{48, "Flipped bit 77 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f45f824b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true},
{49, "Flipped bit 77 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"d8b99f2709a3ca74170cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true},
{50, "Flipped bit 80 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f45f826b45a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true},
{51, "Flipped bit 80 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"d8b99f2709a3ca74172cbf93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true},
{52, "Flipped bit 96 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f45f826b44a9d4607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true},
{53, "Flipped bit 96 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"d8b99f2709a3ca74172cbe93834c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true},
{54, "Flipped bit 97 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f45f826b44a9d7607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true},
{55, "Flipped bit 97 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"d8b99f2709a3ca74172cbe93804c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true},
{56, "Flipped bit 103 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f45f826b44a955607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true},
{57, "Flipped bit 103 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"d8b99f2709a3ca74172cbe93024c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true},
{58, "Flipped bit 248 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1ca", true},
{59, "Flipped bit 248 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"d8b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14f", true},
{60, "Flipped bit 249 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1c9", true},
{61, "Flipped bit 249 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"d8b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14c", true},
{62, "Flipped bit 254 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc18b", true},
{63, "Flipped bit 254 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"d8b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef10e", true},
{64, "Flipped bit 255 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc14b", true},
{65, "Flipped bit 255 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"d8b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef1ce", true},
{66, "Flipped bits 0 and 64 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d28b42096d80f45f836b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true},
{67, "Flipped bits 0 and 64 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"d9b99f2709a3ca74162cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true},
{68, "Flipped bits 31 and 63 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42896d80f4df826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true},
{69, "Flipped bits 31 and 63 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"d8b99fa709a3caf4172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true},
{70, "Flipped bits 63 and 127 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f4df826b44a9d5607d672496a415d3f4a1a8c88e3bb9da8dc1cb", true},
{71, "Flipped bits 63 and 127 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"d8b99f2709a3caf4172cbe93824c1fa9b23a0c1e9c21bd851ff2d2c39dbef14e", true},
{72, "all bits of tag flipped",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"2c74bdf6927f0ba07d94bb562a9f8218db695bea2c0b5e573771c44625723e34", true},
{73, "all bits of tag flipped",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"274660d8f65c358be8d3416c7db3e0d64dc5f3e163de427ae00d2d3c62410eb1", true},
{74, "Tag changed to all zero",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"0000000000000000000000000000000000000000000000000000000000000000", true},
{75, "Tag changed to all zero",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"0000000000000000000000000000000000000000000000000000000000000000", true},
{76, "tag changed to all 1",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", true},
{77, "tag changed to all 1",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", true},
{78, "msbs changed in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"530bc289ed0074df02ebc42955e0fd67a416249553742128480ebb395a0d414b", true},
{79, "msbs changed in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"58391fa789234af497ac3e1302cc9fa932ba8c9e1ca13d059f7252431d3e71ce", true},
{80, "lsbs changed in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d28a43086c81f55e836a45a8d4617ce62597a514d2f5a0a9c98f3ab8db8cc0ca", true},
{81, "lsbs changed in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f",
"d9b89e2608a2cb75162dbf92834d1e28b33b0d1f9d20bc841ef3d3c29cbff04f", true},
{82, "empty message",
"7bf9e536b66a215c22233fe2daaa743a898b9acb9f7802de70b40e3d6e43ef97", "",
"f4605585949747de26f3ee98a738b172", false},
{83, "short message",
"e754076ceab3fdaf4f9bcab7d4f0df0cbbafbc87731b8f9b7cd2166472e8eebc", "40",
"0dc00d7217bbafe8d78bf961189b8fd2", false},
{84, "short message",
"ea3b016bdd387dd64d837c71683808f335dbdc53598a4ea8c5f952473fafaf5f", "6601",
"ff296b368d3bf059cc48682f6949ccaa", false},
{85, "short message",
"73d4709637857dafab6ad8b2b0a51b06524717fedf100296644f7cfdaae1805b",
"f1d300", "2d02bd1c25b1fe52b1ead07374d6e883", false},
{86, "short message",
"d5c81b399d4c0d1583a13da56de6d2dc45a66e7b47c24ab1192e246dc961dd77",
"2ae63cbf", "4d9e8bddf9b7a1218309d5988aa1b0d9", false},
{87, "short message",
"2521203fa0dddf59d837b2830f87b1aa61f958155df3ca4d1df2457cb4284dc8",
"af3a015ea1", "cb8a4b413350b42f4ac3533cc7f47864", false},
{88, "short message",
"665a02bc265a66d01775091da56726b6668bfd903cb7af66fb1b78a8a062e43c",
"3f56935def3f", "1cfce745db1ca7de9a1d4420e612ca55", false},
{89, "short message",
"facd75b22221380047305bc981f570e2a1af38928ea7e2059e3af5fc6b82b493",
"57bb86beed156f", "0bde0d0c756df09d4f6da81b299a3adf", false},
{90, "short message",
"505aa98819809ef63b9a368a1e8bc2e922da45b03ce02d9a7966b15006dba2d5",
"2e4e7ef728fe11af", "406a5c2bd3e6a9595f9b7dff608d59a7", false},
{91, "short message",
"f942093842808ba47f64e427f7351dde6b9546e66de4e7d60aa6f328182712cf",
"852a21d92848e627c7", "0b1bf9e98d0a794fa55c09b63e25799f", false},
{92, "short message",
"64be162b39c6e5f1fed9c32d9f674d9a8cde6eaa2443214d86bd4a1fb53b81b4",
"195a3b292f93baff0a2c", "71f33f6021d90858cadb1353d7fbe8d7", false},
{93, "short message",
"b259a555d44b8a20c5489e2f38392ddaa6be9e35b9833b67e1b5fdf6cb3e4c6c",
"afd73117330c6e8528a6e4", "4b8d76372ebe5e5caa56ca4e5c59cdd3", false},
{94, "short message",
"2c6fc62daa77ba8c6881b3dd6989898fef646663cc7b0a3db8228a707b85f2dc",
"0ff54d6b6759120c2e8a51e3", "c580c542846a96e84ea77701778455bf", false},
{95, "short message",
"abab815d51df29f740e4e2079fb798e0152836e6ab57d1536ae8929e52c06eb8",
"f0058d412a104e53d820b95a7f", "13cdb005059338f0f28e2d8ce1af5d0a", false},
{96, "short message",
"3d5da1af83f7287458bff7a7651ea5d8db72259401333f6b82096996dd7eaf19",
"aacc36972f183057919ff57b49e1", "bd993e4428cbc0e275e4d80b6f520363", false},
{97, "short message",
"c19bdf314c6cf64381425467f42aefa17c1cc9358be16ce31b1d214859ce86aa",
"5d066a92c300e9b6ddd63a7c13ae33", "86c9f4dde0b257a7053a7b03c7504409",
false},
{98, "", "612e837843ceae7f61d49625faa7e7494f9253e20cb3adcea686512b043936cd",
"cc37fae15f745a2f40e2c8b192f2b38d", "b96bcacafac30094f18ac5039e7b3656",
false},
{99, "", "73216fafd0022d0d6ee27198b2272578fa8f04dd9f44467fbb6437aa45641bf7",
"d5247b8f6c3edcbfb1d591d13ece23d2f5", "6e597c4c3861a380c06854b446fc2a87",
false},
{100, "",
"0427a70e257528f3ab70640bba1a5de12cf3885dd4c8e284fbbb55feb35294a5",
"13937f8544f44270d01175a011f7670e93fa6ba7ef02336e",
"f731aaf2f04023d621f10495344679a0", false},
{101, "",
"96e1e4896fb2cd05f133a6a100bc5609a7ac3ca6d81721e922dadd69ad07a892",
"91a17e4dfcc3166a1add26ff0e7c12056e8a654f28a6de24f4ba739ceb5b5b18",
"95243eb1a9d448174ae4fccf4a53ebfe", false},
{102, "long message",
"41201567be4e6ea06de2295fd0e6e8a7d862bb57311894f525d8adeabba4a3e4",
"58c8c73bdd3f350c97477816eae4d0789c9369c0e99c248902c700bc29ed986425985eb3f"
"a55709b73bf620cd9b1cb",
"343367207f71425d8f81f3110b0405f6", false},
{103, "long message",
"649e373e681ef52e3c10ac265484750932a9918f28fb824f7cb50adab39781fe",
"39b447bd3a01983c1cb761b456d69000948ceb870562a536126a0d18a8e7e49b16de8fe67"
"2f13d0808d8b7d957899917",
"151618eec4f503f3b63b539de0a58966", false},
{104, "long message",
"7b0d237f7b536e2c6950990e61b361b384333dda690045c591321a4e3f79747f",
"3d6283d11c0219b525620e9bf5b9fd887d3f0f707acb1fbdffab0d97a5c6d07fc547762e0"
"e7dd7c43ad35fab1c790f8047",
"ce201c0dcfdc3f2bef360609a31fb19e", false},
{105, "long message",
"17c92663741f012e5bb6714e614c2d155948617f10936269d954c58aba2ae62d",
"7fdd6a15c861d0313f6635d77dc55e115ff18c8ab063b5d03eab472eeca87a378188f2581"
"3515cf90b6cffa94a8ff36b29d65603eab3fbd2aa9500b261e184049893dc6ca2010becac"
"163053f211070bdda621b8bd8af77e450268603b52db34c90be836dfebddef42303f724e6"
"3bf0f",
"76e8dfd94db4af9d79d9718eec46cb2d", false},
{106, "long message",
"424c6b22606fcc094ae82fc5d3cbe484174c2211b3ec778091cac34a8e38a152",
"d96ff062e2490e8e0c54c5a8b89e85b25a66d93d7c2b93bdfef846b70d38672746a4b988d"
"08f15a5c527ca4f2c80e53f7c6ac0521bc57ebe38209180cbf934e0bbeb58cfb63d75da64"
"af41d09ce174af1896f42522910fced35ea000402e95fd3ac7aa6d5e0a6b533b0879bc466"
"019b3a5e6b16e4bd1ea6cdfc9ccc1d6f0f0",
"eda709c7009714c372d0d6a63dfde469", false},
{107, "long message",
"15d553c8da433d53cdc7f15087a70349caab57b379a4078928ce9b99302e31a6",
"d6c0c53b73f74fb426adfdc143d70db7f7a8f8ed32a2faef263cf9ab117537b6b9d1728bd"
"1000c1f28906c6ce6ad21862bfa4d689c1a8ebe3868b992098b7f981b2af5189a6adedff5"
"3a6c70c83693f5c8d6385a9a8a4dca017c5716ac4d5b9765c5ca2ab5f9867e02795198c0b"
"9527e07d08af52dbcb91ceb3d8b412a2b2402",
"8ca1402bf8fc23442ac2067be925b828", false},
{108, "long message",
"ffe559468a1031dfb3ced2e381e74b5821a36d9abf5f2e59895a7fdca0fa56a0",
"238899a84a3cf15202a1fbef4741e133fb24c009a0cd83854c6d1d7c9266d4c3eafe6d1df"
"c18f13845ccdad7fe277627b5fd5ff2555ce6dfde1ee078540a0a3590c6d9bf2fb63ba9af"
"be9380e797be7cd017645c5a3613eef38ef89e3b7461e6e700ff2b4deef5636c9d2198b14"
"3f797ca1820a3dcc5d462ebf4a8c4c09eb202a23592eb9524082c79adda8fcd56d256041a"
"26bf8f523962ba911ce5a5786570d65be3c4df722ed8830302065febdf944715298a1fbb7"
"d10b68d7da2bf889324314ce51e815c7fbf03aa0a8358aff3a86eb7a33f9a4923660db304"
"7e793bebb0c6918f4395d400381723fdae2832c36efc8e368a68f30f6351c3bc942cd560",
"a830b313f4936dea56a3aefd6a3ebe7d", false},
{109, "Flipped bit 0 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d28b42096d80f45f826b44a9d5607de7", true},
{110, "Flipped bit 0 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "d9b99f2709a3ca74172cbe93824c1f29",
true},
{111, "Flipped bit 1 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d18b42096d80f45f826b44a9d5607de7", true},
{112, "Flipped bit 1 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "dab99f2709a3ca74172cbe93824c1f29",
true},
{113, "Flipped bit 7 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"538b42096d80f45f826b44a9d5607de7", true},
{114, "Flipped bit 7 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "58b99f2709a3ca74172cbe93824c1f29",
true},
{115, "Flipped bit 8 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38a42096d80f45f826b44a9d5607de7", true},
{116, "Flipped bit 8 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "d8b89f2709a3ca74172cbe93824c1f29",
true},
{117, "Flipped bit 31 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42896d80f45f826b44a9d5607de7", true},
{118, "Flipped bit 31 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "d8b99fa709a3ca74172cbe93824c1f29",
true},
{119, "Flipped bit 32 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096c80f45f826b44a9d5607de7", true},
{120, "Flipped bit 32 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "d8b99f2708a3ca74172cbe93824c1f29",
true},
{121, "Flipped bit 33 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096f80f45f826b44a9d5607de7", true},
{122, "Flipped bit 33 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "d8b99f270ba3ca74172cbe93824c1f29",
true},
{123, "Flipped bit 63 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f4df826b44a9d5607de7", true},
{124, "Flipped bit 63 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "d8b99f2709a3caf4172cbe93824c1f29",
true},
{125, "Flipped bit 64 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f45f836b44a9d5607de7", true},
{126, "Flipped bit 64 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "d8b99f2709a3ca74162cbe93824c1f29",
true},
{127, "Flipped bit 71 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f45f026b44a9d5607de7", true},
{128, "Flipped bit 71 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "d8b99f2709a3ca74972cbe93824c1f29",
true},
{129, "Flipped bit 77 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f45f824b44a9d5607de7", true},
{130, "Flipped bit 77 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "d8b99f2709a3ca74170cbe93824c1f29",
true},
{131, "Flipped bit 80 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f45f826b45a9d5607de7", true},
{132, "Flipped bit 80 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "d8b99f2709a3ca74172cbf93824c1f29",
true},
{133, "Flipped bit 96 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f45f826b44a9d4607de7", true},
{134, "Flipped bit 96 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "d8b99f2709a3ca74172cbe93834c1f29",
true},
{135, "Flipped bit 97 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f45f826b44a9d7607de7", true},
{136, "Flipped bit 97 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "d8b99f2709a3ca74172cbe93804c1f29",
true},
{137, "Flipped bit 103 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f45f826b44a955607de7", true},
{138, "Flipped bit 103 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "d8b99f2709a3ca74172cbe93024c1f29",
true},
{139, "Flipped bit 120 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f45f826b44a9d5607de6", true},
{140, "Flipped bit 120 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "d8b99f2709a3ca74172cbe93824c1f28",
true},
{141, "Flipped bit 121 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f45f826b44a9d5607de5", true},
{142, "Flipped bit 121 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "d8b99f2709a3ca74172cbe93824c1f2b",
true},
{143, "Flipped bit 126 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f45f826b44a9d5607da7", true},
{144, "Flipped bit 126 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "d8b99f2709a3ca74172cbe93824c1f69",
true},
{145, "Flipped bit 127 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f45f826b44a9d5607d67", true},
{146, "Flipped bit 127 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "d8b99f2709a3ca74172cbe93824c1fa9",
true},
{147, "Flipped bits 0 and 64 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d28b42096d80f45f836b44a9d5607de7", true},
{148, "Flipped bits 0 and 64 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "d9b99f2709a3ca74162cbe93824c1f29",
true},
{149, "Flipped bits 31 and 63 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42896d80f4df826b44a9d5607de7", true},
{150, "Flipped bits 31 and 63 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "d8b99fa709a3caf4172cbe93824c1f29",
true},
{151, "Flipped bits 63 and 127 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d38b42096d80f4df826b44a9d5607d67", true},
{152, "Flipped bits 63 and 127 in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "d8b99f2709a3caf4172cbe93824c1fa9",
true},
{153, "all bits of tag flipped",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"2c74bdf6927f0ba07d94bb562a9f8218", true},
{154, "all bits of tag flipped",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "274660d8f65c358be8d3416c7db3e0d6",
true},
{155, "Tag changed to all zero",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"00000000000000000000000000000000", true},
{156, "Tag changed to all zero",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "00000000000000000000000000000000",
true},
{157, "tag changed to all 1",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"ffffffffffffffffffffffffffffffff", true},
{158, "tag changed to all 1",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "ffffffffffffffffffffffffffffffff",
true},
{159, "msbs changed in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"530bc289ed0074df02ebc42955e0fd67", true},
{160, "msbs changed in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "58391fa789234af497ac3e1302cc9fa9",
true},
{161, "lsbs changed in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "",
"d28a43086c81f55e836a45a8d4617ce6", true},
{162, "lsbs changed in tag",
"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"000102030405060708090a0b0c0d0e0f", "d9b89e2608a2cb75162dbf92834d1e28",
true},
{163, "short key", "a349ac0a9f9f74e48e099cc3dbf9a9c9", "",
"3a8437b877b75cc08a4d8d7559a8fc6869a58c713da63d1d4b350d59b597e30c", false},
{164, "short key", "ac686ba0f1a51b4ec4f0b30492b7f556",
"2fa43a14ae500507deb95ab5bd32b0fe",
"008532a53d0c0ab22027ae249023375374e2239b959609e8339b05a15742a675", false},
{165, "short key", "73ef9ef1a4225e51e3c1db3ace1fa24f",
"ffad380d9aabb0acede5c1bf112925cdfc3d379fc2376a4fe2644490d0430ac3",
"9c7cb9f7c207ec46d1e3c55764731c4ab5ddbae4e1401e52a895df0cff4787c9", false},
{166, "short key", "e34f15c7bd819930fe9d66e0c166e61c", "",
"1d765ab9e29892f7bfec2975ad4bc2dc", false},
{167, "short key", "e09eaa5a3f5e56d279d5e7a03373f6ea",
"ef4eab37181f98423e53e947e7050fd0", "cfc19ec07902ec8be489606d8f40d172",
false},
{168, "short key", "9bd3902ed0996c869b572272e76f3889",
"a7ba19d49ee1ea02f098aa8e30c740d893a4456ccc294040484ed8a00a55f93e",
"ac50adad9785a89c7282d8ab881dc615", false},
{169, "long key",
"8a0c46eb8a2959e39865330079763341e7439dab149694ee57e0d61ec73d947e1d5301cd9"
"74e18a5e0d1cf0d2c37e8aadd9fd589d57ef32e47024a99bc3f70c077",
"", "f5bfb940561fb4db73ebba49bf2e4893bb0cca618a71b7ecf6aca38231e167ea",
false},
{170, "long key",
"2877ebb81f80334fd00516337446c5cf5ad4a3a2e197269e5b0ad1889dfe2b4b0aaa676fa"
"c55b36ce3affc7f1092ab89c53273a837bd5bc94d1a9d9e5b02e9856f",
"ba448db88f154f775028fdecf9e6752d",
"1690ed4180642899e0deb9ec2270374e8b0a484217f5a682c524316eca219b64", false},
{171, "long key",
"21178e26bc28ffc27c06f762ba190a627075856d7ca6feab79ac63149b17126e34fd9e559"
"0e0e90aac801df09505d8af2dd0a2703b352c573ac9d2cb063927f2af",
"7d5f1d6b993452b1b53a4375760d10a20d46a0ab9ec3943fc4b07a2ce735e731",
"e542ac8ac8f364bae4b7da8b7a0777df350f001de4e8cfa2d9ef0b15019496ec", false},
{172, "long key",
"813e0c078c221375e80590ace6774eafd2d2c242350988d02efa550e05aecbe100c1b8bf1"
"54c932cf9e57177015c816c42bc7fbc71ceaa5328c7316b7f0f30330f",
"", "bb6ab66f51e53fa086c9c61a26ca27e0", false},
{173, "long key",
"5713343096b0aaf0562a6b92c1a15535924160475a4e4233589159728c562e3b2ad96f740"
"c6a4da2bc3f768ce98c9bd66bac28d1646ff592028c940d455f35eeb4",
"71712de2fac1fb855673bff72af64257", "c18165b8b97db1ca5e2486a32b39731e",
false},
{174, "long key",
"7208afbecf5f1f34828f98b719414e280716de64f5edd1ae1c774153cd2022337bb20fade"
"1b7856f1dbfd40e2b4307f1293ceff1692ee90d8c90b5fdf953ab01a5",
"43b53302b604d613e62db002044a4782d572ac8fbd3cd0ece91b43bc52e18e98",
"2fecfe45d79339c57dddba68ab34f5f1", false}};
#endif // hmac_sha256_vectors_h__

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,98 @@
/* vim: set ts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
/* This file is generated from sources in nss/gtests/common/wycheproof
* automatically and should not be touched manually.
* Generation is trigged by calling python3 genTestVectors.py */
#ifndef ike_aesxcbc_vectors_h__
#define ike_aesxcbc_vectors_h__
#include "testvectors_base/test-structs.h"
const IkeTestVector kIkeAesXcbcProofVectors[] = {
// these vectors are self generated.
{1, IkeTestType::ikeGxy,
"8ba4cbc73c0187301dc19a975823854dbd641c597f637f8d053a83b9514673eb", "", "",
"ef41a18b8c1ece71d74fedb292fd0f00", "69a62284195f1680", "80c94ba25c8abda5",
"", 0, 0, true},
{2, IkeTestType::ikeV1, "ef41a18b8c1ece71d74fedb292fd0f00",
"8ba4cbc73c0187301dc19a975823854dbd641c597f637f8d053a83b9514673eb", "",
"13525f37f9db53a65d1945b9af2c94f4", "8c3bcd3a69831d7f", "d2d9a7ff4fbe95a7",
"", 0, 0, true},
{3, IkeTestType::ikeV1, "ef41a18b8c1ece71d74fedb292fd0f00",
"8ba4cbc73c0187301dc19a975823854dbd641c597f637f8d053a83b9514673eb",
"13525f37f9db53a65d1945b9af2c94f4", "39d0712a1a96d1afaddbc35de86bc404",
"8c3bcd3a69831d7f", "d2d9a7ff4fbe95a7", "", 1, 0, true},
{4, IkeTestType::ikeV1, "ef41a18b8c1ece71d74fedb292fd0f00",
"8ba4cbc73c0187301dc19a975823854dbd641c597f637f8d053a83b9514673eb",
"39d0712a1a96d1afaddbc35de86bc404", "691cc90e93feb1cc06c8d376d3188293",
"8c3bcd3a69831d7f", "d2d9a7ff4fbe95a7", "", 2, 0, true},
{5, IkeTestType::ikeV1Psk, "c0", "", "", "8963b0c6057c347c4ddec448f1779e2a",
"03a6f25a83c8c2a3", "9d958a6618f77e7f", "", 0, 0, true},
{6, IkeTestType::ikeGxy,
"4b2c1f971981a8ad8d0abeafabf38cf75fc8349c148142465ed9c8b516b8be52", "", "",
"08b95345c9557240ddc98d6e1dfda875", "32b50d5f4a3763f3", "9206a04b26564cb1",
"", 0, 0, true},
{7, IkeTestType::ikeV2Rekey, "efa38ecee9fd05062f64b655105436d54",
"863f3c9d06efd39d2b907b97f8699e5dd5251ef64a2a176f36ee40c87d4f9330", "",
"a881d193f5140415586a2839e1cacb91", "32b50d5f4a3763f3", "9206a04b26564cb1",
"", 0, 0, true},
{8, IkeTestType::ikePlus, "08b95345c9557240ddc98d6e1dfda875", "", "",
"efa38ecee9fd05062f64b655105436d54b4728da66f3bc5768636170ff5017ab082342a68"
"3e7144a58d549c53d4575a2897d14c7c687040e86384065456b8dcd8aaea88b85b5e4d8ab"
"2f61c015859337000550cda1750a15c1f90af0ddd296e0a7f291afe46295dd3108078bd8e"
"adf09bc614c205a7c283907c3e6a384ad3f5373887e83",
"", "",
// seed_data is Ni || Nr || SPIi || SPIr
// NOTE: there is no comma so the strings are concatenated together.
"32b50d5f4a3763f3" // Ni
"9206a04b26564cb1" // Nr
"34c9e7c188868785" // SPIi
"3ff77d760d2b2199", // SPIr
0, 132, true},
{9, IkeTestType::ikePlus, "08b95345c9557240ddc98d6e1dfda875", "", "",
"efa38ecee9fd05062f64b655105436d5", "", "",
// seed_data is Ni || Nr || SPIi || SPIr
// NOTE: there is no comma so the strings are concatenated together.
"32b50d5f4a3763f3" // Ni
"9206a04b26564cb1" // Nr
"34c9e7c188868785" // SPIi
"3ff77d760d2b2199", // SPIr
0, 16, true},
{10, IkeTestType::ikePlus, "08b95345c9557240ddc98d6e1dfda875", "", "",
"efa38ecee9fd05062f64b655105436", "", "",
// seed_data is Ni || Nr || SPIi || SPIr
// NOTE: there is no comma so the strings are concatenated together.
"32b50d5f4a3763f3" // Ni
"9206a04b26564cb1" // Nr
"34c9e7c188868785" // SPIi
"3ff77d760d2b2199", // SPIr
0, 15, true},
// these vectors are self-generated
{11, IkeTestType::ikeV1AppB, "08b95345c9557240ddc98d6e1dfda875", "", "",
"9203190ea765285c14ec496acdb73f99479ee08f3e3b5f277a516439888f74a2ddb5023f2"
"92c629e7194b3673632ff96bccd7de7ae68a90952fec65301c89d3a32981d5bb9d68b677e"
"96703f34ed6474deee2d8aa5c5cee8997ec223a24cd537042b74d1b5274eebe76520481a7"
"5a6d083b004819ea9359ffacef3ac6076cbbb0b80faab",
"", "", "", 0, 132, true},
{12, IkeTestType::ikeV1AppB, "08b95345c9557240ddc98d6e1dfda875", "", "",
"08b95345c9557240ddc98d6e1dfda875", "", "", "", 0, 16, true},
{13, IkeTestType::ikeV1AppB, "08b95345c9557240ddc98d6e1dfda875", "", "",
"08b95345c9557240ddc98d6e1dfda8", "", "", "", 0, 15, true},
{14, IkeTestType::ikeV1AppBQuick, "08b95345c9557240ddc98d6e1dfda875", "",
"",
"9203190ea765285c14ec496acdb73f99a2358c44449799788d589fc426405bd0d9bc42758"
"04e2946d3cfd6072db257e2da4b9fecca10f23b271f793e7f66d19db446245e6cdd9446a8"
"e2ca27439c6692ce3f15cbcafc40c5879adb98310a4f8a5de14fe502d2c4e2b35f7054974"
"9a95f9510ac2d02a470973ca91931f1a82bf944935f76",
"", "", "0", 0, 132, true},
{12, IkeTestType::ikeV1AppBQuick, "08b95345c9557240ddc98d6e1dfda875", "",
"", "9203190ea765285c14ec496acdb73f99", "", "", "0", 0, 16, true},
{16, IkeTestType::ikeV1AppBQuick, "08b95345c9557240ddc98d6e1dfda875", "",
"", "9203190ea765285c14ec496acdb73f", "", "", "0", 0, 15, true},
};
#endif // ike_aesxcbc_vectors_h__

View file

@ -0,0 +1,113 @@
/* vim: set ts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
/* This file is generated from sources in nss/gtests/common/wycheproof
* automatically and should not be touched manually.
* Generation is trigged by calling python3 genTestVectors.py */
#ifndef ike_sha1_vectors_h__
#define ike_sha1_vectors_h__
#include "testvectors_base/test-structs.h"
const IkeTestVector kIkeSha1ProofVectors[] = {
// these vectors are from this NIST samples
{1, IkeTestType::ikeGxy,
"8ba4cbc73c0187301dc19a975823854dbd641c597f637f8d053a83b9514673eb", "", "",
"707197817fb2d90cf54d1842606bdea59b9f4823", "69a62284195f1680",
"80c94ba25c8abda5", "", 0, 0, true},
{2, IkeTestType::ikeV1, "707197817fb2d90cf54d1842606bdea59b9f4823",
"8ba4cbc73c0187301dc19a975823854dbd641c597f637f8d053a83b9514673eb", "",
"384be709a8a5e63c3ed160cfe3921c4b37d5b32d", "8c3bcd3a69831d7f",
"d2d9a7ff4fbe95a7", "", 0, 0, true},
{3, IkeTestType::ikeV1, "707197817fb2d90cf54d1842606bdea59b9f4823",
"8ba4cbc73c0187301dc19a975823854dbd641c597f637f8d053a83b9514673eb",
"384be709a8a5e63c3ed160cfe3921c4b37d5b32d",
"48b327575abe3adba0f279849e289022a13e2b47", "8c3bcd3a69831d7f",
"d2d9a7ff4fbe95a7", "", 1, 0, true},
{4, IkeTestType::ikeV1, "707197817fb2d90cf54d1842606bdea59b9f4823",
"8ba4cbc73c0187301dc19a975823854dbd641c597f637f8d053a83b9514673eb",
"48b327575abe3adba0f279849e289022a13e2b47",
"a4a415c8e0c38c0da847c356cc61c24df8025560", "8c3bcd3a69831d7f",
"d2d9a7ff4fbe95a7", "", 2, 0, true},
{5, IkeTestType::ikeV1Psk, "c0", "", "",
"ab3be41bc62f2ef0c41a3076d58768be77fadd2e", "03a6f25a83c8c2a3",
"9d958a6618f77e7f", "", 0, 0, true},
{6, IkeTestType::ikeGxy,
"4b2c1f971981a8ad8d0abeafabf38cf75fc8349c148142465ed9c8b516b8be52", "", "",
"a9a7b222b59f8f48645f28a1db5b5f5d7479cba7", "32b50d5f4a3763f3",
"9206a04b26564cb1", "", 0, 0, true},
{7, IkeTestType::ikeV2Rekey, "a14293677cc80ff8f9cc0eee30d895da9d8f4056",
"863f3c9d06efd39d2b907b97f8699e5dd5251ef64a2a176f36ee40c87d4f9330", "",
"63e81194946ebd05df7df5ebf5d8750056bf1f1d", "32b50d5f4a3763f3",
"9206a04b26564cb1", "", 0, 0, true},
{8, IkeTestType::ikePlus, "a9a7b222b59f8f48645f28a1db5b5f5d7479cba7", "",
"",
"a14293677cc80ff8f9cc0eee30d895da9d8f405666e30ef0dfcb63c634a46002a2a63080e"
"514a062768b76606f9fa5e992204fc5a670bde3f10d6b027113936a5c55b648a194ae587b"
"0088d52204b702c979fa280870d2ed41efa9c549fd11198af1670b143d384bd275c5f594c"
"f266b05ebadca855e4249520a441a81157435a7a56cc4",
"", "",
// seed_data is Ni || Nr || SPIi || SPIr
// NOTE: there is no comma so the strings are concatenated together.
"32b50d5f4a3763f3" // Ni
"9206a04b26564cb1" // Nr
"34c9e7c188868785" // SPIi
"3ff77d760d2b2199", // SPIr
0, 132, true},
{9, IkeTestType::ikePlus, "a9a7b222b59f8f48645f28a1db5b5f5d7479cba7", "",
"",
"a14293677cc80ff8f9cc0eee30d895da9d8f405666e30ef0dfcb63c634a46002a2a63080e"
"514a062",
"", "",
// seed_data is Ni || Nr || SPIi || SPIr
// NOTE: there is no comma so the strings are concatenated together.
"32b50d5f4a3763f3" // Ni
"9206a04b26564cb1" // Nr
"34c9e7c188868785" // SPIi
"3ff77d760d2b2199", // SPIr
0, 40, true},
{10, IkeTestType::ikePlus, "a9a7b222b59f8f48645f28a1db5b5f5d7479cba7", "",
"", "a14293677cc80ff8f9cc0eee30d895", "", "",
// seed_data is Ni || Nr || SPIi || SPIr
// NOTE: there is no comma so the strings are concatenated together.
"32b50d5f4a3763f3" // Ni
"9206a04b26564cb1" // Nr
"34c9e7c188868785" // SPIi
"3ff77d760d2b2199", // SPIr
0, 15, true},
// these vectors are self-generated
{11, IkeTestType::ikeV1AppB, "63e81194946ebd05df7df5ebf5d8750056bf1f1d", "",
"",
"933347a07de5782247dd36d1562ffe0eecade1eb4134165257e3af1000af8ae3f16506382"
"8cbb60d910b7db38fa3c7f62c4afaaf3203da065c841729853edb23e9e7ac8286ae65c8cb"
"6c667d79268c0bd6705abb9131698eb822b1c1f9dd142fc7be2c1010ee0152e10195add98"
"999c6b6d42c8fe9c1b134d56ad5f2c6f20e815bd25c52",
"", "", "", 0, 132, true},
{12, IkeTestType::ikeV1AppB, "63e81194946ebd05df7df5ebf5d8750056bf1f1d", "",
"",
"933347a07de5782247dd36d1562ffe0eecade1eb4134165257e3af1000af8ae3f16506382"
"8cbb60d",
"", "", "", 0, 40, true},
{13, IkeTestType::ikeV1AppB, "63e81194946ebd05df7df5ebf5d8750056bf1f1d", "",
"", "63e81194946ebd05df7df5ebf5d875", "", "", "", 0, 15, true},
{14, IkeTestType::ikeV1AppBQuick,
"63e81194946ebd05df7df5ebf5d8750056bf1f1d", "", "",
"933347a07de5782247dd36d1562ffe0eecade1ebaeaa476a5f578c34a9b2b7101a621202f"
"61db924c5ef9efa3bb2698095841603b7ac8a880329a927ecd4ad53a944b607a5ac2f3d15"
"4e2748c188d7370d76be83fc204fdacf0f66b99dd760ba619ffac65eda1420c8a936dac5a"
"599afaf4043b29ef2b65dc042724355b550875316c6fd",
"", "", "0", 0, 132, true},
{15, IkeTestType::ikeV1AppBQuick,
"63e81194946ebd05df7df5ebf5d8750056bf1f1d", "", "",
"933347a07de5782247dd36d1562ffe0eecade1ebaeaa476a5f578c34a9b2b7101a621202f"
"61db924",
"", "", "0", 0, 40, true},
{16, IkeTestType::ikeV1AppBQuick,
"63e81194946ebd05df7df5ebf5d8750056bf1f1d", "", "",
"933347a07de5782247dd36d1562ffe", "", "", "0", 0, 15, true},
};
#endif // ike_sha1_vectors_h__

View file

@ -0,0 +1,131 @@
/* vim: set ts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
/* This file is generated from sources in nss/gtests/common/wycheproof
* automatically and should not be touched manually.
* Generation is trigged by calling python3 genTestVectors.py */
#ifndef ike_sha256_vectors_h__
#define ike_sha256_vectors_h__
#include "testvectors_base/test-structs.h"
const IkeTestVector kIkeSha256ProofVectors[] = {
// these vectors are from this NIST samples
{1, IkeTestType::ikeGxy,
"a1ff3dc6cf9b4c04709943cb4ca1f1789bcf360b03f1d027de3ae8ee039e9155", "", "",
"750c5c94b9c2ec20b68033e024dadf0fa87e8b48c6561b21c72478451a06583d",
"b1dee62505b47b223bae14ce7a5b757402ad1587511618d09f94950d47f1d8d4ce86aca12"
"d78db9854d86019ad735757ae79d8932ac0c7db842c85060150ca875ea5d47e3cfcb2a059"
"22ebb7959d49b9797a2289676ee79a1d9a18b790f87e4771ddaf4be3376057a553162f68f"
"e429aca73b07234543801ba2122b1bde82251770d05df813cf556a11ca4dc43ffcb85a97d"
"bed16e2fda6985e07e31be6364899e63c507c7c616e5eb7765a53560f76772de43918ba07"
"badfe85244dcdcd917cb065afb60e3b7e68b54dd94bfc7c31c8b752892781ed3cc4b7f28f"
"bc0ab9af908f5ae1f09f893f80100a7b3135993161b51fbba3bbb24b9f88c6147de82cd6f"
"0",
"f0acfef2ad1f7add0eaafda78c1cf1097d9fc91cb04a7c145069ac426fd164cbe661b1dd2"
"df0fb84e19512181f0d8ea50b7860845f332757a8e56d2a3b7be436b5718a2d49baa996a4"
"616684a208c2d611cd65e605dca6e3d3f116859b4410fe13679696bb2e23c08a40c7e1316"
"d54b4c9c0286701c221151b3642cb4112ca1a53e0e597a7e29c634caed86ca3c31973d37b"
"4c346134fd6784cd99913feedf3d29d89a0a02a5a750f02f5738109dcc670bb27701fb59f"
"78e83b76860c3fec079a1fc8c937ddb58ae7500422b7e49ce63759c65b6bc439381d56bcc"
"159edede894b073841036ebfa050a5b3e7c876a3f18def26b1768a263ac66c9d83b680eb5"
"e",
"", 0, 0, true},
{2, IkeTestType::ikeV1,
"750c5c94b9c2ec20b68033e024dadf0fa87e8b48c6561b21c72478451a06583d",
"a1ff3dc6cf9b4c04709943cb4ca1f1789bcf360b03f1d027de3ae8ee039e9155", "",
"a4f7ca7de913814813e3312099e7c943bd293483f387532330237f1b20957310",
"6c6beb72631ddc3d", "b84e24b22cffbd14", "", 0, 0, true},
{3, IkeTestType::ikeV1,
"750c5c94b9c2ec20b68033e024dadf0fa87e8b48c6561b21c72478451a06583d",
"a1ff3dc6cf9b4c04709943cb4ca1f1789bcf360b03f1d027de3ae8ee039e9155",
"a4f7ca7de913814813e3312099e7c943bd293483f387532330237f1b20957310",
"1d4b705746c43b0a6fcbb8db33983c0f24ff6f8b6543e3779fed227c6067f004",
"6c6beb72631ddc3d", "b84e24b22cffbd14", "", 1, 0, true},
{4, IkeTestType::ikeV1,
"750c5c94b9c2ec20b68033e024dadf0fa87e8b48c6561b21c72478451a06583d",
"a1ff3dc6cf9b4c04709943cb4ca1f1789bcf360b03f1d027de3ae8ee039e9155",
"1d4b705746c43b0a6fcbb8db33983c0f24ff6f8b6543e3779fed227c6067f004",
"03e6f16cd9ce9f64b5cdc5b34cca7163483ba5389a30afebef3d14640b0a815e",
"6c6beb72631ddc3d", "b84e24b22cffbd14", "", 2, 0, true},
{5, IkeTestType::ikeV1Psk, "a0", "", "",
"558a99b299773d267cf7c8ef073bf3b7af362c206c75a538403c5ef884d4cace",
"ead9ced494868f41", "f1aff4f425a94f18", "", 0, 0, true},
{6, IkeTestType::ikeGxy,
"0f4d257d7a58fc4545c7d7a88119eee5d5c9690c5b4c989171d3abbfd99d1d29", "", "",
"5f00d1bd2c58ec224b1e6b71fa0f19a1faa7a193952c444411b47c1a9d8ba6fe",
"3f302be1abcb28e1", "8c332ee006064c9b", "", 0, 0, true},
{7, IkeTestType::ikeV2Rekey,
"0b137d669b0947d7d026d593f0305ad401ff0c471357d695778a9c7f4b4869ec",
"25f3b12d6f282739256e39bf54eda53b60ffcf379bb7bcc90c27b4c4c578616c", "",
"2d63f6debc92048b4fef3889c4c99ca67d6496e0fac14a2bca9a2d6566ff2398",
"3f302be1abcb28e1", "8c332ee006064c9b", "", 0, 0, true},
{8, IkeTestType::ikePlus,
"5f00d1bd2c58ec224b1e6b71fa0f19a1faa7a193952c444411b47c1a9d8ba6fe", "", "",
"0b137d669b0947d7d026d593f0305ad401ff0c471357d695778a9c7f4b4869ece98aca531"
"188d16041b3bb936d2dbb3b4993a6e768a809160de45d0283f273a6cdf6854379e31be72b"
"8d3d1fa990cf9c5b015ca9f918a7df6253c958114a09d4e1c19bdcd4db14b29d98db1a74a"
"d405c588662c14a04d0d36aa4ab55e90f8986d12d4aad",
"", "",
// seed_data is Ni || Nr || SPIi || SPIr
// NOTE: there is no comma so the strings are concatenated together.
"3f302be1abcb28e1" // Ni
"8c332ee006064c9b" // Nr
"40dac39e1e1a8640" // SPIi
"8619a1cf9a6e4c07", // SPIr
0, 132, true},
{9, IkeTestType::ikePlus,
"5f00d1bd2c58ec224b1e6b71fa0f19a1faa7a193952c444411b47c1a9d8ba6fe", "", "",
"0b137d669b0947d7d026d593f0305ad401ff0c471357d695778a9c7f4b4869ec", "", "",
// seed_data is Ni || Nr || SPIi || SPIr
// NOTE: there is no comma so the strings are concatenated together.
"3f302be1abcb28e1" // Ni
"8c332ee006064c9b" // Nr
"40dac39e1e1a8640" // SPIi
"8619a1cf9a6e4c07", // SPIr
0, 32, true},
{10, IkeTestType::ikePlus,
"5f00d1bd2c58ec224b1e6b71fa0f19a1faa7a193952c444411b47c1a9d8ba6fe", "", "",
"0b137d669b0947d7d026d593f0305a", "", "",
// seed_data is Ni || Nr || SPIi || SPIr
// NOTE: there is no comma so the strings are concatenated together.
"3f302be1abcb28e1" // Ni
"8c332ee006064c9b" // Nr
"40dac39e1e1a8640" // SPIi
"8619a1cf9a6e4c07", // SPIr
0, 15, true},
// these vectors are self-generated
{11, IkeTestType::ikeV1AppB,
"5f00d1bd2c58ec224b1e6b71fa0f19a1faa7a193952c444411b47c1a9d8ba6fe", "", "",
"b10fff32cbeaa1e7afe6ab0b191e0bd63cd524849a4b56019146d232a24cf9af6b89494d2"
"a360b06825db8bb0324c15cecf47fc0bc99e39bf1171a7f4bf1733dc49ef64c642e73b054"
"b2e82456e34fa3c822da475e27e403b3da3929da50e6aa9e7f9252c68fa069b4b0edd374e"
"80d35378c4f5e8ec285a1b169c92bbb5353d05ba94165",
"", "", "", 0, 132, true},
{12, IkeTestType::ikeV1AppB,
"5f00d1bd2c58ec224b1e6b71fa0f19a1faa7a193952c444411b47c1a9d8ba6fe", "", "",
"5f00d1bd2c58ec224b1e6b71fa0f19a1faa7a193952c444411b47c1a9d8ba6fe", "", "",
"", 0, 32, true},
{13, IkeTestType::ikeV1AppB,
"5f00d1bd2c58ec224b1e6b71fa0f19a1faa7a193952c444411b47c1a9d8ba6fe", "", "",
"5f00d1bd2c58ec224b1e6b71fa0f19", "", "", "", 0, 15, true},
{14, IkeTestType::ikeV1AppBQuick,
"5f00d1bd2c58ec224b1e6b71fa0f19a1faa7a193952c444411b47c1a9d8ba6fe", "", "",
"b10fff32cbeaa1e7afe6ab0b191e0bd63cd524849a4b56019146d232a24cf9af59f18ed9a"
"abbb2dbbafecf48d72a34a8f72fab2ff4f37e5c917288a78ce00933612e9531a7469995c7"
"f7cc33c7627cac3efbc819330c4fe3bfa3788799630f37bcb74800d82bbebd17b1906e304"
"a786f4f810c266c15be1a30576039c293272748d65966",
"", "", "0", 0, 132, true},
{15, IkeTestType::ikeV1AppBQuick,
"5f00d1bd2c58ec224b1e6b71fa0f19a1faa7a193952c444411b47c1a9d8ba6fe", "", "",
"b10fff32cbeaa1e7afe6ab0b191e0bd63cd524849a4b56019146d232a24cf9af", "", "",
"0", 0, 32, true},
{16, IkeTestType::ikeV1AppBQuick,
"5f00d1bd2c58ec224b1e6b71fa0f19a1faa7a193952c444411b47c1a9d8ba6fe", "", "",
"b10fff32cbeaa1e7afe6ab0b191e0b", "", "", "0", 0, 15, true},
};
#endif // ike_sha256_vectors_h__

View file

@ -0,0 +1,147 @@
/* vim: set ts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
/* This file is generated from sources in nss/gtests/common/wycheproof
* automatically and should not be touched manually.
* Generation is trigged by calling python3 genTestVectors.py */
#ifndef ike_sha384_vectors_h__
#define ike_sha384_vectors_h__
#include "testvectors_base/test-structs.h"
const IkeTestVector kIkeSha384ProofVectors[] = {
// these vectors are from this NIST samples
{1, IkeTestType::ikeGxy,
"1724dbd893523764bfef8c6fa927856fccfb77ae254358cce29c2769a32915c1", "", "",
"6e4514610bf82d0ab7bf0260096f6146a153c712071abb633ced813c572156c783e36874a"
"65a64690ca701d40d56ea18",
"cec89d845add83ef", "cebd43ab71d17db9", "", 0, 0, true},
{2, IkeTestType::ikeV1,
"6e4514610bf82d0ab7bf0260096f6146a153c712071abb633ced813c572156c783e36874a"
"65a64690ca701d40d56ea18",
"1724dbd893523764bfef8c6fa927856fccfb77ae254358cce29c2769a32915c1", "",
"b083234e9ed7745911f93eb31faa66fcf88906266830eb17ef166d295cb1f86a3543b8b8e"
"fa5df918533df537e9c809c",
"1c8aba986a00af0f", "b049d9672f73c920", "", 0, 0, true},
{3, IkeTestType::ikeV1,
"6e4514610bf82d0ab7bf0260096f6146a153c712071abb633ced813c572156c783e36874a"
"65a64690ca701d40d56ea18",
"1724dbd893523764bfef8c6fa927856fccfb77ae254358cce29c2769a32915c1",
"b083234e9ed7745911f93eb31faa66fcf88906266830eb17ef166d295cb1f86a3543b8b8e"
"fa5df918533df537e9c809c",
"938295a374aceb4147a8024c9a007dd313403fd8fd7070dbd0cfbe1ccd308dbfbb7b9e9c6"
"4049e4df44ff551016cb7b5",
"1c8aba986a00af0f", "b049d9672f73c920", "", 1, 0, true},
{4, IkeTestType::ikeV1,
"6e4514610bf82d0ab7bf0260096f6146a153c712071abb633ced813c572156c783e36874a"
"65a64690ca701d40d56ea18",
"1724dbd893523764bfef8c6fa927856fccfb77ae254358cce29c2769a32915c1",
"938295a374aceb4147a8024c9a007dd313403fd8fd7070dbd0cfbe1ccd308dbfbb7b9e9c6"
"4049e4df44ff551016cb7b5",
"8595b249dc1fa8599729f87eb6b9dd13bfbfdfd4f9ebd78929bab6ecc402539ad32cb6e7e"
"f4ba6a0f53da14e4df07ed4",
"1c8aba986a00af0f", "b049d9672f73c920", "", 2, 0, true},
{5, IkeTestType::ikeV1Psk, "9e", "", "",
"b54fa27cb4251051e44a659d73591845691d11f1874bf4e4088e5df6462d28e57a3a2af3a"
"b4f9b746a8f5766f8785f2b",
"d6596b7e5b398534", "136fbdfa8d0ceb8e", "", 0, 0, true},
{6, IkeTestType::ikeGxy,
"d3288cd87565101e88fe3bad918f31939d8dd26ff1071f8b2d7f447524e58d7c", "", "",
"69fe7a1ac94adaeb711295f5fe004b1a8d6a0b65d05692758ce8ad2f7a45f59d7d0b596f5"
"1f7dfcf3330061888f6a94f",
"fd1b572a8e735591", "6013b0ef88dacd3d", "", 0, 0, true},
{7, IkeTestType::ikeV2Rekey,
"4f904c2025c90c817ea5ff9b662a6fdb445a73b57cdf09eacd379b95e1f03cacb04cd6dee"
"da4f952191dd9bc1f7a9502",
"3358f620539473aee8d07e779764c4c6a9aabddc79a28e136b3bac021dbde44a", "",
"e0548c1682e13bce454026b3b1bdf42985b24e4e7408095a7c529de38c3d1fcb04c9fe686"
"8042a34c9614c6c99e3fcea",
"fd1b572a8e735591", "6013b0ef88dacd3d", "", 0, 0, true},
{8, IkeTestType::ikePlus,
"69fe7a1ac94adaeb711295f5fe004b1a8d6a0b65d05692758ce8ad2f7a45f59d7d0b596f5"
"1f7dfcf3330061888f6a94f",
"", "",
"4f904c2025c90c817ea5ff9b662a6fdb445a73b57cdf09eacd379b95e1f03cacb04cd6dee"
"da4f952191dd9bc1f7a9502471a648d74dc06d38112de48a42501f6b1a3ad55c2099cd9a6"
"48e5f17e5bf3e34bf9b5953decb768a34f875fe2b78dca0c2fcca81ec1a412006dfaed38f"
"a06882e61f4c148105fb8e231fdb33c4d484c001721d4",
"", "",
// seed_data is Ni || Nr || SPIi || SPIr
// NOTE: there is no comma so the strings are concatenated together.
"fd1b572a8e735591" // Ni
"6013b0ef88dacd3d" // Nr
"2116ad07ce61f749" // SPIi
"24880e55f11a65b7", // SPIr
0, 132, true},
{9, IkeTestType::ikePlus,
"69fe7a1ac94adaeb711295f5fe004b1a8d6a0b65d05692758ce8ad2f7a45f59d7d0b596f5"
"1f7dfcf3330061888f6a94f",
"", "",
"4f904c2025c90c817ea5ff9b662a6fdb445a73b57cdf09eacd379b95e1f03cacb04cd6dee"
"da4f952191dd9bc1f7a9502",
"", "",
// seed_data is Ni || Nr || SPIi || SPIr
// NOTE: there is no comma so the strings are concatenated together.
"fd1b572a8e735591" // Ni
"6013b0ef88dacd3d" // Nr
"2116ad07ce61f749" // SPIi
"24880e55f11a65b7", // SPIr
0, 48, true},
{10, IkeTestType::ikePlus,
"69fe7a1ac94adaeb711295f5fe004b1a8d6a0b65d05692758ce8ad2f7a45f59d7d0b596f5"
"1f7dfcf3330061888f6a94f",
"", "", "4f904c2025c90c817ea5ff9b662a6f", "", "",
// seed_data is Ni || Nr || SPIi || SPIr
// NOTE: there is no comma so the strings are concatenated together.
"fd1b572a8e735591" // Ni
"6013b0ef88dacd3d" // Nr
"2116ad07ce61f749" // SPIi
"24880e55f11a65b7", // SPIr
0, 15, true},
// these vectors are self-generated
{11, IkeTestType::ikeV1AppB,
"69fe7a1ac94adaeb711295f5fe004b1a8d6a0b65d05692758ce8ad2f7a45f59d7d0b596f5"
"1f7dfcf3330061888f6a94f",
"", "",
"9b9a56a512cc2c5d5bcee66d03974f2701d4634b3241df132b1d2fd31fb23f003969dd787"
"3425f771aae298871672cbfc908596c4d18165331b9fdff350cff787e700a140e123f2066"
"d8d8527f53e701d23abdb3b0bc713109e33dc233c6989fa64b95720495c859505c5c7a748"
"7778aab59365dafe60c7264ccde55829f60143a4bb095",
"", "", "", 0, 132, true},
{12, IkeTestType::ikeV1AppB,
"69fe7a1ac94adaeb711295f5fe004b1a8d6a0b65d05692758ce8ad2f7a45f59d7d0b596f5"
"1f7dfcf3330061888f6a94f",
"", "",
"69fe7a1ac94adaeb711295f5fe004b1a8d6a0b65d05692758ce8ad2f7a45f59d7d0b596f5"
"1f7dfcf3330061888f6a94f",
"", "", "", 0, 48, true},
{13, IkeTestType::ikeV1AppB,
"69fe7a1ac94adaeb711295f5fe004b1a8d6a0b65d05692758ce8ad2f7a45f59d7d0b596f5"
"1f7dfcf3330061888f6a94f",
"", "", "69fe7a1ac94adaeb711295f5fe004b", "", "", "", 0, 15, true},
{14, IkeTestType::ikeV1AppBQuick,
"69fe7a1ac94adaeb711295f5fe004b1a8d6a0b65d05692758ce8ad2f7a45f59d7d0b596f5"
"1f7dfcf3330061888f6a94f",
"", "",
"9b9a56a512cc2c5d5bcee66d03974f2701d4634b3241df132b1d2fd31fb23f003969dd787"
"3425f771aae298871672cbf0e0b966f3e961d3d94c2205decc285afae5aad6abe9ca6f5fb"
"8420fb940bc7760c63c45bd577f561f3643fc98bff8e26663f40f225865e79cca504f527f"
"abcfc24bd1ba8e2dbd022120f0fd9fb2caa28b031607b",
"", "", "0", 0, 132, true},
{15, IkeTestType::ikeV1AppBQuick,
"69fe7a1ac94adaeb711295f5fe004b1a8d6a0b65d05692758ce8ad2f7a45f59d7d0b596f5"
"1f7dfcf3330061888f6a94f",
"", "",
"9b9a56a512cc2c5d5bcee66d03974f2701d4634b3241df132b1d2fd31fb23f003969dd787"
"3425f771aae298871672cbf",
"", "", "0", 0, 48, true},
{16, IkeTestType::ikeV1AppBQuick,
"69fe7a1ac94adaeb711295f5fe004b1a8d6a0b65d05692758ce8ad2f7a45f59d7d0b596f5"
"1f7dfcf3330061888f6a94f",
"", "", "9b9a56a512cc2c5d5bcee66d03974f", "", "", "0", 0, 15, true},
};
#endif // ike_sha384_vectors_h__

View file

@ -0,0 +1,145 @@
/* vim: set ts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
/* This file is generated by hand from a subset of NIST ike sample CAVs test */
#ifndef ike_sha512_vectors_h__
#define ike_sha512_vectors_h__
#include "testvectors_base/test-structs.h"
const IkeTestVector kIkeSha512ProofVectors[] = {
// these vectors are from this NIST samples
{1, IkeTestType::ikeGxy,
"b15a9cfce8c8d7eab879d6243029d40188d3b740875a6ac62f56cac4377e2edd", "", "",
"f05aa036dfce45a558d40418dea98096e519bc7841e3db3dd93658d118c3e83b502f398ec"
"b1361ec77d38a8855efff407f6f772e5d65b58eb1134096e8478d2b",
"acadc6314a69cfcd", "4e4ad17718fea7ce", "", 0, 0, true},
{2, IkeTestType::ikeV1,
"f05aa036dfce45a558d40418dea98096e519bc7841e3db3dd93658d118c3e83b502f398ec"
"b1361ec77d38a8855efff407f6f772e5d65b58eb1134096e8478d2b",
"b15a9cfce8c8d7eab879d6243029d40188d3b740875a6ac62f56cac4377e2edd", "",
"3c4be16a631aa49018fa6740745a61ab1f1a2455a96e91f159a134ccfe30303d687216961"
"95e95bfd530510ef2f9532491878710944db7854f00ad13c68fca01",
"1ff4d76565b3151a", "1f11b8eb20d57a16", "", 0, 0, true},
{3, IkeTestType::ikeV1,
"f05aa036dfce45a558d40418dea98096e519bc7841e3db3dd93658d118c3e83b502f398ec"
"b1361ec77d38a8855efff407f6f772e5d65b58eb1134096e8478d2b",
"b15a9cfce8c8d7eab879d6243029d40188d3b740875a6ac62f56cac4377e2edd",
"3c4be16a631aa49018fa6740745a61ab1f1a2455a96e91f159a134ccfe30303d687216961"
"95e95bfd530510ef2f9532491878710944db7854f00ad13c68fca01",
"15ecf5c80b675585e10c4388f6f9c37e8b63269a0a99851f08ba617e28c561f43eaf41122"
"23ff97525bf0b3897f514fce7a3acee10a61ae088c01efc5f643587",
"1ff4d76565b3151a", "1f11b8eb20d57a16", "", 1, 0, true},
{4, IkeTestType::ikeV1,
"f05aa036dfce45a558d40418dea98096e519bc7841e3db3dd93658d118c3e83b502f398ec"
"b1361ec77d38a8855efff407f6f772e5d65b58eb1134096e8478d2b",
"b15a9cfce8c8d7eab879d6243029d40188d3b740875a6ac62f56cac4377e2edd",
"15ecf5c80b675585e10c4388f6f9c37e8b63269a0a99851f08ba617e28c561f43eaf41122"
"23ff97525bf0b3897f514fce7a3acee10a61ae088c01efc5f643587",
"60f6b6c10c2b6bedc085ad6546d993c9ce1f86918d1c935c89d6631170a5dab0e37298f21"
"ca3b7901a53bde55a15fad39f782039ce26fc8c2ba8cbd9d4287669",
"1ff4d76565b3151a", "1f11b8eb20d57a16", "", 2, 0, true},
{5, IkeTestType::ikeV1Psk, "4c", "", "",
"5bcb5499ae4c1437ce6c195392bf26bf7980a59bcb787a0b58671771a3d4b06dc1eb78092"
"41b7e5931740b05bf8a9873bb493c5f067e28e4f58ab65c3dbe44cd",
"482a05eca86fba51", "84ee19d02272de2e", "", 0, 0, true},
{6, IkeTestType::ikeGxy,
"276255c3eaace5c6db32b609aa86c0ef07bba4bf2dc4c262995efd95ca607c3f", "", "",
"d6e74966b75fd2afab48be319d63d97c8a5d2ffe2e320763a462c664b36c3a944067d867c"
"3a55fd8a7e5cca64b22e24415987e15549f09a81b455adaa5303df8",
"97c41a9b0a03e74c", "a659fd06e1746600", "", 0, 0, true},
{7, IkeTestType::ikeV2Rekey,
"22259105314717dc73c210919ee9cb3ded774dc087e866aa3960404c0ed7b8e78e79b9938"
"88388e2e5cb238d4bfcb4cdee9da074a26e329d6c2f2f660cc9c711",
"bb4015f7727b35532021336a9e4a6370ac8729b01fbb8f15d52236820fac4709", "",
"ecdaf3ccb990abc898a453b03fd56f9975275f150e1e571b0560b3cb2ee67289e82b899cd"
"c2129fd821fe8aebea796f190765c25798f5883f923526551f16a4b",
"97c41a9b0a03e74c", "a659fd06e1746600", "", 0, 0, true},
{8, IkeTestType::ikePlus,
"d6e74966b75fd2afab48be319d63d97c8a5d2ffe2e320763a462c664b36c3a944067d867c"
"3a55fd8a7e5cca64b22e24415987e15549f09a81b455adaa5303df8",
"", "",
"22259105314717dc73c210919ee9cb3ded774dc087e866aa3960404c0ed7b8e78e79b9938"
"88388e2e5cb238d4bfcb4cdee9da074a26e329d6c2f2f660cc9c711c941a2fb3d85a2e5d0"
"1e579c8f2c9d00fa6fabe76a137b00c7ff1b291899906588c26f073d819063238c4c844f0"
"f8d221b65b76dbc9ed6f6368e5dba86b3e81b60eb44a1",
"", "",
// seed_data is Ni || Nr || SPIi || SPIr
// NOTE: there is no comma so the strings are concatenated together.
"97c41a9b0a03e74c" // Ni
"a659fd06e1746600" // Nr
"ff43c5c689b95481" // SPIi
"e2ba607f30079bb7", // SPIr
0, 132, true},
{9, IkeTestType::ikePlus,
"d6e74966b75fd2afab48be319d63d97c8a5d2ffe2e320763a462c664b36c3a944067d867c"
"3a55fd8a7e5cca64b22e24415987e15549f09a81b455adaa5303df8",
"", "",
"22259105314717dc73c210919ee9cb3ded774dc087e866aa3960404c0ed7b8e78e79b9938"
"88388e2e5cb238d4bfcb4cdee9da074a26e329d6c2f2f660cc9c711",
"", "",
// seed_data is Ni || Nr || SPIi || SPIr
// NOTE: there is no comma so the strings are concatenated together.
"97c41a9b0a03e74c" // Ni
"a659fd06e1746600" // Nr
"ff43c5c689b95481" // SPIi
"e2ba607f30079bb7", // SPIr
0, 64, true},
{10, IkeTestType::ikePlus,
"d6e74966b75fd2afab48be319d63d97c8a5d2ffe2e320763a462c664b36c3a944067d867c"
"3a55fd8a7e5cca64b22e24415987e15549f09a81b455adaa5303df8",
"", "", "22259105314717dc73c210919ee9cb", "", "",
// seed_data is Ni || Nr || SPIi || SPIr
// NOTE: there is no comma so the strings are concatenated together.
"97c41a9b0a03e74c" // Ni
"a659fd06e1746600" // Nr
"ff43c5c689b95481" // SPIi
"e2ba607f30079bb7", // SPIr
0, 15, true},
// These vectors are self-generated
{11, IkeTestType::ikeV1AppB,
"d6e74966b75fd2afab48be319d63d97c8a5d2ffe2e320763a462c664b36c3a944067d867c"
"3a55fd8a7e5cca64b22e24415987e15549f09a81b455adaa5303df8",
"", "",
"05e3de273d8a611667894a8aed01bb41984f18dc539028fa0f5252e6f05e15891faa75dfd"
"c1f76b745d34a4820b0068efa93c176f8cd00a7ed5745d6cffe78a76603cdcf2ebb482b12"
"c8fddbaf942827891b7c423b6a3675ec62e2dcf92e96eb743ae58cfd7bf188a142626ea5c"
"15325c1862fffc3889fc38e379f68552556c2232de5fb",
"", "", "", 0, 132, true},
{12, IkeTestType::ikeV1AppB,
"d6e74966b75fd2afab48be319d63d97c8a5d2ffe2e320763a462c664b36c3a944067d867c"
"3a55fd8a7e5cca64b22e24415987e15549f09a81b455adaa5303df8",
"", "",
"d6e74966b75fd2afab48be319d63d97c8a5d2ffe2e320763a462c664b36c3a944067d867c"
"3a55fd8a7e5cca64b22e24415987e15549f09a81b455adaa5303df8",
"", "", "", 0, 64, true},
{13, IkeTestType::ikeV1AppB,
"d6e74966b75fd2afab48be319d63d97c8a5d2ffe2e320763a462c664b36c3a944067d867c"
"3a55fd8a7e5cca64b22e24415987e15549f09a81b455adaa5303df8",
"", "", "d6e74966b75fd2afab48be319d63d9", "", "", "", 0, 15, true},
{14, IkeTestType::ikeV1AppBQuick,
"d6e74966b75fd2afab48be319d63d97c8a5d2ffe2e320763a462c664b36c3a944067d867c"
"3a55fd8a7e5cca64b22e24415987e15549f09a81b455adaa5303df8",
"", "",
"05e3de273d8a611667894a8aed01bb41984f18dc539028fa0f5252e6f05e15891faa75dfd"
"c1f76b745d34a4820b0068efa93c176f8cd00a7ed5745d6cffe78a71de07d41ab9eb3fef7"
"64886c6edd39b32bc05943b089adda8ceed3de5160c936600e4b171a96172569fc4410f0d"
"d913bfa9719cb368ffedd78d78a404749ca03c16e72c8",
"", "", "0", 0, 132, true},
{15, IkeTestType::ikeV1AppBQuick,
"d6e74966b75fd2afab48be319d63d97c8a5d2ffe2e320763a462c664b36c3a944067d867c"
"3a55fd8a7e5cca64b22e24415987e15549f09a81b455adaa5303df8",
"", "",
"05e3de273d8a611667894a8aed01bb41984f18dc539028fa0f5252e6f05e15891faa75dfd"
"c1f76b745d34a4820b0068efa93c176f8cd00a7ed5745d6cffe78a7",
"", "", "0", 0, 64, true},
{16, IkeTestType::ikeV1AppBQuick,
"d6e74966b75fd2afab48be319d63d97c8a5d2ffe2e320763a462c664b36c3a944067d867c"
"3a55fd8a7e5cca64b22e24415987e15549f09a81b455adaa5303df8",
"", "", "05e3de273d8a611667894a8aed01bb", "", "", "0", 0, 15, true},
};
#endif // ike_sha512_vectors_h__

View file

@ -1,3 +1,4 @@
/* vim: set ts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,68 @@
/* vim: set ts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
/* This file is generated from sources in nss/gtests/common/wycheproof
* automatically and should not be touched manually.
* Generation is trigged by calling python3 genTestVectors.py */
#ifndef rsa_signature_vectors_h__
#define rsa_signature_vectors_h__
#include "testvectors_base/test-structs.h"
// kSpki is an RSA public key in an X.509 SubjectPublicKeyInfo.
const uint8_t kSpki[] = {
0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81,
0x89, 0x02, 0x81, 0x81, 0x00, 0xf8, 0xb8, 0x6c, 0x83, 0xb4, 0xbc, 0xd9,
0xa8, 0x57, 0xc0, 0xa5, 0xb4, 0x59, 0x76, 0x8c, 0x54, 0x1d, 0x79, 0xeb,
0x22, 0x52, 0x04, 0x7e, 0xd3, 0x37, 0xeb, 0x41, 0xfd, 0x83, 0xf9, 0xf0,
0xa6, 0x85, 0x15, 0x34, 0x75, 0x71, 0x5a, 0x84, 0xa8, 0x3c, 0xd2, 0xef,
0x5a, 0x4e, 0xd3, 0xde, 0x97, 0x8a, 0xdd, 0xff, 0xbb, 0xcf, 0x0a, 0xaa,
0x86, 0x92, 0xbe, 0xb8, 0x50, 0xe4, 0xcd, 0x6f, 0x80, 0x33, 0x30, 0x76,
0x13, 0x8f, 0xca, 0x7b, 0xdc, 0xec, 0x5a, 0xca, 0x63, 0xc7, 0x03, 0x25,
0xef, 0xa8, 0x8a, 0x83, 0x58, 0x76, 0x20, 0xfa, 0x16, 0x77, 0xd7, 0x79,
0x92, 0x63, 0x01, 0x48, 0x1a, 0xd8, 0x7b, 0x67, 0xf1, 0x52, 0x55, 0x49,
0x4e, 0xd6, 0x6e, 0x4a, 0x5c, 0xd7, 0x7a, 0x37, 0x36, 0x0c, 0xde, 0xdd,
0x8f, 0x44, 0xe8, 0xc2, 0xa7, 0x2c, 0x2b, 0xb5, 0xaf, 0x64, 0x4b, 0x61,
0x07, 0x02, 0x03, 0x01, 0x00, 0x01,
};
// kHash is the SHA-256 hash of {1,2,3,4}.
const uint8_t kHash[] = {
0x9f, 0x64, 0xa7, 0x47, 0xe1, 0xb9, 0x7f, 0x13, 0x1f, 0xab, 0xb6,
0xb4, 0x47, 0x29, 0x6c, 0x9b, 0x6f, 0x02, 0x01, 0xe7, 0x9f, 0xb3,
0xc5, 0x35, 0x6e, 0x6c, 0x77, 0xe8, 0x9b, 0x6a, 0x80, 0x6a,
};
// kSignature is the signature of kHash with RSASSA-PKCS1-v1_5.
const uint8_t kSignature[] = {
0xa5, 0xf0, 0x8a, 0x47, 0x5d, 0x3c, 0xb3, 0xcc, 0xa9, 0x79, 0xaf, 0x4d,
0x8c, 0xae, 0x4c, 0x14, 0xef, 0xc2, 0x0b, 0x34, 0x36, 0xde, 0xf4, 0x3e,
0x3d, 0xbb, 0x4a, 0x60, 0x5c, 0xc8, 0x91, 0x28, 0xda, 0xfb, 0x7e, 0x04,
0x96, 0x7e, 0x63, 0x13, 0x90, 0xce, 0xb9, 0xb4, 0x62, 0x7a, 0xfd, 0x09,
0x3d, 0xc7, 0x67, 0x78, 0x54, 0x04, 0xeb, 0x52, 0x62, 0x6e, 0x24, 0x67,
0xb4, 0x40, 0xfc, 0x57, 0x62, 0xc6, 0xf1, 0x67, 0xc1, 0x97, 0x8f, 0x6a,
0xa8, 0xae, 0x44, 0x46, 0x5e, 0xab, 0x67, 0x17, 0x53, 0x19, 0x3a, 0xda,
0x5a, 0xc8, 0x16, 0x3e, 0x86, 0xd5, 0xc5, 0x71, 0x2f, 0xfc, 0x23, 0x48,
0xd9, 0x0b, 0x13, 0xdd, 0x7b, 0x5a, 0x25, 0x79, 0xef, 0xa5, 0x7b, 0x04,
0xed, 0x44, 0xf6, 0x18, 0x55, 0xe4, 0x0a, 0xe9, 0x57, 0x79, 0x5d, 0xd7,
0x55, 0xa7, 0xab, 0x45, 0x02, 0x97, 0x60, 0x42,
};
// kSignature is an invalid signature of kHash with RSASSA-PKCS1-v1_5 with the
// NULL parameter omitted.
const uint8_t kSignatureInvalid[] = {
0x71, 0x6c, 0x24, 0x4e, 0xc9, 0x9b, 0x19, 0xc7, 0x49, 0x29, 0xb8, 0xd4,
0xfb, 0x26, 0x23, 0xc0, 0x96, 0x18, 0xcd, 0x1e, 0x60, 0xe8, 0x88, 0x94,
0x8c, 0x59, 0xfb, 0x58, 0x5c, 0x61, 0x58, 0x7a, 0xae, 0xcc, 0xeb, 0xee,
0x1e, 0x85, 0x7d, 0x83, 0xa9, 0xdc, 0x6f, 0x4c, 0x34, 0x5c, 0xcb, 0xd9,
0xde, 0x58, 0x76, 0xdf, 0x1f, 0x5e, 0xd4, 0x57, 0x5b, 0xeb, 0xaf, 0x4f,
0x7a, 0xa7, 0x6b, 0x21, 0xf1, 0x0a, 0x96, 0x78, 0xc7, 0xa8, 0x02, 0x7a,
0xc2, 0x06, 0xd3, 0x18, 0x79, 0x72, 0x6b, 0xfe, 0x2d, 0xec, 0xd8, 0x8e,
0x98, 0x86, 0x89, 0xf4, 0x67, 0x14, 0x2b, 0xac, 0x6d, 0xd7, 0x04, 0xd8,
0xab, 0x05, 0xe6, 0x51, 0xf6, 0xee, 0x58, 0x63, 0xef, 0x6a, 0x3e, 0x89,
0x99, 0x2a, 0x1c, 0x10, 0xc2, 0xd0, 0x41, 0x9e, 0x1e, 0x9a, 0x9a, 0x57,
0x32, 0x0f, 0x49, 0xb4, 0x57, 0x37, 0xa4, 0x26,
};
#endif // rsa_signature_vectors_h__

View file

@ -0,0 +1,977 @@
/* vim: set ts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef rsaencrypt_bb2048_vectors_h__
#define rsaencrypt_bb2048_vectors_h__
#include <memory>
#include "testvectors_base/test-structs.h"
/* 2048 bit key from Hubert's Bleichenbacher tests */
static const std::vector<uint8_t> kRsaBb2048{
0x30, 0x82, 0x04, 0xbd, 0x02, 0x01, 0x01, 0x30, 0x0d, 0x06, 0x09, 0x2a,
0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x04, 0x82,
0x04, 0xa7, 0x30, 0x82, 0x04, 0xa3, 0x02, 0x01, 0x00, 0x02, 0x82, 0x01,
0x01, 0x00, 0xc8, 0xcc, 0x83, 0x97, 0x14, 0x09, 0x8d, 0xa5, 0x6c, 0xaa,
0x23, 0x64, 0x0f, 0x93, 0xdc, 0x89, 0x97, 0xc1, 0x63, 0x72, 0x96, 0x8f,
0xc1, 0xb0, 0xc6, 0xdf, 0x51, 0x13, 0xc1, 0xc9, 0x4e, 0x8b, 0x21, 0xe4,
0x8a, 0xd2, 0x29, 0x7e, 0x65, 0x41, 0x90, 0x11, 0xb4, 0xe6, 0xd8, 0xf5,
0xe7, 0x3b, 0x1b, 0x78, 0xb2, 0x57, 0x40, 0x03, 0x21, 0xd1, 0xef, 0x6b,
0x60, 0x2d, 0x4e, 0xc8, 0xce, 0x8d, 0x14, 0x1c, 0x94, 0x90, 0x5e, 0xb4,
0xad, 0x30, 0x66, 0x39, 0xa4, 0x92, 0x06, 0x53, 0x4b, 0x6e, 0x7f, 0x26,
0x07, 0x42, 0x3e, 0x97, 0xdf, 0xfd, 0x13, 0x3c, 0x88, 0xd7, 0x21, 0x39,
0x9d, 0xef, 0xbc, 0x7e, 0x96, 0xcc, 0xdc, 0xbd, 0x7f, 0x3a, 0xae, 0x1f,
0xe8, 0x92, 0x71, 0x2b, 0xfb, 0x49, 0x29, 0x81, 0x7d, 0x51, 0x16, 0x66,
0x44, 0x0a, 0x1f, 0xac, 0xb7, 0xa2, 0x08, 0xf5, 0xea, 0x16, 0x59, 0x10,
0xad, 0xd8, 0xa3, 0xf2, 0xd4, 0x97, 0x20, 0x23, 0x60, 0xcc, 0xb6, 0x32,
0x02, 0x4f, 0x0d, 0x07, 0x16, 0x9c, 0x19, 0x18, 0xf3, 0x16, 0xf7, 0x94,
0xb1, 0x43, 0xae, 0xf5, 0x4e, 0xc8, 0x75, 0x22, 0xa4, 0xc0, 0x29, 0x78,
0xf9, 0x68, 0x99, 0x80, 0xbf, 0xfb, 0xf6, 0x49, 0xc3, 0x07, 0xe8, 0x18,
0x19, 0xbf, 0xf8, 0x84, 0x09, 0x63, 0x8d, 0x48, 0xbd, 0x94, 0xbe, 0x15,
0x2b, 0x59, 0xff, 0x64, 0x9f, 0xa0, 0xbd, 0x62, 0x9d, 0x0f, 0xfa, 0x18,
0x13, 0xc3, 0xab, 0xf4, 0xb5, 0x6b, 0xd3, 0xc2, 0xea, 0x54, 0x65, 0xdf,
0xfa, 0x14, 0x58, 0x92, 0x92, 0xa9, 0xd8, 0xa2, 0x4a, 0xd2, 0x6b, 0xe7,
0xee, 0x05, 0x10, 0x74, 0x1b, 0x63, 0x82, 0xd4, 0x3c, 0x83, 0xd5, 0xbf,
0xa4, 0x0a, 0x46, 0x61, 0x3d, 0x06, 0x2b, 0xe4, 0x45, 0x51, 0x7d, 0xbc,
0xaf, 0x0c, 0xb4, 0xe1, 0xa7, 0x69, 0x02, 0x03, 0x01, 0x00, 0x01, 0x02,
0x82, 0x01, 0x00, 0x14, 0x55, 0x01, 0x0e, 0x0f, 0x2d, 0x58, 0x76, 0x63,
0xa6, 0x66, 0xa6, 0xff, 0x1c, 0xcd, 0xbb, 0xf0, 0xed, 0xd8, 0x10, 0x06,
0x46, 0xd0, 0x2a, 0x02, 0x39, 0x22, 0x90, 0x89, 0x92, 0xc4, 0xad, 0x39,
0xe5, 0x56, 0x59, 0x29, 0x72, 0x6e, 0xf6, 0x50, 0x8c, 0x3a, 0x71, 0x15,
0x8e, 0xf0, 0xb6, 0xff, 0x75, 0x1d, 0x39, 0xd0, 0x75, 0x80, 0xbb, 0x2d,
0x2f, 0x06, 0x32, 0x10, 0x44, 0x2d, 0x06, 0x03, 0xff, 0x50, 0xdb, 0xbd,
0x7b, 0x35, 0xfe, 0x2c, 0x9b, 0xb1, 0x9a, 0x47, 0xa1, 0xaf, 0x85, 0xa4,
0xc2, 0x49, 0x01, 0xe0, 0x2c, 0xa8, 0xb5, 0x8b, 0x79, 0x19, 0xb2, 0x0e,
0xdf, 0x32, 0xaa, 0xcf, 0xbf, 0x51, 0xad, 0xb4, 0xbc, 0x4b, 0x61, 0xb9,
0xb7, 0xe9, 0x68, 0xca, 0xa4, 0xd5, 0x70, 0xf7, 0x0e, 0xf1, 0x8d, 0x80,
0x63, 0x22, 0x88, 0x93, 0xe4, 0x7d, 0x43, 0x9e, 0xfc, 0xa7, 0x93, 0x25,
0x9b, 0xcf, 0x2c, 0xd1, 0x08, 0xa3, 0xd8, 0x68, 0x8c, 0xdf, 0x07, 0x8e,
0x7a, 0xc7, 0x99, 0x96, 0x9f, 0x23, 0x39, 0xd2, 0xc1, 0xf5, 0x22, 0xb9,
0x69, 0x68, 0x46, 0x29, 0xa9, 0x33, 0xba, 0xae, 0xc2, 0x68, 0x16, 0x25,
0xea, 0xb8, 0x4f, 0x4e, 0x56, 0xf4, 0x44, 0x7e, 0x9d, 0x88, 0xfb, 0x9a,
0x19, 0x9c, 0xf7, 0x10, 0x23, 0xe0, 0xe2, 0x57, 0xb1, 0x44, 0x41, 0xb3,
0x3c, 0x84, 0xd3, 0xbc, 0x67, 0xca, 0x80, 0x31, 0xd2, 0x61, 0x26, 0x18,
0x10, 0x3a, 0x7a, 0x0a, 0x40, 0x84, 0x42, 0x62, 0xf7, 0x5d, 0x88, 0x90,
0xcd, 0x61, 0x6e, 0x51, 0xf9, 0x03, 0x54, 0x88, 0xfd, 0x6e, 0x09, 0x9d,
0xe8, 0xff, 0x6d, 0x65, 0xa4, 0xff, 0x11, 0x82, 0x54, 0x80, 0x7c, 0x9f,
0x58, 0xd2, 0xfb, 0xba, 0x8b, 0xa1, 0x51, 0xdc, 0x8c, 0x68, 0xbe, 0x34,
0x9c, 0x97, 0x7a, 0x20, 0x4e, 0x04, 0xc1, 0x02, 0x81, 0x81, 0x00, 0xf8,
0xf5, 0xad, 0x6b, 0xa8, 0x28, 0x93, 0x1b, 0xea, 0x45, 0x9b, 0x8a, 0x3f,
0x6d, 0xc0, 0x41, 0xd2, 0x34, 0x82, 0x40, 0x9c, 0x25, 0x71, 0xe9, 0x63,
0xf3, 0x1f, 0x74, 0x86, 0x02, 0xa2, 0x56, 0x37, 0x1b, 0x38, 0x83, 0xed,
0x45, 0x9e, 0xcf, 0x97, 0x05, 0x26, 0x45, 0x9e, 0xdd, 0x16, 0xe0, 0x55,
0x22, 0xf5, 0xa4, 0x5d, 0x94, 0x75, 0x1b, 0x2e, 0xc2, 0xda, 0xf2, 0x72,
0xc7, 0xf8, 0x81, 0x6a, 0x52, 0xc0, 0x0d, 0x18, 0x08, 0x01, 0x71, 0x63,
0x4d, 0xa8, 0x99, 0xd7, 0x97, 0x32, 0x22, 0xf5, 0x1b, 0x93, 0x76, 0x30,
0x54, 0x86, 0x96, 0xa9, 0xf7, 0xd8, 0xc2, 0x4a, 0x59, 0x49, 0x7c, 0x1e,
0xfc, 0xd4, 0x55, 0xcf, 0xb9, 0x7e, 0xe8, 0x6d, 0x2b, 0x6d, 0x34, 0x97,
0x2b, 0x33, 0x2f, 0xda, 0x30, 0x3f, 0x04, 0x99, 0x9b, 0x4e, 0xb6, 0xb5,
0xcc, 0x0b, 0xb3, 0x3e, 0x77, 0x61, 0xdd, 0x02, 0x81, 0x81, 0x00, 0xce,
0x7a, 0x2e, 0x3b, 0x49, 0xa9, 0x0b, 0x96, 0x33, 0x0a, 0x12, 0xdc, 0x68,
0x2b, 0xdf, 0xbd, 0xfb, 0xae, 0x8d, 0xd6, 0xdc, 0x03, 0xb6, 0x14, 0x7a,
0xef, 0xbd, 0x57, 0x57, 0x43, 0xf0, 0xf6, 0xda, 0x4d, 0x86, 0x23, 0x50,
0x61, 0xb7, 0x1a, 0xfd, 0x9c, 0xad, 0x2d, 0x34, 0x02, 0x5e, 0x56, 0xac,
0x86, 0xb0, 0xf7, 0x74, 0x3e, 0xb3, 0x5e, 0x1a, 0xcb, 0xca, 0x23, 0x78,
0x95, 0x42, 0x44, 0x65, 0xb7, 0x06, 0xed, 0x22, 0x17, 0x5e, 0x57, 0x18,
0xc8, 0xc7, 0x0b, 0x67, 0x03, 0xea, 0x8f, 0x6b, 0x51, 0x0f, 0x94, 0x5b,
0xe4, 0x8e, 0x5a, 0x36, 0xbb, 0x3c, 0x3c, 0x91, 0x73, 0x2b, 0x58, 0x9d,
0xfc, 0x05, 0xd7, 0x2d, 0x80, 0x90, 0x31, 0x94, 0x45, 0x2b, 0xda, 0x21,
0x34, 0x86, 0x47, 0xec, 0x72, 0x94, 0x3f, 0x11, 0xa8, 0x46, 0xe6, 0x2f,
0xae, 0xbe, 0x8e, 0xb5, 0x36, 0xb0, 0xfd, 0x02, 0x81, 0x80, 0x76, 0xfe,
0x15, 0xf1, 0x8a, 0xe2, 0x39, 0xcd, 0xf1, 0xdf, 0x6b, 0x44, 0x5c, 0xa4,
0xbc, 0x6b, 0xb9, 0x68, 0xd7, 0x88, 0xc2, 0x19, 0x33, 0xa4, 0xf5, 0xdc,
0xd2, 0x80, 0x03, 0x3d, 0x67, 0x12, 0x06, 0x2c, 0xc0, 0x8a, 0x6d, 0xf2,
0x04, 0xc1, 0xfb, 0xd0, 0xbe, 0x46, 0x30, 0x74, 0x43, 0xe6, 0xdd, 0x4a,
0x64, 0x56, 0x37, 0x54, 0x29, 0xd4, 0xe0, 0x38, 0xca, 0x25, 0x6f, 0xaf,
0x1c, 0x9b, 0xde, 0x91, 0xc6, 0xb1, 0x7b, 0x76, 0xf8, 0x19, 0x95, 0xf9,
0x1c, 0x48, 0xcb, 0xbe, 0xbc, 0x7b, 0xf0, 0xe3, 0x49, 0x4c, 0x08, 0x35,
0x9e, 0x4e, 0x8c, 0xd6, 0xa5, 0x87, 0xd7, 0xb9, 0x6d, 0x62, 0x21, 0xfd,
0x7e, 0x0f, 0xb5, 0xc5, 0x57, 0x5f, 0x08, 0x2e, 0xe5, 0x77, 0x69, 0x79,
0x80, 0x71, 0xb2, 0xbb, 0xb4, 0xa3, 0x22, 0x38, 0x15, 0x1b, 0x47, 0x31,
0x4b, 0xb6, 0x54, 0x79, 0x03, 0x11, 0x02, 0x81, 0x81, 0x00, 0x99, 0x88,
0x48, 0xb0, 0x55, 0x49, 0x9a, 0x10, 0x09, 0xcb, 0xc7, 0xd2, 0x94, 0xb3,
0x6b, 0x1f, 0xfd, 0xf2, 0x02, 0x0e, 0x6e, 0x73, 0x64, 0x05, 0x3e, 0x94,
0xde, 0x1a, 0x00, 0x0d, 0xc9, 0x34, 0x05, 0x87, 0xf7, 0xe2, 0x72, 0x76,
0xf6, 0x8c, 0xdf, 0x60, 0x8d, 0x75, 0x3b, 0x63, 0x37, 0x7b, 0x03, 0xb6,
0xf4, 0x08, 0x4d, 0x2c, 0x02, 0x7c, 0x4b, 0x38, 0x96, 0x0a, 0x62, 0x33,
0xba, 0x9e, 0xd9, 0x73, 0x8b, 0x76, 0xf1, 0x0e, 0xa7, 0x5b, 0xe4, 0x56,
0x07, 0x8b, 0xf7, 0x01, 0xf6, 0x7c, 0xc6, 0xb3, 0xf3, 0xfd, 0xc1, 0x86,
0xe6, 0x43, 0x36, 0xc7, 0x6b, 0x37, 0x2e, 0x80, 0x91, 0x0e, 0xc8, 0x0b,
0x0a, 0xdc, 0xc2, 0x3d, 0x02, 0xfb, 0x9a, 0xe1, 0x04, 0x86, 0xa2, 0x82,
0x48, 0x07, 0x5b, 0x4e, 0xa7, 0xe5, 0x6d, 0xdf, 0xcf, 0x38, 0x82, 0xe4,
0x51, 0x56, 0x14, 0x71, 0xa2, 0x91, 0x02, 0x81, 0x80, 0x64, 0x3b, 0xf7,
0x46, 0x42, 0x9f, 0x7d, 0x83, 0x66, 0x7a, 0x06, 0x53, 0x02, 0x13, 0x47,
0xef, 0xbf, 0xc0, 0x5e, 0x63, 0x51, 0xf8, 0x21, 0xa9, 0xde, 0xbb, 0x60,
0xe0, 0xec, 0xcd, 0xe5, 0x00, 0x5a, 0xd9, 0xe9, 0xec, 0x31, 0xe5, 0x58,
0xf7, 0xe9, 0x2c, 0x29, 0x32, 0x8e, 0x74, 0x56, 0x9d, 0x7c, 0xef, 0x7c,
0x74, 0xca, 0xbc, 0x2b, 0x35, 0x5e, 0xd4, 0x01, 0xa1, 0xa0, 0x91, 0x4b,
0x4e, 0x3c, 0xbb, 0x06, 0x48, 0x4e, 0x58, 0x19, 0x60, 0x51, 0x16, 0x9e,
0xd1, 0x4c, 0xaa, 0x2e, 0xfa, 0x6e, 0xa0, 0x44, 0xe0, 0x54, 0xd2, 0x61,
0x44, 0xcc, 0x16, 0x29, 0xc5, 0x50, 0x10, 0x55, 0x8a, 0x04, 0xe1, 0x33,
0xf4, 0x4b, 0x7c, 0x24, 0x4d, 0xac, 0x25, 0xbf, 0x91, 0x3c, 0x57, 0xb8,
0x90, 0xee, 0x49, 0xf5, 0x48, 0x25, 0x9c, 0xd6, 0x34, 0x04, 0xfe, 0xf6,
0x85, 0x9d, 0xcf, 0x97, 0x5a};
// Hubert's Bleichenbacher vectors.
const std::vector<RsaDecryptTestVector> kRsaBb2048Vectors = {
// test 1 positive test.
{0,
// lorem ipsum dolor sit amet
{0x6c, 0x6f, 0x72, 0x65, 0x6d, 0x20, 0x69, 0x70, 0x73,
0x75, 0x6d, 0x20, 0x64, 0x6f, 0x6c, 0x6f, 0x72, 0x20,
0x73, 0x69, 0x74, 0x20, 0x61, 0x6d, 0x65, 0x74},
{0x8b, 0xfe, 0x26, 0x4e, 0x85, 0xd3, 0xbd, 0xea, 0xa6, 0xb8, 0x85, 0x1b,
0x8e, 0x3b, 0x95, 0x6e, 0xe3, 0xd2, 0x26, 0xfd, 0x3f, 0x69, 0x06, 0x3a,
0x86, 0x88, 0x01, 0x73, 0xa2, 0x73, 0xd9, 0xf2, 0x83, 0xb2, 0xee, 0xbd,
0xd1, 0xed, 0x35, 0xf7, 0xe0, 0x2d, 0x91, 0xc5, 0x71, 0x98, 0x1b, 0x67,
0x37, 0xd5, 0x32, 0x0b, 0xd8, 0x39, 0x6b, 0x0f, 0x3a, 0xd5, 0xb0, 0x19,
0xda, 0xec, 0x1b, 0x0a, 0xab, 0x3c, 0xbb, 0xc0, 0x26, 0x39, 0x5f, 0x4f,
0xd1, 0x4f, 0x13, 0x67, 0x3f, 0x2d, 0xfc, 0x81, 0xf9, 0xb6, 0x60, 0xec,
0x26, 0xac, 0x38, 0x1e, 0x6d, 0xb3, 0x29, 0x9b, 0x4e, 0x46, 0x0b, 0x43,
0xfa, 0xb9, 0x95, 0x5d, 0xf2, 0xb3, 0xcf, 0xaa, 0x20, 0xe9, 0x00, 0xe1,
0x9c, 0x85, 0x62, 0x38, 0xfd, 0x37, 0x18, 0x99, 0xc2, 0xbf, 0x2c, 0xe8,
0xc8, 0x68, 0xb7, 0x67, 0x54, 0xe5, 0xdb, 0x3b, 0x03, 0x65, 0x33, 0xfd,
0x60, 0x37, 0x46, 0xbe, 0x13, 0xc1, 0x0d, 0x4e, 0x3e, 0x60, 0x22, 0xeb,
0xc9, 0x05, 0xd2, 0x0c, 0x2a, 0x7f, 0x32, 0xb2, 0x15, 0xa4, 0xcd, 0x53,
0xb3, 0xf4, 0x4c, 0xa1, 0xc3, 0x27, 0xd2, 0xc2, 0xb6, 0x51, 0x14, 0x58,
0x21, 0xc0, 0x83, 0x96, 0xc8, 0x90, 0x71, 0xf6, 0x65, 0x34, 0x9c, 0x25,
0xe4, 0x4d, 0x27, 0x33, 0xcd, 0x93, 0x05, 0x98, 0x5c, 0xee, 0xf6, 0x43,
0x0c, 0x3c, 0xf5, 0x7a, 0xf5, 0xfa, 0x22, 0x40, 0x89, 0x22, 0x12, 0x18,
0xfa, 0x34, 0x73, 0x7c, 0x79, 0xc4, 0x46, 0xd2, 0x8a, 0x94, 0xc4, 0x1c,
0x96, 0xe4, 0xe9, 0x2a, 0xc5, 0x3f, 0xbc, 0xf3, 0x84, 0xde, 0xa8, 0x41,
0x9e, 0xa0, 0x89, 0xf8, 0x78, 0x44, 0x45, 0xa4, 0x92, 0xc8, 0x12, 0xeb,
0x0d, 0x40, 0x94, 0x67, 0xf7, 0x5a, 0xfd, 0x7d, 0x4d, 0x10, 0x78, 0x88,
0x62, 0x05, 0xa0, 0x66},
{},
false,
true},
// Invalid Empty Message
{0,
{},
{0x20, 0xaa, 0xa8, 0xad, 0xbb, 0xc5, 0x93, 0xa9, 0x24, 0xba, 0x1c, 0x5c,
0x79, 0x90, 0xb5, 0xc2, 0x24, 0x2a, 0xe4, 0xb9, 0x9d, 0x0f, 0xe6, 0x36,
0xa1, 0x9a, 0x4c, 0xf7, 0x54, 0xed, 0xbc, 0xee, 0x77, 0x4e, 0x47, 0x2f,
0xe0, 0x28, 0x16, 0x0e, 0xd4, 0x26, 0x34, 0xf8, 0x86, 0x49, 0x00, 0xcb,
0x51, 0x40, 0x06, 0xda, 0x64, 0x2c, 0xae, 0x6a, 0xe8, 0xc7, 0xd0, 0x87,
0xca, 0xeb, 0xcf, 0xa6, 0xda, 0xd1, 0x55, 0x13, 0x01, 0xe1, 0x30, 0x34,
0x49, 0x89, 0xa1, 0xd4, 0x62, 0xd4, 0x16, 0x45, 0x05, 0xf6, 0x39, 0x39,
0x33, 0x45, 0x0c, 0x67, 0xbc, 0x6d, 0x39, 0xd8, 0xf5, 0x16, 0x09, 0x07,
0xca, 0xbc, 0x25, 0x1b, 0x73, 0x79, 0x25, 0xa1, 0xcf, 0x21, 0xe5, 0xc6,
0xaa, 0x57, 0x81, 0xb7, 0x76, 0x9f, 0x6a, 0x2a, 0x58, 0x3d, 0x97, 0xcc,
0xe0, 0x08, 0xc0, 0xf8, 0xb6, 0xad, 0xd5, 0xf0, 0xb2, 0xbd, 0x80, 0xbe,
0xe6, 0x02, 0x37, 0xaa, 0x39, 0xbb, 0x20, 0x71, 0x9f, 0xe7, 0x57, 0x49,
0xf4, 0xbc, 0x4e, 0x42, 0x46, 0x6e, 0xf5, 0xa8, 0x61, 0xae, 0x3a, 0x92,
0x39, 0x5c, 0x7d, 0x85, 0x8d, 0x43, 0x0b, 0xfe, 0x38, 0x04, 0x0f, 0x44,
0x5e, 0xa9, 0x3f, 0xa2, 0x95, 0x8b, 0x50, 0x35, 0x39, 0x80, 0x0f, 0xfa,
0x5c, 0xe5, 0xf8, 0xcf, 0x51, 0xfa, 0x81, 0x71, 0xa9, 0x1f, 0x36, 0xcb,
0x4f, 0x45, 0x75, 0xe8, 0xde, 0x6b, 0x4d, 0x3f, 0x09, 0x6e, 0xe1, 0x40,
0xb9, 0x38, 0xfd, 0x2f, 0x50, 0xee, 0x13, 0xf0, 0xd0, 0x50, 0x22, 0x2e,
0x2a, 0x72, 0xb0, 0xa3, 0x06, 0x9f, 0xf3, 0xa6, 0x73, 0x8e, 0x82, 0xc8,
0x70, 0x90, 0xca, 0xa5, 0xae, 0xd4, 0xfc, 0xbe, 0x88, 0x2c, 0x49, 0x64,
0x6a, 0xa2, 0x50, 0xb9, 0x8f, 0x12, 0xf8, 0x3c, 0x8d, 0x52, 0x81, 0x13,
0x61, 0x4a, 0x29, 0xe7},
{},
false,
true},
// Invalid Max Nessage
{0,
{0x22, 0xd8, 0x50, 0x13, 0x7b, 0x9e, 0xeb, 0xe0, 0x92, 0xb2, 0x4f, 0x60,
0x2d, 0xc5, 0xbb, 0x79, 0x18, 0xc1, 0x6b, 0xd8, 0x9d, 0xdb, 0xf2, 0x04,
0x67, 0xb1, 0x19, 0xd2, 0x05, 0xf9, 0xc2, 0xe4, 0xbd, 0x7d, 0x25, 0x92,
0xcf, 0x1e, 0x53, 0x21, 0x06, 0xe0, 0xf3, 0x35, 0x57, 0x56, 0x59, 0x23,
0xc7, 0x3a, 0x02, 0xd4, 0xf0, 0x9c, 0x0c, 0x22, 0xbe, 0xa8, 0x91, 0x48,
0x18, 0x3e, 0x60, 0x31, 0x7f, 0x70, 0x28, 0xb3, 0xaa, 0x1f, 0x26, 0x1f,
0x91, 0xc9, 0x79, 0x39, 0x31, 0x01, 0xd7, 0xe1, 0x5f, 0x40, 0x67, 0xe6,
0x39, 0x79, 0xb3, 0x27, 0x51, 0x65, 0x8e, 0xf7, 0x69, 0x61, 0x0f, 0xe9,
0x7c, 0xf9, 0xce, 0xf3, 0x27, 0x8b, 0x31, 0x17, 0xd3, 0x84, 0x05, 0x1c,
0x3b, 0x1d, 0x82, 0xc2, 0x51, 0xc2, 0x30, 0x54, 0x18, 0xc8, 0xf6, 0x84,
0x05, 0x30, 0xe6, 0x31, 0xaa, 0xd6, 0x3e, 0x70, 0xe2, 0x0e, 0x02, 0x5b,
0xcd, 0x8e, 0xfb, 0x54, 0xc9, 0x2e, 0xc6, 0xd3, 0xb1, 0x06, 0xa2, 0xf8,
0xe6, 0x4e, 0xef, 0xf7, 0xd3, 0x84, 0x95, 0xb0, 0xfc, 0x50, 0xc9, 0x71,
0x38, 0xaf, 0x4b, 0x1c, 0x0a, 0x67, 0xa1, 0xc4, 0xe2, 0x7b, 0x07, 0x7b,
0x84, 0x39, 0x33, 0x2e, 0xdf, 0xa8, 0x60, 0x8d, 0xfe, 0xae, 0x65, 0x3c,
0xd6, 0xa6, 0x28, 0xac, 0x55, 0x03, 0x95, 0xf7, 0xe7, 0x43, 0x90, 0xe4,
0x2c, 0x11, 0x68, 0x22, 0x34, 0x87, 0x09, 0x25, 0xee, 0xaa, 0x1f, 0xa7,
0x1b, 0x76, 0xcf, 0x1f, 0x2e, 0xe3, 0xbd, 0xa6, 0x9f, 0x67, 0x17, 0x03,
0x3f, 0xf8, 0xb7, 0xc9, 0x5c, 0x97, 0x99, 0xe7, 0xa3, 0xbe, 0xa5, 0xe7,
0xe4, 0xa1, 0xc3, 0x59, 0x77, 0x2f, 0xb6, 0xb1, 0xc6, 0xe6, 0xc5, 0x16,
0x66, 0x1d, 0xfe, 0x30, 0xc3},
{0x48, 0xcc, 0xea, 0xb1, 0x0f, 0x39, 0xa4, 0xdb, 0x32, 0xf6, 0x00, 0x74,
0xfe, 0xea, 0x47, 0x3c, 0xbc, 0xdb, 0x7a, 0xcc, 0xf9, 0x2e, 0x15, 0x04,
0x17, 0xf7, 0x6b, 0x44, 0x75, 0x6b, 0x19, 0x0e, 0x84, 0x3e, 0x79, 0xec,
0x12, 0xaa, 0x85, 0x08, 0x3a, 0x21, 0xf5, 0x43, 0x7e, 0x7b, 0xad, 0x0a,
0x60, 0x48, 0x2e, 0x60, 0x11, 0x98, 0xf9, 0xd8, 0x69, 0x23, 0x23, 0x9c,
0x87, 0x86, 0xee, 0x72, 0x82, 0x85, 0xaf, 0xd0, 0x93, 0x7f, 0x7d, 0xde,
0x12, 0x71, 0x7f, 0x28, 0x38, 0x98, 0x43, 0xd7, 0x37, 0x59, 0x12, 0xb0,
0x7b, 0x99, 0x1f, 0x4f, 0xdb, 0x01, 0x90, 0xfc, 0xed, 0x8b, 0xa6, 0x65,
0x31, 0x43, 0x67, 0xe8, 0xc5, 0xf9, 0xd2, 0x98, 0x1d, 0x0f, 0x51, 0x28,
0xfe, 0xeb, 0x46, 0xcb, 0x50, 0xfc, 0x23, 0x7e, 0x64, 0x43, 0x8a, 0x86,
0xdf, 0x19, 0x8d, 0xd0, 0x20, 0x93, 0x64, 0xae, 0x3a, 0x84, 0x2d, 0x77,
0x53, 0x2b, 0x66, 0xb7, 0xef, 0x26, 0x3b, 0x83, 0xb1, 0x54, 0x1e, 0xd6,
0x71, 0xb1, 0x20, 0xdf, 0xd6, 0x60, 0x46, 0x2e, 0x21, 0x07, 0xa4, 0xee,
0x7b, 0x96, 0x4e, 0x73, 0x4a, 0x7b, 0xd6, 0x8d, 0x90, 0xdd, 0xa6, 0x17,
0x70, 0x65, 0x8a, 0x3c, 0x24, 0x29, 0x48, 0x53, 0x2d, 0xa3, 0x26, 0x48,
0x68, 0x7e, 0x03, 0x18, 0x28, 0x64, 0x73, 0xf6, 0x75, 0xb4, 0x12, 0xd6,
0x46, 0x8f, 0x01, 0x3f, 0x14, 0xd7, 0x60, 0xa3, 0x58, 0xdf, 0xca, 0xd3,
0xcd, 0xa2, 0xaf, 0xee, 0xc5, 0xe2, 0x68, 0xa3, 0x7d, 0x25, 0x0c, 0x37,
0xf7, 0x22, 0xf4, 0x68, 0xa7, 0x0d, 0xfd, 0x92, 0xd7, 0x29, 0x4c, 0x3c,
0x1e, 0xe1, 0xe7, 0xf8, 0x84, 0x3b, 0x7d, 0x16, 0xf9, 0xf3, 0x7e, 0xf3,
0x57, 0x48, 0xc3, 0xae, 0x93, 0xaa, 0x15, 0x5c, 0xdc, 0xdf, 0xeb, 0x4e,
0x78, 0x56, 0x73, 0x03},
{},
false,
true},
// invalid the last value from the PRF is 246, which is longer than the max
// allowed length: 245, so it needs to select second to last: 2
{0,
{0x0f, 0x9b},
{0x14, 0x39, 0xe0, 0x8c, 0x3f, 0x84, 0xc1, 0xa7, 0xfe, 0xc7, 0x4c, 0xe0,
0x76, 0x14, 0xb2, 0x0e, 0x01, 0xf6, 0xfa, 0x4e, 0x8c, 0x2a, 0x6c, 0xff,
0xdc, 0x35, 0x20, 0xd8, 0x88, 0x9e, 0x5d, 0x9a, 0x95, 0x0c, 0x64, 0x25,
0x79, 0x8f, 0x85, 0xd4, 0xbe, 0x38, 0xd3, 0x00, 0xea, 0x56, 0x95, 0xf1,
0x3e, 0xcd, 0x4c, 0xb3, 0x89, 0xd1, 0xff, 0x5b, 0x82, 0x48, 0x4b, 0x49,
0x4d, 0x62, 0x80, 0xab, 0x7f, 0xa7, 0x8e, 0x64, 0x59, 0x33, 0x98, 0x1c,
0xb9, 0x34, 0xcc, 0xe8, 0xbf, 0xcd, 0x11, 0x4c, 0xc0, 0xe6, 0x81, 0x1e,
0xef, 0xa4, 0x7a, 0xae, 0x20, 0xaf, 0x63, 0x8a, 0x1c, 0xd1, 0x63, 0xd2,
0xd3, 0x36, 0x61, 0x86, 0xd0, 0xa0, 0x7d, 0xf0, 0xc8, 0x1f, 0x6c, 0x9f,
0x31, 0x71, 0xcf, 0x35, 0x61, 0x47, 0x2e, 0x98, 0xa6, 0x00, 0x6b, 0xf7,
0x5d, 0xdb, 0x45, 0x7b, 0xed, 0x03, 0x6d, 0xcc, 0xe1, 0x99, 0x36, 0x9d,
0xe7, 0xd9, 0x4e, 0xf2, 0xc6, 0x8e, 0x84, 0x67, 0xee, 0x06, 0x04, 0xee,
0xa2, 0xb3, 0x00, 0x94, 0x79, 0x16, 0x2a, 0x78, 0x91, 0xba, 0x5c, 0x40,
0xca, 0xb1, 0x7f, 0x49, 0xe1, 0xc4, 0x38, 0xcb, 0x6e, 0xae, 0xa4, 0xf7,
0x6c, 0xe2, 0x3c, 0xce, 0x0e, 0x48, 0x3f, 0xf0, 0xe9, 0x6f, 0xa7, 0x90,
0xea, 0x15, 0xbe, 0x67, 0x67, 0x18, 0x14, 0x34, 0x2d, 0x0a, 0x23, 0xf4,
0xa2, 0x02, 0x62, 0xb6, 0x18, 0x2e, 0x72, 0xf3, 0xa6, 0x7c, 0xd2, 0x89,
0x71, 0x15, 0x03, 0xc8, 0x55, 0x16, 0xa9, 0xed, 0x22, 0x54, 0x22, 0xf9,
0x8b, 0x11, 0x6f, 0x1a, 0xb0, 0x80, 0xa8, 0x0a, 0xbd, 0x6f, 0x02, 0x16,
0xdf, 0x88, 0xd8, 0xcf, 0xd6, 0x7c, 0x13, 0x92, 0x43, 0xbe, 0x8d, 0xd7,
0x85, 0x02, 0xa7, 0xaa, 0xf6, 0xbc, 0x99, 0xd7, 0xda, 0x71, 0xbc, 0xdf,
0x62, 0x7e, 0x73, 0x54},
{},
false,
true},
// Invalid: the last three numbers from prf are: 2, 247, 255, so we need to
// pick 2, the third one from the end
{0,
{0x4f, 0x02},
{0x16, 0x90, 0xeb, 0xcc, 0xee, 0xce, 0x2c, 0xe0, 0x24, 0xf3, 0x82, 0xe4,
0x67, 0xcf, 0x85, 0x10, 0xe7, 0x45, 0x14, 0x12, 0x09, 0x37, 0x97, 0x85,
0x76, 0xca, 0xf6, 0x84, 0xd4, 0xa0, 0x2a, 0xd5, 0x69, 0xe8, 0xd7, 0x6c,
0xbe, 0x36, 0x5a, 0x06, 0x0e, 0x00, 0x77, 0x9d, 0xe2, 0xf0, 0x86, 0x5c,
0xcf, 0x0d, 0x92, 0x3d, 0xe3, 0xb4, 0x78, 0x3a, 0x4e, 0x2c, 0x74, 0xf4,
0x22, 0xe2, 0xf3, 0x26, 0x08, 0x6c, 0x39, 0x0b, 0x65, 0x8b, 0xa4, 0x7f,
0x31, 0xab, 0x01, 0x3a, 0xa8, 0x0f, 0x46, 0x8c, 0x71, 0x25, 0x6e, 0x5f,
0xa5, 0x67, 0x9b, 0x24, 0xe8, 0x3c, 0xd8, 0x2c, 0x3d, 0x1e, 0x05, 0xe3,
0x98, 0x20, 0x81, 0x55, 0xde, 0x22, 0x12, 0x99, 0x3c, 0xd2, 0xb8, 0xba,
0xb6, 0x98, 0x7c, 0xf4, 0xcc, 0x12, 0x93, 0xf1, 0x99, 0x09, 0x21, 0x94,
0x39, 0xd7, 0x41, 0x27, 0x54, 0x5e, 0x9e, 0xd8, 0xa7, 0x06, 0x96, 0x1b,
0x8e, 0xe2, 0x11, 0x9f, 0x6b, 0xfa, 0xca, 0xfb, 0xef, 0x91, 0xb7, 0x5a,
0x78, 0x9b, 0xa6, 0x5b, 0x8b, 0x83, 0x3b, 0xc6, 0x14, 0x9c, 0xf4, 0x9b,
0x5c, 0x4d, 0x2c, 0x63, 0x59, 0xf6, 0x28, 0x08, 0x65, 0x9b, 0xa6, 0x54,
0x1e, 0x1c, 0xd2, 0x4b, 0xf7, 0xf7, 0x41, 0x04, 0x86, 0xb5, 0x10, 0x3f,
0x6c, 0x0e, 0xa2, 0x93, 0x34, 0xea, 0x6f, 0x49, 0x75, 0xb1, 0x73, 0x87,
0x47, 0x4f, 0xe9, 0x20, 0x71, 0x0e, 0xa6, 0x15, 0x68, 0xd7, 0xb7, 0xc0,
0xa7, 0x91, 0x6a, 0xcf, 0x21, 0x66, 0x5a, 0xd5, 0xa3, 0x1c, 0x4e, 0xab,
0xcd, 0xe4, 0x4f, 0x8f, 0xb6, 0x12, 0x0d, 0x84, 0x57, 0xaf, 0xa1, 0xf3,
0xc8, 0x5d, 0x51, 0x7c, 0xda, 0x36, 0x4a, 0xf6, 0x20, 0x11, 0x3a, 0xe5,
0xa3, 0xc5, 0x2a, 0x04, 0x88, 0x21, 0x73, 0x19, 0x22, 0x73, 0x73, 0x07,
0xf7, 0x7a, 0x10, 0x81},
{},
false,
true},
// ciphertext that generates a fake 11 byte plaintext, but decrypts
// to real 11 byte long plaintext
{0,
// lorem ipsum
{0x6c, 0x6f, 0x72, 0x65, 0x6d, 0x20, 0x69, 0x70, 0x73, 0x75, 0x6d},
{0x62, 0x13, 0x63, 0x45, 0x93, 0x33, 0x2c, 0x48, 0x5c, 0xef, 0x78, 0x3e,
0xa2, 0x84, 0x6e, 0x3d, 0x6e, 0x8b, 0x0e, 0x00, 0x5c, 0xd8, 0x29, 0x3e,
0xae, 0xbb, 0xaa, 0x50, 0x79, 0x71, 0x2f, 0xd6, 0x81, 0x57, 0x9b, 0xdf,
0xbb, 0xda, 0x13, 0x8a, 0xe4, 0xd9, 0xd9, 0x52, 0x91, 0x7a, 0x03, 0xc9,
0x23, 0x98, 0xec, 0x0c, 0xb2, 0xbb, 0x0c, 0x6b, 0x5a, 0x8d, 0x55, 0x06,
0x1f, 0xed, 0x0d, 0x0d, 0x8d, 0x72, 0x47, 0x35, 0x63, 0x15, 0x26, 0x48,
0xcf, 0xe6, 0x40, 0xb3, 0x35, 0xdc, 0x95, 0x33, 0x1c, 0x21, 0xcb, 0x13,
0x3a, 0x91, 0x79, 0x0f, 0xa9, 0x3a, 0xe4, 0x44, 0x97, 0xc1, 0x28, 0x70,
0x89, 0x70, 0xd2, 0xbe, 0xeb, 0x77, 0xe8, 0x72, 0x1b, 0x06, 0x1b, 0x1c,
0x44, 0x03, 0x41, 0x43, 0x73, 0x4a, 0x77, 0xbe, 0x82, 0x20, 0x87, 0x74,
0x15, 0xa6, 0xdb, 0xa0, 0x73, 0xc3, 0x87, 0x16, 0x05, 0x38, 0x05, 0x42,
0xa9, 0xf2, 0x52, 0x52, 0xa4, 0xba, 0xbe, 0x83, 0x31, 0xcd, 0xd5, 0x3c,
0xf8, 0x28, 0x42, 0x3f, 0x3c, 0xc7, 0x0b, 0x56, 0x06, 0x24, 0xd0, 0x58,
0x1f, 0xb1, 0x26, 0xb2, 0xed, 0x4f, 0x4e, 0xd3, 0x58, 0xf0, 0xeb, 0x80,
0x65, 0xcf, 0x17, 0x63, 0x99, 0xac, 0x1a, 0x84, 0x6a, 0x31, 0x05, 0x5f,
0x9a, 0xe8, 0xc9, 0xc2, 0x4a, 0x1b, 0xa0, 0x50, 0xbc, 0x20, 0x84, 0x21,
0x25, 0xbc, 0x17, 0x53, 0x15, 0x8f, 0x80, 0x65, 0xf3, 0xad, 0xb9, 0xcc,
0x16, 0xbf, 0xdf, 0x83, 0x81, 0x6b, 0xdf, 0x38, 0xb6, 0x24, 0xf1, 0x20,
0x22, 0xc5, 0xa6, 0xfb, 0xfe, 0x29, 0xbc, 0x91, 0x54, 0x2b, 0xe8, 0xc0,
0x20, 0x8a, 0x77, 0x0b, 0xcd, 0x67, 0x7d, 0xc5, 0x97, 0xf5, 0x55, 0x7d,
0xc2, 0xce, 0x28, 0xa1, 0x1b, 0xf3, 0xe3, 0x85, 0x7f, 0x15, 0x87, 0x17,
0xa3, 0x3f, 0x65, 0x92},
{},
false,
true},
// ciphertext that starts with a null byte, decrypts to real 11 byte
// long plaintext
{0,
// lorem ipsum
{0x6c, 0x6f, 0x72, 0x65, 0x6d, 0x20, 0x69, 0x70, 0x73, 0x75, 0x6d},
{0x00, 0xa2, 0xe8, 0xf1, 0x14, 0xea, 0x8d, 0x05, 0xd1, 0x2d, 0xc8, 0x43,
0xe3, 0xcc, 0x3b, 0x2e, 0xdc, 0x82, 0x29, 0xff, 0x2a, 0x02, 0x8b, 0xda,
0x29, 0xba, 0x9d, 0x55, 0xe3, 0xcd, 0x02, 0x91, 0x19, 0x02, 0xfe, 0xf1,
0xf4, 0x2a, 0x07, 0x5b, 0xf0, 0x5e, 0x80, 0x16, 0xe8, 0x56, 0x72, 0x13,
0xd6, 0xf2, 0x60, 0xfa, 0x49, 0xe3, 0x60, 0x77, 0x9d, 0xd8, 0x1a, 0xee,
0xa3, 0xe0, 0x4c, 0x2c, 0xb5, 0x67, 0xe0, 0xd7, 0x2b, 0x98, 0xbf, 0x75,
0x40, 0x14, 0x56, 0x1b, 0x75, 0x11, 0xe0, 0x83, 0xd2, 0x0e, 0x0b, 0xfb,
0x9c, 0xd2, 0x3f, 0x8a, 0x0d, 0x3c, 0x88, 0x90, 0x0c, 0x49, 0xd2, 0xfc,
0xd5, 0x84, 0x3f, 0xf0, 0x76, 0x56, 0x07, 0xb2, 0x02, 0x6f, 0x28, 0x20,
0x2a, 0x87, 0xaa, 0x94, 0x67, 0x8a, 0xed, 0x22, 0xa0, 0xc2, 0x07, 0x24,
0x54, 0x13, 0x94, 0xcd, 0x8f, 0x44, 0xe3, 0x73, 0xeb, 0xa1, 0xd2, 0xba,
0xe9, 0x8f, 0x51, 0x6c, 0x1e, 0x2b, 0xa3, 0xd8, 0x68, 0x52, 0xd0, 0x64,
0xf8, 0x56, 0xb1, 0xda, 0xf2, 0x47, 0x95, 0xe7, 0x67, 0xa2, 0xb9, 0x03,
0x96, 0xe5, 0x07, 0x43, 0xe3, 0x15, 0x06, 0x64, 0xaf, 0xab, 0x13, 0x1f,
0xe4, 0x0e, 0xa4, 0x05, 0xdc, 0xf5, 0x72, 0xdd, 0x10, 0x79, 0xaf, 0x1d,
0x3f, 0x03, 0x92, 0xcc, 0xad, 0xcc, 0xa0, 0xa1, 0x27, 0x40, 0xdb, 0xb2,
0x13, 0xb9, 0x25, 0xca, 0x2a, 0x06, 0xb1, 0xbc, 0x13, 0x83, 0xe8, 0x3a,
0x65, 0x8c, 0x82, 0xba, 0x2e, 0x74, 0x27, 0x34, 0x23, 0x79, 0x08, 0x4d,
0x5f, 0x66, 0xb5, 0x44, 0x57, 0x9f, 0x07, 0x66, 0x4c, 0xb2, 0x6e, 0xdd,
0x4f, 0x10, 0xfd, 0x91, 0x3f, 0xdb, 0xc0, 0xde, 0x05, 0xef, 0x88, 0x7d,
0x4d, 0x1e, 0xc1, 0xac, 0x95, 0x65, 0x23, 0x97, 0xea, 0x7f, 0xd4, 0xe4,
0x75, 0x9f, 0xda, 0x8b},
{},
false,
true},
// ciphertext that starts with two null bytes, decrypts to real 11 byte
// long plaintext
{0,
// lorem ipsum
{0x6c, 0x6f, 0x72, 0x65, 0x6d, 0x20, 0x69, 0x70, 0x73, 0x75, 0x6d},
{0x00, 0x00, 0x1f, 0x71, 0x87, 0x9b, 0x42, 0x61, 0x27, 0xf7, 0xde, 0xad,
0x62, 0x1f, 0x73, 0x80, 0xa7, 0x09, 0x8c, 0xf7, 0xd2, 0x21, 0x73, 0xaa,
0x27, 0x99, 0x1b, 0x14, 0x3c, 0x46, 0xd5, 0x33, 0x83, 0xc2, 0x09, 0xbd,
0x0c, 0x9c, 0x00, 0xd8, 0x40, 0x78, 0x03, 0x7e, 0x71, 0x5f, 0x6b, 0x98,
0xc6, 0x50, 0x05, 0xa7, 0x71, 0x20, 0x07, 0x05, 0x22, 0xed, 0xe5, 0x1d,
0x47, 0x2c, 0x87, 0xef, 0x94, 0xb9, 0x4e, 0xad, 0x4c, 0x54, 0x28, 0xee,
0x10, 0x8a, 0x34, 0x55, 0x61, 0x65, 0x83, 0x01, 0x91, 0x1e, 0xc5, 0xa8,
0xf7, 0xdd, 0x43, 0xed, 0x4a, 0x39, 0x57, 0xfd, 0x29, 0xfb, 0x02, 0xa3,
0x52, 0x9b, 0xf6, 0x3f, 0x80, 0x40, 0xd3, 0x95, 0x34, 0x90, 0x93, 0x9b,
0xd8, 0xf7, 0x8b, 0x2a, 0x34, 0x04, 0xb6, 0xfb, 0x5f, 0xf7, 0x0a, 0x4b,
0xfd, 0xaa, 0xc5, 0xc5, 0x41, 0xd6, 0xbc, 0xce, 0x49, 0xc9, 0x77, 0x8c,
0xc3, 0x90, 0xbe, 0x24, 0xcb, 0xef, 0x1d, 0x1e, 0xca, 0x7e, 0x87, 0x04,
0x57, 0x24, 0x1d, 0x3f, 0xf7, 0x2c, 0xa4, 0x4f, 0x9f, 0x56, 0xbd, 0xf3,
0x1a, 0x89, 0x0f, 0xa5, 0xeb, 0x3a, 0x91, 0x07, 0xb6, 0x03, 0xcc, 0xc9,
0xd0, 0x6a, 0x5d, 0xd9, 0x11, 0xa6, 0x64, 0xc8, 0x2b, 0x6a, 0xbd, 0x4f,
0xe0, 0x36, 0xf8, 0xdb, 0x8d, 0x5a, 0x07, 0x0c, 0x2d, 0x86, 0x38, 0x6a,
0xe1, 0x8d, 0x97, 0xad, 0xc1, 0x84, 0x76, 0x40, 0xc2, 0x11, 0xd9, 0x1f,
0xf5, 0xc3, 0x38, 0x75, 0x74, 0xa2, 0x6f, 0x8e, 0xf2, 0x7c, 0xa7, 0xf4,
0x8d, 0x2d, 0xd1, 0xf0, 0xc7, 0xf1, 0x4b, 0x81, 0xcc, 0x9d, 0x33, 0xee,
0x68, 0x53, 0x03, 0x1d, 0x3e, 0xcf, 0x10, 0xa9, 0x14, 0xff, 0xd9, 0x09,
0x47, 0x90, 0x9c, 0x80, 0x11, 0xfd, 0x30, 0x24, 0x92, 0x19, 0x34, 0x8e,
0xbf, 0xf7, 0x6b, 0xfc},
{},
false,
true},
// valid ciphertext that generates a zero length fake plaintext
{0,
// lorem ipsum
{0x6c, 0x6f, 0x72, 0x65, 0x6d, 0x20, 0x69, 0x70, 0x73, 0x75, 0x6d},
{0xb5, 0xe4, 0x93, 0x08, 0xf6, 0xe9, 0x59, 0x00, 0x14, 0xff, 0xaf, 0xfc,
0x5b, 0x85, 0x60, 0x75, 0x57, 0x39, 0xdd, 0x50, 0x1f, 0x1d, 0x4e, 0x92,
0x27, 0xa7, 0xd2, 0x91, 0x40, 0x8c, 0xf4, 0xb7, 0x53, 0xf2, 0x92, 0x32,
0x2f, 0xf8, 0xbe, 0xad, 0x61, 0x3b, 0xf2, 0xca, 0xa1, 0x81, 0xb2, 0x21,
0xbc, 0x38, 0xca, 0xf6, 0x39, 0x2d, 0xea, 0xfb, 0x28, 0xeb, 0x21, 0xad,
0x60, 0x93, 0x08, 0x41, 0xed, 0x02, 0xfd, 0x62, 0x25, 0xcc, 0x9c, 0x46,
0x34, 0x09, 0xad, 0xbe, 0x7d, 0x8f, 0x32, 0x44, 0x02, 0x12, 0xfb, 0xe3,
0x88, 0x1c, 0x51, 0x37, 0x5b, 0xb0, 0x95, 0x65, 0xef, 0xb2, 0x2e, 0x62,
0xb0, 0x71, 0x47, 0x2f, 0xb3, 0x86, 0x76, 0xe5, 0xb4, 0xe2, 0x3a, 0x06,
0x17, 0xdb, 0x5d, 0x14, 0xd9, 0x35, 0x19, 0xac, 0x00, 0x07, 0xa3, 0x0a,
0x9c, 0x82, 0x2e, 0xb3, 0x1c, 0x38, 0xb5, 0x7f, 0xcb, 0x1b, 0xe2, 0x96,
0x08, 0xfc, 0xf1, 0xca, 0x2a, 0xbd, 0xca, 0xf5, 0xd5, 0x75, 0x2b, 0xbc,
0x2b, 0x5a, 0xc7, 0xdb, 0xa5, 0xaf, 0xcf, 0xf4, 0xa5, 0x64, 0x1d, 0xa3,
0x60, 0xdd, 0x01, 0xf7, 0x11, 0x25, 0x39, 0xb1, 0xed, 0x46, 0xcd, 0xb5,
0x50, 0xa3, 0xb1, 0x00, 0x65, 0x59, 0xb9, 0xfe, 0x18, 0x91, 0x03, 0x0e,
0xc8, 0x0f, 0x07, 0x27, 0xc4, 0x24, 0x01, 0xdd, 0xd6, 0xcb, 0xb5, 0xe3,
0xc8, 0x0f, 0x31, 0x2d, 0xf6, 0xec, 0x89, 0x39, 0x4c, 0x5a, 0x71, 0x18,
0xf5, 0x73, 0x10, 0x5e, 0x7a, 0xb0, 0x0f, 0xe5, 0x78, 0x33, 0xc1, 0x26,
0x14, 0x1b, 0x50, 0xa9, 0x35, 0x22, 0x48, 0x42, 0xad, 0xdf, 0xb4, 0x79,
0xf7, 0x51, 0x60, 0x65, 0x9b, 0xa2, 0x88, 0x77, 0xb5, 0x12, 0xbb, 0x9a,
0x93, 0x08, 0x4a, 0xd8, 0xbe, 0xc5, 0x40, 0xf9, 0x26, 0x40, 0xf6, 0x3a,
0x11, 0xa0, 0x10, 0xe0},
{},
false,
true},
// valid ciphertext that generates a 245 byte long fake plaintext
{0,
// lorem ipsum
{0x6c, 0x6f, 0x72, 0x65, 0x6d, 0x20, 0x69, 0x70, 0x73, 0x75, 0x6d},
{0x1e, 0xa0, 0xb5, 0x0c, 0xa6, 0x52, 0x03, 0xd0, 0xa0, 0x92, 0x80, 0xd3,
0x97, 0x04, 0xb2, 0x4f, 0xe6, 0xe4, 0x78, 0x00, 0x18, 0x9d, 0xb5, 0x03,
0x3f, 0x20, 0x27, 0x61, 0xa7, 0x8b, 0xaf, 0xb2, 0x70, 0xc5, 0xe2, 0x5a,
0xbd, 0x1f, 0x7e, 0xcc, 0x6e, 0x7a, 0xbc, 0x4f, 0x26, 0xd1, 0xb0, 0xcd,
0x9b, 0x8c, 0x64, 0x8d, 0x52, 0x94, 0x16, 0xee, 0x64, 0xcc, 0xbd, 0xd7,
0xaa, 0x72, 0xa7, 0x71, 0xd0, 0x35, 0x32, 0x62, 0xb5, 0x43, 0xf0, 0xe4,
0x36, 0x07, 0x6f, 0x40, 0xa1, 0x09, 0x5f, 0x5c, 0x7d, 0xfd, 0x10, 0xdc,
0xf0, 0x05, 0x9c, 0xcb, 0x30, 0xe9, 0x2d, 0xfa, 0x5e, 0x01, 0x56, 0x61,
0x82, 0x15, 0xf1, 0xc3, 0xff, 0x3a, 0xa9, 0x97, 0xa9, 0xd9, 0x99, 0xe5,
0x06, 0x92, 0x4f, 0x52, 0x89, 0xe3, 0xac, 0x72, 0xe5, 0xe2, 0x08, 0x6c,
0xc7, 0xb4, 0x99, 0xd7, 0x15, 0x83, 0xed, 0x56, 0x10, 0x28, 0x67, 0x11,
0x55, 0xdb, 0x40, 0x05, 0xbe, 0xe0, 0x18, 0x00, 0xa7, 0xcd, 0xbd, 0xae,
0x78, 0x1d, 0xd3, 0x21, 0x99, 0xb8, 0x91, 0x4b, 0x5d, 0x40, 0x11, 0xdd,
0x6f, 0xf1, 0x1c, 0xd2, 0x6d, 0x46, 0xaa, 0xd5, 0x49, 0x34, 0xd2, 0x93,
0xb0, 0xbc, 0x40, 0x3d, 0xd2, 0x11, 0xbf, 0x13, 0xb5, 0xa5, 0xc6, 0x83,
0x6a, 0x5e, 0x76, 0x99, 0x30, 0xf4, 0x37, 0xff, 0xd8, 0x63, 0x4f, 0xb7,
0x37, 0x17, 0x76, 0xf4, 0xbc, 0x88, 0xfa, 0x6c, 0x27, 0x1d, 0x8a, 0xa6,
0x01, 0x3d, 0xf8, 0x9a, 0xe6, 0x47, 0x01, 0x54, 0x49, 0x7c, 0x4a, 0xc8,
0x61, 0xbe, 0x2a, 0x1c, 0x65, 0xeb, 0xff, 0xec, 0x13, 0x9b, 0xf7, 0xaa,
0xba, 0x3a, 0x81, 0xc7, 0xc5, 0xcd, 0xd8, 0x4d, 0xa9, 0xaf, 0x5d, 0x3e,
0xdf, 0xb9, 0x57, 0x84, 0x80, 0x74, 0x68, 0x6b, 0x58, 0x37, 0xec, 0xbc,
0xb6, 0xa4, 0x1c, 0x50},
{},
false,
true},
// a random ciphertext that generates a fake 11 byte plaintext
// and fails padding check
{0,
{0xaf, 0x9a, 0xc7, 0x01, 0x91, 0xc9, 0x24, 0x13, 0xcb, 0x9f, 0x2d},
{0x5f, 0x02, 0xf4, 0xb1, 0xf4, 0x69, 0x35, 0xc7, 0x42, 0xeb, 0xe6, 0x2b,
0x6f, 0x05, 0xaa, 0x0a, 0x32, 0x86, 0xaa, 0xb9, 0x1a, 0x49, 0xb3, 0x47,
0x80, 0xad, 0xde, 0x64, 0x10, 0xab, 0x46, 0xf7, 0x38, 0x6e, 0x05, 0x74,
0x83, 0x31, 0x86, 0x4a, 0xc9, 0x8e, 0x1d, 0xa6, 0x36, 0x86, 0xe4, 0xba,
0xbe, 0x3a, 0x19, 0xed, 0x40, 0xa7, 0xf5, 0xce, 0xef, 0xb8, 0x91, 0x79,
0x59, 0x6a, 0xab, 0x07, 0xab, 0x10, 0x15, 0xe0, 0x3b, 0x8f, 0x82, 0x50,
0x84, 0xda, 0xb0, 0x28, 0xb6, 0x73, 0x12, 0x88, 0xf2, 0xe5, 0x11, 0xa4,
0xb3, 0x14, 0xb6, 0xea, 0x39, 0x97, 0xd2, 0xe8, 0xfe, 0x28, 0x25, 0xce,
0xf8, 0x89, 0x7c, 0xbb, 0xdf, 0xb6, 0xc9, 0x39, 0xd4, 0x41, 0xd6, 0xe0,
0x49, 0x48, 0x41, 0x4b, 0xb6, 0x9e, 0x68, 0x29, 0x27, 0xef, 0x85, 0x76,
0xc9, 0xa7, 0x09, 0x0d, 0x4a, 0xad, 0x0e, 0x74, 0xc5, 0x20, 0xd6, 0xd5,
0xce, 0x63, 0xa1, 0x54, 0x72, 0x0f, 0x00, 0xb7, 0x6d, 0xe8, 0xcc, 0x55,
0x0b, 0x1a, 0xa1, 0x4f, 0x01, 0x6d, 0x63, 0xa7, 0xb6, 0xd6, 0xea, 0xa1,
0xf7, 0xdb, 0xe9, 0xe5, 0x02, 0x00, 0xd3, 0x15, 0x9b, 0x3d, 0x09, 0x9c,
0x90, 0x01, 0x16, 0xbf, 0x4e, 0xba, 0x3b, 0x94, 0x20, 0x4f, 0x18, 0xb1,
0x31, 0x7b, 0x07, 0x52, 0x97, 0x51, 0xab, 0xf6, 0x4a, 0x26, 0xb0, 0xa0,
0xbf, 0x1c, 0x8c, 0xe7, 0x57, 0x33, 0x3b, 0x3d, 0x67, 0x32, 0x11, 0xb6,
0x7c, 0xc0, 0x65, 0x3f, 0x2f, 0xe2, 0x62, 0x0d, 0x57, 0xc8, 0xb6, 0xee,
0x57, 0x4a, 0x03, 0x23, 0xa1, 0x67, 0xea, 0xb1, 0x10, 0x6d, 0x9b, 0xc7,
0xfd, 0x90, 0xd4, 0x15, 0xbe, 0x5f, 0x1e, 0x98, 0x91, 0xa0, 0xe6, 0xc7,
0x09, 0xf4, 0xfc, 0x04, 0x04, 0xe8, 0x22, 0x6f, 0x84, 0x77, 0xb4, 0xe9,
0x39, 0xb3, 0x6e, 0xb2},
{},
false,
true},
// an otherwise correct plaintext, but with wrong first byte
// (0x01 instead of 0x00), generates a random 11 byte long plaintext
{0,
{0xa1, 0xf8, 0xc9, 0x25, 0x5c, 0x35, 0xcf, 0xba, 0x40, 0x3c, 0xcc},
{0x9b, 0x2e, 0xc9, 0xc0, 0xc9, 0x17, 0xc9, 0x8f, 0x1a, 0xd3, 0xd0, 0x11,
0x9a, 0xec, 0x6b, 0xe5, 0x1a, 0xe3, 0x10, 0x6e, 0x9a, 0xf1, 0x91, 0x4d,
0x48, 0x60, 0x0a, 0xb6, 0xa2, 0xc0, 0xc0, 0xc8, 0xae, 0x02, 0xa2, 0xdc,
0x30, 0x39, 0x90, 0x6f, 0xf3, 0xaa, 0xc9, 0x04, 0xaf, 0x32, 0xec, 0x79,
0x8f, 0xd6, 0x5f, 0x3a, 0xd1, 0xaf, 0xa2, 0xe6, 0x94, 0x00, 0xe7, 0xc1,
0xde, 0x81, 0xf5, 0x72, 0x8f, 0x3b, 0x32, 0x91, 0xf3, 0x82, 0x63, 0xbc,
0x7a, 0x90, 0xa0, 0x56, 0x3e, 0x43, 0xce, 0x7a, 0x0d, 0x4e, 0xe9, 0xc0,
0xd8, 0xa7, 0x16, 0x62, 0x1c, 0xa5, 0xd3, 0xd0, 0x81, 0x18, 0x87, 0x69,
0xce, 0x1b, 0x13, 0x1a, 0xf7, 0xd3, 0x5b, 0x13, 0xde, 0xa9, 0x91, 0x53,
0x57, 0x9c, 0x86, 0xdb, 0x31, 0xfe, 0x07, 0xd5, 0xa2, 0xc1, 0x4d, 0x62,
0x1b, 0x77, 0x85, 0x4e, 0x48, 0xa8, 0xdf, 0x41, 0xb5, 0x79, 0x85, 0x63,
0xaf, 0x48, 0x9a, 0x29, 0x1e, 0x41, 0x7b, 0x6a, 0x33, 0x4c, 0x63, 0x22,
0x26, 0x27, 0x37, 0x61, 0x18, 0xc0, 0x2c, 0x53, 0xb6, 0xe8, 0x63, 0x10,
0xf7, 0x28, 0x73, 0x4f, 0xfc, 0x86, 0xef, 0x9d, 0x7c, 0x8b, 0xf5, 0x6c,
0x0c, 0x84, 0x1b, 0x24, 0xb8, 0x2b, 0x59, 0xf5, 0x1a, 0xee, 0x45, 0x26,
0xba, 0x1c, 0x42, 0x68, 0x50, 0x6d, 0x30, 0x1e, 0x4e, 0xbc, 0x49, 0x8c,
0x6a, 0xeb, 0xb6, 0xfd, 0x52, 0x58, 0xc8, 0x76, 0xbf, 0x90, 0x0b, 0xac,
0x8c, 0xa4, 0xd3, 0x09, 0xdd, 0x52, 0x2f, 0x6a, 0x63, 0x43, 0x59, 0x9a,
0x8b, 0xc3, 0x76, 0x0f, 0x42, 0x2c, 0x10, 0xc7, 0x2d, 0x0a, 0xd5, 0x27,
0xce, 0x4a, 0xf1, 0x87, 0x41, 0x24, 0xac, 0xe3, 0xd9, 0x9b, 0xb7, 0x4d,
0xb8, 0xd6, 0x9d, 0x25, 0x28, 0xdb, 0x22, 0xc3, 0xa3, 0x76, 0x44, 0x64,
0x0f, 0x95, 0xc0, 0x5f},
{},
false,
true},
// an otherwise correct plaintext, but with wrong second byte
// (0x01 instead of 0x02), generates a random 11 byte long plaintext
{0,
{0xe6, 0xd7, 0x00, 0x30, 0x9c, 0xa0, 0xed, 0x62, 0x45, 0x22, 0x54},
{0x78, 0x2c, 0x2b, 0x59, 0xa2, 0x1a, 0x51, 0x12, 0x43, 0x82, 0x0a, 0xce,
0xdd, 0x56, 0x7c, 0x13, 0x6f, 0x6d, 0x30, 0x90, 0xc1, 0x15, 0x23, 0x2a,
0x82, 0xa5, 0xef, 0xb0, 0xb1, 0x78, 0x28, 0x5f, 0x55, 0xb5, 0xec, 0x2d,
0x2b, 0xac, 0x96, 0xbf, 0x00, 0xd6, 0x59, 0x2e, 0xa7, 0xcd, 0xc3, 0x34,
0x16, 0x10, 0xc8, 0xfb, 0x07, 0xe5, 0x27, 0xe5, 0xe2, 0xd2, 0x0c, 0xfa,
0xf2, 0xc7, 0xf2, 0x3e, 0x37, 0x54, 0x31, 0xf4, 0x5e, 0x99, 0x89, 0x29,
0xa0, 0x2f, 0x25, 0xfd, 0x95, 0x35, 0x4c, 0x33, 0x83, 0x80, 0x90, 0xbc,
0xa8, 0x38, 0x50, 0x22, 0x59, 0xe9, 0x2d, 0x86, 0xd5, 0x68, 0xbc, 0x2c,
0xdb, 0x13, 0x2f, 0xab, 0x2a, 0x39, 0x95, 0x93, 0xca, 0x60, 0xa0, 0x15,
0xdc, 0x2b, 0xb1, 0xaf, 0xcd, 0x64, 0xfe, 0xf8, 0xa3, 0x83, 0x4e, 0x17,
0xe5, 0x35, 0x8d, 0x82, 0x29, 0x80, 0xdc, 0x44, 0x6e, 0x84, 0x5b, 0x3a,
0xb4, 0x70, 0x2b, 0x1e, 0xe4, 0x1f, 0xe5, 0xdb, 0x71, 0x6d, 0x92, 0x34,
0x8d, 0x50, 0x91, 0xc1, 0x5d, 0x35, 0xa1, 0x10, 0x55, 0x5a, 0x35, 0xde,
0xb4, 0x65, 0x0a, 0x5a, 0x1d, 0x2c, 0x98, 0x02, 0x5d, 0x42, 0xd4, 0x54,
0x4f, 0x8b, 0x32, 0xaa, 0x6a, 0x5e, 0x02, 0xdc, 0x02, 0xde, 0xae, 0xd9,
0xa7, 0x31, 0x3b, 0x73, 0xb4, 0x9b, 0x0d, 0x47, 0x72, 0xa3, 0x76, 0x8b,
0x0e, 0xa0, 0xdb, 0x58, 0x46, 0xac, 0xe6, 0x56, 0x9c, 0xae, 0x67, 0x7b,
0xf6, 0x7f, 0xb0, 0xac, 0xf3, 0xc2, 0x55, 0xdc, 0x01, 0xec, 0x84, 0x00,
0xc9, 0x63, 0xb6, 0xe4, 0x9b, 0x10, 0x67, 0x72, 0x8b, 0x4e, 0x56, 0x3d,
0x7e, 0x1e, 0x15, 0x15, 0x66, 0x43, 0x47, 0xb9, 0x2e, 0xe6, 0x4d, 0xb7,
0xef, 0xb5, 0x45, 0x23, 0x57, 0xa0, 0x2f, 0xff, 0x7f, 0xcb, 0x74, 0x37,
0xab, 0xc2, 0xe5, 0x79},
{},
false,
true},
// an otherwise correct plaintext, but with wrong second byte
// (0x00 instead of 0x02), and a 0x02 on third position, generates a
// random 11 byte long plaintext
{0,
{0x3d, 0x4a, 0x05, 0x4d, 0x93, 0x58, 0x20, 0x9e, 0x9c, 0xbb, 0xb9},
{0x17, 0x86, 0x55, 0x0c, 0xe8, 0xd8, 0x43, 0x30, 0x52, 0xe0, 0x1e, 0xcb,
0xa8, 0xb7, 0x6d, 0x30, 0x19, 0xf1, 0x35, 0x5b, 0x21, 0x2a, 0xc9, 0xd0,
0xf5, 0x19, 0x1b, 0x02, 0x33, 0x25, 0xa7, 0xe7, 0x71, 0x4b, 0x78, 0x02,
0xf8, 0xe9, 0xa1, 0x7c, 0x4c, 0xb3, 0xcd, 0x3a, 0x84, 0x04, 0x18, 0x91,
0x47, 0x1b, 0x10, 0xca, 0x1f, 0xcf, 0xb5, 0xd0, 0x41, 0xd3, 0x4c, 0x82,
0xe6, 0xd0, 0x01, 0x1c, 0xf4, 0xdc, 0x76, 0xb9, 0x0e, 0x9c, 0x2e, 0x07,
0x43, 0x59, 0x05, 0x79, 0xd5, 0x5b, 0xcd, 0x78, 0x57, 0x05, 0x71, 0x52,
0xc4, 0xa8, 0x04, 0x03, 0x61, 0x34, 0x3d, 0x1d, 0x22, 0xba, 0x67, 0x7d,
0x62, 0xb0, 0x11, 0x40, 0x7c, 0x65, 0x2e, 0x23, 0x4b, 0x1d, 0x66, 0x3a,
0xf2, 0x5e, 0x23, 0x86, 0x25, 0x1d, 0x74, 0x09, 0x19, 0x0f, 0x19, 0xfc,
0x8e, 0xc3, 0xf9, 0x37, 0x4f, 0xdf, 0x12, 0x54, 0x63, 0x38, 0x74, 0xce,
0x2e, 0xc2, 0xbf, 0xf4, 0x0a, 0xd0, 0xcb, 0x47, 0x3f, 0x97, 0x61, 0xec,
0x7b, 0x68, 0xda, 0x45, 0xa4, 0xbd, 0x5e, 0x33, 0xf5, 0xd7, 0xda, 0xc9,
0xb9, 0xa2, 0x08, 0x21, 0xdf, 0x94, 0x06, 0xb6, 0x53, 0xf7, 0x8a, 0x95,
0xa6, 0xc0, 0xea, 0x0a, 0x4d, 0x57, 0xf8, 0x67, 0xe4, 0xdb, 0x22, 0xc1,
0x7b, 0xf9, 0xa1, 0x2c, 0x15, 0x0f, 0x80, 0x9a, 0x7b, 0x72, 0xb6, 0xdb,
0x86, 0xc2, 0x2a, 0x87, 0x32, 0x24, 0x1e, 0xbf, 0x3c, 0x6a, 0x4f, 0x2c,
0xf8, 0x26, 0x71, 0xd9, 0x17, 0xab, 0xa8, 0xbc, 0x61, 0x05, 0x2b, 0x40,
0xcc, 0xdd, 0xd7, 0x43, 0xa9, 0x4e, 0xa9, 0xb5, 0x38, 0x17, 0x51, 0x06,
0x20, 0x19, 0x71, 0xcc, 0xa9, 0xd1, 0x36, 0xd2, 0x50, 0x81, 0x73, 0x9a,
0xaf, 0x6c, 0xd1, 0x8b, 0x2a, 0xec, 0xf9, 0xad, 0x32, 0x0e, 0xa3, 0xf8,
0x95, 0x02, 0xf9, 0x55},
{},
false,
true},
// an otherwise correct plaintext, but with a null byte on third
// position (first byte of padding), generates a random 11 byte
// long payload
{0,
{0x1f, 0x03, 0x7d, 0xd7, 0x17, 0xb0, 0x7d, 0x3e, 0x7f, 0x73, 0x59},
{0x17, 0x95, 0x98, 0x82, 0x38, 0x12, 0xd2, 0xc5, 0x8a, 0x7e, 0xb5, 0x05,
0x21, 0x15, 0x0a, 0x48, 0xbc, 0xca, 0x8b, 0x4e, 0xb5, 0x34, 0x14, 0x01,
0x8b, 0x6b, 0xca, 0x19, 0xf4, 0x80, 0x14, 0x56, 0xc5, 0xe3, 0x6a, 0x94,
0x00, 0x37, 0xac, 0x51, 0x6b, 0x0d, 0x64, 0x12, 0xba, 0x44, 0xec, 0x6b,
0x4f, 0x26, 0x8a, 0x55, 0xef, 0x1c, 0x5f, 0xfb, 0xf1, 0x8a, 0x2f, 0x4e,
0x35, 0x22, 0xbb, 0x7b, 0x6e, 0xd8, 0x97, 0x74, 0xb7, 0x9b, 0xff, 0xa2,
0x2f, 0x7d, 0x31, 0x02, 0x16, 0x55, 0x65, 0x64, 0x2d, 0xe0, 0xd4, 0x3a,
0x95, 0x5e, 0x96, 0xa1, 0xf2, 0xe8, 0x0e, 0x54, 0x30, 0x67, 0x1d, 0x72,
0x66, 0xeb, 0x4f, 0x90, 0x5d, 0xc8, 0xff, 0x5e, 0x10, 0x6d, 0xc5, 0x58,
0x8e, 0x5b, 0x02, 0x89, 0xe4, 0x9a, 0x49, 0x13, 0x94, 0x0e, 0x39, 0x2a,
0x97, 0x06, 0x26, 0x16, 0xd2, 0xbd, 0xa3, 0x81, 0x55, 0x47, 0x1b, 0x7d,
0x36, 0x0c, 0xfb, 0x94, 0x68, 0x1c, 0x70, 0x2f, 0x60, 0xed, 0x2d, 0x4d,
0xe6, 0x14, 0xea, 0x72, 0xbf, 0x1c, 0x53, 0x16, 0x0e, 0x63, 0x17, 0x9f,
0x6c, 0x5b, 0x89, 0x7b, 0x59, 0x49, 0x2b, 0xee, 0x21, 0x91, 0x08, 0x30,
0x9f, 0x0b, 0x7b, 0x8c, 0xb2, 0xb1, 0x36, 0xc3, 0x46, 0xa5, 0xe9, 0x8b,
0x8b, 0x4b, 0x84, 0x15, 0xfb, 0x1d, 0x71, 0x3b, 0xae, 0x06, 0x79, 0x11,
0xe3, 0x05, 0x7f, 0x1c, 0x33, 0x5b, 0x4b, 0x7e, 0x39, 0x10, 0x1e, 0xaf,
0xd5, 0xd2, 0x8f, 0x01, 0x89, 0x03, 0x7e, 0x43, 0x34, 0xf4, 0xfd, 0xb9,
0x03, 0x84, 0x27, 0xb1, 0xd1, 0x19, 0xa6, 0x70, 0x2a, 0xa8, 0x23, 0x33,
0x19, 0xcc, 0x97, 0xd4, 0x96, 0xcc, 0x28, 0x9a, 0xe8, 0xc9, 0x56, 0xdd,
0xc8, 0x40, 0x42, 0x65, 0x9a, 0x2d, 0x43, 0xd6, 0xaa, 0x22, 0xf1, 0x2b,
0x81, 0xab, 0x88, 0x4e},
{},
false,
true},
// an otherwise correct plaintext, but with a null byte on tenth
// position (eight byte of padding), generates a random 11 byte long
// plaintext
{0,
{0x63, 0xcb, 0x0b, 0xf6, 0x5f, 0xc8, 0x25, 0x5d, 0xd2, 0x9e, 0x17},
{0xa7, 0xa3, 0x40, 0x67, 0x5a, 0x82, 0xc3, 0x0e, 0x22, 0x21, 0x9a, 0x55,
0xbc, 0x07, 0xcd, 0xf3, 0x6d, 0x47, 0xd0, 0x18, 0x34, 0xc1, 0x83, 0x4f,
0x91, 0x7f, 0x18, 0xb5, 0x17, 0x41, 0x9c, 0xe9, 0xde, 0x2a, 0x96, 0x46,
0x0e, 0x74, 0x50, 0x24, 0x43, 0x64, 0x70, 0xed, 0x85, 0xe9, 0x42, 0x97,
0xb2, 0x83, 0x53, 0x7d, 0x52, 0x18, 0x9c, 0x40, 0x6a, 0x3f, 0x53, 0x3c,
0xb4, 0x05, 0xcc, 0x6a, 0x9d, 0xba, 0x46, 0xb4, 0x82, 0xce, 0x98, 0xb6,
0xe3, 0xdd, 0x52, 0xd8, 0xfc, 0xe2, 0x23, 0x74, 0x25, 0x61, 0x7e, 0x38,
0xc1, 0x1f, 0xbc, 0x46, 0xb6, 0x18, 0x97, 0xef, 0x20, 0x0d, 0x01, 0xe4,
0xf2, 0x5f, 0x5f, 0x6c, 0x4c, 0x5b, 0x38, 0xcd, 0x0d, 0xe3, 0x8b, 0xa1,
0x19, 0x08, 0xb8, 0x65, 0x95, 0xa8, 0x03, 0x6a, 0x08, 0xa4, 0x2a, 0x3d,
0x05, 0xb7, 0x96, 0x00, 0xa9, 0x7a, 0xc1, 0x8b, 0xa3, 0x68, 0xa0, 0x8d,
0x6c, 0xf6, 0xcc, 0xb6, 0x24, 0xf6, 0xe8, 0x00, 0x2a, 0xfc, 0x75, 0x59,
0x9f, 0xba, 0x4d, 0xe3, 0xd4, 0xf3, 0xba, 0x7d, 0x20, 0x83, 0x91, 0xeb,
0xe8, 0xd2, 0x1f, 0x82, 0x82, 0xb1, 0x8e, 0x2c, 0x10, 0x86, 0x9e, 0xb2,
0x70, 0x2e, 0x68, 0xf9, 0x17, 0x6b, 0x42, 0xb0, 0xdd, 0xc9, 0xd7, 0x63,
0xf0, 0xc8, 0x6b, 0xa0, 0xff, 0x92, 0xc9, 0x57, 0xaa, 0xea, 0xb7, 0x6d,
0x9a, 0xb8, 0xda, 0x52, 0xea, 0x29, 0x7e, 0xc1, 0x1d, 0x92, 0xd7, 0x70,
0x14, 0x6f, 0xaa, 0x1b, 0x30, 0x0e, 0x0f, 0x91, 0xef, 0x96, 0x9b, 0x53,
0xe7, 0xd2, 0x90, 0x7f, 0xfc, 0x98, 0x4e, 0x9a, 0x9c, 0x9d, 0x11, 0xfb,
0x7d, 0x6c, 0xba, 0x91, 0x97, 0x20, 0x59, 0xb4, 0x65, 0x06, 0xb0, 0x35,
0xef, 0xec, 0x65, 0x75, 0xc4, 0x6d, 0x71, 0x14, 0xa6, 0xb9, 0x35, 0x86,
0x48, 0x58, 0x44, 0x5f},
{},
false,
true},
// an otherwise correct plaintext, but with missing zero separator
// decrypts to 11 byte random synthethic plaintext
{0,
{0x6f, 0x09, 0xa0, 0xb6, 0x26, 0x99, 0x33, 0x7c, 0x49, 0x7b, 0x0b},
{0x3d, 0x1b, 0x97, 0xe7, 0xaa, 0x34, 0xea, 0xf1, 0xf4, 0xfc, 0x17, 0x1c,
0xeb, 0x11, 0xdc, 0xff, 0xfd, 0x9a, 0x46, 0xa5, 0xb6, 0x96, 0x12, 0x05,
0xb1, 0x0b, 0x30, 0x28, 0x18, 0xc1, 0xfc, 0xc9, 0xf4, 0xec, 0x78, 0xbf,
0x18, 0xea, 0x0c, 0xee, 0x7e, 0x9f, 0xa5, 0xb1, 0x6f, 0xb4, 0xc6, 0x11,
0x46, 0x3b, 0x36, 0x8b, 0x33, 0x12, 0xac, 0x11, 0xcf, 0x9c, 0x06, 0xb7,
0xcf, 0x72, 0xb5, 0x4e, 0x28, 0x48, 0x48, 0xa5, 0x08, 0xd3, 0xf0, 0x23,
0x28, 0xc6, 0x2c, 0x29, 0x99, 0xd0, 0xfb, 0x60, 0x92, 0x9f, 0x81, 0x78,
0x3c, 0x7a, 0x25, 0x68, 0x91, 0xbc, 0x2f, 0xf4, 0xd9, 0x1d, 0xf2, 0xaf,
0x96, 0xa2, 0x4f, 0xc5, 0x70, 0x1a, 0x18, 0x23, 0xaf, 0x93, 0x9c, 0xe6,
0xdb, 0xdc, 0x51, 0x06, 0x08, 0xe3, 0xd4, 0x1e, 0xec, 0x17, 0x2a, 0xd2,
0xd5, 0x1b, 0x9f, 0xc6, 0x1b, 0x42, 0x17, 0xc9, 0x23, 0xca, 0xdc, 0xf5,
0xba, 0xc3, 0x21, 0x35, 0x5e, 0xf8, 0xbe, 0x5e, 0x5f, 0x09, 0x0c, 0xdc,
0x2b, 0xd0, 0xc6, 0x97, 0xd9, 0x05, 0x82, 0x47, 0xdb, 0x3a, 0xd6, 0x13,
0xfd, 0xce, 0x87, 0xd2, 0x95, 0x5a, 0x6d, 0x1c, 0x94, 0x8a, 0x51, 0x60,
0xf9, 0x3d, 0xa2, 0x1f, 0x73, 0x1d, 0x74, 0x13, 0x7f, 0x5d, 0x1f, 0x53,
0xa1, 0x92, 0x3a, 0xdb, 0x51, 0x3d, 0x2e, 0x6e, 0x15, 0x89, 0xd4, 0x4c,
0xc0, 0x79, 0xf4, 0xc6, 0xdd, 0xd4, 0x71, 0xd3, 0x8a, 0xc8, 0x2d, 0x20,
0xd8, 0xb1, 0xd2, 0x1f, 0x8d, 0x65, 0xf3, 0xb6, 0x90, 0x70, 0x86, 0x80,
0x9f, 0x41, 0x23, 0xe0, 0x8d, 0x86, 0xfb, 0x38, 0x72, 0x95, 0x85, 0xde,
0x02, 0x6a, 0x48, 0x5d, 0x8f, 0x0e, 0x70, 0x3f, 0xd4, 0x77, 0x2f, 0x66,
0x68, 0xfe, 0xbf, 0x67, 0xdf, 0x94, 0x7b, 0x82, 0x19, 0x5f, 0xa3, 0x86,
0x7e, 0x3a, 0x30, 0x65},
{},
false,
true}};
/* 2049 bit key from Hubert's Bleichenbacher tests */
static const std::vector<uint8_t> kRsaBb2049{
0x30, 0x82, 0x04, 0xbf, 0x02, 0x01, 0x01, 0x30, 0x0d, 0x06, 0x09, 0x2a,
0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x04, 0x82,
0x04, 0xa9, 0x30, 0x82, 0x04, 0xa5, 0x02, 0x01, 0x00, 0x02, 0x82, 0x01,
0x01, 0x01, 0x55, 0xf8, 0x89, 0x55, 0x6a, 0x17, 0x75, 0xf1, 0xc7, 0xa7,
0x78, 0x6a, 0x50, 0xb1, 0x8b, 0xc2, 0x8c, 0x9e, 0x98, 0x6e, 0xde, 0x56,
0x67, 0xca, 0xb3, 0x9b, 0x84, 0x12, 0x4e, 0x90, 0xeb, 0xa7, 0x5c, 0x1d,
0xb0, 0x83, 0xac, 0x3e, 0x44, 0x3b, 0xba, 0x94, 0xdc, 0x23, 0x56, 0x0f,
0x75, 0xe3, 0xa8, 0x16, 0x93, 0xa2, 0xa4, 0x3b, 0xdc, 0x74, 0x26, 0xd8,
0xc4, 0xea, 0xfe, 0x68, 0xc8, 0x5d, 0xe0, 0xfe, 0x75, 0x7f, 0x6e, 0x49,
0xbb, 0x9e, 0xd4, 0x47, 0xe6, 0x02, 0x43, 0x08, 0x00, 0xdb, 0xb0, 0x4c,
0xeb, 0x22, 0xe7, 0xfa, 0x57, 0xa1, 0x8d, 0x33, 0x8f, 0xb6, 0x60, 0x26,
0xcd, 0xb4, 0x67, 0xe7, 0x0c, 0xc0, 0x40, 0xe7, 0xd3, 0x67, 0xef, 0x40,
0x3c, 0x7b, 0xf1, 0xe3, 0xdf, 0x62, 0x46, 0x50, 0x09, 0x46, 0x31, 0xf2,
0x1e, 0xaf, 0xd2, 0xfb, 0x5b, 0xc9, 0x15, 0xff, 0x04, 0x37, 0x9a, 0xcd,
0x11, 0x12, 0xf7, 0x32, 0xc0, 0xb4, 0x66, 0x07, 0xc1, 0x78, 0xd3, 0x8a,
0x20, 0xf5, 0x2e, 0xda, 0x50, 0x9f, 0x2f, 0x9c, 0x04, 0x05, 0xd5, 0x10,
0x69, 0xe8, 0x0c, 0xcf, 0x94, 0x15, 0x54, 0xd0, 0x47, 0x04, 0x67, 0x50,
0x5c, 0x3c, 0xf5, 0x41, 0xea, 0x08, 0x97, 0xdf, 0xc9, 0xf4, 0x00, 0xce,
0xcb, 0x29, 0x8f, 0xfc, 0x75, 0x33, 0x72, 0xd9, 0xf6, 0x93, 0x3a, 0xf1,
0x74, 0xcc, 0x40, 0xed, 0x96, 0xd4, 0x67, 0x03, 0x17, 0x33, 0xb9, 0x7f,
0x8c, 0xdd, 0xd3, 0xf9, 0x2b, 0xc3, 0xa0, 0x3e, 0xa8, 0x57, 0x6c, 0x41,
0x7f, 0x24, 0x00, 0x7b, 0x5e, 0x4f, 0x75, 0x01, 0x10, 0x5b, 0x54, 0x4d,
0xe9, 0xfa, 0xdc, 0xdf, 0xfa, 0xdf, 0x98, 0xdf, 0xb4, 0xbb, 0x05, 0xb8,
0x19, 0x9f, 0x3f, 0x85, 0xac, 0xfd, 0x91, 0xf7, 0xa9, 0xa0, 0x94, 0xb9,
0xa3, 0x83, 0xf5, 0x04, 0x90, 0x97, 0x02, 0x03, 0x01, 0x00, 0x01, 0x02,
0x82, 0x01, 0x01, 0x01, 0x19, 0xc2, 0xb3, 0xf5, 0x0a, 0x7a, 0xd6, 0x15,
0x26, 0x79, 0xd7, 0xff, 0x51, 0x09, 0x58, 0xac, 0x2d, 0x8c, 0xa6, 0xf0,
0x02, 0x85, 0x92, 0xf3, 0x32, 0xd5, 0x5a, 0x16, 0x73, 0x61, 0x78, 0xa8,
0xe6, 0x7f, 0x17, 0xe7, 0x05, 0xce, 0x30, 0x0e, 0x3e, 0x87, 0x54, 0x72,
0x51, 0x00, 0x60, 0x13, 0xf9, 0x74, 0xd0, 0xa3, 0xdb, 0x49, 0xef, 0x34,
0x4c, 0xa5, 0xa2, 0x6a, 0x34, 0xc0, 0x45, 0x07, 0x04, 0xd0, 0xe4, 0x22,
0xe0, 0xce, 0x23, 0xa6, 0x94, 0x25, 0xc1, 0x5f, 0xef, 0xb6, 0xf2, 0x6e,
0x10, 0x6e, 0xef, 0xf6, 0x4c, 0xc8, 0xb9, 0xd7, 0x44, 0x2e, 0x4d, 0xa4,
0xe8, 0xc8, 0x50, 0x08, 0xea, 0xeb, 0x36, 0x58, 0x59, 0xa2, 0x29, 0x4f,
0xa3, 0x93, 0x7b, 0xc2, 0x6b, 0xe5, 0x63, 0x32, 0xe7, 0xd8, 0x1e, 0x2c,
0x16, 0x0e, 0xf6, 0x35, 0xcc, 0x52, 0x8a, 0xa7, 0xbe, 0x55, 0xe6, 0x33,
0xa7, 0x23, 0xdb, 0xc1, 0xe1, 0x6b, 0xa2, 0x9e, 0x52, 0xb2, 0x9a, 0xef,
0x2f, 0x9e, 0x56, 0x54, 0xfd, 0xc0, 0x66, 0x6b, 0xb0, 0xfc, 0x25, 0x4a,
0xcb, 0xe8, 0x0e, 0x63, 0x87, 0x4f, 0x0f, 0x5f, 0x02, 0x07, 0x82, 0xe3,
0xc9, 0xdc, 0xfc, 0x25, 0x20, 0xd0, 0xc9, 0xc4, 0xa7, 0xb6, 0x34, 0xe4,
0x50, 0x3f, 0xbb, 0x49, 0x3e, 0x1a, 0xaf, 0xee, 0xb3, 0xf8, 0x8b, 0xd7,
0xa1, 0x33, 0x98, 0x72, 0x5d, 0xae, 0x6f, 0xe3, 0x99, 0xe7, 0x75, 0xcd,
0x5d, 0x4c, 0xf0, 0x9f, 0xc8, 0x38, 0x34, 0x7c, 0x4c, 0x98, 0xda, 0xb1,
0xa4, 0x88, 0x3c, 0xce, 0x62, 0x05, 0x13, 0x61, 0x5a, 0xfa, 0xa1, 0x0a,
0x63, 0x36, 0x8e, 0x6d, 0x7b, 0x79, 0xdf, 0x41, 0x66, 0xab, 0x16, 0x27,
0x39, 0xef, 0x51, 0x5a, 0x44, 0x02, 0xee, 0x1e, 0x06, 0x01, 0xc5, 0xa5,
0x5b, 0xc7, 0x1d, 0xf0, 0xe3, 0x0e, 0xdf, 0x81, 0x02, 0x81, 0x81, 0x01,
0x88, 0xf6, 0x93, 0x60, 0xf0, 0x1e, 0x18, 0xd9, 0xa2, 0xde, 0x29, 0x52,
0x53, 0xd2, 0x52, 0xc3, 0x1e, 0x44, 0x76, 0xce, 0xa5, 0xff, 0x7b, 0xf8,
0x41, 0x3d, 0xf7, 0xfd, 0xe3, 0x56, 0x52, 0x3c, 0xdc, 0x97, 0x68, 0x05,
0xf8, 0x4f, 0xc0, 0xdd, 0xec, 0x77, 0x0d, 0xf0, 0x6c, 0xed, 0x06, 0x5c,
0x81, 0x13, 0x48, 0x75, 0x4b, 0x34, 0x6a, 0xf1, 0x69, 0x75, 0x68, 0x77,
0xfd, 0x3b, 0x3d, 0x56, 0x86, 0x82, 0xc8, 0x78, 0x7d, 0x0b, 0x31, 0x4e,
0xf6, 0xac, 0x67, 0xd6, 0x5e, 0x81, 0x33, 0x39, 0x8b, 0x62, 0xa0, 0x83,
0xc0, 0xf8, 0x76, 0x5c, 0x5a, 0xd4, 0x0d, 0x5a, 0x81, 0xf9, 0xbb, 0xdc,
0xe2, 0x52, 0x7e, 0xd7, 0xe9, 0x50, 0x08, 0xcb, 0x10, 0x29, 0xcb, 0x4c,
0xab, 0xd1, 0xf9, 0xe9, 0xbe, 0xdf, 0xc2, 0x86, 0xc9, 0x65, 0x52, 0x25,
0x5d, 0xa7, 0xea, 0xb1, 0x92, 0x17, 0x8e, 0xf7, 0x02, 0x81, 0x81, 0x00,
0xde, 0xc7, 0xcf, 0x11, 0xda, 0xde, 0x83, 0xa4, 0xc4, 0x3d, 0x2f, 0x80,
0x19, 0x7f, 0x21, 0xfd, 0x5d, 0x46, 0xfd, 0x57, 0xb4, 0x31, 0xf4, 0x4f,
0xe8, 0x1a, 0x1d, 0xe3, 0x7f, 0x6a, 0x09, 0x1f, 0xfc, 0x04, 0x64, 0xed,
0x97, 0x1d, 0xc8, 0x50, 0x88, 0x35, 0xad, 0xe6, 0xcc, 0x5f, 0x56, 0x6f,
0x39, 0x65, 0x61, 0x3a, 0x8b, 0x36, 0x79, 0x8c, 0x92, 0xe6, 0xe2, 0x3f,
0x52, 0xef, 0x90, 0x7e, 0x95, 0x67, 0xe3, 0x41, 0xbe, 0xbc, 0x53, 0x37,
0x18, 0x96, 0x25, 0xfb, 0xbe, 0xab, 0x1f, 0x3b, 0x7b, 0x3f, 0x92, 0xff,
0xb2, 0x68, 0x1e, 0x6e, 0xf5, 0xa7, 0x84, 0xa8, 0xc2, 0xd7, 0x8f, 0x7c,
0x2d, 0x89, 0xaa, 0xaa, 0x24, 0xd2, 0xce, 0xdb, 0xd0, 0x66, 0x81, 0xcf,
0xe6, 0x5c, 0x36, 0xc7, 0xbf, 0xa3, 0xc5, 0xba, 0x13, 0x51, 0x62, 0x22,
0x2e, 0xf5, 0xc2, 0xe9, 0x14, 0xc9, 0x83, 0x61, 0x02, 0x81, 0x80, 0x12,
0x09, 0x3f, 0x3a, 0x73, 0xca, 0xed, 0xd9, 0x0f, 0x60, 0xa3, 0x04, 0xe4,
0x54, 0x02, 0xf8, 0x71, 0xab, 0x32, 0xc8, 0xc9, 0x55, 0xb0, 0x9a, 0xf4,
0x63, 0xa3, 0xbe, 0x43, 0x70, 0xf2, 0xd5, 0x58, 0x4a, 0x9a, 0xbb, 0xab,
0x69, 0xfd, 0xb0, 0x31, 0xea, 0x44, 0xf9, 0x84, 0x06, 0x5d, 0x04, 0x61,
0xe8, 0x40, 0xab, 0x21, 0x88, 0x86, 0x60, 0x0e, 0x37, 0x15, 0x54, 0x6c,
0x8b, 0x0b, 0x85, 0xad, 0x26, 0xd3, 0x8c, 0xb4, 0x30, 0x8f, 0x52, 0xd0,
0x7f, 0x99, 0x44, 0x7d, 0x91, 0xf0, 0x87, 0xf3, 0x9d, 0xd3, 0x40, 0x38,
0xdb, 0x2e, 0x93, 0x8e, 0x97, 0xad, 0x05, 0x3a, 0x71, 0xfb, 0xed, 0x67,
0x75, 0xe1, 0xdc, 0x87, 0x18, 0xe5, 0x4e, 0x6c, 0xaf, 0x7e, 0x65, 0x46,
0x7d, 0x9c, 0xba, 0xdd, 0xc7, 0xe7, 0x65, 0xc8, 0x58, 0x9e, 0x2c, 0x98,
0xdf, 0xdc, 0x25, 0xca, 0x4e, 0xca, 0x81, 0x02, 0x81, 0x81, 0x00, 0x8c,
0xce, 0x61, 0x34, 0x79, 0xcf, 0x96, 0x08, 0xf7, 0xf7, 0x6c, 0x24, 0x5c,
0xf9, 0x1b, 0xb4, 0x95, 0xd6, 0x1e, 0x9d, 0xe6, 0x48, 0x84, 0x90, 0x54,
0xb4, 0xdd, 0x1b, 0x43, 0x16, 0xf3, 0xf9, 0x81, 0x42, 0x0d, 0xc0, 0x95,
0x78, 0xbf, 0x79, 0x16, 0xfe, 0x46, 0x91, 0xcf, 0xae, 0x9a, 0x64, 0xe6,
0x34, 0x0b, 0x86, 0x03, 0x23, 0x45, 0x23, 0xf2, 0x5d, 0x77, 0xb6, 0x6a,
0x66, 0xfc, 0x3e, 0xe5, 0x93, 0xa9, 0xf1, 0x8d, 0xea, 0x5d, 0xf6, 0x3e,
0xd5, 0xf7, 0xdf, 0xeb, 0x9d, 0x20, 0xba, 0x69, 0xa5, 0xbe, 0xf5, 0x59,
0xff, 0xb0, 0xec, 0x94, 0xdb, 0x72, 0x5f, 0x6f, 0xf6, 0xea, 0xbb, 0xa3,
0xd4, 0x95, 0x47, 0xc0, 0xca, 0x74, 0xf0, 0x3e, 0x01, 0xec, 0x1e, 0x49,
0x0d, 0x13, 0x9a, 0xa0, 0xa7, 0x94, 0x7b, 0x8d, 0x66, 0x2c, 0xce, 0x4a,
0x3c, 0x0f, 0x1b, 0x5e, 0x86, 0x17, 0x41, 0x02, 0x81, 0x81, 0x00, 0xf9,
0x95, 0x9b, 0x34, 0xc4, 0xbc, 0xa8, 0xce, 0x48, 0x88, 0x78, 0x1b, 0x31,
0xb1, 0xe9, 0xb5, 0xd8, 0xad, 0xf5, 0xd0, 0xd3, 0xe3, 0xed, 0x54, 0x5e,
0x83, 0x67, 0xd3, 0xf8, 0x54, 0x5b, 0xa6, 0x44, 0x32, 0xb8, 0x87, 0x30,
0x35, 0xef, 0x88, 0x1c, 0x2b, 0xcd, 0xe0, 0x0d, 0x18, 0x09, 0xf9, 0x2c,
0x40, 0xd8, 0x78, 0x37, 0xb5, 0xc4, 0xf9, 0xac, 0xf4, 0x8b, 0x36, 0xb8,
0xdc, 0x53, 0xa5, 0x95, 0x61, 0xa4, 0x56, 0x52, 0x34, 0x02, 0xd1, 0xe8,
0xfa, 0x3a, 0xf3, 0x00, 0xe5, 0x4c, 0x91, 0xb6, 0x3e, 0x6c, 0xee, 0x06,
0xfe, 0x6d, 0xe6, 0x66, 0xf3, 0x92, 0x95, 0x82, 0xa0, 0x3e, 0x1f, 0x45,
0x4e, 0x77, 0x89, 0xfb, 0x07, 0x81, 0xa4, 0xd6, 0xfb, 0xb5, 0x26, 0xef,
0x88, 0x16, 0x21, 0xfd, 0x1e, 0xac, 0xd2, 0x14, 0x66, 0xe4, 0xcd, 0xd9,
0x8a, 0xed, 0x10, 0xf4, 0xe7, 0x6f, 0x79};
// Bleichenbacher 2049 tests
const std::vector<RsaDecryptTestVector> kRsaBb2049Vectors = {
// malformed plaintext that generates a fake plaintext of length
// specified by 3rd length from the end of PRF output
{0,
{0x42},
{0x00, 0xb2, 0x6f, 0x64, 0x04, 0xb8, 0x26, 0x49, 0x62, 0x9f, 0x27, 0x04,
0x49, 0x42, 0x82, 0x44, 0x37, 0x76, 0x92, 0x91, 0x22, 0xe2, 0x79, 0xa9,
0xcf, 0x30, 0xb0, 0xc6, 0xfe, 0x81, 0x22, 0xa0, 0xa9, 0x04, 0x28, 0x70,
0xd9, 0x7c, 0xc8, 0xef, 0x65, 0x49, 0x0f, 0xe5, 0x8f, 0x03, 0x1e, 0xb2,
0x44, 0x23, 0x52, 0x19, 0x1f, 0x5f, 0xbc, 0x31, 0x10, 0x26, 0xb5, 0x14,
0x7d, 0x32, 0xdf, 0x91, 0x45, 0x99, 0xf3, 0x8b, 0x82, 0x5e, 0xbb, 0x82,
0x4a, 0xf0, 0xd6, 0x3f, 0x2d, 0x54, 0x1a, 0x24, 0x5c, 0x57, 0x75, 0xd1,
0xc4, 0xb7, 0x86, 0x30, 0xe4, 0x99, 0x6c, 0xc5, 0xfe, 0x41, 0x3d, 0x38,
0x45, 0x5a, 0x77, 0x6c, 0xf4, 0xed, 0xcc, 0x0a, 0xa7, 0xfc, 0xcb, 0x31,
0xc5, 0x84, 0xd6, 0x05, 0x02, 0xed, 0x2b, 0x77, 0x39, 0x8f, 0x53, 0x6e,
0x13, 0x7f, 0xf7, 0xba, 0x64, 0x30, 0xe9, 0x25, 0x8e, 0x21, 0xc2, 0xdb,
0x5b, 0x82, 0xf5, 0x38, 0x0f, 0x56, 0x68, 0x76, 0x11, 0x0a, 0xc4, 0xc7,
0x59, 0x17, 0x89, 0x00, 0xfb, 0xad, 0x7a, 0xb7, 0x0e, 0xa0, 0x7b, 0x1d,
0xaf, 0x7a, 0x16, 0x39, 0xcb, 0xb4, 0x19, 0x65, 0x43, 0xa6, 0xcb, 0xe8,
0x27, 0x1f, 0x35, 0xdd, 0xdb, 0x81, 0x20, 0x30, 0x4f, 0x6e, 0xef, 0x83,
0x05, 0x9e, 0x1c, 0x5c, 0x56, 0x78, 0x71, 0x0f, 0x90, 0x4a, 0x6d, 0x76,
0x0c, 0x4d, 0x1d, 0x8a, 0xd0, 0x76, 0xbe, 0x17, 0x90, 0x4b, 0x9e, 0x69,
0x91, 0x00, 0x40, 0xb4, 0x79, 0x14, 0xa0, 0x17, 0x6f, 0xb7, 0xee, 0xa0,
0xc0, 0x64, 0x44, 0xa6, 0xc4, 0xb8, 0x6d, 0x67, 0x4d, 0x19, 0xa5, 0x56,
0xa1, 0xde, 0x54, 0x90, 0x37, 0x3c, 0xb0, 0x1c, 0xe3, 0x1b, 0xbd, 0x15,
0xa5, 0x63, 0x33, 0x62, 0xd3, 0xd2, 0xcd, 0x7d, 0x4a, 0xf1, 0xb4, 0xc5,
0x12, 0x12, 0x88, 0xb8, 0x94},
{},
false,
true},
// a valid ciphertext that starts with a null byte, decrypts to 11 byte
// long value
{0,
// lorem ipsum
{0x6c, 0x6f, 0x72, 0x65, 0x6d, 0x20, 0x69, 0x70, 0x73, 0x75, 0x6d},
{0x01, 0x33, 0x00, 0xed, 0xbf, 0x0b, 0xb3, 0x57, 0x1e, 0x59, 0x88, 0x9f,
0x7e, 0xd7, 0x69, 0x70, 0xbf, 0x6d, 0x57, 0xe1, 0xc8, 0x9b, 0xbb, 0x6d,
0x1c, 0x39, 0x91, 0xd9, 0xdf, 0x8e, 0x65, 0xed, 0x54, 0xb5, 0x56, 0xd9,
0x28, 0xda, 0x7d, 0x76, 0x8f, 0xac, 0xb3, 0x95, 0xbb, 0xcc, 0x81, 0xe9,
0xf8, 0x57, 0x3b, 0x45, 0xcf, 0x81, 0x95, 0xdb, 0xd8, 0x5d, 0x83, 0xa5,
0x92, 0x81, 0xcd, 0xdf, 0x41, 0x63, 0xae, 0xc1, 0x1b, 0x53, 0xb4, 0x14,
0x00, 0x53, 0xe3, 0xbd, 0x10, 0x9f, 0x78, 0x7a, 0x7c, 0x3c, 0xec, 0x31,
0xd5, 0x35, 0xaf, 0x1f, 0x50, 0xe0, 0x59, 0x8d, 0x85, 0xd9, 0x6d, 0x91,
0xea, 0x01, 0x91, 0x3d, 0x07, 0x09, 0x7d, 0x25, 0xaf, 0x99, 0xc6, 0x74,
0x64, 0xeb, 0xf2, 0xbb, 0x39, 0x6f, 0xb2, 0x8a, 0x92, 0x33, 0xe5, 0x6f,
0x31, 0xf7, 0xe1, 0x05, 0xd7, 0x1a, 0x23, 0xe9, 0xef, 0x3b, 0x73, 0x6d,
0x1e, 0x80, 0xe7, 0x13, 0xd1, 0x69, 0x17, 0x13, 0xdf, 0x97, 0x33, 0x47,
0x79, 0x55, 0x2f, 0xc9, 0x4b, 0x40, 0xdd, 0x73, 0x3c, 0x72, 0x51, 0xbc,
0x52, 0x2b, 0x67, 0x3d, 0x3e, 0xc9, 0x35, 0x4a, 0xf3, 0xdd, 0x4a, 0xd4,
0x4f, 0xa7, 0x1c, 0x06, 0x62, 0x21, 0x3a, 0x57, 0xad, 0xa1, 0xd7, 0x51,
0x49, 0x69, 0x7d, 0x0e, 0xb5, 0x5c, 0x05, 0x3a, 0xae, 0xd5, 0xff, 0xd0,
0xb8, 0x15, 0x83, 0x2f, 0x45, 0x41, 0x79, 0x51, 0x9d, 0x37, 0x36, 0xfb,
0x4f, 0xaf, 0x80, 0x84, 0x16, 0x07, 0x1d, 0xb0, 0xd0, 0xf8, 0x01, 0xac,
0xa8, 0x54, 0x83, 0x11, 0xee, 0x70, 0x8c, 0x13, 0x1f, 0x4b, 0xe6, 0x58,
0xb1, 0x5f, 0x6b, 0x54, 0x25, 0x68, 0x72, 0xc2, 0x90, 0x3a, 0xc7, 0x08,
0xbd, 0x43, 0xb0, 0x17, 0xb0, 0x73, 0xb5, 0x70, 0x7b, 0xc8, 0x4c, 0x2c,
0xd9, 0xda, 0x70, 0xe9, 0x67},
{},
false,
true},
// a valid ciphertext that starts with a null byte, decrypts to 11 byte
// long value
{0,
// lorem ipsum
{0x6c, 0x6f, 0x72, 0x65, 0x6d, 0x20, 0x69, 0x70, 0x73, 0x75, 0x6d},
{0x00, 0x02, 0xaa, 0xdf, 0x84, 0x6a, 0x32, 0x9f, 0xad, 0xc6, 0x76, 0x09,
0x80, 0x30, 0x3d, 0xbd, 0x87, 0xbf, 0xad, 0xfa, 0x78, 0xc2, 0x01, 0x5c,
0xe4, 0xd6, 0xc5, 0x78, 0x2f, 0xd9, 0xd3, 0xf1, 0x07, 0x8b, 0xd3, 0xc0,
0xa2, 0xc5, 0xbf, 0xbd, 0xd1, 0xc0, 0x24, 0x55, 0x2e, 0x50, 0x54, 0xd9,
0x8b, 0x5b, 0xcd, 0xc9, 0x4e, 0x47, 0x6d, 0xd2, 0x80, 0xe6, 0x4d, 0x65,
0x00, 0x89, 0x32, 0x65, 0x42, 0xce, 0x7c, 0x61, 0xd4, 0xf1, 0xab, 0x40,
0x00, 0x4c, 0x2e, 0x6a, 0x88, 0xa8, 0x83, 0x61, 0x35, 0x68, 0x55, 0x6a,
0x10, 0xf3, 0xf9, 0xed, 0xea, 0xb6, 0x7a, 0xe8, 0xdd, 0xdc, 0x1e, 0x6b,
0x08, 0x31, 0xc2, 0x79, 0x3d, 0x27, 0x15, 0xde, 0x94, 0x3f, 0x7c, 0xe3,
0x4c, 0x5c, 0x05, 0xd1, 0xb0, 0x9f, 0x14, 0x43, 0x1f, 0xde, 0x56, 0x6d,
0x17, 0xe7, 0x6c, 0x9f, 0xee, 0xe9, 0x0d, 0x86, 0xa2, 0xc1, 0x58, 0x61,
0x6e, 0xc8, 0x1d, 0xda, 0x0c, 0x64, 0x2f, 0x58, 0xc0, 0xba, 0x8f, 0xa4,
0x49, 0x58, 0x43, 0x12, 0x4a, 0x72, 0x35, 0xd4, 0x6f, 0xb4, 0x06, 0x97,
0x15, 0xa5, 0x1b, 0xf7, 0x10, 0xfd, 0x02, 0x42, 0x59, 0x13, 0x1b, 0xa9,
0x4d, 0xa7, 0x35, 0x97, 0xac, 0xe4, 0x94, 0x85, 0x6c, 0x94, 0xe7, 0xa3,
0xec, 0x26, 0x15, 0x45, 0x79, 0x3b, 0x09, 0x90, 0x27, 0x9b, 0x15, 0xfa,
0x91, 0xc7, 0xfd, 0x13, 0xdb, 0xfb, 0x1d, 0xf2, 0xf2, 0x21, 0xda, 0xb9,
0xfa, 0x9f, 0x7c, 0x1d, 0x21, 0xe4, 0x8a, 0xa4, 0x9f, 0x6a, 0xae, 0xcb,
0xab, 0xf5, 0xee, 0x76, 0xdc, 0x6c, 0x2a, 0xf2, 0x31, 0x7f, 0xfb, 0x4e,
0x30, 0x31, 0x15, 0x38, 0x6a, 0x97, 0xf8, 0x72, 0x9a, 0xfc, 0x3d, 0x0c,
0x89, 0x41, 0x96, 0x69, 0x23, 0x5f, 0x1a, 0x3a, 0x69, 0x57, 0x0e, 0x08,
0x36, 0xc7, 0x9f, 0xc1, 0x62},
{},
false,
true},
// a valid ciphertext that starts with two null bytes, decrypts to
// 11 byte long value
{0,
// lorem ipsum
{0x6c, 0x6f, 0x72, 0x65, 0x6d, 0x20, 0x69, 0x70, 0x73, 0x75, 0x6d},
{0x00, 0x00, 0xf3, 0x6d, 0xa3, 0xb7, 0x2d, 0x8f, 0xf6, 0xde, 0xd7, 0x4e,
0x7e, 0xfd, 0x08, 0xc0, 0x19, 0x08, 0xf3, 0xf5, 0xf0, 0xde, 0x7b, 0x55,
0xea, 0xb9, 0x2b, 0x5f, 0x87, 0x51, 0x90, 0x80, 0x9c, 0x39, 0xd4, 0x16,
0x2e, 0x1e, 0x66, 0x49, 0x61, 0x8f, 0x85, 0x4f, 0xd8, 0x4a, 0xea, 0xb0,
0x39, 0x70, 0xd1, 0x6b, 0xb8, 0x14, 0xe9, 0x99, 0x85, 0x2c, 0x06, 0xde,
0x38, 0xd8, 0x2b, 0x95, 0xc0, 0xf3, 0x2e, 0x2a, 0x7b, 0x57, 0x14, 0x02,
0x1f, 0xe3, 0x03, 0x38, 0x9b, 0xe9, 0xc0, 0xea, 0xc2, 0x4c, 0x90, 0xa6,
0xb7, 0x21, 0x0f, 0x92, 0x9d, 0x39, 0x0f, 0xab, 0xf9, 0x03, 0xd4, 0x4e,
0x04, 0x11, 0x0b, 0xb7, 0xa7, 0xfd, 0x6c, 0x38, 0x3c, 0x27, 0x58, 0x04,
0x72, 0x1e, 0xfa, 0x6d, 0x7c, 0x93, 0xaa, 0x64, 0xc0, 0xbb, 0x2b, 0x18,
0xd9, 0x7c, 0x52, 0x20, 0xa8, 0x46, 0xc6, 0x6a, 0x48, 0x95, 0xae, 0x52,
0xad, 0xdd, 0xbe, 0x2a, 0x99, 0x96, 0x82, 0x5e, 0x01, 0x35, 0x85, 0xad,
0xce, 0xc4, 0xb3, 0x2b, 0xa6, 0x1d, 0x78, 0x27, 0x37, 0xbd, 0x34, 0x3e,
0x5f, 0xab, 0xd6, 0x8e, 0x8a, 0x95, 0xb8, 0xb1, 0x34, 0x03, 0x18, 0x55,
0x98, 0x60, 0x79, 0x2d, 0xd7, 0x0d, 0xff, 0xbe, 0x05, 0xa1, 0x05, 0x2b,
0x54, 0xcb, 0xfb, 0x48, 0xcf, 0xa7, 0xbb, 0x3c, 0x19, 0xce, 0xa5, 0x20,
0x76, 0xbd, 0xda, 0xc5, 0xc2, 0x5e, 0xe2, 0x76, 0xf1, 0x53, 0xa6, 0x10,
0xf6, 0xd0, 0x6e, 0xd6, 0x96, 0xd1, 0x92, 0xd8, 0xae, 0x45, 0x07, 0xff,
0xae, 0x4e, 0x5b, 0xdd, 0xa1, 0x0a, 0x62, 0x5d, 0x6b, 0x67, 0xf3, 0x2f,
0x7c, 0xff, 0xcd, 0x48, 0xde, 0xe2, 0x43, 0x1f, 0xe6, 0x6f, 0x61, 0x05,
0xf9, 0xd1, 0x7e, 0x61, 0x1c, 0xdc, 0xc6, 0x74, 0x86, 0x8e, 0x81, 0x69,
0x2a, 0x36, 0x0f, 0x40, 0x52},
{},
false,
true},
// a random ciphertext that generates a fake 11 byte plaintext
// and fails the padding check
{0,
{0x11, 0x89, 0xb6, 0xf5, 0x49, 0x8f, 0xd6, 0xdf, 0x53, 0x2b, 0x00},
{0x00, 0xf9, 0x10, 0x20, 0x08, 0x30, 0xfc, 0x8f, 0xff, 0x47, 0x8e, 0x99,
0xe1, 0x45, 0xf1, 0x47, 0x4b, 0x31, 0x2e, 0x25, 0x12, 0xd0, 0xf9, 0x0b,
0x8c, 0xef, 0x77, 0xf8, 0x00, 0x1d, 0x09, 0x86, 0x16, 0x88, 0xc1, 0x56,
0xd1, 0xcb, 0xaf, 0x8a, 0x89, 0x57, 0xf7, 0xeb, 0xf3, 0x5f, 0x72, 0x44,
0x66, 0x95, 0x2d, 0x05, 0x24, 0xca, 0xd4, 0x8a, 0xad, 0x4f, 0xba, 0x1e,
0x45, 0xce, 0x8e, 0xa2, 0x7e, 0x8f, 0x3b, 0xa4, 0x41, 0x31, 0xb7, 0x83,
0x1b, 0x62, 0xd6, 0x0c, 0x07, 0x62, 0x66, 0x1f, 0x4c, 0x1d, 0x1a, 0x88,
0xcd, 0x06, 0x26, 0x3a, 0x25, 0x9a, 0xbf, 0x1b, 0xa9, 0xe6, 0xb0, 0xb1,
0x72, 0x06, 0x9a, 0xfb, 0x86, 0xa7, 0xe8, 0x83, 0x87, 0x72, 0x6f, 0x8a,
0xb3, 0xad, 0xb3, 0x0b, 0xfd, 0x6b, 0x3f, 0x6b, 0xe6, 0xd8, 0x5d, 0x5d,
0xfd, 0x04, 0x4e, 0x7e, 0xf0, 0x52, 0x39, 0x54, 0x74, 0xa9, 0xcb, 0xb1,
0xc3, 0x66, 0x7a, 0x92, 0x78, 0x0b, 0x43, 0xa2, 0x26, 0x93, 0x01, 0x5a,
0xf6, 0xc5, 0x13, 0x04, 0x1b, 0xda, 0xf8, 0x7d, 0x43, 0xb2, 0x4d, 0xdd,
0x24, 0x4e, 0x79, 0x1e, 0xea, 0xea, 0x10, 0x66, 0xe1, 0xf4, 0x91, 0x71,
0x17, 0xb3, 0xa4, 0x68, 0xe2, 0x2e, 0x0f, 0x73, 0x58, 0x85, 0x2b, 0xb9,
0x81, 0x24, 0x8d, 0xe4, 0xd7, 0x20, 0xad, 0xd2, 0xd1, 0x5d, 0xcc, 0xba,
0x62, 0x80, 0x35, 0x59, 0x35, 0xb6, 0x7c, 0x96, 0xf9, 0xdc, 0xb6, 0xc4,
0x19, 0xcc, 0x38, 0xab, 0x9f, 0x6f, 0xba, 0x2d, 0x64, 0x9e, 0xf2, 0x06,
0x6e, 0x0c, 0x34, 0xc9, 0xf7, 0x88, 0xae, 0x49, 0xba, 0xbd, 0x90, 0x25,
0xfa, 0x85, 0xb2, 0x11, 0x13, 0xe5, 0x6c, 0xe4, 0xf4, 0x3a, 0xa1, 0x34,
0xc5, 0x12, 0xb0, 0x30, 0xdd, 0x7a, 0xc7, 0xce, 0x82, 0xe7, 0x6f, 0x0b,
0xe9, 0xce, 0x09, 0xeb, 0xca},
{},
false,
true},
// an otherwise correct plaintext, but with wrong first byte
// (0x01 instead of 0x00), generates a random 11 byte long plaintext
{0,
{0xf6, 0xd0, 0xf5, 0xb7, 0x80, 0x82, 0xfe, 0x61, 0xc0, 0x46, 0x74},
{
0x00, 0x2c, 0x9d, 0xdc, 0x36, 0xba, 0x4c, 0xf0, 0x03, 0x86, 0x92, 0xb2,
0xd3, 0xa1, 0xc6, 0x1a, 0x4b, 0xb3, 0x78, 0x6a, 0x97, 0xce, 0x2e, 0x46,
0xa3, 0xba, 0x74, 0xd0, 0x31, 0x58, 0xae, 0xef, 0x45, 0x6c, 0xe0, 0xf4,
0xdb, 0x04, 0xdd, 0xa3, 0xfe, 0x06, 0x22, 0x68, 0xa1, 0x71, 0x12, 0x50,
0xa1, 0x8c, 0x69, 0x77, 0x8a, 0x62, 0x80, 0xd8, 0x8e, 0x13, 0x3a, 0x16,
0x25, 0x4e, 0x1f, 0x0e, 0x30, 0xce, 0x8d, 0xac, 0x9b, 0x57, 0xd2, 0xe3,
0x9a, 0x2f, 0x7d, 0x7b, 0xe3, 0xee, 0x4e, 0x08, 0xae, 0xc2, 0xfd, 0xbe,
0x8d, 0xad, 0xad, 0x7f, 0xdb, 0xf4, 0x42, 0xa2, 0x9a, 0x8f, 0xb4, 0x08,
0x57, 0x40, 0x7b, 0xf6, 0xbe, 0x35, 0x59, 0x6b, 0x8e, 0xef, 0xb5, 0xc2,
0xb3, 0xf5, 0x8b, 0x89, 0x44, 0x52, 0xc2, 0xdc, 0x54, 0xa6, 0x12, 0x3a,
0x1a, 0x38, 0xd6, 0x42, 0xe2, 0x37, 0x51, 0x74, 0x65, 0x97, 0xe0, 0x8d,
0x71, 0xac, 0x92, 0x70, 0x4a, 0xdc, 0x17, 0x80, 0x3b, 0x19, 0xe1, 0x31,
0xb4, 0xd1, 0x92, 0x78, 0x81, 0xf4, 0x3b, 0x02, 0x00, 0xe6, 0xf9, 0x56,
0x58, 0xf5, 0x59, 0xf9, 0x12, 0xc8, 0x89, 0xb4, 0xcd, 0x51, 0x86, 0x27,
0x84, 0x36, 0x48, 0x96, 0xcd, 0x6e, 0x86, 0x18, 0xf4, 0x85, 0xa9, 0x92,
0xf8, 0x29, 0x97, 0xad, 0x6a, 0x09, 0x17, 0xe3, 0x2a, 0xe5, 0x87, 0x2e,
0xaf, 0x85, 0x00, 0x92, 0xb2, 0xd6, 0xc7, 0x82, 0xad, 0x35, 0xf4, 0x87,
0xb7, 0x96, 0x82, 0x33, 0x3c, 0x17, 0x50, 0xc6, 0x85, 0xd7, 0xd3, 0x2a,
0xb3, 0xe1, 0x53, 0x8f, 0x31, 0xdc, 0xaa, 0x5e, 0x7d, 0x5d, 0x28, 0x25,
0x87, 0x52, 0x42, 0xc8, 0x39, 0x47, 0x30, 0x8d, 0xcf, 0x63, 0xba, 0x4b,
0xff, 0xf2, 0x03, 0x34, 0xc9, 0xc1, 0x40, 0xc8, 0x37, 0xdb, 0xdb, 0xae,
0x7a, 0x8d, 0xee, 0x72, 0xff,
},
{},
false,
true},
// an otherwise correct plaintext, but with wrong second byte
// (0x01 instead of 0x02), generates a random 11 byte long plaintext
{0,
{0x1a, 0xb2, 0x87, 0xfc, 0xef, 0x3f, 0xf1, 0x70, 0x67, 0x91, 0x4d},
{0x00, 0xc5, 0xd7, 0x78, 0x26, 0xc1, 0xab, 0x7a, 0x34, 0xd6, 0x39, 0x0f,
0x9d, 0x34, 0x2d, 0x5d, 0xbe, 0x84, 0x89, 0x42, 0xe2, 0x61, 0x82, 0x87,
0x95, 0x2b, 0xa0, 0x35, 0x0d, 0x7d, 0xe6, 0x72, 0x61, 0x12, 0xe9, 0xce,
0xbc, 0x39, 0x1a, 0x0f, 0xae, 0x18, 0x39, 0xe2, 0xbf, 0x16, 0x82, 0x29,
0xe3, 0xe0, 0xd7, 0x1d, 0x41, 0x61, 0x80, 0x15, 0x09, 0xf1, 0xf2, 0x8f,
0x6e, 0x14, 0x87, 0xca, 0x52, 0xdf, 0x05, 0xc4, 0x66, 0xb6, 0xb0, 0xa6,
0xfb, 0xbe, 0x57, 0xa3, 0x26, 0x8a, 0x97, 0x06, 0x10, 0xec, 0x0b, 0xea,
0xc3, 0x9e, 0xc0, 0xfa, 0x67, 0xba, 0xbc, 0xe1, 0xef, 0x2a, 0x86, 0xbf,
0x77, 0x46, 0x6d, 0xc1, 0x27, 0xd7, 0xd0, 0xd2, 0x96, 0x2c, 0x20, 0xe6,
0x65, 0x93, 0x12, 0x6f, 0x27, 0x68, 0x63, 0xcd, 0x38, 0xdc, 0x63, 0x51,
0x42, 0x8f, 0x88, 0x4c, 0x13, 0x84, 0xf6, 0x7c, 0xad, 0x0a, 0x0f, 0xfd,
0xbc, 0x2a, 0xf1, 0x67, 0x11, 0xfb, 0x68, 0xdc, 0x55, 0x9b, 0x96, 0xb3,
0x7b, 0x4f, 0x04, 0xcd, 0x13, 0x3f, 0xfc, 0x7d, 0x79, 0xc4, 0x3c, 0x42,
0xca, 0x49, 0x48, 0xfa, 0x89, 0x5b, 0x9d, 0xae, 0xb8, 0x53, 0x15, 0x0c,
0x8a, 0x51, 0x69, 0x84, 0x9b, 0x73, 0x0c, 0xc7, 0x7d, 0x68, 0xb0, 0x21,
0x7d, 0x6c, 0x0e, 0x3d, 0xbf, 0x38, 0xd7, 0x51, 0xa1, 0x99, 0x81, 0x86,
0x63, 0x34, 0x18, 0x36, 0x7e, 0x75, 0x76, 0x53, 0x05, 0x66, 0xc2, 0x3d,
0x6d, 0x4e, 0x0d, 0xa9, 0xb0, 0x38, 0xd0, 0xbb, 0x51, 0x69, 0xce, 0x40,
0x13, 0x3e, 0xa0, 0x76, 0x47, 0x2d, 0x05, 0x50, 0x01, 0xf0, 0x13, 0x56,
0x45, 0x94, 0x0f, 0xd0, 0x8e, 0xa4, 0x42, 0x69, 0xaf, 0x26, 0x04, 0xc8,
0xb1, 0xba, 0x22, 0x50, 0x53, 0xd6, 0xdb, 0x9a, 0xb4, 0x35, 0x77, 0x68,
0x94, 0x01, 0xbd, 0xc0, 0xf3},
{},
false,
true}};
#endif // rsaencrypt_bb2048_vectors_h__

View file

@ -0,0 +1,763 @@
/* vim: set ts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
/* This file is generated from sources in nss/gtests/common/wycheproof
* automatically and should not be touched manually.
* Generation is trigged by calling python3 genTestVectors.py */
#ifndef rsaencrypt_bb3072_vectors_h__
#define rsaencrypt_bb3072_vectors_h__
#include "testvectors_base/test-structs.h"
/* 3072 bit key from Hubert's Bleichenbacher tests */
static const std::vector<uint8_t> kRsaBb3072{
0x30, 0x82, 0x06, 0xfe, 0x02, 0x01, 0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a,
0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x04, 0x82,
0x06, 0xe8, 0x30, 0x82, 0x06, 0xe4, 0x02, 0x01, 0x00, 0x02, 0x82, 0x01,
0x81, 0x00, 0xaf, 0xd7, 0x1c, 0xaa, 0xd5, 0xe9, 0xf5, 0xb8, 0xc6, 0xc3,
0x67, 0x07, 0x0a, 0x47, 0xf1, 0x9d, 0x7e, 0x66, 0xae, 0xde, 0x18, 0xa5,
0xb2, 0x74, 0x1f, 0xb3, 0xc4, 0xd3, 0x34, 0x34, 0x56, 0x06, 0x92, 0xa2,
0xd9, 0x09, 0xef, 0x68, 0x88, 0xec, 0x60, 0x2f, 0xf6, 0xb9, 0x3a, 0xf2,
0x58, 0xee, 0x74, 0x30, 0x3c, 0x30, 0x1a, 0xfc, 0xd4, 0xed, 0xbe, 0xc4,
0x33, 0x11, 0xdd, 0xc8, 0xdd, 0xbf, 0x00, 0xdd, 0xbb, 0xe3, 0x86, 0xd3,
0x3b, 0x8d, 0x0e, 0x22, 0xb1, 0xb4, 0x49, 0x36, 0xdc, 0x48, 0x98, 0x71,
0xb8, 0x52, 0x37, 0xb3, 0x4c, 0xe7, 0x47, 0xad, 0x8f, 0xdb, 0x0c, 0x4e,
0x4d, 0x1d, 0xaa, 0x7a, 0xad, 0xf0, 0x73, 0x85, 0xc5, 0xc8, 0x73, 0x2c,
0xcb, 0x7d, 0x5a, 0x49, 0xe2, 0xe5, 0x0c, 0x88, 0x3c, 0x7d, 0x7a, 0xc1,
0x0e, 0xd6, 0xa7, 0x4d, 0x9a, 0xc9, 0x0d, 0xf9, 0x12, 0x99, 0x05, 0xa1,
0x7d, 0x4a, 0x08, 0x72, 0x10, 0xfc, 0x78, 0xb6, 0xd0, 0x4b, 0x1e, 0xb9,
0x69, 0x48, 0x2c, 0x11, 0xa6, 0xee, 0xb7, 0x9c, 0x50, 0xe5, 0xb1, 0x6f,
0x3f, 0x25, 0x4f, 0x75, 0x71, 0x52, 0x8b, 0x2f, 0x17, 0x16, 0xab, 0x81,
0x6d, 0x6e, 0xca, 0x07, 0x27, 0xbd, 0xea, 0x98, 0x05, 0x93, 0x29, 0x73,
0x0e, 0xb8, 0xc3, 0x3c, 0xe7, 0x1d, 0x61, 0xdd, 0x4a, 0xc3, 0x93, 0xb6,
0x25, 0x6e, 0x07, 0xac, 0x1d, 0x12, 0x4f, 0x02, 0x00, 0xd1, 0xc3, 0xe0,
0x5a, 0x4c, 0x1b, 0xc7, 0xf1, 0xed, 0x2f, 0xc8, 0x3e, 0x57, 0x19, 0x9c,
0xfe, 0x59, 0x08, 0xb1, 0x00, 0x87, 0xe2, 0x7f, 0xbd, 0x97, 0xd2, 0xc2,
0x42, 0x14, 0x61, 0x9c, 0x71, 0x47, 0xc8, 0xfb, 0xef, 0xca, 0x39, 0xbc,
0x25, 0x67, 0x62, 0xa6, 0x82, 0x35, 0x31, 0xf7, 0xe2, 0x34, 0xd6, 0x8e,
0xae, 0x7a, 0x0d, 0x9f, 0xaf, 0x10, 0xdd, 0x15, 0xe9, 0x52, 0x37, 0x80,
0xc7, 0xd5, 0xae, 0x58, 0x09, 0x4a, 0xd5, 0x25, 0xa9, 0x06, 0x3b, 0x4c,
0x33, 0xf9, 0x5e, 0x10, 0x06, 0xda, 0x2e, 0xb1, 0x2d, 0x37, 0x43, 0x68,
0x94, 0x95, 0xc1, 0xf2, 0x02, 0x3e, 0x40, 0x73, 0x53, 0xc5, 0xeb, 0x3e,
0x4c, 0xa1, 0xc4, 0x8c, 0xff, 0x81, 0xa1, 0x09, 0x00, 0xd1, 0x48, 0x20,
0xeb, 0x80, 0x1a, 0xf4, 0xf1, 0xa5, 0x96, 0xc4, 0xb9, 0xce, 0x9a, 0x53,
0x1f, 0xcf, 0x8a, 0x54, 0xd9, 0xff, 0xd7, 0x24, 0x25, 0x8b, 0x6e, 0xec,
0x20, 0x10, 0x8d, 0xf6, 0xfd, 0xfd, 0x76, 0xd4, 0xae, 0x03, 0xba, 0x7e,
0xa5, 0x98, 0xdc, 0xb0, 0xe4, 0xa2, 0x80, 0x84, 0x95, 0x87, 0x28, 0x6f,
0x4d, 0x7f, 0x25, 0x6c, 0xe8, 0x5e, 0x5e, 0xb5, 0x67, 0x9b, 0x1d, 0xac,
0xc1, 0xf9, 0x09, 0x56, 0x49, 0xb7, 0x2e, 0x5f, 0xa0, 0x72, 0xae, 0xb0,
0x03, 0x79, 0x02, 0x03, 0x01, 0x00, 0x01, 0x02, 0x82, 0x01, 0x80, 0x25,
0x17, 0xea, 0xcb, 0x3a, 0xfe, 0xf4, 0xbf, 0xfa, 0xe6, 0x03, 0x98, 0xdf,
0x99, 0x57, 0xa5, 0xd2, 0xa1, 0x54, 0xa8, 0x33, 0x68, 0xd8, 0xe1, 0x58,
0x42, 0xb2, 0xf5, 0x9e, 0xe0, 0x9f, 0x79, 0x19, 0x7b, 0xd2, 0xef, 0x1e,
0x9a, 0xdd, 0xaf, 0x87, 0x86, 0xf6, 0xb4, 0x12, 0x74, 0x47, 0x40, 0x5e,
0x30, 0x42, 0xb2, 0x1f, 0x2f, 0x50, 0xb7, 0xaa, 0x73, 0x77, 0x16, 0x80,
0xc3, 0xbb, 0xcb, 0x6c, 0x22, 0x5a, 0x5d, 0x5f, 0xf6, 0xb5, 0x6c, 0x47,
0x1c, 0x18, 0x82, 0xa0, 0xa3, 0x3b, 0x0a, 0xf1, 0x65, 0xa3, 0xed, 0x6c,
0x24, 0x9d, 0xc7, 0x78, 0x3e, 0x6b, 0xc7, 0x58, 0xac, 0x37, 0xe6, 0x57,
0x2d, 0x33, 0xfe, 0x32, 0x50, 0x78, 0xed, 0x95, 0x26, 0x50, 0xf2, 0xeb,
0x96, 0x04, 0x90, 0x2e, 0xf9, 0x9a, 0x51, 0x1a, 0x11, 0x19, 0xd1, 0x3c,
0x4f, 0xc9, 0xa4, 0x3a, 0x17, 0x5d, 0xcd, 0xfb, 0xfb, 0x1a, 0x14, 0x00,
0xfe, 0x17, 0x09, 0x3b, 0x69, 0xcd, 0x3c, 0xdb, 0x89, 0x5f, 0x65, 0x43,
0x2e, 0xa2, 0x19, 0x5f, 0x90, 0x51, 0x1c, 0x73, 0x36, 0xb5, 0x8a, 0x68,
0x5d, 0xac, 0xff, 0x2d, 0xaf, 0x4c, 0x5e, 0x92, 0xe5, 0x65, 0xb1, 0x66,
0x5a, 0xe6, 0x0e, 0x51, 0x2b, 0xaa, 0x99, 0x65, 0xb8, 0x08, 0xd5, 0xff,
0x11, 0x9c, 0xeb, 0x7c, 0xd6, 0x92, 0xcb, 0xf9, 0x20, 0x06, 0x7a, 0xfa,
0xcd, 0x80, 0x9f, 0x66, 0xbe, 0x70, 0x6d, 0xa2, 0x68, 0x10, 0xac, 0x79,
0x0d, 0xb1, 0x56, 0xc9, 0x48, 0xe6, 0xfe, 0x58, 0x1b, 0xc9, 0x84, 0x91,
0x57, 0xf4, 0xda, 0x49, 0x3f, 0x3a, 0x64, 0xb0, 0xc6, 0xe1, 0x19, 0xe0,
0x31, 0xb1, 0x07, 0xf8, 0x43, 0x6c, 0xe2, 0x91, 0x60, 0xb4, 0x58, 0xb8,
0xf9, 0xf1, 0x09, 0x5f, 0xde, 0xb1, 0x92, 0x63, 0x38, 0x4f, 0xf5, 0x38,
0x75, 0x57, 0xbc, 0x4f, 0x10, 0xb4, 0x03, 0x4d, 0xe8, 0x41, 0x70, 0x3b,
0xad, 0x2c, 0x1e, 0x76, 0x9c, 0x23, 0x85, 0x3e, 0xb6, 0x30, 0xa3, 0x6d,
0x10, 0x61, 0xdd, 0x46, 0xe2, 0xa6, 0xbb, 0xaf, 0x74, 0x3a, 0x97, 0xf0,
0xb3, 0x2c, 0x36, 0xf5, 0x0c, 0x1a, 0x37, 0x22, 0xde, 0xf3, 0xa3, 0x94,
0xd9, 0x1c, 0x2e, 0x07, 0x8b, 0xf0, 0x9d, 0x79, 0x5e, 0xcd, 0xe5, 0xe5,
0x6b, 0x82, 0x02, 0xf9, 0x74, 0x02, 0x6f, 0x75, 0xfc, 0x56, 0xe9, 0xa0,
0xdd, 0x6a, 0x88, 0xf2, 0xe7, 0xcb, 0x78, 0xef, 0x12, 0x98, 0xcc, 0x6c,
0x65, 0x20, 0x7c, 0xa4, 0x5b, 0xd3, 0x71, 0x88, 0x80, 0x7b, 0x4f, 0xcd,
0xb1, 0xe6, 0x0d, 0xd8, 0xe5, 0xb8, 0x56, 0x48, 0xfb, 0x7e, 0xfa, 0x8b,
0x6f, 0xdd, 0x44, 0x8f, 0x39, 0x74, 0x1a, 0x8d, 0x98, 0x09, 0xfe, 0x16,
0x3a, 0xf3, 0xde, 0x45, 0xba, 0xc2, 0x4a, 0x5a, 0x84, 0x1c, 0x81, 0x02,
0x81, 0xc1, 0x00, 0xe4, 0xa3, 0xd8, 0x30, 0xd7, 0x3e, 0x8b, 0x31, 0xc6,
0x82, 0xe2, 0x74, 0xff, 0xc9, 0xfd, 0x12, 0xac, 0x31, 0x3d, 0x2d, 0xd0,
0x51, 0x3d, 0x50, 0x57, 0x0d, 0xb7, 0xeb, 0x47, 0x62, 0xfe, 0xa1, 0x93,
0xe7, 0xbb, 0x54, 0x0b, 0x94, 0xa9, 0x4a, 0x5d, 0xdd, 0x74, 0x2a, 0xcf,
0x73, 0xf5, 0xde, 0xb9, 0xca, 0xe3, 0x1b, 0xd2, 0x3a, 0xc5, 0x60, 0xbb,
0x27, 0x94, 0xfd, 0x68, 0x26, 0x1f, 0x82, 0x03, 0xf5, 0x71, 0x92, 0x82,
0x90, 0x4f, 0x46, 0x1e, 0xac, 0xee, 0x2c, 0xe7, 0xe0, 0xa0, 0x09, 0x7a,
0xa7, 0xc8, 0xdb, 0xab, 0xd3, 0x3f, 0x1b, 0xf2, 0x69, 0x91, 0x2a, 0x07,
0x82, 0x71, 0x4f, 0xa9, 0x3b, 0x49, 0xea, 0xc4, 0x36, 0xeb, 0x3d, 0xe7,
0x34, 0xa7, 0xd6, 0xff, 0xdf, 0xd8, 0xc2, 0xc1, 0x43, 0x5e, 0x84, 0x3f,
0xc7, 0x09, 0xf9, 0x04, 0x8e, 0x54, 0x2a, 0x19, 0x7c, 0x48, 0x54, 0x2b,
0xeb, 0x2b, 0x85, 0xea, 0xd0, 0xf5, 0xe6, 0x4a, 0xa6, 0x3d, 0x0e, 0xc0,
0x15, 0x2b, 0x3f, 0x85, 0x61, 0x2d, 0xdc, 0xa6, 0xbf, 0xde, 0xab, 0xf3,
0x17, 0x5d, 0x59, 0x7d, 0x40, 0x56, 0x3e, 0x0e, 0x06, 0x2d, 0x91, 0xcb,
0x02, 0x88, 0x80, 0x08, 0x2f, 0xe9, 0xf8, 0xf0, 0x91, 0xbd, 0xbd, 0xda,
0x31, 0x6e, 0xeb, 0x1e, 0x85, 0x8c, 0xa4, 0x4d, 0x2b, 0x02, 0x8a, 0xe9,
0xcd, 0xe3, 0xa9, 0x02, 0x81, 0xc1, 0x00, 0xc4, 0xe1, 0xcd, 0x0e, 0xcf,
0x42, 0x98, 0x61, 0x5e, 0x1f, 0x78, 0x9b, 0xa7, 0xde, 0x22, 0xfd, 0x50,
0x94, 0xaf, 0x4a, 0xd1, 0xac, 0x29, 0x50, 0xee, 0x96, 0x30, 0x38, 0x5a,
0x20, 0x40, 0x9a, 0x28, 0x0c, 0x65, 0x38, 0xa2, 0xfe, 0xed, 0x03, 0x14,
0x48, 0xe2, 0x6e, 0x22, 0xd6, 0x70, 0x93, 0xa7, 0x1f, 0x9d, 0xc7, 0x4e,
0xbd, 0x1a, 0xbc, 0x0e, 0x9c, 0xe8, 0x3d, 0x67, 0x0b, 0x02, 0x76, 0xab,
0x1c, 0x85, 0xac, 0x73, 0x4d, 0xd8, 0xbf, 0x9c, 0x74, 0xcc, 0x7f, 0xec,
0xbd, 0x73, 0x2d, 0x1d, 0x75, 0xf8, 0x89, 0xef, 0x46, 0x0a, 0x48, 0x19,
0xba, 0x5e, 0x1b, 0x01, 0xde, 0x23, 0x32, 0x55, 0x51, 0x81, 0xb7, 0x6f,
0xa9, 0x65, 0x44, 0x93, 0x19, 0x8a, 0x60, 0x6f, 0x00, 0xca, 0xfd, 0x8a,
0x93, 0x35, 0x6e, 0x45, 0x6f, 0x22, 0x3b, 0x75, 0x1b, 0xd5, 0xb5, 0xca,
0x97, 0xae, 0x2b, 0x39, 0xba, 0x77, 0xfb, 0x7c, 0x17, 0x4c, 0x82, 0xec,
0x02, 0x18, 0x65, 0x60, 0xd5, 0xe2, 0x7b, 0xf1, 0x8a, 0x26, 0x3c, 0xc2,
0x12, 0xd9, 0xcc, 0x66, 0xb0, 0x1d, 0x1d, 0xa2, 0x67, 0x3f, 0x29, 0x7d,
0x4c, 0x1b, 0xed, 0x44, 0x5b, 0x4e, 0xfc, 0x5d, 0xb0, 0x61, 0x36, 0xec,
0xaa, 0xbd, 0x82, 0xcb, 0x54, 0xd0, 0xfc, 0xc4, 0x26, 0x99, 0xd4, 0xd6,
0x0a, 0x02, 0x27, 0xbf, 0xe0, 0x03, 0x51, 0x02, 0x81, 0xc0, 0x40, 0xf3,
0x0e, 0x41, 0xe9, 0x93, 0x39, 0xc5, 0x5d, 0x07, 0xe7, 0x3e, 0xa7, 0x3f,
0x00, 0xe6, 0x22, 0x06, 0x26, 0xc3, 0xf1, 0xee, 0x72, 0x05, 0x75, 0x85,
0x4f, 0x1e, 0xc5, 0xfb, 0xa8, 0x2b, 0xcc, 0x31, 0x42, 0xf4, 0xc0, 0x09,
0x6e, 0x01, 0xd3, 0x22, 0x4a, 0x92, 0xb2, 0xb5, 0xd5, 0x3d, 0x7c, 0xf7,
0xd6, 0x86, 0x1b, 0xb5, 0x58, 0x46, 0x7f, 0x43, 0xe2, 0x3e, 0x0e, 0x2c,
0xee, 0x3c, 0x67, 0xd5, 0x7c, 0x7a, 0xcb, 0x1e, 0x25, 0x76, 0xdc, 0xd5,
0xf1, 0x1e, 0xce, 0x8b, 0xef, 0xca, 0x61, 0x8e, 0x72, 0x2f, 0x7c, 0xe3,
0x18, 0x85, 0x5e, 0xda, 0x80, 0x43, 0x39, 0x38, 0xe3, 0xe9, 0x66, 0x40,
0x92, 0x61, 0xdf, 0x75, 0x5e, 0x64, 0x0a, 0x5e, 0xd9, 0xe2, 0xe8, 0x72,
0xf5, 0x47, 0x75, 0xd1, 0x26, 0x73, 0x59, 0x0e, 0xb8, 0x95, 0x85, 0xa6,
0xcc, 0xdf, 0xdc, 0xb7, 0x82, 0x70, 0x6e, 0xbd, 0x72, 0x72, 0xab, 0x5e,
0xca, 0xcb, 0xad, 0x9f, 0x05, 0xaf, 0x3f, 0xff, 0x83, 0x76, 0x9a, 0xf4,
0x1d, 0x2c, 0x16, 0x2e, 0x61, 0x19, 0xe5, 0x87, 0x58, 0x9c, 0x48, 0x49,
0x53, 0x76, 0x73, 0x53, 0x6b, 0xf4, 0x83, 0x7f, 0xe7, 0xb8, 0xbf, 0x1a,
0xa5, 0x53, 0x73, 0x3b, 0x63, 0x74, 0x20, 0x1c, 0x74, 0xce, 0xd3, 0xaf,
0xca, 0x61, 0x0e, 0x0e, 0xce, 0xbd, 0x19, 0x67, 0xc4, 0x69, 0x02, 0x81,
0xc1, 0x00, 0xb9, 0x88, 0x4c, 0x14, 0x1b, 0xae, 0x97, 0x28, 0x92, 0x69,
0x37, 0xdf, 0xff, 0x76, 0x6f, 0x24, 0xa6, 0x0e, 0x27, 0x8e, 0x6b, 0x3e,
0x41, 0x05, 0x1a, 0x80, 0xff, 0xd9, 0xea, 0xdc, 0x9f, 0xe4, 0x65, 0xbf,
0x20, 0x98, 0x19, 0xca, 0x00, 0x12, 0x39, 0xc8, 0x61, 0x51, 0x06, 0x95,
0x6c, 0x2b, 0x48, 0x7f, 0x9b, 0xd0, 0xd9, 0x5b, 0x8d, 0x59, 0x10, 0xb0,
0x3e, 0x8e, 0xb6, 0x8f, 0x02, 0x78, 0x4f, 0xd1, 0xa6, 0x0a, 0x97, 0xf2,
0x11, 0x42, 0xa8, 0x2e, 0xcd, 0x13, 0xf4, 0x45, 0xa7, 0xc7, 0x29, 0x0f,
0x25, 0xf2, 0xde, 0x3f, 0xf3, 0xaa, 0x74, 0x4c, 0x53, 0x28, 0x42, 0x3f,
0x52, 0x8d, 0xb9, 0x27, 0x01, 0x05, 0x9b, 0x3d, 0x57, 0xc8, 0x22, 0x93,
0x1b, 0xfa, 0xba, 0x40, 0x56, 0x0a, 0x4d, 0xcf, 0x61, 0xb7, 0x93, 0xc9,
0x21, 0xca, 0x44, 0x16, 0xc1, 0xf2, 0xf9, 0x82, 0xac, 0xc7, 0xe1, 0x33,
0xde, 0xa3, 0x68, 0x12, 0x10, 0xb1, 0x03, 0xb5, 0x09, 0xc6, 0x67, 0x55,
0xc7, 0x83, 0xa3, 0x5f, 0xdb, 0x9e, 0xc0, 0x08, 0xc1, 0xa4, 0x44, 0x54,
0xcc, 0x6b, 0x43, 0xc2, 0xe6, 0x1b, 0xb4, 0x0e, 0xc7, 0xf6, 0x74, 0xc7,
0x53, 0x0c, 0xb1, 0x41, 0x68, 0xab, 0x38, 0xa5, 0xc1, 0xc7, 0x02, 0xd3,
0xdf, 0xc9, 0x83, 0x13, 0x19, 0x3e, 0x1f, 0xa1, 0xf8, 0xdb, 0xfa, 0x8e,
0x20, 0xb1, 0x02, 0x81, 0xc1, 0x00, 0xe1, 0x2a, 0x42, 0x01, 0x40, 0x7d,
0x27, 0x51, 0xc9, 0xae, 0xb4, 0x2c, 0xb1, 0xf9, 0xe6, 0xaf, 0x34, 0xdc,
0xd4, 0x45, 0x31, 0xa9, 0xae, 0x2a, 0x23, 0xdb, 0x54, 0x92, 0xf3, 0xc2,
0x22, 0x9f, 0x6e, 0x33, 0xa2, 0x8a, 0x8a, 0x66, 0x40, 0xe4, 0xbf, 0x2f,
0x1c, 0x6a, 0x23, 0x37, 0x8c, 0x5e, 0x56, 0x15, 0xe0, 0xeb, 0x12, 0xbf,
0x14, 0xe8, 0x1b, 0xb9, 0x9c, 0x4c, 0xe1, 0x51, 0xb5, 0x4e, 0x61, 0x28,
0x22, 0xbe, 0xb7, 0xca, 0x9e, 0x41, 0x0a, 0x5a, 0xfd, 0xdb, 0x0c, 0xa6,
0x21, 0xe5, 0x97, 0x00, 0x2b, 0x9d, 0x1c, 0x81, 0x8c, 0x85, 0x60, 0x2f,
0x99, 0x45, 0x29, 0x1a, 0x47, 0x50, 0x62, 0xec, 0x6a, 0xf5, 0x3f, 0x4f,
0x52, 0x07, 0x9a, 0xd8, 0x1a, 0xc5, 0x9a, 0x37, 0xd9, 0xd5, 0xef, 0x70,
0x08, 0x75, 0xfa, 0x77, 0x42, 0x1d, 0x50, 0x70, 0x6c, 0x74, 0xce, 0x17,
0x87, 0x28, 0x9c, 0x0f, 0xa0, 0xf9, 0x4b, 0x29, 0xe1, 0xb6, 0x52, 0x49,
0x69, 0xf9, 0x9d, 0x4e, 0x28, 0x22, 0x2c, 0xef, 0x49, 0x5a, 0x46, 0xed,
0x21, 0x9e, 0xd0, 0x69, 0xe0, 0x77, 0x11, 0xfd, 0x52, 0xc7, 0x6a, 0x6e,
0xfc, 0xdc, 0x8a, 0x9d, 0x44, 0x29, 0xe1, 0xd1, 0x4d, 0x9a, 0xc7, 0x20,
0x46, 0x26, 0x07, 0xec, 0x74, 0x2d, 0xa4, 0x48, 0x07, 0x77, 0x70, 0x64,
0xd8, 0x9d, 0x2b, 0x74, 0xe4, 0x2b};
const std::vector<RsaDecryptTestVector> kRsaBb3072Vectors = {
// an invalid ciphertext that generates a synthethic plaintext
// that's zero bytes in length
{0,
{},
{0x5e, 0x95, 0x6c, 0xd9, 0x65, 0x2f, 0x4a, 0x2e, 0xce, 0x90, 0x29, 0x31,
0x01, 0x3e, 0x09, 0x66, 0x2b, 0x6a, 0x92, 0x57, 0xad, 0x1e, 0x98, 0x7f,
0xb7, 0x5f, 0x73, 0xa0, 0x60, 0x6d, 0xf2, 0xa4, 0xb0, 0x47, 0x89, 0x77,
0x08, 0x20, 0xc2, 0xe0, 0x23, 0x22, 0xc4, 0xe8, 0x26, 0xf7, 0x67, 0xbd,
0x89, 0x57, 0x34, 0xa0, 0x1e, 0x20, 0x60, 0x9c, 0x3b, 0xe4, 0x51, 0x7a,
0x7a, 0x2a, 0x58, 0x9e, 0xa1, 0xcd, 0xc1, 0x37, 0xbe, 0xb7, 0x3e, 0xb3,
0x8d, 0xac, 0x78, 0x1b, 0x52, 0xe8, 0x63, 0xde, 0x96, 0x20, 0xf7, 0x9f,
0x9b, 0x90, 0xfd, 0x5b, 0x95, 0x36, 0x51, 0xfc, 0xbf, 0xef, 0x4a, 0x9f,
0x1c, 0xc0, 0x74, 0x21, 0xd5, 0x11, 0xa8, 0x7d, 0xd6, 0x94, 0x2c, 0xaa,
0xb6, 0xa5, 0xa0, 0xf4, 0xdf, 0x47, 0x3e, 0x62, 0xde, 0xfb, 0x52, 0x9a,
0x7d, 0xe1, 0x50, 0x9a, 0xb9, 0x9c, 0x59, 0x6e, 0x1d, 0xff, 0x13, 0x20,
0x40, 0x22, 0x98, 0xd8, 0xbe, 0x73, 0xa8, 0x96, 0xcc, 0x86, 0xc3, 0x8a,
0xe3, 0xf2, 0xf5, 0x76, 0xe9, 0xea, 0x70, 0xcc, 0x28, 0xad, 0x57, 0x5c,
0xb0, 0xf8, 0x54, 0xf0, 0xbe, 0x43, 0x18, 0x6b, 0xaa, 0x9c, 0x18, 0xe2,
0x9c, 0x47, 0xc6, 0xca, 0x77, 0x13, 0x5d, 0xb7, 0x9c, 0x81, 0x12, 0x31,
0xb7, 0xc1, 0x73, 0x09, 0x55, 0x88, 0x7d, 0x32, 0x1f, 0xdc, 0x06, 0x56,
0x83, 0x82, 0xb8, 0x66, 0x43, 0xcf, 0x08, 0x9b, 0x10, 0xe3, 0x5a, 0xb2,
0x3e, 0x82, 0x7d, 0x2e, 0x5a, 0xa7, 0xb4, 0xe9, 0x9f, 0xf2, 0xe9, 0x14,
0xf3, 0x02, 0x35, 0x18, 0x19, 0xeb, 0x4d, 0x16, 0x93, 0x24, 0x3b, 0x35,
0xf8, 0xbf, 0x1d, 0x42, 0xd0, 0x8f, 0x8e, 0xc4, 0xac, 0xaf, 0xa3, 0x5f,
0x74, 0x7a, 0x4a, 0x97, 0x5a, 0x28, 0x64, 0x3e, 0xc6, 0x30, 0xd8, 0xe4,
0xfa, 0x5b, 0xe5, 0x9d, 0x81, 0x99, 0x56, 0x60, 0xa1, 0x4b, 0xb6, 0x4c,
0x1f, 0xea, 0x51, 0x46, 0xd6, 0xb1, 0x1f, 0x92, 0xda, 0x6a, 0x39, 0x56,
0xdd, 0x5c, 0xb5, 0xe0, 0xd7, 0x47, 0xcf, 0x2e, 0xa2, 0x3f, 0x81, 0x61,
0x77, 0x69, 0x18, 0x53, 0x36, 0x26, 0x3d, 0x46, 0xef, 0x4c, 0x14, 0x4b,
0x75, 0x4d, 0xe6, 0x2a, 0x63, 0x37, 0x34, 0x2d, 0x6c, 0x85, 0xa9, 0x5f,
0x19, 0xf0, 0x15, 0x72, 0x45, 0x46, 0xee, 0x3f, 0xc4, 0x82, 0x3e, 0xca,
0x60, 0x3d, 0xbc, 0x1d, 0xc0, 0x1c, 0x2d, 0x5e, 0xd5, 0x0b, 0xd7, 0x2d,
0x8e, 0x96, 0xdf, 0x2d, 0xc0, 0x48, 0xed, 0xde, 0x00, 0x81, 0x28, 0x40,
0x68, 0x28, 0x3f, 0xc5, 0xe7, 0x3a, 0x61, 0x39, 0x85, 0x1a, 0xbf, 0x2f,
0x29, 0x97, 0x7d, 0x0b, 0x3d, 0x16, 0x0c, 0x88, 0x3a, 0x42, 0xa3, 0x7e,
0xfb, 0xa1, 0xbe, 0x05, 0xc1, 0xa0, 0xb1, 0x74, 0x1d, 0x7d, 0xdf, 0x59},
{},
false,
true},
// an invalid ciphertext that generates last length that's one byte
// too long for the key size, so the second to last value needs to get
// used
{0,
{0x56, 0xa3, 0xbe, 0xa0, 0x54, 0xe0, 0x13, 0x38, 0xbe, 0x9b, 0x7d, 0x79,
0x57, 0x53, 0x9c},
{0x7d, 0xb0, 0x39, 0x0d, 0x75, 0xfc, 0xf9, 0xd4, 0xc5, 0x9c, 0xf2, 0x7b,
0x26, 0x41, 0x90, 0xd8, 0x56, 0xda, 0x9a, 0xbd, 0x11, 0xe9, 0x23, 0x34,
0xd0, 0xe5, 0xf7, 0x10, 0x05, 0xcf, 0xed, 0x86, 0x5a, 0x71, 0x1d, 0xfa,
0x28, 0xb7, 0x91, 0x18, 0x83, 0x74, 0xb6, 0x19, 0x16, 0xdb, 0xc1, 0x13,
0x39, 0xbf, 0x14, 0xb0, 0x6f, 0x5f, 0x3f, 0x68, 0xc2, 0x06, 0xc5, 0x60,
0x73, 0x80, 0xe1, 0x3d, 0xa3, 0x12, 0x9b, 0xfb, 0x74, 0x41, 0x57, 0xe1,
0x52, 0x7d, 0xd6, 0xfd, 0xf6, 0x65, 0x12, 0x48, 0xb0, 0x28, 0xa4, 0x96,
0xae, 0x1b, 0x97, 0x70, 0x2d, 0x44, 0x70, 0x60, 0x43, 0xcd, 0xaa, 0x7a,
0x59, 0xc0, 0xf4, 0x13, 0x67, 0x30, 0x3f, 0x21, 0xf2, 0x68, 0x96, 0x8b,
0xf3, 0xbd, 0x29, 0x04, 0xdb, 0x3a, 0xe5, 0x23, 0x9b, 0x55, 0xf8, 0xb4,
0x38, 0xd9, 0x3d, 0x7d, 0xb9, 0xd1, 0x66, 0x6c, 0x07, 0x1c, 0x08, 0x57,
0xe2, 0xec, 0x37, 0x75, 0x74, 0x63, 0x76, 0x9c, 0x54, 0xe5, 0x1f, 0x05,
0x2b, 0x2a, 0x71, 0xb0, 0x4c, 0x28, 0x69, 0xe9, 0xe7, 0x04, 0x9a, 0x10,
0x37, 0xb8, 0x42, 0x92, 0x06, 0xc9, 0x97, 0x26, 0xf0, 0x72, 0x89, 0xba,
0xc1, 0x83, 0x63, 0xe7, 0xeb, 0x2a, 0x5b, 0x41, 0x7f, 0x47, 0xc3, 0x7a,
0x55, 0x09, 0x0c, 0xda, 0x67, 0x65, 0x17, 0xb3, 0x54, 0x9c, 0x87, 0x3f,
0x2f, 0xe9, 0x5d, 0xa9, 0x68, 0x17, 0x52, 0xec, 0x98, 0x64, 0xb0, 0x69,
0x08, 0x9a, 0x2e, 0xd2, 0xf3, 0x40, 0xc8, 0xb0, 0x4e, 0xe0, 0x00, 0x79,
0x05, 0x5a, 0x81, 0x7a, 0x33, 0x55, 0xb4, 0x6a, 0xc7, 0xdc, 0x00, 0xd1,
0x7f, 0x45, 0x04, 0xcc, 0xfb, 0xcf, 0xca, 0xdb, 0x0c, 0x04, 0xcb, 0x6b,
0x22, 0x06, 0x9e, 0x17, 0x93, 0x85, 0xae, 0x1e, 0xaf, 0xab, 0xad, 0x55,
0x21, 0xba, 0xc2, 0xb8, 0xa8, 0xee, 0x1d, 0xff, 0xf5, 0x9a, 0x22, 0xeb,
0x3f, 0xda, 0xcf, 0xc8, 0x71, 0x75, 0xd1, 0x0d, 0x78, 0x94, 0xcf, 0xd8,
0x69, 0xd0, 0x56, 0x05, 0x7d, 0xd9, 0x94, 0x4b, 0x86, 0x9c, 0x17, 0x84,
0xfc, 0xc2, 0x7f, 0x73, 0x1b, 0xc4, 0x61, 0x71, 0xd3, 0x95, 0x70, 0xfb,
0xff, 0xba, 0xdf, 0x08, 0x2d, 0x33, 0xf6, 0x35, 0x2e, 0xcf, 0x44, 0xac,
0xa8, 0xd9, 0x47, 0x8e, 0x53, 0xf5, 0xa5, 0xb7, 0xc8, 0x52, 0xb4, 0x01,
0xe8, 0xf5, 0xf7, 0x4d, 0xa4, 0x9d, 0xa9, 0x1e, 0x65, 0xbd, 0xc9, 0x77,
0x65, 0xa9, 0x52, 0x3b, 0x7a, 0x08, 0x85, 0xa6, 0xf8, 0xaf, 0xe5, 0x75,
0x9d, 0x58, 0x00, 0x9f, 0xbf, 0xa8, 0x37, 0x47, 0x2a, 0x96, 0x8e, 0x6a,
0xe9, 0x20, 0x26, 0xa5, 0xe0, 0x20, 0x2a, 0x39, 0x54, 0x83, 0x09, 0x53,
0x02, 0xd6, 0xc3, 0x98, 0x5b, 0x5f, 0x58, 0x31, 0xc5, 0x21, 0xa2, 0x71},
{},
false,
true},
// an invalid ciphertext that generates a plaintext of maximum size
// for this key size
{0,
{0x7b, 0x03, 0x6f, 0xcd, 0x62, 0x43, 0x90, 0x0e, 0x42, 0x36, 0xc8, 0x94,
0xe2, 0x46, 0x2c, 0x17, 0x73, 0x8a, 0xcc, 0x87, 0xe0, 0x1a, 0x76, 0xf4,
0xd9, 0x5c, 0xb9, 0xa3, 0x28, 0xd9, 0xac, 0xde, 0x81, 0x65, 0x02, 0x83,
0xb8, 0xe8, 0xf6, 0x0a, 0x21, 0x7e, 0x3b, 0xde, 0xe8, 0x35, 0xc7, 0xb2,
0x22, 0xad, 0x4c, 0x85, 0xd0, 0xac, 0xdb, 0x9a, 0x30, 0x9b, 0xd2, 0xa7,
0x54, 0x60, 0x9a, 0x65, 0xde, 0xc5, 0x0f, 0x3a, 0xa0, 0x4c, 0x6d, 0x58,
0x91, 0x03, 0x45, 0x66, 0xb9, 0x56, 0x3d, 0x42, 0x66, 0x8e, 0xde, 0x1f,
0x89, 0x92, 0xb1, 0x77, 0x53, 0xa2, 0x13, 0x2e, 0x28, 0x97, 0x05, 0x84,
0xe2, 0x55, 0xef, 0xc8, 0xb4, 0x5a, 0x41, 0xc5, 0xdb, 0xd7, 0x56, 0x7f,
0x01, 0x4a, 0xce, 0xc5, 0xfe, 0x6f, 0xdb, 0x6d, 0x48, 0x47, 0x90, 0x36,
0x0a, 0x91, 0x3e, 0xbb, 0x9d, 0xef, 0xcd, 0x74, 0xff, 0x37, 0x7f, 0x2a,
0x8b, 0xa4, 0x6d, 0x2e, 0xd8, 0x5f, 0x73, 0x3c, 0x9a, 0x3d, 0xa0, 0x8e,
0xb5, 0x7e, 0xce, 0xdf, 0xaf, 0xda, 0x80, 0x67, 0x78, 0xf0, 0x3c, 0x66,
0xb2, 0xc5, 0xd2, 0x87, 0x4c, 0xec, 0x1c, 0x29, 0x1b, 0x2d, 0x49, 0xeb,
0x19, 0x4c, 0x7b, 0x5d, 0x0d, 0xd2, 0x90, 0x8a, 0xe9, 0x0f, 0x48, 0x43,
0x26, 0x8a, 0x2c, 0x45, 0x56, 0x30, 0x92, 0xad, 0xe0, 0x8a, 0xcb, 0x6a,
0xb4, 0x81, 0xa0, 0x81, 0x76, 0x10, 0x2f, 0xc8, 0x03, 0xfb, 0xb2, 0xf8,
0xad, 0x11, 0xb0, 0xe1, 0x53, 0x1b, 0xd3, 0x7d, 0xf5, 0x43, 0x49, 0x8d,
0xaf, 0x18, 0x0b, 0x12, 0x01, 0x7f, 0x4d, 0x4d, 0x42, 0x6c, 0xa2, 0x9b,
0x41, 0x61, 0x07, 0x55, 0x34, 0xbf, 0xb9, 0x14, 0x96, 0x80, 0x88, 0xa9,
0xd1, 0x37, 0x85, 0xd0, 0xad, 0xc0, 0xe2, 0x58, 0x0d, 0x35, 0x48, 0x49,
0x4b, 0x2a, 0x9e, 0x91, 0x60, 0x5f, 0x2b, 0x27, 0xe6, 0xcc, 0x70, 0x1c,
0x79, 0x6f, 0x0d, 0xe7, 0xc6, 0xf4, 0x71, 0xf6, 0xab, 0x6c, 0xb9, 0x27,
0x2a, 0x1e, 0xd6, 0x37, 0xca, 0x32, 0xa6, 0x0d, 0x11, 0x75, 0x05, 0xd8,
0x2a, 0xf3, 0xc1, 0x33, 0x61, 0x04, 0xaf, 0xb5, 0x37, 0xd0, 0x1a, 0x8f,
0x70, 0xb5, 0x10, 0xe1, 0xee, 0xbf, 0x48, 0x69, 0xcb, 0x97, 0x6c, 0x41,
0x94, 0x73, 0x79, 0x5a, 0x66, 0xc7, 0xf5, 0xe6, 0xe2, 0x0a, 0x80, 0x94,
0xb1, 0xbb, 0x60, 0x3a, 0x74, 0x33, 0x0c, 0x53, 0x7c, 0x5c, 0x06, 0x98,
0xc3, 0x15, 0x38, 0xbd, 0x2e, 0x13, 0x8c, 0x12, 0x75, 0xa1, 0xbd, 0xf2,
0x4c, 0x5f, 0xa8, 0xab, 0x3b, 0x7b, 0x52, 0x63, 0x24, 0xe7, 0x91, 0x8a,
0x38, 0x2d, 0x13, 0x63, 0xb3, 0xd4, 0x63, 0x76, 0x42, 0x22, 0x15, 0x0e,
0x04},
{0x17, 0x15, 0x06, 0x53, 0x22, 0x52, 0x2d, 0xff, 0x85, 0x04, 0x98, 0x00,
0xf6, 0xa2, 0x9a, 0xb5, 0xf9, 0x8c, 0x46, 0x50, 0x20, 0x46, 0x74, 0x14,
0xb2, 0xa4, 0x41, 0x27, 0xfe, 0x94, 0x46, 0xda, 0x47, 0xfa, 0x18, 0x04,
0x79, 0x00, 0xf9, 0x9a, 0xfe, 0x67, 0xc2, 0xdf, 0x6f, 0x50, 0x16, 0x0b,
0xb8, 0xe9, 0x0b, 0xff, 0x29, 0x66, 0x10, 0xfd, 0xe6, 0x32, 0xb3, 0x85,
0x9d, 0x4d, 0x0d, 0x2e, 0x64, 0x4f, 0x23, 0x83, 0x50, 0x28, 0xc4, 0x6c,
0xca, 0x01, 0xb8, 0x4b, 0x88, 0x23, 0x1d, 0x7e, 0x03, 0x15, 0x4e, 0xde,
0xc6, 0x62, 0x7b, 0xcb, 0xa2, 0x3d, 0xe7, 0x67, 0x40, 0xd8, 0x39, 0x85,
0x1f, 0xa1, 0x2d, 0x74, 0xc8, 0xf9, 0x2e, 0x54, 0x0c, 0x73, 0xfe, 0x83,
0x7b, 0x91, 0xb7, 0xd6, 0x99, 0xb3, 0x11, 0x99, 0x7d, 0x5f, 0x0f, 0x78,
0x64, 0xc4, 0x86, 0xd4, 0x99, 0xc3, 0xa7, 0x9c, 0x11, 0x1f, 0xaa, 0xac,
0xbe, 0x47, 0x99, 0x59, 0x7a, 0x25, 0x06, 0x6c, 0x62, 0x00, 0x21, 0x5c,
0x3d, 0x15, 0x8f, 0x38, 0x17, 0xc1, 0xaa, 0x57, 0xf1, 0x8b, 0xda, 0xad,
0x0b, 0xe1, 0x65, 0x8d, 0xa9, 0xda, 0x93, 0xf5, 0xcc, 0x6c, 0x3c, 0x4d,
0xd7, 0x27, 0x88, 0xaf, 0x57, 0xad, 0xbb, 0x6a, 0x0c, 0x26, 0xf4, 0x2d,
0x32, 0xd9, 0x5b, 0x8a, 0x4f, 0x95, 0xe8, 0xc6, 0xfe, 0xb2, 0xf8, 0xa5,
0xd5, 0x3b, 0x19, 0xa5, 0x0a, 0x0b, 0x7c, 0xbc, 0x25, 0xe0, 0x55, 0xad,
0x03, 0xe5, 0xac, 0xe8, 0xf3, 0xf7, 0xdb, 0x13, 0xe5, 0x77, 0x59, 0xf6,
0x7b, 0x65, 0xd1, 0x43, 0xf0, 0x8c, 0xca, 0x15, 0x99, 0x2c, 0x6b, 0x2a,
0xae, 0x64, 0x33, 0x90, 0x48, 0x3d, 0xe1, 0x11, 0xc2, 0x98, 0x8d, 0x4e,
0x76, 0xb4, 0x25, 0x96, 0x26, 0x60, 0x05, 0x10, 0x3c, 0x8d, 0xe6, 0x04,
0x4f, 0xb7, 0x39, 0x8e, 0xb3, 0xc2, 0x8a, 0x86, 0x4f, 0xa6, 0x72, 0xde,
0x5f, 0xd8, 0x77, 0x45, 0x10, 0xff, 0x45, 0xe0, 0x59, 0x69, 0xa1, 0x1a,
0x4c, 0x7d, 0x3f, 0x34, 0x3e, 0x33, 0x11, 0x90, 0xd2, 0xdc, 0xf2, 0x4f,
0xb9, 0x15, 0x4b, 0xa9, 0x04, 0xdc, 0x94, 0xaf, 0x98, 0xaf, 0xc5, 0x77,
0x4a, 0x96, 0x17, 0xd0, 0x41, 0x8f, 0xe6, 0xd1, 0x3f, 0x82, 0x45, 0xc7,
0xd7, 0x62, 0x6c, 0x17, 0x61, 0x38, 0xdd, 0x69, 0x8a, 0x23, 0x54, 0x7c,
0x25, 0xf2, 0x7c, 0x2b, 0x98, 0xea, 0x4d, 0x8a, 0x45, 0xc7, 0x84, 0x2b,
0x81, 0x88, 0x8e, 0x4c, 0xc1, 0x4e, 0x5b, 0x72, 0xe9, 0xcf, 0x91, 0xf5,
0x69, 0x56, 0xc9, 0x3d, 0xbf, 0x2e, 0x5f, 0x44, 0xa8, 0x28, 0x2a, 0x78,
0x13, 0x15, 0x7f, 0xc4, 0x81, 0xff, 0x13, 0x71, 0xa0, 0xf6, 0x6b, 0x31,
0x79, 0x7e, 0x81, 0xeb, 0xdb, 0x09, 0xa6, 0x73, 0xd4, 0xdb, 0x96, 0xd6},
{},
false,
true},
// test_positive_9_bytes_long
{0,
// 'forty two'
{0x66, 0x6f, 0x72, 0x74, 0x79, 0x20, 0x74, 0x77, 0x6f},
{0x6c, 0x60, 0x84, 0x5a, 0x85, 0x4b, 0x45, 0x71, 0xf6, 0x78, 0x94, 0x1a,
0xe3, 0x5a, 0x2a, 0xc0, 0x3f, 0x67, 0xc2, 0x1e, 0x21, 0x14, 0x6f, 0x9d,
0xb1, 0xf2, 0x30, 0x6b, 0xe9, 0xf1, 0x36, 0x45, 0x3b, 0x86, 0xad, 0x55,
0x64, 0x7d, 0x4f, 0x7b, 0x5c, 0x9e, 0x62, 0x19, 0x7a, 0xaf, 0xf0, 0xc0,
0xe4, 0x0a, 0x3b, 0x54, 0xc4, 0xcd, 0xe1, 0x4e, 0x77, 0x4b, 0x1c, 0x59,
0x59, 0xb6, 0xc2, 0xa2, 0x30, 0x28, 0x96, 0xff, 0xae, 0x1f, 0x73, 0xb0,
0x0b, 0x86, 0x2a, 0x20, 0xff, 0x43, 0x04, 0xfe, 0x06, 0xce, 0xa7, 0xff,
0x30, 0xec, 0xb3, 0x77, 0x3c, 0xa9, 0xaf, 0x27, 0xa0, 0xb5, 0x45, 0x47,
0x35, 0x0d, 0x7c, 0x07, 0xdf, 0xb0, 0xa3, 0x96, 0x29, 0xc7, 0xe7, 0x1e,
0x83, 0xfc, 0x5a, 0xf9, 0xb2, 0xad, 0xba, 0xf8, 0x98, 0xe0, 0x37, 0xf1,
0xde, 0x69, 0x6a, 0x3f, 0x32, 0x8c, 0xf4, 0x5a, 0xf7, 0xec, 0x9a, 0xff,
0x71, 0x73, 0x85, 0x40, 0x87, 0xfb, 0x8f, 0xbf, 0x34, 0xbe, 0x98, 0x1e,
0xfb, 0xd8, 0x49, 0x3f, 0x94, 0x38, 0xd1, 0xb2, 0xba, 0x2a, 0x86, 0xaf,
0x08, 0x26, 0x62, 0xaa, 0x46, 0xae, 0x9a, 0xdf, 0xbe, 0xc5, 0x1e, 0x5f,
0x3d, 0x95, 0x50, 0xa4, 0xdd, 0x1d, 0xcb, 0x7c, 0x89, 0x69, 0xc9, 0x58,
0x7a, 0x6e, 0xdc, 0x82, 0xa8, 0xca, 0xbb, 0xc7, 0x85, 0xc4, 0x0d, 0x9f,
0xbd, 0x12, 0x06, 0x45, 0x59, 0xfb, 0x76, 0x94, 0x50, 0xac, 0x3e, 0x47,
0xe8, 0x7b, 0xc0, 0x46, 0x14, 0x81, 0x30, 0xd7, 0xea, 0xa8, 0x43, 0xe4,
0xb3, 0xcc, 0xef, 0x36, 0x75, 0xd0, 0x63, 0x05, 0x00, 0x80, 0x3c, 0xb7,
0xff, 0xee, 0x38, 0x82, 0x37, 0x8c, 0x1a, 0x40, 0x4e, 0x85, 0x0c, 0x3e,
0x20, 0x70, 0x7b, 0xb7, 0x45, 0xe4, 0x2b, 0x13, 0xc1, 0x87, 0x86, 0xc4,
0x97, 0x60, 0x76, 0xed, 0x9f, 0xa8, 0xfd, 0x0f, 0xf1, 0x5e, 0x57, 0x1b,
0xef, 0x02, 0xcb, 0xbe, 0x2f, 0x90, 0xc9, 0x08, 0xac, 0x37, 0x34, 0xa4,
0x33, 0xb7, 0x3e, 0x77, 0x8d, 0x4d, 0x17, 0xfc, 0xc2, 0x8f, 0x49, 0x18,
0x5e, 0xbc, 0x6e, 0x85, 0x36, 0xa0, 0x6d, 0x29, 0x32, 0x02, 0xd9, 0x44,
0x96, 0x45, 0x3b, 0xfd, 0xf1, 0xc2, 0xc7, 0x83, 0x3a, 0x3f, 0x99, 0xfa,
0x38, 0xca, 0x8a, 0x81, 0xf4, 0x2e, 0xaa, 0x52, 0x9d, 0x60, 0x3b, 0x89,
0x03, 0x08, 0xa3, 0x19, 0xc0, 0xab, 0x63, 0xa3, 0x5f, 0xf8, 0xeb, 0xac,
0x96, 0x5f, 0x62, 0x78, 0xf5, 0xa7, 0xe5, 0xd6, 0x22, 0xbe, 0x5d, 0x5f,
0xe5, 0x5f, 0x0c, 0xa3, 0xec, 0x99, 0x3d, 0x55, 0x43, 0x0d, 0x2b, 0xf5,
0x9c, 0x5d, 0x3e, 0x86, 0x0e, 0x90, 0xc1, 0x6d, 0x91, 0xa0, 0x45, 0x96,
0xf6, 0xfd, 0xf6, 0x0d, 0x89, 0xed, 0x95, 0xd8, 0x8c, 0x03, 0x6d, 0xde},
{},
false,
true},
// a valid ciphertext that starts with a null byte and decrypts to
// 9 byte long value
{0,
// 'forty two'
{0x66, 0x6f, 0x72, 0x74, 0x79, 0x20, 0x74, 0x77, 0x6f},
{0x00, 0xf4, 0xd5, 0x65, 0xa3, 0x28, 0x67, 0x84, 0xdb, 0xb8, 0x53, 0x27,
0xdb, 0x88, 0x07, 0xae, 0x55, 0x7e, 0xad, 0x22, 0x9f, 0x92, 0xab, 0xa9,
0x45, 0xce, 0xcd, 0xa5, 0x22, 0x5f, 0x60, 0x6a, 0x7d, 0x61, 0x30, 0xed,
0xee, 0xb6, 0xf2, 0x67, 0x24, 0xd1, 0xef, 0xf1, 0x11, 0x0f, 0x9e, 0xb1,
0x8d, 0xc3, 0x24, 0x81, 0x40, 0xee, 0x38, 0x37, 0xe6, 0x68, 0x83, 0x91,
0xe7, 0x87, 0x96, 0xc5, 0x26, 0x79, 0x13, 0x84, 0xf0, 0x45, 0xe2, 0x1b,
0x6b, 0x85, 0x3f, 0xb6, 0x34, 0x2a, 0x11, 0xf3, 0x09, 0xeb, 0x77, 0x96,
0x2f, 0x37, 0xce, 0x23, 0x92, 0x5a, 0xf6, 0x00, 0x84, 0x7f, 0xbd, 0x30,
0xe6, 0xe0, 0x7e, 0x57, 0xde, 0x50, 0xb6, 0x06, 0xe6, 0xb7, 0xf2, 0x88,
0xcc, 0x77, 0x7c, 0x1a, 0x68, 0x34, 0xf2, 0x7e, 0x6e, 0xda, 0xce, 0x50,
0x84, 0x52, 0x12, 0x89, 0x16, 0xee, 0xf7, 0x78, 0x8c, 0x8b, 0xb2, 0x27,
0xe3, 0x54, 0x8c, 0x6a, 0x76, 0x1c, 0xc4, 0xe9, 0xdd, 0x1a, 0x35, 0x84,
0x17, 0x6d, 0xc0, 0x53, 0xba, 0x35, 0x00, 0xad, 0xb1, 0xd5, 0xe1, 0x61,
0x12, 0x91, 0x65, 0x4f, 0x12, 0xdf, 0xc5, 0x72, 0x28, 0x32, 0xf6, 0x35,
0xdb, 0x30, 0x02, 0xd7, 0x3f, 0x9d, 0xef, 0xc3, 0x10, 0xac, 0xe6, 0x2c,
0x63, 0x86, 0x8d, 0x34, 0x16, 0x19, 0xc7, 0xee, 0x15, 0xb2, 0x02, 0x43,
0xb3, 0x37, 0x1e, 0x05, 0x07, 0x8e, 0x11, 0x21, 0x97, 0x70, 0xc7, 0x01,
0xd9, 0xf3, 0x41, 0xaf, 0x35, 0xdf, 0x1b, 0xc7, 0x29, 0xde, 0x29, 0x48,
0x25, 0xff, 0x2e, 0x41, 0x6a, 0xa1, 0x15, 0x26, 0x61, 0x28, 0x52, 0x77,
0x7e, 0xb1, 0x31, 0xf9, 0xc4, 0x51, 0x51, 0xeb, 0x14, 0x49, 0x80, 0xd7,
0x06, 0x08, 0xd2, 0xfc, 0x40, 0x43, 0x47, 0x73, 0x68, 0x36, 0x9a, 0xa0,
0xfe, 0x48, 0x7a, 0x48, 0xbd, 0x57, 0xe6, 0x6b, 0x00, 0xc3, 0xc5, 0x8f,
0x94, 0x15, 0x49, 0xf5, 0xec, 0x05, 0x0f, 0xca, 0x64, 0x44, 0x9d, 0xeb,
0xe7, 0xa0, 0xc4, 0xac, 0x51, 0xe5, 0x5c, 0xb7, 0x16, 0x20, 0xa7, 0x03,
0x12, 0xaa, 0x4b, 0xd8, 0x5f, 0xac, 0x14, 0x10, 0xc9, 0xc7, 0xf9, 0xd6,
0xec, 0x61, 0x0b, 0x7d, 0x11, 0xbf, 0x8f, 0xae, 0xff, 0xa2, 0x02, 0x55,
0xd1, 0xa1, 0xbe, 0xad, 0x92, 0x97, 0xd0, 0xaa, 0x87, 0x65, 0xcd, 0x28,
0x05, 0x84, 0x7d, 0x63, 0x9b, 0xc4, 0x39, 0xf4, 0xa6, 0xc8, 0x96, 0xe2,
0x00, 0x8f, 0x74, 0x6f, 0x95, 0x90, 0xff, 0x45, 0x96, 0xde, 0x5d, 0xdd,
0xe0, 0x00, 0xed, 0x66, 0x6c, 0x45, 0x2c, 0x97, 0x80, 0x43, 0xff, 0x42,
0x98, 0x46, 0x1e, 0xb5, 0xa2, 0x6d, 0x5e, 0x63, 0xd8, 0x21, 0x43, 0x86,
0x27, 0xf9, 0x12, 0x01, 0x92, 0x4b, 0xf7, 0xf2, 0xae, 0xee, 0x17, 0x27},
{},
false,
true},
// a valid ciphertext that starts with two null bytes and decrypts to
// 9 byte long value
{0,
// 'forty two'
{0x66, 0x6f, 0x72, 0x74, 0x79, 0x20, 0x74, 0x77, 0x6f},
{0x00, 0x00, 0x1e, 0xc9, 0x7a, 0xc9, 0x81, 0xdf, 0xd9, 0xdc, 0xc7, 0xa7,
0x38, 0x9f, 0xdf, 0xa9, 0xd3, 0x61, 0x14, 0x1d, 0xac, 0x80, 0xc2, 0x3a,
0x06, 0x04, 0x10, 0xd4, 0x72, 0xc1, 0x60, 0x94, 0xe6, 0xcd, 0xff, 0xc0,
0xc3, 0x68, 0x4d, 0x84, 0xaa, 0x40, 0x2d, 0x70, 0x51, 0xdf, 0xcc, 0xb2,
0xf6, 0xda, 0x33, 0xf6, 0x69, 0x85, 0xd2, 0xa2, 0x59, 0xf5, 0xb7, 0xfb,
0xf3, 0x9a, 0xc5, 0x37, 0xe9, 0x5c, 0x5b, 0x70, 0x50, 0xeb, 0x18, 0x84,
0x4a, 0x05, 0x13, 0xab, 0xef, 0x81, 0x2c, 0xc8, 0xe7, 0x4a, 0x3c, 0x52,
0x40, 0x00, 0x9e, 0x6e, 0x80, 0x5d, 0xca, 0xdf, 0x53, 0x2b, 0xc1, 0xa2,
0x70, 0x2d, 0x5a, 0xcc, 0x9e, 0x58, 0x5f, 0xad, 0x5b, 0x89, 0xd4, 0x61,
0xfc, 0xc1, 0x39, 0x73, 0x51, 0xcd, 0xce, 0x35, 0x17, 0x15, 0x23, 0x75,
0x8b, 0x17, 0x1d, 0xc0, 0x41, 0xf4, 0x12, 0xe4, 0x29, 0x66, 0xde, 0x7f,
0x94, 0x85, 0x64, 0x77, 0x35, 0x6d, 0x06, 0xf2, 0xa6, 0xb4, 0x0e, 0x3f,
0xf0, 0x54, 0x75, 0x62, 0xa4, 0xd9, 0x1b, 0xbf, 0x13, 0x38, 0xe9, 0xe0,
0x49, 0xfa, 0xcb, 0xee, 0x8b, 0x20, 0x17, 0x11, 0x64, 0x50, 0x54, 0x68,
0xcd, 0x30, 0x89, 0x97, 0x44, 0x7d, 0x3d, 0xc4, 0xb0, 0xac, 0xb4, 0x9e,
0x7d, 0x36, 0x8f, 0xed, 0xd8, 0xc7, 0x34, 0x25, 0x1f, 0x30, 0xa8, 0x34,
0x91, 0xd2, 0x50, 0x6f, 0x3f, 0x87, 0x31, 0x8c, 0xc1, 0x18, 0x82, 0x32,
0x44, 0xa3, 0x93, 0xdc, 0x7c, 0x5c, 0x73, 0x9a, 0x27, 0x33, 0xd9, 0x3e,
0x1b, 0x13, 0xdb, 0x68, 0x40, 0xa9, 0x42, 0x99, 0x47, 0x35, 0x7f, 0x47,
0xb2, 0x3f, 0xbe, 0x39, 0xb7, 0xd2, 0xd6, 0x1e, 0x5e, 0xe2, 0x6f, 0x99,
0x46, 0xc4, 0x63, 0x2f, 0x6c, 0x46, 0x99, 0xe4, 0x52, 0xf4, 0x12, 0xa2,
0x66, 0x41, 0xd4, 0x75, 0x11, 0x35, 0x40, 0x07, 0x13, 0xcd, 0x56, 0xec,
0x66, 0xf0, 0x37, 0x04, 0x23, 0xd5, 0x5d, 0x2a, 0xf7, 0x0f, 0x5e, 0x7a,
0xd0, 0xad, 0xea, 0x8e, 0x4a, 0x0d, 0x90, 0x4a, 0x01, 0xe4, 0xac, 0x27,
0x2e, 0xba, 0x4a, 0xf1, 0xa0, 0x29, 0xdd, 0x53, 0xeb, 0x71, 0xf1, 0x15,
0xbf, 0x31, 0xf7, 0xa6, 0xc8, 0xb1, 0x9a, 0x65, 0x23, 0xad, 0xee, 0xcc,
0x0d, 0x4c, 0x3c, 0x10, 0x75, 0x75, 0xe3, 0x85, 0x72, 0xa8, 0xf8, 0x47,
0x4c, 0xca, 0xd1, 0x63, 0xe4, 0x6e, 0x2e, 0x8b, 0x08, 0x11, 0x11, 0x32,
0xaa, 0x97, 0xa1, 0x6f, 0xb5, 0x88, 0xc9, 0xb7, 0xe3, 0x7b, 0x3b, 0x3d,
0x74, 0x90, 0x38, 0x1f, 0x3c, 0x55, 0xd1, 0xa9, 0x86, 0x9a, 0x0f, 0xd4,
0x2c, 0xd8, 0x6f, 0xed, 0x59, 0xec, 0xec, 0x78, 0xcb, 0x6b, 0x2d, 0xfd,
0x06, 0xa4, 0x97, 0xf5, 0xaf, 0xe3, 0x41, 0x96, 0x91, 0x31, 0x4b, 0xa0},
{},
false,
true},
// test_negative_9_bytes_long
{0,
{0x25, 0x79, 0x06, 0xca, 0x6d, 0xe8, 0x30, 0x77, 0x28},
{0x5c, 0x85, 0x55, 0xf5, 0xce, 0xf6, 0x27, 0xc1, 0x5d, 0x37, 0xf8, 0x5c,
0x7f, 0x5f, 0xd6, 0xe4, 0x99, 0x26, 0x4e, 0xa4, 0xb8, 0xe3, 0xf9, 0x11,
0x20, 0x23, 0xae, 0xb7, 0x22, 0xeb, 0x38, 0xd8, 0xea, 0xc2, 0xbe, 0x37,
0x51, 0xfd, 0x5a, 0x37, 0x85, 0xab, 0x7f, 0x2d, 0x59, 0xfa, 0x37, 0x28,
0xe5, 0xbe, 0x8c, 0x3d, 0xe7, 0x8a, 0x67, 0x46, 0x4e, 0x30, 0xb2, 0x1e,
0xe2, 0x3b, 0x54, 0x84, 0xbb, 0x3c, 0xd0, 0x6d, 0x0e, 0x1c, 0x6a, 0xd2,
0x56, 0x49, 0xc8, 0x51, 0x81, 0x65, 0x65, 0x3e, 0xb8, 0x04, 0x88, 0xbf,
0xb4, 0x91, 0xb2, 0x0c, 0x04, 0x89, 0x7a, 0x67, 0x72, 0xf6, 0x92, 0x92,
0x22, 0x2f, 0xc5, 0xef, 0x50, 0xb5, 0xcf, 0x9e, 0xfc, 0x6d, 0x60, 0x42,
0x6a, 0x44, 0x9b, 0x6c, 0x48, 0x95, 0x69, 0xd4, 0x8c, 0x83, 0x48, 0x8d,
0xf6, 0x29, 0xd6, 0x95, 0x65, 0x3d, 0x40, 0x9c, 0xe4, 0x9a, 0x79, 0x54,
0x47, 0xfc, 0xec, 0x2c, 0x58, 0xa1, 0xa6, 0x72, 0xe4, 0xa3, 0x91, 0x40,
0x1d, 0x42, 0x8b, 0xaa, 0xf7, 0x81, 0x51, 0x6e, 0x11, 0xe3, 0x23, 0xd3,
0x02, 0xfc, 0xf2, 0x0f, 0x6e, 0xab, 0x2b, 0x2d, 0xbe, 0x53, 0xa4, 0x8c,
0x98, 0x7e, 0x40, 0x7c, 0x4d, 0x7e, 0x1c, 0xb4, 0x11, 0x31, 0x32, 0x91,
0x38, 0x31, 0x3d, 0x33, 0x02, 0x04, 0x17, 0x3a, 0x4f, 0x3f, 0xf0, 0x6c,
0x6f, 0xad, 0xf9, 0x70, 0xf0, 0xed, 0x10, 0x05, 0xd0, 0xb2, 0x7e, 0x35,
0xc3, 0xd1, 0x16, 0x93, 0xe0, 0x42, 0x9e, 0x27, 0x2d, 0x58, 0x3e, 0x57,
0xb2, 0xc5, 0x8d, 0x24, 0x31, 0x5c, 0x39, 0x78, 0x56, 0xb3, 0x44, 0x85,
0xdc, 0xb0, 0x77, 0x66, 0x55, 0x92, 0xb7, 0x47, 0xf8, 0x89, 0xd3, 0x4f,
0xeb, 0xf2, 0xbe, 0x8f, 0xce, 0x66, 0xc2, 0x65, 0xfd, 0x9f, 0xc3, 0x57,
0x5a, 0x62, 0x86, 0xa5, 0xce, 0x88, 0xb4, 0xb4, 0x13, 0xa0, 0x8e, 0xfc,
0x57, 0xa0, 0x7a, 0x8f, 0x57, 0xa9, 0x99, 0x60, 0x5a, 0x83, 0x7b, 0x05,
0x42, 0x69, 0x5c, 0x0d, 0x18, 0x9e, 0x67, 0x8b, 0x53, 0x66, 0x2e, 0xcf,
0x7c, 0x3d, 0x37, 0xd9, 0xdb, 0xee, 0xa5, 0x85, 0xee, 0xbf, 0xaf, 0x79,
0x14, 0x11, 0x18, 0xe0, 0x67, 0x62, 0xc2, 0x38, 0x1f, 0xe2, 0x7c, 0xa6,
0x28, 0x8e, 0xdd, 0xdc, 0x19, 0xfd, 0x67, 0xcd, 0x64, 0xf1, 0x6b, 0x46,
0xe0, 0x6d, 0x8a, 0x59, 0xac, 0x53, 0x0f, 0x22, 0xcd, 0x83, 0xcc, 0x0b,
0xc4, 0xe3, 0x7f, 0xeb, 0x52, 0x01, 0x5c, 0xbb, 0x22, 0x83, 0x04, 0x3c,
0xcf, 0x5e, 0x78, 0xa4, 0xeb, 0x71, 0x46, 0x82, 0x7d, 0x7a, 0x46, 0x6b,
0x66, 0xc8, 0xa4, 0xa4, 0x82, 0x6c, 0x1b, 0xad, 0x68, 0x12, 0x3a, 0x7f,
0x2d, 0x00, 0xfc, 0x17, 0x36, 0x52, 0x5f, 0xf9, 0x0c, 0x05, 0x8f, 0x56},
{},
false,
true},
// malformed plaintext that generates a fake plaintext of length
// specified by 2nd to last value from PRF
{0,
{0x04, 0x33, 0x83, 0xc9, 0x29, 0x06, 0x03, 0x74, 0xed},
{0x75, 0x8c, 0x21, 0x5a, 0xa6, 0xac, 0xd6, 0x12, 0x48, 0x06, 0x2b, 0x88,
0x28, 0x4b, 0xf4, 0x3c, 0x13, 0xcb, 0x3b, 0x3d, 0x02, 0x41, 0x0b, 0xe4,
0x23, 0x86, 0x07, 0x44, 0x2f, 0x1c, 0x02, 0x16, 0x70, 0x6e, 0x21, 0xa0,
0x3a, 0x2c, 0x10, 0xeb, 0x62, 0x4a, 0x63, 0x32, 0x2d, 0x85, 0x4d, 0xa1,
0x95, 0xc0, 0x17, 0xb7, 0x6f, 0xea, 0x83, 0xe2, 0x74, 0xfa, 0x37, 0x18,
0x34, 0xdc, 0xd2, 0xf3, 0xb7, 0xac, 0xcf, 0x43, 0x3f, 0xc2, 0x12, 0xad,
0x76, 0xc0, 0xba, 0xc3, 0x66, 0xe1, 0xed, 0x32, 0xe2, 0x5b, 0x27, 0x9f,
0x94, 0x12, 0x9b, 0xe7, 0xc6, 0x4d, 0x6e, 0x16, 0x2a, 0xdc, 0x08, 0xcc,
0xeb, 0xc0, 0xcf, 0xe8, 0xe9, 0x26, 0xf0, 0x1c, 0x33, 0xab, 0x9c, 0x06,
0x5f, 0x0e, 0x0a, 0xc8, 0x3a, 0xe5, 0x13, 0x7a, 0x4c, 0xb6, 0x67, 0x02,
0x61, 0x5a, 0xd6, 0x8a, 0x35, 0x70, 0x7d, 0x86, 0x76, 0xd2, 0x74, 0x0d,
0x7c, 0x1a, 0x95, 0x46, 0x80, 0xc8, 0x39, 0x80, 0xe1, 0x97, 0x78, 0xed,
0x11, 0xee, 0xd3, 0xa7, 0xc2, 0xdb, 0xdf, 0xc4, 0x61, 0xa9, 0xbb, 0xef,
0x67, 0x1c, 0x1b, 0xc0, 0x0c, 0x88, 0x2d, 0x36, 0x1d, 0x29, 0xd5, 0xf8,
0x0c, 0x42, 0xbd, 0xf5, 0xef, 0xec, 0x88, 0x6c, 0x34, 0x13, 0x8f, 0x83,
0x36, 0x9c, 0x69, 0x33, 0xb2, 0xac, 0x4e, 0x93, 0xe7, 0x64, 0x26, 0x53,
0x51, 0xb4, 0xa0, 0x08, 0x3f, 0x04, 0x0e, 0x14, 0xf5, 0x11, 0xf0, 0x9b,
0x22, 0xf9, 0x65, 0x66, 0x13, 0x88, 0x64, 0xe4, 0xe6, 0xff, 0x24, 0xda,
0x48, 0x10, 0x09, 0x5d, 0xa9, 0x8e, 0x05, 0x85, 0x41, 0x09, 0x51, 0x53,
0x8c, 0xed, 0x2f, 0x75, 0x7a, 0x27, 0x7f, 0xf8, 0xe1, 0x71, 0x72, 0xf0,
0x65, 0x72, 0xc9, 0x02, 0x4e, 0xea, 0xe5, 0x03, 0xf1, 0x76, 0xfd, 0x46,
0xeb, 0x6c, 0x5c, 0xd9, 0xba, 0x07, 0xaf, 0x11, 0xcd, 0xe3, 0x1d, 0xcc,
0xac, 0x12, 0xeb, 0x3a, 0x42, 0x49, 0xa7, 0xbf, 0xd3, 0xb1, 0x97, 0x97,
0xad, 0x16, 0x56, 0x98, 0x4b, 0xfc, 0xbf, 0x6f, 0x74, 0xe8, 0xf9, 0x9d,
0x8f, 0x1a, 0xc4, 0x20, 0x81, 0x1f, 0x3d, 0x16, 0x6d, 0x87, 0xf9, 0x35,
0xef, 0x15, 0xae, 0x85, 0x8c, 0xf9, 0xe7, 0x2c, 0x8e, 0x2b, 0x54, 0x7b,
0xf1, 0x6c, 0x3f, 0xb0, 0x9a, 0x8c, 0x9b, 0xf8, 0x8f, 0xd2, 0xe5, 0xd3,
0x8b, 0xf2, 0x4e, 0xd6, 0x10, 0x89, 0x61, 0x31, 0xa8, 0x4d, 0xf7, 0x6b,
0x9f, 0x92, 0x0f, 0xe7, 0x6d, 0x71, 0xff, 0xf9, 0x38, 0xe9, 0x19, 0x9f,
0x3b, 0x8c, 0xd0, 0xc1, 0x1f, 0xd0, 0x20, 0x1f, 0x91, 0x39, 0xd7, 0x67,
0x3a, 0x87, 0x1a, 0x9e, 0x7d, 0x4a, 0xdc, 0x3b, 0xbe, 0x36, 0x0c, 0x88,
0x13, 0x61, 0x7c, 0xd6, 0x0a, 0x90, 0x12, 0x8f, 0xbe, 0x34, 0xc9, 0xd5},
{},
false,
true},
// malformed plaintext that generates a fake plaintext of length
// specified by 3rd to last value from PRF
{0,
{0x70, 0x26, 0x3f, 0xa6, 0x05, 0x05, 0x34, 0xb9, 0xe0},
{0x7b, 0x22, 0xd5, 0xe6, 0x2d, 0x28, 0x79, 0x68, 0xc6, 0x62, 0x21, 0x71,
0xa1, 0xf7, 0x5d, 0xb4, 0xb0, 0xfd, 0x15, 0xcd, 0xf3, 0x13, 0x4a, 0x18,
0x95, 0xd2, 0x35, 0xd5, 0x6f, 0x8d, 0x8f, 0xe6, 0x19, 0xf2, 0xbf, 0x48,
0x68, 0x17, 0x4a, 0x91, 0xd7, 0x60, 0x1a, 0x82, 0x97, 0x5d, 0x22, 0x55,
0x19, 0x0d, 0x28, 0xb8, 0x69, 0x14, 0x1d, 0x7c, 0x39, 0x5f, 0x0b, 0x8c,
0x4e, 0x2b, 0xe2, 0xb2, 0xc1, 0xb4, 0xff, 0xc1, 0x2c, 0xe7, 0x49, 0xa6,
0xf6, 0x80, 0x3d, 0x4c, 0xfe, 0x7f, 0xba, 0x0a, 0x8d, 0x69, 0x49, 0xc0,
0x41, 0x51, 0xf9, 0x81, 0xc0, 0xd8, 0x45, 0x92, 0xaa, 0x2f, 0xf2, 0x5d,
0x1b, 0xd3, 0xce, 0x5d, 0x10, 0xcb, 0x03, 0xda, 0xca, 0x6b, 0x49, 0x6c,
0x6a, 0xd4, 0x0d, 0x30, 0xbf, 0xa8, 0xac, 0xdf, 0xd0, 0x2c, 0xdb, 0x93,
0x26, 0xc4, 0xbd, 0xd9, 0x3b, 0x94, 0x9c, 0x9d, 0xc4, 0x6c, 0xaa, 0x8f,
0x0e, 0x5f, 0x42, 0x97, 0x85, 0xbc, 0xe6, 0x41, 0x36, 0xa4, 0x29, 0xa3,
0x69, 0x5e, 0xe6, 0x74, 0xb6, 0x47, 0x45, 0x2b, 0xea, 0x1b, 0x0c, 0x6d,
0xe9, 0xc5, 0xf1, 0xe8, 0x76, 0x0d, 0x5e, 0xf6, 0xd5, 0xa9, 0xcf, 0xff,
0x40, 0x45, 0x7b, 0x02, 0x3d, 0x3c, 0x23, 0x3c, 0x1d, 0xcb, 0x32, 0x3e,
0x78, 0x08, 0x10, 0x3e, 0x73, 0x96, 0x3b, 0x2e, 0xaf, 0xc9, 0x28, 0xc9,
0xee, 0xb0, 0xee, 0x32, 0x94, 0x95, 0x54, 0x15, 0xc1, 0xdd, 0xd9, 0xa1,
0xbb, 0x7e, 0x13, 0x8f, 0xec, 0xd7, 0x9a, 0x3c, 0xb8, 0x9c, 0x57, 0xbd,
0x23, 0x05, 0x52, 0x46, 0x24, 0x81, 0x4a, 0xaf, 0x0f, 0xd1, 0xac, 0xbf,
0x37, 0x9f, 0x7f, 0x5b, 0x39, 0x42, 0x1f, 0x12, 0xf1, 0x15, 0xba, 0x48,
0x8d, 0x38, 0x05, 0x86, 0x09, 0x5b, 0xb5, 0x3f, 0x17, 0x4f, 0xae, 0x42,
0x4f, 0xa4, 0xc8, 0xe3, 0xb2, 0x99, 0x70, 0x9c, 0xd3, 0x44, 0xb9, 0xf9,
0x49, 0xb1, 0xab, 0x57, 0xf1, 0xc6, 0x45, 0xd7, 0xed, 0x3c, 0x8f, 0x81,
0xd5, 0x59, 0x41, 0x97, 0x35, 0x50, 0x29, 0xfe, 0xe8, 0x96, 0x09, 0x70,
0xff, 0x59, 0x71, 0x0d, 0xc0, 0xe5, 0xeb, 0x50, 0xea, 0x6f, 0x4c, 0x39,
0x38, 0xe3, 0xf8, 0x9e, 0xd7, 0x93, 0x30, 0x23, 0xa2, 0xc2, 0xdd, 0xff,
0xab, 0xa0, 0x7b, 0xe1, 0x47, 0xf6, 0x86, 0x82, 0x8b, 0xd7, 0xd5, 0x20,
0xf3, 0x00, 0x50, 0x7e, 0xd6, 0xe7, 0x1b, 0xda, 0xee, 0x05, 0x57, 0x0b,
0x27, 0xbc, 0x92, 0x74, 0x11, 0x08, 0xac, 0x2e, 0xb4, 0x33, 0xf0, 0x28,
0xe1, 0x38, 0xdd, 0x6d, 0x63, 0x06, 0x7b, 0xc2, 0x06, 0xea, 0x2d, 0x82,
0x6a, 0x7f, 0x41, 0xc0, 0xd6, 0x13, 0xda, 0xed, 0x02, 0x0f, 0x0f, 0x30,
0xf4, 0xe2, 0x72, 0xe9, 0x61, 0x8e, 0x0a, 0x8c, 0x39, 0x01, 0x8a, 0x83},
{},
false,
true},
// an otherwise correct plaintext, but with wrong first byte
// (0x01 instead of 0x00), generates a random 9 byte long plaintext
{0,
{0x6d, 0x8d, 0x3a, 0x09, 0x4f, 0xf3, 0xaf, 0xff, 0x4c},
{0x6d, 0xb8, 0x0a, 0xdb, 0x5f, 0xf0, 0xa7, 0x68, 0xca, 0xf1, 0x37, 0x8e,
0xcc, 0x38, 0x2a, 0x69, 0x4e, 0x7d, 0x1b, 0xde, 0x2e, 0xff, 0x4b, 0xa1,
0x2c, 0x48, 0xaa, 0xf7, 0x94, 0xde, 0xd7, 0xa9, 0x94, 0xa5, 0xb2, 0xb5,
0x7a, 0xce, 0xc2, 0x0d, 0xbe, 0xc4, 0xae, 0x38, 0x5c, 0x9d, 0xd5, 0x31,
0x94, 0x5c, 0x0f, 0x19, 0x7a, 0x54, 0x96, 0x90, 0x87, 0x25, 0xfc, 0x99,
0xd8, 0x86, 0x01, 0xa1, 0x7d, 0x3b, 0xb0, 0xb2, 0xd3, 0x8d, 0x2c, 0x1c,
0x31, 0x00, 0xf3, 0x99, 0x55, 0xa4, 0xcb, 0x3d, 0xbe, 0xd5, 0xa3, 0x8b,
0xf9, 0x00, 0xf2, 0x3d, 0x91, 0xe1, 0x73, 0x64, 0x0e, 0x4e, 0xc6, 0x55,
0xc8, 0x4f, 0xdf, 0xe7, 0x1f, 0xcd, 0xb1, 0x2a, 0x38, 0x61, 0x08, 0xfc,
0xf7, 0x18, 0xc9, 0xb7, 0xaf, 0x37, 0xd3, 0x97, 0x03, 0xe8, 0x82, 0x43,
0x62, 0x24, 0xc8, 0x77, 0xa2, 0x23, 0x5e, 0x83, 0x44, 0xfb, 0xa6, 0xc9,
0x51, 0xeb, 0x7e, 0x2a, 0x4d, 0x1d, 0x1d, 0xe8, 0x1f, 0xb4, 0x63, 0xac,
0x1b, 0x88, 0x0f, 0x6c, 0xc0, 0xe5, 0x9a, 0xde, 0x05, 0xc8, 0xce, 0x35,
0x17, 0x9e, 0xcd, 0x09, 0x54, 0x67, 0x31, 0xfc, 0x07, 0xb1, 0x41, 0xd3,
0xd6, 0xb3, 0x42, 0xa9, 0x7a, 0xe7, 0x47, 0xe6, 0x1a, 0x91, 0x30, 0xf7,
0x2d, 0x37, 0xac, 0x5a, 0x2c, 0x30, 0x21, 0x5b, 0x6c, 0xbd, 0x66, 0xc7,
0xdb, 0x89, 0x38, 0x10, 0xdf, 0x58, 0xb4, 0xc4, 0x57, 0xb4, 0xb5, 0x4f,
0x34, 0x42, 0x82, 0x47, 0xd5, 0x84, 0xe0, 0xfa, 0x71, 0x06, 0x24, 0x46,
0x21, 0x0d, 0xb0, 0x82, 0x54, 0xfb, 0x9e, 0xad, 0x1b, 0xa1, 0xa3, 0x93,
0xc7, 0x24, 0xbd, 0x29, 0x1f, 0x0c, 0xf1, 0xa7, 0x14, 0x3f, 0x32, 0xdf,
0x84, 0x90, 0x51, 0xdc, 0x89, 0x6d, 0x7d, 0x17, 0x6f, 0xef, 0x3b, 0x57,
0xab, 0x6d, 0xff, 0xd6, 0x26, 0xd0, 0xc3, 0x04, 0x4e, 0x9e, 0xdb, 0x2e,
0x3d, 0x01, 0x2a, 0xce, 0x20, 0x2d, 0x25, 0x81, 0xdf, 0x01, 0xbe, 0xc7,
0xe9, 0xaa, 0x07, 0x27, 0xa6, 0x65, 0x0d, 0xd3, 0x73, 0xd3, 0x74, 0xf0,
0xbc, 0x0f, 0x4a, 0x61, 0x1f, 0x81, 0x39, 0xdf, 0xe9, 0x7d, 0x63, 0xe7,
0x0c, 0x61, 0x88, 0xf4, 0xdf, 0x5b, 0x67, 0x2e, 0x47, 0xc5, 0x1d, 0x8a,
0xa5, 0x67, 0x09, 0x72, 0x93, 0xfb, 0xff, 0x12, 0x7c, 0x75, 0xec, 0x69,
0x0b, 0x43, 0x40, 0x75, 0x78, 0xb7, 0x3c, 0x85, 0x45, 0x17, 0x10, 0xa0,
0xce, 0xce, 0x58, 0xfd, 0x49, 0x7d, 0x7f, 0x7b, 0xd3, 0x6a, 0x8a, 0x92,
0x78, 0x3e, 0xf7, 0xdc, 0x62, 0x65, 0xdf, 0xf5, 0x2a, 0xac, 0x8b, 0x70,
0x34, 0x0b, 0x99, 0x65, 0x08, 0xd3, 0x92, 0x17, 0xf2, 0x78, 0x3c, 0xe6,
0xfc, 0x91, 0xa1, 0xcc, 0x94, 0xbb, 0x2a, 0xc4, 0x87, 0xb8, 0x4f, 0x62},
{},
false,
true},
// an otherwise correct plaintext, but with wrong second byte
// (0x01 instead of 0x02), generates a random 9 byte long plaintext
{0,
{0xc6, 0xae, 0x80, 0xff, 0xa8, 0x0b, 0xc1, 0x84, 0xb0},
{0x41, 0x73, 0x28, 0xc0, 0x34, 0x45, 0x85, 0x63, 0x07, 0x9a, 0x40, 0x24,
0x81, 0x7d, 0x01, 0x50, 0x34, 0x0c, 0x34, 0xe2, 0x5a, 0xe1, 0x6d, 0xca,
0xd6, 0x90, 0x62, 0x3f, 0x70, 0x2e, 0x5c, 0x74, 0x8a, 0x6e, 0xbb, 0x34,
0x19, 0xff, 0x48, 0xf4, 0x86, 0xf8, 0x3b, 0xa9, 0xdf, 0x35, 0xc0, 0x5e,
0xfb, 0xd7, 0xf4, 0x06, 0x13, 0xf0, 0xfc, 0x99, 0x6c, 0x53, 0x70, 0x6c,
0x30, 0xdf, 0x6b, 0xba, 0x6d, 0xcd, 0x4a, 0x40, 0x82, 0x5f, 0x96, 0x13,
0x3f, 0x3c, 0x21, 0x63, 0x8a, 0x34, 0x2b, 0xd4, 0x66, 0x3d, 0xff, 0xbd,
0x00, 0x73, 0x98, 0x0d, 0xac, 0x47, 0xf8, 0xc1, 0xdd, 0x8e, 0x97, 0xce,
0x14, 0x12, 0xe4, 0xf9, 0x1f, 0x2a, 0x8a, 0xdb, 0x1a, 0xc2, 0xb1, 0x07,
0x10, 0x66, 0xef, 0xe8, 0xd7, 0x18, 0xbb, 0xb8, 0x8c, 0xa4, 0xa5, 0x9b,
0xd6, 0x15, 0x00, 0xe8, 0x26, 0xf2, 0x36, 0x52, 0x55, 0xa4, 0x09, 0xbe,
0xce, 0x0f, 0x97, 0x2d, 0xf9, 0x7c, 0x3a, 0x55, 0xe0, 0x92, 0x89, 0xef,
0x5f, 0xa8, 0x15, 0xa2, 0x35, 0x3e, 0xf3, 0x93, 0xfd, 0x1a, 0xec, 0xfc,
0x88, 0x8d, 0x61, 0x1c, 0x16, 0xae, 0xc5, 0x32, 0xe5, 0x14, 0x8b, 0xe1,
0x5e, 0xf1, 0xbf, 0x28, 0x34, 0xb8, 0xf7, 0x5b, 0xb2, 0x6d, 0xb0, 0x8b,
0x66, 0xd2, 0xba, 0xad, 0x64, 0x64, 0xf8, 0x43, 0x9d, 0x19, 0x86, 0xb5,
0x33, 0x81, 0x33, 0x21, 0xdb, 0xb1, 0x80, 0x08, 0x09, 0x10, 0xf2, 0x33,
0xbc, 0xc4, 0xdd, 0x78, 0x4f, 0xb2, 0x18, 0x71, 0xae, 0xf4, 0x1b, 0xe0,
0x8b, 0x7b, 0xfa, 0xd4, 0xec, 0xc3, 0xb6, 0x8f, 0x22, 0x8c, 0xb5, 0x31,
0x7a, 0xc6, 0xec, 0x12, 0x27, 0xbc, 0x7d, 0x0e, 0x45, 0x20, 0x37, 0xba,
0x91, 0x8e, 0xe1, 0xda, 0x9f, 0xdb, 0x83, 0x93, 0xae, 0x93, 0xb1, 0xe9,
0x37, 0xa8, 0xd4, 0x69, 0x1a, 0x17, 0x87, 0x1d, 0x50, 0x92, 0xd2, 0x38,
0x4b, 0x61, 0x90, 0xa5, 0x3d, 0xf8, 0x88, 0xf6, 0x5b, 0x95, 0x1b, 0x05,
0xed, 0x4a, 0xd5, 0x7f, 0xe4, 0xb0, 0xc6, 0xa4, 0x7b, 0x5b, 0x22, 0xf3,
0x2a, 0x7f, 0x23, 0xc1, 0xa2, 0x34, 0xc9, 0xfe, 0xb5, 0xd8, 0x71, 0x3d,
0x94, 0x96, 0x86, 0x76, 0x06, 0x80, 0xda, 0x4d, 0xb4, 0x54, 0xf4, 0xac,
0xad, 0x97, 0x24, 0x70, 0x03, 0x34, 0x72, 0xb9, 0x86, 0x4d, 0x63, 0xe8,
0xd2, 0x3e, 0xef, 0xc8, 0x7e, 0xbc, 0xf4, 0x64, 0xec, 0xf3, 0x3f, 0x67,
0xfb, 0xcd, 0xd4, 0x8e, 0xab, 0x38, 0xc5, 0x29, 0x25, 0x86, 0xb3, 0x6a,
0xef, 0x59, 0x81, 0xed, 0x2f, 0xa0, 0x7b, 0x2f, 0x9e, 0x23, 0xfc, 0x57,
0xd9, 0xeb, 0x71, 0xbf, 0xff, 0x41, 0x11, 0xc8, 0x57, 0xe9, 0xff, 0xf2,
0x3c, 0xeb, 0x31, 0xe7, 0x25, 0x92, 0xe7, 0x0c, 0x87, 0x4b, 0x49, 0x36},
{},
false,
true},
// an otherwise correct plaintext, but with wrong third byte
// (0x00 instead of non-zero), generates a random 9 byte long plaintext
{0,
{0xa8, 0xa9, 0x30, 0x1d, 0xaa, 0x01, 0xbb, 0x25, 0xc7},
{0x85, 0x42, 0xc6, 0x26, 0xfe, 0x53, 0x34, 0x67, 0xac, 0xff, 0xcd, 0x4e,
0x61, 0x76, 0x92, 0x24, 0x4c, 0x9b, 0x5a, 0x3b, 0xf0, 0xa2, 0x15, 0xc5,
0xd6, 0x48, 0x91, 0xce, 0xd4, 0xbf, 0x4f, 0x95, 0x91, 0xb4, 0xb2, 0xae,
0xdf, 0xf9, 0x84, 0x30, 0x57, 0x98, 0x6d, 0x81, 0x63, 0x1b, 0x0a, 0xcb,
0x37, 0x04, 0xec, 0x21, 0x80, 0xe5, 0x69, 0x6e, 0x8b, 0xd1, 0x5b, 0x21,
0x7a, 0x0e, 0xc3, 0x6d, 0x20, 0x61, 0xb0, 0xe2, 0x18, 0x2f, 0xaa, 0x3d,
0x1c, 0x59, 0xbd, 0x3f, 0x90, 0x86, 0xa1, 0x00, 0x77, 0xa3, 0x33, 0x7a,
0x3f, 0x5d, 0xa5, 0x03, 0xec, 0x37, 0x53, 0x53, 0x5f, 0xfd, 0x25, 0xb8,
0x37, 0xa1, 0x2f, 0x25, 0x41, 0xaf, 0xef, 0xd0, 0xcf, 0xfb, 0x02, 0x24,
0xb8, 0xf8, 0x74, 0xe4, 0xbe, 0xd1, 0x39, 0x49, 0xe1, 0x05, 0xc0, 0x75,
0xed, 0x44, 0xe2, 0x87, 0xc5, 0xae, 0x03, 0xb1, 0x55, 0xe0, 0x6b, 0x90,
0xed, 0x24, 0x7d, 0x2c, 0x07, 0xf1, 0xef, 0x33, 0x23, 0xe3, 0x50, 0x8c,
0xce, 0x4e, 0x40, 0x74, 0x60, 0x6c, 0x54, 0x17, 0x2a, 0xd7, 0x4d, 0x12,
0xf8, 0xc3, 0xa4, 0x7f, 0x65, 0x4a, 0xd6, 0x71, 0x10, 0x4b, 0xf7, 0x68,
0x1e, 0x5b, 0x06, 0x18, 0x62, 0x74, 0x7d, 0x9a, 0xfd, 0x37, 0xe0, 0x7d,
0x8e, 0x0e, 0x22, 0x91, 0xe0, 0x1f, 0x14, 0xa9, 0x5a, 0x1b, 0xb4, 0xcb,
0xb4, 0x7c, 0x30, 0x4e, 0xf0, 0x67, 0x59, 0x5a, 0x39, 0x47, 0xee, 0x2d,
0x72, 0x20, 0x67, 0xe3, 0x8a, 0x0f, 0x04, 0x6f, 0x43, 0xec, 0x29, 0xca,
0xc6, 0xa8, 0x80, 0x1c, 0x6e, 0x3e, 0x9a, 0x23, 0x31, 0xb1, 0xd4, 0x5a,
0x7a, 0xa2, 0xc6, 0xaf, 0x32, 0x05, 0xbe, 0x38, 0x2d, 0xd0, 0x26, 0xe3,
0x89, 0x61, 0x4e, 0xe0, 0x95, 0x66, 0x5a, 0x61, 0x1a, 0xb2, 0xe8, 0xdc,
0xed, 0x2e, 0xe1, 0xc9, 0xd0, 0x8a, 0xc9, 0xde, 0x11, 0xae, 0xf5, 0xb3,
0x80, 0x3f, 0xc9, 0xa9, 0xce, 0x82, 0x31, 0xec, 0x87, 0xb5, 0xfe, 0xd3,
0x86, 0xfb, 0x92, 0xee, 0x3d, 0xb9, 0x95, 0xa8, 0x93, 0x07, 0xbc, 0xba,
0x84, 0x4b, 0xd0, 0xa6, 0x91, 0xc2, 0x9a, 0xe5, 0x12, 0x16, 0xe9, 0x49,
0xdf, 0xc8, 0x13, 0x13, 0x3c, 0xb0, 0x6a, 0x07, 0x26, 0x5f, 0xd8, 0x07,
0xbc, 0xb3, 0x37, 0x7f, 0x6a, 0xdb, 0x0a, 0x48, 0x1d, 0x9b, 0x7f, 0x44,
0x20, 0x03, 0x11, 0x58, 0x95, 0x93, 0x97, 0x73, 0xe6, 0xb9, 0x53, 0x71,
0xc4, 0xfe, 0xbe, 0xf2, 0x9e, 0xda, 0xe9, 0x46, 0xfa, 0x24, 0x5e, 0x7c,
0x50, 0x72, 0x9e, 0x2e, 0x55, 0x8c, 0xfa, 0xad, 0x77, 0x3d, 0x1f, 0xd5,
0xf6, 0x7b, 0x45, 0x7a, 0x6d, 0x9d, 0x17, 0xa8, 0x47, 0xc6, 0xfc, 0xbd,
0xb1, 0x03, 0xa8, 0x6f, 0x35, 0xf2, 0x28, 0xce, 0xfc, 0x06, 0xce, 0xa0},
{},
false,
true},
// an otherwise correct plaintext, but with wrong tenth byte
// (0x00 instead of non-zero), generates a random 9 byte long plaintext
{0,
{0x6c, 0x71, 0x6f, 0xe0, 0x1d, 0x44, 0x39, 0x80, 0x18},
{0x44, 0x9d, 0xfa, 0x23, 0x7a, 0x70, 0xa9, 0x9c, 0xb0, 0x35, 0x17, 0x93,
0xec, 0x86, 0x77, 0x88, 0x20, 0x21, 0xc2, 0xaa, 0x74, 0x35, 0x80, 0xbf,
0x6a, 0x0e, 0xa6, 0x72, 0x05, 0x5c, 0xff, 0xe8, 0x30, 0x3a, 0xc4, 0x28,
0x55, 0xb1, 0xd1, 0xf3, 0x37, 0x3a, 0xae, 0x6a, 0xf0, 0x9c, 0xb9, 0x07,
0x41, 0x80, 0xfc, 0x96, 0x3e, 0x9d, 0x14, 0x78, 0xa4, 0xf9, 0x8b, 0x3b,
0x48, 0x61, 0xd3, 0xe7, 0xf0, 0xaa, 0x85, 0x60, 0xcf, 0x60, 0x37, 0x11,
0xf1, 0x39, 0xdb, 0x77, 0x66, 0x7c, 0xa1, 0x4b, 0xa3, 0xa1, 0xac, 0xde,
0xdf, 0xca, 0x9e, 0xf4, 0x60, 0x3d, 0x6d, 0x7e, 0xb0, 0x64, 0x5b, 0xfc,
0x80, 0x53, 0x04, 0xf9, 0xad, 0x9d, 0x77, 0xd3, 0x47, 0x62, 0xce, 0x5c,
0xd8, 0x4b, 0xd3, 0xec, 0x9d, 0x35, 0xc3, 0x0e, 0x3b, 0xe7, 0x2a, 0x1e,
0x8d, 0x35, 0x5d, 0x56, 0x74, 0xa1, 0x41, 0xb5, 0x53, 0x06, 0x59, 0xad,
0x64, 0xeb, 0xb6, 0x08, 0x2e, 0x6f, 0x73, 0xa8, 0x08, 0x32, 0xab, 0x63,
0x88, 0x91, 0x25, 0x38, 0x91, 0x46, 0x54, 0xd3, 0x46, 0x02, 0xf4, 0xb3,
0xb1, 0xc7, 0x85, 0x89, 0xb4, 0xa5, 0xd9, 0x64, 0xb2, 0xef, 0xcc, 0xa1,
0xdc, 0x70, 0x04, 0xc4, 0x1f, 0x6c, 0xaf, 0xcb, 0x5a, 0x71, 0x59, 0xa7,
0xfc, 0x7c, 0x03, 0x98, 0x60, 0x4d, 0x0e, 0xdb, 0xd4, 0xc8, 0xf4, 0xf0,
0x40, 0x67, 0xda, 0x6a, 0x15, 0x3a, 0x05, 0xe7, 0xcb, 0xee, 0xa1, 0x3b,
0x5e, 0xe4, 0x12, 0x40, 0x0e, 0xf7, 0xd4, 0xf3, 0x10, 0x6f, 0x47, 0x98,
0xda, 0x70, 0x7e, 0xc3, 0x7a, 0x11, 0x28, 0x6d, 0xf2, 0xb7, 0xa2, 0x04,
0x85, 0x6d, 0x5f, 0xf7, 0x73, 0x61, 0x3f, 0xd1, 0xe4, 0x53, 0xa7, 0x11,
0x4b, 0x78, 0xe3, 0x47, 0xd3, 0xe8, 0x07, 0x8e, 0x1c, 0xb3, 0x27, 0x6b,
0x35, 0x62, 0x48, 0x6b, 0xa6, 0x30, 0xbf, 0x71, 0x96, 0x97, 0xe0, 0x07,
0x3a, 0x12, 0x3c, 0x3e, 0x60, 0xeb, 0xb5, 0xc7, 0xa1, 0xcc, 0xff, 0x42,
0x79, 0xfa, 0xff, 0xa2, 0x40, 0x2b, 0xc1, 0x10, 0x9f, 0x8d, 0x55, 0x9d,
0x67, 0x66, 0xe7, 0x35, 0x91, 0x94, 0x3d, 0xfc, 0xf2, 0x5b, 0xa1, 0x0c,
0x37, 0x62, 0xf0, 0x2a, 0xf8, 0x51, 0x87, 0x79, 0x9b, 0x8b, 0x4b, 0x13,
0x5c, 0x39, 0x90, 0x79, 0x3a, 0x6f, 0xd3, 0x26, 0x42, 0xf1, 0x55, 0x74,
0x05, 0xba, 0x55, 0xcc, 0x7c, 0xf7, 0x33, 0x6a, 0x0e, 0x96, 0x70, 0x73,
0xc5, 0xfa, 0x50, 0x74, 0x3f, 0x9c, 0xc5, 0xe3, 0x01, 0x7c, 0x17, 0x2d,
0x98, 0x98, 0xd2, 0xaf, 0x83, 0x34, 0x5e, 0x71, 0xb3, 0xe0, 0xc2, 0x2a,
0xb7, 0x91, 0xea, 0xcb, 0x64, 0x84, 0xa3, 0x2e, 0xc6, 0x0e, 0xbc, 0x22,
0x6e, 0xc9, 0xde, 0xae, 0xe9, 0x1b, 0x1a, 0x05, 0x60, 0xc2, 0xb5, 0x71},
{},
false,
true},
// an otherwise correct plaintext, but with the null byte specifying
// end of padding missing, generates a random 9 byte long plaintext
{0,
{0xaa, 0x2d, 0xe6, 0xcd, 0xe4, 0xe2, 0x44, 0x28, 0x84},
{0xa7, 0xa5, 0xc9, 0x9e, 0x50, 0xda, 0x48, 0x76, 0x9e, 0xcb, 0x77, 0x9d,
0x9a, 0xbe, 0x86, 0xef, 0x9e, 0xc8, 0xc3, 0x8c, 0x6f, 0x43, 0xf1, 0x7c,
0x7f, 0x2d, 0x7a, 0xf6, 0x08, 0xa4, 0xa1, 0xbd, 0x6c, 0xf6, 0x95, 0xb4,
0x7e, 0x97, 0xc1, 0x91, 0xc6, 0x1f, 0xb5, 0xa2, 0x73, 0x18, 0xd0, 0x2f,
0x49, 0x5a, 0x17, 0x6b, 0x9f, 0xae, 0x5a, 0x55, 0xb5, 0xd3, 0xfa, 0xbd,
0x1d, 0x8a, 0xae, 0x49, 0x57, 0xe3, 0x87, 0x9c, 0xb0, 0xc6, 0x0f, 0x03,
0x77, 0x24, 0xe1, 0x1b, 0xe5, 0xf3, 0x0f, 0x08, 0xfc, 0x51, 0xc0, 0x33,
0x73, 0x1f, 0x14, 0xb4, 0x4b, 0x41, 0x4d, 0x11, 0x27, 0x8c, 0xd3, 0xdb,
0xa7, 0xe1, 0xc8, 0xbf, 0xe2, 0x08, 0xd2, 0xb2, 0xbb, 0x7e, 0xc3, 0x63,
0x66, 0xda, 0xcb, 0x6c, 0x88, 0xb2, 0x4c, 0xd7, 0x9a, 0xb3, 0x94, 0xad,
0xf1, 0x9d, 0xbb, 0xc2, 0x1d, 0xfa, 0x57, 0x88, 0xba, 0xcb, 0xad, 0xc6,
0xa6, 0x2f, 0x79, 0xcf, 0x54, 0xfd, 0x8c, 0xf5, 0x85, 0xc6, 0x15, 0xb5,
0xc0, 0xeb, 0x94, 0xc3, 0x5a, 0xa9, 0xde, 0x25, 0x32, 0x1c, 0x8f, 0xfe,
0xfb, 0x89, 0x16, 0xbb, 0xaa, 0x26, 0x97, 0xcb, 0x2d, 0xd8, 0x2e, 0xe9,
0x89, 0x39, 0xdf, 0x9b, 0x67, 0x04, 0xce, 0xe7, 0x77, 0x93, 0xed, 0xd2,
0xb4, 0x94, 0x7d, 0x82, 0xe0, 0x0e, 0x57, 0x49, 0x66, 0x49, 0x70, 0x73,
0x6c, 0x59, 0xa8, 0x41, 0x97, 0xbd, 0x72, 0xb5, 0xc7, 0x1e, 0x36, 0xaa,
0xe2, 0x9c, 0xd3, 0x9a, 0xf6, 0xac, 0x73, 0xa3, 0x68, 0xed, 0xbc, 0x1c,
0xa7, 0x92, 0xe1, 0x30, 0x9f, 0x44, 0x2a, 0xaf, 0xcd, 0x77, 0xc9, 0x92,
0xc8, 0x8f, 0x8e, 0x48, 0x63, 0x14, 0x9f, 0x22, 0x16, 0x95, 0xcb, 0x7b,
0x02, 0x36, 0xe7, 0x5b, 0x23, 0x39, 0xa0, 0x2c, 0x4e, 0xa1, 0x14, 0x85,
0x43, 0x72, 0xc3, 0x06, 0xb9, 0x41, 0x2d, 0x8e, 0xed, 0xb6, 0x00, 0xa3,
0x15, 0x32, 0x00, 0x2f, 0x2c, 0xea, 0x07, 0xb4, 0xdf, 0x96, 0x3a, 0x09,
0x31, 0x85, 0xe4, 0x60, 0x77, 0x32, 0xe4, 0x6d, 0x75, 0x3b, 0x54, 0x09,
0x74, 0xfb, 0x5a, 0x5c, 0x3f, 0x94, 0x32, 0xdf, 0x22, 0xe8, 0x5b, 0xb1,
0x76, 0x11, 0x37, 0x09, 0x66, 0xc5, 0x52, 0x2f, 0xd2, 0x3f, 0x2a, 0xd3,
0x48, 0x43, 0x41, 0xba, 0x7f, 0xd8, 0x88, 0x5f, 0xc8, 0xe6, 0xd3, 0x79,
0xa6, 0x11, 0xd1, 0x3a, 0x2a, 0xca, 0x78, 0x4f, 0xba, 0x20, 0x73, 0x20,
0x8f, 0xaa, 0xd2, 0x13, 0x7b, 0xf1, 0x97, 0x9a, 0x0f, 0xa1, 0x46, 0xc1,
0x88, 0x0d, 0x43, 0x37, 0xdb, 0x32, 0x74, 0x26, 0x94, 0x93, 0xba, 0xb4,
0x4a, 0x1b, 0xcd, 0x06, 0x81, 0xf7, 0x22, 0x7f, 0xfd, 0xf5, 0x89, 0xc2,
0xe9, 0x25, 0xed, 0x9d, 0x36, 0x30, 0x25, 0x09, 0xd1, 0x10, 0x9b, 0xa4},
{},
false,
true}};
#endif // rsaencrypt_bb3072_vectors_h__