cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

testmgr.h (1330515B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3 * Algorithm testing framework and tests.
      4 *
      5 * Copyright (c) 2002 James Morris <jmorris@intercode.com.au>
      6 * Copyright (c) 2002 Jean-Francois Dive <jef@linuxbe.org>
      7 * Copyright (c) 2007 Nokia Siemens Networks
      8 * Copyright (c) 2008 Herbert Xu <herbert@gondor.apana.org.au>
      9 * Copyright (c) 2019 Google LLC
     10 *
     11 * Updated RFC4106 AES-GCM testing. Some test vectors were taken from
     12 * http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/
     13 * gcm/gcm-test-vectors.tar.gz
     14 *     Authors: Aidan O'Mahony (aidan.o.mahony@intel.com)
     15 *              Adrian Hoban <adrian.hoban@intel.com>
     16 *              Gabriele Paoloni <gabriele.paoloni@intel.com>
     17 *              Tadeusz Struk (tadeusz.struk@intel.com)
     18 *     Copyright (c) 2010, Intel Corporation.
     19 */
     20#ifndef _CRYPTO_TESTMGR_H
     21#define _CRYPTO_TESTMGR_H
     22
     23#include <linux/oid_registry.h>
     24
     25#define MAX_IVLEN		32
     26
     27/*
     28 * hash_testvec:	structure to describe a hash (message digest) test
     29 * @key:	Pointer to key (NULL if none)
     30 * @plaintext:	Pointer to source data
     31 * @digest:	Pointer to expected digest
     32 * @psize:	Length of source data in bytes
     33 * @ksize:	Length of @key in bytes (0 if no key)
     34 * @setkey_error: Expected error from setkey()
     35 * @digest_error: Expected error from digest()
     36 * @fips_skip:	Skip the test vector in FIPS mode
     37 */
     38struct hash_testvec {
     39	const char *key;
     40	const char *plaintext;
     41	const char *digest;
     42	unsigned int psize;
     43	unsigned short ksize;
     44	int setkey_error;
     45	int digest_error;
     46	bool fips_skip;
     47};
     48
     49/*
     50 * cipher_testvec:	structure to describe a symmetric cipher test
     51 * @key:	Pointer to key
     52 * @klen:	Length of @key in bytes
     53 * @iv:		Pointer to IV.  If NULL, an all-zeroes IV is used.
     54 * @iv_out:	Pointer to output IV, if applicable for the cipher.
     55 * @ptext:	Pointer to plaintext
     56 * @ctext:	Pointer to ciphertext
     57 * @len:	Length of @ptext and @ctext in bytes
     58 * @wk:		Does the test need CRYPTO_TFM_REQ_FORBID_WEAK_KEYS?
     59 * 		( e.g. test needs to fail due to a weak key )
     60 * @fips_skip:	Skip the test vector in FIPS mode
     61 * @generates_iv: Encryption should ignore the given IV, and output @iv_out.
     62 *		  Decryption takes @iv_out.  Needed for AES Keywrap ("kw(aes)").
     63 * @setkey_error: Expected error from setkey()
     64 * @crypt_error: Expected error from encrypt() and decrypt()
     65 */
     66struct cipher_testvec {
     67	const char *key;
     68	const char *iv;
     69	const char *iv_out;
     70	const char *ptext;
     71	const char *ctext;
     72	unsigned char wk; /* weak key flag */
     73	unsigned short klen;
     74	unsigned int len;
     75	bool fips_skip;
     76	bool generates_iv;
     77	int setkey_error;
     78	int crypt_error;
     79};
     80
     81/*
     82 * aead_testvec:	structure to describe an AEAD test
     83 * @key:	Pointer to key
     84 * @iv:		Pointer to IV.  If NULL, an all-zeroes IV is used.
     85 * @ptext:	Pointer to plaintext
     86 * @assoc:	Pointer to associated data
     87 * @ctext:	Pointer to the full authenticated ciphertext.  For AEADs that
     88 *		produce a separate "ciphertext" and "authentication tag", these
     89 *		two parts are concatenated: ciphertext || tag.
     90 * @novrfy:	If set, this is an inauthentic input test: only decryption is
     91 *		tested, and it is expected to fail with either -EBADMSG or
     92 *		@crypt_error if it is nonzero.
     93 * @wk:		Does the test need CRYPTO_TFM_REQ_FORBID_WEAK_KEYS?
     94 *		(e.g. setkey() needs to fail due to a weak key)
     95 * @klen:	Length of @key in bytes
     96 * @plen:	Length of @ptext in bytes
     97 * @alen:	Length of @assoc in bytes
     98 * @clen:	Length of @ctext in bytes
     99 * @setkey_error: Expected error from setkey().  If set, neither encryption nor
    100 *		  decryption is tested.
    101 * @setauthsize_error: Expected error from setauthsize().  If set, neither
    102 *		       encryption nor decryption is tested.
    103 * @crypt_error: When @novrfy=0, the expected error from encrypt().  When
    104 *		 @novrfy=1, an optional alternate error code that is acceptable
    105 *		 for decrypt() to return besides -EBADMSG.
    106 */
    107struct aead_testvec {
    108	const char *key;
    109	const char *iv;
    110	const char *ptext;
    111	const char *assoc;
    112	const char *ctext;
    113	unsigned char novrfy;
    114	unsigned char wk;
    115	unsigned char klen;
    116	unsigned int plen;
    117	unsigned int clen;
    118	unsigned int alen;
    119	int setkey_error;
    120	int setauthsize_error;
    121	int crypt_error;
    122};
    123
    124struct cprng_testvec {
    125	const char *key;
    126	const char *dt;
    127	const char *v;
    128	const char *result;
    129	unsigned char klen;
    130	unsigned short dtlen;
    131	unsigned short vlen;
    132	unsigned short rlen;
    133	unsigned short loops;
    134};
    135
    136struct drbg_testvec {
    137	const unsigned char *entropy;
    138	size_t entropylen;
    139	const unsigned char *entpra;
    140	const unsigned char *entprb;
    141	size_t entprlen;
    142	const unsigned char *addtla;
    143	const unsigned char *addtlb;
    144	size_t addtllen;
    145	const unsigned char *pers;
    146	size_t perslen;
    147	const unsigned char *expected;
    148	size_t expectedlen;
    149};
    150
    151struct akcipher_testvec {
    152	const unsigned char *key;
    153	const unsigned char *params;
    154	const unsigned char *m;
    155	const unsigned char *c;
    156	unsigned int key_len;
    157	unsigned int param_len;
    158	unsigned int m_size;
    159	unsigned int c_size;
    160	bool public_key_vec;
    161	bool siggen_sigver_test;
    162	enum OID algo;
    163};
    164
    165struct kpp_testvec {
    166	const unsigned char *secret;
    167	const unsigned char *b_secret;
    168	const unsigned char *b_public;
    169	const unsigned char *expected_a_public;
    170	const unsigned char *expected_ss;
    171	unsigned short secret_size;
    172	unsigned short b_secret_size;
    173	unsigned short b_public_size;
    174	unsigned short expected_a_public_size;
    175	unsigned short expected_ss_size;
    176	bool genkey;
    177};
    178
    179static const char zeroed_string[48];
    180
    181/*
    182 * RSA test vectors. Borrowed from openSSL.
    183 */
    184static const struct akcipher_testvec rsa_tv_template[] = {
    185	{
    186#ifndef CONFIG_CRYPTO_FIPS
    187	.key =
    188	"\x30\x81\x9A" /* sequence of 154 bytes */
    189	"\x02\x01\x01" /* version - integer of 1 byte */
    190	"\x02\x41" /* modulus - integer of 65 bytes */
    191	"\x00\xAA\x36\xAB\xCE\x88\xAC\xFD\xFF\x55\x52\x3C\x7F\xC4\x52\x3F"
    192	"\x90\xEF\xA0\x0D\xF3\x77\x4A\x25\x9F\x2E\x62\xB4\xC5\xD9\x9C\xB5"
    193	"\xAD\xB3\x00\xA0\x28\x5E\x53\x01\x93\x0E\x0C\x70\xFB\x68\x76\x93"
    194	"\x9C\xE6\x16\xCE\x62\x4A\x11\xE0\x08\x6D\x34\x1E\xBC\xAC\xA0\xA1"
    195	"\xF5"
    196	"\x02\x01\x11" /* public key - integer of 1 byte */
    197	"\x02\x40" /* private key - integer of 64 bytes */
    198	"\x0A\x03\x37\x48\x62\x64\x87\x69\x5F\x5F\x30\xBC\x38\xB9\x8B\x44"
    199	"\xC2\xCD\x2D\xFF\x43\x40\x98\xCD\x20\xD8\xA1\x38\xD0\x90\xBF\x64"
    200	"\x79\x7C\x3F\xA7\xA2\xCD\xCB\x3C\xD1\xE0\xBD\xBA\x26\x54\xB4\xF9"
    201	"\xDF\x8E\x8A\xE5\x9D\x73\x3D\x9F\x33\xB3\x01\x62\x4A\xFD\x1D\x51"
    202	"\x02\x01\x00" /* prime1 - integer of 1 byte */
    203	"\x02\x01\x00" /* prime2 - integer of 1 byte */
    204	"\x02\x01\x00" /* exponent1 - integer of 1 byte */
    205	"\x02\x01\x00" /* exponent2 - integer of 1 byte */
    206	"\x02\x01\x00", /* coefficient - integer of 1 byte */
    207	.m = "\x54\x85\x9b\x34\x2c\x49\xea\x2a",
    208	.c =
    209	"\x63\x1c\xcd\x7b\xe1\x7e\xe4\xde\xc9\xa8\x89\xa1\x74\xcb\x3c\x63"
    210	"\x7d\x24\xec\x83\xc3\x15\xe4\x7f\x73\x05\x34\xd1\xec\x22\xbb\x8a"
    211	"\x5e\x32\x39\x6d\xc1\x1d\x7d\x50\x3b\x9f\x7a\xad\xf0\x2e\x25\x53"
    212	"\x9f\x6e\xbd\x4c\x55\x84\x0c\x9b\xcf\x1a\x4b\x51\x1e\x9e\x0c\x06",
    213	.key_len = 157,
    214	.m_size = 8,
    215	.c_size = 64,
    216	}, {
    217	.key =
    218	"\x30\x82\x01\x1D" /* sequence of 285 bytes */
    219	"\x02\x01\x01" /* version - integer of 1 byte */
    220	"\x02\x81\x81" /* modulus - integer of 129 bytes */
    221	"\x00\xBB\xF8\x2F\x09\x06\x82\xCE\x9C\x23\x38\xAC\x2B\x9D\xA8\x71"
    222	"\xF7\x36\x8D\x07\xEE\xD4\x10\x43\xA4\x40\xD6\xB6\xF0\x74\x54\xF5"
    223	"\x1F\xB8\xDF\xBA\xAF\x03\x5C\x02\xAB\x61\xEA\x48\xCE\xEB\x6F\xCD"
    224	"\x48\x76\xED\x52\x0D\x60\xE1\xEC\x46\x19\x71\x9D\x8A\x5B\x8B\x80"
    225	"\x7F\xAF\xB8\xE0\xA3\xDF\xC7\x37\x72\x3E\xE6\xB4\xB7\xD9\x3A\x25"
    226	"\x84\xEE\x6A\x64\x9D\x06\x09\x53\x74\x88\x34\xB2\x45\x45\x98\x39"
    227	"\x4E\xE0\xAA\xB1\x2D\x7B\x61\xA5\x1F\x52\x7A\x9A\x41\xF6\xC1\x68"
    228	"\x7F\xE2\x53\x72\x98\xCA\x2A\x8F\x59\x46\xF8\xE5\xFD\x09\x1D\xBD"
    229	"\xCB"
    230	"\x02\x01\x11" /* public key - integer of 1 byte */
    231	"\x02\x81\x81"  /* private key - integer of 129 bytes */
    232	"\x00\xA5\xDA\xFC\x53\x41\xFA\xF2\x89\xC4\xB9\x88\xDB\x30\xC1\xCD"
    233	"\xF8\x3F\x31\x25\x1E\x06\x68\xB4\x27\x84\x81\x38\x01\x57\x96\x41"
    234	"\xB2\x94\x10\xB3\xC7\x99\x8D\x6B\xC4\x65\x74\x5E\x5C\x39\x26\x69"
    235	"\xD6\x87\x0D\xA2\xC0\x82\xA9\x39\xE3\x7F\xDC\xB8\x2E\xC9\x3E\xDA"
    236	"\xC9\x7F\xF3\xAD\x59\x50\xAC\xCF\xBC\x11\x1C\x76\xF1\xA9\x52\x94"
    237	"\x44\xE5\x6A\xAF\x68\xC5\x6C\x09\x2C\xD3\x8D\xC3\xBE\xF5\xD2\x0A"
    238	"\x93\x99\x26\xED\x4F\x74\xA1\x3E\xDD\xFB\xE1\xA1\xCE\xCC\x48\x94"
    239	"\xAF\x94\x28\xC2\xB7\xB8\x88\x3F\xE4\x46\x3A\x4B\xC8\x5B\x1C\xB3"
    240	"\xC1"
    241	"\x02\x01\x00" /* prime1 - integer of 1 byte */
    242	"\x02\x01\x00" /* prime2 - integer of 1 byte */
    243	"\x02\x01\x00" /* exponent1 - integer of 1 byte */
    244	"\x02\x01\x00" /* exponent2 - integer of 1 byte */
    245	"\x02\x01\x00", /* coefficient - integer of 1 byte */
    246	.key_len = 289,
    247	.m = "\x54\x85\x9b\x34\x2c\x49\xea\x2a",
    248	.c =
    249	"\x74\x1b\x55\xac\x47\xb5\x08\x0a\x6e\x2b\x2d\xf7\x94\xb8\x8a\x95"
    250	"\xed\xa3\x6b\xc9\x29\xee\xb2\x2c\x80\xc3\x39\x3b\x8c\x62\x45\x72"
    251	"\xc2\x7f\x74\x81\x91\x68\x44\x48\x5a\xdc\xa0\x7e\xa7\x0b\x05\x7f"
    252	"\x0e\xa0\x6c\xe5\x8f\x19\x4d\xce\x98\x47\x5f\xbd\x5f\xfe\xe5\x34"
    253	"\x59\x89\xaf\xf0\xba\x44\xd7\xf1\x1a\x50\x72\xef\x5e\x4a\xb6\xb7"
    254	"\x54\x34\xd1\xc4\x83\x09\xdf\x0f\x91\x5f\x7d\x91\x70\x2f\xd4\x13"
    255	"\xcc\x5e\xa4\x6c\xc3\x4d\x28\xef\xda\xaf\xec\x14\x92\xfc\xa3\x75"
    256	"\x13\xb4\xc1\xa1\x11\xfc\x40\x2f\x4c\x9d\xdf\x16\x76\x11\x20\x6b",
    257	.m_size = 8,
    258	.c_size = 128,
    259	}, {
    260#endif
    261	.key =
    262	"\x30\x82\x02\x20" /* sequence of 544 bytes */
    263	"\x02\x01\x01" /* version - integer of 1 byte */
    264	"\x02\x82\x01\x01\x00" /* modulus - integer of 256 bytes */
    265	"\xDB\x10\x1A\xC2\xA3\xF1\xDC\xFF\x13\x6B\xED\x44\xDF\xF0\x02\x6D"
    266	"\x13\xC7\x88\xDA\x70\x6B\x54\xF1\xE8\x27\xDC\xC3\x0F\x99\x6A\xFA"
    267	"\xC6\x67\xFF\x1D\x1E\x3C\x1D\xC1\xB5\x5F\x6C\xC0\xB2\x07\x3A\x6D"
    268	"\x41\xE4\x25\x99\xAC\xFC\xD2\x0F\x02\xD3\xD1\x54\x06\x1A\x51\x77"
    269	"\xBD\xB6\xBF\xEA\xA7\x5C\x06\xA9\x5D\x69\x84\x45\xD7\xF5\x05\xBA"
    270	"\x47\xF0\x1B\xD7\x2B\x24\xEC\xCB\x9B\x1B\x10\x8D\x81\xA0\xBE\xB1"
    271	"\x8C\x33\xE4\x36\xB8\x43\xEB\x19\x2A\x81\x8D\xDE\x81\x0A\x99\x48"
    272	"\xB6\xF6\xBC\xCD\x49\x34\x3A\x8F\x26\x94\xE3\x28\x82\x1A\x7C\x8F"
    273	"\x59\x9F\x45\xE8\x5D\x1A\x45\x76\x04\x56\x05\xA1\xD0\x1B\x8C\x77"
    274	"\x6D\xAF\x53\xFA\x71\xE2\x67\xE0\x9A\xFE\x03\xA9\x85\xD2\xC9\xAA"
    275	"\xBA\x2A\xBC\xF4\xA0\x08\xF5\x13\x98\x13\x5D\xF0\xD9\x33\x34\x2A"
    276	"\x61\xC3\x89\x55\xF0\xAE\x1A\x9C\x22\xEE\x19\x05\x8D\x32\xFE\xEC"
    277	"\x9C\x84\xBA\xB7\xF9\x6C\x3A\x4F\x07\xFC\x45\xEB\x12\xE5\x7B\xFD"
    278	"\x55\xE6\x29\x69\xD1\xC2\xE8\xB9\x78\x59\xF6\x79\x10\xC6\x4E\xEB"
    279	"\x6A\x5E\xB9\x9A\xC7\xC4\x5B\x63\xDA\xA3\x3F\x5E\x92\x7A\x81\x5E"
    280	"\xD6\xB0\xE2\x62\x8F\x74\x26\xC2\x0C\xD3\x9A\x17\x47\xE6\x8E\xAB"
    281	"\x02\x03\x01\x00\x01" /* public key - integer of 3 bytes */
    282	"\x02\x82\x01\x00" /* private key - integer of 256 bytes */
    283	"\x52\x41\xF4\xDA\x7B\xB7\x59\x55\xCA\xD4\x2F\x0F\x3A\xCB\xA4\x0D"
    284	"\x93\x6C\xCC\x9D\xC1\xB2\xFB\xFD\xAE\x40\x31\xAC\x69\x52\x21\x92"
    285	"\xB3\x27\xDF\xEA\xEE\x2C\x82\xBB\xF7\x40\x32\xD5\x14\xC4\x94\x12"
    286	"\xEC\xB8\x1F\xCA\x59\xE3\xC1\x78\xF3\x85\xD8\x47\xA5\xD7\x02\x1A"
    287	"\x65\x79\x97\x0D\x24\xF4\xF0\x67\x6E\x75\x2D\xBF\x10\x3D\xA8\x7D"
    288	"\xEF\x7F\x60\xE4\xE6\x05\x82\x89\x5D\xDF\xC6\xD2\x6C\x07\x91\x33"
    289	"\x98\x42\xF0\x02\x00\x25\x38\xC5\x85\x69\x8A\x7D\x2F\x95\x6C\x43"
    290	"\x9A\xB8\x81\xE2\xD0\x07\x35\xAA\x05\x41\xC9\x1E\xAF\xE4\x04\x3B"
    291	"\x19\xB8\x73\xA2\xAC\x4B\x1E\x66\x48\xD8\x72\x1F\xAC\xF6\xCB\xBC"
    292	"\x90\x09\xCA\xEC\x0C\xDC\xF9\x2C\xD7\xEB\xAE\xA3\xA4\x47\xD7\x33"
    293	"\x2F\x8A\xCA\xBC\x5E\xF0\x77\xE4\x97\x98\x97\xC7\x10\x91\x7D\x2A"
    294	"\xA6\xFF\x46\x83\x97\xDE\xE9\xE2\x17\x03\x06\x14\xE2\xD7\xB1\x1D"
    295	"\x77\xAF\x51\x27\x5B\x5E\x69\xB8\x81\xE6\x11\xC5\x43\x23\x81\x04"
    296	"\x62\xFF\xE9\x46\xB8\xD8\x44\xDB\xA5\xCC\x31\x54\x34\xCE\x3E\x82"
    297	"\xD6\xBF\x7A\x0B\x64\x21\x6D\x88\x7E\x5B\x45\x12\x1E\x63\x8D\x49"
    298	"\xA7\x1D\xD9\x1E\x06\xCD\xE8\xBA\x2C\x8C\x69\x32\xEA\xBE\x60\x71"
    299	"\x02\x01\x00" /* prime1 - integer of 1 byte */
    300	"\x02\x01\x00" /* prime2 - integer of 1 byte */
    301	"\x02\x01\x00" /* exponent1 - integer of 1 byte */
    302	"\x02\x01\x00" /* exponent2 - integer of 1 byte */
    303	"\x02\x01\x00", /* coefficient - integer of 1 byte */
    304	.key_len = 548,
    305	.m = "\x54\x85\x9b\x34\x2c\x49\xea\x2a",
    306	.c =
    307	"\xb2\x97\x76\xb4\xae\x3e\x38\x3c\x7e\x64\x1f\xcc\xa2\x7f\xf6\xbe"
    308	"\xcf\x49\xbc\x48\xd3\x6c\x8f\x0a\x0e\xc1\x73\xbd\x7b\x55\x79\x36"
    309	"\x0e\xa1\x87\x88\xb9\x2c\x90\xa6\x53\x5e\xe9\xef\xc4\xe2\x4d\xdd"
    310	"\xf7\xa6\x69\x82\x3f\x56\xa4\x7b\xfb\x62\xe0\xae\xb8\xd3\x04\xb3"
    311	"\xac\x5a\x15\x2a\xe3\x19\x9b\x03\x9a\x0b\x41\xda\x64\xec\x0a\x69"
    312	"\xfc\xf2\x10\x92\xf3\xc1\xbf\x84\x7f\xfd\x2c\xae\xc8\xb5\xf6\x41"
    313	"\x70\xc5\x47\x03\x8a\xf8\xff\x6f\x3f\xd2\x6f\x09\xb4\x22\xf3\x30"
    314	"\xbe\xa9\x85\xcb\x9c\x8d\xf9\x8f\xeb\x32\x91\xa2\x25\x84\x8f\xf5"
    315	"\xdc\xc7\x06\x9c\x2d\xe5\x11\x2c\x09\x09\x87\x09\xa9\xf6\x33\x73"
    316	"\x90\xf1\x60\xf2\x65\xdd\x30\xa5\x66\xce\x62\x7b\xd0\xf8\x2d\x3d"
    317	"\x19\x82\x77\xe3\x0a\x5f\x75\x2f\x8e\xb1\xe5\xe8\x91\x35\x1b\x3b"
    318	"\x33\xb7\x66\x92\xd1\xf2\x8e\x6f\xe5\x75\x0c\xad\x36\xfb\x4e\xd0"
    319	"\x66\x61\xbd\x49\xfe\xf4\x1a\xa2\x2b\x49\xfe\x03\x4c\x74\x47\x8d"
    320	"\x9a\x66\xb2\x49\x46\x4d\x77\xea\x33\x4d\x6b\x3c\xb4\x49\x4a\xc6"
    321	"\x7d\x3d\xb5\xb9\x56\x41\x15\x67\x0f\x94\x3c\x93\x65\x27\xe0\x21"
    322	"\x5d\x59\xc3\x62\xd5\xa6\xda\x38\x26\x22\x5e\x34\x1c\x94\xaf\x98",
    323	.m_size = 8,
    324	.c_size = 256,
    325	}, {
    326	.key =
    327	"\x30\x82\x01\x09" /* sequence of 265 bytes */
    328	"\x02\x82\x01\x00" /* modulus - integer of 256 bytes */
    329	"\xDB\x10\x1A\xC2\xA3\xF1\xDC\xFF\x13\x6B\xED\x44\xDF\xF0\x02\x6D"
    330	"\x13\xC7\x88\xDA\x70\x6B\x54\xF1\xE8\x27\xDC\xC3\x0F\x99\x6A\xFA"
    331	"\xC6\x67\xFF\x1D\x1E\x3C\x1D\xC1\xB5\x5F\x6C\xC0\xB2\x07\x3A\x6D"
    332	"\x41\xE4\x25\x99\xAC\xFC\xD2\x0F\x02\xD3\xD1\x54\x06\x1A\x51\x77"
    333	"\xBD\xB6\xBF\xEA\xA7\x5C\x06\xA9\x5D\x69\x84\x45\xD7\xF5\x05\xBA"
    334	"\x47\xF0\x1B\xD7\x2B\x24\xEC\xCB\x9B\x1B\x10\x8D\x81\xA0\xBE\xB1"
    335	"\x8C\x33\xE4\x36\xB8\x43\xEB\x19\x2A\x81\x8D\xDE\x81\x0A\x99\x48"
    336	"\xB6\xF6\xBC\xCD\x49\x34\x3A\x8F\x26\x94\xE3\x28\x82\x1A\x7C\x8F"
    337	"\x59\x9F\x45\xE8\x5D\x1A\x45\x76\x04\x56\x05\xA1\xD0\x1B\x8C\x77"
    338	"\x6D\xAF\x53\xFA\x71\xE2\x67\xE0\x9A\xFE\x03\xA9\x85\xD2\xC9\xAA"
    339	"\xBA\x2A\xBC\xF4\xA0\x08\xF5\x13\x98\x13\x5D\xF0\xD9\x33\x34\x2A"
    340	"\x61\xC3\x89\x55\xF0\xAE\x1A\x9C\x22\xEE\x19\x05\x8D\x32\xFE\xEC"
    341	"\x9C\x84\xBA\xB7\xF9\x6C\x3A\x4F\x07\xFC\x45\xEB\x12\xE5\x7B\xFD"
    342	"\x55\xE6\x29\x69\xD1\xC2\xE8\xB9\x78\x59\xF6\x79\x10\xC6\x4E\xEB"
    343	"\x6A\x5E\xB9\x9A\xC7\xC4\x5B\x63\xDA\xA3\x3F\x5E\x92\x7A\x81\x5E"
    344	"\xD6\xB0\xE2\x62\x8F\x74\x26\xC2\x0C\xD3\x9A\x17\x47\xE6\x8E\xAB"
    345	"\x02\x03\x01\x00\x01", /* public key - integer of 3 bytes */
    346	.key_len = 269,
    347	.m = "\x54\x85\x9b\x34\x2c\x49\xea\x2a",
    348	.c =
    349	"\xb2\x97\x76\xb4\xae\x3e\x38\x3c\x7e\x64\x1f\xcc\xa2\x7f\xf6\xbe"
    350	"\xcf\x49\xbc\x48\xd3\x6c\x8f\x0a\x0e\xc1\x73\xbd\x7b\x55\x79\x36"
    351	"\x0e\xa1\x87\x88\xb9\x2c\x90\xa6\x53\x5e\xe9\xef\xc4\xe2\x4d\xdd"
    352	"\xf7\xa6\x69\x82\x3f\x56\xa4\x7b\xfb\x62\xe0\xae\xb8\xd3\x04\xb3"
    353	"\xac\x5a\x15\x2a\xe3\x19\x9b\x03\x9a\x0b\x41\xda\x64\xec\x0a\x69"
    354	"\xfc\xf2\x10\x92\xf3\xc1\xbf\x84\x7f\xfd\x2c\xae\xc8\xb5\xf6\x41"
    355	"\x70\xc5\x47\x03\x8a\xf8\xff\x6f\x3f\xd2\x6f\x09\xb4\x22\xf3\x30"
    356	"\xbe\xa9\x85\xcb\x9c\x8d\xf9\x8f\xeb\x32\x91\xa2\x25\x84\x8f\xf5"
    357	"\xdc\xc7\x06\x9c\x2d\xe5\x11\x2c\x09\x09\x87\x09\xa9\xf6\x33\x73"
    358	"\x90\xf1\x60\xf2\x65\xdd\x30\xa5\x66\xce\x62\x7b\xd0\xf8\x2d\x3d"
    359	"\x19\x82\x77\xe3\x0a\x5f\x75\x2f\x8e\xb1\xe5\xe8\x91\x35\x1b\x3b"
    360	"\x33\xb7\x66\x92\xd1\xf2\x8e\x6f\xe5\x75\x0c\xad\x36\xfb\x4e\xd0"
    361	"\x66\x61\xbd\x49\xfe\xf4\x1a\xa2\x2b\x49\xfe\x03\x4c\x74\x47\x8d"
    362	"\x9a\x66\xb2\x49\x46\x4d\x77\xea\x33\x4d\x6b\x3c\xb4\x49\x4a\xc6"
    363	"\x7d\x3d\xb5\xb9\x56\x41\x15\x67\x0f\x94\x3c\x93\x65\x27\xe0\x21"
    364	"\x5d\x59\xc3\x62\xd5\xa6\xda\x38\x26\x22\x5e\x34\x1c\x94\xaf\x98",
    365	.m_size = 8,
    366	.c_size = 256,
    367	.public_key_vec = true,
    368#ifndef CONFIG_CRYPTO_FIPS
    369	}, {
    370	.key =
    371	"\x30\x82\x09\x29" /* sequence of 2345 bytes */
    372	"\x02\x01\x00" /* version integer of 1 byte */
    373	"\x02\x82\x02\x01" /* modulus - integer of 513 bytes */
    374	"\x00\xC3\x8B\x55\x7B\x73\x4D\xFF\xE9\x9B\xC6\xDC\x67\x3C\xB4\x8E"
    375	"\xA0\x86\xED\xF2\xB9\x50\x5C\x54\x5C\xBA\xE4\xA1\xB2\xA7\xAE\x2F"
    376	"\x1B\x7D\xF1\xFB\xAC\x79\xC5\xDF\x1A\x00\xC9\xB2\xC1\x61\x25\x33"
    377	"\xE6\x9C\xE9\xCF\xD6\x27\xC4\x4E\x44\x30\x44\x5E\x08\xA1\x87\x52"
    378	"\xCC\x6B\x97\x70\x8C\xBC\xA5\x06\x31\x0C\xD4\x2F\xD5\x7D\x26\x24"
    379	"\xA2\xE2\xAC\x78\xF4\x53\x14\xCE\xF7\x19\x2E\xD7\xF7\xE6\x0C\xB9"
    380	"\x56\x7F\x0B\xF1\xB1\xE2\x43\x70\xBD\x86\x1D\xA1\xCC\x2B\x19\x08"
    381	"\x76\xEF\x91\xAC\xBF\x20\x24\x0D\x38\xC0\x89\xB8\x9A\x70\xB3\x64"
    382	"\xD9\x8F\x80\x41\x10\x5B\x9F\xB1\xCB\x76\x43\x00\x21\x25\x36\xD4"
    383	"\x19\xFC\x55\x95\x10\xE4\x26\x74\x98\x2C\xD9\xBD\x0B\x2B\x04\xC2"
    384	"\xAC\x82\x38\xB4\xDD\x4C\x04\x7E\x51\x36\x40\x1E\x0B\xC4\x7C\x25"
    385	"\xDD\x4B\xB2\xE7\x20\x0A\x57\xF9\xB4\x94\xC3\x08\x33\x22\x6F\x8B"
    386	"\x48\xDB\x03\x68\x5A\x5B\xBA\xAE\xF3\xAD\xCF\xC3\x6D\xBA\xF1\x28"
    387	"\x67\x7E\x6C\x79\x07\xDE\xFC\xED\xE7\x96\xE3\x6C\xE0\x2C\x87\xF8"
    388	"\x02\x01\x28\x38\x43\x21\x53\x84\x69\x75\x78\x15\x7E\xEE\xD2\x1B"
    389	"\xB9\x23\x40\xA8\x86\x1E\x38\x83\xB2\x73\x1D\x53\xFB\x9E\x2A\x8A"
    390	"\xB2\x75\x35\x01\xC3\xC3\xC4\x94\xE8\x84\x86\x64\x81\xF4\x42\xAA"
    391	"\x3C\x0E\xD6\x4F\xBC\x0A\x09\x2D\xE7\x1B\xD4\x10\xA8\x54\xEA\x89"
    392	"\x84\x8A\xCB\xF7\x5A\x3C\xCA\x76\x08\x29\x62\xB4\x6A\x22\xDF\x14"
    393	"\x95\x71\xFD\xB6\x86\x39\xB8\x8B\xF8\x91\x7F\x38\xAA\x14\xCD\xE5"
    394	"\xF5\x1D\xC2\x6D\x53\x69\x52\x84\x7F\xA3\x1A\x5E\x26\x04\x83\x06"
    395	"\x73\x52\x56\xCF\x76\x26\xC9\xDD\x75\xD7\xFC\xF4\x69\xD8\x7B\x55"
    396	"\xB7\x68\x13\x53\xB9\xE7\x89\xC3\xE8\xD6\x6E\xA7\x6D\xEA\x81\xFD"
    397	"\xC4\xB7\x05\x5A\xB7\x41\x0A\x23\x8E\x03\x8A\x1C\xAE\xD3\x1E\xCE"
    398	"\xE3\x5E\xFC\x19\x4A\xEE\x61\x9B\x8E\xE5\xE5\xDD\x85\xF9\x41\xEC"
    399	"\x14\x53\x92\xF7\xDD\x06\x85\x02\x91\xE3\xEB\x6C\x43\x03\xB1\x36"
    400	"\x7B\x89\x5A\xA8\xEB\xFC\xD5\xA8\x35\xDC\x81\xD9\x5C\xBD\xCA\xDC"
    401	"\x9B\x98\x0B\x06\x5D\x0C\x5B\xEE\xF3\xD5\xCC\x57\xC9\x71\x2F\x90"
    402	"\x3B\x3C\xF0\x8E\x4E\x35\x48\xAE\x63\x74\xA9\xFC\x72\x75\x8E\x34"
    403	"\xA8\xF2\x1F\xEA\xDF\x3A\x37\x2D\xE5\x39\x39\xF8\x57\x58\x3C\x04"
    404	"\xFE\x87\x06\x98\xBC\x7B\xD3\x21\x36\x60\x25\x54\xA7\x3D\xFA\x91"
    405	"\xCC\xA8\x0B\x92\x8E\xB4\xF7\x06\xFF\x1E\x95\xCB\x07\x76\x97\x3B"
    406	"\x9D"
    407	"\x02\x03\x01\x00\x01" /* public key integer of 3 bytes */
    408	"\x02\x82\x02\x00" /* private key integer of 512 bytes */
    409	"\x74\xA9\xE0\x6A\x32\xB4\xCA\x85\xD9\x86\x9F\x60\x88\x7B\x40\xCC"
    410	"\xCD\x33\x91\xA8\xB6\x25\x1F\xBF\xE3\x51\x1C\x97\xB6\x2A\xD9\xB8"
    411	"\x11\x40\x19\xE3\x21\x13\xC8\xB3\x7E\xDC\xD7\x65\x40\x4C\x2D\xD6"
    412	"\xDC\xAF\x32\x6C\x96\x75\x2C\x2C\xCA\x8F\x3F\x7A\xEE\xC4\x09\xC6"
    413	"\x24\x3A\xC9\xCF\x6D\x8D\x17\x50\x94\x52\xD3\xE7\x0F\x2F\x7E\x94"
    414	"\x1F\xA0\xBE\xD9\x25\xE8\x38\x42\x7C\x27\xD2\x79\xF8\x2A\x87\x38"
    415	"\xEF\xBB\x74\x8B\xA8\x6E\x8C\x08\xC6\xC7\x4F\x0C\xBC\x79\xC6\xEF"
    416	"\x0E\xA7\x5E\xE4\xF8\x8C\x09\xC7\x5E\x37\xCC\x87\x77\xCD\xCF\xD1"
    417	"\x6D\x28\x1B\xA9\x62\xC0\xB8\x16\xA7\x8B\xF9\xBB\xCC\xB4\x15\x7F"
    418	"\x1B\x69\x03\xF2\x7B\xEB\xE5\x8C\x14\xD6\x23\x4F\x52\x6F\x18\xA6"
    419	"\x4B\x5B\x01\xAD\x35\xF9\x48\x53\xB3\x86\x35\x66\xD7\xE7\x29\xC0"
    420	"\x09\xB5\xC6\xE6\xFA\xC4\xDA\x19\xBE\xD7\x4D\x41\x14\xBE\x6F\xDF"
    421	"\x1B\xAB\xC0\xCA\x88\x07\xAC\xF1\x7D\x35\x83\x67\x28\x2D\x50\xE9"
    422	"\xCE\x27\x71\x5E\x1C\xCF\xD2\x30\x65\x79\x72\x2F\x9C\xE1\xD2\x39"
    423	"\x7F\xEF\x3B\x01\xF2\x14\x1D\xDF\xBD\x51\xD3\xA1\x53\x62\xCF\x5F"
    424	"\x79\x84\xCE\x06\x96\x69\x29\x49\x82\x1C\x71\x4A\xA1\x66\xC8\x2F"
    425	"\xFD\x7B\x96\x7B\xFC\xC4\x26\x58\xC4\xFC\x7C\xAF\xB5\xE8\x95\x83"
    426	"\x87\xCB\x46\xDE\x97\xA7\xB3\xA2\x54\x5B\xD7\xAF\xAB\xEB\xC8\xF3"
    427	"\x55\x9D\x48\x2B\x30\x9C\xDC\x26\x4B\xC2\x89\x45\x13\xB2\x01\x9A"
    428	"\xA4\x65\xC3\xEC\x24\x2D\x26\x97\xEB\x80\x8A\x9D\x03\xBC\x59\x66"
    429	"\x9E\xE2\xBB\xBB\x63\x19\x64\x93\x11\x7B\x25\x65\x30\xCD\x5B\x4B"
    430	"\x2C\xFF\xDC\x2D\x30\x87\x1F\x3C\x88\x07\xD0\xFC\x48\xCC\x05\x8A"
    431	"\xA2\xC8\x39\x3E\xD5\x51\xBC\x0A\xBE\x6D\xA8\xA0\xF6\x88\x06\x79"
    432	"\x13\xFF\x1B\x45\xDA\x54\xC9\x24\x25\x8A\x75\x0A\x26\xD1\x69\x81"
    433	"\x14\x14\xD1\x79\x7D\x8E\x76\xF2\xE0\xEB\xDD\x0F\xDE\xC2\xEC\x80"
    434	"\xD7\xDC\x16\x99\x92\xBE\xCB\x40\x0C\xCE\x7C\x3B\x46\xA2\x5B\x5D"
    435	"\x0C\x45\xEB\xE1\x00\xDE\x72\x50\xB1\xA6\x0B\x76\xC5\x8D\xFC\x82"
    436	"\x38\x6D\x99\x14\x1D\x1A\x4A\xD3\x7C\x53\xB8\x12\x46\xA2\x30\x38"
    437	"\x82\xF4\x96\x6E\x8C\xCE\x47\x0D\xAF\x0A\x3B\x45\xB7\x43\x95\x43"
    438	"\x9E\x02\x2C\x44\x07\x6D\x1F\x3C\x66\x89\x09\xB6\x1F\x06\x30\xCC"
    439	"\xAD\xCE\x7D\x9A\xDE\x3E\xFB\x6C\xE4\x58\x43\xD2\x4F\xA5\x9E\x5E"
    440	"\xA7\x7B\xAE\x3A\xF6\x7E\xD9\xDB\xD3\xF5\xC5\x41\xAF\xE6\x9C\x91"
    441	"\x02\x82\x01\x01" /* prime1 - integer of 257 bytes */
    442	"\x00\xE0\xA6\x6C\xF0\xA2\xF8\x81\x85\x36\x43\xD0\x13\x0B\x33\x8B"
    443	"\x8F\x78\x3D\xAC\xC7\x5E\x46\x6A\x7F\x05\xAE\x3E\x26\x0A\xA6\xD0"
    444	"\x51\xF3\xC8\x61\xF5\x77\x22\x48\x10\x87\x4C\xD5\xA4\xD5\xAE\x2D"
    445	"\x4E\x7A\xFE\x1C\x31\xE7\x6B\xFF\xA4\x69\x20\xF9\x2A\x0B\x99\xBE"
    446	"\x7C\x32\x68\xAD\xB0\xC6\x94\x81\x41\x75\xDC\x06\x78\x0A\xB4\xCF"
    447	"\xCD\x1B\x2D\x31\xE4\x7B\xEA\xA8\x35\x99\x75\x57\xC6\x0E\xF6\x78"
    448	"\x4F\xA0\x92\x4A\x00\x1B\xE7\x96\xF2\x5B\xFD\x2C\x0A\x0A\x13\x81"
    449	"\xAF\xCB\x59\x87\x31\xD9\x83\x65\xF2\x22\x48\xD0\x03\x67\x39\xF6"
    450	"\xFF\xA8\x36\x07\x3A\x68\xE3\x7B\xA9\x64\xFD\x9C\xF7\xB1\x3D\xBF"
    451	"\x26\x5C\xCC\x7A\xFC\xA2\x8F\x51\xD1\xE1\xE2\x3C\xEC\x06\x75\x7C"
    452	"\x34\xF9\xA9\x33\x70\x11\xAD\x5A\xDC\x5F\xCF\x50\xF6\x23\x2F\x39"
    453	"\xAC\x92\x48\x53\x4D\x01\x96\x3C\xD8\xDC\x1F\x23\x23\x78\x80\x34"
    454	"\x54\x14\x76\x8B\xB6\xBB\xFB\x88\x78\x31\x59\x28\xD2\xB1\x75\x17"
    455	"\x88\x04\x4A\x78\x62\x18\x2E\xF5\xFB\x9B\xEF\x15\xD8\x16\x47\xC6"
    456	"\x42\xB1\x02\xDA\x9E\xE3\x84\x90\xB4\x2D\xC3\xCE\x13\xC9\x12\x7D"
    457	"\x3E\xCD\x39\x39\xC9\xAD\xA1\x1A\xE6\xD5\xAD\x5A\x09\x4D\x1B\x0C"
    458	"\xAB"
    459	"\x02\x82\x01\x01" /* prime 2 - integer of 257 bytes */
    460	"\x00\xDE\xD5\x1B\xF6\xCD\x83\xB1\xC6\x47\x7E\xB9\xC0\x6B\xA9\xB8"
    461	"\x02\xF3\xAE\x40\x5D\xFC\xD3\xE5\x4E\xF1\xE3\x39\x04\x52\x84\x89"
    462	"\x40\x37\xBB\xC2\xCD\x7F\x71\x77\x17\xDF\x6A\x4C\x31\x24\x7F\xB9"
    463	"\x7E\x7F\xC8\x43\x4A\x3C\xEB\x8D\x1B\x7F\x21\x51\x67\x45\x8F\xA0"
    464	"\x36\x29\x3A\x18\x45\xA5\x32\xEC\x74\x88\x3C\x98\x5D\x67\x3B\xD7"
    465	"\x51\x1F\xE9\xAE\x09\x01\xDE\xDE\x7C\xFB\x60\xD1\xA5\x6C\xE9\x6A"
    466	"\x93\x04\x02\x3A\xBB\x67\x02\xB9\xFD\x23\xF0\x02\x2B\x49\x85\xC9"
    467	"\x5B\xE7\x4B\xDF\xA3\xF4\xEE\x59\x4C\x45\xEF\x8B\xC1\x6B\xDE\xDE"
    468	"\xBC\x1A\xFC\xD2\x76\x3F\x33\x74\xA9\x8E\xA3\x7E\x0C\xC6\xCE\x70"
    469	"\xA1\x5B\xA6\x77\xEA\x76\xEB\x18\xCE\xB9\xD7\x78\x8D\xAE\x06\xBB"
    470	"\xD3\x1F\x16\x0D\x05\xAB\x4F\xC6\x52\xC8\x6B\x36\x51\x7D\x1D\x27"
    471	"\xAF\x88\x9A\x6F\xCC\x25\x2E\x74\x06\x72\xCE\x9E\xDB\xE0\x9D\x30"
    472	"\xEF\x55\xA5\x58\x21\xA7\x42\x12\x2C\x2C\x23\x87\xC1\x0F\xE8\x51"
    473	"\xDA\x53\xDA\xFC\x05\x36\xDF\x08\x0E\x08\x36\xBE\x5C\x86\x9E\xCA"
    474	"\x68\x90\x33\x12\x0B\x14\x82\xAB\x90\x1A\xD4\x49\x32\x9C\xBD\xAA"
    475	"\xAB\x4E\x38\xF1\xEE\xED\x3D\x3F\xE8\xBD\x48\x56\xA6\x64\xEE\xC8"
    476	"\xD7"
    477	"\x02\x82\x01\x01" /* exponent 1 - integer of 257 bytes */
    478	"\x00\x96\x5E\x6F\x8F\x06\xD6\xE6\x03\x1F\x96\x76\x81\x38\xBF\x30"
    479	"\xCC\x40\x84\xAF\xD0\xE7\x06\xA5\x24\x0E\xCE\x59\xA5\x26\xFE\x0F"
    480	"\x74\xBB\x83\xC6\x26\x02\xAF\x3C\xA3\x6B\x9C\xFF\x68\x0C\xEB\x40"
    481	"\x42\x46\xCB\x2E\x5E\x2C\xF4\x3A\x32\x77\x77\xED\xAF\xBA\x02\x17"
    482	"\xE1\x93\xF0\x43\x4A\x8F\x31\x39\xEF\x72\x0F\x6B\x79\x10\x59\x84"
    483	"\xBA\x5A\x55\x7F\x0E\xDB\xEE\xEE\xD6\xA9\xB8\x44\x9F\x3A\xC6\xB9"
    484	"\x33\x3B\x5C\x90\x11\xD0\x9B\xCC\x8A\xBF\x0E\x10\x5B\x4B\xF1\x50"
    485	"\x9E\x35\xB3\xE0\x6D\x7A\x95\x9C\x38\x5D\xC0\x75\x13\xC2\x15\xA7"
    486	"\x81\xEA\xBA\xF7\x4D\x9E\x85\x9D\xF1\x7D\xBA\xD0\x45\x6F\x2A\xD0"
    487	"\x76\xC2\x28\xD0\xAD\xA7\xB5\xDC\xE3\x6A\x99\xFF\x83\x50\xB3\x75"
    488	"\x07\x14\x91\xAF\xEF\x74\xB5\x9F\x9A\xE0\xBA\xA9\x0B\x87\xF3\x85"
    489	"\x5C\x40\xB2\x0E\xA7\xFD\xC6\xED\x45\x8E\xD9\x7C\xB0\xB2\x68\xC6"
    490	"\x1D\xFD\x70\x78\x06\x41\x7F\x95\x12\x36\x9D\xE2\x58\x5D\x15\xEE"
    491	"\x41\x49\xF5\xFA\xEC\x56\x19\xA0\xE6\xE0\xB2\x40\xE1\xD9\xD0\x03"
    492	"\x22\x02\xCF\xD1\x3C\x07\x38\x65\x8F\x65\x0E\xAA\x32\xCE\x25\x05"
    493	"\x16\x73\x51\xB9\x9F\x88\x0B\xCD\x30\xF3\x97\xCC\x2B\x6B\xA4\x0E"
    494	"\x6F"
    495	"\x02\x82\x01\x00" /* exponent 2 - integer of 256 bytes */
    496	"\x2A\x5F\x3F\xB8\x08\x90\x58\x47\xA9\xE4\xB1\x11\xA3\xE7\x5B\xF4"
    497	"\x43\xBE\x08\xC3\x56\x86\x3C\x7E\x6C\x84\x96\x9C\xF9\xCB\xF6\x05"
    498	"\x5E\x13\xB8\x11\x37\x80\xAD\xF2\xBE\x2B\x0A\x5D\xF5\xE0\xCB\xB7"
    499	"\x00\x39\x66\x82\x41\x5F\x51\x2F\xBF\x56\xE8\x91\xC8\xAA\x6C\xFE"
    500	"\x9F\x8C\x4A\x7D\x43\xD2\x91\x1F\xFF\x9F\xF6\x21\x1C\xB6\x46\x55"
    501	"\x48\xCA\x38\xAB\xC1\xCD\x4D\x65\x5A\xAF\xA8\x6D\xDA\x6D\xF0\x34"
    502	"\x10\x79\x14\x0D\xFA\xA2\x8C\x17\x54\xB4\x18\xD5\x7E\x5F\x90\x50"
    503	"\x87\x84\xE7\xFB\xD7\x61\x53\x5D\xAB\x96\xC7\x6E\x7A\x42\xA0\xFC"
    504	"\x07\xED\xB7\x5F\x80\xD9\x19\xFF\xFB\xFD\x9E\xC4\x73\x31\x62\x3D"
    505	"\x6C\x9E\x15\x03\x62\xA5\x85\xCC\x19\x8E\x9D\x7F\xE3\x6D\xA8\x5D"
    506	"\x96\xF5\xAC\x78\x3D\x81\x27\xE7\x29\xF1\x29\x1D\x09\xBB\x77\x86"
    507	"\x6B\x65\x62\x88\xE1\x31\x1A\x22\xF7\xC5\xCE\x73\x65\x1C\xBE\xE7"
    508	"\x63\xD3\xD3\x14\x63\x27\xAF\x28\xF3\x23\xB6\x76\xC1\xBD\x9D\x82"
    509	"\xF4\x9B\x19\x7D\x2C\x57\xF0\xC2\x2A\x51\xAE\x95\x0D\x8C\x38\x54"
    510	"\xF5\xC6\xA0\x51\xB7\x0E\xB9\xEC\xE7\x0D\x22\xF6\x1A\xD3\xFE\x16"
    511	"\x21\x03\xB7\x0D\x85\xD3\x35\xC9\xDD\xE4\x59\x85\xBE\x7F\xA1\x75"
    512	"\x02\x82\x01\x01" /* coefficient - integer of 257 bytes */
    513	"\x00\xB9\x48\xD2\x54\x2F\x19\x54\x64\xAE\x62\x80\x61\x89\x80\xB4"
    514	"\x48\x0B\x8D\x7E\x1B\x0F\x50\x08\x82\x3F\xED\x75\x84\xB7\x13\xE4"
    515	"\xF8\x8D\xA8\xBB\x54\x21\x4C\x5A\x54\x07\x16\x4B\xB4\xA4\x9E\x30"
    516	"\xBF\x7A\x30\x1B\x39\x60\xA3\x21\x53\xFB\xB0\xDC\x0F\x7C\x2C\xFB"
    517	"\xAA\x95\x7D\x51\x39\x28\x33\x1F\x25\x31\x53\xF5\xD2\x64\x2B\xF2"
    518	"\x1E\xB3\xC0\x6A\x0B\xC9\xA4\x42\x64\x5C\xFB\x15\xA3\xE8\x4C\x3A"
    519	"\x9C\x3C\xBE\xA3\x39\x83\x23\xE3\x6D\x18\xCC\xC2\xDC\x63\x8D\xBA"
    520	"\x98\xE0\xE0\x31\x4A\x2B\x37\x9C\x4D\x6B\xF3\x9F\x51\xE4\x43\x5C"
    521	"\x83\x5F\xBF\x5C\xFE\x92\x45\x01\xAF\xF5\xC2\xF4\xB7\x56\x93\xA5"
    522	"\xF4\xAA\x67\x3C\x48\x37\xBD\x9A\x3C\xFE\xA5\x9A\xB0\xD1\x6B\x85"
    523	"\xDD\x81\xD4\xFA\xAD\x31\x83\xA8\x22\x9B\xFD\xB4\x61\xDC\x7A\x51"
    524	"\x59\x62\x10\x1B\x7E\x44\xA3\xFE\x90\x51\x5A\x3E\x02\x87\xAD\xFA"
    525	"\xDD\x0B\x1F\x3D\x35\xAF\xEE\x13\x85\x51\xA7\x42\xC0\xEE\x9E\x20"
    526	"\xE9\xD0\x29\xB2\xE4\x21\xE4\x6D\x62\xB9\xF4\x48\x4A\xD8\x46\x8E"
    527	"\x61\xA6\x2C\x5D\xDF\x8F\x97\x2B\x3A\x75\x1D\x83\x17\x6F\xC6\xB0"
    528	"\xDE\xFC\x14\x25\x06\x5A\x60\xBB\xB8\x21\x89\xD1\xEF\x57\xF1\x71"
    529	"\x3D",
    530	.m = "\x54\x85\x9b\x34\x2c\x49\xea\x2a",
    531	.c =
    532	"\x5c\xce\x9c\xd7\x9a\x9e\xa1\xfe\x7a\x82\x3c\x68\x27\x98\xe3\x5d"
    533	"\xd5\xd7\x07\x29\xf5\xfb\xc3\x1a\x7f\x63\x1e\x62\x31\x3b\x19\x87"
    534	"\x79\x4f\xec\x7b\xf3\xcb\xea\x9b\x95\x52\x3a\x40\xe5\x87\x7b\x72"
    535	"\xd1\x72\xc9\xfb\x54\x63\xd8\xc9\xd7\x2c\xfc\x7b\xc3\x14\x1e\xbc"
    536	"\x18\xb4\x34\xa1\xbf\x14\xb1\x37\x31\x6e\xf0\x1b\x35\x19\x54\x07"
    537	"\xf7\x99\xec\x3e\x63\xe2\xcd\x61\x28\x65\xc3\xcd\xb1\x38\x36\xa5"
    538	"\xb2\xd7\xb0\xdc\x1f\xf5\xef\x19\xc7\x53\x32\x2d\x1c\x26\xda\xe4"
    539	"\x0d\xd6\x90\x7e\x28\xd8\xdc\xe4\x61\x05\xd2\x25\x90\x01\xd3\x96"
    540	"\x6d\xa6\xcf\x58\x20\xbb\x03\xf4\x01\xbc\x79\xb9\x18\xd8\xb8\xba"
    541	"\xbd\x93\xfc\xf2\x62\x5d\x8c\x66\x1e\x0e\x84\x59\x93\xdd\xe2\x93"
    542	"\xa2\x62\x7d\x08\x82\x7a\xdd\xfc\xb8\xbc\xc5\x4f\x9c\x4e\xbf\xb4"
    543	"\xfc\xf4\xc5\x01\xe8\x00\x70\x4d\x28\x26\xcc\x2e\xfe\x0e\x58\x41"
    544	"\x8b\xec\xaf\x7c\x4b\x54\xd0\xa0\x64\xf9\x32\xf4\x2e\x47\x65\x0a"
    545	"\x67\x88\x39\x3a\xdb\xb2\xdb\x7b\xb5\xf6\x17\xa8\xd9\xc6\x5e\x28"
    546	"\x13\x82\x8a\x99\xdb\x60\x08\xa5\x23\x37\xfa\x88\x90\x31\xc8\x9d"
    547	"\x8f\xec\xfb\x85\x9f\xb1\xce\xa6\x24\x50\x46\x44\x47\xcb\x65\xd1"
    548	"\xdf\xc0\xb1\x6c\x90\x1f\x99\x8e\x4d\xd5\x9e\x31\x07\x66\x87\xdf"
    549	"\x01\xaa\x56\x3c\x71\xe0\x2b\x6f\x67\x3b\x23\xed\xc2\xbd\x03\x30"
    550	"\x79\x76\x02\x10\x10\x98\x85\x8a\xff\xfd\x0b\xda\xa5\xd9\x32\x48"
    551	"\x02\xa0\x0b\xb9\x2a\x8a\x18\xca\xc6\x8f\x3f\xbb\x16\xb2\xaa\x98"
    552	"\x27\xe3\x60\x43\xed\x15\x70\xd4\x57\x15\xfe\x19\xd4\x9b\x13\x78"
    553	"\x8a\xf7\x21\xf1\xa2\xa2\x2d\xb3\x09\xcf\x44\x91\x6e\x08\x3a\x30"
    554	"\x81\x3e\x90\x93\x8a\x67\x33\x00\x59\x54\x9a\x25\xd3\x49\x8e\x9f"
    555	"\xc1\x4b\xe5\x86\xf3\x50\x4c\xbc\xc5\xd3\xf5\x3a\x54\xe1\x36\x3f"
    556	"\xe2\x5a\xb4\x37\xc0\xeb\x70\x35\xec\xf6\xb7\xe8\x44\x3b\x7b\xf3"
    557	"\xf1\xf2\x1e\xdb\x60\x7d\xd5\xbe\xf0\x71\x34\x90\x4c\xcb\xd4\x35"
    558	"\x51\xc7\xdd\xd8\xc9\x81\xf5\x5d\x57\x46\x2c\xb1\x7b\x9b\xaa\xcb"
    559	"\xd1\x22\x25\x49\x44\xa3\xd4\x6b\x29\x7b\xd8\xb2\x07\x93\xbf\x3d"
    560	"\x52\x49\x84\x79\xef\xb8\xe5\xc4\xad\xca\xa8\xc6\xf6\xa6\x76\x70"
    561	"\x5b\x0b\xe5\x83\xc6\x0e\xef\x55\xf2\xe7\xff\x04\xea\xe6\x13\xbe"
    562	"\x40\xe1\x40\x45\x48\x66\x75\x31\xae\x35\x64\x91\x11\x6f\xda\xee"
    563	"\x26\x86\x45\x6f\x0b\xd5\x9f\x03\xb1\x65\x5b\xdb\xa4\xe4\xf9\x45",
    564	.key_len = 2349,
    565	.m_size = 8,
    566	.c_size = 512,
    567#endif
    568	}
    569};
    570
    571/*
    572 * ECDSA test vectors.
    573 */
    574static const struct akcipher_testvec ecdsa_nist_p192_tv_template[] = {
    575	{
    576	.key =
    577	"\x04\xf7\x46\xf8\x2f\x15\xf6\x22\x8e\xd7\x57\x4f\xcc\xe7\xbb\xc1"
    578	"\xd4\x09\x73\xcf\xea\xd0\x15\x07\x3d\xa5\x8a\x8a\x95\x43\xe4\x68"
    579	"\xea\xc6\x25\xc1\xc1\x01\x25\x4c\x7e\xc3\x3c\xa6\x04\x0a\xe7\x08"
    580	"\x98",
    581	.key_len = 49,
    582	.params =
    583	"\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48"
    584	"\xce\x3d\x03\x01\x01",
    585	.param_len = 21,
    586	.m =
    587	"\xcd\xb9\xd2\x1c\xb7\x6f\xcd\x44\xb3\xfd\x63\xea\xa3\x66\x7f\xae"
    588	"\x63\x85\xe7\x82",
    589	.m_size = 20,
    590	.algo = OID_id_ecdsa_with_sha1,
    591	.c =
    592	"\x30\x35\x02\x19\x00\xba\xe5\x93\x83\x6e\xb6\x3b\x63\xa0\x27\x91"
    593	"\xc6\xf6\x7f\xc3\x09\xad\x59\xad\x88\x27\xd6\x92\x6b\x02\x18\x10"
    594	"\x68\x01\x9d\xba\xce\x83\x08\xef\x95\x52\x7b\xa0\x0f\xe4\x18\x86"
    595	"\x80\x6f\xa5\x79\x77\xda\xd0",
    596	.c_size = 55,
    597	.public_key_vec = true,
    598	.siggen_sigver_test = true,
    599	}, {
    600	.key =
    601	"\x04\xb6\x4b\xb1\xd1\xac\xba\x24\x8f\x65\xb2\x60\x00\x90\xbf\xbd"
    602	"\x78\x05\x73\xe9\x79\x1d\x6f\x7c\x0b\xd2\xc3\x93\xa7\x28\xe1\x75"
    603	"\xf7\xd5\x95\x1d\x28\x10\xc0\x75\x50\x5c\x1a\x4f\x3f\x8f\xa5\xee"
    604	"\xa3",
    605	.key_len = 49,
    606	.params =
    607	"\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48"
    608	"\xce\x3d\x03\x01\x01",
    609	.param_len = 21,
    610	.m =
    611	"\x8d\xd6\xb8\x3e\xe5\xff\x23\xf6\x25\xa2\x43\x42\x74\x45\xa7\x40"
    612	"\x3a\xff\x2f\xe1\xd3\xf6\x9f\xe8\x33\xcb\x12\x11",
    613	.m_size = 28,
    614	.algo = OID_id_ecdsa_with_sha224,
    615	.c =
    616	"\x30\x34\x02\x18\x5a\x8b\x82\x69\x7e\x8a\x0a\x09\x14\xf8\x11\x2b"
    617	"\x55\xdc\xae\x37\x83\x7b\x12\xe6\xb6\x5b\xcb\xd4\x02\x18\x6a\x14"
    618	"\x4f\x53\x75\xc8\x02\x48\xeb\xc3\x92\x0f\x1e\x72\xee\xc4\xa3\xe3"
    619	"\x5c\x99\xdb\x92\x5b\x36",
    620	.c_size = 54,
    621	.public_key_vec = true,
    622	.siggen_sigver_test = true,
    623	}, {
    624	.key =
    625	"\x04\xe2\x51\x24\x9b\xf7\xb6\x32\x82\x39\x66\x3d\x5b\xec\x3b\xae"
    626	"\x0c\xd5\xf2\x67\xd1\xc7\xe1\x02\xe4\xbf\x90\x62\xb8\x55\x75\x56"
    627	"\x69\x20\x5e\xcb\x4e\xca\x33\xd6\xcb\x62\x6b\x94\xa9\xa2\xe9\x58"
    628	"\x91",
    629	.key_len = 49,
    630	.params =
    631	"\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48"
    632	"\xce\x3d\x03\x01\x01",
    633	.param_len = 21,
    634	.m =
    635	"\x35\xec\xa1\xa0\x9e\x14\xde\x33\x03\xb6\xf6\xbd\x0c\x2f\xb2\xfd"
    636	"\x1f\x27\x82\xa5\xd7\x70\x3f\xef\xa0\x82\x69\x8e\x73\x31\x8e\xd7",
    637	.m_size = 32,
    638	.algo = OID_id_ecdsa_with_sha256,
    639	.c =
    640	"\x30\x35\x02\x18\x3f\x72\x3f\x1f\x42\xd2\x3f\x1d\x6b\x1a\x58\x56"
    641	"\xf1\x8f\xf7\xfd\x01\x48\xfb\x5f\x72\x2a\xd4\x8f\x02\x19\x00\xb3"
    642	"\x69\x43\xfd\x48\x19\x86\xcf\x32\xdd\x41\x74\x6a\x51\xc7\xd9\x7d"
    643	"\x3a\x97\xd9\xcd\x1a\x6a\x49",
    644	.c_size = 55,
    645	.public_key_vec = true,
    646	.siggen_sigver_test = true,
    647	}, {
    648	.key =
    649	"\x04\x5a\x13\xfe\x68\x86\x4d\xf4\x17\xc7\xa4\xe5\x8c\x65\x57\xb7"
    650	"\x03\x73\x26\x57\xfb\xe5\x58\x40\xd8\xfd\x49\x05\xab\xf1\x66\x1f"
    651	"\xe2\x9d\x93\x9e\xc2\x22\x5a\x8b\x4f\xf3\x77\x22\x59\x7e\xa6\x4e"
    652	"\x8b",
    653	.key_len = 49,
    654	.params =
    655	"\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48"
    656	"\xce\x3d\x03\x01\x01",
    657	.param_len = 21,
    658	.m =
    659	"\x9d\x2e\x1a\x8f\xed\x6c\x4b\x61\xae\xac\xd5\x19\x79\xce\x67\xf9"
    660	"\xa0\x34\xeb\xb0\x81\xf9\xd9\xdc\x6e\xb3\x5c\xa8\x69\xfc\x8a\x61"
    661	"\x39\x81\xfb\xfd\x5c\x30\x6b\xa8\xee\xed\x89\xaf\xa3\x05\xe4\x78",
    662	.m_size = 48,
    663	.algo = OID_id_ecdsa_with_sha384,
    664	.c =
    665	"\x30\x35\x02\x19\x00\xf0\xa3\x38\xce\x2b\xf8\x9d\x1a\xcf\x7f\x34"
    666	"\xb4\xb4\xe5\xc5\x00\xdd\x15\xbb\xd6\x8c\xa7\x03\x78\x02\x18\x64"
    667	"\xbc\x5a\x1f\x82\x96\x61\xd7\xd1\x01\x77\x44\x5d\x53\xa4\x7c\x93"
    668	"\x12\x3b\x3b\x28\xfb\x6d\xe1",
    669	.c_size = 55,
    670	.public_key_vec = true,
    671	.siggen_sigver_test = true,
    672	}, {
    673	.key =
    674	"\x04\xd5\xf2\x6e\xc3\x94\x5c\x52\xbc\xdf\x86\x6c\x14\xd1\xca\xea"
    675	"\xcc\x72\x3a\x8a\xf6\x7a\x3a\x56\x36\x3b\xca\xc6\x94\x0e\x17\x1d"
    676	"\x9e\xa0\x58\x28\xf9\x4b\xe6\xd1\xa5\x44\x91\x35\x0d\xe7\xf5\x11"
    677	"\x57",
    678	.key_len = 49,
    679	.params =
    680	"\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48"
    681	"\xce\x3d\x03\x01\x01",
    682	.param_len = 21,
    683	.m =
    684	"\xd5\x4b\xe9\x36\xda\xd8\x6e\xc0\x50\x03\xbe\x00\x43\xff\xf0\x23"
    685	"\xac\xa2\x42\xe7\x37\x77\x79\x52\x8f\x3e\xc0\x16\xc1\xfc\x8c\x67"
    686	"\x16\xbc\x8a\x5d\x3b\xd3\x13\xbb\xb6\xc0\x26\x1b\xeb\x33\xcc\x70"
    687	"\x4a\xf2\x11\x37\xe8\x1b\xba\x55\xac\x69\xe1\x74\x62\x7c\x6e\xb5",
    688	.m_size = 64,
    689	.algo = OID_id_ecdsa_with_sha512,
    690	.c =
    691	"\x30\x35\x02\x19\x00\x88\x5b\x8f\x59\x43\xbf\xcf\xc6\xdd\x3f\x07"
    692	"\x87\x12\xa0\xd4\xac\x2b\x11\x2d\x1c\xb6\x06\xc9\x6c\x02\x18\x73"
    693	"\xb4\x22\x9a\x98\x73\x3c\x83\xa9\x14\x2a\x5e\xf5\xe5\xfb\x72\x28"
    694	"\x6a\xdf\x97\xfd\x82\x76\x24",
    695	.c_size = 55,
    696	.public_key_vec = true,
    697	.siggen_sigver_test = true,
    698	},
    699};
    700
    701static const struct akcipher_testvec ecdsa_nist_p256_tv_template[] = {
    702	{
    703	.key =
    704	"\x04\xb9\x7b\xbb\xd7\x17\x64\xd2\x7e\xfc\x81\x5d\x87\x06\x83\x41"
    705	"\x22\xd6\x9a\xaa\x87\x17\xec\x4f\x63\x55\x2f\x94\xba\xdd\x83\xe9"
    706	"\x34\x4b\xf3\xe9\x91\x13\x50\xb6\xcb\xca\x62\x08\xe7\x3b\x09\xdc"
    707	"\xc3\x63\x4b\x2d\xb9\x73\x53\xe4\x45\xe6\x7c\xad\xe7\x6b\xb0\xe8"
    708	"\xaf",
    709	.key_len = 65,
    710	.params =
    711	"\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48"
    712	"\xce\x3d\x03\x01\x07",
    713	.param_len = 21,
    714	.m =
    715	"\xc2\x2b\x5f\x91\x78\x34\x26\x09\x42\x8d\x6f\x51\xb2\xc5\xaf\x4c"
    716	"\x0b\xde\x6a\x42",
    717	.m_size = 20,
    718	.algo = OID_id_ecdsa_with_sha1,
    719	.c =
    720	"\x30\x46\x02\x21\x00\xf9\x25\xce\x9f\x3a\xa6\x35\x81\xcf\xd4\xe7"
    721	"\xb7\xf0\x82\x56\x41\xf7\xd4\xad\x8d\x94\x5a\x69\x89\xee\xca\x6a"
    722	"\x52\x0e\x48\x4d\xcc\x02\x21\x00\xd7\xe4\xef\x52\x66\xd3\x5b\x9d"
    723	"\x8a\xfa\x54\x93\x29\xa7\x70\x86\xf1\x03\x03\xf3\x3b\xe2\x73\xf7"
    724	"\xfb\x9d\x8b\xde\xd4\x8d\x6f\xad",
    725	.c_size = 72,
    726	.public_key_vec = true,
    727	.siggen_sigver_test = true,
    728	}, {
    729	.key =
    730	"\x04\x8b\x6d\xc0\x33\x8e\x2d\x8b\x67\xf5\xeb\xc4\x7f\xa0\xf5\xd9"
    731	"\x7b\x03\xa5\x78\x9a\xb5\xea\x14\xe4\x23\xd0\xaf\xd7\x0e\x2e\xa0"
    732	"\xc9\x8b\xdb\x95\xf8\xb3\xaf\xac\x00\x2c\x2c\x1f\x7a\xfd\x95\x88"
    733	"\x43\x13\xbf\xf3\x1c\x05\x1a\x14\x18\x09\x3f\xd6\x28\x3e\xc5\xa0"
    734	"\xd4",
    735	.key_len = 65,
    736	.params =
    737	"\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48"
    738	"\xce\x3d\x03\x01\x07",
    739	.param_len = 21,
    740	.m =
    741	"\x1a\x15\xbc\xa3\xe4\xed\x3a\xb8\x23\x67\xc6\xc4\x34\xf8\x6c\x41"
    742	"\x04\x0b\xda\xc5\x77\xfa\x1c\x2d\xe6\x2c\x3b\xe0",
    743	.m_size = 28,
    744	.algo = OID_id_ecdsa_with_sha224,
    745	.c =
    746	"\x30\x44\x02\x20\x20\x43\xfa\xc0\x9f\x9d\x7b\xe7\xae\xce\x77\x59"
    747	"\x1a\xdb\x59\xd5\x34\x62\x79\xcb\x6a\x91\x67\x2e\x7d\x25\xd8\x25"
    748	"\xf5\x81\xd2\x1e\x02\x20\x5f\xf8\x74\xf8\x57\xd0\x5e\x54\x76\x20"
    749	"\x4a\x77\x22\xec\xc8\x66\xbf\x50\x05\x58\x39\x0e\x26\x92\xce\xd5"
    750	"\x2e\x8b\xde\x5a\x04\x0e",
    751	.c_size = 70,
    752	.public_key_vec = true,
    753	.siggen_sigver_test = true,
    754	}, {
    755	.key =
    756	"\x04\xf1\xea\xc4\x53\xf3\xb9\x0e\x9f\x7e\xad\xe3\xea\xd7\x0e\x0f"
    757	"\xd6\x98\x9a\xca\x92\x4d\x0a\x80\xdb\x2d\x45\xc7\xec\x4b\x97\x00"
    758	"\x2f\xe9\x42\x6c\x29\xdc\x55\x0e\x0b\x53\x12\x9b\x2b\xad\x2c\xe9"
    759	"\x80\xe6\xc5\x43\xc2\x1d\x5e\xbb\x65\x21\x50\xb6\x37\xb0\x03\x8e"
    760	"\xb8",
    761	.key_len = 65,
    762	.params =
    763	"\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48"
    764	"\xce\x3d\x03\x01\x07",
    765	.param_len = 21,
    766	.m =
    767	"\x8f\x43\x43\x46\x64\x8f\x6b\x96\xdf\x89\xdd\xa9\x01\xc5\x17\x6b"
    768	"\x10\xa6\xd8\x39\x61\xdd\x3c\x1a\xc8\x8b\x59\xb2\xdc\x32\x7a\xa4",
    769	.m_size = 32,
    770	.algo = OID_id_ecdsa_with_sha256,
    771	.c =
    772	"\x30\x45\x02\x20\x08\x31\xfa\x74\x0d\x1d\x21\x5d\x09\xdc\x29\x63"
    773	"\xa8\x1a\xad\xfc\xac\x44\xc3\xe8\x24\x11\x2d\xa4\x91\xdc\x02\x67"
    774	"\xdc\x0c\xd0\x82\x02\x21\x00\xbd\xff\xce\xee\x42\xc3\x97\xff\xf9"
    775	"\xa9\x81\xac\x4a\x50\xd0\x91\x0a\x6e\x1b\xc4\xaf\xe1\x83\xc3\x4f"
    776	"\x2a\x65\x35\x23\xe3\x1d\xfa",
    777	.c_size = 71,
    778	.public_key_vec = true,
    779	.siggen_sigver_test = true,
    780	}, {
    781	.key =
    782	"\x04\xc5\xc6\xea\x60\xc9\xce\xad\x02\x8d\xf5\x3e\x24\xe3\x52\x1d"
    783	"\x28\x47\x3b\xc3\x6b\xa4\x99\x35\x99\x11\x88\x88\xc8\xf4\xee\x7e"
    784	"\x8c\x33\x8f\x41\x03\x24\x46\x2b\x1a\x82\xf9\x9f\xe1\x97\x1b\x00"
    785	"\xda\x3b\x24\x41\xf7\x66\x33\x58\x3d\x3a\x81\xad\xcf\x16\xe9\xe2"
    786	"\x7c",
    787	.key_len = 65,
    788	.params =
    789	"\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48"
    790	"\xce\x3d\x03\x01\x07",
    791	.param_len = 21,
    792	.m =
    793	"\x3e\x78\x70\xfb\xcd\x66\xba\x91\xa1\x79\xff\x1e\x1c\x6b\x78\xe6"
    794	"\xc0\x81\x3a\x65\x97\x14\x84\x36\x14\x1a\x9a\xb7\xc5\xab\x84\x94"
    795	"\x5e\xbb\x1b\x34\x71\xcb\x41\xe1\xf6\xfc\x92\x7b\x34\xbb\x86\xbb",
    796	.m_size = 48,
    797	.algo = OID_id_ecdsa_with_sha384,
    798	.c =
    799	"\x30\x46\x02\x21\x00\x8e\xf3\x6f\xdc\xf8\x69\xa6\x2e\xd0\x2e\x95"
    800	"\x54\xd1\x95\x64\x93\x08\xb2\x6b\x24\x94\x48\x46\x5e\xf2\xe4\x6c"
    801	"\xc7\x94\xb1\xd5\xfe\x02\x21\x00\xeb\xa7\x80\x26\xdc\xf9\x3a\x44"
    802	"\x19\xfb\x5f\x92\xf4\xc9\x23\x37\x69\xf4\x3b\x4f\x47\xcf\x9b\x16"
    803	"\xc0\x60\x11\x92\xdc\x17\x89\x12",
    804	.c_size = 72,
    805	.public_key_vec = true,
    806	.siggen_sigver_test = true,
    807	}, {
    808	.key =
    809	"\x04\xd7\x27\x46\x49\xf6\x26\x85\x12\x40\x76\x8e\xe2\xe6\x2a\x7a"
    810	"\x83\xb1\x4e\x7a\xeb\x3b\x5c\x67\x4a\xb5\xa4\x92\x8c\x69\xff\x38"
    811	"\xee\xd9\x4e\x13\x29\x59\xad\xde\x6b\xbb\x45\x31\xee\xfd\xd1\x1b"
    812	"\x64\xd3\xb5\xfc\xaf\x9b\x4b\x88\x3b\x0e\xb7\xd6\xdf\xf1\xd5\x92"
    813	"\xbf",
    814	.key_len = 65,
    815	.params =
    816	"\x30\x13\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x08\x2a\x86\x48"
    817	"\xce\x3d\x03\x01\x07",
    818	.param_len = 21,
    819	.m =
    820	"\x57\xb7\x9e\xe9\x05\x0a\x8c\x1b\xc9\x13\xe5\x4a\x24\xc7\xe2\xe9"
    821	"\x43\xc3\xd1\x76\x62\xf4\x98\x1a\x9c\x13\xb0\x20\x1b\xe5\x39\xca"
    822	"\x4f\xd9\x85\x34\x95\xa2\x31\xbc\xbb\xde\xdd\x76\xbb\x61\xe3\xcf"
    823	"\x9d\xc0\x49\x7a\xf3\x7a\xc4\x7d\xa8\x04\x4b\x8d\xb4\x4d\x5b\xd6",
    824	.m_size = 64,
    825	.algo = OID_id_ecdsa_with_sha512,
    826	.c =
    827	"\x30\x45\x02\x21\x00\xb8\x6d\x87\x81\x43\xdf\xfb\x9f\x40\xea\x44"
    828	"\x81\x00\x4e\x29\x08\xed\x8c\x73\x30\x6c\x22\xb3\x97\x76\xf6\x04"
    829	"\x99\x09\x37\x4d\xfa\x02\x20\x1e\xb9\x75\x31\xf6\x04\xa5\x4d\xf8"
    830	"\x00\xdd\xab\xd4\xc0\x2b\xe6\x5c\xad\xc3\x78\x1c\xc2\xc1\x19\x76"
    831	"\x31\x79\x4a\xe9\x81\x6a\xee",
    832	.c_size = 71,
    833	.public_key_vec = true,
    834	.siggen_sigver_test = true,
    835	},
    836};
    837
    838static const struct akcipher_testvec ecdsa_nist_p384_tv_template[] = {
    839	{
    840	.key = /* secp384r1(sha1) */
    841	"\x04\x89\x25\xf3\x97\x88\xcb\xb0\x78\xc5\x72\x9a\x14\x6e\x7a\xb1"
    842	"\x5a\xa5\x24\xf1\x95\x06\x9e\x28\xfb\xc4\xb9\xbe\x5a\x0d\xd9\x9f"
    843	"\xf3\xd1\x4d\x2d\x07\x99\xbd\xda\xa7\x66\xec\xbb\xea\xba\x79\x42"
    844	"\xc9\x34\x89\x6a\xe7\x0b\xc3\xf2\xfe\x32\x30\xbe\xba\xf9\xdf\x7e"
    845	"\x4b\x6a\x07\x8e\x26\x66\x3f\x1d\xec\xa2\x57\x91\x51\xdd\x17\x0e"
    846	"\x0b\x25\xd6\x80\x5c\x3b\xe6\x1a\x98\x48\x91\x45\x7a\x73\xb0\xc3"
    847	"\xf1",
    848	.key_len = 97,
    849	.params =
    850	"\x30\x10\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x05\x2b\x81\x04"
    851	"\x00\x22",
    852	.param_len = 18,
    853	.m =
    854	"\x12\x55\x28\xf0\x77\xd5\xb6\x21\x71\x32\x48\xcd\x28\xa8\x25\x22"
    855	"\x3a\x69\xc1\x93",
    856	.m_size = 20,
    857	.algo = OID_id_ecdsa_with_sha1,
    858	.c =
    859	"\x30\x66\x02\x31\x00\xf5\x0f\x24\x4c\x07\x93\x6f\x21\x57\x55\x07"
    860	"\x20\x43\x30\xde\xa0\x8d\x26\x8e\xae\x63\x3f\xbc\x20\x3a\xc6\xf1"
    861	"\x32\x3c\xce\x70\x2b\x78\xf1\x4c\x26\xe6\x5b\x86\xcf\xec\x7c\x7e"
    862	"\xd0\x87\xd7\xd7\x6e\x02\x31\x00\xcd\xbb\x7e\x81\x5d\x8f\x63\xc0"
    863	"\x5f\x63\xb1\xbe\x5e\x4c\x0e\xa1\xdf\x28\x8c\x1b\xfa\xf9\x95\x88"
    864	"\x74\xa0\x0f\xbf\xaf\xc3\x36\x76\x4a\xa1\x59\xf1\x1c\xa4\x58\x26"
    865	"\x79\x12\x2a\xb7\xc5\x15\x92\xc5",
    866	.c_size = 104,
    867	.public_key_vec = true,
    868	.siggen_sigver_test = true,
    869	}, {
    870	.key = /* secp384r1(sha224) */
    871	"\x04\x69\x6c\xcf\x62\xee\xd0\x0d\xe5\xb5\x2f\x70\x54\xcf\x26\xa0"
    872	"\xd9\x98\x8d\x92\x2a\xab\x9b\x11\xcb\x48\x18\xa1\xa9\x0d\xd5\x18"
    873	"\x3e\xe8\x29\x6e\xf6\xe4\xb5\x8e\xc7\x4a\xc2\x5f\x37\x13\x99\x05"
    874	"\xb6\xa4\x9d\xf9\xfb\x79\x41\xe7\xd7\x96\x9f\x73\x3b\x39\x43\xdc"
    875	"\xda\xf4\x06\xb9\xa5\x29\x01\x9d\x3b\xe1\xd8\x68\x77\x2a\xf4\x50"
    876	"\x6b\x93\x99\x6c\x66\x4c\x42\x3f\x65\x60\x6c\x1c\x0b\x93\x9b\x9d"
    877	"\xe0",
    878	.key_len = 97,
    879	.params =
    880	"\x30\x10\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x05\x2b\x81\x04"
    881	"\x00\x22",
    882	.param_len = 18,
    883	.m =
    884	"\x12\x80\xb6\xeb\x25\xe2\x3d\xf0\x21\x32\x96\x17\x3a\x38\x39\xfd"
    885	"\x1f\x05\x34\x7b\xb8\xf9\x71\x66\x03\x4f\xd5\xe5",
    886	.m_size = 28,
    887	.algo = OID_id_ecdsa_with_sha224,
    888	.c =
    889	"\x30\x66\x02\x31\x00\x8a\x51\x84\xce\x13\x1e\xd2\xdc\xec\xcb\xe4"
    890	"\x89\x47\xb2\xf7\xbc\x97\xf1\xc8\x72\x26\xcf\x5a\x5e\xc5\xda\xb4"
    891	"\xe3\x93\x07\xe0\x99\xc9\x9c\x11\xb8\x10\x01\xc5\x41\x3f\xdd\x15"
    892	"\x1b\x68\x2b\x9d\x8b\x02\x31\x00\x8b\x03\x2c\xfc\x1f\xd1\xa9\xa4"
    893	"\x4b\x00\x08\x31\x6c\xf5\xd5\xf6\xdf\xd8\x68\xa2\x64\x42\x65\xf3"
    894	"\x4d\xd0\xc6\x6e\xb0\xe9\xfc\x14\x9f\x19\xd0\x42\x8b\x93\xc2\x11"
    895	"\x88\x2b\x82\x26\x5e\x1c\xda\xfb",
    896	.c_size = 104,
    897	.public_key_vec = true,
    898	.siggen_sigver_test = true,
    899	}, {
    900	.key = /* secp384r1(sha256) */
    901	"\x04\xee\xd6\xda\x3e\x94\x90\x00\x27\xed\xf8\x64\x55\xd6\x51\x9a"
    902	"\x1f\x52\x00\x63\x78\xf1\xa9\xfd\x75\x4c\x9e\xb2\x20\x1a\x91\x5a"
    903	"\xba\x7a\xa3\xe5\x6c\xb6\x25\x68\x4b\xe8\x13\xa6\x54\x87\x2c\x0e"
    904	"\xd0\x83\x95\xbc\xbf\xc5\x28\x4f\x77\x1c\x46\xa6\xf0\xbc\xd4\xa4"
    905	"\x8d\xc2\x8f\xb3\x32\x37\x40\xd6\xca\xf8\xae\x07\x34\x52\x39\x52"
    906	"\x17\xc3\x34\x29\xd6\x40\xea\x5c\xb9\x3f\xfb\x32\x2e\x12\x33\xbc"
    907	"\xab",
    908	.key_len = 97,
    909	.params =
    910	"\x30\x10\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x05\x2b\x81\x04"
    911	"\x00\x22",
    912	.param_len = 18,
    913	.m =
    914	"\xaa\xe7\xfd\x03\x26\xcb\x94\x71\xe4\xce\x0f\xc5\xff\xa6\x29\xa3"
    915	"\xe1\xcc\x4c\x35\x4e\xde\xca\x80\xab\x26\x0c\x25\xe6\x68\x11\xc2",
    916	.m_size = 32,
    917	.algo = OID_id_ecdsa_with_sha256,
    918	.c =
    919	"\x30\x64\x02\x30\x08\x09\x12\x9d\x6e\x96\x64\xa6\x8e\x3f\x7e\xce"
    920	"\x0a\x9b\xaa\x59\xcc\x47\x53\x87\xbc\xbd\x83\x3f\xaf\x06\x3f\x84"
    921	"\x04\xe2\xf9\x67\xb6\xc6\xfc\x70\x2e\x66\x3c\x77\xc8\x8d\x2c\x79"
    922	"\x3a\x8e\x32\xc4\x02\x30\x40\x34\xb8\x90\xa9\x80\xab\x47\x26\xa2"
    923	"\xb0\x89\x42\x0a\xda\xd9\xdd\xce\xbc\xb2\x97\xf4\x9c\xf3\x15\x68"
    924	"\xc0\x75\x3e\x23\x5e\x36\x4f\x8d\xde\x1e\x93\x8d\x95\xbb\x10\x0e"
    925	"\xf4\x1f\x39\xca\x4d\x43",
    926	.c_size = 102,
    927	.public_key_vec = true,
    928	.siggen_sigver_test = true,
    929	}, {
    930	.key = /* secp384r1(sha384) */
    931	"\x04\x3a\x2f\x62\xe7\x1a\xcf\x24\xd0\x0b\x7c\xe0\xed\x46\x0a\x4f"
    932	"\x74\x16\x43\xe9\x1a\x25\x7c\x55\xff\xf0\x29\x68\x66\x20\x91\xf9"
    933	"\xdb\x2b\xf6\xb3\x6c\x54\x01\xca\xc7\x6a\x5c\x0d\xeb\x68\xd9\x3c"
    934	"\xf1\x01\x74\x1f\xf9\x6c\xe5\x5b\x60\xe9\x7f\x5d\xb3\x12\x80\x2a"
    935	"\xd8\x67\x92\xc9\x0e\x4c\x4c\x6b\xa1\xb2\xa8\x1e\xac\x1c\x97\xd9"
    936	"\x21\x67\xe5\x1b\x5a\x52\x31\x68\xd6\xee\xf0\x19\xb0\x55\xed\x89"
    937	"\x9e",
    938	.key_len = 97,
    939	.params =
    940	"\x30\x10\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x05\x2b\x81\x04"
    941	"\x00\x22",
    942	.param_len = 18,
    943	.m =
    944	"\x8d\xf2\xc0\xe9\xa8\xf3\x8e\x44\xc4\x8c\x1a\xa0\xb8\xd7\x17\xdf"
    945	"\xf2\x37\x1b\xc6\xe3\xf5\x62\xcc\x68\xf5\xd5\x0b\xbf\x73\x2b\xb1"
    946	"\xb0\x4c\x04\x00\x31\xab\xfe\xc8\xd6\x09\xc8\xf2\xea\xd3\x28\xff",
    947	.m_size = 48,
    948	.algo = OID_id_ecdsa_with_sha384,
    949	.c =
    950	"\x30\x66\x02\x31\x00\x9b\x28\x68\xc0\xa1\xea\x8c\x50\xee\x2e\x62"
    951	"\x35\x46\xfa\x00\xd8\x2d\x7a\x91\x5f\x49\x2d\x22\x08\x29\xe6\xfb"
    952	"\xca\x8c\xd6\xb6\xb4\x3b\x1f\x07\x8f\x15\x02\xfe\x1d\xa2\xa4\xc8"
    953	"\xf2\xea\x9d\x11\x1f\x02\x31\x00\xfc\x50\xf6\x43\xbd\x50\x82\x0e"
    954	"\xbf\xe3\x75\x24\x49\xac\xfb\xc8\x71\xcd\x8f\x18\x99\xf0\x0f\x13"
    955	"\x44\x92\x8c\x86\x99\x65\xb3\x97\x96\x17\x04\xc9\x05\x77\xf1\x8e"
    956	"\xab\x8d\x4e\xde\xe6\x6d\x9b\x66",
    957	.c_size = 104,
    958	.public_key_vec = true,
    959	.siggen_sigver_test = true,
    960	}, {
    961	.key = /* secp384r1(sha512) */
    962	"\x04\xb4\xe7\xc1\xeb\x64\x25\x22\x46\xc3\x86\x61\x80\xbe\x1e\x46"
    963	"\xcb\xf6\x05\xc2\xee\x73\x83\xbc\xea\x30\x61\x4d\x40\x05\x41\xf4"
    964	"\x8c\xe3\x0e\x5c\xf0\x50\xf2\x07\x19\xe8\x4f\x25\xbe\xee\x0c\x95"
    965	"\x54\x36\x86\xec\xc2\x20\x75\xf3\x89\xb5\x11\xa1\xb7\xf5\xaf\xbe"
    966	"\x81\xe4\xc3\x39\x06\xbd\xe4\xfe\x68\x1c\x6d\x99\x2b\x1b\x63\xfa"
    967	"\xdf\x42\x5c\xc2\x5a\xc7\x0c\xf4\x15\xf7\x1b\xa3\x2e\xd7\x00\xac"
    968	"\xa3",
    969	.key_len = 97,
    970	.params =
    971	"\x30\x10\x06\x07\x2a\x86\x48\xce\x3d\x02\x01\x06\x05\x2b\x81\x04"
    972	"\x00\x22",
    973	.param_len = 18,
    974	.m =
    975	"\xe8\xb7\x52\x7d\x1a\x44\x20\x05\x53\x6b\x3a\x68\xf2\xe7\x6c\xa1"
    976	"\xae\x9d\x84\xbb\xba\x52\x43\x3e\x2c\x42\x78\x49\xbf\x78\xb2\x71"
    977	"\xeb\xe1\xe0\xe8\x42\x7b\x11\xad\x2b\x99\x05\x1d\x36\xe6\xac\xfc"
    978	"\x55\x73\xf0\x15\x63\x39\xb8\x6a\x6a\xc5\x91\x5b\xca\x6a\xa8\x0e",
    979	.m_size = 64,
    980	.algo = OID_id_ecdsa_with_sha512,
    981	.c =
    982	"\x30\x63\x02\x2f\x1d\x20\x94\x77\xfe\x31\xfa\x4d\xc6\xef\xda\x02"
    983	"\xe7\x0f\x52\x9a\x02\xde\x93\xe8\x83\xe4\x84\x4c\xfc\x6f\x80\xe3"
    984	"\xaf\xb3\xd9\xdc\x2b\x43\x0e\x6a\xb3\x53\x6f\x3e\xb3\xc7\xa8\xb3"
    985	"\x17\x77\xd1\x02\x30\x63\xf6\xf0\x3d\x5f\x5f\x99\x3f\xde\x3a\x3d"
    986	"\x16\xaf\xb4\x52\x6a\xec\x63\xe3\x0c\xec\x50\xdc\xcc\xc4\x6a\x03"
    987	"\x5f\x8d\x7a\xf9\xfb\x34\xe4\x8b\x80\xa5\xb6\xda\x2c\x4e\x45\xcf"
    988	"\x3c\x93\xff\x50\x5d",
    989	.c_size = 101,
    990	.public_key_vec = true,
    991	.siggen_sigver_test = true,
    992	},
    993};
    994
    995/*
    996 * EC-RDSA test vectors are generated by gost-engine.
    997 */
    998static const struct akcipher_testvec ecrdsa_tv_template[] = {
    999	{
   1000	.key =
   1001	"\x04\x40\xd5\xa7\x77\xf9\x26\x2f\x8c\xbd\xcc\xe3\x1f\x01\x94\x05"
   1002	"\x3d\x2f\xec\xb5\x00\x34\xf5\x51\x6d\x3b\x90\x4b\x23\x28\x6f\x1d"
   1003	"\xc8\x36\x61\x60\x36\xec\xbb\xb4\x0b\x95\x4e\x54\x4f\x15\x21\x05"
   1004	"\xd8\x52\x66\x44\x31\x7e\x5d\xc5\xd1\x26\x00\x5f\x60\xd8\xf0\xc7"
   1005	"\x27\xfc",
   1006	.key_len = 66,
   1007	.params = /* OID_gostCPSignA */
   1008	"\x30\x13\x06\x07\x2a\x85\x03\x02\x02\x23\x01\x06\x08\x2a\x85\x03"
   1009	"\x07\x01\x01\x02\x02",
   1010	.param_len = 21,
   1011	.c =
   1012	"\x41\x32\x09\x73\xa4\xc1\x38\xd6\x63\x7d\x8b\xf7\x50\x3f\xda\x9f"
   1013	"\x68\x48\xc1\x50\xe3\x42\x3a\x9b\x2b\x28\x12\x2a\xa7\xc2\x75\x31"
   1014	"\x65\x77\x8c\x3c\x9e\x0d\x56\xb2\xf9\xdc\x04\x33\x3e\xb0\x9e\xf9"
   1015	"\x74\x4e\x59\xb3\x83\xf2\x91\x27\xda\x5e\xc7\x33\xc0\xc1\x8f\x41",
   1016	.c_size = 64,
   1017	.algo = OID_gost2012PKey256,
   1018	.m =
   1019	"\x75\x1b\x9b\x40\x25\xb9\x96\xd2\x9b\x00\x41\xb3\x58\xbf\x23\x14"
   1020	"\x79\xd2\x76\x64\xa3\xbd\x66\x10\x79\x05\x5a\x06\x42\xec\xb9\xc9",
   1021	.m_size = 32,
   1022	.public_key_vec = true,
   1023	.siggen_sigver_test = true,
   1024	},
   1025	{
   1026	.key =
   1027	"\x04\x40\x66\x6f\xd6\xb7\x06\xd0\xf5\xa5\x6f\x69\x5c\xa5\x13\x45"
   1028	"\x14\xdd\xcb\x12\x9c\x1b\xf5\x28\x64\x7a\x49\x48\x29\x14\x66\x42"
   1029	"\xb8\x1b\x5c\xf9\x56\x6d\x08\x3b\xce\xbb\x62\x2f\xc2\x3c\xc5\x49"
   1030	"\x93\x27\x70\x20\xcc\x79\xeb\xdc\x76\x8e\x48\x6e\x04\x96\xc3\x29"
   1031	"\xa0\x73",
   1032	.key_len = 66,
   1033	.params = /* OID_gostCPSignB */
   1034	"\x30\x13\x06\x07\x2a\x85\x03\x02\x02\x23\x02\x06\x08\x2a\x85\x03"
   1035	"\x07\x01\x01\x02\x02",
   1036	.param_len = 21,
   1037	.c =
   1038	"\x45\x6d\x4a\x03\x1d\x5c\x0b\x17\x79\xe7\x19\xdb\xbf\x81\x9f\x82"
   1039	"\xae\x06\xda\xf5\x47\x00\x05\x80\xc3\x16\x06\x9a\x8e\x7c\xb2\x8e"
   1040	"\x7f\x74\xaa\xec\x6b\x7b\x7f\x8b\xc6\x0b\x10\x42\x4e\x91\x2c\xdf"
   1041	"\x7b\x8b\x15\xf4\x9e\x59\x0f\xc7\xa4\x68\x2e\xce\x89\xdf\x84\xe9",
   1042	.c_size = 64,
   1043	.algo = OID_gost2012PKey256,
   1044	.m =
   1045	"\xd0\x54\x00\x27\x6a\xeb\xce\x6c\xf5\xf6\xfb\x57\x18\x18\x21\x13"
   1046	"\x11\x23\x4a\x70\x43\x52\x7a\x68\x11\x65\x45\x37\xbb\x25\xb7\x40",
   1047	.m_size = 32,
   1048	.public_key_vec = true,
   1049	.siggen_sigver_test = true,
   1050	},
   1051	{
   1052	.key =
   1053	"\x04\x40\x05\x91\xa9\x7d\xcb\x87\xdc\x98\xa1\xbf\xff\xdd\x20\x61"
   1054	"\xaa\x58\x3b\x2d\x8e\x9c\x41\x9d\x4f\xc6\x23\x17\xf9\xca\x60\x65"
   1055	"\xbc\x97\x97\xf6\x6b\x24\xe8\xac\xb1\xa7\x61\x29\x3c\x71\xdc\xad"
   1056	"\xcb\x20\xbe\x96\xe8\xf4\x44\x2e\x49\xd5\x2c\xb9\xc9\x3b\x9c\xaa"
   1057	"\xba\x15",
   1058	.key_len = 66,
   1059	.params = /* OID_gostCPSignC */
   1060	"\x30\x13\x06\x07\x2a\x85\x03\x02\x02\x23\x03\x06\x08\x2a\x85\x03"
   1061	"\x07\x01\x01\x02\x02",
   1062	.param_len = 21,
   1063	.c =
   1064	"\x3b\x2e\x2e\x74\x74\x47\xda\xea\x93\x90\x6a\xe2\xf5\xf5\xe6\x46"
   1065	"\x11\xfc\xab\xdc\x52\xbc\x58\xdb\x45\x44\x12\x4a\xf7\xd0\xab\xc9"
   1066	"\x73\xba\x64\xab\x0d\xac\x4e\x72\x10\xa8\x04\xf6\x1e\xe0\x48\x6a"
   1067	"\xcd\xe8\xe3\x78\x73\x77\x82\x24\x8d\xf1\xd3\xeb\x4c\x25\x7e\xc0",
   1068	.c_size = 64,
   1069	.algo = OID_gost2012PKey256,
   1070	.m =
   1071	"\x52\x33\xf4\x3f\x7b\x5d\xcf\x20\xee\xe4\x5c\xab\x0b\x3f\x14\xd6"
   1072	"\x9f\x16\xc6\x1c\xb1\x3f\x84\x41\x69\xec\x34\xfd\xf1\xf9\xa3\x39",
   1073	.m_size = 32,
   1074	.public_key_vec = true,
   1075	.siggen_sigver_test = true,
   1076	},
   1077	{
   1078	.key =
   1079	"\x04\x81\x80\x85\x46\x8f\x16\xf8\x7a\x7e\x4a\xc3\x81\x9e\xf1\x6e"
   1080	"\x94\x1e\x5d\x02\x87\xea\xfa\xa0\x0a\x17\x70\x49\x64\xad\x95\x68"
   1081	"\x60\x0a\xf0\x57\x29\x41\x79\x30\x3c\x61\x69\xf2\xa6\x94\x87\x17"
   1082	"\x54\xfa\x97\x2c\xe6\x1e\x0a\xbb\x55\x10\x57\xbe\xf7\xc1\x77\x2b"
   1083	"\x11\x74\x0a\x50\x37\x14\x10\x2a\x45\xfc\x7a\xae\x1c\x4c\xce\x08"
   1084	"\x05\xb7\xa4\x50\xc8\x3d\x39\x3d\xdc\x5c\x8f\x96\x6c\xe7\xfc\x21"
   1085	"\xc3\x2d\x1e\x9f\x11\xb3\xec\x22\x18\x8a\x8c\x08\x6b\x8b\xed\xf5"
   1086	"\xc5\x47\x3c\x7e\x73\x59\x44\x1e\x77\x83\x84\x52\x9e\x3b\x7d\xff"
   1087	"\x9d\x86\x1a",
   1088	.key_len = 131,
   1089	.params = /* OID_gostTC26Sign512A */
   1090	"\x30\x0b\x06\x09\x2a\x85\x03\x07\x01\x02\x01\x02\x01",
   1091	.param_len = 13,
   1092	.c =
   1093	"\x92\x81\x74\x5f\x95\x48\x38\x87\xd9\x8f\x5e\xc8\x8a\xbb\x01\x4e"
   1094	"\xb0\x75\x3c\x2f\xc7\x5a\x08\x4c\x68\xab\x75\x01\x32\x75\x75\xb5"
   1095	"\x37\xe0\x74\x6d\x94\x84\x31\x2a\x6b\xf4\xf7\xb7\xa7\x39\x7b\x46"
   1096	"\x07\xf0\x98\xbd\x33\x18\xa1\x72\xb2\x6d\x54\xe3\xde\x91\xc2\x2e"
   1097	"\x4f\x6a\xf8\xb7\xec\xa8\x83\xc9\x8f\xd9\xce\x7c\x45\x06\x02\xf4"
   1098	"\x4f\x21\xb5\x24\x3d\xb4\xb5\xd8\x58\x42\xbe\x2d\x29\xae\x93\xc0"
   1099	"\x13\x41\x96\x35\x08\x69\xe8\x36\xc7\xd1\x83\x81\xd7\xca\xfb\xc0"
   1100	"\xd2\xb7\x78\x32\x3e\x30\x1a\x1e\xce\xdc\x34\x35\xc6\xad\x68\x24",
   1101	.c_size = 128,
   1102	.algo = OID_gost2012PKey512,
   1103	.m =
   1104	"\x1f\x70\xb5\xe9\x55\x12\xd6\x88\xcc\x55\xb9\x0c\x7f\xc4\x94\xf2"
   1105	"\x04\x77\x41\x12\x02\xd6\xf1\x1f\x83\x56\xe9\xd6\x5a\x6a\x72\xb9"
   1106	"\x6e\x8e\x24\x2a\x84\xf1\xba\x67\xe8\xbf\xff\xc1\xd3\xde\xfb\xc6"
   1107	"\xa8\xf6\x80\x01\xb9\x27\xac\xd8\x45\x96\x66\xa1\xee\x48\x08\x3f",
   1108	.m_size = 64,
   1109	.public_key_vec = true,
   1110	.siggen_sigver_test = true,
   1111	},
   1112	{
   1113	.key =
   1114	"\x04\x81\x80\x28\xf3\x2b\x92\x04\x32\xea\x66\x20\xde\xa0\x2f\x74"
   1115	"\xbf\x2d\xf7\xb5\x30\x76\xb1\xc8\xee\x38\x9f\xea\xe5\xad\xc6\xa3"
   1116	"\x28\x1e\x51\x3d\x67\xa3\x41\xcc\x6b\x81\xe2\xe2\x9e\x82\xf3\x78"
   1117	"\x56\xd7\x2e\xb2\xb5\xbe\xb4\x50\x21\x05\xe5\x29\x82\xef\x15\x1b"
   1118	"\xc0\xd7\x30\xd6\x2f\x96\xe8\xff\x99\x4c\x25\xcf\x9a\xfc\x54\x30"
   1119	"\xce\xdf\x59\xe9\xc6\x45\xce\xe4\x22\xe8\x01\xd5\xcd\x2f\xaa\x78"
   1120	"\x99\xc6\x04\x1e\x6f\x4c\x25\x6a\x76\xad\xff\x48\xf3\xb3\xb4\xd6"
   1121	"\x14\x5c\x2c\x0e\xea\xa2\x4b\xb9\x7e\x89\x77\x02\x3a\x29\xc8\x16"
   1122	"\x8e\x78\x48",
   1123	.key_len = 131,
   1124	.params = /* OID_gostTC26Sign512B */
   1125	"\x30\x0b\x06\x09\x2a\x85\x03\x07\x01\x02\x01\x02\x02",
   1126	.param_len = 13,
   1127	.c =
   1128	"\x0a\xed\xb6\x27\xea\xa7\xa6\x7e\x2f\xc1\x02\x21\x74\xce\x27\xd2"
   1129	"\xee\x8a\x92\x4d\xa9\x43\x2d\xa4\x5b\xdc\x23\x02\xfc\x3a\xf3\xb2"
   1130	"\x10\x93\x0b\x40\x1b\x75\x95\x3e\x39\x41\x37\xb9\xab\x51\x09\xeb"
   1131	"\xf1\xb9\x49\x58\xec\x58\xc7\xf9\x2e\xb9\xc9\x40\xf2\x00\x39\x7e"
   1132	"\x3f\xde\x72\xe3\x85\x67\x06\xbe\xd8\xb8\xc1\x81\x1e\xe3\x0a\xfe"
   1133	"\xce\xd3\x77\x92\x56\x8c\x58\xf9\x37\x60\x2d\xe6\x8b\x66\xa3\xdd"
   1134	"\xd2\xf0\xf8\xda\x1b\x20\xbc\x9c\xec\x29\x5d\xd1\x8f\xcc\x37\xd1"
   1135	"\x3b\x8d\xb7\xc1\xe0\xb8\x3b\xef\x14\x1b\x87\xbc\xc1\x03\x9a\x93",
   1136	.c_size = 128,
   1137	.algo = OID_gost2012PKey512,
   1138	.m =
   1139	"\x11\x24\x21\x27\xf2\x42\x9f\xce\x5a\xf9\x01\x70\xe0\x07\x2b\x57"
   1140	"\xfb\x7d\x77\x5e\x74\x66\xe6\xa5\x40\x4c\x1a\x85\x18\xff\xd0\x63"
   1141	"\xe0\x39\xd3\xd6\xe5\x17\xf8\xc3\x4b\xc6\x1c\x33\x1a\xca\xa6\x66"
   1142	"\x6d\xf4\xd2\x45\xc2\x83\xa0\x42\x95\x05\x9d\x89\x8e\x0a\xca\xcc",
   1143	.m_size = 64,
   1144	.public_key_vec = true,
   1145	.siggen_sigver_test = true,
   1146	},
   1147};
   1148
   1149/*
   1150 * PKCS#1 RSA test vectors. Obtained from CAVS testing.
   1151 */
   1152static const struct akcipher_testvec pkcs1pad_rsa_tv_template[] = {
   1153	{
   1154	.key =
   1155	"\x30\x82\x03\x1f\x02\x01\x00\x02\x82\x01\x01\x00\xd7\x1e\x77\x82"
   1156	"\x8c\x92\x31\xe7\x69\x02\xa2\xd5\x5c\x78\xde\xa2\x0c\x8f\xfe\x28"
   1157	"\x59\x31\xdf\x40\x9c\x60\x61\x06\xb9\x2f\x62\x40\x80\x76\xcb\x67"
   1158	"\x4a\xb5\x59\x56\x69\x17\x07\xfa\xf9\x4c\xbd\x6c\x37\x7a\x46\x7d"
   1159	"\x70\xa7\x67\x22\xb3\x4d\x7a\x94\xc3\xba\x4b\x7c\x4b\xa9\x32\x7c"
   1160	"\xb7\x38\x95\x45\x64\xa4\x05\xa8\x9f\x12\x7c\x4e\xc6\xc8\x2d\x40"
   1161	"\x06\x30\xf4\x60\xa6\x91\xbb\x9b\xca\x04\x79\x11\x13\x75\xf0\xae"
   1162	"\xd3\x51\x89\xc5\x74\xb9\xaa\x3f\xb6\x83\xe4\x78\x6b\xcd\xf9\x5c"
   1163	"\x4c\x85\xea\x52\x3b\x51\x93\xfc\x14\x6b\x33\x5d\x30\x70\xfa\x50"
   1164	"\x1b\x1b\x38\x81\x13\x8d\xf7\xa5\x0c\xc0\x8e\xf9\x63\x52\x18\x4e"
   1165	"\xa9\xf9\xf8\x5c\x5d\xcd\x7a\x0d\xd4\x8e\x7b\xee\x91\x7b\xad\x7d"
   1166	"\xb4\x92\xd5\xab\x16\x3b\x0a\x8a\xce\x8e\xde\x47\x1a\x17\x01\x86"
   1167	"\x7b\xab\x99\xf1\x4b\x0c\x3a\x0d\x82\x47\xc1\x91\x8c\xbb\x2e\x22"
   1168	"\x9e\x49\x63\x6e\x02\xc1\xc9\x3a\x9b\xa5\x22\x1b\x07\x95\xd6\x10"
   1169	"\x02\x50\xfd\xfd\xd1\x9b\xbe\xab\xc2\xc0\x74\xd7\xec\x00\xfb\x11"
   1170	"\x71\xcb\x7a\xdc\x81\x79\x9f\x86\x68\x46\x63\x82\x4d\xb7\xf1\xe6"
   1171	"\x16\x6f\x42\x63\xf4\x94\xa0\xca\x33\xcc\x75\x13\x02\x82\x01\x00"
   1172	"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
   1173	"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
   1174	"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
   1175	"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
   1176	"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
   1177	"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
   1178	"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
   1179	"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
   1180	"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
   1181	"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
   1182	"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
   1183	"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
   1184	"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
   1185	"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
   1186	"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
   1187	"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01"
   1188	"\x02\x82\x01\x00\x62\xb5\x60\x31\x4f\x3f\x66\x16\xc1\x60\xac\x47"
   1189	"\x2a\xff\x6b\x69\x00\x4a\xb2\x5c\xe1\x50\xb9\x18\x74\xa8\xe4\xdc"
   1190	"\xa8\xec\xcd\x30\xbb\xc1\xc6\xe3\xc6\xac\x20\x2a\x3e\x5e\x8b\x12"
   1191	"\xe6\x82\x08\x09\x38\x0b\xab\x7c\xb3\xcc\x9c\xce\x97\x67\xdd\xef"
   1192	"\x95\x40\x4e\x92\xe2\x44\xe9\x1d\xc1\x14\xfd\xa9\xb1\xdc\x71\x9c"
   1193	"\x46\x21\xbd\x58\x88\x6e\x22\x15\x56\xc1\xef\xe0\xc9\x8d\xe5\x80"
   1194	"\x3e\xda\x7e\x93\x0f\x52\xf6\xf5\xc1\x91\x90\x9e\x42\x49\x4f\x8d"
   1195	"\x9c\xba\x38\x83\xe9\x33\xc2\x50\x4f\xec\xc2\xf0\xa8\xb7\x6e\x28"
   1196	"\x25\x56\x6b\x62\x67\xfe\x08\xf1\x56\xe5\x6f\x0e\x99\xf1\xe5\x95"
   1197	"\x7b\xef\xeb\x0a\x2c\x92\x97\x57\x23\x33\x36\x07\xdd\xfb\xae\xf1"
   1198	"\xb1\xd8\x33\xb7\x96\x71\x42\x36\xc5\xa4\xa9\x19\x4b\x1b\x52\x4c"
   1199	"\x50\x69\x91\xf0\x0e\xfa\x80\x37\x4b\xb5\xd0\x2f\xb7\x44\x0d\xd4"
   1200	"\xf8\x39\x8d\xab\x71\x67\x59\x05\x88\x3d\xeb\x48\x48\x33\x88\x4e"
   1201	"\xfe\xf8\x27\x1b\xd6\x55\x60\x5e\x48\xb7\x6d\x9a\xa8\x37\xf9\x7a"
   1202	"\xde\x1b\xcd\x5d\x1a\x30\xd4\xe9\x9e\x5b\x3c\x15\xf8\x9c\x1f\xda"
   1203	"\xd1\x86\x48\x55\xce\x83\xee\x8e\x51\xc7\xde\x32\x12\x47\x7d\x46"
   1204	"\xb8\x35\xdf\x41\x02\x01\x00\x02\x01\x00\x02\x01\x00\x02\x01\x00"
   1205	"\x02\x01\x00",
   1206	.key_len = 803,
   1207	/*
   1208	 * m is SHA256 hash of following message:
   1209	 * "\x49\x41\xbe\x0a\x0c\xc9\xf6\x35\x51\xe4\x27\x56\x13\x71\x4b\xd0"
   1210	 * "\x36\x92\x84\x89\x1b\xf8\x56\x4a\x72\x61\x14\x69\x4f\x5e\x98\xa5"
   1211	 * "\x80\x5a\x37\x51\x1f\xd8\xf5\xb5\x63\xfc\xf4\xb1\xbb\x4d\x33\xa3"
   1212	 * "\x1e\xb9\x75\x8b\x9c\xda\x7e\x6d\x3a\x77\x85\xf7\xfc\x4e\xe7\x64"
   1213	 * "\x43\x10\x19\xa0\x59\xae\xe0\xad\x4b\xd3\xc4\x45\xf7\xb1\xc2\xc1"
   1214	 * "\x65\x01\x41\x39\x5b\x45\x47\xed\x2b\x51\xed\xe3\xd0\x09\x10\xd2"
   1215	 * "\x39\x6c\x4a\x3f\xe5\xd2\x20\xe6\xb0\x71\x7d\x5b\xed\x26\x60\xf1"
   1216	 * "\xb4\x73\xd1\xdb\x7d\xc4\x19\x91\xee\xf6\x32\x76\xf2\x19\x7d\xb7"
   1217	 */
   1218	.m =
   1219	"\x3e\xc8\xa1\x26\x20\x54\x44\x52\x48\x0d\xe5\x66\xf3\xb3\xf5\x04"
   1220	"\xbe\x10\xa8\x48\x94\x22\x2d\xdd\xba\x7a\xb4\x76\x8d\x79\x98\x89",
   1221	.m_size = 32,
   1222	.c =
   1223	"\xc7\xa3\x98\xeb\x43\xd1\x08\xc2\x3d\x78\x45\x04\x70\xc9\x01\xee"
   1224	"\xf8\x85\x37\x7c\x0b\xf9\x19\x70\x5c\x45\x7b\x2f\x3a\x0b\xb7\x8b"
   1225	"\xc4\x0d\x7b\x3a\x64\x0b\x0f\xdb\x78\xa9\x0b\xfd\x8d\x82\xa4\x86"
   1226	"\x39\xbf\x21\xb8\x84\xc4\xce\x9f\xc2\xe8\xb6\x61\x46\x17\xb9\x4e"
   1227	"\x0b\x57\x05\xb4\x4f\xf9\x9c\x93\x2d\x9b\xd5\x48\x1d\x80\x12\xef"
   1228	"\x3a\x77\x7f\xbc\xb5\x8e\x2b\x6b\x7c\xfc\x9f\x8c\x9d\xa2\xc4\x85"
   1229	"\xb0\x87\xe9\x17\x9b\xb6\x23\x62\xd2\xa9\x9f\x57\xe8\xf7\x04\x45"
   1230	"\x24\x3a\x45\xeb\xeb\x6a\x08\x8e\xaf\xc8\xa0\x84\xbc\x5d\x13\x38"
   1231	"\xf5\x17\x8c\xa3\x96\x9b\xa9\x38\x8d\xf0\x35\xad\x32\x8a\x72\x5b"
   1232	"\xdf\x21\xab\x4b\x0e\xa8\x29\xbb\x61\x54\xbf\x05\xdb\x84\x84\xde"
   1233	"\xdd\x16\x36\x31\xda\xf3\x42\x6d\x7a\x90\x22\x9b\x11\x29\xa6\xf8"
   1234	"\x30\x61\xda\xd3\x8b\x54\x1e\x42\xd1\x47\x1d\x6f\xd1\xcd\x42\x0b"
   1235	"\xd1\xe4\x15\x85\x7e\x08\xd6\x59\x64\x4c\x01\x34\x91\x92\x26\xe8"
   1236	"\xb0\x25\x8c\xf8\xf4\xfa\x8b\xc9\x31\x33\x76\x72\xfb\x64\x92\x9f"
   1237	"\xda\x62\x8d\xe1\x2a\x71\x91\x43\x40\x61\x3c\x5a\xbe\x86\xfc\x5b"
   1238	"\xe6\xf9\xa9\x16\x31\x1f\xaf\x25\x6d\xc2\x4a\x23\x6e\x63\x02\xa2",
   1239	.c_size = 256,
   1240	.siggen_sigver_test = true,
   1241	}
   1242};
   1243
   1244static const struct kpp_testvec dh_tv_template[] = {
   1245	{
   1246	.secret =
   1247#ifdef __LITTLE_ENDIAN
   1248	"\x01\x00" /* type */
   1249	"\x11\x02" /* len */
   1250	"\x00\x01\x00\x00" /* key_size */
   1251	"\x00\x01\x00\x00" /* p_size */
   1252	"\x01\x00\x00\x00" /* g_size */
   1253#else
   1254	"\x00\x01" /* type */
   1255	"\x02\x11" /* len */
   1256	"\x00\x00\x01\x00" /* key_size */
   1257	"\x00\x00\x01\x00" /* p_size */
   1258	"\x00\x00\x00\x01" /* g_size */
   1259#endif
   1260	/* xa */
   1261	"\x44\xc1\x48\x36\xa7\x2b\x6f\x4e\x43\x03\x68\xad\x31\x00\xda\xf3"
   1262	"\x2a\x01\xa8\x32\x63\x5f\x89\x32\x1f\xdf\x4c\xa1\x6a\xbc\x10\x15"
   1263	"\x90\x35\xc9\x26\x41\xdf\x7b\xaa\x56\x56\x3d\x85\x44\xb5\xc0\x8e"
   1264	"\x37\x83\x06\x50\xb3\x5f\x0e\x28\x2c\xd5\x46\x15\xe3\xda\x7d\x74"
   1265	"\x87\x13\x91\x4f\xd4\x2d\xf6\xc7\x5e\x14\x2c\x11\xc2\x26\xb4\x3a"
   1266	"\xe3\xb2\x36\x20\x11\x3b\x22\xf2\x06\x65\x66\xe2\x57\x58\xf8\x22"
   1267	"\x1a\x94\xbd\x2b\x0e\x8c\x55\xad\x61\x23\x45\x2b\x19\x1e\x63\x3a"
   1268	"\x13\x61\xe3\xa0\x79\x70\x3e\x6d\x98\x32\xbc\x7f\x82\xc3\x11\xd8"
   1269	"\xeb\x53\xb5\xfc\xb5\xd5\x3c\x4a\xea\x92\x3e\x01\xce\x15\x65\xd4"
   1270	"\xaa\x85\xc1\x11\x90\x83\x31\x6e\xfe\xe7\x7f\x7d\xed\xab\xf9\x29"
   1271	"\xf8\xc7\xf1\x68\xc6\xb7\xe4\x1f\x2f\x28\xa0\xc9\x1a\x50\x64\x29"
   1272	"\x4b\x01\x6d\x1a\xda\x46\x63\x21\x07\x40\x8c\x8e\x4c\x6f\xb5\xe5"
   1273	"\x12\xf3\xc2\x1b\x48\x27\x5e\x27\x01\xb1\xaa\xed\x68\x9b\x83\x18"
   1274	"\x8f\xb1\xeb\x1f\x04\xd1\x3c\x79\xed\x4b\xf7\x0a\x33\xdc\xe0\xc6"
   1275	"\xd8\x02\x51\x59\x00\x74\x30\x07\x4c\x2d\xac\xe4\x13\xf1\x80\xf0"
   1276	"\xce\xfa\xff\xa9\xce\x29\x46\xdd\x9d\xad\xd1\xc3\xc6\x58\x1a\x63"
   1277	/* p */
   1278	"\xb9\x36\x3a\xf1\x82\x1f\x60\xd3\x22\x47\xb8\xbc\x2d\x22\x6b\x81"
   1279	"\x7f\xe8\x20\x06\x09\x23\x73\x49\x9a\x59\x8b\x35\x25\xf8\x31\xbc"
   1280	"\x7d\xa8\x1c\x9d\x56\x0d\x1a\xf7\x4b\x4f\x96\xa4\x35\x77\x6a\x89"
   1281	"\xab\x42\x00\x49\x21\x71\xed\x28\x16\x1d\x87\x5a\x10\xa7\x9c\x64"
   1282	"\x94\xd4\x87\x3d\x28\xef\x44\xfe\x4b\xe2\xb4\x15\x8c\x82\xa6\xf3"
   1283	"\x50\x5f\xa8\xe8\xa2\x60\xe7\x00\x86\x78\x05\xd4\x78\x19\xa1\x98"
   1284	"\x62\x4e\x4a\x00\x78\x56\x96\xe6\xcf\xd7\x10\x1b\x74\x5d\xd0\x26"
   1285	"\x61\xdb\x6b\x32\x09\x51\xd8\xa5\xfd\x54\x16\x71\x01\xb3\x39\xe6"
   1286	"\x4e\x69\xb1\xd7\x06\x8f\xd6\x1e\xdc\x72\x25\x26\x74\xc8\x41\x06"
   1287	"\x5c\xd1\x26\x5c\xb0\x2f\xf9\x59\x13\xc1\x2a\x0f\x78\xea\x7b\xf7"
   1288	"\xbd\x59\xa0\x90\x1d\xfc\x33\x5b\x4c\xbf\x05\x9c\x3a\x3f\x69\xa2"
   1289	"\x45\x61\x4e\x10\x6a\xb3\x17\xc5\x68\x30\xfb\x07\x5f\x34\xc6\xfb"
   1290	"\x73\x07\x3c\x70\xf6\xae\xe7\x72\x84\xc3\x18\x81\x8f\xe8\x11\x1f"
   1291	"\x3d\x83\x83\x01\x2a\x14\x73\xbf\x32\x32\x2e\xc9\x4d\xdb\x2a\xca"
   1292	"\xee\x71\xf9\xda\xad\xe8\x82\x0b\x4d\x0c\x1f\xb6\x1d\xef\x00\x67"
   1293	"\x74\x3d\x95\xe0\xb7\xc4\x30\x8a\x24\x87\x12\x47\x27\x70\x0d\x73"
   1294	/* g */
   1295	"\x02",
   1296	.b_public =
   1297	"\x2a\x67\x5c\xfd\x63\x5d\xc0\x97\x0a\x8b\xa2\x1f\xf8\x8a\xcb\x54"
   1298	"\xca\x2f\xd3\x49\x3f\x01\x8e\x87\xfe\xcc\x94\xa0\x3e\xd4\x26\x79"
   1299	"\x9a\x94\x3c\x11\x81\x58\x5c\x60\x3d\xf5\x98\x90\x89\x64\x62\x1f"
   1300	"\xbd\x05\x6d\x2b\xcd\x84\x40\x9b\x4a\x1f\xe0\x19\xf1\xca\x20\xb3"
   1301	"\x4e\xa0\x4f\x15\xcc\xa5\xfe\xa5\xb4\xf5\x0b\x18\x7a\x5a\x37\xaa"
   1302	"\x58\x00\x19\x7f\xe2\xa3\xd9\x1c\x44\x57\xcc\xde\x2e\xc1\x38\xea"
   1303	"\xeb\xe3\x90\x40\xc4\x6c\xf7\xcd\xe9\x22\x50\x71\xf5\x7c\xdb\x37"
   1304	"\x0e\x80\xc3\xed\x7e\xb1\x2b\x2f\xbe\x71\xa6\x11\xa5\x9d\xf5\x39"
   1305	"\xf1\xa2\xe5\x85\xbc\x25\x91\x4e\x84\x8d\x26\x9f\x4f\xe6\x0f\xa6"
   1306	"\x2b\x6b\xf9\x0d\xaf\x6f\xbb\xfa\x2d\x79\x15\x31\x57\xae\x19\x60"
   1307	"\x22\x0a\xf5\xfd\x98\x0e\xbf\x5d\x49\x75\x58\x37\xbc\x7f\xf5\x21"
   1308	"\x56\x1e\xd5\xb3\x50\x0b\xca\x96\xf3\xd1\x3f\xb3\x70\xa8\x6d\x63"
   1309	"\x48\xfb\x3d\xd7\x29\x91\x45\xb5\x48\xcd\xb6\x78\x30\xf2\x3f\x1e"
   1310	"\xd6\x22\xd6\x35\x9b\xf9\x1f\x85\xae\xab\x4b\xd7\xe0\xc7\x86\x67"
   1311	"\x3f\x05\x7f\xa6\x0d\x2f\x0d\xbf\x53\x5f\x4d\x2c\x6d\x5e\x57\x40"
   1312	"\x30\x3a\x23\x98\xf9\xb4\x32\xf5\x32\x83\xdd\x0b\xae\x33\x97\x2f",
   1313	.expected_a_public =
   1314	"\x5c\x24\xdf\xeb\x5b\x4b\xf8\xc5\xef\x39\x48\x82\xe0\x1e\x62\xee"
   1315	"\x8a\xae\xdf\x93\x6c\x2b\x16\x95\x92\x16\x3f\x16\x7b\x75\x03\x85"
   1316	"\xd9\xf1\x69\xc2\x14\x87\x45\xfc\xa4\x19\xf6\xf0\xa4\xf3\xec\xd4"
   1317	"\x6c\x5c\x03\x3b\x94\xc2\x2f\x92\xe4\xce\xb3\xe4\x72\xe8\x17\xe6"
   1318	"\x23\x7e\x00\x01\x09\x59\x13\xbf\xc1\x2f\x99\xa9\x07\xaa\x02\x23"
   1319	"\x4a\xca\x39\x4f\xbc\xec\x0f\x27\x4f\x19\x93\x6c\xb9\x30\x52\xfd"
   1320	"\x2b\x9d\x86\xf1\x06\x1e\xb6\x56\x27\x4a\xc9\x8a\xa7\x8a\x48\x5e"
   1321	"\xb5\x60\xcb\xdf\xff\x03\x26\x10\xbf\x90\x8f\x46\x60\xeb\x9b\x9a"
   1322	"\xd6\x6f\x44\x91\x03\x92\x18\x2c\x96\x5e\x40\x19\xfb\xf4\x4f\x3a"
   1323	"\x02\x7b\xaf\xcc\x22\x20\x79\xb9\xf8\x9f\x8f\x85\x6b\xec\x44\xbb"
   1324	"\xe6\xa8\x8e\xb1\xe8\x2c\xee\x64\xee\xf8\xbd\x00\xf3\xe2\x2b\x93"
   1325	"\xcd\xe7\xc4\xdf\xc9\x19\x46\xfe\xb6\x07\x73\xc1\x8a\x64\x79\x26"
   1326	"\xe7\x30\xad\x2a\xdf\xe6\x8f\x59\xf5\x81\xbf\x4a\x29\x91\xe7\xb7"
   1327	"\xcf\x48\x13\x27\x75\x79\x40\xd9\xd6\x32\x52\x4e\x6a\x86\xae\x6f"
   1328	"\xc2\xbf\xec\x1f\xc2\x69\xb2\xb6\x59\xe5\xa5\x17\xa4\x77\xb7\x62"
   1329	"\x46\xde\xe8\xd2\x89\x78\x9a\xef\xa3\xb5\x8f\x26\xec\x80\xda\x39",
   1330	.expected_ss =
   1331	"\x8f\xf3\xac\xa2\xea\x22\x11\x5c\x45\x65\x1a\x77\x75\x2e\xcf\x46"
   1332	"\x23\x14\x1e\x67\x53\x4d\x35\xb0\x38\x1d\x4e\xb9\x41\x9a\x21\x24"
   1333	"\x6e\x9f\x40\xfe\x90\x51\xb1\x06\xa4\x7b\x87\x17\x2f\xe7\x5e\x22"
   1334	"\xf0\x7b\x54\x84\x0a\xac\x0a\x90\xd2\xd7\xe8\x7f\xe7\xe3\x30\x75"
   1335	"\x01\x1f\x24\x75\x56\xbe\xcc\x8d\x1e\x68\x0c\x41\x72\xd3\xfa\xbb"
   1336	"\xe5\x9c\x60\xc7\x28\x77\x0c\xbe\x89\xab\x08\xd6\x21\xe7\x2e\x1a"
   1337	"\x58\x7a\xca\x4f\x22\xf3\x2b\x30\xfd\xf4\x98\xc1\xa3\xf8\xf6\xcc"
   1338	"\xa9\xe4\xdb\x5b\xee\xd5\x5c\x6f\x62\x4c\xd1\x1a\x02\x2a\x23\xe4"
   1339	"\xb5\x57\xf3\xf9\xec\x04\x83\x54\xfe\x08\x5e\x35\xac\xfb\xa8\x09"
   1340	"\x82\x32\x60\x11\xb2\x16\x62\x6b\xdf\xda\xde\x9c\xcb\x63\x44\x6c"
   1341	"\x59\x26\x6a\x8f\xb0\x24\xcb\xa6\x72\x48\x1e\xeb\xe0\xe1\x09\x44"
   1342	"\xdd\xee\x66\x6d\x84\xcf\xa5\xc1\xb8\x36\x74\xd3\x15\x96\xc3\xe4"
   1343	"\xc6\x5a\x4d\x23\x97\x0c\x5c\xcb\xa9\xf5\x29\xc2\x0e\xff\x93\x82"
   1344	"\xd3\x34\x49\xad\x64\xa6\xb1\xc0\x59\x28\x75\x60\xa7\x8a\xb0\x11"
   1345	"\x56\x89\x42\x74\x11\xf5\xf6\x5e\x6f\x16\x54\x6a\xb1\x76\x4d\x50"
   1346	"\x8a\x68\xc1\x5b\x82\xb9\x0d\x00\x32\x50\xed\x88\x87\x48\x92\x17",
   1347	.secret_size = 529,
   1348	.b_public_size = 256,
   1349	.expected_a_public_size = 256,
   1350	.expected_ss_size = 256,
   1351	},
   1352	{
   1353	.secret =
   1354#ifdef __LITTLE_ENDIAN
   1355	"\x01\x00" /* type */
   1356	"\x11\x02" /* len */
   1357	"\x00\x01\x00\x00" /* key_size */
   1358	"\x00\x01\x00\x00" /* p_size */
   1359	"\x01\x00\x00\x00" /* g_size */
   1360#else
   1361	"\x00\x01" /* type */
   1362	"\x02\x11" /* len */
   1363	"\x00\x00\x01\x00" /* key_size */
   1364	"\x00\x00\x01\x00" /* p_size */
   1365	"\x00\x00\x00\x01" /* g_size */
   1366#endif
   1367	/* xa */
   1368	"\x4d\x75\xa8\x6e\xba\x23\x3a\x0c\x63\x56\xc8\xc9\x5a\xa7\xd6\x0e"
   1369	"\xed\xae\x40\x78\x87\x47\x5f\xe0\xa7\x7b\xba\x84\x88\x67\x4e\xe5"
   1370	"\x3c\xcc\x5c\x6a\xe7\x4a\x20\xec\xbe\xcb\xf5\x52\x62\x9f\x37\x80"
   1371	"\x0c\x72\x7b\x83\x66\xa4\xf6\x7f\x95\x97\x1c\x6a\x5c\x7e\xf1\x67"
   1372	"\x37\xb3\x93\x39\x3d\x0b\x55\x35\xd9\xe5\x22\x04\x9f\xf8\xc1\x04"
   1373	"\xce\x13\xa5\xac\xe1\x75\x05\xd1\x2b\x53\xa2\x84\xef\xb1\x18\xf4"
   1374	"\x66\xdd\xea\xe6\x24\x69\x5a\x49\xe0\x7a\xd8\xdf\x1b\xb7\xf1\x6d"
   1375	"\x9b\x50\x2c\xc8\x1c\x1c\xa3\xb4\x37\xfb\x66\x3f\x67\x71\x73\xa9"
   1376	"\xff\x5f\xd9\xa2\x25\x6e\x25\x1b\x26\x54\xbf\x0c\xc6\xdb\xea\x0a"
   1377	"\x52\x6c\x16\x7c\x27\x68\x15\x71\x58\x73\x9d\xe6\xc2\x80\xaa\x97"
   1378	"\x31\x66\xfb\xa6\xfb\xfd\xd0\x9c\x1d\xbe\x81\x48\xf5\x9a\x32\xf1"
   1379	"\x69\x62\x18\x78\xae\x72\x36\xe6\x94\x27\xd1\xff\x18\x4f\x28\x6a"
   1380	"\x16\xbd\x6a\x60\xee\xe5\xf9\x6d\x16\xe4\xb8\xa6\x41\x9b\x23\x7e"
   1381	"\xf7\x9d\xd1\x1d\x03\x15\x66\x3a\xcf\xb6\x2c\x13\x96\x2c\x52\x21"
   1382	"\xe4\x2d\x48\x7a\x8a\x5d\xb2\x88\xed\x98\x61\x79\x8b\x6a\x1e\x5f"
   1383	"\xd0\x8a\x2d\x99\x5a\x2b\x0f\xbc\xef\x53\x8f\x32\xc1\xa2\x99\x26"
   1384	/* p */
   1385	"\xb9\x36\x3a\xf1\x82\x1f\x60\xd3\x22\x47\xb8\xbc\x2d\x22\x6b\x81"
   1386	"\x7f\xe8\x20\x06\x09\x23\x73\x49\x9a\x59\x8b\x35\x25\xf8\x31\xbc"
   1387	"\x7d\xa8\x1c\x9d\x56\x0d\x1a\xf7\x4b\x4f\x96\xa4\x35\x77\x6a\x89"
   1388	"\xab\x42\x00\x49\x21\x71\xed\x28\x16\x1d\x87\x5a\x10\xa7\x9c\x64"
   1389	"\x94\xd4\x87\x3d\x28\xef\x44\xfe\x4b\xe2\xb4\x15\x8c\x82\xa6\xf3"
   1390	"\x50\x5f\xa8\xe8\xa2\x60\xe7\x00\x86\x78\x05\xd4\x78\x19\xa1\x98"
   1391	"\x62\x4e\x4a\x00\x78\x56\x96\xe6\xcf\xd7\x10\x1b\x74\x5d\xd0\x26"
   1392	"\x61\xdb\x6b\x32\x09\x51\xd8\xa5\xfd\x54\x16\x71\x01\xb3\x39\xe6"
   1393	"\x4e\x69\xb1\xd7\x06\x8f\xd6\x1e\xdc\x72\x25\x26\x74\xc8\x41\x06"
   1394	"\x5c\xd1\x26\x5c\xb0\x2f\xf9\x59\x13\xc1\x2a\x0f\x78\xea\x7b\xf7"
   1395	"\xbd\x59\xa0\x90\x1d\xfc\x33\x5b\x4c\xbf\x05\x9c\x3a\x3f\x69\xa2"
   1396	"\x45\x61\x4e\x10\x6a\xb3\x17\xc5\x68\x30\xfb\x07\x5f\x34\xc6\xfb"
   1397	"\x73\x07\x3c\x70\xf6\xae\xe7\x72\x84\xc3\x18\x81\x8f\xe8\x11\x1f"
   1398	"\x3d\x83\x83\x01\x2a\x14\x73\xbf\x32\x32\x2e\xc9\x4d\xdb\x2a\xca"
   1399	"\xee\x71\xf9\xda\xad\xe8\x82\x0b\x4d\x0c\x1f\xb6\x1d\xef\x00\x67"
   1400	"\x74\x3d\x95\xe0\xb7\xc4\x30\x8a\x24\x87\x12\x47\x27\x70\x0d\x73"
   1401	/* g */
   1402	"\x02",
   1403	.b_public =
   1404	"\x99\x4d\xd9\x01\x84\x8e\x4a\x5b\xb8\xa5\x64\x8c\x6c\x00\x5c\x0e"
   1405	"\x1e\x1b\xee\x5d\x9f\x53\xe3\x16\x70\x01\xed\xbf\x4f\x14\x36\x6e"
   1406	"\xe4\x43\x45\x43\x49\xcc\xb1\xb0\x2a\xc0\x6f\x22\x55\x42\x17\x94"
   1407	"\x18\x83\xd7\x2a\x5c\x51\x54\xf8\x4e\x7c\x10\xda\x76\x68\x57\x77"
   1408	"\x1e\x62\x03\x30\x04\x7b\x4c\x39\x9c\x54\x01\x54\xec\xef\xb3\x55"
   1409	"\xa4\xc0\x24\x6d\x3d\xbd\xcc\x46\x5b\x00\x96\xc7\xea\x93\xd1\x3f"
   1410	"\xf2\x6a\x72\xe3\xf2\xc1\x92\x24\x5b\xda\x48\x70\x2c\xa9\x59\x97"
   1411	"\x19\xb1\xd6\x54\xb3\x9c\x2e\xb0\x63\x07\x9b\x5e\xac\xb5\xf2\xb1"
   1412	"\x5b\xf8\xf3\xd7\x2d\x37\x9b\x68\x6c\xf8\x90\x07\xbc\x37\x9a\xa5"
   1413	"\xe2\x91\x12\x25\x47\x77\xe3\x3d\xb2\x95\x69\x44\x0b\x91\x1e\xaf"
   1414	"\x7c\x8c\x7c\x34\x41\x6a\xab\x60\x6e\xc6\x52\xec\x7e\x94\x0a\x37"
   1415	"\xec\x98\x90\xdf\x3f\x02\xbd\x23\x52\xdd\xd9\xe5\x31\x80\x74\x25"
   1416	"\xb6\xd2\xd3\xcc\xd5\xcc\x6d\xf9\x7e\x4d\x78\xab\x77\x51\xfa\x77"
   1417	"\x19\x94\x49\x8c\x05\xd4\x75\xed\xd2\xb3\x64\x57\xe0\x52\x99\xc0"
   1418	"\x83\xe3\xbb\x5e\x2b\xf1\xd2\xc0\xb1\x37\x36\x0b\x7c\xb5\x63\x96"
   1419	"\x8e\xde\x04\x23\x11\x95\x62\x11\x9a\xce\x6f\x63\xc8\xd5\xd1\x8f",
   1420	.expected_a_public =
   1421	"\x90\x89\xe4\x82\xd6\x0a\xcf\x1a\xae\xce\x1b\x66\xa7\x19\x71\x18"
   1422	"\x8f\x95\x4b\x5b\x80\x45\x4a\x5a\x43\x99\x4d\x37\xcf\xa3\xa7\x28"
   1423	"\x9c\xc7\x73\xf1\xb2\x17\xf6\x99\xe3\x6b\x56\xcb\x3e\x35\x60\x7d"
   1424	"\x65\xc7\x84\x6b\x3e\x60\xee\xcd\xd2\x70\xe7\xc9\x32\x1c\xf0\xb4"
   1425	"\xf9\x52\xd9\x88\x75\xfd\x40\x2c\xa7\xbe\x19\x1c\x0a\xae\x93\xe1"
   1426	"\x71\xc7\xcd\x4f\x33\x5c\x10\x7d\x39\x56\xfc\x73\x84\xb2\x67\xc3"
   1427	"\x77\x26\x20\x97\x2b\xf8\x13\x43\x93\x9c\x9a\xa4\x08\xc7\x34\x83"
   1428	"\xe6\x98\x61\xe7\x16\x30\x2c\xb1\xdb\x2a\xb2\xcc\xc3\x02\xa5\x3c"
   1429	"\x71\x50\x14\x83\xc7\xbb\xa4\xbe\x98\x1b\xfe\xcb\x43\xe9\x97\x62"
   1430	"\xd6\xf0\x8c\xcb\x1c\xba\x1e\xa8\xa6\xa6\x50\xfc\x85\x7d\x47\xbf"
   1431	"\xf4\x3e\x23\xd3\x5f\xb2\x71\x3e\x40\x94\xaa\x87\x83\x2c\x6c\x8e"
   1432	"\x60\xfd\xdd\xf7\xf4\x76\x03\xd3\x1d\xec\x18\x51\xa3\xf2\x44\x1a"
   1433	"\x3f\xb4\x7c\x18\x0d\x68\x65\x92\x54\x0d\x2d\x81\x16\xf1\x84\x66"
   1434	"\x89\x92\xd0\x1a\x5e\x1f\x42\x46\x5b\xe5\x83\x86\x80\xd9\xcd\x3a"
   1435	"\x5a\x2f\xb9\x59\x9b\xe4\x43\x84\x64\xf3\x09\x1a\x0a\xa2\x64\x0f"
   1436	"\x77\x4e\x8d\x8b\xe6\x88\xd1\xfc\xaf\x8f\xdf\x1d\xbc\x31\xb3\xbd",
   1437	.expected_ss =
   1438	"\x34\xc3\x35\x14\x88\x46\x26\x23\x97\xbb\xdd\x28\x5c\x94\xf6\x47"
   1439	"\xca\xb3\x19\xaf\xca\x44\x9b\xc2\x7d\x89\xfd\x96\x14\xfd\x6d\x58"
   1440	"\xd8\xc4\x6b\x61\x2a\x0d\xf2\x36\x45\xc8\xe4\xa4\xed\x81\x53\x81"
   1441	"\x66\x1e\xe0\x5a\xb1\x78\x2d\x0b\x5c\xb4\xd1\xfc\x90\xc6\x9c\xdb"
   1442	"\x5a\x30\x0b\x14\x7d\xbe\xb3\x7d\xb1\xb2\x76\x3c\x6c\xef\x74\x6b"
   1443	"\xe7\x1f\x64\x0c\xab\x65\xe1\x76\x5c\x3d\x83\xb5\x8a\xfb\xaf\x0f"
   1444	"\xf2\x06\x14\x8f\xa0\xf6\xc1\x89\x78\xf2\xba\x72\x73\x3c\xf7\x76"
   1445	"\x21\x67\xbc\x24\x31\xb8\x09\x65\x0f\x0c\x02\x32\x4a\x98\x14\xfc"
   1446	"\x72\x2c\x25\x60\x68\x5f\x2f\x30\x1e\x5b\xf0\x3b\xd1\xa2\x87\xa0"
   1447	"\x54\xdf\xdb\xc0\xee\x0a\x0f\x47\xc9\x90\x20\x2c\xf9\xe3\x52\xad"
   1448	"\x27\x65\x8d\x54\x8d\xa8\xa1\xf3\xed\x15\xd4\x94\x28\x90\x31\x93"
   1449	"\x1b\xc0\x51\xbb\x43\x5d\x76\x3b\x1d\x2a\x71\x50\xea\x5d\x48\x94"
   1450	"\x7f\x6f\xf1\x48\xdb\x30\xe5\xae\x64\x79\xd9\x7a\xdb\xc6\xff\xd8"
   1451	"\x5e\x5a\x64\xbd\xf6\x85\x04\xe8\x28\x6a\xac\xef\xce\x19\x8e\x9a"
   1452	"\xfe\x75\xc0\x27\x69\xe3\xb3\x7b\x21\xa7\xb1\x16\xa4\x85\x23\xee"
   1453	"\xb0\x1b\x04\x6e\xbd\xab\x16\xde\xfd\x86\x6b\xa9\x95\xd7\x0b\xfd",
   1454	.secret_size = 529,
   1455	.b_public_size = 256,
   1456	.expected_a_public_size = 256,
   1457	.expected_ss_size = 256,
   1458	}
   1459};
   1460
   1461static const struct kpp_testvec ffdhe2048_dh_tv_template[] __maybe_unused = {
   1462	{
   1463	.secret =
   1464#ifdef __LITTLE_ENDIAN
   1465	"\x01\x00" /* type */
   1466	"\x10\x01" /* len */
   1467	"\x00\x01\x00\x00" /* key_size */
   1468	"\x00\x00\x00\x00" /* p_size */
   1469	"\x00\x00\x00\x00" /* g_size */
   1470#else
   1471	"\x00\x01" /* type */
   1472	"\x01\x10" /* len */
   1473	"\x00\x00\x01\x00" /* key_size */
   1474	"\x00\x00\x00\x00" /* p_size */
   1475	"\x00\x00\x00\x00" /* g_size */
   1476#endif
   1477	/* xa */
   1478	"\x23\x7d\xd0\x06\xfd\x7a\xe5\x7a\x08\xda\x98\x31\xc0\xb3\xd5\x85"
   1479	"\xe2\x0d\x2a\x91\x5f\x78\x4b\xa6\x62\xd0\xa6\x35\xd4\xef\x86\x39"
   1480	"\xf1\xdb\x71\x5e\xb0\x11\x2e\xee\x91\x3a\xaa\xf9\xe3\xdf\x8d\x8b"
   1481	"\x48\x41\xde\xe8\x78\x53\xc5\x5f\x93\xd2\x79\x0d\xbe\x8d\x83\xe8"
   1482	"\x8f\x00\xd2\xde\x13\x18\x04\x05\x20\x6d\xda\xfa\x1d\x0b\x24\x52"
   1483	"\x3a\x18\x2b\xe1\x1e\xae\x15\x3b\x0f\xaa\x09\x09\xf6\x01\x98\xe9"
   1484	"\x81\x5d\x6b\x83\x6e\x55\xf1\x5d\x6f\x6f\x0d\x9d\xa8\x72\x32\x63"
   1485	"\x60\xe6\x0b\xc5\x22\xe2\xf9\x46\x58\xa2\x1c\x2a\xb0\xd5\xaf\xe3"
   1486	"\x5b\x03\xb7\x36\xb7\xba\x55\x20\x08\x7c\x51\xd4\x89\x42\x9c\x14"
   1487	"\x23\xe2\x71\x3e\x15\x2a\x0d\x34\x8a\xde\xad\x84\x11\x15\x72\x18"
   1488	"\x42\x43\x0a\xe2\x58\x29\xb3\x90\x0f\x56\xd8\x8a\x0f\x0e\xbc\x0e"
   1489	"\x9c\xe7\xd5\xe6\x5b\xbf\x06\x64\x38\x12\xa5\x8d\x5b\x68\x34\xdd"
   1490	"\x75\x48\xc9\xa7\xa3\x58\x5a\x1c\xe1\xb2\xc5\xe3\x39\x03\xcf\xab"
   1491	"\xc2\x14\x07\xaf\x55\x80\xc7\x63\xe4\x03\xeb\xe9\x0a\x25\x61\x85"
   1492	"\x1d\x0e\x81\x52\x7b\xbc\x4a\x0c\xc8\x59\x6a\xac\x18\xfb\x8c\x0c"
   1493	"\xb4\x79\xbd\xa1\x4c\xbb\x02\xc9\xd5\x13\x88\x3d\x25\xaa\x77\x49",
   1494	.b_public =
   1495	"\x5c\x00\x6f\xda\xfe\x4c\x0c\xc2\x18\xff\xa9\xec\x7a\xbe\x8a\x51"
   1496	"\x64\x6b\x57\xf8\xed\xe2\x36\x77\xc1\x23\xbf\x56\xa6\x48\x76\x34"
   1497	"\x0e\xf3\x68\x05\x45\x6a\x98\x5b\x9e\x8b\xc0\x11\x29\xcb\x5b\x66"
   1498	"\x2d\xc2\xeb\x4c\xf1\x7d\x85\x30\xaa\xd5\xf5\xb8\xd3\x62\x1e\x97"
   1499	"\x1e\x34\x18\xf8\x76\x8c\x10\xca\x1f\xe4\x5d\x62\xe1\xbe\x61\xef"
   1500	"\xaf\x2c\x8d\x97\x15\xa5\x86\xd5\xd3\x12\x6f\xec\xe2\xa4\xb2\x5a"
   1501	"\x35\x1d\xd4\x91\xa6\xef\x13\x09\x65\x9c\x45\xc0\x12\xad\x7f\xee"
   1502	"\x93\x5d\xfa\x89\x26\x7d\xae\xee\xea\x8c\xa3\xcf\x04\x2d\xa0\xc7"
   1503	"\xd9\x14\x62\xaf\xdf\xa0\x33\xd7\x5e\x83\xa2\xe6\x0e\x0e\x5d\x77"
   1504	"\xce\xe6\x72\xe4\xec\x9d\xff\x72\x9f\x38\x95\x19\x96\xba\x4c\xe3"
   1505	"\x5f\xb8\x46\x4a\x1d\xe9\x62\x7b\xa8\xdc\xe7\x61\x90\x6b\xb9\xd4"
   1506	"\xad\x0b\xa3\x06\xb3\x70\xfa\xea\x2b\xc4\x2c\xde\x43\x37\xf6\x8d"
   1507	"\x72\xf0\x86\x9a\xbb\x3b\x8e\x7a\x71\x03\x30\x30\x2a\x5d\xcd\x1e"
   1508	"\xe4\xd3\x08\x07\x75\x17\x17\x72\x1e\x77\x6c\x98\x0d\x29\x7f\xac"
   1509	"\xe7\xb2\xee\xa9\x1c\x33\x9d\x08\x39\xe1\xd8\x5b\xe5\xbc\x48\xb2"
   1510	"\xb6\xdf\xcd\xa0\x42\x06\xcc\xfb\xed\x60\x6f\xbc\x57\xac\x09\x45",
   1511	.expected_a_public =
   1512	"\x8b\xdb\xc1\xf7\xc6\xba\xa1\x38\x95\x6a\xa1\xb6\x04\x5e\xae\x52"
   1513	"\x72\xfc\xef\x2d\x9d\x71\x05\x9c\xd3\x02\xa9\xfb\x55\x0f\xfa\xc9"
   1514	"\xb4\x34\x51\xa3\x28\x89\x8d\x93\x92\xcb\xd9\xb5\xb9\x66\xfc\x67"
   1515	"\x15\x92\x6f\x73\x85\x15\xe2\xfc\x11\x6b\x97\x8c\x4b\x0f\x12\xfa"
   1516	"\x8d\x72\x76\x9b\x8f\x3b\xfe\x31\xbe\x42\x88\x4c\xd2\xb2\x70\xa6"
   1517	"\xa5\xe3\x7e\x73\x07\x12\x36\xaa\xc9\x5c\x83\xe1\xf1\x46\x41\x4f"
   1518	"\x7c\x52\xaf\xdc\xa4\xe6\x82\xa3\x86\x83\x47\x5a\x12\x3a\x0c\xe3"
   1519	"\xdd\xdb\x94\x03\x2a\x59\x91\xa0\x19\xe5\xf8\x07\xdd\x54\x6a\x22"
   1520	"\x43\xb7\xf3\x74\xd7\xb9\x30\xfe\x9c\xe8\xd1\xcf\x06\x43\x68\xb9"
   1521	"\x54\x8f\x54\xa2\xe5\x3c\xf2\xc3\x4c\xee\xd4\x7c\x5d\x0e\xb1\x7b"
   1522	"\x16\x68\xb5\xb3\x7d\xd4\x11\x83\x5c\x77\x17\xc4\xf0\x59\x76\x7a"
   1523	"\x83\x40\xe5\xd9\x4c\x76\x23\x5b\x17\x6d\xee\x4a\x92\x68\x4b\x89"
   1524	"\xa0\x6d\x23\x8c\x80\x31\x33\x3a\x12\xf4\x50\xa6\xcb\x13\x97\x01"
   1525	"\xb8\x2c\xe6\xd2\x38\xdf\xd0\x7f\xc6\x27\x19\x0e\xb2\x07\xfd\x1f"
   1526	"\x1b\x9c\x1b\x87\xf9\x73\x6a\x3f\x7f\xb0\xf9\x2f\x3c\x19\x9f\xc9"
   1527	"\x8f\x97\x21\x0e\x8e\xbb\x1a\x17\x20\x15\xdd\xc6\x42\x60\xae\x4d",
   1528	.expected_ss =
   1529	"\xf3\x0e\x64\x7b\x66\xd7\x82\x7e\xab\x7e\x4a\xbe\x13\x6f\x43\x3d"
   1530	"\xea\x4f\x1f\x8b\x9d\x41\x56\x71\xe1\x06\x96\x02\x68\xfa\x44\x6e"
   1531	"\xe7\xf2\x26\xd4\x01\x4a\xf0\x28\x25\x76\xad\xd7\xe0\x17\x74\xfe"
   1532	"\xf9\xe1\x6d\xd3\xf7\xc7\xdf\xc0\x62\xa5\xf3\x4e\x1b\x5c\x77\x2a"
   1533	"\xfb\x0b\x87\xc3\xde\x1e\xc1\xe0\xd3\x7a\xb8\x02\x02\xec\x9c\x97"
   1534	"\xfb\x34\xa0\x20\x10\x23\x87\xb2\x9a\x72\xe3\x3d\xb2\x18\x50\xf3"
   1535	"\x6a\xd3\xd3\x19\xc4\x36\xd5\x59\xd6\xd6\xa7\x5c\xc3\xf9\x09\x33"
   1536	"\xa1\xf5\xb9\x4b\xf3\x0b\xe1\x4f\x79\x6b\x45\xf2\xec\x8b\xe5\x69"
   1537	"\x9f\xc6\x05\x01\xfe\x3a\x13\xfd\x6d\xea\x03\x83\x29\x7c\x7f\xf5"
   1538	"\x41\x55\x95\xde\x7e\x62\xae\xaf\x28\xdb\x7c\xa9\x90\x1e\xb2\xb1"
   1539	"\x1b\xef\xf1\x2e\xde\x47\xaa\xa8\x92\x9a\x49\x3d\xc0\xe0\x8d\xbb"
   1540	"\x0c\x42\x86\xaf\x00\xce\xb0\xab\x22\x7c\xe9\xbe\xb9\x72\x2f\xcf"
   1541	"\x5e\x5d\x62\x52\x2a\xd1\xfe\xcc\xa2\xf3\x40\xfd\x01\xa7\x54\x0a"
   1542	"\xa1\xfb\x1c\xf2\x44\xa6\x47\x30\x5a\xba\x2a\x05\xff\xd0\x6c\xab"
   1543	"\xeb\xe6\x8f\xf6\xd7\x73\xa3\x0e\x6c\x0e\xcf\xfd\x8e\x16\x5d\xe0"
   1544	"\x2c\x11\x05\x82\x3c\x22\x16\x6c\x52\x61\xcf\xbb\xff\xf8\x06\xd0",
   1545	.secret_size = 272,
   1546	.b_public_size = 256,
   1547	.expected_a_public_size = 256,
   1548	.expected_ss_size = 256,
   1549	},
   1550	{
   1551	.secret =
   1552#ifdef __LITTLE_ENDIAN
   1553	"\x01\x00" /* type */
   1554	"\x10\x00" /* len */
   1555	"\x00\x00\x00\x00" /* key_size */
   1556	"\x00\x00\x00\x00" /* p_size */
   1557	"\x00\x00\x00\x00", /* g_size */
   1558#else
   1559	"\x00\x01" /* type */
   1560	"\x00\x10" /* len */
   1561	"\x00\x00\x00\x00" /* key_size */
   1562	"\x00\x00\x00\x00" /* p_size */
   1563	"\x00\x00\x00\x00", /* g_size */
   1564#endif
   1565	.b_secret =
   1566#ifdef __LITTLE_ENDIAN
   1567	"\x01\x00" /* type */
   1568	"\x10\x01" /* len */
   1569	"\x00\x01\x00\x00" /* key_size */
   1570	"\x00\x00\x00\x00" /* p_size */
   1571	"\x00\x00\x00\x00" /* g_size */
   1572#else
   1573	"\x00\x01" /* type */
   1574	"\x01\x10" /* len */
   1575	"\x00\x00\x01\x00" /* key_size */
   1576	"\x00\x00\x00\x00" /* p_size */
   1577	"\x00\x00\x00\x00" /* g_size */
   1578#endif
   1579	/* xa */
   1580	"\x23\x7d\xd0\x06\xfd\x7a\xe5\x7a\x08\xda\x98\x31\xc0\xb3\xd5\x85"
   1581	"\xe2\x0d\x2a\x91\x5f\x78\x4b\xa6\x62\xd0\xa6\x35\xd4\xef\x86\x39"
   1582	"\xf1\xdb\x71\x5e\xb0\x11\x2e\xee\x91\x3a\xaa\xf9\xe3\xdf\x8d\x8b"
   1583	"\x48\x41\xde\xe8\x78\x53\xc5\x5f\x93\xd2\x79\x0d\xbe\x8d\x83\xe8"
   1584	"\x8f\x00\xd2\xde\x13\x18\x04\x05\x20\x6d\xda\xfa\x1d\x0b\x24\x52"
   1585	"\x3a\x18\x2b\xe1\x1e\xae\x15\x3b\x0f\xaa\x09\x09\xf6\x01\x98\xe9"
   1586	"\x81\x5d\x6b\x83\x6e\x55\xf1\x5d\x6f\x6f\x0d\x9d\xa8\x72\x32\x63"
   1587	"\x60\xe6\x0b\xc5\x22\xe2\xf9\x46\x58\xa2\x1c\x2a\xb0\xd5\xaf\xe3"
   1588	"\x5b\x03\xb7\x36\xb7\xba\x55\x20\x08\x7c\x51\xd4\x89\x42\x9c\x14"
   1589	"\x23\xe2\x71\x3e\x15\x2a\x0d\x34\x8a\xde\xad\x84\x11\x15\x72\x18"
   1590	"\x42\x43\x0a\xe2\x58\x29\xb3\x90\x0f\x56\xd8\x8a\x0f\x0e\xbc\x0e"
   1591	"\x9c\xe7\xd5\xe6\x5b\xbf\x06\x64\x38\x12\xa5\x8d\x5b\x68\x34\xdd"
   1592	"\x75\x48\xc9\xa7\xa3\x58\x5a\x1c\xe1\xb2\xc5\xe3\x39\x03\xcf\xab"
   1593	"\xc2\x14\x07\xaf\x55\x80\xc7\x63\xe4\x03\xeb\xe9\x0a\x25\x61\x85"
   1594	"\x1d\x0e\x81\x52\x7b\xbc\x4a\x0c\xc8\x59\x6a\xac\x18\xfb\x8c\x0c"
   1595	"\xb4\x79\xbd\xa1\x4c\xbb\x02\xc9\xd5\x13\x88\x3d\x25\xaa\x77\x49",
   1596	.b_public =
   1597	"\x8b\xdb\xc1\xf7\xc6\xba\xa1\x38\x95\x6a\xa1\xb6\x04\x5e\xae\x52"
   1598	"\x72\xfc\xef\x2d\x9d\x71\x05\x9c\xd3\x02\xa9\xfb\x55\x0f\xfa\xc9"
   1599	"\xb4\x34\x51\xa3\x28\x89\x8d\x93\x92\xcb\xd9\xb5\xb9\x66\xfc\x67"
   1600	"\x15\x92\x6f\x73\x85\x15\xe2\xfc\x11\x6b\x97\x8c\x4b\x0f\x12\xfa"
   1601	"\x8d\x72\x76\x9b\x8f\x3b\xfe\x31\xbe\x42\x88\x4c\xd2\xb2\x70\xa6"
   1602	"\xa5\xe3\x7e\x73\x07\x12\x36\xaa\xc9\x5c\x83\xe1\xf1\x46\x41\x4f"
   1603	"\x7c\x52\xaf\xdc\xa4\xe6\x82\xa3\x86\x83\x47\x5a\x12\x3a\x0c\xe3"
   1604	"\xdd\xdb\x94\x03\x2a\x59\x91\xa0\x19\xe5\xf8\x07\xdd\x54\x6a\x22"
   1605	"\x43\xb7\xf3\x74\xd7\xb9\x30\xfe\x9c\xe8\xd1\xcf\x06\x43\x68\xb9"
   1606	"\x54\x8f\x54\xa2\xe5\x3c\xf2\xc3\x4c\xee\xd4\x7c\x5d\x0e\xb1\x7b"
   1607	"\x16\x68\xb5\xb3\x7d\xd4\x11\x83\x5c\x77\x17\xc4\xf0\x59\x76\x7a"
   1608	"\x83\x40\xe5\xd9\x4c\x76\x23\x5b\x17\x6d\xee\x4a\x92\x68\x4b\x89"
   1609	"\xa0\x6d\x23\x8c\x80\x31\x33\x3a\x12\xf4\x50\xa6\xcb\x13\x97\x01"
   1610	"\xb8\x2c\xe6\xd2\x38\xdf\xd0\x7f\xc6\x27\x19\x0e\xb2\x07\xfd\x1f"
   1611	"\x1b\x9c\x1b\x87\xf9\x73\x6a\x3f\x7f\xb0\xf9\x2f\x3c\x19\x9f\xc9"
   1612	"\x8f\x97\x21\x0e\x8e\xbb\x1a\x17\x20\x15\xdd\xc6\x42\x60\xae\x4d",
   1613	.secret_size = 16,
   1614	.b_secret_size = 272,
   1615	.b_public_size = 256,
   1616	.expected_a_public_size = 256,
   1617	.expected_ss_size = 256,
   1618	.genkey = true,
   1619	},
   1620};
   1621
   1622static const struct kpp_testvec ffdhe3072_dh_tv_template[] __maybe_unused = {
   1623	{
   1624	.secret =
   1625#ifdef __LITTLE_ENDIAN
   1626	"\x01\x00" /* type */
   1627	"\x90\x01" /* len */
   1628	"\x80\x01\x00\x00" /* key_size */
   1629	"\x00\x00\x00\x00" /* p_size */
   1630	"\x00\x00\x00\x00" /* g_size */
   1631#else
   1632	"\x00\x01" /* type */
   1633	"\x01\x90" /* len */
   1634	"\x00\x00\x01\x80" /* key_size */
   1635	"\x00\x00\x00\x00" /* p_size */
   1636	"\x00\x00\x00\x00" /* g_size */
   1637#endif
   1638	/* xa */
   1639	"\x6b\xb4\x97\x23\xfa\xc8\x5e\xa9\x7b\x63\xe7\x3e\x0e\x99\xc3\xb9"
   1640	"\xda\xb7\x48\x0d\xc3\xb1\xbf\x4f\x17\xc7\xa9\x51\xf6\x64\xff\xc4"
   1641	"\x31\x58\x87\x25\x83\x2c\x00\xf0\x41\x29\xf7\xee\xf9\xe6\x36\x76"
   1642	"\xd6\x3a\x24\xbe\xa7\x07\x0b\x93\xc7\x9f\x6c\x75\x0a\x26\x75\x76"
   1643	"\xe3\x0c\x42\xe0\x00\x04\x69\xd9\xec\x0b\x59\x54\x28\x8f\xd7\x9a"
   1644	"\x63\xf4\x5b\xdf\x85\x65\xc4\xe1\x95\x27\x4a\x42\xad\x36\x47\xa9"
   1645	"\x0a\xf8\x14\x1c\xf3\x94\x3b\x7e\x47\x99\x35\xa8\x18\xec\x70\x10"
   1646	"\xdf\xcb\xd2\x78\x88\xc1\x2d\x59\x93\xc1\xa4\x6d\xd7\x1d\xb9\xd5"
   1647	"\xf8\x30\x06\x7f\x98\x90\x0c\x74\x5e\x89\x2f\x64\x5a\xad\x5f\x53"
   1648	"\xb2\xa3\xa8\x83\xbf\xfc\x37\xef\xb8\x36\x0a\x5c\x62\x81\x64\x74"
   1649	"\x16\x2f\x45\x39\x2a\x91\x26\x87\xc0\x12\xcc\x75\x11\xa3\xa1\xc5"
   1650	"\xae\x20\xcf\xcb\x20\x25\x6b\x7a\x31\x93\x9d\x38\xb9\x57\x72\x46"
   1651	"\xd4\x84\x65\x87\xf1\xb5\xd3\xab\xfc\xc3\x4d\x40\x92\x94\x1e\xcd"
   1652	"\x1c\x87\xec\x3f\xcd\xbe\xd0\x95\x6b\x40\x02\xdd\x62\xeb\x0a\xda"
   1653	"\x4f\xbe\x8e\x32\x48\x8b\x6d\x83\xa0\x96\x62\x23\xec\x83\x91\x44"
   1654	"\xf9\x72\x01\xac\xa0\xe4\x72\x1d\x5a\x75\x05\x57\x90\xae\x7e\xb4"
   1655	"\x71\x39\x01\x05\xdc\xe9\xee\xcb\xf0\x61\x28\x91\x69\x8c\x31\x03"
   1656	"\x7a\x92\x15\xa1\x58\x67\x3d\x70\x82\xa6\x2c\xfe\x10\x56\x58\xd3"
   1657	"\x94\x67\xe1\xbe\xee\xc1\x64\x5c\x4b\xc8\x28\x3d\xc5\x66\x3a\xab"
   1658	"\x22\xc1\x7e\xa1\xbb\xf3\x19\x3b\xda\x46\x82\x45\xd4\x3c\x7c\xc6"
   1659	"\xce\x1f\x7f\x95\xa2\x17\xff\x88\xba\xd6\x4d\xdb\xd2\xea\xde\x39"
   1660	"\xd6\xa5\x18\x73\xbb\x64\x6e\x79\xe9\xdc\x3f\x92\x7f\xda\x1f\x49"
   1661	"\x33\x70\x65\x73\xa2\xd9\x06\xb8\x1b\x29\x29\x1a\xe0\xa3\xe6\x05"
   1662	"\x9a\xa8\xc2\x4e\x7a\x78\x1d\x22\x57\x21\xc8\xa3\x8d\x66\x3e\x23",
   1663	.b_public =
   1664	"\x73\x40\x8b\xce\xe8\x6a\x1c\x03\x50\x54\x42\x36\x22\xc6\x1d\xe8"
   1665	"\xe1\xef\x5c\x89\xa5\x55\xc1\xc4\x1c\xd7\x4f\xee\x5d\xba\x62\x60"
   1666	"\xfe\x93\x2f\xfd\x93\x2c\x8f\x70\xc6\x47\x17\x25\xb2\x95\xd7\x7d"
   1667	"\x41\x81\x4d\x52\x1c\xbe\x4d\x57\x3e\x26\x51\x28\x03\x8f\x67\xf5"
   1668	"\x22\x16\x1c\x67\xf7\x62\xcb\xfd\xa3\xee\x8d\xe0\xfa\x15\x9a\x53"
   1669	"\xbe\x7b\x9f\xc0\x12\x7a\xfc\x5e\x77\x2d\x60\x06\xba\x71\xc5\xca"
   1670	"\xd7\x26\xaf\x3b\xba\x6f\xd3\xc4\x82\x57\x19\x26\xb0\x16\x7b\xbd"
   1671	"\x83\xf2\x21\x03\x79\xff\x0a\x6f\xc5\x7b\x00\x15\xad\x5b\xf4\x42"
   1672	"\x1f\xcb\x7f\x3d\x34\x77\x3c\xc3\xe0\x38\xa5\x40\x51\xbe\x6f\xd9"
   1673	"\xc9\x77\x9c\xfc\x0d\xc1\x8e\xef\x0f\xaa\x5e\xa8\xbb\x16\x4a\x3e"
   1674	"\x26\x55\xae\xc1\xb6\x3e\xfd\x73\xf7\x59\xd2\xe5\x4b\x91\x8e\x28"
   1675	"\x77\x1e\x5a\xe2\xcd\xce\x92\x35\xbb\x1e\xbb\xcf\x79\x94\xdf\x31"
   1676	"\xde\x31\xa8\x75\xf6\xe0\xaa\x2e\xe9\x4f\x44\xc8\xba\xb9\xab\x80"
   1677	"\x29\xa1\xea\x58\x2e\x40\x96\xa0\x1a\xf5\x2c\x38\x47\x43\x5d\x26"
   1678	"\x2c\xd8\xad\xea\xd3\xad\xe8\x51\x49\xad\x45\x2b\x25\x7c\xde\xe4"
   1679	"\xaf\x03\x2a\x39\x26\x86\x66\x10\xbc\xa8\x71\xda\xe0\xe8\xf1\xdd"
   1680	"\x50\xff\x44\xb2\xd3\xc7\xff\x66\x63\xf6\x42\xe3\x97\x9d\x9e\xf4"
   1681	"\xa6\x89\xb9\xab\x12\x17\xf2\x85\x56\x9c\x6b\x24\x71\x83\x57\x7d"
   1682	"\x3c\x7b\x2b\x88\x92\x19\xd7\x1a\x00\xd5\x38\x94\x43\x60\x4d\xa7"
   1683	"\x12\x9e\x0d\xf6\x5c\x9a\xd3\xe2\x9e\xb1\x21\xe8\xe2\x9e\xe9\x1e"
   1684	"\x9d\xa5\x94\x95\xa6\x3d\x12\x15\xd8\x8b\xac\xe0\x8c\xde\xe6\x40"
   1685	"\x98\xaa\x5e\x55\x4f\x3d\x86\x87\x0d\xe3\xc6\x68\x15\xe6\xde\x17"
   1686	"\x78\x21\xc8\x6c\x06\xc7\x94\x56\xb4\xaf\xa2\x35\x0b\x0c\x97\xd7"
   1687	"\xa4\x12\xee\xf4\xd2\xef\x80\x28\xb3\xee\xe9\x15\x8b\x01\x32\x79",
   1688	.expected_a_public =
   1689	"\x1b\x6a\xba\xea\xa3\xcc\x50\x69\xa9\x41\x89\xaf\x04\xe1\x44\x22"
   1690	"\x97\x20\xd1\xf6\x1e\xcb\x64\x36\x6f\xee\x0b\x16\xc1\xd9\x91\xbe"
   1691	"\x57\xc8\xd9\xf2\xa1\x96\x91\xec\x41\xc7\x79\x00\x1a\x48\x25\x55"
   1692	"\xbe\xf3\x20\x8c\x38\xc6\x7b\xf2\x8b\x5a\xc3\xb5\x87\x0a\x86\x3d"
   1693	"\xb7\xd6\xce\xb0\x96\x2e\x5d\xc4\x00\x5e\x42\xe4\xe5\x50\x4f\xb8"
   1694	"\x6f\x18\xa4\xe1\xd3\x20\xfc\x3c\xf5\x0a\xff\x23\xa6\x5b\xb4\x17"
   1695	"\x3e\x7b\xdf\xb9\xb5\x3c\x1b\x76\x29\xcd\xb4\x46\x4f\x27\x8f\xd2"
   1696	"\xe8\x27\x66\xdb\xe8\xb3\xf5\xe1\xd0\x04\xcd\x89\xff\xba\x76\x67"
   1697	"\xe8\x4d\xcf\x86\x1c\x8a\xd1\xcf\x99\x27\xfb\xa9\x78\xcc\x94\xaf"
   1698	"\x3d\x04\xfd\x25\xc0\x47\xfa\x29\x80\x05\xf4\xde\xad\xdb\xab\x12"
   1699	"\xb0\x2b\x8e\xca\x02\x06\x6d\xad\x3e\x09\xb1\x22\xa3\xf5\x4c\x6d"
   1700	"\x69\x99\x58\x8b\xd8\x45\x2e\xe0\xc9\x3c\xf7\x92\xce\x21\x90\x6b"
   1701	"\x3b\x65\x9f\x64\x79\x8d\x67\x22\x1a\x37\xd3\xee\x51\xe2\xe7\x5a"
   1702	"\x93\x51\xaa\x3c\x4b\x04\x16\x32\xef\xe3\x66\xbe\x18\x94\x88\x64"
   1703	"\x79\xce\x06\x3f\xb8\xd6\xee\xdc\x13\x79\x6f\x20\x14\xc2\x6b\xce"
   1704	"\xc8\xda\x42\xa5\x93\x5b\xe4\x7f\x1a\xe6\xda\x0f\xb3\xc1\x5f\x30"
   1705	"\x50\x76\xe8\x37\x3d\xca\x77\x2c\xa8\xe4\x3b\xf9\x6f\xe0\x17\xed"
   1706	"\x0e\xef\xb7\x31\x14\xb5\xea\xd9\x39\x22\x89\xb6\x40\x57\xcc\x84"
   1707	"\xef\x73\xa7\xe9\x27\x21\x85\x89\xfa\xaf\x03\xda\x9c\x8b\xfd\x52"
   1708	"\x7d\xb0\xa4\xe4\xf9\xd8\x90\x55\xc4\x39\xd6\x9d\xaf\x3b\xce\xac"
   1709	"\xaa\x36\x14\x7a\x9b\x8b\x12\x43\xe1\xca\x61\xae\x46\x5b\xe7\xe5"
   1710	"\x88\x32\x80\xa0\x2d\x51\xbb\x2f\xea\xeb\x3c\x71\xb2\xae\xce\xca"
   1711	"\x61\xd2\x76\xe0\x45\x46\x78\x4e\x09\x2d\xc2\x54\xc2\xa9\xc7\xa8"
   1712	"\x55\x8e\x72\xa4\x8b\x8a\xc9\x01\xdb\xe9\x58\x11\xa1\xc4\xe7\x12",
   1713	.expected_ss =
   1714	"\x47\x8e\xb2\x19\x09\xf0\x46\x99\x6b\x41\x86\xf7\x34\xad\xbf\x2a"
   1715	"\x18\x1b\x7d\xec\xa9\xb2\x47\x2f\x40\xfb\x9a\x64\x30\x44\xf3\x4c"
   1716	"\x01\x67\xad\x57\x5a\xbc\xd4\xc8\xef\x7e\x8a\x14\x74\x1d\x6d\x8c"
   1717	"\x7b\xce\xc5\x57\x5f\x95\xe8\x72\xba\xdf\xa3\xcd\x00\xbe\x09\x4c"
   1718	"\x06\x72\xe7\x17\xb0\xe5\xe5\xb7\x20\xa5\xcb\xd9\x68\x99\xad\x3f"
   1719	"\xde\xf3\xde\x1d\x1c\x00\x74\xd2\xd1\x57\x55\x5d\xce\x76\x0c\xc4"
   1720	"\x7a\xc4\x65\x7c\x19\x17\x0a\x09\x66\x7d\x3a\xab\xf7\x61\x3a\xe3"
   1721	"\x5b\xac\xcf\x69\xb0\x8b\xee\x5d\x28\x36\xbb\x3f\x74\xce\x6e\x38"
   1722	"\x1e\x39\xab\x26\xca\x89\xdc\x58\x59\xcb\x95\xe4\xbc\xd6\x19\x48"
   1723	"\xd0\x55\x68\x7b\xb4\x27\x95\x3c\xd9\x58\x10\x4f\x8f\x55\x1c\x3f"
   1724	"\x04\xce\x89\x1f\x82\x28\xe9\x48\x17\x47\x8f\xee\xb7\x8f\xeb\xb1"
   1725	"\x29\xa8\x23\x18\x73\x33\x9f\x83\x08\xca\xcd\x54\x6e\xca\xec\x78"
   1726	"\x7b\x16\x83\x3f\xdb\x0a\xef\xfd\x87\x94\x19\x08\x6e\x6e\x22\x57"
   1727	"\xd7\xd2\x79\xf9\xf6\xeb\xe0\x6c\x93\x9d\x95\xfa\x41\x7a\xa9\xd6"
   1728	"\x2a\xa3\x26\x9b\x24\x1b\x8b\xa0\xed\x04\xb2\xe4\x6c\x4e\xc4\x3f"
   1729	"\x61\xe5\xe0\x4d\x09\x28\xaf\x58\x35\x25\x0b\xd5\x38\x18\x69\x51"
   1730	"\x18\x51\x73\x7b\x28\x19\x9f\xe4\x69\xfc\x2c\x25\x08\x99\x8f\x62"
   1731	"\x65\x62\xa5\x28\xf1\xf4\xfb\x02\x29\x27\xb0\x5e\xbb\x4f\xf9\x1a"
   1732	"\xa7\xc4\x38\x63\x5b\x01\xfe\x00\x66\xe3\x47\x77\x21\x85\x17\xd5"
   1733	"\x34\x19\xd3\x87\xab\x44\x62\x08\x59\xb2\x6b\x1f\x21\x0c\x23\x84"
   1734	"\xf7\xba\x92\x67\xf9\x16\x85\x6a\xe0\xeb\xe7\x4f\x06\x80\x81\x81"
   1735	"\x28\x9c\xe8\x2e\x71\x97\x48\xe0\xd1\xbc\xce\xe9\x42\x2c\x89\xdf"
   1736	"\x0b\xa9\xa1\x07\x84\x33\x78\x7f\x49\x2f\x1c\x55\xc3\x7f\xc3\x37"
   1737	"\x40\xdf\x13\xf4\xa0\x21\x79\x6e\x3a\xe3\xb8\x23\x9e\x8a\x6e\x9c",
   1738	.secret_size = 400,
   1739	.b_public_size = 384,
   1740	.expected_a_public_size = 384,
   1741	.expected_ss_size = 384,
   1742	},
   1743	{
   1744	.secret =
   1745#ifdef __LITTLE_ENDIAN
   1746	"\x01\x00" /* type */
   1747	"\x10\x00" /* len */
   1748	"\x00\x00\x00\x00" /* key_size */
   1749	"\x00\x00\x00\x00" /* p_size */
   1750	"\x00\x00\x00\x00", /* g_size */
   1751#else
   1752	"\x00\x01" /* type */
   1753	"\x00\x10" /* len */
   1754	"\x00\x00\x00\x00" /* key_size */
   1755	"\x00\x00\x00\x00" /* p_size */
   1756	"\x00\x00\x00\x00", /* g_size */
   1757#endif
   1758	.b_secret =
   1759#ifdef __LITTLE_ENDIAN
   1760	"\x01\x00" /* type */
   1761	"\x90\x01" /* len */
   1762	"\x80\x01\x00\x00" /* key_size */
   1763	"\x00\x00\x00\x00" /* p_size */
   1764	"\x00\x00\x00\x00" /* g_size */
   1765#else
   1766	"\x00\x01" /* type */
   1767	"\x01\x90" /* len */
   1768	"\x00\x00\x01\x80" /* key_size */
   1769	"\x00\x00\x00\x00" /* p_size */
   1770	"\x00\x00\x00\x00" /* g_size */
   1771#endif
   1772	/* xa */
   1773	"\x6b\xb4\x97\x23\xfa\xc8\x5e\xa9\x7b\x63\xe7\x3e\x0e\x99\xc3\xb9"
   1774	"\xda\xb7\x48\x0d\xc3\xb1\xbf\x4f\x17\xc7\xa9\x51\xf6\x64\xff\xc4"
   1775	"\x31\x58\x87\x25\x83\x2c\x00\xf0\x41\x29\xf7\xee\xf9\xe6\x36\x76"
   1776	"\xd6\x3a\x24\xbe\xa7\x07\x0b\x93\xc7\x9f\x6c\x75\x0a\x26\x75\x76"
   1777	"\xe3\x0c\x42\xe0\x00\x04\x69\xd9\xec\x0b\x59\x54\x28\x8f\xd7\x9a"
   1778	"\x63\xf4\x5b\xdf\x85\x65\xc4\xe1\x95\x27\x4a\x42\xad\x36\x47\xa9"
   1779	"\x0a\xf8\x14\x1c\xf3\x94\x3b\x7e\x47\x99\x35\xa8\x18\xec\x70\x10"
   1780	"\xdf\xcb\xd2\x78\x88\xc1\x2d\x59\x93\xc1\xa4\x6d\xd7\x1d\xb9\xd5"
   1781	"\xf8\x30\x06\x7f\x98\x90\x0c\x74\x5e\x89\x2f\x64\x5a\xad\x5f\x53"
   1782	"\xb2\xa3\xa8\x83\xbf\xfc\x37\xef\xb8\x36\x0a\x5c\x62\x81\x64\x74"
   1783	"\x16\x2f\x45\x39\x2a\x91\x26\x87\xc0\x12\xcc\x75\x11\xa3\xa1\xc5"
   1784	"\xae\x20\xcf\xcb\x20\x25\x6b\x7a\x31\x93\x9d\x38\xb9\x57\x72\x46"
   1785	"\xd4\x84\x65\x87\xf1\xb5\xd3\xab\xfc\xc3\x4d\x40\x92\x94\x1e\xcd"
   1786	"\x1c\x87\xec\x3f\xcd\xbe\xd0\x95\x6b\x40\x02\xdd\x62\xeb\x0a\xda"
   1787	"\x4f\xbe\x8e\x32\x48\x8b\x6d\x83\xa0\x96\x62\x23\xec\x83\x91\x44"
   1788	"\xf9\x72\x01\xac\xa0\xe4\x72\x1d\x5a\x75\x05\x57\x90\xae\x7e\xb4"
   1789	"\x71\x39\x01\x05\xdc\xe9\xee\xcb\xf0\x61\x28\x91\x69\x8c\x31\x03"
   1790	"\x7a\x92\x15\xa1\x58\x67\x3d\x70\x82\xa6\x2c\xfe\x10\x56\x58\xd3"
   1791	"\x94\x67\xe1\xbe\xee\xc1\x64\x5c\x4b\xc8\x28\x3d\xc5\x66\x3a\xab"
   1792	"\x22\xc1\x7e\xa1\xbb\xf3\x19\x3b\xda\x46\x82\x45\xd4\x3c\x7c\xc6"
   1793	"\xce\x1f\x7f\x95\xa2\x17\xff\x88\xba\xd6\x4d\xdb\xd2\xea\xde\x39"
   1794	"\xd6\xa5\x18\x73\xbb\x64\x6e\x79\xe9\xdc\x3f\x92\x7f\xda\x1f\x49"
   1795	"\x33\x70\x65\x73\xa2\xd9\x06\xb8\x1b\x29\x29\x1a\xe0\xa3\xe6\x05"
   1796	"\x9a\xa8\xc2\x4e\x7a\x78\x1d\x22\x57\x21\xc8\xa3\x8d\x66\x3e\x23",
   1797	.b_public =
   1798	"\x1b\x6a\xba\xea\xa3\xcc\x50\x69\xa9\x41\x89\xaf\x04\xe1\x44\x22"
   1799	"\x97\x20\xd1\xf6\x1e\xcb\x64\x36\x6f\xee\x0b\x16\xc1\xd9\x91\xbe"
   1800	"\x57\xc8\xd9\xf2\xa1\x96\x91\xec\x41\xc7\x79\x00\x1a\x48\x25\x55"
   1801	"\xbe\xf3\x20\x8c\x38\xc6\x7b\xf2\x8b\x5a\xc3\xb5\x87\x0a\x86\x3d"
   1802	"\xb7\xd6\xce\xb0\x96\x2e\x5d\xc4\x00\x5e\x42\xe4\xe5\x50\x4f\xb8"
   1803	"\x6f\x18\xa4\xe1\xd3\x20\xfc\x3c\xf5\x0a\xff\x23\xa6\x5b\xb4\x17"
   1804	"\x3e\x7b\xdf\xb9\xb5\x3c\x1b\x76\x29\xcd\xb4\x46\x4f\x27\x8f\xd2"
   1805	"\xe8\x27\x66\xdb\xe8\xb3\xf5\xe1\xd0\x04\xcd\x89\xff\xba\x76\x67"
   1806	"\xe8\x4d\xcf\x86\x1c\x8a\xd1\xcf\x99\x27\xfb\xa9\x78\xcc\x94\xaf"
   1807	"\x3d\x04\xfd\x25\xc0\x47\xfa\x29\x80\x05\xf4\xde\xad\xdb\xab\x12"
   1808	"\xb0\x2b\x8e\xca\x02\x06\x6d\xad\x3e\x09\xb1\x22\xa3\xf5\x4c\x6d"
   1809	"\x69\x99\x58\x8b\xd8\x45\x2e\xe0\xc9\x3c\xf7\x92\xce\x21\x90\x6b"
   1810	"\x3b\x65\x9f\x64\x79\x8d\x67\x22\x1a\x37\xd3\xee\x51\xe2\xe7\x5a"
   1811	"\x93\x51\xaa\x3c\x4b\x04\x16\x32\xef\xe3\x66\xbe\x18\x94\x88\x64"
   1812	"\x79\xce\x06\x3f\xb8\xd6\xee\xdc\x13\x79\x6f\x20\x14\xc2\x6b\xce"
   1813	"\xc8\xda\x42\xa5\x93\x5b\xe4\x7f\x1a\xe6\xda\x0f\xb3\xc1\x5f\x30"
   1814	"\x50\x76\xe8\x37\x3d\xca\x77\x2c\xa8\xe4\x3b\xf9\x6f\xe0\x17\xed"
   1815	"\x0e\xef\xb7\x31\x14\xb5\xea\xd9\x39\x22\x89\xb6\x40\x57\xcc\x84"
   1816	"\xef\x73\xa7\xe9\x27\x21\x85\x89\xfa\xaf\x03\xda\x9c\x8b\xfd\x52"
   1817	"\x7d\xb0\xa4\xe4\xf9\xd8\x90\x55\xc4\x39\xd6\x9d\xaf\x3b\xce\xac"
   1818	"\xaa\x36\x14\x7a\x9b\x8b\x12\x43\xe1\xca\x61\xae\x46\x5b\xe7\xe5"
   1819	"\x88\x32\x80\xa0\x2d\x51\xbb\x2f\xea\xeb\x3c\x71\xb2\xae\xce\xca"
   1820	"\x61\xd2\x76\xe0\x45\x46\x78\x4e\x09\x2d\xc2\x54\xc2\xa9\xc7\xa8"
   1821	"\x55\x8e\x72\xa4\x8b\x8a\xc9\x01\xdb\xe9\x58\x11\xa1\xc4\xe7\x12",
   1822	.secret_size = 16,
   1823	.b_secret_size = 400,
   1824	.b_public_size = 384,
   1825	.expected_a_public_size = 384,
   1826	.expected_ss_size = 384,
   1827	.genkey = true,
   1828	},
   1829};
   1830
   1831static const struct kpp_testvec ffdhe4096_dh_tv_template[] __maybe_unused = {
   1832	{
   1833	.secret =
   1834#ifdef __LITTLE_ENDIAN
   1835	"\x01\x00" /* type */
   1836	"\x10\x02" /* len */
   1837	"\x00\x02\x00\x00" /* key_size */
   1838	"\x00\x00\x00\x00" /* p_size */
   1839	"\x00\x00\x00\x00" /* g_size */
   1840#else
   1841	"\x00\x01" /* type */
   1842	"\x02\x10" /* len */
   1843	"\x00\x00\x02\x00" /* key_size */
   1844	"\x00\x00\x00\x00" /* p_size */
   1845	"\x00\x00\x00\x00" /* g_size */
   1846#endif
   1847	/* xa */
   1848	"\x1a\x48\xf3\x6c\x61\x03\x42\x43\xd7\x42\x3b\xfa\xdb\x55\x6f\xa2"
   1849	"\xe1\x79\x52\x0b\x47\xc5\x03\x60\x2f\x26\xb9\x1a\x14\x15\x1a\xd9"
   1850	"\xe0\xbb\xa7\x82\x63\x41\xec\x26\x55\x00\xab\xe5\x21\x9d\x31\x14"
   1851	"\x0e\xe2\xc2\xb2\xb8\x37\xe6\xc3\x5a\xab\xae\x25\xdb\x71\x1e\xed"
   1852	"\xe8\x75\x9a\x04\xa7\x92\x2a\x99\x7e\xc0\x5b\x64\x75\x7f\xe5\xb5"
   1853	"\xdb\x6c\x95\x4f\xe9\xdc\x39\x76\x79\xb0\xf7\x00\x30\x8e\x86\xe7"
   1854	"\x36\xd1\xd2\x0c\x68\x7b\x94\xe9\x91\x85\x08\x86\xbc\x64\x87\xd2"
   1855	"\xf5\x5b\xaf\x03\xf6\x5f\x28\x25\xf1\xa3\x20\x5c\x1b\xb5\x26\x45"
   1856	"\x9a\x47\xab\xd6\xad\x49\xab\x92\x8e\x62\x6f\x48\x31\xea\xf6\x76"
   1857	"\xff\xa2\xb6\x28\x78\xef\x59\xc3\x71\x5d\xa8\xd9\x70\x89\xcc\xe2"
   1858	"\x63\x58\x5e\x3a\xa2\xa2\x88\xbf\x77\x20\x84\x33\x65\x64\x4e\x73"
   1859	"\xe5\x08\xd5\x89\x23\xd6\x07\xac\x29\x65\x2e\x02\xa8\x35\x96\x48"
   1860	"\xe7\x5d\x43\x6a\x42\xcc\xda\x98\xc4\x75\x90\x2e\xf6\xc4\xbf\xd4"
   1861	"\xbc\x31\x14\x0d\x54\x30\x11\xb2\xc9\xcf\xbb\xba\xbc\xc6\xf2\xcf"
   1862	"\xfe\x4a\x9d\xf3\xec\x78\x5d\x5d\xb4\x99\xd0\x67\x0f\x5a\x21\x1c"
   1863	"\x7b\x95\x2b\xcf\x49\x44\x94\x05\x1a\x21\x81\x25\x7f\xe3\x8a\x2a"
   1864	"\xdd\x88\xac\x44\x94\x23\x20\x3b\x75\xf6\x2a\x8a\x45\xf8\xb5\x1f"
   1865	"\xb9\x8b\xeb\xab\x9b\x38\x23\x26\xf1\x0f\x34\x47\x4f\x7f\xe1\x9e"
   1866	"\x84\x84\x78\xe5\xe3\x49\xeb\xcc\x2f\x02\x85\xa4\x18\x91\xde\x1a"
   1867	"\x60\x54\x33\x81\xd5\xae\xdb\x23\x9c\x4d\xa4\xdb\x22\x5b\xdf\xf4"
   1868	"\x8e\x05\x2b\x60\xba\xe8\x75\xfc\x34\x99\xcf\x35\xe1\x06\xba\xdc"
   1869	"\x79\x2a\x5e\xec\x1c\xbe\x79\x33\x63\x1c\xe7\x5f\x1e\x30\xd6\x1b"
   1870	"\xdb\x11\xb8\xea\x63\xff\xfe\x1a\x3c\x24\xf4\x78\x9c\xcc\x5d\x9a"
   1871	"\xc9\x2d\xc4\x9a\xd4\xa7\x65\x84\x98\xdb\x66\x76\xf0\x34\x31\x9f"
   1872	"\xce\xb5\xfb\x28\x07\xde\x1e\x0d\x9b\x01\x64\xeb\x2a\x37\x2f\x20"
   1873	"\xa5\x95\x72\x2b\x54\x51\x59\x91\xea\x50\x54\x0f\x2e\xb0\x1d\xf6"
   1874	"\xb9\x46\x43\xf9\xd0\x13\x21\x20\x47\x61\x1a\x1c\x30\xc6\x9e\x75"
   1875	"\x22\xe4\xf2\xb1\xab\x01\xdc\x5b\x3c\x1e\xa2\x6d\xc0\xb9\x9a\x2a"
   1876	"\x84\x61\xea\x85\x63\xa0\x77\xd0\xeb\x20\x68\xd5\x95\x6a\x1b\x8f"
   1877	"\x1f\x9a\xba\x44\x49\x8c\x77\xa6\xd9\xa0\x14\xf8\x7d\x9b\x4e\xfa"
   1878	"\xdc\x4f\x1c\x4d\x60\x50\x26\x7f\xd6\xc1\x91\x2b\xa6\x37\x5d\x94"
   1879	"\x69\xb2\x47\x59\xd6\xc3\x59\xbb\xd6\x9b\x71\x52\x85\x7a\xcb\x2d",
   1880	.b_public =
   1881	"\x24\x38\x02\x02\x2f\xeb\x54\xdd\x73\x21\x91\x4a\xd8\xa4\x0a\xbf"
   1882	"\xf4\xf5\x9a\x45\xb5\xcd\x42\xa3\x57\xcc\x65\x4a\x23\x2e\xee\x59"
   1883	"\xba\x6f\x14\x89\xae\x2e\x14\x0a\x72\x77\x23\x7f\x6c\x2e\xba\x52"
   1884	"\x3f\x71\xbf\xe4\x60\x03\x16\xaa\x61\xf5\x80\x1d\x8a\x45\x9e\x53"
   1885	"\x7b\x07\xd9\x7e\xfe\xaf\xcb\xda\xff\x20\x71\xba\x89\x39\x75\xc3"
   1886	"\xb3\x65\x0c\xb1\xa7\xfa\x4a\xe7\xe0\x85\xc5\x4e\x91\x47\x41\xf4"
   1887	"\xdd\xcd\xc5\x3d\x17\x12\xed\xee\xc0\x31\xb1\xaf\xc1\xd5\x3c\x07"
   1888	"\xa1\x5a\xc4\x05\x45\xe3\x10\x0c\xc3\x14\xae\x65\xca\x40\xae\x31"
   1889	"\x5c\x13\x0d\x32\x85\xa7\x6e\xf4\x5e\x29\x3d\x4e\xd3\xd7\x49\x58"
   1890	"\xe1\x73\xbb\x0a\x7b\xd6\x13\xea\x49\xd7\x20\x3d\x31\xaa\x77\xab"
   1891	"\x21\x74\xe9\x2f\xe9\x5e\xbe\x2f\xb4\xa2\x79\xf2\xbc\xcc\x51\x94"
   1892	"\xd2\x1d\xb2\xe6\xc5\x39\x66\xd7\xe5\x46\x75\x53\x76\xed\x49\xea"
   1893	"\x3b\xdd\x01\x27\xdb\x83\xa5\x9f\xd2\xee\xc8\xde\x9e\xde\xd2\xe7"
   1894	"\x99\xad\x9c\xe0\x71\x66\x29\xd8\x0d\xfe\xdc\xd1\xbc\xc7\x9a\xbe"
   1895	"\x8b\x26\x46\x57\xb6\x79\xfa\xad\x8b\x45\x2e\xb5\xe5\x89\x34\x01"
   1896	"\x93\x00\x9d\xe9\x58\x74\x8b\xda\x07\x92\xb5\x01\x4a\xe1\x44\x36"
   1897	"\xc7\x6c\xde\xc8\x7a\x17\xd0\xde\xee\x68\x92\xb5\xde\x21\x2b\x1c"
   1898	"\xbc\x65\x30\x1e\xae\x15\x3d\x9a\xaf\x20\xa3\xc4\x21\x70\xfb\x2f"
   1899	"\x36\x72\x31\xc0\xe8\x85\xdf\xc5\x50\x4c\x90\x10\x32\xa4\xc7\xee"
   1900	"\x59\x5a\x21\xf4\xf1\x33\xcf\xbe\xac\x67\xb1\x40\x7c\x0b\x3f\x64"
   1901	"\xe5\xd2\x2d\xb7\x7d\x0f\xce\xf7\x9b\x05\xee\x37\x61\xd2\x61\x9e"
   1902	"\x1a\x80\x2e\x79\xe6\x1b\x25\xb3\x61\x3d\x53\xe7\xe5\x97\x9a\xc2"
   1903	"\x39\xb1\xe3\x91\xc6\xee\x96\x2e\xa9\xb4\xb8\xad\xd8\x04\x3e\x11"
   1904	"\x31\x67\xb8\x6a\xcb\x6e\x1a\x4c\x7f\x74\xc7\x1f\x09\xd1\xd0\x6b"
   1905	"\x17\xde\xea\xe8\x0b\xe6\x6a\xee\x2f\xe3\x5b\x9c\x59\x5d\x00\x57"
   1906	"\xbf\x24\x25\xba\x22\x34\xb9\xc5\x3c\xc4\x57\x26\xd0\x6d\x89\xee"
   1907	"\x67\x79\x3c\x70\xf9\xc3\xb4\x30\xf0\x2e\xca\xfa\x74\x00\xd1\x00"
   1908	"\x6d\x03\x97\xd5\x08\x3f\x0b\x8e\xb8\x1d\xa3\x91\x7f\xa9\x3a\xf0"
   1909	"\x37\x57\x46\x87\x82\xa3\xb5\x8f\x51\xaa\xc7\x7b\xfe\x86\x26\xb9"
   1910	"\xfa\xe6\x1e\xee\x92\x9d\x3a\xed\x5b\x5e\x3f\xe5\xca\x5e\x13\x01"
   1911	"\xdd\x4c\x8d\x85\xf0\x60\x61\xb7\x60\x24\x83\x9f\xbe\x72\x21\x81"
   1912	"\x55\x7e\x7e\x6d\xf3\x28\xc8\x77\x5a\xae\x5a\x32\x86\xd5\x61\xad",
   1913	.expected_a_public =
   1914	"\x1f\xff\xd6\xc4\x59\xf3\x4a\x9e\x81\x74\x4d\x27\xa7\xc6\x6b\x35"
   1915	"\xd8\xf5\xb3\x24\x97\x82\xe7\x2e\xf3\x21\x91\x23\x2f\x3d\x57\x7f"
   1916	"\x15\x8c\x84\x71\xe7\x25\x35\xe8\x07\x14\x06\x4c\x83\xdc\x55\x4a"
   1917	"\xf8\x45\xc5\xe9\xfa\x6e\xae\x6e\xcf\x4d\x11\x91\x26\x16\x6f\x86"
   1918	"\x89\x78\xaa\xb4\x25\x54\xb2\x74\x07\xe5\x26\x26\x0c\xad\xa4\x57"
   1919	"\x59\x61\x66\x71\x43\x22\xff\x49\x51\xa4\x76\x0e\x55\x7b\x60\x45"
   1920	"\x4f\xaf\xbd\x9c\xec\x64\x3f\x80\x0b\x0c\x31\x41\xf0\xfe\x2c\xb7"
   1921	"\x0a\xbe\xa5\x71\x08\x0d\x8d\x1e\x8a\x77\x9a\xd2\x90\x31\x96\xd0"
   1922	"\x3b\x31\xdc\xc6\x18\x59\x43\xa1\x19\x5a\x84\x68\x29\xad\x5e\x58"
   1923	"\xa2\x50\x3e\x83\xf5\x7a\xbd\x88\x17\x60\x89\x98\x9c\x19\x89\x27"
   1924	"\x89\xfc\x33\x87\x42\xd5\xde\x19\x14\xf2\x95\x82\x10\x87\xad\x82"
   1925	"\xdd\x6b\x51\x2d\x8d\x0e\x81\x4b\xde\xb3\x35\x6c\x0f\x4b\x56\x45"
   1926	"\x48\x87\xe9\x5a\xf9\x70\x10\x30\x8e\xa1\xbb\xa4\x70\xbf\xa0\xab"
   1927	"\x10\x31\x3c\x2c\xdc\xc4\xed\xe3\x51\xdc\xee\xd2\xa5\x5c\x4e\x6e"
   1928	"\xf6\xed\x60\x5a\xeb\xf3\x02\x19\x2a\x95\xe9\x46\xff\x37\x1b\xf0"
   1929	"\x1d\x10\x4a\x8f\x4f\x3a\x6e\xf5\xfc\x02\x6d\x09\x7d\xea\x69\x7b"
   1930	"\x13\xb0\xb6\x80\x5c\x15\x20\xa8\x4d\x15\x56\x11\x72\x49\xdb\x48"
   1931	"\x54\x40\x66\xd5\xcd\x17\x3a\x26\x95\xf6\xd7\xf2\x59\xa3\xda\xbb"
   1932	"\x26\xd0\xe5\x46\xbf\xee\x0e\x7d\xf1\xe0\x11\x02\x4d\xd3\xdc\xe2"
   1933	"\x3f\xc2\x51\x7e\xc7\x90\x33\x3c\x1c\xa0\x4c\x69\xcc\x1e\xc7\xac"
   1934	"\x17\xe0\xe5\xf4\x8c\x05\x64\x34\xfe\x84\x70\xd7\x6b\xed\xab\xf5"
   1935	"\x88\x9d\x3e\x4c\x5a\x9e\xd4\x74\xfd\xdd\x91\xd5\xd4\xcb\xbf\xf8"
   1936	"\xb7\x56\xb5\xe9\x22\xa6\x6d\x7a\x44\x05\x41\xbf\xdb\x61\x28\xc6"
   1937	"\x99\x49\x87\x3d\x28\x77\xf8\x83\x23\x7e\xa9\xa7\xee\x20\xdb\x6d"
   1938	"\x21\x50\xb7\xc9\x52\x57\x53\xa3\xcf\xdf\xd0\xf9\xb9\x62\x96\x89"
   1939	"\xf5\x5c\xa9\x8a\x11\x95\x01\x25\xc9\x81\x15\x76\xae\xf0\xc7\xc5"
   1940	"\x50\xae\x6f\xb5\xd2\x8a\x8e\x9a\xd4\x30\x55\xc6\xe9\x2c\x81\x6e"
   1941	"\x95\xf6\x45\x89\x55\x28\x34\x7b\xe5\x72\x9a\x2a\xe2\x98\x09\x35"
   1942	"\xe0\xe9\x75\x94\xe9\x34\x95\xb9\x13\x6e\xd5\xa1\x62\x5a\x1c\x94"
   1943	"\x28\xed\x84\x46\x76\x6d\x10\x37\x71\xa3\x31\x46\x64\xe4\x59\x44"
   1944	"\x17\x70\x1c\x23\xc9\x7e\xf6\xab\x8a\x24\xae\x25\xe2\xb2\x5f\x33"
   1945	"\xe4\xd7\xd3\x34\x2a\x49\x22\x16\x15\x9b\x90\x40\xda\x99\xd5\xaf",
   1946	.expected_ss =
   1947	"\xe2\xce\x0e\x4b\x64\xf3\x84\x62\x38\xfd\xe3\x6f\x69\x40\x22\xb0"
   1948	"\x73\x27\x03\x12\x82\xa4\x6e\x03\x57\xec\x3d\xa0\xc1\x4f\x4b\x09"
   1949	"\xa1\xd4\xe0\x1a\x5d\x91\x2e\x08\xad\x57\xfa\xcc\x55\x90\x5f\xa0"
   1950	"\x52\x27\x62\x8d\xe5\x2d\xa1\x5f\xf0\x30\x43\x77\x4e\x3f\x02\x58"
   1951	"\xcb\xa0\x51\xae\x1d\x24\xf9\x0a\xd1\x36\x0b\x95\x0f\x07\xd9\xf7"
   1952	"\xe2\x36\x14\x2f\xf0\x11\xc2\xc9\xaf\x66\x4e\x0d\xb4\x60\x01\x4e"
   1953	"\xa8\x49\xc6\xec\x5f\xb2\xbc\x05\x48\x91\x4e\xe1\xc3\x99\x9f\xeb"
   1954	"\x4a\xc1\xde\x05\x9a\x65\x39\x7d\x2f\x89\x85\xb2\xcf\xec\x25\x27"
   1955	"\x5f\x1c\x11\x63\xcf\x7b\x86\x98\x39\xae\xc2\x16\x8f\x79\xd1\x20"
   1956	"\xd0\xb4\xa0\xba\x44\xd8\xf5\x3a\x0a\x08\x4c\xd1\xb9\xdd\x0a\x5b"
   1957	"\x9e\x62\xf3\x52\x0c\x84\x12\x43\x9b\xd7\xdf\x86\x71\x03\xdd\x04"
   1958	"\x98\x55\x0c\x7b\xe2\xe8\x03\x17\x25\x84\xd9\xbd\xe1\xce\x64\xbe"
   1959	"\xca\x55\xd4\x5b\xef\x61\x5b\x68\x4b\x80\x37\x40\xae\x28\x87\x81"
   1960	"\x55\x34\x96\x50\x21\x47\x49\xc0\xda\x26\x46\xb8\xe8\xcc\x5a\x27"
   1961	"\x9c\x9d\x0a\x3d\xcc\x4c\x63\x27\x81\x82\x2e\xf4\xa8\x91\x37\x3e"
   1962	"\xa7\x34\x6a\x0f\x60\x44\xdd\x2e\xdc\xf9\x19\xf2\x2e\x81\x05\x51"
   1963	"\x16\xbc\xc0\x85\xa5\xd5\x08\x09\x1f\xcd\xed\xa4\xc5\xdb\x16\x43"
   1964	"\xb5\x7a\x71\x66\x19\x2e\xef\x13\xbc\x40\x39\x0a\x00\x45\x7e\x61"
   1965	"\xe9\x68\x60\x83\x00\x70\xd1\x71\xd3\xa2\x61\x3e\x00\x46\x93\x0d"
   1966	"\xbf\xe6\xa2\x07\xe6\x40\x1a\xf4\x57\xc6\x67\x39\xd8\xd7\x6b\xc5"
   1967	"\xa5\xd8\x38\x78\x12\xb4\x97\x12\xbe\x97\x13\xef\xe4\x74\x0c\xe0"
   1968	"\x75\x89\x64\xf4\xe8\x85\xda\x84\x7b\x1d\xfe\xdd\x21\xba\xda\x01"
   1969	"\x52\xdc\x59\xe5\x47\x50\x7e\x15\x20\xd0\x43\x37\x6e\x48\x39\x00"
   1970	"\xee\xd9\x54\x6d\x00\x65\xc9\x4b\x85\xa2\x8a\x40\x55\xd0\x63\x0c"
   1971	"\xb5\x7a\x0d\x37\x67\x27\x73\x18\x7f\x5a\xf5\x0e\x22\xb9\xb0\x3f"
   1972	"\xda\xf1\xec\x7c\x24\x01\x49\xa9\x09\x0e\x0f\xc4\xa9\xef\xc8\x2b"
   1973	"\x13\xd1\x0a\x6f\xf8\x92\x4b\x1d\xdd\x6c\x9c\x35\xde\x75\x46\x32"
   1974	"\xe6\xfb\xda\x58\xba\x81\x08\xca\xa9\xb6\x69\x71\x96\x2a\x1f\x2e"
   1975	"\x25\xe0\x37\xfe\xee\x4d\x27\xaa\x04\xda\x95\xbb\x93\xcf\x8f\xa2"
   1976	"\x1d\x67\x35\xe3\x51\x8f\x87\x3b\xa9\x62\x05\xee\x44\xb7\x2e\xd0"
   1977	"\x07\x63\x32\xf5\xcd\x64\x18\x20\xcf\x22\x42\x28\x22\x1a\xa8\xbb"
   1978	"\x74\x8a\x6f\x2a\xea\x8a\x48\x0a\xad\xd7\xed\xba\xa3\x89\x37\x01",
   1979	.secret_size = 528,
   1980	.b_public_size = 512,
   1981	.expected_a_public_size = 512,
   1982	.expected_ss_size = 512,
   1983	},
   1984	{
   1985	.secret =
   1986#ifdef __LITTLE_ENDIAN
   1987	"\x01\x00" /* type */
   1988	"\x10\x00" /* len */
   1989	"\x00\x00\x00\x00" /* key_size */
   1990	"\x00\x00\x00\x00" /* p_size */
   1991	"\x00\x00\x00\x00", /* g_size */
   1992#else
   1993	"\x00\x01" /* type */
   1994	"\x00\x10" /* len */
   1995	"\x00\x00\x00\x00" /* key_size */
   1996	"\x00\x00\x00\x00" /* p_size */
   1997	"\x00\x00\x00\x00", /* g_size */
   1998#endif
   1999	.b_secret =
   2000#ifdef __LITTLE_ENDIAN
   2001	"\x01\x00" /* type */
   2002	"\x10\x02" /* len */
   2003	"\x00\x02\x00\x00" /* key_size */
   2004	"\x00\x00\x00\x00" /* p_size */
   2005	"\x00\x00\x00\x00" /* g_size */
   2006#else
   2007	"\x00\x01" /* type */
   2008	"\x02\x10" /* len */
   2009	"\x00\x00\x02\x00" /* key_size */
   2010	"\x00\x00\x00\x00" /* p_size */
   2011	"\x00\x00\x00\x00" /* g_size */
   2012#endif
   2013	/* xa */
   2014	"\x1a\x48\xf3\x6c\x61\x03\x42\x43\xd7\x42\x3b\xfa\xdb\x55\x6f\xa2"
   2015	"\xe1\x79\x52\x0b\x47\xc5\x03\x60\x2f\x26\xb9\x1a\x14\x15\x1a\xd9"
   2016	"\xe0\xbb\xa7\x82\x63\x41\xec\x26\x55\x00\xab\xe5\x21\x9d\x31\x14"
   2017	"\x0e\xe2\xc2\xb2\xb8\x37\xe6\xc3\x5a\xab\xae\x25\xdb\x71\x1e\xed"
   2018	"\xe8\x75\x9a\x04\xa7\x92\x2a\x99\x7e\xc0\x5b\x64\x75\x7f\xe5\xb5"
   2019	"\xdb\x6c\x95\x4f\xe9\xdc\x39\x76\x79\xb0\xf7\x00\x30\x8e\x86\xe7"
   2020	"\x36\xd1\xd2\x0c\x68\x7b\x94\xe9\x91\x85\x08\x86\xbc\x64\x87\xd2"
   2021	"\xf5\x5b\xaf\x03\xf6\x5f\x28\x25\xf1\xa3\x20\x5c\x1b\xb5\x26\x45"
   2022	"\x9a\x47\xab\xd6\xad\x49\xab\x92\x8e\x62\x6f\x48\x31\xea\xf6\x76"
   2023	"\xff\xa2\xb6\x28\x78\xef\x59\xc3\x71\x5d\xa8\xd9\x70\x89\xcc\xe2"
   2024	"\x63\x58\x5e\x3a\xa2\xa2\x88\xbf\x77\x20\x84\x33\x65\x64\x4e\x73"
   2025	"\xe5\x08\xd5\x89\x23\xd6\x07\xac\x29\x65\x2e\x02\xa8\x35\x96\x48"
   2026	"\xe7\x5d\x43\x6a\x42\xcc\xda\x98\xc4\x75\x90\x2e\xf6\xc4\xbf\xd4"
   2027	"\xbc\x31\x14\x0d\x54\x30\x11\xb2\xc9\xcf\xbb\xba\xbc\xc6\xf2\xcf"
   2028	"\xfe\x4a\x9d\xf3\xec\x78\x5d\x5d\xb4\x99\xd0\x67\x0f\x5a\x21\x1c"
   2029	"\x7b\x95\x2b\xcf\x49\x44\x94\x05\x1a\x21\x81\x25\x7f\xe3\x8a\x2a"
   2030	"\xdd\x88\xac\x44\x94\x23\x20\x3b\x75\xf6\x2a\x8a\x45\xf8\xb5\x1f"
   2031	"\xb9\x8b\xeb\xab\x9b\x38\x23\x26\xf1\x0f\x34\x47\x4f\x7f\xe1\x9e"
   2032	"\x84\x84\x78\xe5\xe3\x49\xeb\xcc\x2f\x02\x85\xa4\x18\x91\xde\x1a"
   2033	"\x60\x54\x33\x81\xd5\xae\xdb\x23\x9c\x4d\xa4\xdb\x22\x5b\xdf\xf4"
   2034	"\x8e\x05\x2b\x60\xba\xe8\x75\xfc\x34\x99\xcf\x35\xe1\x06\xba\xdc"
   2035	"\x79\x2a\x5e\xec\x1c\xbe\x79\x33\x63\x1c\xe7\x5f\x1e\x30\xd6\x1b"
   2036	"\xdb\x11\xb8\xea\x63\xff\xfe\x1a\x3c\x24\xf4\x78\x9c\xcc\x5d\x9a"
   2037	"\xc9\x2d\xc4\x9a\xd4\xa7\x65\x84\x98\xdb\x66\x76\xf0\x34\x31\x9f"
   2038	"\xce\xb5\xfb\x28\x07\xde\x1e\x0d\x9b\x01\x64\xeb\x2a\x37\x2f\x20"
   2039	"\xa5\x95\x72\x2b\x54\x51\x59\x91\xea\x50\x54\x0f\x2e\xb0\x1d\xf6"
   2040	"\xb9\x46\x43\xf9\xd0\x13\x21\x20\x47\x61\x1a\x1c\x30\xc6\x9e\x75"
   2041	"\x22\xe4\xf2\xb1\xab\x01\xdc\x5b\x3c\x1e\xa2\x6d\xc0\xb9\x9a\x2a"
   2042	"\x84\x61\xea\x85\x63\xa0\x77\xd0\xeb\x20\x68\xd5\x95\x6a\x1b\x8f"
   2043	"\x1f\x9a\xba\x44\x49\x8c\x77\xa6\xd9\xa0\x14\xf8\x7d\x9b\x4e\xfa"
   2044	"\xdc\x4f\x1c\x4d\x60\x50\x26\x7f\xd6\xc1\x91\x2b\xa6\x37\x5d\x94"
   2045	"\x69\xb2\x47\x59\xd6\xc3\x59\xbb\xd6\x9b\x71\x52\x85\x7a\xcb\x2d",
   2046	.b_public =
   2047	"\x1f\xff\xd6\xc4\x59\xf3\x4a\x9e\x81\x74\x4d\x27\xa7\xc6\x6b\x35"
   2048	"\xd8\xf5\xb3\x24\x97\x82\xe7\x2e\xf3\x21\x91\x23\x2f\x3d\x57\x7f"
   2049	"\x15\x8c\x84\x71\xe7\x25\x35\xe8\x07\x14\x06\x4c\x83\xdc\x55\x4a"
   2050	"\xf8\x45\xc5\xe9\xfa\x6e\xae\x6e\xcf\x4d\x11\x91\x26\x16\x6f\x86"
   2051	"\x89\x78\xaa\xb4\x25\x54\xb2\x74\x07\xe5\x26\x26\x0c\xad\xa4\x57"
   2052	"\x59\x61\x66\x71\x43\x22\xff\x49\x51\xa4\x76\x0e\x55\x7b\x60\x45"
   2053	"\x4f\xaf\xbd\x9c\xec\x64\x3f\x80\x0b\x0c\x31\x41\xf0\xfe\x2c\xb7"
   2054	"\x0a\xbe\xa5\x71\x08\x0d\x8d\x1e\x8a\x77\x9a\xd2\x90\x31\x96\xd0"
   2055	"\x3b\x31\xdc\xc6\x18\x59\x43\xa1\x19\x5a\x84\x68\x29\xad\x5e\x58"
   2056	"\xa2\x50\x3e\x83\xf5\x7a\xbd\x88\x17\x60\x89\x98\x9c\x19\x89\x27"
   2057	"\x89\xfc\x33\x87\x42\xd5\xde\x19\x14\xf2\x95\x82\x10\x87\xad\x82"
   2058	"\xdd\x6b\x51\x2d\x8d\x0e\x81\x4b\xde\xb3\x35\x6c\x0f\x4b\x56\x45"
   2059	"\x48\x87\xe9\x5a\xf9\x70\x10\x30\x8e\xa1\xbb\xa4\x70\xbf\xa0\xab"
   2060	"\x10\x31\x3c\x2c\xdc\xc4\xed\xe3\x51\xdc\xee\xd2\xa5\x5c\x4e\x6e"
   2061	"\xf6\xed\x60\x5a\xeb\xf3\x02\x19\x2a\x95\xe9\x46\xff\x37\x1b\xf0"
   2062	"\x1d\x10\x4a\x8f\x4f\x3a\x6e\xf5\xfc\x02\x6d\x09\x7d\xea\x69\x7b"
   2063	"\x13\xb0\xb6\x80\x5c\x15\x20\xa8\x4d\x15\x56\x11\x72\x49\xdb\x48"
   2064	"\x54\x40\x66\xd5\xcd\x17\x3a\x26\x95\xf6\xd7\xf2\x59\xa3\xda\xbb"
   2065	"\x26\xd0\xe5\x46\xbf\xee\x0e\x7d\xf1\xe0\x11\x02\x4d\xd3\xdc\xe2"
   2066	"\x3f\xc2\x51\x7e\xc7\x90\x33\x3c\x1c\xa0\x4c\x69\xcc\x1e\xc7\xac"
   2067	"\x17\xe0\xe5\xf4\x8c\x05\x64\x34\xfe\x84\x70\xd7\x6b\xed\xab\xf5"
   2068	"\x88\x9d\x3e\x4c\x5a\x9e\xd4\x74\xfd\xdd\x91\xd5\xd4\xcb\xbf\xf8"
   2069	"\xb7\x56\xb5\xe9\x22\xa6\x6d\x7a\x44\x05\x41\xbf\xdb\x61\x28\xc6"
   2070	"\x99\x49\x87\x3d\x28\x77\xf8\x83\x23\x7e\xa9\xa7\xee\x20\xdb\x6d"
   2071	"\x21\x50\xb7\xc9\x52\x57\x53\xa3\xcf\xdf\xd0\xf9\xb9\x62\x96\x89"
   2072	"\xf5\x5c\xa9\x8a\x11\x95\x01\x25\xc9\x81\x15\x76\xae\xf0\xc7\xc5"
   2073	"\x50\xae\x6f\xb5\xd2\x8a\x8e\x9a\xd4\x30\x55\xc6\xe9\x2c\x81\x6e"
   2074	"\x95\xf6\x45\x89\x55\x28\x34\x7b\xe5\x72\x9a\x2a\xe2\x98\x09\x35"
   2075	"\xe0\xe9\x75\x94\xe9\x34\x95\xb9\x13\x6e\xd5\xa1\x62\x5a\x1c\x94"
   2076	"\x28\xed\x84\x46\x76\x6d\x10\x37\x71\xa3\x31\x46\x64\xe4\x59\x44"
   2077	"\x17\x70\x1c\x23\xc9\x7e\xf6\xab\x8a\x24\xae\x25\xe2\xb2\x5f\x33"
   2078	"\xe4\xd7\xd3\x34\x2a\x49\x22\x16\x15\x9b\x90\x40\xda\x99\xd5\xaf",
   2079	.secret_size = 16,
   2080	.b_secret_size = 528,
   2081	.b_public_size = 512,
   2082	.expected_a_public_size = 512,
   2083	.expected_ss_size = 512,
   2084	.genkey = true,
   2085	},
   2086};
   2087
   2088static const struct kpp_testvec ffdhe6144_dh_tv_template[] __maybe_unused = {
   2089	{
   2090	.secret =
   2091#ifdef __LITTLE_ENDIAN
   2092	"\x01\x00" /* type */
   2093	"\x10\x03" /* len */
   2094	"\x00\x03\x00\x00" /* key_size */
   2095	"\x00\x00\x00\x00" /* p_size */
   2096	"\x00\x00\x00\x00" /* g_size */
   2097#else
   2098	"\x00\x01" /* type */
   2099	"\x03\x10" /* len */
   2100	"\x00\x00\x03\x00" /* key_size */
   2101	"\x00\x00\x00\x00" /* p_size */
   2102	"\x00\x00\x00\x00" /* g_size */
   2103#endif
   2104	/* xa */
   2105	"\x63\x3e\x6f\xe0\xfe\x9f\x4a\x01\x62\x77\xce\xf1\xc7\xcc\x49\x4d"
   2106	"\x92\x53\x56\xe3\x39\x15\x81\xb2\xcd\xdc\xaf\x5e\xbf\x31\x1f\x69"
   2107	"\xce\x41\x35\x24\xaa\x46\x53\xb5\xb7\x3f\x2b\xad\x95\x14\xfb\xe4"
   2108	"\x9a\x61\xcd\x0f\x1f\x02\xee\xa4\x79\x2c\x9d\x1a\x7c\x62\x82\x39"
   2109	"\xdd\x43\xcc\x58\x9f\x62\x47\x56\x1d\x0f\xc2\x67\xbc\x24\xd0\xf9"
   2110	"\x0a\x50\x1b\x10\xe7\xbb\xd1\xc2\x01\xbb\xc4\x4c\xda\x12\x60\x0e"
   2111	"\x95\x2b\xde\x09\xd6\x67\xe1\xbc\x4c\xb9\x67\xdf\xd0\x1f\x97\xb4"
   2112	"\xde\xcb\x6b\x78\x83\x51\x74\x33\x01\x7f\xf6\x0a\x95\x69\x93\x00"
   2113	"\x2a\xc3\x75\x8e\xef\xbe\x53\x11\x6d\xc4\xd0\x9f\x6d\x63\x48\xc1"
   2114	"\x91\x1f\x7d\x88\xa7\x90\x78\xd1\x7e\x52\x42\x10\x01\xb4\x27\x95"
   2115	"\x91\x43\xcc\x82\x91\x86\x62\xa0\x9d\xef\x65\x6e\x67\xcf\x19\x11"
   2116	"\x35\x37\x5e\x94\x97\x83\xa6\x83\x1c\x7e\x8a\x3e\x32\xb0\xce\xff"
   2117	"\x20\xdc\x7b\x6e\x18\xd9\x6b\x27\x31\xfc\xc3\xef\x47\x8d\xbe\x34"
   2118	"\x2b\xc7\x60\x74\x3c\x93\xb3\x8e\x54\x77\x4e\x73\xe6\x40\x72\x35"
   2119	"\xb0\xf0\x06\x53\x43\xbe\xd0\xc3\x87\xcc\x38\x96\xa9\x10\xa0\xd6"
   2120	"\x17\xed\xa5\x6a\xf4\xf6\xaa\x77\x40\xed\x7d\x2e\x58\x0f\x5b\x04"
   2121	"\x5a\x41\x12\x95\x22\xcb\xa3\xce\x8b\x6d\x6d\x89\xec\x7c\x1d\x25"
   2122	"\x27\x52\x50\xa0\x5b\x93\x8c\x5d\x3f\x56\xb9\xa6\x5e\xe5\xf7\x9b"
   2123	"\xc7\x9a\x4a\x2e\x79\xb5\xca\x29\x58\x52\xa0\x63\xe4\x9d\xeb\x4c"
   2124	"\x4c\xa8\x37\x0b\xe9\xa0\x18\xf1\x86\xf6\x4d\x32\xfb\x9e\x4f\xb3"
   2125	"\x7b\x5d\x58\x78\x70\xbd\x56\xac\x99\x75\x25\x71\x66\x76\x4e\x5e"
   2126	"\x67\x4f\xb1\x17\xa7\x8b\x55\x12\x87\x01\x4e\xd1\x66\xef\xd0\x70"
   2127	"\xaf\x14\x34\xee\x2a\x76\x49\x25\xa6\x2e\x43\x37\x75\x7d\x1a\xad"
   2128	"\x08\xd5\x01\x85\x9c\xe1\x20\xd8\x38\x5c\x57\xa5\xed\x9d\x46\x3a"
   2129	"\xb7\x46\x60\x29\x8b\xc4\x21\x50\x0a\x30\x9c\x57\x42\xe4\x35\xf8"
   2130	"\x12\x5c\x4f\xa2\x20\xc2\xc9\x43\xe3\x6d\x20\xbc\xdf\xb8\x37\x33"
   2131	"\x45\x43\x06\x4e\x08\x6f\x8a\xcd\x61\xc3\x1b\x05\x28\x82\xbe\xf0"
   2132	"\x48\x33\xe5\x93\xc9\x1a\x61\x16\x67\x03\x9d\x47\x9d\x74\xeb\xae"
   2133	"\x13\xf2\xb4\x1b\x09\x11\xf5\x15\xcb\x28\xfd\x50\xe0\xbc\x58\x36"
   2134	"\x38\x91\x2c\x07\x27\x1f\x49\x68\xf4\xce\xad\xf7\xba\xec\x5d\x3d"
   2135	"\xfd\x27\xe2\xcf\xf4\x56\xfe\x08\xa6\x11\x61\xcb\x6c\x9f\xf9\x3c"
   2136	"\x57\x0b\x8b\xaa\x00\x16\x18\xba\x1f\xe8\x4f\x01\xe2\x79\x2a\x0b"
   2137	"\xc1\xbd\x52\xef\xe6\xf7\x5a\x66\xfe\x07\x3b\x50\x6b\xbb\xcb\x39"
   2138	"\x3c\x94\xf6\x21\x0d\x68\x69\xa4\xed\x2e\xb5\x85\x03\x11\x38\x79"
   2139	"\xec\xb5\x22\x23\xdf\x9e\xad\xb4\xbe\xd7\xc7\xdf\xea\x30\x23\x8a"
   2140	"\xb7\x21\x0a\x9d\xbd\x99\x13\x7d\x5f\x7e\xaf\x28\x54\x3f\xca\x5e"
   2141	"\xf4\xfc\x05\x0d\x65\x67\xd8\xf6\x8e\x90\x9d\x0d\xcf\x62\x82\xd6"
   2142	"\x9f\x02\xf8\xca\xfa\x42\x24\x7f\x4d\xb7\xfc\x92\xa6\x4a\x51\xc4"
   2143	"\xd8\xae\x19\x87\xc6\xa3\x83\xbe\x7b\x6d\xc3\xf5\xb8\xad\x4a\x05"
   2144	"\x78\x84\x3a\x15\x2e\x40\xbe\x79\xa9\xc0\x12\xa1\x48\x39\xc3\xdb"
   2145	"\x47\x4f\x7d\xea\x6d\xc7\xfa\x2c\x4e\xe9\xa5\x85\x81\xea\x6c\xcd"
   2146	"\x8a\xe5\x74\x17\x76\x31\x31\x75\x96\x83\xca\x81\xbb\x5c\xa9\x79"
   2147	"\x2c\xbd\x09\xfe\xe4\x86\x0d\x8c\x76\x9c\xbc\xe8\x93\xe4\xd0\xe4"
   2148	"\x0f\xf8\xff\x24\x7e\x66\x61\x69\xfb\xe4\x46\x08\x94\x99\xa5\x53"
   2149	"\xd7\xe4\x29\x72\x86\x86\xe8\x1d\x37\xfa\xcb\xd0\x8d\x51\xd0\xbf"
   2150	"\x81\xcf\x55\xb9\xc5\x78\x8c\x74\xa0\x16\x3a\xd2\x19\x94\x29\x6a"
   2151	"\x5e\xec\xd3\x20\xa0\xb2\xfd\xce\xd4\x14\xa3\x39\x10\xa9\xf4\x4e"
   2152	"\xba\x21\x09\x5c\xe6\x61\x43\x51\xae\xc4\x71\xd7\x21\xef\x98\x39",
   2153	.b_public =
   2154	"\x30\x31\xbe\x43\xd0\x14\x22\x6b\x4b\x8c\x9a\xca\xc6\xdd\xe5\x99"
   2155	"\xce\xb8\x30\x23\xb6\xa8\x8c\x4d\xfa\xef\xad\xa6\x6a\x21\x50\xa6"
   2156	"\x45\x2d\x19\x2a\x29\x81\xc5\xac\xb4\xa8\x5f\x6d\x5b\xc8\x5f\x12"
   2157	"\x35\x21\xfb\x37\xaa\x0c\x79\xeb\xd4\x83\x01\xda\xa3\xf3\x51\x6e"
   2158	"\x17\xf9\xef\x3f\xbd\x2f\xd2\x43\x82\x12\x48\xeb\x61\x4c\x8e\xf2"
   2159	"\x6c\x76\xf9\x6d\x42\x2a\xcb\x10\x13\x3b\xf6\x9b\xcd\x46\x1e\xa2"
   2160	"\xa7\x2c\x08\x56\xd2\x42\xf5\x03\xf0\x3e\xef\xa2\xa2\xf2\x4c\xf2"
   2161	"\xdb\x4f\xeb\x40\x15\x53\x27\xf7\xd4\x8e\x58\x23\xf5\x2c\x88\x04"
   2162	"\x1e\xb1\xb6\xe3\xd6\x9c\x49\x08\xa1\x4b\xb8\x33\xe4\x75\x85\xa1"
   2163	"\x86\x97\xce\x1d\xe9\x9f\xe2\xd8\xf2\x7e\xad\xdc\x8a\x4d\xbd\x06"
   2164	"\x52\x00\x9a\x2c\x69\xdd\x02\x0c\x69\x5a\xf9\x1d\xfd\xdc\xfb\x82"
   2165	"\xb2\xe5\xf3\x24\xba\xd1\x09\x76\x90\xb5\x7a\x92\xa6\x6b\x97\xc0"
   2166	"\xce\x13\x9b\x4b\xbc\x30\x91\xb2\x13\x8b\x57\x6c\x8b\x66\x6e\x58"
   2167	"\x3e\x91\x50\xc7\x6c\xe1\x18\xec\xbf\x69\xcd\xcb\xa0\xbc\x0d\x05"
   2168	"\xc4\xf8\x45\x92\xe0\x05\xd3\x08\xb3\x30\x19\xc8\x80\xf8\x17\x9f"
   2169	"\x1e\x6a\x49\x8e\x43\xef\x7a\x49\xa5\x93\xd9\xed\xd1\x07\x03\xe4"
   2170	"\xa3\x55\xeb\x1e\x2f\x69\xd7\x40\x8f\x6e\x1c\xb6\x94\xfb\xba\x4e"
   2171	"\x46\xd0\x38\x71\x00\x88\x93\x6a\x55\xfc\x16\x95\x1f\xb1\xf6\x2f"
   2172	"\x26\x45\x50\x54\x30\x62\x62\xe8\x80\xe5\x24\x0b\xe4\x15\x6b\x32"
   2173	"\x16\xc2\x30\x9b\x56\xb4\xc9\x5e\x50\xb4\x27\x82\x86\x01\xda\x68"
   2174	"\x44\x4b\x15\x81\x31\x13\x52\xd8\x08\xbc\xae\xf3\xa5\x94\x1c\x81"
   2175	"\xe8\x42\xd6\x42\xd6\xff\x99\x58\x0f\x61\x3e\x82\x9e\x2d\x13\x03"
   2176	"\x54\x02\x74\xf4\x6b\x43\x43\xce\x54\x44\x36\x3f\x55\xfa\xb2\x56"
   2177	"\xdc\xac\xb5\x65\x89\xbe\x36\xd2\x58\x65\x79\x4c\xf3\xe2\x01\xf1"
   2178	"\x69\x96\x29\x20\x5d\xee\xf5\x8a\x8b\x9f\x72\xf7\x27\x02\xde\x3b"
   2179	"\xc7\x52\x19\xdc\x8e\x22\x36\x09\x14\x59\x07\xbb\x1e\x49\x69\x4f"
   2180	"\x00\x7b\x9a\x5d\x23\xe9\xbe\x0d\x52\x90\xa3\x0d\xde\xe7\x80\x57"
   2181	"\x53\x69\x39\xe6\xf8\x33\xeb\x92\x0d\x9e\x04\x8b\x16\x16\x16\x1c"
   2182	"\xa9\xe6\xe3\x0e\x0a\xc6\xf6\x61\xd1\x44\x2b\x3e\x5e\x02\xfe\xaa"
   2183	"\xe3\xf3\x8f\xf9\xc8\x20\x37\xad\xbc\x95\xb8\xc5\xe7\x95\xda\xfb"
   2184	"\x80\x5b\xf6\x40\x28\xae\xc1\x4c\x09\xde\xff\x1e\xbf\x51\xd2\xfe"
   2185	"\x08\xdc\xb0\x48\x21\xf5\x4c\x43\xdc\x7b\x69\x83\xc8\x69\x5c\xc4"
   2186	"\xa9\x98\x76\x4b\xc4\x4a\xac\x1d\xa5\x52\xe3\x35\x43\xdd\x30\xd4"
   2187	"\xa0\x51\x9c\xc2\x62\x4c\x7e\xa5\xfb\xd3\x2c\x8a\x09\x7f\x53\xa3"
   2188	"\xcd\xca\x58\x1b\x4c\xaf\xba\x21\x8b\x88\x1d\xc0\xe9\x0a\x17\x30"
   2189	"\x33\xd6\xa2\xa5\x49\x50\x61\x3b\xff\x37\x71\x66\xef\x61\xbc\xb2"
   2190	"\x53\x82\xe5\x70\xef\x32\xff\x9d\x97\xe0\x82\xe0\xbb\x49\xc2\x29"
   2191	"\x58\x89\xdd\xe9\x62\x52\xfb\xba\x22\xa6\xd9\x16\xfa\x55\xb3\x06"
   2192	"\xed\x6d\x70\x6e\xdc\x47\x7c\x67\x1a\xcc\x27\x98\xd4\xd7\xe6\xf0"
   2193	"\xf8\x9f\x51\x3e\xf0\xee\xad\xb6\x78\x69\x71\xb5\xcb\x09\xa3\xa6"
   2194	"\x3f\x29\x24\x46\xe0\x65\xbc\x9f\x6c\xe9\xf9\x49\x49\x96\x75\xe5"
   2195	"\xe1\xff\x82\x70\xf4\x7e\xff\x8f\xec\x47\x98\x6d\x5b\x88\x60\xee"
   2196	"\x43\xb1\xe2\x14\xc1\x49\x95\x74\x46\xd3\x3f\x73\xb2\xe9\x88\xe0"
   2197	"\xd3\xb1\xc4\x2c\xef\xee\xdd\x6c\xc5\xa1\x29\xef\x86\xd2\x36\x8a"
   2198	"\x2f\x7c\x9d\x28\x0a\x6d\xc9\x5a\xdb\xd4\x04\x06\x36\x96\x09\x03"
   2199	"\x71\x5d\x38\x67\xa2\x08\x2a\x04\xe7\xd6\x51\x5a\x19\x9d\xe7\xf1"
   2200	"\x5d\x6f\xe2\xff\x48\x37\xb7\x8b\xb1\x14\xb4\x96\xcd\xf0\xa7\xbd"
   2201	"\xef\x20\xff\x0a\x8d\x08\xb7\x15\x98\x5a\x13\xd2\xda\x2a\x27\x75",
   2202	.expected_a_public =
   2203	"\x45\x96\x5a\xb7\x78\x5c\xa4\x4d\x39\xb2\x5f\xc8\xc2\xaa\x1a\xf4"
   2204	"\xa6\x68\xf6\x6f\x7e\xa8\x4a\x5b\x0e\xba\x0a\x99\x85\xf9\x63\xd4"
   2205	"\x58\x21\x6d\xa8\x3c\xf4\x05\x10\xb0\x0d\x6f\x1c\xa0\x17\x85\xae"
   2206	"\x68\xbf\xcc\x00\xc8\x86\x1b\x24\x31\xc9\x49\x23\x91\xe0\x71\x29"
   2207	"\x06\x39\x39\x93\x49\x9c\x75\x18\x1a\x8b\x61\x73\x1c\x7f\x37\xd5"
   2208	"\xf1\xab\x20\x5e\x62\x25\xeb\x58\xd5\xfa\xc9\x7f\xad\x57\xd5\xcc"
   2209	"\x0d\xc1\x7a\x2b\x33\x2a\x76\x84\x33\x26\x97\xcf\x47\x9d\x72\x2a"
   2210	"\xc9\x39\xde\xa8\x42\x27\x2d\xdc\xee\x00\x60\xd2\x4f\x13\xe0\xde"
   2211	"\xd5\xc7\xf6\x7d\x8b\x2a\x43\x49\x40\x99\xc2\x61\x84\x8e\x57\x09"
   2212	"\x7c\xcc\x19\x46\xbd\x4c\xd2\x7c\x7d\x02\x4d\x88\xdf\x58\x24\x80"
   2213	"\xeb\x19\x3b\x2a\x13\x2b\x19\x85\x3c\xd8\x31\x03\x00\xa4\xd4\x57"
   2214	"\x23\x2c\x24\x37\xb3\x62\xea\x35\x29\xd0\x2c\xac\xfd\xbd\xdf\x3d"
   2215	"\xa6\xce\xfa\x0d\x5b\xb6\x15\x8b\xe3\x58\xe9\xad\x99\x87\x29\x51"
   2216	"\x8d\x97\xd7\xa9\x55\xf0\x72\x6e\x4e\x58\xcb\x2b\x4d\xbd\xd0\x48"
   2217	"\x7d\x14\x86\xdb\x3f\xa2\x5f\x6e\x35\x4a\xe1\x70\xb1\x53\x72\xb7"
   2218	"\xbc\xe9\x3d\x1b\x33\xc0\x54\x6f\x43\x55\x76\x85\x7f\x9b\xa5\xb3"
   2219	"\xc1\x1d\xd3\xfe\xe2\xd5\x96\x3d\xdd\x92\x04\xb1\xad\x75\xdb\x13"
   2220	"\x4e\x49\xfc\x35\x34\xc5\xda\x13\x98\xb8\x12\xbe\xda\x90\x55\x7c"
   2221	"\x11\x6c\xbe\x2b\x8c\x51\x29\x23\xc1\x51\xbc\x0c\x1c\xe2\x20\xfc"
   2222	"\xfe\xf2\xaa\x71\x9b\x21\xdf\x25\x1f\x68\x21\x7e\xe1\xc9\x87\xa0"
   2223	"\x20\xf6\x8d\x4f\x27\x8c\x3c\x0f\x9d\xf4\x69\x25\xaa\x49\xab\x94"
   2224	"\x22\x5a\x92\x3a\xba\xb4\xc2\x8c\x5a\xaa\x04\xbf\x46\xc5\xaa\x93"
   2225	"\xab\x0d\xe9\x54\x6c\x3a\x64\xa6\xa2\x21\x66\xee\x1c\x10\x21\x84"
   2226	"\xf2\x9e\xcc\x57\xac\xc2\x25\x62\xad\xbb\x59\xef\x25\x61\x6c\x81"
   2227	"\x38\x8a\xdc\x8c\xeb\x7b\x18\x1d\xaf\xa9\xc5\x9a\xf4\x49\x26\x8a"
   2228	"\x25\xc4\x3e\x31\x95\x28\xef\xf7\x72\xe9\xc5\xaa\x59\x72\x2b\x67"
   2229	"\x47\xe8\x6b\x51\x05\x24\xb8\x18\xb3\x34\x0f\x8c\x2b\x80\xba\x61"
   2230	"\x1c\xbe\x9e\x9a\x7c\xe3\x60\x5e\x49\x02\xff\x50\x8a\x64\x28\x64"
   2231	"\x46\x7b\x83\x14\x72\x6e\x59\x9b\x56\x09\xb4\xf0\xde\x52\xc3\xf3"
   2232	"\x58\x17\x6a\xae\xb1\x0f\xf4\x39\xcc\xd8\xce\x4d\xe1\x51\x17\x88"
   2233	"\xe4\x98\xd9\xd1\xa9\x55\xbc\xbf\x7e\xc4\x51\x96\xdb\x44\x1d\xcd"
   2234	"\x8d\x74\xad\xa7\x8f\x87\x83\x75\xfc\x36\xb7\xd2\xd4\x89\x16\x97"
   2235	"\xe4\xc6\x2a\xe9\x65\xc8\xca\x1c\xbd\x86\xaf\x57\x80\xf7\xdd\x42"
   2236	"\xc0\x3b\x3f\x87\x51\x02\x2f\xf8\xd8\x68\x0f\x3d\x95\x2d\xf1\x67"
   2237	"\x09\xa6\x5d\x0b\x7e\x01\xb4\xb2\x32\x01\xa8\xd0\x58\x0d\xe6\xa2"
   2238	"\xd8\x4b\x22\x10\x7d\x11\xf3\xc2\x4e\xb8\x43\x8e\x31\x79\x59\xe2"
   2239	"\xc4\x96\x29\x17\x40\x06\x0d\xdf\xdf\xc3\x02\x30\x2a\xd1\x8e\xf2"
   2240	"\xee\x2d\xd2\x12\x63\x5a\x1d\x3c\xba\x4a\xc4\x56\x90\xc6\x12\x0b"
   2241	"\xe0\x04\x3f\x35\x59\x8e\x40\x75\xf4\x4c\x10\x61\xb9\x30\x89\x7c"
   2242	"\x8d\x0e\x25\xb7\x5a\x6b\x97\x05\xc6\x37\x80\x6e\x94\x56\xa8\x5f"
   2243	"\x03\x94\x59\xc8\xc5\x3e\xdc\x23\xe5\x68\x4f\xd7\xbb\x6d\x7e\xc1"
   2244	"\x8d\xf9\xcc\x3f\x38\xad\x77\xb3\x18\x61\xed\x04\xc0\x71\xa7\x96"
   2245	"\xb1\xaf\x1d\x69\x78\xda\x6d\x89\x8b\x50\x75\x99\x44\xb3\xb2\x75"
   2246	"\xd1\xc8\x14\x40\xa1\x0a\xbf\xc4\x45\xc4\xee\x12\x90\x76\x26\x64"
   2247	"\xb7\x73\x2e\x0b\x0c\xfa\xc3\x55\x29\x24\x1b\x7a\x00\x27\x07\x26"
   2248	"\x36\xf0\x38\x1a\xe3\xb7\xc4\x8d\x1c\x9c\xa9\xc0\xc1\x45\x91\x9e"
   2249	"\x86\xdd\x82\x94\x45\xfa\xcd\x5a\x19\x12\x7d\xef\xda\x17\xad\x21"
   2250	"\x17\x89\x8b\x45\xa7\xf5\xed\x51\x9e\x58\x13\xdc\x84\xa4\xe6\x37",
   2251	.expected_ss =
   2252	"\x9a\x9c\x1c\xb7\x73\x2f\xf2\x12\xed\x59\x01\xbb\x75\xf7\xf5\xe4"
   2253	"\xa0\xa8\xbc\x3f\x3f\xb6\xf7\x74\x6e\xc4\xba\x6d\x6c\x4d\x93\x31"
   2254	"\x2b\xa7\xa4\xb3\x47\x8f\x77\x04\xb5\xa5\xab\xca\x6b\x5a\xe2\x86"
   2255	"\x02\x60\xca\xb4\xd7\x5e\xe0\x0f\x73\xdd\xa2\x38\x7c\xae\x0f\x5a"
   2256	"\x1a\xd7\xfd\xb6\xc8\x6f\xdd\xe0\x98\xd5\x07\xea\x1f\x2a\xbb\x9e"
   2257	"\xef\x01\x24\x04\xee\xf5\x89\xb1\x12\x26\x54\x95\xef\xcb\x84\xe9"
   2258	"\xae\x05\xef\x63\x25\x15\x65\x79\x79\x79\x91\xc3\x76\x72\xb4\x85"
   2259	"\x86\xd9\xd3\x03\xb0\xff\x04\x96\x05\x3c\xde\xbf\x47\x34\x76\x70"
   2260	"\x17\xd2\x24\x83\xb9\xbb\xcf\x70\x7c\xb8\xc6\x7b\x4e\x01\x86\x36"
   2261	"\xc7\xc5\xe5\x8b\x7c\x69\x74\x9a\xfe\x1f\x58\x85\x0f\x00\xf8\x4e"
   2262	"\xf1\x56\xdc\xd1\x11\x28\x2c\xcf\x6c\xb9\xc9\x57\x17\x2e\x19\x19"
   2263	"\x55\xb3\x4c\xd8\xfb\xe7\x6f\x70\x63\xf9\x53\x45\xdd\xd5\x62\x95"
   2264	"\xd3\x7d\x7e\xa0\x00\x1a\x62\x9f\x96\x0a\x5d\x0a\x25\x02\xbb\xff"
   2265	"\x5a\xe8\x9e\x5a\x66\x08\x93\xbc\x92\xaf\xd2\x28\x04\x97\xc1\x54"
   2266	"\xfe\xcc\x0a\x25\xa2\xf4\x1d\x5a\x9a\xb1\x3e\x9c\xba\x78\xe2\xcf"
   2267	"\x71\x70\xe3\x40\xea\xba\x69\x9b\x03\xdd\x99\x26\x09\x84\x9d\x69"
   2268	"\x4d\x3d\x0b\xe9\x3f\x51\xcd\x05\xe5\x00\xaf\x2c\xd3\xf6\xc0\x68"
   2269	"\xb5\x23\x53\x33\x14\xbd\x39\x1c\xbd\x1b\xe6\x72\x90\xcc\xc2\x86"
   2270	"\x1a\x42\x83\x55\xb3\xed\x0b\x62\x6d\x0e\xbb\x9e\x2a\x42\x32\x05"
   2271	"\x3f\xf2\x2c\xc8\x9f\x3c\xd2\xb1\x0b\xb6\x4c\xa0\x22\x36\xee\xb9"
   2272	"\x55\x23\x3e\x80\xc7\x28\x7c\x39\x11\xd3\x4a\x96\x2e\xef\x52\x34"
   2273	"\xf2\xda\xb1\xc6\xf5\x02\x10\xbf\x56\x6b\x50\x56\xcd\x2c\xfe\xe1"
   2274	"\x94\x14\x19\x24\x6e\x9a\xdf\x0c\xb8\xe2\xb8\xd5\xa3\xc1\x22\x8e"
   2275	"\x84\x92\x00\x16\xf1\x3f\x83\xf6\x36\x31\xa5\x38\xc6\xcf\xf8\x9b"
   2276	"\x03\xc7\x6f\xb9\xa1\x04\xdf\x20\x0f\x0b\x0f\x70\xff\x57\x36\x7f"
   2277	"\xb3\x6b\xcb\x8f\x48\xf7\xb2\xdb\x85\x05\xd1\xfe\x34\x05\xf6\x57"
   2278	"\xb4\x5b\xcc\x3f\x0e\xba\x36\x59\xb0\xfd\x4d\xf6\xf4\x5e\xd2\x65"
   2279	"\x1d\x98\x87\xb4\x5e\xff\x29\xaa\x84\x9b\x44\x0f\x06\x36\x61\xbd"
   2280	"\xdb\x51\xda\x56\xc2\xd6\x19\xe2\x57\x4f\xd0\x29\x71\xc8\xe4\xd6"
   2281	"\xfb\x8c\xd0\xfc\x4f\x25\x09\xa6\xfc\x67\xe2\xb8\xac\xd3\x88\x8f"
   2282	"\x1f\xf6\xa1\xe3\x45\xa6\x34\xe3\xb1\x6b\xb7\x37\x0e\x06\xc7\x63"
   2283	"\xde\xac\x3b\xac\x07\x91\x64\xcc\x12\x10\x46\x85\x14\x0b\x6b\x03"
   2284	"\xba\x4a\x85\xae\xc5\x8c\xa5\x9d\x36\x38\x33\xca\x42\x9c\x4b\x0c"
   2285	"\x46\xe1\x77\xe9\x1f\x80\xfe\xb7\x1d\x5a\xf4\xc6\x11\x26\x78\xea"
   2286	"\x81\x25\x77\x47\xed\x8b\x59\xc2\x6b\x49\xff\x83\x56\xec\xa5\xf0"
   2287	"\xe0\x8b\x15\xd4\x99\x40\x2a\x65\x2a\x98\xf4\x71\x35\x63\x84\x08"
   2288	"\x4d\xcd\x71\x85\x55\xbc\xa4\x1c\x90\x93\x03\x41\xde\xed\x78\x62"
   2289	"\x07\x30\x50\xac\x60\x21\x06\xc3\xab\xa4\x04\xc0\xc2\x32\x07\xc4"
   2290	"\x1f\x2f\xec\xe2\x32\xbf\xbe\x5e\x50\x5b\x2a\x19\x71\x44\x37\x76"
   2291	"\x8b\xbc\xdb\x73\x98\x65\x78\xc9\x33\x97\x7e\xdc\x60\xa8\x87\xf2"
   2292	"\xb5\x96\x55\x7f\x44\x07\xcb\x3b\xf3\xd7\x82\xfd\x77\x21\x82\x21"
   2293	"\x1a\x8b\xa2\xf5\x1f\x66\xd0\x57\x00\x4f\xa9\xa5\x33\xb8\x69\x91"
   2294	"\xe8\x2e\xf7\x73\x47\x89\x30\x9b\xb1\xfd\xe1\x5d\x11\xfd\x84\xd9"
   2295	"\xa2\x91\x1f\x8a\xa7\x7a\x77\x8e\x3b\x10\x1d\x0a\x59\x50\x34\xb0"
   2296	"\xc3\x90\x9f\x56\xb7\x43\xeb\x51\x99\x2b\x8e\x6d\x7b\x58\xe7\xc0"
   2297	"\x7f\x3d\xa0\x27\x50\xf2\x6e\xc8\x1e\x7f\x84\xb3\xe1\xf7\x09\x85"
   2298	"\xd2\x9b\x56\x6b\xba\xa5\x19\x2e\xec\xd8\x5c\xf5\x4e\x43\x36\x2e"
   2299	"\x89\x85\x41\x7f\x9c\x91\x2e\x62\xc3\x41\xcf\x0e\xa1\x7f\xeb\x50",
   2300	.secret_size = 784,
   2301	.b_public_size = 768,
   2302	.expected_a_public_size = 768,
   2303	.expected_ss_size = 768,
   2304	},
   2305	{
   2306	.secret =
   2307#ifdef __LITTLE_ENDIAN
   2308	"\x01\x00" /* type */
   2309	"\x10\x00" /* len */
   2310	"\x00\x00\x00\x00" /* key_size */
   2311	"\x00\x00\x00\x00" /* p_size */
   2312	"\x00\x00\x00\x00", /* g_size */
   2313#else
   2314	"\x00\x01" /* type */
   2315	"\x00\x10" /* len */
   2316	"\x00\x00\x00\x00" /* key_size */
   2317	"\x00\x00\x00\x00" /* p_size */
   2318	"\x00\x00\x00\x00", /* g_size */
   2319#endif
   2320	.b_secret =
   2321#ifdef __LITTLE_ENDIAN
   2322	"\x01\x00" /* type */
   2323	"\x10\x03" /* len */
   2324	"\x00\x03\x00\x00" /* key_size */
   2325	"\x00\x00\x00\x00" /* p_size */
   2326	"\x00\x00\x00\x00" /* g_size */
   2327#else
   2328	"\x00\x01" /* type */
   2329	"\x03\x10" /* len */
   2330	"\x00\x00\x03\x00" /* key_size */
   2331	"\x00\x00\x00\x00" /* p_size */
   2332	"\x00\x00\x00\x00" /* g_size */
   2333#endif
   2334	/* xa */
   2335	"\x63\x3e\x6f\xe0\xfe\x9f\x4a\x01\x62\x77\xce\xf1\xc7\xcc\x49\x4d"
   2336	"\x92\x53\x56\xe3\x39\x15\x81\xb2\xcd\xdc\xaf\x5e\xbf\x31\x1f\x69"
   2337	"\xce\x41\x35\x24\xaa\x46\x53\xb5\xb7\x3f\x2b\xad\x95\x14\xfb\xe4"
   2338	"\x9a\x61\xcd\x0f\x1f\x02\xee\xa4\x79\x2c\x9d\x1a\x7c\x62\x82\x39"
   2339	"\xdd\x43\xcc\x58\x9f\x62\x47\x56\x1d\x0f\xc2\x67\xbc\x24\xd0\xf9"
   2340	"\x0a\x50\x1b\x10\xe7\xbb\xd1\xc2\x01\xbb\xc4\x4c\xda\x12\x60\x0e"
   2341	"\x95\x2b\xde\x09\xd6\x67\xe1\xbc\x4c\xb9\x67\xdf\xd0\x1f\x97\xb4"
   2342	"\xde\xcb\x6b\x78\x83\x51\x74\x33\x01\x7f\xf6\x0a\x95\x69\x93\x00"
   2343	"\x2a\xc3\x75\x8e\xef\xbe\x53\x11\x6d\xc4\xd0\x9f\x6d\x63\x48\xc1"
   2344	"\x91\x1f\x7d\x88\xa7\x90\x78\xd1\x7e\x52\x42\x10\x01\xb4\x27\x95"
   2345	"\x91\x43\xcc\x82\x91\x86\x62\xa0\x9d\xef\x65\x6e\x67\xcf\x19\x11"
   2346	"\x35\x37\x5e\x94\x97\x83\xa6\x83\x1c\x7e\x8a\x3e\x32\xb0\xce\xff"
   2347	"\x20\xdc\x7b\x6e\x18\xd9\x6b\x27\x31\xfc\xc3\xef\x47\x8d\xbe\x34"
   2348	"\x2b\xc7\x60\x74\x3c\x93\xb3\x8e\x54\x77\x4e\x73\xe6\x40\x72\x35"
   2349	"\xb0\xf0\x06\x53\x43\xbe\xd0\xc3\x87\xcc\x38\x96\xa9\x10\xa0\xd6"
   2350	"\x17\xed\xa5\x6a\xf4\xf6\xaa\x77\x40\xed\x7d\x2e\x58\x0f\x5b\x04"
   2351	"\x5a\x41\x12\x95\x22\xcb\xa3\xce\x8b\x6d\x6d\x89\xec\x7c\x1d\x25"
   2352	"\x27\x52\x50\xa0\x5b\x93\x8c\x5d\x3f\x56\xb9\xa6\x5e\xe5\xf7\x9b"
   2353	"\xc7\x9a\x4a\x2e\x79\xb5\xca\x29\x58\x52\xa0\x63\xe4\x9d\xeb\x4c"
   2354	"\x4c\xa8\x37\x0b\xe9\xa0\x18\xf1\x86\xf6\x4d\x32\xfb\x9e\x4f\xb3"
   2355	"\x7b\x5d\x58\x78\x70\xbd\x56\xac\x99\x75\x25\x71\x66\x76\x4e\x5e"
   2356	"\x67\x4f\xb1\x17\xa7\x8b\x55\x12\x87\x01\x4e\xd1\x66\xef\xd0\x70"
   2357	"\xaf\x14\x34\xee\x2a\x76\x49\x25\xa6\x2e\x43\x37\x75\x7d\x1a\xad"
   2358	"\x08\xd5\x01\x85\x9c\xe1\x20\xd8\x38\x5c\x57\xa5\xed\x9d\x46\x3a"
   2359	"\xb7\x46\x60\x29\x8b\xc4\x21\x50\x0a\x30\x9c\x57\x42\xe4\x35\xf8"
   2360	"\x12\x5c\x4f\xa2\x20\xc2\xc9\x43\xe3\x6d\x20\xbc\xdf\xb8\x37\x33"
   2361	"\x45\x43\x06\x4e\x08\x6f\x8a\xcd\x61\xc3\x1b\x05\x28\x82\xbe\xf0"
   2362	"\x48\x33\xe5\x93\xc9\x1a\x61\x16\x67\x03\x9d\x47\x9d\x74\xeb\xae"
   2363	"\x13\xf2\xb4\x1b\x09\x11\xf5\x15\xcb\x28\xfd\x50\xe0\xbc\x58\x36"
   2364	"\x38\x91\x2c\x07\x27\x1f\x49\x68\xf4\xce\xad\xf7\xba\xec\x5d\x3d"
   2365	"\xfd\x27\xe2\xcf\xf4\x56\xfe\x08\xa6\x11\x61\xcb\x6c\x9f\xf9\x3c"
   2366	"\x57\x0b\x8b\xaa\x00\x16\x18\xba\x1f\xe8\x4f\x01\xe2\x79\x2a\x0b"
   2367	"\xc1\xbd\x52\xef\xe6\xf7\x5a\x66\xfe\x07\x3b\x50\x6b\xbb\xcb\x39"
   2368	"\x3c\x94\xf6\x21\x0d\x68\x69\xa4\xed\x2e\xb5\x85\x03\x11\x38\x79"
   2369	"\xec\xb5\x22\x23\xdf\x9e\xad\xb4\xbe\xd7\xc7\xdf\xea\x30\x23\x8a"
   2370	"\xb7\x21\x0a\x9d\xbd\x99\x13\x7d\x5f\x7e\xaf\x28\x54\x3f\xca\x5e"
   2371	"\xf4\xfc\x05\x0d\x65\x67\xd8\xf6\x8e\x90\x9d\x0d\xcf\x62\x82\xd6"
   2372	"\x9f\x02\xf8\xca\xfa\x42\x24\x7f\x4d\xb7\xfc\x92\xa6\x4a\x51\xc4"
   2373	"\xd8\xae\x19\x87\xc6\xa3\x83\xbe\x7b\x6d\xc3\xf5\xb8\xad\x4a\x05"
   2374	"\x78\x84\x3a\x15\x2e\x40\xbe\x79\xa9\xc0\x12\xa1\x48\x39\xc3\xdb"
   2375	"\x47\x4f\x7d\xea\x6d\xc7\xfa\x2c\x4e\xe9\xa5\x85\x81\xea\x6c\xcd"
   2376	"\x8a\xe5\x74\x17\x76\x31\x31\x75\x96\x83\xca\x81\xbb\x5c\xa9\x79"
   2377	"\x2c\xbd\x09\xfe\xe4\x86\x0d\x8c\x76\x9c\xbc\xe8\x93\xe4\xd0\xe4"
   2378	"\x0f\xf8\xff\x24\x7e\x66\x61\x69\xfb\xe4\x46\x08\x94\x99\xa5\x53"
   2379	"\xd7\xe4\x29\x72\x86\x86\xe8\x1d\x37\xfa\xcb\xd0\x8d\x51\xd0\xbf"
   2380	"\x81\xcf\x55\xb9\xc5\x78\x8c\x74\xa0\x16\x3a\xd2\x19\x94\x29\x6a"
   2381	"\x5e\xec\xd3\x20\xa0\xb2\xfd\xce\xd4\x14\xa3\x39\x10\xa9\xf4\x4e"
   2382	"\xba\x21\x09\x5c\xe6\x61\x43\x51\xae\xc4\x71\xd7\x21\xef\x98\x39",
   2383	.b_public =
   2384	"\x45\x96\x5a\xb7\x78\x5c\xa4\x4d\x39\xb2\x5f\xc8\xc2\xaa\x1a\xf4"
   2385	"\xa6\x68\xf6\x6f\x7e\xa8\x4a\x5b\x0e\xba\x0a\x99\x85\xf9\x63\xd4"
   2386	"\x58\x21\x6d\xa8\x3c\xf4\x05\x10\xb0\x0d\x6f\x1c\xa0\x17\x85\xae"
   2387	"\x68\xbf\xcc\x00\xc8\x86\x1b\x24\x31\xc9\x49\x23\x91\xe0\x71\x29"
   2388	"\x06\x39\x39\x93\x49\x9c\x75\x18\x1a\x8b\x61\x73\x1c\x7f\x37\xd5"
   2389	"\xf1\xab\x20\x5e\x62\x25\xeb\x58\xd5\xfa\xc9\x7f\xad\x57\xd5\xcc"
   2390	"\x0d\xc1\x7a\x2b\x33\x2a\x76\x84\x33\x26\x97\xcf\x47\x9d\x72\x2a"
   2391	"\xc9\x39\xde\xa8\x42\x27\x2d\xdc\xee\x00\x60\xd2\x4f\x13\xe0\xde"
   2392	"\xd5\xc7\xf6\x7d\x8b\x2a\x43\x49\x40\x99\xc2\x61\x84\x8e\x57\x09"
   2393	"\x7c\xcc\x19\x46\xbd\x4c\xd2\x7c\x7d\x02\x4d\x88\xdf\x58\x24\x80"
   2394	"\xeb\x19\x3b\x2a\x13\x2b\x19\x85\x3c\xd8\x31\x03\x00\xa4\xd4\x57"
   2395	"\x23\x2c\x24\x37\xb3\x62\xea\x35\x29\xd0\x2c\xac\xfd\xbd\xdf\x3d"
   2396	"\xa6\xce\xfa\x0d\x5b\xb6\x15\x8b\xe3\x58\xe9\xad\x99\x87\x29\x51"
   2397	"\x8d\x97\xd7\xa9\x55\xf0\x72\x6e\x4e\x58\xcb\x2b\x4d\xbd\xd0\x48"
   2398	"\x7d\x14\x86\xdb\x3f\xa2\x5f\x6e\x35\x4a\xe1\x70\xb1\x53\x72\xb7"
   2399	"\xbc\xe9\x3d\x1b\x33\xc0\x54\x6f\x43\x55\x76\x85\x7f\x9b\xa5\xb3"
   2400	"\xc1\x1d\xd3\xfe\xe2\xd5\x96\x3d\xdd\x92\x04\xb1\xad\x75\xdb\x13"
   2401	"\x4e\x49\xfc\x35\x34\xc5\xda\x13\x98\xb8\x12\xbe\xda\x90\x55\x7c"
   2402	"\x11\x6c\xbe\x2b\x8c\x51\x29\x23\xc1\x51\xbc\x0c\x1c\xe2\x20\xfc"
   2403	"\xfe\xf2\xaa\x71\x9b\x21\xdf\x25\x1f\x68\x21\x7e\xe1\xc9\x87\xa0"
   2404	"\x20\xf6\x8d\x4f\x27\x8c\x3c\x0f\x9d\xf4\x69\x25\xaa\x49\xab\x94"
   2405	"\x22\x5a\x92\x3a\xba\xb4\xc2\x8c\x5a\xaa\x04\xbf\x46\xc5\xaa\x93"
   2406	"\xab\x0d\xe9\x54\x6c\x3a\x64\xa6\xa2\x21\x66\xee\x1c\x10\x21\x84"
   2407	"\xf2\x9e\xcc\x57\xac\xc2\x25\x62\xad\xbb\x59\xef\x25\x61\x6c\x81"
   2408	"\x38\x8a\xdc\x8c\xeb\x7b\x18\x1d\xaf\xa9\xc5\x9a\xf4\x49\x26\x8a"
   2409	"\x25\xc4\x3e\x31\x95\x28\xef\xf7\x72\xe9\xc5\xaa\x59\x72\x2b\x67"
   2410	"\x47\xe8\x6b\x51\x05\x24\xb8\x18\xb3\x34\x0f\x8c\x2b\x80\xba\x61"
   2411	"\x1c\xbe\x9e\x9a\x7c\xe3\x60\x5e\x49\x02\xff\x50\x8a\x64\x28\x64"
   2412	"\x46\x7b\x83\x14\x72\x6e\x59\x9b\x56\x09\xb4\xf0\xde\x52\xc3\xf3"
   2413	"\x58\x17\x6a\xae\xb1\x0f\xf4\x39\xcc\xd8\xce\x4d\xe1\x51\x17\x88"
   2414	"\xe4\x98\xd9\xd1\xa9\x55\xbc\xbf\x7e\xc4\x51\x96\xdb\x44\x1d\xcd"
   2415	"\x8d\x74\xad\xa7\x8f\x87\x83\x75\xfc\x36\xb7\xd2\xd4\x89\x16\x97"
   2416	"\xe4\xc6\x2a\xe9\x65\xc8\xca\x1c\xbd\x86\xaf\x57\x80\xf7\xdd\x42"
   2417	"\xc0\x3b\x3f\x87\x51\x02\x2f\xf8\xd8\x68\x0f\x3d\x95\x2d\xf1\x67"
   2418	"\x09\xa6\x5d\x0b\x7e\x01\xb4\xb2\x32\x01\xa8\xd0\x58\x0d\xe6\xa2"
   2419	"\xd8\x4b\x22\x10\x7d\x11\xf3\xc2\x4e\xb8\x43\x8e\x31\x79\x59\xe2"
   2420	"\xc4\x96\x29\x17\x40\x06\x0d\xdf\xdf\xc3\x02\x30\x2a\xd1\x8e\xf2"
   2421	"\xee\x2d\xd2\x12\x63\x5a\x1d\x3c\xba\x4a\xc4\x56\x90\xc6\x12\x0b"
   2422	"\xe0\x04\x3f\x35\x59\x8e\x40\x75\xf4\x4c\x10\x61\xb9\x30\x89\x7c"
   2423	"\x8d\x0e\x25\xb7\x5a\x6b\x97\x05\xc6\x37\x80\x6e\x94\x56\xa8\x5f"
   2424	"\x03\x94\x59\xc8\xc5\x3e\xdc\x23\xe5\x68\x4f\xd7\xbb\x6d\x7e\xc1"
   2425	"\x8d\xf9\xcc\x3f\x38\xad\x77\xb3\x18\x61\xed\x04\xc0\x71\xa7\x96"
   2426	"\xb1\xaf\x1d\x69\x78\xda\x6d\x89\x8b\x50\x75\x99\x44\xb3\xb2\x75"
   2427	"\xd1\xc8\x14\x40\xa1\x0a\xbf\xc4\x45\xc4\xee\x12\x90\x76\x26\x64"
   2428	"\xb7\x73\x2e\x0b\x0c\xfa\xc3\x55\x29\x24\x1b\x7a\x00\x27\x07\x26"
   2429	"\x36\xf0\x38\x1a\xe3\xb7\xc4\x8d\x1c\x9c\xa9\xc0\xc1\x45\x91\x9e"
   2430	"\x86\xdd\x82\x94\x45\xfa\xcd\x5a\x19\x12\x7d\xef\xda\x17\xad\x21"
   2431	"\x17\x89\x8b\x45\xa7\xf5\xed\x51\x9e\x58\x13\xdc\x84\xa4\xe6\x37",
   2432	.secret_size = 16,
   2433	.b_secret_size = 784,
   2434	.b_public_size = 768,
   2435	.expected_a_public_size = 768,
   2436	.expected_ss_size = 768,
   2437	.genkey = true,
   2438	},
   2439};
   2440
   2441static const struct kpp_testvec ffdhe8192_dh_tv_template[] __maybe_unused = {
   2442	{
   2443	.secret =
   2444#ifdef __LITTLE_ENDIAN
   2445	"\x01\x00" /* type */
   2446	"\x10\x04" /* len */
   2447	"\x00\x04\x00\x00" /* key_size */
   2448	"\x00\x00\x00\x00" /* p_size */
   2449	"\x00\x00\x00\x00" /* g_size */
   2450#else
   2451	"\x00\x01" /* type */
   2452	"\x04\x10" /* len */
   2453	"\x00\x00\x04\x00" /* key_size */
   2454	"\x00\x00\x00\x00" /* p_size */
   2455	"\x00\x00\x00\x00" /* g_size */
   2456#endif
   2457	/* xa */
   2458	"\x76\x6e\xeb\xf9\xeb\x76\xae\x37\xcb\x19\x49\x8b\xeb\xaf\xb0\x4b"
   2459	"\x6d\xe9\x15\xad\xda\xf2\xef\x58\xe9\xd6\xdd\x4c\xb3\x56\xd0\x3b"
   2460	"\x00\xb0\x65\xed\xae\xe0\x2e\xdf\x8f\x45\x3f\x3c\x5d\x2f\xfa\x96"
   2461	"\x36\x33\xb2\x01\x8b\x0f\xe8\x46\x15\x6d\x60\x5b\xec\x32\xc3\x3b"
   2462	"\x06\xf3\xb4\x1b\x9a\xef\x3c\x03\x0e\xcc\xce\x1d\x24\xa0\xc9\x08"
   2463	"\x65\xf9\x45\xe5\xd2\x43\x08\x88\x58\xd6\x46\xe7\xbb\x25\xac\xed"
   2464	"\x3b\xac\x6f\x5e\xfb\xd6\x19\xa6\x20\x3a\x1d\x0c\xe8\x00\x72\x54"
   2465	"\xd7\xd9\xc9\x26\x49\x18\xc6\xb8\xbc\xdd\xf3\xce\xf3\x7b\x69\x04"
   2466	"\x5c\x6f\x11\xdb\x44\x42\x72\xb6\xb7\x84\x17\x86\x47\x3f\xc5\xa1"
   2467	"\xd8\x86\xef\xe2\x27\x49\x2b\x8f\x3e\x91\x12\xd9\x45\x96\xf7\xe6"
   2468	"\x77\x76\x36\x58\x71\x9a\xb1\xdb\xcf\x24\x9e\x7e\xad\xce\x45\xba"
   2469	"\xb5\xec\x8e\xb9\xd6\x7b\x3d\x76\xa4\x85\xad\xd8\x49\x9b\x80\x9d"
   2470	"\x7f\x9f\x85\x09\x9e\x86\x5b\x6b\xf3\x8d\x39\x5e\x6f\xe4\x30\xc8"
   2471	"\xa5\xf3\xdf\x68\x73\x6b\x2e\x9a\xcb\xac\x0a\x0d\x44\xc1\xaf\xb2"
   2472	"\x11\x1b\x7c\x43\x08\x44\x43\xe2\x4e\xfd\x93\x30\x99\x09\x12\xbb"
   2473	"\xf6\x31\x34\xa5\x3d\x45\x98\xee\xd7\x2a\x1a\x89\xf5\x37\x92\x33"
   2474	"\xa0\xdd\xf5\xfb\x1f\x90\x42\x55\x5a\x0b\x82\xff\xf0\x96\x92\x15"
   2475	"\x65\x5a\x55\x96\xca\x1b\xd5\xe5\xb5\x94\xde\x2e\xa6\x03\x57\x9e"
   2476	"\x15\xe4\x32\x2b\x1f\xb2\x22\x21\xe9\xa0\x05\xd3\x65\x6c\x11\x66"
   2477	"\x25\x38\xbb\xa3\x6c\xc2\x0b\x2b\xd0\x7a\x20\x26\x29\x37\x5d\x5f"
   2478	"\xd8\xff\x2a\xcd\x46\x6c\xd6\x6e\xe5\x77\x1a\xe6\x33\xf1\x8e\xc8"
   2479	"\x10\x30\x11\x00\x27\xf9\x7d\x0e\x28\x43\xa7\x67\x38\x7f\x16\xda"
   2480	"\xd0\x01\x8e\xa4\xe8\x6f\xcd\x23\xaf\x77\x52\x34\xad\x7e\xc3\xed"
   2481	"\x2d\x10\x0a\x33\xdc\xcf\x1b\x88\x0f\xcc\x48\x7f\x42\xf0\x9e\x13"
   2482	"\x1f\xf5\xd1\xe9\x90\x87\xbd\xfa\x5f\x1d\x77\x55\xcb\xc3\x05\xaf"
   2483	"\x71\xd0\xe0\xab\x46\x31\xd7\xea\x89\x54\x2d\x39\xaf\xf6\x4f\x74"
   2484	"\xaf\x46\x58\x89\x78\x95\x2e\xe6\x90\xb7\xaa\x00\x73\x9f\xed\xb9"
   2485	"\x00\xd6\xf6\x6d\x26\x59\xcd\x56\xdb\xf7\x3d\x5f\xeb\x6e\x46\x33"
   2486	"\xb1\x23\xed\x9f\x8d\x58\xdc\xb4\x28\x3b\x90\x09\xc4\x61\x02\x1f"
   2487	"\xf8\x62\xf2\x6e\xc1\x94\x71\x66\x93\x11\xdf\xaa\x3e\xd7\xb5\xe5"
   2488	"\xc1\x78\xe9\x14\xcd\x55\x16\x51\xdf\x8d\xd0\x94\x8c\x43\xe9\xb8"
   2489	"\x1d\x42\x7f\x76\xbc\x6f\x87\x42\x88\xde\xd7\x52\x78\x00\x4f\x18"
   2490	"\x02\xe7\x7b\xe2\x8a\xc3\xd1\x43\xa5\xac\xda\xb0\x8d\x19\x96\xd4"
   2491	"\x81\xe0\x75\xe9\xca\x41\x7e\x1f\x93\x0b\x26\x24\xb3\xaa\xdd\x10"
   2492	"\x20\xd3\xf2\x9f\x3f\xdf\x65\xde\x67\x79\xdc\x76\x9f\x3c\x72\x75"
   2493	"\x65\x8a\x30\xcc\xd2\xcc\x06\xb1\xab\x62\x86\x78\x5d\xb8\xce\x72"
   2494	"\xb3\x12\xc7\x9f\x07\xd0\x6b\x98\x82\x9b\x6c\xbb\x15\xe5\xcc\xf4"
   2495	"\xc8\xf4\x60\x81\xdc\xd3\x09\x1b\x5e\xd4\xf3\x55\xcf\x1c\x16\x83"
   2496	"\x61\xb4\x2e\xcc\x08\x67\x58\xfd\x46\x64\xbc\x29\x4b\xdd\xda\xec"
   2497	"\xdc\xc6\xa9\xa5\x73\xfb\xf8\xf3\xaf\x89\xa8\x9e\x25\x14\xfa\xac"
   2498	"\xeb\x1c\x7c\x80\x96\x66\x4d\x41\x67\x9b\x07\x4f\x0a\x97\x17\x1c"
   2499	"\x4d\x61\xc7\x2e\x6f\x36\x98\x29\x50\x39\x6d\xe7\x70\xda\xf0\xc8"
   2500	"\x05\x80\x7b\x32\xff\xfd\x12\xde\x61\x0d\xf9\x4c\x21\xf1\x56\x72"
   2501	"\x3d\x61\x46\xc0\x2d\x07\xd1\x6c\xd3\xbe\x9a\x21\x83\x85\xf7\xed"
   2502	"\x53\x95\x44\x40\x8f\x75\x12\x18\xc2\x9a\xfd\x5e\xce\x66\xa6\x7f"
   2503	"\x57\xc0\xd7\x73\x76\xb3\x13\xda\x2e\x58\xc6\x27\x40\xb2\x2d\xef"
   2504	"\x7d\x72\xb4\xa8\x75\x6f\xcc\x5f\x42\x3e\x2c\x90\x36\x59\xa0\x34"
   2505	"\xaa\xce\xbc\x04\x4c\xe6\x56\xc2\xcd\xa6\x1c\x59\x04\x56\x53\xcf"
   2506	"\x6d\xd7\xf0\xb1\x4f\x91\xfa\x84\xcf\x4b\x8d\x50\x4c\xf8\x2a\x31"
   2507	"\x5f\xe3\xba\x79\xb4\xcc\x59\x64\xe3\x7a\xfa\xf6\x06\x9d\x04\xbb"
   2508	"\xce\x61\xbf\x9e\x59\x0a\x09\x51\x6a\xbb\x0b\x80\xe0\x91\xc1\x51"
   2509	"\x04\x58\x67\x67\x4b\x42\x4f\x95\x68\x75\xe2\x1f\x9c\x14\x70\xfd"
   2510	"\x3a\x8a\xce\x8b\x04\xa1\x89\xe7\xb4\xbf\x70\xfe\xf3\x0c\x48\x04"
   2511	"\x3a\xd2\x85\x68\x03\xe7\xfa\xec\x5b\x55\xb7\x95\xfd\x5b\x19\x35"
   2512	"\xad\xcb\x4a\x63\x03\x44\x64\x2a\x48\x59\x9a\x26\x43\x96\x8c\xe6"
   2513	"\xbd\xb7\x90\xd4\x5f\x8d\x08\x28\xa8\xc5\x89\x70\xb9\x6e\xd3\x3b"
   2514	"\x76\x0e\x37\x98\x15\x27\xca\xc9\xb0\xe0\xfd\xf3\xc6\xdf\x69\xce"
   2515	"\xe1\x5f\x6a\x3e\x5c\x86\xe2\x58\x41\x11\xf0\x7e\x56\xec\xe4\xc9"
   2516	"\x0d\x87\x91\xfb\xb9\xc8\x0d\x34\xab\xb0\xc6\xf2\xa6\x00\x7b\x18"
   2517	"\x92\xf4\x43\x7f\x01\x85\x2e\xef\x8c\x72\x50\x10\xdb\xf1\x37\x62"
   2518	"\x16\x85\x71\x01\xa8\x2b\xf0\x13\xd3\x7c\x0b\xaf\xf1\xf3\xd1\xee"
   2519	"\x90\x41\x5f\x7d\x5b\xa9\x83\x4b\xfa\x80\x59\x50\x73\xe1\xc4\xf9"
   2520	"\x5e\x4b\xde\xd9\xf5\x22\x68\x5e\x65\xd9\x37\xe4\x1a\x08\x0e\xb1"
   2521	"\x28\x2f\x40\x9e\x37\xa8\x12\x56\xb7\xb8\x64\x94\x68\x94\xff\x9f",
   2522	.b_public =
   2523	"\x26\xa8\x3a\x97\xe0\x52\x76\x07\x26\xa7\xbb\x21\xfd\xe5\x69\xde"
   2524	"\xe6\xe0\xb5\xa0\xf1\xaa\x51\x2b\x56\x1c\x3c\x6c\xe5\x9f\x8f\x75"
   2525	"\x71\x04\x86\xf6\x43\x2f\x20\x7f\x45\x4f\x5c\xb9\xf3\x90\xbe\xa9"
   2526	"\xa0\xd7\xe8\x03\x0e\xfe\x99\x9b\x8a\x1c\xbe\xa7\x63\xe8\x2b\x45"
   2527	"\xd4\x2c\x65\x25\x4c\x33\xda\xc5\x85\x77\x5d\x62\xea\x93\xe4\x45"
   2528	"\x59\xff\xa1\xd2\xf1\x73\x11\xed\x02\x64\x8a\x1a\xfb\xe1\x88\xa6"
   2529	"\x50\x6f\xff\x87\x12\xbb\xfc\x10\xcf\x19\x41\xb0\x35\x44\x7d\x51"
   2530	"\xe9\xc0\x77\xf2\x73\x21\x2e\x62\xbf\x65\xa5\xd1\x3b\xb1\x3e\x19"
   2531	"\x75\x4b\xb7\x8e\x03\xc3\xdf\xc8\xb2\xe6\xec\x2d\x7d\xa5\x6a\xba"
   2532	"\x93\x47\x50\xeb\x6e\xdb\x88\x05\x45\xad\x03\x8c\xf7\x9a\xe1\xc9"
   2533	"\x1e\x16\x96\x37\xa5\x3e\xe9\xb9\xa8\xdc\xb9\xa9\xf6\xa1\x3d\xed"
   2534	"\xbe\x12\x29\x8a\x3d\x3d\x90\xfc\x94\xfe\x66\x28\x1c\x1b\xa4\x89"
   2535	"\x47\x66\x4f\xac\x14\x00\x22\x2d\x5c\x03\xea\x71\x4d\x19\x7d\xd6"
   2536	"\x58\x39\x4c\x3d\x06\x2b\x30\xa6\xdc\x2c\x8d\xd1\xde\x79\x77\xfa"
   2537	"\x9c\x6b\x72\x11\x8a\x7f\x7d\x37\x28\x2a\x88\xbf\x0a\xdb\xac\x3b"
   2538	"\xc5\xa5\xd5\x7e\x25\xec\xa6\x7f\x5b\x53\x75\x83\x49\xd4\x77\xcc"
   2539	"\x7d\x7e\xd3\x3d\x30\x2c\x98\x3f\x18\x9a\x11\x8a\x37\xda\x99\x0f"
   2540	"\x3b\x06\xe1\x87\xd5\xe9\x4e\xe0\x9c\x0e\x39\x34\xe2\xdd\xf6\x58"
   2541	"\x60\x63\xa6\xea\xe8\xc0\xb4\xde\xdf\xa0\xbc\x21\xc3\x2d\xf4\xa4"
   2542	"\xc8\x6f\x62\x6c\x0f\x71\x88\xf9\xda\x2d\x30\xd5\x95\xe1\xfc\x6d"
   2543	"\x88\xc5\xc3\x95\x51\x83\xde\x41\x46\x6f\x7e\x1b\x10\x48\xad\x2b"
   2544	"\x82\x88\xa2\x6f\x57\x4d\x4a\xbd\x90\xc8\x06\x8f\x52\x5d\x6e\xee"
   2545	"\x09\xe6\xa3\xcb\x30\x9c\x14\xf6\xac\x66\x9b\x81\x0a\x75\x42\x6b"
   2546	"\xab\x27\xec\x76\xfb\x8d\xc5\xbf\x0e\x93\x81\x7b\x81\xd4\x85\xa6"
   2547	"\x90\x5a\xa6\xa2\x8b\xa9\xb7\x34\xe6\x15\x36\x93\x8b\xe2\x99\xc7"
   2548	"\xad\x66\x7e\xd6\x89\xa9\xc8\x15\xcb\xc5\xeb\x06\x85\xd4\x2f\x6e"
   2549	"\x9b\x95\x7a\x06\x6c\xfa\x31\x1d\xc4\xe5\x7d\xfb\x10\x35\x88\xc2"
   2550	"\xbe\x1c\x16\x5d\xc2\xf4\x0d\xf3\xc9\x94\xb2\x7e\xa7\xbd\x9c\x03"
   2551	"\x32\xaf\x8b\x1a\xc8\xcc\x82\xd8\x87\x96\x6e\x3d\xcc\x93\xd2\x43"
   2552	"\x73\xf9\xde\xec\x49\x49\xf4\x56\x2a\xc8\x6e\x32\x70\x48\xf8\x70"
   2553	"\xa3\x96\x31\xf4\xf2\x08\xc5\x12\xd2\xeb\xb6\xea\xa3\x07\x05\x61"
   2554	"\x74\xa3\x04\x2f\x17\x82\x40\x5e\x4c\xd1\x51\xb8\x10\x5b\xc8\x9f"
   2555	"\x87\x73\x80\x0d\x6f\xc6\xb9\xf6\x7c\x31\x0a\xcc\xd9\x03\x0f\x7a"
   2556	"\x47\x69\xb1\x55\xab\xe9\xb5\x75\x62\x9e\x95\xbe\x7b\xa9\x53\x6e"
   2557	"\x28\x73\xdc\xb3\xa4\x8a\x1c\x91\xf5\x8a\xf9\x32\x2b\xbd\xa5\xdc"
   2558	"\x07\xb5\xaf\x49\xdb\x9c\x35\xc9\x69\xde\xac\xb1\xd0\x86\xcb\x31"
   2559	"\x0b\xc4\x4f\x63\x4e\x70\xa7\x80\xe3\xbc\x0b\x73\x0e\xf2\x8c\x87"
   2560	"\x88\x7b\xa9\x6d\xde\x8a\x73\x14\xb9\x80\x55\x03\x2b\x29\x64\x6a"
   2561	"\xda\x48\x0e\x78\x07\x40\x48\x46\x58\xa9\x4e\x68\x1d\xd1\xc1\xc8"
   2562	"\x3b\x35\x53\x61\xd5\xe3\x0d\x4c\x42\x74\x10\x67\x85\x9f\x66\x2a"
   2563	"\xf7\x2b\x7b\x77\x8b\x6e\xda\x2c\xc1\x5a\x20\x34\x3f\xf5\x8b\x6f"
   2564	"\xe4\x61\xf5\x58\xab\x72\x1a\xf1\x8d\x28\xcc\xa5\x30\x68\xb5\x50"
   2565	"\x7b\x81\x43\x89\x8e\xa9\xac\x63\x3a\x4a\x78\x7b\xd2\x45\xe6\xe0"
   2566	"\xdc\x5d\xf2\x1a\x2b\x54\x50\xa5\x9d\xf6\xe7\x9f\x25\xaf\x56\x6a"
   2567	"\x84\x2a\x75\xa3\x9a\xc7\xfa\x94\xec\x83\xab\xa5\xaa\xe1\xf9\x89"
   2568	"\x29\xa9\xf6\x53\x24\x24\xae\x4a\xe8\xbc\xe8\x9e\x5c\xd7\x54\x7c"
   2569	"\x65\x20\x97\x28\x94\x76\xf9\x9e\x81\xcf\x98\x6a\x3a\x7b\xec\xf3"
   2570	"\x09\x60\x2e\x43\x18\xb5\xf6\x8c\x44\x0f\xf2\x0a\x17\x5b\xac\x98"
   2571	"\x30\xab\x6e\xd5\xb3\xef\x25\x68\x50\xb6\xe1\xc0\xe4\x5a\x63\x43"
   2572	"\xea\xca\xda\x23\xc1\xc2\xe9\x30\xec\xb3\x9f\xbf\x1f\x09\x76\xaf"
   2573	"\x65\xbc\xb5\xab\x30\xac\x0b\x05\xef\x5c\xa3\x65\x77\x33\x1c\xc5"
   2574	"\xdf\xc9\x39\xab\xca\xf4\x3b\x88\x25\x6d\x50\x87\xb1\x79\xc2\x23"
   2575	"\x9d\xb5\x21\x01\xaa\xa3\xb7\x61\xa3\x48\x91\x72\x3d\x54\x85\x86"
   2576	"\x91\x81\x35\x78\xbf\x8f\x27\x57\xcb\x9b\x34\xab\x63\x40\xf1\xbc"
   2577	"\x23\x5a\x26\x6a\xba\x57\xe2\x8f\x2a\xdc\x82\xe0\x3b\x7f\xec\xd3"
   2578	"\xd8\x9d\xd3\x13\x54\x70\x64\xc3\xfd\xbf\xa3\x46\xa7\x53\x42\x7f"
   2579	"\xc1\xbd\x7b\xb3\x13\x47\x2a\x45\x1e\x76\x2c\x0d\x6d\x46\x26\x24"
   2580	"\xa8\xc7\x00\x2b\x10\x7f\x2a\x6c\xfc\x68\x4e\x6e\x85\x53\x00\xaf"
   2581	"\xd5\xfb\x59\x64\xc7\x9b\x24\xd1\x05\xdc\x34\x53\x6d\x27\xa9\x79"
   2582	"\xff\xd7\x5e\x7a\x40\x81\x8e\xc3\xf2\x38\xc9\x8d\x87\xb5\x38\xda"
   2583	"\x43\x64\x1b\x59\x62\x88\xc1\x6e\x85\x84\x33\xcd\x6d\x7b\x62\x1d"
   2584	"\x60\xf9\x98\xf7\xd1\xb1\xd4\xbe\x56\x6e\xa8\x6f\xff\xe7\x8b\x60"
   2585	"\x53\x80\xc7\x7c\xe0\x78\x89\xa9\xab\x42\x8f\x8e\x4d\x92\xac\xa7"
   2586	"\xfd\x47\x11\xc7\xdb\x7c\x77\xfb\xa4\x1d\x70\xaf\x56\x14\x52\xb0",
   2587	.expected_a_public =
   2588	"\xa1\x6c\x9e\xda\x45\x4d\xf6\x59\x04\x00\xc1\xc6\x8b\x12\x3b\xcd"
   2589	"\x07\xe4\x3e\xec\xac\x9b\xfc\xf7\x6d\x73\x39\x9e\x52\xf8\xbe\x33"
   2590	"\xe2\xca\xea\x99\x76\xc7\xc9\x94\x5c\xf3\x1b\xea\x6b\x66\x4b\x51"
   2591	"\x90\xf6\x4f\x75\xd5\x85\xf4\x28\xfd\x74\xa5\x57\xb1\x71\x0c\xb6"
   2592	"\xb6\x95\x70\x2d\xfa\x4b\x56\xe0\x56\x10\x21\xe5\x60\xa6\x18\xa4"
   2593	"\x78\x8c\x07\xc0\x2b\x59\x9c\x84\x5b\xe9\xb9\x74\xbf\xbc\x65\x48"
   2594	"\x27\x82\x40\x53\x46\x32\xa2\x92\x91\x9d\xf6\xd1\x07\x0e\x1d\x07"
   2595	"\x1b\x41\x04\xb1\xd4\xce\xae\x6e\x46\xf1\x72\x50\x7f\xff\xa8\xa2"
   2596	"\xbc\x3a\xc1\xbb\x28\xd7\x7d\xcd\x7a\x22\x01\xaf\x57\xb0\xa9\x02"
   2597	"\xd4\x8a\x92\xd5\xe6\x8e\x6f\x11\x39\xfe\x36\x87\x89\x42\x25\x42"
   2598	"\xd9\xbe\x67\x15\xe1\x82\x8a\x5e\x98\xc2\xd5\xde\x9e\x13\x1a\xe7"
   2599	"\xf9\x9f\x8e\x2d\x49\xdc\x4d\x98\x8c\xdd\xfd\x24\x7c\x46\xa9\x69"
   2600	"\x3b\x31\xb3\x12\xce\x54\xf6\x65\x75\x40\xc2\xf1\x04\x92\xe3\x83"
   2601	"\xeb\x02\x3d\x79\xc0\xf9\x7c\x28\xb3\x97\x03\xf7\x61\x1c\xce\x95"
   2602	"\x1a\xa0\xb3\x77\x1b\xc1\x9f\xf8\xf6\x3f\x4d\x0a\xfb\xfa\x64\x1c"
   2603	"\xcb\x37\x5b\xc3\x28\x60\x9f\xd1\xf2\xc4\xee\x77\xaa\x1f\xe9\xa2"
   2604	"\x89\x4c\xc6\xb7\xb3\xe4\xa5\xed\xa7\xe8\xac\x90\xdc\xc3\xfb\x56"
   2605	"\x9c\xda\x2c\x1d\x1a\x9a\x8c\x82\x92\xee\xdc\xa0\xa4\x01\x6e\x7f"
   2606	"\xc7\x0e\xc2\x73\x7d\xa6\xac\x12\x01\xc0\xc0\xc8\x7c\x84\x86\xc7"
   2607	"\xa5\x94\xe5\x33\x84\x71\x6e\x36\xe3\x3b\x81\x30\xe0\xc8\x51\x52"
   2608	"\x2b\x9e\x68\xa2\x6e\x09\x95\x8c\x7f\x78\x82\xbd\x53\x26\xe7\x95"
   2609	"\xe0\x03\xda\xc0\xc3\x6e\xcf\xdc\xb3\x14\xfc\xe9\x5b\x9b\x70\x6c"
   2610	"\x93\x04\xab\x13\xf7\x17\x6d\xee\xad\x32\x48\xe9\xa0\x94\x1b\x14"
   2611	"\x64\x4f\xa1\xb3\x8d\x6a\xca\x28\xfe\x4a\xf4\xf0\xc5\xb7\xf9\x8a"
   2612	"\x8e\xff\xfe\x57\x6f\x20\xdb\x04\xab\x02\x31\x22\x42\xfd\xbd\x77"
   2613	"\xea\xce\xe8\xc7\x5d\xe0\x8e\xd6\x66\xd0\xe4\x04\x2f\x5f\x71\xc7"
   2614	"\x61\x2d\xa5\x3f\x2f\x46\xf2\xd8\x5b\x25\x82\xf0\x52\x88\xc0\x59"
   2615	"\xd3\xa3\x90\x17\xc2\x04\x13\xc3\x13\x69\x4f\x17\xb1\xb3\x46\x4f"
   2616	"\xa7\xe6\x8b\x5e\x3e\x95\x0e\xf5\x42\x17\x7f\x4d\x1f\x1b\x7d\x65"
   2617	"\x86\xc5\xc8\xae\xae\xd8\x4f\xe7\x89\x41\x69\xfd\x06\xce\x5d\xed"
   2618	"\x44\x55\xad\x51\x98\x15\x78\x8d\x68\xfc\x93\x72\x9d\x22\xe5\x1d"
   2619	"\x21\xc3\xbe\x3a\x44\x34\xc0\xa3\x1f\xca\xdf\x45\xd0\x5c\xcd\xb7"
   2620	"\x72\xeb\xae\x7a\xad\x3f\x05\xa0\xe3\x6e\x5a\xd8\x52\xa7\xf1\x1e"
   2621	"\xb4\xf2\xcf\xe7\xdf\xa7\xf2\x22\x00\xb2\xc4\x17\x3d\x2c\x15\x04"
   2622	"\x71\x28\x69\x5c\x69\x21\xc8\xf1\x9b\xd8\xc7\xbc\x27\xa3\x85\xe9"
   2623	"\x53\x77\xd3\x65\xc3\x86\xdd\xb3\x76\x13\xfb\xa1\xd4\xee\x9d\xe4"
   2624	"\x51\x3f\x83\x59\xe4\x47\xa8\xa6\x0d\x68\xd5\xf6\xf4\xca\x31\xcd"
   2625	"\x30\x48\x34\x90\x11\x8e\x87\xe9\xea\xc9\xd0\xc3\xba\x28\xf9\xc0"
   2626	"\xc9\x8e\x23\xe5\xc2\xee\xf2\x47\x9c\x41\x1c\x10\x33\x27\x23\x49"
   2627	"\xe5\x0d\x18\xbe\x19\xc1\xba\x6c\xdc\xb7\xa1\xe7\xc5\x0d\x6f\xf0"
   2628	"\x8c\x62\x6e\x0d\x14\xef\xef\xf2\x8e\x01\xd2\x76\xf5\xc1\xe1\x92"
   2629	"\x3c\xb3\x76\xcd\xd8\xdd\x9b\xe0\x8e\xdc\x24\x34\x13\x65\x0f\x11"
   2630	"\xaf\x99\x7a\x2f\xe6\x1f\x7d\x17\x3e\x8a\x68\x9a\x37\xc8\x8d\x3e"
   2631	"\xa3\xfe\xfe\x57\x22\xe6\x0e\x50\xb5\x98\x0b\x71\xd8\x01\xa2\x8d"
   2632	"\x51\x96\x50\xc2\x41\x31\xd8\x23\x98\xfc\xd1\x9d\x7e\x27\xbb\x69"
   2633	"\x78\xe0\x87\xf7\xe4\xdd\x58\x13\x9d\xec\x00\xe4\xb9\x70\xa2\x94"
   2634	"\x5d\x52\x4e\xf2\x5c\xd1\xbc\xfd\xee\x9b\xb9\xe5\xc4\xc0\xa8\x77"
   2635	"\x67\xa4\xd1\x95\x34\xe4\x6d\x5f\x25\x02\x8d\x65\xdd\x11\x63\x55"
   2636	"\x04\x01\x21\x60\xc1\x5c\xef\x77\x33\x01\x1c\xa2\x11\x2b\xdd\x2b"
   2637	"\x74\x99\x23\x38\x05\x1b\x7e\x2e\x01\x52\xfe\x9c\x23\xde\x3e\x1a"
   2638	"\x72\xf4\xff\x7b\x02\xaa\x08\xcf\xe0\x5b\x83\xbe\x85\x5a\xe8\x9d"
   2639	"\x11\x3e\xff\x2f\xc6\x97\x67\x36\x6c\x0f\x81\x9c\x26\x29\xb1\x0f"
   2640	"\xbb\x53\xbd\xf4\xec\x2a\x84\x41\x28\x3b\x86\x40\x95\x69\x55\x5f"
   2641	"\x30\xee\xda\x1e\x6c\x4b\x25\xd6\x2f\x2c\x0e\x3c\x1a\x26\xa0\x3e"
   2642	"\xef\x09\xc6\x2b\xe5\xa1\x0c\x03\xa8\xf5\x39\x70\x31\xc4\x32\x79"
   2643	"\xd1\xd9\xc2\xcc\x32\x4a\xf1\x2f\x57\x5a\xcc\xe5\xc3\xc5\xd5\x4e"
   2644	"\x86\x56\xca\x64\xdb\xab\x61\x85\x8f\xf9\x20\x02\x40\x66\x76\x9e"
   2645	"\x5e\xd4\xac\xf0\x47\xa6\x50\x5f\xc2\xaf\x55\x9b\xa3\xc9\x8b\xf8"
   2646	"\x42\xd5\xcf\x1a\x95\x22\xd9\xd1\x0b\x92\x51\xca\xde\x46\x02\x0d"
   2647	"\x8b\xee\xd9\xa0\x04\x74\xf5\x0e\xb0\x3a\x62\xec\x3c\x91\x29\x33"
   2648	"\xa7\x78\x22\x92\xac\x27\xe6\x2d\x6f\x56\x8a\x5d\x72\xc2\xf1\x5c"
   2649	"\x54\x11\x97\x24\x61\xcb\x0c\x52\xd4\x57\x56\x22\x86\xf0\x19\x27"
   2650	"\x76\x30\x04\xf4\x39\x7b\x1a\x5a\x04\x0d\xec\x59\x9a\x31\x4c\x40"
   2651	"\x19\x6d\x3c\x41\x1b\x0c\xca\xeb\x25\x39\x6c\x96\xf8\x55\xd0\xec",
   2652	.expected_ss =
   2653	"\xf9\x55\x4f\x48\x38\x74\xb7\x46\xa3\xc4\x2e\x88\xf0\x34\xab\x1d"
   2654	"\xcd\xa5\x58\xa7\x95\x88\x36\x62\x6f\x8a\xbd\xf2\xfb\x6f\x3e\xb9"
   2655	"\x91\x65\x58\xef\x70\x2f\xd5\xc2\x97\x70\xcb\xce\x8b\x78\x1c\xe0"
   2656	"\xb9\xfa\x77\x34\xd2\x4a\x19\x58\x11\xfd\x93\x84\x40\xc0\x8c\x19"
   2657	"\x8b\x98\x50\x83\xba\xfb\xe2\xad\x8b\x81\x84\x63\x90\x41\x4b\xf8"
   2658	"\xe8\x78\x86\x04\x09\x8d\x84\xd1\x43\xfd\xa3\x58\x21\x2a\x3b\xb1"
   2659	"\xa2\x5b\x48\x74\x3c\xa9\x16\x34\x28\xf0\x8e\xde\xe2\xcf\x8e\x68"
   2660	"\x53\xab\x65\x06\xb7\x86\xb1\x08\x4f\x73\x97\x00\x10\x95\xd1\x84"
   2661	"\x72\xcf\x14\xdb\xff\xa7\x80\xd8\xe5\xf2\x2c\x89\x37\xb0\x81\x2c"
   2662	"\xf5\xd6\x7d\x1b\xb0\xe2\x8e\x87\x32\x3d\x37\x6a\x79\xaa\xe7\x08"
   2663	"\xc9\x67\x55\x5f\x1c\xae\xa6\xf5\xef\x79\x3a\xaf\x3f\x82\x14\xe2"
   2664	"\xf3\x69\x91\xed\xb7\x9e\xc9\xde\xd0\x29\x70\xd9\xeb\x0f\xf5\xc7"
   2665	"\xf6\x7c\xa7\x7f\xec\xed\xe1\xbd\x13\xe1\x43\xe4\x42\x30\xe3\x5f"
   2666	"\xe0\xf3\x15\x55\x2f\x7a\x42\x17\x67\xcb\xc2\x4f\xd0\x85\xfc\x6c"
   2667	"\xec\xe8\xfc\x25\x78\x4b\xe4\x0f\xd4\x3d\x78\x28\xd3\x53\x79\xcb"
   2668	"\x2c\x82\x67\x9a\xdc\x32\x55\xd2\xda\xae\xd8\x61\xce\xd6\x59\x0b"
   2669	"\xc5\x44\xeb\x08\x81\x8c\x65\xb2\xb7\xa6\xff\xf7\xbf\x99\xc6\x8a"
   2670	"\xbe\xde\xc2\x17\x56\x05\x6e\xd2\xf1\x1e\xa2\x04\xeb\x02\x74\xaa"
   2671	"\x04\xfc\xf0\x6b\xd4\xfc\xf0\x7a\x5f\xfe\xe2\x74\x7f\xeb\x9b\x6a"
   2672	"\x8a\x09\x96\x5d\xe1\x91\xb6\x9e\x37\xd7\x63\xd7\xb3\x5c\xb5\xa3"
   2673	"\x5f\x62\x00\xdf\xc5\xbf\x85\xba\xa7\xa9\xb6\x1f\x76\x78\x65\x01"
   2674	"\xfe\x1d\x6c\xfe\x15\x9e\xf4\xb1\xbc\x8d\xad\x3c\xec\x69\x27\x57"
   2675	"\xa4\x89\x77\x46\xe1\x49\xc7\x22\xde\x79\xe0\xf7\x3a\xa1\x59\x8b"
   2676	"\x59\x71\xcc\xd6\x18\x24\xc1\x8a\x2f\xe3\xdf\xdd\x6c\xf7\x62\xaa"
   2677	"\x15\xaa\x39\x37\x3b\xaf\x7d\x6e\x88\xeb\x19\xa8\xa0\x26\xd3\xaa"
   2678	"\x2d\xcc\x5f\x56\x99\x86\xa9\xed\x4d\x02\x31\x40\x97\x70\x83\xa7"
   2679	"\x08\x98\x7e\x49\x46\xd9\x75\xb5\x7a\x6a\x40\x69\xa0\x6d\xb2\x18"
   2680	"\xc0\xad\x88\x05\x02\x95\x6f\xf7\x8f\xcb\xa2\xe4\x7b\xab\x4a\x0f"
   2681	"\x9a\x1b\xef\xcc\xd1\x6a\x5d\x1e\x6a\x2a\x8b\x5b\x80\xbc\x5f\x38"
   2682	"\xdd\xaf\xad\x44\x15\xb4\xaf\x26\x1c\x1a\x4d\xa7\x4b\xec\x88\x33"
   2683	"\x24\x42\xb5\x0c\x9c\x56\xd4\xba\xa7\xb9\x65\xd5\x76\xb2\xbc\x16"
   2684	"\x8e\xfa\x0c\x7a\xc0\xa2\x2c\x5a\x39\x56\x7d\xe6\xf8\xa9\xf4\x49"
   2685	"\xd0\x50\xf2\x5e\x4b\x0a\x43\xe4\x9a\xbb\xea\x35\x28\x99\x84\x83"
   2686	"\xec\xc1\xa0\x68\x15\x9a\x2b\x01\x04\x48\x09\x11\x1b\xb6\xa4\xd8"
   2687	"\x03\xad\xb6\x4c\x9e\x1d\x90\xae\x88\x0f\x75\x95\x25\xa0\x27\x13"
   2688	"\xb7\x4f\xe2\x3e\xd5\x59\x1a\x7c\xde\x95\x14\x28\xd1\xde\x84\xe4"
   2689	"\x07\x7c\x5b\x06\xd6\xe6\x9c\x8a\xbe\xd2\xb4\x62\xd1\x67\x8a\x9c"
   2690	"\xac\x4f\xfa\x70\xd6\xc8\xc0\xeb\x5e\xf6\x3e\xdc\x48\x8e\xce\x3f"
   2691	"\x92\x3e\x60\x77\x63\x60\x6b\x76\x04\xa5\xba\xc9\xab\x92\x4e\x0d"
   2692	"\xdc\xca\x82\x44\x5f\x3a\x42\xeb\x01\xe7\xe0\x33\xb3\x32\xaf\x4b"
   2693	"\x81\x35\x2d\xb6\x57\x15\xfe\x52\xc7\x54\x2e\x41\x3b\x22\x6b\x12"
   2694	"\x72\xdb\x5c\x66\xd0\xb6\xb4\xfe\x90\xc0\x20\x34\x95\xf9\xe4\xc7"
   2695	"\x7e\x71\x89\x4f\x6f\xfb\x2a\xf3\xdf\x3f\xe3\xcf\x0e\x1a\xd9\xf2"
   2696	"\xc1\x02\x67\x5d\xdc\xf1\x7d\xe8\xcf\x64\x77\x4d\x12\x03\x77\x2c"
   2697	"\xfb\xe1\x59\xf7\x2c\x96\x9c\xaf\x46\x9c\xc7\x67\xcf\xee\x94\x50"
   2698	"\xc7\xa1\x23\xe6\x9f\x4d\x73\x92\xad\xf9\x4a\xce\xdb\x44\xd5\xe3"
   2699	"\x17\x05\x37\xdb\x9c\x6c\xc5\x7e\xb7\xd4\x11\x4a\x8c\x51\x03\xaa"
   2700	"\x73\x4b\x16\xd9\x79\xf5\xf1\x67\x20\x9b\x25\xe5\x41\x52\x59\x06"
   2701	"\x8b\xf2\x23\x2f\x6e\xea\xf3\x24\x0a\x94\xbb\xb8\x7e\xd9\x23\x4a"
   2702	"\x9f\x1f\xe1\x13\xb5\xfe\x85\x2f\x4c\xbe\x6a\x66\x02\x1d\x90\xd2"
   2703	"\x01\x25\x8a\xfd\x78\x3a\x28\xb8\x18\xc1\x38\x16\x21\x6b\xb4\xf9"
   2704	"\x64\x0f\xf1\x73\xc4\x5c\xd1\x41\xf2\xfe\xe7\x26\xad\x79\x12\x75"
   2705	"\x49\x48\xdb\x21\x71\x35\xf7\xb7\x46\x5a\xa1\x81\x25\x47\x31\xea"
   2706	"\x1d\x76\xbb\x32\x5a\x90\xb0\x42\x1a\x47\xe8\x0c\x82\x92\x43\x1c"
   2707	"\x0b\xdd\xe5\x25\xce\xd3\x06\xcc\x59\x5a\xc9\xa0\x01\xac\x29\x12"
   2708	"\x31\x2e\x3d\x1a\xed\x3b\xf3\xa7\xef\x52\xc2\x0d\x18\x1f\x03\x28"
   2709	"\xc9\x2b\x38\x61\xa4\x01\xc9\x3c\x11\x08\x14\xd4\xe5\x31\xe9\x3c"
   2710	"\x1d\xad\xf8\x76\xc4\x84\x9f\xea\x16\x61\x3d\x6d\xa3\x32\x31\xcd"
   2711	"\x1c\xca\xb8\x74\xc2\x45\xf3\x01\x9c\x7a\xaf\xfd\xe7\x1e\x5a\x18"
   2712	"\xb1\x9d\xbb\x7a\x2d\x34\x40\x17\x49\xad\x1f\xeb\x2d\xa2\x26\xb8"
   2713	"\x16\x28\x4b\x72\xdd\xd0\x8d\x85\x4c\xdd\xf8\x57\x48\xd5\x1d\xfb"
   2714	"\xbd\xec\x11\x5d\x1e\x9c\x26\x81\xbf\xf1\x16\x12\x32\xc3\xf3\x07"
   2715	"\x0e\x6e\x7f\x17\xec\xfb\xf4\x5d\xe2\xb1\xca\x97\xca\x46\x20\x2d"
   2716	"\x09\x85\x19\x25\x89\xa8\x9b\x51\x74\xae\xc9\x1b\x4c\xb6\x80\x62",
   2717	.secret_size = 1040,
   2718	.b_public_size = 1024,
   2719	.expected_a_public_size = 1024,
   2720	.expected_ss_size = 1024,
   2721	},
   2722	{
   2723	.secret =
   2724#ifdef __LITTLE_ENDIAN
   2725	"\x01\x00" /* type */
   2726	"\x10\x00" /* len */
   2727	"\x00\x00\x00\x00" /* key_size */
   2728	"\x00\x00\x00\x00" /* p_size */
   2729	"\x00\x00\x00\x00", /* g_size */
   2730#else
   2731	"\x00\x01" /* type */
   2732	"\x00\x10" /* len */
   2733	"\x00\x00\x00\x00" /* key_size */
   2734	"\x00\x00\x00\x00" /* p_size */
   2735	"\x00\x00\x00\x00", /* g_size */
   2736#endif
   2737	.b_secret =
   2738#ifdef __LITTLE_ENDIAN
   2739	"\x01\x00" /* type */
   2740	"\x10\x04" /* len */
   2741	"\x00\x04\x00\x00" /* key_size */
   2742	"\x00\x00\x00\x00" /* p_size */
   2743	"\x00\x00\x00\x00" /* g_size */
   2744#else
   2745	"\x00\x01" /* type */
   2746	"\x04\x10" /* len */
   2747	"\x00\x00\x04\x00" /* key_size */
   2748	"\x00\x00\x00\x00" /* p_size */
   2749	"\x00\x00\x00\x00" /* g_size */
   2750#endif
   2751	/* xa */
   2752	"\x76\x6e\xeb\xf9\xeb\x76\xae\x37\xcb\x19\x49\x8b\xeb\xaf\xb0\x4b"
   2753	"\x6d\xe9\x15\xad\xda\xf2\xef\x58\xe9\xd6\xdd\x4c\xb3\x56\xd0\x3b"
   2754	"\x00\xb0\x65\xed\xae\xe0\x2e\xdf\x8f\x45\x3f\x3c\x5d\x2f\xfa\x96"
   2755	"\x36\x33\xb2\x01\x8b\x0f\xe8\x46\x15\x6d\x60\x5b\xec\x32\xc3\x3b"
   2756	"\x06\xf3\xb4\x1b\x9a\xef\x3c\x03\x0e\xcc\xce\x1d\x24\xa0\xc9\x08"
   2757	"\x65\xf9\x45\xe5\xd2\x43\x08\x88\x58\xd6\x46\xe7\xbb\x25\xac\xed"
   2758	"\x3b\xac\x6f\x5e\xfb\xd6\x19\xa6\x20\x3a\x1d\x0c\xe8\x00\x72\x54"
   2759	"\xd7\xd9\xc9\x26\x49\x18\xc6\xb8\xbc\xdd\xf3\xce\xf3\x7b\x69\x04"
   2760	"\x5c\x6f\x11\xdb\x44\x42\x72\xb6\xb7\x84\x17\x86\x47\x3f\xc5\xa1"
   2761	"\xd8\x86\xef\xe2\x27\x49\x2b\x8f\x3e\x91\x12\xd9\x45\x96\xf7\xe6"
   2762	"\x77\x76\x36\x58\x71\x9a\xb1\xdb\xcf\x24\x9e\x7e\xad\xce\x45\xba"
   2763	"\xb5\xec\x8e\xb9\xd6\x7b\x3d\x76\xa4\x85\xad\xd8\x49\x9b\x80\x9d"
   2764	"\x7f\x9f\x85\x09\x9e\x86\x5b\x6b\xf3\x8d\x39\x5e\x6f\xe4\x30\xc8"
   2765	"\xa5\xf3\xdf\x68\x73\x6b\x2e\x9a\xcb\xac\x0a\x0d\x44\xc1\xaf\xb2"
   2766	"\x11\x1b\x7c\x43\x08\x44\x43\xe2\x4e\xfd\x93\x30\x99\x09\x12\xbb"
   2767	"\xf6\x31\x34\xa5\x3d\x45\x98\xee\xd7\x2a\x1a\x89\xf5\x37\x92\x33"
   2768	"\xa0\xdd\xf5\xfb\x1f\x90\x42\x55\x5a\x0b\x82\xff\xf0\x96\x92\x15"
   2769	"\x65\x5a\x55\x96\xca\x1b\xd5\xe5\xb5\x94\xde\x2e\xa6\x03\x57\x9e"
   2770	"\x15\xe4\x32\x2b\x1f\xb2\x22\x21\xe9\xa0\x05\xd3\x65\x6c\x11\x66"
   2771	"\x25\x38\xbb\xa3\x6c\xc2\x0b\x2b\xd0\x7a\x20\x26\x29\x37\x5d\x5f"
   2772	"\xd8\xff\x2a\xcd\x46\x6c\xd6\x6e\xe5\x77\x1a\xe6\x33\xf1\x8e\xc8"
   2773	"\x10\x30\x11\x00\x27\xf9\x7d\x0e\x28\x43\xa7\x67\x38\x7f\x16\xda"
   2774	"\xd0\x01\x8e\xa4\xe8\x6f\xcd\x23\xaf\x77\x52\x34\xad\x7e\xc3\xed"
   2775	"\x2d\x10\x0a\x33\xdc\xcf\x1b\x88\x0f\xcc\x48\x7f\x42\xf0\x9e\x13"
   2776	"\x1f\xf5\xd1\xe9\x90\x87\xbd\xfa\x5f\x1d\x77\x55\xcb\xc3\x05\xaf"
   2777	"\x71\xd0\xe0\xab\x46\x31\xd7\xea\x89\x54\x2d\x39\xaf\xf6\x4f\x74"
   2778	"\xaf\x46\x58\x89\x78\x95\x2e\xe6\x90\xb7\xaa\x00\x73\x9f\xed\xb9"
   2779	"\x00\xd6\xf6\x6d\x26\x59\xcd\x56\xdb\xf7\x3d\x5f\xeb\x6e\x46\x33"
   2780	"\xb1\x23\xed\x9f\x8d\x58\xdc\xb4\x28\x3b\x90\x09\xc4\x61\x02\x1f"
   2781	"\xf8\x62\xf2\x6e\xc1\x94\x71\x66\x93\x11\xdf\xaa\x3e\xd7\xb5\xe5"
   2782	"\xc1\x78\xe9\x14\xcd\x55\x16\x51\xdf\x8d\xd0\x94\x8c\x43\xe9\xb8"
   2783	"\x1d\x42\x7f\x76\xbc\x6f\x87\x42\x88\xde\xd7\x52\x78\x00\x4f\x18"
   2784	"\x02\xe7\x7b\xe2\x8a\xc3\xd1\x43\xa5\xac\xda\xb0\x8d\x19\x96\xd4"
   2785	"\x81\xe0\x75\xe9\xca\x41\x7e\x1f\x93\x0b\x26\x24\xb3\xaa\xdd\x10"
   2786	"\x20\xd3\xf2\x9f\x3f\xdf\x65\xde\x67\x79\xdc\x76\x9f\x3c\x72\x75"
   2787	"\x65\x8a\x30\xcc\xd2\xcc\x06\xb1\xab\x62\x86\x78\x5d\xb8\xce\x72"
   2788	"\xb3\x12\xc7\x9f\x07\xd0\x6b\x98\x82\x9b\x6c\xbb\x15\xe5\xcc\xf4"
   2789	"\xc8\xf4\x60\x81\xdc\xd3\x09\x1b\x5e\xd4\xf3\x55\xcf\x1c\x16\x83"
   2790	"\x61\xb4\x2e\xcc\x08\x67\x58\xfd\x46\x64\xbc\x29\x4b\xdd\xda\xec"
   2791	"\xdc\xc6\xa9\xa5\x73\xfb\xf8\xf3\xaf\x89\xa8\x9e\x25\x14\xfa\xac"
   2792	"\xeb\x1c\x7c\x80\x96\x66\x4d\x41\x67\x9b\x07\x4f\x0a\x97\x17\x1c"
   2793	"\x4d\x61\xc7\x2e\x6f\x36\x98\x29\x50\x39\x6d\xe7\x70\xda\xf0\xc8"
   2794	"\x05\x80\x7b\x32\xff\xfd\x12\xde\x61\x0d\xf9\x4c\x21\xf1\x56\x72"
   2795	"\x3d\x61\x46\xc0\x2d\x07\xd1\x6c\xd3\xbe\x9a\x21\x83\x85\xf7\xed"
   2796	"\x53\x95\x44\x40\x8f\x75\x12\x18\xc2\x9a\xfd\x5e\xce\x66\xa6\x7f"
   2797	"\x57\xc0\xd7\x73\x76\xb3\x13\xda\x2e\x58\xc6\x27\x40\xb2\x2d\xef"
   2798	"\x7d\x72\xb4\xa8\x75\x6f\xcc\x5f\x42\x3e\x2c\x90\x36\x59\xa0\x34"
   2799	"\xaa\xce\xbc\x04\x4c\xe6\x56\xc2\xcd\xa6\x1c\x59\x04\x56\x53\xcf"
   2800	"\x6d\xd7\xf0\xb1\x4f\x91\xfa\x84\xcf\x4b\x8d\x50\x4c\xf8\x2a\x31"
   2801	"\x5f\xe3\xba\x79\xb4\xcc\x59\x64\xe3\x7a\xfa\xf6\x06\x9d\x04\xbb"
   2802	"\xce\x61\xbf\x9e\x59\x0a\x09\x51\x6a\xbb\x0b\x80\xe0\x91\xc1\x51"
   2803	"\x04\x58\x67\x67\x4b\x42\x4f\x95\x68\x75\xe2\x1f\x9c\x14\x70\xfd"
   2804	"\x3a\x8a\xce\x8b\x04\xa1\x89\xe7\xb4\xbf\x70\xfe\xf3\x0c\x48\x04"
   2805	"\x3a\xd2\x85\x68\x03\xe7\xfa\xec\x5b\x55\xb7\x95\xfd\x5b\x19\x35"
   2806	"\xad\xcb\x4a\x63\x03\x44\x64\x2a\x48\x59\x9a\x26\x43\x96\x8c\xe6"
   2807	"\xbd\xb7\x90\xd4\x5f\x8d\x08\x28\xa8\xc5\x89\x70\xb9\x6e\xd3\x3b"
   2808	"\x76\x0e\x37\x98\x15\x27\xca\xc9\xb0\xe0\xfd\xf3\xc6\xdf\x69\xce"
   2809	"\xe1\x5f\x6a\x3e\x5c\x86\xe2\x58\x41\x11\xf0\x7e\x56\xec\xe4\xc9"
   2810	"\x0d\x87\x91\xfb\xb9\xc8\x0d\x34\xab\xb0\xc6\xf2\xa6\x00\x7b\x18"
   2811	"\x92\xf4\x43\x7f\x01\x85\x2e\xef\x8c\x72\x50\x10\xdb\xf1\x37\x62"
   2812	"\x16\x85\x71\x01\xa8\x2b\xf0\x13\xd3\x7c\x0b\xaf\xf1\xf3\xd1\xee"
   2813	"\x90\x41\x5f\x7d\x5b\xa9\x83\x4b\xfa\x80\x59\x50\x73\xe1\xc4\xf9"
   2814	"\x5e\x4b\xde\xd9\xf5\x22\x68\x5e\x65\xd9\x37\xe4\x1a\x08\x0e\xb1"
   2815	"\x28\x2f\x40\x9e\x37\xa8\x12\x56\xb7\xb8\x64\x94\x68\x94\xff\x9f",
   2816	.b_public =
   2817	"\xa1\x6c\x9e\xda\x45\x4d\xf6\x59\x04\x00\xc1\xc6\x8b\x12\x3b\xcd"
   2818	"\x07\xe4\x3e\xec\xac\x9b\xfc\xf7\x6d\x73\x39\x9e\x52\xf8\xbe\x33"
   2819	"\xe2\xca\xea\x99\x76\xc7\xc9\x94\x5c\xf3\x1b\xea\x6b\x66\x4b\x51"
   2820	"\x90\xf6\x4f\x75\xd5\x85\xf4\x28\xfd\x74\xa5\x57\xb1\x71\x0c\xb6"
   2821	"\xb6\x95\x70\x2d\xfa\x4b\x56\xe0\x56\x10\x21\xe5\x60\xa6\x18\xa4"
   2822	"\x78\x8c\x07\xc0\x2b\x59\x9c\x84\x5b\xe9\xb9\x74\xbf\xbc\x65\x48"
   2823	"\x27\x82\x40\x53\x46\x32\xa2\x92\x91\x9d\xf6\xd1\x07\x0e\x1d\x07"
   2824	"\x1b\x41\x04\xb1\xd4\xce\xae\x6e\x46\xf1\x72\x50\x7f\xff\xa8\xa2"
   2825	"\xbc\x3a\xc1\xbb\x28\xd7\x7d\xcd\x7a\x22\x01\xaf\x57\xb0\xa9\x02"
   2826	"\xd4\x8a\x92\xd5\xe6\x8e\x6f\x11\x39\xfe\x36\x87\x89\x42\x25\x42"
   2827	"\xd9\xbe\x67\x15\xe1\x82\x8a\x5e\x98\xc2\xd5\xde\x9e\x13\x1a\xe7"
   2828	"\xf9\x9f\x8e\x2d\x49\xdc\x4d\x98\x8c\xdd\xfd\x24\x7c\x46\xa9\x69"
   2829	"\x3b\x31\xb3\x12\xce\x54\xf6\x65\x75\x40\xc2\xf1\x04\x92\xe3\x83"
   2830	"\xeb\x02\x3d\x79\xc0\xf9\x7c\x28\xb3\x97\x03\xf7\x61\x1c\xce\x95"
   2831	"\x1a\xa0\xb3\x77\x1b\xc1\x9f\xf8\xf6\x3f\x4d\x0a\xfb\xfa\x64\x1c"
   2832	"\xcb\x37\x5b\xc3\x28\x60\x9f\xd1\xf2\xc4\xee\x77\xaa\x1f\xe9\xa2"
   2833	"\x89\x4c\xc6\xb7\xb3\xe4\xa5\xed\xa7\xe8\xac\x90\xdc\xc3\xfb\x56"
   2834	"\x9c\xda\x2c\x1d\x1a\x9a\x8c\x82\x92\xee\xdc\xa0\xa4\x01\x6e\x7f"
   2835	"\xc7\x0e\xc2\x73\x7d\xa6\xac\x12\x01\xc0\xc0\xc8\x7c\x84\x86\xc7"
   2836	"\xa5\x94\xe5\x33\x84\x71\x6e\x36\xe3\x3b\x81\x30\xe0\xc8\x51\x52"
   2837	"\x2b\x9e\x68\xa2\x6e\x09\x95\x8c\x7f\x78\x82\xbd\x53\x26\xe7\x95"
   2838	"\xe0\x03\xda\xc0\xc3\x6e\xcf\xdc\xb3\x14\xfc\xe9\x5b\x9b\x70\x6c"
   2839	"\x93\x04\xab\x13\xf7\x17\x6d\xee\xad\x32\x48\xe9\xa0\x94\x1b\x14"
   2840	"\x64\x4f\xa1\xb3\x8d\x6a\xca\x28\xfe\x4a\xf4\xf0\xc5\xb7\xf9\x8a"
   2841	"\x8e\xff\xfe\x57\x6f\x20\xdb\x04\xab\x02\x31\x22\x42\xfd\xbd\x77"
   2842	"\xea\xce\xe8\xc7\x5d\xe0\x8e\xd6\x66\xd0\xe4\x04\x2f\x5f\x71\xc7"
   2843	"\x61\x2d\xa5\x3f\x2f\x46\xf2\xd8\x5b\x25\x82\xf0\x52\x88\xc0\x59"
   2844	"\xd3\xa3\x90\x17\xc2\x04\x13\xc3\x13\x69\x4f\x17\xb1\xb3\x46\x4f"
   2845	"\xa7\xe6\x8b\x5e\x3e\x95\x0e\xf5\x42\x17\x7f\x4d\x1f\x1b\x7d\x65"
   2846	"\x86\xc5\xc8\xae\xae\xd8\x4f\xe7\x89\x41\x69\xfd\x06\xce\x5d\xed"
   2847	"\x44\x55\xad\x51\x98\x15\x78\x8d\x68\xfc\x93\x72\x9d\x22\xe5\x1d"
   2848	"\x21\xc3\xbe\x3a\x44\x34\xc0\xa3\x1f\xca\xdf\x45\xd0\x5c\xcd\xb7"
   2849	"\x72\xeb\xae\x7a\xad\x3f\x05\xa0\xe3\x6e\x5a\xd8\x52\xa7\xf1\x1e"
   2850	"\xb4\xf2\xcf\xe7\xdf\xa7\xf2\x22\x00\xb2\xc4\x17\x3d\x2c\x15\x04"
   2851	"\x71\x28\x69\x5c\x69\x21\xc8\xf1\x9b\xd8\xc7\xbc\x27\xa3\x85\xe9"
   2852	"\x53\x77\xd3\x65\xc3\x86\xdd\xb3\x76\x13\xfb\xa1\xd4\xee\x9d\xe4"
   2853	"\x51\x3f\x83\x59\xe4\x47\xa8\xa6\x0d\x68\xd5\xf6\xf4\xca\x31\xcd"
   2854	"\x30\x48\x34\x90\x11\x8e\x87\xe9\xea\xc9\xd0\xc3\xba\x28\xf9\xc0"
   2855	"\xc9\x8e\x23\xe5\xc2\xee\xf2\x47\x9c\x41\x1c\x10\x33\x27\x23\x49"
   2856	"\xe5\x0d\x18\xbe\x19\xc1\xba\x6c\xdc\xb7\xa1\xe7\xc5\x0d\x6f\xf0"
   2857	"\x8c\x62\x6e\x0d\x14\xef\xef\xf2\x8e\x01\xd2\x76\xf5\xc1\xe1\x92"
   2858	"\x3c\xb3\x76\xcd\xd8\xdd\x9b\xe0\x8e\xdc\x24\x34\x13\x65\x0f\x11"
   2859	"\xaf\x99\x7a\x2f\xe6\x1f\x7d\x17\x3e\x8a\x68\x9a\x37\xc8\x8d\x3e"
   2860	"\xa3\xfe\xfe\x57\x22\xe6\x0e\x50\xb5\x98\x0b\x71\xd8\x01\xa2\x8d"
   2861	"\x51\x96\x50\xc2\x41\x31\xd8\x23\x98\xfc\xd1\x9d\x7e\x27\xbb\x69"
   2862	"\x78\xe0\x87\xf7\xe4\xdd\x58\x13\x9d\xec\x00\xe4\xb9\x70\xa2\x94"
   2863	"\x5d\x52\x4e\xf2\x5c\xd1\xbc\xfd\xee\x9b\xb9\xe5\xc4\xc0\xa8\x77"
   2864	"\x67\xa4\xd1\x95\x34\xe4\x6d\x5f\x25\x02\x8d\x65\xdd\x11\x63\x55"
   2865	"\x04\x01\x21\x60\xc1\x5c\xef\x77\x33\x01\x1c\xa2\x11\x2b\xdd\x2b"
   2866	"\x74\x99\x23\x38\x05\x1b\x7e\x2e\x01\x52\xfe\x9c\x23\xde\x3e\x1a"
   2867	"\x72\xf4\xff\x7b\x02\xaa\x08\xcf\xe0\x5b\x83\xbe\x85\x5a\xe8\x9d"
   2868	"\x11\x3e\xff\x2f\xc6\x97\x67\x36\x6c\x0f\x81\x9c\x26\x29\xb1\x0f"
   2869	"\xbb\x53\xbd\xf4\xec\x2a\x84\x41\x28\x3b\x86\x40\x95\x69\x55\x5f"
   2870	"\x30\xee\xda\x1e\x6c\x4b\x25\xd6\x2f\x2c\x0e\x3c\x1a\x26\xa0\x3e"
   2871	"\xef\x09\xc6\x2b\xe5\xa1\x0c\x03\xa8\xf5\x39\x70\x31\xc4\x32\x79"
   2872	"\xd1\xd9\xc2\xcc\x32\x4a\xf1\x2f\x57\x5a\xcc\xe5\xc3\xc5\xd5\x4e"
   2873	"\x86\x56\xca\x64\xdb\xab\x61\x85\x8f\xf9\x20\x02\x40\x66\x76\x9e"
   2874	"\x5e\xd4\xac\xf0\x47\xa6\x50\x5f\xc2\xaf\x55\x9b\xa3\xc9\x8b\xf8"
   2875	"\x42\xd5\xcf\x1a\x95\x22\xd9\xd1\x0b\x92\x51\xca\xde\x46\x02\x0d"
   2876	"\x8b\xee\xd9\xa0\x04\x74\xf5\x0e\xb0\x3a\x62\xec\x3c\x91\x29\x33"
   2877	"\xa7\x78\x22\x92\xac\x27\xe6\x2d\x6f\x56\x8a\x5d\x72\xc2\xf1\x5c"
   2878	"\x54\x11\x97\x24\x61\xcb\x0c\x52\xd4\x57\x56\x22\x86\xf0\x19\x27"
   2879	"\x76\x30\x04\xf4\x39\x7b\x1a\x5a\x04\x0d\xec\x59\x9a\x31\x4c\x40"
   2880	"\x19\x6d\x3c\x41\x1b\x0c\xca\xeb\x25\x39\x6c\x96\xf8\x55\xd0\xec",
   2881	.secret_size = 16,
   2882	.b_secret_size = 1040,
   2883	.b_public_size = 1024,
   2884	.expected_a_public_size = 1024,
   2885	.expected_ss_size = 1024,
   2886	.genkey = true,
   2887	},
   2888};
   2889
   2890static const struct kpp_testvec curve25519_tv_template[] = {
   2891{
   2892	.secret = (u8[32]){ 0x77, 0x07, 0x6d, 0x0a, 0x73, 0x18, 0xa5, 0x7d,
   2893		     0x3c, 0x16, 0xc1, 0x72, 0x51, 0xb2, 0x66, 0x45,
   2894		     0xdf, 0x4c, 0x2f, 0x87, 0xeb, 0xc0, 0x99, 0x2a,
   2895		     0xb1, 0x77, 0xfb, 0xa5, 0x1d, 0xb9, 0x2c, 0x2a },
   2896	.b_public = (u8[32]){ 0xde, 0x9e, 0xdb, 0x7d, 0x7b, 0x7d, 0xc1, 0xb4,
   2897		    0xd3, 0x5b, 0x61, 0xc2, 0xec, 0xe4, 0x35, 0x37,
   2898		    0x3f, 0x83, 0x43, 0xc8, 0x5b, 0x78, 0x67, 0x4d,
   2899		    0xad, 0xfc, 0x7e, 0x14, 0x6f, 0x88, 0x2b, 0x4f },
   2900	.expected_ss = (u8[32]){ 0x4a, 0x5d, 0x9d, 0x5b, 0xa4, 0xce, 0x2d, 0xe1,
   2901		    0x72, 0x8e, 0x3b, 0xf4, 0x80, 0x35, 0x0f, 0x25,
   2902		    0xe0, 0x7e, 0x21, 0xc9, 0x47, 0xd1, 0x9e, 0x33,
   2903		    0x76, 0xf0, 0x9b, 0x3c, 0x1e, 0x16, 0x17, 0x42 },
   2904	.secret_size = 32,
   2905	.b_public_size = 32,
   2906	.expected_ss_size = 32,
   2907
   2908},
   2909{
   2910	.secret = (u8[32]){ 0x5d, 0xab, 0x08, 0x7e, 0x62, 0x4a, 0x8a, 0x4b,
   2911		     0x79, 0xe1, 0x7f, 0x8b, 0x83, 0x80, 0x0e, 0xe6,
   2912		     0x6f, 0x3b, 0xb1, 0x29, 0x26, 0x18, 0xb6, 0xfd,
   2913		     0x1c, 0x2f, 0x8b, 0x27, 0xff, 0x88, 0xe0, 0xeb },
   2914	.b_public = (u8[32]){ 0x85, 0x20, 0xf0, 0x09, 0x89, 0x30, 0xa7, 0x54,
   2915		    0x74, 0x8b, 0x7d, 0xdc, 0xb4, 0x3e, 0xf7, 0x5a,
   2916		    0x0d, 0xbf, 0x3a, 0x0d, 0x26, 0x38, 0x1a, 0xf4,
   2917		    0xeb, 0xa4, 0xa9, 0x8e, 0xaa, 0x9b, 0x4e, 0x6a },
   2918	.expected_ss = (u8[32]){ 0x4a, 0x5d, 0x9d, 0x5b, 0xa4, 0xce, 0x2d, 0xe1,
   2919		    0x72, 0x8e, 0x3b, 0xf4, 0x80, 0x35, 0x0f, 0x25,
   2920		    0xe0, 0x7e, 0x21, 0xc9, 0x47, 0xd1, 0x9e, 0x33,
   2921		    0x76, 0xf0, 0x9b, 0x3c, 0x1e, 0x16, 0x17, 0x42 },
   2922	.secret_size = 32,
   2923	.b_public_size = 32,
   2924	.expected_ss_size = 32,
   2925
   2926},
   2927{
   2928	.secret = (u8[32]){ 1 },
   2929	.b_public = (u8[32]){ 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   2930		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   2931		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   2932		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
   2933	.expected_ss = (u8[32]){ 0x3c, 0x77, 0x77, 0xca, 0xf9, 0x97, 0xb2, 0x64,
   2934		    0x41, 0x60, 0x77, 0x66, 0x5b, 0x4e, 0x22, 0x9d,
   2935		    0x0b, 0x95, 0x48, 0xdc, 0x0c, 0xd8, 0x19, 0x98,
   2936		    0xdd, 0xcd, 0xc5, 0xc8, 0x53, 0x3c, 0x79, 0x7f },
   2937	.secret_size = 32,
   2938	.b_public_size = 32,
   2939	.expected_ss_size = 32,
   2940
   2941},
   2942{
   2943	.secret = (u8[32]){ 1 },
   2944	.b_public = (u8[32]){ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   2945		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   2946		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   2947		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
   2948	.expected_ss = (u8[32]){ 0xb3, 0x2d, 0x13, 0x62, 0xc2, 0x48, 0xd6, 0x2f,
   2949		    0xe6, 0x26, 0x19, 0xcf, 0xf0, 0x4d, 0xd4, 0x3d,
   2950		    0xb7, 0x3f, 0xfc, 0x1b, 0x63, 0x08, 0xed, 0xe3,
   2951		    0x0b, 0x78, 0xd8, 0x73, 0x80, 0xf1, 0xe8, 0x34 },
   2952	.secret_size = 32,
   2953	.b_public_size = 32,
   2954	.expected_ss_size = 32,
   2955
   2956},
   2957{
   2958	.secret = (u8[32]){ 0xa5, 0x46, 0xe3, 0x6b, 0xf0, 0x52, 0x7c, 0x9d,
   2959		     0x3b, 0x16, 0x15, 0x4b, 0x82, 0x46, 0x5e, 0xdd,
   2960		     0x62, 0x14, 0x4c, 0x0a, 0xc1, 0xfc, 0x5a, 0x18,
   2961		     0x50, 0x6a, 0x22, 0x44, 0xba, 0x44, 0x9a, 0xc4 },
   2962	.b_public = (u8[32]){ 0xe6, 0xdb, 0x68, 0x67, 0x58, 0x30, 0x30, 0xdb,
   2963		    0x35, 0x94, 0xc1, 0xa4, 0x24, 0xb1, 0x5f, 0x7c,
   2964		    0x72, 0x66, 0x24, 0xec, 0x26, 0xb3, 0x35, 0x3b,
   2965		    0x10, 0xa9, 0x03, 0xa6, 0xd0, 0xab, 0x1c, 0x4c },
   2966	.expected_ss = (u8[32]){ 0xc3, 0xda, 0x55, 0x37, 0x9d, 0xe9, 0xc6, 0x90,
   2967		    0x8e, 0x94, 0xea, 0x4d, 0xf2, 0x8d, 0x08, 0x4f,
   2968		    0x32, 0xec, 0xcf, 0x03, 0x49, 0x1c, 0x71, 0xf7,
   2969		    0x54, 0xb4, 0x07, 0x55, 0x77, 0xa2, 0x85, 0x52 },
   2970	.secret_size = 32,
   2971	.b_public_size = 32,
   2972	.expected_ss_size = 32,
   2973
   2974},
   2975{
   2976	.secret = (u8[32]){ 0xff, 0xff, 0xff, 0xff, 0x0a, 0xff, 0xff, 0xff,
   2977		     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   2978		     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   2979		     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
   2980	.b_public = (u8[32]){ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   2981		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   2982		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   2983		    0xff, 0xff, 0xff, 0xff, 0x0a, 0x00, 0xfb, 0x9f },
   2984	.expected_ss = (u8[32]){ 0x77, 0x52, 0xb6, 0x18, 0xc1, 0x2d, 0x48, 0xd2,
   2985		    0xc6, 0x93, 0x46, 0x83, 0x81, 0x7c, 0xc6, 0x57,
   2986		    0xf3, 0x31, 0x03, 0x19, 0x49, 0x48, 0x20, 0x05,
   2987		    0x42, 0x2b, 0x4e, 0xae, 0x8d, 0x1d, 0x43, 0x23 },
   2988	.secret_size = 32,
   2989	.b_public_size = 32,
   2990	.expected_ss_size = 32,
   2991
   2992},
   2993{
   2994	.secret = (u8[32]){ 0x8e, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   2995		     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   2996		     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   2997		     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
   2998	.b_public = (u8[32]){ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   2999		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3000		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3001		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8e, 0x06 },
   3002	.expected_ss = (u8[32]){ 0x5a, 0xdf, 0xaa, 0x25, 0x86, 0x8e, 0x32, 0x3d,
   3003		    0xae, 0x49, 0x62, 0xc1, 0x01, 0x5c, 0xb3, 0x12,
   3004		    0xe1, 0xc5, 0xc7, 0x9e, 0x95, 0x3f, 0x03, 0x99,
   3005		    0xb0, 0xba, 0x16, 0x22, 0xf3, 0xb6, 0xf7, 0x0c },
   3006	.secret_size = 32,
   3007	.b_public_size = 32,
   3008	.expected_ss_size = 32,
   3009
   3010},
   3011/* wycheproof - normal case */
   3012{
   3013	.secret = (u8[32]){ 0x48, 0x52, 0x83, 0x4d, 0x9d, 0x6b, 0x77, 0xda,
   3014		     0xde, 0xab, 0xaa, 0xf2, 0xe1, 0x1d, 0xca, 0x66,
   3015		     0xd1, 0x9f, 0xe7, 0x49, 0x93, 0xa7, 0xbe, 0xc3,
   3016		     0x6c, 0x6e, 0x16, 0xa0, 0x98, 0x3f, 0xea, 0xba },
   3017	.b_public = (u8[32]){ 0x9c, 0x64, 0x7d, 0x9a, 0xe5, 0x89, 0xb9, 0xf5,
   3018		    0x8f, 0xdc, 0x3c, 0xa4, 0x94, 0x7e, 0xfb, 0xc9,
   3019		    0x15, 0xc4, 0xb2, 0xe0, 0x8e, 0x74, 0x4a, 0x0e,
   3020		    0xdf, 0x46, 0x9d, 0xac, 0x59, 0xc8, 0xf8, 0x5a },
   3021	.expected_ss = (u8[32]){ 0x87, 0xb7, 0xf2, 0x12, 0xb6, 0x27, 0xf7, 0xa5,
   3022		    0x4c, 0xa5, 0xe0, 0xbc, 0xda, 0xdd, 0xd5, 0x38,
   3023		    0x9d, 0x9d, 0xe6, 0x15, 0x6c, 0xdb, 0xcf, 0x8e,
   3024		    0xbe, 0x14, 0xff, 0xbc, 0xfb, 0x43, 0x65, 0x51 },
   3025	.secret_size = 32,
   3026	.b_public_size = 32,
   3027	.expected_ss_size = 32,
   3028
   3029},
   3030/* wycheproof - public key on twist */
   3031{
   3032	.secret = (u8[32]){ 0x58, 0x8c, 0x06, 0x1a, 0x50, 0x80, 0x4a, 0xc4,
   3033		     0x88, 0xad, 0x77, 0x4a, 0xc7, 0x16, 0xc3, 0xf5,
   3034		     0xba, 0x71, 0x4b, 0x27, 0x12, 0xe0, 0x48, 0x49,
   3035		     0x13, 0x79, 0xa5, 0x00, 0x21, 0x19, 0x98, 0xa8 },
   3036	.b_public = (u8[32]){ 0x63, 0xaa, 0x40, 0xc6, 0xe3, 0x83, 0x46, 0xc5,
   3037		    0xca, 0xf2, 0x3a, 0x6d, 0xf0, 0xa5, 0xe6, 0xc8,
   3038		    0x08, 0x89, 0xa0, 0x86, 0x47, 0xe5, 0x51, 0xb3,
   3039		    0x56, 0x34, 0x49, 0xbe, 0xfc, 0xfc, 0x97, 0x33 },
   3040	.expected_ss = (u8[32]){ 0xb1, 0xa7, 0x07, 0x51, 0x94, 0x95, 0xff, 0xff,
   3041		    0xb2, 0x98, 0xff, 0x94, 0x17, 0x16, 0xb0, 0x6d,
   3042		    0xfa, 0xb8, 0x7c, 0xf8, 0xd9, 0x11, 0x23, 0xfe,
   3043		    0x2b, 0xe9, 0xa2, 0x33, 0xdd, 0xa2, 0x22, 0x12 },
   3044	.secret_size = 32,
   3045	.b_public_size = 32,
   3046	.expected_ss_size = 32,
   3047
   3048},
   3049/* wycheproof - public key on twist */
   3050{
   3051	.secret = (u8[32]){ 0xb0, 0x5b, 0xfd, 0x32, 0xe5, 0x53, 0x25, 0xd9,
   3052		     0xfd, 0x64, 0x8c, 0xb3, 0x02, 0x84, 0x80, 0x39,
   3053		     0x00, 0x0b, 0x39, 0x0e, 0x44, 0xd5, 0x21, 0xe5,
   3054		     0x8a, 0xab, 0x3b, 0x29, 0xa6, 0x96, 0x0b, 0xa8 },
   3055	.b_public = (u8[32]){ 0x0f, 0x83, 0xc3, 0x6f, 0xde, 0xd9, 0xd3, 0x2f,
   3056		    0xad, 0xf4, 0xef, 0xa3, 0xae, 0x93, 0xa9, 0x0b,
   3057		    0xb5, 0xcf, 0xa6, 0x68, 0x93, 0xbc, 0x41, 0x2c,
   3058		    0x43, 0xfa, 0x72, 0x87, 0xdb, 0xb9, 0x97, 0x79 },
   3059	.expected_ss = (u8[32]){ 0x67, 0xdd, 0x4a, 0x6e, 0x16, 0x55, 0x33, 0x53,
   3060		    0x4c, 0x0e, 0x3f, 0x17, 0x2e, 0x4a, 0xb8, 0x57,
   3061		    0x6b, 0xca, 0x92, 0x3a, 0x5f, 0x07, 0xb2, 0xc0,
   3062		    0x69, 0xb4, 0xc3, 0x10, 0xff, 0x2e, 0x93, 0x5b },
   3063	.secret_size = 32,
   3064	.b_public_size = 32,
   3065	.expected_ss_size = 32,
   3066
   3067},
   3068/* wycheproof - public key on twist */
   3069{
   3070	.secret = (u8[32]){ 0x70, 0xe3, 0x4b, 0xcb, 0xe1, 0xf4, 0x7f, 0xbc,
   3071		     0x0f, 0xdd, 0xfd, 0x7c, 0x1e, 0x1a, 0xa5, 0x3d,
   3072		     0x57, 0xbf, 0xe0, 0xf6, 0x6d, 0x24, 0x30, 0x67,
   3073		     0xb4, 0x24, 0xbb, 0x62, 0x10, 0xbe, 0xd1, 0x9c },
   3074	.b_public = (u8[32]){ 0x0b, 0x82, 0x11, 0xa2, 0xb6, 0x04, 0x90, 0x97,
   3075		    0xf6, 0x87, 0x1c, 0x6c, 0x05, 0x2d, 0x3c, 0x5f,
   3076		    0xc1, 0xba, 0x17, 0xda, 0x9e, 0x32, 0xae, 0x45,
   3077		    0x84, 0x03, 0xb0, 0x5b, 0xb2, 0x83, 0x09, 0x2a },
   3078	.expected_ss = (u8[32]){ 0x4a, 0x06, 0x38, 0xcf, 0xaa, 0x9e, 0xf1, 0x93,
   3079		    0x3b, 0x47, 0xf8, 0x93, 0x92, 0x96, 0xa6, 0xb2,
   3080		    0x5b, 0xe5, 0x41, 0xef, 0x7f, 0x70, 0xe8, 0x44,
   3081		    0xc0, 0xbc, 0xc0, 0x0b, 0x13, 0x4d, 0xe6, 0x4a },
   3082	.secret_size = 32,
   3083	.b_public_size = 32,
   3084	.expected_ss_size = 32,
   3085
   3086},
   3087/* wycheproof - public key on twist */
   3088{
   3089	.secret = (u8[32]){ 0x68, 0xc1, 0xf3, 0xa6, 0x53, 0xa4, 0xcd, 0xb1,
   3090		     0xd3, 0x7b, 0xba, 0x94, 0x73, 0x8f, 0x8b, 0x95,
   3091		     0x7a, 0x57, 0xbe, 0xb2, 0x4d, 0x64, 0x6e, 0x99,
   3092		     0x4d, 0xc2, 0x9a, 0x27, 0x6a, 0xad, 0x45, 0x8d },
   3093	.b_public = (u8[32]){ 0x34, 0x3a, 0xc2, 0x0a, 0x3b, 0x9c, 0x6a, 0x27,
   3094		    0xb1, 0x00, 0x81, 0x76, 0x50, 0x9a, 0xd3, 0x07,
   3095		    0x35, 0x85, 0x6e, 0xc1, 0xc8, 0xd8, 0xfc, 0xae,
   3096		    0x13, 0x91, 0x2d, 0x08, 0xd1, 0x52, 0xf4, 0x6c },
   3097	.expected_ss = (u8[32]){ 0x39, 0x94, 0x91, 0xfc, 0xe8, 0xdf, 0xab, 0x73,
   3098		    0xb4, 0xf9, 0xf6, 0x11, 0xde, 0x8e, 0xa0, 0xb2,
   3099		    0x7b, 0x28, 0xf8, 0x59, 0x94, 0x25, 0x0b, 0x0f,
   3100		    0x47, 0x5d, 0x58, 0x5d, 0x04, 0x2a, 0xc2, 0x07 },
   3101	.secret_size = 32,
   3102	.b_public_size = 32,
   3103	.expected_ss_size = 32,
   3104
   3105},
   3106/* wycheproof - public key on twist */
   3107{
   3108	.secret = (u8[32]){ 0xd8, 0x77, 0xb2, 0x6d, 0x06, 0xdf, 0xf9, 0xd9,
   3109		     0xf7, 0xfd, 0x4c, 0x5b, 0x37, 0x69, 0xf8, 0xcd,
   3110		     0xd5, 0xb3, 0x05, 0x16, 0xa5, 0xab, 0x80, 0x6b,
   3111		     0xe3, 0x24, 0xff, 0x3e, 0xb6, 0x9e, 0xa0, 0xb2 },
   3112	.b_public = (u8[32]){ 0xfa, 0x69, 0x5f, 0xc7, 0xbe, 0x8d, 0x1b, 0xe5,
   3113		    0xbf, 0x70, 0x48, 0x98, 0xf3, 0x88, 0xc4, 0x52,
   3114		    0xba, 0xfd, 0xd3, 0xb8, 0xea, 0xe8, 0x05, 0xf8,
   3115		    0x68, 0x1a, 0x8d, 0x15, 0xc2, 0xd4, 0xe1, 0x42 },
   3116	.expected_ss = (u8[32]){ 0x2c, 0x4f, 0xe1, 0x1d, 0x49, 0x0a, 0x53, 0x86,
   3117		    0x17, 0x76, 0xb1, 0x3b, 0x43, 0x54, 0xab, 0xd4,
   3118		    0xcf, 0x5a, 0x97, 0x69, 0x9d, 0xb6, 0xe6, 0xc6,
   3119		    0x8c, 0x16, 0x26, 0xd0, 0x76, 0x62, 0xf7, 0x58 },
   3120	.secret_size = 32,
   3121	.b_public_size = 32,
   3122	.expected_ss_size = 32,
   3123
   3124},
   3125/* wycheproof - edge case on twist */
   3126{
   3127	.secret = (u8[32]){ 0x38, 0xdd, 0xe9, 0xf3, 0xe7, 0xb7, 0x99, 0x04,
   3128		     0x5f, 0x9a, 0xc3, 0x79, 0x3d, 0x4a, 0x92, 0x77,
   3129		     0xda, 0xde, 0xad, 0xc4, 0x1b, 0xec, 0x02, 0x90,
   3130		     0xf8, 0x1f, 0x74, 0x4f, 0x73, 0x77, 0x5f, 0x84 },
   3131	.b_public = (u8[32]){ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3132		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3133		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3134		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
   3135	.expected_ss = (u8[32]){ 0x9a, 0x2c, 0xfe, 0x84, 0xff, 0x9c, 0x4a, 0x97,
   3136		    0x39, 0x62, 0x5c, 0xae, 0x4a, 0x3b, 0x82, 0xa9,
   3137		    0x06, 0x87, 0x7a, 0x44, 0x19, 0x46, 0xf8, 0xd7,
   3138		    0xb3, 0xd7, 0x95, 0xfe, 0x8f, 0x5d, 0x16, 0x39 },
   3139	.secret_size = 32,
   3140	.b_public_size = 32,
   3141	.expected_ss_size = 32,
   3142
   3143},
   3144/* wycheproof - edge case on twist */
   3145{
   3146	.secret = (u8[32]){ 0x98, 0x57, 0xa9, 0x14, 0xe3, 0xc2, 0x90, 0x36,
   3147		     0xfd, 0x9a, 0x44, 0x2b, 0xa5, 0x26, 0xb5, 0xcd,
   3148		     0xcd, 0xf2, 0x82, 0x16, 0x15, 0x3e, 0x63, 0x6c,
   3149		     0x10, 0x67, 0x7a, 0xca, 0xb6, 0xbd, 0x6a, 0xa5 },
   3150	.b_public = (u8[32]){ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3151		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3152		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3153		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
   3154	.expected_ss = (u8[32]){ 0x4d, 0xa4, 0xe0, 0xaa, 0x07, 0x2c, 0x23, 0x2e,
   3155		    0xe2, 0xf0, 0xfa, 0x4e, 0x51, 0x9a, 0xe5, 0x0b,
   3156		    0x52, 0xc1, 0xed, 0xd0, 0x8a, 0x53, 0x4d, 0x4e,
   3157		    0xf3, 0x46, 0xc2, 0xe1, 0x06, 0xd2, 0x1d, 0x60 },
   3158	.secret_size = 32,
   3159	.b_public_size = 32,
   3160	.expected_ss_size = 32,
   3161
   3162},
   3163/* wycheproof - edge case on twist */
   3164{
   3165	.secret = (u8[32]){ 0x48, 0xe2, 0x13, 0x0d, 0x72, 0x33, 0x05, 0xed,
   3166		     0x05, 0xe6, 0xe5, 0x89, 0x4d, 0x39, 0x8a, 0x5e,
   3167		     0x33, 0x36, 0x7a, 0x8c, 0x6a, 0xac, 0x8f, 0xcd,
   3168		     0xf0, 0xa8, 0x8e, 0x4b, 0x42, 0x82, 0x0d, 0xb7 },
   3169	.b_public = (u8[32]){ 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0xf8, 0xff,
   3170		    0xff, 0x1f, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff,
   3171		    0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x07, 0x00,
   3172		    0x00, 0xf0, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00 },
   3173	.expected_ss = (u8[32]){ 0x9e, 0xd1, 0x0c, 0x53, 0x74, 0x7f, 0x64, 0x7f,
   3174		    0x82, 0xf4, 0x51, 0x25, 0xd3, 0xde, 0x15, 0xa1,
   3175		    0xe6, 0xb8, 0x24, 0x49, 0x6a, 0xb4, 0x04, 0x10,
   3176		    0xff, 0xcc, 0x3c, 0xfe, 0x95, 0x76, 0x0f, 0x3b },
   3177	.secret_size = 32,
   3178	.b_public_size = 32,
   3179	.expected_ss_size = 32,
   3180
   3181},
   3182/* wycheproof - edge case on twist */
   3183{
   3184	.secret = (u8[32]){ 0x28, 0xf4, 0x10, 0x11, 0x69, 0x18, 0x51, 0xb3,
   3185		     0xa6, 0x2b, 0x64, 0x15, 0x53, 0xb3, 0x0d, 0x0d,
   3186		     0xfd, 0xdc, 0xb8, 0xff, 0xfc, 0xf5, 0x37, 0x00,
   3187		     0xa7, 0xbe, 0x2f, 0x6a, 0x87, 0x2e, 0x9f, 0xb0 },
   3188	.b_public = (u8[32]){ 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0x07, 0x00,
   3189		    0x00, 0xe0, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00,
   3190		    0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0xf8, 0xff,
   3191		    0xff, 0x0f, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x7f },
   3192	.expected_ss = (u8[32]){ 0xcf, 0x72, 0xb4, 0xaa, 0x6a, 0xa1, 0xc9, 0xf8,
   3193		    0x94, 0xf4, 0x16, 0x5b, 0x86, 0x10, 0x9a, 0xa4,
   3194		    0x68, 0x51, 0x76, 0x48, 0xe1, 0xf0, 0xcc, 0x70,
   3195		    0xe1, 0xab, 0x08, 0x46, 0x01, 0x76, 0x50, 0x6b },
   3196	.secret_size = 32,
   3197	.b_public_size = 32,
   3198	.expected_ss_size = 32,
   3199
   3200},
   3201/* wycheproof - edge case on twist */
   3202{
   3203	.secret = (u8[32]){ 0x18, 0xa9, 0x3b, 0x64, 0x99, 0xb9, 0xf6, 0xb3,
   3204		     0x22, 0x5c, 0xa0, 0x2f, 0xef, 0x41, 0x0e, 0x0a,
   3205		     0xde, 0xc2, 0x35, 0x32, 0x32, 0x1d, 0x2d, 0x8e,
   3206		     0xf1, 0xa6, 0xd6, 0x02, 0xa8, 0xc6, 0x5b, 0x83 },
   3207	.b_public = (u8[32]){ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
   3208		    0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
   3209		    0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
   3210		    0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x7f },
   3211	.expected_ss = (u8[32]){ 0x5d, 0x50, 0xb6, 0x28, 0x36, 0xbb, 0x69, 0x57,
   3212		    0x94, 0x10, 0x38, 0x6c, 0xf7, 0xbb, 0x81, 0x1c,
   3213		    0x14, 0xbf, 0x85, 0xb1, 0xc7, 0xb1, 0x7e, 0x59,
   3214		    0x24, 0xc7, 0xff, 0xea, 0x91, 0xef, 0x9e, 0x12 },
   3215	.secret_size = 32,
   3216	.b_public_size = 32,
   3217	.expected_ss_size = 32,
   3218
   3219},
   3220/* wycheproof - edge case on twist */
   3221{
   3222	.secret = (u8[32]){ 0xc0, 0x1d, 0x13, 0x05, 0xa1, 0x33, 0x8a, 0x1f,
   3223		     0xca, 0xc2, 0xba, 0x7e, 0x2e, 0x03, 0x2b, 0x42,
   3224		     0x7e, 0x0b, 0x04, 0x90, 0x31, 0x65, 0xac, 0xa9,
   3225		     0x57, 0xd8, 0xd0, 0x55, 0x3d, 0x87, 0x17, 0xb0 },
   3226	.b_public = (u8[32]){ 0xea, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3227		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3228		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3229		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
   3230	.expected_ss = (u8[32]){ 0x19, 0x23, 0x0e, 0xb1, 0x48, 0xd5, 0xd6, 0x7c,
   3231		    0x3c, 0x22, 0xab, 0x1d, 0xae, 0xff, 0x80, 0xa5,
   3232		    0x7e, 0xae, 0x42, 0x65, 0xce, 0x28, 0x72, 0x65,
   3233		    0x7b, 0x2c, 0x80, 0x99, 0xfc, 0x69, 0x8e, 0x50 },
   3234	.secret_size = 32,
   3235	.b_public_size = 32,
   3236	.expected_ss_size = 32,
   3237
   3238},
   3239/* wycheproof - edge case for public key */
   3240{
   3241	.secret = (u8[32]){ 0x38, 0x6f, 0x7f, 0x16, 0xc5, 0x07, 0x31, 0xd6,
   3242		     0x4f, 0x82, 0xe6, 0xa1, 0x70, 0xb1, 0x42, 0xa4,
   3243		     0xe3, 0x4f, 0x31, 0xfd, 0x77, 0x68, 0xfc, 0xb8,
   3244		     0x90, 0x29, 0x25, 0xe7, 0xd1, 0xe2, 0x1a, 0xbe },
   3245	.b_public = (u8[32]){ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3246		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3247		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3248		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
   3249	.expected_ss = (u8[32]){ 0x0f, 0xca, 0xb5, 0xd8, 0x42, 0xa0, 0x78, 0xd7,
   3250		    0xa7, 0x1f, 0xc5, 0x9b, 0x57, 0xbf, 0xb4, 0xca,
   3251		    0x0b, 0xe6, 0x87, 0x3b, 0x49, 0xdc, 0xdb, 0x9f,
   3252		    0x44, 0xe1, 0x4a, 0xe8, 0xfb, 0xdf, 0xa5, 0x42 },
   3253	.secret_size = 32,
   3254	.b_public_size = 32,
   3255	.expected_ss_size = 32,
   3256
   3257},
   3258/* wycheproof - edge case for public key */
   3259{
   3260	.secret = (u8[32]){ 0xe0, 0x23, 0xa2, 0x89, 0xbd, 0x5e, 0x90, 0xfa,
   3261		     0x28, 0x04, 0xdd, 0xc0, 0x19, 0xa0, 0x5e, 0xf3,
   3262		     0xe7, 0x9d, 0x43, 0x4b, 0xb6, 0xea, 0x2f, 0x52,
   3263		     0x2e, 0xcb, 0x64, 0x3a, 0x75, 0x29, 0x6e, 0x95 },
   3264	.b_public = (u8[32]){ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
   3265		    0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
   3266		    0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
   3267		    0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 },
   3268	.expected_ss = (u8[32]){ 0x54, 0xce, 0x8f, 0x22, 0x75, 0xc0, 0x77, 0xe3,
   3269		    0xb1, 0x30, 0x6a, 0x39, 0x39, 0xc5, 0xe0, 0x3e,
   3270		    0xef, 0x6b, 0xbb, 0x88, 0x06, 0x05, 0x44, 0x75,
   3271		    0x8d, 0x9f, 0xef, 0x59, 0xb0, 0xbc, 0x3e, 0x4f },
   3272	.secret_size = 32,
   3273	.b_public_size = 32,
   3274	.expected_ss_size = 32,
   3275
   3276},
   3277/* wycheproof - edge case for public key */
   3278{
   3279	.secret = (u8[32]){ 0x68, 0xf0, 0x10, 0xd6, 0x2e, 0xe8, 0xd9, 0x26,
   3280		     0x05, 0x3a, 0x36, 0x1c, 0x3a, 0x75, 0xc6, 0xea,
   3281		     0x4e, 0xbd, 0xc8, 0x60, 0x6a, 0xb2, 0x85, 0x00,
   3282		     0x3a, 0x6f, 0x8f, 0x40, 0x76, 0xb0, 0x1e, 0x83 },
   3283	.b_public = (u8[32]){ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3284		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3285		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3286		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03 },
   3287	.expected_ss = (u8[32]){ 0xf1, 0x36, 0x77, 0x5c, 0x5b, 0xeb, 0x0a, 0xf8,
   3288		    0x11, 0x0a, 0xf1, 0x0b, 0x20, 0x37, 0x23, 0x32,
   3289		    0x04, 0x3c, 0xab, 0x75, 0x24, 0x19, 0x67, 0x87,
   3290		    0x75, 0xa2, 0x23, 0xdf, 0x57, 0xc9, 0xd3, 0x0d },
   3291	.secret_size = 32,
   3292	.b_public_size = 32,
   3293	.expected_ss_size = 32,
   3294
   3295},
   3296/* wycheproof - edge case for public key */
   3297{
   3298	.secret = (u8[32]){ 0x58, 0xeb, 0xcb, 0x35, 0xb0, 0xf8, 0x84, 0x5c,
   3299		     0xaf, 0x1e, 0xc6, 0x30, 0xf9, 0x65, 0x76, 0xb6,
   3300		     0x2c, 0x4b, 0x7b, 0x6c, 0x36, 0xb2, 0x9d, 0xeb,
   3301		     0x2c, 0xb0, 0x08, 0x46, 0x51, 0x75, 0x5c, 0x96 },
   3302	.b_public = (u8[32]){ 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xfb, 0xff,
   3303		    0xff, 0xdf, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff,
   3304		    0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xf7, 0xff,
   3305		    0xff, 0xf7, 0xff, 0xff, 0xbf, 0xff, 0xff, 0x3f },
   3306	.expected_ss = (u8[32]){ 0xbf, 0x9a, 0xff, 0xd0, 0x6b, 0x84, 0x40, 0x85,
   3307		    0x58, 0x64, 0x60, 0x96, 0x2e, 0xf2, 0x14, 0x6f,
   3308		    0xf3, 0xd4, 0x53, 0x3d, 0x94, 0x44, 0xaa, 0xb0,
   3309		    0x06, 0xeb, 0x88, 0xcc, 0x30, 0x54, 0x40, 0x7d },
   3310	.secret_size = 32,
   3311	.b_public_size = 32,
   3312	.expected_ss_size = 32,
   3313
   3314},
   3315/* wycheproof - edge case for public key */
   3316{
   3317	.secret = (u8[32]){ 0x18, 0x8c, 0x4b, 0xc5, 0xb9, 0xc4, 0x4b, 0x38,
   3318		     0xbb, 0x65, 0x8b, 0x9b, 0x2a, 0xe8, 0x2d, 0x5b,
   3319		     0x01, 0x01, 0x5e, 0x09, 0x31, 0x84, 0xb1, 0x7c,
   3320		     0xb7, 0x86, 0x35, 0x03, 0xa7, 0x83, 0xe1, 0xbb },
   3321	.b_public = (u8[32]){ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3322		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3323		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3324		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f },
   3325	.expected_ss = (u8[32]){ 0xd4, 0x80, 0xde, 0x04, 0xf6, 0x99, 0xcb, 0x3b,
   3326		    0xe0, 0x68, 0x4a, 0x9c, 0xc2, 0xe3, 0x12, 0x81,
   3327		    0xea, 0x0b, 0xc5, 0xa9, 0xdc, 0xc1, 0x57, 0xd3,
   3328		    0xd2, 0x01, 0x58, 0xd4, 0x6c, 0xa5, 0x24, 0x6d },
   3329	.secret_size = 32,
   3330	.b_public_size = 32,
   3331	.expected_ss_size = 32,
   3332
   3333},
   3334/* wycheproof - edge case for public key */
   3335{
   3336	.secret = (u8[32]){ 0xe0, 0x6c, 0x11, 0xbb, 0x2e, 0x13, 0xce, 0x3d,
   3337		     0xc7, 0x67, 0x3f, 0x67, 0xf5, 0x48, 0x22, 0x42,
   3338		     0x90, 0x94, 0x23, 0xa9, 0xae, 0x95, 0xee, 0x98,
   3339		     0x6a, 0x98, 0x8d, 0x98, 0xfa, 0xee, 0x23, 0xa2 },
   3340	.b_public = (u8[32]){ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f,
   3341		    0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f,
   3342		    0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f,
   3343		    0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f },
   3344	.expected_ss = (u8[32]){ 0x4c, 0x44, 0x01, 0xcc, 0xe6, 0xb5, 0x1e, 0x4c,
   3345		    0xb1, 0x8f, 0x27, 0x90, 0x24, 0x6c, 0x9b, 0xf9,
   3346		    0x14, 0xdb, 0x66, 0x77, 0x50, 0xa1, 0xcb, 0x89,
   3347		    0x06, 0x90, 0x92, 0xaf, 0x07, 0x29, 0x22, 0x76 },
   3348	.secret_size = 32,
   3349	.b_public_size = 32,
   3350	.expected_ss_size = 32,
   3351
   3352},
   3353/* wycheproof - edge case for public key */
   3354{
   3355	.secret = (u8[32]){ 0xc0, 0x65, 0x8c, 0x46, 0xdd, 0xe1, 0x81, 0x29,
   3356		     0x29, 0x38, 0x77, 0x53, 0x5b, 0x11, 0x62, 0xb6,
   3357		     0xf9, 0xf5, 0x41, 0x4a, 0x23, 0xcf, 0x4d, 0x2c,
   3358		     0xbc, 0x14, 0x0a, 0x4d, 0x99, 0xda, 0x2b, 0x8f },
   3359	.b_public = (u8[32]){ 0xeb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3360		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3361		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3362		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
   3363	.expected_ss = (u8[32]){ 0x57, 0x8b, 0xa8, 0xcc, 0x2d, 0xbd, 0xc5, 0x75,
   3364		    0xaf, 0xcf, 0x9d, 0xf2, 0xb3, 0xee, 0x61, 0x89,
   3365		    0xf5, 0x33, 0x7d, 0x68, 0x54, 0xc7, 0x9b, 0x4c,
   3366		    0xe1, 0x65, 0xea, 0x12, 0x29, 0x3b, 0x3a, 0x0f },
   3367	.secret_size = 32,
   3368	.b_public_size = 32,
   3369	.expected_ss_size = 32,
   3370
   3371},
   3372/* wycheproof - public key >= p */
   3373{
   3374	.secret = (u8[32]){ 0xf0, 0x1e, 0x48, 0xda, 0xfa, 0xc9, 0xd7, 0xbc,
   3375		     0xf5, 0x89, 0xcb, 0xc3, 0x82, 0xc8, 0x78, 0xd1,
   3376		     0x8b, 0xda, 0x35, 0x50, 0x58, 0x9f, 0xfb, 0x5d,
   3377		     0x50, 0xb5, 0x23, 0xbe, 0xbe, 0x32, 0x9d, 0xae },
   3378	.b_public = (u8[32]){ 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3379		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3380		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3381		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
   3382	.expected_ss = (u8[32]){ 0xbd, 0x36, 0xa0, 0x79, 0x0e, 0xb8, 0x83, 0x09,
   3383		    0x8c, 0x98, 0x8b, 0x21, 0x78, 0x67, 0x73, 0xde,
   3384		    0x0b, 0x3a, 0x4d, 0xf1, 0x62, 0x28, 0x2c, 0xf1,
   3385		    0x10, 0xde, 0x18, 0xdd, 0x48, 0x4c, 0xe7, 0x4b },
   3386	.secret_size = 32,
   3387	.b_public_size = 32,
   3388	.expected_ss_size = 32,
   3389
   3390},
   3391/* wycheproof - public key >= p */
   3392{
   3393	.secret = (u8[32]){ 0x28, 0x87, 0x96, 0xbc, 0x5a, 0xff, 0x4b, 0x81,
   3394		     0xa3, 0x75, 0x01, 0x75, 0x7b, 0xc0, 0x75, 0x3a,
   3395		     0x3c, 0x21, 0x96, 0x47, 0x90, 0xd3, 0x86, 0x99,
   3396		     0x30, 0x8d, 0xeb, 0xc1, 0x7a, 0x6e, 0xaf, 0x8d },
   3397	.b_public = (u8[32]){ 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3398		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3399		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3400		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
   3401	.expected_ss = (u8[32]){ 0xb4, 0xe0, 0xdd, 0x76, 0xda, 0x7b, 0x07, 0x17,
   3402		    0x28, 0xb6, 0x1f, 0x85, 0x67, 0x71, 0xaa, 0x35,
   3403		    0x6e, 0x57, 0xed, 0xa7, 0x8a, 0x5b, 0x16, 0x55,
   3404		    0xcc, 0x38, 0x20, 0xfb, 0x5f, 0x85, 0x4c, 0x5c },
   3405	.secret_size = 32,
   3406	.b_public_size = 32,
   3407	.expected_ss_size = 32,
   3408
   3409},
   3410/* wycheproof - public key >= p */
   3411{
   3412	.secret = (u8[32]){ 0x98, 0xdf, 0x84, 0x5f, 0x66, 0x51, 0xbf, 0x11,
   3413		     0x38, 0x22, 0x1f, 0x11, 0x90, 0x41, 0xf7, 0x2b,
   3414		     0x6d, 0xbc, 0x3c, 0x4a, 0xce, 0x71, 0x43, 0xd9,
   3415		     0x9f, 0xd5, 0x5a, 0xd8, 0x67, 0x48, 0x0d, 0xa8 },
   3416	.b_public = (u8[32]){ 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3417		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3418		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3419		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
   3420	.expected_ss = (u8[32]){ 0x6f, 0xdf, 0x6c, 0x37, 0x61, 0x1d, 0xbd, 0x53,
   3421		    0x04, 0xdc, 0x0f, 0x2e, 0xb7, 0xc9, 0x51, 0x7e,
   3422		    0xb3, 0xc5, 0x0e, 0x12, 0xfd, 0x05, 0x0a, 0xc6,
   3423		    0xde, 0xc2, 0x70, 0x71, 0xd4, 0xbf, 0xc0, 0x34 },
   3424	.secret_size = 32,
   3425	.b_public_size = 32,
   3426	.expected_ss_size = 32,
   3427
   3428},
   3429/* wycheproof - public key >= p */
   3430{
   3431	.secret = (u8[32]){ 0xf0, 0x94, 0x98, 0xe4, 0x6f, 0x02, 0xf8, 0x78,
   3432		     0x82, 0x9e, 0x78, 0xb8, 0x03, 0xd3, 0x16, 0xa2,
   3433		     0xed, 0x69, 0x5d, 0x04, 0x98, 0xa0, 0x8a, 0xbd,
   3434		     0xf8, 0x27, 0x69, 0x30, 0xe2, 0x4e, 0xdc, 0xb0 },
   3435	.b_public = (u8[32]){ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3436		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3437		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3438		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
   3439	.expected_ss = (u8[32]){ 0x4c, 0x8f, 0xc4, 0xb1, 0xc6, 0xab, 0x88, 0xfb,
   3440		    0x21, 0xf1, 0x8f, 0x6d, 0x4c, 0x81, 0x02, 0x40,
   3441		    0xd4, 0xe9, 0x46, 0x51, 0xba, 0x44, 0xf7, 0xa2,
   3442		    0xc8, 0x63, 0xce, 0xc7, 0xdc, 0x56, 0x60, 0x2d },
   3443	.secret_size = 32,
   3444	.b_public_size = 32,
   3445	.expected_ss_size = 32,
   3446
   3447},
   3448/* wycheproof - public key >= p */
   3449{
   3450	.secret = (u8[32]){ 0x18, 0x13, 0xc1, 0x0a, 0x5c, 0x7f, 0x21, 0xf9,
   3451		     0x6e, 0x17, 0xf2, 0x88, 0xc0, 0xcc, 0x37, 0x60,
   3452		     0x7c, 0x04, 0xc5, 0xf5, 0xae, 0xa2, 0xdb, 0x13,
   3453		     0x4f, 0x9e, 0x2f, 0xfc, 0x66, 0xbd, 0x9d, 0xb8 },
   3454	.b_public = (u8[32]){ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3455		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3456		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3457		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80 },
   3458	.expected_ss = (u8[32]){ 0x1c, 0xd0, 0xb2, 0x82, 0x67, 0xdc, 0x54, 0x1c,
   3459		    0x64, 0x2d, 0x6d, 0x7d, 0xca, 0x44, 0xa8, 0xb3,
   3460		    0x8a, 0x63, 0x73, 0x6e, 0xef, 0x5c, 0x4e, 0x65,
   3461		    0x01, 0xff, 0xbb, 0xb1, 0x78, 0x0c, 0x03, 0x3c },
   3462	.secret_size = 32,
   3463	.b_public_size = 32,
   3464	.expected_ss_size = 32,
   3465
   3466},
   3467/* wycheproof - public key >= p */
   3468{
   3469	.secret = (u8[32]){ 0x78, 0x57, 0xfb, 0x80, 0x86, 0x53, 0x64, 0x5a,
   3470		     0x0b, 0xeb, 0x13, 0x8a, 0x64, 0xf5, 0xf4, 0xd7,
   3471		     0x33, 0xa4, 0x5e, 0xa8, 0x4c, 0x3c, 0xda, 0x11,
   3472		     0xa9, 0xc0, 0x6f, 0x7e, 0x71, 0x39, 0x14, 0x9e },
   3473	.b_public = (u8[32]){ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3474		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3475		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3476		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80 },
   3477	.expected_ss = (u8[32]){ 0x87, 0x55, 0xbe, 0x01, 0xc6, 0x0a, 0x7e, 0x82,
   3478		    0x5c, 0xff, 0x3e, 0x0e, 0x78, 0xcb, 0x3a, 0xa4,
   3479		    0x33, 0x38, 0x61, 0x51, 0x6a, 0xa5, 0x9b, 0x1c,
   3480		    0x51, 0xa8, 0xb2, 0xa5, 0x43, 0xdf, 0xa8, 0x22 },
   3481	.secret_size = 32,
   3482	.b_public_size = 32,
   3483	.expected_ss_size = 32,
   3484
   3485},
   3486/* wycheproof - public key >= p */
   3487{
   3488	.secret = (u8[32]){ 0xe0, 0x3a, 0xa8, 0x42, 0xe2, 0xab, 0xc5, 0x6e,
   3489		     0x81, 0xe8, 0x7b, 0x8b, 0x9f, 0x41, 0x7b, 0x2a,
   3490		     0x1e, 0x59, 0x13, 0xc7, 0x23, 0xee, 0xd2, 0x8d,
   3491		     0x75, 0x2f, 0x8d, 0x47, 0xa5, 0x9f, 0x49, 0x8f },
   3492	.b_public = (u8[32]){ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3493		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3494		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3495		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80 },
   3496	.expected_ss = (u8[32]){ 0x54, 0xc9, 0xa1, 0xed, 0x95, 0xe5, 0x46, 0xd2,
   3497		    0x78, 0x22, 0xa3, 0x60, 0x93, 0x1d, 0xda, 0x60,
   3498		    0xa1, 0xdf, 0x04, 0x9d, 0xa6, 0xf9, 0x04, 0x25,
   3499		    0x3c, 0x06, 0x12, 0xbb, 0xdc, 0x08, 0x74, 0x76 },
   3500	.secret_size = 32,
   3501	.b_public_size = 32,
   3502	.expected_ss_size = 32,
   3503
   3504},
   3505/* wycheproof - public key >= p */
   3506{
   3507	.secret = (u8[32]){ 0xf8, 0xf7, 0x07, 0xb7, 0x99, 0x9b, 0x18, 0xcb,
   3508		     0x0d, 0x6b, 0x96, 0x12, 0x4f, 0x20, 0x45, 0x97,
   3509		     0x2c, 0xa2, 0x74, 0xbf, 0xc1, 0x54, 0xad, 0x0c,
   3510		     0x87, 0x03, 0x8c, 0x24, 0xc6, 0xd0, 0xd4, 0xb2 },
   3511	.b_public = (u8[32]){ 0xda, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3512		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3513		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3514		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
   3515	.expected_ss = (u8[32]){ 0xcc, 0x1f, 0x40, 0xd7, 0x43, 0xcd, 0xc2, 0x23,
   3516		    0x0e, 0x10, 0x43, 0xda, 0xba, 0x8b, 0x75, 0xe8,
   3517		    0x10, 0xf1, 0xfb, 0xab, 0x7f, 0x25, 0x52, 0x69,
   3518		    0xbd, 0x9e, 0xbb, 0x29, 0xe6, 0xbf, 0x49, 0x4f },
   3519	.secret_size = 32,
   3520	.b_public_size = 32,
   3521	.expected_ss_size = 32,
   3522
   3523},
   3524/* wycheproof - public key >= p */
   3525{
   3526	.secret = (u8[32]){ 0xa0, 0x34, 0xf6, 0x84, 0xfa, 0x63, 0x1e, 0x1a,
   3527		     0x34, 0x81, 0x18, 0xc1, 0xce, 0x4c, 0x98, 0x23,
   3528		     0x1f, 0x2d, 0x9e, 0xec, 0x9b, 0xa5, 0x36, 0x5b,
   3529		     0x4a, 0x05, 0xd6, 0x9a, 0x78, 0x5b, 0x07, 0x96 },
   3530	.b_public = (u8[32]){ 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3531		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3532		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3533		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
   3534	.expected_ss = (u8[32]){ 0x54, 0x99, 0x8e, 0xe4, 0x3a, 0x5b, 0x00, 0x7b,
   3535		    0xf4, 0x99, 0xf0, 0x78, 0xe7, 0x36, 0x52, 0x44,
   3536		    0x00, 0xa8, 0xb5, 0xc7, 0xe9, 0xb9, 0xb4, 0x37,
   3537		    0x71, 0x74, 0x8c, 0x7c, 0xdf, 0x88, 0x04, 0x12 },
   3538	.secret_size = 32,
   3539	.b_public_size = 32,
   3540	.expected_ss_size = 32,
   3541
   3542},
   3543/* wycheproof - public key >= p */
   3544{
   3545	.secret = (u8[32]){ 0x30, 0xb6, 0xc6, 0xa0, 0xf2, 0xff, 0xa6, 0x80,
   3546		     0x76, 0x8f, 0x99, 0x2b, 0xa8, 0x9e, 0x15, 0x2d,
   3547		     0x5b, 0xc9, 0x89, 0x3d, 0x38, 0xc9, 0x11, 0x9b,
   3548		     0xe4, 0xf7, 0x67, 0xbf, 0xab, 0x6e, 0x0c, 0xa5 },
   3549	.b_public = (u8[32]){ 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3550		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3551		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3552		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
   3553	.expected_ss = (u8[32]){ 0xea, 0xd9, 0xb3, 0x8e, 0xfd, 0xd7, 0x23, 0x63,
   3554		    0x79, 0x34, 0xe5, 0x5a, 0xb7, 0x17, 0xa7, 0xae,
   3555		    0x09, 0xeb, 0x86, 0xa2, 0x1d, 0xc3, 0x6a, 0x3f,
   3556		    0xee, 0xb8, 0x8b, 0x75, 0x9e, 0x39, 0x1e, 0x09 },
   3557	.secret_size = 32,
   3558	.b_public_size = 32,
   3559	.expected_ss_size = 32,
   3560
   3561},
   3562/* wycheproof - public key >= p */
   3563{
   3564	.secret = (u8[32]){ 0x90, 0x1b, 0x9d, 0xcf, 0x88, 0x1e, 0x01, 0xe0,
   3565		     0x27, 0x57, 0x50, 0x35, 0xd4, 0x0b, 0x43, 0xbd,
   3566		     0xc1, 0xc5, 0x24, 0x2e, 0x03, 0x08, 0x47, 0x49,
   3567		     0x5b, 0x0c, 0x72, 0x86, 0x46, 0x9b, 0x65, 0x91 },
   3568	.b_public = (u8[32]){ 0xea, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3569		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3570		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3571		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
   3572	.expected_ss = (u8[32]){ 0x60, 0x2f, 0xf4, 0x07, 0x89, 0xb5, 0x4b, 0x41,
   3573		    0x80, 0x59, 0x15, 0xfe, 0x2a, 0x62, 0x21, 0xf0,
   3574		    0x7a, 0x50, 0xff, 0xc2, 0xc3, 0xfc, 0x94, 0xcf,
   3575		    0x61, 0xf1, 0x3d, 0x79, 0x04, 0xe8, 0x8e, 0x0e },
   3576	.secret_size = 32,
   3577	.b_public_size = 32,
   3578	.expected_ss_size = 32,
   3579
   3580},
   3581/* wycheproof - public key >= p */
   3582{
   3583	.secret = (u8[32]){ 0x80, 0x46, 0x67, 0x7c, 0x28, 0xfd, 0x82, 0xc9,
   3584		     0xa1, 0xbd, 0xb7, 0x1a, 0x1a, 0x1a, 0x34, 0xfa,
   3585		     0xba, 0x12, 0x25, 0xe2, 0x50, 0x7f, 0xe3, 0xf5,
   3586		     0x4d, 0x10, 0xbd, 0x5b, 0x0d, 0x86, 0x5f, 0x8e },
   3587	.b_public = (u8[32]){ 0xeb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3588		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3589		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3590		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
   3591	.expected_ss = (u8[32]){ 0xe0, 0x0a, 0xe8, 0xb1, 0x43, 0x47, 0x12, 0x47,
   3592		    0xba, 0x24, 0xf1, 0x2c, 0x88, 0x55, 0x36, 0xc3,
   3593		    0xcb, 0x98, 0x1b, 0x58, 0xe1, 0xe5, 0x6b, 0x2b,
   3594		    0xaf, 0x35, 0xc1, 0x2a, 0xe1, 0xf7, 0x9c, 0x26 },
   3595	.secret_size = 32,
   3596	.b_public_size = 32,
   3597	.expected_ss_size = 32,
   3598
   3599},
   3600/* wycheproof - public key >= p */
   3601{
   3602	.secret = (u8[32]){ 0x60, 0x2f, 0x7e, 0x2f, 0x68, 0xa8, 0x46, 0xb8,
   3603		     0x2c, 0xc2, 0x69, 0xb1, 0xd4, 0x8e, 0x93, 0x98,
   3604		     0x86, 0xae, 0x54, 0xfd, 0x63, 0x6c, 0x1f, 0xe0,
   3605		     0x74, 0xd7, 0x10, 0x12, 0x7d, 0x47, 0x24, 0x91 },
   3606	.b_public = (u8[32]){ 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3607		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3608		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3609		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
   3610	.expected_ss = (u8[32]){ 0x98, 0xcb, 0x9b, 0x50, 0xdd, 0x3f, 0xc2, 0xb0,
   3611		    0xd4, 0xf2, 0xd2, 0xbf, 0x7c, 0x5c, 0xfd, 0xd1,
   3612		    0x0c, 0x8f, 0xcd, 0x31, 0xfc, 0x40, 0xaf, 0x1a,
   3613		    0xd4, 0x4f, 0x47, 0xc1, 0x31, 0x37, 0x63, 0x62 },
   3614	.secret_size = 32,
   3615	.b_public_size = 32,
   3616	.expected_ss_size = 32,
   3617
   3618},
   3619/* wycheproof - public key >= p */
   3620{
   3621	.secret = (u8[32]){ 0x60, 0x88, 0x7b, 0x3d, 0xc7, 0x24, 0x43, 0x02,
   3622		     0x6e, 0xbe, 0xdb, 0xbb, 0xb7, 0x06, 0x65, 0xf4,
   3623		     0x2b, 0x87, 0xad, 0xd1, 0x44, 0x0e, 0x77, 0x68,
   3624		     0xfb, 0xd7, 0xe8, 0xe2, 0xce, 0x5f, 0x63, 0x9d },
   3625	.b_public = (u8[32]){ 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3626		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3627		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3628		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
   3629	.expected_ss = (u8[32]){ 0x38, 0xd6, 0x30, 0x4c, 0x4a, 0x7e, 0x6d, 0x9f,
   3630		    0x79, 0x59, 0x33, 0x4f, 0xb5, 0x24, 0x5b, 0xd2,
   3631		    0xc7, 0x54, 0x52, 0x5d, 0x4c, 0x91, 0xdb, 0x95,
   3632		    0x02, 0x06, 0x92, 0x62, 0x34, 0xc1, 0xf6, 0x33 },
   3633	.secret_size = 32,
   3634	.b_public_size = 32,
   3635	.expected_ss_size = 32,
   3636
   3637},
   3638/* wycheproof - public key >= p */
   3639{
   3640	.secret = (u8[32]){ 0x78, 0xd3, 0x1d, 0xfa, 0x85, 0x44, 0x97, 0xd7,
   3641		     0x2d, 0x8d, 0xef, 0x8a, 0x1b, 0x7f, 0xb0, 0x06,
   3642		     0xce, 0xc2, 0xd8, 0xc4, 0x92, 0x46, 0x47, 0xc9,
   3643		     0x38, 0x14, 0xae, 0x56, 0xfa, 0xed, 0xa4, 0x95 },
   3644	.b_public = (u8[32]){ 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3645		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3646		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3647		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
   3648	.expected_ss = (u8[32]){ 0x78, 0x6c, 0xd5, 0x49, 0x96, 0xf0, 0x14, 0xa5,
   3649		    0xa0, 0x31, 0xec, 0x14, 0xdb, 0x81, 0x2e, 0xd0,
   3650		    0x83, 0x55, 0x06, 0x1f, 0xdb, 0x5d, 0xe6, 0x80,
   3651		    0xa8, 0x00, 0xac, 0x52, 0x1f, 0x31, 0x8e, 0x23 },
   3652	.secret_size = 32,
   3653	.b_public_size = 32,
   3654	.expected_ss_size = 32,
   3655
   3656},
   3657/* wycheproof - public key >= p */
   3658{
   3659	.secret = (u8[32]){ 0xc0, 0x4c, 0x5b, 0xae, 0xfa, 0x83, 0x02, 0xdd,
   3660		     0xde, 0xd6, 0xa4, 0xbb, 0x95, 0x77, 0x61, 0xb4,
   3661		     0xeb, 0x97, 0xae, 0xfa, 0x4f, 0xc3, 0xb8, 0x04,
   3662		     0x30, 0x85, 0xf9, 0x6a, 0x56, 0x59, 0xb3, 0xa5 },
   3663	.b_public = (u8[32]){ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3664		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3665		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3666		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
   3667	.expected_ss = (u8[32]){ 0x29, 0xae, 0x8b, 0xc7, 0x3e, 0x9b, 0x10, 0xa0,
   3668		    0x8b, 0x4f, 0x68, 0x1c, 0x43, 0xc3, 0xe0, 0xac,
   3669		    0x1a, 0x17, 0x1d, 0x31, 0xb3, 0x8f, 0x1a, 0x48,
   3670		    0xef, 0xba, 0x29, 0xae, 0x63, 0x9e, 0xa1, 0x34 },
   3671	.secret_size = 32,
   3672	.b_public_size = 32,
   3673	.expected_ss_size = 32,
   3674
   3675},
   3676/* wycheproof - RFC 7748 */
   3677{
   3678	.secret = (u8[32]){ 0xa0, 0x46, 0xe3, 0x6b, 0xf0, 0x52, 0x7c, 0x9d,
   3679		     0x3b, 0x16, 0x15, 0x4b, 0x82, 0x46, 0x5e, 0xdd,
   3680		     0x62, 0x14, 0x4c, 0x0a, 0xc1, 0xfc, 0x5a, 0x18,
   3681		     0x50, 0x6a, 0x22, 0x44, 0xba, 0x44, 0x9a, 0x44 },
   3682	.b_public = (u8[32]){ 0xe6, 0xdb, 0x68, 0x67, 0x58, 0x30, 0x30, 0xdb,
   3683		    0x35, 0x94, 0xc1, 0xa4, 0x24, 0xb1, 0x5f, 0x7c,
   3684		    0x72, 0x66, 0x24, 0xec, 0x26, 0xb3, 0x35, 0x3b,
   3685		    0x10, 0xa9, 0x03, 0xa6, 0xd0, 0xab, 0x1c, 0x4c },
   3686	.expected_ss = (u8[32]){ 0xc3, 0xda, 0x55, 0x37, 0x9d, 0xe9, 0xc6, 0x90,
   3687		    0x8e, 0x94, 0xea, 0x4d, 0xf2, 0x8d, 0x08, 0x4f,
   3688		    0x32, 0xec, 0xcf, 0x03, 0x49, 0x1c, 0x71, 0xf7,
   3689		    0x54, 0xb4, 0x07, 0x55, 0x77, 0xa2, 0x85, 0x52 },
   3690	.secret_size = 32,
   3691	.b_public_size = 32,
   3692	.expected_ss_size = 32,
   3693
   3694},
   3695/* wycheproof - RFC 7748 */
   3696{
   3697	.secret = (u8[32]){ 0x48, 0x66, 0xe9, 0xd4, 0xd1, 0xb4, 0x67, 0x3c,
   3698		     0x5a, 0xd2, 0x26, 0x91, 0x95, 0x7d, 0x6a, 0xf5,
   3699		     0xc1, 0x1b, 0x64, 0x21, 0xe0, 0xea, 0x01, 0xd4,
   3700		     0x2c, 0xa4, 0x16, 0x9e, 0x79, 0x18, 0xba, 0x4d },
   3701	.b_public = (u8[32]){ 0xe5, 0x21, 0x0f, 0x12, 0x78, 0x68, 0x11, 0xd3,
   3702		    0xf4, 0xb7, 0x95, 0x9d, 0x05, 0x38, 0xae, 0x2c,
   3703		    0x31, 0xdb, 0xe7, 0x10, 0x6f, 0xc0, 0x3c, 0x3e,
   3704		    0xfc, 0x4c, 0xd5, 0x49, 0xc7, 0x15, 0xa4, 0x13 },
   3705	.expected_ss = (u8[32]){ 0x95, 0xcb, 0xde, 0x94, 0x76, 0xe8, 0x90, 0x7d,
   3706		    0x7a, 0xad, 0xe4, 0x5c, 0xb4, 0xb8, 0x73, 0xf8,
   3707		    0x8b, 0x59, 0x5a, 0x68, 0x79, 0x9f, 0xa1, 0x52,
   3708		    0xe6, 0xf8, 0xf7, 0x64, 0x7a, 0xac, 0x79, 0x57 },
   3709	.secret_size = 32,
   3710	.b_public_size = 32,
   3711	.expected_ss_size = 32,
   3712
   3713},
   3714/* wycheproof - edge case for shared secret */
   3715{
   3716	.secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
   3717		     0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
   3718		     0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
   3719		     0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
   3720	.b_public = (u8[32]){ 0x0a, 0xb4, 0xe7, 0x63, 0x80, 0xd8, 0x4d, 0xde,
   3721		    0x4f, 0x68, 0x33, 0xc5, 0x8f, 0x2a, 0x9f, 0xb8,
   3722		    0xf8, 0x3b, 0xb0, 0x16, 0x9b, 0x17, 0x2b, 0xe4,
   3723		    0xb6, 0xe0, 0x59, 0x28, 0x87, 0x74, 0x1a, 0x36 },
   3724	.expected_ss = (u8[32]){ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3725		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3726		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3727		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
   3728	.secret_size = 32,
   3729	.b_public_size = 32,
   3730	.expected_ss_size = 32,
   3731
   3732},
   3733/* wycheproof - edge case for shared secret */
   3734{
   3735	.secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
   3736		     0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
   3737		     0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
   3738		     0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
   3739	.b_public = (u8[32]){ 0x89, 0xe1, 0x0d, 0x57, 0x01, 0xb4, 0x33, 0x7d,
   3740		    0x2d, 0x03, 0x21, 0x81, 0x53, 0x8b, 0x10, 0x64,
   3741		    0xbd, 0x40, 0x84, 0x40, 0x1c, 0xec, 0xa1, 0xfd,
   3742		    0x12, 0x66, 0x3a, 0x19, 0x59, 0x38, 0x80, 0x00 },
   3743	.expected_ss = (u8[32]){ 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3744		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3745		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3746		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
   3747	.secret_size = 32,
   3748	.b_public_size = 32,
   3749	.expected_ss_size = 32,
   3750
   3751},
   3752/* wycheproof - edge case for shared secret */
   3753{
   3754	.secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
   3755		     0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
   3756		     0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
   3757		     0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
   3758	.b_public = (u8[32]){ 0x2b, 0x55, 0xd3, 0xaa, 0x4a, 0x8f, 0x80, 0xc8,
   3759		    0xc0, 0xb2, 0xae, 0x5f, 0x93, 0x3e, 0x85, 0xaf,
   3760		    0x49, 0xbe, 0xac, 0x36, 0xc2, 0xfa, 0x73, 0x94,
   3761		    0xba, 0xb7, 0x6c, 0x89, 0x33, 0xf8, 0xf8, 0x1d },
   3762	.expected_ss = (u8[32]){ 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3763		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3764		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3765		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
   3766	.secret_size = 32,
   3767	.b_public_size = 32,
   3768	.expected_ss_size = 32,
   3769
   3770},
   3771/* wycheproof - edge case for shared secret */
   3772{
   3773	.secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
   3774		     0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
   3775		     0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
   3776		     0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
   3777	.b_public = (u8[32]){ 0x63, 0xe5, 0xb1, 0xfe, 0x96, 0x01, 0xfe, 0x84,
   3778		    0x38, 0x5d, 0x88, 0x66, 0xb0, 0x42, 0x12, 0x62,
   3779		    0xf7, 0x8f, 0xbf, 0xa5, 0xaf, 0xf9, 0x58, 0x5e,
   3780		    0x62, 0x66, 0x79, 0xb1, 0x85, 0x47, 0xd9, 0x59 },
   3781	.expected_ss = (u8[32]){ 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3782		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3783		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3784		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f },
   3785	.secret_size = 32,
   3786	.b_public_size = 32,
   3787	.expected_ss_size = 32,
   3788
   3789},
   3790/* wycheproof - edge case for shared secret */
   3791{
   3792	.secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
   3793		     0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
   3794		     0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
   3795		     0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
   3796	.b_public = (u8[32]){ 0xe4, 0x28, 0xf3, 0xda, 0xc1, 0x78, 0x09, 0xf8,
   3797		    0x27, 0xa5, 0x22, 0xce, 0x32, 0x35, 0x50, 0x58,
   3798		    0xd0, 0x73, 0x69, 0x36, 0x4a, 0xa7, 0x89, 0x02,
   3799		    0xee, 0x10, 0x13, 0x9b, 0x9f, 0x9d, 0xd6, 0x53 },
   3800	.expected_ss = (u8[32]){ 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3801		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3802		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3803		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f },
   3804	.secret_size = 32,
   3805	.b_public_size = 32,
   3806	.expected_ss_size = 32,
   3807
   3808},
   3809/* wycheproof - edge case for shared secret */
   3810{
   3811	.secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
   3812		     0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
   3813		     0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
   3814		     0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
   3815	.b_public = (u8[32]){ 0xb3, 0xb5, 0x0e, 0x3e, 0xd3, 0xa4, 0x07, 0xb9,
   3816		    0x5d, 0xe9, 0x42, 0xef, 0x74, 0x57, 0x5b, 0x5a,
   3817		    0xb8, 0xa1, 0x0c, 0x09, 0xee, 0x10, 0x35, 0x44,
   3818		    0xd6, 0x0b, 0xdf, 0xed, 0x81, 0x38, 0xab, 0x2b },
   3819	.expected_ss = (u8[32]){ 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3820		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3821		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3822		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f },
   3823	.secret_size = 32,
   3824	.b_public_size = 32,
   3825	.expected_ss_size = 32,
   3826
   3827},
   3828/* wycheproof - edge case for shared secret */
   3829{
   3830	.secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
   3831		     0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
   3832		     0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
   3833		     0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
   3834	.b_public = (u8[32]){ 0x21, 0x3f, 0xff, 0xe9, 0x3d, 0x5e, 0xa8, 0xcd,
   3835		    0x24, 0x2e, 0x46, 0x28, 0x44, 0x02, 0x99, 0x22,
   3836		    0xc4, 0x3c, 0x77, 0xc9, 0xe3, 0xe4, 0x2f, 0x56,
   3837		    0x2f, 0x48, 0x5d, 0x24, 0xc5, 0x01, 0xa2, 0x0b },
   3838	.expected_ss = (u8[32]){ 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3839		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3840		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3841		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f },
   3842	.secret_size = 32,
   3843	.b_public_size = 32,
   3844	.expected_ss_size = 32,
   3845
   3846},
   3847/* wycheproof - edge case for shared secret */
   3848{
   3849	.secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
   3850		     0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
   3851		     0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
   3852		     0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
   3853	.b_public = (u8[32]){ 0x91, 0xb2, 0x32, 0xa1, 0x78, 0xb3, 0xcd, 0x53,
   3854		    0x09, 0x32, 0x44, 0x1e, 0x61, 0x39, 0x41, 0x8f,
   3855		    0x72, 0x17, 0x22, 0x92, 0xf1, 0xda, 0x4c, 0x18,
   3856		    0x34, 0xfc, 0x5e, 0xbf, 0xef, 0xb5, 0x1e, 0x3f },
   3857	.expected_ss = (u8[32]){ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3858		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3859		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3860		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03 },
   3861	.secret_size = 32,
   3862	.b_public_size = 32,
   3863	.expected_ss_size = 32,
   3864
   3865},
   3866/* wycheproof - edge case for shared secret */
   3867{
   3868	.secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
   3869		     0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
   3870		     0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
   3871		     0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
   3872	.b_public = (u8[32]){ 0x04, 0x5c, 0x6e, 0x11, 0xc5, 0xd3, 0x32, 0x55,
   3873		    0x6c, 0x78, 0x22, 0xfe, 0x94, 0xeb, 0xf8, 0x9b,
   3874		    0x56, 0xa3, 0x87, 0x8d, 0xc2, 0x7c, 0xa0, 0x79,
   3875		    0x10, 0x30, 0x58, 0x84, 0x9f, 0xab, 0xcb, 0x4f },
   3876	.expected_ss = (u8[32]){ 0xe5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3877		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3878		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3879		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
   3880	.secret_size = 32,
   3881	.b_public_size = 32,
   3882	.expected_ss_size = 32,
   3883
   3884},
   3885/* wycheproof - edge case for shared secret */
   3886{
   3887	.secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
   3888		     0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
   3889		     0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
   3890		     0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
   3891	.b_public = (u8[32]){ 0x1c, 0xa2, 0x19, 0x0b, 0x71, 0x16, 0x35, 0x39,
   3892		    0x06, 0x3c, 0x35, 0x77, 0x3b, 0xda, 0x0c, 0x9c,
   3893		    0x92, 0x8e, 0x91, 0x36, 0xf0, 0x62, 0x0a, 0xeb,
   3894		    0x09, 0x3f, 0x09, 0x91, 0x97, 0xb7, 0xf7, 0x4e },
   3895	.expected_ss = (u8[32]){ 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3896		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3897		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3898		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
   3899	.secret_size = 32,
   3900	.b_public_size = 32,
   3901	.expected_ss_size = 32,
   3902
   3903},
   3904/* wycheproof - edge case for shared secret */
   3905{
   3906	.secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
   3907		     0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
   3908		     0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
   3909		     0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
   3910	.b_public = (u8[32]){ 0xf7, 0x6e, 0x90, 0x10, 0xac, 0x33, 0xc5, 0x04,
   3911		    0x3b, 0x2d, 0x3b, 0x76, 0xa8, 0x42, 0x17, 0x10,
   3912		    0x00, 0xc4, 0x91, 0x62, 0x22, 0xe9, 0xe8, 0x58,
   3913		    0x97, 0xa0, 0xae, 0xc7, 0xf6, 0x35, 0x0b, 0x3c },
   3914	.expected_ss = (u8[32]){ 0xdd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3915		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3916		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3917		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
   3918	.secret_size = 32,
   3919	.b_public_size = 32,
   3920	.expected_ss_size = 32,
   3921
   3922},
   3923/* wycheproof - edge case for shared secret */
   3924{
   3925	.secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
   3926		     0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
   3927		     0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
   3928		     0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
   3929	.b_public = (u8[32]){ 0xbb, 0x72, 0x68, 0x8d, 0x8f, 0x8a, 0xa7, 0xa3,
   3930		    0x9c, 0xd6, 0x06, 0x0c, 0xd5, 0xc8, 0x09, 0x3c,
   3931		    0xde, 0xc6, 0xfe, 0x34, 0x19, 0x37, 0xc3, 0x88,
   3932		    0x6a, 0x99, 0x34, 0x6c, 0xd0, 0x7f, 0xaa, 0x55 },
   3933	.expected_ss = (u8[32]){ 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3934		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3935		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   3936		    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f },
   3937	.secret_size = 32,
   3938	.b_public_size = 32,
   3939	.expected_ss_size = 32,
   3940
   3941},
   3942/* wycheproof - edge case for shared secret */
   3943{
   3944	.secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
   3945		     0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
   3946		     0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
   3947		     0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
   3948	.b_public = (u8[32]){ 0x88, 0xfd, 0xde, 0xa1, 0x93, 0x39, 0x1c, 0x6a,
   3949		    0x59, 0x33, 0xef, 0x9b, 0x71, 0x90, 0x15, 0x49,
   3950		    0x44, 0x72, 0x05, 0xaa, 0xe9, 0xda, 0x92, 0x8a,
   3951		    0x6b, 0x91, 0xa3, 0x52, 0xba, 0x10, 0xf4, 0x1f },
   3952	.expected_ss = (u8[32]){ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3953		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3954		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3955		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02 },
   3956	.secret_size = 32,
   3957	.b_public_size = 32,
   3958	.expected_ss_size = 32,
   3959
   3960},
   3961/* wycheproof - edge case for shared secret */
   3962{
   3963	.secret = (u8[32]){ 0xa0, 0xa4, 0xf1, 0x30, 0xb9, 0x8a, 0x5b, 0xe4,
   3964		     0xb1, 0xce, 0xdb, 0x7c, 0xb8, 0x55, 0x84, 0xa3,
   3965		     0x52, 0x0e, 0x14, 0x2d, 0x47, 0x4d, 0xc9, 0xcc,
   3966		     0xb9, 0x09, 0xa0, 0x73, 0xa9, 0x76, 0xbf, 0x63 },
   3967	.b_public = (u8[32]){ 0x30, 0x3b, 0x39, 0x2f, 0x15, 0x31, 0x16, 0xca,
   3968		    0xd9, 0xcc, 0x68, 0x2a, 0x00, 0xcc, 0xc4, 0x4c,
   3969		    0x95, 0xff, 0x0d, 0x3b, 0xbe, 0x56, 0x8b, 0xeb,
   3970		    0x6c, 0x4e, 0x73, 0x9b, 0xaf, 0xdc, 0x2c, 0x68 },
   3971	.expected_ss = (u8[32]){ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3972		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3973		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3974		    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00 },
   3975	.secret_size = 32,
   3976	.b_public_size = 32,
   3977	.expected_ss_size = 32,
   3978
   3979},
   3980/* wycheproof - checking for overflow */
   3981{
   3982	.secret = (u8[32]){ 0xc8, 0x17, 0x24, 0x70, 0x40, 0x00, 0xb2, 0x6d,
   3983		     0x31, 0x70, 0x3c, 0xc9, 0x7e, 0x3a, 0x37, 0x8d,
   3984		     0x56, 0xfa, 0xd8, 0x21, 0x93, 0x61, 0xc8, 0x8c,
   3985		     0xca, 0x8b, 0xd7, 0xc5, 0x71, 0x9b, 0x12, 0xb2 },
   3986	.b_public = (u8[32]){ 0xfd, 0x30, 0x0a, 0xeb, 0x40, 0xe1, 0xfa, 0x58,
   3987		    0x25, 0x18, 0x41, 0x2b, 0x49, 0xb2, 0x08, 0xa7,
   3988		    0x84, 0x2b, 0x1e, 0x1f, 0x05, 0x6a, 0x04, 0x01,
   3989		    0x78, 0xea, 0x41, 0x41, 0x53, 0x4f, 0x65, 0x2d },
   3990	.expected_ss = (u8[32]){ 0xb7, 0x34, 0x10, 0x5d, 0xc2, 0x57, 0x58, 0x5d,
   3991		    0x73, 0xb5, 0x66, 0xcc, 0xb7, 0x6f, 0x06, 0x27,
   3992		    0x95, 0xcc, 0xbe, 0xc8, 0x91, 0x28, 0xe5, 0x2b,
   3993		    0x02, 0xf3, 0xe5, 0x96, 0x39, 0xf1, 0x3c, 0x46 },
   3994	.secret_size = 32,
   3995	.b_public_size = 32,
   3996	.expected_ss_size = 32,
   3997
   3998},
   3999/* wycheproof - checking for overflow */
   4000{
   4001	.secret = (u8[32]){ 0xc8, 0x17, 0x24, 0x70, 0x40, 0x00, 0xb2, 0x6d,
   4002		     0x31, 0x70, 0x3c, 0xc9, 0x7e, 0x3a, 0x37, 0x8d,
   4003		     0x56, 0xfa, 0xd8, 0x21, 0x93, 0x61, 0xc8, 0x8c,
   4004		     0xca, 0x8b, 0xd7, 0xc5, 0x71, 0x9b, 0x12, 0xb2 },
   4005	.b_public = (u8[32]){ 0xc8, 0xef, 0x79, 0xb5, 0x14, 0xd7, 0x68, 0x26,
   4006		    0x77, 0xbc, 0x79, 0x31, 0xe0, 0x6e, 0xe5, 0xc2,
   4007		    0x7c, 0x9b, 0x39, 0x2b, 0x4a, 0xe9, 0x48, 0x44,
   4008		    0x73, 0xf5, 0x54, 0xe6, 0x67, 0x8e, 0xcc, 0x2e },
   4009	.expected_ss = (u8[32]){ 0x64, 0x7a, 0x46, 0xb6, 0xfc, 0x3f, 0x40, 0xd6,
   4010		    0x21, 0x41, 0xee, 0x3c, 0xee, 0x70, 0x6b, 0x4d,
   4011		    0x7a, 0x92, 0x71, 0x59, 0x3a, 0x7b, 0x14, 0x3e,
   4012		    0x8e, 0x2e, 0x22, 0x79, 0x88, 0x3e, 0x45, 0x50 },
   4013	.secret_size = 32,
   4014	.b_public_size = 32,
   4015	.expected_ss_size = 32,
   4016
   4017},
   4018/* wycheproof - checking for overflow */
   4019{
   4020	.secret = (u8[32]){ 0xc8, 0x17, 0x24, 0x70, 0x40, 0x00, 0xb2, 0x6d,
   4021		     0x31, 0x70, 0x3c, 0xc9, 0x7e, 0x3a, 0x37, 0x8d,
   4022		     0x56, 0xfa, 0xd8, 0x21, 0x93, 0x61, 0xc8, 0x8c,
   4023		     0xca, 0x8b, 0xd7, 0xc5, 0x71, 0x9b, 0x12, 0xb2 },
   4024	.b_public = (u8[32]){ 0x64, 0xae, 0xac, 0x25, 0x04, 0x14, 0x48, 0x61,
   4025		    0x53, 0x2b, 0x7b, 0xbc, 0xb6, 0xc8, 0x7d, 0x67,
   4026		    0xdd, 0x4c, 0x1f, 0x07, 0xeb, 0xc2, 0xe0, 0x6e,
   4027		    0xff, 0xb9, 0x5a, 0xec, 0xc6, 0x17, 0x0b, 0x2c },
   4028	.expected_ss = (u8[32]){ 0x4f, 0xf0, 0x3d, 0x5f, 0xb4, 0x3c, 0xd8, 0x65,
   4029		    0x7a, 0x3c, 0xf3, 0x7c, 0x13, 0x8c, 0xad, 0xce,
   4030		    0xcc, 0xe5, 0x09, 0xe4, 0xeb, 0xa0, 0x89, 0xd0,
   4031		    0xef, 0x40, 0xb4, 0xe4, 0xfb, 0x94, 0x61, 0x55 },
   4032	.secret_size = 32,
   4033	.b_public_size = 32,
   4034	.expected_ss_size = 32,
   4035
   4036},
   4037/* wycheproof - checking for overflow */
   4038{
   4039	.secret = (u8[32]){ 0xc8, 0x17, 0x24, 0x70, 0x40, 0x00, 0xb2, 0x6d,
   4040		     0x31, 0x70, 0x3c, 0xc9, 0x7e, 0x3a, 0x37, 0x8d,
   4041		     0x56, 0xfa, 0xd8, 0x21, 0x93, 0x61, 0xc8, 0x8c,
   4042		     0xca, 0x8b, 0xd7, 0xc5, 0x71, 0x9b, 0x12, 0xb2 },
   4043	.b_public = (u8[32]){ 0xbf, 0x68, 0xe3, 0x5e, 0x9b, 0xdb, 0x7e, 0xee,
   4044		    0x1b, 0x50, 0x57, 0x02, 0x21, 0x86, 0x0f, 0x5d,
   4045		    0xcd, 0xad, 0x8a, 0xcb, 0xab, 0x03, 0x1b, 0x14,
   4046		    0x97, 0x4c, 0xc4, 0x90, 0x13, 0xc4, 0x98, 0x31 },
   4047	.expected_ss = (u8[32]){ 0x21, 0xce, 0xe5, 0x2e, 0xfd, 0xbc, 0x81, 0x2e,
   4048		    0x1d, 0x02, 0x1a, 0x4a, 0xf1, 0xe1, 0xd8, 0xbc,
   4049		    0x4d, 0xb3, 0xc4, 0x00, 0xe4, 0xd2, 0xa2, 0xc5,
   4050		    0x6a, 0x39, 0x26, 0xdb, 0x4d, 0x99, 0xc6, 0x5b },
   4051	.secret_size = 32,
   4052	.b_public_size = 32,
   4053	.expected_ss_size = 32,
   4054
   4055},
   4056/* wycheproof - checking for overflow */
   4057{
   4058	.secret = (u8[32]){ 0xc8, 0x17, 0x24, 0x70, 0x40, 0x00, 0xb2, 0x6d,
   4059		     0x31, 0x70, 0x3c, 0xc9, 0x7e, 0x3a, 0x37, 0x8d,
   4060		     0x56, 0xfa, 0xd8, 0x21, 0x93, 0x61, 0xc8, 0x8c,
   4061		     0xca, 0x8b, 0xd7, 0xc5, 0x71, 0x9b, 0x12, 0xb2 },
   4062	.b_public = (u8[32]){ 0x53, 0x47, 0xc4, 0x91, 0x33, 0x1a, 0x64, 0xb4,
   4063		    0x3d, 0xdc, 0x68, 0x30, 0x34, 0xe6, 0x77, 0xf5,
   4064		    0x3d, 0xc3, 0x2b, 0x52, 0xa5, 0x2a, 0x57, 0x7c,
   4065		    0x15, 0xa8, 0x3b, 0xf2, 0x98, 0xe9, 0x9f, 0x19 },
   4066	.expected_ss = (u8[32]){ 0x18, 0xcb, 0x89, 0xe4, 0xe2, 0x0c, 0x0c, 0x2b,
   4067		    0xd3, 0x24, 0x30, 0x52, 0x45, 0x26, 0x6c, 0x93,
   4068		    0x27, 0x69, 0x0b, 0xbe, 0x79, 0xac, 0xb8, 0x8f,
   4069		    0x5b, 0x8f, 0xb3, 0xf7, 0x4e, 0xca, 0x3e, 0x52 },
   4070	.secret_size = 32,
   4071	.b_public_size = 32,
   4072	.expected_ss_size = 32,
   4073
   4074},
   4075/* wycheproof - private key == -1 (mod order) */
   4076{
   4077	.secret = (u8[32]){ 0xa0, 0x23, 0xcd, 0xd0, 0x83, 0xef, 0x5b, 0xb8,
   4078		     0x2f, 0x10, 0xd6, 0x2e, 0x59, 0xe1, 0x5a, 0x68,
   4079		     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   4080		     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50 },
   4081	.b_public = (u8[32]){ 0x25, 0x8e, 0x04, 0x52, 0x3b, 0x8d, 0x25, 0x3e,
   4082		    0xe6, 0x57, 0x19, 0xfc, 0x69, 0x06, 0xc6, 0x57,
   4083		    0x19, 0x2d, 0x80, 0x71, 0x7e, 0xdc, 0x82, 0x8f,
   4084		    0xa0, 0xaf, 0x21, 0x68, 0x6e, 0x2f, 0xaa, 0x75 },
   4085	.expected_ss = (u8[32]){ 0x25, 0x8e, 0x04, 0x52, 0x3b, 0x8d, 0x25, 0x3e,
   4086		    0xe6, 0x57, 0x19, 0xfc, 0x69, 0x06, 0xc6, 0x57,
   4087		    0x19, 0x2d, 0x80, 0x71, 0x7e, 0xdc, 0x82, 0x8f,
   4088		    0xa0, 0xaf, 0x21, 0x68, 0x6e, 0x2f, 0xaa, 0x75 },
   4089	.secret_size = 32,
   4090	.b_public_size = 32,
   4091	.expected_ss_size = 32,
   4092
   4093},
   4094/* wycheproof - private key == 1 (mod order) on twist */
   4095{
   4096	.secret = (u8[32]){ 0x58, 0x08, 0x3d, 0xd2, 0x61, 0xad, 0x91, 0xef,
   4097		     0xf9, 0x52, 0x32, 0x2e, 0xc8, 0x24, 0xc6, 0x82,
   4098		     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
   4099		     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f },
   4100	.b_public = (u8[32]){ 0x2e, 0xae, 0x5e, 0xc3, 0xdd, 0x49, 0x4e, 0x9f,
   4101		    0x2d, 0x37, 0xd2, 0x58, 0xf8, 0x73, 0xa8, 0xe6,
   4102		    0xe9, 0xd0, 0xdb, 0xd1, 0xe3, 0x83, 0xef, 0x64,
   4103		    0xd9, 0x8b, 0xb9, 0x1b, 0x3e, 0x0b, 0xe0, 0x35 },
   4104	.expected_ss = (u8[32]){ 0x2e, 0xae, 0x5e, 0xc3, 0xdd, 0x49, 0x4e, 0x9f,
   4105		    0x2d, 0x37, 0xd2, 0x58, 0xf8, 0x73, 0xa8, 0xe6,
   4106		    0xe9, 0xd0, 0xdb, 0xd1, 0xe3, 0x83, 0xef, 0x64,
   4107		    0xd9, 0x8b, 0xb9, 0x1b, 0x3e, 0x0b, 0xe0, 0x35 },
   4108	.secret_size = 32,
   4109	.b_public_size = 32,
   4110	.expected_ss_size = 32,
   4111
   4112}
   4113};
   4114
   4115static const struct kpp_testvec ecdh_p192_tv_template[] = {
   4116	{
   4117	.secret =
   4118#ifdef __LITTLE_ENDIAN
   4119	"\x02\x00" /* type */
   4120	"\x1e\x00" /* len */
   4121	"\x18\x00" /* key_size */
   4122#else
   4123	"\x00\x02" /* type */
   4124	"\x00\x1e" /* len */
   4125	"\x00\x18" /* key_size */
   4126#endif
   4127	"\xb5\x05\xb1\x71\x1e\xbf\x8c\xda"
   4128	"\x4e\x19\x1e\x62\x1f\x23\x23\x31"
   4129	"\x36\x1e\xd3\x84\x2f\xcc\x21\x72",
   4130	.b_public =
   4131	"\xc3\xba\x67\x4b\x71\xec\xd0\x76"
   4132	"\x7a\x99\x75\x64\x36\x13\x9a\x94"
   4133	"\x5d\x8b\xdc\x60\x90\x91\xfd\x3f"
   4134	"\xb0\x1f\x8a\x0a\x68\xc6\x88\x6e"
   4135	"\x83\x87\xdd\x67\x09\xf8\x8d\x96"
   4136	"\x07\xd6\xbd\x1c\xe6\x8d\x9d\x67",
   4137	.expected_a_public =
   4138	"\x1a\x04\xdb\xa5\xe1\xdd\x4e\x79"
   4139	"\xa3\xe6\xef\x0e\x5c\x80\x49\x85"
   4140	"\xfa\x78\xb4\xef\x49\xbd\x4c\x7c"
   4141	"\x22\x90\x21\x02\xf9\x1b\x81\x5d"
   4142	"\x0c\x8a\xa8\x98\xd6\x27\x69\x88"
   4143	"\x5e\xbc\x94\xd8\x15\x9e\x21\xce",
   4144	.expected_ss =
   4145	"\xf4\x57\xcc\x4f\x1f\x4e\x31\xcc"
   4146	"\xe3\x40\x60\xc8\x06\x93\xc6\x2e"
   4147	"\x99\x80\x81\x28\xaf\xc5\x51\x74",
   4148	.secret_size = 30,
   4149	.b_public_size = 48,
   4150	.expected_a_public_size = 48,
   4151	.expected_ss_size = 24
   4152	}
   4153};
   4154
   4155static const struct kpp_testvec ecdh_p256_tv_template[] = {
   4156	{
   4157	.secret =
   4158#ifdef __LITTLE_ENDIAN
   4159	"\x02\x00" /* type */
   4160	"\x26\x00" /* len */
   4161	"\x20\x00" /* key_size */
   4162#else
   4163	"\x00\x02" /* type */
   4164	"\x00\x26" /* len */
   4165	"\x00\x20" /* key_size */
   4166#endif
   4167	"\x24\xd1\x21\xeb\xe5\xcf\x2d\x83"
   4168	"\xf6\x62\x1b\x6e\x43\x84\x3a\xa3"
   4169	"\x8b\xe0\x86\xc3\x20\x19\xda\x92"
   4170	"\x50\x53\x03\xe1\xc0\xea\xb8\x82",
   4171	.expected_a_public =
   4172	"\x1a\x7f\xeb\x52\x00\xbd\x3c\x31"
   4173	"\x7d\xb6\x70\xc1\x86\xa6\xc7\xc4"
   4174	"\x3b\xc5\x5f\x6c\x6f\x58\x3c\xf5"
   4175	"\xb6\x63\x82\x77\x33\x24\xa1\x5f"
   4176	"\x6a\xca\x43\x6f\xf7\x7e\xff\x02"
   4177	"\x37\x08\xcc\x40\x5e\x7a\xfd\x6a"
   4178	"\x6a\x02\x6e\x41\x87\x68\x38\x77"
   4179	"\xfa\xa9\x44\x43\x2d\xef\x09\xdf",
   4180	.expected_ss =
   4181	"\xea\x17\x6f\x7e\x6e\x57\x26\x38"
   4182	"\x8b\xfb\x41\xeb\xba\xc8\x6d\xa5"
   4183	"\xa8\x72\xd1\xff\xc9\x47\x3d\xaa"
   4184	"\x58\x43\x9f\x34\x0f\x8c\xf3\xc9",
   4185	.b_public =
   4186	"\xcc\xb4\xda\x74\xb1\x47\x3f\xea"
   4187	"\x6c\x70\x9e\x38\x2d\xc7\xaa\xb7"
   4188	"\x29\xb2\x47\x03\x19\xab\xdd\x34"
   4189	"\xbd\xa8\x2c\x93\xe1\xa4\x74\xd9"
   4190	"\x64\x63\xf7\x70\x20\x2f\xa4\xe6"
   4191	"\x9f\x4a\x38\xcc\xc0\x2c\x49\x2f"
   4192	"\xb1\x32\xbb\xaf\x22\x61\xda\xcb"
   4193	"\x6f\xdb\xa9\xaa\xfc\x77\x81\xf3",
   4194	.secret_size = 38,
   4195	.b_public_size = 64,
   4196	.expected_a_public_size = 64,
   4197	.expected_ss_size = 32
   4198	}, {
   4199	.secret =
   4200#ifdef __LITTLE_ENDIAN
   4201	"\x02\x00" /* type */
   4202	"\x06\x00" /* len */
   4203	"\x00\x00", /* key_size */
   4204#else
   4205	"\x00\x02" /* type */
   4206	"\x00\x06" /* len */
   4207	"\x00\x00", /* key_size */
   4208#endif
   4209	.b_secret =
   4210#ifdef __LITTLE_ENDIAN
   4211	"\x02\x00" /* type */
   4212	"\x26\x00" /* len */
   4213	"\x20\x00" /* key_size */
   4214#else
   4215	"\x00\x02" /* type */
   4216	"\x00\x26" /* len */
   4217	"\x00\x20" /* key_size */
   4218#endif
   4219	"\x24\xd1\x21\xeb\xe5\xcf\x2d\x83"
   4220	"\xf6\x62\x1b\x6e\x43\x84\x3a\xa3"
   4221	"\x8b\xe0\x86\xc3\x20\x19\xda\x92"
   4222	"\x50\x53\x03\xe1\xc0\xea\xb8\x82",
   4223	.b_public =
   4224	"\x1a\x7f\xeb\x52\x00\xbd\x3c\x31"
   4225	"\x7d\xb6\x70\xc1\x86\xa6\xc7\xc4"
   4226	"\x3b\xc5\x5f\x6c\x6f\x58\x3c\xf5"
   4227	"\xb6\x63\x82\x77\x33\x24\xa1\x5f"
   4228	"\x6a\xca\x43\x6f\xf7\x7e\xff\x02"
   4229	"\x37\x08\xcc\x40\x5e\x7a\xfd\x6a"
   4230	"\x6a\x02\x6e\x41\x87\x68\x38\x77"
   4231	"\xfa\xa9\x44\x43\x2d\xef\x09\xdf",
   4232	.secret_size = 6,
   4233	.b_secret_size = 38,
   4234	.b_public_size = 64,
   4235	.expected_a_public_size = 64,
   4236	.expected_ss_size = 32,
   4237	.genkey = true,
   4238	}
   4239};
   4240
   4241/*
   4242 * NIST P384 test vectors from RFC5903
   4243 */
   4244static const struct kpp_testvec ecdh_p384_tv_template[] = {
   4245	{
   4246	.secret =
   4247#ifdef __LITTLE_ENDIAN
   4248	"\x02\x00" /* type */
   4249	"\x36\x00" /* len */
   4250	"\x30\x00" /* key_size */
   4251#else
   4252	"\x00\x02" /* type */
   4253	"\x00\x36" /* len */
   4254	"\x00\x30" /* key_size */
   4255#endif
   4256	"\x09\x9F\x3C\x70\x34\xD4\xA2\xC6"
   4257	"\x99\x88\x4D\x73\xA3\x75\xA6\x7F"
   4258	"\x76\x24\xEF\x7C\x6B\x3C\x0F\x16"
   4259	"\x06\x47\xB6\x74\x14\xDC\xE6\x55"
   4260	"\xE3\x5B\x53\x80\x41\xE6\x49\xEE"
   4261	"\x3F\xAE\xF8\x96\x78\x3A\xB1\x94",
   4262	.b_public =
   4263	"\xE5\x58\xDB\xEF\x53\xEE\xCD\xE3"
   4264	"\xD3\xFC\xCF\xC1\xAE\xA0\x8A\x89"
   4265	"\xA9\x87\x47\x5D\x12\xFD\x95\x0D"
   4266	"\x83\xCF\xA4\x17\x32\xBC\x50\x9D"
   4267	"\x0D\x1A\xC4\x3A\x03\x36\xDE\xF9"
   4268	"\x6F\xDA\x41\xD0\x77\x4A\x35\x71"
   4269	"\xDC\xFB\xEC\x7A\xAC\xF3\x19\x64"
   4270	"\x72\x16\x9E\x83\x84\x30\x36\x7F"
   4271	"\x66\xEE\xBE\x3C\x6E\x70\xC4\x16"
   4272	"\xDD\x5F\x0C\x68\x75\x9D\xD1\xFF"
   4273	"\xF8\x3F\xA4\x01\x42\x20\x9D\xFF"
   4274	"\x5E\xAA\xD9\x6D\xB9\xE6\x38\x6C",
   4275	.expected_a_public =
   4276	"\x66\x78\x42\xD7\xD1\x80\xAC\x2C"
   4277	"\xDE\x6F\x74\xF3\x75\x51\xF5\x57"
   4278	"\x55\xC7\x64\x5C\x20\xEF\x73\xE3"
   4279	"\x16\x34\xFE\x72\xB4\xC5\x5E\xE6"
   4280	"\xDE\x3A\xC8\x08\xAC\xB4\xBD\xB4"
   4281	"\xC8\x87\x32\xAE\xE9\x5F\x41\xAA"
   4282	"\x94\x82\xED\x1F\xC0\xEE\xB9\xCA"
   4283	"\xFC\x49\x84\x62\x5C\xCF\xC2\x3F"
   4284	"\x65\x03\x21\x49\xE0\xE1\x44\xAD"
   4285	"\xA0\x24\x18\x15\x35\xA0\xF3\x8E"
   4286	"\xEB\x9F\xCF\xF3\xC2\xC9\x47\xDA"
   4287	"\xE6\x9B\x4C\x63\x45\x73\xA8\x1C",
   4288	.expected_ss =
   4289	"\x11\x18\x73\x31\xC2\x79\x96\x2D"
   4290	"\x93\xD6\x04\x24\x3F\xD5\x92\xCB"
   4291	"\x9D\x0A\x92\x6F\x42\x2E\x47\x18"
   4292	"\x75\x21\x28\x7E\x71\x56\xC5\xC4"
   4293	"\xD6\x03\x13\x55\x69\xB9\xE9\xD0"
   4294	"\x9C\xF5\xD4\xA2\x70\xF5\x97\x46",
   4295	.secret_size = 54,
   4296	.b_public_size = 96,
   4297	.expected_a_public_size = 96,
   4298	.expected_ss_size = 48
   4299	}
   4300};
   4301
   4302/*
   4303 * MD4 test vectors from RFC1320
   4304 */
   4305static const struct hash_testvec md4_tv_template[] = {
   4306	{
   4307		.plaintext = "",
   4308		.digest	= "\x31\xd6\xcf\xe0\xd1\x6a\xe9\x31"
   4309			  "\xb7\x3c\x59\xd7\xe0\xc0\x89\xc0",
   4310	}, {
   4311		.plaintext = "a",
   4312		.psize	= 1,
   4313		.digest	= "\xbd\xe5\x2c\xb3\x1d\xe3\x3e\x46"
   4314			  "\x24\x5e\x05\xfb\xdb\xd6\xfb\x24",
   4315	}, {
   4316		.plaintext = "abc",
   4317		.psize	= 3,
   4318		.digest	= "\xa4\x48\x01\x7a\xaf\x21\xd8\x52"
   4319			  "\x5f\xc1\x0a\xe8\x7a\xa6\x72\x9d",
   4320	}, {
   4321		.plaintext = "message digest",
   4322		.psize	= 14,
   4323		.digest	= "\xd9\x13\x0a\x81\x64\x54\x9f\xe8"
   4324			"\x18\x87\x48\x06\xe1\xc7\x01\x4b",
   4325	}, {
   4326		.plaintext = "abcdefghijklmnopqrstuvwxyz",
   4327		.psize	= 26,
   4328		.digest	= "\xd7\x9e\x1c\x30\x8a\xa5\xbb\xcd"
   4329			  "\xee\xa8\xed\x63\xdf\x41\x2d\xa9",
   4330	}, {
   4331		.plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
   4332		.psize	= 62,
   4333		.digest	= "\x04\x3f\x85\x82\xf2\x41\xdb\x35"
   4334			  "\x1c\xe6\x27\xe1\x53\xe7\xf0\xe4",
   4335	}, {
   4336		.plaintext = "123456789012345678901234567890123456789012345678901234567890123"
   4337			   "45678901234567890",
   4338		.psize	= 80,
   4339		.digest	= "\xe3\x3b\x4d\xdc\x9c\x38\xf2\x19"
   4340			  "\x9c\x3e\x7b\x16\x4f\xcc\x05\x36",
   4341	},
   4342};
   4343
   4344static const struct hash_testvec sha3_224_tv_template[] = {
   4345	{
   4346		.plaintext = "",
   4347		.digest	= "\x6b\x4e\x03\x42\x36\x67\xdb\xb7"
   4348				"\x3b\x6e\x15\x45\x4f\x0e\xb1\xab"
   4349				"\xd4\x59\x7f\x9a\x1b\x07\x8e\x3f"
   4350				"\x5b\x5a\x6b\xc7",
   4351	}, {
   4352		.plaintext = "a",
   4353		.psize	= 1,
   4354		.digest	= "\x9e\x86\xff\x69\x55\x7c\xa9\x5f"
   4355				"\x40\x5f\x08\x12\x69\x68\x5b\x38"
   4356				"\xe3\xa8\x19\xb3\x09\xee\x94\x2f"
   4357				"\x48\x2b\x6a\x8b",
   4358	}, {
   4359		.plaintext = "abcdbcdecdefdefgefghfghighijhijkijkl"
   4360				"jklmklmnlmnomnopnopq",
   4361		.psize	= 56,
   4362		.digest	= "\x8a\x24\x10\x8b\x15\x4a\xda\x21"
   4363				"\xc9\xfd\x55\x74\x49\x44\x79\xba"
   4364				"\x5c\x7e\x7a\xb7\x6e\xf2\x64\xea"
   4365				"\xd0\xfc\xce\x33",
   4366	}, {
   4367		.plaintext = "\x08\x9f\x13\xaa\x41\xd8\x4c\xe3"
   4368			     "\x7a\x11\x85\x1c\xb3\x27\xbe\x55"
   4369			     "\xec\x60\xf7\x8e\x02\x99\x30\xc7"
   4370			     "\x3b\xd2\x69\x00\x74\x0b\xa2\x16"
   4371			     "\xad\x44\xdb\x4f\xe6\x7d\x14\x88"
   4372			     "\x1f\xb6\x2a\xc1\x58\xef\x63\xfa"
   4373			     "\x91\x05\x9c\x33\xca\x3e\xd5\x6c"
   4374			     "\x03\x77\x0e\xa5\x19\xb0\x47\xde"
   4375			     "\x52\xe9\x80\x17\x8b\x22\xb9\x2d"
   4376			     "\xc4\x5b\xf2\x66\xfd\x94\x08\x9f"
   4377			     "\x36\xcd\x41\xd8\x6f\x06\x7a\x11"
   4378			     "\xa8\x1c\xb3\x4a\xe1\x55\xec\x83"
   4379			     "\x1a\x8e\x25\xbc\x30\xc7\x5e\xf5"
   4380			     "\x69\x00\x97\x0b\xa2\x39\xd0\x44"
   4381			     "\xdb\x72\x09\x7d\x14\xab\x1f\xb6"
   4382			     "\x4d\xe4\x58\xef\x86\x1d\x91\x28"
   4383			     "\xbf\x33\xca\x61\xf8\x6c\x03\x9a"
   4384			     "\x0e\xa5\x3c\xd3\x47\xde\x75\x0c"
   4385			     "\x80\x17\xae\x22\xb9\x50\xe7\x5b"
   4386			     "\xf2\x89\x20\x94\x2b\xc2\x36\xcd"
   4387			     "\x64\xfb\x6f\x06\x9d\x11\xa8\x3f"
   4388			     "\xd6\x4a\xe1\x78\x0f\x83\x1a\xb1"
   4389			     "\x25\xbc\x53\xea\x5e\xf5\x8c\x00"
   4390			     "\x97\x2e\xc5\x39\xd0\x67\xfe\x72"
   4391			     "\x09\xa0\x14\xab\x42\xd9\x4d\xe4"
   4392			     "\x7b\x12\x86\x1d\xb4\x28\xbf\x56"
   4393			     "\xed\x61\xf8\x8f\x03\x9a\x31\xc8"
   4394			     "\x3c\xd3\x6a\x01\x75\x0c\xa3\x17"
   4395			     "\xae\x45\xdc\x50\xe7\x7e\x15\x89"
   4396			     "\x20\xb7\x2b\xc2\x59\xf0\x64\xfb"
   4397			     "\x92\x06\x9d\x34\xcb\x3f\xd6\x6d"
   4398			     "\x04\x78\x0f\xa6\x1a\xb1\x48\xdf"
   4399			     "\x53\xea\x81\x18\x8c\x23\xba\x2e"
   4400			     "\xc5\x5c\xf3\x67\xfe\x95\x09\xa0"
   4401			     "\x37\xce\x42\xd9\x70\x07\x7b\x12"
   4402			     "\xa9\x1d\xb4\x4b\xe2\x56\xed\x84"
   4403			     "\x1b\x8f\x26\xbd\x31\xc8\x5f\xf6"
   4404			     "\x6a\x01\x98\x0c\xa3\x3a\xd1\x45"
   4405			     "\xdc\x73\x0a\x7e\x15\xac\x20\xb7"
   4406			     "\x4e\xe5\x59\xf0\x87\x1e\x92\x29"
   4407			     "\xc0\x34\xcb\x62\xf9\x6d\x04\x9b"
   4408			     "\x0f\xa6\x3d\xd4\x48\xdf\x76\x0d"
   4409			     "\x81\x18\xaf\x23\xba\x51\xe8\x5c"
   4410			     "\xf3\x8a\x21\x95\x2c\xc3\x37\xce"
   4411			     "\x65\xfc\x70\x07\x9e\x12\xa9\x40"
   4412			     "\xd7\x4b\xe2\x79\x10\x84\x1b\xb2"
   4413			     "\x26\xbd\x54\xeb\x5f\xf6\x8d\x01"
   4414			     "\x98\x2f\xc6\x3a\xd1\x68\xff\x73"
   4415			     "\x0a\xa1\x15\xac\x43\xda\x4e\xe5"
   4416			     "\x7c\x13\x87\x1e\xb5\x29\xc0\x57"
   4417			     "\xee\x62\xf9\x90\x04\x9b\x32\xc9"
   4418			     "\x3d\xd4\x6b\x02\x76\x0d\xa4\x18"
   4419			     "\xaf\x46\xdd\x51\xe8\x7f\x16\x8a"
   4420			     "\x21\xb8\x2c\xc3\x5a\xf1\x65\xfc"
   4421			     "\x93\x07\x9e\x35\xcc\x40\xd7\x6e"
   4422			     "\x05\x79\x10\xa7\x1b\xb2\x49\xe0"
   4423			     "\x54\xeb\x82\x19\x8d\x24\xbb\x2f"
   4424			     "\xc6\x5d\xf4\x68\xff\x96\x0a\xa1"
   4425			     "\x38\xcf\x43\xda\x71\x08\x7c\x13"
   4426			     "\xaa\x1e\xb5\x4c\xe3\x57\xee\x85"
   4427			     "\x1c\x90\x27\xbe\x32\xc9\x60\xf7"
   4428			     "\x6b\x02\x99\x0d\xa4\x3b\xd2\x46"
   4429			     "\xdd\x74\x0b\x7f\x16\xad\x21\xb8"
   4430			     "\x4f\xe6\x5a\xf1\x88\x1f\x93\x2a"
   4431			     "\xc1\x35\xcc\x63\xfa\x6e\x05\x9c"
   4432			     "\x10\xa7\x3e\xd5\x49\xe0\x77\x0e"
   4433			     "\x82\x19\xb0\x24\xbb\x52\xe9\x5d"
   4434			     "\xf4\x8b\x22\x96\x2d\xc4\x38\xcf"
   4435			     "\x66\xfd\x71\x08\x9f\x13\xaa\x41"
   4436			     "\xd8\x4c\xe3\x7a\x11\x85\x1c\xb3"
   4437			     "\x27\xbe\x55\xec\x60\xf7\x8e\x02"
   4438			     "\x99\x30\xc7\x3b\xd2\x69\x00\x74"
   4439			     "\x0b\xa2\x16\xad\x44\xdb\x4f\xe6"
   4440			     "\x7d\x14\x88\x1f\xb6\x2a\xc1\x58"
   4441			     "\xef\x63\xfa\x91\x05\x9c\x33\xca"
   4442			     "\x3e\xd5\x6c\x03\x77\x0e\xa5\x19"
   4443			     "\xb0\x47\xde\x52\xe9\x80\x17\x8b"
   4444			     "\x22\xb9\x2d\xc4\x5b\xf2\x66\xfd"
   4445			     "\x94\x08\x9f\x36\xcd\x41\xd8\x6f"
   4446			     "\x06\x7a\x11\xa8\x1c\xb3\x4a\xe1"
   4447			     "\x55\xec\x83\x1a\x8e\x25\xbc\x30"
   4448			     "\xc7\x5e\xf5\x69\x00\x97\x0b\xa2"
   4449			     "\x39\xd0\x44\xdb\x72\x09\x7d\x14"
   4450			     "\xab\x1f\xb6\x4d\xe4\x58\xef\x86"
   4451			     "\x1d\x91\x28\xbf\x33\xca\x61\xf8"
   4452			     "\x6c\x03\x9a\x0e\xa5\x3c\xd3\x47"
   4453			     "\xde\x75\x0c\x80\x17\xae\x22\xb9"
   4454			     "\x50\xe7\x5b\xf2\x89\x20\x94\x2b"
   4455			     "\xc2\x36\xcd\x64\xfb\x6f\x06\x9d"
   4456			     "\x11\xa8\x3f\xd6\x4a\xe1\x78\x0f"
   4457			     "\x83\x1a\xb1\x25\xbc\x53\xea\x5e"
   4458			     "\xf5\x8c\x00\x97\x2e\xc5\x39\xd0"
   4459			     "\x67\xfe\x72\x09\xa0\x14\xab\x42"
   4460			     "\xd9\x4d\xe4\x7b\x12\x86\x1d\xb4"
   4461			     "\x28\xbf\x56\xed\x61\xf8\x8f\x03"
   4462			     "\x9a\x31\xc8\x3c\xd3\x6a\x01\x75"
   4463			     "\x0c\xa3\x17\xae\x45\xdc\x50\xe7"
   4464			     "\x7e\x15\x89\x20\xb7\x2b\xc2\x59"
   4465			     "\xf0\x64\xfb\x92\x06\x9d\x34\xcb"
   4466			     "\x3f\xd6\x6d\x04\x78\x0f\xa6\x1a"
   4467			     "\xb1\x48\xdf\x53\xea\x81\x18\x8c"
   4468			     "\x23\xba\x2e\xc5\x5c\xf3\x67\xfe"
   4469			     "\x95\x09\xa0\x37\xce\x42\xd9\x70"
   4470			     "\x07\x7b\x12\xa9\x1d\xb4\x4b\xe2"
   4471			     "\x56\xed\x84\x1b\x8f\x26\xbd\x31"
   4472			     "\xc8\x5f\xf6\x6a\x01\x98\x0c\xa3"
   4473			     "\x3a\xd1\x45\xdc\x73\x0a\x7e\x15"
   4474			     "\xac\x20\xb7\x4e\xe5\x59\xf0\x87"
   4475			     "\x1e\x92\x29\xc0\x34\xcb\x62\xf9"
   4476			     "\x6d\x04\x9b\x0f\xa6\x3d\xd4\x48"
   4477			     "\xdf\x76\x0d\x81\x18\xaf\x23\xba"
   4478			     "\x51\xe8\x5c\xf3\x8a\x21\x95\x2c"
   4479			     "\xc3\x37\xce\x65\xfc\x70\x07\x9e"
   4480			     "\x12\xa9\x40\xd7\x4b\xe2\x79\x10"
   4481			     "\x84\x1b\xb2\x26\xbd\x54\xeb\x5f"
   4482			     "\xf6\x8d\x01\x98\x2f\xc6\x3a\xd1"
   4483			     "\x68\xff\x73\x0a\xa1\x15\xac\x43"
   4484			     "\xda\x4e\xe5\x7c\x13\x87\x1e\xb5"
   4485			     "\x29\xc0\x57\xee\x62\xf9\x90\x04"
   4486			     "\x9b\x32\xc9\x3d\xd4\x6b\x02\x76"
   4487			     "\x0d\xa4\x18\xaf\x46\xdd\x51\xe8"
   4488			     "\x7f\x16\x8a\x21\xb8\x2c\xc3\x5a"
   4489			     "\xf1\x65\xfc\x93\x07\x9e\x35\xcc"
   4490			     "\x40\xd7\x6e\x05\x79\x10\xa7\x1b"
   4491			     "\xb2\x49\xe0\x54\xeb\x82\x19\x8d"
   4492			     "\x24\xbb\x2f\xc6\x5d\xf4\x68\xff"
   4493			     "\x96\x0a\xa1\x38\xcf\x43\xda\x71"
   4494			     "\x08\x7c\x13\xaa\x1e\xb5\x4c",
   4495		.psize     = 1023,
   4496		.digest    = "\x7d\x0f\x2f\xb7\x65\x3b\xa7\x26"
   4497			     "\xc3\x88\x20\x71\x15\x06\xe8\x2d"
   4498			     "\xa3\x92\x44\xab\x3e\xe7\xff\x86"
   4499			     "\xb6\x79\x10\x72",
   4500	},
   4501};
   4502
   4503static const struct hash_testvec sha3_256_tv_template[] = {
   4504	{
   4505		.plaintext = "",
   4506		.digest	= "\xa7\xff\xc6\xf8\xbf\x1e\xd7\x66"
   4507				"\x51\xc1\x47\x56\xa0\x61\xd6\x62"
   4508				"\xf5\x80\xff\x4d\xe4\x3b\x49\xfa"
   4509				"\x82\xd8\x0a\x4b\x80\xf8\x43\x4a",
   4510	}, {
   4511		.plaintext = "a",
   4512		.psize	= 1,
   4513		.digest	= "\x80\x08\x4b\xf2\xfb\xa0\x24\x75"
   4514				"\x72\x6f\xeb\x2c\xab\x2d\x82\x15"
   4515				"\xea\xb1\x4b\xc6\xbd\xd8\xbf\xb2"
   4516				"\xc8\x15\x12\x57\x03\x2e\xcd\x8b",
   4517	}, {
   4518		.plaintext = "abcdbcdecdefdefgefghfghighijhijkijkl"
   4519			     "jklmklmnlmnomnopnopq",
   4520		.psize	= 56,
   4521		.digest	= "\x41\xc0\xdb\xa2\xa9\xd6\x24\x08"
   4522				"\x49\x10\x03\x76\xa8\x23\x5e\x2c"
   4523				"\x82\xe1\xb9\x99\x8a\x99\x9e\x21"
   4524				"\xdb\x32\xdd\x97\x49\x6d\x33\x76",
   4525	}, {
   4526		.plaintext = "\x08\x9f\x13\xaa\x41\xd8\x4c\xe3"
   4527			     "\x7a\x11\x85\x1c\xb3\x27\xbe\x55"
   4528			     "\xec\x60\xf7\x8e\x02\x99\x30\xc7"
   4529			     "\x3b\xd2\x69\x00\x74\x0b\xa2\x16"
   4530			     "\xad\x44\xdb\x4f\xe6\x7d\x14\x88"
   4531			     "\x1f\xb6\x2a\xc1\x58\xef\x63\xfa"
   4532			     "\x91\x05\x9c\x33\xca\x3e\xd5\x6c"
   4533			     "\x03\x77\x0e\xa5\x19\xb0\x47\xde"
   4534			     "\x52\xe9\x80\x17\x8b\x22\xb9\x2d"
   4535			     "\xc4\x5b\xf2\x66\xfd\x94\x08\x9f"
   4536			     "\x36\xcd\x41\xd8\x6f\x06\x7a\x11"
   4537			     "\xa8\x1c\xb3\x4a\xe1\x55\xec\x83"
   4538			     "\x1a\x8e\x25\xbc\x30\xc7\x5e\xf5"
   4539			     "\x69\x00\x97\x0b\xa2\x39\xd0\x44"
   4540			     "\xdb\x72\x09\x7d\x14\xab\x1f\xb6"
   4541			     "\x4d\xe4\x58\xef\x86\x1d\x91\x28"
   4542			     "\xbf\x33\xca\x61\xf8\x6c\x03\x9a"
   4543			     "\x0e\xa5\x3c\xd3\x47\xde\x75\x0c"
   4544			     "\x80\x17\xae\x22\xb9\x50\xe7\x5b"
   4545			     "\xf2\x89\x20\x94\x2b\xc2\x36\xcd"
   4546			     "\x64\xfb\x6f\x06\x9d\x11\xa8\x3f"
   4547			     "\xd6\x4a\xe1\x78\x0f\x83\x1a\xb1"
   4548			     "\x25\xbc\x53\xea\x5e\xf5\x8c\x00"
   4549			     "\x97\x2e\xc5\x39\xd0\x67\xfe\x72"
   4550			     "\x09\xa0\x14\xab\x42\xd9\x4d\xe4"
   4551			     "\x7b\x12\x86\x1d\xb4\x28\xbf\x56"
   4552			     "\xed\x61\xf8\x8f\x03\x9a\x31\xc8"
   4553			     "\x3c\xd3\x6a\x01\x75\x0c\xa3\x17"
   4554			     "\xae\x45\xdc\x50\xe7\x7e\x15\x89"
   4555			     "\x20\xb7\x2b\xc2\x59\xf0\x64\xfb"
   4556			     "\x92\x06\x9d\x34\xcb\x3f\xd6\x6d"
   4557			     "\x04\x78\x0f\xa6\x1a\xb1\x48\xdf"
   4558			     "\x53\xea\x81\x18\x8c\x23\xba\x2e"
   4559			     "\xc5\x5c\xf3\x67\xfe\x95\x09\xa0"
   4560			     "\x37\xce\x42\xd9\x70\x07\x7b\x12"
   4561			     "\xa9\x1d\xb4\x4b\xe2\x56\xed\x84"
   4562			     "\x1b\x8f\x26\xbd\x31\xc8\x5f\xf6"
   4563			     "\x6a\x01\x98\x0c\xa3\x3a\xd1\x45"
   4564			     "\xdc\x73\x0a\x7e\x15\xac\x20\xb7"
   4565			     "\x4e\xe5\x59\xf0\x87\x1e\x92\x29"
   4566			     "\xc0\x34\xcb\x62\xf9\x6d\x04\x9b"
   4567			     "\x0f\xa6\x3d\xd4\x48\xdf\x76\x0d"
   4568			     "\x81\x18\xaf\x23\xba\x51\xe8\x5c"
   4569			     "\xf3\x8a\x21\x95\x2c\xc3\x37\xce"
   4570			     "\x65\xfc\x70\x07\x9e\x12\xa9\x40"
   4571			     "\xd7\x4b\xe2\x79\x10\x84\x1b\xb2"
   4572			     "\x26\xbd\x54\xeb\x5f\xf6\x8d\x01"
   4573			     "\x98\x2f\xc6\x3a\xd1\x68\xff\x73"
   4574			     "\x0a\xa1\x15\xac\x43\xda\x4e\xe5"
   4575			     "\x7c\x13\x87\x1e\xb5\x29\xc0\x57"
   4576			     "\xee\x62\xf9\x90\x04\x9b\x32\xc9"
   4577			     "\x3d\xd4\x6b\x02\x76\x0d\xa4\x18"
   4578			     "\xaf\x46\xdd\x51\xe8\x7f\x16\x8a"
   4579			     "\x21\xb8\x2c\xc3\x5a\xf1\x65\xfc"
   4580			     "\x93\x07\x9e\x35\xcc\x40\xd7\x6e"
   4581			     "\x05\x79\x10\xa7\x1b\xb2\x49\xe0"
   4582			     "\x54\xeb\x82\x19\x8d\x24\xbb\x2f"
   4583			     "\xc6\x5d\xf4\x68\xff\x96\x0a\xa1"
   4584			     "\x38\xcf\x43\xda\x71\x08\x7c\x13"
   4585			     "\xaa\x1e\xb5\x4c\xe3\x57\xee\x85"
   4586			     "\x1c\x90\x27\xbe\x32\xc9\x60\xf7"
   4587			     "\x6b\x02\x99\x0d\xa4\x3b\xd2\x46"
   4588			     "\xdd\x74\x0b\x7f\x16\xad\x21\xb8"
   4589			     "\x4f\xe6\x5a\xf1\x88\x1f\x93\x2a"
   4590			     "\xc1\x35\xcc\x63\xfa\x6e\x05\x9c"
   4591			     "\x10\xa7\x3e\xd5\x49\xe0\x77\x0e"
   4592			     "\x82\x19\xb0\x24\xbb\x52\xe9\x5d"
   4593			     "\xf4\x8b\x22\x96\x2d\xc4\x38\xcf"
   4594			     "\x66\xfd\x71\x08\x9f\x13\xaa\x41"
   4595			     "\xd8\x4c\xe3\x7a\x11\x85\x1c\xb3"
   4596			     "\x27\xbe\x55\xec\x60\xf7\x8e\x02"
   4597			     "\x99\x30\xc7\x3b\xd2\x69\x00\x74"
   4598			     "\x0b\xa2\x16\xad\x44\xdb\x4f\xe6"
   4599			     "\x7d\x14\x88\x1f\xb6\x2a\xc1\x58"
   4600			     "\xef\x63\xfa\x91\x05\x9c\x33\xca"
   4601			     "\x3e\xd5\x6c\x03\x77\x0e\xa5\x19"
   4602			     "\xb0\x47\xde\x52\xe9\x80\x17\x8b"
   4603			     "\x22\xb9\x2d\xc4\x5b\xf2\x66\xfd"
   4604			     "\x94\x08\x9f\x36\xcd\x41\xd8\x6f"
   4605			     "\x06\x7a\x11\xa8\x1c\xb3\x4a\xe1"
   4606			     "\x55\xec\x83\x1a\x8e\x25\xbc\x30"
   4607			     "\xc7\x5e\xf5\x69\x00\x97\x0b\xa2"
   4608			     "\x39\xd0\x44\xdb\x72\x09\x7d\x14"
   4609			     "\xab\x1f\xb6\x4d\xe4\x58\xef\x86"
   4610			     "\x1d\x91\x28\xbf\x33\xca\x61\xf8"
   4611			     "\x6c\x03\x9a\x0e\xa5\x3c\xd3\x47"
   4612			     "\xde\x75\x0c\x80\x17\xae\x22\xb9"
   4613			     "\x50\xe7\x5b\xf2\x89\x20\x94\x2b"
   4614			     "\xc2\x36\xcd\x64\xfb\x6f\x06\x9d"
   4615			     "\x11\xa8\x3f\xd6\x4a\xe1\x78\x0f"
   4616			     "\x83\x1a\xb1\x25\xbc\x53\xea\x5e"
   4617			     "\xf5\x8c\x00\x97\x2e\xc5\x39\xd0"
   4618			     "\x67\xfe\x72\x09\xa0\x14\xab\x42"
   4619			     "\xd9\x4d\xe4\x7b\x12\x86\x1d\xb4"
   4620			     "\x28\xbf\x56\xed\x61\xf8\x8f\x03"
   4621			     "\x9a\x31\xc8\x3c\xd3\x6a\x01\x75"
   4622			     "\x0c\xa3\x17\xae\x45\xdc\x50\xe7"
   4623			     "\x7e\x15\x89\x20\xb7\x2b\xc2\x59"
   4624			     "\xf0\x64\xfb\x92\x06\x9d\x34\xcb"
   4625			     "\x3f\xd6\x6d\x04\x78\x0f\xa6\x1a"
   4626			     "\xb1\x48\xdf\x53\xea\x81\x18\x8c"
   4627			     "\x23\xba\x2e\xc5\x5c\xf3\x67\xfe"
   4628			     "\x95\x09\xa0\x37\xce\x42\xd9\x70"
   4629			     "\x07\x7b\x12\xa9\x1d\xb4\x4b\xe2"
   4630			     "\x56\xed\x84\x1b\x8f\x26\xbd\x31"
   4631			     "\xc8\x5f\xf6\x6a\x01\x98\x0c\xa3"
   4632			     "\x3a\xd1\x45\xdc\x73\x0a\x7e\x15"
   4633			     "\xac\x20\xb7\x4e\xe5\x59\xf0\x87"
   4634			     "\x1e\x92\x29\xc0\x34\xcb\x62\xf9"
   4635			     "\x6d\x04\x9b\x0f\xa6\x3d\xd4\x48"
   4636			     "\xdf\x76\x0d\x81\x18\xaf\x23\xba"
   4637			     "\x51\xe8\x5c\xf3\x8a\x21\x95\x2c"
   4638			     "\xc3\x37\xce\x65\xfc\x70\x07\x9e"
   4639			     "\x12\xa9\x40\xd7\x4b\xe2\x79\x10"
   4640			     "\x84\x1b\xb2\x26\xbd\x54\xeb\x5f"
   4641			     "\xf6\x8d\x01\x98\x2f\xc6\x3a\xd1"
   4642			     "\x68\xff\x73\x0a\xa1\x15\xac\x43"
   4643			     "\xda\x4e\xe5\x7c\x13\x87\x1e\xb5"
   4644			     "\x29\xc0\x57\xee\x62\xf9\x90\x04"
   4645			     "\x9b\x32\xc9\x3d\xd4\x6b\x02\x76"
   4646			     "\x0d\xa4\x18\xaf\x46\xdd\x51\xe8"
   4647			     "\x7f\x16\x8a\x21\xb8\x2c\xc3\x5a"
   4648			     "\xf1\x65\xfc\x93\x07\x9e\x35\xcc"
   4649			     "\x40\xd7\x6e\x05\x79\x10\xa7\x1b"
   4650			     "\xb2\x49\xe0\x54\xeb\x82\x19\x8d"
   4651			     "\x24\xbb\x2f\xc6\x5d\xf4\x68\xff"
   4652			     "\x96\x0a\xa1\x38\xcf\x43\xda\x71"
   4653			     "\x08\x7c\x13\xaa\x1e\xb5\x4c",
   4654		.psize     = 1023,
   4655		.digest    = "\xde\x41\x04\xbd\xda\xda\xd9\x71"
   4656			     "\xf7\xfa\x80\xf5\xea\x11\x03\xb1"
   4657			     "\x3b\x6a\xbc\x5f\xb9\x66\x26\xf7"
   4658			     "\x8a\x97\xbb\xf2\x07\x08\x38\x30",
   4659	},
   4660};
   4661
   4662
   4663static const struct hash_testvec sha3_384_tv_template[] = {
   4664	{
   4665		.plaintext = "",
   4666		.digest	= "\x0c\x63\xa7\x5b\x84\x5e\x4f\x7d"
   4667				"\x01\x10\x7d\x85\x2e\x4c\x24\x85"
   4668				"\xc5\x1a\x50\xaa\xaa\x94\xfc\x61"
   4669				"\x99\x5e\x71\xbb\xee\x98\x3a\x2a"
   4670				"\xc3\x71\x38\x31\x26\x4a\xdb\x47"
   4671				"\xfb\x6b\xd1\xe0\x58\xd5\xf0\x04",
   4672	}, {
   4673		.plaintext = "a",
   4674		.psize	= 1,
   4675		.digest	= "\x18\x15\xf7\x74\xf3\x20\x49\x1b"
   4676				"\x48\x56\x9e\xfe\xc7\x94\xd2\x49"
   4677				"\xee\xb5\x9a\xae\x46\xd2\x2b\xf7"
   4678				"\x7d\xaf\xe2\x5c\x5e\xdc\x28\xd7"
   4679				"\xea\x44\xf9\x3e\xe1\x23\x4a\xa8"
   4680				"\x8f\x61\xc9\x19\x12\xa4\xcc\xd9",
   4681	}, {
   4682		.plaintext = "abcdbcdecdefdefgefghfghighijhijkijkl"
   4683			     "jklmklmnlmnomnopnopq",
   4684		.psize	= 56,
   4685		.digest	= "\x99\x1c\x66\x57\x55\xeb\x3a\x4b"
   4686				"\x6b\xbd\xfb\x75\xc7\x8a\x49\x2e"
   4687				"\x8c\x56\xa2\x2c\x5c\x4d\x7e\x42"
   4688				"\x9b\xfd\xbc\x32\xb9\xd4\xad\x5a"
   4689				"\xa0\x4a\x1f\x07\x6e\x62\xfe\xa1"
   4690				"\x9e\xef\x51\xac\xd0\x65\x7c\x22",
   4691	}, {
   4692		.plaintext = "\x08\x9f\x13\xaa\x41\xd8\x4c\xe3"
   4693			     "\x7a\x11\x85\x1c\xb3\x27\xbe\x55"
   4694			     "\xec\x60\xf7\x8e\x02\x99\x30\xc7"
   4695			     "\x3b\xd2\x69\x00\x74\x0b\xa2\x16"
   4696			     "\xad\x44\xdb\x4f\xe6\x7d\x14\x88"
   4697			     "\x1f\xb6\x2a\xc1\x58\xef\x63\xfa"
   4698			     "\x91\x05\x9c\x33\xca\x3e\xd5\x6c"
   4699			     "\x03\x77\x0e\xa5\x19\xb0\x47\xde"
   4700			     "\x52\xe9\x80\x17\x8b\x22\xb9\x2d"
   4701			     "\xc4\x5b\xf2\x66\xfd\x94\x08\x9f"
   4702			     "\x36\xcd\x41\xd8\x6f\x06\x7a\x11"
   4703			     "\xa8\x1c\xb3\x4a\xe1\x55\xec\x83"
   4704			     "\x1a\x8e\x25\xbc\x30\xc7\x5e\xf5"
   4705			     "\x69\x00\x97\x0b\xa2\x39\xd0\x44"
   4706			     "\xdb\x72\x09\x7d\x14\xab\x1f\xb6"
   4707			     "\x4d\xe4\x58\xef\x86\x1d\x91\x28"
   4708			     "\xbf\x33\xca\x61\xf8\x6c\x03\x9a"
   4709			     "\x0e\xa5\x3c\xd3\x47\xde\x75\x0c"
   4710			     "\x80\x17\xae\x22\xb9\x50\xe7\x5b"
   4711			     "\xf2\x89\x20\x94\x2b\xc2\x36\xcd"
   4712			     "\x64\xfb\x6f\x06\x9d\x11\xa8\x3f"
   4713			     "\xd6\x4a\xe1\x78\x0f\x83\x1a\xb1"
   4714			     "\x25\xbc\x53\xea\x5e\xf5\x8c\x00"
   4715			     "\x97\x2e\xc5\x39\xd0\x67\xfe\x72"
   4716			     "\x09\xa0\x14\xab\x42\xd9\x4d\xe4"
   4717			     "\x7b\x12\x86\x1d\xb4\x28\xbf\x56"
   4718			     "\xed\x61\xf8\x8f\x03\x9a\x31\xc8"
   4719			     "\x3c\xd3\x6a\x01\x75\x0c\xa3\x17"
   4720			     "\xae\x45\xdc\x50\xe7\x7e\x15\x89"
   4721			     "\x20\xb7\x2b\xc2\x59\xf0\x64\xfb"
   4722			     "\x92\x06\x9d\x34\xcb\x3f\xd6\x6d"
   4723			     "\x04\x78\x0f\xa6\x1a\xb1\x48\xdf"
   4724			     "\x53\xea\x81\x18\x8c\x23\xba\x2e"
   4725			     "\xc5\x5c\xf3\x67\xfe\x95\x09\xa0"
   4726			     "\x37\xce\x42\xd9\x70\x07\x7b\x12"
   4727			     "\xa9\x1d\xb4\x4b\xe2\x56\xed\x84"
   4728			     "\x1b\x8f\x26\xbd\x31\xc8\x5f\xf6"
   4729			     "\x6a\x01\x98\x0c\xa3\x3a\xd1\x45"
   4730			     "\xdc\x73\x0a\x7e\x15\xac\x20\xb7"
   4731			     "\x4e\xe5\x59\xf0\x87\x1e\x92\x29"
   4732			     "\xc0\x34\xcb\x62\xf9\x6d\x04\x9b"
   4733			     "\x0f\xa6\x3d\xd4\x48\xdf\x76\x0d"
   4734			     "\x81\x18\xaf\x23\xba\x51\xe8\x5c"
   4735			     "\xf3\x8a\x21\x95\x2c\xc3\x37\xce"
   4736			     "\x65\xfc\x70\x07\x9e\x12\xa9\x40"
   4737			     "\xd7\x4b\xe2\x79\x10\x84\x1b\xb2"
   4738			     "\x26\xbd\x54\xeb\x5f\xf6\x8d\x01"
   4739			     "\x98\x2f\xc6\x3a\xd1\x68\xff\x73"
   4740			     "\x0a\xa1\x15\xac\x43\xda\x4e\xe5"
   4741			     "\x7c\x13\x87\x1e\xb5\x29\xc0\x57"
   4742			     "\xee\x62\xf9\x90\x04\x9b\x32\xc9"
   4743			     "\x3d\xd4\x6b\x02\x76\x0d\xa4\x18"
   4744			     "\xaf\x46\xdd\x51\xe8\x7f\x16\x8a"
   4745			     "\x21\xb8\x2c\xc3\x5a\xf1\x65\xfc"
   4746			     "\x93\x07\x9e\x35\xcc\x40\xd7\x6e"
   4747			     "\x05\x79\x10\xa7\x1b\xb2\x49\xe0"
   4748			     "\x54\xeb\x82\x19\x8d\x24\xbb\x2f"
   4749			     "\xc6\x5d\xf4\x68\xff\x96\x0a\xa1"
   4750			     "\x38\xcf\x43\xda\x71\x08\x7c\x13"
   4751			     "\xaa\x1e\xb5\x4c\xe3\x57\xee\x85"
   4752			     "\x1c\x90\x27\xbe\x32\xc9\x60\xf7"
   4753			     "\x6b\x02\x99\x0d\xa4\x3b\xd2\x46"
   4754			     "\xdd\x74\x0b\x7f\x16\xad\x21\xb8"
   4755			     "\x4f\xe6\x5a\xf1\x88\x1f\x93\x2a"
   4756			     "\xc1\x35\xcc\x63\xfa\x6e\x05\x9c"
   4757			     "\x10\xa7\x3e\xd5\x49\xe0\x77\x0e"
   4758			     "\x82\x19\xb0\x24\xbb\x52\xe9\x5d"
   4759			     "\xf4\x8b\x22\x96\x2d\xc4\x38\xcf"
   4760			     "\x66\xfd\x71\x08\x9f\x13\xaa\x41"
   4761			     "\xd8\x4c\xe3\x7a\x11\x85\x1c\xb3"
   4762			     "\x27\xbe\x55\xec\x60\xf7\x8e\x02"
   4763			     "\x99\x30\xc7\x3b\xd2\x69\x00\x74"
   4764			     "\x0b\xa2\x16\xad\x44\xdb\x4f\xe6"
   4765			     "\x7d\x14\x88\x1f\xb6\x2a\xc1\x58"
   4766			     "\xef\x63\xfa\x91\x05\x9c\x33\xca"
   4767			     "\x3e\xd5\x6c\x03\x77\x0e\xa5\x19"
   4768			     "\xb0\x47\xde\x52\xe9\x80\x17\x8b"
   4769			     "\x22\xb9\x2d\xc4\x5b\xf2\x66\xfd"
   4770			     "\x94\x08\x9f\x36\xcd\x41\xd8\x6f"
   4771			     "\x06\x7a\x11\xa8\x1c\xb3\x4a\xe1"
   4772			     "\x55\xec\x83\x1a\x8e\x25\xbc\x30"
   4773			     "\xc7\x5e\xf5\x69\x00\x97\x0b\xa2"
   4774			     "\x39\xd0\x44\xdb\x72\x09\x7d\x14"
   4775			     "\xab\x1f\xb6\x4d\xe4\x58\xef\x86"
   4776			     "\x1d\x91\x28\xbf\x33\xca\x61\xf8"
   4777			     "\x6c\x03\x9a\x0e\xa5\x3c\xd3\x47"
   4778			     "\xde\x75\x0c\x80\x17\xae\x22\xb9"
   4779			     "\x50\xe7\x5b\xf2\x89\x20\x94\x2b"
   4780			     "\xc2\x36\xcd\x64\xfb\x6f\x06\x9d"
   4781			     "\x11\xa8\x3f\xd6\x4a\xe1\x78\x0f"
   4782			     "\x83\x1a\xb1\x25\xbc\x53\xea\x5e"
   4783			     "\xf5\x8c\x00\x97\x2e\xc5\x39\xd0"
   4784			     "\x67\xfe\x72\x09\xa0\x14\xab\x42"
   4785			     "\xd9\x4d\xe4\x7b\x12\x86\x1d\xb4"
   4786			     "\x28\xbf\x56\xed\x61\xf8\x8f\x03"
   4787			     "\x9a\x31\xc8\x3c\xd3\x6a\x01\x75"
   4788			     "\x0c\xa3\x17\xae\x45\xdc\x50\xe7"
   4789			     "\x7e\x15\x89\x20\xb7\x2b\xc2\x59"
   4790			     "\xf0\x64\xfb\x92\x06\x9d\x34\xcb"
   4791			     "\x3f\xd6\x6d\x04\x78\x0f\xa6\x1a"
   4792			     "\xb1\x48\xdf\x53\xea\x81\x18\x8c"
   4793			     "\x23\xba\x2e\xc5\x5c\xf3\x67\xfe"
   4794			     "\x95\x09\xa0\x37\xce\x42\xd9\x70"
   4795			     "\x07\x7b\x12\xa9\x1d\xb4\x4b\xe2"
   4796			     "\x56\xed\x84\x1b\x8f\x26\xbd\x31"
   4797			     "\xc8\x5f\xf6\x6a\x01\x98\x0c\xa3"
   4798			     "\x3a\xd1\x45\xdc\x73\x0a\x7e\x15"
   4799			     "\xac\x20\xb7\x4e\xe5\x59\xf0\x87"
   4800			     "\x1e\x92\x29\xc0\x34\xcb\x62\xf9"
   4801			     "\x6d\x04\x9b\x0f\xa6\x3d\xd4\x48"
   4802			     "\xdf\x76\x0d\x81\x18\xaf\x23\xba"
   4803			     "\x51\xe8\x5c\xf3\x8a\x21\x95\x2c"
   4804			     "\xc3\x37\xce\x65\xfc\x70\x07\x9e"
   4805			     "\x12\xa9\x40\xd7\x4b\xe2\x79\x10"
   4806			     "\x84\x1b\xb2\x26\xbd\x54\xeb\x5f"
   4807			     "\xf6\x8d\x01\x98\x2f\xc6\x3a\xd1"
   4808			     "\x68\xff\x73\x0a\xa1\x15\xac\x43"
   4809			     "\xda\x4e\xe5\x7c\x13\x87\x1e\xb5"
   4810			     "\x29\xc0\x57\xee\x62\xf9\x90\x04"
   4811			     "\x9b\x32\xc9\x3d\xd4\x6b\x02\x76"
   4812			     "\x0d\xa4\x18\xaf\x46\xdd\x51\xe8"
   4813			     "\x7f\x16\x8a\x21\xb8\x2c\xc3\x5a"
   4814			     "\xf1\x65\xfc\x93\x07\x9e\x35\xcc"
   4815			     "\x40\xd7\x6e\x05\x79\x10\xa7\x1b"
   4816			     "\xb2\x49\xe0\x54\xeb\x82\x19\x8d"
   4817			     "\x24\xbb\x2f\xc6\x5d\xf4\x68\xff"
   4818			     "\x96\x0a\xa1\x38\xcf\x43\xda\x71"
   4819			     "\x08\x7c\x13\xaa\x1e\xb5\x4c",
   4820		.psize     = 1023,
   4821		.digest    = "\x1b\x19\x4d\x8f\xd5\x36\x87\x71"
   4822			     "\xcf\xca\x30\x85\x9b\xc1\x25\xc7"
   4823			     "\x00\xcb\x73\x8a\x8e\xd4\xfe\x2b"
   4824			     "\x1a\xa2\xdc\x2e\x41\xfd\x52\x51"
   4825			     "\xd2\x21\xae\x2d\xc7\xae\x8c\x40"
   4826			     "\xb9\xe6\x56\x48\x03\xcd\x88\x6b",
   4827	},
   4828};
   4829
   4830
   4831static const struct hash_testvec sha3_512_tv_template[] = {
   4832	{
   4833		.plaintext = "",
   4834		.digest	= "\xa6\x9f\x73\xcc\xa2\x3a\x9a\xc5"
   4835				"\xc8\xb5\x67\xdc\x18\x5a\x75\x6e"
   4836				"\x97\xc9\x82\x16\x4f\xe2\x58\x59"
   4837				"\xe0\xd1\xdc\xc1\x47\x5c\x80\xa6"
   4838				"\x15\xb2\x12\x3a\xf1\xf5\xf9\x4c"
   4839				"\x11\xe3\xe9\x40\x2c\x3a\xc5\x58"
   4840				"\xf5\x00\x19\x9d\x95\xb6\xd3\xe3"
   4841				"\x01\x75\x85\x86\x28\x1d\xcd\x26",
   4842	}, {
   4843		.plaintext = "a",
   4844		.psize	= 1,
   4845		.digest	= "\x69\x7f\x2d\x85\x61\x72\xcb\x83"
   4846				"\x09\xd6\xb8\xb9\x7d\xac\x4d\xe3"
   4847				"\x44\xb5\x49\xd4\xde\xe6\x1e\xdf"
   4848				"\xb4\x96\x2d\x86\x98\xb7\xfa\x80"
   4849				"\x3f\x4f\x93\xff\x24\x39\x35\x86"
   4850				"\xe2\x8b\x5b\x95\x7a\xc3\xd1\xd3"
   4851				"\x69\x42\x0c\xe5\x33\x32\x71\x2f"
   4852				"\x99\x7b\xd3\x36\xd0\x9a\xb0\x2a",
   4853	}, {
   4854		.plaintext = "abcdbcdecdefdefgefghfghighijhijkijkl"
   4855			     "jklmklmnlmnomnopnopq",
   4856		.psize	= 56,
   4857		.digest	= "\x04\xa3\x71\xe8\x4e\xcf\xb5\xb8"
   4858				"\xb7\x7c\xb4\x86\x10\xfc\xa8\x18"
   4859				"\x2d\xd4\x57\xce\x6f\x32\x6a\x0f"
   4860				"\xd3\xd7\xec\x2f\x1e\x91\x63\x6d"
   4861				"\xee\x69\x1f\xbe\x0c\x98\x53\x02"
   4862				"\xba\x1b\x0d\x8d\xc7\x8c\x08\x63"
   4863				"\x46\xb5\x33\xb4\x9c\x03\x0d\x99"
   4864				"\xa2\x7d\xaf\x11\x39\xd6\xe7\x5e",
   4865	}, {
   4866		.plaintext = "\x08\x9f\x13\xaa\x41\xd8\x4c\xe3"
   4867			     "\x7a\x11\x85\x1c\xb3\x27\xbe\x55"
   4868			     "\xec\x60\xf7\x8e\x02\x99\x30\xc7"
   4869			     "\x3b\xd2\x69\x00\x74\x0b\xa2\x16"
   4870			     "\xad\x44\xdb\x4f\xe6\x7d\x14\x88"
   4871			     "\x1f\xb6\x2a\xc1\x58\xef\x63\xfa"
   4872			     "\x91\x05\x9c\x33\xca\x3e\xd5\x6c"
   4873			     "\x03\x77\x0e\xa5\x19\xb0\x47\xde"
   4874			     "\x52\xe9\x80\x17\x8b\x22\xb9\x2d"
   4875			     "\xc4\x5b\xf2\x66\xfd\x94\x08\x9f"
   4876			     "\x36\xcd\x41\xd8\x6f\x06\x7a\x11"
   4877			     "\xa8\x1c\xb3\x4a\xe1\x55\xec\x83"
   4878			     "\x1a\x8e\x25\xbc\x30\xc7\x5e\xf5"
   4879			     "\x69\x00\x97\x0b\xa2\x39\xd0\x44"
   4880			     "\xdb\x72\x09\x7d\x14\xab\x1f\xb6"
   4881			     "\x4d\xe4\x58\xef\x86\x1d\x91\x28"
   4882			     "\xbf\x33\xca\x61\xf8\x6c\x03\x9a"
   4883			     "\x0e\xa5\x3c\xd3\x47\xde\x75\x0c"
   4884			     "\x80\x17\xae\x22\xb9\x50\xe7\x5b"
   4885			     "\xf2\x89\x20\x94\x2b\xc2\x36\xcd"
   4886			     "\x64\xfb\x6f\x06\x9d\x11\xa8\x3f"
   4887			     "\xd6\x4a\xe1\x78\x0f\x83\x1a\xb1"
   4888			     "\x25\xbc\x53\xea\x5e\xf5\x8c\x00"
   4889			     "\x97\x2e\xc5\x39\xd0\x67\xfe\x72"
   4890			     "\x09\xa0\x14\xab\x42\xd9\x4d\xe4"
   4891			     "\x7b\x12\x86\x1d\xb4\x28\xbf\x56"
   4892			     "\xed\x61\xf8\x8f\x03\x9a\x31\xc8"
   4893			     "\x3c\xd3\x6a\x01\x75\x0c\xa3\x17"
   4894			     "\xae\x45\xdc\x50\xe7\x7e\x15\x89"
   4895			     "\x20\xb7\x2b\xc2\x59\xf0\x64\xfb"
   4896			     "\x92\x06\x9d\x34\xcb\x3f\xd6\x6d"
   4897			     "\x04\x78\x0f\xa6\x1a\xb1\x48\xdf"
   4898			     "\x53\xea\x81\x18\x8c\x23\xba\x2e"
   4899			     "\xc5\x5c\xf3\x67\xfe\x95\x09\xa0"
   4900			     "\x37\xce\x42\xd9\x70\x07\x7b\x12"
   4901			     "\xa9\x1d\xb4\x4b\xe2\x56\xed\x84"
   4902			     "\x1b\x8f\x26\xbd\x31\xc8\x5f\xf6"
   4903			     "\x6a\x01\x98\x0c\xa3\x3a\xd1\x45"
   4904			     "\xdc\x73\x0a\x7e\x15\xac\x20\xb7"
   4905			     "\x4e\xe5\x59\xf0\x87\x1e\x92\x29"
   4906			     "\xc0\x34\xcb\x62\xf9\x6d\x04\x9b"
   4907			     "\x0f\xa6\x3d\xd4\x48\xdf\x76\x0d"
   4908			     "\x81\x18\xaf\x23\xba\x51\xe8\x5c"
   4909			     "\xf3\x8a\x21\x95\x2c\xc3\x37\xce"
   4910			     "\x65\xfc\x70\x07\x9e\x12\xa9\x40"
   4911			     "\xd7\x4b\xe2\x79\x10\x84\x1b\xb2"
   4912			     "\x26\xbd\x54\xeb\x5f\xf6\x8d\x01"
   4913			     "\x98\x2f\xc6\x3a\xd1\x68\xff\x73"
   4914			     "\x0a\xa1\x15\xac\x43\xda\x4e\xe5"
   4915			     "\x7c\x13\x87\x1e\xb5\x29\xc0\x57"
   4916			     "\xee\x62\xf9\x90\x04\x9b\x32\xc9"
   4917			     "\x3d\xd4\x6b\x02\x76\x0d\xa4\x18"
   4918			     "\xaf\x46\xdd\x51\xe8\x7f\x16\x8a"
   4919			     "\x21\xb8\x2c\xc3\x5a\xf1\x65\xfc"
   4920			     "\x93\x07\x9e\x35\xcc\x40\xd7\x6e"
   4921			     "\x05\x79\x10\xa7\x1b\xb2\x49\xe0"
   4922			     "\x54\xeb\x82\x19\x8d\x24\xbb\x2f"
   4923			     "\xc6\x5d\xf4\x68\xff\x96\x0a\xa1"
   4924			     "\x38\xcf\x43\xda\x71\x08\x7c\x13"
   4925			     "\xaa\x1e\xb5\x4c\xe3\x57\xee\x85"
   4926			     "\x1c\x90\x27\xbe\x32\xc9\x60\xf7"
   4927			     "\x6b\x02\x99\x0d\xa4\x3b\xd2\x46"
   4928			     "\xdd\x74\x0b\x7f\x16\xad\x21\xb8"
   4929			     "\x4f\xe6\x5a\xf1\x88\x1f\x93\x2a"
   4930			     "\xc1\x35\xcc\x63\xfa\x6e\x05\x9c"
   4931			     "\x10\xa7\x3e\xd5\x49\xe0\x77\x0e"
   4932			     "\x82\x19\xb0\x24\xbb\x52\xe9\x5d"
   4933			     "\xf4\x8b\x22\x96\x2d\xc4\x38\xcf"
   4934			     "\x66\xfd\x71\x08\x9f\x13\xaa\x41"
   4935			     "\xd8\x4c\xe3\x7a\x11\x85\x1c\xb3"
   4936			     "\x27\xbe\x55\xec\x60\xf7\x8e\x02"
   4937			     "\x99\x30\xc7\x3b\xd2\x69\x00\x74"
   4938			     "\x0b\xa2\x16\xad\x44\xdb\x4f\xe6"
   4939			     "\x7d\x14\x88\x1f\xb6\x2a\xc1\x58"
   4940			     "\xef\x63\xfa\x91\x05\x9c\x33\xca"
   4941			     "\x3e\xd5\x6c\x03\x77\x0e\xa5\x19"
   4942			     "\xb0\x47\xde\x52\xe9\x80\x17\x8b"
   4943			     "\x22\xb9\x2d\xc4\x5b\xf2\x66\xfd"
   4944			     "\x94\x08\x9f\x36\xcd\x41\xd8\x6f"
   4945			     "\x06\x7a\x11\xa8\x1c\xb3\x4a\xe1"
   4946			     "\x55\xec\x83\x1a\x8e\x25\xbc\x30"
   4947			     "\xc7\x5e\xf5\x69\x00\x97\x0b\xa2"
   4948			     "\x39\xd0\x44\xdb\x72\x09\x7d\x14"
   4949			     "\xab\x1f\xb6\x4d\xe4\x58\xef\x86"
   4950			     "\x1d\x91\x28\xbf\x33\xca\x61\xf8"
   4951			     "\x6c\x03\x9a\x0e\xa5\x3c\xd3\x47"
   4952			     "\xde\x75\x0c\x80\x17\xae\x22\xb9"
   4953			     "\x50\xe7\x5b\xf2\x89\x20\x94\x2b"
   4954			     "\xc2\x36\xcd\x64\xfb\x6f\x06\x9d"
   4955			     "\x11\xa8\x3f\xd6\x4a\xe1\x78\x0f"
   4956			     "\x83\x1a\xb1\x25\xbc\x53\xea\x5e"
   4957			     "\xf5\x8c\x00\x97\x2e\xc5\x39\xd0"
   4958			     "\x67\xfe\x72\x09\xa0\x14\xab\x42"
   4959			     "\xd9\x4d\xe4\x7b\x12\x86\x1d\xb4"
   4960			     "\x28\xbf\x56\xed\x61\xf8\x8f\x03"
   4961			     "\x9a\x31\xc8\x3c\xd3\x6a\x01\x75"
   4962			     "\x0c\xa3\x17\xae\x45\xdc\x50\xe7"
   4963			     "\x7e\x15\x89\x20\xb7\x2b\xc2\x59"
   4964			     "\xf0\x64\xfb\x92\x06\x9d\x34\xcb"
   4965			     "\x3f\xd6\x6d\x04\x78\x0f\xa6\x1a"
   4966			     "\xb1\x48\xdf\x53\xea\x81\x18\x8c"
   4967			     "\x23\xba\x2e\xc5\x5c\xf3\x67\xfe"
   4968			     "\x95\x09\xa0\x37\xce\x42\xd9\x70"
   4969			     "\x07\x7b\x12\xa9\x1d\xb4\x4b\xe2"
   4970			     "\x56\xed\x84\x1b\x8f\x26\xbd\x31"
   4971			     "\xc8\x5f\xf6\x6a\x01\x98\x0c\xa3"
   4972			     "\x3a\xd1\x45\xdc\x73\x0a\x7e\x15"
   4973			     "\xac\x20\xb7\x4e\xe5\x59\xf0\x87"
   4974			     "\x1e\x92\x29\xc0\x34\xcb\x62\xf9"
   4975			     "\x6d\x04\x9b\x0f\xa6\x3d\xd4\x48"
   4976			     "\xdf\x76\x0d\x81\x18\xaf\x23\xba"
   4977			     "\x51\xe8\x5c\xf3\x8a\x21\x95\x2c"
   4978			     "\xc3\x37\xce\x65\xfc\x70\x07\x9e"
   4979			     "\x12\xa9\x40\xd7\x4b\xe2\x79\x10"
   4980			     "\x84\x1b\xb2\x26\xbd\x54\xeb\x5f"
   4981			     "\xf6\x8d\x01\x98\x2f\xc6\x3a\xd1"
   4982			     "\x68\xff\x73\x0a\xa1\x15\xac\x43"
   4983			     "\xda\x4e\xe5\x7c\x13\x87\x1e\xb5"
   4984			     "\x29\xc0\x57\xee\x62\xf9\x90\x04"
   4985			     "\x9b\x32\xc9\x3d\xd4\x6b\x02\x76"
   4986			     "\x0d\xa4\x18\xaf\x46\xdd\x51\xe8"
   4987			     "\x7f\x16\x8a\x21\xb8\x2c\xc3\x5a"
   4988			     "\xf1\x65\xfc\x93\x07\x9e\x35\xcc"
   4989			     "\x40\xd7\x6e\x05\x79\x10\xa7\x1b"
   4990			     "\xb2\x49\xe0\x54\xeb\x82\x19\x8d"
   4991			     "\x24\xbb\x2f\xc6\x5d\xf4\x68\xff"
   4992			     "\x96\x0a\xa1\x38\xcf\x43\xda\x71"
   4993			     "\x08\x7c\x13\xaa\x1e\xb5\x4c",
   4994		.psize     = 1023,
   4995		.digest    = "\x59\xda\x30\xe3\x90\xe4\x3d\xde"
   4996			     "\xf0\xc6\x42\x17\xd7\xb2\x26\x47"
   4997			     "\x90\x28\xa6\x84\xe8\x49\x7a\x86"
   4998			     "\xd6\xb8\x9e\xf8\x07\x59\x21\x03"
   4999			     "\xad\xd2\xed\x48\xa3\xb9\xa5\xf0"
   5000			     "\xb3\xae\x02\x2b\xb8\xaf\xc3\x3b"
   5001			     "\xd6\xb0\x8f\xcb\x76\x8b\xa7\x41"
   5002			     "\x32\xc2\x8e\x50\x91\x86\x90\xfb",
   5003	},
   5004};
   5005
   5006
   5007/*
   5008 * MD5 test vectors from RFC1321
   5009 */
   5010static const struct hash_testvec md5_tv_template[] = {
   5011	{
   5012		.digest	= "\xd4\x1d\x8c\xd9\x8f\x00\xb2\x04"
   5013			  "\xe9\x80\x09\x98\xec\xf8\x42\x7e",
   5014	}, {
   5015		.plaintext = "a",
   5016		.psize	= 1,
   5017		.digest	= "\x0c\xc1\x75\xb9\xc0\xf1\xb6\xa8"
   5018			  "\x31\xc3\x99\xe2\x69\x77\x26\x61",
   5019	}, {
   5020		.plaintext = "abc",
   5021		.psize	= 3,
   5022		.digest	= "\x90\x01\x50\x98\x3c\xd2\x4f\xb0"
   5023			  "\xd6\x96\x3f\x7d\x28\xe1\x7f\x72",
   5024	}, {
   5025		.plaintext = "message digest",
   5026		.psize	= 14,
   5027		.digest	= "\xf9\x6b\x69\x7d\x7c\xb7\x93\x8d"
   5028			  "\x52\x5a\x2f\x31\xaa\xf1\x61\xd0",
   5029	}, {
   5030		.plaintext = "abcdefghijklmnopqrstuvwxyz",
   5031		.psize	= 26,
   5032		.digest	= "\xc3\xfc\xd3\xd7\x61\x92\xe4\x00"
   5033			  "\x7d\xfb\x49\x6c\xca\x67\xe1\x3b",
   5034	}, {
   5035		.plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
   5036		.psize	= 62,
   5037		.digest	= "\xd1\x74\xab\x98\xd2\x77\xd9\xf5"
   5038			  "\xa5\x61\x1c\x2c\x9f\x41\x9d\x9f",
   5039	}, {
   5040		.plaintext = "12345678901234567890123456789012345678901234567890123456789012"
   5041			   "345678901234567890",
   5042		.psize	= 80,
   5043		.digest	= "\x57\xed\xf4\xa2\x2b\xe3\xc9\x55"
   5044			  "\xac\x49\xda\x2e\x21\x07\xb6\x7a",
   5045	}
   5046
   5047};
   5048
   5049/*
   5050 * RIPEMD-160 test vectors from ISO/IEC 10118-3:2004(E)
   5051 */
   5052static const struct hash_testvec rmd160_tv_template[] = {
   5053	{
   5054		.digest	= "\x9c\x11\x85\xa5\xc5\xe9\xfc\x54\x61\x28"
   5055			  "\x08\x97\x7e\xe8\xf5\x48\xb2\x25\x8d\x31",
   5056	}, {
   5057		.plaintext = "a",
   5058		.psize	= 1,
   5059		.digest	= "\x0b\xdc\x9d\x2d\x25\x6b\x3e\xe9\xda\xae"
   5060			  "\x34\x7b\xe6\xf4\xdc\x83\x5a\x46\x7f\xfe",
   5061	}, {
   5062		.plaintext = "abc",
   5063		.psize	= 3,
   5064		.digest	= "\x8e\xb2\x08\xf7\xe0\x5d\x98\x7a\x9b\x04"
   5065			  "\x4a\x8e\x98\xc6\xb0\x87\xf1\x5a\x0b\xfc",
   5066	}, {
   5067		.plaintext = "message digest",
   5068		.psize	= 14,
   5069		.digest	= "\x5d\x06\x89\xef\x49\xd2\xfa\xe5\x72\xb8"
   5070			  "\x81\xb1\x23\xa8\x5f\xfa\x21\x59\x5f\x36",
   5071	}, {
   5072		.plaintext = "abcdefghijklmnopqrstuvwxyz",
   5073		.psize	= 26,
   5074		.digest	= "\xf7\x1c\x27\x10\x9c\x69\x2c\x1b\x56\xbb"
   5075			  "\xdc\xeb\x5b\x9d\x28\x65\xb3\x70\x8d\xbc",
   5076	}, {
   5077		.plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcde"
   5078			     "fghijklmnopqrstuvwxyz0123456789",
   5079		.psize	= 62,
   5080		.digest	= "\xb0\xe2\x0b\x6e\x31\x16\x64\x02\x86\xed"
   5081			  "\x3a\x87\xa5\x71\x30\x79\xb2\x1f\x51\x89",
   5082	}, {
   5083		.plaintext = "1234567890123456789012345678901234567890"
   5084			     "1234567890123456789012345678901234567890",
   5085		.psize	= 80,
   5086		.digest	= "\x9b\x75\x2e\x45\x57\x3d\x4b\x39\xf4\xdb"
   5087			  "\xd3\x32\x3c\xab\x82\xbf\x63\x32\x6b\xfb",
   5088	}, {
   5089		.plaintext = "abcdbcdecdefdefgefghfghighij"
   5090			     "hijkijkljklmklmnlmnomnopnopq",
   5091		.psize	= 56,
   5092		.digest	= "\x12\xa0\x53\x38\x4a\x9c\x0c\x88\xe4\x05"
   5093			  "\xa0\x6c\x27\xdc\xf4\x9a\xda\x62\xeb\x2b",
   5094	}, {
   5095		.plaintext = "abcdefghbcdefghicdefghijdefghijkefghijklfghi"
   5096			     "jklmghijklmnhijklmnoijklmnopjklmnopqklmnopqr"
   5097			     "lmnopqrsmnopqrstnopqrstu",
   5098		.psize	= 112,
   5099		.digest	= "\x6f\x3f\xa3\x9b\x6b\x50\x3c\x38\x4f\x91"
   5100			  "\x9a\x49\xa7\xaa\x5c\x2c\x08\xbd\xfb\x45",
   5101	}, {
   5102		.plaintext = "abcdbcdecdefdefgefghfghighijhijk",
   5103		.psize	= 32,
   5104		.digest	= "\x94\xc2\x64\x11\x54\x04\xe6\x33\x79\x0d"
   5105			  "\xfc\xc8\x7b\x58\x7d\x36\x77\x06\x7d\x9f",
   5106	}
   5107};
   5108
   5109static const u8 zeroes[4096] = { [0 ... 4095] = 0 };
   5110static const u8 ones[4096] = { [0 ... 4095] = 0xff };
   5111
   5112static const struct hash_testvec crc64_rocksoft_tv_template[] = {
   5113	{
   5114		.plaintext	= zeroes,
   5115		.psize		= 4096,
   5116		.digest         = "\x4e\xb6\x22\xeb\x67\xd3\x82\x64",
   5117	}, {
   5118		.plaintext	= ones,
   5119		.psize		= 4096,
   5120		.digest         = "\xac\xa3\xec\x02\x73\xba\xdd\xc0",
   5121	}
   5122};
   5123
   5124static const struct hash_testvec crct10dif_tv_template[] = {
   5125	{
   5126		.plaintext	= "abc",
   5127		.psize		= 3,
   5128		.digest		= (u8 *)(u16 []){ 0x443b },
   5129	}, {
   5130		.plaintext 	= "1234567890123456789012345678901234567890"
   5131				  "123456789012345678901234567890123456789",
   5132		.psize		= 79,
   5133		.digest 	= (u8 *)(u16 []){ 0x4b70 },
   5134	}, {
   5135		.plaintext	= "abcdddddddddddddddddddddddddddddddddddddddd"
   5136				  "ddddddddddddd",
   5137		.psize		= 56,
   5138		.digest		= (u8 *)(u16 []){ 0x9ce3 },
   5139	}, {
   5140		.plaintext 	= "1234567890123456789012345678901234567890"
   5141				  "1234567890123456789012345678901234567890"
   5142				  "1234567890123456789012345678901234567890"
   5143				  "1234567890123456789012345678901234567890"
   5144				  "1234567890123456789012345678901234567890"
   5145				  "1234567890123456789012345678901234567890"
   5146				  "1234567890123456789012345678901234567890"
   5147				  "123456789012345678901234567890123456789",
   5148		.psize		= 319,
   5149		.digest		= (u8 *)(u16 []){ 0x44c6 },
   5150	}, {
   5151		.plaintext =	"\x6e\x05\x79\x10\xa7\x1b\xb2\x49"
   5152				"\xe0\x54\xeb\x82\x19\x8d\x24\xbb"
   5153				"\x2f\xc6\x5d\xf4\x68\xff\x96\x0a"
   5154				"\xa1\x38\xcf\x43\xda\x71\x08\x7c"
   5155				"\x13\xaa\x1e\xb5\x4c\xe3\x57\xee"
   5156				"\x85\x1c\x90\x27\xbe\x32\xc9\x60"
   5157				"\xf7\x6b\x02\x99\x0d\xa4\x3b\xd2"
   5158				"\x46\xdd\x74\x0b\x7f\x16\xad\x21"
   5159				"\xb8\x4f\xe6\x5a\xf1\x88\x1f\x93"
   5160				"\x2a\xc1\x35\xcc\x63\xfa\x6e\x05"
   5161				"\x9c\x10\xa7\x3e\xd5\x49\xe0\x77"
   5162				"\x0e\x82\x19\xb0\x24\xbb\x52\xe9"
   5163				"\x5d\xf4\x8b\x22\x96\x2d\xc4\x38"
   5164				"\xcf\x66\xfd\x71\x08\x9f\x13\xaa"
   5165				"\x41\xd8\x4c\xe3\x7a\x11\x85\x1c"
   5166				"\xb3\x27\xbe\x55\xec\x60\xf7\x8e"
   5167				"\x02\x99\x30\xc7\x3b\xd2\x69\x00"
   5168				"\x74\x0b\xa2\x16\xad\x44\xdb\x4f"
   5169				"\xe6\x7d\x14\x88\x1f\xb6\x2a\xc1"
   5170				"\x58\xef\x63\xfa\x91\x05\x9c\x33"
   5171				"\xca\x3e\xd5\x6c\x03\x77\x0e\xa5"
   5172				"\x19\xb0\x47\xde\x52\xe9\x80\x17"
   5173				"\x8b\x22\xb9\x2d\xc4\x5b\xf2\x66"
   5174				"\xfd\x94\x08\x9f\x36\xcd\x41\xd8"
   5175				"\x6f\x06\x7a\x11\xa8\x1c\xb3\x4a"
   5176				"\xe1\x55\xec\x83\x1a\x8e\x25\xbc"
   5177				"\x30\xc7\x5e\xf5\x69\x00\x97\x0b"
   5178				"\xa2\x39\xd0\x44\xdb\x72\x09\x7d"
   5179				"\x14\xab\x1f\xb6\x4d\xe4\x58\xef"
   5180				"\x86\x1d\x91\x28\xbf\x33\xca\x61"
   5181				"\xf8\x6c\x03\x9a\x0e\xa5\x3c\xd3"
   5182				"\x47\xde\x75\x0c\x80\x17\xae\x22"
   5183				"\xb9\x50\xe7\x5b\xf2\x89\x20\x94"
   5184				"\x2b\xc2\x36\xcd\x64\xfb\x6f\x06"
   5185				"\x9d\x11\xa8\x3f\xd6\x4a\xe1\x78"
   5186				"\x0f\x83\x1a\xb1\x25\xbc\x53\xea"
   5187				"\x5e\xf5\x8c\x00\x97\x2e\xc5\x39"
   5188				"\xd0\x67\xfe\x72\x09\xa0\x14\xab"
   5189				"\x42\xd9\x4d\xe4\x7b\x12\x86\x1d"
   5190				"\xb4\x28\xbf\x56\xed\x61\xf8\x8f"
   5191				"\x03\x9a\x31\xc8\x3c\xd3\x6a\x01"
   5192				"\x75\x0c\xa3\x17\xae\x45\xdc\x50"
   5193				"\xe7\x7e\x15\x89\x20\xb7\x2b\xc2"
   5194				"\x59\xf0\x64\xfb\x92\x06\x9d\x34"
   5195				"\xcb\x3f\xd6\x6d\x04\x78\x0f\xa6"
   5196				"\x1a\xb1\x48\xdf\x53\xea\x81\x18"
   5197				"\x8c\x23\xba\x2e\xc5\x5c\xf3\x67"
   5198				"\xfe\x95\x09\xa0\x37\xce\x42\xd9"
   5199				"\x70\x07\x7b\x12\xa9\x1d\xb4\x4b"
   5200				"\xe2\x56\xed\x84\x1b\x8f\x26\xbd"
   5201				"\x31\xc8\x5f\xf6\x6a\x01\x98\x0c"
   5202				"\xa3\x3a\xd1\x45\xdc\x73\x0a\x7e"
   5203				"\x15\xac\x20\xb7\x4e\xe5\x59\xf0"
   5204				"\x87\x1e\x92\x29\xc0\x34\xcb\x62"
   5205				"\xf9\x6d\x04\x9b\x0f\xa6\x3d\xd4"
   5206				"\x48\xdf\x76\x0d\x81\x18\xaf\x23"
   5207				"\xba\x51\xe8\x5c\xf3\x8a\x21\x95"
   5208				"\x2c\xc3\x37\xce\x65\xfc\x70\x07"
   5209				"\x9e\x12\xa9\x40\xd7\x4b\xe2\x79"
   5210				"\x10\x84\x1b\xb2\x26\xbd\x54\xeb"
   5211				"\x5f\xf6\x8d\x01\x98\x2f\xc6\x3a"
   5212				"\xd1\x68\xff\x73\x0a\xa1\x15\xac"
   5213				"\x43\xda\x4e\xe5\x7c\x13\x87\x1e"
   5214				"\xb5\x29\xc0\x57\xee\x62\xf9\x90"
   5215				"\x04\x9b\x32\xc9\x3d\xd4\x6b\x02"
   5216				"\x76\x0d\xa4\x18\xaf\x46\xdd\x51"
   5217				"\xe8\x7f\x16\x8a\x21\xb8\x2c\xc3"
   5218				"\x5a\xf1\x65\xfc\x93\x07\x9e\x35"
   5219				"\xcc\x40\xd7\x6e\x05\x79\x10\xa7"
   5220				"\x1b\xb2\x49\xe0\x54\xeb\x82\x19"
   5221				"\x8d\x24\xbb\x2f\xc6\x5d\xf4\x68"
   5222				"\xff\x96\x0a\xa1\x38\xcf\x43\xda"
   5223				"\x71\x08\x7c\x13\xaa\x1e\xb5\x4c"
   5224				"\xe3\x57\xee\x85\x1c\x90\x27\xbe"
   5225				"\x32\xc9\x60\xf7\x6b\x02\x99\x0d"
   5226				"\xa4\x3b\xd2\x46\xdd\x74\x0b\x7f"
   5227				"\x16\xad\x21\xb8\x4f\xe6\x5a\xf1"
   5228				"\x88\x1f\x93\x2a\xc1\x35\xcc\x63"
   5229				"\xfa\x6e\x05\x9c\x10\xa7\x3e\xd5"
   5230				"\x49\xe0\x77\x0e\x82\x19\xb0\x24"
   5231				"\xbb\x52\xe9\x5d\xf4\x8b\x22\x96"
   5232				"\x2d\xc4\x38\xcf\x66\xfd\x71\x08"
   5233				"\x9f\x13\xaa\x41\xd8\x4c\xe3\x7a"
   5234				"\x11\x85\x1c\xb3\x27\xbe\x55\xec"
   5235				"\x60\xf7\x8e\x02\x99\x30\xc7\x3b"
   5236				"\xd2\x69\x00\x74\x0b\xa2\x16\xad"
   5237				"\x44\xdb\x4f\xe6\x7d\x14\x88\x1f"
   5238				"\xb6\x2a\xc1\x58\xef\x63\xfa\x91"
   5239				"\x05\x9c\x33\xca\x3e\xd5\x6c\x03"
   5240				"\x77\x0e\xa5\x19\xb0\x47\xde\x52"
   5241				"\xe9\x80\x17\x8b\x22\xb9\x2d\xc4"
   5242				"\x5b\xf2\x66\xfd\x94\x08\x9f\x36"
   5243				"\xcd\x41\xd8\x6f\x06\x7a\x11\xa8"
   5244				"\x1c\xb3\x4a\xe1\x55\xec\x83\x1a"
   5245				"\x8e\x25\xbc\x30\xc7\x5e\xf5\x69"
   5246				"\x00\x97\x0b\xa2\x39\xd0\x44\xdb"
   5247				"\x72\x09\x7d\x14\xab\x1f\xb6\x4d"
   5248				"\xe4\x58\xef\x86\x1d\x91\x28\xbf"
   5249				"\x33\xca\x61\xf8\x6c\x03\x9a\x0e"
   5250				"\xa5\x3c\xd3\x47\xde\x75\x0c\x80"
   5251				"\x17\xae\x22\xb9\x50\xe7\x5b\xf2"
   5252				"\x89\x20\x94\x2b\xc2\x36\xcd\x64"
   5253				"\xfb\x6f\x06\x9d\x11\xa8\x3f\xd6"
   5254				"\x4a\xe1\x78\x0f\x83\x1a\xb1\x25"
   5255				"\xbc\x53\xea\x5e\xf5\x8c\x00\x97"
   5256				"\x2e\xc5\x39\xd0\x67\xfe\x72\x09"
   5257				"\xa0\x14\xab\x42\xd9\x4d\xe4\x7b"
   5258				"\x12\x86\x1d\xb4\x28\xbf\x56\xed"
   5259				"\x61\xf8\x8f\x03\x9a\x31\xc8\x3c"
   5260				"\xd3\x6a\x01\x75\x0c\xa3\x17\xae"
   5261				"\x45\xdc\x50\xe7\x7e\x15\x89\x20"
   5262				"\xb7\x2b\xc2\x59\xf0\x64\xfb\x92"
   5263				"\x06\x9d\x34\xcb\x3f\xd6\x6d\x04"
   5264				"\x78\x0f\xa6\x1a\xb1\x48\xdf\x53"
   5265				"\xea\x81\x18\x8c\x23\xba\x2e\xc5"
   5266				"\x5c\xf3\x67\xfe\x95\x09\xa0\x37"
   5267				"\xce\x42\xd9\x70\x07\x7b\x12\xa9"
   5268				"\x1d\xb4\x4b\xe2\x56\xed\x84\x1b"
   5269				"\x8f\x26\xbd\x31\xc8\x5f\xf6\x6a"
   5270				"\x01\x98\x0c\xa3\x3a\xd1\x45\xdc"
   5271				"\x73\x0a\x7e\x15\xac\x20\xb7\x4e"
   5272				"\xe5\x59\xf0\x87\x1e\x92\x29\xc0"
   5273				"\x34\xcb\x62\xf9\x6d\x04\x9b\x0f"
   5274				"\xa6\x3d\xd4\x48\xdf\x76\x0d\x81"
   5275				"\x18\xaf\x23\xba\x51\xe8\x5c\xf3"
   5276				"\x8a\x21\x95\x2c\xc3\x37\xce\x65"
   5277				"\xfc\x70\x07\x9e\x12\xa9\x40\xd7"
   5278				"\x4b\xe2\x79\x10\x84\x1b\xb2\x26"
   5279				"\xbd\x54\xeb\x5f\xf6\x8d\x01\x98"
   5280				"\x2f\xc6\x3a\xd1\x68\xff\x73\x0a"
   5281				"\xa1\x15\xac\x43\xda\x4e\xe5\x7c"
   5282				"\x13\x87\x1e\xb5\x29\xc0\x57\xee"
   5283				"\x62\xf9\x90\x04\x9b\x32\xc9\x3d"
   5284				"\xd4\x6b\x02\x76\x0d\xa4\x18\xaf"
   5285				"\x46\xdd\x51\xe8\x7f\x16\x8a\x21"
   5286				"\xb8\x2c\xc3\x5a\xf1\x65\xfc\x93"
   5287				"\x07\x9e\x35\xcc\x40\xd7\x6e\x05"
   5288				"\x79\x10\xa7\x1b\xb2\x49\xe0\x54"
   5289				"\xeb\x82\x19\x8d\x24\xbb\x2f\xc6"
   5290				"\x5d\xf4\x68\xff\x96\x0a\xa1\x38"
   5291				"\xcf\x43\xda\x71\x08\x7c\x13\xaa"
   5292				"\x1e\xb5\x4c\xe3\x57\xee\x85\x1c"
   5293				"\x90\x27\xbe\x32\xc9\x60\xf7\x6b"
   5294				"\x02\x99\x0d\xa4\x3b\xd2\x46\xdd"
   5295				"\x74\x0b\x7f\x16\xad\x21\xb8\x4f"
   5296				"\xe6\x5a\xf1\x88\x1f\x93\x2a\xc1"
   5297				"\x35\xcc\x63\xfa\x6e\x05\x9c\x10"
   5298				"\xa7\x3e\xd5\x49\xe0\x77\x0e\x82"
   5299				"\x19\xb0\x24\xbb\x52\xe9\x5d\xf4"
   5300				"\x8b\x22\x96\x2d\xc4\x38\xcf\x66"
   5301				"\xfd\x71\x08\x9f\x13\xaa\x41\xd8"
   5302				"\x4c\xe3\x7a\x11\x85\x1c\xb3\x27"
   5303				"\xbe\x55\xec\x60\xf7\x8e\x02\x99"
   5304				"\x30\xc7\x3b\xd2\x69\x00\x74\x0b"
   5305				"\xa2\x16\xad\x44\xdb\x4f\xe6\x7d"
   5306				"\x14\x88\x1f\xb6\x2a\xc1\x58\xef"
   5307				"\x63\xfa\x91\x05\x9c\x33\xca\x3e"
   5308				"\xd5\x6c\x03\x77\x0e\xa5\x19\xb0"
   5309				"\x47\xde\x52\xe9\x80\x17\x8b\x22"
   5310				"\xb9\x2d\xc4\x5b\xf2\x66\xfd\x94"
   5311				"\x08\x9f\x36\xcd\x41\xd8\x6f\x06"
   5312				"\x7a\x11\xa8\x1c\xb3\x4a\xe1\x55"
   5313				"\xec\x83\x1a\x8e\x25\xbc\x30\xc7"
   5314				"\x5e\xf5\x69\x00\x97\x0b\xa2\x39"
   5315				"\xd0\x44\xdb\x72\x09\x7d\x14\xab"
   5316				"\x1f\xb6\x4d\xe4\x58\xef\x86\x1d"
   5317				"\x91\x28\xbf\x33\xca\x61\xf8\x6c"
   5318				"\x03\x9a\x0e\xa5\x3c\xd3\x47\xde"
   5319				"\x75\x0c\x80\x17\xae\x22\xb9\x50"
   5320				"\xe7\x5b\xf2\x89\x20\x94\x2b\xc2"
   5321				"\x36\xcd\x64\xfb\x6f\x06\x9d\x11"
   5322				"\xa8\x3f\xd6\x4a\xe1\x78\x0f\x83"
   5323				"\x1a\xb1\x25\xbc\x53\xea\x5e\xf5"
   5324				"\x8c\x00\x97\x2e\xc5\x39\xd0\x67"
   5325				"\xfe\x72\x09\xa0\x14\xab\x42\xd9"
   5326				"\x4d\xe4\x7b\x12\x86\x1d\xb4\x28"
   5327				"\xbf\x56\xed\x61\xf8\x8f\x03\x9a"
   5328				"\x31\xc8\x3c\xd3\x6a\x01\x75\x0c"
   5329				"\xa3\x17\xae\x45\xdc\x50\xe7\x7e"
   5330				"\x15\x89\x20\xb7\x2b\xc2\x59\xf0"
   5331				"\x64\xfb\x92\x06\x9d\x34\xcb\x3f"
   5332				"\xd6\x6d\x04\x78\x0f\xa6\x1a\xb1"
   5333				"\x48\xdf\x53\xea\x81\x18\x8c\x23"
   5334				"\xba\x2e\xc5\x5c\xf3\x67\xfe\x95"
   5335				"\x09\xa0\x37\xce\x42\xd9\x70\x07"
   5336				"\x7b\x12\xa9\x1d\xb4\x4b\xe2\x56"
   5337				"\xed\x84\x1b\x8f\x26\xbd\x31\xc8"
   5338				"\x5f\xf6\x6a\x01\x98\x0c\xa3\x3a"
   5339				"\xd1\x45\xdc\x73\x0a\x7e\x15\xac"
   5340				"\x20\xb7\x4e\xe5\x59\xf0\x87\x1e"
   5341				"\x92\x29\xc0\x34\xcb\x62\xf9\x6d"
   5342				"\x04\x9b\x0f\xa6\x3d\xd4\x48\xdf"
   5343				"\x76\x0d\x81\x18\xaf\x23\xba\x51"
   5344				"\xe8\x5c\xf3\x8a\x21\x95\x2c\xc3"
   5345				"\x37\xce\x65\xfc\x70\x07\x9e\x12"
   5346				"\xa9\x40\xd7\x4b\xe2\x79\x10\x84"
   5347				"\x1b\xb2\x26\xbd\x54\xeb\x5f\xf6"
   5348				"\x8d\x01\x98\x2f\xc6\x3a\xd1\x68"
   5349				"\xff\x73\x0a\xa1\x15\xac\x43\xda"
   5350				"\x4e\xe5\x7c\x13\x87\x1e\xb5\x29"
   5351				"\xc0\x57\xee\x62\xf9\x90\x04\x9b"
   5352				"\x32\xc9\x3d\xd4\x6b\x02\x76\x0d"
   5353				"\xa4\x18\xaf\x46\xdd\x51\xe8\x7f"
   5354				"\x16\x8a\x21\xb8\x2c\xc3\x5a\xf1"
   5355				"\x65\xfc\x93\x07\x9e\x35\xcc\x40"
   5356				"\xd7\x6e\x05\x79\x10\xa7\x1b\xb2"
   5357				"\x49\xe0\x54\xeb\x82\x19\x8d\x24"
   5358				"\xbb\x2f\xc6\x5d\xf4\x68\xff\x96"
   5359				"\x0a\xa1\x38\xcf\x43\xda\x71\x08"
   5360				"\x7c\x13\xaa\x1e\xb5\x4c\xe3\x57"
   5361				"\xee\x85\x1c\x90\x27\xbe\x32\xc9"
   5362				"\x60\xf7\x6b\x02\x99\x0d\xa4\x3b"
   5363				"\xd2\x46\xdd\x74\x0b\x7f\x16\xad"
   5364				"\x21\xb8\x4f\xe6\x5a\xf1\x88\x1f"
   5365				"\x93\x2a\xc1\x35\xcc\x63\xfa\x6e"
   5366				"\x05\x9c\x10\xa7\x3e\xd5\x49\xe0"
   5367				"\x77\x0e\x82\x19\xb0\x24\xbb\x52"
   5368				"\xe9\x5d\xf4\x8b\x22\x96\x2d\xc4"
   5369				"\x38\xcf\x66\xfd\x71\x08\x9f\x13"
   5370				"\xaa\x41\xd8\x4c\xe3\x7a\x11\x85"
   5371				"\x1c\xb3\x27\xbe\x55\xec\x60\xf7"
   5372				"\x8e\x02\x99\x30\xc7\x3b\xd2\x69"
   5373				"\x00\x74\x0b\xa2\x16\xad\x44\xdb"
   5374				"\x4f\xe6\x7d\x14\x88\x1f\xb6\x2a"
   5375				"\xc1\x58\xef\x63\xfa\x91\x05\x9c"
   5376				"\x33\xca\x3e\xd5\x6c\x03\x77\x0e"
   5377				"\xa5\x19\xb0\x47\xde\x52\xe9\x80"
   5378				"\x17\x8b\x22\xb9\x2d\xc4\x5b\xf2"
   5379				"\x66\xfd\x94\x08\x9f\x36\xcd\x41"
   5380				"\xd8\x6f\x06\x7a\x11\xa8\x1c\xb3"
   5381				"\x4a\xe1\x55\xec\x83\x1a\x8e\x25"
   5382				"\xbc\x30\xc7\x5e\xf5\x69\x00\x97"
   5383				"\x0b\xa2\x39\xd0\x44\xdb\x72\x09"
   5384				"\x7d\x14\xab\x1f\xb6\x4d\xe4\x58"
   5385				"\xef\x86\x1d\x91\x28\xbf\x33\xca"
   5386				"\x61\xf8\x6c\x03\x9a\x0e\xa5\x3c"
   5387				"\xd3\x47\xde\x75\x0c\x80\x17\xae"
   5388				"\x22\xb9\x50\xe7\x5b\xf2\x89\x20"
   5389				"\x94\x2b\xc2\x36\xcd\x64\xfb\x6f"
   5390				"\x06\x9d\x11\xa8\x3f\xd6\x4a\xe1"
   5391				"\x78\x0f\x83\x1a\xb1\x25\xbc\x53"
   5392				"\xea\x5e\xf5\x8c\x00\x97\x2e\xc5"
   5393				"\x39\xd0\x67\xfe\x72\x09\xa0\x14"
   5394				"\xab\x42\xd9\x4d\xe4\x7b\x12\x86"
   5395				"\x1d\xb4\x28\xbf\x56\xed\x61\xf8"
   5396				"\x8f\x03\x9a\x31\xc8\x3c\xd3\x6a"
   5397				"\x01\x75\x0c\xa3\x17\xae\x45\xdc"
   5398				"\x50\xe7\x7e\x15\x89\x20\xb7\x2b"
   5399				"\xc2\x59\xf0\x64\xfb\x92\x06\x9d"
   5400				"\x34\xcb\x3f\xd6\x6d\x04\x78\x0f"
   5401				"\xa6\x1a\xb1\x48\xdf\x53\xea\x81"
   5402				"\x18\x8c\x23\xba\x2e\xc5\x5c\xf3"
   5403				"\x67\xfe\x95\x09\xa0\x37\xce\x42"
   5404				"\xd9\x70\x07\x7b\x12\xa9\x1d\xb4"
   5405				"\x4b\xe2\x56\xed\x84\x1b\x8f\x26"
   5406				"\xbd\x31\xc8\x5f\xf6\x6a\x01\x98",
   5407		.psize = 2048,
   5408		.digest		= (u8 *)(u16 []){ 0x23ca },
   5409	}
   5410};
   5411
   5412/*
   5413 * Streebog test vectors from RFC 6986 and GOST R 34.11-2012
   5414 */
   5415static const struct hash_testvec streebog256_tv_template[] = {
   5416	{ /* M1 */
   5417		.plaintext = "012345678901234567890123456789012345678901234567890123456789012",
   5418		.psize = 63,
   5419		.digest =
   5420			"\x9d\x15\x1e\xef\xd8\x59\x0b\x89"
   5421			"\xda\xa6\xba\x6c\xb7\x4a\xf9\x27"
   5422			"\x5d\xd0\x51\x02\x6b\xb1\x49\xa4"
   5423			"\x52\xfd\x84\xe5\xe5\x7b\x55\x00",
   5424	},
   5425	{ /* M2 */
   5426		.plaintext =
   5427			"\xd1\xe5\x20\xe2\xe5\xf2\xf0\xe8"
   5428			"\x2c\x20\xd1\xf2\xf0\xe8\xe1\xee"
   5429			"\xe6\xe8\x20\xe2\xed\xf3\xf6\xe8"
   5430			"\x2c\x20\xe2\xe5\xfe\xf2\xfa\x20"
   5431			"\xf1\x20\xec\xee\xf0\xff\x20\xf1"
   5432			"\xf2\xf0\xe5\xeb\xe0\xec\xe8\x20"
   5433			"\xed\xe0\x20\xf5\xf0\xe0\xe1\xf0"
   5434			"\xfb\xff\x20\xef\xeb\xfa\xea\xfb"
   5435			"\x20\xc8\xe3\xee\xf0\xe5\xe2\xfb",
   5436		.psize = 72,
   5437		.digest =
   5438			"\x9d\xd2\xfe\x4e\x90\x40\x9e\x5d"
   5439			"\xa8\x7f\x53\x97\x6d\x74\x05\xb0"
   5440			"\xc0\xca\xc6\x28\xfc\x66\x9a\x74"
   5441			"\x1d\x50\x06\x3c\x55\x7e\x8f\x50",
   5442	},
   5443};
   5444
   5445static const struct hash_testvec streebog512_tv_template[] = {
   5446	{ /* M1 */
   5447		.plaintext = "012345678901234567890123456789012345678901234567890123456789012",
   5448		.psize = 63,
   5449		.digest =
   5450			"\x1b\x54\xd0\x1a\x4a\xf5\xb9\xd5"
   5451			"\xcc\x3d\x86\xd6\x8d\x28\x54\x62"
   5452			"\xb1\x9a\xbc\x24\x75\x22\x2f\x35"
   5453			"\xc0\x85\x12\x2b\xe4\xba\x1f\xfa"
   5454			"\x00\xad\x30\xf8\x76\x7b\x3a\x82"
   5455			"\x38\x4c\x65\x74\xf0\x24\xc3\x11"
   5456			"\xe2\xa4\x81\x33\x2b\x08\xef\x7f"
   5457			"\x41\x79\x78\x91\xc1\x64\x6f\x48",
   5458	},
   5459	{ /* M2 */
   5460		.plaintext =
   5461			"\xd1\xe5\x20\xe2\xe5\xf2\xf0\xe8"
   5462			"\x2c\x20\xd1\xf2\xf0\xe8\xe1\xee"
   5463			"\xe6\xe8\x20\xe2\xed\xf3\xf6\xe8"
   5464			"\x2c\x20\xe2\xe5\xfe\xf2\xfa\x20"
   5465			"\xf1\x20\xec\xee\xf0\xff\x20\xf1"
   5466			"\xf2\xf0\xe5\xeb\xe0\xec\xe8\x20"
   5467			"\xed\xe0\x20\xf5\xf0\xe0\xe1\xf0"
   5468			"\xfb\xff\x20\xef\xeb\xfa\xea\xfb"
   5469			"\x20\xc8\xe3\xee\xf0\xe5\xe2\xfb",
   5470		.psize = 72,
   5471		.digest =
   5472			"\x1e\x88\xe6\x22\x26\xbf\xca\x6f"
   5473			"\x99\x94\xf1\xf2\xd5\x15\x69\xe0"
   5474			"\xda\xf8\x47\x5a\x3b\x0f\xe6\x1a"
   5475			"\x53\x00\xee\xe4\x6d\x96\x13\x76"
   5476			"\x03\x5f\xe8\x35\x49\xad\xa2\xb8"
   5477			"\x62\x0f\xcd\x7c\x49\x6c\xe5\xb3"
   5478			"\x3f\x0c\xb9\xdd\xdc\x2b\x64\x60"
   5479			"\x14\x3b\x03\xda\xba\xc9\xfb\x28",
   5480	},
   5481};
   5482
   5483/*
   5484 * Two HMAC-Streebog test vectors from RFC 7836 and R 50.1.113-2016 A
   5485 */
   5486static const struct hash_testvec hmac_streebog256_tv_template[] = {
   5487	{
   5488		.key =  "\x00\x01\x02\x03\x04\x05\x06\x07"
   5489			"\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
   5490			"\x10\x11\x12\x13\x14\x15\x16\x17"
   5491			"\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f",
   5492		.ksize  = 32,
   5493		.plaintext =
   5494			"\x01\x26\xbd\xb8\x78\x00\xaf\x21"
   5495			"\x43\x41\x45\x65\x63\x78\x01\x00",
   5496		.psize  = 16,
   5497		.digest =
   5498			"\xa1\xaa\x5f\x7d\xe4\x02\xd7\xb3"
   5499			"\xd3\x23\xf2\x99\x1c\x8d\x45\x34"
   5500			"\x01\x31\x37\x01\x0a\x83\x75\x4f"
   5501			"\xd0\xaf\x6d\x7c\xd4\x92\x2e\xd9",
   5502	},
   5503};
   5504
   5505static const struct hash_testvec hmac_streebog512_tv_template[] = {
   5506	{
   5507		.key =  "\x00\x01\x02\x03\x04\x05\x06\x07"
   5508			"\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
   5509			"\x10\x11\x12\x13\x14\x15\x16\x17"
   5510			"\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f",
   5511		.ksize  = 32,
   5512		.plaintext =
   5513			"\x01\x26\xbd\xb8\x78\x00\xaf\x21"
   5514			"\x43\x41\x45\x65\x63\x78\x01\x00",
   5515		.psize  = 16,
   5516		.digest =
   5517			"\xa5\x9b\xab\x22\xec\xae\x19\xc6"
   5518			"\x5f\xbd\xe6\xe5\xf4\xe9\xf5\xd8"
   5519			"\x54\x9d\x31\xf0\x37\xf9\xdf\x9b"
   5520			"\x90\x55\x00\xe1\x71\x92\x3a\x77"
   5521			"\x3d\x5f\x15\x30\xf2\xed\x7e\x96"
   5522			"\x4c\xb2\xee\xdc\x29\xe9\xad\x2f"
   5523			"\x3a\xfe\x93\xb2\x81\x4f\x79\xf5"
   5524			"\x00\x0f\xfc\x03\x66\xc2\x51\xe6",
   5525	},
   5526};
   5527
   5528/*
   5529 * SM2 test vectors.
   5530 */
   5531static const struct akcipher_testvec sm2_tv_template[] = {
   5532	{ /* Generated from openssl */
   5533	.key =
   5534	"\x04"
   5535	"\x8e\xa0\x33\x69\x91\x7e\x3d\xec\xad\x8e\xf0\x45\x5e\x13\x3e\x68"
   5536	"\x5b\x8c\xab\x5c\xc6\xc8\x50\xdf\x91\x00\xe0\x24\x73\x4d\x31\xf2"
   5537	"\x2e\xc0\xd5\x6b\xee\xda\x98\x93\xec\xd8\x36\xaa\xb9\xcf\x63\x82"
   5538	"\xef\xa7\x1a\x03\xed\x16\xba\x74\xb8\x8b\xf9\xe5\x70\x39\xa4\x70",
   5539	.key_len = 65,
   5540	.param_len = 0,
   5541	.c =
   5542	"\x30\x45"
   5543	"\x02\x20"
   5544	"\x70\xab\xb6\x7d\xd6\x54\x80\x64\x42\x7e\x2d\x05\x08\x36\xc9\x96"
   5545	"\x25\xc2\xbb\xff\x08\xe5\x43\x15\x5e\xf3\x06\xd9\x2b\x2f\x0a\x9f"
   5546	"\x02\x21"
   5547	"\x00"
   5548	"\xbf\x21\x5f\x7e\x5d\x3f\x1a\x4d\x8f\x84\xc2\xe9\xa6\x4c\xa4\x18"
   5549	"\xb2\xb8\x46\xf4\x32\x96\xfa\x57\xc6\x29\xd4\x89\xae\xcc\xda\xdb",
   5550	.c_size = 71,
   5551	.algo = OID_SM2_with_SM3,
   5552	.m =
   5553	"\x47\xa7\xbf\xd3\xda\xc4\x79\xee\xda\x8b\x4f\xe8\x40\x94\xd4\x32"
   5554	"\x8f\xf1\xcd\x68\x4d\xbd\x9b\x1d\xe0\xd8\x9a\x5d\xad\x85\x47\x5c",
   5555	.m_size = 32,
   5556	.public_key_vec = true,
   5557	.siggen_sigver_test = true,
   5558	},
   5559	{ /* From libgcrypt */
   5560	.key =
   5561	"\x04"
   5562	"\x87\x59\x38\x9a\x34\xaa\xad\x07\xec\xf4\xe0\xc8\xc2\x65\x0a\x44"
   5563	"\x59\xc8\xd9\x26\xee\x23\x78\x32\x4e\x02\x61\xc5\x25\x38\xcb\x47"
   5564	"\x75\x28\x10\x6b\x1e\x0b\x7c\x8d\xd5\xff\x29\xa9\xc8\x6a\x89\x06"
   5565	"\x56\x56\xeb\x33\x15\x4b\xc0\x55\x60\x91\xef\x8a\xc9\xd1\x7d\x78",
   5566	.key_len = 65,
   5567	.param_len = 0,
   5568	.c =
   5569	"\x30\x44"
   5570	"\x02\x20"
   5571	"\xd9\xec\xef\xe8\x5f\xee\x3c\x59\x57\x8e\x5b\xab\xb3\x02\xe1\x42"
   5572	"\x4b\x67\x2c\x0b\x26\xb6\x51\x2c\x3e\xfc\xc6\x49\xec\xfe\x89\xe5"
   5573	"\x02\x20"
   5574	"\x43\x45\xd0\xa5\xff\xe5\x13\x27\x26\xd0\xec\x37\xad\x24\x1e\x9a"
   5575	"\x71\x9a\xa4\x89\xb0\x7e\x0f\xc4\xbb\x2d\x50\xd0\xe5\x7f\x7a\x68",
   5576	.c_size = 70,
   5577	.algo = OID_SM2_with_SM3,
   5578	.m =
   5579	"\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xdd\xee\xff\x00"
   5580	"\x12\x34\x56\x78\x9a\xbc\xde\xf0\x12\x34\x56\x78\x9a\xbc\xde\xf0",
   5581	.m_size = 32,
   5582	.public_key_vec = true,
   5583	.siggen_sigver_test = true,
   5584	},
   5585};
   5586
   5587/* Example vectors below taken from
   5588 * http://www.oscca.gov.cn/UpFile/20101222141857786.pdf
   5589 *
   5590 * The rest taken from
   5591 * https://github.com/adamws/oscca-sm3
   5592 */
   5593static const struct hash_testvec sm3_tv_template[] = {
   5594	{
   5595		.plaintext = "",
   5596		.psize = 0,
   5597		.digest = (u8 *)(u8 []) {
   5598			0x1A, 0xB2, 0x1D, 0x83, 0x55, 0xCF, 0xA1, 0x7F,
   5599			0x8e, 0x61, 0x19, 0x48, 0x31, 0xE8, 0x1A, 0x8F,
   5600			0x22, 0xBE, 0xC8, 0xC7, 0x28, 0xFE, 0xFB, 0x74,
   5601			0x7E, 0xD0, 0x35, 0xEB, 0x50, 0x82, 0xAA, 0x2B }
   5602	}, {
   5603		.plaintext = "a",
   5604		.psize = 1,
   5605		.digest = (u8 *)(u8 []) {
   5606			0x62, 0x34, 0x76, 0xAC, 0x18, 0xF6, 0x5A, 0x29,
   5607			0x09, 0xE4, 0x3C, 0x7F, 0xEC, 0x61, 0xB4, 0x9C,
   5608			0x7E, 0x76, 0x4A, 0x91, 0xA1, 0x8C, 0xCB, 0x82,
   5609			0xF1, 0x91, 0x7A, 0x29, 0xC8, 0x6C, 0x5E, 0x88 }
   5610	}, {
   5611		/* A.1. Example 1 */
   5612		.plaintext = "abc",
   5613		.psize = 3,
   5614		.digest = (u8 *)(u8 []) {
   5615			0x66, 0xC7, 0xF0, 0xF4, 0x62, 0xEE, 0xED, 0xD9,
   5616			0xD1, 0xF2, 0xD4, 0x6B, 0xDC, 0x10, 0xE4, 0xE2,
   5617			0x41, 0x67, 0xC4, 0x87, 0x5C, 0xF2, 0xF7, 0xA2,
   5618			0x29, 0x7D, 0xA0, 0x2B, 0x8F, 0x4B, 0xA8, 0xE0 }
   5619	}, {
   5620		.plaintext = "abcdefghijklmnopqrstuvwxyz",
   5621		.psize = 26,
   5622		.digest = (u8 *)(u8 []) {
   5623			0xB8, 0x0F, 0xE9, 0x7A, 0x4D, 0xA2, 0x4A, 0xFC,
   5624			0x27, 0x75, 0x64, 0xF6, 0x6A, 0x35, 0x9E, 0xF4,
   5625			0x40, 0x46, 0x2A, 0xD2, 0x8D, 0xCC, 0x6D, 0x63,
   5626			0xAD, 0xB2, 0x4D, 0x5C, 0x20, 0xA6, 0x15, 0x95 }
   5627	}, {
   5628		/* A.1. Example 2 */
   5629		.plaintext = "abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdab"
   5630			     "cdabcdabcdabcdabcd",
   5631		.psize = 64,
   5632		.digest = (u8 *)(u8 []) {
   5633			0xDE, 0xBE, 0x9F, 0xF9, 0x22, 0x75, 0xB8, 0xA1,
   5634			0x38, 0x60, 0x48, 0x89, 0xC1, 0x8E, 0x5A, 0x4D,
   5635			0x6F, 0xDB, 0x70, 0xE5, 0x38, 0x7E, 0x57, 0x65,
   5636			0x29, 0x3D, 0xCB, 0xA3, 0x9C, 0x0C, 0x57, 0x32 }
   5637	}, {
   5638		.plaintext = "abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd"
   5639			     "abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd"
   5640			     "abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd"
   5641			     "abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd"
   5642			     "abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd"
   5643			     "abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd"
   5644			     "abcdabcdabcdabcdabcdabcdabcdabcd",
   5645		.psize = 256,
   5646		.digest = (u8 *)(u8 []) {
   5647			0xB9, 0x65, 0x76, 0x4C, 0x8B, 0xEB, 0xB0, 0x91,
   5648			0xC7, 0x60, 0x2B, 0x74, 0xAF, 0xD3, 0x4E, 0xEF,
   5649			0xB5, 0x31, 0xDC, 0xCB, 0x4E, 0x00, 0x76, 0xD9,
   5650			0xB7, 0xCD, 0x81, 0x31, 0x99, 0xB4, 0x59, 0x71 }
   5651	}
   5652};
   5653
   5654/* Example vectors below taken from
   5655 * GM/T 0042-2015 Appendix D.3
   5656 */
   5657static const struct hash_testvec hmac_sm3_tv_template[] = {
   5658	{
   5659		.key	= "\x01\x02\x03\x04\x05\x06\x07\x08"
   5660			  "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10"
   5661			  "\x11\x12\x13\x14\x15\x16\x17\x18"
   5662			  "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20",
   5663		.ksize	= 32,
   5664		.plaintext = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
   5665			     "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
   5666		.psize	= 112,
   5667		.digest	= "\xca\x05\xe1\x44\xed\x05\xd1\x85"
   5668			  "\x78\x40\xd1\xf3\x18\xa4\xa8\x66"
   5669			  "\x9e\x55\x9f\xc8\x39\x1f\x41\x44"
   5670			  "\x85\xbf\xdf\x7b\xb4\x08\x96\x3a",
   5671	}, {
   5672		.key	= "\x01\x02\x03\x04\x05\x06\x07\x08"
   5673			  "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10"
   5674			  "\x11\x12\x13\x14\x15\x16\x17\x18"
   5675			  "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20"
   5676			  "\x21\x22\x23\x24\x25",
   5677		.ksize	= 37,
   5678		.plaintext = "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"
   5679			"\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"
   5680			"\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"
   5681			"\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd",
   5682		.psize	= 50,
   5683		.digest	= "\x22\x0b\xf5\x79\xde\xd5\x55\x39"
   5684			  "\x3f\x01\x59\xf6\x6c\x99\x87\x78"
   5685			  "\x22\xa3\xec\xf6\x10\xd1\x55\x21"
   5686			  "\x54\xb4\x1d\x44\xb9\x4d\xb3\xae",
   5687	}, {
   5688		.key	= "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
   5689			  "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
   5690			 "\x0b\x0b\x0b\x0b\x0b\x0b",
   5691		.ksize	= 32,
   5692		.plaintext = "Hi There",
   5693		.psize	= 8,
   5694		.digest	= "\xc0\xba\x18\xc6\x8b\x90\xc8\x8b"
   5695			  "\xc0\x7d\xe7\x94\xbf\xc7\xd2\xc8"
   5696			  "\xd1\x9e\xc3\x1e\xd8\x77\x3b\xc2"
   5697			  "\xb3\x90\xc9\x60\x4e\x0b\xe1\x1e",
   5698	}, {
   5699		.key	= "Jefe",
   5700		.ksize	= 4,
   5701		.plaintext = "what do ya want for nothing?",
   5702		.psize	= 28,
   5703		.digest	= "\x2e\x87\xf1\xd1\x68\x62\xe6\xd9"
   5704			  "\x64\xb5\x0a\x52\x00\xbf\x2b\x10"
   5705			  "\xb7\x64\xfa\xa9\x68\x0a\x29\x6a"
   5706			  "\x24\x05\xf2\x4b\xec\x39\xf8\x82",
   5707	},
   5708};
   5709
   5710/*
   5711 * SHA1 test vectors from FIPS PUB 180-1
   5712 * Long vector from CAVS 5.0
   5713 */
   5714static const struct hash_testvec sha1_tv_template[] = {
   5715	{
   5716		.plaintext = "",
   5717		.psize	= 0,
   5718		.digest	= "\xda\x39\xa3\xee\x5e\x6b\x4b\x0d\x32\x55"
   5719			  "\xbf\xef\x95\x60\x18\x90\xaf\xd8\x07\x09",
   5720	}, {
   5721		.plaintext = "abc",
   5722		.psize	= 3,
   5723		.digest	= "\xa9\x99\x3e\x36\x47\x06\x81\x6a\xba\x3e"
   5724			  "\x25\x71\x78\x50\xc2\x6c\x9c\xd0\xd8\x9d",
   5725	}, {
   5726		.plaintext = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
   5727		.psize	= 56,
   5728		.digest	= "\x84\x98\x3e\x44\x1c\x3b\xd2\x6e\xba\xae"
   5729			  "\x4a\xa1\xf9\x51\x29\xe5\xe5\x46\x70\xf1",
   5730	}, {
   5731		.plaintext = "\xec\x29\x56\x12\x44\xed\xe7\x06"
   5732			     "\xb6\xeb\x30\xa1\xc3\x71\xd7\x44"
   5733			     "\x50\xa1\x05\xc3\xf9\x73\x5f\x7f"
   5734			     "\xa9\xfe\x38\xcf\x67\xf3\x04\xa5"
   5735			     "\x73\x6a\x10\x6e\x92\xe1\x71\x39"
   5736			     "\xa6\x81\x3b\x1c\x81\xa4\xf3\xd3"
   5737			     "\xfb\x95\x46\xab\x42\x96\xfa\x9f"
   5738			     "\x72\x28\x26\xc0\x66\x86\x9e\xda"
   5739			     "\xcd\x73\xb2\x54\x80\x35\x18\x58"
   5740			     "\x13\xe2\x26\x34\xa9\xda\x44\x00"
   5741			     "\x0d\x95\xa2\x81\xff\x9f\x26\x4e"
   5742			     "\xcc\xe0\xa9\x31\x22\x21\x62\xd0"
   5743			     "\x21\xcc\xa2\x8d\xb5\xf3\xc2\xaa"
   5744			     "\x24\x94\x5a\xb1\xe3\x1c\xb4\x13"
   5745			     "\xae\x29\x81\x0f\xd7\x94\xca\xd5"
   5746			     "\xdf\xaf\x29\xec\x43\xcb\x38\xd1"
   5747			     "\x98\xfe\x4a\xe1\xda\x23\x59\x78"
   5748			     "\x02\x21\x40\x5b\xd6\x71\x2a\x53"
   5749			     "\x05\xda\x4b\x1b\x73\x7f\xce\x7c"
   5750			     "\xd2\x1c\x0e\xb7\x72\x8d\x08\x23"
   5751			     "\x5a\x90\x11",
   5752		.psize	= 163,
   5753		.digest	= "\x97\x01\x11\xc4\xe7\x7b\xcc\x88\xcc\x20"
   5754			  "\x45\x9c\x02\xb6\x9b\x4a\xa8\xf5\x82\x17",
   5755	}, {
   5756		.plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-",
   5757		.psize	= 64,
   5758		.digest = "\xc8\x71\xf6\x9a\x63\xcc\xa9\x84\x84\x82"
   5759			  "\x64\xe7\x79\x95\x5d\xd7\x19\x41\x7c\x91",
   5760	}, {
   5761		.plaintext = "\x08\x9f\x13\xaa\x41\xd8\x4c\xe3"
   5762			     "\x7a\x11\x85\x1c\xb3\x27\xbe\x55"
   5763			     "\xec\x60\xf7\x8e\x02\x99\x30\xc7"
   5764			     "\x3b\xd2\x69\x00\x74\x0b\xa2\x16"
   5765			     "\xad\x44\xdb\x4f\xe6\x7d\x14\x88"
   5766			     "\x1f\xb6\x2a\xc1\x58\xef\x63\xfa"
   5767			     "\x91\x05\x9c\x33\xca\x3e\xd5\x6c"
   5768			     "\x03\x77\x0e\xa5\x19\xb0\x47\xde"
   5769			     "\x52\xe9\x80\x17\x8b\x22\xb9\x2d"
   5770			     "\xc4\x5b\xf2\x66\xfd\x94\x08\x9f"
   5771			     "\x36\xcd\x41\xd8\x6f\x06\x7a\x11"
   5772			     "\xa8\x1c\xb3\x4a\xe1\x55\xec\x83"
   5773			     "\x1a\x8e\x25\xbc\x30\xc7\x5e\xf5"
   5774			     "\x69\x00\x97\x0b\xa2\x39\xd0\x44"
   5775			     "\xdb\x72\x09\x7d\x14\xab\x1f\xb6"
   5776			     "\x4d\xe4\x58\xef\x86\x1d\x91\x28"
   5777			     "\xbf\x33\xca\x61\xf8\x6c\x03\x9a"
   5778			     "\x0e\xa5\x3c\xd3\x47\xde\x75\x0c"
   5779			     "\x80\x17\xae\x22\xb9\x50\xe7\x5b"
   5780			     "\xf2\x89\x20\x94\x2b\xc2\x36\xcd"
   5781			     "\x64\xfb\x6f\x06\x9d\x11\xa8\x3f"
   5782			     "\xd6\x4a\xe1\x78\x0f\x83\x1a\xb1"
   5783			     "\x25\xbc\x53\xea\x5e\xf5\x8c\x00"
   5784			     "\x97\x2e\xc5\x39\xd0\x67\xfe\x72"
   5785			     "\x09\xa0\x14\xab\x42\xd9\x4d\xe4"
   5786			     "\x7b\x12\x86\x1d\xb4\x28\xbf\x56"
   5787			     "\xed\x61\xf8\x8f\x03\x9a\x31\xc8"
   5788			     "\x3c\xd3\x6a\x01\x75\x0c\xa3\x17"
   5789			     "\xae\x45\xdc\x50\xe7\x7e\x15\x89"
   5790			     "\x20\xb7\x2b\xc2\x59\xf0\x64\xfb"
   5791			     "\x92\x06\x9d\x34\xcb\x3f\xd6\x6d"
   5792			     "\x04\x78\x0f\xa6\x1a\xb1\x48\xdf"
   5793			     "\x53\xea\x81\x18\x8c\x23\xba\x2e"
   5794			     "\xc5\x5c\xf3\x67\xfe\x95\x09\xa0"
   5795			     "\x37\xce\x42\xd9\x70\x07\x7b\x12"
   5796			     "\xa9\x1d\xb4\x4b\xe2\x56\xed\x84"
   5797			     "\x1b\x8f\x26\xbd\x31\xc8\x5f\xf6"
   5798			     "\x6a\x01\x98\x0c\xa3\x3a\xd1\x45"
   5799			     "\xdc\x73\x0a\x7e\x15\xac\x20\xb7"
   5800			     "\x4e\xe5\x59\xf0\x87\x1e\x92\x29"
   5801			     "\xc0\x34\xcb\x62\xf9\x6d\x04\x9b"
   5802			     "\x0f\xa6\x3d\xd4\x48\xdf\x76\x0d"
   5803			     "\x81\x18\xaf\x23\xba\x51\xe8\x5c"
   5804			     "\xf3\x8a\x21\x95\x2c\xc3\x37\xce"
   5805			     "\x65\xfc\x70\x07\x9e\x12\xa9\x40"
   5806			     "\xd7\x4b\xe2\x79\x10\x84\x1b\xb2"
   5807			     "\x26\xbd\x54\xeb\x5f\xf6\x8d\x01"
   5808			     "\x98\x2f\xc6\x3a\xd1\x68\xff\x73"
   5809			     "\x0a\xa1\x15\xac\x43\xda\x4e\xe5"
   5810			     "\x7c\x13\x87\x1e\xb5\x29\xc0\x57"
   5811			     "\xee\x62\xf9\x90\x04\x9b\x32\xc9"
   5812			     "\x3d\xd4\x6b\x02\x76\x0d\xa4\x18"
   5813			     "\xaf\x46\xdd\x51\xe8\x7f\x16\x8a"
   5814			     "\x21\xb8\x2c\xc3\x5a\xf1\x65\xfc"
   5815			     "\x93\x07\x9e\x35\xcc\x40\xd7\x6e"
   5816			     "\x05\x79\x10\xa7\x1b\xb2\x49\xe0"
   5817			     "\x54\xeb\x82\x19\x8d\x24\xbb\x2f"
   5818			     "\xc6\x5d\xf4\x68\xff\x96\x0a\xa1"
   5819			     "\x38\xcf\x43\xda\x71\x08\x7c\x13"
   5820			     "\xaa\x1e\xb5\x4c\xe3\x57\xee\x85"
   5821			     "\x1c\x90\x27\xbe\x32\xc9\x60\xf7"
   5822			     "\x6b\x02\x99\x0d\xa4\x3b\xd2\x46"
   5823			     "\xdd\x74\x0b\x7f\x16\xad\x21\xb8"
   5824			     "\x4f\xe6\x5a\xf1\x88\x1f\x93\x2a"
   5825			     "\xc1\x35\xcc\x63\xfa\x6e\x05\x9c"
   5826			     "\x10\xa7\x3e\xd5\x49\xe0\x77\x0e"
   5827			     "\x82\x19\xb0\x24\xbb\x52\xe9\x5d"
   5828			     "\xf4\x8b\x22\x96\x2d\xc4\x38\xcf"
   5829			     "\x66\xfd\x71\x08\x9f\x13\xaa\x41"
   5830			     "\xd8\x4c\xe3\x7a\x11\x85\x1c\xb3"
   5831			     "\x27\xbe\x55\xec\x60\xf7\x8e\x02"
   5832			     "\x99\x30\xc7\x3b\xd2\x69\x00\x74"
   5833			     "\x0b\xa2\x16\xad\x44\xdb\x4f\xe6"
   5834			     "\x7d\x14\x88\x1f\xb6\x2a\xc1\x58"
   5835			     "\xef\x63\xfa\x91\x05\x9c\x33\xca"
   5836			     "\x3e\xd5\x6c\x03\x77\x0e\xa5\x19"
   5837			     "\xb0\x47\xde\x52\xe9\x80\x17\x8b"
   5838			     "\x22\xb9\x2d\xc4\x5b\xf2\x66\xfd"
   5839			     "\x94\x08\x9f\x36\xcd\x41\xd8\x6f"
   5840			     "\x06\x7a\x11\xa8\x1c\xb3\x4a\xe1"
   5841			     "\x55\xec\x83\x1a\x8e\x25\xbc\x30"
   5842			     "\xc7\x5e\xf5\x69\x00\x97\x0b\xa2"
   5843			     "\x39\xd0\x44\xdb\x72\x09\x7d\x14"
   5844			     "\xab\x1f\xb6\x4d\xe4\x58\xef\x86"
   5845			     "\x1d\x91\x28\xbf\x33\xca\x61\xf8"
   5846			     "\x6c\x03\x9a\x0e\xa5\x3c\xd3\x47"
   5847			     "\xde\x75\x0c\x80\x17\xae\x22\xb9"
   5848			     "\x50\xe7\x5b\xf2\x89\x20\x94\x2b"
   5849			     "\xc2\x36\xcd\x64\xfb\x6f\x06\x9d"
   5850			     "\x11\xa8\x3f\xd6\x4a\xe1\x78\x0f"
   5851			     "\x83\x1a\xb1\x25\xbc\x53\xea\x5e"
   5852			     "\xf5\x8c\x00\x97\x2e\xc5\x39\xd0"
   5853			     "\x67\xfe\x72\x09\xa0\x14\xab\x42"
   5854			     "\xd9\x4d\xe4\x7b\x12\x86\x1d\xb4"
   5855			     "\x28\xbf\x56\xed\x61\xf8\x8f\x03"
   5856			     "\x9a\x31\xc8\x3c\xd3\x6a\x01\x75"
   5857			     "\x0c\xa3\x17\xae\x45\xdc\x50\xe7"
   5858			     "\x7e\x15\x89\x20\xb7\x2b\xc2\x59"
   5859			     "\xf0\x64\xfb\x92\x06\x9d\x34\xcb"
   5860			     "\x3f\xd6\x6d\x04\x78\x0f\xa6\x1a"
   5861			     "\xb1\x48\xdf\x53\xea\x81\x18\x8c"
   5862			     "\x23\xba\x2e\xc5\x5c\xf3\x67\xfe"
   5863			     "\x95\x09\xa0\x37\xce\x42\xd9\x70"
   5864			     "\x07\x7b\x12\xa9\x1d\xb4\x4b\xe2"
   5865			     "\x56\xed\x84\x1b\x8f\x26\xbd\x31"
   5866			     "\xc8\x5f\xf6\x6a\x01\x98\x0c\xa3"
   5867			     "\x3a\xd1\x45\xdc\x73\x0a\x7e\x15"
   5868			     "\xac\x20\xb7\x4e\xe5\x59\xf0\x87"
   5869			     "\x1e\x92\x29\xc0\x34\xcb\x62\xf9"
   5870			     "\x6d\x04\x9b\x0f\xa6\x3d\xd4\x48"
   5871			     "\xdf\x76\x0d\x81\x18\xaf\x23\xba"
   5872			     "\x51\xe8\x5c\xf3\x8a\x21\x95\x2c"
   5873			     "\xc3\x37\xce\x65\xfc\x70\x07\x9e"
   5874			     "\x12\xa9\x40\xd7\x4b\xe2\x79\x10"
   5875			     "\x84\x1b\xb2\x26\xbd\x54\xeb\x5f"
   5876			     "\xf6\x8d\x01\x98\x2f\xc6\x3a\xd1"
   5877			     "\x68\xff\x73\x0a\xa1\x15\xac\x43"
   5878			     "\xda\x4e\xe5\x7c\x13\x87\x1e\xb5"
   5879			     "\x29\xc0\x57\xee\x62\xf9\x90\x04"
   5880			     "\x9b\x32\xc9\x3d\xd4\x6b\x02\x76"
   5881			     "\x0d\xa4\x18\xaf\x46\xdd\x51\xe8"
   5882			     "\x7f\x16\x8a\x21\xb8\x2c\xc3\x5a"
   5883			     "\xf1\x65\xfc\x93\x07\x9e\x35\xcc"
   5884			     "\x40\xd7\x6e\x05\x79\x10\xa7\x1b"
   5885			     "\xb2\x49\xe0\x54\xeb\x82\x19\x8d"
   5886			     "\x24\xbb\x2f\xc6\x5d\xf4\x68\xff"
   5887			     "\x96\x0a\xa1\x38\xcf\x43\xda\x71"
   5888			     "\x08\x7c\x13\xaa\x1e\xb5\x4c",
   5889		.psize     = 1023,
   5890		.digest    = "\xb8\xe3\x54\xed\xc5\xfc\xef\xa4"
   5891			     "\x55\x73\x4a\x81\x99\xe4\x47\x2a"
   5892			     "\x30\xd6\xc9\x85",
   5893	}
   5894};
   5895
   5896
   5897/*
   5898 * SHA224 test vectors from FIPS PUB 180-2
   5899 */
   5900static const struct hash_testvec sha224_tv_template[] = {
   5901	{
   5902		.plaintext = "",
   5903		.psize	= 0,
   5904		.digest	= "\xd1\x4a\x02\x8c\x2a\x3a\x2b\xc9"
   5905			  "\x47\x61\x02\xbb\x28\x82\x34\xc4"
   5906			  "\x15\xa2\xb0\x1f\x82\x8e\xa6\x2a"
   5907			  "\xc5\xb3\xe4\x2f",
   5908	}, {
   5909		.plaintext = "abc",
   5910		.psize  = 3,
   5911		.digest = "\x23\x09\x7D\x22\x34\x05\xD8\x22"
   5912			  "\x86\x42\xA4\x77\xBD\xA2\x55\xB3"
   5913			  "\x2A\xAD\xBC\xE4\xBD\xA0\xB3\xF7"
   5914			  "\xE3\x6C\x9D\xA7",
   5915	}, {
   5916		.plaintext =
   5917		"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
   5918		.psize  = 56,
   5919		.digest = "\x75\x38\x8B\x16\x51\x27\x76\xCC"
   5920			  "\x5D\xBA\x5D\xA1\xFD\x89\x01\x50"
   5921			  "\xB0\xC6\x45\x5C\xB4\xF5\x8B\x19"
   5922			  "\x52\x52\x25\x25",
   5923	}, {
   5924		.plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-",
   5925		.psize	= 64,
   5926		.digest = "\xc4\xdb\x2b\x3a\x58\xc3\x99\x01"
   5927			  "\x42\xfd\x10\x92\xaa\x4e\x04\x08"
   5928			  "\x58\xbb\xbb\xe8\xf8\x14\xa7\x0c"
   5929			  "\xef\x3b\xcb\x0e",
   5930	}, {
   5931		.plaintext = "\x08\x9f\x13\xaa\x41\xd8\x4c\xe3"
   5932			     "\x7a\x11\x85\x1c\xb3\x27\xbe\x55"
   5933			     "\xec\x60\xf7\x8e\x02\x99\x30\xc7"
   5934			     "\x3b\xd2\x69\x00\x74\x0b\xa2\x16"
   5935			     "\xad\x44\xdb\x4f\xe6\x7d\x14\x88"
   5936			     "\x1f\xb6\x2a\xc1\x58\xef\x63\xfa"
   5937			     "\x91\x05\x9c\x33\xca\x3e\xd5\x6c"
   5938			     "\x03\x77\x0e\xa5\x19\xb0\x47\xde"
   5939			     "\x52\xe9\x80\x17\x8b\x22\xb9\x2d"
   5940			     "\xc4\x5b\xf2\x66\xfd\x94\x08\x9f"
   5941			     "\x36\xcd\x41\xd8\x6f\x06\x7a\x11"
   5942			     "\xa8\x1c\xb3\x4a\xe1\x55\xec\x83"
   5943			     "\x1a\x8e\x25\xbc\x30\xc7\x5e\xf5"
   5944			     "\x69\x00\x97\x0b\xa2\x39\xd0\x44"
   5945			     "\xdb\x72\x09\x7d\x14\xab\x1f\xb6"
   5946			     "\x4d\xe4\x58\xef\x86\x1d\x91\x28"
   5947			     "\xbf\x33\xca\x61\xf8\x6c\x03\x9a"
   5948			     "\x0e\xa5\x3c\xd3\x47\xde\x75\x0c"
   5949			     "\x80\x17\xae\x22\xb9\x50\xe7\x5b"
   5950			     "\xf2\x89\x20\x94\x2b\xc2\x36\xcd"
   5951			     "\x64\xfb\x6f\x06\x9d\x11\xa8\x3f"
   5952			     "\xd6\x4a\xe1\x78\x0f\x83\x1a\xb1"
   5953			     "\x25\xbc\x53\xea\x5e\xf5\x8c\x00"
   5954			     "\x97\x2e\xc5\x39\xd0\x67\xfe\x72"
   5955			     "\x09\xa0\x14\xab\x42\xd9\x4d\xe4"
   5956			     "\x7b\x12\x86\x1d\xb4\x28\xbf\x56"
   5957			     "\xed\x61\xf8\x8f\x03\x9a\x31\xc8"
   5958			     "\x3c\xd3\x6a\x01\x75\x0c\xa3\x17"
   5959			     "\xae\x45\xdc\x50\xe7\x7e\x15\x89"
   5960			     "\x20\xb7\x2b\xc2\x59\xf0\x64\xfb"
   5961			     "\x92\x06\x9d\x34\xcb\x3f\xd6\x6d"
   5962			     "\x04\x78\x0f\xa6\x1a\xb1\x48\xdf"
   5963			     "\x53\xea\x81\x18\x8c\x23\xba\x2e"
   5964			     "\xc5\x5c\xf3\x67\xfe\x95\x09\xa0"
   5965			     "\x37\xce\x42\xd9\x70\x07\x7b\x12"
   5966			     "\xa9\x1d\xb4\x4b\xe2\x56\xed\x84"
   5967			     "\x1b\x8f\x26\xbd\x31\xc8\x5f\xf6"
   5968			     "\x6a\x01\x98\x0c\xa3\x3a\xd1\x45"
   5969			     "\xdc\x73\x0a\x7e\x15\xac\x20\xb7"
   5970			     "\x4e\xe5\x59\xf0\x87\x1e\x92\x29"
   5971			     "\xc0\x34\xcb\x62\xf9\x6d\x04\x9b"
   5972			     "\x0f\xa6\x3d\xd4\x48\xdf\x76\x0d"
   5973			     "\x81\x18\xaf\x23\xba\x51\xe8\x5c"
   5974			     "\xf3\x8a\x21\x95\x2c\xc3\x37\xce"
   5975			     "\x65\xfc\x70\x07\x9e\x12\xa9\x40"
   5976			     "\xd7\x4b\xe2\x79\x10\x84\x1b\xb2"
   5977			     "\x26\xbd\x54\xeb\x5f\xf6\x8d\x01"
   5978			     "\x98\x2f\xc6\x3a\xd1\x68\xff\x73"
   5979			     "\x0a\xa1\x15\xac\x43\xda\x4e\xe5"
   5980			     "\x7c\x13\x87\x1e\xb5\x29\xc0\x57"
   5981			     "\xee\x62\xf9\x90\x04\x9b\x32\xc9"
   5982			     "\x3d\xd4\x6b\x02\x76\x0d\xa4\x18"
   5983			     "\xaf\x46\xdd\x51\xe8\x7f\x16\x8a"
   5984			     "\x21\xb8\x2c\xc3\x5a\xf1\x65\xfc"
   5985			     "\x93\x07\x9e\x35\xcc\x40\xd7\x6e"
   5986			     "\x05\x79\x10\xa7\x1b\xb2\x49\xe0"
   5987			     "\x54\xeb\x82\x19\x8d\x24\xbb\x2f"
   5988			     "\xc6\x5d\xf4\x68\xff\x96\x0a\xa1"
   5989			     "\x38\xcf\x43\xda\x71\x08\x7c\x13"
   5990			     "\xaa\x1e\xb5\x4c\xe3\x57\xee\x85"
   5991			     "\x1c\x90\x27\xbe\x32\xc9\x60\xf7"
   5992			     "\x6b\x02\x99\x0d\xa4\x3b\xd2\x46"
   5993			     "\xdd\x74\x0b\x7f\x16\xad\x21\xb8"
   5994			     "\x4f\xe6\x5a\xf1\x88\x1f\x93\x2a"
   5995			     "\xc1\x35\xcc\x63\xfa\x6e\x05\x9c"
   5996			     "\x10\xa7\x3e\xd5\x49\xe0\x77\x0e"
   5997			     "\x82\x19\xb0\x24\xbb\x52\xe9\x5d"
   5998			     "\xf4\x8b\x22\x96\x2d\xc4\x38\xcf"
   5999			     "\x66\xfd\x71\x08\x9f\x13\xaa\x41"
   6000			     "\xd8\x4c\xe3\x7a\x11\x85\x1c\xb3"
   6001			     "\x27\xbe\x55\xec\x60\xf7\x8e\x02"
   6002			     "\x99\x30\xc7\x3b\xd2\x69\x00\x74"
   6003			     "\x0b\xa2\x16\xad\x44\xdb\x4f\xe6"
   6004			     "\x7d\x14\x88\x1f\xb6\x2a\xc1\x58"
   6005			     "\xef\x63\xfa\x91\x05\x9c\x33\xca"
   6006			     "\x3e\xd5\x6c\x03\x77\x0e\xa5\x19"
   6007			     "\xb0\x47\xde\x52\xe9\x80\x17\x8b"
   6008			     "\x22\xb9\x2d\xc4\x5b\xf2\x66\xfd"
   6009			     "\x94\x08\x9f\x36\xcd\x41\xd8\x6f"
   6010			     "\x06\x7a\x11\xa8\x1c\xb3\x4a\xe1"
   6011			     "\x55\xec\x83\x1a\x8e\x25\xbc\x30"
   6012			     "\xc7\x5e\xf5\x69\x00\x97\x0b\xa2"
   6013			     "\x39\xd0\x44\xdb\x72\x09\x7d\x14"
   6014			     "\xab\x1f\xb6\x4d\xe4\x58\xef\x86"
   6015			     "\x1d\x91\x28\xbf\x33\xca\x61\xf8"
   6016			     "\x6c\x03\x9a\x0e\xa5\x3c\xd3\x47"
   6017			     "\xde\x75\x0c\x80\x17\xae\x22\xb9"
   6018			     "\x50\xe7\x5b\xf2\x89\x20\x94\x2b"
   6019			     "\xc2\x36\xcd\x64\xfb\x6f\x06\x9d"
   6020			     "\x11\xa8\x3f\xd6\x4a\xe1\x78\x0f"
   6021			     "\x83\x1a\xb1\x25\xbc\x53\xea\x5e"
   6022			     "\xf5\x8c\x00\x97\x2e\xc5\x39\xd0"
   6023			     "\x67\xfe\x72\x09\xa0\x14\xab\x42"
   6024			     "\xd9\x4d\xe4\x7b\x12\x86\x1d\xb4"
   6025			     "\x28\xbf\x56\xed\x61\xf8\x8f\x03"
   6026			     "\x9a\x31\xc8\x3c\xd3\x6a\x01\x75"
   6027			     "\x0c\xa3\x17\xae\x45\xdc\x50\xe7"
   6028			     "\x7e\x15\x89\x20\xb7\x2b\xc2\x59"
   6029			     "\xf0\x64\xfb\x92\x06\x9d\x34\xcb"
   6030			     "\x3f\xd6\x6d\x04\x78\x0f\xa6\x1a"
   6031			     "\xb1\x48\xdf\x53\xea\x81\x18\x8c"
   6032			     "\x23\xba\x2e\xc5\x5c\xf3\x67\xfe"
   6033			     "\x95\x09\xa0\x37\xce\x42\xd9\x70"
   6034			     "\x07\x7b\x12\xa9\x1d\xb4\x4b\xe2"
   6035			     "\x56\xed\x84\x1b\x8f\x26\xbd\x31"
   6036			     "\xc8\x5f\xf6\x6a\x01\x98\x0c\xa3"
   6037			     "\x3a\xd1\x45\xdc\x73\x0a\x7e\x15"
   6038			     "\xac\x20\xb7\x4e\xe5\x59\xf0\x87"
   6039			     "\x1e\x92\x29\xc0\x34\xcb\x62\xf9"
   6040			     "\x6d\x04\x9b\x0f\xa6\x3d\xd4\x48"
   6041			     "\xdf\x76\x0d\x81\x18\xaf\x23\xba"
   6042			     "\x51\xe8\x5c\xf3\x8a\x21\x95\x2c"
   6043			     "\xc3\x37\xce\x65\xfc\x70\x07\x9e"
   6044			     "\x12\xa9\x40\xd7\x4b\xe2\x79\x10"
   6045			     "\x84\x1b\xb2\x26\xbd\x54\xeb\x5f"
   6046			     "\xf6\x8d\x01\x98\x2f\xc6\x3a\xd1"
   6047			     "\x68\xff\x73\x0a\xa1\x15\xac\x43"
   6048			     "\xda\x4e\xe5\x7c\x13\x87\x1e\xb5"
   6049			     "\x29\xc0\x57\xee\x62\xf9\x90\x04"
   6050			     "\x9b\x32\xc9\x3d\xd4\x6b\x02\x76"
   6051			     "\x0d\xa4\x18\xaf\x46\xdd\x51\xe8"
   6052			     "\x7f\x16\x8a\x21\xb8\x2c\xc3\x5a"
   6053			     "\xf1\x65\xfc\x93\x07\x9e\x35\xcc"
   6054			     "\x40\xd7\x6e\x05\x79\x10\xa7\x1b"
   6055			     "\xb2\x49\xe0\x54\xeb\x82\x19\x8d"
   6056			     "\x24\xbb\x2f\xc6\x5d\xf4\x68\xff"
   6057			     "\x96\x0a\xa1\x38\xcf\x43\xda\x71"
   6058			     "\x08\x7c\x13\xaa\x1e\xb5\x4c",
   6059		.psize     = 1023,
   6060		.digest    = "\x98\x43\x07\x63\x75\xe0\xa7\x1c"
   6061			     "\x78\xb1\x8b\xfd\x04\xf5\x2d\x91"
   6062			     "\x20\x48\xa4\x28\xff\x55\xb1\xd3"
   6063			     "\xe6\xf9\x4f\xcc",
   6064	}
   6065};
   6066
   6067/*
   6068 * SHA256 test vectors from NIST
   6069 */
   6070static const struct hash_testvec sha256_tv_template[] = {
   6071	{
   6072		.plaintext = "",
   6073		.psize	= 0,
   6074		.digest	= "\xe3\xb0\xc4\x42\x98\xfc\x1c\x14"
   6075			  "\x9a\xfb\xf4\xc8\x99\x6f\xb9\x24"
   6076			  "\x27\xae\x41\xe4\x64\x9b\x93\x4c"
   6077			  "\xa4\x95\x99\x1b\x78\x52\xb8\x55",
   6078	}, {
   6079		.plaintext = "abc",
   6080		.psize	= 3,
   6081		.digest	= "\xba\x78\x16\xbf\x8f\x01\xcf\xea"
   6082			  "\x41\x41\x40\xde\x5d\xae\x22\x23"
   6083			  "\xb0\x03\x61\xa3\x96\x17\x7a\x9c"
   6084			  "\xb4\x10\xff\x61\xf2\x00\x15\xad",
   6085	}, {
   6086		.plaintext = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
   6087		.psize	= 56,
   6088		.digest	= "\x24\x8d\x6a\x61\xd2\x06\x38\xb8"
   6089			  "\xe5\xc0\x26\x93\x0c\x3e\x60\x39"
   6090			  "\xa3\x3c\xe4\x59\x64\xff\x21\x67"
   6091			  "\xf6\xec\xed\xd4\x19\xdb\x06\xc1",
   6092	}, {
   6093		.plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-",
   6094		.psize	= 64,
   6095		.digest = "\xb5\xfe\xad\x56\x7d\xff\xcb\xa4"
   6096			  "\x2c\x32\x29\x32\x19\xbb\xfb\xfa"
   6097			  "\xd6\xff\x94\xa3\x72\x91\x85\x66"
   6098			  "\x3b\xa7\x87\x77\x58\xa3\x40\x3a",
   6099	}, {
   6100		.plaintext = "\x08\x9f\x13\xaa\x41\xd8\x4c\xe3"
   6101			     "\x7a\x11\x85\x1c\xb3\x27\xbe\x55"
   6102			     "\xec\x60\xf7\x8e\x02\x99\x30\xc7"
   6103			     "\x3b\xd2\x69\x00\x74\x0b\xa2\x16"
   6104			     "\xad\x44\xdb\x4f\xe6\x7d\x14\x88"
   6105			     "\x1f\xb6\x2a\xc1\x58\xef\x63\xfa"
   6106			     "\x91\x05\x9c\x33\xca\x3e\xd5\x6c"
   6107			     "\x03\x77\x0e\xa5\x19\xb0\x47\xde"
   6108			     "\x52\xe9\x80\x17\x8b\x22\xb9\x2d"
   6109			     "\xc4\x5b\xf2\x66\xfd\x94\x08\x9f"
   6110			     "\x36\xcd\x41\xd8\x6f\x06\x7a\x11"
   6111			     "\xa8\x1c\xb3\x4a\xe1\x55\xec\x83"
   6112			     "\x1a\x8e\x25\xbc\x30\xc7\x5e\xf5"
   6113			     "\x69\x00\x97\x0b\xa2\x39\xd0\x44"
   6114			     "\xdb\x72\x09\x7d\x14\xab\x1f\xb6"
   6115			     "\x4d\xe4\x58\xef\x86\x1d\x91\x28"
   6116			     "\xbf\x33\xca\x61\xf8\x6c\x03\x9a"
   6117			     "\x0e\xa5\x3c\xd3\x47\xde\x75\x0c"
   6118			     "\x80\x17\xae\x22\xb9\x50\xe7\x5b"
   6119			     "\xf2\x89\x20\x94\x2b\xc2\x36\xcd"
   6120			     "\x64\xfb\x6f\x06\x9d\x11\xa8\x3f"
   6121			     "\xd6\x4a\xe1\x78\x0f\x83\x1a\xb1"
   6122			     "\x25\xbc\x53\xea\x5e\xf5\x8c\x00"
   6123			     "\x97\x2e\xc5\x39\xd0\x67\xfe\x72"
   6124			     "\x09\xa0\x14\xab\x42\xd9\x4d\xe4"
   6125			     "\x7b\x12\x86\x1d\xb4\x28\xbf\x56"
   6126			     "\xed\x61\xf8\x8f\x03\x9a\x31\xc8"
   6127			     "\x3c\xd3\x6a\x01\x75\x0c\xa3\x17"
   6128			     "\xae\x45\xdc\x50\xe7\x7e\x15\x89"
   6129			     "\x20\xb7\x2b\xc2\x59\xf0\x64\xfb"
   6130			     "\x92\x06\x9d\x34\xcb\x3f\xd6\x6d"
   6131			     "\x04\x78\x0f\xa6\x1a\xb1\x48\xdf"
   6132			     "\x53\xea\x81\x18\x8c\x23\xba\x2e"
   6133			     "\xc5\x5c\xf3\x67\xfe\x95\x09\xa0"
   6134			     "\x37\xce\x42\xd9\x70\x07\x7b\x12"
   6135			     "\xa9\x1d\xb4\x4b\xe2\x56\xed\x84"
   6136			     "\x1b\x8f\x26\xbd\x31\xc8\x5f\xf6"
   6137			     "\x6a\x01\x98\x0c\xa3\x3a\xd1\x45"
   6138			     "\xdc\x73\x0a\x7e\x15\xac\x20\xb7"
   6139			     "\x4e\xe5\x59\xf0\x87\x1e\x92\x29"
   6140			     "\xc0\x34\xcb\x62\xf9\x6d\x04\x9b"
   6141			     "\x0f\xa6\x3d\xd4\x48\xdf\x76\x0d"
   6142			     "\x81\x18\xaf\x23\xba\x51\xe8\x5c"
   6143			     "\xf3\x8a\x21\x95\x2c\xc3\x37\xce"
   6144			     "\x65\xfc\x70\x07\x9e\x12\xa9\x40"
   6145			     "\xd7\x4b\xe2\x79\x10\x84\x1b\xb2"
   6146			     "\x26\xbd\x54\xeb\x5f\xf6\x8d\x01"
   6147			     "\x98\x2f\xc6\x3a\xd1\x68\xff\x73"
   6148			     "\x0a\xa1\x15\xac\x43\xda\x4e\xe5"
   6149			     "\x7c\x13\x87\x1e\xb5\x29\xc0\x57"
   6150			     "\xee\x62\xf9\x90\x04\x9b\x32\xc9"
   6151			     "\x3d\xd4\x6b\x02\x76\x0d\xa4\x18"
   6152			     "\xaf\x46\xdd\x51\xe8\x7f\x16\x8a"
   6153			     "\x21\xb8\x2c\xc3\x5a\xf1\x65\xfc"
   6154			     "\x93\x07\x9e\x35\xcc\x40\xd7\x6e"
   6155			     "\x05\x79\x10\xa7\x1b\xb2\x49\xe0"
   6156			     "\x54\xeb\x82\x19\x8d\x24\xbb\x2f"
   6157			     "\xc6\x5d\xf4\x68\xff\x96\x0a\xa1"
   6158			     "\x38\xcf\x43\xda\x71\x08\x7c\x13"
   6159			     "\xaa\x1e\xb5\x4c\xe3\x57\xee\x85"
   6160			     "\x1c\x90\x27\xbe\x32\xc9\x60\xf7"
   6161			     "\x6b\x02\x99\x0d\xa4\x3b\xd2\x46"
   6162			     "\xdd\x74\x0b\x7f\x16\xad\x21\xb8"
   6163			     "\x4f\xe6\x5a\xf1\x88\x1f\x93\x2a"
   6164			     "\xc1\x35\xcc\x63\xfa\x6e\x05\x9c"
   6165			     "\x10\xa7\x3e\xd5\x49\xe0\x77\x0e"
   6166			     "\x82\x19\xb0\x24\xbb\x52\xe9\x5d"
   6167			     "\xf4\x8b\x22\x96\x2d\xc4\x38\xcf"
   6168			     "\x66\xfd\x71\x08\x9f\x13\xaa\x41"
   6169			     "\xd8\x4c\xe3\x7a\x11\x85\x1c\xb3"
   6170			     "\x27\xbe\x55\xec\x60\xf7\x8e\x02"
   6171			     "\x99\x30\xc7\x3b\xd2\x69\x00\x74"
   6172			     "\x0b\xa2\x16\xad\x44\xdb\x4f\xe6"
   6173			     "\x7d\x14\x88\x1f\xb6\x2a\xc1\x58"
   6174			     "\xef\x63\xfa\x91\x05\x9c\x33\xca"
   6175			     "\x3e\xd5\x6c\x03\x77\x0e\xa5\x19"
   6176			     "\xb0\x47\xde\x52\xe9\x80\x17\x8b"
   6177			     "\x22\xb9\x2d\xc4\x5b\xf2\x66\xfd"
   6178			     "\x94\x08\x9f\x36\xcd\x41\xd8\x6f"
   6179			     "\x06\x7a\x11\xa8\x1c\xb3\x4a\xe1"
   6180			     "\x55\xec\x83\x1a\x8e\x25\xbc\x30"
   6181			     "\xc7\x5e\xf5\x69\x00\x97\x0b\xa2"
   6182			     "\x39\xd0\x44\xdb\x72\x09\x7d\x14"
   6183			     "\xab\x1f\xb6\x4d\xe4\x58\xef\x86"
   6184			     "\x1d\x91\x28\xbf\x33\xca\x61\xf8"
   6185			     "\x6c\x03\x9a\x0e\xa5\x3c\xd3\x47"
   6186			     "\xde\x75\x0c\x80\x17\xae\x22\xb9"
   6187			     "\x50\xe7\x5b\xf2\x89\x20\x94\x2b"
   6188			     "\xc2\x36\xcd\x64\xfb\x6f\x06\x9d"
   6189			     "\x11\xa8\x3f\xd6\x4a\xe1\x78\x0f"
   6190			     "\x83\x1a\xb1\x25\xbc\x53\xea\x5e"
   6191			     "\xf5\x8c\x00\x97\x2e\xc5\x39\xd0"
   6192			     "\x67\xfe\x72\x09\xa0\x14\xab\x42"
   6193			     "\xd9\x4d\xe4\x7b\x12\x86\x1d\xb4"
   6194			     "\x28\xbf\x56\xed\x61\xf8\x8f\x03"
   6195			     "\x9a\x31\xc8\x3c\xd3\x6a\x01\x75"
   6196			     "\x0c\xa3\x17\xae\x45\xdc\x50\xe7"
   6197			     "\x7e\x15\x89\x20\xb7\x2b\xc2\x59"
   6198			     "\xf0\x64\xfb\x92\x06\x9d\x34\xcb"
   6199			     "\x3f\xd6\x6d\x04\x78\x0f\xa6\x1a"
   6200			     "\xb1\x48\xdf\x53\xea\x81\x18\x8c"
   6201			     "\x23\xba\x2e\xc5\x5c\xf3\x67\xfe"
   6202			     "\x95\x09\xa0\x37\xce\x42\xd9\x70"
   6203			     "\x07\x7b\x12\xa9\x1d\xb4\x4b\xe2"
   6204			     "\x56\xed\x84\x1b\x8f\x26\xbd\x31"
   6205			     "\xc8\x5f\xf6\x6a\x01\x98\x0c\xa3"
   6206			     "\x3a\xd1\x45\xdc\x73\x0a\x7e\x15"
   6207			     "\xac\x20\xb7\x4e\xe5\x59\xf0\x87"
   6208			     "\x1e\x92\x29\xc0\x34\xcb\x62\xf9"
   6209			     "\x6d\x04\x9b\x0f\xa6\x3d\xd4\x48"
   6210			     "\xdf\x76\x0d\x81\x18\xaf\x23\xba"
   6211			     "\x51\xe8\x5c\xf3\x8a\x21\x95\x2c"
   6212			     "\xc3\x37\xce\x65\xfc\x70\x07\x9e"
   6213			     "\x12\xa9\x40\xd7\x4b\xe2\x79\x10"
   6214			     "\x84\x1b\xb2\x26\xbd\x54\xeb\x5f"
   6215			     "\xf6\x8d\x01\x98\x2f\xc6\x3a\xd1"
   6216			     "\x68\xff\x73\x0a\xa1\x15\xac\x43"
   6217			     "\xda\x4e\xe5\x7c\x13\x87\x1e\xb5"
   6218			     "\x29\xc0\x57\xee\x62\xf9\x90\x04"
   6219			     "\x9b\x32\xc9\x3d\xd4\x6b\x02\x76"
   6220			     "\x0d\xa4\x18\xaf\x46\xdd\x51\xe8"
   6221			     "\x7f\x16\x8a\x21\xb8\x2c\xc3\x5a"
   6222			     "\xf1\x65\xfc\x93\x07\x9e\x35\xcc"
   6223			     "\x40\xd7\x6e\x05\x79\x10\xa7\x1b"
   6224			     "\xb2\x49\xe0\x54\xeb\x82\x19\x8d"
   6225			     "\x24\xbb\x2f\xc6\x5d\xf4\x68\xff"
   6226			     "\x96\x0a\xa1\x38\xcf\x43\xda\x71"
   6227			     "\x08\x7c\x13\xaa\x1e\xb5\x4c",
   6228		.psize     = 1023,
   6229		.digest    = "\xc5\xce\x0c\xca\x01\x4f\x53\x3a"
   6230			     "\x32\x32\x17\xcc\xd4\x6a\x71\xa9"
   6231			     "\xf3\xed\x50\x10\x64\x8e\x06\xbe"
   6232			     "\x9b\x4a\xa6\xbb\x05\x89\x59\x51",
   6233	}
   6234};
   6235
   6236/*
   6237 * SHA384 test vectors from NIST and kerneli
   6238 */
   6239static const struct hash_testvec sha384_tv_template[] = {
   6240	{
   6241		.plaintext = "",
   6242		.psize	= 0,
   6243		.digest	= "\x38\xb0\x60\xa7\x51\xac\x96\x38"
   6244			  "\x4c\xd9\x32\x7e\xb1\xb1\xe3\x6a"
   6245			  "\x21\xfd\xb7\x11\x14\xbe\x07\x43"
   6246			  "\x4c\x0c\xc7\xbf\x63\xf6\xe1\xda"
   6247			  "\x27\x4e\xde\xbf\xe7\x6f\x65\xfb"
   6248			  "\xd5\x1a\xd2\xf1\x48\x98\xb9\x5b",
   6249	}, {
   6250		.plaintext= "abc",
   6251		.psize	= 3,
   6252		.digest	= "\xcb\x00\x75\x3f\x45\xa3\x5e\x8b"
   6253			  "\xb5\xa0\x3d\x69\x9a\xc6\x50\x07"
   6254			  "\x27\x2c\x32\xab\x0e\xde\xd1\x63"
   6255			  "\x1a\x8b\x60\x5a\x43\xff\x5b\xed"
   6256			  "\x80\x86\x07\x2b\xa1\xe7\xcc\x23"
   6257			  "\x58\xba\xec\xa1\x34\xc8\x25\xa7",
   6258	}, {
   6259		.plaintext = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
   6260		.psize	= 56,
   6261		.digest	= "\x33\x91\xfd\xdd\xfc\x8d\xc7\x39"
   6262			  "\x37\x07\xa6\x5b\x1b\x47\x09\x39"
   6263			  "\x7c\xf8\xb1\xd1\x62\xaf\x05\xab"
   6264			  "\xfe\x8f\x45\x0d\xe5\xf3\x6b\xc6"
   6265			  "\xb0\x45\x5a\x85\x20\xbc\x4e\x6f"
   6266			  "\x5f\xe9\x5b\x1f\xe3\xc8\x45\x2b",
   6267	}, {
   6268		.plaintext = "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmn"
   6269			   "hijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu",
   6270		.psize	= 112,
   6271		.digest	= "\x09\x33\x0c\x33\xf7\x11\x47\xe8"
   6272			  "\x3d\x19\x2f\xc7\x82\xcd\x1b\x47"
   6273			  "\x53\x11\x1b\x17\x3b\x3b\x05\xd2"
   6274			  "\x2f\xa0\x80\x86\xe3\xb0\xf7\x12"
   6275			  "\xfc\xc7\xc7\x1a\x55\x7e\x2d\xb9"
   6276			  "\x66\xc3\xe9\xfa\x91\x74\x60\x39",
   6277	}, {
   6278		.plaintext = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd"
   6279			   "efghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz",
   6280		.psize	= 104,
   6281		.digest	= "\x3d\x20\x89\x73\xab\x35\x08\xdb"
   6282			  "\xbd\x7e\x2c\x28\x62\xba\x29\x0a"
   6283			  "\xd3\x01\x0e\x49\x78\xc1\x98\xdc"
   6284			  "\x4d\x8f\xd0\x14\xe5\x82\x82\x3a"
   6285			  "\x89\xe1\x6f\x9b\x2a\x7b\xbc\x1a"
   6286			  "\xc9\x38\xe2\xd1\x99\xe8\xbe\xa4",
   6287	}, {
   6288		.plaintext = "\x08\x9f\x13\xaa\x41\xd8\x4c\xe3"
   6289			     "\x7a\x11\x85\x1c\xb3\x27\xbe\x55"
   6290			     "\xec\x60\xf7\x8e\x02\x99\x30\xc7"
   6291			     "\x3b\xd2\x69\x00\x74\x0b\xa2\x16"
   6292			     "\xad\x44\xdb\x4f\xe6\x7d\x14\x88"
   6293			     "\x1f\xb6\x2a\xc1\x58\xef\x63\xfa"
   6294			     "\x91\x05\x9c\x33\xca\x3e\xd5\x6c"
   6295			     "\x03\x77\x0e\xa5\x19\xb0\x47\xde"
   6296			     "\x52\xe9\x80\x17\x8b\x22\xb9\x2d"
   6297			     "\xc4\x5b\xf2\x66\xfd\x94\x08\x9f"
   6298			     "\x36\xcd\x41\xd8\x6f\x06\x7a\x11"
   6299			     "\xa8\x1c\xb3\x4a\xe1\x55\xec\x83"
   6300			     "\x1a\x8e\x25\xbc\x30\xc7\x5e\xf5"
   6301			     "\x69\x00\x97\x0b\xa2\x39\xd0\x44"
   6302			     "\xdb\x72\x09\x7d\x14\xab\x1f\xb6"
   6303			     "\x4d\xe4\x58\xef\x86\x1d\x91\x28"
   6304			     "\xbf\x33\xca\x61\xf8\x6c\x03\x9a"
   6305			     "\x0e\xa5\x3c\xd3\x47\xde\x75\x0c"
   6306			     "\x80\x17\xae\x22\xb9\x50\xe7\x5b"
   6307			     "\xf2\x89\x20\x94\x2b\xc2\x36\xcd"
   6308			     "\x64\xfb\x6f\x06\x9d\x11\xa8\x3f"
   6309			     "\xd6\x4a\xe1\x78\x0f\x83\x1a\xb1"
   6310			     "\x25\xbc\x53\xea\x5e\xf5\x8c\x00"
   6311			     "\x97\x2e\xc5\x39\xd0\x67\xfe\x72"
   6312			     "\x09\xa0\x14\xab\x42\xd9\x4d\xe4"
   6313			     "\x7b\x12\x86\x1d\xb4\x28\xbf\x56"
   6314			     "\xed\x61\xf8\x8f\x03\x9a\x31\xc8"
   6315			     "\x3c\xd3\x6a\x01\x75\x0c\xa3\x17"
   6316			     "\xae\x45\xdc\x50\xe7\x7e\x15\x89"
   6317			     "\x20\xb7\x2b\xc2\x59\xf0\x64\xfb"
   6318			     "\x92\x06\x9d\x34\xcb\x3f\xd6\x6d"
   6319			     "\x04\x78\x0f\xa6\x1a\xb1\x48\xdf"
   6320			     "\x53\xea\x81\x18\x8c\x23\xba\x2e"
   6321			     "\xc5\x5c\xf3\x67\xfe\x95\x09\xa0"
   6322			     "\x37\xce\x42\xd9\x70\x07\x7b\x12"
   6323			     "\xa9\x1d\xb4\x4b\xe2\x56\xed\x84"
   6324			     "\x1b\x8f\x26\xbd\x31\xc8\x5f\xf6"
   6325			     "\x6a\x01\x98\x0c\xa3\x3a\xd1\x45"
   6326			     "\xdc\x73\x0a\x7e\x15\xac\x20\xb7"
   6327			     "\x4e\xe5\x59\xf0\x87\x1e\x92\x29"
   6328			     "\xc0\x34\xcb\x62\xf9\x6d\x04\x9b"
   6329			     "\x0f\xa6\x3d\xd4\x48\xdf\x76\x0d"
   6330			     "\x81\x18\xaf\x23\xba\x51\xe8\x5c"
   6331			     "\xf3\x8a\x21\x95\x2c\xc3\x37\xce"
   6332			     "\x65\xfc\x70\x07\x9e\x12\xa9\x40"
   6333			     "\xd7\x4b\xe2\x79\x10\x84\x1b\xb2"
   6334			     "\x26\xbd\x54\xeb\x5f\xf6\x8d\x01"
   6335			     "\x98\x2f\xc6\x3a\xd1\x68\xff\x73"
   6336			     "\x0a\xa1\x15\xac\x43\xda\x4e\xe5"
   6337			     "\x7c\x13\x87\x1e\xb5\x29\xc0\x57"
   6338			     "\xee\x62\xf9\x90\x04\x9b\x32\xc9"
   6339			     "\x3d\xd4\x6b\x02\x76\x0d\xa4\x18"
   6340			     "\xaf\x46\xdd\x51\xe8\x7f\x16\x8a"
   6341			     "\x21\xb8\x2c\xc3\x5a\xf1\x65\xfc"
   6342			     "\x93\x07\x9e\x35\xcc\x40\xd7\x6e"
   6343			     "\x05\x79\x10\xa7\x1b\xb2\x49\xe0"
   6344			     "\x54\xeb\x82\x19\x8d\x24\xbb\x2f"
   6345			     "\xc6\x5d\xf4\x68\xff\x96\x0a\xa1"
   6346			     "\x38\xcf\x43\xda\x71\x08\x7c\x13"
   6347			     "\xaa\x1e\xb5\x4c\xe3\x57\xee\x85"
   6348			     "\x1c\x90\x27\xbe\x32\xc9\x60\xf7"
   6349			     "\x6b\x02\x99\x0d\xa4\x3b\xd2\x46"
   6350			     "\xdd\x74\x0b\x7f\x16\xad\x21\xb8"
   6351			     "\x4f\xe6\x5a\xf1\x88\x1f\x93\x2a"
   6352			     "\xc1\x35\xcc\x63\xfa\x6e\x05\x9c"
   6353			     "\x10\xa7\x3e\xd5\x49\xe0\x77\x0e"
   6354			     "\x82\x19\xb0\x24\xbb\x52\xe9\x5d"
   6355			     "\xf4\x8b\x22\x96\x2d\xc4\x38\xcf"
   6356			     "\x66\xfd\x71\x08\x9f\x13\xaa\x41"
   6357			     "\xd8\x4c\xe3\x7a\x11\x85\x1c\xb3"
   6358			     "\x27\xbe\x55\xec\x60\xf7\x8e\x02"
   6359			     "\x99\x30\xc7\x3b\xd2\x69\x00\x74"
   6360			     "\x0b\xa2\x16\xad\x44\xdb\x4f\xe6"
   6361			     "\x7d\x14\x88\x1f\xb6\x2a\xc1\x58"
   6362			     "\xef\x63\xfa\x91\x05\x9c\x33\xca"
   6363			     "\x3e\xd5\x6c\x03\x77\x0e\xa5\x19"
   6364			     "\xb0\x47\xde\x52\xe9\x80\x17\x8b"
   6365			     "\x22\xb9\x2d\xc4\x5b\xf2\x66\xfd"
   6366			     "\x94\x08\x9f\x36\xcd\x41\xd8\x6f"
   6367			     "\x06\x7a\x11\xa8\x1c\xb3\x4a\xe1"
   6368			     "\x55\xec\x83\x1a\x8e\x25\xbc\x30"
   6369			     "\xc7\x5e\xf5\x69\x00\x97\x0b\xa2"
   6370			     "\x39\xd0\x44\xdb\x72\x09\x7d\x14"
   6371			     "\xab\x1f\xb6\x4d\xe4\x58\xef\x86"
   6372			     "\x1d\x91\x28\xbf\x33\xca\x61\xf8"
   6373			     "\x6c\x03\x9a\x0e\xa5\x3c\xd3\x47"
   6374			     "\xde\x75\x0c\x80\x17\xae\x22\xb9"
   6375			     "\x50\xe7\x5b\xf2\x89\x20\x94\x2b"
   6376			     "\xc2\x36\xcd\x64\xfb\x6f\x06\x9d"
   6377			     "\x11\xa8\x3f\xd6\x4a\xe1\x78\x0f"
   6378			     "\x83\x1a\xb1\x25\xbc\x53\xea\x5e"
   6379			     "\xf5\x8c\x00\x97\x2e\xc5\x39\xd0"
   6380			     "\x67\xfe\x72\x09\xa0\x14\xab\x42"
   6381			     "\xd9\x4d\xe4\x7b\x12\x86\x1d\xb4"
   6382			     "\x28\xbf\x56\xed\x61\xf8\x8f\x03"
   6383			     "\x9a\x31\xc8\x3c\xd3\x6a\x01\x75"
   6384			     "\x0c\xa3\x17\xae\x45\xdc\x50\xe7"
   6385			     "\x7e\x15\x89\x20\xb7\x2b\xc2\x59"
   6386			     "\xf0\x64\xfb\x92\x06\x9d\x34\xcb"
   6387			     "\x3f\xd6\x6d\x04\x78\x0f\xa6\x1a"
   6388			     "\xb1\x48\xdf\x53\xea\x81\x18\x8c"
   6389			     "\x23\xba\x2e\xc5\x5c\xf3\x67\xfe"
   6390			     "\x95\x09\xa0\x37\xce\x42\xd9\x70"
   6391			     "\x07\x7b\x12\xa9\x1d\xb4\x4b\xe2"
   6392			     "\x56\xed\x84\x1b\x8f\x26\xbd\x31"
   6393			     "\xc8\x5f\xf6\x6a\x01\x98\x0c\xa3"
   6394			     "\x3a\xd1\x45\xdc\x73\x0a\x7e\x15"
   6395			     "\xac\x20\xb7\x4e\xe5\x59\xf0\x87"
   6396			     "\x1e\x92\x29\xc0\x34\xcb\x62\xf9"
   6397			     "\x6d\x04\x9b\x0f\xa6\x3d\xd4\x48"
   6398			     "\xdf\x76\x0d\x81\x18\xaf\x23\xba"
   6399			     "\x51\xe8\x5c\xf3\x8a\x21\x95\x2c"
   6400			     "\xc3\x37\xce\x65\xfc\x70\x07\x9e"
   6401			     "\x12\xa9\x40\xd7\x4b\xe2\x79\x10"
   6402			     "\x84\x1b\xb2\x26\xbd\x54\xeb\x5f"
   6403			     "\xf6\x8d\x01\x98\x2f\xc6\x3a\xd1"
   6404			     "\x68\xff\x73\x0a\xa1\x15\xac\x43"
   6405			     "\xda\x4e\xe5\x7c\x13\x87\x1e\xb5"
   6406			     "\x29\xc0\x57\xee\x62\xf9\x90\x04"
   6407			     "\x9b\x32\xc9\x3d\xd4\x6b\x02\x76"
   6408			     "\x0d\xa4\x18\xaf\x46\xdd\x51\xe8"
   6409			     "\x7f\x16\x8a\x21\xb8\x2c\xc3\x5a"
   6410			     "\xf1\x65\xfc\x93\x07\x9e\x35\xcc"
   6411			     "\x40\xd7\x6e\x05\x79\x10\xa7\x1b"
   6412			     "\xb2\x49\xe0\x54\xeb\x82\x19\x8d"
   6413			     "\x24\xbb\x2f\xc6\x5d\xf4\x68\xff"
   6414			     "\x96\x0a\xa1\x38\xcf\x43\xda\x71"
   6415			     "\x08\x7c\x13\xaa\x1e\xb5\x4c",
   6416		.psize     = 1023,
   6417		.digest    = "\x4d\x97\x23\xc8\xea\x7a\x7c\x15"
   6418			     "\xb8\xff\x97\x9c\xf5\x13\x4f\x31"
   6419			     "\xde\x67\xf7\x24\x73\xcd\x70\x1c"
   6420			     "\x03\x4a\xba\x8a\x87\x49\xfe\xdc"
   6421			     "\x75\x29\x62\x83\xae\x3f\x17\xab"
   6422			     "\xfd\x10\x4d\x8e\x17\x1c\x1f\xca",
   6423	}
   6424};
   6425
   6426/*
   6427 * SHA512 test vectors from NIST and kerneli
   6428 */
   6429static const struct hash_testvec sha512_tv_template[] = {
   6430	{
   6431		.plaintext = "",
   6432		.psize	= 0,
   6433		.digest	= "\xcf\x83\xe1\x35\x7e\xef\xb8\xbd"
   6434			  "\xf1\x54\x28\x50\xd6\x6d\x80\x07"
   6435			  "\xd6\x20\xe4\x05\x0b\x57\x15\xdc"
   6436			  "\x83\xf4\xa9\x21\xd3\x6c\xe9\xce"
   6437			  "\x47\xd0\xd1\x3c\x5d\x85\xf2\xb0"
   6438			  "\xff\x83\x18\xd2\x87\x7e\xec\x2f"
   6439			  "\x63\xb9\x31\xbd\x47\x41\x7a\x81"
   6440			  "\xa5\x38\x32\x7a\xf9\x27\xda\x3e",
   6441	}, {
   6442		.plaintext = "abc",
   6443		.psize	= 3,
   6444		.digest	= "\xdd\xaf\x35\xa1\x93\x61\x7a\xba"
   6445			  "\xcc\x41\x73\x49\xae\x20\x41\x31"
   6446			  "\x12\xe6\xfa\x4e\x89\xa9\x7e\xa2"
   6447			  "\x0a\x9e\xee\xe6\x4b\x55\xd3\x9a"
   6448			  "\x21\x92\x99\x2a\x27\x4f\xc1\xa8"
   6449			  "\x36\xba\x3c\x23\xa3\xfe\xeb\xbd"
   6450			  "\x45\x4d\x44\x23\x64\x3c\xe8\x0e"
   6451			  "\x2a\x9a\xc9\x4f\xa5\x4c\xa4\x9f",
   6452	}, {
   6453		.plaintext = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
   6454		.psize	= 56,
   6455		.digest	= "\x20\x4a\x8f\xc6\xdd\xa8\x2f\x0a"
   6456			  "\x0c\xed\x7b\xeb\x8e\x08\xa4\x16"
   6457			  "\x57\xc1\x6e\xf4\x68\xb2\x28\xa8"
   6458			  "\x27\x9b\xe3\x31\xa7\x03\xc3\x35"
   6459			  "\x96\xfd\x15\xc1\x3b\x1b\x07\xf9"
   6460			  "\xaa\x1d\x3b\xea\x57\x78\x9c\xa0"
   6461			  "\x31\xad\x85\xc7\xa7\x1d\xd7\x03"
   6462			  "\x54\xec\x63\x12\x38\xca\x34\x45",
   6463	}, {
   6464		.plaintext = "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmn"
   6465			   "hijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu",
   6466		.psize	= 112,
   6467		.digest	= "\x8e\x95\x9b\x75\xda\xe3\x13\xda"
   6468			  "\x8c\xf4\xf7\x28\x14\xfc\x14\x3f"
   6469			  "\x8f\x77\x79\xc6\xeb\x9f\x7f\xa1"
   6470			  "\x72\x99\xae\xad\xb6\x88\x90\x18"
   6471			  "\x50\x1d\x28\x9e\x49\x00\xf7\xe4"
   6472			  "\x33\x1b\x99\xde\xc4\xb5\x43\x3a"
   6473			  "\xc7\xd3\x29\xee\xb6\xdd\x26\x54"
   6474			  "\x5e\x96\xe5\x5b\x87\x4b\xe9\x09",
   6475	}, {
   6476		.plaintext = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd"
   6477			   "efghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz",
   6478		.psize	= 104,
   6479		.digest	= "\x93\x0d\x0c\xef\xcb\x30\xff\x11"
   6480			  "\x33\xb6\x89\x81\x21\xf1\xcf\x3d"
   6481			  "\x27\x57\x8a\xfc\xaf\xe8\x67\x7c"
   6482			  "\x52\x57\xcf\x06\x99\x11\xf7\x5d"
   6483			  "\x8f\x58\x31\xb5\x6e\xbf\xda\x67"
   6484			  "\xb2\x78\xe6\x6d\xff\x8b\x84\xfe"
   6485			  "\x2b\x28\x70\xf7\x42\xa5\x80\xd8"
   6486			  "\xed\xb4\x19\x87\x23\x28\x50\xc9",
   6487	}, {
   6488		.plaintext = "\x08\x9f\x13\xaa\x41\xd8\x4c\xe3"
   6489			     "\x7a\x11\x85\x1c\xb3\x27\xbe\x55"
   6490			     "\xec\x60\xf7\x8e\x02\x99\x30\xc7"
   6491			     "\x3b\xd2\x69\x00\x74\x0b\xa2\x16"
   6492			     "\xad\x44\xdb\x4f\xe6\x7d\x14\x88"
   6493			     "\x1f\xb6\x2a\xc1\x58\xef\x63\xfa"
   6494			     "\x91\x05\x9c\x33\xca\x3e\xd5\x6c"
   6495			     "\x03\x77\x0e\xa5\x19\xb0\x47\xde"
   6496			     "\x52\xe9\x80\x17\x8b\x22\xb9\x2d"
   6497			     "\xc4\x5b\xf2\x66\xfd\x94\x08\x9f"
   6498			     "\x36\xcd\x41\xd8\x6f\x06\x7a\x11"
   6499			     "\xa8\x1c\xb3\x4a\xe1\x55\xec\x83"
   6500			     "\x1a\x8e\x25\xbc\x30\xc7\x5e\xf5"
   6501			     "\x69\x00\x97\x0b\xa2\x39\xd0\x44"
   6502			     "\xdb\x72\x09\x7d\x14\xab\x1f\xb6"
   6503			     "\x4d\xe4\x58\xef\x86\x1d\x91\x28"
   6504			     "\xbf\x33\xca\x61\xf8\x6c\x03\x9a"
   6505			     "\x0e\xa5\x3c\xd3\x47\xde\x75\x0c"
   6506			     "\x80\x17\xae\x22\xb9\x50\xe7\x5b"
   6507			     "\xf2\x89\x20\x94\x2b\xc2\x36\xcd"
   6508			     "\x64\xfb\x6f\x06\x9d\x11\xa8\x3f"
   6509			     "\xd6\x4a\xe1\x78\x0f\x83\x1a\xb1"
   6510			     "\x25\xbc\x53\xea\x5e\xf5\x8c\x00"
   6511			     "\x97\x2e\xc5\x39\xd0\x67\xfe\x72"
   6512			     "\x09\xa0\x14\xab\x42\xd9\x4d\xe4"
   6513			     "\x7b\x12\x86\x1d\xb4\x28\xbf\x56"
   6514			     "\xed\x61\xf8\x8f\x03\x9a\x31\xc8"
   6515			     "\x3c\xd3\x6a\x01\x75\x0c\xa3\x17"
   6516			     "\xae\x45\xdc\x50\xe7\x7e\x15\x89"
   6517			     "\x20\xb7\x2b\xc2\x59\xf0\x64\xfb"
   6518			     "\x92\x06\x9d\x34\xcb\x3f\xd6\x6d"
   6519			     "\x04\x78\x0f\xa6\x1a\xb1\x48\xdf"
   6520			     "\x53\xea\x81\x18\x8c\x23\xba\x2e"
   6521			     "\xc5\x5c\xf3\x67\xfe\x95\x09\xa0"
   6522			     "\x37\xce\x42\xd9\x70\x07\x7b\x12"
   6523			     "\xa9\x1d\xb4\x4b\xe2\x56\xed\x84"
   6524			     "\x1b\x8f\x26\xbd\x31\xc8\x5f\xf6"
   6525			     "\x6a\x01\x98\x0c\xa3\x3a\xd1\x45"
   6526			     "\xdc\x73\x0a\x7e\x15\xac\x20\xb7"
   6527			     "\x4e\xe5\x59\xf0\x87\x1e\x92\x29"
   6528			     "\xc0\x34\xcb\x62\xf9\x6d\x04\x9b"
   6529			     "\x0f\xa6\x3d\xd4\x48\xdf\x76\x0d"
   6530			     "\x81\x18\xaf\x23\xba\x51\xe8\x5c"
   6531			     "\xf3\x8a\x21\x95\x2c\xc3\x37\xce"
   6532			     "\x65\xfc\x70\x07\x9e\x12\xa9\x40"
   6533			     "\xd7\x4b\xe2\x79\x10\x84\x1b\xb2"
   6534			     "\x26\xbd\x54\xeb\x5f\xf6\x8d\x01"
   6535			     "\x98\x2f\xc6\x3a\xd1\x68\xff\x73"
   6536			     "\x0a\xa1\x15\xac\x43\xda\x4e\xe5"
   6537			     "\x7c\x13\x87\x1e\xb5\x29\xc0\x57"
   6538			     "\xee\x62\xf9\x90\x04\x9b\x32\xc9"
   6539			     "\x3d\xd4\x6b\x02\x76\x0d\xa4\x18"
   6540			     "\xaf\x46\xdd\x51\xe8\x7f\x16\x8a"
   6541			     "\x21\xb8\x2c\xc3\x5a\xf1\x65\xfc"
   6542			     "\x93\x07\x9e\x35\xcc\x40\xd7\x6e"
   6543			     "\x05\x79\x10\xa7\x1b\xb2\x49\xe0"
   6544			     "\x54\xeb\x82\x19\x8d\x24\xbb\x2f"
   6545			     "\xc6\x5d\xf4\x68\xff\x96\x0a\xa1"
   6546			     "\x38\xcf\x43\xda\x71\x08\x7c\x13"
   6547			     "\xaa\x1e\xb5\x4c\xe3\x57\xee\x85"
   6548			     "\x1c\x90\x27\xbe\x32\xc9\x60\xf7"
   6549			     "\x6b\x02\x99\x0d\xa4\x3b\xd2\x46"
   6550			     "\xdd\x74\x0b\x7f\x16\xad\x21\xb8"
   6551			     "\x4f\xe6\x5a\xf1\x88\x1f\x93\x2a"
   6552			     "\xc1\x35\xcc\x63\xfa\x6e\x05\x9c"
   6553			     "\x10\xa7\x3e\xd5\x49\xe0\x77\x0e"
   6554			     "\x82\x19\xb0\x24\xbb\x52\xe9\x5d"
   6555			     "\xf4\x8b\x22\x96\x2d\xc4\x38\xcf"
   6556			     "\x66\xfd\x71\x08\x9f\x13\xaa\x41"
   6557			     "\xd8\x4c\xe3\x7a\x11\x85\x1c\xb3"
   6558			     "\x27\xbe\x55\xec\x60\xf7\x8e\x02"
   6559			     "\x99\x30\xc7\x3b\xd2\x69\x00\x74"
   6560			     "\x0b\xa2\x16\xad\x44\xdb\x4f\xe6"
   6561			     "\x7d\x14\x88\x1f\xb6\x2a\xc1\x58"
   6562			     "\xef\x63\xfa\x91\x05\x9c\x33\xca"
   6563			     "\x3e\xd5\x6c\x03\x77\x0e\xa5\x19"
   6564			     "\xb0\x47\xde\x52\xe9\x80\x17\x8b"
   6565			     "\x22\xb9\x2d\xc4\x5b\xf2\x66\xfd"
   6566			     "\x94\x08\x9f\x36\xcd\x41\xd8\x6f"
   6567			     "\x06\x7a\x11\xa8\x1c\xb3\x4a\xe1"
   6568			     "\x55\xec\x83\x1a\x8e\x25\xbc\x30"
   6569			     "\xc7\x5e\xf5\x69\x00\x97\x0b\xa2"
   6570			     "\x39\xd0\x44\xdb\x72\x09\x7d\x14"
   6571			     "\xab\x1f\xb6\x4d\xe4\x58\xef\x86"
   6572			     "\x1d\x91\x28\xbf\x33\xca\x61\xf8"
   6573			     "\x6c\x03\x9a\x0e\xa5\x3c\xd3\x47"
   6574			     "\xde\x75\x0c\x80\x17\xae\x22\xb9"
   6575			     "\x50\xe7\x5b\xf2\x89\x20\x94\x2b"
   6576			     "\xc2\x36\xcd\x64\xfb\x6f\x06\x9d"
   6577			     "\x11\xa8\x3f\xd6\x4a\xe1\x78\x0f"
   6578			     "\x83\x1a\xb1\x25\xbc\x53\xea\x5e"
   6579			     "\xf5\x8c\x00\x97\x2e\xc5\x39\xd0"
   6580			     "\x67\xfe\x72\x09\xa0\x14\xab\x42"
   6581			     "\xd9\x4d\xe4\x7b\x12\x86\x1d\xb4"
   6582			     "\x28\xbf\x56\xed\x61\xf8\x8f\x03"
   6583			     "\x9a\x31\xc8\x3c\xd3\x6a\x01\x75"
   6584			     "\x0c\xa3\x17\xae\x45\xdc\x50\xe7"
   6585			     "\x7e\x15\x89\x20\xb7\x2b\xc2\x59"
   6586			     "\xf0\x64\xfb\x92\x06\x9d\x34\xcb"
   6587			     "\x3f\xd6\x6d\x04\x78\x0f\xa6\x1a"
   6588			     "\xb1\x48\xdf\x53\xea\x81\x18\x8c"
   6589			     "\x23\xba\x2e\xc5\x5c\xf3\x67\xfe"
   6590			     "\x95\x09\xa0\x37\xce\x42\xd9\x70"
   6591			     "\x07\x7b\x12\xa9\x1d\xb4\x4b\xe2"
   6592			     "\x56\xed\x84\x1b\x8f\x26\xbd\x31"
   6593			     "\xc8\x5f\xf6\x6a\x01\x98\x0c\xa3"
   6594			     "\x3a\xd1\x45\xdc\x73\x0a\x7e\x15"
   6595			     "\xac\x20\xb7\x4e\xe5\x59\xf0\x87"
   6596			     "\x1e\x92\x29\xc0\x34\xcb\x62\xf9"
   6597			     "\x6d\x04\x9b\x0f\xa6\x3d\xd4\x48"
   6598			     "\xdf\x76\x0d\x81\x18\xaf\x23\xba"
   6599			     "\x51\xe8\x5c\xf3\x8a\x21\x95\x2c"
   6600			     "\xc3\x37\xce\x65\xfc\x70\x07\x9e"
   6601			     "\x12\xa9\x40\xd7\x4b\xe2\x79\x10"
   6602			     "\x84\x1b\xb2\x26\xbd\x54\xeb\x5f"
   6603			     "\xf6\x8d\x01\x98\x2f\xc6\x3a\xd1"
   6604			     "\x68\xff\x73\x0a\xa1\x15\xac\x43"
   6605			     "\xda\x4e\xe5\x7c\x13\x87\x1e\xb5"
   6606			     "\x29\xc0\x57\xee\x62\xf9\x90\x04"
   6607			     "\x9b\x32\xc9\x3d\xd4\x6b\x02\x76"
   6608			     "\x0d\xa4\x18\xaf\x46\xdd\x51\xe8"
   6609			     "\x7f\x16\x8a\x21\xb8\x2c\xc3\x5a"
   6610			     "\xf1\x65\xfc\x93\x07\x9e\x35\xcc"
   6611			     "\x40\xd7\x6e\x05\x79\x10\xa7\x1b"
   6612			     "\xb2\x49\xe0\x54\xeb\x82\x19\x8d"
   6613			     "\x24\xbb\x2f\xc6\x5d\xf4\x68\xff"
   6614			     "\x96\x0a\xa1\x38\xcf\x43\xda\x71"
   6615			     "\x08\x7c\x13\xaa\x1e\xb5\x4c",
   6616		.psize     = 1023,
   6617		.digest    = "\x76\xc9\xd4\x91\x7a\x5f\x0f\xaa"
   6618			     "\x13\x39\xf3\x01\x7a\xfa\xe5\x41"
   6619			     "\x5f\x0b\xf8\xeb\x32\xfc\xbf\xb0"
   6620			     "\xfa\x8c\xcd\x17\x83\xe2\xfa\xeb"
   6621			     "\x1c\x19\xde\xe2\x75\xdc\x34\x64"
   6622			     "\x5f\x35\x9c\x61\x2f\x10\xf9\xec"
   6623			     "\x59\xca\x9d\xcc\x25\x0c\x43\xba"
   6624			     "\x85\xa8\xf8\xfe\xb5\x24\xb2\xee",
   6625	}
   6626};
   6627
   6628
   6629/*
   6630 * WHIRLPOOL test vectors from Whirlpool package
   6631 * by Vincent Rijmen and Paulo S. L. M. Barreto as part of the NESSIE
   6632 * submission
   6633 */
   6634static const struct hash_testvec wp512_tv_template[] = {
   6635	{
   6636		.plaintext = "",
   6637		.psize	= 0,
   6638		.digest	= "\x19\xFA\x61\xD7\x55\x22\xA4\x66"
   6639			  "\x9B\x44\xE3\x9C\x1D\x2E\x17\x26"
   6640			  "\xC5\x30\x23\x21\x30\xD4\x07\xF8"
   6641			  "\x9A\xFE\xE0\x96\x49\x97\xF7\xA7"
   6642			  "\x3E\x83\xBE\x69\x8B\x28\x8F\xEB"
   6643			  "\xCF\x88\xE3\xE0\x3C\x4F\x07\x57"
   6644			  "\xEA\x89\x64\xE5\x9B\x63\xD9\x37"
   6645			  "\x08\xB1\x38\xCC\x42\xA6\x6E\xB3",
   6646
   6647
   6648	}, {
   6649		.plaintext = "a",
   6650		.psize	= 1,
   6651		.digest	= "\x8A\xCA\x26\x02\x79\x2A\xEC\x6F"
   6652			  "\x11\xA6\x72\x06\x53\x1F\xB7\xD7"
   6653			  "\xF0\xDF\xF5\x94\x13\x14\x5E\x69"
   6654			  "\x73\xC4\x50\x01\xD0\x08\x7B\x42"
   6655			  "\xD1\x1B\xC6\x45\x41\x3A\xEF\xF6"
   6656			  "\x3A\x42\x39\x1A\x39\x14\x5A\x59"
   6657			  "\x1A\x92\x20\x0D\x56\x01\x95\xE5"
   6658			  "\x3B\x47\x85\x84\xFD\xAE\x23\x1A",
   6659	}, {
   6660		.plaintext = "abc",
   6661		.psize	= 3,
   6662		.digest	= "\x4E\x24\x48\xA4\xC6\xF4\x86\xBB"
   6663			  "\x16\xB6\x56\x2C\x73\xB4\x02\x0B"
   6664			  "\xF3\x04\x3E\x3A\x73\x1B\xCE\x72"
   6665			  "\x1A\xE1\xB3\x03\xD9\x7E\x6D\x4C"
   6666			  "\x71\x81\xEE\xBD\xB6\xC5\x7E\x27"
   6667			  "\x7D\x0E\x34\x95\x71\x14\xCB\xD6"
   6668			  "\xC7\x97\xFC\x9D\x95\xD8\xB5\x82"
   6669			  "\xD2\x25\x29\x20\x76\xD4\xEE\xF5",
   6670	}, {
   6671		.plaintext = "message digest",
   6672		.psize	= 14,
   6673		.digest	= "\x37\x8C\x84\xA4\x12\x6E\x2D\xC6"
   6674			  "\xE5\x6D\xCC\x74\x58\x37\x7A\xAC"
   6675			  "\x83\x8D\x00\x03\x22\x30\xF5\x3C"
   6676			  "\xE1\xF5\x70\x0C\x0F\xFB\x4D\x3B"
   6677			  "\x84\x21\x55\x76\x59\xEF\x55\xC1"
   6678			  "\x06\xB4\xB5\x2A\xC5\xA4\xAA\xA6"
   6679			  "\x92\xED\x92\x00\x52\x83\x8F\x33"
   6680			  "\x62\xE8\x6D\xBD\x37\xA8\x90\x3E",
   6681	}, {
   6682		.plaintext = "abcdefghijklmnopqrstuvwxyz",
   6683		.psize	= 26,
   6684		.digest	= "\xF1\xD7\x54\x66\x26\x36\xFF\xE9"
   6685			  "\x2C\x82\xEB\xB9\x21\x2A\x48\x4A"
   6686			  "\x8D\x38\x63\x1E\xAD\x42\x38\xF5"
   6687			  "\x44\x2E\xE1\x3B\x80\x54\xE4\x1B"
   6688			  "\x08\xBF\x2A\x92\x51\xC3\x0B\x6A"
   6689			  "\x0B\x8A\xAE\x86\x17\x7A\xB4\xA6"
   6690			  "\xF6\x8F\x67\x3E\x72\x07\x86\x5D"
   6691			  "\x5D\x98\x19\xA3\xDB\xA4\xEB\x3B",
   6692	}, {
   6693		.plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
   6694			   "abcdefghijklmnopqrstuvwxyz0123456789",
   6695		.psize	= 62,
   6696		.digest	= "\xDC\x37\xE0\x08\xCF\x9E\xE6\x9B"
   6697			  "\xF1\x1F\x00\xED\x9A\xBA\x26\x90"
   6698			  "\x1D\xD7\xC2\x8C\xDE\xC0\x66\xCC"
   6699			  "\x6A\xF4\x2E\x40\xF8\x2F\x3A\x1E"
   6700			  "\x08\xEB\xA2\x66\x29\x12\x9D\x8F"
   6701			  "\xB7\xCB\x57\x21\x1B\x92\x81\xA6"
   6702			  "\x55\x17\xCC\x87\x9D\x7B\x96\x21"
   6703			  "\x42\xC6\x5F\x5A\x7A\xF0\x14\x67",
   6704	}, {
   6705		.plaintext = "1234567890123456789012345678901234567890"
   6706			   "1234567890123456789012345678901234567890",
   6707		.psize	= 80,
   6708		.digest	= "\x46\x6E\xF1\x8B\xAB\xB0\x15\x4D"
   6709			  "\x25\xB9\xD3\x8A\x64\x14\xF5\xC0"
   6710			  "\x87\x84\x37\x2B\xCC\xB2\x04\xD6"
   6711			  "\x54\x9C\x4A\xFA\xDB\x60\x14\x29"
   6712			  "\x4D\x5B\xD8\xDF\x2A\x6C\x44\xE5"
   6713			  "\x38\xCD\x04\x7B\x26\x81\xA5\x1A"
   6714			  "\x2C\x60\x48\x1E\x88\xC5\xA2\x0B"
   6715			  "\x2C\x2A\x80\xCF\x3A\x9A\x08\x3B",
   6716	}, {
   6717		.plaintext = "abcdbcdecdefdefgefghfghighijhijk",
   6718		.psize	= 32,
   6719		.digest	= "\x2A\x98\x7E\xA4\x0F\x91\x70\x61"
   6720			  "\xF5\xD6\xF0\xA0\xE4\x64\x4F\x48"
   6721			  "\x8A\x7A\x5A\x52\xDE\xEE\x65\x62"
   6722			  "\x07\xC5\x62\xF9\x88\xE9\x5C\x69"
   6723			  "\x16\xBD\xC8\x03\x1B\xC5\xBE\x1B"
   6724			  "\x7B\x94\x76\x39\xFE\x05\x0B\x56"
   6725			  "\x93\x9B\xAA\xA0\xAD\xFF\x9A\xE6"
   6726			  "\x74\x5B\x7B\x18\x1C\x3B\xE3\xFD",
   6727	},
   6728};
   6729
   6730static const struct hash_testvec wp384_tv_template[] = {
   6731	{
   6732		.plaintext = "",
   6733		.psize	= 0,
   6734		.digest	= "\x19\xFA\x61\xD7\x55\x22\xA4\x66"
   6735			  "\x9B\x44\xE3\x9C\x1D\x2E\x17\x26"
   6736			  "\xC5\x30\x23\x21\x30\xD4\x07\xF8"
   6737			  "\x9A\xFE\xE0\x96\x49\x97\xF7\xA7"
   6738			  "\x3E\x83\xBE\x69\x8B\x28\x8F\xEB"
   6739			  "\xCF\x88\xE3\xE0\x3C\x4F\x07\x57",
   6740
   6741
   6742	}, {
   6743		.plaintext = "a",
   6744		.psize	= 1,
   6745		.digest	= "\x8A\xCA\x26\x02\x79\x2A\xEC\x6F"
   6746			  "\x11\xA6\x72\x06\x53\x1F\xB7\xD7"
   6747			  "\xF0\xDF\xF5\x94\x13\x14\x5E\x69"
   6748			  "\x73\xC4\x50\x01\xD0\x08\x7B\x42"
   6749			  "\xD1\x1B\xC6\x45\x41\x3A\xEF\xF6"
   6750			  "\x3A\x42\x39\x1A\x39\x14\x5A\x59",
   6751	}, {
   6752		.plaintext = "abc",
   6753		.psize	= 3,
   6754		.digest	= "\x4E\x24\x48\xA4\xC6\xF4\x86\xBB"
   6755			  "\x16\xB6\x56\x2C\x73\xB4\x02\x0B"
   6756			  "\xF3\x04\x3E\x3A\x73\x1B\xCE\x72"
   6757			  "\x1A\xE1\xB3\x03\xD9\x7E\x6D\x4C"
   6758			  "\x71\x81\xEE\xBD\xB6\xC5\x7E\x27"
   6759			  "\x7D\x0E\x34\x95\x71\x14\xCB\xD6",
   6760	}, {
   6761		.plaintext = "message digest",
   6762		.psize	= 14,
   6763		.digest	= "\x37\x8C\x84\xA4\x12\x6E\x2D\xC6"
   6764			  "\xE5\x6D\xCC\x74\x58\x37\x7A\xAC"
   6765			  "\x83\x8D\x00\x03\x22\x30\xF5\x3C"
   6766			  "\xE1\xF5\x70\x0C\x0F\xFB\x4D\x3B"
   6767			  "\x84\x21\x55\x76\x59\xEF\x55\xC1"
   6768			  "\x06\xB4\xB5\x2A\xC5\xA4\xAA\xA6",
   6769	}, {
   6770		.plaintext = "abcdefghijklmnopqrstuvwxyz",
   6771		.psize	= 26,
   6772		.digest	= "\xF1\xD7\x54\x66\x26\x36\xFF\xE9"
   6773			  "\x2C\x82\xEB\xB9\x21\x2A\x48\x4A"
   6774			  "\x8D\x38\x63\x1E\xAD\x42\x38\xF5"
   6775			  "\x44\x2E\xE1\x3B\x80\x54\xE4\x1B"
   6776			  "\x08\xBF\x2A\x92\x51\xC3\x0B\x6A"
   6777			  "\x0B\x8A\xAE\x86\x17\x7A\xB4\xA6",
   6778	}, {
   6779		.plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
   6780			   "abcdefghijklmnopqrstuvwxyz0123456789",
   6781		.psize	= 62,
   6782		.digest	= "\xDC\x37\xE0\x08\xCF\x9E\xE6\x9B"
   6783			  "\xF1\x1F\x00\xED\x9A\xBA\x26\x90"
   6784			  "\x1D\xD7\xC2\x8C\xDE\xC0\x66\xCC"
   6785			  "\x6A\xF4\x2E\x40\xF8\x2F\x3A\x1E"
   6786			  "\x08\xEB\xA2\x66\x29\x12\x9D\x8F"
   6787			  "\xB7\xCB\x57\x21\x1B\x92\x81\xA6",
   6788	}, {
   6789		.plaintext = "1234567890123456789012345678901234567890"
   6790			   "1234567890123456789012345678901234567890",
   6791		.psize	= 80,
   6792		.digest	= "\x46\x6E\xF1\x8B\xAB\xB0\x15\x4D"
   6793			  "\x25\xB9\xD3\x8A\x64\x14\xF5\xC0"
   6794			  "\x87\x84\x37\x2B\xCC\xB2\x04\xD6"
   6795			  "\x54\x9C\x4A\xFA\xDB\x60\x14\x29"
   6796			  "\x4D\x5B\xD8\xDF\x2A\x6C\x44\xE5"
   6797			  "\x38\xCD\x04\x7B\x26\x81\xA5\x1A",
   6798	}, {
   6799		.plaintext = "abcdbcdecdefdefgefghfghighijhijk",
   6800		.psize	= 32,
   6801		.digest	= "\x2A\x98\x7E\xA4\x0F\x91\x70\x61"
   6802			  "\xF5\xD6\xF0\xA0\xE4\x64\x4F\x48"
   6803			  "\x8A\x7A\x5A\x52\xDE\xEE\x65\x62"
   6804			  "\x07\xC5\x62\xF9\x88\xE9\x5C\x69"
   6805			  "\x16\xBD\xC8\x03\x1B\xC5\xBE\x1B"
   6806			  "\x7B\x94\x76\x39\xFE\x05\x0B\x56",
   6807	},
   6808};
   6809
   6810static const struct hash_testvec wp256_tv_template[] = {
   6811	{
   6812		.plaintext = "",
   6813		.psize	= 0,
   6814		.digest	= "\x19\xFA\x61\xD7\x55\x22\xA4\x66"
   6815			  "\x9B\x44\xE3\x9C\x1D\x2E\x17\x26"
   6816			  "\xC5\x30\x23\x21\x30\xD4\x07\xF8"
   6817			  "\x9A\xFE\xE0\x96\x49\x97\xF7\xA7",
   6818
   6819
   6820	}, {
   6821		.plaintext = "a",
   6822		.psize	= 1,
   6823		.digest	= "\x8A\xCA\x26\x02\x79\x2A\xEC\x6F"
   6824			  "\x11\xA6\x72\x06\x53\x1F\xB7\xD7"
   6825			  "\xF0\xDF\xF5\x94\x13\x14\x5E\x69"
   6826			  "\x73\xC4\x50\x01\xD0\x08\x7B\x42",
   6827	}, {
   6828		.plaintext = "abc",
   6829		.psize	= 3,
   6830		.digest	= "\x4E\x24\x48\xA4\xC6\xF4\x86\xBB"
   6831			  "\x16\xB6\x56\x2C\x73\xB4\x02\x0B"
   6832			  "\xF3\x04\x3E\x3A\x73\x1B\xCE\x72"
   6833			  "\x1A\xE1\xB3\x03\xD9\x7E\x6D\x4C",
   6834	}, {
   6835		.plaintext = "message digest",
   6836		.psize	= 14,
   6837		.digest	= "\x37\x8C\x84\xA4\x12\x6E\x2D\xC6"
   6838			  "\xE5\x6D\xCC\x74\x58\x37\x7A\xAC"
   6839			  "\x83\x8D\x00\x03\x22\x30\xF5\x3C"
   6840			  "\xE1\xF5\x70\x0C\x0F\xFB\x4D\x3B",
   6841	}, {
   6842		.plaintext = "abcdefghijklmnopqrstuvwxyz",
   6843		.psize	= 26,
   6844		.digest	= "\xF1\xD7\x54\x66\x26\x36\xFF\xE9"
   6845			  "\x2C\x82\xEB\xB9\x21\x2A\x48\x4A"
   6846			  "\x8D\x38\x63\x1E\xAD\x42\x38\xF5"
   6847			  "\x44\x2E\xE1\x3B\x80\x54\xE4\x1B",
   6848	}, {
   6849		.plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
   6850			   "abcdefghijklmnopqrstuvwxyz0123456789",
   6851		.psize	= 62,
   6852		.digest	= "\xDC\x37\xE0\x08\xCF\x9E\xE6\x9B"
   6853			  "\xF1\x1F\x00\xED\x9A\xBA\x26\x90"
   6854			  "\x1D\xD7\xC2\x8C\xDE\xC0\x66\xCC"
   6855			  "\x6A\xF4\x2E\x40\xF8\x2F\x3A\x1E",
   6856	}, {
   6857		.plaintext = "1234567890123456789012345678901234567890"
   6858			   "1234567890123456789012345678901234567890",
   6859		.psize	= 80,
   6860		.digest	= "\x46\x6E\xF1\x8B\xAB\xB0\x15\x4D"
   6861			  "\x25\xB9\xD3\x8A\x64\x14\xF5\xC0"
   6862			  "\x87\x84\x37\x2B\xCC\xB2\x04\xD6"
   6863			  "\x54\x9C\x4A\xFA\xDB\x60\x14\x29",
   6864	}, {
   6865		.plaintext = "abcdbcdecdefdefgefghfghighijhijk",
   6866		.psize	= 32,
   6867		.digest	= "\x2A\x98\x7E\xA4\x0F\x91\x70\x61"
   6868			  "\xF5\xD6\xF0\xA0\xE4\x64\x4F\x48"
   6869			  "\x8A\x7A\x5A\x52\xDE\xEE\x65\x62"
   6870			  "\x07\xC5\x62\xF9\x88\xE9\x5C\x69",
   6871	},
   6872};
   6873
   6874static const struct hash_testvec ghash_tv_template[] =
   6875{
   6876	{
   6877		.key	= "\xdf\xa6\xbf\x4d\xed\x81\xdb\x03"
   6878			  "\xff\xca\xff\x95\xf8\x30\xf0\x61",
   6879		.ksize	= 16,
   6880		.plaintext = "\x95\x2b\x2a\x56\xa5\x60\x04a\xc0"
   6881			     "\xb3\x2b\x66\x56\xa0\x5b\x40\xb6",
   6882		.psize	= 16,
   6883		.digest	= "\xda\x53\xeb\x0a\xd2\xc5\x5b\xb6"
   6884			  "\x4f\xc4\x80\x2c\xc3\xfe\xda\x60",
   6885	}, {
   6886		.key	= "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
   6887			  "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b",
   6888		.ksize	= 16,
   6889		.plaintext = "what do ya want for nothing?",
   6890		.psize	= 28,
   6891		.digest	= "\x3e\x1f\x5c\x4d\x65\xf0\xef\xce"
   6892			  "\x0d\x61\x06\x27\x66\x51\xd5\xe2",
   6893	}, {
   6894		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   6895			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa",
   6896		.ksize	= 16,
   6897		.plaintext = "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
   6898			"\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
   6899			"\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
   6900			"\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd",
   6901		.psize	= 50,
   6902		.digest	= "\xfb\x49\x8a\x36\xe1\x96\xe1\x96"
   6903			  "\xe1\x96\xe1\x96\xe1\x96\xe1\x96",
   6904	}, {
   6905		.key	= "\xda\x53\xeb\x0a\xd2\xc5\x5b\xb6"
   6906			  "\x4f\xc4\x80\x2c\xc3\xfe\xda\x60",
   6907		.ksize	= 16,
   6908		.plaintext = "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"
   6909			"\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"
   6910			"\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"
   6911			"\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd",
   6912		.psize	= 50,
   6913		.digest	= "\x2b\x5c\x0c\x7f\x52\xd1\x60\xc2"
   6914			  "\x49\xed\x6e\x32\x7a\xa9\xbe\x08",
   6915	}, {
   6916		.key	= "\x95\x2b\x2a\x56\xa5\x60\x04a\xc0"
   6917			  "\xb3\x2b\x66\x56\xa0\x5b\x40\xb6",
   6918		.ksize	= 16,
   6919		.plaintext = "Test With Truncation",
   6920		.psize	= 20,
   6921		.digest	= "\xf8\x94\x87\x2a\x4b\x63\x99\x28"
   6922			  "\x23\xf7\x93\xf7\x19\xf5\x96\xd9",
   6923	}, {
   6924		.key	= "\x0a\x1b\x2c\x3d\x4e\x5f\x64\x71"
   6925			"\x82\x93\xa4\xb5\xc6\xd7\xe8\xf9",
   6926		.ksize	= 16,
   6927		.plaintext = "\x56\x6f\x72\x20\x6c\x61\x75\x74"
   6928			"\x65\x72\x20\x4c\x61\x75\x73\x63"
   6929			"\x68\x65\x6e\x20\x75\x6e\x64\x20"
   6930			"\x53\x74\x61\x75\x6e\x65\x6e\x20"
   6931			"\x73\x65\x69\x20\x73\x74\x69\x6c"
   6932			"\x6c\x2c\x0a\x64\x75\x20\x6d\x65"
   6933			"\x69\x6e\x20\x74\x69\x65\x66\x74"
   6934			"\x69\x65\x66\x65\x73\x20\x4c\x65"
   6935			"\x62\x65\x6e\x3b\x0a\x64\x61\x73"
   6936			"\x73\x20\x64\x75\x20\x77\x65\x69"
   6937			"\xc3\x9f\x74\x20\x77\x61\x73\x20"
   6938			"\x64\x65\x72\x20\x57\x69\x6e\x64"
   6939			"\x20\x64\x69\x72\x20\x77\x69\x6c"
   6940			"\x6c\x2c\x0a\x65\x68\x20\x6e\x6f"
   6941			"\x63\x68\x20\x64\x69\x65\x20\x42"
   6942			"\x69\x72\x6b\x65\x6e\x20\x62\x65"
   6943			"\x62\x65\x6e\x2e\x0a\x0a\x55\x6e"
   6944			"\x64\x20\x77\x65\x6e\x6e\x20\x64"
   6945			"\x69\x72\x20\x65\x69\x6e\x6d\x61"
   6946			"\x6c\x20\x64\x61\x73\x20\x53\x63"
   6947			"\x68\x77\x65\x69\x67\x65\x6e\x20"
   6948			"\x73\x70\x72\x61\x63\x68\x2c\x0a"
   6949			"\x6c\x61\x73\x73\x20\x64\x65\x69"
   6950			"\x6e\x65\x20\x53\x69\x6e\x6e\x65"
   6951			"\x20\x62\x65\x73\x69\x65\x67\x65"
   6952			"\x6e\x2e\x0a\x4a\x65\x64\x65\x6d"
   6953			"\x20\x48\x61\x75\x63\x68\x65\x20"
   6954			"\x67\x69\x62\x74\x20\x64\x69\x63"
   6955			"\x68\x2c\x20\x67\x69\x62\x20\x6e"
   6956			"\x61\x63\x68\x2c\x0a\x65\x72\x20"
   6957			"\x77\x69\x72\x64\x20\x64\x69\x63"
   6958			"\x68\x20\x6c\x69\x65\x62\x65\x6e"
   6959			"\x20\x75\x6e\x64\x20\x77\x69\x65"
   6960			"\x67\x65\x6e\x2e\x0a\x0a\x55\x6e"
   6961			"\x64\x20\x64\x61\x6e\x6e\x20\x6d"
   6962			"\x65\x69\x6e\x65\x20\x53\x65\x65"
   6963			"\x6c\x65\x20\x73\x65\x69\x74\x20"
   6964			"\x77\x65\x69\x74\x2c\x20\x73\x65"
   6965			"\x69\x20\x77\x65\x69\x74\x2c\x0a"
   6966			"\x64\x61\x73\x73\x20\x64\x69\x72"
   6967			"\x20\x64\x61\x73\x20\x4c\x65\x62"
   6968			"\x65\x6e\x20\x67\x65\x6c\x69\x6e"
   6969			"\x67\x65\x2c\x0a\x62\x72\x65\x69"
   6970			"\x74\x65\x20\x64\x69\x63\x68\x20"
   6971			"\x77\x69\x65\x20\x65\x69\x6e\x20"
   6972			"\x46\x65\x69\x65\x72\x6b\x6c\x65"
   6973			"\x69\x64\x0a\xc3\xbc\x62\x65\x72"
   6974			"\x20\x64\x69\x65\x20\x73\x69\x6e"
   6975			"\x6e\x65\x6e\x64\x65\x6e\x20\x44"
   6976			"\x69\x6e\x67\x65\x2e\x2e\x2e\x0a",
   6977		.psize	= 400,
   6978		.digest = "\xad\xb1\xc1\xe9\x56\x70\x31\x1d"
   6979			"\xbb\x5b\xdf\x5e\x70\x72\x1a\x57",
   6980	},
   6981};
   6982
   6983/*
   6984 * HMAC-MD5 test vectors from RFC2202
   6985 * (These need to be fixed to not use strlen).
   6986 */
   6987static const struct hash_testvec hmac_md5_tv_template[] =
   6988{
   6989	{
   6990		.key	= "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b",
   6991		.ksize	= 16,
   6992		.plaintext = "Hi There",
   6993		.psize	= 8,
   6994		.digest	= "\x92\x94\x72\x7a\x36\x38\xbb\x1c"
   6995			  "\x13\xf4\x8e\xf8\x15\x8b\xfc\x9d",
   6996	}, {
   6997		.key	= "Jefe",
   6998		.ksize	= 4,
   6999		.plaintext = "what do ya want for nothing?",
   7000		.psize	= 28,
   7001		.digest	= "\x75\x0c\x78\x3e\x6a\xb0\xb5\x03"
   7002			  "\xea\xa8\x6e\x31\x0a\x5d\xb7\x38",
   7003	}, {
   7004		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa",
   7005		.ksize	= 16,
   7006		.plaintext = "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
   7007			"\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
   7008			"\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
   7009			"\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd",
   7010		.psize	= 50,
   7011		.digest	= "\x56\xbe\x34\x52\x1d\x14\x4c\x88"
   7012			  "\xdb\xb8\xc7\x33\xf0\xe8\xb3\xf6",
   7013	}, {
   7014		.key	= "\x01\x02\x03\x04\x05\x06\x07\x08"
   7015			  "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10"
   7016			  "\x11\x12\x13\x14\x15\x16\x17\x18\x19",
   7017		.ksize	= 25,
   7018		.plaintext = "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"
   7019			"\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"
   7020			"\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"
   7021			"\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd",
   7022		.psize	= 50,
   7023		.digest	= "\x69\x7e\xaf\x0a\xca\x3a\x3a\xea"
   7024			  "\x3a\x75\x16\x47\x46\xff\xaa\x79",
   7025	}, {
   7026		.key	= "\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c",
   7027		.ksize	= 16,
   7028		.plaintext = "Test With Truncation",
   7029		.psize	= 20,
   7030		.digest	= "\x56\x46\x1e\xf2\x34\x2e\xdc\x00"
   7031			  "\xf9\xba\xb9\x95\x69\x0e\xfd\x4c",
   7032	}, {
   7033		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7034			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7035			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7036			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7037			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7038			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7039			"\xaa\xaa",
   7040		.ksize	= 80,
   7041		.plaintext = "Test Using Larger Than Block-Size Key - Hash Key First",
   7042		.psize	= 54,
   7043		.digest	= "\x6b\x1a\xb7\xfe\x4b\xd7\xbf\x8f"
   7044			  "\x0b\x62\xe6\xce\x61\xb9\xd0\xcd",
   7045	}, {
   7046		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7047			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7048			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7049			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7050			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7051			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7052			"\xaa\xaa",
   7053		.ksize	= 80,
   7054		.plaintext = "Test Using Larger Than Block-Size Key and Larger Than One "
   7055			   "Block-Size Data",
   7056		.psize	= 73,
   7057		.digest	= "\x6f\x63\x0f\xad\x67\xcd\xa0\xee"
   7058			  "\x1f\xb1\xf5\x62\xdb\x3a\xa5\x3e",
   7059	},
   7060};
   7061
   7062/*
   7063 * HMAC-RIPEMD160 test vectors from RFC2286
   7064 */
   7065static const struct hash_testvec hmac_rmd160_tv_template[] = {
   7066	{
   7067		.key	= "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b",
   7068		.ksize	= 20,
   7069		.plaintext = "Hi There",
   7070		.psize	= 8,
   7071		.digest	= "\x24\xcb\x4b\xd6\x7d\x20\xfc\x1a\x5d\x2e"
   7072			  "\xd7\x73\x2d\xcc\x39\x37\x7f\x0a\x56\x68",
   7073	}, {
   7074		.key	= "Jefe",
   7075		.ksize	= 4,
   7076		.plaintext = "what do ya want for nothing?",
   7077		.psize	= 28,
   7078		.digest	= "\xdd\xa6\xc0\x21\x3a\x48\x5a\x9e\x24\xf4"
   7079			  "\x74\x20\x64\xa7\xf0\x33\xb4\x3c\x40\x69",
   7080	}, {
   7081		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa",
   7082		.ksize	= 20,
   7083		.plaintext = "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
   7084			"\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
   7085			"\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
   7086			"\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd",
   7087		.psize	= 50,
   7088		.digest	= "\xb0\xb1\x05\x36\x0d\xe7\x59\x96\x0a\xb4"
   7089			  "\xf3\x52\x98\xe1\x16\xe2\x95\xd8\xe7\xc1",
   7090	}, {
   7091		.key	= "\x01\x02\x03\x04\x05\x06\x07\x08"
   7092			  "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10"
   7093			  "\x11\x12\x13\x14\x15\x16\x17\x18\x19",
   7094		.ksize	= 25,
   7095		.plaintext = "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"
   7096			"\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"
   7097			"\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"
   7098			"\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd",
   7099		.psize	= 50,
   7100		.digest	= "\xd5\xca\x86\x2f\x4d\x21\xd5\xe6\x10\xe1"
   7101			  "\x8b\x4c\xf1\xbe\xb9\x7a\x43\x65\xec\xf4",
   7102	}, {
   7103		.key	= "\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c",
   7104		.ksize	= 20,
   7105		.plaintext = "Test With Truncation",
   7106		.psize	= 20,
   7107		.digest	= "\x76\x19\x69\x39\x78\xf9\x1d\x90\x53\x9a"
   7108			  "\xe7\x86\x50\x0f\xf3\xd8\xe0\x51\x8e\x39",
   7109	}, {
   7110		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7111			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7112			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7113			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7114			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7115			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7116			"\xaa\xaa",
   7117		.ksize	= 80,
   7118		.plaintext = "Test Using Larger Than Block-Size Key - Hash Key First",
   7119		.psize	= 54,
   7120		.digest	= "\x64\x66\xca\x07\xac\x5e\xac\x29\xe1\xbd"
   7121			  "\x52\x3e\x5a\xda\x76\x05\xb7\x91\xfd\x8b",
   7122	}, {
   7123		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7124			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7125			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7126			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7127			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7128			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7129			"\xaa\xaa",
   7130		.ksize	= 80,
   7131		.plaintext = "Test Using Larger Than Block-Size Key and Larger Than One "
   7132			   "Block-Size Data",
   7133		.psize	= 73,
   7134		.digest	= "\x69\xea\x60\x79\x8d\x71\x61\x6c\xce\x5f"
   7135			  "\xd0\x87\x1e\x23\x75\x4c\xd7\x5d\x5a\x0a",
   7136	},
   7137};
   7138
   7139/*
   7140 * HMAC-SHA1 test vectors from RFC2202
   7141 */
   7142static const struct hash_testvec hmac_sha1_tv_template[] = {
   7143	{
   7144		.key	= "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b",
   7145		.ksize	= 20,
   7146		.plaintext = "Hi There",
   7147		.psize	= 8,
   7148		.digest	= "\xb6\x17\x31\x86\x55\x05\x72\x64"
   7149			  "\xe2\x8b\xc0\xb6\xfb\x37\x8c\x8e\xf1"
   7150			  "\x46\xbe",
   7151	}, {
   7152		.key	= "Jefe",
   7153		.ksize	= 4,
   7154		.plaintext = "what do ya want for nothing?",
   7155		.psize	= 28,
   7156		.digest	= "\xef\xfc\xdf\x6a\xe5\xeb\x2f\xa2\xd2\x74"
   7157			  "\x16\xd5\xf1\x84\xdf\x9c\x25\x9a\x7c\x79",
   7158		.fips_skip = 1,
   7159	}, {
   7160		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa",
   7161		.ksize	= 20,
   7162		.plaintext = "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
   7163			"\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
   7164			"\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
   7165			"\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd",
   7166		.psize	= 50,
   7167		.digest	= "\x12\x5d\x73\x42\xb9\xac\x11\xcd\x91\xa3"
   7168			  "\x9a\xf4\x8a\xa1\x7b\x4f\x63\xf1\x75\xd3",
   7169	}, {
   7170		.key	= "\x01\x02\x03\x04\x05\x06\x07\x08"
   7171			  "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10"
   7172			  "\x11\x12\x13\x14\x15\x16\x17\x18\x19",
   7173		.ksize	= 25,
   7174		.plaintext = "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"
   7175			"\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"
   7176			"\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"
   7177			"\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd",
   7178		.psize	= 50,
   7179		.digest	= "\x4c\x90\x07\xf4\x02\x62\x50\xc6\xbc\x84"
   7180			  "\x14\xf9\xbf\x50\xc8\x6c\x2d\x72\x35\xda",
   7181	}, {
   7182		.key	= "\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c",
   7183		.ksize	= 20,
   7184		.plaintext = "Test With Truncation",
   7185		.psize	= 20,
   7186		.digest	= "\x4c\x1a\x03\x42\x4b\x55\xe0\x7f\xe7\xf2"
   7187			  "\x7b\xe1\xd5\x8b\xb9\x32\x4a\x9a\x5a\x04",
   7188	}, {
   7189		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7190			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7191			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7192			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7193			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7194			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7195			"\xaa\xaa",
   7196		.ksize	= 80,
   7197		.plaintext = "Test Using Larger Than Block-Size Key - Hash Key First",
   7198		.psize	= 54,
   7199		.digest	= "\xaa\x4a\xe5\xe1\x52\x72\xd0\x0e\x95\x70"
   7200			  "\x56\x37\xce\x8a\x3b\x55\xed\x40\x21\x12",
   7201	}, {
   7202		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7203			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7204			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7205			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7206			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7207			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7208			"\xaa\xaa",
   7209		.ksize	= 80,
   7210		.plaintext = "Test Using Larger Than Block-Size Key and Larger Than One "
   7211			   "Block-Size Data",
   7212		.psize	= 73,
   7213		.digest	= "\xe8\xe9\x9d\x0f\x45\x23\x7d\x78\x6d\x6b"
   7214			  "\xba\xa7\x96\x5c\x78\x08\xbb\xff\x1a\x91",
   7215	},
   7216};
   7217
   7218
   7219/*
   7220 * SHA224 HMAC test vectors from RFC4231
   7221 */
   7222static const struct hash_testvec hmac_sha224_tv_template[] = {
   7223	{
   7224		.key    = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
   7225			"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
   7226			"\x0b\x0b\x0b\x0b",
   7227		.ksize  = 20,
   7228		/*  ("Hi There") */
   7229		.plaintext = "\x48\x69\x20\x54\x68\x65\x72\x65",
   7230		.psize  = 8,
   7231		.digest = "\x89\x6f\xb1\x12\x8a\xbb\xdf\x19"
   7232			"\x68\x32\x10\x7c\xd4\x9d\xf3\x3f"
   7233			"\x47\xb4\xb1\x16\x99\x12\xba\x4f"
   7234			"\x53\x68\x4b\x22",
   7235	}, {
   7236		.key    = "Jefe",
   7237		.ksize  = 4,
   7238		/* ("what do ya want for nothing?") */
   7239		.plaintext = "\x77\x68\x61\x74\x20\x64\x6f\x20"
   7240			"\x79\x61\x20\x77\x61\x6e\x74\x20"
   7241			"\x66\x6f\x72\x20\x6e\x6f\x74\x68"
   7242			"\x69\x6e\x67\x3f",
   7243		.psize  = 28,
   7244		.digest = "\xa3\x0e\x01\x09\x8b\xc6\xdb\xbf"
   7245			"\x45\x69\x0f\x3a\x7e\x9e\x6d\x0f"
   7246			"\x8b\xbe\xa2\xa3\x9e\x61\x48\x00"
   7247			"\x8f\xd0\x5e\x44",
   7248		.fips_skip = 1,
   7249	}, {
   7250		.key    = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7251			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7252			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7253			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7254			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7255			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7256			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7257			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7258			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7259			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7260			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7261			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7262			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7263			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7264			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7265			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7266			"\xaa\xaa\xaa",
   7267		.ksize  = 131,
   7268		/* ("Test Using Larger Than Block-Size Key - Hash Key First") */
   7269		.plaintext = "\x54\x65\x73\x74\x20\x55\x73\x69"
   7270			"\x6e\x67\x20\x4c\x61\x72\x67\x65"
   7271			"\x72\x20\x54\x68\x61\x6e\x20\x42"
   7272			"\x6c\x6f\x63\x6b\x2d\x53\x69\x7a"
   7273			"\x65\x20\x4b\x65\x79\x20\x2d\x20"
   7274			"\x48\x61\x73\x68\x20\x4b\x65\x79"
   7275			"\x20\x46\x69\x72\x73\x74",
   7276		.psize  = 54,
   7277		.digest = "\x95\xe9\xa0\xdb\x96\x20\x95\xad"
   7278			"\xae\xbe\x9b\x2d\x6f\x0d\xbc\xe2"
   7279			"\xd4\x99\xf1\x12\xf2\xd2\xb7\x27"
   7280			"\x3f\xa6\x87\x0e",
   7281	}, {
   7282		.key    = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7283			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7284			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7285			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7286			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7287			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7288			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7289			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7290			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7291			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7292			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7293			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7294			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7295			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7296			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7297			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7298			"\xaa\xaa\xaa",
   7299		.ksize  = 131,
   7300		/* ("This is a test using a larger than block-size key and a")
   7301		(" larger than block-size data. The key needs to be")
   7302			(" hashed before being used by the HMAC algorithm.") */
   7303		.plaintext = "\x54\x68\x69\x73\x20\x69\x73\x20"
   7304			"\x61\x20\x74\x65\x73\x74\x20\x75"
   7305			"\x73\x69\x6e\x67\x20\x61\x20\x6c"
   7306			"\x61\x72\x67\x65\x72\x20\x74\x68"
   7307			"\x61\x6e\x20\x62\x6c\x6f\x63\x6b"
   7308			"\x2d\x73\x69\x7a\x65\x20\x6b\x65"
   7309			"\x79\x20\x61\x6e\x64\x20\x61\x20"
   7310			"\x6c\x61\x72\x67\x65\x72\x20\x74"
   7311			"\x68\x61\x6e\x20\x62\x6c\x6f\x63"
   7312			"\x6b\x2d\x73\x69\x7a\x65\x20\x64"
   7313			"\x61\x74\x61\x2e\x20\x54\x68\x65"
   7314			"\x20\x6b\x65\x79\x20\x6e\x65\x65"
   7315			"\x64\x73\x20\x74\x6f\x20\x62\x65"
   7316			"\x20\x68\x61\x73\x68\x65\x64\x20"
   7317			"\x62\x65\x66\x6f\x72\x65\x20\x62"
   7318			"\x65\x69\x6e\x67\x20\x75\x73\x65"
   7319			"\x64\x20\x62\x79\x20\x74\x68\x65"
   7320			"\x20\x48\x4d\x41\x43\x20\x61\x6c"
   7321			"\x67\x6f\x72\x69\x74\x68\x6d\x2e",
   7322		.psize  = 152,
   7323		.digest = "\x3a\x85\x41\x66\xac\x5d\x9f\x02"
   7324			"\x3f\x54\xd5\x17\xd0\xb3\x9d\xbd"
   7325			"\x94\x67\x70\xdb\x9c\x2b\x95\xc9"
   7326			"\xf6\xf5\x65\xd1",
   7327	},
   7328};
   7329
   7330/*
   7331 * HMAC-SHA256 test vectors from
   7332 * draft-ietf-ipsec-ciph-sha-256-01.txt
   7333 */
   7334static const struct hash_testvec hmac_sha256_tv_template[] = {
   7335	{
   7336		.key	= "\x01\x02\x03\x04\x05\x06\x07\x08"
   7337			  "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10"
   7338			  "\x11\x12\x13\x14\x15\x16\x17\x18"
   7339			  "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20",
   7340		.ksize	= 32,
   7341		.plaintext = "abc",
   7342		.psize	= 3,
   7343		.digest	= "\xa2\x1b\x1f\x5d\x4c\xf4\xf7\x3a"
   7344			  "\x4d\xd9\x39\x75\x0f\x7a\x06\x6a"
   7345			  "\x7f\x98\xcc\x13\x1c\xb1\x6a\x66"
   7346			  "\x92\x75\x90\x21\xcf\xab\x81\x81",
   7347	}, {
   7348		.key	= "\x01\x02\x03\x04\x05\x06\x07\x08"
   7349			  "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10"
   7350			  "\x11\x12\x13\x14\x15\x16\x17\x18"
   7351			  "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20",
   7352		.ksize	= 32,
   7353		.plaintext = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
   7354		.psize	= 56,
   7355		.digest	= "\x10\x4f\xdc\x12\x57\x32\x8f\x08"
   7356			  "\x18\x4b\xa7\x31\x31\xc5\x3c\xae"
   7357			  "\xe6\x98\xe3\x61\x19\x42\x11\x49"
   7358			  "\xea\x8c\x71\x24\x56\x69\x7d\x30",
   7359	}, {
   7360		.key	= "\x01\x02\x03\x04\x05\x06\x07\x08"
   7361			  "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10"
   7362			  "\x11\x12\x13\x14\x15\x16\x17\x18"
   7363			  "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20",
   7364		.ksize	= 32,
   7365		.plaintext = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
   7366			   "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
   7367		.psize	= 112,
   7368		.digest	= "\x47\x03\x05\xfc\x7e\x40\xfe\x34"
   7369			  "\xd3\xee\xb3\xe7\x73\xd9\x5a\xab"
   7370			  "\x73\xac\xf0\xfd\x06\x04\x47\xa5"
   7371			  "\xeb\x45\x95\xbf\x33\xa9\xd1\xa3",
   7372	}, {
   7373		.key	= "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
   7374			"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
   7375			"\x0b\x0b\x0b\x0b\x0b\x0b",
   7376		.ksize	= 32,
   7377		.plaintext = "Hi There",
   7378		.psize	= 8,
   7379		.digest	= "\x19\x8a\x60\x7e\xb4\x4b\xfb\xc6"
   7380			  "\x99\x03\xa0\xf1\xcf\x2b\xbd\xc5"
   7381			  "\xba\x0a\xa3\xf3\xd9\xae\x3c\x1c"
   7382			  "\x7a\x3b\x16\x96\xa0\xb6\x8c\xf7",
   7383	}, {
   7384		.key	= "Jefe",
   7385		.ksize	= 4,
   7386		.plaintext = "what do ya want for nothing?",
   7387		.psize	= 28,
   7388		.digest	= "\x5b\xdc\xc1\x46\xbf\x60\x75\x4e"
   7389			  "\x6a\x04\x24\x26\x08\x95\x75\xc7"
   7390			  "\x5a\x00\x3f\x08\x9d\x27\x39\x83"
   7391			  "\x9d\xec\x58\xb9\x64\xec\x38\x43",
   7392		.fips_skip = 1,
   7393	}, {
   7394		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7395			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7396			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa",
   7397		.ksize	= 32,
   7398		.plaintext = "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
   7399			"\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
   7400			"\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
   7401			"\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd",
   7402		.psize	= 50,
   7403		.digest	= "\xcd\xcb\x12\x20\xd1\xec\xcc\xea"
   7404			  "\x91\xe5\x3a\xba\x30\x92\xf9\x62"
   7405			  "\xe5\x49\xfe\x6c\xe9\xed\x7f\xdc"
   7406			  "\x43\x19\x1f\xbd\xe4\x5c\x30\xb0",
   7407	}, {
   7408		.key	= "\x01\x02\x03\x04\x05\x06\x07\x08"
   7409			  "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10"
   7410			  "\x11\x12\x13\x14\x15\x16\x17\x18"
   7411			  "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20"
   7412			  "\x21\x22\x23\x24\x25",
   7413		.ksize	= 37,
   7414		.plaintext = "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"
   7415			"\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"
   7416			"\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd"
   7417			"\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd",
   7418		.psize	= 50,
   7419		.digest	= "\xd4\x63\x3c\x17\xf6\xfb\x8d\x74"
   7420			  "\x4c\x66\xde\xe0\xf8\xf0\x74\x55"
   7421			  "\x6e\xc4\xaf\x55\xef\x07\x99\x85"
   7422			  "\x41\x46\x8e\xb4\x9b\xd2\xe9\x17",
   7423	}, {
   7424		.key	= "\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c"
   7425			"\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c"
   7426			"\x0c\x0c\x0c\x0c\x0c\x0c",
   7427		.ksize	= 32,
   7428		.plaintext = "Test With Truncation",
   7429		.psize	= 20,
   7430		.digest	= "\x75\x46\xaf\x01\x84\x1f\xc0\x9b"
   7431			  "\x1a\xb9\xc3\x74\x9a\x5f\x1c\x17"
   7432			  "\xd4\xf5\x89\x66\x8a\x58\x7b\x27"
   7433			  "\x00\xa9\xc9\x7c\x11\x93\xcf\x42",
   7434	}, {
   7435		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7436			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7437			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7438			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7439			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7440			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7441			"\xaa\xaa",
   7442		.ksize	= 80,
   7443		.plaintext = "Test Using Larger Than Block-Size Key - Hash Key First",
   7444		.psize	= 54,
   7445		.digest	= "\x69\x53\x02\x5e\xd9\x6f\x0c\x09"
   7446			  "\xf8\x0a\x96\xf7\x8e\x65\x38\xdb"
   7447			  "\xe2\xe7\xb8\x20\xe3\xdd\x97\x0e"
   7448			  "\x7d\xdd\x39\x09\x1b\x32\x35\x2f",
   7449	}, {
   7450		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7451			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7452			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7453			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7454			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7455			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7456			"\xaa\xaa",
   7457		.ksize	= 80,
   7458		.plaintext = "Test Using Larger Than Block-Size Key and Larger Than "
   7459			   "One Block-Size Data",
   7460		.psize	= 73,
   7461		.digest	= "\x63\x55\xac\x22\xe8\x90\xd0\xa3"
   7462			  "\xc8\x48\x1a\x5c\xa4\x82\x5b\xc8"
   7463			  "\x84\xd3\xe7\xa1\xff\x98\xa2\xfc"
   7464			  "\x2a\xc7\xd8\xe0\x64\xc3\xb2\xe6",
   7465	},
   7466};
   7467
   7468static const struct hash_testvec aes_cmac128_tv_template[] = {
   7469	{ /* From NIST Special Publication 800-38B, AES-128 */
   7470		.key		= "\x2b\x7e\x15\x16\x28\xae\xd2\xa6"
   7471				  "\xab\xf7\x15\x88\x09\xcf\x4f\x3c",
   7472		.plaintext	= zeroed_string,
   7473		.digest		= "\xbb\x1d\x69\x29\xe9\x59\x37\x28"
   7474				  "\x7f\xa3\x7d\x12\x9b\x75\x67\x46",
   7475		.psize		= 0,
   7476		.ksize		= 16,
   7477	}, {
   7478		.key		= "\x2b\x7e\x15\x16\x28\xae\xd2\xa6"
   7479				  "\xab\xf7\x15\x88\x09\xcf\x4f\x3c",
   7480		.plaintext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
   7481				  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a",
   7482		.digest		= "\x07\x0a\x16\xb4\x6b\x4d\x41\x44"
   7483				  "\xf7\x9b\xdd\x9d\xd0\x4a\x28\x7c",
   7484		.psize		= 16,
   7485		.ksize		= 16,
   7486	}, {
   7487		.key		= "\x2b\x7e\x15\x16\x28\xae\xd2\xa6"
   7488				  "\xab\xf7\x15\x88\x09\xcf\x4f\x3c",
   7489		.plaintext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
   7490				  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
   7491				  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
   7492				  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
   7493				  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11",
   7494		.digest		= "\xdf\xa6\x67\x47\xde\x9a\xe6\x30"
   7495				  "\x30\xca\x32\x61\x14\x97\xc8\x27",
   7496		.psize		= 40,
   7497		.ksize		= 16,
   7498	}, {
   7499		.key		= "\x2b\x7e\x15\x16\x28\xae\xd2\xa6"
   7500				  "\xab\xf7\x15\x88\x09\xcf\x4f\x3c",
   7501		.plaintext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
   7502				  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
   7503				  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
   7504				  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
   7505				  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
   7506				  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
   7507				  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
   7508				  "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
   7509		.digest		= "\x51\xf0\xbe\xbf\x7e\x3b\x9d\x92"
   7510				  "\xfc\x49\x74\x17\x79\x36\x3c\xfe",
   7511		.psize		= 64,
   7512		.ksize		= 16,
   7513	}, { /* From NIST Special Publication 800-38B, AES-256 */
   7514		.key		= "\x60\x3d\xeb\x10\x15\xca\x71\xbe"
   7515				  "\x2b\x73\xae\xf0\x85\x7d\x77\x81"
   7516				  "\x1f\x35\x2c\x07\x3b\x61\x08\xd7"
   7517				  "\x2d\x98\x10\xa3\x09\x14\xdf\xf4",
   7518		.plaintext	= zeroed_string,
   7519		.digest		= "\x02\x89\x62\xf6\x1b\x7b\xf8\x9e"
   7520				  "\xfc\x6b\x55\x1f\x46\x67\xd9\x83",
   7521		.psize		= 0,
   7522		.ksize		= 32,
   7523	}, {
   7524		.key		= "\x60\x3d\xeb\x10\x15\xca\x71\xbe"
   7525				  "\x2b\x73\xae\xf0\x85\x7d\x77\x81"
   7526				  "\x1f\x35\x2c\x07\x3b\x61\x08\xd7"
   7527				  "\x2d\x98\x10\xa3\x09\x14\xdf\xf4",
   7528		.plaintext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
   7529				  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
   7530				  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
   7531				  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
   7532				  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
   7533				  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
   7534				  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
   7535				  "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
   7536		.digest		= "\xe1\x99\x21\x90\x54\x9f\x6e\xd5"
   7537				  "\x69\x6a\x2c\x05\x6c\x31\x54\x10",
   7538		.psize		= 64,
   7539		.ksize		= 32,
   7540	}
   7541};
   7542
   7543static const struct hash_testvec aes_cbcmac_tv_template[] = {
   7544	{
   7545		.key		= "\x2b\x7e\x15\x16\x28\xae\xd2\xa6"
   7546				  "\xab\xf7\x15\x88\x09\xcf\x4f\x3c",
   7547		.plaintext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
   7548				  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a",
   7549		.digest		= "\x3a\xd7\x7b\xb4\x0d\x7a\x36\x60"
   7550				  "\xa8\x9e\xca\xf3\x24\x66\xef\x97",
   7551		.psize		= 16,
   7552		.ksize		= 16,
   7553	}, {
   7554		.key		= "\x2b\x7e\x15\x16\x28\xae\xd2\xa6"
   7555				  "\xab\xf7\x15\x88\x09\xcf\x4f\x3c",
   7556		.plaintext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
   7557				  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
   7558				  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
   7559				  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
   7560				  "\x30",
   7561		.digest		= "\x9d\x0d\xd0\x63\xfb\xcb\x24\x43"
   7562				  "\xf8\xf2\x76\x03\xac\x39\xb0\x9d",
   7563		.psize		= 33,
   7564		.ksize		= 16,
   7565	}, {
   7566		.key		= "\x2b\x7e\x15\x16\x28\xae\xd2\xa6"
   7567				  "\xab\xf7\x15\x88\x09\xcf\x4f\x3c",
   7568		.plaintext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
   7569				  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
   7570				  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
   7571				  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
   7572				  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
   7573				  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
   7574				  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
   7575				  "\xad\x2b\x41\x7b\xe6\x6c\x37",
   7576		.digest		= "\xc0\x71\x73\xb8\xa0\x2c\x11\x7c"
   7577				  "\xaf\xdc\xb2\xf8\x89\x32\xa3\x3a",
   7578		.psize		= 63,
   7579		.ksize		= 16,
   7580	}, {
   7581		.key		= "\x60\x3d\xeb\x10\x15\xca\x71\xbe"
   7582				  "\x2b\x73\xae\xf0\x85\x7d\x77\x81"
   7583				  "\x1f\x35\x2c\x07\x3b\x61\x08\xd7"
   7584				  "\x2d\x98\x10\xa3\x09\x14\xdf\xf4",
   7585		.plaintext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
   7586				  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
   7587				  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
   7588				  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
   7589				  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
   7590				  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
   7591				  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
   7592				  "\xad\x2b\x41\x7b\xe6\x6c\x37\x10"
   7593				  "\x1c",
   7594		.digest		= "\x6a\x4e\xdb\x21\x47\x51\xdf\x4f"
   7595				  "\xa8\x4d\x4c\x10\x3b\x72\x7d\xd6",
   7596		.psize		= 65,
   7597		.ksize		= 32,
   7598	}
   7599};
   7600
   7601static const struct hash_testvec des3_ede_cmac64_tv_template[] = {
   7602/*
   7603 * From NIST Special Publication 800-38B, Three Key TDEA
   7604 * Corrected test vectors from:
   7605 *  http://csrc.nist.gov/publications/nistpubs/800-38B/Updated_CMAC_Examples.pdf
   7606 */
   7607	{
   7608		.key		= "\x8a\xa8\x3b\xf8\xcb\xda\x10\x62"
   7609				  "\x0b\xc1\xbf\x19\xfb\xb6\xcd\x58"
   7610				  "\xbc\x31\x3d\x4a\x37\x1c\xa8\xb5",
   7611		.plaintext	= zeroed_string,
   7612		.digest		= "\xb7\xa6\x88\xe1\x22\xff\xaf\x95",
   7613		.psize		= 0,
   7614		.ksize		= 24,
   7615	}, {
   7616		.key		= "\x8a\xa8\x3b\xf8\xcb\xda\x10\x62"
   7617				  "\x0b\xc1\xbf\x19\xfb\xb6\xcd\x58"
   7618				  "\xbc\x31\x3d\x4a\x37\x1c\xa8\xb5",
   7619		.plaintext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96",
   7620		.digest		= "\x8e\x8f\x29\x31\x36\x28\x37\x97",
   7621		.psize		= 8,
   7622		.ksize		= 24,
   7623	}, {
   7624		.key		= "\x8a\xa8\x3b\xf8\xcb\xda\x10\x62"
   7625				  "\x0b\xc1\xbf\x19\xfb\xb6\xcd\x58"
   7626				  "\xbc\x31\x3d\x4a\x37\x1c\xa8\xb5",
   7627		.plaintext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
   7628				  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
   7629				  "\xae\x2d\x8a\x57",
   7630		.digest		= "\x74\x3d\xdb\xe0\xce\x2d\xc2\xed",
   7631		.psize		= 20,
   7632		.ksize		= 24,
   7633	}, {
   7634		.key		= "\x8a\xa8\x3b\xf8\xcb\xda\x10\x62"
   7635				  "\x0b\xc1\xbf\x19\xfb\xb6\xcd\x58"
   7636				  "\xbc\x31\x3d\x4a\x37\x1c\xa8\xb5",
   7637		.plaintext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
   7638				  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
   7639				  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
   7640				  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51",
   7641		.digest		= "\x33\xe6\xb1\x09\x24\x00\xea\xe5",
   7642		.psize		= 32,
   7643		.ksize		= 24,
   7644	}
   7645};
   7646
   7647static const struct hash_testvec aes_xcbc128_tv_template[] = {
   7648	{
   7649		.key	= "\x00\x01\x02\x03\x04\x05\x06\x07"
   7650			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
   7651		.plaintext = zeroed_string,
   7652		.digest = "\x75\xf0\x25\x1d\x52\x8a\xc0\x1c"
   7653			  "\x45\x73\xdf\xd5\x84\xd7\x9f\x29",
   7654		.psize	= 0,
   7655		.ksize	= 16,
   7656	}, {
   7657		.key	= "\x00\x01\x02\x03\x04\x05\x06\x07"
   7658			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
   7659		.plaintext = "\x00\x01\x02",
   7660		.digest	= "\x5b\x37\x65\x80\xae\x2f\x19\xaf"
   7661			  "\xe7\x21\x9c\xee\xf1\x72\x75\x6f",
   7662		.psize	= 3,
   7663		.ksize	= 16,
   7664	} , {
   7665		.key	= "\x00\x01\x02\x03\x04\x05\x06\x07"
   7666			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
   7667		.plaintext = "\x00\x01\x02\x03\x04\x05\x06\x07"
   7668			     "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
   7669		.digest = "\xd2\xa2\x46\xfa\x34\x9b\x68\xa7"
   7670			  "\x99\x98\xa4\x39\x4f\xf7\xa2\x63",
   7671		.psize	= 16,
   7672		.ksize	= 16,
   7673	}, {
   7674		.key	= "\x00\x01\x02\x03\x04\x05\x06\x07"
   7675			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
   7676		.plaintext = "\x00\x01\x02\x03\x04\x05\x06\x07"
   7677			     "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
   7678			     "\x10\x11\x12\x13",
   7679		.digest = "\x47\xf5\x1b\x45\x64\x96\x62\x15"
   7680			  "\xb8\x98\x5c\x63\x05\x5e\xd3\x08",
   7681		.psize	= 20,
   7682		.ksize	= 16,
   7683	}, {
   7684		.key	= "\x00\x01\x02\x03\x04\x05\x06\x07"
   7685			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
   7686		.plaintext = "\x00\x01\x02\x03\x04\x05\x06\x07"
   7687			     "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
   7688			     "\x10\x11\x12\x13\x14\x15\x16\x17"
   7689			     "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f",
   7690		.digest = "\xf5\x4f\x0e\xc8\xd2\xb9\xf3\xd3"
   7691			  "\x68\x07\x73\x4b\xd5\x28\x3f\xd4",
   7692		.psize	= 32,
   7693		.ksize	= 16,
   7694	}, {
   7695		.key	= "\x00\x01\x02\x03\x04\x05\x06\x07"
   7696			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
   7697		.plaintext = "\x00\x01\x02\x03\x04\x05\x06\x07"
   7698			     "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
   7699			     "\x10\x11\x12\x13\x14\x15\x16\x17"
   7700			     "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
   7701			     "\x20\x21",
   7702		.digest = "\xbe\xcb\xb3\xbc\xcd\xb5\x18\xa3"
   7703			  "\x06\x77\xd5\x48\x1f\xb6\xb4\xd8",
   7704		.psize	= 34,
   7705		.ksize	= 16,
   7706	}
   7707};
   7708
   7709static const char vmac64_string1[144] = {
   7710	'\0',     '\0',   '\0',   '\0',   '\0',   '\0',   '\0',   '\0',
   7711	'\0',     '\0',   '\0',   '\0',   '\0',   '\0',   '\0',   '\0',
   7712	'\x01', '\x01', '\x01', '\x01', '\x02', '\x03', '\x02', '\x02',
   7713	'\x02', '\x04', '\x01', '\x07', '\x04', '\x01', '\x04', '\x03',
   7714};
   7715
   7716static const char vmac64_string2[144] = {
   7717	'\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0',
   7718	'\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0',
   7719	 'a',  'b',  'c',
   7720};
   7721
   7722static const char vmac64_string3[144] = {
   7723	'\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0',
   7724	'\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0',
   7725	 'a',  'b',  'c',  'a',  'b',  'c',  'a',  'b',
   7726	 'c',  'a',  'b',  'c',  'a',  'b',  'c',  'a',
   7727	 'b',  'c',  'a',  'b',  'c',  'a',  'b',  'c',
   7728	 'a',  'b',  'c',  'a',  'b',  'c',  'a',  'b',
   7729	 'c',  'a',  'b',  'c',  'a',  'b',  'c',  'a',
   7730	 'b',  'c',  'a',  'b',  'c',  'a',  'b',  'c',
   7731};
   7732
   7733static const char vmac64_string4[33] = {
   7734	'\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0',
   7735	'\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0',
   7736	'b',   'c',  'e',  'f',  'i',  'j',  'l',  'm',
   7737	'o',   'p',  'r',  's',  't',  'u',  'w',  'x',
   7738	'z',
   7739};
   7740
   7741static const char vmac64_string5[143] = {
   7742	'\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0',
   7743	'\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0',
   7744	 'r',  'm',  'b',  't',  'c',  'o',  'l',  'k',
   7745	 ']',  '%',  '9',  '2',  '7',  '!',  'A',
   7746};
   7747
   7748static const char vmac64_string6[145] = {
   7749	'\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0',
   7750	'\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0',
   7751	 'p',  't',  '*',  '7',  'l',  'i',  '!',  '#',
   7752	 'w',  '0',  'z',  '/',  '4',  'A',  'n',
   7753};
   7754
   7755static const struct hash_testvec vmac64_aes_tv_template[] = {
   7756	{ /* draft-krovetz-vmac-01 test vector 1 */
   7757		.key	= "abcdefghijklmnop",
   7758		.ksize	= 16,
   7759		.plaintext = "\0\0\0\0\0\0\0\0bcdefghi",
   7760		.psize	= 16,
   7761		.digest	= "\x25\x76\xbe\x1c\x56\xd8\xb8\x1b",
   7762	}, { /* draft-krovetz-vmac-01 test vector 2 */
   7763		.key	= "abcdefghijklmnop",
   7764		.ksize	= 16,
   7765		.plaintext = "\0\0\0\0\0\0\0\0bcdefghiabc",
   7766		.psize	= 19,
   7767		.digest	= "\x2d\x37\x6c\xf5\xb1\x81\x3c\xe5",
   7768	}, { /* draft-krovetz-vmac-01 test vector 3 */
   7769		.key	= "abcdefghijklmnop",
   7770		.ksize	= 16,
   7771		.plaintext = "\0\0\0\0\0\0\0\0bcdefghi"
   7772			  "abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc",
   7773		.psize	= 64,
   7774		.digest	= "\xe8\x42\x1f\x61\xd5\x73\xd2\x98",
   7775	}, { /* draft-krovetz-vmac-01 test vector 4 */
   7776		.key	= "abcdefghijklmnop",
   7777		.ksize	= 16,
   7778		.plaintext = "\0\0\0\0\0\0\0\0bcdefghi"
   7779			  "abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc"
   7780			  "abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc"
   7781			  "abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc"
   7782			  "abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc"
   7783			  "abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc"
   7784			  "abcabcabcabcabcabcabcabcabcabcabcabcabcabcabc",
   7785		.psize	= 316,
   7786		.digest	= "\x44\x92\xdf\x6c\x5c\xac\x1b\xbe",
   7787	}, {
   7788		.key	= "\x00\x01\x02\x03\x04\x05\x06\x07"
   7789			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
   7790		.ksize	= 16,
   7791		.plaintext = "\x00\x00\x00\x00\x00\x00\x00\x00"
   7792			  "\x00\x00\x00\x00\x00\x00\x00\x00",
   7793		.psize	= 16,
   7794		.digest	= "\x54\x7b\xa4\x77\x35\x80\x58\x07",
   7795	}, {
   7796		.key	= "\x00\x01\x02\x03\x04\x05\x06\x07"
   7797			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
   7798		.ksize	= 16,
   7799		.plaintext = vmac64_string1,
   7800		.psize	= sizeof(vmac64_string1),
   7801		.digest	= "\xa1\x8c\x68\xae\xd3\x3c\xf5\xce",
   7802	}, {
   7803		.key	= "\x00\x01\x02\x03\x04\x05\x06\x07"
   7804			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
   7805		.ksize	= 16,
   7806		.plaintext = vmac64_string2,
   7807		.psize	= sizeof(vmac64_string2),
   7808		.digest	= "\x2d\x14\xbd\x81\x73\xb0\x27\xc9",
   7809	}, {
   7810		.key	= "\x00\x01\x02\x03\x04\x05\x06\x07"
   7811			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
   7812		.ksize	= 16,
   7813		.plaintext = vmac64_string3,
   7814		.psize	= sizeof(vmac64_string3),
   7815		.digest	= "\x19\x0b\x47\x98\x8c\x95\x1a\x8d",
   7816	}, {
   7817		.key	= "abcdefghijklmnop",
   7818		.ksize	= 16,
   7819		.plaintext = "\x00\x00\x00\x00\x00\x00\x00\x00"
   7820			  "\x00\x00\x00\x00\x00\x00\x00\x00",
   7821		.psize	= 16,
   7822		.digest	= "\x84\x8f\x55\x9e\x26\xa1\x89\x3b",
   7823	}, {
   7824		.key	= "abcdefghijklmnop",
   7825		.ksize	= 16,
   7826		.plaintext = vmac64_string1,
   7827		.psize	= sizeof(vmac64_string1),
   7828		.digest	= "\xc2\x74\x8d\xf6\xb0\xab\x5e\xab",
   7829	}, {
   7830		.key	= "abcdefghijklmnop",
   7831		.ksize	= 16,
   7832		.plaintext = vmac64_string2,
   7833		.psize	= sizeof(vmac64_string2),
   7834		.digest	= "\xdf\x09\x7b\x3d\x42\x68\x15\x11",
   7835	}, {
   7836		.key	= "abcdefghijklmnop",
   7837		.ksize	= 16,
   7838		.plaintext = vmac64_string3,
   7839		.psize	= sizeof(vmac64_string3),
   7840		.digest	= "\xd4\xfa\x8f\xed\xe1\x8f\x32\x8b",
   7841	}, {
   7842		.key	= "a09b5cd!f#07K\x00\x00\x00",
   7843		.ksize	= 16,
   7844		.plaintext = vmac64_string4,
   7845		.psize	= sizeof(vmac64_string4),
   7846		.digest	= "\x5f\xa1\x4e\x42\xea\x0f\xa5\xab",
   7847	}, {
   7848		.key	= "a09b5cd!f#07K\x00\x00\x00",
   7849		.ksize	= 16,
   7850		.plaintext = vmac64_string5,
   7851		.psize	= sizeof(vmac64_string5),
   7852		.digest	= "\x60\x67\xe8\x1d\xbc\x98\x31\x25",
   7853	}, {
   7854		.key	= "a09b5cd!f#07K\x00\x00\x00",
   7855		.ksize	= 16,
   7856		.plaintext = vmac64_string6,
   7857		.psize	= sizeof(vmac64_string6),
   7858		.digest	= "\x41\xeb\x65\x95\x47\x9b\xae\xc4",
   7859	},
   7860};
   7861
   7862/*
   7863 * SHA384 HMAC test vectors from RFC4231
   7864 */
   7865
   7866static const struct hash_testvec hmac_sha384_tv_template[] = {
   7867	{
   7868		.key	= "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
   7869			  "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
   7870			  "\x0b\x0b\x0b\x0b",
   7871		.ksize	= 20,
   7872		.plaintext = "Hi There",
   7873		.psize	= 8,
   7874		.digest	= "\xaf\xd0\x39\x44\xd8\x48\x95\x62"
   7875			  "\x6b\x08\x25\xf4\xab\x46\x90\x7f"
   7876			  "\x15\xf9\xda\xdb\xe4\x10\x1e\xc6"
   7877			  "\x82\xaa\x03\x4c\x7c\xeb\xc5\x9c"
   7878			  "\xfa\xea\x9e\xa9\x07\x6e\xde\x7f"
   7879			  "\x4a\xf1\x52\xe8\xb2\xfa\x9c\xb6",
   7880	}, {
   7881		.key	= "Jefe",
   7882		.ksize	= 4,
   7883		.plaintext = "what do ya want for nothing?",
   7884		.psize	= 28,
   7885		.digest	= "\xaf\x45\xd2\xe3\x76\x48\x40\x31"
   7886			  "\x61\x7f\x78\xd2\xb5\x8a\x6b\x1b"
   7887			  "\x9c\x7e\xf4\x64\xf5\xa0\x1b\x47"
   7888			  "\xe4\x2e\xc3\x73\x63\x22\x44\x5e"
   7889			  "\x8e\x22\x40\xca\x5e\x69\xe2\xc7"
   7890			  "\x8b\x32\x39\xec\xfa\xb2\x16\x49",
   7891		.fips_skip = 1,
   7892	}, {
   7893		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7894			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7895			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7896			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7897			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7898			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7899			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7900			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7901			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7902			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7903			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7904			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7905			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7906			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7907			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7908			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7909			  "\xaa\xaa\xaa",
   7910		.ksize	= 131,
   7911		.plaintext = "Test Using Larger Than Block-Siz"
   7912			   "e Key - Hash Key First",
   7913		.psize	= 54,
   7914		.digest	= "\x4e\xce\x08\x44\x85\x81\x3e\x90"
   7915			  "\x88\xd2\xc6\x3a\x04\x1b\xc5\xb4"
   7916			  "\x4f\x9e\xf1\x01\x2a\x2b\x58\x8f"
   7917			  "\x3c\xd1\x1f\x05\x03\x3a\xc4\xc6"
   7918			  "\x0c\x2e\xf6\xab\x40\x30\xfe\x82"
   7919			  "\x96\x24\x8d\xf1\x63\xf4\x49\x52",
   7920	}, {
   7921		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7922			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7923			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7924			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7925			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7926			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7927			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7928			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7929			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7930			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7931			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7932			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7933			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7934			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7935			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7936			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7937			  "\xaa\xaa\xaa",
   7938		.ksize	= 131,
   7939		.plaintext = "This is a test u"
   7940			   "sing a larger th"
   7941			   "an block-size ke"
   7942			   "y and a larger t"
   7943			   "han block-size d"
   7944			   "ata. The key nee"
   7945			   "ds to be hashed "
   7946			   "before being use"
   7947			   "d by the HMAC al"
   7948			   "gorithm.",
   7949		.psize	= 152,
   7950		.digest	= "\x66\x17\x17\x8e\x94\x1f\x02\x0d"
   7951			  "\x35\x1e\x2f\x25\x4e\x8f\xd3\x2c"
   7952			  "\x60\x24\x20\xfe\xb0\xb8\xfb\x9a"
   7953			  "\xdc\xce\xbb\x82\x46\x1e\x99\xc5"
   7954			  "\xa6\x78\xcc\x31\xe7\x99\x17\x6d"
   7955			  "\x38\x60\xe6\x11\x0c\x46\x52\x3e",
   7956	},
   7957};
   7958
   7959/*
   7960 * SHA512 HMAC test vectors from RFC4231
   7961 */
   7962
   7963static const struct hash_testvec hmac_sha512_tv_template[] = {
   7964	{
   7965		.key	= "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
   7966			  "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
   7967			  "\x0b\x0b\x0b\x0b",
   7968		.ksize	= 20,
   7969		.plaintext = "Hi There",
   7970		.psize	= 8,
   7971		.digest	= "\x87\xaa\x7c\xde\xa5\xef\x61\x9d"
   7972			  "\x4f\xf0\xb4\x24\x1a\x1d\x6c\xb0"
   7973			  "\x23\x79\xf4\xe2\xce\x4e\xc2\x78"
   7974			  "\x7a\xd0\xb3\x05\x45\xe1\x7c\xde"
   7975			  "\xda\xa8\x33\xb7\xd6\xb8\xa7\x02"
   7976			  "\x03\x8b\x27\x4e\xae\xa3\xf4\xe4"
   7977			  "\xbe\x9d\x91\x4e\xeb\x61\xf1\x70"
   7978			  "\x2e\x69\x6c\x20\x3a\x12\x68\x54",
   7979	}, {
   7980		.key	= "Jefe",
   7981		.ksize	= 4,
   7982		.plaintext = "what do ya want for nothing?",
   7983		.psize	= 28,
   7984		.digest	= "\x16\x4b\x7a\x7b\xfc\xf8\x19\xe2"
   7985			  "\xe3\x95\xfb\xe7\x3b\x56\xe0\xa3"
   7986			  "\x87\xbd\x64\x22\x2e\x83\x1f\xd6"
   7987			  "\x10\x27\x0c\xd7\xea\x25\x05\x54"
   7988			  "\x97\x58\xbf\x75\xc0\x5a\x99\x4a"
   7989			  "\x6d\x03\x4f\x65\xf8\xf0\xe6\xfd"
   7990			  "\xca\xea\xb1\xa3\x4d\x4a\x6b\x4b"
   7991			  "\x63\x6e\x07\x0a\x38\xbc\xe7\x37",
   7992		.fips_skip = 1,
   7993	}, {
   7994		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7995			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7996			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7997			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7998			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   7999			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8000			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8001			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8002			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8003			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8004			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8005			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8006			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8007			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8008			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8009			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8010			  "\xaa\xaa\xaa",
   8011		.ksize	= 131,
   8012		.plaintext = "Test Using Large"
   8013			   "r Than Block-Siz"
   8014			   "e Key - Hash Key"
   8015			   " First",
   8016		.psize	= 54,
   8017		.digest	= "\x80\xb2\x42\x63\xc7\xc1\xa3\xeb"
   8018			"\xb7\x14\x93\xc1\xdd\x7b\xe8\xb4"
   8019			"\x9b\x46\xd1\xf4\x1b\x4a\xee\xc1"
   8020			"\x12\x1b\x01\x37\x83\xf8\xf3\x52"
   8021			"\x6b\x56\xd0\x37\xe0\x5f\x25\x98"
   8022			"\xbd\x0f\xd2\x21\x5d\x6a\x1e\x52"
   8023			"\x95\xe6\x4f\x73\xf6\x3f\x0a\xec"
   8024			"\x8b\x91\x5a\x98\x5d\x78\x65\x98",
   8025	}, {
   8026		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8027			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8028			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8029			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8030			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8031			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8032			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8033			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8034			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8035			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8036			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8037			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8038			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8039			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8040			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8041			"\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8042			"\xaa\xaa\xaa",
   8043		.ksize	= 131,
   8044		.plaintext =
   8045			  "This is a test u"
   8046			  "sing a larger th"
   8047			  "an block-size ke"
   8048			  "y and a larger t"
   8049			  "han block-size d"
   8050			  "ata. The key nee"
   8051			  "ds to be hashed "
   8052			  "before being use"
   8053			  "d by the HMAC al"
   8054			  "gorithm.",
   8055		.psize	= 152,
   8056		.digest	= "\xe3\x7b\x6a\x77\x5d\xc8\x7d\xba"
   8057			"\xa4\xdf\xa9\xf9\x6e\x5e\x3f\xfd"
   8058			"\xde\xbd\x71\xf8\x86\x72\x89\x86"
   8059			"\x5d\xf5\xa3\x2d\x20\xcd\xc9\x44"
   8060			"\xb6\x02\x2c\xac\x3c\x49\x82\xb1"
   8061			"\x0d\x5e\xeb\x55\xc3\xe4\xde\x15"
   8062			"\x13\x46\x76\xfb\x6d\xe0\x44\x60"
   8063			"\x65\xc9\x74\x40\xfa\x8c\x6a\x58",
   8064	},
   8065};
   8066
   8067static const struct hash_testvec hmac_sha3_224_tv_template[] = {
   8068	{
   8069		.key	= "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
   8070			  "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
   8071			  "\x0b\x0b\x0b\x0b",
   8072		.ksize	= 20,
   8073		.plaintext = "Hi There",
   8074		.psize	= 8,
   8075		.digest	= "\x3b\x16\x54\x6b\xbc\x7b\xe2\x70"
   8076			  "\x6a\x03\x1d\xca\xfd\x56\x37\x3d"
   8077			  "\x98\x84\x36\x76\x41\xd8\xc5\x9a"
   8078			  "\xf3\xc8\x60\xf7",
   8079	}, {
   8080		.key	= "Jefe",
   8081		.ksize	= 4,
   8082		.plaintext = "what do ya want for nothing?",
   8083		.psize	= 28,
   8084		.digest	= "\x7f\xdb\x8d\xd8\x8b\xd2\xf6\x0d"
   8085			  "\x1b\x79\x86\x34\xad\x38\x68\x11"
   8086			  "\xc2\xcf\xc8\x5b\xfa\xf5\xd5\x2b"
   8087			  "\xba\xce\x5e\x66",
   8088		.fips_skip = 1,
   8089	}, {
   8090		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8091			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8092			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8093			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8094			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8095			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8096			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8097			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8098			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8099			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8100			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8101			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8102			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8103			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8104			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8105			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8106			  "\xaa\xaa\xaa",
   8107		.ksize	= 131,
   8108		.plaintext = "Test Using Large"
   8109			   "r Than Block-Siz"
   8110			   "e Key - Hash Key"
   8111			   " First",
   8112		.psize	= 54,
   8113		.digest = "\xb4\xa1\xf0\x4c\x00\x28\x7a\x9b"
   8114			  "\x7f\x60\x75\xb3\x13\xd2\x79\xb8"
   8115			  "\x33\xbc\x8f\x75\x12\x43\x52\xd0"
   8116			  "\x5f\xb9\x99\x5f",
   8117	}, {
   8118		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8119			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8120			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8121			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8122			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8123			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8124			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8125			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8126			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8127			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8128			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8129			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8130			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8131			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8132			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8133			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8134			  "\xaa\xaa\xaa",
   8135		.ksize	= 131,
   8136		.plaintext =
   8137			  "This is a test u"
   8138			  "sing a larger th"
   8139			  "an block-size ke"
   8140			  "y and a larger t"
   8141			  "han block-size d"
   8142			  "ata. The key nee"
   8143			  "ds to be hashed "
   8144			  "before being use"
   8145			  "d by the HMAC al"
   8146			  "gorithm.",
   8147		.psize	= 152,
   8148		.digest	= "\x05\xd8\xcd\x6d\x00\xfa\xea\x8d"
   8149			  "\x1e\xb6\x8a\xde\x28\x73\x0b\xbd"
   8150			  "\x3c\xba\xb6\x92\x9f\x0a\x08\x6b"
   8151			  "\x29\xcd\x62\xa0",
   8152	},
   8153};
   8154
   8155static const struct hash_testvec hmac_sha3_256_tv_template[] = {
   8156	{
   8157		.key	= "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
   8158			  "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
   8159			  "\x0b\x0b\x0b\x0b",
   8160		.ksize	= 20,
   8161		.plaintext = "Hi There",
   8162		.psize	= 8,
   8163		.digest	= "\xba\x85\x19\x23\x10\xdf\xfa\x96"
   8164			  "\xe2\xa3\xa4\x0e\x69\x77\x43\x51"
   8165			  "\x14\x0b\xb7\x18\x5e\x12\x02\xcd"
   8166			  "\xcc\x91\x75\x89\xf9\x5e\x16\xbb",
   8167	}, {
   8168		.key	= "Jefe",
   8169		.ksize	= 4,
   8170		.plaintext = "what do ya want for nothing?",
   8171		.psize	= 28,
   8172		.digest	= "\xc7\xd4\x07\x2e\x78\x88\x77\xae"
   8173			  "\x35\x96\xbb\xb0\xda\x73\xb8\x87"
   8174			  "\xc9\x17\x1f\x93\x09\x5b\x29\x4a"
   8175			  "\xe8\x57\xfb\xe2\x64\x5e\x1b\xa5",
   8176		.fips_skip = 1,
   8177	}, {
   8178		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8179			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8180			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8181			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8182			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8183			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8184			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8185			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8186			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8187			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8188			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8189			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8190			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8191			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8192			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8193			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8194			  "\xaa\xaa\xaa",
   8195		.ksize	= 131,
   8196		.plaintext = "Test Using Large"
   8197			   "r Than Block-Siz"
   8198			   "e Key - Hash Key"
   8199			   " First",
   8200		.psize	= 54,
   8201		.digest = "\xed\x73\xa3\x74\xb9\x6c\x00\x52"
   8202			  "\x35\xf9\x48\x03\x2f\x09\x67\x4a"
   8203			  "\x58\xc0\xce\x55\x5c\xfc\x1f\x22"
   8204			  "\x3b\x02\x35\x65\x60\x31\x2c\x3b",
   8205	}, {
   8206		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8207			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8208			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8209			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8210			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8211			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8212			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8213			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8214			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8215			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8216			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8217			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8218			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8219			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8220			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8221			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8222			  "\xaa\xaa\xaa",
   8223		.ksize	= 131,
   8224		.plaintext =
   8225			  "This is a test u"
   8226			  "sing a larger th"
   8227			  "an block-size ke"
   8228			  "y and a larger t"
   8229			  "han block-size d"
   8230			  "ata. The key nee"
   8231			  "ds to be hashed "
   8232			  "before being use"
   8233			  "d by the HMAC al"
   8234			  "gorithm.",
   8235		.psize	= 152,
   8236		.digest	= "\x65\xc5\xb0\x6d\x4c\x3d\xe3\x2a"
   8237			  "\x7a\xef\x87\x63\x26\x1e\x49\xad"
   8238			  "\xb6\xe2\x29\x3e\xc8\xe7\xc6\x1e"
   8239			  "\x8d\xe6\x17\x01\xfc\x63\xe1\x23",
   8240	},
   8241};
   8242
   8243static const struct hash_testvec hmac_sha3_384_tv_template[] = {
   8244	{
   8245		.key	= "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
   8246			  "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
   8247			  "\x0b\x0b\x0b\x0b",
   8248		.ksize	= 20,
   8249		.plaintext = "Hi There",
   8250		.psize	= 8,
   8251		.digest	= "\x68\xd2\xdc\xf7\xfd\x4d\xdd\x0a"
   8252			  "\x22\x40\xc8\xa4\x37\x30\x5f\x61"
   8253			  "\xfb\x73\x34\xcf\xb5\xd0\x22\x6e"
   8254			  "\x1b\xc2\x7d\xc1\x0a\x2e\x72\x3a"
   8255			  "\x20\xd3\x70\xb4\x77\x43\x13\x0e"
   8256			  "\x26\xac\x7e\x3d\x53\x28\x86\xbd",
   8257	}, {
   8258		.key	= "Jefe",
   8259		.ksize	= 4,
   8260		.plaintext = "what do ya want for nothing?",
   8261		.psize	= 28,
   8262		.digest	= "\xf1\x10\x1f\x8c\xbf\x97\x66\xfd"
   8263			  "\x67\x64\xd2\xed\x61\x90\x3f\x21"
   8264			  "\xca\x9b\x18\xf5\x7c\xf3\xe1\xa2"
   8265			  "\x3c\xa1\x35\x08\xa9\x32\x43\xce"
   8266			  "\x48\xc0\x45\xdc\x00\x7f\x26\xa2"
   8267			  "\x1b\x3f\x5e\x0e\x9d\xf4\xc2\x0a",
   8268		.fips_skip = 1,
   8269	}, {
   8270		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8271			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8272			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8273			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8274			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8275			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8276			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8277			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8278			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8279			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8280			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8281			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8282			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8283			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8284			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8285			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8286			  "\xaa\xaa\xaa",
   8287		.ksize	= 131,
   8288		.plaintext = "Test Using Large"
   8289			   "r Than Block-Siz"
   8290			   "e Key - Hash Key"
   8291			   " First",
   8292		.psize	= 54,
   8293		.digest = "\x0f\xc1\x95\x13\xbf\x6b\xd8\x78"
   8294			  "\x03\x70\x16\x70\x6a\x0e\x57\xbc"
   8295			  "\x52\x81\x39\x83\x6b\x9a\x42\xc3"
   8296			  "\xd4\x19\xe4\x98\xe0\xe1\xfb\x96"
   8297			  "\x16\xfd\x66\x91\x38\xd3\x3a\x11"
   8298			  "\x05\xe0\x7c\x72\xb6\x95\x3b\xcc",
   8299	}, {
   8300		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8301			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8302			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8303			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8304			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8305			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8306			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8307			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8308			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8309			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8310			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8311			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8312			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8313			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8314			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8315			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8316			  "\xaa\xaa\xaa",
   8317		.ksize	= 131,
   8318		.plaintext =
   8319			  "This is a test u"
   8320			  "sing a larger th"
   8321			  "an block-size ke"
   8322			  "y and a larger t"
   8323			  "han block-size d"
   8324			  "ata. The key nee"
   8325			  "ds to be hashed "
   8326			  "before being use"
   8327			  "d by the HMAC al"
   8328			  "gorithm.",
   8329		.psize	= 152,
   8330		.digest	= "\x02\x6f\xdf\x6b\x50\x74\x1e\x37"
   8331			  "\x38\x99\xc9\xf7\xd5\x40\x6d\x4e"
   8332			  "\xb0\x9f\xc6\x66\x56\x36\xfc\x1a"
   8333			  "\x53\x00\x29\xdd\xf5\xcf\x3c\xa5"
   8334			  "\xa9\x00\xed\xce\x01\xf5\xf6\x1e"
   8335			  "\x2f\x40\x8c\xdf\x2f\xd3\xe7\xe8",
   8336	},
   8337};
   8338
   8339static const struct hash_testvec hmac_sha3_512_tv_template[] = {
   8340	{
   8341		.key	= "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
   8342			  "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b"
   8343			  "\x0b\x0b\x0b\x0b",
   8344		.ksize	= 20,
   8345		.plaintext = "Hi There",
   8346		.psize	= 8,
   8347		.digest	= "\xeb\x3f\xbd\x4b\x2e\xaa\xb8\xf5"
   8348			  "\xc5\x04\xbd\x3a\x41\x46\x5a\xac"
   8349			  "\xec\x15\x77\x0a\x7c\xab\xac\x53"
   8350			  "\x1e\x48\x2f\x86\x0b\x5e\xc7\xba"
   8351			  "\x47\xcc\xb2\xc6\xf2\xaf\xce\x8f"
   8352			  "\x88\xd2\x2b\x6d\xc6\x13\x80\xf2"
   8353			  "\x3a\x66\x8f\xd3\x88\x8b\xb8\x05"
   8354			  "\x37\xc0\xa0\xb8\x64\x07\x68\x9e",
   8355	}, {
   8356		.key	= "Jefe",
   8357		.ksize	= 4,
   8358		.plaintext = "what do ya want for nothing?",
   8359		.psize	= 28,
   8360		.digest	= "\x5a\x4b\xfe\xab\x61\x66\x42\x7c"
   8361			  "\x7a\x36\x47\xb7\x47\x29\x2b\x83"
   8362			  "\x84\x53\x7c\xdb\x89\xaf\xb3\xbf"
   8363			  "\x56\x65\xe4\xc5\xe7\x09\x35\x0b"
   8364			  "\x28\x7b\xae\xc9\x21\xfd\x7c\xa0"
   8365			  "\xee\x7a\x0c\x31\xd0\x22\xa9\x5e"
   8366			  "\x1f\xc9\x2b\xa9\xd7\x7d\xf8\x83"
   8367			  "\x96\x02\x75\xbe\xb4\xe6\x20\x24",
   8368		.fips_skip = 1,
   8369	}, {
   8370		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8371			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8372			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8373			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8374			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8375			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8376			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8377			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8378			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8379			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8380			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8381			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8382			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8383			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8384			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8385			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8386			  "\xaa\xaa\xaa",
   8387		.ksize	= 131,
   8388		.plaintext = "Test Using Large"
   8389			   "r Than Block-Siz"
   8390			   "e Key - Hash Key"
   8391			   " First",
   8392		.psize	= 54,
   8393		.digest = "\x00\xf7\x51\xa9\xe5\x06\x95\xb0"
   8394			  "\x90\xed\x69\x11\xa4\xb6\x55\x24"
   8395			  "\x95\x1c\xdc\x15\xa7\x3a\x5d\x58"
   8396			  "\xbb\x55\x21\x5e\xa2\xcd\x83\x9a"
   8397			  "\xc7\x9d\x2b\x44\xa3\x9b\xaf\xab"
   8398			  "\x27\xe8\x3f\xde\x9e\x11\xf6\x34"
   8399			  "\x0b\x11\xd9\x91\xb1\xb9\x1b\xf2"
   8400			  "\xee\xe7\xfc\x87\x24\x26\xc3\xa4",
   8401	}, {
   8402		.key	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8403			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8404			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8405			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8406			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8407			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8408			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8409			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8410			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8411			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8412			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8413			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8414			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8415			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8416			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8417			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
   8418			  "\xaa\xaa\xaa",
   8419		.ksize	= 131,
   8420		.plaintext =
   8421			  "This is a test u"
   8422			  "sing a larger th"
   8423			  "an block-size ke"
   8424			  "y and a larger t"
   8425			  "han block-size d"
   8426			  "ata. The key nee"
   8427			  "ds to be hashed "
   8428			  "before being use"
   8429			  "d by the HMAC al"
   8430			  "gorithm.",
   8431		.psize	= 152,
   8432		.digest	= "\x38\xa4\x56\xa0\x04\xbd\x10\xd3"
   8433			  "\x2c\x9a\xb8\x33\x66\x84\x11\x28"
   8434			  "\x62\xc3\xdb\x61\xad\xcc\xa3\x18"
   8435			  "\x29\x35\x5e\xaf\x46\xfd\x5c\x73"
   8436			  "\xd0\x6a\x1f\x0d\x13\xfe\xc9\xa6"
   8437			  "\x52\xfb\x38\x11\xb5\x77\xb1\xb1"
   8438			  "\xd1\xb9\x78\x9f\x97\xae\x5b\x83"
   8439			  "\xc6\xf4\x4d\xfc\xf1\xd6\x7e\xba",
   8440	},
   8441};
   8442
   8443/*
   8444 * Poly1305 test vectors from RFC7539 A.3.
   8445 */
   8446
   8447static const struct hash_testvec poly1305_tv_template[] = {
   8448	{ /* Test Vector #1 */
   8449		.plaintext	= "\x00\x00\x00\x00\x00\x00\x00\x00"
   8450				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8451				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8452				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8453				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8454				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8455				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8456				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8457				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8458				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8459				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8460				  "\x00\x00\x00\x00\x00\x00\x00\x00",
   8461		.psize		= 96,
   8462		.digest		= "\x00\x00\x00\x00\x00\x00\x00\x00"
   8463				  "\x00\x00\x00\x00\x00\x00\x00\x00",
   8464	}, { /* Test Vector #2 */
   8465		.plaintext	= "\x00\x00\x00\x00\x00\x00\x00\x00"
   8466				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8467				  "\x36\xe5\xf6\xb5\xc5\xe0\x60\x70"
   8468				  "\xf0\xef\xca\x96\x22\x7a\x86\x3e"
   8469				  "\x41\x6e\x79\x20\x73\x75\x62\x6d"
   8470				  "\x69\x73\x73\x69\x6f\x6e\x20\x74"
   8471				  "\x6f\x20\x74\x68\x65\x20\x49\x45"
   8472				  "\x54\x46\x20\x69\x6e\x74\x65\x6e"
   8473				  "\x64\x65\x64\x20\x62\x79\x20\x74"
   8474				  "\x68\x65\x20\x43\x6f\x6e\x74\x72"
   8475				  "\x69\x62\x75\x74\x6f\x72\x20\x66"
   8476				  "\x6f\x72\x20\x70\x75\x62\x6c\x69"
   8477				  "\x63\x61\x74\x69\x6f\x6e\x20\x61"
   8478				  "\x73\x20\x61\x6c\x6c\x20\x6f\x72"
   8479				  "\x20\x70\x61\x72\x74\x20\x6f\x66"
   8480				  "\x20\x61\x6e\x20\x49\x45\x54\x46"
   8481				  "\x20\x49\x6e\x74\x65\x72\x6e\x65"
   8482				  "\x74\x2d\x44\x72\x61\x66\x74\x20"
   8483				  "\x6f\x72\x20\x52\x46\x43\x20\x61"
   8484				  "\x6e\x64\x20\x61\x6e\x79\x20\x73"
   8485				  "\x74\x61\x74\x65\x6d\x65\x6e\x74"
   8486				  "\x20\x6d\x61\x64\x65\x20\x77\x69"
   8487				  "\x74\x68\x69\x6e\x20\x74\x68\x65"
   8488				  "\x20\x63\x6f\x6e\x74\x65\x78\x74"
   8489				  "\x20\x6f\x66\x20\x61\x6e\x20\x49"
   8490				  "\x45\x54\x46\x20\x61\x63\x74\x69"
   8491				  "\x76\x69\x74\x79\x20\x69\x73\x20"
   8492				  "\x63\x6f\x6e\x73\x69\x64\x65\x72"
   8493				  "\x65\x64\x20\x61\x6e\x20\x22\x49"
   8494				  "\x45\x54\x46\x20\x43\x6f\x6e\x74"
   8495				  "\x72\x69\x62\x75\x74\x69\x6f\x6e"
   8496				  "\x22\x2e\x20\x53\x75\x63\x68\x20"
   8497				  "\x73\x74\x61\x74\x65\x6d\x65\x6e"
   8498				  "\x74\x73\x20\x69\x6e\x63\x6c\x75"
   8499				  "\x64\x65\x20\x6f\x72\x61\x6c\x20"
   8500				  "\x73\x74\x61\x74\x65\x6d\x65\x6e"
   8501				  "\x74\x73\x20\x69\x6e\x20\x49\x45"
   8502				  "\x54\x46\x20\x73\x65\x73\x73\x69"
   8503				  "\x6f\x6e\x73\x2c\x20\x61\x73\x20"
   8504				  "\x77\x65\x6c\x6c\x20\x61\x73\x20"
   8505				  "\x77\x72\x69\x74\x74\x65\x6e\x20"
   8506				  "\x61\x6e\x64\x20\x65\x6c\x65\x63"
   8507				  "\x74\x72\x6f\x6e\x69\x63\x20\x63"
   8508				  "\x6f\x6d\x6d\x75\x6e\x69\x63\x61"
   8509				  "\x74\x69\x6f\x6e\x73\x20\x6d\x61"
   8510				  "\x64\x65\x20\x61\x74\x20\x61\x6e"
   8511				  "\x79\x20\x74\x69\x6d\x65\x20\x6f"
   8512				  "\x72\x20\x70\x6c\x61\x63\x65\x2c"
   8513				  "\x20\x77\x68\x69\x63\x68\x20\x61"
   8514				  "\x72\x65\x20\x61\x64\x64\x72\x65"
   8515				  "\x73\x73\x65\x64\x20\x74\x6f",
   8516		.psize		= 407,
   8517		.digest		= "\x36\xe5\xf6\xb5\xc5\xe0\x60\x70"
   8518				  "\xf0\xef\xca\x96\x22\x7a\x86\x3e",
   8519	}, { /* Test Vector #3 */
   8520		.plaintext	= "\x36\xe5\xf6\xb5\xc5\xe0\x60\x70"
   8521				  "\xf0\xef\xca\x96\x22\x7a\x86\x3e"
   8522				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8523				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8524				  "\x41\x6e\x79\x20\x73\x75\x62\x6d"
   8525				  "\x69\x73\x73\x69\x6f\x6e\x20\x74"
   8526				  "\x6f\x20\x74\x68\x65\x20\x49\x45"
   8527				  "\x54\x46\x20\x69\x6e\x74\x65\x6e"
   8528				  "\x64\x65\x64\x20\x62\x79\x20\x74"
   8529				  "\x68\x65\x20\x43\x6f\x6e\x74\x72"
   8530				  "\x69\x62\x75\x74\x6f\x72\x20\x66"
   8531				  "\x6f\x72\x20\x70\x75\x62\x6c\x69"
   8532				  "\x63\x61\x74\x69\x6f\x6e\x20\x61"
   8533				  "\x73\x20\x61\x6c\x6c\x20\x6f\x72"
   8534				  "\x20\x70\x61\x72\x74\x20\x6f\x66"
   8535				  "\x20\x61\x6e\x20\x49\x45\x54\x46"
   8536				  "\x20\x49\x6e\x74\x65\x72\x6e\x65"
   8537				  "\x74\x2d\x44\x72\x61\x66\x74\x20"
   8538				  "\x6f\x72\x20\x52\x46\x43\x20\x61"
   8539				  "\x6e\x64\x20\x61\x6e\x79\x20\x73"
   8540				  "\x74\x61\x74\x65\x6d\x65\x6e\x74"
   8541				  "\x20\x6d\x61\x64\x65\x20\x77\x69"
   8542				  "\x74\x68\x69\x6e\x20\x74\x68\x65"
   8543				  "\x20\x63\x6f\x6e\x74\x65\x78\x74"
   8544				  "\x20\x6f\x66\x20\x61\x6e\x20\x49"
   8545				  "\x45\x54\x46\x20\x61\x63\x74\x69"
   8546				  "\x76\x69\x74\x79\x20\x69\x73\x20"
   8547				  "\x63\x6f\x6e\x73\x69\x64\x65\x72"
   8548				  "\x65\x64\x20\x61\x6e\x20\x22\x49"
   8549				  "\x45\x54\x46\x20\x43\x6f\x6e\x74"
   8550				  "\x72\x69\x62\x75\x74\x69\x6f\x6e"
   8551				  "\x22\x2e\x20\x53\x75\x63\x68\x20"
   8552				  "\x73\x74\x61\x74\x65\x6d\x65\x6e"
   8553				  "\x74\x73\x20\x69\x6e\x63\x6c\x75"
   8554				  "\x64\x65\x20\x6f\x72\x61\x6c\x20"
   8555				  "\x73\x74\x61\x74\x65\x6d\x65\x6e"
   8556				  "\x74\x73\x20\x69\x6e\x20\x49\x45"
   8557				  "\x54\x46\x20\x73\x65\x73\x73\x69"
   8558				  "\x6f\x6e\x73\x2c\x20\x61\x73\x20"
   8559				  "\x77\x65\x6c\x6c\x20\x61\x73\x20"
   8560				  "\x77\x72\x69\x74\x74\x65\x6e\x20"
   8561				  "\x61\x6e\x64\x20\x65\x6c\x65\x63"
   8562				  "\x74\x72\x6f\x6e\x69\x63\x20\x63"
   8563				  "\x6f\x6d\x6d\x75\x6e\x69\x63\x61"
   8564				  "\x74\x69\x6f\x6e\x73\x20\x6d\x61"
   8565				  "\x64\x65\x20\x61\x74\x20\x61\x6e"
   8566				  "\x79\x20\x74\x69\x6d\x65\x20\x6f"
   8567				  "\x72\x20\x70\x6c\x61\x63\x65\x2c"
   8568				  "\x20\x77\x68\x69\x63\x68\x20\x61"
   8569				  "\x72\x65\x20\x61\x64\x64\x72\x65"
   8570				  "\x73\x73\x65\x64\x20\x74\x6f",
   8571		.psize		= 407,
   8572		.digest		= "\xf3\x47\x7e\x7c\xd9\x54\x17\xaf"
   8573				  "\x89\xa6\xb8\x79\x4c\x31\x0c\xf0",
   8574	}, { /* Test Vector #4 */
   8575		.plaintext	= "\x1c\x92\x40\xa5\xeb\x55\xd3\x8a"
   8576				  "\xf3\x33\x88\x86\x04\xf6\xb5\xf0"
   8577				  "\x47\x39\x17\xc1\x40\x2b\x80\x09"
   8578				  "\x9d\xca\x5c\xbc\x20\x70\x75\xc0"
   8579				  "\x27\x54\x77\x61\x73\x20\x62\x72"
   8580				  "\x69\x6c\x6c\x69\x67\x2c\x20\x61"
   8581				  "\x6e\x64\x20\x74\x68\x65\x20\x73"
   8582				  "\x6c\x69\x74\x68\x79\x20\x74\x6f"
   8583				  "\x76\x65\x73\x0a\x44\x69\x64\x20"
   8584				  "\x67\x79\x72\x65\x20\x61\x6e\x64"
   8585				  "\x20\x67\x69\x6d\x62\x6c\x65\x20"
   8586				  "\x69\x6e\x20\x74\x68\x65\x20\x77"
   8587				  "\x61\x62\x65\x3a\x0a\x41\x6c\x6c"
   8588				  "\x20\x6d\x69\x6d\x73\x79\x20\x77"
   8589				  "\x65\x72\x65\x20\x74\x68\x65\x20"
   8590				  "\x62\x6f\x72\x6f\x67\x6f\x76\x65"
   8591				  "\x73\x2c\x0a\x41\x6e\x64\x20\x74"
   8592				  "\x68\x65\x20\x6d\x6f\x6d\x65\x20"
   8593				  "\x72\x61\x74\x68\x73\x20\x6f\x75"
   8594				  "\x74\x67\x72\x61\x62\x65\x2e",
   8595		.psize		= 159,
   8596		.digest		= "\x45\x41\x66\x9a\x7e\xaa\xee\x61"
   8597				  "\xe7\x08\xdc\x7c\xbc\xc5\xeb\x62",
   8598	}, { /* Test Vector #5 */
   8599		.plaintext	= "\x02\x00\x00\x00\x00\x00\x00\x00"
   8600				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8601				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8602				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8603				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8604				  "\xff\xff\xff\xff\xff\xff\xff\xff",
   8605		.psize		= 48,
   8606		.digest		= "\x03\x00\x00\x00\x00\x00\x00\x00"
   8607				  "\x00\x00\x00\x00\x00\x00\x00\x00",
   8608	}, { /* Test Vector #6 */
   8609		.plaintext	= "\x02\x00\x00\x00\x00\x00\x00\x00"
   8610				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8611				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8612				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8613				  "\x02\x00\x00\x00\x00\x00\x00\x00"
   8614				  "\x00\x00\x00\x00\x00\x00\x00\x00",
   8615		.psize		= 48,
   8616		.digest		= "\x03\x00\x00\x00\x00\x00\x00\x00"
   8617				  "\x00\x00\x00\x00\x00\x00\x00\x00",
   8618	}, { /* Test Vector #7 */
   8619		.plaintext	= "\x01\x00\x00\x00\x00\x00\x00\x00"
   8620				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8621				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8622				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8623				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8624				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8625				  "\xf0\xff\xff\xff\xff\xff\xff\xff"
   8626				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8627				  "\x11\x00\x00\x00\x00\x00\x00\x00"
   8628				  "\x00\x00\x00\x00\x00\x00\x00\x00",
   8629		.psize		= 80,
   8630		.digest		= "\x05\x00\x00\x00\x00\x00\x00\x00"
   8631				  "\x00\x00\x00\x00\x00\x00\x00\x00",
   8632	}, { /* Test Vector #8 */
   8633		.plaintext	= "\x01\x00\x00\x00\x00\x00\x00\x00"
   8634				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8635				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8636				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8637				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8638				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8639				  "\xfb\xfe\xfe\xfe\xfe\xfe\xfe\xfe"
   8640				  "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe"
   8641				  "\x01\x01\x01\x01\x01\x01\x01\x01"
   8642				  "\x01\x01\x01\x01\x01\x01\x01\x01",
   8643		.psize		= 80,
   8644		.digest		= "\x00\x00\x00\x00\x00\x00\x00\x00"
   8645				  "\x00\x00\x00\x00\x00\x00\x00\x00",
   8646	}, { /* Test Vector #9 */
   8647		.plaintext	= "\x02\x00\x00\x00\x00\x00\x00\x00"
   8648				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8649				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8650				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8651				  "\xfd\xff\xff\xff\xff\xff\xff\xff"
   8652				  "\xff\xff\xff\xff\xff\xff\xff\xff",
   8653		.psize		= 48,
   8654		.digest		= "\xfa\xff\xff\xff\xff\xff\xff\xff"
   8655				  "\xff\xff\xff\xff\xff\xff\xff\xff",
   8656	}, { /* Test Vector #10 */
   8657		.plaintext	= "\x01\x00\x00\x00\x00\x00\x00\x00"
   8658				  "\x04\x00\x00\x00\x00\x00\x00\x00"
   8659				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8660				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8661				  "\xe3\x35\x94\xd7\x50\x5e\x43\xb9"
   8662				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8663				  "\x33\x94\xd7\x50\x5e\x43\x79\xcd"
   8664				  "\x01\x00\x00\x00\x00\x00\x00\x00"
   8665				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8666				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8667				  "\x01\x00\x00\x00\x00\x00\x00\x00"
   8668				  "\x00\x00\x00\x00\x00\x00\x00\x00",
   8669		.psize		= 96,
   8670		.digest		= "\x14\x00\x00\x00\x00\x00\x00\x00"
   8671				  "\x55\x00\x00\x00\x00\x00\x00\x00",
   8672	}, { /* Test Vector #11 */
   8673		.plaintext	= "\x01\x00\x00\x00\x00\x00\x00\x00"
   8674				  "\x04\x00\x00\x00\x00\x00\x00\x00"
   8675				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8676				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8677				  "\xe3\x35\x94\xd7\x50\x5e\x43\xb9"
   8678				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8679				  "\x33\x94\xd7\x50\x5e\x43\x79\xcd"
   8680				  "\x01\x00\x00\x00\x00\x00\x00\x00"
   8681				  "\x00\x00\x00\x00\x00\x00\x00\x00"
   8682				  "\x00\x00\x00\x00\x00\x00\x00\x00",
   8683		.psize		= 80,
   8684		.digest		= "\x13\x00\x00\x00\x00\x00\x00\x00"
   8685				  "\x00\x00\x00\x00\x00\x00\x00\x00",
   8686	}, { /* Regression test for overflow in AVX2 implementation */
   8687		.plaintext	= "\xff\xff\xff\xff\xff\xff\xff\xff"
   8688				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8689				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8690				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8691				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8692				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8693				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8694				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8695				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8696				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8697				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8698				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8699				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8700				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8701				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8702				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8703				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8704				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8705				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8706				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8707				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8708				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8709				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8710				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8711				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8712				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8713				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8714				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8715				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8716				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8717				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8718				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8719				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8720				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8721				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8722				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8723				  "\xff\xff\xff\xff\xff\xff\xff\xff"
   8724				  "\xff\xff\xff\xff",
   8725		.psize		= 300,
   8726		.digest		= "\xfb\x5e\x96\xd8\x61\xd5\xc7\xc8"
   8727				  "\x78\xe5\x87\xcc\x2d\x5a\x22\xe1",
   8728	}
   8729};
   8730
   8731/* NHPoly1305 test vectors from https://github.com/google/adiantum */
   8732static const struct hash_testvec nhpoly1305_tv_template[] = {
   8733	{
   8734		.key	= "\xd2\x5d\x4c\xdd\x8d\x2b\x7f\x7a"
   8735			  "\xd9\xbe\x71\xec\xd1\x83\x52\xe3"
   8736			  "\xe1\xad\xd7\x5c\x0a\x75\x9d\xec"
   8737			  "\x1d\x13\x7e\x5d\x71\x07\xc9\xe4"
   8738			  "\x57\x2d\x44\x68\xcf\xd8\xd6\xc5"
   8739			  "\x39\x69\x7d\x32\x75\x51\x4f\x7e"
   8740			  "\xb2\x4c\xc6\x90\x51\x6e\xd9\xd6"
   8741			  "\xa5\x8b\x2d\xf1\x94\xf9\xf7\x5e"
   8742			  "\x2c\x84\x7b\x41\x0f\x88\x50\x89"
   8743			  "\x30\xd9\xa1\x38\x46\x6c\xc0\x4f"
   8744			  "\xe8\xdf\xdc\x66\xab\x24\x43\x41"
   8745			  "\x91\x55\x29\x65\x86\x28\x5e\x45"
   8746			  "\xd5\x2d\xb7\x80\x08\x9a\xc3\xd4"
   8747			  "\x9a\x77\x0a\xd4\xef\x3e\xe6\x3f"
   8748			  "\x6f\x2f\x9b\x3a\x7d\x12\x1e\x80"
   8749			  "\x6c\x44\xa2\x25\xe1\xf6\x60\xe9"
   8750			  "\x0d\xaf\xc5\x3c\xa5\x79\xae\x64"
   8751			  "\xbc\xa0\x39\xa3\x4d\x10\xe5\x4d"
   8752			  "\xd5\xe7\x89\x7a\x13\xee\x06\x78"
   8753			  "\xdc\xa4\xdc\x14\x27\xe6\x49\x38"
   8754			  "\xd0\xe0\x45\x25\x36\xc5\xf4\x79"
   8755			  "\x2e\x9a\x98\x04\xe4\x2b\x46\x52"
   8756			  "\x7c\x33\xca\xe2\x56\x51\x50\xe2"
   8757			  "\xa5\x9a\xae\x18\x6a\x13\xf8\xd2"
   8758			  "\x21\x31\x66\x02\xe2\xda\x8d\x7e"
   8759			  "\x41\x19\xb2\x61\xee\x48\x8f\xf1"
   8760			  "\x65\x24\x2e\x1e\x68\xce\x05\xd9"
   8761			  "\x2a\xcf\xa5\x3a\x57\xdd\x35\x91"
   8762			  "\x93\x01\xca\x95\xfc\x2b\x36\x04"
   8763			  "\xe6\x96\x97\x28\xf6\x31\xfe\xa3"
   8764			  "\x9d\xf6\x6a\x1e\x80\x8d\xdc\xec"
   8765			  "\xaf\x66\x11\x13\x02\x88\xd5\x27"
   8766			  "\x33\xb4\x1a\xcd\xa3\xf6\xde\x31"
   8767			  "\x8e\xc0\x0e\x6c\xd8\x5a\x97\x5e"
   8768			  "\xdd\xfd\x60\x69\x38\x46\x3f\x90"
   8769			  "\x5e\x97\xd3\x32\x76\xc7\x82\x49"
   8770			  "\xfe\xba\x06\x5f\x2f\xa2\xfd\xff"
   8771			  "\x80\x05\x40\xe4\x33\x03\xfb\x10"
   8772			  "\xc0\xde\x65\x8c\xc9\x8d\x3a\x9d"
   8773			  "\xb5\x7b\x36\x4b\xb5\x0c\xcf\x00"
   8774			  "\x9c\x87\xe4\x49\xad\x90\xda\x4a"
   8775			  "\xdd\xbd\xff\xe2\x32\x57\xd6\x78"
   8776			  "\x36\x39\x6c\xd3\x5b\x9b\x88\x59"
   8777			  "\x2d\xf0\x46\xe4\x13\x0e\x2b\x35"
   8778			  "\x0d\x0f\x73\x8a\x4f\x26\x84\x75"
   8779			  "\x88\x3c\xc5\x58\x66\x18\x1a\xb4"
   8780			  "\x64\x51\x34\x27\x1b\xa4\x11\xc9"
   8781			  "\x6d\x91\x8a\xfa\x32\x60\x9d\xd7"
   8782			  "\x87\xe5\xaa\x43\x72\xf8\xda\xd1"
   8783			  "\x48\x44\x13\x61\xdc\x8c\x76\x17"
   8784			  "\x0c\x85\x4e\xf3\xdd\xa2\x42\xd2"
   8785			  "\x74\xc1\x30\x1b\xeb\x35\x31\x29"
   8786			  "\x5b\xd7\x4c\x94\x46\x35\xa1\x23"
   8787			  "\x50\xf2\xa2\x8e\x7e\x4f\x23\x4f"
   8788			  "\x51\xff\xe2\xc9\xa3\x7d\x56\x8b"
   8789			  "\x41\xf2\xd0\xc5\x57\x7e\x59\xac"
   8790			  "\xbb\x65\xf3\xfe\xf7\x17\xef\x63"
   8791			  "\x7c\x6f\x23\xdd\x22\x8e\xed\x84"
   8792			  "\x0e\x3b\x09\xb3\xf3\xf4\x8f\xcd"
   8793			  "\x37\xa8\xe1\xa7\x30\xdb\xb1\xa2"
   8794			  "\x9c\xa2\xdf\x34\x17\x3e\x68\x44"
   8795			  "\xd0\xde\x03\x50\xd1\x48\x6b\x20"
   8796			  "\xe2\x63\x45\xa5\xea\x87\xc2\x42"
   8797			  "\x95\x03\x49\x05\xed\xe0\x90\x29"
   8798			  "\x1a\xb8\xcf\x9b\x43\xcf\x29\x7a"
   8799			  "\x63\x17\x41\x9f\xe0\xc9\x10\xfd"
   8800			  "\x2c\x56\x8c\x08\x55\xb4\xa9\x27"
   8801			  "\x0f\x23\xb1\x05\x6a\x12\x46\xc7"
   8802			  "\xe1\xfe\x28\x93\x93\xd7\x2f\xdc"
   8803			  "\x98\x30\xdb\x75\x8a\xbe\x97\x7a"
   8804			  "\x02\xfb\x8c\xba\xbe\x25\x09\xbe"
   8805			  "\xce\xcb\xa2\xef\x79\x4d\x0e\x9d"
   8806			  "\x1b\x9d\xb6\x39\x34\x38\xfa\x07"
   8807			  "\xec\xe8\xfc\x32\x85\x1d\xf7\x85"
   8808			  "\x63\xc3\x3c\xc0\x02\x75\xd7\x3f"
   8809			  "\xb2\x68\x60\x66\x65\x81\xc6\xb1"
   8810			  "\x42\x65\x4b\x4b\x28\xd7\xc7\xaa"
   8811			  "\x9b\xd2\xdc\x1b\x01\xe0\x26\x39"
   8812			  "\x01\xc1\x52\x14\xd1\x3f\xb7\xe6"
   8813			  "\x61\x41\xc7\x93\xd2\xa2\x67\xc6"
   8814			  "\xf7\x11\xb5\xf5\xea\xdd\x19\xfb"
   8815			  "\x4d\x21\x12\xd6\x7d\xf1\x10\xb0"
   8816			  "\x89\x07\xc7\x5a\x52\x73\x70\x2f"
   8817			  "\x32\xef\x65\x2b\x12\xb2\xf0\xf5"
   8818			  "\x20\xe0\x90\x59\x7e\x64\xf1\x4c"
   8819			  "\x41\xb3\xa5\x91\x08\xe6\x5e\x5f"
   8820			  "\x05\x56\x76\xb4\xb0\xcd\x70\x53"
   8821			  "\x10\x48\x9c\xff\xc2\x69\x55\x24"
   8822			  "\x87\xef\x84\xea\xfb\xa7\xbf\xa0"
   8823			  "\x91\x04\xad\x4f\x8b\x57\x54\x4b"
   8824			  "\xb6\xe9\xd1\xac\x37\x2f\x1d\x2e"
   8825			  "\xab\xa5\xa4\xe8\xff\xfb\xd9\x39"
   8826			  "\x2f\xb7\xac\xd1\xfe\x0b\x9a\x80"
   8827			  "\x0f\xb6\xf4\x36\x39\x90\x51\xe3"
   8828			  "\x0a\x2f\xb6\x45\x76\x89\xcd\x61"
   8829			  "\xfe\x48\x5f\x75\x1d\x13\x00\x62"
   8830			  "\x80\x24\x47\xe7\xbc\x37\xd7\xe3"
   8831			  "\x15\xe8\x68\x22\xaf\x80\x6f\x4b"
   8832			  "\xa8\x9f\x01\x10\x48\x14\xc3\x02"
   8833			  "\x52\xd2\xc7\x75\x9b\x52\x6d\x30"
   8834			  "\xac\x13\x85\xc8\xf7\xa3\x58\x4b"
   8835			  "\x49\xf7\x1c\x45\x55\x8c\x39\x9a"
   8836			  "\x99\x6d\x97\x27\x27\xe6\xab\xdd"
   8837			  "\x2c\x42\x1b\x35\xdd\x9d\x73\xbb"
   8838			  "\x6c\xf3\x64\xf1\xfb\xb9\xf7\xe6"
   8839			  "\x4a\x3c\xc0\x92\xc0\x2e\xb7\x1a"
   8840			  "\xbe\xab\xb3\x5a\xe5\xea\xb1\x48"
   8841			  "\x58\x13\x53\x90\xfd\xc3\x8e\x54"
   8842			  "\xf9\x18\x16\x73\xe8\xcb\x6d\x39"
   8843			  "\x0e\xd7\xe0\xfe\xb6\x9f\x43\x97"
   8844			  "\xe8\xd0\x85\x56\x83\x3e\x98\x68"
   8845			  "\x7f\xbd\x95\xa8\x9a\x61\x21\x8f"
   8846			  "\x06\x98\x34\xa6\xc8\xd6\x1d\xf3"
   8847			  "\x3d\x43\xa4\x9a\x8c\xe5\xd3\x5a"
   8848			  "\x32\xa2\x04\x22\xa4\x19\x1a\x46"
   8849			  "\x42\x7e\x4d\xe5\xe0\xe6\x0e\xca"
   8850			  "\xd5\x58\x9d\x2c\xaf\xda\x33\x5c"
   8851			  "\xb0\x79\x9e\xc9\xfc\xca\xf0\x2f"
   8852			  "\xa8\xb2\x77\xeb\x7a\xa2\xdd\x37"
   8853			  "\x35\x83\x07\xd6\x02\x1a\xb6\x6c"
   8854			  "\x24\xe2\x59\x08\x0e\xfd\x3e\x46"
   8855			  "\xec\x40\x93\xf4\x00\x26\x4f\x2a"
   8856			  "\xff\x47\x2f\xeb\x02\x92\x26\x5b"
   8857			  "\x53\x17\xc2\x8d\x2a\xc7\xa3\x1b"
   8858			  "\xcd\xbc\xa7\xe8\xd1\x76\xe3\x80"
   8859			  "\x21\xca\x5d\x3b\xe4\x9c\x8f\xa9"
   8860			  "\x5b\x7f\x29\x7f\x7c\xd8\xed\x6d"
   8861			  "\x8c\xb2\x86\x85\xe7\x77\xf2\x85"
   8862			  "\xab\x38\xa9\x9d\xc1\x4e\xc5\x64"
   8863			  "\x33\x73\x8b\x59\x03\xad\x05\xdf"
   8864			  "\x25\x98\x31\xde\xef\x13\xf1\x9b"
   8865			  "\x3c\x91\x9d\x7b\xb1\xfa\xe6\xbf"
   8866			  "\x5b\xed\xa5\x55\xe6\xea\x6c\x74"
   8867			  "\xf4\xb9\xe4\x45\x64\x72\x81\xc2"
   8868			  "\x4c\x28\xd4\xcd\xac\xe2\xde\xf9"
   8869			  "\xeb\x5c\xeb\x61\x60\x5a\xe5\x28",
   8870		.ksize	= 1088,
   8871		.plaintext	= "",
   8872		.psize	= 0,
   8873		.digest	= "\x00\x00\x00\x00\x00\x00\x00\x00"
   8874			  "\x00\x00\x00\x00\x00\x00\x00\x00",
   8875	}, {
   8876		.key	= "\x29\x21\x43\xcb\xcb\x13\x07\xde"
   8877			  "\xbf\x48\xdf\x8a\x7f\xa2\x84\xde"
   8878			  "\x72\x23\x9d\xf5\xf0\x07\xf2\x4c"
   8879			  "\x20\x3a\x93\xb9\xcd\x5d\xfe\xcb"
   8880			  "\x99\x2c\x2b\x58\xc6\x50\x5f\x94"
   8881			  "\x56\xc3\x7c\x0d\x02\x3f\xb8\x5e"
   8882			  "\x7b\xc0\x6c\x51\x34\x76\xc0\x0e"
   8883			  "\xc6\x22\xc8\x9e\x92\xa0\x21\xc9"
   8884			  "\x85\x5c\x7c\xf8\xe2\x64\x47\xc9"
   8885			  "\xe4\xa2\x57\x93\xf8\xa2\x69\xcd"
   8886			  "\x62\x98\x99\xf4\xd7\x7b\x14\xb1"
   8887			  "\xd8\x05\xff\x04\x15\xc9\xe1\x6e"
   8888			  "\x9b\xe6\x50\x6b\x0b\x3f\x22\x1f"
   8889			  "\x08\xde\x0c\x5b\x08\x7e\xc6\x2f"
   8890			  "\x6c\xed\xd6\xb2\x15\xa4\xb3\xf9"
   8891			  "\xa7\x46\x38\x2a\xea\x69\xa5\xde"
   8892			  "\x02\xc3\x96\x89\x4d\x55\x3b\xed"
   8893			  "\x3d\x3a\x85\x77\xbf\x97\x45\x5c"
   8894			  "\x9e\x02\x69\xe2\x1b\x68\xbe\x96"
   8895			  "\xfb\x64\x6f\x0f\xf6\x06\x40\x67"
   8896			  "\xfa\x04\xe3\x55\xfa\xbe\xa4\x60"
   8897			  "\xef\x21\x66\x97\xe6\x9d\x5c\x1f"
   8898			  "\x62\x37\xaa\x31\xde\xe4\x9c\x28"
   8899			  "\x95\xe0\x22\x86\xf4\x4d\xf3\x07"
   8900			  "\xfd\x5f\x3a\x54\x2c\x51\x80\x71"
   8901			  "\xba\x78\x69\x5b\x65\xab\x1f\x81"
   8902			  "\xed\x3b\xff\x34\xa3\xfb\xbc\x73"
   8903			  "\x66\x7d\x13\x7f\xdf\x6e\xe2\xe2"
   8904			  "\xeb\x4f\x6c\xda\x7d\x33\x57\xd0"
   8905			  "\xd3\x7c\x95\x4f\x33\x58\x21\xc7"
   8906			  "\xc0\xe5\x6f\x42\x26\xc6\x1f\x5e"
   8907			  "\x85\x1b\x98\x9a\xa2\x1e\x55\x77"
   8908			  "\x23\xdf\x81\x5e\x79\x55\x05\xfc"
   8909			  "\xfb\xda\xee\xba\x5a\xba\xf7\x77"
   8910			  "\x7f\x0e\xd3\xe1\x37\xfe\x8d\x2b"
   8911			  "\xd5\x3f\xfb\xd0\xc0\x3c\x0b\x3f"
   8912			  "\xcf\x3c\x14\xcf\xfb\x46\x72\x4c"
   8913			  "\x1f\x39\xe2\xda\x03\x71\x6d\x23"
   8914			  "\xef\x93\xcd\x39\xd9\x37\x80\x4d"
   8915			  "\x65\x61\xd1\x2c\x03\xa9\x47\x72"
   8916			  "\x4d\x1e\x0e\x16\x33\x0f\x21\x17"
   8917			  "\xec\x92\xea\x6f\x37\x22\xa4\xd8"
   8918			  "\x03\x33\x9e\xd8\x03\x69\x9a\xe8"
   8919			  "\xb2\x57\xaf\x78\x99\x05\x12\xab"
   8920			  "\x48\x90\x80\xf0\x12\x9b\x20\x64"
   8921			  "\x7a\x1d\x47\x5f\xba\x3c\xf9\xc3"
   8922			  "\x0a\x0d\x8d\xa1\xf9\x1b\x82\x13"
   8923			  "\x3e\x0d\xec\x0a\x83\xc0\x65\xe1"
   8924			  "\xe9\x95\xff\x97\xd6\xf2\xe4\xd5"
   8925			  "\x86\xc0\x1f\x29\x27\x63\xd7\xde"
   8926			  "\xb7\x0a\x07\x99\x04\x2d\xa3\x89"
   8927			  "\xa2\x43\xcf\xf3\xe1\x43\xac\x4a"
   8928			  "\x06\x97\xd0\x05\x4f\x87\xfa\xf9"
   8929			  "\x9b\xbf\x52\x70\xbd\xbc\x6c\xf3"
   8930			  "\x03\x13\x60\x41\x28\x09\xec\xcc"
   8931			  "\xb1\x1a\xec\xd6\xfb\x6f\x2a\x89"
   8932			  "\x5d\x0b\x53\x9c\x59\xc1\x84\x21"
   8933			  "\x33\x51\x47\x19\x31\x9c\xd4\x0a"
   8934			  "\x4d\x04\xec\x50\x90\x61\xbd\xbc"
   8935			  "\x7e\xc8\xd9\x6c\x98\x1d\x45\x41"
   8936			  "\x17\x5e\x97\x1c\xc5\xa8\xe8\xea"
   8937			  "\x46\x58\x53\xf7\x17\xd5\xad\x11"
   8938			  "\xc8\x54\xf5\x7a\x33\x90\xf5\x19"
   8939			  "\xba\x36\xb4\xfc\x52\xa5\x72\x3d"
   8940			  "\x14\xbb\x55\xa7\xe9\xe3\x12\xf7"
   8941			  "\x1c\x30\xa2\x82\x03\xbf\x53\x91"
   8942			  "\x2e\x60\x41\x9f\x5b\x69\x39\xf6"
   8943			  "\x4d\xc8\xf8\x46\x7a\x7f\xa4\x98"
   8944			  "\x36\xff\x06\xcb\xca\xe7\x33\xf2"
   8945			  "\xc0\x4a\xf4\x3c\x14\x44\x5f\x6b"
   8946			  "\x75\xef\x02\x36\x75\x08\x14\xfd"
   8947			  "\x10\x8e\xa5\x58\xd0\x30\x46\x49"
   8948			  "\xaf\x3a\xf8\x40\x3d\x35\xdb\x84"
   8949			  "\x11\x2e\x97\x6a\xb7\x87\x7f\xad"
   8950			  "\xf1\xfa\xa5\x63\x60\xd8\x5e\xbf"
   8951			  "\x41\x78\x49\xcf\x77\xbb\x56\xbb"
   8952			  "\x7d\x01\x67\x05\x22\xc8\x8f\x41"
   8953			  "\xba\x81\xd2\xca\x2c\x38\xac\x76"
   8954			  "\x06\xc1\x1a\xc2\xce\xac\x90\x67"
   8955			  "\x57\x3e\x20\x12\x5b\xd9\x97\x58"
   8956			  "\x65\x05\xb7\x04\x61\x7e\xd8\x3a"
   8957			  "\xbf\x55\x3b\x13\xe9\x34\x5a\x37"
   8958			  "\x36\xcb\x94\x45\xc5\x32\xb3\xa0"
   8959			  "\x0c\x3e\x49\xc5\xd3\xed\xa7\xf0"
   8960			  "\x1c\x69\xcc\xea\xcc\x83\xc9\x16"
   8961			  "\x95\x72\x4b\xf4\x89\xd5\xb9\x10"
   8962			  "\xf6\x2d\x60\x15\xea\x3c\x06\x66"
   8963			  "\x9f\x82\xad\x17\xce\xd2\xa4\x48"
   8964			  "\x7c\x65\xd9\xf8\x02\x4d\x9b\x4c"
   8965			  "\x89\x06\x3a\x34\x85\x48\x89\x86"
   8966			  "\xf9\x24\xa9\x54\x72\xdb\x44\x95"
   8967			  "\xc7\x44\x1c\x19\x11\x4c\x04\xdc"
   8968			  "\x13\xb9\x67\xc8\xc3\x3a\x6a\x50"
   8969			  "\xfa\xd1\xfb\xe1\x88\xb6\xf1\xa3"
   8970			  "\xc5\x3b\xdc\x38\x45\x16\x26\x02"
   8971			  "\x3b\xb8\x8f\x8b\x58\x7d\x23\x04"
   8972			  "\x50\x6b\x81\x9f\xae\x66\xac\x6f"
   8973			  "\xcf\x2a\x9d\xf1\xfd\x1d\x57\x07"
   8974			  "\xbe\x58\xeb\x77\x0c\xe3\xc2\x19"
   8975			  "\x14\x74\x1b\x51\x1c\x4f\x41\xf3"
   8976			  "\x32\x89\xb3\xe7\xde\x62\xf6\x5f"
   8977			  "\xc7\x6a\x4a\x2a\x5b\x0f\x5f\x87"
   8978			  "\x9c\x08\xb9\x02\x88\xc8\x29\xb7"
   8979			  "\x94\x52\xfa\x52\xfe\xaa\x50\x10"
   8980			  "\xba\x48\x75\x5e\x11\x1b\xe6\x39"
   8981			  "\xd7\x82\x2c\x87\xf1\x1e\xa4\x38"
   8982			  "\x72\x3e\x51\xe7\xd8\x3e\x5b\x7b"
   8983			  "\x31\x16\x89\xba\xd6\xad\x18\x5e"
   8984			  "\xba\xf8\x12\xb3\xf4\x6c\x47\x30"
   8985			  "\xc0\x38\x58\xb3\x10\x8d\x58\x5d"
   8986			  "\xb4\xfb\x19\x7e\x41\xc3\x66\xb8"
   8987			  "\xd6\x72\x84\xe1\x1a\xc2\x71\x4c"
   8988			  "\x0d\x4a\x21\x7a\xab\xa2\xc0\x36"
   8989			  "\x15\xc5\xe9\x46\xd7\x29\x17\x76"
   8990			  "\x5e\x47\x36\x7f\x72\x05\xa7\xcc"
   8991			  "\x36\x63\xf9\x47\x7d\xe6\x07\x3c"
   8992			  "\x8b\x79\x1d\x96\x61\x8d\x90\x65"
   8993			  "\x7c\xf5\xeb\x4e\x6e\x09\x59\x6d"
   8994			  "\x62\x50\x1b\x0f\xe0\xdc\x78\xf2"
   8995			  "\x5b\x83\x1a\xa1\x11\x75\xfd\x18"
   8996			  "\xd7\xe2\x8d\x65\x14\x21\xce\xbe"
   8997			  "\xb5\x87\xe3\x0a\xda\x24\x0a\x64"
   8998			  "\xa9\x9f\x03\x8d\x46\x5d\x24\x1a"
   8999			  "\x8a\x0c\x42\x01\xca\xb1\x5f\x7c"
   9000			  "\xa5\xac\x32\x4a\xb8\x07\x91\x18"
   9001			  "\x6f\xb0\x71\x3c\xc9\xb1\xa8\xf8"
   9002			  "\x5f\x69\xa5\xa1\xca\x9e\x7a\xaa"
   9003			  "\xac\xe9\xc7\x47\x41\x75\x25\xc3"
   9004			  "\x73\xe2\x0b\xdd\x6d\x52\x71\xbe"
   9005			  "\xc5\xdc\xb4\xe7\x01\x26\x53\x77"
   9006			  "\x86\x90\x85\x68\x6b\x7b\x03\x53"
   9007			  "\xda\x52\x52\x51\x68\xc8\xf3\xec"
   9008			  "\x6c\xd5\x03\x7a\xa3\x0e\xb4\x02"
   9009			  "\x5f\x1a\xab\xee\xca\x67\x29\x7b"
   9010			  "\xbd\x96\x59\xb3\x8b\x32\x7a\x92"
   9011			  "\x9f\xd8\x25\x2b\xdf\xc0\x4c\xda",
   9012		.ksize	= 1088,
   9013		.plaintext	= "\xbc\xda\x81\xa8\x78\x79\x1c\xbf"
   9014			  "\x77\x53\xba\x4c\x30\x5b\xb8\x33",
   9015		.psize	= 16,
   9016		.digest	= "\x04\xbf\x7f\x6a\xce\x72\xea\x6a"
   9017			  "\x79\xdb\xb0\xc9\x60\xf6\x12\xcc",
   9018	}, {
   9019		.key	= "\x2e\x77\x1e\x2c\x63\x76\x34\x3f"
   9020			  "\x71\x08\x4f\x5a\xe3\x3d\x74\x56"
   9021			  "\xc7\x98\x46\x52\xe5\x8a\xba\x0d"
   9022			  "\x72\x41\x11\x15\x14\x72\x50\x8a"
   9023			  "\xd5\xec\x60\x09\xdd\x71\xcc\xb9"
   9024			  "\x59\x81\x65\x2d\x9e\x50\x18\xf3"
   9025			  "\x32\xf3\xf1\xe7\x01\x82\x1c\xad"
   9026			  "\x88\xa0\x21\x0c\x4b\x80\x5e\x62"
   9027			  "\xfc\x81\xec\x52\xaa\xe4\xa5\x86"
   9028			  "\xc2\xe6\x03\x11\xdc\x66\x09\x86"
   9029			  "\x3c\x3b\xf0\x59\x0f\xb3\xf7\x44"
   9030			  "\x24\xb7\x88\xc5\xfc\xc8\x77\x9f"
   9031			  "\x8c\x44\xc4\x11\x55\xce\x7a\xa3"
   9032			  "\xe0\xa2\xb8\xbf\xb5\x3d\x07\x2c"
   9033			  "\x32\xb6\x6c\xfc\xb4\x42\x95\x95"
   9034			  "\x98\x32\x81\xc4\xe7\xe2\xd9\x6a"
   9035			  "\x87\xf4\xf4\x1e\x74\x7c\xb5\xcd"
   9036			  "\x51\x45\x68\x38\x51\xdb\x30\x74"
   9037			  "\x11\xe0\xaa\xae\x19\x8f\x15\x55"
   9038			  "\xdd\x47\x4a\x35\xb9\x0c\xb4\x4e"
   9039			  "\xa9\xce\x2f\xfa\x8f\xc1\x8a\x5e"
   9040			  "\x5b\xec\xa5\x81\x3b\xb3\x43\x06"
   9041			  "\x24\x81\xf4\x24\xe2\x21\xfa\xcb"
   9042			  "\x49\xa8\xf8\xbd\x31\x4a\x5b\x2d"
   9043			  "\x64\x0a\x07\xf0\x80\xc9\x0d\x81"
   9044			  "\x14\x58\x54\x2b\xba\x22\x31\xba"
   9045			  "\xef\x66\xc9\x49\x69\x69\x83\x0d"
   9046			  "\xf2\xf9\x80\x9d\x30\x36\xfb\xe3"
   9047			  "\xc0\x72\x2b\xcc\x5a\x81\x2c\x5d"
   9048			  "\x3b\x5e\xf8\x2b\xd3\x14\x28\x73"
   9049			  "\xf9\x1c\x70\xe6\xd8\xbb\xac\x30"
   9050			  "\xf9\xd9\xa0\xe2\x33\x7c\x33\x34"
   9051			  "\xa5\x6a\x77\x6d\xd5\xaf\xf4\xf3"
   9052			  "\xc7\xb3\x0e\x83\x3d\xcb\x01\xcc"
   9053			  "\x81\xc0\xf9\x4a\xae\x36\x92\xf7"
   9054			  "\x69\x7b\x65\x01\xc3\xc8\xb8\xae"
   9055			  "\x16\xd8\x30\xbb\xba\x6d\x78\x6e"
   9056			  "\x0d\xf0\x7d\x84\xb7\x87\xda\x28"
   9057			  "\x7a\x18\x10\x0b\x29\xec\x29\xf3"
   9058			  "\xb0\x7b\xa1\x28\xbf\xbc\x2b\x2c"
   9059			  "\x92\x2c\x16\xfb\x02\x39\xf9\xa6"
   9060			  "\xa2\x15\x05\xa6\x72\x10\xbc\x62"
   9061			  "\x4a\x6e\xb8\xb5\x5d\x59\xae\x3c"
   9062			  "\x32\xd3\x68\xd7\x8e\x5a\xcd\x1b"
   9063			  "\xef\xf6\xa7\x5e\x10\x51\x15\x4b"
   9064			  "\x2c\xe3\xba\x70\x4f\x2c\xa0\x1c"
   9065			  "\x7b\x97\xd7\xb2\xa5\x05\x17\xcc"
   9066			  "\xf7\x3a\x29\x6f\xd5\x4b\xb8\x24"
   9067			  "\xf4\x65\x95\x12\xc0\x86\xd1\x64"
   9068			  "\x81\xdf\x46\x55\x0d\x22\x06\x77"
   9069			  "\xd8\xca\x8d\xc8\x87\xc3\xfa\xb9"
   9070			  "\xe1\x98\x94\xe6\x7b\xed\x65\x66"
   9071			  "\x0e\xc7\x25\x15\xee\x4a\xe6\x7e"
   9072			  "\xea\x1b\x58\xee\x96\xa0\x75\x9a"
   9073			  "\xa3\x00\x9e\x42\xc2\x26\x20\x8c"
   9074			  "\x3d\x22\x1f\x94\x3e\x74\x43\x72"
   9075			  "\xe9\x1d\xa6\xa1\x6c\xa7\xb8\x03"
   9076			  "\xdf\xb9\x7a\xaf\xe9\xe9\x3b\xfe"
   9077			  "\xdf\x91\xc1\x01\xa8\xba\x5d\x29"
   9078			  "\xa5\xe0\x98\x9b\x13\xe5\x13\x11"
   9079			  "\x7c\x04\x3a\xe8\x44\x7e\x78\xfc"
   9080			  "\xd6\x96\xa8\xbc\x7d\xc1\x89\x3d"
   9081			  "\x75\x64\xa9\x0e\x86\x33\xfb\x73"
   9082			  "\xf7\x15\xbc\x2c\x9a\x3f\x29\xce"
   9083			  "\x1c\x9d\x10\x4e\x85\xe1\x77\x41"
   9084			  "\x01\xe2\xbc\x88\xec\x81\xef\xc2"
   9085			  "\x6a\xed\x4f\xf7\xdf\xac\x10\x71"
   9086			  "\x94\xed\x71\xa4\x01\xd4\xd6\xbe"
   9087			  "\xfe\x3e\xc3\x92\x6a\xf2\x2b\xb5"
   9088			  "\xab\x15\x96\xb7\x88\x2c\xc2\xe1"
   9089			  "\xb0\x04\x22\xe7\x3d\xa9\xc9\x7d"
   9090			  "\x2c\x7c\x21\xff\x97\x86\x6b\x0c"
   9091			  "\x2b\x5b\xe0\xb6\x48\x74\x8f\x24"
   9092			  "\xef\x8e\xdd\x0f\x2a\x5f\xff\x33"
   9093			  "\xf4\x8e\xc5\xeb\x9c\xd7\x2a\x45"
   9094			  "\xf3\x50\xf1\xc0\x91\x8f\xc7\xf9"
   9095			  "\x97\xc1\x3c\x9c\xf4\xed\x8a\x23"
   9096			  "\x61\x5b\x40\x1a\x09\xee\x23\xa8"
   9097			  "\x7c\x7a\x96\xe1\x31\x55\x3d\x12"
   9098			  "\x04\x1f\x21\x78\x72\xf0\x0f\xa5"
   9099			  "\x80\x58\x7c\x2f\x37\xb5\x67\x24"
   9100			  "\x2f\xce\xf9\xf6\x86\x9f\xb3\x34"
   9101			  "\x0c\xfe\x0a\xaf\x27\xe6\x5e\x0a"
   9102			  "\x21\x44\x68\xe1\x5d\x84\x25\xae"
   9103			  "\x2c\x5a\x94\x66\x9a\x3f\x0e\x5a"
   9104			  "\xd0\x60\x2a\xd5\x3a\x4e\x2f\x40"
   9105			  "\x87\xe9\x27\x3e\xee\x92\xe1\x07"
   9106			  "\x22\x43\x52\xed\x67\x49\x13\xdd"
   9107			  "\x68\xd7\x54\xc2\x76\x72\x7e\x75"
   9108			  "\xaf\x24\x98\x5c\xe8\x22\xaa\x35"
   9109			  "\x0f\x9a\x1c\x4c\x0b\x43\x68\x99"
   9110			  "\x45\xdd\xbf\x82\xa5\x6f\x0a\xef"
   9111			  "\x44\x90\x85\xe7\x57\x23\x22\x41"
   9112			  "\x2e\xda\x24\x28\x65\x7f\x96\x85"
   9113			  "\x9f\x4b\x0d\x43\xb9\xa8\xbd\x84"
   9114			  "\xad\x0b\x09\xcc\x2c\x4a\x0c\xec"
   9115			  "\x71\x58\xba\xf1\xfc\x49\x4c\xca"
   9116			  "\x5c\x5d\xb2\x77\x0c\x99\xae\x1c"
   9117			  "\xce\x70\x05\x5b\x73\x6b\x7c\x28"
   9118			  "\x3b\xeb\x21\x3f\xa3\x71\xe1\x6a"
   9119			  "\xf4\x87\xd0\xbf\x73\xaa\x0b\x0b"
   9120			  "\xed\x70\xb3\xd4\xa3\xca\x76\x3a"
   9121			  "\xdb\xfa\xd8\x08\x95\xec\xac\x59"
   9122			  "\xd0\x79\x90\xc2\x33\x7b\xcc\x28"
   9123			  "\x65\xb6\x5f\x92\xc4\xac\x23\x40"
   9124			  "\xd1\x20\x44\x1f\xd7\x29\xab\x46"
   9125			  "\x79\x32\xc6\x8f\x79\xe5\xaa\x2c"
   9126			  "\xa6\x76\x70\x3a\x9e\x46\x3f\x8c"
   9127			  "\x1a\x89\x32\x28\x61\x5c\xcf\x93"
   9128			  "\x1e\xde\x9e\x98\xbe\x06\x30\x23"
   9129			  "\xc4\x8b\xda\x1c\xd1\x67\x46\x93"
   9130			  "\x9d\x41\xa2\x8c\x03\x22\xbd\x55"
   9131			  "\x7e\x91\x51\x13\xdc\xcf\x5c\x1e"
   9132			  "\xcb\x5d\xfb\x14\x16\x1a\x44\x56"
   9133			  "\x27\x77\xfd\xed\x7d\xbd\xd1\x49"
   9134			  "\x7f\x0d\xc3\x59\x48\x6b\x3c\x02"
   9135			  "\x6b\xb5\xd0\x83\xd5\x81\x29\xe7"
   9136			  "\xe0\xc9\x36\x23\x8d\x41\x33\x77"
   9137			  "\xff\x5f\x54\xde\x4d\x3f\xd2\x4e"
   9138			  "\xb6\x4d\xdd\x85\xf8\x9b\x20\x7d"
   9139			  "\x39\x27\x68\x63\xd3\x8e\x61\x39"
   9140			  "\xfa\xe1\xc3\x04\x74\x27\x5a\x34"
   9141			  "\x7f\xec\x59\x2d\xc5\x6e\x54\x23"
   9142			  "\xf5\x7b\x4b\xbe\x58\x2b\xf2\x81"
   9143			  "\x93\x63\xcc\x13\xd9\x90\xbb\x6a"
   9144			  "\x41\x03\x8d\x95\xeb\xbb\x5d\x06"
   9145			  "\x38\x4c\x0e\xd6\xa9\x5b\x84\x97"
   9146			  "\x3e\x64\x72\xe9\x96\x07\x0f\x73"
   9147			  "\x6e\xc6\x3b\x32\xbe\xac\x13\x14"
   9148			  "\xd0\x0a\x17\x5f\xb9\x9c\x3e\x34"
   9149			  "\xd9\xec\xd6\x8f\x89\xbf\x1e\xd3"
   9150			  "\xda\x80\xb2\x29\xff\x28\x96\xb3"
   9151			  "\x46\x50\x5b\x15\x80\x97\xee\x1f"
   9152			  "\x6c\xd8\xe8\xe0\xbd\x09\xe7\x20"
   9153			  "\x8c\x23\x8e\xd9\xbb\x92\xfa\x82"
   9154			  "\xaa\x0f\xb5\xf8\x78\x60\x11\xf0",
   9155		.ksize	= 1088,
   9156		.plaintext	= "\x0b\xb2\x31\x2d\xad\xfe\xce\xf9"
   9157			  "\xec\x5d\x3d\x64\x5f\x3f\x75\x43"
   9158			  "\x05\x5b\x97",
   9159		.psize	= 19,
   9160		.digest	= "\x5f\x02\xae\x65\x6c\x13\x21\x67"
   9161			  "\x77\x9e\xc4\x43\x58\x68\xde\x8f",
   9162	}, {
   9163		.key	= "\x65\x4d\xe3\xf8\xd2\x4c\xac\x28"
   9164			  "\x68\xf5\xb3\x81\x71\x4b\xa1\xfa"
   9165			  "\x04\x0e\xd3\x81\x36\xbe\x0c\x81"
   9166			  "\x5e\xaf\xbc\x3a\xa4\xc0\x8e\x8b"
   9167			  "\x55\x63\xd3\x52\x97\x88\xd6\x19"
   9168			  "\xbc\x96\xdf\x49\xff\x04\x63\xf5"
   9169			  "\x0c\x11\x13\xaa\x9e\x1f\x5a\xf7"
   9170			  "\xdd\xbd\x37\x80\xc3\xd0\xbe\xa7"
   9171			  "\x05\xc8\x3c\x98\x1e\x05\x3c\x84"
   9172			  "\x39\x61\xc4\xed\xed\x71\x1b\xc4"
   9173			  "\x74\x45\x2c\xa1\x56\x70\x97\xfd"
   9174			  "\x44\x18\x07\x7d\xca\x60\x1f\x73"
   9175			  "\x3b\x6d\x21\xcb\x61\x87\x70\x25"
   9176			  "\x46\x21\xf1\x1f\x21\x91\x31\x2d"
   9177			  "\x5d\xcc\xb7\xd1\x84\x3e\x3d\xdb"
   9178			  "\x03\x53\x2a\x82\xa6\x9a\x95\xbc"
   9179			  "\x1a\x1e\x0a\x5e\x07\x43\xab\x43"
   9180			  "\xaf\x92\x82\x06\x91\x04\x09\xf4"
   9181			  "\x17\x0a\x9a\x2c\x54\xdb\xb8\xf4"
   9182			  "\xd0\xf0\x10\x66\x24\x8d\xcd\xda"
   9183			  "\xfe\x0e\x45\x9d\x6f\xc4\x4e\xf4"
   9184			  "\x96\xaf\x13\xdc\xa9\xd4\x8c\xc4"
   9185			  "\xc8\x57\x39\x3c\xc2\xd3\x0a\x76"
   9186			  "\x4a\x1f\x75\x83\x44\xc7\xd1\x39"
   9187			  "\xd8\xb5\x41\xba\x73\x87\xfa\x96"
   9188			  "\xc7\x18\x53\xfb\x9b\xda\xa0\x97"
   9189			  "\x1d\xee\x60\x85\x9e\x14\xc3\xce"
   9190			  "\xc4\x05\x29\x3b\x95\x30\xa3\xd1"
   9191			  "\x9f\x82\x6a\x04\xf5\xa7\x75\x57"
   9192			  "\x82\x04\xfe\x71\x51\x71\xb1\x49"
   9193			  "\x50\xf8\xe0\x96\xf1\xfa\xa8\x88"
   9194			  "\x3f\xa0\x86\x20\xd4\x60\x79\x59"
   9195			  "\x17\x2d\xd1\x09\xf4\xec\x05\x57"
   9196			  "\xcf\x62\x7e\x0e\x7e\x60\x78\xe6"
   9197			  "\x08\x60\x29\xd8\xd5\x08\x1a\x24"
   9198			  "\xc4\x6c\x24\xe7\x92\x08\x3d\x8a"
   9199			  "\x98\x7a\xcf\x99\x0a\x65\x0e\xdc"
   9200			  "\x8c\x8a\xbe\x92\x82\x91\xcc\x62"
   9201			  "\x30\xb6\xf4\x3f\xc6\x8a\x7f\x12"
   9202			  "\x4a\x8a\x49\xfa\x3f\x5c\xd4\x5a"
   9203			  "\xa6\x82\xa3\xe6\xaa\x34\x76\xb2"
   9204			  "\xab\x0a\x30\xef\x6c\x77\x58\x3f"
   9205			  "\x05\x6b\xcc\x5c\xae\xdc\xd7\xb9"
   9206			  "\x51\x7e\x8d\x32\x5b\x24\x25\xbe"
   9207			  "\x2b\x24\x01\xcf\x80\xda\x16\xd8"
   9208			  "\x90\x72\x2c\xad\x34\x8d\x0c\x74"
   9209			  "\x02\xcb\xfd\xcf\x6e\xef\x97\xb5"
   9210			  "\x4c\xf2\x68\xca\xde\x43\x9e\x8a"
   9211			  "\xc5\x5f\x31\x7f\x14\x71\x38\xec"
   9212			  "\xbd\x98\xe5\x71\xc4\xb5\xdb\xef"
   9213			  "\x59\xd2\xca\xc0\xc1\x86\x75\x01"
   9214			  "\xd4\x15\x0d\x6f\xa4\xf7\x7b\x37"
   9215			  "\x47\xda\x18\x93\x63\xda\xbe\x9e"
   9216			  "\x07\xfb\xb2\x83\xd5\xc4\x34\x55"
   9217			  "\xee\x73\xa1\x42\x96\xf9\x66\x41"
   9218			  "\xa4\xcc\xd2\x93\x6e\xe1\x0a\xbb"
   9219			  "\xd2\xdd\x18\x23\xe6\x6b\x98\x0b"
   9220			  "\x8a\x83\x59\x2c\xc3\xa6\x59\x5b"
   9221			  "\x01\x22\x59\xf7\xdc\xb0\x87\x7e"
   9222			  "\xdb\x7d\xf4\x71\x41\xab\xbd\xee"
   9223			  "\x79\xbe\x3c\x01\x76\x0b\x2d\x0a"
   9224			  "\x42\xc9\x77\x8c\xbb\x54\x95\x60"
   9225			  "\x43\x2e\xe0\x17\x52\xbd\x90\xc9"
   9226			  "\xc2\x2c\xdd\x90\x24\x22\x76\x40"
   9227			  "\x5c\xb9\x41\xc9\xa1\xd5\xbd\xe3"
   9228			  "\x44\xe0\xa4\xab\xcc\xb8\xe2\x32"
   9229			  "\x02\x15\x04\x1f\x8c\xec\x5d\x14"
   9230			  "\xac\x18\xaa\xef\x6e\x33\x19\x6e"
   9231			  "\xde\xfe\x19\xdb\xeb\x61\xca\x18"
   9232			  "\xad\xd8\x3d\xbf\x09\x11\xc7\xa5"
   9233			  "\x86\x0b\x0f\xe5\x3e\xde\xe8\xd9"
   9234			  "\x0a\x69\x9e\x4c\x20\xff\xf9\xc5"
   9235			  "\xfa\xf8\xf3\x7f\xa5\x01\x4b\x5e"
   9236			  "\x0f\xf0\x3b\x68\xf0\x46\x8c\x2a"
   9237			  "\x7a\xc1\x8f\xa0\xfe\x6a\x5b\x44"
   9238			  "\x70\x5c\xcc\x92\x2c\x6f\x0f\xbd"
   9239			  "\x25\x3e\xb7\x8e\x73\x58\xda\xc9"
   9240			  "\xa5\xaa\x9e\xf3\x9b\xfd\x37\x3e"
   9241			  "\xe2\x88\xa4\x7b\xc8\x5c\xa8\x93"
   9242			  "\x0e\xe7\x9a\x9c\x2e\x95\x18\x9f"
   9243			  "\xc8\x45\x0c\x88\x9e\x53\x4f\x3a"
   9244			  "\x76\xc1\x35\xfa\x17\xd8\xac\xa0"
   9245			  "\x0c\x2d\x47\x2e\x4f\x69\x9b\xf7"
   9246			  "\xd0\xb6\x96\x0c\x19\xb3\x08\x01"
   9247			  "\x65\x7a\x1f\xc7\x31\x86\xdb\xc8"
   9248			  "\xc1\x99\x8f\xf8\x08\x4a\x9d\x23"
   9249			  "\x22\xa8\xcf\x27\x01\x01\x88\x93"
   9250			  "\x9c\x86\x45\xbd\xe0\x51\xca\x52"
   9251			  "\x84\xba\xfe\x03\xf7\xda\xc5\xce"
   9252			  "\x3e\x77\x75\x86\xaf\x84\xc8\x05"
   9253			  "\x44\x01\x0f\x02\xf3\x58\xb0\x06"
   9254			  "\x5a\xd7\x12\x30\x8d\xdf\x1f\x1f"
   9255			  "\x0a\xe6\xd2\xea\xf6\x3a\x7a\x99"
   9256			  "\x63\xe8\xd2\xc1\x4a\x45\x8b\x40"
   9257			  "\x4d\x0a\xa9\x76\x92\xb3\xda\x87"
   9258			  "\x36\x33\xf0\x78\xc3\x2f\x5f\x02"
   9259			  "\x1a\x6a\x2c\x32\xcd\x76\xbf\xbd"
   9260			  "\x5a\x26\x20\x28\x8c\x8c\xbc\x52"
   9261			  "\x3d\x0a\xc9\xcb\xab\xa4\x21\xb0"
   9262			  "\x54\x40\x81\x44\xc7\xd6\x1c\x11"
   9263			  "\x44\xc6\x02\x92\x14\x5a\xbf\x1a"
   9264			  "\x09\x8a\x18\xad\xcd\x64\x3d\x53"
   9265			  "\x4a\xb6\xa5\x1b\x57\x0e\xef\xe0"
   9266			  "\x8c\x44\x5f\x7d\xbd\x6c\xfd\x60"
   9267			  "\xae\x02\x24\xb6\x99\xdd\x8c\xaf"
   9268			  "\x59\x39\x75\x3c\xd1\x54\x7b\x86"
   9269			  "\xcc\x99\xd9\x28\x0c\xb0\x94\x62"
   9270			  "\xf9\x51\xd1\x19\x96\x2d\x66\xf5"
   9271			  "\x55\xcf\x9e\x59\xe2\x6b\x2c\x08"
   9272			  "\xc0\x54\x48\x24\x45\xc3\x8c\x73"
   9273			  "\xea\x27\x6e\x66\x7d\x1d\x0e\x6e"
   9274			  "\x13\xe8\x56\x65\x3a\xb0\x81\x5c"
   9275			  "\xf0\xe8\xd8\x00\x6b\xcd\x8f\xad"
   9276			  "\xdd\x53\xf3\xa4\x6c\x43\xd6\x31"
   9277			  "\xaf\xd2\x76\x1e\x91\x12\xdb\x3c"
   9278			  "\x8c\xc2\x81\xf0\x49\xdb\xe2\x6b"
   9279			  "\x76\x62\x0a\x04\xe4\xaa\x8a\x7c"
   9280			  "\x08\x0b\x5d\xd0\xee\x1d\xfb\xc4"
   9281			  "\x02\x75\x42\xd6\xba\xa7\x22\xa8"
   9282			  "\x47\x29\xb7\x85\x6d\x93\x3a\xdb"
   9283			  "\x00\x53\x0b\xa2\xeb\xf8\xfe\x01"
   9284			  "\x6f\x8a\x31\xd6\x17\x05\x6f\x67"
   9285			  "\x88\x95\x32\xfe\x4f\xa6\x4b\xf8"
   9286			  "\x03\xe4\xcd\x9a\x18\xe8\x4e\x2d"
   9287			  "\xf7\x97\x9a\x0c\x7d\x9f\x7e\x44"
   9288			  "\x69\x51\xe0\x32\x6b\x62\x86\x8f"
   9289			  "\xa6\x8e\x0b\x21\x96\xe5\xaf\x77"
   9290			  "\xc0\x83\xdf\xa5\x0e\xd0\xa1\x04"
   9291			  "\xaf\xc1\x10\xcb\x5a\x40\xe4\xe3"
   9292			  "\x38\x7e\x07\xe8\x4d\xfa\xed\xc5"
   9293			  "\xf0\x37\xdf\xbb\x8a\xcf\x3d\xdc"
   9294			  "\x61\xd2\xc6\x2b\xff\x07\xc9\x2f"
   9295			  "\x0c\x2d\x5c\x07\xa8\x35\x6a\xfc"
   9296			  "\xae\x09\x03\x45\x74\x51\x4d\xc4"
   9297			  "\xb8\x23\x87\x4a\x99\x27\x20\x87"
   9298			  "\x62\x44\x0a\x4a\xce\x78\x47\x22",
   9299		.ksize	= 1088,
   9300		.plaintext	= "\x8e\xb0\x4c\xde\x9c\x4a\x04\x5a"
   9301			  "\xf6\xa9\x7f\x45\x25\xa5\x7b\x3a"
   9302			  "\xbc\x4d\x73\x39\x81\xb5\xbd\x3d"
   9303			  "\x21\x6f\xd7\x37\x50\x3c\x7b\x28"
   9304			  "\xd1\x03\x3a\x17\xed\x7b\x7c\x2a"
   9305			  "\x16\xbc\xdf\x19\x89\x52\x71\x31"
   9306			  "\xb6\xc0\xfd\xb5\xd3\xba\x96\x99"
   9307			  "\xb6\x34\x0b\xd0\x99\x93\xfc\x1a"
   9308			  "\x01\x3c\x85\xc6\x9b\x78\x5c\x8b"
   9309			  "\xfe\xae\xd2\xbf\xb2\x6f\xf9\xed"
   9310			  "\xc8\x25\x17\xfe\x10\x3b\x7d\xda"
   9311			  "\xf4\x8d\x35\x4b\x7c\x7b\x82\xe7"
   9312			  "\xc2\xb3\xee\x60\x4a\x03\x86\xc9"
   9313			  "\x4e\xb5\xc4\xbe\xd2\xbd\x66\xf1"
   9314			  "\x13\xf1\x09\xab\x5d\xca\x63\x1f"
   9315			  "\xfc\xfb\x57\x2a\xfc\xca\x66\xd8"
   9316			  "\x77\x84\x38\x23\x1d\xac\xd3\xb3"
   9317			  "\x7a\xad\x4c\x70\xfa\x9c\xc9\x61"
   9318			  "\xa6\x1b\xba\x33\x4b\x4e\x33\xec"
   9319			  "\xa0\xa1\x64\x39\x40\x05\x1c\xc2"
   9320			  "\x3f\x49\x9d\xae\xf2\xc5\xf2\xc5"
   9321			  "\xfe\xe8\xf4\xc2\xf9\x96\x2d\x28"
   9322			  "\x92\x30\x44\xbc\xd2\x7f\xe1\x6e"
   9323			  "\x62\x02\x8f\x3d\x1c\x80\xda\x0e"
   9324			  "\x6a\x90\x7e\x75\xff\xec\x3e\xc4"
   9325			  "\xcd\x16\x34\x3b\x05\x6d\x4d\x20"
   9326			  "\x1c\x7b\xf5\x57\x4f\xfa\x3d\xac"
   9327			  "\xd0\x13\x55\xe8\xb3\xe1\x1b\x78"
   9328			  "\x30\xe6\x9f\x84\xd4\x69\xd1\x08"
   9329			  "\x12\x77\xa7\x4a\xbd\xc0\xf2\xd2"
   9330			  "\x78\xdd\xa3\x81\x12\xcb\x6c\x14"
   9331			  "\x90\x61\xe2\x84\xc6\x2b\x16\xcc"
   9332			  "\x40\x99\x50\x88\x01\x09\x64\x4f"
   9333			  "\x0a\x80\xbe\x61\xae\x46\xc9\x0a"
   9334			  "\x5d\xe0\xfb\x72\x7a\x1a\xdd\x61"
   9335			  "\x63\x20\x05\xa0\x4a\xf0\x60\x69"
   9336			  "\x7f\x92\xbc\xbf\x4e\x39\x4d\xdd"
   9337			  "\x74\xd1\xb7\xc0\x5a\x34\xb7\xae"
   9338			  "\x76\x65\x2e\xbc\x36\xb9\x04\x95"
   9339			  "\x42\xe9\x6f\xca\x78\xb3\x72\x07"
   9340			  "\xa3\xba\x02\x94\x67\x4c\xb1\xd7"
   9341			  "\xe9\x30\x0d\xf0\x3b\xb8\x10\x6d"
   9342			  "\xea\x2b\x21\xbf\x74\x59\x82\x97"
   9343			  "\x85\xaa\xf1\xd7\x54\x39\xeb\x05"
   9344			  "\xbd\xf3\x40\xa0\x97\xe6\x74\xfe"
   9345			  "\xb4\x82\x5b\xb1\x36\xcb\xe8\x0d"
   9346			  "\xce\x14\xd9\xdf\xf1\x94\x22\xcd"
   9347			  "\xd6\x00\xba\x04\x4c\x05\x0c\xc0"
   9348			  "\xd1\x5a\xeb\x52\xd5\xa8\x8e\xc8"
   9349			  "\x97\xa1\xaa\xc1\xea\xc1\xbe\x7c"
   9350			  "\x36\xb3\x36\xa0\xc6\x76\x66\xc5"
   9351			  "\xe2\xaf\xd6\x5c\xe2\xdb\x2c\xb3"
   9352			  "\x6c\xb9\x99\x7f\xff\x9f\x03\x24"
   9353			  "\xe1\x51\x44\x66\xd8\x0c\x5d\x7f"
   9354			  "\x5c\x85\x22\x2a\xcf\x6d\x79\x28"
   9355			  "\xab\x98\x01\x72\xfe\x80\x87\x5f"
   9356			  "\x46\xba\xef\x81\x24\xee\xbf\xb0"
   9357			  "\x24\x74\xa3\x65\x97\x12\xc4\xaf"
   9358			  "\x8b\xa0\x39\xda\x8a\x7e\x74\x6e"
   9359			  "\x1b\x42\xb4\x44\x37\xfc\x59\xfd"
   9360			  "\x86\xed\xfb\x8c\x66\x33\xda\x63"
   9361			  "\x75\xeb\xe1\xa4\x85\x4f\x50\x8f"
   9362			  "\x83\x66\x0d\xd3\x37\xfa\xe6\x9c"
   9363			  "\x4f\x30\x87\x35\x18\xe3\x0b\xb7"
   9364			  "\x6e\x64\x54\xcd\x70\xb3\xde\x54"
   9365			  "\xb7\x1d\xe6\x4c\x4d\x55\x12\x12"
   9366			  "\xaf\x5f\x7f\x5e\xee\x9d\xe8\x8e"
   9367			  "\x32\x9d\x4e\x75\xeb\xc6\xdd\xaa"
   9368			  "\x48\x82\xa4\x3f\x3c\xd7\xd3\xa8"
   9369			  "\x63\x9e\x64\xfe\xe3\x97\x00\x62"
   9370			  "\xe5\x40\x5d\xc3\xad\x72\xe1\x28"
   9371			  "\x18\x50\xb7\x75\xef\xcd\x23\xbf"
   9372			  "\x3f\xc0\x51\x36\xf8\x41\xc3\x08"
   9373			  "\xcb\xf1\x8d\x38\x34\xbd\x48\x45"
   9374			  "\x75\xed\xbc\x65\x7b\xb5\x0c\x9b"
   9375			  "\xd7\x67\x7d\x27\xb4\xc4\x80\xd7"
   9376			  "\xa9\xb9\xc7\x4a\x97\xaa\xda\xc8"
   9377			  "\x3c\x74\xcf\x36\x8f\xe4\x41\xe3"
   9378			  "\xd4\xd3\x26\xa7\xf3\x23\x9d\x8f"
   9379			  "\x6c\x20\x05\x32\x3e\xe0\xc3\xc8"
   9380			  "\x56\x3f\xa7\x09\xb7\xfb\xc7\xf7"
   9381			  "\xbe\x2a\xdd\x0f\x06\x7b\x0d\xdd"
   9382			  "\xb0\xb4\x86\x17\xfd\xb9\x04\xe5"
   9383			  "\xc0\x64\x5d\xad\x2a\x36\x38\xdb"
   9384			  "\x24\xaf\x5b\xff\xca\xf9\x41\xe8"
   9385			  "\xf9\x2f\x1e\x5e\xf9\xf5\xd5\xf2"
   9386			  "\xb2\x88\xca\xc9\xa1\x31\xe2\xe8"
   9387			  "\x10\x95\x65\xbf\xf1\x11\x61\x7a"
   9388			  "\x30\x1a\x54\x90\xea\xd2\x30\xf6"
   9389			  "\xa5\xad\x60\xf9\x4d\x84\x21\x1b"
   9390			  "\xe4\x42\x22\xc8\x12\x4b\xb0\x58"
   9391			  "\x3e\x9c\x2d\x32\x95\x0a\x8e\xb0"
   9392			  "\x0a\x7e\x77\x2f\xe8\x97\x31\x6a"
   9393			  "\xf5\x59\xb4\x26\xe6\x37\x12\xc9"
   9394			  "\xcb\xa0\x58\x33\x6f\xd5\x55\x55"
   9395			  "\x3c\xa1\x33\xb1\x0b\x7e\x2e\xb4"
   9396			  "\x43\x2a\x84\x39\xf0\x9c\xf4\x69"
   9397			  "\x4f\x1e\x79\xa6\x15\x1b\x87\xbb"
   9398			  "\xdb\x9b\xe0\xf1\x0b\xba\xe3\x6e"
   9399			  "\xcc\x2f\x49\x19\x22\x29\xfc\x71"
   9400			  "\xbb\x77\x38\x18\x61\xaf\x85\x76"
   9401			  "\xeb\xd1\x09\xcc\x86\x04\x20\x9a"
   9402			  "\x66\x53\x2f\x44\x8b\xc6\xa3\xd2"
   9403			  "\x5f\xc7\x79\x82\x66\xa8\x6e\x75"
   9404			  "\x7d\x94\xd1\x86\x75\x0f\xa5\x4f"
   9405			  "\x3c\x7a\x33\xce\xd1\x6e\x9d\x7b"
   9406			  "\x1f\x91\x37\xb8\x37\x80\xfb\xe0"
   9407			  "\x52\x26\xd0\x9a\xd4\x48\x02\x41"
   9408			  "\x05\xe3\x5a\x94\xf1\x65\x61\x19"
   9409			  "\xb8\x88\x4e\x2b\xea\xba\x8b\x58"
   9410			  "\x8b\x42\x01\x00\xa8\xfe\x00\x5c"
   9411			  "\xfe\x1c\xee\x31\x15\x69\xfa\xb3"
   9412			  "\x9b\x5f\x22\x8e\x0d\x2c\xe3\xa5"
   9413			  "\x21\xb9\x99\x8a\x8e\x94\x5a\xef"
   9414			  "\x13\x3e\x99\x96\x79\x6e\xd5\x42"
   9415			  "\x36\x03\xa9\xe2\xca\x65\x4e\x8a"
   9416			  "\x8a\x30\xd2\x7d\x74\xe7\xf0\xaa"
   9417			  "\x23\x26\xdd\xcb\x82\x39\xfc\x9d"
   9418			  "\x51\x76\x21\x80\xa2\xbe\x93\x03"
   9419			  "\x47\xb0\xc1\xb6\xdc\x63\xfd\x9f"
   9420			  "\xca\x9d\xa5\xca\x27\x85\xe2\xd8"
   9421			  "\x15\x5b\x7e\x14\x7a\xc4\x89\xcc"
   9422			  "\x74\x14\x4b\x46\xd2\xce\xac\x39"
   9423			  "\x6b\x6a\x5a\xa4\x0e\xe3\x7b\x15"
   9424			  "\x94\x4b\x0f\x74\xcb\x0c\x7f\xa9"
   9425			  "\xbe\x09\x39\xa3\xdd\x56\x5c\xc7"
   9426			  "\x99\x56\x65\x39\xf4\x0b\x7d\x87"
   9427			  "\xec\xaa\xe3\x4d\x22\x65\x39\x4e",
   9428		.psize	= 1024,
   9429		.digest	= "\x64\x3a\xbc\xc3\x3f\x74\x40\x51"
   9430			  "\x6e\x56\x01\x1a\x51\xec\x36\xde",
   9431	}, {
   9432		.key	= "\x1b\x82\x2e\x1b\x17\x23\xb9\x6d"
   9433			  "\xdc\x9c\xda\x99\x07\xe3\x5f\xd8"
   9434			  "\xd2\xf8\x43\x80\x8d\x86\x7d\x80"
   9435			  "\x1a\xd0\xcc\x13\xb9\x11\x05\x3f"
   9436			  "\x7e\xcf\x7e\x80\x0e\xd8\x25\x48"
   9437			  "\x8b\xaa\x63\x83\x92\xd0\x72\xf5"
   9438			  "\x4f\x67\x7e\x50\x18\x25\xa4\xd1"
   9439			  "\xe0\x7e\x1e\xba\xd8\xa7\x6e\xdb"
   9440			  "\x1a\xcc\x0d\xfe\x9f\x6d\x22\x35"
   9441			  "\xe1\xe6\xe0\xa8\x7b\x9c\xb1\x66"
   9442			  "\xa3\xf8\xff\x4d\x90\x84\x28\xbc"
   9443			  "\xdc\x19\xc7\x91\x49\xfc\xf6\x33"
   9444			  "\xc9\x6e\x65\x7f\x28\x6f\x68\x2e"
   9445			  "\xdf\x1a\x75\xe9\xc2\x0c\x96\xb9"
   9446			  "\x31\x22\xc4\x07\xc6\x0a\x2f\xfd"
   9447			  "\x36\x06\x5f\x5c\xc5\xb1\x3a\xf4"
   9448			  "\x5e\x48\xa4\x45\x2b\x88\xa7\xee"
   9449			  "\xa9\x8b\x52\xcc\x99\xd9\x2f\xb8"
   9450			  "\xa4\x58\x0a\x13\xeb\x71\x5a\xfa"
   9451			  "\xe5\x5e\xbe\xf2\x64\xad\x75\xbc"
   9452			  "\x0b\x5b\x34\x13\x3b\x23\x13\x9a"
   9453			  "\x69\x30\x1e\x9a\xb8\x03\xb8\x8b"
   9454			  "\x3e\x46\x18\x6d\x38\xd9\xb3\xd8"
   9455			  "\xbf\xf1\xd0\x28\xe6\x51\x57\x80"
   9456			  "\x5e\x99\xfb\xd0\xce\x1e\x83\xf7"
   9457			  "\xe9\x07\x5a\x63\xa9\xef\xce\xa5"
   9458			  "\xfb\x3f\x37\x17\xfc\x0b\x37\x0e"
   9459			  "\xbb\x4b\x21\x62\xb7\x83\x0e\xa9"
   9460			  "\x9e\xb0\xc4\xad\x47\xbe\x35\xe7"
   9461			  "\x51\xb2\xf2\xac\x2b\x65\x7b\x48"
   9462			  "\xe3\x3f\x5f\xb6\x09\x04\x0c\x58"
   9463			  "\xce\x99\xa9\x15\x2f\x4e\xc1\xf2"
   9464			  "\x24\x48\xc0\xd8\x6c\xd3\x76\x17"
   9465			  "\x83\x5d\xe6\xe3\xfd\x01\x8e\xf7"
   9466			  "\x42\xa5\x04\x29\x30\xdf\xf9\x00"
   9467			  "\x4a\xdc\x71\x22\x1a\x33\x15\xb6"
   9468			  "\xd7\x72\xfb\x9a\xb8\xeb\x2b\x38"
   9469			  "\xea\xa8\x61\xa8\x90\x11\x9d\x73"
   9470			  "\x2e\x6c\xce\x81\x54\x5a\x9f\xcd"
   9471			  "\xcf\xd5\xbd\x26\x5d\x66\xdb\xfb"
   9472			  "\xdc\x1e\x7c\x10\xfe\x58\x82\x10"
   9473			  "\x16\x24\x01\xce\x67\x55\x51\xd1"
   9474			  "\xdd\x6b\x44\xa3\x20\x8e\xa9\xa6"
   9475			  "\x06\xa8\x29\x77\x6e\x00\x38\x5b"
   9476			  "\xde\x4d\x58\xd8\x1f\x34\xdf\xf9"
   9477			  "\x2c\xac\x3e\xad\xfb\x92\x0d\x72"
   9478			  "\x39\xa4\xac\x44\x10\xc0\x43\xc4"
   9479			  "\xa4\x77\x3b\xfc\xc4\x0d\x37\xd3"
   9480			  "\x05\x84\xda\x53\x71\xf8\x80\xd3"
   9481			  "\x34\x44\xdb\x09\xb4\x2b\x8e\xe3"
   9482			  "\x00\x75\x50\x9e\x43\x22\x00\x0b"
   9483			  "\x7c\x70\xab\xd4\x41\xf1\x93\xcd"
   9484			  "\x25\x2d\x84\x74\xb5\xf2\x92\xcd"
   9485			  "\x0a\x28\xea\x9a\x49\x02\x96\xcb"
   9486			  "\x85\x9e\x2f\x33\x03\x86\x1d\xdc"
   9487			  "\x1d\x31\xd5\xfc\x9d\xaa\xc5\xe9"
   9488			  "\x9a\xc4\x57\xf5\x35\xed\xf4\x4b"
   9489			  "\x3d\x34\xc2\x29\x13\x86\x36\x42"
   9490			  "\x5d\xbf\x90\x86\x13\x77\xe5\xc3"
   9491			  "\x62\xb4\xfe\x0b\x70\x39\x35\x65"
   9492			  "\x02\xea\xf6\xce\x57\x0c\xbb\x74"
   9493			  "\x29\xe3\xfd\x60\x90\xfd\x10\x38"
   9494			  "\xd5\x4e\x86\xbd\x37\x70\xf0\x97"
   9495			  "\xa6\xab\x3b\x83\x64\x52\xca\x66"
   9496			  "\x2f\xf9\xa4\xca\x3a\x55\x6b\xb0"
   9497			  "\xe8\x3a\x34\xdb\x9e\x48\x50\x2f"
   9498			  "\x3b\xef\xfd\x08\x2d\x5f\xc1\x37"
   9499			  "\x5d\xbe\x73\xe4\xd8\xe9\xac\xca"
   9500			  "\x8a\xaa\x48\x7c\x5c\xf4\xa6\x96"
   9501			  "\x5f\xfa\x70\xa6\xb7\x8b\x50\xcb"
   9502			  "\xa6\xf5\xa9\xbd\x7b\x75\x4c\x22"
   9503			  "\x0b\x19\x40\x2e\xc9\x39\x39\x32"
   9504			  "\x83\x03\xa8\xa4\x98\xe6\x8e\x16"
   9505			  "\xb9\xde\x08\xc5\xfc\xbf\xad\x39"
   9506			  "\xa8\xc7\x93\x6c\x6f\x23\xaf\xc1"
   9507			  "\xab\xe1\xdf\xbb\x39\xae\x93\x29"
   9508			  "\x0e\x7d\x80\x8d\x3e\x65\xf3\xfd"
   9509			  "\x96\x06\x65\x90\xa1\x28\x64\x4b"
   9510			  "\x69\xf9\xa8\x84\x27\x50\xfc\x87"
   9511			  "\xf7\xbf\x55\x8e\x56\x13\x58\x7b"
   9512			  "\x85\xb4\x6a\x72\x0f\x40\xf1\x4f"
   9513			  "\x83\x81\x1f\x76\xde\x15\x64\x7a"
   9514			  "\x7a\x80\xe4\xc7\x5e\x63\x01\x91"
   9515			  "\xd7\x6b\xea\x0b\x9b\xa2\x99\x3b"
   9516			  "\x6c\x88\xd8\xfd\x59\x3c\x8d\x22"
   9517			  "\x86\x56\xbe\xab\xa1\x37\x08\x01"
   9518			  "\x50\x85\x69\x29\xee\x9f\xdf\x21"
   9519			  "\x3e\x20\x20\xf5\xb0\xbb\x6b\xd0"
   9520			  "\x9c\x41\x38\xec\x54\x6f\x2d\xbd"
   9521			  "\x0f\xe1\xbd\xf1\x2b\x6e\x60\x56"
   9522			  "\x29\xe5\x7a\x70\x1c\xe2\xfc\x97"
   9523			  "\x82\x68\x67\xd9\x3d\x1f\xfb\xd8"
   9524			  "\x07\x9f\xbf\x96\x74\xba\x6a\x0e"
   9525			  "\x10\x48\x20\xd8\x13\x1e\xb5\x44"
   9526			  "\xf2\xcc\xb1\x8b\xfb\xbb\xec\xd7"
   9527			  "\x37\x70\x1f\x7c\x55\xd2\x4b\xb9"
   9528			  "\xfd\x70\x5e\xa3\x91\x73\x63\x52"
   9529			  "\x13\x47\x5a\x06\xfb\x01\x67\xa5"
   9530			  "\xc0\xd0\x49\x19\x56\x66\x9a\x77"
   9531			  "\x64\xaf\x8c\x25\x91\x52\x87\x0e"
   9532			  "\x18\xf3\x5f\x97\xfd\x71\x13\xf8"
   9533			  "\x05\xa5\x39\xcc\x65\xd3\xcc\x63"
   9534			  "\x5b\xdb\x5f\x7e\x5f\x6e\xad\xc4"
   9535			  "\xf4\xa0\xc5\xc2\x2b\x4d\x97\x38"
   9536			  "\x4f\xbc\xfa\x33\x17\xb4\x47\xb9"
   9537			  "\x43\x24\x15\x8d\xd2\xed\x80\x68"
   9538			  "\x84\xdb\x04\x80\xca\x5e\x6a\x35"
   9539			  "\x2c\x2c\xe7\xc5\x03\x5f\x54\xb0"
   9540			  "\x5e\x4f\x1d\x40\x54\x3d\x78\x9a"
   9541			  "\xac\xda\x80\x27\x4d\x15\x4c\x1a"
   9542			  "\x6e\x80\xc9\xc4\x3b\x84\x0e\xd9"
   9543			  "\x2e\x93\x01\x8c\xc3\xc8\x91\x4b"
   9544			  "\xb3\xaa\x07\x04\x68\x5b\x93\xa5"
   9545			  "\xe7\xc4\x9d\xe7\x07\xee\xf5\x3b"
   9546			  "\x40\x89\xcc\x60\x34\x9d\xb4\x06"
   9547			  "\x1b\xef\x92\xe6\xc1\x2a\x7d\x0f"
   9548			  "\x81\xaa\x56\xe3\xd7\xed\xa7\xd4"
   9549			  "\xa7\x3a\x49\xc4\xad\x81\x5c\x83"
   9550			  "\x55\x8e\x91\x54\xb7\x7d\x65\xa5"
   9551			  "\x06\x16\xd5\x9a\x16\xc1\xb0\xa2"
   9552			  "\x06\xd8\x98\x47\x73\x7e\x73\xa0"
   9553			  "\xb8\x23\xb1\x52\xbf\x68\x74\x5d"
   9554			  "\x0b\xcb\xfa\x8c\x46\xe3\x24\xe6"
   9555			  "\xab\xd4\x69\x8d\x8c\xf2\x8a\x59"
   9556			  "\xbe\x48\x46\x50\x8c\x9a\xe8\xe3"
   9557			  "\x31\x55\x0a\x06\xed\x4f\xf8\xb7"
   9558			  "\x4f\xe3\x85\x17\x30\xbd\xd5\x20"
   9559			  "\xe7\x5b\xb2\x32\xcf\x6b\x16\x44"
   9560			  "\xd2\xf5\x7e\xd7\xd1\x2f\xee\x64"
   9561			  "\x3e\x9d\x10\xef\x27\x35\x43\x64"
   9562			  "\x67\xfb\x7a\x7b\xe0\x62\x31\x9a"
   9563			  "\x4d\xdf\xa5\xab\xc0\x20\xbb\x01"
   9564			  "\xe9\x7b\x54\xf1\xde\xb2\x79\x50"
   9565			  "\x6c\x4b\x91\xdb\x7f\xbb\x50\xc1"
   9566			  "\x55\x44\x38\x9a\xe0\x9f\xe8\x29"
   9567			  "\x6f\x15\xf8\x4e\xa6\xec\xa0\x60",
   9568		.ksize	= 1088,
   9569		.plaintext	= "\x15\x68\x9e\x2f\xad\x15\x52\xdf"
   9570			  "\xf0\x42\x62\x24\x2a\x2d\xea\xbf"
   9571			  "\xc7\xf3\xb4\x1a\xf5\xed\xb2\x08"
   9572			  "\x15\x60\x1c\x00\x77\xbf\x0b\x0e"
   9573			  "\xb7\x2c\xcf\x32\x3a\xc7\x01\x77"
   9574			  "\xef\xa6\x75\xd0\x29\xc7\x68\x20"
   9575			  "\xb2\x92\x25\xbf\x12\x34\xe9\xa4"
   9576			  "\xfd\x32\x7b\x3f\x7c\xbd\xa5\x02"
   9577			  "\x38\x41\xde\xc9\xc1\x09\xd9\xfc"
   9578			  "\x6e\x78\x22\x83\x18\xf7\x50\x8d"
   9579			  "\x8f\x9c\x2d\x02\xa5\x30\xac\xff"
   9580			  "\xea\x63\x2e\x80\x37\x83\xb0\x58"
   9581			  "\xda\x2f\xef\x21\x55\xba\x7b\xb1"
   9582			  "\xb6\xed\xf5\xd2\x4d\xaa\x8c\xa9"
   9583			  "\xdd\xdb\x0f\xb4\xce\xc1\x9a\xb1"
   9584			  "\xc1\xdc\xbd\xab\x86\xc2\xdf\x0b"
   9585			  "\xe1\x2c\xf9\xbe\xf6\xd8\xda\x62"
   9586			  "\x72\xdd\x98\x09\x52\xc0\xc4\xb6"
   9587			  "\x7b\x17\x5c\xf5\xd8\x4b\x88\xd6"
   9588			  "\x6b\xbf\x84\x4a\x3f\xf5\x4d\xd2"
   9589			  "\x94\xe2\x9c\xff\xc7\x3c\xd9\xc8"
   9590			  "\x37\x38\xbc\x8c\xf3\xe7\xb7\xd0"
   9591			  "\x1d\x78\xc4\x39\x07\xc8\x5e\x79"
   9592			  "\xb6\x5a\x90\x5b\x6e\x97\xc9\xd4"
   9593			  "\x82\x9c\xf3\x83\x7a\xe7\x97\xfc"
   9594			  "\x1d\xbb\xef\xdb\xce\xe0\x82\xad"
   9595			  "\xca\x07\x6c\x54\x62\x6f\x81\xe6"
   9596			  "\x7a\x5a\x96\x6e\x80\x3a\xa2\x37"
   9597			  "\x6f\xc6\xa4\x29\xc3\x9e\x19\x94"
   9598			  "\x9f\xb0\x3e\x38\xfb\x3c\x2b\x7d"
   9599			  "\xaa\xb8\x74\xda\x54\x23\x51\x12"
   9600			  "\x4b\x96\x36\x8f\x91\x4f\x19\x37"
   9601			  "\x83\xc9\xdd\xc7\x1a\x32\x2d\xab"
   9602			  "\xc7\x89\xe2\x07\x47\x6c\xe8\xa6"
   9603			  "\x70\x6b\x8e\x0c\xda\x5c\x6a\x59"
   9604			  "\x27\x33\x0e\xe1\xe1\x20\xe8\xc8"
   9605			  "\xae\xdc\xd0\xe3\x6d\xa8\xa6\x06"
   9606			  "\x41\xb4\xd4\xd4\xcf\x91\x3e\x06"
   9607			  "\xb0\x9a\xf7\xf1\xaa\xa6\x23\x92"
   9608			  "\x10\x86\xf0\x94\xd1\x7c\x2e\x07"
   9609			  "\x30\xfb\xc5\xd8\xf3\x12\xa9\xe8"
   9610			  "\x22\x1c\x97\x1a\xad\x96\xb0\xa1"
   9611			  "\x72\x6a\x6b\xb4\xfd\xf7\xe8\xfa"
   9612			  "\xe2\x74\xd8\x65\x8d\x35\x17\x4b"
   9613			  "\x00\x23\x5c\x8c\x70\xad\x71\xa2"
   9614			  "\xca\xc5\x6c\x59\xbf\xb4\xc0\x6d"
   9615			  "\x86\x98\x3e\x19\x5a\x90\x92\xb1"
   9616			  "\x66\x57\x6a\x91\x68\x7c\xbc\xf3"
   9617			  "\xf1\xdb\x94\xf8\x48\xf1\x36\xd8"
   9618			  "\x78\xac\x1c\xa9\xcc\xd6\x27\xba"
   9619			  "\x91\x54\x22\xf5\xe6\x05\x3f\xcc"
   9620			  "\xc2\x8f\x2c\x3b\x2b\xc3\x2b\x2b"
   9621			  "\x3b\xb8\xb6\x29\xb7\x2f\x94\xb6"
   9622			  "\x7b\xfc\x94\x3e\xd0\x7a\x41\x59"
   9623			  "\x7b\x1f\x9a\x09\xa6\xed\x4a\x82"
   9624			  "\x9d\x34\x1c\xbd\x4e\x1c\x3a\x66"
   9625			  "\x80\x74\x0e\x9a\x4f\x55\x54\x47"
   9626			  "\x16\xba\x2a\x0a\x03\x35\x99\xa3"
   9627			  "\x5c\x63\x8d\xa2\x72\x8b\x17\x15"
   9628			  "\x68\x39\x73\xeb\xec\xf2\xe8\xf5"
   9629			  "\x95\x32\x27\xd6\xc4\xfe\xb0\x51"
   9630			  "\xd5\x0c\x50\xc5\xcd\x6d\x16\xb3"
   9631			  "\xa3\x1e\x95\x69\xad\x78\x95\x06"
   9632			  "\xb9\x46\xf2\x6d\x24\x5a\x99\x76"
   9633			  "\x73\x6a\x91\xa6\xac\x12\xe1\x28"
   9634			  "\x79\xbc\x08\x4e\x97\x00\x98\x63"
   9635			  "\x07\x1c\x4e\xd1\x68\xf3\xb3\x81"
   9636			  "\xa8\xa6\x5f\xf1\x01\xc9\xc1\xaf"
   9637			  "\x3a\x96\xf9\x9d\xb5\x5a\x5f\x8f"
   9638			  "\x7e\xc1\x7e\x77\x0a\x40\xc8\x8e"
   9639			  "\xfc\x0e\xed\xe1\x0d\xb0\xe5\x5e"
   9640			  "\x5e\x6f\xf5\x7f\xab\x33\x7d\xcd"
   9641			  "\xf0\x09\x4b\xb2\x11\x37\xdc\x65"
   9642			  "\x97\x32\x62\x71\x3a\x29\x54\xb9"
   9643			  "\xc7\xa4\xbf\x75\x0f\xf9\x40\xa9"
   9644			  "\x8d\xd7\x8b\xa7\xe0\x9a\xbe\x15"
   9645			  "\xc6\xda\xd8\x00\x14\x69\x1a\xaf"
   9646			  "\x5f\x79\xc3\xf5\xbb\x6c\x2a\x9d"
   9647			  "\xdd\x3c\x5f\x97\x21\xe1\x3a\x03"
   9648			  "\x84\x6a\xe9\x76\x11\x1f\xd3\xd5"
   9649			  "\xf0\x54\x20\x4d\xc2\x91\xc3\xa4"
   9650			  "\x36\x25\xbe\x1b\x2a\x06\xb7\xf3"
   9651			  "\xd1\xd0\x55\x29\x81\x4c\x83\xa3"
   9652			  "\xa6\x84\x1e\x5c\xd1\xd0\x6c\x90"
   9653			  "\xa4\x11\xf0\xd7\x63\x6a\x48\x05"
   9654			  "\xbc\x48\x18\x53\xcd\xb0\x8d\xdb"
   9655			  "\xdc\xfe\x55\x11\x5c\x51\xb3\xab"
   9656			  "\xab\x63\x3e\x31\x5a\x8b\x93\x63"
   9657			  "\x34\xa9\xba\x2b\x69\x1a\xc0\xe3"
   9658			  "\xcb\x41\xbc\xd7\xf5\x7f\x82\x3e"
   9659			  "\x01\xa3\x3c\x72\xf4\xfe\xdf\xbe"
   9660			  "\xb1\x67\x17\x2b\x37\x60\x0d\xca"
   9661			  "\x6f\xc3\x94\x2c\xd2\x92\x6d\x9d"
   9662			  "\x75\x18\x77\xaa\x29\x38\x96\xed"
   9663			  "\x0e\x20\x70\x92\xd5\xd0\xb4\x00"
   9664			  "\xc0\x31\xf2\xc9\x43\x0e\x75\x1d"
   9665			  "\x4b\x64\xf2\x1f\xf2\x29\x6c\x7b"
   9666			  "\x7f\xec\x59\x7d\x8c\x0d\xd4\xd3"
   9667			  "\xac\x53\x4c\xa3\xde\x42\x92\x95"
   9668			  "\x6d\xa3\x4f\xd0\xe6\x3d\xe7\xec"
   9669			  "\x7a\x4d\x68\xf1\xfe\x67\x66\x09"
   9670			  "\x83\x22\xb1\x98\x43\x8c\xab\xb8"
   9671			  "\x45\xe6\x6d\xdf\x5e\x50\x71\xce"
   9672			  "\xf5\x4e\x40\x93\x2b\xfa\x86\x0e"
   9673			  "\xe8\x30\xbd\x82\xcc\x1c\x9c\x5f"
   9674			  "\xad\xfd\x08\x31\xbe\x52\xe7\xe6"
   9675			  "\xf2\x06\x01\x62\x25\x15\x99\x74"
   9676			  "\x33\x51\x52\x57\x3f\x57\x87\x61"
   9677			  "\xb9\x7f\x29\x3d\xcd\x92\x5e\xa6"
   9678			  "\x5c\x3b\xf1\xed\x5f\xeb\x82\xed"
   9679			  "\x56\x7b\x61\xe7\xfd\x02\x47\x0e"
   9680			  "\x2a\x15\xa4\xce\x43\x86\x9b\xe1"
   9681			  "\x2b\x4c\x2a\xd9\x42\x97\xf7\x9a"
   9682			  "\xe5\x47\x46\x48\xd3\x55\x6f\x4d"
   9683			  "\xd9\xeb\x4b\xdd\x7b\x21\x2f\xb3"
   9684			  "\xa8\x36\x28\xdf\xca\xf1\xf6\xd9"
   9685			  "\x10\xf6\x1c\xfd\x2e\x0c\x27\xe0"
   9686			  "\x01\xb3\xff\x6d\x47\x08\x4d\xd4"
   9687			  "\x00\x25\xee\x55\x4a\xe9\xe8\x5b"
   9688			  "\xd8\xf7\x56\x12\xd4\x50\xb2\xe5"
   9689			  "\x51\x6f\x34\x63\x69\xd2\x4e\x96"
   9690			  "\x4e\xbc\x79\xbf\x18\xae\xc6\x13"
   9691			  "\x80\x92\x77\xb0\xb4\x0f\x29\x94"
   9692			  "\x6f\x4c\xbb\x53\x11\x36\xc3\x9f"
   9693			  "\x42\x8e\x96\x8a\x91\xc8\xe9\xfc"
   9694			  "\xfe\xbf\x7c\x2d\x6f\xf9\xb8\x44"
   9695			  "\x89\x1b\x09\x53\x0a\x2a\x92\xc3"
   9696			  "\x54\x7a\x3a\xf9\xe2\xe4\x75\x87"
   9697			  "\xa0\x5e\x4b\x03\x7a\x0d\x8a\xf4"
   9698			  "\x55\x59\x94\x2b\x63\x96\x0e\xf5",
   9699		.psize	= 1040,
   9700		.digest	= "\xb5\xb9\x08\xb3\x24\x3e\x03\xf0"
   9701			  "\xd6\x0b\x57\xbc\x0a\x6d\x89\x59",
   9702	}, {
   9703		.key	= "\xf6\x34\x42\x71\x35\x52\x8b\x58"
   9704			  "\x02\x3a\x8e\x4a\x8d\x41\x13\xe9"
   9705			  "\x7f\xba\xb9\x55\x9d\x73\x4d\xf8"
   9706			  "\x3f\x5d\x73\x15\xff\xd3\x9e\x7f"
   9707			  "\x20\x2a\x6a\xa8\xd1\xf0\x8f\x12"
   9708			  "\x6b\x02\xd8\x6c\xde\xba\x80\x22"
   9709			  "\x19\x37\xc8\xd0\x4e\x89\x17\x7c"
   9710			  "\x7c\xdd\x88\xfd\x41\xc0\x04\xb7"
   9711			  "\x1d\xac\x19\xe3\x20\xc7\x16\xcf"
   9712			  "\x58\xee\x1d\x7a\x61\x69\xa9\x12"
   9713			  "\x4b\xef\x4f\xb6\x38\xdd\x78\xf8"
   9714			  "\x28\xee\x70\x08\xc7\x7c\xcc\xc8"
   9715			  "\x1e\x41\xf5\x80\x86\x70\xd0\xf0"
   9716			  "\xa3\x87\x6b\x0a\x00\xd2\x41\x28"
   9717			  "\x74\x26\xf1\x24\xf3\xd0\x28\x77"
   9718			  "\xd7\xcd\xf6\x2d\x61\xf4\xa2\x13"
   9719			  "\x77\xb4\x6f\xa0\xf4\xfb\xd6\xb5"
   9720			  "\x38\x9d\x5a\x0c\x51\xaf\xad\x63"
   9721			  "\x27\x67\x8c\x01\xea\x42\x1a\x66"
   9722			  "\xda\x16\x7c\x3c\x30\x0c\x66\x53"
   9723			  "\x1c\x88\xa4\x5c\xb2\xe3\x78\x0a"
   9724			  "\x13\x05\x6d\xe2\xaf\xb3\xe4\x75"
   9725			  "\x00\x99\x58\xee\x76\x09\x64\xaa"
   9726			  "\xbb\x2e\xb1\x81\xec\xd8\x0e\xd3"
   9727			  "\x0c\x33\x5d\xb7\x98\xef\x36\xb6"
   9728			  "\xd2\x65\x69\x41\x70\x12\xdc\x25"
   9729			  "\x41\x03\x99\x81\x41\x19\x62\x13"
   9730			  "\xd1\x0a\x29\xc5\x8c\xe0\x4c\xf3"
   9731			  "\xd6\xef\x4c\xf4\x1d\x83\x2e\x6d"
   9732			  "\x8e\x14\x87\xed\x80\xe0\xaa\xd3"
   9733			  "\x08\x04\x73\x1a\x84\x40\xf5\x64"
   9734			  "\xbd\x61\x32\x65\x40\x42\xfb\xb0"
   9735			  "\x40\xf6\x40\x8d\xc7\x7f\x14\xd0"
   9736			  "\x83\x99\xaa\x36\x7e\x60\xc6\xbf"
   9737			  "\x13\x8a\xf9\x21\xe4\x7e\x68\x87"
   9738			  "\xf3\x33\x86\xb4\xe0\x23\x7e\x0a"
   9739			  "\x21\xb1\xf5\xad\x67\x3c\x9c\x9d"
   9740			  "\x09\xab\xaf\x5f\xba\xe0\xd0\x82"
   9741			  "\x48\x22\x70\xb5\x6d\x53\xd6\x0e"
   9742			  "\xde\x64\x92\x41\xb0\xd3\xfb\xda"
   9743			  "\x21\xfe\xab\xea\x20\xc4\x03\x58"
   9744			  "\x18\x2e\x7d\x2f\x03\xa9\x47\x66"
   9745			  "\xdf\x7b\xa4\x6b\x34\x6b\x55\x9c"
   9746			  "\x4f\xd7\x9c\x47\xfb\xa9\x42\xec"
   9747			  "\x5a\x12\xfd\xfe\x76\xa0\x92\x9d"
   9748			  "\xfe\x1e\x16\xdd\x24\x2a\xe4\x27"
   9749			  "\xd5\xa9\xf2\x05\x4f\x83\xa2\xaf"
   9750			  "\xfe\xee\x83\x7a\xad\xde\xdf\x9a"
   9751			  "\x80\xd5\x81\x14\x93\x16\x7e\x46"
   9752			  "\x47\xc2\x14\xef\x49\x6e\xb9\xdb"
   9753			  "\x40\xe8\x06\x6f\x9c\x2a\xfd\x62"
   9754			  "\x06\x46\xfd\x15\x1d\x36\x61\x6f"
   9755			  "\x77\x77\x5e\x64\xce\x78\x1b\x85"
   9756			  "\xbf\x50\x9a\xfd\x67\xa6\x1a\x65"
   9757			  "\xad\x5b\x33\x30\xf1\x71\xaa\xd9"
   9758			  "\x23\x0d\x92\x24\x5f\xae\x57\xb0"
   9759			  "\x24\x37\x0a\x94\x12\xfb\xb5\xb1"
   9760			  "\xd3\xb8\x1d\x12\x29\xb0\x80\x24"
   9761			  "\x2d\x47\x9f\x96\x1f\x95\xf1\xb1"
   9762			  "\xda\x35\xf6\x29\xe0\xe1\x23\x96"
   9763			  "\xc7\xe8\x22\x9b\x7c\xac\xf9\x41"
   9764			  "\x39\x01\xe5\x73\x15\x5e\x99\xec"
   9765			  "\xb4\xc1\xf4\xe7\xa7\x97\x6a\xd5"
   9766			  "\x90\x9a\xa0\x1d\xf3\x5a\x8b\x5f"
   9767			  "\xdf\x01\x52\xa4\x93\x31\x97\xb0"
   9768			  "\x93\x24\xb5\xbc\xb2\x14\x24\x98"
   9769			  "\x4a\x8f\x19\x85\xc3\x2d\x0f\x74"
   9770			  "\x9d\x16\x13\x80\x5e\x59\x62\x62"
   9771			  "\x25\xe0\xd1\x2f\x64\xef\xba\xac"
   9772			  "\xcd\x09\x07\x15\x8a\xcf\x73\xb5"
   9773			  "\x8b\xc9\xd8\x24\xb0\x53\xd5\x6f"
   9774			  "\xe1\x2b\x77\xb1\xc5\xe4\xa7\x0e"
   9775			  "\x18\x45\xab\x36\x03\x59\xa8\xbd"
   9776			  "\x43\xf0\xd8\x2c\x1a\x69\x96\xbb"
   9777			  "\x13\xdf\x6c\x33\x77\xdf\x25\x34"
   9778			  "\x5b\xa5\x5b\x8c\xf9\x51\x05\xd4"
   9779			  "\x8b\x8b\x44\x87\x49\xfc\xa0\x8f"
   9780			  "\x45\x15\x5b\x40\x42\xc4\x09\x92"
   9781			  "\x98\x0c\x4d\xf4\x26\x37\x1b\x13"
   9782			  "\x76\x01\x93\x8d\x4f\xe6\xed\x18"
   9783			  "\xd0\x79\x7b\x3f\x44\x50\xcb\xee"
   9784			  "\xf7\x4a\xc9\x9e\xe0\x96\x74\xa7"
   9785			  "\xe6\x93\xb2\x53\xca\x55\xa8\xdc"
   9786			  "\x1e\x68\x07\x87\xb7\x2e\xc1\x08"
   9787			  "\xb2\xa4\x5b\xaf\xc6\xdb\x5c\x66"
   9788			  "\x41\x1c\x51\xd9\xb0\x07\x00\x0d"
   9789			  "\xf0\x4c\xdc\x93\xde\xa9\x1e\x8e"
   9790			  "\xd3\x22\x62\xd8\x8b\x88\x2c\xea"
   9791			  "\x5e\xf1\x6e\x14\x40\xc7\xbe\xaa"
   9792			  "\x42\x28\xd0\x26\x30\x78\x01\x9b"
   9793			  "\x83\x07\xbc\x94\xc7\x57\xa2\x9f"
   9794			  "\x03\x07\xff\x16\xff\x3c\x6e\x48"
   9795			  "\x0a\xd0\xdd\x4c\xf6\x64\x9a\xf1"
   9796			  "\xcd\x30\x12\x82\x2c\x38\xd3\x26"
   9797			  "\x83\xdb\xab\x3e\xc6\xf8\xe6\xfa"
   9798			  "\x77\x0a\x78\x82\x75\xf8\x63\x51"
   9799			  "\x59\xd0\x8d\x24\x9f\x25\xe6\xa3"
   9800			  "\x4c\xbc\x34\xfc\xe3\x10\xc7\x62"
   9801			  "\xd4\x23\xc8\x3d\xa7\xc6\xa6\x0a"
   9802			  "\x4f\x7e\x29\x9d\x6d\xbe\xb5\xf1"
   9803			  "\xdf\xa4\x53\xfa\xc0\x23\x0f\x37"
   9804			  "\x84\x68\xd0\xb5\xc8\xc6\xae\xf8"
   9805			  "\xb7\x8d\xb3\x16\xfe\x8f\x87\xad"
   9806			  "\xd0\xc1\x08\xee\x12\x1c\x9b\x1d"
   9807			  "\x90\xf8\xd1\x63\xa4\x92\x3c\xf0"
   9808			  "\xc7\x34\xd8\xf1\x14\xed\xa3\xbc"
   9809			  "\x17\x7e\xd4\x62\x42\x54\x57\x2c"
   9810			  "\x3e\x7a\x35\x35\x17\x0f\x0b\x7f"
   9811			  "\x81\xa1\x3f\xd0\xcd\xc8\x3b\x96"
   9812			  "\xe9\xe0\x4a\x04\xe1\xb6\x3c\xa1"
   9813			  "\xd6\xca\xc4\xbd\xb6\xb5\x95\x34"
   9814			  "\x12\x9d\xc5\x96\xf2\xdf\xba\x54"
   9815			  "\x76\xd1\xb2\x6b\x3b\x39\xe0\xb9"
   9816			  "\x18\x62\xfb\xf7\xfc\x12\xf1\x5f"
   9817			  "\x7e\xc7\xe3\x59\x4c\xa6\xc2\x3d"
   9818			  "\x40\x15\xf9\xa3\x95\x64\x4c\x74"
   9819			  "\x8b\x73\x77\x33\x07\xa7\x04\x1d"
   9820			  "\x33\x5a\x7e\x8f\xbd\x86\x01\x4f"
   9821			  "\x3e\xb9\x27\x6f\xe2\x41\xf7\x09"
   9822			  "\x67\xfd\x29\x28\xc5\xe4\xf6\x18"
   9823			  "\x4c\x1b\x49\xb2\x9c\x5b\xf6\x81"
   9824			  "\x4f\xbb\x5c\xcc\x0b\xdf\x84\x23"
   9825			  "\x58\xd6\x28\x34\x93\x3a\x25\x97"
   9826			  "\xdf\xb2\xc3\x9e\x97\x38\x0b\x7d"
   9827			  "\x10\xb3\x54\x35\x23\x8c\x64\xee"
   9828			  "\xf0\xd8\x66\xff\x8b\x22\xd2\x5b"
   9829			  "\x05\x16\x3c\x89\xf7\xb1\x75\xaf"
   9830			  "\xc0\xae\x6a\x4f\x3f\xaf\x9a\xf4"
   9831			  "\xf4\x9a\x24\xd9\x80\x82\xc0\x12"
   9832			  "\xde\x96\xd1\xbe\x15\x0b\x8d\x6a"
   9833			  "\xd7\x12\xe4\x85\x9f\x83\xc9\xc3"
   9834			  "\xff\x0b\xb5\xaf\x3b\xd8\x6d\x67"
   9835			  "\x81\x45\xe6\xac\xec\xc1\x7b\x16"
   9836			  "\x18\x0a\xce\x4b\xc0\x2e\x76\xbc"
   9837			  "\x1b\xfa\xb4\x34\xb8\xfc\x3e\xc8"
   9838			  "\x5d\x90\x71\x6d\x7a\x79\xef\x06",
   9839		.ksize	= 1088,
   9840		.plaintext	= "\xaa\x5d\x54\xcb\xea\x1e\x46\x0f"
   9841			  "\x45\x87\x70\x51\x8a\x66\x7a\x33"
   9842			  "\xb4\x18\xff\xa9\x82\xf9\x45\x4b"
   9843			  "\x93\xae\x2e\x7f\xab\x98\xfe\xbf"
   9844			  "\x01\xee\xe5\xa0\x37\x8f\x57\xa6"
   9845			  "\xb0\x76\x0d\xa4\xd6\x28\x2b\x5d"
   9846			  "\xe1\x03\xd6\x1c\x6f\x34\x0d\xe7"
   9847			  "\x61\x2d\x2e\xe5\xae\x5d\x47\xc7"
   9848			  "\x80\x4b\x18\x8f\xa8\x99\xbc\x28"
   9849			  "\xed\x1d\x9d\x86\x7d\xd7\x41\xd1"
   9850			  "\xe0\x2b\xe1\x8c\x93\x2a\xa7\x80"
   9851			  "\xe1\x07\xa0\xa9\x9f\x8c\x8d\x1a"
   9852			  "\x55\xfc\x6b\x24\x7a\xbd\x3e\x51"
   9853			  "\x68\x4b\x26\x59\xc8\xa7\x16\xd9"
   9854			  "\xb9\x61\x13\xde\x8b\x63\x1c\xf6"
   9855			  "\x60\x01\xfb\x08\xb3\x5b\x0a\xbf"
   9856			  "\x34\x73\xda\x87\x87\x3d\x6f\x97"
   9857			  "\x4a\x0c\xa3\x58\x20\xa2\xc0\x81"
   9858			  "\x5b\x8c\xef\xa9\xc2\x01\x1e\x64"
   9859			  "\x83\x8c\xbc\x03\xb6\xd0\x29\x9f"
   9860			  "\x54\xe2\xce\x8b\xc2\x07\x85\x78"
   9861			  "\x25\x38\x96\x4c\xb4\xbe\x17\x4a"
   9862			  "\x65\xa6\xfa\x52\x9d\x66\x9d\x65"
   9863			  "\x4a\xd1\x01\x01\xf0\xcb\x13\xcc"
   9864			  "\xa5\x82\xf3\xf2\x66\xcd\x3f\x9d"
   9865			  "\xd1\xaa\xe4\x67\xea\xf2\xad\x88"
   9866			  "\x56\x76\xa7\x9b\x59\x3c\xb1\x5d"
   9867			  "\x78\xfd\x69\x79\x74\x78\x43\x26"
   9868			  "\x7b\xde\x3f\xf1\xf5\x4e\x14\xd9"
   9869			  "\x15\xf5\x75\xb5\x2e\x19\xf3\x0c"
   9870			  "\x48\x72\xd6\x71\x6d\x03\x6e\xaa"
   9871			  "\xa7\x08\xf9\xaa\x70\xa3\x0f\x4d"
   9872			  "\x12\x8a\xdd\xe3\x39\x73\x7e\xa7"
   9873			  "\xea\x1f\x6d\x06\x26\x2a\xf2\xc5"
   9874			  "\x52\xb4\xbf\xfd\x52\x0c\x06\x60"
   9875			  "\x90\xd1\xb2\x7b\x56\xae\xac\x58"
   9876			  "\x5a\x6b\x50\x2a\xf5\xe0\x30\x3c"
   9877			  "\x2a\x98\x0f\x1b\x5b\x0a\x84\x6c"
   9878			  "\x31\xae\x92\xe2\xd4\xbb\x7f\x59"
   9879			  "\x26\x10\xb9\x89\x37\x68\x26\xbf"
   9880			  "\x41\xc8\x49\xc4\x70\x35\x7d\xff"
   9881			  "\x2d\x7f\xf6\x8a\x93\x68\x8c\x78"
   9882			  "\x0d\x53\xce\x7d\xff\x7d\xfb\xae"
   9883			  "\x13\x1b\x75\xc4\x78\xd7\x71\xd8"
   9884			  "\xea\xd3\xf4\x9d\x95\x64\x8e\xb4"
   9885			  "\xde\xb8\xe4\xa6\x68\xc8\xae\x73"
   9886			  "\x58\xaf\xa8\xb0\x5a\x20\xde\x87"
   9887			  "\x43\xb9\x0f\xe3\xad\x41\x4b\xd5"
   9888			  "\xb7\xad\x16\x00\xa6\xff\xf6\x74"
   9889			  "\xbf\x8c\x9f\xb3\x58\x1b\xb6\x55"
   9890			  "\xa9\x90\x56\x28\xf0\xb5\x13\x4e"
   9891			  "\x9e\xf7\x25\x86\xe0\x07\x7b\x98"
   9892			  "\xd8\x60\x5d\x38\x95\x3c\xe4\x22"
   9893			  "\x16\x2f\xb2\xa2\xaf\xe8\x90\x17"
   9894			  "\xec\x11\x83\x1a\xf4\xa9\x26\xda"
   9895			  "\x39\x72\xf5\x94\x61\x05\x51\xec"
   9896			  "\xa8\x30\x8b\x2c\x13\xd0\x72\xac"
   9897			  "\xb9\xd2\xa0\x4c\x4b\x78\xe8\x6e"
   9898			  "\x04\x85\xe9\x04\x49\x82\x91\xff"
   9899			  "\x89\xe5\xab\x4c\xaa\x37\x03\x12"
   9900			  "\xca\x8b\x74\x10\xfd\x9e\xd9\x7b"
   9901			  "\xcb\xdb\x82\x6e\xce\x2e\x33\x39"
   9902			  "\xce\xd2\x84\x6e\x34\x71\x51\x6e"
   9903			  "\x0d\xd6\x01\x87\xc7\xfa\x0a\xd3"
   9904			  "\xad\x36\xf3\x4c\x9f\x96\x5e\x62"
   9905			  "\x62\x54\xc3\x03\x78\xd6\xab\xdd"
   9906			  "\x89\x73\x55\x25\x30\xf8\xa7\xe6"
   9907			  "\x4f\x11\x0c\x7c\x0a\xa1\x2b\x7b"
   9908			  "\x3d\x0d\xde\x81\xd4\x9d\x0b\xae"
   9909			  "\xdf\x00\xf9\x4c\xb6\x90\x8e\x16"
   9910			  "\xcb\x11\xc8\xd1\x2e\x73\x13\x75"
   9911			  "\x75\x3e\xaa\xf5\xee\x02\xb3\x18"
   9912			  "\xa6\x2d\xf5\x3b\x51\xd1\x1f\x47"
   9913			  "\x6b\x2c\xdb\xc4\x10\xe0\xc8\xba"
   9914			  "\x9d\xac\xb1\x9d\x75\xd5\x41\x0e"
   9915			  "\x7e\xbe\x18\x5b\xa4\x1f\xf8\x22"
   9916			  "\x4c\xc1\x68\xda\x6d\x51\x34\x6c"
   9917			  "\x19\x59\xec\xb5\xb1\xec\xa7\x03"
   9918			  "\xca\x54\x99\x63\x05\x6c\xb1\xac"
   9919			  "\x9c\x31\xd6\xdb\xba\x7b\x14\x12"
   9920			  "\x7a\xc3\x2f\xbf\x8d\xdc\x37\x46"
   9921			  "\xdb\xd2\xbc\xd4\x2f\xab\x30\xd5"
   9922			  "\xed\x34\x99\x8e\x83\x3e\xbe\x4c"
   9923			  "\x86\x79\x58\xe0\x33\x8d\x9a\xb8"
   9924			  "\xa9\xa6\x90\x46\xa2\x02\xb8\xdd"
   9925			  "\xf5\xf9\x1a\x5c\x8c\x01\xaa\x6e"
   9926			  "\xb4\x22\x12\xf5\x0c\x1b\x9b\x7a"
   9927			  "\xc3\x80\xf3\x06\x00\x5f\x30\xd5"
   9928			  "\x06\xdb\x7d\x82\xc2\xd4\x0b\x4c"
   9929			  "\x5f\xe9\xc5\xf5\xdf\x97\x12\xbf"
   9930			  "\x56\xaf\x9b\x69\xcd\xee\x30\xb4"
   9931			  "\xa8\x71\xff\x3e\x7d\x73\x7a\xb4"
   9932			  "\x0d\xa5\x46\x7a\xf3\xf4\x15\x87"
   9933			  "\x5d\x93\x2b\x8c\x37\x64\xb5\xdd"
   9934			  "\x48\xd1\xe5\x8c\xae\xd4\xf1\x76"
   9935			  "\xda\xf4\xba\x9e\x25\x0e\xad\xa3"
   9936			  "\x0d\x08\x7c\xa8\x82\x16\x8d\x90"
   9937			  "\x56\x40\x16\x84\xe7\x22\x53\x3a"
   9938			  "\x58\xbc\xb9\x8f\x33\xc8\xc2\x84"
   9939			  "\x22\xe6\x0d\xe7\xb3\xdc\x5d\xdf"
   9940			  "\xd7\x2a\x36\xe4\x16\x06\x07\xd2"
   9941			  "\x97\x60\xb2\xf5\x5e\x14\xc9\xfd"
   9942			  "\x8b\x05\xd1\xce\xee\x9a\x65\x99"
   9943			  "\xb7\xae\x19\xb7\xc8\xbc\xd5\xa2"
   9944			  "\x7b\x95\xe1\xcc\xba\x0d\xdc\x8a"
   9945			  "\x1d\x59\x52\x50\xaa\x16\x02\x82"
   9946			  "\xdf\x61\x33\x2e\x44\xce\x49\xc7"
   9947			  "\xe5\xc6\x2e\x76\xcf\x80\x52\xf0"
   9948			  "\x3d\x17\x34\x47\x3f\xd3\x80\x48"
   9949			  "\xa2\xba\xd5\xc7\x7b\x02\x28\xdb"
   9950			  "\xac\x44\xc7\x6e\x05\x5c\xc2\x79"
   9951			  "\xb3\x7d\x6a\x47\x77\x66\xf1\x38"
   9952			  "\xf0\xf5\x4f\x27\x1a\x31\xca\x6c"
   9953			  "\x72\x95\x92\x8e\x3f\xb0\xec\x1d"
   9954			  "\xc7\x2a\xff\x73\xee\xdf\x55\x80"
   9955			  "\x93\xd2\xbd\x34\xd3\x9f\x00\x51"
   9956			  "\xfb\x2e\x41\xba\x6c\x5a\x7c\x17"
   9957			  "\x7f\xe6\x70\xac\x8d\x39\x3f\x77"
   9958			  "\xe2\x23\xac\x8f\x72\x4e\xe4\x53"
   9959			  "\xcc\xf1\x1b\xf1\x35\xfe\x52\xa4"
   9960			  "\xd6\xb8\x40\x6b\xc1\xfd\xa0\xa1"
   9961			  "\xf5\x46\x65\xc2\x50\xbb\x43\xe2"
   9962			  "\xd1\x43\x28\x34\x74\xf5\x87\xa0"
   9963			  "\xf2\x5e\x27\x3b\x59\x2b\x3e\x49"
   9964			  "\xdf\x46\xee\xaf\x71\xd7\x32\x36"
   9965			  "\xc7\x14\x0b\x58\x6e\x3e\x2d\x41"
   9966			  "\xfa\x75\x66\x3a\x54\xe0\xb2\xb9"
   9967			  "\xaf\xdd\x04\x80\x15\x19\x3f\x6f"
   9968			  "\xce\x12\xb4\xd8\xe8\x89\x3c\x05"
   9969			  "\x30\xeb\xf3\x3d\xcd\x27\xec\xdc"
   9970			  "\x56\x70\x12\xcf\x78\x2b\x77\xbf"
   9971			  "\x22\xf0\x1b\x17\x9c\xcc\xd6\x1b"
   9972			  "\x2d\x3d\xa0\x3b\xd8\xc9\x70\xa4"
   9973			  "\x7a\x3e\x07\xb9\x06\xc3\xfa\xb0"
   9974			  "\x33\xee\xc1\xd8\xf6\xe0\xf0\xb2"
   9975			  "\x61\x12\x69\xb0\x5f\x28\x99\xda"
   9976			  "\xc3\x61\x48\xfa\x07\x16\x03\xc4"
   9977			  "\xa8\xe1\x3c\xe8\x0e\x64\x15\x30"
   9978			  "\xc1\x9d\x84\x2f\x73\x98\x0e\x3a"
   9979			  "\xf2\x86\x21\xa4\x9e\x1d\xb5\x86"
   9980			  "\x16\xdb\x2b\x9a\x06\x64\x8e\x79"
   9981			  "\x8d\x76\x3e\xc3\xc2\x64\x44\xe3"
   9982			  "\xda\xbc\x1a\x52\xd7\x61\x03\x65"
   9983			  "\x54\x32\x77\x01\xed\x9d\x8a\x43"
   9984			  "\x25\x24\xe3\xc1\xbe\xb8\x2f\xcb"
   9985			  "\x89\x14\x64\xab\xf6\xa0\x6e\x02"
   9986			  "\x57\xe4\x7d\xa9\x4e\x9a\x03\x36"
   9987			  "\xad\xf1\xb1\xfc\x0b\xe6\x79\x51"
   9988			  "\x9f\x81\x77\xc4\x14\x78\x9d\xbf"
   9989			  "\xb6\xd6\xa3\x8c\xba\x0b\x26\xe7"
   9990			  "\xc8\xb9\x5c\xcc\xe1\x5f\xd5\xc6"
   9991			  "\xc4\xca\xc2\xa3\x45\xba\x94\x13"
   9992			  "\xb2\x8f\xc3\x54\x01\x09\xe7\x8b"
   9993			  "\xda\x2a\x0a\x11\x02\x43\xcb\x57"
   9994			  "\xc9\xcc\xb5\x5c\xab\xc4\xec\x54"
   9995			  "\x00\x06\x34\xe1\x6e\x03\x89\x7c"
   9996			  "\xc6\xfb\x6a\xc7\x60\x43\xd6\xc5"
   9997			  "\xb5\x68\x72\x89\x8f\x42\xc3\x74"
   9998			  "\xbd\x25\xaa\x9f\x67\xb5\xdf\x26"
   9999			  "\x20\xe8\xb7\x01\x3c\xe4\x77\xce"
  10000			  "\xc4\x65\xa7\x23\x79\xea\x33\xc7"
  10001			  "\x82\x14\x5c\x82\xf2\x4e\x3d\xf6"
  10002			  "\xc6\x4a\x0e\x29\xbb\xec\x44\xcd"
  10003			  "\x2f\xd1\x4f\x21\x71\xa9\xce\x0f"
  10004			  "\x5c\xf2\x72\x5c\x08\x2e\x21\xd2"
  10005			  "\xc3\x29\x13\xd8\xac\xc3\xda\x13"
  10006			  "\x1a\x9d\xa7\x71\x1d\x27\x1d\x27"
  10007			  "\x1d\xea\xab\x44\x79\xad\xe5\xeb"
  10008			  "\xef\x1f\x22\x0a\x44\x4f\xcb\x87"
  10009			  "\xa7\x58\x71\x0e\x66\xf8\x60\xbf"
  10010			  "\x60\x74\x4a\xb4\xec\x2e\xfe\xd3"
  10011			  "\xf5\xb8\xfe\x46\x08\x50\x99\x6c"
  10012			  "\x66\xa5\xa8\x34\x44\xb5\xe5\xf0"
  10013			  "\xdd\x2c\x67\x4e\x35\x96\x8e\x67"
  10014			  "\x48\x3f\x5f\x37\x44\x60\x51\x2e"
  10015			  "\x14\x91\x5e\x57\xc3\x0e\x79\x77"
  10016			  "\x2f\x03\xf4\xe2\x1c\x72\xbf\x85"
  10017			  "\x5d\xd3\x17\xdf\x6c\xc5\x70\x24"
  10018			  "\x42\xdf\x51\x4e\x2a\xb2\xd2\x5b"
  10019			  "\x9e\x69\x83\x41\x11\xfe\x73\x22"
  10020			  "\xde\x8a\x9e\xd8\x8a\xfb\x20\x38"
  10021			  "\xd8\x47\x6f\xd5\xed\x8f\x41\xfd"
  10022			  "\x13\x7a\x18\x03\x7d\x0f\xcd\x7d"
  10023			  "\xa6\x7d\x31\x9e\xf1\x8f\x30\xa3"
  10024			  "\x8b\x4c\x24\xb7\xf5\x48\xd7\xd9"
  10025			  "\x12\xe7\x84\x97\x5c\x31\x6d\xfb"
  10026			  "\xdf\xf3\xd3\xd1\xd5\x0c\x30\x06"
  10027			  "\x01\x6a\xbc\x6c\x78\x7b\xa6\x50"
  10028			  "\xfa\x0f\x3c\x42\x2d\xa5\xa3\x3b"
  10029			  "\xcf\x62\x50\xff\x71\x6d\xe7\xda"
  10030			  "\x27\xab\xc6\x67\x16\x65\x68\x64"
  10031			  "\xc7\xd5\x5f\x81\xa9\xf6\x65\xb3"
  10032			  "\x5e\x43\x91\x16\xcd\x3d\x55\x37"
  10033			  "\x55\xb3\xf0\x28\xc5\x54\x19\xc0"
  10034			  "\xe0\xd6\x2a\x61\xd4\xc8\x72\x51"
  10035			  "\xe9\xa1\x7b\x48\x21\xad\x44\x09"
  10036			  "\xe4\x01\x61\x3c\x8a\x5b\xf9\xa1"
  10037			  "\x6e\x1b\xdf\xc0\x04\xa8\x8b\xf2"
  10038			  "\x21\xbe\x34\x7b\xfc\xa1\xcd\xc9"
  10039			  "\xa9\x96\xf4\xa4\x4c\xf7\x4e\x8f"
  10040			  "\x84\xcc\xd3\xa8\x92\x77\x8f\x36"
  10041			  "\xe2\x2e\x8c\x33\xe8\x84\xa6\x0c"
  10042			  "\x6c\x8a\xda\x14\x32\xc2\x96\xff"
  10043			  "\xc6\x4a\xc2\x9b\x30\x7f\xd1\x29"
  10044			  "\xc0\xd5\x78\x41\x00\x80\x80\x03"
  10045			  "\x2a\xb1\xde\x26\x03\x48\x49\xee"
  10046			  "\x57\x14\x76\x51\x3c\x36\x5d\x0a"
  10047			  "\x5c\x9f\xe8\xd8\x53\xdb\x4f\xd4"
  10048			  "\x38\xbf\x66\xc9\x75\x12\x18\x75"
  10049			  "\x34\x2d\x93\x22\x96\x51\x24\x6e"
  10050			  "\x4e\xd9\x30\xea\x67\xff\x92\x1c"
  10051			  "\x16\x26\xe9\xb5\x33\xab\x8c\x22"
  10052			  "\x47\xdb\xa0\x2c\x08\xf0\x12\x69"
  10053			  "\x7e\x93\x52\xda\xa5\xe5\xca\xc1"
  10054			  "\x0f\x55\x2a\xbd\x09\x30\x88\x1b"
  10055			  "\x9c\xc6\x9f\xe6\xdb\xa6\x92\xeb"
  10056			  "\xf4\xbd\x5c\xc4\xdb\xc6\x71\x09"
  10057			  "\xab\x5e\x48\x0c\xed\x6f\xda\x8e"
  10058			  "\x8d\x0c\x98\x71\x7d\x10\xd0\x9c"
  10059			  "\x20\x9b\x79\x53\x26\x5d\xb9\x85"
  10060			  "\x8a\x31\xb8\xc5\x1c\x97\xde\x88"
  10061			  "\x61\x55\x7f\x7c\x21\x06\xea\xc4"
  10062			  "\x5f\xaf\xf2\xf0\xd5\x5e\x7d\xb4"
  10063			  "\x6e\xcf\xe9\xae\x1b\x0e\x11\x80"
  10064			  "\xc1\x9a\x74\x7e\x52\x6f\xa0\xb7"
  10065			  "\x24\xcd\x8d\x0a\x11\x40\x63\x72"
  10066			  "\xfa\xe2\xc5\xb3\x94\xef\x29\xa2"
  10067			  "\x1a\x23\x43\x04\x37\x55\x0d\xe9"
  10068			  "\x83\xb2\x29\x51\x49\x64\xa0\xbd"
  10069			  "\xde\x73\xfd\xa5\x7c\x95\x70\x62"
  10070			  "\x58\xdc\xe2\xd0\xbf\x98\xf5\x8a"
  10071			  "\x6a\xfd\xce\xa8\x0e\x42\x2a\xeb"
  10072			  "\xd2\xff\x83\x27\x53\x5c\xa0\x6e"
  10073			  "\x93\xef\xe2\xb9\x5d\x35\xd6\x98"
  10074			  "\xf6\x71\x19\x7a\x54\xa1\xa7\xe8"
  10075			  "\x09\xfe\xf6\x9e\xc7\xbd\x3e\x29"
  10076			  "\xbd\x6b\x17\xf4\xe7\x3e\x10\x5c"
  10077			  "\xc1\xd2\x59\x4f\x4b\x12\x1a\x5b"
  10078			  "\x50\x80\x59\xb9\xec\x13\x66\xa8"
  10079			  "\xd2\x31\x7b\x6a\x61\x22\xdd\x7d"
  10080			  "\x61\xee\x87\x16\x46\x9f\xf9\xc7"
  10081			  "\x41\xee\x74\xf8\xd0\x96\x2c\x76"
  10082			  "\x2a\xac\x7d\x6e\x9f\x0e\x7f\x95"
  10083			  "\xfe\x50\x16\xb2\x23\xca\x62\xd5"
  10084			  "\x68\xcf\x07\x3f\x3f\x97\x85\x2a"
  10085			  "\x0c\x25\x45\xba\xdb\x32\xcb\x83"
  10086			  "\x8c\x4f\xe0\x6d\x9a\x99\xf9\xc9"
  10087			  "\xda\xd4\x19\x31\xc1\x7c\x6d\xd9"
  10088			  "\x9c\x56\xd3\xec\xc1\x81\x4c\xed"
  10089			  "\x28\x9d\x87\xeb\x19\xd7\x1a\x4f"
  10090			  "\x04\x6a\xcb\x1f\xcf\x1f\xa2\x16"
  10091			  "\xfc\x2a\x0d\xa1\x14\x2d\xfa\xc5"
  10092			  "\x5a\xd2\xc5\xf9\x19\x7c\x20\x1f"
  10093			  "\x2d\x10\xc0\x66\x7c\xd9\x2d\xe5"
  10094			  "\x88\x70\x59\xa7\x85\xd5\x2e\x7c"
  10095			  "\x5c\xe3\xb7\x12\xd6\x97\x3f\x29",
  10096		.psize	= 2048,
  10097		.digest	= "\x37\x90\x92\xc2\xeb\x01\x87\xd9"
  10098			  "\x95\xc7\x91\xc3\x17\x8b\x38\x52",
  10099	}
  10100};
  10101
  10102
  10103/*
  10104 * DES test vectors.
  10105 */
  10106static const struct cipher_testvec des_tv_template[] = {
  10107	{ /* From Applied Cryptography */
  10108		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef",
  10109		.klen	= 8,
  10110		.ptext	= "\x01\x23\x45\x67\x89\xab\xcd\xe7",
  10111		.ctext	= "\xc9\x57\x44\x25\x6a\x5e\xd3\x1d",
  10112		.len	= 8,
  10113	}, { /* Same key, different plaintext block */
  10114		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef",
  10115		.klen	= 8,
  10116		.ptext	= "\x22\x33\x44\x55\x66\x77\x88\x99",
  10117		.ctext	= "\xf7\x9c\x89\x2a\x33\x8f\x4a\x8b",
  10118		.len	= 8,
  10119	}, { /* Sbox test from NBS */
  10120		.key	= "\x7c\xa1\x10\x45\x4a\x1a\x6e\x57",
  10121		.klen	= 8,
  10122		.ptext	= "\x01\xa1\xd6\xd0\x39\x77\x67\x42",
  10123		.ctext	= "\x69\x0f\x5b\x0d\x9a\x26\x93\x9b",
  10124		.len	= 8,
  10125	}, { /* Three blocks */
  10126		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef",
  10127		.klen	= 8,
  10128		.ptext	= "\x01\x23\x45\x67\x89\xab\xcd\xe7"
  10129			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  10130			  "\xca\xfe\xba\xbe\xfe\xed\xbe\xef",
  10131		.ctext	= "\xc9\x57\x44\x25\x6a\x5e\xd3\x1d"
  10132			  "\xf7\x9c\x89\x2a\x33\x8f\x4a\x8b"
  10133			  "\xb4\x99\x26\xf7\x1f\xe1\xd4\x90",
  10134		.len	= 24,
  10135	}, { /* Weak key */
  10136		.setkey_error = -EINVAL,
  10137		.wk	= 1,
  10138		.key	= "\x01\x01\x01\x01\x01\x01\x01\x01",
  10139		.klen	= 8,
  10140		.ptext	= "\x01\x23\x45\x67\x89\xab\xcd\xe7",
  10141		.ctext	= "\xc9\x57\x44\x25\x6a\x5e\xd3\x1d",
  10142		.len	= 8,
  10143	}, { /* Two blocks -- for testing encryption across pages */
  10144		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef",
  10145		.klen	= 8,
  10146		.ptext	= "\x01\x23\x45\x67\x89\xab\xcd\xe7"
  10147			  "\x22\x33\x44\x55\x66\x77\x88\x99",
  10148		.ctext	= "\xc9\x57\x44\x25\x6a\x5e\xd3\x1d"
  10149			  "\xf7\x9c\x89\x2a\x33\x8f\x4a\x8b",
  10150		.len	= 16,
  10151	}, {
  10152		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef",
  10153		.klen	= 8,
  10154		.ptext	= "\x01\x23\x45\x67\x89\xab\xcd\xe7"
  10155			  "\xa3\x99\x7b\xca\xaf\x69\xa0\xf5",
  10156		.ctext	= "\xc9\x57\x44\x25\x6a\x5e\xd3\x1d"
  10157			  "\x69\x0f\x5b\x0d\x9a\x26\x93\x9b",
  10158		.len	= 16,
  10159	}, { /* Four blocks -- for testing encryption with chunking */
  10160		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef",
  10161		.klen	= 8,
  10162		.ptext	= "\x01\x23\x45\x67\x89\xab\xcd\xe7"
  10163			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  10164			  "\xca\xfe\xba\xbe\xfe\xed\xbe\xef"
  10165			  "\x22\x33\x44\x55\x66\x77\x88\x99",
  10166		.ctext	= "\xc9\x57\x44\x25\x6a\x5e\xd3\x1d"
  10167			  "\xf7\x9c\x89\x2a\x33\x8f\x4a\x8b"
  10168			  "\xb4\x99\x26\xf7\x1f\xe1\xd4\x90"
  10169			  "\xf7\x9c\x89\x2a\x33\x8f\x4a\x8b",
  10170		.len	= 32,
  10171	}, { /* Generated with Crypto++ */
  10172		.key	= "\xC9\x83\xA6\xC9\xEC\x0F\x32\x55",
  10173		.klen	= 8,
  10174		.ptext	= "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
  10175			  "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
  10176			  "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
  10177			  "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
  10178			  "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
  10179			  "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
  10180			  "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
  10181			  "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
  10182			  "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
  10183			  "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
  10184			  "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
  10185			  "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
  10186			  "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
  10187			  "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
  10188			  "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
  10189			  "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
  10190			  "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
  10191			  "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
  10192			  "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
  10193			  "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
  10194			  "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
  10195			  "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
  10196			  "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
  10197			  "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
  10198			  "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
  10199			  "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
  10200			  "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
  10201			  "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
  10202			  "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
  10203			  "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
  10204			  "\xC6\x2F\xBB\x24\x8D\x19\x82\xEB",
  10205		.ctext	= "\x88\xCB\x1F\xAB\x2F\x2A\x49\x57"
  10206			  "\x92\xB9\x77\xFF\x2F\x47\x58\xDD"
  10207			  "\xD7\x8A\x91\x95\x26\x33\x78\xB2"
  10208			  "\x33\xBA\xB2\x3E\x02\xF5\x1F\xEF"
  10209			  "\x98\xC5\xA6\xD2\x7D\x79\xEC\xB3"
  10210			  "\x45\xF3\x4C\x61\xAC\x6C\xC2\x55"
  10211			  "\xE5\xD3\x06\x58\x8A\x42\x3E\xDD"
  10212			  "\x3D\x20\x45\xE9\x6F\x0D\x25\xA8"
  10213			  "\xA5\xC7\x69\xCE\xD5\x3B\x7B\xC9"
  10214			  "\x9E\x65\xE7\xA3\xF2\xE4\x18\x94"
  10215			  "\xD2\x81\xE9\x33\x2B\x2D\x49\xC4"
  10216			  "\xFE\xDA\x7F\xE2\xF2\x8C\x9C\xDC"
  10217			  "\x73\x58\x11\x1F\x81\xD7\x21\x1A"
  10218			  "\x80\xD0\x0D\xE8\x45\xD6\xD8\xD5"
  10219			  "\x2E\x51\x16\xCA\x09\x89\x54\x62"
  10220			  "\xF7\x04\x3D\x75\xB9\xA3\x84\xF4"
  10221			  "\x62\xF0\x02\x58\x83\xAF\x30\x87"
  10222			  "\x85\x3F\x01\xCD\x8E\x58\x42\xC4"
  10223			  "\x41\x73\xE0\x15\x0A\xE6\x2E\x80"
  10224			  "\x94\xF8\x5B\x3A\x4E\xDF\x51\xB2"
  10225			  "\x9D\xE4\xC4\x9D\xF7\x3F\xF8\x8E"
  10226			  "\x37\x22\x4D\x00\x2A\xEF\xC1\x0F"
  10227			  "\x14\xA0\x66\xAB\x79\x39\xD0\x8E"
  10228			  "\xE9\x95\x61\x74\x12\xED\x07\xD7"
  10229			  "\xDD\x95\xDC\x7B\x57\x25\x27\x9C"
  10230			  "\x51\x96\x16\xF7\x94\x61\xB8\x87"
  10231			  "\xF0\x21\x1B\x32\xFB\x07\x0F\x29"
  10232			  "\x56\xBD\x9D\x22\xA2\x9F\xA2\xB9"
  10233			  "\x46\x31\x4C\x5E\x2E\x95\x61\xEF"
  10234			  "\xE1\x58\x39\x09\xB4\x8B\x40\xAC"
  10235			  "\x5F\x62\xC7\x72\xD9\xFC\xCB\x9A",
  10236		.len	= 248,
  10237	},
  10238};
  10239
  10240static const struct cipher_testvec des_cbc_tv_template[] = {
  10241	{ /* From OpenSSL */
  10242		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef",
  10243		.klen	= 8,
  10244		.iv	= "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  10245		.iv_out	= "\x46\x8e\x91\x15\x78\x88\xba\x68",
  10246		.ptext	= "\x37\x36\x35\x34\x33\x32\x31\x20"
  10247			  "\x4e\x6f\x77\x20\x69\x73\x20\x74"
  10248			  "\x68\x65\x20\x74\x69\x6d\x65\x20",
  10249		.ctext	= "\xcc\xd1\x73\xff\xab\x20\x39\xf4"
  10250			  "\xac\xd8\xae\xfd\xdf\xd8\xa1\xeb"
  10251			  "\x46\x8e\x91\x15\x78\x88\xba\x68",
  10252		.len	= 24,
  10253	}, { /* FIPS Pub 81 */
  10254		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef",
  10255		.klen	= 8,
  10256		.iv	= "\x12\x34\x56\x78\x90\xab\xcd\xef",
  10257		.iv_out	= "\xe5\xc7\xcd\xde\x87\x2b\xf2\x7c",
  10258		.ptext	= "\x4e\x6f\x77\x20\x69\x73\x20\x74",
  10259		.ctext	= "\xe5\xc7\xcd\xde\x87\x2b\xf2\x7c",
  10260		.len	= 8,
  10261	}, {
  10262		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef",
  10263		.klen	= 8,
  10264		.iv	= "\xe5\xc7\xcd\xde\x87\x2b\xf2\x7c",
  10265		.iv_out	= "\x43\xe9\x34\x00\x8c\x38\x9c\x0f",
  10266		.ptext	= "\x68\x65\x20\x74\x69\x6d\x65\x20",
  10267		.ctext	= "\x43\xe9\x34\x00\x8c\x38\x9c\x0f",
  10268		.len	= 8,
  10269	}, {
  10270		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef",
  10271		.klen	= 8,
  10272		.iv	= "\x43\xe9\x34\x00\x8c\x38\x9c\x0f",
  10273		.iv_out	= "\x68\x37\x88\x49\x9a\x7c\x05\xf6",
  10274		.ptext	= "\x66\x6f\x72\x20\x61\x6c\x6c\x20",
  10275		.ctext	= "\x68\x37\x88\x49\x9a\x7c\x05\xf6",
  10276		.len	= 8,
  10277	}, { /* Generated with Crypto++ */
  10278		.key	= "\xC9\x83\xA6\xC9\xEC\x0F\x32\x55",
  10279		.klen	= 8,
  10280		.iv	= "\xE7\x82\x1D\xB8\x53\x11\xAC\x47",
  10281		.iv_out	=  "\xC6\x4A\xF3\x55\xC7\x29\x2E\x63",
  10282		.ptext	= "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
  10283			  "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
  10284			  "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
  10285			  "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
  10286			  "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
  10287			  "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
  10288			  "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
  10289			  "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
  10290			  "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
  10291			  "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
  10292			  "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
  10293			  "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
  10294			  "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
  10295			  "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
  10296			  "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
  10297			  "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
  10298			  "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
  10299			  "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
  10300			  "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
  10301			  "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
  10302			  "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
  10303			  "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
  10304			  "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
  10305			  "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
  10306			  "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
  10307			  "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
  10308			  "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
  10309			  "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
  10310			  "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
  10311			  "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
  10312			  "\xC6\x2F\xBB\x24\x8D\x19\x82\xEB",
  10313		.ctext	= "\x71\xCC\x56\x1C\x87\x2C\x43\x20"
  10314			  "\x1C\x20\x13\x09\xF9\x2B\x40\x47"
  10315			  "\x99\x10\xD1\x1B\x65\x33\x33\xBA"
  10316			  "\x88\x0D\xA2\xD1\x86\xFF\x4D\xF4"
  10317			  "\x5A\x0C\x12\x96\x32\x57\xAA\x26"
  10318			  "\xA7\xF4\x32\x8D\xBC\x10\x31\x9E"
  10319			  "\x81\x72\x74\xDE\x30\x19\x69\x49"
  10320			  "\x54\x9C\xC3\xEB\x0B\x97\xDD\xD1"
  10321			  "\xE8\x6D\x0D\x05\x83\xA5\x12\x08"
  10322			  "\x47\xF8\x88\x03\x86\x51\x3C\xEF"
  10323			  "\xE7\x11\x73\x4D\x44\x2B\xE2\x16"
  10324			  "\xE8\xA5\x06\x50\x66\x70\x0E\x14"
  10325			  "\xBA\x21\x3B\xD5\x23\x5B\xA7\x8F"
  10326			  "\x56\xB6\xA7\x44\xDB\x86\xAB\x69"
  10327			  "\x33\x3C\xBE\x64\xC4\x22\xD3\xFE"
  10328			  "\x49\x90\x88\x6A\x09\x8F\x76\x59"
  10329			  "\xCB\xB7\xA0\x2D\x79\x75\x92\x8A"
  10330			  "\x82\x1D\xC2\xFE\x09\x1F\x78\x6B"
  10331			  "\x2F\xD6\xA4\x87\x1E\xC4\x53\x63"
  10332			  "\x80\x02\x61\x2F\xE3\x46\xB6\xB5"
  10333			  "\xAA\x95\xF4\xEE\xA7\x64\x2B\x4F"
  10334			  "\x20\xCF\xD2\x47\x4E\x39\x65\xB3"
  10335			  "\x11\x87\xA2\x6C\x49\x7E\x36\xC7"
  10336			  "\x62\x8B\x48\x0D\x6A\x64\x00\xBD"
  10337			  "\x71\x91\x8C\xE9\x70\x19\x01\x4F"
  10338			  "\x4E\x68\x23\xBA\xDA\x24\x2E\x45"
  10339			  "\x02\x14\x33\x21\xAE\x58\x4B\xCF"
  10340			  "\x3B\x4B\xE8\xF8\xF6\x4F\x34\x93"
  10341			  "\xD7\x07\x8A\xD7\x18\x92\x36\x8C"
  10342			  "\x82\xA9\xBD\x6A\x31\x91\x39\x11"
  10343			  "\xC6\x4A\xF3\x55\xC7\x29\x2E\x63",
  10344		.len	= 248,
  10345	},
  10346};
  10347
  10348static const struct cipher_testvec des_ctr_tv_template[] = {
  10349	{ /* Generated with Crypto++ */
  10350		.key	= "\xC9\x83\xA6\xC9\xEC\x0F\x32\x55",
  10351		.klen	= 8,
  10352		.iv	= "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFD",
  10353		.iv_out	= "\x00\x00\x00\x00\x00\x00\x00\x1C",
  10354		.ptext	= "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
  10355			  "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
  10356			  "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
  10357			  "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
  10358			  "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
  10359			  "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
  10360			  "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
  10361			  "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
  10362			  "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
  10363			  "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
  10364			  "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
  10365			  "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
  10366			  "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
  10367			  "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
  10368			  "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
  10369			  "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
  10370			  "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
  10371			  "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
  10372			  "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
  10373			  "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
  10374			  "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
  10375			  "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
  10376			  "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
  10377			  "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
  10378			  "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
  10379			  "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
  10380			  "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
  10381			  "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
  10382			  "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
  10383			  "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
  10384			  "\xC6\x2F\xBB\x24\x8D\x19\x82\xEB",
  10385		.ctext	= "\x2F\x96\x06\x0F\x50\xC9\x68\x03"
  10386			  "\x0F\x31\xD4\x64\xA5\x29\x77\x35"
  10387			  "\xBC\x7A\x9F\x19\xE7\x0D\x33\x3E"
  10388			  "\x12\x0B\x8C\xAE\x48\xAE\xD9\x02"
  10389			  "\x0A\xD4\xB0\xD6\x37\xB2\x65\x1C"
  10390			  "\x4B\x65\xEB\x24\xB5\x8E\xAD\x47"
  10391			  "\x0D\xDA\x79\x77\xA0\x29\xA0\x2B"
  10392			  "\xC8\x0F\x85\xDC\x03\x13\xA9\x04"
  10393			  "\x19\x40\xBE\xBE\x5C\x49\x4A\x69"
  10394			  "\xED\xE8\xE1\x9E\x14\x43\x74\xDE"
  10395			  "\xEC\x6E\x11\x3F\x36\xEF\x7B\xFB"
  10396			  "\xBE\x4C\x91\x43\x22\x65\x72\x48"
  10397			  "\xE2\x12\xED\x88\xAC\xA7\xC9\x91"
  10398			  "\x14\xA2\x36\x1C\x29\xFF\xC8\x4F"
  10399			  "\x72\x5C\x4B\xB0\x1E\x93\xC2\xFA"
  10400			  "\x9D\x53\x86\xA0\xAE\xC6\xB7\x3C"
  10401			  "\x59\x0C\xD0\x8F\xA6\xD8\xA4\x31"
  10402			  "\xB7\x30\x1C\x21\x38\xFB\x68\x8C"
  10403			  "\x2E\xF5\x6E\x73\xC3\x16\x5F\x12"
  10404			  "\x0C\x33\xB9\x1E\x7B\x70\xDE\x86"
  10405			  "\x32\xB3\xC1\x16\xAB\xD9\x49\x0B"
  10406			  "\x96\x28\x72\x6B\xF3\x30\xA9\xEB"
  10407			  "\x69\xE2\x1E\x58\x46\xA2\x8E\xC7"
  10408			  "\xC0\xEF\x07\xB7\x77\x2C\x00\x05"
  10409			  "\x46\xBD\xFE\x53\x81\x8B\xA4\x03"
  10410			  "\x20\x0F\xDB\x78\x0B\x1F\x53\x04"
  10411			  "\x4C\x60\x4C\xC3\x2A\x86\x86\x7E"
  10412			  "\x13\xD2\x26\xED\x5D\x3E\x9C\xF2"
  10413			  "\x5C\xC4\x15\xC9\x9A\x21\xC5\xCD"
  10414			  "\x19\x7F\x99\x19\x53\xCE\x1D\x14"
  10415			  "\x69\x74\xA1\x06\x46\x0F\x4E\x75",
  10416		.len	= 248,
  10417	}, { /* Generated with Crypto++ */
  10418		.key	= "\xC9\x83\xA6\xC9\xEC\x0F\x32\x55",
  10419		.klen	= 8,
  10420		.iv	= "\xE7\x82\x1D\xB8\x53\x11\xAC\x47",
  10421		.iv_out	= "\xE7\x82\x1D\xB8\x53\x11\xAC\x66",
  10422		.ptext	= "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
  10423			  "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
  10424			  "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
  10425			  "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
  10426			  "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
  10427			  "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
  10428			  "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
  10429			  "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
  10430			  "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
  10431			  "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
  10432			  "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
  10433			  "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
  10434			  "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
  10435			  "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
  10436			  "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
  10437			  "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
  10438			  "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
  10439			  "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
  10440			  "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
  10441			  "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
  10442			  "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
  10443			  "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
  10444			  "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
  10445			  "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
  10446			  "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
  10447			  "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
  10448			  "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
  10449			  "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
  10450			  "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
  10451			  "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
  10452			  "\xC6\x2F\xBB\x24\x8D\x19\x82",
  10453		.ctext	= "\x62\xE5\xF4\xDC\x99\xE7\x89\xE3"
  10454			  "\xF4\x10\xCC\x21\x99\xEB\xDC\x15"
  10455			  "\x19\x13\x93\x27\x9D\xB6\x6F\x45"
  10456			  "\x17\x55\x61\x72\xC8\xD3\x7F\xA5"
  10457			  "\x32\xD0\xD3\x02\x15\xA4\x05\x23"
  10458			  "\x9C\x23\x61\x60\x77\x7B\x6C\x95"
  10459			  "\x26\x49\x42\x2E\xF3\xC1\x8C\x6D"
  10460			  "\xC8\x47\xD5\x94\xE7\x53\xC8\x23"
  10461			  "\x1B\xA5\x0B\xCB\x12\xD3\x7A\x12"
  10462			  "\xA4\x42\x15\x34\xF7\x5F\xDC\x58"
  10463			  "\x5B\x58\x4C\xAD\xD1\x33\x8E\xE6"
  10464			  "\xE5\xA0\xDA\x4D\x94\x3D\x63\xA8"
  10465			  "\x02\x82\xBB\x16\xB8\xDC\xB5\x58"
  10466			  "\xC3\x2D\x79\xE4\x25\x79\x43\xF9"
  10467			  "\x6D\xD3\xCA\xC0\xE8\x12\xD4\x7E"
  10468			  "\x04\x25\x79\xFD\x27\xFB\xC4\xEA"
  10469			  "\x32\x94\x48\x92\xF3\x68\x1A\x7F"
  10470			  "\x36\x33\x43\x79\xF7\xCA\xC2\x38"
  10471			  "\xC0\x68\xD4\x53\xA9\xCC\x43\x0C"
  10472			  "\x40\x57\x3E\xED\x00\x9F\x22\x6E"
  10473			  "\x80\x99\x0B\xCC\x40\x63\x46\x8A"
  10474			  "\xE8\xC4\x9B\x6D\x7A\x08\x6E\xA9"
  10475			  "\x6F\x84\xBC\xB3\xF4\x95\x0B\x2D"
  10476			  "\x6A\xBA\x37\x50\xC3\xCF\x9F\x7C"
  10477			  "\x59\x5E\xDE\x0B\x30\xFA\x34\x8A"
  10478			  "\xF8\xD1\xA2\xF8\x4E\xBD\x5D\x5E"
  10479			  "\x7D\x71\x99\xE0\xF6\xE5\x7C\xE0"
  10480			  "\x6D\xEE\x82\x89\x92\xD4\xF5\xD7"
  10481			  "\xDF\x85\x2D\xE1\xB2\xD6\xAB\x94"
  10482			  "\xA5\xA6\xE7\xB0\x51\x36\x52\x37"
  10483			  "\x91\x45\x05\x3E\x58\xBF\x32",
  10484		.len	= 247,
  10485	},
  10486};
  10487
  10488static const struct cipher_testvec des3_ede_tv_template[] = {
  10489	{ /* These are from openssl */
  10490		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  10491			  "\x55\x55\x55\x55\x55\x55\x55\x55"
  10492			  "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  10493		.klen	= 24,
  10494		.ptext	= "\x73\x6f\x6d\x65\x64\x61\x74\x61",
  10495		.ctext	= "\x18\xd7\x48\xe5\x63\x62\x05\x72",
  10496		.len	= 8,
  10497	}, {
  10498		.key	= "\x03\x52\x02\x07\x67\x20\x82\x17"
  10499			  "\x86\x02\x87\x66\x59\x08\x21\x98"
  10500			  "\x64\x05\x6a\xbd\xfe\xa9\x34\x57",
  10501		.klen	= 24,
  10502		.ptext	= "\x73\x71\x75\x69\x67\x67\x6c\x65",
  10503		.ctext	= "\xc0\x7d\x2a\x0f\xa5\x66\xfa\x30",
  10504		.len	= 8,
  10505	}, {
  10506		.key	= "\x10\x46\x10\x34\x89\x98\x80\x20"
  10507			  "\x91\x07\xd0\x15\x89\x19\x01\x01"
  10508			  "\x19\x07\x92\x10\x98\x1a\x01\x01",
  10509		.klen	= 24,
  10510		.ptext	= "\x00\x00\x00\x00\x00\x00\x00\x00",
  10511		.ctext	= "\xe1\xef\x62\xc3\x32\xfe\x82\x5b",
  10512		.len	= 8,
  10513	}, { /* Generated with Crypto++ */
  10514		.key	= "\xF3\x9C\xD6\xF3\x9C\xB9\x5A\x67"
  10515			  "\x00\x5A\x67\x00\x2D\xCE\xEB\x2D"
  10516			  "\xCE\xEB\xB4\x51\x72\xB4\x51\x72",
  10517		.klen	= 24,
  10518		.ptext	= "\x05\xEC\x77\xFB\x42\xD5\x59\x20"
  10519			  "\x8B\x12\x86\x69\xF0\x5B\xCF\x56"
  10520			  "\x39\xAD\x34\x9F\x66\xEA\x7D\xC4"
  10521			  "\x48\xD3\xBA\x0D\xB1\x18\xE3\x4A"
  10522			  "\xFE\x41\x28\x5C\x27\x8E\x11\x85"
  10523			  "\x6C\xF7\x5E\xC2\x55\x3C\xA0\x0B"
  10524			  "\x92\x65\xE9\x70\xDB\x4F\xD6\xB9"
  10525			  "\x00\xB4\x1F\xE6\x49\xFD\x44\x2F"
  10526			  "\x53\x3A\x8D\x14\x98\x63\xCA\x5D"
  10527			  "\xC1\xA8\x33\xA7\x0E\x91\x78\xEC"
  10528			  "\x77\xDE\x42\xD5\xBC\x07\x8B\x12"
  10529			  "\xE5\x4C\xF0\x5B\x22\x56\x39\x80"
  10530			  "\x6B\x9F\x66\xC9\x50\xC4\xAF\x36"
  10531			  "\xBA\x0D\x94\x7F\xE3\x4A\xDD\x41"
  10532			  "\x28\xB3\x1A\x8E\x11\xF8\x43\xF7"
  10533			  "\x5E\x21\x55\x3C\x87\x6E\x92\x65"
  10534			  "\xCC\x57\xDB\xA2\x35\xB9\x00\xEB"
  10535			  "\x72\xE6\x49\xD0\x44\x2F\xB6\x19"
  10536			  "\x8D\x14\xFF\x46\xCA\x5D\x24\xA8"
  10537			  "\x33\x9A\x6D\x91\x78\xC3\x77\xDE"
  10538			  "\xA1\x08\xBC\x07\xEE\x71\xE5\x4C"
  10539			  "\xD7\x5B\x22\xB5\x1C\x80\x6B\xF2"
  10540			  "\x45\xC9\x50\x3B\xAF\x36\x99\x60"
  10541			  "\x94\x7F\xC6\x4A\xDD\xA4\x0F\xB3"
  10542			  "\x1A\xED\x74\xF8\x43\x2A\x5E\x21"
  10543			  "\x88\x13\x87\x6E\xF1\x58\xCC\x57"
  10544			  "\x3E\xA2\x35\x9C\x67\xEB\x72\xC5"
  10545			  "\x49\xD0\xBB\x02\xB6\x19\xE0\x4B"
  10546			  "\xFF\x46\x29\x5D\x24\x8F\x16\x9A"
  10547			  "\x6D\xF4\x5F\xC3\xAA\x3D\xA1\x08"
  10548			  "\x93\x7A\xEE\x71\xD8\x4C\xD7\xBE"
  10549			  "\x01\xB5\x1C\xE7\x4E\xF2\x45\x2C"
  10550			  "\x50\x3B\x82\x15\x99\x60\xCB\x52"
  10551			  "\xC6\xA9\x30\xA4\x0F\x96\x79\xED"
  10552			  "\x74\xDF\x43\x2A\xBD\x04\x88\x13"
  10553			  "\xFA\x4D\xF1\x58\x23\x57\x3E\x81"
  10554			  "\x68\x9C\x67\xCE\x51\xC5\xAC\x37"
  10555			  "\xBB\x02\x95\x7C\xE0\x4B\xD2\x46"
  10556			  "\x29\xB0\x1B\x8F\x16\xF9\x40\xF4"
  10557			  "\x5F\x26\xAA\x3D\x84\x6F\x93\x7A"
  10558			  "\xCD\x54\xD8\xA3\x0A\xBE\x01\xE8"
  10559			  "\x73\xE7\x4E\xD1\x45\x2C\xB7\x1E"
  10560			  "\x82\x15\xFC\x47\xCB\x52\x25\xA9"
  10561			  "\x30\x9B\x62\x96\x79\xC0\x74\xDF"
  10562			  "\xA6\x09\xBD\x04\xEF\x76\xFA\x4D"
  10563			  "\xD4\x58\x23\x8A\x1D\x81\x68\xF3"
  10564			  "\x5A\xCE\x51\x38\xAC\x37\x9E\x61"
  10565			  "\x95\x7C\xC7\x4B\xD2\xA5\x0C\xB0"
  10566			  "\x1B\xE2\x75\xF9\x40\x2B\x5F\x26"
  10567			  "\x89\x10\x84\x6F\xF6\x59\xCD\x54"
  10568			  "\x3F\xA3\x0A\x9D\x64\xE8\x73\xDA"
  10569			  "\x4E\xD1\xB8\x03\xB7\x1E\xE1\x48"
  10570			  "\xFC\x47\x2E\x52\x25\x8C\x17\x9B"
  10571			  "\x62\xF5\x5C\xC0\xAB\x32\xA6\x09"
  10572			  "\x90\x7B\xEF\x76\xD9\x4D\xD4\xBF"
  10573			  "\x06\x8A\x1D\xE4\x4F\xF3\x5A\x2D"
  10574			  "\x51\x38\x83\x6A\x9E\x61\xC8\x53"
  10575			  "\xC7\xAE\x31\xA5\x0C\x97\x7E\xE2"
  10576			  "\x75\xDC\x40\x2B\xB2\x05\x89\x10"
  10577			  "\xFB\x42\xF6\x59\x20\x54\x3F\x86"
  10578			  "\x69\x9D\x64\xCF\x56\xDA\xAD\x34"
  10579			  "\xB8\x03\xEA\x7D\xE1\x48\xD3\x47",
  10580		.ctext	= "\x4E\x9A\x40\x3D\x61\x7D\x17\xFA"
  10581			  "\x16\x86\x88\x0B\xD8\xAE\xF8\xE4"
  10582			  "\x81\x01\x04\x00\x76\xFA\xED\xD3"
  10583			  "\x44\x7E\x21\x9D\xF0\xFB\x2B\x64"
  10584			  "\xCA\x4E\x90\xE0\xC0\x63\x28\x92"
  10585			  "\xF3\x1F\xA4\x53\x2C\x77\xCC\x77"
  10586			  "\x69\x56\xD0\x19\xAD\x00\x2D\x97"
  10587			  "\xBC\xDE\x49\x6A\x82\xBC\x16\xE2"
  10588			  "\x2F\x3E\x72\xEE\xD1\xCE\xFC\x1B"
  10589			  "\xEA\x32\x56\xE4\x0B\xAF\x27\x36"
  10590			  "\xAF\x08\xB9\x61\xB7\x48\x23\x27"
  10591			  "\xEE\x4D\xC8\x79\x56\x06\xEB\xC7"
  10592			  "\x5B\xCA\x0A\xC6\x5E\x5C\xCB\xB6"
  10593			  "\x9D\xDA\x04\x59\xE2\x09\x48\x7E"
  10594			  "\x6B\x37\xC6\xFE\x92\xA9\x1E\x6E"
  10595			  "\x0D\x19\xFA\x33\x0F\xEE\x36\x68"
  10596			  "\x11\xBB\xF9\x5A\x73\xAB\x3A\xEA"
  10597			  "\xAC\x28\xD8\xD5\x27\xE8\x6B\x16"
  10598			  "\x45\x86\x50\x01\x70\x35\x99\x92"
  10599			  "\xDF\x0C\x07\x88\x8B\x7F\x9E\x4B"
  10600			  "\xD2\x04\x84\x90\xC4\x27\xDF\x0A"
  10601			  "\x49\xA8\xA7\x1A\x6D\x78\x16\xCA"
  10602			  "\xB3\x18\x5C\xC3\x93\x63\x5A\x68"
  10603			  "\x77\x02\xBA\xED\x62\x71\xB1\xD9"
  10604			  "\x5E\xE5\x6F\x1A\xCC\x1D\xBE\x2E"
  10605			  "\x11\xF3\xA6\x97\xCA\x8E\xBF\xB4"
  10606			  "\x56\xA1\x36\x6B\xB1\x0A\x3E\x70"
  10607			  "\xEA\xD7\xCD\x72\x7B\x79\xC8\xAD"
  10608			  "\x6B\xFE\xFB\xBA\x64\xAE\x19\xC1"
  10609			  "\x82\xCF\x8A\xA1\x50\x17\x7F\xB2"
  10610			  "\x6F\x7B\x0F\x52\xC5\x3E\x4A\x52"
  10611			  "\x3F\xD9\x3F\x01\xA6\x41\x1A\xB3"
  10612			  "\xB3\x7A\x0E\x8E\x75\xB2\xB1\x5F"
  10613			  "\xDB\xEA\x84\x13\x26\x6C\x85\x4E"
  10614			  "\xAE\x6B\xDC\xE7\xE7\xAD\xB0\x06"
  10615			  "\x5C\xBA\x92\xD0\x30\xBB\x8D\xD2"
  10616			  "\xAE\x4C\x70\x85\xA0\x07\xE3\x2C"
  10617			  "\xD1\x27\x9C\xCF\xDB\x13\xB7\xE5"
  10618			  "\xF9\x6A\x02\xD0\x39\x9D\xB6\xE7"
  10619			  "\xD1\x17\x25\x08\xF9\xA9\xA6\x67"
  10620			  "\x38\x80\xD1\x22\xAB\x1A\xD7\x26"
  10621			  "\xAD\xCA\x19\x1B\xFA\x18\xA7\x57"
  10622			  "\x31\xEC\xC9\xED\xDB\x79\xC0\x48"
  10623			  "\xAC\x31\x9F\x03\x8B\x62\x5B\x7E"
  10624			  "\x0E\xA6\xD0\x64\xEE\xEA\x00\xFC"
  10625			  "\x58\xC8\xDE\x51\x4E\x17\x15\x11"
  10626			  "\x66\x58\xB6\x90\xDC\xDF\xA1\x49"
  10627			  "\xCA\x79\xE9\x31\x31\x42\xDC\x56"
  10628			  "\x0B\xCD\xB6\x0D\xC7\x64\xF7\x19"
  10629			  "\xD9\x42\x05\x7F\xBC\x2F\xFC\x90"
  10630			  "\xAE\x29\x86\xAA\x43\x7A\x4F\x6B"
  10631			  "\xCE\xEA\xBC\x31\x8D\x65\x9D\x46"
  10632			  "\xEA\x77\xB4\xF9\x58\xEA\x5D\x84"
  10633			  "\xE4\xDC\x14\xBB\xBD\x15\x0E\xDA"
  10634			  "\xD8\xE4\xA4\x5D\x61\xF9\x58\x0F"
  10635			  "\xE4\x82\x77\xCE\x87\xC0\x09\xF0"
  10636			  "\xD6\x10\x9E\x34\xE1\x0C\x67\x55"
  10637			  "\x7B\x6D\xD5\x51\x4B\x00\xEE\xBA"
  10638			  "\xF2\x7B\xBE\x75\x07\x42\x9D\x99"
  10639			  "\x12\xE1\x71\x4A\xF9\x2A\xF5\xF6"
  10640			  "\x93\x03\xD7\x51\x09\xFA\xBE\x68"
  10641			  "\xD8\x45\xFF\x33\xBA\xBB\x2B\x63",
  10642		.len	= 496,
  10643	},
  10644};
  10645
  10646static const struct cipher_testvec des3_ede_cbc_tv_template[] = {
  10647	{ /* Generated from openssl */
  10648		.key	= "\xE9\xC0\xFF\x2E\x76\x0B\x64\x24"
  10649			  "\x44\x4D\x99\x5A\x12\xD6\x40\xC0"
  10650			  "\xEA\xC2\x84\xE8\x14\x95\xDB\xE8",
  10651		.klen	= 24,
  10652		.iv	= "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
  10653		.iv_out	= "\x6b\xfa\xb1\x91\x13\xb0\xd9\x19",
  10654		.ptext	= "\x6f\x54\x20\x6f\x61\x4d\x79\x6e"
  10655			  "\x53\x20\x63\x65\x65\x72\x73\x74"
  10656			  "\x54\x20\x6f\x6f\x4d\x20\x6e\x61"
  10657			  "\x20\x79\x65\x53\x72\x63\x74\x65"
  10658			  "\x20\x73\x6f\x54\x20\x6f\x61\x4d"
  10659			  "\x79\x6e\x53\x20\x63\x65\x65\x72"
  10660			  "\x73\x74\x54\x20\x6f\x6f\x4d\x20"
  10661			  "\x6e\x61\x20\x79\x65\x53\x72\x63"
  10662			  "\x74\x65\x20\x73\x6f\x54\x20\x6f"
  10663			  "\x61\x4d\x79\x6e\x53\x20\x63\x65"
  10664			  "\x65\x72\x73\x74\x54\x20\x6f\x6f"
  10665			  "\x4d\x20\x6e\x61\x20\x79\x65\x53"
  10666			  "\x72\x63\x74\x65\x20\x73\x6f\x54"
  10667			  "\x20\x6f\x61\x4d\x79\x6e\x53\x20"
  10668			  "\x63\x65\x65\x72\x73\x74\x54\x20"
  10669			  "\x6f\x6f\x4d\x20\x6e\x61\x0a\x79",
  10670		.ctext	= "\x0e\x2d\xb6\x97\x3c\x56\x33\xf4"
  10671			  "\x67\x17\x21\xc7\x6e\x8a\xd5\x49"
  10672			  "\x74\xb3\x49\x05\xc5\x1c\xd0\xed"
  10673			  "\x12\x56\x5c\x53\x96\xb6\x00\x7d"
  10674			  "\x90\x48\xfc\xf5\x8d\x29\x39\xcc"
  10675			  "\x8a\xd5\x35\x18\x36\x23\x4e\xd7"
  10676			  "\x76\xd1\xda\x0c\x94\x67\xbb\x04"
  10677			  "\x8b\xf2\x03\x6c\xa8\xcf\xb6\xea"
  10678			  "\x22\x64\x47\xaa\x8f\x75\x13\xbf"
  10679			  "\x9f\xc2\xc3\xf0\xc9\x56\xc5\x7a"
  10680			  "\x71\x63\x2e\x89\x7b\x1e\x12\xca"
  10681			  "\xe2\x5f\xaf\xd8\xa4\xf8\xc9\x7a"
  10682			  "\xd6\xf9\x21\x31\x62\x44\x45\xa6"
  10683			  "\xd6\xbc\x5a\xd3\x2d\x54\x43\xcc"
  10684			  "\x9d\xde\xa5\x70\xe9\x42\x45\x8a"
  10685			  "\x6b\xfa\xb1\x91\x13\xb0\xd9\x19",
  10686		.len	= 128,
  10687	}, { /* Generated with Crypto++ */
  10688		.key	= "\x9C\xD6\xF3\x9C\xB9\x5A\x67\x00"
  10689			  "\x5A\x67\x00\x2D\xCE\xEB\x2D\xCE"
  10690			  "\xEB\xB4\x51\x72\xB4\x51\x72\x1F",
  10691		.klen	= 24,
  10692		.iv	= "\xB2\xD7\x48\xED\x06\x44\xF9\x12"
  10693			  "\xB7\x28\x4D\x83\x24\x59\xF2\x17",
  10694		.iv_out	= "\x95\x63\x73\xA2\x44\xAC\xF8\xA5",
  10695		.ptext	= "\x05\xEC\x77\xFB\x42\xD5\x59\x20"
  10696			  "\x8B\x12\x86\x69\xF0\x5B\xCF\x56"
  10697			  "\x39\xAD\x34\x9F\x66\xEA\x7D\xC4"
  10698			  "\x48\xD3\xBA\x0D\xB1\x18\xE3\x4A"
  10699			  "\xFE\x41\x28\x5C\x27\x8E\x11\x85"
  10700			  "\x6C\xF7\x5E\xC2\x55\x3C\xA0\x0B"
  10701			  "\x92\x65\xE9\x70\xDB\x4F\xD6\xB9"
  10702			  "\x00\xB4\x1F\xE6\x49\xFD\x44\x2F"
  10703			  "\x53\x3A\x8D\x14\x98\x63\xCA\x5D"
  10704			  "\xC1\xA8\x33\xA7\x0E\x91\x78\xEC"
  10705			  "\x77\xDE\x42\xD5\xBC\x07\x8B\x12"
  10706			  "\xE5\x4C\xF0\x5B\x22\x56\x39\x80"
  10707			  "\x6B\x9F\x66\xC9\x50\xC4\xAF\x36"
  10708			  "\xBA\x0D\x94\x7F\xE3\x4A\xDD\x41"
  10709			  "\x28\xB3\x1A\x8E\x11\xF8\x43\xF7"
  10710			  "\x5E\x21\x55\x3C\x87\x6E\x92\x65"
  10711			  "\xCC\x57\xDB\xA2\x35\xB9\x00\xEB"
  10712			  "\x72\xE6\x49\xD0\x44\x2F\xB6\x19"
  10713			  "\x8D\x14\xFF\x46\xCA\x5D\x24\xA8"
  10714			  "\x33\x9A\x6D\x91\x78\xC3\x77\xDE"
  10715			  "\xA1\x08\xBC\x07\xEE\x71\xE5\x4C"
  10716			  "\xD7\x5B\x22\xB5\x1C\x80\x6B\xF2"
  10717			  "\x45\xC9\x50\x3B\xAF\x36\x99\x60"
  10718			  "\x94\x7F\xC6\x4A\xDD\xA4\x0F\xB3"
  10719			  "\x1A\xED\x74\xF8\x43\x2A\x5E\x21"
  10720			  "\x88\x13\x87\x6E\xF1\x58\xCC\x57"
  10721			  "\x3E\xA2\x35\x9C\x67\xEB\x72\xC5"
  10722			  "\x49\xD0\xBB\x02\xB6\x19\xE0\x4B"
  10723			  "\xFF\x46\x29\x5D\x24\x8F\x16\x9A"
  10724			  "\x6D\xF4\x5F\xC3\xAA\x3D\xA1\x08"
  10725			  "\x93\x7A\xEE\x71\xD8\x4C\xD7\xBE"
  10726			  "\x01\xB5\x1C\xE7\x4E\xF2\x45\x2C"
  10727			  "\x50\x3B\x82\x15\x99\x60\xCB\x52"
  10728			  "\xC6\xA9\x30\xA4\x0F\x96\x79\xED"
  10729			  "\x74\xDF\x43\x2A\xBD\x04\x88\x13"
  10730			  "\xFA\x4D\xF1\x58\x23\x57\x3E\x81"
  10731			  "\x68\x9C\x67\xCE\x51\xC5\xAC\x37"
  10732			  "\xBB\x02\x95\x7C\xE0\x4B\xD2\x46"
  10733			  "\x29\xB0\x1B\x8F\x16\xF9\x40\xF4"
  10734			  "\x5F\x26\xAA\x3D\x84\x6F\x93\x7A"
  10735			  "\xCD\x54\xD8\xA3\x0A\xBE\x01\xE8"
  10736			  "\x73\xE7\x4E\xD1\x45\x2C\xB7\x1E"
  10737			  "\x82\x15\xFC\x47\xCB\x52\x25\xA9"
  10738			  "\x30\x9B\x62\x96\x79\xC0\x74\xDF"
  10739			  "\xA6\x09\xBD\x04\xEF\x76\xFA\x4D"
  10740			  "\xD4\x58\x23\x8A\x1D\x81\x68\xF3"
  10741			  "\x5A\xCE\x51\x38\xAC\x37\x9E\x61"
  10742			  "\x95\x7C\xC7\x4B\xD2\xA5\x0C\xB0"
  10743			  "\x1B\xE2\x75\xF9\x40\x2B\x5F\x26"
  10744			  "\x89\x10\x84\x6F\xF6\x59\xCD\x54"
  10745			  "\x3F\xA3\x0A\x9D\x64\xE8\x73\xDA"
  10746			  "\x4E\xD1\xB8\x03\xB7\x1E\xE1\x48"
  10747			  "\xFC\x47\x2E\x52\x25\x8C\x17\x9B"
  10748			  "\x62\xF5\x5C\xC0\xAB\x32\xA6\x09"
  10749			  "\x90\x7B\xEF\x76\xD9\x4D\xD4\xBF"
  10750			  "\x06\x8A\x1D\xE4\x4F\xF3\x5A\x2D"
  10751			  "\x51\x38\x83\x6A\x9E\x61\xC8\x53"
  10752			  "\xC7\xAE\x31\xA5\x0C\x97\x7E\xE2"
  10753			  "\x75\xDC\x40\x2B\xB2\x05\x89\x10"
  10754			  "\xFB\x42\xF6\x59\x20\x54\x3F\x86"
  10755			  "\x69\x9D\x64\xCF\x56\xDA\xAD\x34"
  10756			  "\xB8\x03\xEA\x7D\xE1\x48\xD3\x47",
  10757		.ctext	= "\xF8\xF6\xB5\x60\x5C\x5A\x75\x84"
  10758			  "\x87\x81\x53\xBA\xC9\x6F\xEC\xD5"
  10759			  "\x1E\x68\x8E\x85\x12\x86\x1D\x38"
  10760			  "\x1C\x91\x40\xCC\x69\x6A\xD5\x35"
  10761			  "\x0D\x7C\xB5\x07\x7C\x7B\x2A\xAF"
  10762			  "\x32\xBC\xA1\xB3\x84\x31\x1B\x3C"
  10763			  "\x0A\x2B\xFA\xD3\x9F\xB0\x8C\x37"
  10764			  "\x8F\x9D\xA7\x6D\x6C\xFA\xD7\x90"
  10765			  "\xE3\x69\x54\xED\x3A\xC4\xF1\x6B"
  10766			  "\xB1\xCC\xFB\x7D\xD8\x8E\x17\x0B"
  10767			  "\x9C\xF6\x4C\xD6\xFF\x03\x4E\xD9"
  10768			  "\xE6\xA5\xAD\x25\xE6\x17\x69\x63"
  10769			  "\x11\x35\x61\x94\x88\x7B\x1C\x48"
  10770			  "\xF1\x24\x20\x29\x6B\x93\x1A\x8E"
  10771			  "\x43\x03\x89\xD8\xB1\xDA\x47\x7B"
  10772			  "\x79\x3A\x83\x76\xDA\xAE\xC6\xBB"
  10773			  "\x22\xF8\xE8\x3D\x9A\x65\x54\xD8"
  10774			  "\x4C\xE9\xE7\xE4\x63\x2F\x5C\x73"
  10775			  "\x5A\xC3\xAE\x46\xA8\xCD\x57\xE6"
  10776			  "\x67\x88\xA5\x20\x6F\x5F\x97\xC7"
  10777			  "\xCC\x15\xA2\x0A\x93\xEA\x33\xE7"
  10778			  "\x03\x5F\xEC\x64\x30\x6F\xEE\xD7"
  10779			  "\x7E\xDF\xD6\xE9\x6F\x3F\xD6\x1E"
  10780			  "\xBE\x67\x6C\x5B\x97\xA0\x09\xE6"
  10781			  "\xEE\xFE\x55\xA3\x29\x65\xE0\x12"
  10782			  "\xA1\x6A\x8A\x6F\xF2\xE6\xF1\x96"
  10783			  "\x87\xFB\x9C\x05\xDD\x80\xEC\xFF"
  10784			  "\xC5\xED\x50\xFE\xFC\x91\xCD\xCE"
  10785			  "\x25\x2C\x5F\xD9\xAD\x95\x7D\x99"
  10786			  "\xF0\x05\xC4\x71\x46\x5F\xF9\x0D"
  10787			  "\xD2\x63\xDF\x9B\x96\x2E\x2B\xA6"
  10788			  "\x2B\x1C\xD5\xFB\x96\x24\x60\x60"
  10789			  "\x54\x40\xB8\x62\xA4\xF8\x46\x95"
  10790			  "\x73\x28\xA3\xA6\x16\x2B\x17\xE7"
  10791			  "\x7A\xF8\x62\x54\x3B\x64\x69\xE1"
  10792			  "\x71\x34\x29\x5B\x4E\x05\x9B\xFA"
  10793			  "\x5E\xF1\x96\xB7\xCE\x16\x9B\x59"
  10794			  "\xF1\x1A\x4C\x51\x26\xFD\x79\xE2"
  10795			  "\x3B\x8E\x71\x69\x6A\x91\xB6\x65"
  10796			  "\x32\x09\xB8\xE4\x09\x1F\xEA\x39"
  10797			  "\xCE\x20\x65\x9F\xD6\xD1\xC7\xF0"
  10798			  "\x73\x50\x08\x56\x20\x9B\x94\x23"
  10799			  "\x14\x39\xB7\x2B\xB1\x2D\x6D\x6F"
  10800			  "\x41\x5B\xCC\xE2\x18\xAE\x62\x89"
  10801			  "\x78\x8E\x67\x23\xD0\xFB\x2B\xE5"
  10802			  "\x25\xC9\x48\x97\xB5\xD3\x17\xD5"
  10803			  "\x6A\x9F\xA7\x48\x0C\x2B\x73\x3B"
  10804			  "\x57\x08\xAE\x91\xF2\xB7\x57\x89"
  10805			  "\xF4\xD0\xB0\x07\xB0\x42\x6C\xAF"
  10806			  "\x98\x1A\xE7\xD1\xAC\x1E\xB5\x02"
  10807			  "\xD4\x56\x42\x79\x79\x7F\x2A\x77"
  10808			  "\x25\xE9\x7D\xC1\x88\x19\x2B\x49"
  10809			  "\x6F\x46\x59\xAB\x56\x1F\x61\xE0"
  10810			  "\x0C\x24\x9C\xC9\x5B\x63\xA9\x12"
  10811			  "\xCF\x88\x96\xB6\xA8\x24\xC6\xA8"
  10812			  "\x21\x85\x1A\x62\x7E\x34\xBB\xEB"
  10813			  "\xBD\x02\x2A\xC7\xD8\x89\x80\xC5"
  10814			  "\xB1\xBB\x60\xA5\x22\xFC\x6F\x38"
  10815			  "\x02\x80\xA3\x28\x22\x75\xE1\xE9"
  10816			  "\x90\xE9\xFA\x4B\x00\x10\xAC\x58"
  10817			  "\x83\x70\xFF\x86\xE6\xAA\x0F\x1F"
  10818			  "\x95\x63\x73\xA2\x44\xAC\xF8\xA5",
  10819		.len	= 496,
  10820	},
  10821};
  10822
  10823static const struct cipher_testvec des3_ede_ctr_tv_template[] = {
  10824	{ /* Generated with Crypto++ */
  10825		.key	= "\x9C\xD6\xF3\x9C\xB9\x5A\x67\x00"
  10826			  "\x5A\x67\x00\x2D\xCE\xEB\x2D\xCE"
  10827			  "\xEB\xB4\x51\x72\xB4\x51\x72\x1F",
  10828		.klen	= 24,
  10829		.iv	= "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF",
  10830		.iv_out	= "\x00\x00\x00\x00\x00\x00\x00\x3D",
  10831		.ptext	= "\x05\xEC\x77\xFB\x42\xD5\x59\x20"
  10832			  "\x8B\x12\x86\x69\xF0\x5B\xCF\x56"
  10833			  "\x39\xAD\x34\x9F\x66\xEA\x7D\xC4"
  10834			  "\x48\xD3\xBA\x0D\xB1\x18\xE3\x4A"
  10835			  "\xFE\x41\x28\x5C\x27\x8E\x11\x85"
  10836			  "\x6C\xF7\x5E\xC2\x55\x3C\xA0\x0B"
  10837			  "\x92\x65\xE9\x70\xDB\x4F\xD6\xB9"
  10838			  "\x00\xB4\x1F\xE6\x49\xFD\x44\x2F"
  10839			  "\x53\x3A\x8D\x14\x98\x63\xCA\x5D"
  10840			  "\xC1\xA8\x33\xA7\x0E\x91\x78\xEC"
  10841			  "\x77\xDE\x42\xD5\xBC\x07\x8B\x12"
  10842			  "\xE5\x4C\xF0\x5B\x22\x56\x39\x80"
  10843			  "\x6B\x9F\x66\xC9\x50\xC4\xAF\x36"
  10844			  "\xBA\x0D\x94\x7F\xE3\x4A\xDD\x41"
  10845			  "\x28\xB3\x1A\x8E\x11\xF8\x43\xF7"
  10846			  "\x5E\x21\x55\x3C\x87\x6E\x92\x65"
  10847			  "\xCC\x57\xDB\xA2\x35\xB9\x00\xEB"
  10848			  "\x72\xE6\x49\xD0\x44\x2F\xB6\x19"
  10849			  "\x8D\x14\xFF\x46\xCA\x5D\x24\xA8"
  10850			  "\x33\x9A\x6D\x91\x78\xC3\x77\xDE"
  10851			  "\xA1\x08\xBC\x07\xEE\x71\xE5\x4C"
  10852			  "\xD7\x5B\x22\xB5\x1C\x80\x6B\xF2"
  10853			  "\x45\xC9\x50\x3B\xAF\x36\x99\x60"
  10854			  "\x94\x7F\xC6\x4A\xDD\xA4\x0F\xB3"
  10855			  "\x1A\xED\x74\xF8\x43\x2A\x5E\x21"
  10856			  "\x88\x13\x87\x6E\xF1\x58\xCC\x57"
  10857			  "\x3E\xA2\x35\x9C\x67\xEB\x72\xC5"
  10858			  "\x49\xD0\xBB\x02\xB6\x19\xE0\x4B"
  10859			  "\xFF\x46\x29\x5D\x24\x8F\x16\x9A"
  10860			  "\x6D\xF4\x5F\xC3\xAA\x3D\xA1\x08"
  10861			  "\x93\x7A\xEE\x71\xD8\x4C\xD7\xBE"
  10862			  "\x01\xB5\x1C\xE7\x4E\xF2\x45\x2C"
  10863			  "\x50\x3B\x82\x15\x99\x60\xCB\x52"
  10864			  "\xC6\xA9\x30\xA4\x0F\x96\x79\xED"
  10865			  "\x74\xDF\x43\x2A\xBD\x04\x88\x13"
  10866			  "\xFA\x4D\xF1\x58\x23\x57\x3E\x81"
  10867			  "\x68\x9C\x67\xCE\x51\xC5\xAC\x37"
  10868			  "\xBB\x02\x95\x7C\xE0\x4B\xD2\x46"
  10869			  "\x29\xB0\x1B\x8F\x16\xF9\x40\xF4"
  10870			  "\x5F\x26\xAA\x3D\x84\x6F\x93\x7A"
  10871			  "\xCD\x54\xD8\xA3\x0A\xBE\x01\xE8"
  10872			  "\x73\xE7\x4E\xD1\x45\x2C\xB7\x1E"
  10873			  "\x82\x15\xFC\x47\xCB\x52\x25\xA9"
  10874			  "\x30\x9B\x62\x96\x79\xC0\x74\xDF"
  10875			  "\xA6\x09\xBD\x04\xEF\x76\xFA\x4D"
  10876			  "\xD4\x58\x23\x8A\x1D\x81\x68\xF3"
  10877			  "\x5A\xCE\x51\x38\xAC\x37\x9E\x61"
  10878			  "\x95\x7C\xC7\x4B\xD2\xA5\x0C\xB0"
  10879			  "\x1B\xE2\x75\xF9\x40\x2B\x5F\x26"
  10880			  "\x89\x10\x84\x6F\xF6\x59\xCD\x54"
  10881			  "\x3F\xA3\x0A\x9D\x64\xE8\x73\xDA"
  10882			  "\x4E\xD1\xB8\x03\xB7\x1E\xE1\x48"
  10883			  "\xFC\x47\x2E\x52\x25\x8C\x17\x9B"
  10884			  "\x62\xF5\x5C\xC0\xAB\x32\xA6\x09"
  10885			  "\x90\x7B\xEF\x76\xD9\x4D\xD4\xBF"
  10886			  "\x06\x8A\x1D\xE4\x4F\xF3\x5A\x2D"
  10887			  "\x51\x38\x83\x6A\x9E\x61\xC8\x53"
  10888			  "\xC7\xAE\x31\xA5\x0C\x97\x7E\xE2"
  10889			  "\x75\xDC\x40\x2B\xB2\x05\x89\x10"
  10890			  "\xFB\x42\xF6\x59\x20\x54\x3F\x86"
  10891			  "\x69\x9D\x64\xCF\x56\xDA\xAD\x34"
  10892			  "\xB8\x03\xEA\x7D\xE1\x48\xD3\x47",
  10893		.ctext	= "\x07\xC2\x08\x20\x72\x1F\x49\xEF"
  10894			  "\x19\xCD\x6F\x32\x53\x05\x22\x15"
  10895			  "\xA2\x85\x2B\xDB\x85\xD2\xD8\xB9"
  10896			  "\xDD\x0D\x1B\x45\xCB\x69\x11\xD4"
  10897			  "\xEA\xBE\xB2\x45\x5D\x0C\xAE\xBE"
  10898			  "\xA0\xC1\x27\xAC\x65\x9F\x53\x7E"
  10899			  "\xAF\xC2\x1B\xB5\xB8\x6D\x36\x0C"
  10900			  "\x25\xC0\xF8\x6D\x0B\x29\x01\xDA"
  10901			  "\x13\x78\xDC\x89\x12\x12\x43\xFA"
  10902			  "\xF6\x12\xEF\x8D\x87\x62\x78\x83"
  10903			  "\xE2\xBE\x41\x20\x4C\x6D\x35\x1B"
  10904			  "\xD1\x0C\x30\xCF\xE2\xDE\x2B\x03"
  10905			  "\xBF\x45\x73\xD4\xE5\x59\x95\xD1"
  10906			  "\xB3\x9B\x27\x62\x97\xBD\xDE\x7F"
  10907			  "\xA4\xD2\x39\x80\xAA\x50\x23\xF0"
  10908			  "\x74\x88\x3D\xA8\x6A\x18\x79\x3B"
  10909			  "\xC4\x96\x6C\x8D\x22\x40\x92\x6E"
  10910			  "\xD6\xAD\x2A\x1F\xDE\x63\xC0\xE7"
  10911			  "\x07\xF7\x2D\xF7\xB5\xF3\xF0\xCC"
  10912			  "\x01\x7C\x2A\x9B\xC2\x10\xCA\xAA"
  10913			  "\xFD\x2B\x3F\xC5\xF3\xF6\xFC\x9B"
  10914			  "\x45\xDB\x53\xE4\x5B\xF3\xC9\x7B"
  10915			  "\x8E\x52\xFF\xC8\x02\xB8\xAC\x9D"
  10916			  "\xA1\x00\x39\xDA\x3D\x2D\x0E\x01"
  10917			  "\x09\x7D\x8D\x5E\xBE\x53\xB9\xB0"
  10918			  "\x8E\xE7\xE2\x96\x6A\xB2\x78\xEA"
  10919			  "\xDE\x23\x8B\xA5\xFA\x5C\xE3\xDA"
  10920			  "\xBF\x8E\x31\x6A\x55\xD1\x6A\xB2"
  10921			  "\xB5\x46\x6F\xA5\xF0\xEE\xBA\x1F"
  10922			  "\x9F\x98\xB0\x66\x4F\xD0\x3F\xA9"
  10923			  "\xDF\x5F\x58\xC4\xF4\xFF\x75\x5C"
  10924			  "\x40\x3A\x09\x7E\x6E\x1C\x97\xD4"
  10925			  "\xCC\xE7\xE7\x71\xCF\x0B\x15\x08"
  10926			  "\x71\xFA\x07\x97\xCD\xE6\xCA\x1D"
  10927			  "\x14\x28\x0C\xCF\x99\x13\x7A\xF1"
  10928			  "\xEB\xFA\xFA\x92\x07\xDE\x1D\xA1"
  10929			  "\xD3\x36\x69\xFE\x51\x4D\x9F\x2E"
  10930			  "\x83\x37\x4F\x1F\x48\x30\xED\x04"
  10931			  "\x4D\xA4\xEF\x3A\xCA\x76\xF4\x1C"
  10932			  "\x41\x8F\x63\x37\x78\x2F\x86\xA6"
  10933			  "\xEF\x41\x7E\xD2\xAF\x88\xAB\x67"
  10934			  "\x52\x71\xC3\x8E\xF8\x26\x93\x72"
  10935			  "\xAA\xD6\x0E\xE7\x0B\x46\xB1\x3A"
  10936			  "\xB4\x08\xA9\xA8\xA0\xCF\x20\x0C"
  10937			  "\x52\xBC\x8B\x05\x56\xB2\xBC\x31"
  10938			  "\x9B\x74\xB9\x29\x29\x96\x9A\x50"
  10939			  "\xDC\x45\xDC\x1A\xEB\x0C\x64\xD4"
  10940			  "\xD3\x05\x7E\x59\x55\xC3\xF4\x90"
  10941			  "\xC2\xAB\xF8\x9B\x8A\xDA\xCE\xA1"
  10942			  "\xC3\xF4\xAD\x77\xDD\x44\xC8\xAC"
  10943			  "\xA3\xF1\xC9\xD2\x19\x5C\xB0\xCA"
  10944			  "\xA2\x34\xC1\xF7\x6C\xFD\xAC\x65"
  10945			  "\x32\xDC\x48\xC4\xF2\x00\x6B\x77"
  10946			  "\xF1\x7D\x76\xAC\xC0\x31\x63\x2A"
  10947			  "\xA5\x3A\x62\xC8\x91\xB1\x03\x65"
  10948			  "\xCB\x43\xD1\x06\xDF\xC3\x67\xBC"
  10949			  "\xDC\xE0\xCD\x35\xCE\x49\x65\xA0"
  10950			  "\x52\x7B\xA7\x0D\x07\xA9\x1B\xB0"
  10951			  "\x40\x77\x72\xC2\xEA\x0E\x3A\x78"
  10952			  "\x46\xB9\x91\xB6\xE7\x3D\x51\x42"
  10953			  "\xFD\x51\xB0\xC6\x2C\x63\x13\x78"
  10954			  "\x5C\xEE\xFC\xCF\xC4\x70\x00\x34",
  10955		.len	= 496,
  10956	}, { /* Generated with Crypto++ */
  10957		.key	= "\x9C\xD6\xF3\x9C\xB9\x5A\x67\x00"
  10958			  "\x5A\x67\x00\x2D\xCE\xEB\x2D\xCE"
  10959			  "\xEB\xB4\x51\x72\xB4\x51\x72\x1F",
  10960		.klen	= 24,
  10961		.iv	= "\xB2\xD7\x48\xED\x06\x44\xF9\x12",
  10962		.iv_out	= "\xB2\xD7\x48\xED\x06\x44\xF9\x51",
  10963		.ptext	= "\x05\xEC\x77\xFB\x42\xD5\x59\x20"
  10964			  "\x8B\x12\x86\x69\xF0\x5B\xCF\x56"
  10965			  "\x39\xAD\x34\x9F\x66\xEA\x7D\xC4"
  10966			  "\x48\xD3\xBA\x0D\xB1\x18\xE3\x4A"
  10967			  "\xFE\x41\x28\x5C\x27\x8E\x11\x85"
  10968			  "\x6C\xF7\x5E\xC2\x55\x3C\xA0\x0B"
  10969			  "\x92\x65\xE9\x70\xDB\x4F\xD6\xB9"
  10970			  "\x00\xB4\x1F\xE6\x49\xFD\x44\x2F"
  10971			  "\x53\x3A\x8D\x14\x98\x63\xCA\x5D"
  10972			  "\xC1\xA8\x33\xA7\x0E\x91\x78\xEC"
  10973			  "\x77\xDE\x42\xD5\xBC\x07\x8B\x12"
  10974			  "\xE5\x4C\xF0\x5B\x22\x56\x39\x80"
  10975			  "\x6B\x9F\x66\xC9\x50\xC4\xAF\x36"
  10976			  "\xBA\x0D\x94\x7F\xE3\x4A\xDD\x41"
  10977			  "\x28\xB3\x1A\x8E\x11\xF8\x43\xF7"
  10978			  "\x5E\x21\x55\x3C\x87\x6E\x92\x65"
  10979			  "\xCC\x57\xDB\xA2\x35\xB9\x00\xEB"
  10980			  "\x72\xE6\x49\xD0\x44\x2F\xB6\x19"
  10981			  "\x8D\x14\xFF\x46\xCA\x5D\x24\xA8"
  10982			  "\x33\x9A\x6D\x91\x78\xC3\x77\xDE"
  10983			  "\xA1\x08\xBC\x07\xEE\x71\xE5\x4C"
  10984			  "\xD7\x5B\x22\xB5\x1C\x80\x6B\xF2"
  10985			  "\x45\xC9\x50\x3B\xAF\x36\x99\x60"
  10986			  "\x94\x7F\xC6\x4A\xDD\xA4\x0F\xB3"
  10987			  "\x1A\xED\x74\xF8\x43\x2A\x5E\x21"
  10988			  "\x88\x13\x87\x6E\xF1\x58\xCC\x57"
  10989			  "\x3E\xA2\x35\x9C\x67\xEB\x72\xC5"
  10990			  "\x49\xD0\xBB\x02\xB6\x19\xE0\x4B"
  10991			  "\xFF\x46\x29\x5D\x24\x8F\x16\x9A"
  10992			  "\x6D\xF4\x5F\xC3\xAA\x3D\xA1\x08"
  10993			  "\x93\x7A\xEE\x71\xD8\x4C\xD7\xBE"
  10994			  "\x01\xB5\x1C\xE7\x4E\xF2\x45\x2C"
  10995			  "\x50\x3B\x82\x15\x99\x60\xCB\x52"
  10996			  "\xC6\xA9\x30\xA4\x0F\x96\x79\xED"
  10997			  "\x74\xDF\x43\x2A\xBD\x04\x88\x13"
  10998			  "\xFA\x4D\xF1\x58\x23\x57\x3E\x81"
  10999			  "\x68\x9C\x67\xCE\x51\xC5\xAC\x37"
  11000			  "\xBB\x02\x95\x7C\xE0\x4B\xD2\x46"
  11001			  "\x29\xB0\x1B\x8F\x16\xF9\x40\xF4"
  11002			  "\x5F\x26\xAA\x3D\x84\x6F\x93\x7A"
  11003			  "\xCD\x54\xD8\xA3\x0A\xBE\x01\xE8"
  11004			  "\x73\xE7\x4E\xD1\x45\x2C\xB7\x1E"
  11005			  "\x82\x15\xFC\x47\xCB\x52\x25\xA9"
  11006			  "\x30\x9B\x62\x96\x79\xC0\x74\xDF"
  11007			  "\xA6\x09\xBD\x04\xEF\x76\xFA\x4D"
  11008			  "\xD4\x58\x23\x8A\x1D\x81\x68\xF3"
  11009			  "\x5A\xCE\x51\x38\xAC\x37\x9E\x61"
  11010			  "\x95\x7C\xC7\x4B\xD2\xA5\x0C\xB0"
  11011			  "\x1B\xE2\x75\xF9\x40\x2B\x5F\x26"
  11012			  "\x89\x10\x84\x6F\xF6\x59\xCD\x54"
  11013			  "\x3F\xA3\x0A\x9D\x64\xE8\x73\xDA"
  11014			  "\x4E\xD1\xB8\x03\xB7\x1E\xE1\x48"
  11015			  "\xFC\x47\x2E\x52\x25\x8C\x17\x9B"
  11016			  "\x62\xF5\x5C\xC0\xAB\x32\xA6\x09"
  11017			  "\x90\x7B\xEF\x76\xD9\x4D\xD4\xBF"
  11018			  "\x06\x8A\x1D\xE4\x4F\xF3\x5A\x2D"
  11019			  "\x51\x38\x83\x6A\x9E\x61\xC8\x53"
  11020			  "\xC7\xAE\x31\xA5\x0C\x97\x7E\xE2"
  11021			  "\x75\xDC\x40\x2B\xB2\x05\x89\x10"
  11022			  "\xFB\x42\xF6\x59\x20\x54\x3F\x86"
  11023			  "\x69\x9D\x64\xCF\x56\xDA\xAD\x34"
  11024			  "\xB8\x03\xEA\x7D\xE1\x48\xD3\x47"
  11025			  "\x2E\xB1\x18",
  11026		.ctext	= "\x23\xFF\x5C\x99\x75\xBB\x1F\xD4"
  11027			  "\xBC\x27\x9D\x36\x60\xA9\xC9\xF7"
  11028			  "\x94\x9D\x1B\xFF\x8E\x95\x57\x89"
  11029			  "\x8C\x2E\x33\x70\x43\x61\xE6\xD2"
  11030			  "\x82\x33\x63\xB6\xC4\x34\x5E\xF8"
  11031			  "\x96\x07\xA7\xD2\x3B\x8E\xC9\xAA"
  11032			  "\x7C\xA0\x55\x89\x2E\xE1\x85\x25"
  11033			  "\x14\x04\xDA\x6B\xE0\xEE\x56\xCF"
  11034			  "\x08\x2E\x69\xD4\x54\xDE\x22\x84"
  11035			  "\x69\xA6\xA7\xD3\x3A\x9A\xE8\x05"
  11036			  "\x63\xDB\xBF\x46\x3A\x26\x2E\x0F"
  11037			  "\x58\x5C\x46\xEA\x07\x40\xDA\xE1"
  11038			  "\x14\x1D\xCD\x4F\x06\xC0\xCA\x54"
  11039			  "\x1E\xC9\x45\x85\x67\x7C\xC2\xB5"
  11040			  "\x97\x5D\x61\x78\x2E\x46\xEC\x6A"
  11041			  "\x53\xF4\xD0\xAE\xFA\xB4\x86\x29"
  11042			  "\x9F\x17\x33\x24\xD8\xB9\xB2\x05"
  11043			  "\x93\x88\xEA\xF7\xA0\x70\x69\x49"
  11044			  "\x88\x6B\x73\x40\x41\x8D\xD9\xD9"
  11045			  "\x7E\x78\xE9\xBE\x6C\x14\x22\x7A"
  11046			  "\x66\xE1\xDA\xED\x10\xFF\x69\x1D"
  11047			  "\xB9\xAA\xF2\x56\x72\x1B\x23\xE2"
  11048			  "\x45\x54\x8B\xA3\x70\x23\xB4\x5E"
  11049			  "\x8E\x96\xC9\x05\x00\xB3\xB6\xC2"
  11050			  "\x2A\x02\x43\x7A\x62\xD5\xC8\xD2"
  11051			  "\xC2\xD0\xE4\x78\xA1\x7B\x3E\xE8"
  11052			  "\x9F\x7F\x7D\x40\x54\x30\x3B\xC0"
  11053			  "\xA5\x54\xFD\xCA\x25\xEC\x44\x3E"
  11054			  "\x1A\x54\x7F\x88\xD0\xE1\xFE\x71"
  11055			  "\xCE\x05\x49\x89\xBA\xD6\x72\xE7"
  11056			  "\xD6\x5D\x3F\xA2\xD9\xAB\xC5\x02"
  11057			  "\xD6\x43\x22\xAF\xA2\xE4\x80\x85"
  11058			  "\xD7\x87\xB9\xEA\x43\xDB\xC8\xEF"
  11059			  "\x5C\x82\x2E\x98\x0D\x30\x41\x6B"
  11060			  "\x08\x48\x8D\xF0\xF8\x60\xD7\x9D"
  11061			  "\xE9\xDE\x40\xAD\x0D\xAD\x0D\x58"
  11062			  "\x2A\x98\x35\xFE\xF7\xDD\x4B\x40"
  11063			  "\xDE\xB0\x05\xD9\x7B\x09\x4D\xBC"
  11064			  "\x42\xC0\xF1\x15\x0B\xFA\x26\x6B"
  11065			  "\xC6\x12\x13\x4F\xCB\x35\xBA\x35"
  11066			  "\xDD\x7A\x36\x9C\x12\x57\x55\x83"
  11067			  "\x78\x58\x09\xD0\xB0\xCF\x7C\x5C"
  11068			  "\x38\xCF\xBD\x79\x5B\x13\x4D\x97"
  11069			  "\xC1\x85\x6F\x97\xC9\xE8\xC2\xA4"
  11070			  "\x98\xE2\xBD\x77\x6B\x53\x39\x1A"
  11071			  "\x28\x10\xE7\xE0\xE7\xDE\x9D\x69"
  11072			  "\x78\x6F\x8E\xD2\xD9\x5D\xD2\x15"
  11073			  "\x9E\xB5\x4D\x8C\xC0\x78\x22\x2F"
  11074			  "\x17\x11\x2E\x99\xD7\xE3\xA4\x4F"
  11075			  "\x65\xA5\x6B\x03\x2C\x35\x6F\xDA"
  11076			  "\x8A\x19\x08\xE1\x08\x48\x59\x51"
  11077			  "\x53\x4B\xD1\xDF\xDA\x14\x50\x5F"
  11078			  "\xDF\xB5\x8C\xDF\xC6\xFD\x85\xFA"
  11079			  "\xD4\xF9\x64\x45\x65\x0D\x7D\xF4"
  11080			  "\xC8\xCD\x3F\x32\xAF\xDD\x30\xED"
  11081			  "\x7B\xAA\xAC\xF0\xDA\x7F\xDF\x75"
  11082			  "\x1C\xA4\xF1\xCB\x5E\x4F\x0B\xB4"
  11083			  "\x97\x73\x28\xDE\xCF\xAF\x82\xBD"
  11084			  "\xC4\xBA\xB4\x9C\x0D\x16\x77\x42"
  11085			  "\x42\x39\x7C\x53\xA4\xD4\xDD\x40"
  11086			  "\x5C\x60\x1F\x6E\xA7\xE2\xDC\xE7"
  11087			  "\x32\x0F\x05\x2F\xF2\x4C\x95\x3B"
  11088			  "\xF2\x79\xD9",
  11089		.len	= 499,
  11090	},
  11091};
  11092
  11093/*
  11094 * Blowfish test vectors.
  11095 */
  11096static const struct cipher_testvec bf_tv_template[] = {
  11097	{ /* DES test vectors from OpenSSL */
  11098		.key	= "\x00\x00\x00\x00\x00\x00\x00\x00",
  11099		.klen	= 8,
  11100		.ptext	= "\x00\x00\x00\x00\x00\x00\x00\x00",
  11101		.ctext	= "\x4e\xf9\x97\x45\x61\x98\xdd\x78",
  11102		.len	= 8,
  11103	}, {
  11104		.key	= "\x1f\x1f\x1f\x1f\x0e\x0e\x0e\x0e",
  11105		.klen	= 8,
  11106		.ptext	= "\x01\x23\x45\x67\x89\xab\xcd\xef",
  11107		.ctext	= "\xa7\x90\x79\x51\x08\xea\x3c\xae",
  11108		.len	= 8,
  11109	}, {
  11110		.key	= "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87",
  11111		.klen	= 8,
  11112		.ptext	= "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  11113		.ctext	= "\xe8\x7a\x24\x4e\x2c\xc8\x5e\x82",
  11114		.len	= 8,
  11115	}, { /* Vary the keylength... */
  11116		.key	= "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87"
  11117			  "\x78\x69\x5a\x4b\x3c\x2d\x1e\x0f",
  11118		.klen	= 16,
  11119		.ptext	= "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  11120		.ctext	= "\x93\x14\x28\x87\xee\x3b\xe1\x5c",
  11121		.len	= 8,
  11122	}, {
  11123		.key	= "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87"
  11124			  "\x78\x69\x5a\x4b\x3c\x2d\x1e\x0f"
  11125			  "\x00\x11\x22\x33\x44",
  11126		.klen	= 21,
  11127		.ptext	= "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  11128		.ctext	= "\xe6\xf5\x1e\xd7\x9b\x9d\xb2\x1f",
  11129		.len	= 8,
  11130	}, { /* Generated with bf488 */
  11131		.key	= "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87"
  11132			  "\x78\x69\x5a\x4b\x3c\x2d\x1e\x0f"
  11133			  "\x00\x11\x22\x33\x44\x55\x66\x77"
  11134			  "\x04\x68\x91\x04\xc2\xfd\x3b\x2f"
  11135			  "\x58\x40\x23\x64\x1a\xba\x61\x76"
  11136			  "\x1f\x1f\x1f\x1f\x0e\x0e\x0e\x0e"
  11137			  "\xff\xff\xff\xff\xff\xff\xff\xff",
  11138		.klen	= 56,
  11139		.ptext	= "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  11140		.ctext	= "\xc0\x45\x04\x01\x2e\x4e\x1f\x53",
  11141		.len	= 8,
  11142	}, { /* Generated with Crypto++ */
  11143		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  11144			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
  11145			  "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
  11146			  "\x78\xBE\x9B\x78\x55\x32\x0F\x55",
  11147		.klen	= 32,
  11148		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  11149			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  11150			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  11151			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  11152			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  11153			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  11154			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  11155			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  11156			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  11157			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  11158			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  11159			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  11160			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  11161			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  11162			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  11163			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  11164			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  11165			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  11166			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  11167			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  11168			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  11169			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  11170			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  11171			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  11172			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  11173			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  11174			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  11175			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  11176			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  11177			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  11178			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  11179			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  11180			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  11181			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  11182			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  11183			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  11184			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  11185			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  11186			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  11187			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  11188			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  11189			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  11190			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  11191			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  11192			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  11193			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  11194			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  11195			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  11196			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  11197			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  11198			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  11199			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  11200			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  11201			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  11202			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  11203			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  11204			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  11205			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  11206			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  11207			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  11208			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  11209			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
  11210			  "\x2B\xC2\x59\xF0\x64\xFB\x92\x06",
  11211		.ctext	= "\x96\x87\x3D\x0C\x7B\xFB\xBD\x1F"
  11212			  "\xE3\xC1\x99\x6D\x39\xD4\xC2\x7D"
  11213			  "\xD7\x87\xA1\xF2\xDF\x51\x71\x26"
  11214			  "\xC2\xF4\x6D\xFF\xF6\xCD\x6B\x40"
  11215			  "\xE1\xB3\xBF\xD4\x38\x2B\xC8\x3B"
  11216			  "\xD3\xB2\xD4\x61\xC7\x9F\x06\xE9"
  11217			  "\xCD\xF3\x88\x39\x39\x7A\xDF\x19"
  11218			  "\xE8\x03\x2A\x0B\x9E\xA0\x2B\x86"
  11219			  "\x31\xF8\x9D\xB1\xEE\x78\x9D\xB5"
  11220			  "\xCD\x8B\x7C\x2E\xF5\xA2\x2D\x5D"
  11221			  "\x6E\x66\xAF\x38\x6C\xD3\x13\xED"
  11222			  "\x14\xEA\x5D\xD0\x17\x77\x0F\x4A"
  11223			  "\x50\xF2\xD0\x0F\xC8\xF7\x1E\x7B"
  11224			  "\x9D\x5B\x54\x65\x4F\x16\x8A\x97"
  11225			  "\xF3\xF6\xD4\xAA\x87\x36\x77\x72"
  11226			  "\x99\x4A\xB5\x5E\x88\xC3\xCD\x7D"
  11227			  "\x1D\x97\xF9\x11\xBD\xE0\x1F\x1F"
  11228			  "\x96\x3E\x4B\x22\xF4\xC0\xE6\xB8"
  11229			  "\x47\x82\x98\x23\x33\x36\xBC\x1B"
  11230			  "\x36\xE7\xF6\xCF\x97\x37\x16\xC0"
  11231			  "\x87\x31\x8B\xB0\xDB\x19\x42\xA5"
  11232			  "\x1F\x90\x7E\x66\x34\xDD\x5E\xE9"
  11233			  "\x4F\xB2\x2B\x9A\xDE\xB3\x5D\x71"
  11234			  "\x4D\x68\xF0\xDC\xA6\xEA\xE3\x9B"
  11235			  "\x60\x00\x55\x57\x06\x8B\xD5\xB3"
  11236			  "\x86\x30\x78\xDA\x33\x9A\x9D\xCC"
  11237			  "\xBA\x0B\x81\x06\x77\x43\xC7\xC9"
  11238			  "\xDB\x37\x60\x11\x45\x59\x6D\x2D"
  11239			  "\x90\x3D\x65\x3E\xD0\x13\xC6\x3C"
  11240			  "\x0E\x78\x7D\x9A\x00\xD6\x2F\x0B"
  11241			  "\x3B\x53\x19\x1E\xA8\x9B\x11\xD9"
  11242			  "\x98\xE4\x7F\xC3\x6E\x51\x24\x70"
  11243			  "\x9F\x04\x9C\xC2\x9E\x44\x84\xE3"
  11244			  "\xE0\x8A\x44\xA2\x5C\x94\x74\x34"
  11245			  "\x37\x52\x7C\x03\xE8\x8E\x97\xE1"
  11246			  "\x5B\x5C\x0E\xB0\x70\xFE\x54\x3F"
  11247			  "\xD8\x65\xA9\xC5\xCD\xEC\xF4\x45"
  11248			  "\x55\xC5\xA7\xA3\x19\x80\x28\x51"
  11249			  "\xBE\x64\x4A\xC1\xD4\xE1\xBE\xEB"
  11250			  "\x73\x4C\xB6\xF9\x5F\x6D\x82\xBC"
  11251			  "\x3E\x42\x14\x49\x88\x51\xBF\x68"
  11252			  "\x45\x75\x27\x1B\x0A\x72\xED\xAF"
  11253			  "\xDA\xC4\x4D\x67\x0D\xEE\x75\xE3"
  11254			  "\x34\xDD\x91\x19\x42\x3A\xCB\xDA"
  11255			  "\x38\xFA\x3C\x93\x62\xF2\xE3\x81"
  11256			  "\xB3\xE4\xBB\xF6\x0D\x0B\x1D\x09"
  11257			  "\x9C\x52\x0D\x50\x63\xA4\xB2\xD2"
  11258			  "\x82\xA0\x23\x3F\x1F\xB6\xED\x6E"
  11259			  "\xC2\x9C\x1C\xD0\x9A\x40\xB6\xFC"
  11260			  "\x36\x56\x6E\x85\x73\xD7\x52\xBA"
  11261			  "\x35\x5E\x32\x89\x5D\x42\xF5\x36"
  11262			  "\x52\x8D\x46\x7D\xC8\x71\xAD\x33"
  11263			  "\xE1\xAF\x6A\xA8\xEC\xBA\x1C\xDC"
  11264			  "\xFE\x88\xE6\x16\xE4\xC8\x13\x00"
  11265			  "\x3C\xDA\x59\x32\x38\x19\xD5\xEB"
  11266			  "\xB6\x7F\x78\x45\x1B\x8E\x07\x8C"
  11267			  "\x66\x52\x75\xFF\xAF\xCE\x2D\x2B"
  11268			  "\x22\x29\xCA\xB3\x5F\x7F\xE3\x29"
  11269			  "\xB2\xB8\x9D\xEB\x16\xC8\xC5\x1D"
  11270			  "\xC9\x0D\x59\x82\x27\x57\x9D\x42"
  11271			  "\x54\x59\x09\xA5\x3D\xC5\x84\x68"
  11272			  "\x56\xEB\x36\x77\x3D\xAA\xB8\xF5"
  11273			  "\xC9\x1A\xFB\x5D\xDE\xBB\x43\xF4",
  11274		.len	= 504,
  11275	},
  11276};
  11277
  11278static const struct cipher_testvec bf_cbc_tv_template[] = {
  11279	{ /* From OpenSSL */
  11280		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  11281			  "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87",
  11282		.klen	= 16,
  11283		.iv	= "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  11284		.iv_out	= "\x59\xf1\x65\x2b\xd5\xff\x92\xcc",
  11285		.ptext	= "\x37\x36\x35\x34\x33\x32\x31\x20"
  11286			  "\x4e\x6f\x77\x20\x69\x73\x20\x74"
  11287			  "\x68\x65\x20\x74\x69\x6d\x65\x20"
  11288			  "\x66\x6f\x72\x20\x00\x00\x00\x00",
  11289		.ctext	= "\x6b\x77\xb4\xd6\x30\x06\xde\xe6"
  11290			  "\x05\xb1\x56\xe2\x74\x03\x97\x93"
  11291			  "\x58\xde\xb9\xe7\x15\x46\x16\xd9"
  11292			  "\x59\xf1\x65\x2b\xd5\xff\x92\xcc",
  11293		.len	= 32,
  11294	}, { /* Generated with Crypto++ */
  11295		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  11296			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
  11297			  "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
  11298			  "\x78\xBE\x9B\x78\x55\x32\x0F\x55",
  11299		.klen	= 32,
  11300		.iv	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F",
  11301		.iv_out	= "\xB4\x98\xD8\x6B\x74\xE7\x65\xF4",
  11302		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  11303			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  11304			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  11305			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  11306			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  11307			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  11308			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  11309			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  11310			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  11311			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  11312			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  11313			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  11314			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  11315			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  11316			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  11317			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  11318			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  11319			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  11320			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  11321			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  11322			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  11323			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  11324			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  11325			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  11326			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  11327			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  11328			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  11329			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  11330			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  11331			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  11332			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  11333			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  11334			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  11335			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  11336			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  11337			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  11338			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  11339			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  11340			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  11341			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  11342			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  11343			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  11344			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  11345			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  11346			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  11347			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  11348			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  11349			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  11350			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  11351			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  11352			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  11353			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  11354			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  11355			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  11356			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  11357			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  11358			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  11359			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  11360			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  11361			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  11362			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  11363			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
  11364			  "\x2B\xC2\x59\xF0\x64\xFB\x92\x06",
  11365		.ctext	= "\xB4\xFE\xA5\xBB\x3D\x2C\x27\x06"
  11366			  "\x06\x2B\x3A\x92\xB2\xF5\x5E\x62"
  11367			  "\x84\xCD\xF7\x66\x7E\x41\x6C\x8E"
  11368			  "\x1B\xD9\x02\xB6\x48\xB0\x87\x25"
  11369			  "\x01\x9C\x93\x63\x51\x60\x82\xD2"
  11370			  "\x4D\xE5\xC2\xB7\xAE\x60\xD8\xAD"
  11371			  "\x9F\xAB\x6C\xFA\x20\x05\xDA\x6F"
  11372			  "\x1F\xD1\xD8\x36\x0F\xB5\x16\x69"
  11373			  "\x3C\xAF\xB3\x30\x18\x33\xE6\xB5"
  11374			  "\x43\x29\x9D\x94\xF4\x2F\x0A\x65"
  11375			  "\x40\xB2\xB2\xB2\x42\x89\xEE\x8A"
  11376			  "\x60\xD3\x52\xA8\xED\x91\xDF\xE1"
  11377			  "\x91\x73\x7C\x28\xA1\x14\xC3\x4C"
  11378			  "\x82\x72\x4B\x7D\x7D\x32\xD5\x19"
  11379			  "\xE8\xB8\x6B\x30\x21\x09\x0E\x27"
  11380			  "\x10\x9D\x2D\x3A\x6A\x4B\x7B\xE6"
  11381			  "\x8D\x4E\x02\x32\xFF\x7F\x8E\x13"
  11382			  "\xB0\x96\xF4\xC2\xA1\x60\x8A\x69"
  11383			  "\xEF\x0F\x86\xD0\x25\x13\x1A\x7C"
  11384			  "\x6E\xF0\x41\xA3\xFB\xB3\xAB\x40"
  11385			  "\x7D\x19\xA0\x11\x4F\x3E\x1D\x43"
  11386			  "\x65\xFE\x15\x40\xD0\x62\x41\x02"
  11387			  "\xEA\x0C\x7A\xC3\x84\xEE\xB0\xBE"
  11388			  "\xBE\xC8\x57\x51\xCD\x4F\xAD\x5C"
  11389			  "\xCC\x79\xBA\x0D\x85\x3A\xED\x6B"
  11390			  "\xAC\x6B\xA3\x4D\xBC\xE8\x02\x6A"
  11391			  "\xC2\x6D\xBD\x5E\x89\x95\x86\x43"
  11392			  "\x2C\x17\x4B\xC6\x40\xA2\xBD\x24"
  11393			  "\x04\xF0\x86\x08\x78\x18\x42\xE0"
  11394			  "\x39\x1B\x22\x9E\x89\x4C\x04\x6B"
  11395			  "\x65\xC5\xB6\x0E\xF6\x63\xFC\xD7"
  11396			  "\xAE\x9E\x87\x13\xCC\xD3\x1A\xEC"
  11397			  "\xF0\x51\xCC\x93\x68\xFC\xE9\x19"
  11398			  "\x7C\x4E\x9B\xCC\x17\xAD\xD2\xFC"
  11399			  "\x97\x18\x92\xFF\x15\x11\xCE\xED"
  11400			  "\x04\x41\x05\xA3\x92\xFF\x3B\xE6"
  11401			  "\xB6\x8C\x90\xC6\xCD\x15\xA0\x04"
  11402			  "\x25\x8B\x5D\x5B\x5F\xDB\xAE\x68"
  11403			  "\xEF\xB3\x61\x18\xDB\x83\x9B\x39"
  11404			  "\xCA\x82\xD1\x88\xF0\xA2\x5C\x02"
  11405			  "\x87\xBD\x8D\x8F\xBB\x62\xF0\x35"
  11406			  "\x75\x6F\x06\x81\x0A\x97\x4D\xF0"
  11407			  "\x43\x12\x73\x77\xDB\x91\x83\x5B"
  11408			  "\xE7\x3A\xA6\x07\x7B\xBF\x2C\x50"
  11409			  "\x94\xDE\x7B\x65\xDA\x1C\xF1\x9F"
  11410			  "\x7E\x12\x40\xB2\x3E\x19\x23\xF1"
  11411			  "\x7C\x1B\x5F\xA8\xF3\xAC\x63\x87"
  11412			  "\xEB\x3E\x0C\xBE\xA3\x63\x97\x88"
  11413			  "\x8D\x27\xC6\x2A\xF8\xF2\x67\x9A"
  11414			  "\x0D\x14\x16\x2B\x6F\xCB\xD4\x76"
  11415			  "\x14\x48\x2E\xDE\x2A\x44\x5E\x45"
  11416			  "\xF1\x97\x82\xEF\xB7\xAE\xED\x3A"
  11417			  "\xED\x73\xD3\x79\xF7\x38\x1D\xD0"
  11418			  "\xC5\xF8\x69\x83\x28\x84\x87\x56"
  11419			  "\x3F\xAE\x81\x04\x79\x1F\xD1\x09"
  11420			  "\xC5\xE5\x05\x0D\x64\x16\xCE\x42"
  11421			  "\xC5\xF8\xDB\x57\x89\x33\x22\xFC"
  11422			  "\xB4\xD7\x94\xB9\xF3\xCC\x02\x90"
  11423			  "\x02\xBA\x55\x1E\x24\x3E\x02\x1D"
  11424			  "\xC6\xCD\x8F\xD9\xBD\xED\xB0\x51"
  11425			  "\xCD\xE9\xD5\x0C\xFE\x12\x39\xA9"
  11426			  "\x93\x9B\xEE\xB5\x97\x41\xD2\xA0"
  11427			  "\xB4\x98\xD8\x6B\x74\xE7\x65\xF4",
  11428		.len	= 504,
  11429	},
  11430};
  11431
  11432static const struct cipher_testvec bf_ctr_tv_template[] = {
  11433	{ /* Generated with Crypto++ */
  11434		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  11435			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
  11436			  "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
  11437			  "\x78\xBE\x9B\x78\x55\x32\x0F\x55",
  11438		.klen	= 32,
  11439		.iv	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F",
  11440		.iv_out	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x9E",
  11441		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  11442			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  11443			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  11444			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  11445			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  11446			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  11447			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  11448			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  11449			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  11450			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  11451			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  11452			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  11453			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  11454			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  11455			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  11456			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  11457			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  11458			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  11459			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  11460			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  11461			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  11462			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  11463			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  11464			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  11465			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  11466			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  11467			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  11468			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  11469			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  11470			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  11471			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  11472			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  11473			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  11474			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  11475			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  11476			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  11477			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  11478			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  11479			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  11480			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  11481			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  11482			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  11483			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  11484			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  11485			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  11486			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  11487			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  11488			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  11489			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  11490			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  11491			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  11492			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  11493			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  11494			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  11495			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  11496			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  11497			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  11498			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  11499			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  11500			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  11501			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  11502			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
  11503			  "\x2B\xC2\x59\xF0\x64\xFB\x92\x06",
  11504		.ctext	= "\xC7\xA3\xDF\xB9\x05\xF4\x9E\x8D"
  11505			  "\x9E\xDF\x38\x18\x83\x07\xEF\xC1"
  11506			  "\x93\x3C\xAA\xAA\xFE\x06\x42\xCC"
  11507			  "\x0D\x70\x86\x5A\x44\xAD\x85\x17"
  11508			  "\xE4\x1F\x5E\xA5\x89\xAC\x32\xBC"
  11509			  "\x3D\xA7\xE9\x0A\x5C\x70\x4D\xDE"
  11510			  "\x99\x38\x07\xCA\x1D\x21\xC1\x11"
  11511			  "\x97\xEB\x98\x75\xC4\x73\x45\x83"
  11512			  "\x46\x1C\x9C\x91\x87\xC1\xA0\x56"
  11513			  "\x98\xA1\x8B\xDB\x22\x76\xBD\x62"
  11514			  "\xA4\xBC\xE8\x86\xDA\xD2\x51\x13"
  11515			  "\x13\xD2\x96\x68\x69\x10\x67\x0C"
  11516			  "\xD0\x17\x25\x7C\xB2\xAE\x4F\x93"
  11517			  "\xA6\x82\x20\xCF\x0F\xA6\x47\x79"
  11518			  "\x88\x09\x40\x59\xBD\x12\x64\xB5"
  11519			  "\x19\x38\x0D\xFF\x86\xD9\x42\x20"
  11520			  "\x81\x0D\x96\x99\xAF\x22\x1F\x94"
  11521			  "\x5C\x6E\xEC\xEA\xA3\x39\xCB\x09"
  11522			  "\x43\x19\x7F\xD0\xBB\x10\xC2\x49"
  11523			  "\xF7\xE9\xF2\xEE\xBF\xF7\xF8\xB3"
  11524			  "\x0E\x1A\xF1\x8D\x70\x82\x0C\x04"
  11525			  "\xFD\x29\x1A\xAC\xC0\x92\x48\x34"
  11526			  "\x6A\xE3\x1D\x4F\xFC\x1C\x72\x6A"
  11527			  "\x57\xCB\xAD\xD0\x98\xAB\xB1\x01"
  11528			  "\x03\x6A\x45\xDD\x07\x71\x5F\x5B"
  11529			  "\xB5\x4A\xE4\xE5\xB9\xB9\xBC\xAC"
  11530			  "\x44\xF7\x41\xA4\x5F\x2E\xE9\x28"
  11531			  "\xE3\x05\xD2\x94\x78\x4C\x33\x1B"
  11532			  "\xBD\xC1\x6E\x51\xD9\xAD\xD9\x86"
  11533			  "\x15\x4A\x78\xAE\x7B\xAD\x3B\xBC"
  11534			  "\x2F\xE0\x0E\xC5\x7B\x54\x97\x5F"
  11535			  "\x60\x51\x14\x65\xF9\x91\xE9\xDA"
  11536			  "\x9A\xBC\xFC\x19\x29\x67\xAA\x63"
  11537			  "\x5E\xF2\x48\x88\xEB\x79\xE1\xE4"
  11538			  "\xF7\xF6\x4C\xA9\xE2\x8C\x3B\xE0"
  11539			  "\xED\x52\xAE\x90\x8F\x5B\x98\x34"
  11540			  "\x29\x94\x34\x7F\xF9\x6C\x1E\xB6"
  11541			  "\xA4\xE7\x2D\x06\x54\x9D\xC3\x02"
  11542			  "\xC1\x90\xA4\x72\x31\x6B\x24\x51"
  11543			  "\x0B\xB3\x7C\x63\x15\xBA\xAF\x5D"
  11544			  "\x41\xE0\x37\x6D\xBE\x41\x58\xDE"
  11545			  "\xF2\x07\x62\x99\xBE\xC1\x8C\x0F"
  11546			  "\x0F\x28\xFB\x8F\x0E\x1D\x91\xE2"
  11547			  "\xDA\x99\x5C\x49\xBA\x9C\xA8\x86"
  11548			  "\x82\x63\x11\xB3\x54\x49\x00\x08"
  11549			  "\x07\xF2\xE8\x1F\x34\x49\x61\xF4"
  11550			  "\x81\xE9\xF6\xA9\x5A\x28\x60\x1F"
  11551			  "\x66\x99\x08\x06\xF2\xE8\x2D\xD1"
  11552			  "\xD0\x67\xBA\x32\x1F\x02\x86\x7B"
  11553			  "\xFB\x79\x3D\xC5\xB1\x7F\x15\xAF"
  11554			  "\xD7\xBF\x31\x46\x22\x7F\xAE\x5B"
  11555			  "\x8B\x95\x47\xC2\xB1\x62\xA1\xCE"
  11556			  "\x52\xAC\x9C\x8B\xC2\x49\x7F\xBC"
  11557			  "\x9C\x89\xB8\xB6\xCA\xE3\x8F\xEA"
  11558			  "\xAC\xB4\x5D\xE4\x50\xDC\x3A\xB5"
  11559			  "\x91\x04\x94\x99\x03\x3B\x42\x6D"
  11560			  "\x9C\x4A\x02\xF5\xB5\x38\x98\xA8"
  11561			  "\x5C\x97\x2E\x4D\x79\x67\x71\xAF"
  11562			  "\xF0\x70\x77\xFF\x2D\xDA\xA0\x9E"
  11563			  "\x23\x8D\xD6\xA6\x68\x10\x78\x9A"
  11564			  "\x64\xBB\x15\xB8\x56\xCF\xEE\xE5"
  11565			  "\x32\x44\x96\x1C\xD8\xEB\x95\xD2"
  11566			  "\xF3\x71\xEF\xEB\x4E\xBB\x4D\x29",
  11567		.len	= 504,
  11568	}, { /* Generated with Crypto++ */
  11569		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  11570			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
  11571			  "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
  11572			  "\x78\xBE\x9B\x78\x55\x32\x0F\x55",
  11573		.klen	= 32,
  11574		.iv	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F",
  11575		.iv_out	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x9E",
  11576		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  11577			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  11578			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  11579			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  11580			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  11581			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  11582			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  11583			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  11584			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  11585			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  11586			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  11587			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  11588			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  11589			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  11590			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  11591			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  11592			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  11593			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  11594			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  11595			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  11596			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  11597			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  11598			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  11599			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  11600			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  11601			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  11602			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  11603			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  11604			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  11605			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  11606			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  11607			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  11608			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  11609			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  11610			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  11611			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  11612			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  11613			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  11614			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  11615			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  11616			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  11617			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  11618			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  11619			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  11620			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  11621			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  11622			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  11623			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  11624			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  11625			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  11626			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  11627			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  11628			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  11629			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  11630			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  11631			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  11632			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  11633			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  11634			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  11635			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  11636			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  11637			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
  11638			  "\x2B\xC2\x59\xF0\x64\xFB\x92",
  11639		.ctext	= "\xC7\xA3\xDF\xB9\x05\xF4\x9E\x8D"
  11640			  "\x9E\xDF\x38\x18\x83\x07\xEF\xC1"
  11641			  "\x93\x3C\xAA\xAA\xFE\x06\x42\xCC"
  11642			  "\x0D\x70\x86\x5A\x44\xAD\x85\x17"
  11643			  "\xE4\x1F\x5E\xA5\x89\xAC\x32\xBC"
  11644			  "\x3D\xA7\xE9\x0A\x5C\x70\x4D\xDE"
  11645			  "\x99\x38\x07\xCA\x1D\x21\xC1\x11"
  11646			  "\x97\xEB\x98\x75\xC4\x73\x45\x83"
  11647			  "\x46\x1C\x9C\x91\x87\xC1\xA0\x56"
  11648			  "\x98\xA1\x8B\xDB\x22\x76\xBD\x62"
  11649			  "\xA4\xBC\xE8\x86\xDA\xD2\x51\x13"
  11650			  "\x13\xD2\x96\x68\x69\x10\x67\x0C"
  11651			  "\xD0\x17\x25\x7C\xB2\xAE\x4F\x93"
  11652			  "\xA6\x82\x20\xCF\x0F\xA6\x47\x79"
  11653			  "\x88\x09\x40\x59\xBD\x12\x64\xB5"
  11654			  "\x19\x38\x0D\xFF\x86\xD9\x42\x20"
  11655			  "\x81\x0D\x96\x99\xAF\x22\x1F\x94"
  11656			  "\x5C\x6E\xEC\xEA\xA3\x39\xCB\x09"
  11657			  "\x43\x19\x7F\xD0\xBB\x10\xC2\x49"
  11658			  "\xF7\xE9\xF2\xEE\xBF\xF7\xF8\xB3"
  11659			  "\x0E\x1A\xF1\x8D\x70\x82\x0C\x04"
  11660			  "\xFD\x29\x1A\xAC\xC0\x92\x48\x34"
  11661			  "\x6A\xE3\x1D\x4F\xFC\x1C\x72\x6A"
  11662			  "\x57\xCB\xAD\xD0\x98\xAB\xB1\x01"
  11663			  "\x03\x6A\x45\xDD\x07\x71\x5F\x5B"
  11664			  "\xB5\x4A\xE4\xE5\xB9\xB9\xBC\xAC"
  11665			  "\x44\xF7\x41\xA4\x5F\x2E\xE9\x28"
  11666			  "\xE3\x05\xD2\x94\x78\x4C\x33\x1B"
  11667			  "\xBD\xC1\x6E\x51\xD9\xAD\xD9\x86"
  11668			  "\x15\x4A\x78\xAE\x7B\xAD\x3B\xBC"
  11669			  "\x2F\xE0\x0E\xC5\x7B\x54\x97\x5F"
  11670			  "\x60\x51\x14\x65\xF9\x91\xE9\xDA"
  11671			  "\x9A\xBC\xFC\x19\x29\x67\xAA\x63"
  11672			  "\x5E\xF2\x48\x88\xEB\x79\xE1\xE4"
  11673			  "\xF7\xF6\x4C\xA9\xE2\x8C\x3B\xE0"
  11674			  "\xED\x52\xAE\x90\x8F\x5B\x98\x34"
  11675			  "\x29\x94\x34\x7F\xF9\x6C\x1E\xB6"
  11676			  "\xA4\xE7\x2D\x06\x54\x9D\xC3\x02"
  11677			  "\xC1\x90\xA4\x72\x31\x6B\x24\x51"
  11678			  "\x0B\xB3\x7C\x63\x15\xBA\xAF\x5D"
  11679			  "\x41\xE0\x37\x6D\xBE\x41\x58\xDE"
  11680			  "\xF2\x07\x62\x99\xBE\xC1\x8C\x0F"
  11681			  "\x0F\x28\xFB\x8F\x0E\x1D\x91\xE2"
  11682			  "\xDA\x99\x5C\x49\xBA\x9C\xA8\x86"
  11683			  "\x82\x63\x11\xB3\x54\x49\x00\x08"
  11684			  "\x07\xF2\xE8\x1F\x34\x49\x61\xF4"
  11685			  "\x81\xE9\xF6\xA9\x5A\x28\x60\x1F"
  11686			  "\x66\x99\x08\x06\xF2\xE8\x2D\xD1"
  11687			  "\xD0\x67\xBA\x32\x1F\x02\x86\x7B"
  11688			  "\xFB\x79\x3D\xC5\xB1\x7F\x15\xAF"
  11689			  "\xD7\xBF\x31\x46\x22\x7F\xAE\x5B"
  11690			  "\x8B\x95\x47\xC2\xB1\x62\xA1\xCE"
  11691			  "\x52\xAC\x9C\x8B\xC2\x49\x7F\xBC"
  11692			  "\x9C\x89\xB8\xB6\xCA\xE3\x8F\xEA"
  11693			  "\xAC\xB4\x5D\xE4\x50\xDC\x3A\xB5"
  11694			  "\x91\x04\x94\x99\x03\x3B\x42\x6D"
  11695			  "\x9C\x4A\x02\xF5\xB5\x38\x98\xA8"
  11696			  "\x5C\x97\x2E\x4D\x79\x67\x71\xAF"
  11697			  "\xF0\x70\x77\xFF\x2D\xDA\xA0\x9E"
  11698			  "\x23\x8D\xD6\xA6\x68\x10\x78\x9A"
  11699			  "\x64\xBB\x15\xB8\x56\xCF\xEE\xE5"
  11700			  "\x32\x44\x96\x1C\xD8\xEB\x95\xD2"
  11701			  "\xF3\x71\xEF\xEB\x4E\xBB\x4D",
  11702		.len	= 503,
  11703	}, { /* Generated with Crypto++ */
  11704		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  11705			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
  11706			  "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
  11707			  "\x78\xBE\x9B\x78\x55\x32\x0F\x55",
  11708		.klen	= 32,
  11709		.iv	= "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFD",
  11710		.iv_out	= "\x00\x00\x00\x00\x00\x00\x00\x3C",
  11711		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  11712			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  11713			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  11714			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  11715			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  11716			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  11717			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  11718			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  11719			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  11720			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  11721			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  11722			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  11723			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  11724			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  11725			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  11726			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  11727			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  11728			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  11729			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  11730			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  11731			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  11732			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  11733			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  11734			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  11735			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  11736			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  11737			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  11738			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  11739			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  11740			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  11741			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  11742			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  11743			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  11744			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  11745			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  11746			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  11747			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  11748			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  11749			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  11750			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  11751			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  11752			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  11753			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  11754			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  11755			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  11756			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  11757			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  11758			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  11759			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  11760			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  11761			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  11762			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  11763			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  11764			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  11765			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  11766			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  11767			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  11768			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  11769			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  11770			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  11771			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  11772			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
  11773			  "\x2B\xC2\x59\xF0\x64\xFB\x92\x06",
  11774		.ctext	= "\x5F\x58\x6E\x60\x51\x6E\xDC\x3D"
  11775			  "\xD1\xBB\xF7\xB7\xFD\x04\x44\x82"
  11776			  "\xDC\x9F\x4B\x02\xF1\xD2\x5A\x6F"
  11777			  "\x25\xF9\x27\x21\xF2\xD2\x9A\x01"
  11778			  "\xBD\xAD\x3D\x93\x87\xCA\x0D\xFE"
  11779			  "\xB7\x2C\x17\x1F\x42\x8C\x13\xB2"
  11780			  "\x62\x44\x72\xB9\x5D\xC0\xF8\x37"
  11781			  "\xDF\xEA\x78\x81\x8F\xA6\x34\xB2"
  11782			  "\x07\x09\x7C\xB9\x3A\xA0\x2B\x18"
  11783			  "\x34\x6A\x9D\x3D\xA5\xEB\xF4\x60"
  11784			  "\xF8\x98\xA2\x39\x81\x23\x6C\xA9"
  11785			  "\x70\xCA\xCC\x45\xD8\x1F\xDF\x44"
  11786			  "\x2A\x67\x7A\x88\x28\xDC\x36\x83"
  11787			  "\x18\xD7\x48\x43\x17\x2B\x1B\xE6"
  11788			  "\x0B\x82\x59\x14\x26\x67\x08\x09"
  11789			  "\x5B\x5D\x38\xD0\x81\xCE\x54\x2A"
  11790			  "\xCD\x22\x94\x42\xF5\xBA\x74\x7E"
  11791			  "\xD9\x00\x40\xA9\x0D\x0B\xBD\x8E"
  11792			  "\xC4\x8E\x5E\x17\x8F\x48\xE2\xB8"
  11793			  "\xF4\xCC\x19\x76\xAB\x48\x29\xAA"
  11794			  "\x81\xD5\xCE\xD5\x8A\x3B\xC9\x21"
  11795			  "\xEF\x50\x4F\x04\x02\xBF\xE1\x1F"
  11796			  "\x59\x28\x1A\xE4\x18\x16\xA0\x29"
  11797			  "\xBF\x34\xA9\x2D\x28\x83\xC0\x5E"
  11798			  "\xEA\x44\xC4\x6E\xAB\x24\x79\x9D"
  11799			  "\x2D\xA1\xE8\x55\xCA\x74\xFC\xBD"
  11800			  "\xFE\xDD\xDA\xA5\xFB\x34\x90\x31"
  11801			  "\x0E\x62\x28\x9B\xDC\xD7\xA1\xBB"
  11802			  "\xF0\x1A\xB3\xE2\xD0\xFA\xBD\xE8"
  11803			  "\x5C\x5A\x10\x67\xF6\x6A\x17\x3F"
  11804			  "\xC5\xE9\x09\x08\xDD\x22\x77\x42"
  11805			  "\x26\x6A\x6A\x7A\x3F\x87\x80\x0C"
  11806			  "\xF0\xFF\x15\x8E\x84\x86\xC0\x10"
  11807			  "\x0F\x8D\x33\x06\xB8\x72\xA4\x47"
  11808			  "\x6B\xED\x2E\x05\x94\x6C\x5C\x5B"
  11809			  "\x13\xF6\x77\xEE\x3B\x16\xDF\xC2"
  11810			  "\x63\x66\x07\x6D\x3F\x6C\x51\x7C"
  11811			  "\x1C\xAC\x80\xB6\x58\x48\xB7\x9D"
  11812			  "\xB4\x19\xD8\x19\x45\x66\x27\x02"
  11813			  "\xA1\xA9\x99\xF3\x1F\xE5\xA7\x1D"
  11814			  "\x31\xE7\x1B\x0D\xFF\xBB\xB5\xA1"
  11815			  "\xF5\x9C\x45\x1E\x18\x19\xA1\xE7"
  11816			  "\xC2\xF1\xBF\x68\xC3\xEC\xCF\x53"
  11817			  "\x67\xA6\x2B\x7D\x3C\x6D\x24\xC3"
  11818			  "\xE8\xE6\x07\x5A\x09\xE0\x32\xA8"
  11819			  "\x52\xF6\xE9\xED\x0E\xC6\x0A\x6A"
  11820			  "\xFC\x60\x2A\xE0\x93\xCE\xB8\x2E"
  11821			  "\xA2\xA8\x0E\x79\x9E\x34\x5D\x37"
  11822			  "\x6F\x12\xFE\x48\x7B\xE7\xB9\x22"
  11823			  "\x29\xE8\xD7\xBE\x5D\xD1\x8B\xD9"
  11824			  "\x91\x51\x4E\x71\xF2\x98\x85\x16"
  11825			  "\x25\x7A\x76\x8A\x51\x0E\x65\x14"
  11826			  "\x81\xB5\x3A\x37\xFD\xEC\xB5\x8A"
  11827			  "\xE1\xCF\x41\x72\x14\x29\x4C\xF0"
  11828			  "\x20\xD9\x9A\xC5\x66\xA4\x03\x76"
  11829			  "\x5B\xA4\x15\x4F\x0E\x64\x39\x40"
  11830			  "\x25\xF9\x20\x22\xF5\x88\xF5\xBA"
  11831			  "\xE4\xDF\x45\x61\xBF\x8D\x7A\x24"
  11832			  "\x4B\x92\x71\xD9\x2F\x77\xA7\x95"
  11833			  "\xA8\x7F\x61\xD5\xA4\x57\xB0\xFB"
  11834			  "\xB5\x77\xBA\x1C\xEE\x71\xFA\xB0"
  11835			  "\x16\x4C\x18\x6B\xF2\x69\xA0\x07"
  11836			  "\xEF\xBE\xEC\x69\xAC\xA8\x63\x9E",
  11837		.len	= 504,
  11838	},
  11839};
  11840
  11841/*
  11842 * Twofish test vectors.
  11843 */
  11844static const struct cipher_testvec tf_tv_template[] = {
  11845	{
  11846		.key	= zeroed_string,
  11847		.klen	= 16,
  11848		.ptext	= zeroed_string,
  11849		.ctext	= "\x9f\x58\x9f\x5c\xf6\x12\x2c\x32"
  11850			  "\xb6\xbf\xec\x2f\x2a\xe8\xc3\x5a",
  11851		.len	= 16,
  11852	}, {
  11853		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  11854			  "\xfe\xdc\xba\x98\x76\x54\x32\x10"
  11855			  "\x00\x11\x22\x33\x44\x55\x66\x77",
  11856		.klen	= 24,
  11857		.ptext	= zeroed_string,
  11858		.ctext	= "\xcf\xd1\xd2\xe5\xa9\xbe\x9c\xdf"
  11859			  "\x50\x1f\x13\xb8\x92\xbd\x22\x48",
  11860		.len	= 16,
  11861	}, {
  11862		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  11863			  "\xfe\xdc\xba\x98\x76\x54\x32\x10"
  11864			  "\x00\x11\x22\x33\x44\x55\x66\x77"
  11865			  "\x88\x99\xaa\xbb\xcc\xdd\xee\xff",
  11866		.klen	= 32,
  11867		.ptext	= zeroed_string,
  11868		.ctext	= "\x37\x52\x7b\xe0\x05\x23\x34\xb8"
  11869			  "\x9f\x0c\xfc\xca\xe8\x7c\xfa\x20",
  11870		.len	= 16,
  11871	}, { /* Generated with Crypto++ */
  11872		.key	= "\x3F\x85\x62\x3F\x1C\xF9\xD6\x1C"
  11873			  "\xF9\xD6\xB3\x90\x6D\x4A\x90\x6D"
  11874			  "\x4A\x27\x04\xE1\x27\x04\xE1\xBE"
  11875			  "\x9B\x78\xBE\x9B\x78\x55\x32\x0F",
  11876		.klen	= 32,
  11877		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  11878			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  11879			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  11880			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  11881			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  11882			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  11883			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  11884			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  11885			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  11886			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  11887			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  11888			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  11889			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  11890			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  11891			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  11892			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  11893			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  11894			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  11895			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  11896			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  11897			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  11898			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  11899			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  11900			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  11901			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  11902			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  11903			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  11904			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  11905			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  11906			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  11907			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  11908			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  11909			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  11910			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  11911			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  11912			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  11913			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  11914			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  11915			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  11916			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  11917			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  11918			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  11919			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  11920			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  11921			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  11922			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  11923			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  11924			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  11925			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  11926			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  11927			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  11928			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  11929			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  11930			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  11931			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  11932			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  11933			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  11934			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  11935			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  11936			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  11937			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  11938			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
  11939		.ctext	= "\x88\xCB\x1E\xC2\xAF\x8A\x97\xFF"
  11940			  "\xF6\x90\x46\x9C\x4A\x0F\x08\xDC"
  11941			  "\xDE\xAB\xAD\xFA\xFC\xA8\xC2\x3D"
  11942			  "\xE0\xE4\x8B\x3F\xD5\xA3\xF7\x14"
  11943			  "\x34\x9E\xB6\x08\xB2\xDD\xA8\xF5"
  11944			  "\xDF\xFA\xC7\xE8\x09\x50\x76\x08"
  11945			  "\xA2\xB6\x6A\x59\xC0\x2B\x6D\x05"
  11946			  "\x89\xF6\x82\xF0\xD3\xDB\x06\x02"
  11947			  "\xB5\x11\x5C\x5E\x79\x1A\xAC\x43"
  11948			  "\x5C\xC0\x30\x4B\x6B\x16\xA1\x40"
  11949			  "\x80\x27\x88\xBA\x2C\x74\x42\xE0"
  11950			  "\x1B\xA5\x85\x08\xB9\xE6\x22\x7A"
  11951			  "\x36\x3B\x0D\x9F\xA0\x22\x6C\x2A"
  11952			  "\x91\x75\x47\xBC\x67\x21\x4E\xF9"
  11953			  "\xEA\xFF\xD9\xD5\xC0\xFC\x9E\x2C"
  11954			  "\x3E\xAD\xC6\x61\x0E\x93\x7A\x22"
  11955			  "\x09\xC8\x8D\xC1\x8E\xB4\x8B\x5C"
  11956			  "\xC6\x24\x42\xB8\x23\x66\x80\xA9"
  11957			  "\x32\x0B\x7A\x29\xBF\xB3\x0B\x63"
  11958			  "\x43\x27\x13\xA9\xBE\xEB\xBD\xF3"
  11959			  "\x33\x62\x70\xE2\x1B\x86\x7A\xA1"
  11960			  "\x51\x4A\x16\xFE\x29\x63\x7E\xD0"
  11961			  "\x7A\xA4\x6E\x2C\xF8\xC1\xDB\xE8"
  11962			  "\xCB\x4D\xD2\x8C\x04\x14\xB4\x66"
  11963			  "\x41\xB7\x3A\x96\x16\x7C\x1D\x5B"
  11964			  "\xB6\x41\x42\x64\x43\xEE\x6E\x7C"
  11965			  "\x8B\xAF\x01\x9C\xA4\x6E\x75\x8F"
  11966			  "\xDE\x10\x9F\xA6\xE7\xD6\x44\x97"
  11967			  "\x66\xA3\x96\x0F\x1C\x25\x60\xF5"
  11968			  "\x3C\x2E\x32\x69\x0E\x82\xFF\x27"
  11969			  "\x0F\xB5\x06\xDA\xD8\x31\x15\x6C"
  11970			  "\xDF\x18\x6C\x87\xF5\x3B\x11\x9A"
  11971			  "\x1B\x42\x1F\x5B\x29\x19\x96\x13"
  11972			  "\x68\x2E\x5E\x08\x1C\x8F\x32\x4B"
  11973			  "\x81\x77\x6D\xF4\xA0\x01\x42\xEC"
  11974			  "\xDD\x5B\xFD\x3A\x8E\x6A\x14\xFB"
  11975			  "\x83\x54\xDF\x0F\x86\xB7\xEA\x40"
  11976			  "\x46\x39\xF7\x2A\x89\x8D\x4E\x96"
  11977			  "\x5F\x5F\x6D\x76\xC6\x13\x9D\x3D"
  11978			  "\x1D\x5F\x0C\x7D\xE2\xBC\xC2\x16"
  11979			  "\x16\xBE\x89\x3E\xB0\x61\xA2\x5D"
  11980			  "\xAF\xD1\x40\x5F\x1A\xB8\x26\x41"
  11981			  "\xC6\xBD\x36\xEF\xED\x29\x50\x6D"
  11982			  "\x10\xEF\x26\xE8\xA8\x93\x11\x3F"
  11983			  "\x2D\x1F\x88\x20\x77\x45\xF5\x66"
  11984			  "\x08\xB9\xF1\xEF\xB1\x93\xA8\x81"
  11985			  "\x65\xC5\xCD\x3E\x8C\x06\x60\x2C"
  11986			  "\xB2\x10\x7A\xCA\x05\x25\x59\xDB"
  11987			  "\xC7\x28\xF5\x20\x35\x52\x9E\x62"
  11988			  "\xF8\x88\x24\x1C\x4D\x84\x12\x39"
  11989			  "\x39\xE4\x2E\xF4\xD4\x9D\x2B\xBC"
  11990			  "\x87\x66\xE6\xC0\x6B\x31\x9A\x66"
  11991			  "\x03\xDC\x95\xD8\x6B\xD0\x30\x8F"
  11992			  "\xDF\x8F\x8D\xFA\xEC\x1F\x08\xBD"
  11993			  "\xA3\x63\xE2\x71\x4F\x03\x94\x87"
  11994			  "\x50\xDF\x15\x1F\xED\x3A\xA3\x7F"
  11995			  "\x1F\x2A\xB5\xA1\x69\xAC\x4B\x0D"
  11996			  "\x84\x9B\x2A\xE9\x55\xDD\x46\x91"
  11997			  "\x15\x33\xF3\x2B\x9B\x46\x97\x00"
  11998			  "\xF0\x29\xD8\x59\x5D\x33\x37\xF9"
  11999			  "\x58\x33\x9B\x78\xC7\x58\x48\x6B"
  12000			  "\x2C\x75\x64\xC4\xCA\xC1\x7E\xD5",
  12001		.len	= 496,
  12002	},
  12003};
  12004
  12005static const struct cipher_testvec tf_cbc_tv_template[] = {
  12006	{ /* Generated with Nettle */
  12007		.key	= zeroed_string,
  12008		.klen	= 16,
  12009		.iv	= zeroed_string,
  12010		.iv_out	= "\x9f\x58\x9f\x5c\xf6\x12\x2c\x32"
  12011			  "\xb6\xbf\xec\x2f\x2a\xe8\xc3\x5a",
  12012		.ptext	= zeroed_string,
  12013		.ctext	= "\x9f\x58\x9f\x5c\xf6\x12\x2c\x32"
  12014			  "\xb6\xbf\xec\x2f\x2a\xe8\xc3\x5a",
  12015		.len	= 16,
  12016	}, {
  12017		.key	= zeroed_string,
  12018		.klen	= 16,
  12019		.iv	= "\x9f\x58\x9f\x5c\xf6\x12\x2c\x32"
  12020			  "\xb6\xbf\xec\x2f\x2a\xe8\xc3\x5a",
  12021		.iv_out	= "\xd4\x91\xdb\x16\xe7\xb1\xc3\x9e"
  12022			  "\x86\xcb\x08\x6b\x78\x9f\x54\x19",
  12023		.ptext	= zeroed_string,
  12024		.ctext	= "\xd4\x91\xdb\x16\xe7\xb1\xc3\x9e"
  12025			  "\x86\xcb\x08\x6b\x78\x9f\x54\x19",
  12026		.len	= 16,
  12027	}, {
  12028		.key	= zeroed_string,
  12029		.klen	= 16,
  12030		.iv	= "\xd4\x91\xdb\x16\xe7\xb1\xc3\x9e"
  12031			  "\x86\xcb\x08\x6b\x78\x9f\x54\x19",
  12032		.iv_out	= "\x05\xef\x8c\x61\xa8\x11\x58\x26"
  12033			  "\x34\xba\x5c\xb7\x10\x6a\xa6\x41",
  12034		.ptext	= zeroed_string,
  12035		.ctext	= "\x05\xef\x8c\x61\xa8\x11\x58\x26"
  12036			  "\x34\xba\x5c\xb7\x10\x6a\xa6\x41",
  12037		.len	= 16,
  12038	}, {
  12039		.key	= zeroed_string,
  12040		.klen	= 16,
  12041		.iv	= zeroed_string,
  12042		.iv_out	= "\x05\xef\x8c\x61\xa8\x11\x58\x26"
  12043			  "\x34\xba\x5c\xb7\x10\x6a\xa6\x41",
  12044		.ptext	= zeroed_string,
  12045		.ctext	= "\x9f\x58\x9f\x5c\xf6\x12\x2c\x32"
  12046			  "\xb6\xbf\xec\x2f\x2a\xe8\xc3\x5a"
  12047			  "\xd4\x91\xdb\x16\xe7\xb1\xc3\x9e"
  12048			  "\x86\xcb\x08\x6b\x78\x9f\x54\x19"
  12049			  "\x05\xef\x8c\x61\xa8\x11\x58\x26"
  12050			  "\x34\xba\x5c\xb7\x10\x6a\xa6\x41",
  12051		.len	= 48,
  12052	}, { /* Generated with Crypto++ */
  12053		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  12054			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
  12055			  "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
  12056			  "\x78\xBE\x9B\x78\x55\x32\x0F\x55",
  12057		.klen	= 32,
  12058		.iv	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F"
  12059			  "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64",
  12060		.iv_out	= "\x30\x70\x56\xA4\x37\xDD\x7C\xC0"
  12061			  "\x0A\xA3\x30\x10\x26\x25\x41\x2C",
  12062		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  12063			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  12064			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  12065			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  12066			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  12067			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  12068			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  12069			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  12070			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  12071			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  12072			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  12073			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  12074			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  12075			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  12076			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  12077			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  12078			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  12079			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  12080			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  12081			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  12082			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  12083			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  12084			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  12085			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  12086			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  12087			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  12088			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  12089			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  12090			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  12091			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  12092			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  12093			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  12094			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  12095			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  12096			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  12097			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  12098			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  12099			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  12100			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  12101			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  12102			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  12103			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  12104			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  12105			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  12106			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  12107			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  12108			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  12109			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  12110			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  12111			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  12112			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  12113			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  12114			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  12115			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  12116			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  12117			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  12118			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  12119			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  12120			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  12121			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  12122			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  12123			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
  12124		.ctext	= "\xC8\xFF\xF2\x53\xA6\x27\x09\xD1"
  12125			  "\x33\x38\xC2\xC0\x0C\x14\x7E\xB5"
  12126			  "\x26\x1B\x05\x0C\x05\x12\x3F\xC0"
  12127			  "\xF9\x1C\x02\x28\x40\x96\x6F\xD0"
  12128			  "\x3D\x32\xDF\xDA\x56\x00\x6E\xEE"
  12129			  "\x5B\x2A\x72\x9D\xC2\x4D\x19\xBC"
  12130			  "\x8C\x53\xFA\x87\x6F\xDD\x81\xA3"
  12131			  "\xB1\xD3\x44\x65\xDF\xE7\x63\x38"
  12132			  "\x4A\xFC\xDC\xEC\x3F\x26\x8E\xB8"
  12133			  "\x43\xFC\xFE\x18\xB5\x11\x6D\x31"
  12134			  "\x81\x8B\x0D\x75\xF6\x80\xEC\x84"
  12135			  "\x04\xB9\xE6\x09\x63\xED\x39\xDB"
  12136			  "\xC3\xF6\x14\xD6\x6E\x5E\x8B\xBD"
  12137			  "\x3E\xFA\xD7\x98\x50\x6F\xD9\x63"
  12138			  "\x02\xCD\x0D\x39\x4B\x0D\xEC\x80"
  12139			  "\xE3\x6A\x17\xF4\xCC\xAD\xFF\x68"
  12140			  "\x45\xDD\xC8\x83\x1D\x41\x96\x0D"
  12141			  "\x91\x2E\x05\xD3\x59\x82\xE0\x43"
  12142			  "\x90\x4F\xB9\xF7\xAD\x6B\x2E\xAF"
  12143			  "\xA7\x84\x00\x53\xCD\x6F\xD1\x0C"
  12144			  "\x4E\xF9\x5A\x23\xFB\xCA\xC7\xD3"
  12145			  "\xA9\xAA\x9D\xB2\x3F\x66\xF1\xAC"
  12146			  "\x25\x21\x8F\xF7\xEF\xF2\x6A\xDF"
  12147			  "\xE8\xDA\x75\x1A\x8A\xF1\xDD\x38"
  12148			  "\x1F\xF9\x3D\x68\x4A\xBB\x9E\x34"
  12149			  "\x1F\x66\x1F\x9C\x2B\x54\xFF\x60"
  12150			  "\x7F\x29\x4B\x55\x80\x8F\x4E\xA7"
  12151			  "\xA6\x9A\x0A\xD9\x0D\x19\x00\xF8"
  12152			  "\x1F\xBC\x0C\x40\x6B\xEC\x99\x25"
  12153			  "\x94\x70\x74\x0E\x1D\xC5\xBC\x12"
  12154			  "\xF3\x42\xBE\x95\xBF\xFB\x4E\x55"
  12155			  "\x9A\xB9\xCE\x14\x16\x5B\xDC\xD3"
  12156			  "\x75\x42\x62\x04\x31\x1F\x95\x7C"
  12157			  "\x66\x1A\x97\xDC\x2F\x40\x5C\x39"
  12158			  "\x78\xE6\x02\xDB\x49\xE1\xC6\x47"
  12159			  "\xC2\x78\x9A\xBB\xF3\xBE\xCB\x93"
  12160			  "\xD8\xB8\xE8\xBB\x8C\xB3\x9B\xA7"
  12161			  "\xC2\x89\xF3\x91\x88\x83\x3D\xF0"
  12162			  "\x29\xA2\xCD\xB5\x79\x16\xC2\x40"
  12163			  "\x11\x03\x8E\x9C\xFD\xC9\x43\xC4"
  12164			  "\xC2\x19\xF0\x4A\x32\xEF\x0C\x2B"
  12165			  "\xD3\x2B\xE9\xD4\x4C\xDE\x95\xCF"
  12166			  "\x04\x03\xD3\x2C\x7F\x82\xC8\xFA"
  12167			  "\x0F\xD8\x7A\x39\x7B\x01\x41\x9C"
  12168			  "\x78\xB6\xC9\xBF\xF9\x78\x57\x88"
  12169			  "\xB1\xA5\xE1\xE0\xD9\x16\xD4\xC8"
  12170			  "\xEE\xC4\xBE\x7B\x55\x59\x00\x48"
  12171			  "\x1B\xBC\x14\xFA\x2A\x9D\xC9\x1C"
  12172			  "\xFB\x28\x3F\x95\xDD\xB7\xD6\xCE"
  12173			  "\x3A\x7F\x09\x0C\x0E\x69\x30\x7D"
  12174			  "\xBC\x68\x9C\x91\x2A\x59\x57\x04"
  12175			  "\xED\x1A\x1E\x00\xB1\x85\x92\x04"
  12176			  "\x28\x8C\x0C\x3C\xC1\xD5\x12\xF7"
  12177			  "\x4C\x3E\xB0\xE7\x86\x62\x68\x91"
  12178			  "\xFC\xC4\xE2\xCE\xA6\xDC\x5E\x93"
  12179			  "\x5D\x8D\x8C\x68\xB3\xB2\xB9\x64"
  12180			  "\x16\xB8\xC8\x6F\xD8\xEE\x21\xBD"
  12181			  "\xAC\x18\x0C\x7D\x0D\x05\xAB\xF1"
  12182			  "\xFA\xDD\xE2\x48\xDF\x4C\x02\x39"
  12183			  "\x69\xA1\x62\xBD\x49\x3A\x9D\x91"
  12184			  "\x30\x70\x56\xA4\x37\xDD\x7C\xC0"
  12185			  "\x0A\xA3\x30\x10\x26\x25\x41\x2C",
  12186		.len	= 496,
  12187	},
  12188};
  12189
  12190static const struct cipher_testvec tf_ctr_tv_template[] = {
  12191	{ /* Generated with Crypto++ */
  12192		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  12193			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
  12194			  "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
  12195			  "\x78\xBE\x9B\x78\x55\x32\x0F\x55",
  12196		.klen	= 32,
  12197		.iv	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F"
  12198			  "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64",
  12199		.iv_out	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F"
  12200			  "\xC4\x29\x8E\xF3\x35\x9A\xFF\x83",
  12201		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  12202			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  12203			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  12204			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  12205			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  12206			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  12207			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  12208			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  12209			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  12210			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  12211			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  12212			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  12213			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  12214			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  12215			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  12216			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  12217			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  12218			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  12219			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  12220			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  12221			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  12222			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  12223			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  12224			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  12225			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  12226			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  12227			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  12228			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  12229			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  12230			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  12231			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  12232			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  12233			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  12234			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  12235			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  12236			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  12237			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  12238			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  12239			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  12240			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  12241			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  12242			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  12243			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  12244			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  12245			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  12246			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  12247			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  12248			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  12249			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  12250			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  12251			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  12252			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  12253			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  12254			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  12255			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  12256			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  12257			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  12258			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  12259			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  12260			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  12261			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  12262			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
  12263		.ctext	= "\xDF\xDD\x69\xFA\xB0\x2E\xFD\xFE"
  12264			  "\x70\x9E\xC5\x4B\xC9\xD4\xA1\x30"
  12265			  "\x26\x9B\x89\xA1\xEE\x43\xE0\x52"
  12266			  "\x55\x17\x4E\xC7\x0E\x33\x1F\xF1"
  12267			  "\x9F\x8D\x40\x9F\x24\xFD\x92\xA0"
  12268			  "\xBC\x8F\x35\xDD\x67\x38\xD8\xAA"
  12269			  "\xCF\xF8\x48\xCA\xFB\xE4\x5C\x60"
  12270			  "\x01\x41\x21\x12\x38\xAB\x52\x4F"
  12271			  "\xA8\x57\x20\xE0\x21\x6A\x17\x0D"
  12272			  "\x0E\xF9\x8E\x49\x42\x00\x3C\x94"
  12273			  "\x14\xC0\xD0\x8D\x8A\x98\xEB\x29"
  12274			  "\xEC\xAE\x96\x44\xC0\x3C\x48\xDC"
  12275			  "\x29\x35\x25\x2F\xE7\x11\x6C\x68"
  12276			  "\xC8\x67\x0A\x2F\xF4\x07\xBE\xF9"
  12277			  "\x2C\x31\x87\x40\xAB\xB2\xB6\xFA"
  12278			  "\xD2\xC9\x6D\x5C\x50\xE9\xE6\x7E"
  12279			  "\xE3\x0A\xD2\xD5\x6D\x8D\x64\x9E"
  12280			  "\x70\xCE\x03\x76\xDD\xE0\xF0\x8C"
  12281			  "\x84\x86\x8B\x6A\xFE\xC7\xF9\x69"
  12282			  "\x2E\xFE\xFC\xC2\xC4\x1A\x55\x58"
  12283			  "\xB3\xBE\xE2\x7E\xED\x39\x42\x6C"
  12284			  "\xB4\x42\x97\x9A\xEC\xE1\x0A\x06"
  12285			  "\x02\xC5\x03\x9D\xC4\x48\x15\x66"
  12286			  "\x35\x6A\xC2\xC9\xA2\x26\x30\xBB"
  12287			  "\xDB\x2D\xC8\x08\x2B\xA0\x29\x1A"
  12288			  "\x23\x61\x48\xEA\x80\x04\x27\xAA"
  12289			  "\x69\x49\xE8\xE8\x4A\x83\x6B\x5A"
  12290			  "\xCA\x7C\xD3\xB1\xB5\x0B\xCC\x23"
  12291			  "\x74\x1F\xA9\x87\xCD\xED\xC0\x2D"
  12292			  "\xBF\xEB\xCF\x16\x2D\x2A\x2E\x1D"
  12293			  "\x96\xBA\x36\x11\x45\x41\xDA\xCE"
  12294			  "\xA4\x48\x80\x8B\x06\xF4\x98\x89"
  12295			  "\x8B\x23\x08\x53\xF4\xD4\x5A\x24"
  12296			  "\x8B\xF8\x43\x73\xD1\xEE\xC4\xB0"
  12297			  "\xF8\xFE\x09\x0C\x75\x05\x38\x0B"
  12298			  "\x7C\x81\xDE\x9D\xE4\x61\x37\x63"
  12299			  "\x63\xAD\x12\xD2\x04\xB9\xCE\x45"
  12300			  "\x5A\x1A\x6E\xB3\x78\x2A\xA4\x74"
  12301			  "\x86\xD0\xE3\xFF\xDA\x38\x9C\xB5"
  12302			  "\xB8\xB1\xDB\x38\x2F\xC5\x6A\xB4"
  12303			  "\xEB\x6E\x96\xE8\x43\x80\xB5\x51"
  12304			  "\x61\x2D\x48\xAA\x07\x65\x11\x8C"
  12305			  "\x48\xE3\x90\x7E\x78\x3A\xEC\x97"
  12306			  "\x05\x3D\x84\xE7\x90\x2B\xAA\xBD"
  12307			  "\x83\x29\x0E\x1A\x81\x73\x7B\xE0"
  12308			  "\x7A\x01\x4A\x37\x3B\x77\x7F\x8D"
  12309			  "\x49\xA4\x2F\x6E\xBE\x68\x99\x08"
  12310			  "\x99\xAA\x4C\x12\x04\xAE\x1F\x77"
  12311			  "\x35\x88\xF1\x65\x06\x0A\x0B\x4D"
  12312			  "\x47\xF9\x50\x38\x5D\x71\xF9\x6E"
  12313			  "\xDE\xEC\x61\x35\x2C\x4C\x96\x50"
  12314			  "\xE8\x28\x93\x9C\x7E\x01\xC6\x04"
  12315			  "\xB2\xD6\xBC\x6C\x17\xEB\xC1\x7D"
  12316			  "\x11\xE9\x43\x83\x76\xAA\x53\x37"
  12317			  "\x0C\x1D\x39\x89\x53\x72\x09\x7E"
  12318			  "\xD9\x85\x16\x04\xA5\x2C\x05\x6F"
  12319			  "\x17\x0C\x6E\x66\xAA\x84\xA7\xD9"
  12320			  "\xE2\xD9\xC4\xEB\x43\x3E\xB1\x8D"
  12321			  "\x7C\x36\xC7\x71\x70\x9C\x10\xD8"
  12322			  "\xE8\x47\x2A\x4D\xFD\xA1\xBC\xE3"
  12323			  "\xB9\x32\xE2\xC1\x82\xAC\xFE\xCC"
  12324			  "\xC5\xC9\x7F\x9E\xCF\x33\x7A\xDF",
  12325		.len	= 496,
  12326	}, { /* Generated with Crypto++ */
  12327		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  12328			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
  12329			  "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
  12330			  "\x78\xBE\x9B\x78\x55\x32\x0F\x55",
  12331		.klen	= 32,
  12332		.iv	= "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"
  12333			  "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFD",
  12334		.iv_out	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  12335			  "\x00\x00\x00\x00\x00\x00\x00\x1C",
  12336		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  12337			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  12338			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  12339			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  12340			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  12341			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  12342			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  12343			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  12344			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  12345			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  12346			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  12347			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  12348			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  12349			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  12350			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  12351			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  12352			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  12353			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  12354			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  12355			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  12356			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  12357			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  12358			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  12359			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  12360			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  12361			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  12362			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  12363			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  12364			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  12365			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  12366			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  12367			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  12368			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  12369			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  12370			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  12371			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  12372			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  12373			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  12374			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  12375			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  12376			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  12377			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  12378			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  12379			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  12380			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  12381			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  12382			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  12383			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  12384			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  12385			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  12386			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  12387			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  12388			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  12389			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  12390			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  12391			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  12392			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  12393			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  12394			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  12395			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  12396			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  12397			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
  12398		.ctext	= "\xEB\x44\xAF\x49\x27\xB8\xFB\x44"
  12399			  "\x4C\xA6\xC3\x0C\x8B\xD0\x01\x0C"
  12400			  "\x53\xC8\x16\x38\xDE\x40\x4F\x91"
  12401			  "\x25\x6D\x4C\xA0\x9A\x87\x1E\xDA"
  12402			  "\x88\x7E\x89\xE9\x67\x2B\x83\xA2"
  12403			  "\x5F\x2E\x23\x3E\x45\xB9\x77\x7B"
  12404			  "\xA6\x7E\x47\x36\x81\x9F\x9B\xF3"
  12405			  "\xE0\xF0\xD7\x47\xA9\xC8\xEF\x33"
  12406			  "\x0C\x43\xFE\x67\x50\x0A\x2C\x3E"
  12407			  "\xA0\xE1\x25\x8E\x80\x07\x4A\xC0"
  12408			  "\x64\x89\x9F\x6A\x27\x96\x07\xA6"
  12409			  "\x9B\xC8\x1B\x21\x60\xAE\x5D\x01"
  12410			  "\xE2\xCD\xC8\xAA\x6C\x9D\x1C\x34"
  12411			  "\x39\x18\x09\xA4\x82\x59\x78\xE7"
  12412			  "\xFC\x59\x65\xF2\x94\xFF\xFB\xE2"
  12413			  "\x3C\xDA\xB1\x90\x95\xBF\x91\xE3"
  12414			  "\xE6\x87\x31\x9E\x16\x85\xAD\xB1"
  12415			  "\x4C\xAE\x43\x4D\x19\x58\xB5\x5E"
  12416			  "\x2E\xF5\x09\xAA\x39\xF4\xC0\xB3"
  12417			  "\xD4\x4D\xDB\x73\x7A\xD4\xF1\xBF"
  12418			  "\x89\x16\x4D\x2D\xA2\x26\x33\x72"
  12419			  "\x18\x33\x7E\xD6\xD2\x16\xA4\x54"
  12420			  "\xF4\x8C\xB3\x52\xDF\x21\x9C\xEB"
  12421			  "\xBF\x49\xD3\xF9\x05\x06\xCB\xD2"
  12422			  "\xA9\xD2\x3B\x6E\x19\x8C\xBC\x19"
  12423			  "\xAB\x89\xD6\xD8\xCD\x56\x89\x5E"
  12424			  "\xAC\x00\xE3\x50\x63\x4A\x80\x9A"
  12425			  "\x05\xBC\x50\x39\xD3\x32\xD9\x0D"
  12426			  "\xE3\x20\x0D\x75\x54\xEC\xE6\x31"
  12427			  "\x14\xB9\x3A\x59\x00\x43\x37\x8E"
  12428			  "\x8C\x5A\x79\x62\x14\x76\x8A\xAE"
  12429			  "\x8F\xCC\xA1\x6C\x38\x78\xDD\x2D"
  12430			  "\x8B\x6D\xEA\xBD\x7B\x25\xFF\x60"
  12431			  "\xC9\x87\xB1\x79\x1E\xA5\x86\x68"
  12432			  "\x81\xB4\xE2\xC1\x05\x7D\x3A\x73"
  12433			  "\xD0\xDA\x75\x77\x9E\x05\x27\xF1"
  12434			  "\x08\xA9\x66\x64\x6C\xBC\x82\x17"
  12435			  "\x2C\x23\x5F\x62\x4D\x02\x1A\x58"
  12436			  "\xE7\xB7\x23\x6D\xE2\x20\xDA\xEF"
  12437			  "\xB4\xB3\x3F\xB2\x2B\x69\x98\x83"
  12438			  "\x95\x87\x13\x57\x60\xD7\xB5\xB1"
  12439			  "\xEE\x0A\x2F\x95\x36\x4C\x76\x5D"
  12440			  "\x5F\xD9\x19\xED\xB9\xA5\x48\xBF"
  12441			  "\xC8\xAB\x0F\x71\xCC\x61\x8E\x0A"
  12442			  "\xD0\x29\x44\xA8\xB9\xC1\xE8\xC8"
  12443			  "\xC9\xA8\x28\x81\xFB\x50\xF2\xF0"
  12444			  "\x26\xAE\x39\xB8\x91\xCD\xA8\xAC"
  12445			  "\xDE\x55\x1B\x50\x14\x53\x44\x17"
  12446			  "\x54\x46\xFC\xB1\xE4\x07\x6B\x9A"
  12447			  "\x01\x14\xF0\x2E\x2E\xDB\x46\x1B"
  12448			  "\x1A\x09\x97\xA9\xB6\x97\x79\x06"
  12449			  "\xFB\xCB\x85\xCF\xDD\xA1\x41\xB1"
  12450			  "\x00\xAA\xF7\xE0\x89\x73\xFB\xE5"
  12451			  "\xBF\x84\xDB\xC9\xCD\xC4\xA2\x0D"
  12452			  "\x3B\xAC\xF9\xDF\x96\xBF\x88\x23"
  12453			  "\x41\x67\xA1\x24\x99\x7E\xCC\x9B"
  12454			  "\x02\x8F\x6A\x49\xF6\x25\xBA\x7A"
  12455			  "\xF4\x78\xFD\x79\x62\x63\x4F\x14"
  12456			  "\xD6\x11\x11\x04\x05\x5F\x7E\xEA"
  12457			  "\x4C\xB6\xF8\xF4\x5F\x48\x52\x54"
  12458			  "\x94\x63\xA8\x4E\xCF\xD2\x1B\x1B"
  12459			  "\x22\x18\x6A\xAF\x6E\x3E\xE1\x0D",
  12460		.len	= 496,
  12461	}, { /* Generated with Crypto++ */
  12462		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  12463			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
  12464			  "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
  12465			  "\x78\xBE\x9B\x78\x55\x32\x0F\x55",
  12466		.klen	= 32,
  12467		.iv	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F"
  12468			  "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64",
  12469		.iv_out	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F"
  12470			  "\xC4\x29\x8E\xF3\x35\x9A\xFF\x84",
  12471		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  12472			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  12473			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  12474			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  12475			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  12476			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  12477			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  12478			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  12479			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  12480			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  12481			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  12482			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  12483			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  12484			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  12485			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  12486			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  12487			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  12488			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  12489			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  12490			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  12491			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  12492			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  12493			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  12494			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  12495			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  12496			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  12497			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  12498			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  12499			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  12500			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  12501			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  12502			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  12503			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  12504			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  12505			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  12506			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  12507			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  12508			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  12509			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  12510			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  12511			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  12512			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  12513			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  12514			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  12515			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  12516			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  12517			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  12518			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  12519			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  12520			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  12521			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  12522			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  12523			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  12524			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  12525			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  12526			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  12527			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  12528			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  12529			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  12530			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  12531			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  12532			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
  12533			  "\x2B\xC2\x59",
  12534		.ctext	= "\xDF\xDD\x69\xFA\xB0\x2E\xFD\xFE"
  12535			  "\x70\x9E\xC5\x4B\xC9\xD4\xA1\x30"
  12536			  "\x26\x9B\x89\xA1\xEE\x43\xE0\x52"
  12537			  "\x55\x17\x4E\xC7\x0E\x33\x1F\xF1"
  12538			  "\x9F\x8D\x40\x9F\x24\xFD\x92\xA0"
  12539			  "\xBC\x8F\x35\xDD\x67\x38\xD8\xAA"
  12540			  "\xCF\xF8\x48\xCA\xFB\xE4\x5C\x60"
  12541			  "\x01\x41\x21\x12\x38\xAB\x52\x4F"
  12542			  "\xA8\x57\x20\xE0\x21\x6A\x17\x0D"
  12543			  "\x0E\xF9\x8E\x49\x42\x00\x3C\x94"
  12544			  "\x14\xC0\xD0\x8D\x8A\x98\xEB\x29"
  12545			  "\xEC\xAE\x96\x44\xC0\x3C\x48\xDC"
  12546			  "\x29\x35\x25\x2F\xE7\x11\x6C\x68"
  12547			  "\xC8\x67\x0A\x2F\xF4\x07\xBE\xF9"
  12548			  "\x2C\x31\x87\x40\xAB\xB2\xB6\xFA"
  12549			  "\xD2\xC9\x6D\x5C\x50\xE9\xE6\x7E"
  12550			  "\xE3\x0A\xD2\xD5\x6D\x8D\x64\x9E"
  12551			  "\x70\xCE\x03\x76\xDD\xE0\xF0\x8C"
  12552			  "\x84\x86\x8B\x6A\xFE\xC7\xF9\x69"
  12553			  "\x2E\xFE\xFC\xC2\xC4\x1A\x55\x58"
  12554			  "\xB3\xBE\xE2\x7E\xED\x39\x42\x6C"
  12555			  "\xB4\x42\x97\x9A\xEC\xE1\x0A\x06"
  12556			  "\x02\xC5\x03\x9D\xC4\x48\x15\x66"
  12557			  "\x35\x6A\xC2\xC9\xA2\x26\x30\xBB"
  12558			  "\xDB\x2D\xC8\x08\x2B\xA0\x29\x1A"
  12559			  "\x23\x61\x48\xEA\x80\x04\x27\xAA"
  12560			  "\x69\x49\xE8\xE8\x4A\x83\x6B\x5A"
  12561			  "\xCA\x7C\xD3\xB1\xB5\x0B\xCC\x23"
  12562			  "\x74\x1F\xA9\x87\xCD\xED\xC0\x2D"
  12563			  "\xBF\xEB\xCF\x16\x2D\x2A\x2E\x1D"
  12564			  "\x96\xBA\x36\x11\x45\x41\xDA\xCE"
  12565			  "\xA4\x48\x80\x8B\x06\xF4\x98\x89"
  12566			  "\x8B\x23\x08\x53\xF4\xD4\x5A\x24"
  12567			  "\x8B\xF8\x43\x73\xD1\xEE\xC4\xB0"
  12568			  "\xF8\xFE\x09\x0C\x75\x05\x38\x0B"
  12569			  "\x7C\x81\xDE\x9D\xE4\x61\x37\x63"
  12570			  "\x63\xAD\x12\xD2\x04\xB9\xCE\x45"
  12571			  "\x5A\x1A\x6E\xB3\x78\x2A\xA4\x74"
  12572			  "\x86\xD0\xE3\xFF\xDA\x38\x9C\xB5"
  12573			  "\xB8\xB1\xDB\x38\x2F\xC5\x6A\xB4"
  12574			  "\xEB\x6E\x96\xE8\x43\x80\xB5\x51"
  12575			  "\x61\x2D\x48\xAA\x07\x65\x11\x8C"
  12576			  "\x48\xE3\x90\x7E\x78\x3A\xEC\x97"
  12577			  "\x05\x3D\x84\xE7\x90\x2B\xAA\xBD"
  12578			  "\x83\x29\x0E\x1A\x81\x73\x7B\xE0"
  12579			  "\x7A\x01\x4A\x37\x3B\x77\x7F\x8D"
  12580			  "\x49\xA4\x2F\x6E\xBE\x68\x99\x08"
  12581			  "\x99\xAA\x4C\x12\x04\xAE\x1F\x77"
  12582			  "\x35\x88\xF1\x65\x06\x0A\x0B\x4D"
  12583			  "\x47\xF9\x50\x38\x5D\x71\xF9\x6E"
  12584			  "\xDE\xEC\x61\x35\x2C\x4C\x96\x50"
  12585			  "\xE8\x28\x93\x9C\x7E\x01\xC6\x04"
  12586			  "\xB2\xD6\xBC\x6C\x17\xEB\xC1\x7D"
  12587			  "\x11\xE9\x43\x83\x76\xAA\x53\x37"
  12588			  "\x0C\x1D\x39\x89\x53\x72\x09\x7E"
  12589			  "\xD9\x85\x16\x04\xA5\x2C\x05\x6F"
  12590			  "\x17\x0C\x6E\x66\xAA\x84\xA7\xD9"
  12591			  "\xE2\xD9\xC4\xEB\x43\x3E\xB1\x8D"
  12592			  "\x7C\x36\xC7\x71\x70\x9C\x10\xD8"
  12593			  "\xE8\x47\x2A\x4D\xFD\xA1\xBC\xE3"
  12594			  "\xB9\x32\xE2\xC1\x82\xAC\xFE\xCC"
  12595			  "\xC5\xC9\x7F\x9E\xCF\x33\x7A\xDF"
  12596			  "\x6C\x82\x9D",
  12597		.len	= 499,
  12598	},
  12599};
  12600
  12601static const struct cipher_testvec tf_lrw_tv_template[] = {
  12602	/* Generated from AES-LRW test vectors */
  12603	{
  12604		.key	= "\x45\x62\xac\x25\xf8\x28\x17\x6d"
  12605			  "\x4c\x26\x84\x14\xb5\x68\x01\x85"
  12606			  "\x25\x8e\x2a\x05\xe7\x3e\x9d\x03"
  12607			  "\xee\x5a\x83\x0c\xcc\x09\x4c\x87",
  12608		.klen	= 32,
  12609		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  12610			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  12611		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  12612			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  12613		.ctext	= "\xa1\x6c\x50\x69\x26\xa4\xef\x7b"
  12614			  "\x7c\xc6\x91\xeb\x72\xdd\x9b\xee",
  12615		.len	= 16,
  12616	}, {
  12617		.key	= "\x59\x70\x47\x14\xf5\x57\x47\x8c"
  12618			  "\xd7\x79\xe8\x0f\x54\x88\x79\x44"
  12619			  "\x0d\x48\xf0\xb7\xb1\x5a\x53\xea"
  12620			  "\x1c\xaa\x6b\x29\xc2\xca\xfb\xaf",
  12621		.klen	= 32,
  12622		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  12623			  "\x00\x00\x00\x00\x00\x00\x00\x02",
  12624		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  12625			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  12626		.ctext	= "\xab\x72\x0a\xad\x3b\x0c\xf0\xc9"
  12627			  "\x42\x2f\xf1\xae\xf1\x3c\xb1\xbd",
  12628		.len	= 16,
  12629	}, {
  12630		.key	= "\xd8\x2a\x91\x34\xb2\x6a\x56\x50"
  12631			  "\x30\xfe\x69\xe2\x37\x7f\x98\x47"
  12632			  "\xcd\xf9\x0b\x16\x0c\x64\x8f\xb6"
  12633			  "\xb0\x0d\x0d\x1b\xae\x85\x87\x1f",
  12634		.klen	= 32,
  12635		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  12636			  "\x00\x00\x00\x02\x00\x00\x00\x00",
  12637		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  12638			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  12639		.ctext	= "\x85\xa7\x56\x67\x08\xfa\x42\xe1"
  12640			  "\x22\xe6\x82\xfc\xd9\xb4\xd7\xd4",
  12641		.len	= 16,
  12642	}, {
  12643		.key	= "\x0f\x6a\xef\xf8\xd3\xd2\xbb\x15"
  12644			  "\x25\x83\xf7\x3c\x1f\x01\x28\x74"
  12645			  "\xca\xc6\xbc\x35\x4d\x4a\x65\x54"
  12646			  "\x90\xae\x61\xcf\x7b\xae\xbd\xcc"
  12647			  "\xad\xe4\x94\xc5\x4a\x29\xae\x70",
  12648		.klen	= 40,
  12649		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  12650			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  12651		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  12652			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  12653		.ctext	= "\xd2\xaf\x69\x35\x24\x1d\x0e\x1c"
  12654			  "\x84\x8b\x05\xe4\xa2\x2f\x16\xf5",
  12655		.len	= 16,
  12656	}, {
  12657		.key	= "\x8a\xd4\xee\x10\x2f\xbd\x81\xff"
  12658			  "\xf8\x86\xce\xac\x93\xc5\xad\xc6"
  12659			  "\xa0\x19\x07\xc0\x9d\xf7\xbb\xdd"
  12660			  "\x52\x13\xb2\xb7\xf0\xff\x11\xd8"
  12661			  "\xd6\x08\xd0\xcd\x2e\xb1\x17\x6f",
  12662		.klen	= 40,
  12663		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  12664			  "\x00\x00\x00\x02\x00\x00\x00\x00",
  12665		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  12666			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  12667		.ctext	= "\x4a\x23\x56\xd7\xff\x90\xd0\x9a"
  12668			  "\x0d\x7c\x26\xfc\xf0\xf0\xf6\xe4",
  12669		.len	= 16,
  12670	}, {
  12671		.key	= "\xf8\xd4\x76\xff\xd6\x46\xee\x6c"
  12672			  "\x23\x84\xcb\x1c\x77\xd6\x19\x5d"
  12673			  "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21"
  12674			  "\xa7\x9c\x21\xf8\xcb\x90\x02\x89"
  12675			  "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1"
  12676			  "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e",
  12677		.klen	= 48,
  12678		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  12679			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  12680		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  12681			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  12682		.ctext	= "\x30\xaf\x26\x05\x9d\x5d\x0a\x58"
  12683			  "\xe2\xe7\xce\x8a\xb2\x56\x6d\x76",
  12684		.len	= 16,
  12685	}, {
  12686		.key	= "\xfb\x76\x15\xb2\x3d\x80\x89\x1d"
  12687			  "\xd4\x70\x98\x0b\xc7\x95\x84\xc8"
  12688			  "\xb2\xfb\x64\xce\x60\x97\x87\x8d"
  12689			  "\x17\xfc\xe4\x5a\x49\xe8\x30\xb7"
  12690			  "\x6e\x78\x17\xe7\x2d\x5e\x12\xd4"
  12691			  "\x60\x64\x04\x7a\xf1\x2f\x9e\x0c",
  12692		.klen	= 48,
  12693		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  12694			  "\x00\x00\x00\x02\x00\x00\x00\x00",
  12695		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  12696			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  12697		.ctext	= "\xdf\xcf\xdc\xd2\xe1\xcf\x86\x75"
  12698			  "\x17\x66\x5e\x0c\x14\xa1\x3d\x40",
  12699		.len	= 16,
  12700	}, {
  12701		.key	= "\xf8\xd4\x76\xff\xd6\x46\xee\x6c"
  12702			  "\x23\x84\xcb\x1c\x77\xd6\x19\x5d"
  12703			  "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21"
  12704			  "\xa7\x9c\x21\xf8\xcb\x90\x02\x89"
  12705			  "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1"
  12706			  "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e",
  12707		.klen	= 48,
  12708		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  12709			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  12710		.ptext	= "\x05\x11\xb7\x18\xab\xc6\x2d\xac"
  12711			  "\x70\x5d\xf6\x22\x94\xcd\xe5\x6c"
  12712			  "\x17\x6b\xf6\x1c\xf0\xf3\x6e\xf8"
  12713			  "\x50\x38\x1f\x71\x49\xb6\x57\xd6"
  12714			  "\x8f\xcb\x8d\x6b\xe3\xa6\x29\x90"
  12715			  "\xfe\x2a\x62\x82\xae\x6d\x8b\xf6"
  12716			  "\xad\x1e\x9e\x20\x5f\x38\xbe\x04"
  12717			  "\xda\x10\x8e\xed\xa2\xa4\x87\xab"
  12718			  "\xda\x6b\xb4\x0c\x75\xba\xd3\x7c"
  12719			  "\xc9\xac\x42\x31\x95\x7c\xc9\x04"
  12720			  "\xeb\xd5\x6e\x32\x69\x8a\xdb\xa6"
  12721			  "\x15\xd7\x3f\x4f\x2f\x66\x69\x03"
  12722			  "\x9c\x1f\x54\x0f\xde\x1f\xf3\x65"
  12723			  "\x4c\x96\x12\xed\x7c\x92\x03\x01"
  12724			  "\x6f\xbc\x35\x93\xac\xf1\x27\xf1"
  12725			  "\xb4\x96\x82\x5a\x5f\xb0\xa0\x50"
  12726			  "\x89\xa4\x8e\x66\x44\x85\xcc\xfd"
  12727			  "\x33\x14\x70\xe3\x96\xb2\xc3\xd3"
  12728			  "\xbb\x54\x5a\x1a\xf9\x74\xa2\xc5"
  12729			  "\x2d\x64\x75\xdd\xb4\x54\xe6\x74"
  12730			  "\x8c\xd3\x9d\x9e\x86\xab\x51\x53"
  12731			  "\xb7\x93\x3e\x6f\xd0\x4e\x2c\x40"
  12732			  "\xf6\xa8\x2e\x3e\x9d\xf4\x66\xa5"
  12733			  "\x76\x12\x73\x44\x1a\x56\xd7\x72"
  12734			  "\x88\xcd\x21\x8c\x4c\x0f\xfe\xda"
  12735			  "\x95\xe0\x3a\xa6\xa5\x84\x46\xcd"
  12736			  "\xd5\x3e\x9d\x3a\xe2\x67\xe6\x60"
  12737			  "\x1a\xe2\x70\x85\x58\xc2\x1b\x09"
  12738			  "\xe1\xd7\x2c\xca\xad\xa8\x8f\xf9"
  12739			  "\xac\xb3\x0e\xdb\xca\x2e\xe2\xb8"
  12740			  "\x51\x71\xd9\x3c\x6c\xf1\x56\xf8"
  12741			  "\xea\x9c\xf1\xfb\x0c\xe6\xb7\x10"
  12742			  "\x1c\xf8\xa9\x7c\xe8\x53\x35\xc1"
  12743			  "\x90\x3e\x76\x4a\x74\xa4\x21\x2c"
  12744			  "\xf6\x2c\x4e\x0f\x94\x3a\x88\x2e"
  12745			  "\x41\x09\x6a\x33\x7d\xf6\xdd\x3f"
  12746			  "\x8d\x23\x31\x74\x84\xeb\x88\x6e"
  12747			  "\xcc\xb9\xbc\x22\x83\x19\x07\x22"
  12748			  "\xa5\x2d\xdf\xa5\xf3\x80\x85\x78"
  12749			  "\x84\x39\x6a\x6d\x6a\x99\x4f\xa5"
  12750			  "\x15\xfe\x46\xb0\xe4\x6c\xa5\x41"
  12751			  "\x3c\xce\x8f\x42\x60\x71\xa7\x75"
  12752			  "\x08\x40\x65\x8a\x82\xbf\xf5\x43"
  12753			  "\x71\x96\xa9\x4d\x44\x8a\x20\xbe"
  12754			  "\xfa\x4d\xbb\xc0\x7d\x31\x96\x65"
  12755			  "\xe7\x75\xe5\x3e\xfd\x92\x3b\xc9"
  12756			  "\x55\xbb\x16\x7e\xf7\xc2\x8c\xa4"
  12757			  "\x40\x1d\xe5\xef\x0e\xdf\xe4\x9a"
  12758			  "\x62\x73\x65\xfd\x46\x63\x25\x3d"
  12759			  "\x2b\xaf\xe5\x64\xfe\xa5\x5c\xcf"
  12760			  "\x24\xf3\xb4\xac\x64\xba\xdf\x4b"
  12761			  "\xc6\x96\x7d\x81\x2d\x8d\x97\xf7"
  12762			  "\xc5\x68\x77\x84\x32\x2b\xcc\x85"
  12763			  "\x74\x96\xf0\x12\x77\x61\xb9\xeb"
  12764			  "\x71\xaa\x82\xcb\x1c\xdb\x89\xc8"
  12765			  "\xc6\xb5\xe3\x5c\x7d\x39\x07\x24"
  12766			  "\xda\x39\x87\x45\xc0\x2b\xbb\x01"
  12767			  "\xac\xbc\x2a\x5c\x7f\xfc\xe8\xce"
  12768			  "\x6d\x9c\x6f\xed\xd3\xc1\xa1\xd6"
  12769			  "\xc5\x55\xa9\x66\x2f\xe1\xc8\x32"
  12770			  "\xa6\x5d\xa4\x3a\x98\x73\xe8\x45"
  12771			  "\xa4\xc7\xa8\xb4\xf6\x13\x03\xf6"
  12772			  "\xe9\x2e\xc4\x29\x0f\x84\xdb\xc4"
  12773			  "\x21\xc4\xc2\x75\x67\x89\x37\x0a",
  12774		.ctext	= "\x30\x38\xeb\xaf\x12\x43\x1a\x89"
  12775			  "\x62\xa2\x36\xe5\xcf\x77\x1e\xd9"
  12776			  "\x08\xc3\x0d\xdd\x95\xab\x19\x96"
  12777			  "\x27\x52\x41\xc3\xca\xfb\xf6\xee"
  12778			  "\x40\x2d\xdf\xdd\x00\x0c\xb9\x0a"
  12779			  "\x3a\xf0\xc0\xd1\xda\x63\x9e\x45"
  12780			  "\x42\xe9\x29\xc0\xb4\x07\xb4\x31"
  12781			  "\x66\x77\x72\xb5\xb6\xb3\x57\x46"
  12782			  "\x34\x9a\xfe\x03\xaf\x6b\x36\x07"
  12783			  "\x63\x8e\xc2\x5d\xa6\x0f\xb6\x7d"
  12784			  "\xfb\x6d\x82\x51\xb6\x98\xd0\x71"
  12785			  "\xe7\x10\x7a\xdf\xb2\xbd\xf1\x1d"
  12786			  "\x72\x2b\x54\x13\xe3\x6d\x79\x37"
  12787			  "\xa9\x39\x2c\xdf\x21\xab\x87\xd5"
  12788			  "\xee\xef\x9a\x12\x50\x39\x2e\x1b"
  12789			  "\x7d\xe6\x6a\x27\x48\xb9\xe7\xac"
  12790			  "\xaa\xcd\x79\x5f\xf2\xf3\xa0\x08"
  12791			  "\x6f\x2c\xf4\x0e\xd1\xb8\x89\x25"
  12792			  "\x31\x9d\xef\xb1\x1d\x27\x55\x04"
  12793			  "\xc9\x8c\xb7\x68\xdc\xb6\x67\x8a"
  12794			  "\xdb\xcf\x22\xf2\x3b\x6f\xce\xbb"
  12795			  "\x26\xbe\x4f\x27\x04\x42\xd1\x44"
  12796			  "\x4c\x08\xa3\x95\x4c\x7f\x1a\xaf"
  12797			  "\x1d\x28\x14\xfd\xb1\x1a\x34\x18"
  12798			  "\xf5\x1e\x28\x69\x95\x6a\x5a\xba"
  12799			  "\x8e\xb2\x58\x1d\x28\x17\x13\x3d"
  12800			  "\x38\x7d\x14\x8d\xab\x5d\xf9\xe8"
  12801			  "\x3c\x0f\x2b\x0d\x2b\x08\xb4\x4b"
  12802			  "\x6b\x0d\xc8\xa7\x84\xc2\x3a\x1a"
  12803			  "\xb7\xbd\xda\x92\x29\xb8\x5b\x5a"
  12804			  "\x63\xa5\x99\x82\x09\x72\x8f\xc6"
  12805			  "\xa4\x62\x24\x69\x8c\x2d\x26\x00"
  12806			  "\x99\x83\x91\xd6\xc6\xcf\x57\x67"
  12807			  "\x38\xea\xf2\xfc\x29\xe0\x73\x39"
  12808			  "\xf9\x13\x94\x6d\xe2\x58\x28\x75"
  12809			  "\x3e\xae\x71\x90\x07\x70\x1c\x38"
  12810			  "\x5b\x4c\x1e\xb5\xa5\x3b\x20\xef"
  12811			  "\xb1\x4c\x3e\x1a\x72\x62\xbb\x22"
  12812			  "\x82\x09\xe3\x18\x3f\x4f\x48\xfc"
  12813			  "\xdd\xac\xfc\xb6\x09\xdb\xd2\x7b"
  12814			  "\xd6\xb7\x7e\x41\x2f\x14\xf5\x0e"
  12815			  "\xc3\xac\x4a\xed\xe7\x82\xef\x31"
  12816			  "\x1f\x1a\x51\x1e\x29\x60\xc8\x98"
  12817			  "\x93\x51\x1d\x3d\x62\x59\x83\x82"
  12818			  "\x0c\xf1\xd7\x8d\xac\x33\x44\x81"
  12819			  "\x3c\x59\xb7\xd4\x5b\x65\x82\xc4"
  12820			  "\xec\xdc\x24\xfd\x0e\x1a\x79\x94"
  12821			  "\x34\xb0\x62\xfa\x98\x49\x26\x1f"
  12822			  "\xf4\x9e\x40\x44\x5b\x1f\xf8\xbe"
  12823			  "\x36\xff\xc6\xc6\x9d\xf2\xd6\xcc"
  12824			  "\x63\x93\x29\xb9\x0b\x6d\xd7\x6c"
  12825			  "\xdb\xf6\x21\x80\xf7\x5a\x37\x15"
  12826			  "\x0c\xe3\x36\xc8\x74\x75\x20\x91"
  12827			  "\xdf\x52\x2d\x0c\xe7\x45\xff\x46"
  12828			  "\xb3\xf4\xec\xc2\xbd\xd3\x37\xb6"
  12829			  "\x26\xa2\x5d\x7d\x61\xbf\x10\x46"
  12830			  "\x57\x8d\x05\x96\x70\x0b\xd6\x41"
  12831			  "\x5c\xe9\xd3\x54\x81\x39\x3a\xdd"
  12832			  "\x5f\x92\x81\x6e\x35\x03\xd4\x72"
  12833			  "\x3d\x5a\xe7\xb9\x3b\x0c\x84\x23"
  12834			  "\x45\x5d\xec\x72\xc1\x52\xef\x2e"
  12835			  "\x81\x00\xd3\xfe\x4c\x3c\x05\x61"
  12836			  "\x80\x18\xc4\x6c\x03\xd3\xb7\xba"
  12837			  "\x11\xd7\xb8\x6e\xea\xe1\x80\x30",
  12838		.len	= 512,
  12839	},
  12840};
  12841
  12842static const struct cipher_testvec tf_xts_tv_template[] = {
  12843	/* Generated from AES-XTS test vectors */
  12844{
  12845		.key	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  12846			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  12847			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  12848			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  12849		.klen	= 32,
  12850		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  12851			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  12852		.ptext	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  12853			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  12854			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  12855			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  12856		.ctext	= "\x4b\xc9\x44\x4a\x11\xa3\xef\xac"
  12857			  "\x30\x74\xe4\x44\x52\x77\x97\x43"
  12858			  "\xa7\x60\xb2\x45\x2e\xf9\x00\x90"
  12859			  "\x9f\xaa\xfd\x89\x6e\x9d\x4a\xe0",
  12860		.len	= 32,
  12861	}, {
  12862		.key	= "\x11\x11\x11\x11\x11\x11\x11\x11"
  12863			  "\x11\x11\x11\x11\x11\x11\x11\x11"
  12864			  "\x22\x22\x22\x22\x22\x22\x22\x22"
  12865			  "\x22\x22\x22\x22\x22\x22\x22\x22",
  12866		.klen	= 32,
  12867		.iv	= "\x33\x33\x33\x33\x33\x00\x00\x00"
  12868			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  12869		.ptext	= "\x44\x44\x44\x44\x44\x44\x44\x44"
  12870			  "\x44\x44\x44\x44\x44\x44\x44\x44"
  12871			  "\x44\x44\x44\x44\x44\x44\x44\x44"
  12872			  "\x44\x44\x44\x44\x44\x44\x44\x44",
  12873		.ctext	= "\x57\x0e\x8f\xe5\x2a\x35\x61\x4f"
  12874			  "\x32\xd3\xbd\x36\x05\x15\x44\x2c"
  12875			  "\x58\x06\xf7\xf8\x00\xa8\xb6\xd5"
  12876			  "\xc6\x28\x92\xdb\xd8\x34\xa2\xe9",
  12877		.len	= 32,
  12878	}, {
  12879		.key	= "\xff\xfe\xfd\xfc\xfb\xfa\xf9\xf8"
  12880			  "\xf7\xf6\xf5\xf4\xf3\xf2\xf1\xf0"
  12881			  "\x22\x22\x22\x22\x22\x22\x22\x22"
  12882			  "\x22\x22\x22\x22\x22\x22\x22\x22",
  12883		.klen	= 32,
  12884		.iv	= "\x33\x33\x33\x33\x33\x00\x00\x00"
  12885			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  12886		.ptext	= "\x44\x44\x44\x44\x44\x44\x44\x44"
  12887			  "\x44\x44\x44\x44\x44\x44\x44\x44"
  12888			  "\x44\x44\x44\x44\x44\x44\x44\x44"
  12889			  "\x44\x44\x44\x44\x44\x44\x44\x44",
  12890		.ctext	= "\x96\x45\x8f\x8d\x7a\x75\xb1\xde"
  12891			  "\x40\x0c\x89\x56\xf6\x4d\xa7\x07"
  12892			  "\x38\xbb\x5b\xe9\xcd\x84\xae\xb2"
  12893			  "\x7b\x6a\x62\xf4\x8c\xb5\x37\xea",
  12894		.len	= 32,
  12895	}, {
  12896		.key	= "\x27\x18\x28\x18\x28\x45\x90\x45"
  12897			  "\x23\x53\x60\x28\x74\x71\x35\x26"
  12898			  "\x31\x41\x59\x26\x53\x58\x97\x93"
  12899			  "\x23\x84\x62\x64\x33\x83\x27\x95",
  12900		.klen	= 32,
  12901		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  12902			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  12903		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  12904			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  12905			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  12906			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  12907			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  12908			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  12909			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  12910			  "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  12911			  "\x40\x41\x42\x43\x44\x45\x46\x47"
  12912			  "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  12913			  "\x50\x51\x52\x53\x54\x55\x56\x57"
  12914			  "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"
  12915			  "\x60\x61\x62\x63\x64\x65\x66\x67"
  12916			  "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f"
  12917			  "\x70\x71\x72\x73\x74\x75\x76\x77"
  12918			  "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"
  12919			  "\x80\x81\x82\x83\x84\x85\x86\x87"
  12920			  "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  12921			  "\x90\x91\x92\x93\x94\x95\x96\x97"
  12922			  "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f"
  12923			  "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  12924			  "\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  12925			  "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  12926			  "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  12927			  "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  12928			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  12929			  "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  12930			  "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf"
  12931			  "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7"
  12932			  "\xe8\xe9\xea\xeb\xec\xed\xee\xef"
  12933			  "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  12934			  "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"
  12935			  "\x00\x01\x02\x03\x04\x05\x06\x07"
  12936			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  12937			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  12938			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  12939			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  12940			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  12941			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  12942			  "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  12943			  "\x40\x41\x42\x43\x44\x45\x46\x47"
  12944			  "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  12945			  "\x50\x51\x52\x53\x54\x55\x56\x57"
  12946			  "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"
  12947			  "\x60\x61\x62\x63\x64\x65\x66\x67"
  12948			  "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f"
  12949			  "\x70\x71\x72\x73\x74\x75\x76\x77"
  12950			  "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"
  12951			  "\x80\x81\x82\x83\x84\x85\x86\x87"
  12952			  "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  12953			  "\x90\x91\x92\x93\x94\x95\x96\x97"
  12954			  "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f"
  12955			  "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  12956			  "\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  12957			  "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  12958			  "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  12959			  "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  12960			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  12961			  "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  12962			  "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf"
  12963			  "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7"
  12964			  "\xe8\xe9\xea\xeb\xec\xed\xee\xef"
  12965			  "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  12966			  "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff",
  12967		.ctext	= "\xa9\x78\xae\x1e\xea\xa2\x44\x4c"
  12968			  "\xa2\x7a\x64\x1f\xaf\x46\xc1\xe0"
  12969			  "\x6c\xb2\xf3\x92\x9a\xd6\x7d\x58"
  12970			  "\xb8\x2d\xb9\x5d\x58\x07\x66\x50"
  12971			  "\xea\x35\x35\x8c\xb2\x46\x61\x06"
  12972			  "\x5d\x65\xfc\x57\x8f\x69\x74\xab"
  12973			  "\x8a\x06\x69\xb5\x6c\xda\x66\xc7"
  12974			  "\x52\x90\xbb\x8e\x6d\x8b\xb5\xa2"
  12975			  "\x78\x1d\xc2\xa9\xc2\x73\x00\xc3"
  12976			  "\x32\x36\x7c\x97\x6b\x4e\x8a\x50"
  12977			  "\xe4\x91\x83\x96\x8f\xf4\x94\x1a"
  12978			  "\xa6\x27\xe1\x33\xcb\x91\xc6\x5f"
  12979			  "\x94\x75\xbc\xd7\x3e\x3e\x6f\x9e"
  12980			  "\xa9\x31\x80\x5e\xe5\xdb\xc8\x53"
  12981			  "\x01\x73\x68\x32\x25\x19\xfa\xfb"
  12982			  "\xe4\xcf\xb9\x3e\xa2\xa0\x8f\x31"
  12983			  "\xbf\x54\x06\x93\xa8\xb1\x0f\xb6"
  12984			  "\x7c\x3c\xde\x6f\x0f\xfb\x0c\x11"
  12985			  "\x39\x80\x39\x09\x97\x65\xf2\x83"
  12986			  "\xae\xe6\xa1\x6f\x47\xb8\x49\xde"
  12987			  "\x99\x36\x20\x7d\x97\x3b\xec\xfa"
  12988			  "\xb4\x33\x6e\x7a\xc7\x46\x84\x49"
  12989			  "\x91\xcd\xe1\x57\x0d\xed\x40\x08"
  12990			  "\x13\xf1\x4e\x3e\xa4\xa4\x5c\xe6"
  12991			  "\xd2\x0c\x20\x8f\x3e\xdf\x3f\x47"
  12992			  "\x9a\x2f\xde\x6d\x66\xc9\x99\x4a"
  12993			  "\x2d\x9e\x9d\x4b\x1a\x27\xa2\x12"
  12994			  "\x99\xf0\xf8\xb1\xb6\xf6\x57\xc3"
  12995			  "\xca\x1c\xa3\x8e\xed\x39\x28\xb5"
  12996			  "\x10\x1b\x4b\x08\x42\x00\x4a\xd3"
  12997			  "\xad\x5a\xc6\x8e\xc8\xbb\x95\xc4"
  12998			  "\x4b\xaa\xfe\xd5\x42\xa8\xa3\x6d"
  12999			  "\x3c\xf3\x34\x91\x2d\xb4\xdd\x20"
  13000			  "\x0c\x90\x6d\xa3\x9b\x66\x9d\x24"
  13001			  "\x02\xa6\xa9\x3f\x3f\x58\x5d\x47"
  13002			  "\x24\x65\x63\x7e\xbd\x8c\xe6\x52"
  13003			  "\x7d\xef\x33\x53\x63\xec\xaa\x0b"
  13004			  "\x64\x15\xa9\xa6\x1f\x10\x00\x38"
  13005			  "\x35\xa8\xe7\xbe\x23\x70\x22\xe0"
  13006			  "\xd3\xb9\xe6\xfd\xe6\xaa\x03\x50"
  13007			  "\xf3\x3c\x27\x36\x8b\xcc\xfe\x9c"
  13008			  "\x9c\xa3\xb3\xe7\x68\x9b\xa2\x71"
  13009			  "\xe0\x07\xd9\x1f\x68\x1f\xac\x5e"
  13010			  "\x7a\x74\x85\xa9\x6a\x90\xab\x2c"
  13011			  "\x38\x51\xbc\x1f\x43\x4a\x56\x1c"
  13012			  "\xf8\x47\x03\x4e\x67\xa8\x1f\x99"
  13013			  "\x04\x39\x73\x32\xb2\x86\x79\xe7"
  13014			  "\x14\x28\x70\xb8\xe2\x7d\x69\x85"
  13015			  "\xb6\x0f\xc5\xd0\xd0\x01\x5c\xe6"
  13016			  "\x09\x0f\x75\xf7\xb6\x81\xd2\x11"
  13017			  "\x20\x9c\xa1\xee\x11\x44\x79\xd0"
  13018			  "\xb2\x34\x77\xda\x10\x9a\x6f\x6f"
  13019			  "\xef\x7c\xd9\xdc\x35\xb7\x61\xdd"
  13020			  "\xf1\xa4\xc6\x1c\xbf\x05\x22\xac"
  13021			  "\xfe\x2f\x85\x00\x44\xdf\x33\x16"
  13022			  "\x35\xb6\xa3\xd3\x70\xdf\x69\x35"
  13023			  "\x6a\xc7\xb4\x99\x45\x27\xc8\x8e"
  13024			  "\x5a\x14\x30\xd0\x55\x3e\x4f\x64"
  13025			  "\x0d\x38\xe3\xdf\x8b\xa8\x93\x26"
  13026			  "\x75\xae\xf6\xb5\x23\x0b\x17\x31"
  13027			  "\xbf\x27\xb8\xb5\x94\x31\xa7\x8f"
  13028			  "\x43\xc4\x46\x24\x22\x4f\x8f\x7e"
  13029			  "\xe5\xf4\x6d\x1e\x0e\x18\x7a\xbb"
  13030			  "\xa6\x8f\xfb\x49\x49\xd8\x7e\x5a",
  13031		.len	= 512,
  13032	}, {
  13033		.key	= "\x27\x18\x28\x18\x28\x45\x90\x45"
  13034			  "\x23\x53\x60\x28\x74\x71\x35\x26"
  13035			  "\x62\x49\x77\x57\x24\x70\x93\x69"
  13036			  "\x99\x59\x57\x49\x66\x96\x76\x27"
  13037			  "\x31\x41\x59\x26\x53\x58\x97\x93"
  13038			  "\x23\x84\x62\x64\x33\x83\x27\x95"
  13039			  "\x02\x88\x41\x97\x16\x93\x99\x37"
  13040			  "\x51\x05\x82\x09\x74\x94\x45\x92",
  13041		.klen	= 64,
  13042		.iv	= "\xff\x00\x00\x00\x00\x00\x00\x00"
  13043			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  13044		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  13045			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  13046			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  13047			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  13048			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  13049			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  13050			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  13051			  "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  13052			  "\x40\x41\x42\x43\x44\x45\x46\x47"
  13053			  "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  13054			  "\x50\x51\x52\x53\x54\x55\x56\x57"
  13055			  "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"
  13056			  "\x60\x61\x62\x63\x64\x65\x66\x67"
  13057			  "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f"
  13058			  "\x70\x71\x72\x73\x74\x75\x76\x77"
  13059			  "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"
  13060			  "\x80\x81\x82\x83\x84\x85\x86\x87"
  13061			  "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  13062			  "\x90\x91\x92\x93\x94\x95\x96\x97"
  13063			  "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f"
  13064			  "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  13065			  "\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  13066			  "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  13067			  "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  13068			  "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  13069			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  13070			  "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  13071			  "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf"
  13072			  "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7"
  13073			  "\xe8\xe9\xea\xeb\xec\xed\xee\xef"
  13074			  "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  13075			  "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"
  13076			  "\x00\x01\x02\x03\x04\x05\x06\x07"
  13077			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  13078			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  13079			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  13080			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  13081			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  13082			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  13083			  "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  13084			  "\x40\x41\x42\x43\x44\x45\x46\x47"
  13085			  "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  13086			  "\x50\x51\x52\x53\x54\x55\x56\x57"
  13087			  "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"
  13088			  "\x60\x61\x62\x63\x64\x65\x66\x67"
  13089			  "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f"
  13090			  "\x70\x71\x72\x73\x74\x75\x76\x77"
  13091			  "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"
  13092			  "\x80\x81\x82\x83\x84\x85\x86\x87"
  13093			  "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  13094			  "\x90\x91\x92\x93\x94\x95\x96\x97"
  13095			  "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f"
  13096			  "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  13097			  "\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  13098			  "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  13099			  "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  13100			  "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  13101			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  13102			  "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  13103			  "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf"
  13104			  "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7"
  13105			  "\xe8\xe9\xea\xeb\xec\xed\xee\xef"
  13106			  "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  13107			  "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff",
  13108		.ctext	= "\xd7\x4b\x93\x7d\x13\xa2\xa2\xe1"
  13109			  "\x35\x39\x71\x88\x76\x1e\xc9\xea"
  13110			  "\x86\xad\xf3\x14\x48\x3d\x5e\xe9"
  13111			  "\xe9\x2d\xb2\x56\x59\x35\x9d\xec"
  13112			  "\x84\xfa\x7e\x9d\x6d\x33\x36\x8f"
  13113			  "\xce\xf4\xa9\x21\x0b\x5f\x96\xec"
  13114			  "\xcb\xf9\x57\x68\x33\x88\x39\xbf"
  13115			  "\x2f\xbb\x59\x03\xbd\x66\x8b\x11"
  13116			  "\x11\x65\x51\x2e\xb8\x67\x05\xd1"
  13117			  "\x27\x11\x5c\xd4\xcc\x97\xc2\xb3"
  13118			  "\xa9\x55\xaf\x07\x56\xd1\xdc\xf5"
  13119			  "\x85\xdc\x46\xe6\xf0\x24\xeb\x93"
  13120			  "\x4d\xf0\x9b\xf5\x73\x1c\xda\x03"
  13121			  "\x22\xc8\x3a\x4f\xb4\x19\x91\x09"
  13122			  "\x54\x0b\xf6\xfe\x17\x3d\x1a\x53"
  13123			  "\x72\x60\x79\xcb\x0e\x32\x8a\x77"
  13124			  "\xd5\xed\xdb\x33\xd7\x62\x16\x69"
  13125			  "\x63\xe0\xab\xb5\xf6\x9c\x5f\x3d"
  13126			  "\x69\x35\x61\x86\xf8\x86\xb9\x89"
  13127			  "\x6e\x59\x35\xac\xf6\x6b\x33\xa0"
  13128			  "\xea\xef\x96\x62\xd8\xa9\xcf\x56"
  13129			  "\xbf\xdb\x8a\xfd\xa1\x82\x77\x73"
  13130			  "\x3d\x94\x4a\x49\x42\x6d\x08\x60"
  13131			  "\xa1\xea\xab\xb6\x88\x13\x94\xb8"
  13132			  "\x51\x98\xdb\x35\x85\xdf\xf6\xb9"
  13133			  "\x8f\xcd\xdf\x80\xd3\x40\x2d\x72"
  13134			  "\xb8\xb2\x6c\x02\x43\x35\x22\x2a"
  13135			  "\x31\xed\xcd\x16\x19\xdf\x62\x0f"
  13136			  "\x29\xcf\x87\x04\xec\x02\x4f\xe4"
  13137			  "\xa2\xed\x73\xc6\x69\xd3\x7e\x89"
  13138			  "\x0b\x76\x10\x7c\xd6\xf9\x6a\x25"
  13139			  "\xed\xcc\x60\x5d\x61\x20\xc1\x97"
  13140			  "\x56\x91\x57\x28\xbe\x71\x0d\xcd"
  13141			  "\xde\xc4\x9e\x55\x91\xbe\xd1\x28"
  13142			  "\x9b\x90\xeb\x73\xf3\x68\x51\xc6"
  13143			  "\xdf\x82\xcc\xd8\x1f\xce\x5b\x27"
  13144			  "\xc0\x60\x5e\x33\xd6\xa7\x20\xea"
  13145			  "\xb2\x54\xc7\x5d\x6a\x3b\x67\x47"
  13146			  "\xcf\xa0\xe3\xab\x86\xaf\xc1\x42"
  13147			  "\xe6\xb0\x23\x4a\xaf\x53\xdf\xa0"
  13148			  "\xad\x12\x32\x31\x03\xf7\x21\xbe"
  13149			  "\x2d\xd5\x82\x42\xb6\x4a\x3d\xcd"
  13150			  "\xd8\x81\x77\xa9\x49\x98\x6c\x09"
  13151			  "\xc5\xa3\x61\x12\x62\x85\x6b\xcd"
  13152			  "\xb3\xf4\x20\x0c\x41\xc4\x05\x37"
  13153			  "\x46\x5f\xeb\x71\x8b\xf1\xaf\x6e"
  13154			  "\xba\xf3\x50\x2e\xfe\xa8\x37\xeb"
  13155			  "\xe8\x8c\x4f\xa4\x0c\xf1\x31\xc8"
  13156			  "\x6e\x71\x4f\xa5\xd7\x97\x73\xe0"
  13157			  "\x93\x4a\x2f\xda\x7b\xe0\x20\x54"
  13158			  "\x1f\x8d\x85\x79\x0b\x7b\x5e\x75"
  13159			  "\xb9\x07\x67\xcc\xc8\xe7\x21\x15"
  13160			  "\xa7\xc8\x98\xff\x4b\x80\x1c\x12"
  13161			  "\xa8\x54\xe1\x38\x52\xe6\x74\x81"
  13162			  "\x97\x47\xa1\x41\x0e\xc0\x50\xe3"
  13163			  "\x55\x0e\xc3\xa7\x70\x77\xce\x07"
  13164			  "\xed\x8c\x88\xe6\xa1\x5b\x14\xec"
  13165			  "\xe6\xde\x06\x6d\x74\xc5\xd9\xfa"
  13166			  "\xe5\x2f\x5a\xff\xc8\x05\xee\x27"
  13167			  "\x35\x61\xbf\x0b\x19\x78\x9b\xd2"
  13168			  "\x04\xc7\x05\xb1\x79\xb4\xff\x5f"
  13169			  "\xf3\xea\x67\x52\x78\xc2\xce\x70"
  13170			  "\xa4\x05\x0b\xb2\xb3\xa8\x30\x97"
  13171			  "\x37\x30\xe1\x91\x8d\xb3\x2a\xff",
  13172		.len	= 512,
  13173	},
  13174};
  13175
  13176/*
  13177 * Serpent test vectors.  These are backwards because Serpent writes
  13178 * octet sequences in right-to-left mode.
  13179 */
  13180static const struct cipher_testvec serpent_tv_template[] = {
  13181	{
  13182		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  13183			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  13184		.ctext	= "\x12\x07\xfc\xce\x9b\xd0\xd6\x47"
  13185			  "\x6a\xe9\x8f\xbe\xd1\x43\xa0\xe2",
  13186		.len	= 16,
  13187	}, {
  13188		.key	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  13189			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  13190		.klen	= 16,
  13191		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  13192			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  13193		.ctext	= "\x4c\x7d\x8a\x32\x80\x72\xa2\x2c"
  13194			  "\x82\x3e\x4a\x1f\x3a\xcd\xa1\x6d",
  13195		.len	= 16,
  13196	}, {
  13197		.key	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  13198			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  13199			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  13200			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f",
  13201		.klen	= 32,
  13202		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  13203			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  13204		.ctext	= "\xde\x26\x9f\xf8\x33\xe4\x32\xb8"
  13205			  "\x5b\x2e\x88\xd2\x70\x1c\xe7\x5c",
  13206		.len	= 16,
  13207	}, {
  13208		.key	= "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80",
  13209		.klen	= 16,
  13210		.ptext	= zeroed_string,
  13211		.ctext	= "\xdd\xd2\x6b\x98\xa5\xff\xd8\x2c"
  13212			  "\x05\x34\x5a\x9d\xad\xbf\xaf\x49",
  13213		.len	= 16,
  13214	}, { /* Generated with Crypto++ */
  13215		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  13216			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
  13217			  "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
  13218			  "\x78\xBE\x9B\x78\x55\x32\x0F\x55",
  13219		.klen	= 32,
  13220		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  13221			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  13222			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  13223			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  13224			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  13225			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  13226			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  13227			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  13228			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  13229			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  13230			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  13231			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  13232			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  13233			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  13234			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  13235			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  13236			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  13237			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  13238			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  13239			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  13240			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  13241			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  13242			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  13243			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  13244			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  13245			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  13246			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  13247			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  13248			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  13249			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  13250			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  13251			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  13252			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  13253			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  13254			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  13255			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  13256			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  13257			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  13258			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  13259			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  13260			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  13261			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  13262			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  13263			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  13264			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  13265			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  13266			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  13267			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  13268			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  13269			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  13270			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  13271			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  13272			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  13273			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  13274			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  13275			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  13276			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  13277			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  13278			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  13279			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  13280			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  13281			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
  13282		.ctext	= "\xFB\xB0\x5D\xDE\xC0\xFE\xFC\xEB"
  13283			  "\xB1\x80\x10\x43\xDE\x62\x70\xBD"
  13284			  "\xFA\x8A\x93\xEA\x6B\xF7\xC5\xD7"
  13285			  "\x0C\xD1\xBB\x29\x25\x14\x4C\x22"
  13286			  "\x77\xA6\x38\x00\xDB\xB9\xE2\x07"
  13287			  "\xD1\xAC\x82\xBA\xEA\x67\xAA\x39"
  13288			  "\x99\x34\x89\x5B\x54\xE9\x12\x13"
  13289			  "\x3B\x04\xE5\x12\x42\xC5\x79\xAB"
  13290			  "\x0D\xC7\x3C\x58\x2D\xA3\x98\xF6"
  13291			  "\xE4\x61\x9E\x17\x0B\xCE\xE8\xAA"
  13292			  "\xB5\x6C\x1A\x3A\x67\x52\x81\x6A"
  13293			  "\x04\xFF\x8A\x1B\x96\xFE\xE6\x87"
  13294			  "\x3C\xD4\x39\x7D\x36\x9B\x03\xD5"
  13295			  "\xB6\xA0\x75\x3C\x83\xE6\x1C\x73"
  13296			  "\x9D\x74\x2B\x77\x53\x2D\xE5\xBD"
  13297			  "\x69\xDA\x7A\x01\xF5\x6A\x70\x39"
  13298			  "\x30\xD4\x2C\xF2\x8E\x06\x4B\x39"
  13299			  "\xB3\x12\x1D\xB3\x17\x46\xE6\xD6"
  13300			  "\xB6\x31\x36\x34\x38\x3C\x1D\x69"
  13301			  "\x9F\x47\x28\x9A\x1D\x96\x70\x54"
  13302			  "\x8E\x88\xCB\xE0\xF5\x6A\xAE\x0A"
  13303			  "\x3C\xD5\x93\x1C\x21\xC9\x14\x3A"
  13304			  "\x23\x9C\x9B\x79\xC7\x75\xC8\x39"
  13305			  "\xA6\xAC\x65\x9A\x99\x37\xAF\x6D"
  13306			  "\xBD\xB5\x32\xFD\xD8\x9C\x95\x7B"
  13307			  "\xC6\x6A\x80\x64\xEA\xEF\x6D\x3F"
  13308			  "\xA9\xFE\x5B\x16\xA3\xCF\x32\xC8"
  13309			  "\xEF\x50\x22\x20\x93\x30\xBE\xE2"
  13310			  "\x38\x05\x65\xAF\xBA\xB6\xE4\x72"
  13311			  "\xA9\xEE\x05\x42\x88\xBD\x9D\x49"
  13312			  "\xAD\x93\xCA\x4D\x45\x11\x43\x4D"
  13313			  "\xB8\xF5\x74\x2B\x48\xE7\x21\xE4"
  13314			  "\x4E\x3A\x4C\xDE\x65\x7A\x5A\xAD"
  13315			  "\x86\xE6\x23\xEC\x6B\xA7\x17\xE6"
  13316			  "\xF6\xA1\xAC\x29\xAE\xF9\x9B\x69"
  13317			  "\x73\x65\x65\x51\xD6\x0B\x4E\x8C"
  13318			  "\x17\x15\x9D\xB0\xCF\xB2\x42\x2B"
  13319			  "\x51\xC3\x03\xE8\xB7\x7D\x2D\x39"
  13320			  "\xE8\x10\x93\x16\xC8\x68\x4C\x60"
  13321			  "\x87\x70\x14\xD0\x01\x57\xCB\x42"
  13322			  "\x13\x59\xB1\x7F\x12\x4F\xBB\xC7"
  13323			  "\xBD\x2B\xD4\xA9\x12\x26\x4F\xDE"
  13324			  "\xFD\x72\xEC\xD7\x6F\x97\x14\x90"
  13325			  "\x0E\x37\x13\xE6\x67\x1D\xE5\xFE"
  13326			  "\x9E\x18\x3C\x8F\x3A\x3F\x59\x9B"
  13327			  "\x71\x80\x05\x35\x3F\x40\x0B\x21"
  13328			  "\x76\xE5\xEF\x42\x6C\xDB\x31\x05"
  13329			  "\x5F\x05\xCF\x14\xE3\xF0\x61\xA2"
  13330			  "\x49\x03\x5E\x77\x2E\x20\xBA\xA1"
  13331			  "\xAF\x46\x51\xC0\x2B\xC4\x64\x1E"
  13332			  "\x65\xCC\x51\x58\x0A\xDF\xF0\x5F"
  13333			  "\x75\x9F\x48\xCD\x81\xEC\xC3\xF6"
  13334			  "\xED\xC9\x4B\x7B\x4E\x26\x23\xE1"
  13335			  "\xBB\xE9\x83\x0B\xCF\xE4\xDE\x00"
  13336			  "\x48\xFF\xBF\x6C\xB4\x72\x16\xEF"
  13337			  "\xC7\x46\xEE\x48\x8C\xB8\xAF\x45"
  13338			  "\x91\x76\xE7\x6E\x65\x3D\x15\x86"
  13339			  "\x10\xF8\xDB\x66\x97\x7C\x43\x4D"
  13340			  "\x79\x12\x4E\xCE\x06\xD1\xD1\x6A"
  13341			  "\x34\xC1\xC9\xF2\x28\x4A\xCD\x02"
  13342			  "\x75\x55\x9B\xFF\x36\x73\xAB\x7C"
  13343			  "\xF4\x46\x2E\xEB\xAC\xF3\xD2\xB7",
  13344		.len	= 496,
  13345	},
  13346};
  13347
  13348static const struct cipher_testvec serpent_cbc_tv_template[] = {
  13349	{ /* Generated with Crypto++ */
  13350		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  13351			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
  13352			  "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
  13353			  "\x78\xBE\x9B\x78\x55\x32\x0F\x55",
  13354		.klen	= 32,
  13355		.iv	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F"
  13356			  "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64",
  13357		.iv_out	= "\xFC\x66\xAA\x37\xF2\x37\x39\x6B"
  13358			  "\xBC\x08\x3A\xA2\x29\xB3\xDF\xD1",
  13359		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  13360			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  13361			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  13362			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  13363			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  13364			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  13365			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  13366			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  13367			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  13368			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  13369			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  13370			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  13371			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  13372			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  13373			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  13374			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  13375			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  13376			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  13377			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  13378			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  13379			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  13380			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  13381			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  13382			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  13383			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  13384			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  13385			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  13386			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  13387			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  13388			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  13389			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  13390			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  13391			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  13392			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  13393			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  13394			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  13395			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  13396			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  13397			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  13398			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  13399			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  13400			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  13401			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  13402			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  13403			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  13404			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  13405			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  13406			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  13407			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  13408			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  13409			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  13410			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  13411			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  13412			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  13413			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  13414			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  13415			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  13416			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  13417			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  13418			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  13419			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  13420			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
  13421		.ctext	= "\x80\xCF\x11\x41\x1A\xB9\x4B\x9C"
  13422			  "\xFF\xB7\x6C\xEA\xF0\xAF\x77\x6E"
  13423			  "\x71\x75\x95\x9D\x4E\x1C\xCF\xAD"
  13424			  "\x81\x34\xE9\x8F\xAE\x5A\x91\x1C"
  13425			  "\x38\x63\x35\x7E\x79\x18\x0A\xE8"
  13426			  "\x67\x06\x76\xD5\xFF\x22\x2F\xDA"
  13427			  "\xB6\x2D\x57\x13\xB6\x3C\xBC\x97"
  13428			  "\xFE\x53\x75\x35\x97\x7F\x51\xEA"
  13429			  "\xDF\x5D\xE8\x9D\xCC\xD9\xAE\xE7"
  13430			  "\x62\x67\xFF\x04\xC2\x18\x22\x5F"
  13431			  "\x2E\x06\xC1\xE2\x26\xCD\xC6\x1E"
  13432			  "\xE5\x2C\x4E\x87\x23\xDD\xF0\x41"
  13433			  "\x08\xA5\xB4\x3E\x07\x1E\x0B\xBB"
  13434			  "\x72\x84\xF8\x0A\x3F\x38\x5E\x91"
  13435			  "\x15\x26\xE1\xDB\xA4\x3D\x74\xD2"
  13436			  "\x41\x1E\x3F\xA9\xC6\x7D\x2A\xAB"
  13437			  "\x27\xDF\x89\x1D\x86\x3E\xF7\x5A"
  13438			  "\xF6\xE3\x0F\xC7\x6B\x4C\x96\x7C"
  13439			  "\x2D\x12\xA5\x05\x92\xCB\xD7\x4A"
  13440			  "\x4D\x1E\x88\x21\xE1\x63\xB4\xFC"
  13441			  "\x4A\xF2\xCD\x35\xB9\xD7\x70\x97"
  13442			  "\x5A\x5E\x7E\x96\x52\x20\xDC\x25"
  13443			  "\xE9\x6B\x36\xB4\xE0\x98\x85\x2C"
  13444			  "\x3C\xD2\xF7\x78\x8A\x73\x26\x9B"
  13445			  "\xAF\x0B\x11\xE8\x4D\x67\x23\xE9"
  13446			  "\x77\xDF\x58\xF6\x6F\x9E\xA4\xC5"
  13447			  "\x10\xA1\x82\x0E\x80\xA0\x8F\x4B"
  13448			  "\xA1\xC0\x12\x54\x4E\xC9\x20\x92"
  13449			  "\x11\x00\x10\x4E\xB3\x7C\xCA\x63"
  13450			  "\xE5\x3F\xD3\x41\x37\xCD\x74\xB7"
  13451			  "\xA5\x7C\x61\xB8\x0B\x7A\x7F\x4D"
  13452			  "\xFE\x96\x7D\x1B\xBE\x60\x37\xB7"
  13453			  "\x81\x92\x66\x67\x15\x1E\x39\x98"
  13454			  "\x52\xC0\xF4\x69\xC0\x99\x4F\x5A"
  13455			  "\x2E\x32\xAD\x7C\x8B\xE9\xAD\x05"
  13456			  "\x55\xF9\x0A\x1F\x97\x5C\xFA\x2B"
  13457			  "\xF4\x99\x76\x3A\x6E\x4D\xE1\x4C"
  13458			  "\x14\x4E\x6F\x87\xEE\x1A\x85\xA3"
  13459			  "\x96\xC6\x66\x49\xDA\x0D\x71\xAC"
  13460			  "\x04\x05\x46\xD3\x90\x0F\x64\x64"
  13461			  "\x01\x66\x2C\x62\x5D\x34\xD1\xCB"
  13462			  "\x3A\x24\xCE\x95\xEF\xAE\x2C\x97"
  13463			  "\x0E\x0C\x1D\x36\x49\xEB\xE9\x3D"
  13464			  "\x62\xA6\x19\x28\x9E\x26\xB4\x3F"
  13465			  "\xD7\x55\x42\x3C\xCD\x72\x0A\xF0"
  13466			  "\x7D\xE9\x95\x45\x86\xED\xB1\xE0"
  13467			  "\x8D\xE9\xC5\x86\x13\x24\x28\x7D"
  13468			  "\x74\xEF\xCA\x50\x12\x7E\x64\x8F"
  13469			  "\x1B\xF5\x5B\xFE\xE2\xAC\xFA\xE7"
  13470			  "\xBD\x38\x8C\x11\x20\xEF\xB1\xAA"
  13471			  "\x7B\xE5\xE5\x78\xAD\x9D\x2D\xA2"
  13472			  "\x8E\xDD\x48\xB3\xEF\x18\x92\x7E"
  13473			  "\xE6\x75\x0D\x54\x64\x11\xA3\x3A"
  13474			  "\xDB\x97\x0F\xD3\xDF\x07\xD3\x7E"
  13475			  "\x1E\xD1\x87\xE4\x74\xBB\x46\xF4"
  13476			  "\xBA\x23\x2D\x8D\x29\x07\x12\xCF"
  13477			  "\x34\xCD\x72\x7F\x01\x30\xE7\xA0"
  13478			  "\xF8\xDD\xA8\x08\xF0\xBC\xB1\xA2"
  13479			  "\xCC\xE1\x6B\x5F\xBE\xEA\xF1\xE4"
  13480			  "\x02\xC4\xAF\xFA\xAD\x31\xF4\xBF"
  13481			  "\xFC\x66\xAA\x37\xF2\x37\x39\x6B"
  13482			  "\xBC\x08\x3A\xA2\x29\xB3\xDF\xD1",
  13483		.len	= 496,
  13484	},
  13485};
  13486
  13487static const struct cipher_testvec serpent_ctr_tv_template[] = {
  13488	{ /* Generated with Crypto++ */
  13489		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  13490			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
  13491			  "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
  13492			  "\x78\xBE\x9B\x78\x55\x32\x0F\x55",
  13493		.klen	= 32,
  13494		.iv	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F"
  13495			  "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64",
  13496		.iv_out	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F"
  13497			  "\xC4\x29\x8E\xF3\x35\x9A\xFF\x83",
  13498		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  13499			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  13500			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  13501			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  13502			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  13503			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  13504			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  13505			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  13506			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  13507			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  13508			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  13509			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  13510			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  13511			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  13512			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  13513			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  13514			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  13515			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  13516			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  13517			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  13518			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  13519			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  13520			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  13521			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  13522			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  13523			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  13524			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  13525			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  13526			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  13527			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  13528			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  13529			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  13530			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  13531			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  13532			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  13533			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  13534			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  13535			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  13536			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  13537			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  13538			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  13539			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  13540			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  13541			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  13542			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  13543			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  13544			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  13545			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  13546			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  13547			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  13548			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  13549			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  13550			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  13551			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  13552			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  13553			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  13554			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  13555			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  13556			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  13557			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  13558			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  13559			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
  13560		.ctext	= "\x84\x68\xEC\xF2\x1C\x88\x20\xCA"
  13561			  "\x37\x69\xE3\x3A\x22\x85\x48\x46"
  13562			  "\x70\xAA\x25\xB4\xCD\x8B\x04\x4E"
  13563			  "\x8D\x15\x2B\x98\xDF\x7B\x6D\xB9"
  13564			  "\xE0\x4A\x73\x00\x65\xB6\x1A\x0D"
  13565			  "\x5C\x60\xDF\x34\xDC\x60\x4C\xDF"
  13566			  "\xB5\x1F\x26\x8C\xDA\xC1\x11\xA8"
  13567			  "\x80\xFA\x37\x7A\x89\xAA\xAE\x7B"
  13568			  "\x92\x6E\xB9\xDC\xC9\x62\x4F\x88"
  13569			  "\x0A\x5D\x97\x2F\x6B\xAC\x03\x7C"
  13570			  "\x22\xF6\x55\x5A\xFA\x35\xA5\x17"
  13571			  "\xA1\x5C\x5E\x2B\x63\x2D\xB9\x91"
  13572			  "\x3E\x83\x26\x00\x4E\xD5\xBE\xCE"
  13573			  "\x79\xC4\x3D\xFC\x70\xA0\xAD\x96"
  13574			  "\xBA\x58\x2A\x1C\xDF\xC2\x3A\xA5"
  13575			  "\x7C\xB5\x12\x89\xED\xBF\xB6\x09"
  13576			  "\x13\x4F\x7D\x61\x3C\x5C\x27\xFC"
  13577			  "\x5D\xE1\x4F\xA1\xEA\xB3\xCA\xB9"
  13578			  "\xE6\xD0\x97\x81\xDE\xD1\xFB\x8A"
  13579			  "\x30\xDB\xA3\x5D\xEC\x25\x0B\x86"
  13580			  "\x71\xC8\xA7\x67\xE8\xBC\x7D\x4C"
  13581			  "\xAE\x82\xD3\x73\x31\x09\xCB\xB3"
  13582			  "\x4D\xD4\xC0\x8A\x2B\xFA\xA6\x55"
  13583			  "\x39\x0A\xBC\x6E\x75\xAB\xC2\xE2"
  13584			  "\x8A\xF2\x26\xCD\x63\x38\x35\xF7"
  13585			  "\xAE\x12\x83\xCD\x8A\x9E\x7E\x4C"
  13586			  "\xFE\x4D\xD7\xCE\x5C\x6E\x4C\xAF"
  13587			  "\xE3\xCD\x76\xA7\x87\xA1\x54\x7C"
  13588			  "\xEC\x32\xC7\x83\x2A\xFF\xF8\xEA"
  13589			  "\x87\xB2\x47\xA3\x9D\xC2\x9C\xA2"
  13590			  "\xB7\x2C\x7C\x1A\x24\xCB\x88\x61"
  13591			  "\xFF\xA7\x1A\x16\x01\xDD\x4B\xFC"
  13592			  "\x2E\xE0\x48\x67\x09\x42\xCC\x91"
  13593			  "\xBE\x20\x38\xC0\x5E\x3B\x95\x00"
  13594			  "\xA1\x96\x66\x0B\x8A\xE9\x9E\xF7"
  13595			  "\x6B\x34\x0A\x51\xC0\x3B\xEB\x71"
  13596			  "\x07\x97\x38\x4B\x5C\x56\x98\x67"
  13597			  "\x78\x9C\xD0\x0E\x2B\xB5\x67\x90"
  13598			  "\x75\xF8\xFE\x6D\x4E\x85\xCC\x0D"
  13599			  "\x18\x06\x15\x9D\x5A\x10\x13\x37"
  13600			  "\xA3\xD6\x68\xA2\xDF\x7E\xC7\x12"
  13601			  "\xC9\x0D\x4D\x91\xB0\x2A\x55\xFF"
  13602			  "\x6F\x73\x13\xDF\x28\xB5\x2A\x2C"
  13603			  "\xE4\xFC\x20\xD9\xF1\x7A\x82\xB1"
  13604			  "\xCB\x57\xB6\x3D\x8C\xF4\x8E\x27"
  13605			  "\x37\xDC\x35\xF3\x79\x01\x53\xA4"
  13606			  "\x7B\x37\xDE\x7C\x04\xAE\x50\xDB"
  13607			  "\x9B\x1E\x8C\x07\xA7\x52\x49\x50"
  13608			  "\x34\x25\x65\xDD\xA9\x8F\x7E\xBD"
  13609			  "\x7A\xC9\x36\xAE\xDE\x21\x48\x64"
  13610			  "\xC2\x02\xBA\xBE\x11\x1E\x3D\x9C"
  13611			  "\x98\x52\xCC\x04\xBD\x5E\x61\x26"
  13612			  "\x10\xD3\x21\xD9\x6E\x25\x98\x77"
  13613			  "\x8E\x98\x63\xF6\xF6\x52\xFB\x13"
  13614			  "\xAA\x30\xF2\xB9\xA4\x43\x53\x39"
  13615			  "\x1C\x97\x07\x7E\x6B\xFF\x3D\x43"
  13616			  "\xA6\x71\x6B\x66\x8F\x58\x3F\x71"
  13617			  "\x90\x47\x40\x92\xE6\x69\xD1\x96"
  13618			  "\x34\xB3\x3B\xE5\x43\xE4\xD5\x56"
  13619			  "\xB2\xE6\x7E\x86\x7A\x12\x17\x5B"
  13620			  "\x30\xF3\x9B\x0D\xFA\x57\xE4\x50"
  13621			  "\x40\x53\x77\x8C\x15\xF8\x8D\x13",
  13622		.len	= 496,
  13623	}, { /* Generated with Crypto++ */
  13624		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  13625			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
  13626			  "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
  13627			  "\x78\xBE\x9B\x78\x55\x32\x0F\x55",
  13628		.klen	= 32,
  13629		.iv	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F"
  13630			  "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64",
  13631		.iv_out	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F"
  13632			  "\xC4\x29\x8E\xF3\x35\x9A\xFF\x84",
  13633		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  13634			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  13635			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  13636			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  13637			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  13638			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  13639			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  13640			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  13641			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  13642			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  13643			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  13644			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  13645			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  13646			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  13647			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  13648			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  13649			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  13650			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  13651			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  13652			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  13653			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  13654			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  13655			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  13656			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  13657			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  13658			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  13659			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  13660			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  13661			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  13662			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  13663			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  13664			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  13665			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  13666			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  13667			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  13668			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  13669			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  13670			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  13671			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  13672			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  13673			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  13674			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  13675			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  13676			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  13677			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  13678			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  13679			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  13680			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  13681			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  13682			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  13683			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  13684			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  13685			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  13686			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  13687			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  13688			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  13689			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  13690			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  13691			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  13692			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  13693			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  13694			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
  13695			  "\x2B\xC2\x59",
  13696		.ctext	= "\x84\x68\xEC\xF2\x1C\x88\x20\xCA"
  13697			  "\x37\x69\xE3\x3A\x22\x85\x48\x46"
  13698			  "\x70\xAA\x25\xB4\xCD\x8B\x04\x4E"
  13699			  "\x8D\x15\x2B\x98\xDF\x7B\x6D\xB9"
  13700			  "\xE0\x4A\x73\x00\x65\xB6\x1A\x0D"
  13701			  "\x5C\x60\xDF\x34\xDC\x60\x4C\xDF"
  13702			  "\xB5\x1F\x26\x8C\xDA\xC1\x11\xA8"
  13703			  "\x80\xFA\x37\x7A\x89\xAA\xAE\x7B"
  13704			  "\x92\x6E\xB9\xDC\xC9\x62\x4F\x88"
  13705			  "\x0A\x5D\x97\x2F\x6B\xAC\x03\x7C"
  13706			  "\x22\xF6\x55\x5A\xFA\x35\xA5\x17"
  13707			  "\xA1\x5C\x5E\x2B\x63\x2D\xB9\x91"
  13708			  "\x3E\x83\x26\x00\x4E\xD5\xBE\xCE"
  13709			  "\x79\xC4\x3D\xFC\x70\xA0\xAD\x96"
  13710			  "\xBA\x58\x2A\x1C\xDF\xC2\x3A\xA5"
  13711			  "\x7C\xB5\x12\x89\xED\xBF\xB6\x09"
  13712			  "\x13\x4F\x7D\x61\x3C\x5C\x27\xFC"
  13713			  "\x5D\xE1\x4F\xA1\xEA\xB3\xCA\xB9"
  13714			  "\xE6\xD0\x97\x81\xDE\xD1\xFB\x8A"
  13715			  "\x30\xDB\xA3\x5D\xEC\x25\x0B\x86"
  13716			  "\x71\xC8\xA7\x67\xE8\xBC\x7D\x4C"
  13717			  "\xAE\x82\xD3\x73\x31\x09\xCB\xB3"
  13718			  "\x4D\xD4\xC0\x8A\x2B\xFA\xA6\x55"
  13719			  "\x39\x0A\xBC\x6E\x75\xAB\xC2\xE2"
  13720			  "\x8A\xF2\x26\xCD\x63\x38\x35\xF7"
  13721			  "\xAE\x12\x83\xCD\x8A\x9E\x7E\x4C"
  13722			  "\xFE\x4D\xD7\xCE\x5C\x6E\x4C\xAF"
  13723			  "\xE3\xCD\x76\xA7\x87\xA1\x54\x7C"
  13724			  "\xEC\x32\xC7\x83\x2A\xFF\xF8\xEA"
  13725			  "\x87\xB2\x47\xA3\x9D\xC2\x9C\xA2"
  13726			  "\xB7\x2C\x7C\x1A\x24\xCB\x88\x61"
  13727			  "\xFF\xA7\x1A\x16\x01\xDD\x4B\xFC"
  13728			  "\x2E\xE0\x48\x67\x09\x42\xCC\x91"
  13729			  "\xBE\x20\x38\xC0\x5E\x3B\x95\x00"
  13730			  "\xA1\x96\x66\x0B\x8A\xE9\x9E\xF7"
  13731			  "\x6B\x34\x0A\x51\xC0\x3B\xEB\x71"
  13732			  "\x07\x97\x38\x4B\x5C\x56\x98\x67"
  13733			  "\x78\x9C\xD0\x0E\x2B\xB5\x67\x90"
  13734			  "\x75\xF8\xFE\x6D\x4E\x85\xCC\x0D"
  13735			  "\x18\x06\x15\x9D\x5A\x10\x13\x37"
  13736			  "\xA3\xD6\x68\xA2\xDF\x7E\xC7\x12"
  13737			  "\xC9\x0D\x4D\x91\xB0\x2A\x55\xFF"
  13738			  "\x6F\x73\x13\xDF\x28\xB5\x2A\x2C"
  13739			  "\xE4\xFC\x20\xD9\xF1\x7A\x82\xB1"
  13740			  "\xCB\x57\xB6\x3D\x8C\xF4\x8E\x27"
  13741			  "\x37\xDC\x35\xF3\x79\x01\x53\xA4"
  13742			  "\x7B\x37\xDE\x7C\x04\xAE\x50\xDB"
  13743			  "\x9B\x1E\x8C\x07\xA7\x52\x49\x50"
  13744			  "\x34\x25\x65\xDD\xA9\x8F\x7E\xBD"
  13745			  "\x7A\xC9\x36\xAE\xDE\x21\x48\x64"
  13746			  "\xC2\x02\xBA\xBE\x11\x1E\x3D\x9C"
  13747			  "\x98\x52\xCC\x04\xBD\x5E\x61\x26"
  13748			  "\x10\xD3\x21\xD9\x6E\x25\x98\x77"
  13749			  "\x8E\x98\x63\xF6\xF6\x52\xFB\x13"
  13750			  "\xAA\x30\xF2\xB9\xA4\x43\x53\x39"
  13751			  "\x1C\x97\x07\x7E\x6B\xFF\x3D\x43"
  13752			  "\xA6\x71\x6B\x66\x8F\x58\x3F\x71"
  13753			  "\x90\x47\x40\x92\xE6\x69\xD1\x96"
  13754			  "\x34\xB3\x3B\xE5\x43\xE4\xD5\x56"
  13755			  "\xB2\xE6\x7E\x86\x7A\x12\x17\x5B"
  13756			  "\x30\xF3\x9B\x0D\xFA\x57\xE4\x50"
  13757			  "\x40\x53\x77\x8C\x15\xF8\x8D\x13"
  13758			  "\x38\xE2\xE5",
  13759		.len	= 499,
  13760	}, { /* Generated with Crypto++ */
  13761		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  13762			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
  13763			  "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
  13764			  "\x78\xBE\x9B\x78\x55\x32\x0F\x55",
  13765		.klen	= 32,
  13766		.iv	= "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"
  13767			  "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFD",
  13768		.iv_out	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  13769			  "\x00\x00\x00\x00\x00\x00\x00\x1C",
  13770		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  13771			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  13772			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  13773			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  13774			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  13775			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  13776			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  13777			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  13778			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  13779			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  13780			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  13781			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  13782			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  13783			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  13784			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  13785			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  13786			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  13787			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  13788			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  13789			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  13790			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  13791			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  13792			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  13793			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  13794			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  13795			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  13796			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  13797			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  13798			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  13799			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  13800			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  13801			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  13802			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  13803			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  13804			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  13805			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  13806			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  13807			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  13808			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  13809			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  13810			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  13811			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  13812			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  13813			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  13814			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  13815			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  13816			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  13817			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  13818			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  13819			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  13820			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  13821			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  13822			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  13823			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  13824			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  13825			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  13826			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  13827			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  13828			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  13829			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  13830			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  13831			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
  13832		.ctext	= "\x06\x9A\xF8\xB4\x53\x88\x62\xFC"
  13833			  "\x68\xB8\x2E\xDF\xC1\x05\x0F\x3D"
  13834			  "\xAF\x4D\x95\xAE\xC4\xE9\x1C\xDC"
  13835			  "\xF6\x2B\x8F\x90\x89\xF6\x7E\x1A"
  13836			  "\xA6\xB9\xE4\xF4\xFA\xCA\xE5\x7E"
  13837			  "\x71\x28\x06\x4F\xE8\x08\x39\xDA"
  13838			  "\xA5\x0E\xC8\xC0\xB8\x16\xE5\x69"
  13839			  "\xE5\xCA\xEC\x4F\x63\x2C\xC0\x9B"
  13840			  "\x9F\x3E\x39\x79\xF0\xCD\x64\x35"
  13841			  "\x4A\xD3\xC8\xA9\x31\xCD\x48\x5B"
  13842			  "\x92\x3D\x8F\x3F\x96\xBD\xB3\x18"
  13843			  "\x74\x2A\x5D\x29\x3F\x57\x8F\xE2"
  13844			  "\x67\x9A\xE0\xE5\xD4\x4A\xE2\x47"
  13845			  "\xBC\xF6\xEB\x14\xF3\x8C\x20\xC2"
  13846			  "\x7D\xE2\x43\x81\x86\x72\x2E\xB1"
  13847			  "\x39\xF6\x95\xE1\x1F\xCB\x76\x33"
  13848			  "\x5B\x7D\x23\x0F\x3A\x67\x2A\x2F"
  13849			  "\xB9\x37\x9D\xDD\x1F\x16\xA1\x3C"
  13850			  "\x70\xFE\x52\xAA\x93\x3C\xC4\x46"
  13851			  "\xB1\xE5\xFF\xDA\xAF\xE2\x84\xFE"
  13852			  "\x25\x92\xB2\x63\xBD\x49\x77\xB4"
  13853			  "\x22\xA4\x6A\xD5\x04\xE0\x45\x58"
  13854			  "\x1C\x34\x96\x7C\x03\x0C\x13\xA2"
  13855			  "\x05\x22\xE2\xCB\x5A\x35\x03\x09"
  13856			  "\x40\xD2\x82\x05\xCA\x58\x73\xF2"
  13857			  "\x29\x5E\x01\x47\x13\x32\x78\xBE"
  13858			  "\x06\xB0\x51\xDB\x6C\x31\xA0\x1C"
  13859			  "\x74\xBC\x8D\x25\xDF\xF8\x65\xD1"
  13860			  "\x38\x35\x11\x26\x4A\xB4\x06\x32"
  13861			  "\xFA\xD2\x07\x77\xB3\x74\x98\x80"
  13862			  "\x61\x59\xA8\x9F\xF3\x6F\x2A\xBF"
  13863			  "\xE6\xA5\x9A\xC4\x6B\xA6\x49\x6F"
  13864			  "\xBC\x47\xD9\xFB\xC6\xEF\x25\x65"
  13865			  "\x96\xAC\x9F\xE4\x81\x4B\xD8\xBA"
  13866			  "\xD6\x9B\xC9\x6D\x58\x40\x81\x02"
  13867			  "\x73\x44\x4E\x43\x6E\x37\xBB\x11"
  13868			  "\xE3\xF9\xB8\x2F\xEC\x76\x34\xEA"
  13869			  "\x90\xCD\xB7\x2E\x0E\x32\x71\xE8"
  13870			  "\xBB\x4E\x0B\x98\xA4\x17\x17\x5B"
  13871			  "\x07\xB5\x82\x3A\xC4\xE8\x42\x51"
  13872			  "\x5A\x4C\x4E\x7D\xBF\xC4\xC0\x4F"
  13873			  "\x68\xB8\xC6\x4A\x32\x6F\x0B\xD7"
  13874			  "\x85\xED\x6B\xFB\x72\xD2\xA5\x8F"
  13875			  "\xBF\xF9\xAC\x59\x50\xA8\x08\x70"
  13876			  "\xEC\xBD\x0A\xBF\xE5\x87\xA1\xC2"
  13877			  "\x92\x14\x78\xAF\xE8\xEA\x2E\xDD"
  13878			  "\xC1\x03\x9A\xAA\x89\x8B\x32\x46"
  13879			  "\x5B\x18\x27\xBA\x46\xAA\x64\xDE"
  13880			  "\xE3\xD5\xA3\xFC\x7B\x5B\x61\xDB"
  13881			  "\x7E\xDA\xEC\x30\x17\x19\xF8\x80"
  13882			  "\xB5\x5E\x27\xB5\x37\x3A\x1F\x28"
  13883			  "\x07\x73\xC3\x63\xCE\xFF\x8C\xFE"
  13884			  "\x81\x4E\xF8\x24\xF3\xB8\xC7\xE8"
  13885			  "\x16\x9A\xCC\x58\x2F\x88\x1C\x4B"
  13886			  "\xBB\x33\xA2\x73\xF0\x1C\x89\x0E"
  13887			  "\xDC\x34\x27\x89\x98\xCE\x1C\xA2"
  13888			  "\xD8\xB8\x90\xBE\xEC\x72\x28\x13"
  13889			  "\xAC\x7B\xF1\xD0\x7F\x7A\x28\x50"
  13890			  "\xB7\x99\x65\x8A\xC9\xC6\x21\x34"
  13891			  "\x7F\x67\x9D\xB7\x2C\xCC\xF5\x17"
  13892			  "\x2B\x89\xAC\xB0\xD7\x1E\x47\xB0"
  13893			  "\x61\xAF\xD4\x63\x6D\xB8\x2D\x20",
  13894		.len	= 496,
  13895	},
  13896};
  13897
  13898static const struct cipher_testvec serpent_lrw_tv_template[] = {
  13899	/* Generated from AES-LRW test vectors */
  13900	{
  13901		.key	= "\x45\x62\xac\x25\xf8\x28\x17\x6d"
  13902			  "\x4c\x26\x84\x14\xb5\x68\x01\x85"
  13903			  "\x25\x8e\x2a\x05\xe7\x3e\x9d\x03"
  13904			  "\xee\x5a\x83\x0c\xcc\x09\x4c\x87",
  13905		.klen	= 32,
  13906		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  13907			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  13908		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  13909			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  13910		.ctext	= "\x6f\xbf\xd4\xa4\x5d\x71\x16\x79"
  13911			  "\x63\x9c\xa6\x8e\x40\xbe\x0d\x8a",
  13912		.len	= 16,
  13913	}, {
  13914		.key	= "\x59\x70\x47\x14\xf5\x57\x47\x8c"
  13915			  "\xd7\x79\xe8\x0f\x54\x88\x79\x44"
  13916			  "\x0d\x48\xf0\xb7\xb1\x5a\x53\xea"
  13917			  "\x1c\xaa\x6b\x29\xc2\xca\xfb\xaf",
  13918		.klen	= 32,
  13919		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  13920			  "\x00\x00\x00\x00\x00\x00\x00\x02",
  13921		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  13922			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  13923		.ctext	= "\xfd\xb2\x66\x98\x80\x96\x55\xad"
  13924			  "\x08\x94\x54\x9c\x21\x7c\x69\xe3",
  13925		.len	= 16,
  13926	}, {
  13927		.key	= "\xd8\x2a\x91\x34\xb2\x6a\x56\x50"
  13928			  "\x30\xfe\x69\xe2\x37\x7f\x98\x47"
  13929			  "\xcd\xf9\x0b\x16\x0c\x64\x8f\xb6"
  13930			  "\xb0\x0d\x0d\x1b\xae\x85\x87\x1f",
  13931		.klen	= 32,
  13932		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  13933			  "\x00\x00\x00\x02\x00\x00\x00\x00",
  13934		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  13935			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  13936		.ctext	= "\x14\x5e\x3d\x70\xc0\x6e\x9c\x34"
  13937			  "\x5b\x5e\xcf\x0f\xe4\x8c\x21\x5c",
  13938		.len	= 16,
  13939	}, {
  13940		.key	= "\x0f\x6a\xef\xf8\xd3\xd2\xbb\x15"
  13941			  "\x25\x83\xf7\x3c\x1f\x01\x28\x74"
  13942			  "\xca\xc6\xbc\x35\x4d\x4a\x65\x54"
  13943			  "\x90\xae\x61\xcf\x7b\xae\xbd\xcc"
  13944			  "\xad\xe4\x94\xc5\x4a\x29\xae\x70",
  13945		.klen	= 40,
  13946		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  13947			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  13948		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  13949			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  13950		.ctext	= "\x25\x39\xaa\xa5\xf0\x65\xc8\xdc"
  13951			  "\x5d\x45\x95\x30\x8f\xff\x2f\x1b",
  13952		.len	= 16,
  13953	}, {
  13954		.key	= "\x8a\xd4\xee\x10\x2f\xbd\x81\xff"
  13955			  "\xf8\x86\xce\xac\x93\xc5\xad\xc6"
  13956			  "\xa0\x19\x07\xc0\x9d\xf7\xbb\xdd"
  13957			  "\x52\x13\xb2\xb7\xf0\xff\x11\xd8"
  13958			  "\xd6\x08\xd0\xcd\x2e\xb1\x17\x6f",
  13959		.klen	= 40,
  13960		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  13961			  "\x00\x00\x00\x02\x00\x00\x00\x00",
  13962		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  13963			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  13964		.ctext	= "\x0c\x20\x20\x63\xd6\x8b\xfc\x8f"
  13965			  "\xc0\xe2\x17\xbb\xd2\x59\x6f\x26",
  13966		.len	= 16,
  13967	}, {
  13968		.key	= "\xf8\xd4\x76\xff\xd6\x46\xee\x6c"
  13969			  "\x23\x84\xcb\x1c\x77\xd6\x19\x5d"
  13970			  "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21"
  13971			  "\xa7\x9c\x21\xf8\xcb\x90\x02\x89"
  13972			  "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1"
  13973			  "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e",
  13974		.klen	= 48,
  13975		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  13976			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  13977		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  13978			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  13979		.ctext	= "\xc1\x35\x2e\x53\xf0\x96\x4d\x9c"
  13980			  "\x2e\x18\xe6\x99\xcd\xd3\x15\x68",
  13981		.len	= 16,
  13982	}, {
  13983		.key	= "\xfb\x76\x15\xb2\x3d\x80\x89\x1d"
  13984			  "\xd4\x70\x98\x0b\xc7\x95\x84\xc8"
  13985			  "\xb2\xfb\x64\xce\x60\x97\x87\x8d"
  13986			  "\x17\xfc\xe4\x5a\x49\xe8\x30\xb7"
  13987			  "\x6e\x78\x17\xe7\x2d\x5e\x12\xd4"
  13988			  "\x60\x64\x04\x7a\xf1\x2f\x9e\x0c",
  13989		.klen	= 48,
  13990		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  13991			  "\x00\x00\x00\x02\x00\x00\x00\x00",
  13992		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  13993			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  13994		.ctext	= "\x86\x0a\xc6\xa9\x1a\x9f\xe7\xe6"
  13995			  "\x64\x3b\x33\xd6\xd5\x84\xd6\xdf",
  13996		.len	= 16,
  13997	}, {
  13998		.key	= "\xf8\xd4\x76\xff\xd6\x46\xee\x6c"
  13999			  "\x23\x84\xcb\x1c\x77\xd6\x19\x5d"
  14000			  "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21"
  14001			  "\xa7\x9c\x21\xf8\xcb\x90\x02\x89"
  14002			  "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1"
  14003			  "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e",
  14004		.klen	= 48,
  14005		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  14006			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  14007		.ptext	= "\x05\x11\xb7\x18\xab\xc6\x2d\xac"
  14008			  "\x70\x5d\xf6\x22\x94\xcd\xe5\x6c"
  14009			  "\x17\x6b\xf6\x1c\xf0\xf3\x6e\xf8"
  14010			  "\x50\x38\x1f\x71\x49\xb6\x57\xd6"
  14011			  "\x8f\xcb\x8d\x6b\xe3\xa6\x29\x90"
  14012			  "\xfe\x2a\x62\x82\xae\x6d\x8b\xf6"
  14013			  "\xad\x1e\x9e\x20\x5f\x38\xbe\x04"
  14014			  "\xda\x10\x8e\xed\xa2\xa4\x87\xab"
  14015			  "\xda\x6b\xb4\x0c\x75\xba\xd3\x7c"
  14016			  "\xc9\xac\x42\x31\x95\x7c\xc9\x04"
  14017			  "\xeb\xd5\x6e\x32\x69\x8a\xdb\xa6"
  14018			  "\x15\xd7\x3f\x4f\x2f\x66\x69\x03"
  14019			  "\x9c\x1f\x54\x0f\xde\x1f\xf3\x65"
  14020			  "\x4c\x96\x12\xed\x7c\x92\x03\x01"
  14021			  "\x6f\xbc\x35\x93\xac\xf1\x27\xf1"
  14022			  "\xb4\x96\x82\x5a\x5f\xb0\xa0\x50"
  14023			  "\x89\xa4\x8e\x66\x44\x85\xcc\xfd"
  14024			  "\x33\x14\x70\xe3\x96\xb2\xc3\xd3"
  14025			  "\xbb\x54\x5a\x1a\xf9\x74\xa2\xc5"
  14026			  "\x2d\x64\x75\xdd\xb4\x54\xe6\x74"
  14027			  "\x8c\xd3\x9d\x9e\x86\xab\x51\x53"
  14028			  "\xb7\x93\x3e\x6f\xd0\x4e\x2c\x40"
  14029			  "\xf6\xa8\x2e\x3e\x9d\xf4\x66\xa5"
  14030			  "\x76\x12\x73\x44\x1a\x56\xd7\x72"
  14031			  "\x88\xcd\x21\x8c\x4c\x0f\xfe\xda"
  14032			  "\x95\xe0\x3a\xa6\xa5\x84\x46\xcd"
  14033			  "\xd5\x3e\x9d\x3a\xe2\x67\xe6\x60"
  14034			  "\x1a\xe2\x70\x85\x58\xc2\x1b\x09"
  14035			  "\xe1\xd7\x2c\xca\xad\xa8\x8f\xf9"
  14036			  "\xac\xb3\x0e\xdb\xca\x2e\xe2\xb8"
  14037			  "\x51\x71\xd9\x3c\x6c\xf1\x56\xf8"
  14038			  "\xea\x9c\xf1\xfb\x0c\xe6\xb7\x10"
  14039			  "\x1c\xf8\xa9\x7c\xe8\x53\x35\xc1"
  14040			  "\x90\x3e\x76\x4a\x74\xa4\x21\x2c"
  14041			  "\xf6\x2c\x4e\x0f\x94\x3a\x88\x2e"
  14042			  "\x41\x09\x6a\x33\x7d\xf6\xdd\x3f"
  14043			  "\x8d\x23\x31\x74\x84\xeb\x88\x6e"
  14044			  "\xcc\xb9\xbc\x22\x83\x19\x07\x22"
  14045			  "\xa5\x2d\xdf\xa5\xf3\x80\x85\x78"
  14046			  "\x84\x39\x6a\x6d\x6a\x99\x4f\xa5"
  14047			  "\x15\xfe\x46\xb0\xe4\x6c\xa5\x41"
  14048			  "\x3c\xce\x8f\x42\x60\x71\xa7\x75"
  14049			  "\x08\x40\x65\x8a\x82\xbf\xf5\x43"
  14050			  "\x71\x96\xa9\x4d\x44\x8a\x20\xbe"
  14051			  "\xfa\x4d\xbb\xc0\x7d\x31\x96\x65"
  14052			  "\xe7\x75\xe5\x3e\xfd\x92\x3b\xc9"
  14053			  "\x55\xbb\x16\x7e\xf7\xc2\x8c\xa4"
  14054			  "\x40\x1d\xe5\xef\x0e\xdf\xe4\x9a"
  14055			  "\x62\x73\x65\xfd\x46\x63\x25\x3d"
  14056			  "\x2b\xaf\xe5\x64\xfe\xa5\x5c\xcf"
  14057			  "\x24\xf3\xb4\xac\x64\xba\xdf\x4b"
  14058			  "\xc6\x96\x7d\x81\x2d\x8d\x97\xf7"
  14059			  "\xc5\x68\x77\x84\x32\x2b\xcc\x85"
  14060			  "\x74\x96\xf0\x12\x77\x61\xb9\xeb"
  14061			  "\x71\xaa\x82\xcb\x1c\xdb\x89\xc8"
  14062			  "\xc6\xb5\xe3\x5c\x7d\x39\x07\x24"
  14063			  "\xda\x39\x87\x45\xc0\x2b\xbb\x01"
  14064			  "\xac\xbc\x2a\x5c\x7f\xfc\xe8\xce"
  14065			  "\x6d\x9c\x6f\xed\xd3\xc1\xa1\xd6"
  14066			  "\xc5\x55\xa9\x66\x2f\xe1\xc8\x32"
  14067			  "\xa6\x5d\xa4\x3a\x98\x73\xe8\x45"
  14068			  "\xa4\xc7\xa8\xb4\xf6\x13\x03\xf6"
  14069			  "\xe9\x2e\xc4\x29\x0f\x84\xdb\xc4"
  14070			  "\x21\xc4\xc2\x75\x67\x89\x37\x0a",
  14071		.ctext	= "\xe3\x5a\x38\x0f\x4d\x92\x3a\x74"
  14072			  "\x15\xb1\x50\x8c\x9a\xd8\x99\x1d"
  14073			  "\x82\xec\xf1\x5f\x03\x6d\x02\x58"
  14074			  "\x90\x67\xfc\xdd\x8d\xe1\x38\x08"
  14075			  "\x7b\xc9\x9b\x4b\x04\x09\x50\x15"
  14076			  "\xce\xab\xda\x33\x30\x20\x12\xfa"
  14077			  "\x83\xc4\xa6\x9a\x2e\x7d\x90\xd9"
  14078			  "\xa6\xa6\x67\x43\xb4\xa7\xa8\x5c"
  14079			  "\xbb\x6a\x49\x2b\x8b\xf8\xd0\x22"
  14080			  "\xe5\x9e\xba\xe8\x8c\x67\xb8\x5b"
  14081			  "\x60\xbc\xf5\xa4\x95\x4e\x66\xe5"
  14082			  "\x6d\x8e\xa9\xf6\x65\x2e\x04\xf5"
  14083			  "\xba\xb5\xdb\x88\xc2\xf6\x7a\x4b"
  14084			  "\x89\x58\x7c\x9a\xae\x26\xe8\xb7"
  14085			  "\xb7\x28\xcc\xd6\xcc\xa5\x98\x4d"
  14086			  "\xb9\x91\xcb\xb4\xe4\x8b\x96\x47"
  14087			  "\x5f\x03\x8b\xdd\x94\xd1\xee\x12"
  14088			  "\xa7\x83\x80\xf2\xc1\x15\x74\x4f"
  14089			  "\x49\xf9\xb0\x7e\x6f\xdc\x73\x2f"
  14090			  "\xe2\xcf\xe0\x1b\x34\xa5\xa0\x52"
  14091			  "\xfb\x3c\x5d\x85\x91\xe6\x6d\x98"
  14092			  "\x04\xd6\xdd\x4c\x00\x64\xd9\x54"
  14093			  "\x5c\x3c\x08\x1d\x4c\x06\x9f\xb8"
  14094			  "\x1c\x4d\x8d\xdc\xa4\x3c\xb9\x3b"
  14095			  "\x9e\x85\xce\xc3\xa8\x4a\x0c\xd9"
  14096			  "\x04\xc3\x6f\x17\x66\xa9\x1f\x59"
  14097			  "\xd9\xe2\x19\x36\xa3\x88\xb8\x0b"
  14098			  "\x0f\x4a\x4d\xf8\xc8\x6f\xd5\x43"
  14099			  "\xeb\xa0\xab\x1f\x61\xc0\x06\xeb"
  14100			  "\x93\xb7\xb8\x6f\x0d\xbd\x07\x49"
  14101			  "\xb3\xac\x5d\xcf\x31\xa0\x27\x26"
  14102			  "\x21\xbe\x94\x2e\x19\xea\xf4\xee"
  14103			  "\xb5\x13\x89\xf7\x94\x0b\xef\x59"
  14104			  "\x44\xc5\x78\x8b\x3c\x3b\x71\x20"
  14105			  "\xf9\x35\x0c\x70\x74\xdc\x5b\xc2"
  14106			  "\xb4\x11\x0e\x2c\x61\xa1\x52\x46"
  14107			  "\x18\x11\x16\xc6\x86\x44\xa7\xaf"
  14108			  "\xd5\x0c\x7d\xa6\x9e\x25\x2d\x1b"
  14109			  "\x9a\x8f\x0f\xf8\x6a\x61\xa0\xea"
  14110			  "\x3f\x0e\x90\xd6\x8f\x83\x30\x64"
  14111			  "\xb5\x51\x2d\x08\x3c\xcd\x99\x36"
  14112			  "\x96\xd4\xb1\xb5\x48\x30\xca\x48"
  14113			  "\xf7\x11\xa8\xf5\x97\x8a\x6a\x6d"
  14114			  "\x12\x33\x2f\xc0\xe8\xda\xec\x8a"
  14115			  "\xe1\x88\x72\x63\xde\x20\xa3\xe1"
  14116			  "\x8e\xac\x84\x37\x35\xf5\xf7\x3f"
  14117			  "\x00\x02\x0e\xe4\xc1\x53\x68\x3f"
  14118			  "\xaa\xd5\xac\x52\x3d\x20\x2f\x4d"
  14119			  "\x7c\x83\xd0\xbd\xaa\x97\x35\x36"
  14120			  "\x98\x88\x59\x5d\xe7\x24\xe3\x90"
  14121			  "\x9d\x30\x47\xa7\xc3\x60\x35\xf4"
  14122			  "\xd5\xdb\x0e\x4d\x44\xc1\x81\x8b"
  14123			  "\xfd\xbd\xc3\x2b\xba\x68\xfe\x8d"
  14124			  "\x49\x5a\x3c\x8a\xa3\x01\xae\x25"
  14125			  "\x42\xab\xd2\x87\x1b\x35\xd6\xd2"
  14126			  "\xd7\x70\x1c\x1f\x72\xd1\xe1\x39"
  14127			  "\x1c\x58\xa2\xb4\xd0\x78\x55\x72"
  14128			  "\x76\x59\xea\xd9\xd7\x6e\x63\x8b"
  14129			  "\xcc\x9b\xa7\x74\x89\xfc\xa3\x68"
  14130			  "\x86\x28\xd1\xbb\x54\x8d\x66\xad"
  14131			  "\x2a\x92\xf9\x4e\x04\x3d\xae\xfd"
  14132			  "\x1b\x2b\x7f\xc3\x2f\x1a\x78\x0a"
  14133			  "\x5c\xc6\x84\xfe\x7c\xcb\x26\xfd"
  14134			  "\xd9\x51\x0f\xd7\x94\x2f\xc5\xa7",
  14135		.len	= 512,
  14136	},
  14137};
  14138
  14139static const struct cipher_testvec serpent_xts_tv_template[] = {
  14140	/* Generated from AES-XTS test vectors */
  14141	{
  14142		.key	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  14143			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  14144			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  14145			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  14146		.klen	= 32,
  14147		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  14148			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  14149		.ptext	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  14150			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  14151			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  14152			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  14153		.ctext	= "\xe1\x08\xb8\x1d\x2c\xf5\x33\x64"
  14154			  "\xc8\x12\x04\xc7\xb3\x70\xe8\xc4"
  14155			  "\x6a\x31\xc5\xf3\x00\xca\xb9\x16"
  14156			  "\xde\xe2\x77\x66\xf7\xfe\x62\x08",
  14157		.len	= 32,
  14158	}, {
  14159		.key	= "\x11\x11\x11\x11\x11\x11\x11\x11"
  14160			  "\x11\x11\x11\x11\x11\x11\x11\x11"
  14161			  "\x22\x22\x22\x22\x22\x22\x22\x22"
  14162			  "\x22\x22\x22\x22\x22\x22\x22\x22",
  14163		.klen	= 32,
  14164		.iv	= "\x33\x33\x33\x33\x33\x00\x00\x00"
  14165			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  14166		.ptext	= "\x44\x44\x44\x44\x44\x44\x44\x44"
  14167			  "\x44\x44\x44\x44\x44\x44\x44\x44"
  14168			  "\x44\x44\x44\x44\x44\x44\x44\x44"
  14169			  "\x44\x44\x44\x44\x44\x44\x44\x44",
  14170		.ctext	= "\x1a\x0a\x09\x5f\xcd\x07\x07\x98"
  14171			  "\x41\x86\x12\xaf\xb3\xd7\x68\x13"
  14172			  "\xed\x81\xcd\x06\x87\x43\x1a\xbb"
  14173			  "\x13\x3d\xd6\x1e\x2b\xe1\x77\xbe",
  14174		.len	= 32,
  14175	}, {
  14176		.key	= "\xff\xfe\xfd\xfc\xfb\xfa\xf9\xf8"
  14177			  "\xf7\xf6\xf5\xf4\xf3\xf2\xf1\xf0"
  14178			  "\x22\x22\x22\x22\x22\x22\x22\x22"
  14179			  "\x22\x22\x22\x22\x22\x22\x22\x22",
  14180		.klen	= 32,
  14181		.iv	= "\x33\x33\x33\x33\x33\x00\x00\x00"
  14182			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  14183		.ptext	= "\x44\x44\x44\x44\x44\x44\x44\x44"
  14184			  "\x44\x44\x44\x44\x44\x44\x44\x44"
  14185			  "\x44\x44\x44\x44\x44\x44\x44\x44"
  14186			  "\x44\x44\x44\x44\x44\x44\x44\x44",
  14187		.ctext	= "\xf9\x9b\x28\xb8\x5c\xaf\x8c\x61"
  14188			  "\xb6\x1c\x81\x8f\x2c\x87\x60\x89"
  14189			  "\x0d\x8d\x7a\xe8\x60\x48\xcc\x86"
  14190			  "\xc1\x68\x45\xaa\x00\xe9\x24\xc5",
  14191		.len	= 32,
  14192	}, {
  14193		.key	= "\x27\x18\x28\x18\x28\x45\x90\x45"
  14194			  "\x23\x53\x60\x28\x74\x71\x35\x26"
  14195			  "\x31\x41\x59\x26\x53\x58\x97\x93"
  14196			  "\x23\x84\x62\x64\x33\x83\x27\x95",
  14197		.klen	= 32,
  14198		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  14199			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  14200		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  14201			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  14202			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  14203			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  14204			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  14205			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  14206			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  14207			  "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  14208			  "\x40\x41\x42\x43\x44\x45\x46\x47"
  14209			  "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  14210			  "\x50\x51\x52\x53\x54\x55\x56\x57"
  14211			  "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"
  14212			  "\x60\x61\x62\x63\x64\x65\x66\x67"
  14213			  "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f"
  14214			  "\x70\x71\x72\x73\x74\x75\x76\x77"
  14215			  "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"
  14216			  "\x80\x81\x82\x83\x84\x85\x86\x87"
  14217			  "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  14218			  "\x90\x91\x92\x93\x94\x95\x96\x97"
  14219			  "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f"
  14220			  "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  14221			  "\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  14222			  "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  14223			  "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  14224			  "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  14225			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  14226			  "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  14227			  "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf"
  14228			  "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7"
  14229			  "\xe8\xe9\xea\xeb\xec\xed\xee\xef"
  14230			  "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  14231			  "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"
  14232			  "\x00\x01\x02\x03\x04\x05\x06\x07"
  14233			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  14234			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  14235			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  14236			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  14237			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  14238			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  14239			  "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  14240			  "\x40\x41\x42\x43\x44\x45\x46\x47"
  14241			  "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  14242			  "\x50\x51\x52\x53\x54\x55\x56\x57"
  14243			  "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"
  14244			  "\x60\x61\x62\x63\x64\x65\x66\x67"
  14245			  "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f"
  14246			  "\x70\x71\x72\x73\x74\x75\x76\x77"
  14247			  "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"
  14248			  "\x80\x81\x82\x83\x84\x85\x86\x87"
  14249			  "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  14250			  "\x90\x91\x92\x93\x94\x95\x96\x97"
  14251			  "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f"
  14252			  "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  14253			  "\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  14254			  "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  14255			  "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  14256			  "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  14257			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  14258			  "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  14259			  "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf"
  14260			  "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7"
  14261			  "\xe8\xe9\xea\xeb\xec\xed\xee\xef"
  14262			  "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  14263			  "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff",
  14264		.ctext	= "\xfe\x47\x4a\xc8\x60\x7e\xb4\x8b"
  14265			  "\x0d\x10\xf4\xb0\x0d\xba\xf8\x53"
  14266			  "\x65\x6e\x38\x4b\xdb\xaa\xb1\x9e"
  14267			  "\x28\xca\xb0\x22\xb3\x85\x75\xf4"
  14268			  "\x00\x5c\x75\x14\x06\xd6\x25\x82"
  14269			  "\xe6\xcb\x08\xf7\x29\x90\x23\x8e"
  14270			  "\xa4\x68\x57\xe4\xf0\xd8\x32\xf3"
  14271			  "\x80\x51\x67\xb5\x0b\x85\x69\xe8"
  14272			  "\x19\xfe\xc4\xc7\x3e\xea\x90\xd3"
  14273			  "\x8f\xa3\xf2\x0a\xac\x17\x4b\xa0"
  14274			  "\x63\x5a\x16\x0f\xf0\xce\x66\x1f"
  14275			  "\x2c\x21\x07\xf1\xa4\x03\xa3\x44"
  14276			  "\x41\x61\x87\x5d\x6b\xb3\xef\xd4"
  14277			  "\xfc\xaa\x32\x7e\x55\x58\x04\x41"
  14278			  "\xc9\x07\x33\xc6\xa2\x68\xd6\x5a"
  14279			  "\x55\x79\x4b\x6f\xcf\x89\xb9\x19"
  14280			  "\xe5\x54\x13\x15\xb2\x1a\xfa\x15"
  14281			  "\xc2\xf0\x06\x59\xfa\xa0\x25\x05"
  14282			  "\x58\xfa\x43\x91\x16\x85\x40\xbb"
  14283			  "\x0d\x34\x4d\xc5\x1e\x20\xd5\x08"
  14284			  "\xcd\x22\x22\x41\x11\x9f\x6c\x7c"
  14285			  "\x8d\x57\xc9\xba\x57\xe8\x2c\xf7"
  14286			  "\xa0\x42\xa8\xde\xfc\xa3\xca\x98"
  14287			  "\x4b\x43\xb1\xce\x4b\xbf\x01\x67"
  14288			  "\x6e\x29\x60\xbd\x10\x14\x84\x82"
  14289			  "\x83\x82\x0c\x63\x73\x92\x02\x7c"
  14290			  "\x55\x37\x20\x80\x17\x51\xc8\xbc"
  14291			  "\x46\x02\xcb\x38\x07\x6d\xe2\x85"
  14292			  "\xaa\x29\xaf\x24\x58\x0d\xf0\x75"
  14293			  "\x08\x0a\xa5\x34\x25\x16\xf3\x74"
  14294			  "\xa7\x0b\x97\xbe\xc1\xa9\xdc\x29"
  14295			  "\x1a\x0a\x56\xc1\x1a\x91\x97\x8c"
  14296			  "\x0b\xc7\x16\xed\x5a\x22\xa6\x2e"
  14297			  "\x8c\x2b\x4f\x54\x76\x47\x53\x8e"
  14298			  "\xe8\x00\xec\x92\xb9\x55\xe6\xa2"
  14299			  "\xf3\xe2\x4f\x6a\x66\x60\xd0\x87"
  14300			  "\xe6\xd1\xcc\xe3\x6a\xc5\x2d\x21"
  14301			  "\xcc\x9d\x6a\xb6\x75\xaa\xe2\x19"
  14302			  "\x21\x9f\xa1\x5e\x4c\xfd\x72\xf9"
  14303			  "\x94\x4e\x63\xc7\xae\xfc\xed\x47"
  14304			  "\xe2\xfe\x7a\x63\x77\xfe\x97\x82"
  14305			  "\xb1\x10\x6e\x36\x1d\xe1\xc4\x80"
  14306			  "\xec\x69\x41\xec\xa7\x8a\xe0\x2f"
  14307			  "\xe3\x49\x26\xa2\x41\xb2\x08\x0f"
  14308			  "\x28\xb4\xa7\x39\xa1\x99\x2d\x1e"
  14309			  "\x43\x42\x35\xd0\xcf\xec\x77\x67"
  14310			  "\xb2\x3b\x9e\x1c\x35\xde\x4f\x5e"
  14311			  "\x73\x3f\x5d\x6f\x07\x4b\x2e\x50"
  14312			  "\xab\x6c\x6b\xff\xea\x00\x67\xaa"
  14313			  "\x0e\x82\x32\xdd\x3d\xb5\xe5\x76"
  14314			  "\x2b\x77\x3f\xbe\x12\x75\xfb\x92"
  14315			  "\xc6\x89\x67\x4d\xca\xf7\xd4\x50"
  14316			  "\xc0\x74\x47\xcc\xd9\x0a\xd4\xc6"
  14317			  "\x3b\x17\x2e\xe3\x35\xbb\x53\xb5"
  14318			  "\x86\xad\x51\xcc\xd5\x96\xb8\xdc"
  14319			  "\x03\x57\xe6\x98\x52\x2f\x61\x62"
  14320			  "\xc4\x5c\x9c\x36\x71\x07\xfb\x94"
  14321			  "\xe3\x02\xc4\x2b\x08\x75\xc7\x35"
  14322			  "\xfb\x2e\x88\x7b\xbb\x67\x00\xe1"
  14323			  "\xc9\xdd\x99\xb2\x13\x53\x1a\x4e"
  14324			  "\x76\x87\x19\x04\x1a\x2f\x38\x3e"
  14325			  "\xef\x91\x64\x1d\x18\x07\x4e\x31"
  14326			  "\x88\x21\x7c\xb0\xa5\x12\x4c\x3c"
  14327			  "\xb0\x20\xbd\xda\xdf\xf9\x7c\xdd",
  14328		.len	= 512,
  14329	}, {
  14330		.key	= "\x27\x18\x28\x18\x28\x45\x90\x45"
  14331			  "\x23\x53\x60\x28\x74\x71\x35\x26"
  14332			  "\x62\x49\x77\x57\x24\x70\x93\x69"
  14333			  "\x99\x59\x57\x49\x66\x96\x76\x27"
  14334			  "\x31\x41\x59\x26\x53\x58\x97\x93"
  14335			  "\x23\x84\x62\x64\x33\x83\x27\x95"
  14336			  "\x02\x88\x41\x97\x16\x93\x99\x37"
  14337			  "\x51\x05\x82\x09\x74\x94\x45\x92",
  14338		.klen	= 64,
  14339		.iv	= "\xff\x00\x00\x00\x00\x00\x00\x00"
  14340			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  14341		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  14342			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  14343			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  14344			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  14345			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  14346			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  14347			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  14348			  "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  14349			  "\x40\x41\x42\x43\x44\x45\x46\x47"
  14350			  "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  14351			  "\x50\x51\x52\x53\x54\x55\x56\x57"
  14352			  "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"
  14353			  "\x60\x61\x62\x63\x64\x65\x66\x67"
  14354			  "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f"
  14355			  "\x70\x71\x72\x73\x74\x75\x76\x77"
  14356			  "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"
  14357			  "\x80\x81\x82\x83\x84\x85\x86\x87"
  14358			  "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  14359			  "\x90\x91\x92\x93\x94\x95\x96\x97"
  14360			  "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f"
  14361			  "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  14362			  "\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  14363			  "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  14364			  "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  14365			  "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  14366			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  14367			  "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  14368			  "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf"
  14369			  "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7"
  14370			  "\xe8\xe9\xea\xeb\xec\xed\xee\xef"
  14371			  "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  14372			  "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"
  14373			  "\x00\x01\x02\x03\x04\x05\x06\x07"
  14374			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  14375			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  14376			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  14377			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  14378			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  14379			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  14380			  "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  14381			  "\x40\x41\x42\x43\x44\x45\x46\x47"
  14382			  "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  14383			  "\x50\x51\x52\x53\x54\x55\x56\x57"
  14384			  "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"
  14385			  "\x60\x61\x62\x63\x64\x65\x66\x67"
  14386			  "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f"
  14387			  "\x70\x71\x72\x73\x74\x75\x76\x77"
  14388			  "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"
  14389			  "\x80\x81\x82\x83\x84\x85\x86\x87"
  14390			  "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  14391			  "\x90\x91\x92\x93\x94\x95\x96\x97"
  14392			  "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f"
  14393			  "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  14394			  "\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  14395			  "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  14396			  "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  14397			  "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  14398			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  14399			  "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  14400			  "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf"
  14401			  "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7"
  14402			  "\xe8\xe9\xea\xeb\xec\xed\xee\xef"
  14403			  "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  14404			  "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff",
  14405		.ctext	= "\x2b\xc9\xb4\x6b\x10\x94\xa9\x32"
  14406			  "\xaa\xb0\x20\xc6\x44\x3d\x74\x1f"
  14407			  "\x75\x01\xa7\xf6\xf5\xf7\x62\x1b"
  14408			  "\x80\x1b\x82\xcb\x01\x59\x91\x7f"
  14409			  "\x80\x3a\x98\xf0\xd2\xca\xc4\xc3"
  14410			  "\x34\xfd\xe6\x11\xf9\x33\x45\x12"
  14411			  "\x48\xc5\x8c\x25\xf1\xc5\xc5\x23"
  14412			  "\xd3\x44\xb4\x73\xd5\x04\xc0\xb7"
  14413			  "\xca\x2f\xf5\xcd\xc5\xb4\xdd\xb0"
  14414			  "\xf4\x60\xe8\xfb\xc6\x9c\xc5\x78"
  14415			  "\xcd\xec\x7d\xdc\x19\x9c\x72\x64"
  14416			  "\x63\x0b\x38\x2e\x76\xdd\x2d\x36"
  14417			  "\x49\xb0\x1d\xea\x78\x9e\x00\xca"
  14418			  "\x20\xcc\x1b\x1e\x98\x74\xab\xed"
  14419			  "\x79\xf7\xd0\x6c\xd8\x93\x80\x29"
  14420			  "\xac\xa5\x5e\x34\xa9\xab\xa0\x55"
  14421			  "\x9a\xea\xaa\x95\x4d\x7b\xfe\x46"
  14422			  "\x26\x8a\xfd\x88\xa2\xa8\xa6\xae"
  14423			  "\x25\x42\x17\xbf\x76\x8f\x1c\x3d"
  14424			  "\xec\x9a\xda\x64\x96\xb5\x61\xff"
  14425			  "\x99\xeb\x12\x96\x85\x82\x9d\xd5"
  14426			  "\x81\x85\x14\xa8\x59\xac\x8c\x94"
  14427			  "\xbb\x3b\x85\x2b\xdf\xb3\x0c\xba"
  14428			  "\x82\xc6\x4d\xca\x86\xea\x53\x28"
  14429			  "\x4c\xe0\x4e\x31\xe3\x73\x2f\x79"
  14430			  "\x9d\x42\xe1\x03\xe3\x8b\xc4\xff"
  14431			  "\x05\xca\x81\x7b\xda\xa2\xde\x63"
  14432			  "\x3a\x10\xbe\xc2\xac\x32\xc4\x05"
  14433			  "\x47\x7e\xef\x67\xe2\x5f\x5b\xae"
  14434			  "\xed\xf1\x70\x34\x16\x9a\x07\x7b"
  14435			  "\xf2\x25\x2b\xb0\xf8\x3c\x15\x9a"
  14436			  "\xa6\x59\x55\x5f\xc1\xf4\x1e\xcd"
  14437			  "\x93\x1f\x06\xba\xd4\x9a\x22\x69"
  14438			  "\xfa\x8e\x95\x0d\xf3\x23\x59\x2c"
  14439			  "\xfe\x00\xba\xf0\x0e\xbc\x6d\xd6"
  14440			  "\x62\xf0\x7a\x0e\x83\x3e\xdb\x32"
  14441			  "\xfd\x43\x7d\xda\x42\x51\x87\x43"
  14442			  "\x9d\xf9\xef\xf4\x30\x97\xf8\x09"
  14443			  "\x88\xfc\x3f\x93\x70\xc1\x4a\xec"
  14444			  "\x27\x5f\x11\xac\x71\xc7\x48\x46"
  14445			  "\x2f\xf9\xdf\x8d\x9f\xf7\x2e\x56"
  14446			  "\x0d\x4e\xb0\x32\x76\xce\x86\x81"
  14447			  "\xcd\xdf\xe4\x00\xbf\xfd\x5f\x24"
  14448			  "\xaf\xf7\x9a\xde\xff\x18\xac\x14"
  14449			  "\x90\xc5\x01\x39\x34\x0f\x24\xf3"
  14450			  "\x13\x2f\x5e\x4f\x30\x9a\x36\x40"
  14451			  "\xec\xea\xbc\xcd\x9e\x0e\x5b\x23"
  14452			  "\x50\x88\x97\x40\x69\xb1\x37\xf5"
  14453			  "\xc3\x15\xf9\x3f\xb7\x79\x64\xe8"
  14454			  "\x7b\x10\x20\xb9\x2b\x46\x83\x5b"
  14455			  "\xd8\x39\xfc\xe4\xfa\x88\x52\xf2"
  14456			  "\x72\xb0\x97\x4e\x89\xb3\x48\x00"
  14457			  "\xc1\x16\x73\x50\x77\xba\xa6\x65"
  14458			  "\x20\x2d\xb0\x02\x27\x89\xda\x99"
  14459			  "\x45\xfb\xe9\xd3\x1d\x39\x2f\xd6"
  14460			  "\x2a\xda\x09\x12\x11\xaf\xe6\x57"
  14461			  "\x01\x04\x8a\xff\x86\x8b\xac\xf8"
  14462			  "\xee\xe4\x1c\x98\x5b\xcf\x6b\x76"
  14463			  "\xa3\x0e\x33\x74\x40\x18\x39\x72"
  14464			  "\x66\x50\x31\xfd\x70\xdf\xe8\x51"
  14465			  "\x96\x21\x36\xb2\x9b\xfa\x85\xd1"
  14466			  "\x30\x05\xc8\x92\x98\x80\xff\x7a"
  14467			  "\xaf\x43\x0b\xc5\x20\x41\x92\x20"
  14468			  "\xd4\xa0\x91\x98\x11\x5f\x4d\xb1",
  14469		.len	= 512,
  14470	},
  14471};
  14472
  14473/*
  14474 * SM4 test vectors taken from the "The SM4 Blockcipher Algorithm And Its
  14475 * Modes Of Operations" draft RFC
  14476 * https://datatracker.ietf.org/doc/draft-ribose-cfrg-sm4
  14477 */
  14478
  14479static const struct cipher_testvec sm4_tv_template[] = {
  14480	{ /* GB/T 32907-2016 Example 1. */
  14481		.key	= "\x01\x23\x45\x67\x89\xAB\xCD\xEF"
  14482			  "\xFE\xDC\xBA\x98\x76\x54\x32\x10",
  14483		.klen	= 16,
  14484		.ptext	= "\x01\x23\x45\x67\x89\xAB\xCD\xEF"
  14485			  "\xFE\xDC\xBA\x98\x76\x54\x32\x10",
  14486		.ctext	= "\x68\x1E\xDF\x34\xD2\x06\x96\x5E"
  14487			  "\x86\xB3\xE9\x4F\x53\x6E\x42\x46",
  14488		.len	= 16,
  14489	}, { /* Last 10 iterations of GB/T 32907-2016 Example 2. */
  14490		.key    = "\x01\x23\x45\x67\x89\xAB\xCD\xEF"
  14491			  "\xFE\xDC\xBA\x98\x76\x54\x32\x10",
  14492		.klen	= 16,
  14493		.ptext	= "\x99\x4a\xc3\xe7\xc3\x57\x89\x6a"
  14494			  "\x81\xfc\xa8\xe\x38\x3e\xef\x80"
  14495			  "\xb1\x98\xf2\xde\x3f\x4b\xae\xd1"
  14496			  "\xf0\xf1\x30\x4c\x1\x27\x5a\x8f"
  14497			  "\x45\xe1\x39\xb7\xae\xff\x1f\x27"
  14498			  "\xad\x57\x15\xab\x31\x5d\xc\xef"
  14499			  "\x8c\xc8\x80\xbd\x11\x98\xf3\x7b"
  14500			  "\xa2\xdd\x14\x20\xf9\xe8\xbb\x82"
  14501			  "\xf7\x32\xca\x4b\xa8\xf7\xb3\x4d"
  14502			  "\x27\xd1\xcd\xe6\xb6\x65\x5a\x23"
  14503			  "\xc2\xf3\x54\x84\x53\xe3\xb9\x20"
  14504			  "\xa5\x37\x0\xbe\xe7\x7b\x48\xfb"
  14505			  "\x21\x3d\x9e\x48\x1d\x9e\xf5\xbf"
  14506			  "\x77\xd5\xb4\x4a\x53\x71\x94\x7a"
  14507			  "\x88\xa6\x6e\x6\x93\xca\x43\xa5"
  14508			  "\xc4\xf6\xcd\x53\x4b\x7b\x8e\xfe"
  14509			  "\xb4\x28\x7c\x42\x29\x32\x5d\x88"
  14510			  "\xed\xce\x0\x19\xe\x16\x2\x6e"
  14511			  "\x87\xff\x2c\xac\xe8\xe7\xe9\xbf"
  14512			  "\x31\x51\xec\x47\xc3\x51\x83\xc1",
  14513		.ctext	= "\xb1\x98\xf2\xde\x3f\x4b\xae\xd1"
  14514			  "\xf0\xf1\x30\x4c\x1\x27\x5a\x8f"
  14515			  "\x45\xe1\x39\xb7\xae\xff\x1f\x27"
  14516			  "\xad\x57\x15\xab\x31\x5d\xc\xef"
  14517			  "\x8c\xc8\x80\xbd\x11\x98\xf3\x7b"
  14518			  "\xa2\xdd\x14\x20\xf9\xe8\xbb\x82"
  14519			  "\xf7\x32\xca\x4b\xa8\xf7\xb3\x4d"
  14520			  "\x27\xd1\xcd\xe6\xb6\x65\x5a\x23"
  14521			  "\xc2\xf3\x54\x84\x53\xe3\xb9\x20"
  14522			  "\xa5\x37\x0\xbe\xe7\x7b\x48\xfb"
  14523			  "\x21\x3d\x9e\x48\x1d\x9e\xf5\xbf"
  14524			  "\x77\xd5\xb4\x4a\x53\x71\x94\x7a"
  14525			  "\x88\xa6\x6e\x6\x93\xca\x43\xa5"
  14526			  "\xc4\xf6\xcd\x53\x4b\x7b\x8e\xfe"
  14527			  "\xb4\x28\x7c\x42\x29\x32\x5d\x88"
  14528			  "\xed\xce\x0\x19\xe\x16\x2\x6e"
  14529			  "\x87\xff\x2c\xac\xe8\xe7\xe9\xbf"
  14530			  "\x31\x51\xec\x47\xc3\x51\x83\xc1"
  14531			  "\x59\x52\x98\xc7\xc6\xfd\x27\x1f"
  14532			  "\x4\x2\xf8\x4\xc3\x3d\x3f\x66",
  14533		.len	= 160
  14534	}, { /* A.2.1.1 SM4-ECB Example 1 */
  14535		.key	= "\x01\x23\x45\x67\x89\xAB\xCD\xEF"
  14536			  "\xFE\xDC\xBA\x98\x76\x54\x32\x10",
  14537		.klen	= 16,
  14538		.ptext	= "\xaa\xaa\xaa\xaa\xbb\xbb\xbb\xbb"
  14539			  "\xcc\xcc\xcc\xcc\xdd\xdd\xdd\xdd"
  14540			  "\xee\xee\xee\xee\xff\xff\xff\xff"
  14541			  "\xaa\xaa\xaa\xaa\xbb\xbb\xbb\xbb",
  14542		.ctext	= "\x5e\xc8\x14\x3d\xe5\x09\xcf\xf7"
  14543			  "\xb5\x17\x9f\x8f\x47\x4b\x86\x19"
  14544			  "\x2f\x1d\x30\x5a\x7f\xb1\x7d\xf9"
  14545			  "\x85\xf8\x1c\x84\x82\x19\x23\x04",
  14546		.len	= 32,
  14547	}, { /* A.2.1.2 SM4-ECB Example 2 */
  14548		.key	= "\xFE\xDC\xBA\x98\x76\x54\x32\x10"
  14549			  "\x01\x23\x45\x67\x89\xAB\xCD\xEF",
  14550		.klen	= 16,
  14551		.ptext	= "\xaa\xaa\xaa\xaa\xbb\xbb\xbb\xbb"
  14552			  "\xcc\xcc\xcc\xcc\xdd\xdd\xdd\xdd"
  14553			  "\xee\xee\xee\xee\xff\xff\xff\xff"
  14554			  "\xaa\xaa\xaa\xaa\xbb\xbb\xbb\xbb",
  14555		.ctext	= "\xC5\x87\x68\x97\xE4\xA5\x9B\xBB"
  14556			  "\xA7\x2A\x10\xC8\x38\x72\x24\x5B"
  14557			  "\x12\xDD\x90\xBC\x2D\x20\x06\x92"
  14558			  "\xB5\x29\xA4\x15\x5A\xC9\xE6\x00",
  14559		.len	= 32,
  14560	}
  14561};
  14562
  14563static const struct cipher_testvec sm4_cbc_tv_template[] = {
  14564	{ /* A.2.2.1 SM4-CBC Example 1 */
  14565		.key	= "\x01\x23\x45\x67\x89\xAB\xCD\xEF"
  14566			  "\xFE\xDC\xBA\x98\x76\x54\x32\x10",
  14567		.klen	= 16,
  14568		.ptext	= "\xaa\xaa\xaa\xaa\xbb\xbb\xbb\xbb"
  14569			  "\xcc\xcc\xcc\xcc\xdd\xdd\xdd\xdd"
  14570			  "\xee\xee\xee\xee\xff\xff\xff\xff"
  14571			  "\xaa\xaa\xaa\xaa\xbb\xbb\xbb\xbb",
  14572		.iv	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  14573			  "\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F",
  14574		.iv_out	= "\x4C\xB7\x01\x69\x51\x90\x92\x26"
  14575			  "\x97\x9B\x0D\x15\xDC\x6A\x8F\x6D",
  14576		.ctext	= "\x78\xEB\xB1\x1C\xC4\x0B\x0A\x48"
  14577			  "\x31\x2A\xAE\xB2\x04\x02\x44\xCB"
  14578			  "\x4C\xB7\x01\x69\x51\x90\x92\x26"
  14579			  "\x97\x9B\x0D\x15\xDC\x6A\x8F\x6D",
  14580		.len	= 32,
  14581	}, { /* A.2.2.2 SM4-CBC Example 2 */
  14582		.key	= "\xFE\xDC\xBA\x98\x76\x54\x32\x10"
  14583			  "\x01\x23\x45\x67\x89\xAB\xCD\xEF",
  14584		.klen	= 16,
  14585		.ptext	= "\xaa\xaa\xaa\xaa\xbb\xbb\xbb\xbb"
  14586			  "\xcc\xcc\xcc\xcc\xdd\xdd\xdd\xdd"
  14587			  "\xee\xee\xee\xee\xff\xff\xff\xff"
  14588			  "\xaa\xaa\xaa\xaa\xbb\xbb\xbb\xbb",
  14589		.iv	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  14590			  "\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F",
  14591		.iv_out	= "\x91\xf2\xc1\x47\x91\x1a\x41\x44"
  14592			  "\x66\x5e\x1f\xa1\xd4\x0b\xae\x38",
  14593		.ctext	= "\x0d\x3a\x6d\xdc\x2d\x21\xc6\x98"
  14594			  "\x85\x72\x15\x58\x7b\x7b\xb5\x9a"
  14595			  "\x91\xf2\xc1\x47\x91\x1a\x41\x44"
  14596			  "\x66\x5e\x1f\xa1\xd4\x0b\xae\x38",
  14597		.len	= 32,
  14598	}
  14599};
  14600
  14601static const struct cipher_testvec sm4_ctr_tv_template[] = {
  14602	{ /* A.2.5.1 SM4-CTR Example 1 */
  14603		.key	= "\x01\x23\x45\x67\x89\xAB\xCD\xEF"
  14604			  "\xFE\xDC\xBA\x98\x76\x54\x32\x10",
  14605		.klen	= 16,
  14606		.ptext	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
  14607			  "\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb"
  14608			  "\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc"
  14609			  "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
  14610			  "\xee\xee\xee\xee\xee\xee\xee\xee"
  14611			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  14612			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
  14613			  "\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb",
  14614		.iv	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  14615			  "\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F",
  14616		.iv_out	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  14617			  "\x08\x09\x0A\x0B\x0C\x0D\x0E\x13",
  14618		.ctext	= "\xac\x32\x36\xcb\x97\x0c\xc2\x07"
  14619			  "\x91\x36\x4c\x39\x5a\x13\x42\xd1"
  14620			  "\xa3\xcb\xc1\x87\x8c\x6f\x30\xcd"
  14621			  "\x07\x4c\xce\x38\x5c\xdd\x70\xc7"
  14622			  "\xf2\x34\xbc\x0e\x24\xc1\x19\x80"
  14623			  "\xfd\x12\x86\x31\x0c\xe3\x7b\x92"
  14624			  "\x6e\x02\xfc\xd0\xfa\xa0\xba\xf3"
  14625			  "\x8b\x29\x33\x85\x1d\x82\x45\x14",
  14626		.len	= 64,
  14627	}, { /* A.2.5.2 SM4-CTR Example 2 */
  14628		.key	= "\xFE\xDC\xBA\x98\x76\x54\x32\x10"
  14629			  "\x01\x23\x45\x67\x89\xAB\xCD\xEF",
  14630		.klen	= 16,
  14631		.ptext	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
  14632			  "\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb"
  14633			  "\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc"
  14634			  "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
  14635			  "\xee\xee\xee\xee\xee\xee\xee\xee"
  14636			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  14637			  "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
  14638			  "\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb",
  14639		.iv	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  14640			  "\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F",
  14641		.iv_out	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  14642			  "\x08\x09\x0A\x0B\x0C\x0D\x0E\x13",
  14643		.ctext	= "\x5d\xcc\xcd\x25\xb9\x5a\xb0\x74"
  14644			  "\x17\xa0\x85\x12\xee\x16\x0e\x2f"
  14645			  "\x8f\x66\x15\x21\xcb\xba\xb4\x4c"
  14646			  "\xc8\x71\x38\x44\x5b\xc2\x9e\x5c"
  14647			  "\x0a\xe0\x29\x72\x05\xd6\x27\x04"
  14648			  "\x17\x3b\x21\x23\x9b\x88\x7f\x6c"
  14649			  "\x8c\xb5\xb8\x00\x91\x7a\x24\x88"
  14650			  "\x28\x4b\xde\x9e\x16\xea\x29\x06",
  14651		.len	= 64,
  14652	}
  14653};
  14654
  14655static const struct cipher_testvec sm4_ctr_rfc3686_tv_template[] = {
  14656	{
  14657		.key	= "\xae\x68\x52\xf8\x12\x10\x67\xcc"
  14658			  "\x4b\xf7\xa5\x76\x55\x77\xf3\x9e"
  14659			  "\x00\x00\x00\x30",
  14660		.klen	= 20,
  14661		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00",
  14662		.ptext	= "Single block msg",
  14663		.ctext	= "\x20\x9b\x77\x31\xd3\x65\xdb\xab"
  14664			  "\x9e\x48\x74\x7e\xbd\x13\x83\xeb",
  14665		.len	= 16,
  14666	}, {
  14667		.key	= "\x7e\x24\x06\x78\x17\xfa\xe0\xd7"
  14668			  "\x43\xd6\xce\x1f\x32\x53\x91\x63"
  14669			  "\x00\x6c\xb6\xdb",
  14670		.klen	= 20,
  14671		.iv	= "\xc0\x54\x3b\x59\xda\x48\xd9\x0b",
  14672		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  14673			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  14674			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  14675			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f",
  14676		.ctext	= "\x33\xe0\x28\x01\x92\xed\xc9\x1e"
  14677			  "\x97\x35\xd9\x4a\xec\xd4\xbc\x23"
  14678			  "\x4f\x35\x9f\x1c\x55\x1f\xe0\x27"
  14679			  "\xe0\xdf\xc5\x43\xbc\xb0\x23\x94",
  14680		.len	= 32,
  14681	}
  14682};
  14683
  14684static const struct cipher_testvec sm4_ofb_tv_template[] = {
  14685	{ /* From: draft-ribose-cfrg-sm4-02, paragraph 12.2.3 */
  14686		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  14687			  "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  14688		.klen	= 16,
  14689		.iv	= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  14690			  "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  14691		.ptext	= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  14692			  "\xfe\xdc\xba\x98\x76\x54\x32\x10"
  14693			  "\x01\x23\x45\x67\x89\xab\xcd\xef"
  14694			  "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  14695		.ctext	= "\x69\x3d\x9a\x53\x5b\xad\x5b\xb1"
  14696			  "\x78\x6f\x53\xd7\x25\x3a\x70\x56"
  14697			  "\xf2\x07\x5d\x28\xb5\x23\x5f\x58"
  14698			  "\xd5\x00\x27\xe4\x17\x7d\x2b\xce",
  14699		.len	= 32,
  14700	}, { /* From: draft-ribose-cfrg-sm4-09, appendix A.2.3, Example 1 */
  14701		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  14702			  "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  14703		.klen	= 16,
  14704		.iv	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  14705			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  14706		.ptext	= "\xaa\xaa\xaa\xaa\xbb\xbb\xbb\xbb"
  14707			  "\xcc\xcc\xcc\xcc\xdd\xdd\xdd\xdd"
  14708			  "\xee\xee\xee\xee\xff\xff\xff\xff"
  14709			  "\xaa\xaa\xaa\xaa\xbb\xbb\xbb\xbb",
  14710		.ctext	= "\xac\x32\x36\xcb\x86\x1d\xd3\x16"
  14711			  "\xe6\x41\x3b\x4e\x3c\x75\x24\xb7"
  14712			  "\x1d\x01\xac\xa2\x48\x7c\xa5\x82"
  14713			  "\xcb\xf5\x46\x3e\x66\x98\x53\x9b",
  14714		.len	= 32,
  14715	}, { /* From: draft-ribose-cfrg-sm4-09, appendix A.2.3, Example 2 */
  14716		.key	= "\xfe\xdc\xba\x98\x76\x54\x32\x10"
  14717			  "\x01\x23\x45\x67\x89\xab\xcd\xef",
  14718		.klen	= 16,
  14719		.iv	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  14720			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  14721		.ptext	= "\xaa\xaa\xaa\xaa\xbb\xbb\xbb\xbb"
  14722			  "\xcc\xcc\xcc\xcc\xdd\xdd\xdd\xdd"
  14723			  "\xee\xee\xee\xee\xff\xff\xff\xff"
  14724			  "\xaa\xaa\xaa\xaa\xbb\xbb\xbb\xbb",
  14725		.ctext	= "\x5d\xcc\xcd\x25\xa8\x4b\xa1\x65"
  14726			  "\x60\xd7\xf2\x65\x88\x70\x68\x49"
  14727			  "\x33\xfa\x16\xbd\x5c\xd9\xc8\x56"
  14728			  "\xca\xca\xa1\xe1\x01\x89\x7a\x97",
  14729		.len	= 32,
  14730	}
  14731};
  14732
  14733static const struct cipher_testvec sm4_cfb_tv_template[] = {
  14734	{ /* From: draft-ribose-cfrg-sm4-02, paragraph 12.2.4 */
  14735		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  14736			  "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  14737		.klen	= 16,
  14738		.iv	= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  14739			  "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  14740		.ptext	= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  14741			  "\xfe\xdc\xba\x98\x76\x54\x32\x10"
  14742			  "\x01\x23\x45\x67\x89\xab\xcd\xef"
  14743			  "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  14744		.ctext	= "\x69\x3d\x9a\x53\x5b\xad\x5b\xb1"
  14745			  "\x78\x6f\x53\xd7\x25\x3a\x70\x56"
  14746			  "\x9e\xd2\x58\xa8\x5a\x04\x67\xcc"
  14747			  "\x92\xaa\xb3\x93\xdd\x97\x89\x95",
  14748		.len	= 32,
  14749	}, { /* From: draft-ribose-cfrg-sm4-09, appendix A.2.4, Example 1 */
  14750		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  14751			  "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  14752		.klen	= 16,
  14753		.iv	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  14754			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  14755		.ptext	= "\xaa\xaa\xaa\xaa\xbb\xbb\xbb\xbb"
  14756			  "\xcc\xcc\xcc\xcc\xdd\xdd\xdd\xdd"
  14757			  "\xee\xee\xee\xee\xff\xff\xff\xff"
  14758			  "\xaa\xaa\xaa\xaa\xbb\xbb\xbb\xbb",
  14759		.ctext	= "\xac\x32\x36\xcb\x86\x1d\xd3\x16"
  14760			  "\xe6\x41\x3b\x4e\x3c\x75\x24\xb7"
  14761			  "\x69\xd4\xc5\x4e\xd4\x33\xb9\xa0"
  14762			  "\x34\x60\x09\xbe\xb3\x7b\x2b\x3f",
  14763		.len	= 32,
  14764	}, { /* From: draft-ribose-cfrg-sm4-09, appendix A.2.4, Example 2 */
  14765		.key	= "\xfe\xdc\xba\x98\x76\x54\x32\x10"
  14766			  "\x01\x23\x45\x67\x89\xab\xcd\xef",
  14767		.klen	= 16,
  14768		.iv	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  14769			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  14770		.ptext	= "\xaa\xaa\xaa\xaa\xbb\xbb\xbb\xbb"
  14771			  "\xcc\xcc\xcc\xcc\xdd\xdd\xdd\xdd"
  14772			  "\xee\xee\xee\xee\xff\xff\xff\xff"
  14773			  "\xaa\xaa\xaa\xaa\xbb\xbb\xbb\xbb",
  14774		.ctext	= "\x5d\xcc\xcd\x25\xa8\x4b\xa1\x65"
  14775			  "\x60\xd7\xf2\x65\x88\x70\x68\x49"
  14776			  "\x0d\x9b\x86\xff\x20\xc3\xbf\xe1"
  14777			  "\x15\xff\xa0\x2c\xa6\x19\x2c\xc5",
  14778		.len	= 32,
  14779	}
  14780};
  14781
  14782static const struct aead_testvec sm4_gcm_tv_template[] = {
  14783	{ /* From https://datatracker.ietf.org/doc/html/rfc8998#appendix-A.1 */
  14784		.key	= "\x01\x23\x45\x67\x89\xAB\xCD\xEF"
  14785			  "\xFE\xDC\xBA\x98\x76\x54\x32\x10",
  14786		.klen	= 16,
  14787		.iv	= "\x00\x00\x12\x34\x56\x78\x00\x00"
  14788			  "\x00\x00\xAB\xCD",
  14789		.ptext	= "\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA"
  14790			  "\xBB\xBB\xBB\xBB\xBB\xBB\xBB\xBB"
  14791			  "\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC"
  14792			  "\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD"
  14793			  "\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE"
  14794			  "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"
  14795			  "\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE"
  14796			  "\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA",
  14797		.plen	= 64,
  14798		.assoc	= "\xFE\xED\xFA\xCE\xDE\xAD\xBE\xEF"
  14799			  "\xFE\xED\xFA\xCE\xDE\xAD\xBE\xEF"
  14800			  "\xAB\xAD\xDA\xD2",
  14801		.alen	= 20,
  14802		.ctext	= "\x17\xF3\x99\xF0\x8C\x67\xD5\xEE"
  14803			  "\x19\xD0\xDC\x99\x69\xC4\xBB\x7D"
  14804			  "\x5F\xD4\x6F\xD3\x75\x64\x89\x06"
  14805			  "\x91\x57\xB2\x82\xBB\x20\x07\x35"
  14806			  "\xD8\x27\x10\xCA\x5C\x22\xF0\xCC"
  14807			  "\xFA\x7C\xBF\x93\xD4\x96\xAC\x15"
  14808			  "\xA5\x68\x34\xCB\xCF\x98\xC3\x97"
  14809			  "\xB4\x02\x4A\x26\x91\x23\x3B\x8D"
  14810			  "\x83\xDE\x35\x41\xE4\xC2\xB5\x81"
  14811			  "\x77\xE0\x65\xA9\xBF\x7B\x62\xEC",
  14812		.clen	= 80,
  14813	}
  14814};
  14815
  14816static const struct aead_testvec sm4_ccm_tv_template[] = {
  14817	{ /* From https://datatracker.ietf.org/doc/html/rfc8998#appendix-A.2 */
  14818		.key	= "\x01\x23\x45\x67\x89\xAB\xCD\xEF"
  14819			  "\xFE\xDC\xBA\x98\x76\x54\x32\x10",
  14820		.klen	= 16,
  14821		.iv	= "\x02\x00\x00\x12\x34\x56\x78\x00"
  14822			  "\x00\x00\x00\xAB\xCD\x00\x00\x00",
  14823		.ptext	= "\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA"
  14824			  "\xBB\xBB\xBB\xBB\xBB\xBB\xBB\xBB"
  14825			  "\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC"
  14826			  "\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD"
  14827			  "\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE"
  14828			  "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"
  14829			  "\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE"
  14830			  "\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA",
  14831		.plen	= 64,
  14832		.assoc	= "\xFE\xED\xFA\xCE\xDE\xAD\xBE\xEF"
  14833			  "\xFE\xED\xFA\xCE\xDE\xAD\xBE\xEF"
  14834			  "\xAB\xAD\xDA\xD2",
  14835		.alen	= 20,
  14836		.ctext	= "\x48\xAF\x93\x50\x1F\xA6\x2A\xDB"
  14837			  "\xCD\x41\x4C\xCE\x60\x34\xD8\x95"
  14838			  "\xDD\xA1\xBF\x8F\x13\x2F\x04\x20"
  14839			  "\x98\x66\x15\x72\xE7\x48\x30\x94"
  14840			  "\xFD\x12\xE5\x18\xCE\x06\x2C\x98"
  14841			  "\xAC\xEE\x28\xD9\x5D\xF4\x41\x6B"
  14842			  "\xED\x31\xA2\xF0\x44\x76\xC1\x8B"
  14843			  "\xB4\x0C\x84\xA7\x4B\x97\xDC\x5B"
  14844			  "\x16\x84\x2D\x4F\xA1\x86\xF5\x6A"
  14845			  "\xB3\x32\x56\x97\x1F\xA1\x10\xF4",
  14846		.clen	= 80,
  14847	}
  14848};
  14849
  14850static const struct hash_testvec sm4_cbcmac_tv_template[] = {
  14851	{
  14852		.key		= "\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
  14853				  "\x77\x66\x55\x44\x33\x22\x11\x00",
  14854		.plaintext	= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  14855				  "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  14856		.digest		= "\x97\xb4\x75\x8f\x84\x92\x3d\x3f"
  14857				  "\x86\x81\x0e\x0e\xea\x14\x6d\x73",
  14858		.psize		= 16,
  14859		.ksize		= 16,
  14860	}, {
  14861		.key		= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  14862				  "\xfe\xdc\xBA\x98\x76\x54\x32\x10",
  14863		.plaintext	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
  14864				  "\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb"
  14865				  "\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc"
  14866				  "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
  14867				  "\xee",
  14868		.digest		= "\xc7\xdb\x17\x71\xa1\x5c\x0d\x22"
  14869				  "\xa3\x39\x3a\x31\x88\x91\x49\xa1",
  14870		.psize		= 33,
  14871		.ksize		= 16,
  14872	}, {
  14873		.key		= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  14874				  "\xfe\xdc\xBA\x98\x76\x54\x32\x10",
  14875		.plaintext	= "\xfb\xd1\xbe\x92\x7e\x50\x3f\x16"
  14876				  "\xf9\xdd\xbe\x91\x73\x53\x37\x1a"
  14877				  "\xfe\xdd\xba\x97\x7e\x53\x3c\x1c"
  14878				  "\xfe\xd7\xbf\x9c\x75\x5f\x3e\x11"
  14879				  "\xf0\xd8\xbc\x96\x73\x5c\x34\x11"
  14880				  "\xf5\xdb\xb1\x99\x7a\x5a\x32\x1f"
  14881				  "\xf6\xdf\xb4\x95\x7f\x5f\x3b\x17"
  14882				  "\xfd\xdb\xb1\x9b\x76\x5c\x37",
  14883		.digest		= "\x9b\x07\x88\x7f\xd5\x95\x23\x12"
  14884				  "\x64\x0a\x66\x7f\x4e\x25\xca\xd0",
  14885		.psize		= 63,
  14886		.ksize		= 16,
  14887	}
  14888};
  14889
  14890static const struct hash_testvec sm4_cmac128_tv_template[] = {
  14891	{
  14892		.key		= "\xff\xee\xdd\xcc\xbb\xaa\x99\x88"
  14893				  "\x77\x66\x55\x44\x33\x22\x11\x00",
  14894		.plaintext	= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  14895				  "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  14896		.digest		= "\x00\xd4\x63\xb4\x9a\xf3\x52\xe2"
  14897				  "\x74\xa9\x00\x55\x13\x54\x2a\xd1",
  14898		.psize		= 16,
  14899		.ksize		= 16,
  14900	}, {
  14901		.key		= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  14902				  "\xfe\xdc\xBA\x98\x76\x54\x32\x10",
  14903		.plaintext	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
  14904				  "\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb"
  14905				  "\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc"
  14906				  "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd"
  14907				  "\xee",
  14908		.digest		= "\x8a\x8a\xe9\xc0\xc8\x97\x0e\x85"
  14909				  "\x21\x57\x02\x10\x1a\xbf\x9c\xc6",
  14910		.psize		= 33,
  14911		.ksize		= 16,
  14912	}, {
  14913		.key		= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  14914				  "\xfe\xdc\xBA\x98\x76\x54\x32\x10",
  14915		.plaintext	= "\xfb\xd1\xbe\x92\x7e\x50\x3f\x16"
  14916				  "\xf9\xdd\xbe\x91\x73\x53\x37\x1a"
  14917				  "\xfe\xdd\xba\x97\x7e\x53\x3c\x1c"
  14918				  "\xfe\xd7\xbf\x9c\x75\x5f\x3e\x11"
  14919				  "\xf0\xd8\xbc\x96\x73\x5c\x34\x11"
  14920				  "\xf5\xdb\xb1\x99\x7a\x5a\x32\x1f"
  14921				  "\xf6\xdf\xb4\x95\x7f\x5f\x3b\x17"
  14922				  "\xfd\xdb\xb1\x9b\x76\x5c\x37",
  14923		.digest		= "\x5f\x14\xc9\xa9\x20\xb2\xb4\xf0"
  14924				  "\x76\xe0\xd8\xd6\xdc\x4f\xe1\xbc",
  14925		.psize		= 63,
  14926		.ksize		= 16,
  14927	}
  14928};
  14929
  14930/* Cast6 test vectors from RFC 2612 */
  14931static const struct cipher_testvec cast6_tv_template[] = {
  14932	{
  14933		.key	= "\x23\x42\xbb\x9e\xfa\x38\x54\x2c"
  14934			  "\x0a\xf7\x56\x47\xf2\x9f\x61\x5d",
  14935		.klen	= 16,
  14936		.ptext	= zeroed_string,
  14937		.ctext	= "\xc8\x42\xa0\x89\x72\xb4\x3d\x20"
  14938			  "\x83\x6c\x91\xd1\xb7\x53\x0f\x6b",
  14939		.len	= 16,
  14940	}, {
  14941		.key	= "\x23\x42\xbb\x9e\xfa\x38\x54\x2c"
  14942			  "\xbe\xd0\xac\x83\x94\x0a\xc2\x98"
  14943			  "\xba\xc7\x7a\x77\x17\x94\x28\x63",
  14944		.klen	= 24,
  14945		.ptext	= zeroed_string,
  14946		.ctext	= "\x1b\x38\x6c\x02\x10\xdc\xad\xcb"
  14947			  "\xdd\x0e\x41\xaa\x08\xa7\xa7\xe8",
  14948		.len	= 16,
  14949	}, {
  14950		.key	= "\x23\x42\xbb\x9e\xfa\x38\x54\x2c"
  14951			  "\xbe\xd0\xac\x83\x94\x0a\xc2\x98"
  14952			  "\x8d\x7c\x47\xce\x26\x49\x08\x46"
  14953			  "\x1c\xc1\xb5\x13\x7a\xe6\xb6\x04",
  14954		.klen	= 32,
  14955		.ptext	= zeroed_string,
  14956		.ctext	= "\x4f\x6a\x20\x38\x28\x68\x97\xb9"
  14957			  "\xc9\x87\x01\x36\x55\x33\x17\xfa",
  14958		.len	= 16,
  14959	}, { /* Generated from TF test vectors */
  14960		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  14961			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
  14962			  "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
  14963			  "\x78\xBE\x9B\x78\x55\x32\x0F\x55",
  14964		.klen	= 32,
  14965		.iv	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F"
  14966			  "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64",
  14967		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  14968			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  14969			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  14970			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  14971			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  14972			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  14973			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  14974			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  14975			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  14976			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  14977			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  14978			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  14979			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  14980			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  14981			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  14982			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  14983			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  14984			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  14985			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  14986			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  14987			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  14988			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  14989			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  14990			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  14991			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  14992			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  14993			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  14994			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  14995			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  14996			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  14997			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  14998			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  14999			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  15000			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  15001			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  15002			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  15003			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  15004			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  15005			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  15006			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  15007			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  15008			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  15009			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  15010			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  15011			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  15012			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  15013			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  15014			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  15015			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  15016			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  15017			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  15018			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  15019			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  15020			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  15021			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  15022			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  15023			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  15024			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  15025			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  15026			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  15027			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  15028			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
  15029		.ctext	= "\xC3\x70\x22\x32\xF5\x80\xCB\x54"
  15030			  "\xFC\x30\xE0\xF6\xEB\x39\x57\xA6"
  15031			  "\xB6\xB9\xC5\xA4\x91\x55\x14\x97"
  15032			  "\xC1\x20\xFF\x6C\x5C\xF0\x67\xEA"
  15033			  "\x2F\xED\xD8\xC9\xFB\x38\x3F\xFE"
  15034			  "\x93\xBE\xDC\x00\xD3\x7F\xAD\x4C"
  15035			  "\x5A\x08\x92\xD1\x47\x0C\xFA\x6C"
  15036			  "\xD0\x6A\x99\x10\x72\xF8\x47\x62"
  15037			  "\x81\x42\xF8\xD8\xF5\xBB\x94\x08"
  15038			  "\xAA\x97\xA2\x8B\x69\xB3\xD2\x7E"
  15039			  "\xBC\xB5\x00\x0C\xE5\x44\x4B\x58"
  15040			  "\xE8\x63\xDC\xB3\xC4\xE5\x23\x12"
  15041			  "\x5A\x72\x85\x47\x8B\xEC\x9F\x26"
  15042			  "\x84\xB6\xED\x10\x33\x63\x9B\x5F"
  15043			  "\x4D\x53\xEE\x94\x45\x8B\x60\x58"
  15044			  "\x86\x20\xF9\x1E\x82\x08\x3E\x58"
  15045			  "\x60\x1B\x34\x19\x02\xBE\x4E\x09"
  15046			  "\xBB\x7C\x15\xCC\x60\x27\x55\x7A"
  15047			  "\x12\xB8\xD8\x08\x89\x3C\xA6\xF3"
  15048			  "\xF1\xDD\xA7\x07\xA3\x12\x85\x28"
  15049			  "\xE9\x57\xAC\x80\x0C\x5C\x0F\x3A"
  15050			  "\x5D\xC2\x91\xC7\x90\xE4\x8C\x43"
  15051			  "\x92\xE4\x7C\x26\x69\x4D\x83\x68"
  15052			  "\x14\x96\x42\x47\xBD\xA9\xE4\x8A"
  15053			  "\x33\x19\xEB\x54\x8E\x0D\x4B\x6E"
  15054			  "\x91\x51\xB5\x36\x08\xDE\x1C\x06"
  15055			  "\x03\xBD\xDE\x81\x26\xF7\x99\xC2"
  15056			  "\xBA\xF7\x6D\x87\x0D\xE4\xA6\xCF"
  15057			  "\xC1\xF5\x27\x05\xB8\x02\x57\x72"
  15058			  "\xE6\x42\x13\x0B\xC6\x47\x05\x74"
  15059			  "\x24\x15\xF7\x0D\xC2\x23\x9D\xB9"
  15060			  "\x3C\x77\x18\x93\xBA\xB4\xFC\x8C"
  15061			  "\x98\x82\x67\x67\xB4\xD7\xD3\x43"
  15062			  "\x23\x08\x02\xB7\x9B\x99\x05\xFB"
  15063			  "\xD3\xB5\x00\x0A\xA9\x9D\x66\xD6"
  15064			  "\x2E\x49\x58\xD0\xA8\x57\x29\x7F"
  15065			  "\x0A\x0E\x7D\xFC\x92\x83\xCC\x67"
  15066			  "\xA2\xB1\x70\x3A\x8F\x87\x4A\x8D"
  15067			  "\x17\xE2\x58\x2B\x88\x0D\x68\x62"
  15068			  "\xBF\x35\xD1\x6F\xC0\xF0\x18\x62"
  15069			  "\xB2\xC7\x2D\x58\xC7\x16\xDE\x08"
  15070			  "\xEB\x84\x1D\x25\xA7\x38\x94\x06"
  15071			  "\x93\x9D\xF8\xFE\x88\x71\xE7\x84"
  15072			  "\x2C\xA0\x38\xA3\x1D\x48\xCF\x29"
  15073			  "\x0B\xBC\xD8\x50\x99\x1A\x26\xFB"
  15074			  "\x8E\x75\x3D\x73\xEB\x6A\xED\x29"
  15075			  "\xE0\x8E\xED\xFC\xFE\x6F\xF6\xBA"
  15076			  "\x41\xE2\x10\x4C\x01\x8B\x69\x2B"
  15077			  "\x25\x3F\x4D\x70\x7B\x92\xD6\x3B"
  15078			  "\xAC\xF9\x77\x18\xD9\x6A\x30\xA6"
  15079			  "\x2E\xFA\x30\xFF\xC8\xD5\x1D\x06"
  15080			  "\x59\x28\x1D\x86\x43\x04\x5D\x3B"
  15081			  "\x99\x4C\x04\x5A\x21\x17\x8B\x76"
  15082			  "\x8F\x72\xCB\xA1\x9C\x29\x4C\xC3"
  15083			  "\x65\xA2\x58\x2A\xC5\x66\x24\xBF"
  15084			  "\xBA\xE6\x0C\xDD\x34\x24\x74\xC8"
  15085			  "\x84\x0A\x66\x2C\xBE\x8F\x32\xA9"
  15086			  "\xE7\xE4\xA1\xD7\xDA\xAB\x23\x1E"
  15087			  "\xEB\xEE\x6C\x94\x6F\x9C\x2E\xD1"
  15088			  "\x49\x2C\xF3\xD4\x90\xCC\x93\x4C"
  15089			  "\x84\x52\x6D\x68\xDE\xC6\x64\xB2"
  15090			  "\x11\x74\x93\x57\xB4\x7E\xC6\x00",
  15091		.len	= 496,
  15092	},
  15093};
  15094
  15095static const struct cipher_testvec cast6_cbc_tv_template[] = {
  15096	{ /* Generated from TF test vectors */
  15097		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  15098			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
  15099			  "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
  15100			  "\x78\xBE\x9B\x78\x55\x32\x0F\x55",
  15101		.klen	= 32,
  15102		.iv	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F"
  15103			  "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64",
  15104		.iv_out	= "\x4D\x59\x7D\xC5\x28\x69\xFA\x92"
  15105			  "\x22\x46\x89\x2D\x0F\x2B\x08\x24",
  15106		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  15107			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  15108			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  15109			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  15110			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  15111			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  15112			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  15113			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  15114			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  15115			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  15116			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  15117			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  15118			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  15119			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  15120			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  15121			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  15122			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  15123			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  15124			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  15125			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  15126			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  15127			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  15128			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  15129			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  15130			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  15131			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  15132			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  15133			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  15134			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  15135			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  15136			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  15137			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  15138			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  15139			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  15140			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  15141			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  15142			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  15143			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  15144			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  15145			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  15146			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  15147			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  15148			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  15149			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  15150			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  15151			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  15152			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  15153			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  15154			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  15155			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  15156			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  15157			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  15158			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  15159			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  15160			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  15161			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  15162			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  15163			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  15164			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  15165			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  15166			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  15167			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
  15168		.ctext	= "\xDF\x77\x68\x96\xC7\xBA\xF8\xE2"
  15169			  "\x0E\x24\x99\x1A\xAA\xF3\xC6\x9F"
  15170			  "\xA0\x73\xB3\x70\xC3\x68\x64\x70"
  15171			  "\xAD\x33\x02\xFB\x88\x74\xAA\x78"
  15172			  "\xC7\x47\x1A\x18\x61\x2D\xAC\x9F"
  15173			  "\x7E\x6F\xDF\x05\x13\x76\xA6\x72"
  15174			  "\xB7\x13\x09\x0F\x7D\x38\xDF\x25"
  15175			  "\x4E\xFD\x50\x45\xFA\x35\x6A\xC0"
  15176			  "\x57\x95\xE1\x21\x26\x10\x9A\x21"
  15177			  "\xA1\x8A\x51\x05\xD1\xB1\x78\x35"
  15178			  "\x98\xF5\xAE\xC0\xC1\x8B\x94\xFF"
  15179			  "\xD0\x69\x3F\x42\xC2\x01\xA7\x9B"
  15180			  "\x23\x16\x47\x72\x81\x13\x3A\x72"
  15181			  "\xEC\xD9\x40\x88\x00\x9C\xB0\xA8"
  15182			  "\x9C\xAC\xCE\x11\x73\x7B\x63\x3E"
  15183			  "\xA3\x63\x98\x7D\x35\xE4\xD9\x83"
  15184			  "\xE2\xD0\x52\x87\x0C\x1F\xB0\xB3"
  15185			  "\x41\x1A\x93\x8D\x76\x31\x9F\xF2"
  15186			  "\xFE\x09\xA3\x8F\x22\x6A\x3B\xB9"
  15187			  "\x6C\x9E\xE4\xA1\xA0\xC4\xE7\xA1"
  15188			  "\x21\x9C\x1A\xCA\x65\xDE\x44\x03"
  15189			  "\x99\xF2\xD2\x39\xE3\x3F\x0F\x37"
  15190			  "\x53\x50\x23\xA4\x81\x6E\xDA\xFB"
  15191			  "\xF8\x7B\x01\xD7\xB2\x32\x9C\xB8"
  15192			  "\xB1\x0E\x99\x17\xB5\x38\xF9\xD7"
  15193			  "\x86\x2D\x6E\x94\x5C\x99\x9D\xB3"
  15194			  "\xD3\x63\x4B\x2A\x7D\x44\x6A\xB2"
  15195			  "\xC1\x03\xE6\x5A\x37\xD8\x64\x18"
  15196			  "\xAA\x32\xCE\x29\xED\xC0\xA2\xCB"
  15197			  "\x8D\xAF\xCD\xBE\x8F\xB6\xEC\xB4"
  15198			  "\x89\x05\x81\x6E\x71\x4F\xC3\x28"
  15199			  "\x10\xC1\x62\xC4\x41\xE9\xD2\x39"
  15200			  "\xF3\x22\x39\x12\x2C\xC2\x95\x2D"
  15201			  "\xBF\x93\x58\x4B\x04\xD1\x8D\x57"
  15202			  "\xAE\xEB\x60\x03\x56\x35\xAD\x5A"
  15203			  "\xE9\xC3\xFF\x4E\x31\xE1\x37\xF8"
  15204			  "\x7D\xEE\x65\x8A\xB6\x88\x1A\x3E"
  15205			  "\x07\x09\x82\xBA\xF0\x80\x8A\xD0"
  15206			  "\xA0\x3F\x6A\xE9\x24\x87\x19\x65"
  15207			  "\x73\x3F\x12\x91\x47\x54\xBA\x39"
  15208			  "\x30\x5B\x1E\xE5\xC2\xF9\x3F\xEF"
  15209			  "\xD6\x75\xF9\xB8\x7C\x8B\x05\x76"
  15210			  "\xEE\xB7\x08\x25\x4B\xB6\x7B\x47"
  15211			  "\x72\xC0\x4C\xD4\xDA\xE0\x75\xF1"
  15212			  "\x7C\xE8\x94\x9E\x16\x6E\xB8\x12"
  15213			  "\xA1\xC1\x6E\x3B\x1C\x59\x41\x2D"
  15214			  "\x23\xFA\x7D\x77\xB8\x46\x75\xFE"
  15215			  "\x4F\x10\xD3\x09\x60\xA1\x36\x96"
  15216			  "\x5B\xC2\xDC\x6E\x84\x7D\x9B\x14"
  15217			  "\x80\x21\x83\x58\x3C\x76\xFD\x28"
  15218			  "\x1D\xF9\x93\x13\xD7\x0E\x62\x14"
  15219			  "\x5A\xC5\x4E\x08\xA5\x56\xA4\x3C"
  15220			  "\x68\x93\x44\x70\xDF\xCF\x4A\x51"
  15221			  "\x0B\x81\x29\x41\xE5\x62\x4D\x36"
  15222			  "\xB3\xEA\x94\xA6\xB9\xDD\x3F\x09"
  15223			  "\x62\x34\xA0\x6A\x7E\x7D\xF5\xF6"
  15224			  "\x01\x91\xB4\x27\xDA\x59\xD6\x17"
  15225			  "\x56\x4D\x82\x62\x37\xA3\x48\x01"
  15226			  "\x99\x91\x77\xB2\x08\x6B\x2C\x37"
  15227			  "\xC5\x5C\xAD\xB6\x07\xB6\x84\xF3"
  15228			  "\x4D\x59\x7D\xC5\x28\x69\xFA\x92"
  15229			  "\x22\x46\x89\x2D\x0F\x2B\x08\x24",
  15230		.len	= 496,
  15231	},
  15232};
  15233
  15234static const struct cipher_testvec cast6_ctr_tv_template[] = {
  15235	{ /* Generated from TF test vectors */
  15236		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  15237			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
  15238			  "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
  15239			  "\x78\xBE\x9B\x78\x55\x32\x0F\x55",
  15240		.klen	= 32,
  15241		.iv	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F"
  15242			  "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64",
  15243		.iv_out	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F"
  15244			  "\xC4\x29\x8E\xF3\x35\x9A\xFF\x66",
  15245		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  15246			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  15247			  "\x3A",
  15248		.ctext	= "\x26\x0A\xF1\xE2\x3F\x8A\xEF\xA3"
  15249			  "\x53\x9A\x5E\x1B\x2A\x1A\xC6\x0A"
  15250			  "\x57",
  15251		.len	= 17,
  15252	}, { /* Generated from TF test vectors */
  15253		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  15254			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
  15255			  "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
  15256			  "\x78\xBE\x9B\x78\x55\x32\x0F\x55",
  15257		.klen	= 32,
  15258		.iv	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F"
  15259			  "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64",
  15260		.iv_out	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F"
  15261			  "\xC4\x29\x8E\xF3\x35\x9A\xFF\x83",
  15262		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  15263			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  15264			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  15265			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  15266			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  15267			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  15268			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  15269			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  15270			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  15271			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  15272			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  15273			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  15274			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  15275			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  15276			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  15277			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  15278			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  15279			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  15280			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  15281			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  15282			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  15283			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  15284			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  15285			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  15286			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  15287			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  15288			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  15289			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  15290			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  15291			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  15292			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  15293			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  15294			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  15295			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  15296			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  15297			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  15298			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  15299			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  15300			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  15301			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  15302			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  15303			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  15304			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  15305			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  15306			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  15307			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  15308			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  15309			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  15310			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  15311			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  15312			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  15313			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  15314			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  15315			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  15316			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  15317			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  15318			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  15319			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  15320			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  15321			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  15322			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  15323			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
  15324		.ctext	= "\x26\x0A\xF1\xE2\x3F\x8A\xEF\xA3"
  15325			  "\x53\x9A\x5E\x1B\x2A\x1A\xC6\x0A"
  15326			  "\x57\xA3\xEF\x47\x2A\xE8\x88\xA7"
  15327			  "\x3C\xD0\xEC\xB9\x94\x50\x7D\x56"
  15328			  "\xBC\xE1\xC1\xF5\xE1\xEE\x12\xF8"
  15329			  "\x4F\x03\x82\x3A\x93\x6B\x4C\xD3"
  15330			  "\xE3\xF3\xFA\xC2\x23\x55\x98\x20"
  15331			  "\x49\x76\x9B\x6B\xC1\x23\xBF\xE5"
  15332			  "\xD4\xC4\x2F\x61\xE1\x67\x2A\x30"
  15333			  "\x6F\x29\xCA\x54\xF8\x1B\xA6\x7D"
  15334			  "\x66\x45\xEE\xC8\x19\xBE\x50\xF0"
  15335			  "\x5F\x65\xF8\x1E\x4D\x07\x87\xD9"
  15336			  "\xD3\xD9\x1B\x09\x89\xFD\x42\xC5"
  15337			  "\xDB\xEB\x86\xF1\x67\x04\x0F\x5C"
  15338			  "\x81\xDF\x82\x12\xC7\x4C\x1B\x07"
  15339			  "\xDE\xE6\xFA\x29\x86\xD1\xB0\xBA"
  15340			  "\x3D\x6A\x69\x76\xEC\x0F\xB4\xE6"
  15341			  "\xCD\xA7\xF8\xA8\xB8\xE0\x33\xF5"
  15342			  "\x49\x61\x22\x52\x64\x8C\x46\x41"
  15343			  "\x1F\x48\x5F\x4F\xA2\x89\x36\x17"
  15344			  "\x20\xF8\x2F\x8F\x4B\xFA\xF2\xC0"
  15345			  "\x1E\x18\xA2\xF8\xB7\x6D\x98\xE3"
  15346			  "\x00\x14\x15\x59\xC1\x30\x64\xAF"
  15347			  "\xA8\x01\x38\xAB\xD4\x8B\xEC\x7C"
  15348			  "\x44\x9A\xC6\x2C\x2E\x2B\x2B\xF4"
  15349			  "\x02\x37\xC4\x69\xEF\x36\xC1\xF3"
  15350			  "\xA0\xFB\xFE\x29\xAD\x39\xCF\xD0"
  15351			  "\x51\x73\xA3\x22\x42\x41\xAB\xD2"
  15352			  "\x0F\x50\x14\xB9\x54\xD3\xD4\xFA"
  15353			  "\xBF\xC9\xBB\xCE\xC4\x1D\x2D\xAF"
  15354			  "\xC9\x3F\x07\x87\x42\x4B\x3A\x54"
  15355			  "\x34\x8E\x37\xA3\x03\x6F\x65\x66"
  15356			  "\xDB\x44\xC3\xE8\xD7\xDD\x7D\xDD"
  15357			  "\x61\xB4\x2B\x80\xA3\x98\x13\xF5"
  15358			  "\x5A\xD3\x34\x58\xC3\x6E\xF6\xB8"
  15359			  "\x0A\xC6\x50\x01\x8E\xD5\x6C\x7D"
  15360			  "\xFE\x16\xB6\xCF\xFC\x51\x40\xAE"
  15361			  "\xB3\x15\xAC\x90\x6F\x0B\x28\x3A"
  15362			  "\x60\x40\x38\x90\x20\x46\xC7\xB3"
  15363			  "\x0B\x12\x6D\x3B\x15\x14\xF9\xF4"
  15364			  "\x11\x41\x76\x6B\xB3\x60\x82\x3C"
  15365			  "\x84\xFB\x08\x2E\x92\x25\xCB\x79"
  15366			  "\x6F\x58\xC5\x94\x00\x00\x47\xB6"
  15367			  "\x9E\xDC\x0F\x29\x70\x46\x20\x76"
  15368			  "\x65\x75\x66\x5C\x00\x96\xB3\xE1"
  15369			  "\x0B\xA7\x11\x8B\x2E\x61\x4E\x45"
  15370			  "\x73\xFC\x91\xAB\x79\x41\x23\x14"
  15371			  "\x13\xB6\x72\x6C\x46\xB3\x03\x11"
  15372			  "\xE4\xF1\xEE\xC9\x7A\xCF\x96\x32"
  15373			  "\xB6\xF0\x8B\x97\xB4\xCF\x82\xB7"
  15374			  "\x15\x48\x44\x99\x09\xF6\xE0\xD7"
  15375			  "\xBC\xF1\x5B\x91\x4F\x30\x22\xA2"
  15376			  "\x45\xC4\x68\x55\xC2\xBE\xA7\xD2"
  15377			  "\x12\x53\x35\x9C\xF9\xE7\x35\x5D"
  15378			  "\x81\xE4\x86\x42\xC3\x58\xFB\xF0"
  15379			  "\x38\x9B\x8E\x5A\xEF\x83\x33\x0F"
  15380			  "\x00\x4E\x3F\x9F\xF5\x84\x62\xC4"
  15381			  "\x19\x35\x88\x22\x45\x59\x0E\x8F"
  15382			  "\xEC\x27\xDD\x4A\xA4\x1F\xBC\x41"
  15383			  "\x9B\x66\x8D\x32\xBA\x81\x34\x87"
  15384			  "\x0E\x74\x33\x30\x62\xB9\x89\xDF"
  15385			  "\xF9\xC5\xDD\x27\xB3\x39\xCB\xCB",
  15386		.len	= 496,
  15387	},
  15388};
  15389
  15390static const struct cipher_testvec cast6_lrw_tv_template[] = {
  15391	{ /* Generated from TF test vectors */
  15392		.key	= "\xf8\xd4\x76\xff\xd6\x46\xee\x6c"
  15393			  "\x23\x84\xcb\x1c\x77\xd6\x19\x5d"
  15394			  "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21"
  15395			  "\xa7\x9c\x21\xf8\xcb\x90\x02\x89"
  15396			  "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1"
  15397			  "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e",
  15398		.klen	= 48,
  15399		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  15400			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  15401		.ptext	= "\x05\x11\xb7\x18\xab\xc6\x2d\xac"
  15402			  "\x70\x5d\xf6\x22\x94\xcd\xe5\x6c"
  15403			  "\x17\x6b\xf6\x1c\xf0\xf3\x6e\xf8"
  15404			  "\x50\x38\x1f\x71\x49\xb6\x57\xd6"
  15405			  "\x8f\xcb\x8d\x6b\xe3\xa6\x29\x90"
  15406			  "\xfe\x2a\x62\x82\xae\x6d\x8b\xf6"
  15407			  "\xad\x1e\x9e\x20\x5f\x38\xbe\x04"
  15408			  "\xda\x10\x8e\xed\xa2\xa4\x87\xab"
  15409			  "\xda\x6b\xb4\x0c\x75\xba\xd3\x7c"
  15410			  "\xc9\xac\x42\x31\x95\x7c\xc9\x04"
  15411			  "\xeb\xd5\x6e\x32\x69\x8a\xdb\xa6"
  15412			  "\x15\xd7\x3f\x4f\x2f\x66\x69\x03"
  15413			  "\x9c\x1f\x54\x0f\xde\x1f\xf3\x65"
  15414			  "\x4c\x96\x12\xed\x7c\x92\x03\x01"
  15415			  "\x6f\xbc\x35\x93\xac\xf1\x27\xf1"
  15416			  "\xb4\x96\x82\x5a\x5f\xb0\xa0\x50"
  15417			  "\x89\xa4\x8e\x66\x44\x85\xcc\xfd"
  15418			  "\x33\x14\x70\xe3\x96\xb2\xc3\xd3"
  15419			  "\xbb\x54\x5a\x1a\xf9\x74\xa2\xc5"
  15420			  "\x2d\x64\x75\xdd\xb4\x54\xe6\x74"
  15421			  "\x8c\xd3\x9d\x9e\x86\xab\x51\x53"
  15422			  "\xb7\x93\x3e\x6f\xd0\x4e\x2c\x40"
  15423			  "\xf6\xa8\x2e\x3e\x9d\xf4\x66\xa5"
  15424			  "\x76\x12\x73\x44\x1a\x56\xd7\x72"
  15425			  "\x88\xcd\x21\x8c\x4c\x0f\xfe\xda"
  15426			  "\x95\xe0\x3a\xa6\xa5\x84\x46\xcd"
  15427			  "\xd5\x3e\x9d\x3a\xe2\x67\xe6\x60"
  15428			  "\x1a\xe2\x70\x85\x58\xc2\x1b\x09"
  15429			  "\xe1\xd7\x2c\xca\xad\xa8\x8f\xf9"
  15430			  "\xac\xb3\x0e\xdb\xca\x2e\xe2\xb8"
  15431			  "\x51\x71\xd9\x3c\x6c\xf1\x56\xf8"
  15432			  "\xea\x9c\xf1\xfb\x0c\xe6\xb7\x10"
  15433			  "\x1c\xf8\xa9\x7c\xe8\x53\x35\xc1"
  15434			  "\x90\x3e\x76\x4a\x74\xa4\x21\x2c"
  15435			  "\xf6\x2c\x4e\x0f\x94\x3a\x88\x2e"
  15436			  "\x41\x09\x6a\x33\x7d\xf6\xdd\x3f"
  15437			  "\x8d\x23\x31\x74\x84\xeb\x88\x6e"
  15438			  "\xcc\xb9\xbc\x22\x83\x19\x07\x22"
  15439			  "\xa5\x2d\xdf\xa5\xf3\x80\x85\x78"
  15440			  "\x84\x39\x6a\x6d\x6a\x99\x4f\xa5"
  15441			  "\x15\xfe\x46\xb0\xe4\x6c\xa5\x41"
  15442			  "\x3c\xce\x8f\x42\x60\x71\xa7\x75"
  15443			  "\x08\x40\x65\x8a\x82\xbf\xf5\x43"
  15444			  "\x71\x96\xa9\x4d\x44\x8a\x20\xbe"
  15445			  "\xfa\x4d\xbb\xc0\x7d\x31\x96\x65"
  15446			  "\xe7\x75\xe5\x3e\xfd\x92\x3b\xc9"
  15447			  "\x55\xbb\x16\x7e\xf7\xc2\x8c\xa4"
  15448			  "\x40\x1d\xe5\xef\x0e\xdf\xe4\x9a"
  15449			  "\x62\x73\x65\xfd\x46\x63\x25\x3d"
  15450			  "\x2b\xaf\xe5\x64\xfe\xa5\x5c\xcf"
  15451			  "\x24\xf3\xb4\xac\x64\xba\xdf\x4b"
  15452			  "\xc6\x96\x7d\x81\x2d\x8d\x97\xf7"
  15453			  "\xc5\x68\x77\x84\x32\x2b\xcc\x85"
  15454			  "\x74\x96\xf0\x12\x77\x61\xb9\xeb"
  15455			  "\x71\xaa\x82\xcb\x1c\xdb\x89\xc8"
  15456			  "\xc6\xb5\xe3\x5c\x7d\x39\x07\x24"
  15457			  "\xda\x39\x87\x45\xc0\x2b\xbb\x01"
  15458			  "\xac\xbc\x2a\x5c\x7f\xfc\xe8\xce"
  15459			  "\x6d\x9c\x6f\xed\xd3\xc1\xa1\xd6"
  15460			  "\xc5\x55\xa9\x66\x2f\xe1\xc8\x32"
  15461			  "\xa6\x5d\xa4\x3a\x98\x73\xe8\x45"
  15462			  "\xa4\xc7\xa8\xb4\xf6\x13\x03\xf6"
  15463			  "\xe9\x2e\xc4\x29\x0f\x84\xdb\xc4"
  15464			  "\x21\xc4\xc2\x75\x67\x89\x37\x0a",
  15465		.ctext	= "\x55\x25\x09\x8B\xB5\xD5\xF8\xBF"
  15466			  "\x37\x4A\xFE\x3C\x47\xD8\xE6\xEB"
  15467			  "\xCA\xA4\x9B\xB0\xAB\x6D\x64\xCA"
  15468			  "\x58\xB6\x73\xF0\xD7\x52\x34\xEF"
  15469			  "\xFB\x3E\x96\x81\xB7\x71\x34\xA4"
  15470			  "\x55\x20\xBE\x39\x5A\x2B\xF9\xD1"
  15471			  "\x65\x0B\xDA\xD3\x7E\xB3\xA6\xF7"
  15472			  "\x2E\x0B\x5A\x52\xDB\x39\x8C\x9B"
  15473			  "\x61\x17\x5F\xAF\xB6\x5A\xC8\x08"
  15474			  "\xA7\xB7\x2A\x11\x7C\x97\x38\x9D"
  15475			  "\x59\x0E\x66\x59\x5E\xD8\x8B\xCE"
  15476			  "\x70\xE0\xC3\x42\xB0\x8C\x0F\xBA"
  15477			  "\xB2\x0D\x81\xB6\xBE\x61\x1C\x2D"
  15478			  "\x7E\xEA\x91\x25\xAC\xEC\xF8\x28"
  15479			  "\x80\x1D\xF0\x30\xBA\x62\x77\x7D"
  15480			  "\xDB\x15\x69\xDF\xFA\x2A\x81\x64"
  15481			  "\x95\x5B\xA4\x7F\x3E\x4F\xE3\x30"
  15482			  "\xB0\x5C\xC2\x05\xF8\xF0\x29\xE7"
  15483			  "\x0A\xA0\x66\xB2\x5D\x0F\x39\x2B"
  15484			  "\xB4\xB3\x00\xA9\xD0\xAB\x63\x61"
  15485			  "\x5E\xDB\xFC\x11\x74\x25\x96\x65"
  15486			  "\xE8\xE2\x34\x57\x77\x15\x5E\x70"
  15487			  "\xFF\x10\x90\xC3\x64\xF0\x11\x0A"
  15488			  "\x63\x3A\xD3\x55\x92\x15\x4B\x0C"
  15489			  "\xC7\x08\x89\x17\x3B\x99\xAD\x63"
  15490			  "\xE7\x06\xDF\x52\xBC\x15\x64\x45"
  15491			  "\x9D\x7A\xFB\x69\xBC\x2D\x6E\xA9"
  15492			  "\x35\xD9\xD8\xF5\x0C\xC4\xA2\x23"
  15493			  "\x9C\x18\x8B\xA8\x8C\xFE\xF8\x0E"
  15494			  "\xBD\xAB\x60\x1A\x51\x17\x54\x27"
  15495			  "\xB6\xE8\xBE\x0F\xA9\xA5\x82\x19"
  15496			  "\x2F\x6F\x20\xA7\x47\xED\x74\x6C"
  15497			  "\x4E\xC1\xF8\x8C\x14\xF3\xBB\x1F"
  15498			  "\xED\x4D\x8F\x7C\x37\xEF\x19\xA1"
  15499			  "\x07\x16\xDE\x76\xCC\x5E\x94\x02"
  15500			  "\xFB\xBF\xE4\x81\x50\xCE\xFC\x0F"
  15501			  "\x9E\xCF\x3D\xF6\x67\x00\xBF\xA7"
  15502			  "\x6E\x21\x58\x36\x06\xDE\xB3\xD4"
  15503			  "\xA2\xFA\xD8\x4E\xE0\xB9\x7F\x23"
  15504			  "\x51\x21\x2B\x32\x68\xAA\xF8\xA8"
  15505			  "\x93\x08\xB5\x6D\xE6\x43\x2C\xB7"
  15506			  "\x31\xB2\x0F\xD0\xA2\x51\xC0\x25"
  15507			  "\x30\xC7\x10\x3F\x97\x27\x01\x8E"
  15508			  "\xFA\xD8\x4F\x78\xD8\x2E\x1D\xEB"
  15509			  "\xA1\x37\x52\x0F\x7B\x5E\x87\xA8"
  15510			  "\x22\xE2\xE6\x92\xA7\x5F\x11\x32"
  15511			  "\xCC\x93\x34\xFC\xD1\x7E\xAE\x54"
  15512			  "\xBC\x6A\x1B\x91\xD1\x2E\x21\xEC"
  15513			  "\x5D\xF1\xC4\xF1\x55\x20\xBF\xE5"
  15514			  "\x96\x3D\x69\x91\x20\x4E\xF2\x61"
  15515			  "\xDA\x77\xFE\xEE\xC3\x74\x57\x2A"
  15516			  "\x78\x39\xB0\xE0\xCF\x12\x56\xD6"
  15517			  "\x05\xDC\xF9\x19\x66\x44\x1D\xF9"
  15518			  "\x82\x37\xD4\xC2\x60\xB6\x31\xDF"
  15519			  "\x0C\xAF\xBC\x8B\x55\x9A\xC8\x2D"
  15520			  "\xAB\xA7\x88\x7B\x41\xE8\x29\xC9"
  15521			  "\x9B\x8D\xA7\x00\x86\x25\xB6\x14"
  15522			  "\xF5\x13\x73\xD7\x4B\x6B\x83\xF3"
  15523			  "\xAF\x96\x00\xE4\xB7\x3C\x65\xA6"
  15524			  "\x15\xB7\x94\x7D\x4E\x70\x4C\x75"
  15525			  "\xF3\xB4\x02\xA9\x17\x1C\x7A\x0A"
  15526			  "\xC0\xD5\x33\x11\x56\xDE\xDC\xF5"
  15527			  "\x8D\xD9\xCD\x3B\x22\x67\x18\xC7"
  15528			  "\xC4\xF5\x99\x61\xBC\xBB\x5B\x46",
  15529		.len	= 512,
  15530	},
  15531};
  15532
  15533static const struct cipher_testvec cast6_xts_tv_template[] = {
  15534	{ /* Generated from TF test vectors */
  15535		.key	= "\x27\x18\x28\x18\x28\x45\x90\x45"
  15536			  "\x23\x53\x60\x28\x74\x71\x35\x26"
  15537			  "\x62\x49\x77\x57\x24\x70\x93\x69"
  15538			  "\x99\x59\x57\x49\x66\x96\x76\x27"
  15539			  "\x31\x41\x59\x26\x53\x58\x97\x93"
  15540			  "\x23\x84\x62\x64\x33\x83\x27\x95"
  15541			  "\x02\x88\x41\x97\x16\x93\x99\x37"
  15542			  "\x51\x05\x82\x09\x74\x94\x45\x92",
  15543		.klen	= 64,
  15544		.iv	= "\xff\x00\x00\x00\x00\x00\x00\x00"
  15545			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  15546		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  15547			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  15548			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  15549			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  15550			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  15551			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  15552			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  15553			  "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  15554			  "\x40\x41\x42\x43\x44\x45\x46\x47"
  15555			  "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  15556			  "\x50\x51\x52\x53\x54\x55\x56\x57"
  15557			  "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"
  15558			  "\x60\x61\x62\x63\x64\x65\x66\x67"
  15559			  "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f"
  15560			  "\x70\x71\x72\x73\x74\x75\x76\x77"
  15561			  "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"
  15562			  "\x80\x81\x82\x83\x84\x85\x86\x87"
  15563			  "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  15564			  "\x90\x91\x92\x93\x94\x95\x96\x97"
  15565			  "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f"
  15566			  "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  15567			  "\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  15568			  "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  15569			  "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  15570			  "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  15571			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  15572			  "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  15573			  "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf"
  15574			  "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7"
  15575			  "\xe8\xe9\xea\xeb\xec\xed\xee\xef"
  15576			  "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  15577			  "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"
  15578			  "\x00\x01\x02\x03\x04\x05\x06\x07"
  15579			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  15580			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  15581			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  15582			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  15583			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  15584			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  15585			  "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  15586			  "\x40\x41\x42\x43\x44\x45\x46\x47"
  15587			  "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  15588			  "\x50\x51\x52\x53\x54\x55\x56\x57"
  15589			  "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"
  15590			  "\x60\x61\x62\x63\x64\x65\x66\x67"
  15591			  "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f"
  15592			  "\x70\x71\x72\x73\x74\x75\x76\x77"
  15593			  "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"
  15594			  "\x80\x81\x82\x83\x84\x85\x86\x87"
  15595			  "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  15596			  "\x90\x91\x92\x93\x94\x95\x96\x97"
  15597			  "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f"
  15598			  "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  15599			  "\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  15600			  "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  15601			  "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  15602			  "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  15603			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  15604			  "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  15605			  "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf"
  15606			  "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7"
  15607			  "\xe8\xe9\xea\xeb\xec\xed\xee\xef"
  15608			  "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  15609			  "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff",
  15610		.ctext	= "\xDE\x6F\x22\xA5\xE8\x39\xE8\x78"
  15611			  "\x88\x5A\x4F\x8D\x82\x76\x52\x6D"
  15612			  "\xB2\x41\x16\xF4\x2B\xA6\xEB\xF6"
  15613			  "\xE2\xC5\x62\x8D\x61\xA1\x01\xED"
  15614			  "\xD9\x38\x01\xC1\x43\x63\x4E\x88"
  15615			  "\xC9\x4B\x5A\x88\x80\xB7\x5C\x71"
  15616			  "\x47\xEE\x11\xD8\xB7\x2D\x5D\x13"
  15617			  "\x1A\xB1\x68\x5B\x61\xA7\xA9\x81"
  15618			  "\x8B\x83\xA1\x6A\xAA\x36\xD6\xB6"
  15619			  "\x60\x54\x09\x32\xFE\x6A\x76\x2E"
  15620			  "\x28\xFF\xD5\xD6\xDD\x1D\x45\x7D"
  15621			  "\xF0\x8B\xF3\x32\x4E\x6C\x12\xCB"
  15622			  "\xB8\x25\x70\xF8\x40\xBC\x90\x1B"
  15623			  "\x11\xC3\x59\xAF\xF0\x2F\x92\xDD"
  15624			  "\xD3\x3B\xCF\x60\xA1\x78\x94\x57"
  15625			  "\xAF\x76\xC1\x67\xA6\x3C\xCD\x98"
  15626			  "\xB1\xF7\x27\xB9\xA3\xBD\x10\xEA"
  15627			  "\xCD\x8B\xC2\xF2\x14\xF2\xB2\x67"
  15628			  "\x05\xDD\x1D\x58\x6E\x2F\x95\x08"
  15629			  "\x3A\xF8\x78\x76\x82\x56\xA7\xEC"
  15630			  "\x51\x4B\x85\x77\xC2\x4C\x4A\x34"
  15631			  "\x71\x38\x17\x91\x44\xE8\xFC\x65"
  15632			  "\x99\x0D\x52\x91\xEE\xF8\xEF\x27"
  15633			  "\x2A\x9E\x6E\x78\xC4\x26\x87\xF4"
  15634			  "\x8A\xF0\x2D\x04\xE8\x14\x92\x5D"
  15635			  "\x59\x22\x9B\x29\x5C\x18\xF0\xC3"
  15636			  "\x47\xF3\x76\xD8\xE4\xF3\x1B\xD1"
  15637			  "\x70\xA3\x0D\xB5\x70\x02\x1D\xA3"
  15638			  "\x91\x3B\x49\x73\x18\xAB\xD4\xC9"
  15639			  "\xC3\x1E\xEF\x1F\xFE\xD5\x59\x8A"
  15640			  "\xD7\xF6\xC9\x71\x67\x79\xD7\x0E"
  15641			  "\xBE\x1F\x8E\xEC\x55\x7E\x4F\x24"
  15642			  "\xE6\x87\xEA\xFE\x96\x25\x67\x8E"
  15643			  "\x93\x03\xFA\xFF\xCE\xAF\xB2\x3C"
  15644			  "\x6F\xEB\x57\xFB\xD3\x28\x87\xA9"
  15645			  "\xCE\xC2\xF5\x9C\xC6\x67\xB5\x97"
  15646			  "\x49\xF7\x04\xCB\xEF\x84\x98\x33"
  15647			  "\xAF\x38\xD3\x04\x1C\x24\x71\x38"
  15648			  "\xC7\x71\xDD\x43\x0D\x12\x4A\x18"
  15649			  "\xBA\xC4\xAF\xBA\xB2\x5B\xEB\x95"
  15650			  "\x02\x43\x5D\xCE\x19\xCC\xCD\x66"
  15651			  "\x91\x0B\x8C\x7F\x51\xC4\xBF\x3C"
  15652			  "\x8B\xF1\xCC\xAA\x29\xD7\x87\xCB"
  15653			  "\x3E\xC5\xF3\xC9\x75\xE8\xA3\x5B"
  15654			  "\x30\x45\xA9\xB7\xAF\x80\x64\x6F"
  15655			  "\x75\x4A\xA7\xC0\x6D\x19\x6B\xDE"
  15656			  "\x17\xDE\x6D\xEA\x87\x9F\x95\xAE"
  15657			  "\xF5\x3C\xEE\x54\xB8\x27\x84\xF8"
  15658			  "\x97\xA3\xE1\x6F\x38\x24\x34\x88"
  15659			  "\xCE\xBD\x32\x52\xE0\x00\x6C\x94"
  15660			  "\xC9\xD7\x5D\x37\x81\x33\x2E\x7F"
  15661			  "\x4F\x7E\x2E\x0D\x94\xBD\xEA\x59"
  15662			  "\x34\x39\xA8\x35\x12\xB7\xBC\xAC"
  15663			  "\xEA\x52\x9C\x78\x02\x6D\x92\x36"
  15664			  "\xFB\x59\x2B\xA4\xEA\x7B\x1B\x83"
  15665			  "\xE1\x4D\x5E\x2A\x7E\x92\xB1\x64"
  15666			  "\xDE\xE0\x27\x4B\x0A\x6F\x4C\xE3"
  15667			  "\xB0\xEB\x31\xE4\x69\x95\xAB\x35"
  15668			  "\x8B\x2C\xF5\x6B\x7F\xF1\xA2\x82"
  15669			  "\xF8\xD9\x47\x82\xA9\x82\x03\x91"
  15670			  "\x69\x1F\xBE\x4C\xE7\xC7\x34\x2F"
  15671			  "\x45\x72\x80\x17\x81\xBD\x9D\x62"
  15672			  "\xA1\xAC\xE8\xCF\xC6\x74\xCF\xDC"
  15673			  "\x22\x60\x4E\xE8\xA4\x5D\x85\xB9",
  15674		.len	= 512,
  15675	},
  15676};
  15677
  15678/*
  15679 * AES test vectors.
  15680 */
  15681static const struct cipher_testvec aes_tv_template[] = {
  15682	{ /* From FIPS-197 */
  15683		.key	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  15684			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  15685		.klen	= 16,
  15686		.ptext	= "\x00\x11\x22\x33\x44\x55\x66\x77"
  15687			  "\x88\x99\xaa\xbb\xcc\xdd\xee\xff",
  15688		.ctext	= "\x69\xc4\xe0\xd8\x6a\x7b\x04\x30"
  15689			  "\xd8\xcd\xb7\x80\x70\xb4\xc5\x5a",
  15690		.len	= 16,
  15691	}, {
  15692		.key	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  15693			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  15694			  "\x10\x11\x12\x13\x14\x15\x16\x17",
  15695		.klen	= 24,
  15696		.ptext	= "\x00\x11\x22\x33\x44\x55\x66\x77"
  15697			  "\x88\x99\xaa\xbb\xcc\xdd\xee\xff",
  15698		.ctext	= "\xdd\xa9\x7c\xa4\x86\x4c\xdf\xe0"
  15699			  "\x6e\xaf\x70\xa0\xec\x0d\x71\x91",
  15700		.len	= 16,
  15701	}, {
  15702		.key	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  15703			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  15704			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  15705			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f",
  15706		.klen	= 32,
  15707		.ptext	= "\x00\x11\x22\x33\x44\x55\x66\x77"
  15708			  "\x88\x99\xaa\xbb\xcc\xdd\xee\xff",
  15709		.ctext	= "\x8e\xa2\xb7\xca\x51\x67\x45\xbf"
  15710			  "\xea\xfc\x49\x90\x4b\x49\x60\x89",
  15711		.len	= 16,
  15712	}, { /* Generated with Crypto++ */
  15713		.key	= "\xA6\xC9\x83\xA6\xC9\xEC\x0F\x32"
  15714			  "\x55\x0F\x32\x55\x78\x9B\xBE\x78"
  15715			  "\x9B\xBE\xE1\x04\x27\xE1\x04\x27"
  15716			  "\x4A\x6D\x90\x4A\x6D\x90\xB3\xD6",
  15717		.klen	= 32,
  15718		.ptext	= "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
  15719			  "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
  15720			  "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
  15721			  "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
  15722			  "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
  15723			  "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
  15724			  "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
  15725			  "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
  15726			  "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
  15727			  "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
  15728			  "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
  15729			  "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
  15730			  "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
  15731			  "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
  15732			  "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
  15733			  "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
  15734			  "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
  15735			  "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
  15736			  "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
  15737			  "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
  15738			  "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
  15739			  "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
  15740			  "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
  15741			  "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
  15742			  "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
  15743			  "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
  15744			  "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
  15745			  "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
  15746			  "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
  15747			  "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
  15748			  "\xC6\x2F\xBB\x24\x8D\x19\x82\xEB"
  15749			  "\x54\xE0\x49\xB2\x1B\xA7\x10\x79"
  15750			  "\x05\x6E\xD7\x40\xCC\x35\x9E\x07"
  15751			  "\x93\xFC\x65\xF1\x5A\xC3\x2C\xB8"
  15752			  "\x21\x8A\x16\x7F\xE8\x51\xDD\x46"
  15753			  "\xAF\x18\xA4\x0D\x76\x02\x6B\xD4"
  15754			  "\x3D\xC9\x32\x9B\x04\x90\xF9\x62"
  15755			  "\xEE\x57\xC0\x29\xB5\x1E\x87\x13"
  15756			  "\x7C\xE5\x4E\xDA\x43\xAC\x15\xA1"
  15757			  "\x0A\x73\xFF\x68\xD1\x3A\xC6\x2F"
  15758			  "\x98\x01\x8D\xF6\x5F\xEB\x54\xBD"
  15759			  "\x26\xB2\x1B\x84\x10\x79\xE2\x4B"
  15760			  "\xD7\x40\xA9\x12\x9E\x07\x70\xFC"
  15761			  "\x65\xCE\x37\xC3\x2C\x95\x21\x8A"
  15762			  "\xF3\x5C\xE8\x51\xBA\x23\xAF\x18"
  15763			  "\x81\x0D\x76\xDF\x48\xD4\x3D\xA6"
  15764			  "\x0F\x9B\x04\x6D\xF9\x62\xCB\x34"
  15765			  "\xC0\x29\x92\x1E\x87\xF0\x59\xE5"
  15766			  "\x4E\xB7\x20\xAC\x15\x7E\x0A\x73"
  15767			  "\xDC\x45\xD1\x3A\xA3\x0C\x98\x01"
  15768			  "\x6A\xF6\x5F\xC8\x31\xBD\x26\x8F"
  15769			  "\x1B\x84\xED\x56\xE2\x4B\xB4\x1D"
  15770			  "\xA9\x12\x7B\x07\x70\xD9\x42\xCE"
  15771			  "\x37\xA0\x09\x95\xFE\x67\xF3\x5C"
  15772			  "\xC5\x2E\xBA\x23\x8C\x18\x81\xEA"
  15773			  "\x53\xDF\x48\xB1\x1A\xA6\x0F\x78"
  15774			  "\x04\x6D\xD6\x3F\xCB\x34\x9D\x06"
  15775			  "\x92\xFB\x64\xF0\x59\xC2\x2B\xB7"
  15776			  "\x20\x89\x15\x7E\xE7\x50\xDC\x45"
  15777			  "\xAE\x17\xA3\x0C\x75\x01\x6A\xD3"
  15778			  "\x3C\xC8\x31\x9A\x03\x8F\xF8\x61"
  15779			  "\xED\x56\xBF\x28\xB4\x1D\x86\x12",
  15780		.ctext	= "\x71\x73\xF7\xDB\x24\x93\x21\x6D"
  15781			  "\x61\x1E\xBB\x63\x42\x79\xDB\x64"
  15782			  "\x6F\x82\xC0\xCA\xA3\x9B\xFA\x0B"
  15783			  "\xD9\x08\xC7\x4A\x90\xAE\x8F\x5F"
  15784			  "\x5E\x06\xF0\x5F\x31\x51\x18\x37"
  15785			  "\x45\xD7\xCA\x3A\xFD\x6C\x3F\xE1"
  15786			  "\xDD\x8D\x22\x65\x2B\x00\x50\xCE"
  15787			  "\xBA\x28\x67\xD7\xCE\x0E\x0D\xEA"
  15788			  "\x78\x69\x7F\xAE\x8F\x8B\x69\x37"
  15789			  "\x75\xE0\xDC\x96\xE0\xB7\xF4\x09"
  15790			  "\xCB\x6D\xA2\xFB\xDA\xAF\x09\xF8"
  15791			  "\x81\x82\x27\xFA\x45\x9C\x29\xA4"
  15792			  "\x22\x8B\x78\x69\x5B\x46\xF9\x39"
  15793			  "\x1B\xCC\xF9\x1D\x09\xEB\xBC\x5C"
  15794			  "\x41\x72\x51\x97\x1D\x07\x49\xA0"
  15795			  "\x1B\x8E\x65\x4B\xB2\x6A\x12\x03"
  15796			  "\x6A\x60\x95\xAC\xBD\xAC\x1A\x64"
  15797			  "\xDE\x5A\xA5\xF0\x83\x2F\xCB\xCA"
  15798			  "\x22\x74\xA6\x6C\x9B\x73\xCE\x3F"
  15799			  "\xE1\x8B\x22\x17\x59\x0C\x47\x89"
  15800			  "\x33\xA1\xD6\x47\x03\x19\x4F\xA8"
  15801			  "\x67\x69\xF0\x5B\xF0\x20\xAD\x06"
  15802			  "\x27\x81\x92\xD8\xC5\xBA\x98\x12"
  15803			  "\xBE\x24\xB5\x2F\x75\x02\xC2\xAD"
  15804			  "\x12\x2F\x07\x32\xEE\x39\xAF\x64"
  15805			  "\x05\x8F\xB3\xD4\xEB\x1B\x46\x6E"
  15806			  "\xD9\x21\xF9\xC4\xB7\xC9\x45\x68"
  15807			  "\xB4\xA1\x74\x9F\x82\x47\xEB\xCC"
  15808			  "\xBD\x0A\x14\x95\x0F\x8B\xA8\x2F"
  15809			  "\x4B\x1B\xA7\xBF\x82\xA6\x43\x0C"
  15810			  "\xB9\x39\x4A\xA8\x10\x6F\x50\x7B"
  15811			  "\x25\xFB\x26\x81\xE0\x2F\xF0\x96"
  15812			  "\x8D\x8B\xAC\x92\x0F\xF6\xED\x64"
  15813			  "\x63\x29\x4C\x8E\x18\x13\xC5\xBF"
  15814			  "\xFC\xA0\xD9\xBF\x7C\x3A\x0E\x29"
  15815			  "\x6F\xD1\x6C\x6F\xA5\xDA\xBF\xB1"
  15816			  "\x30\xEA\x44\x2D\xC3\x8F\x16\xE1"
  15817			  "\x66\xFA\xA3\x21\x3E\xFC\x13\xCA"
  15818			  "\xF0\xF6\xF0\x59\xBD\x8F\x38\x50"
  15819			  "\x31\xCB\x69\x3F\x96\x15\xD6\xF5"
  15820			  "\xAE\xFF\xF6\xAA\x41\x85\x4C\x10"
  15821			  "\x58\xE3\xF9\x44\xE6\x28\xDA\x9A"
  15822			  "\xDC\x6A\x80\x34\x73\x97\x1B\xC5"
  15823			  "\xCA\x26\x16\x77\x0E\x60\xAB\x89"
  15824			  "\x0F\x04\x27\xBD\xCE\x3E\x71\xB4"
  15825			  "\xA0\xD7\x22\x7E\xDB\xEB\x24\x70"
  15826			  "\x42\x71\x51\x78\x70\xB3\xE0\x3D"
  15827			  "\x84\x8E\x8D\x7B\xD0\x6D\xEA\x92"
  15828			  "\x11\x08\x42\x4F\xE5\xAD\x26\x92"
  15829			  "\xD2\x00\xAE\xA8\xE3\x4B\x37\x47"
  15830			  "\x22\xC1\x95\xC1\x63\x7F\xCB\x03"
  15831			  "\xF3\xE3\xD7\x9D\x60\xC7\xBC\xEA"
  15832			  "\x35\xA2\xFD\x45\x52\x39\x13\x6F"
  15833			  "\xC1\x53\xF3\x53\xDF\x33\x84\xD7"
  15834			  "\xD2\xC8\x37\xB0\x75\xE3\x41\x46"
  15835			  "\xB3\xC7\x83\x2E\x8A\xBB\xA4\xE5"
  15836			  "\x7F\x3C\xFD\x8B\xEB\xEA\x63\xBD"
  15837			  "\xB7\x46\xE7\xBF\x09\x9C\x0D\x0F"
  15838			  "\x40\x86\x7F\x51\xE1\x11\x9C\xCB"
  15839			  "\x88\xE6\x68\x47\xE3\x2B\xC5\xFF"
  15840			  "\x09\x79\xA0\x43\x5C\x0D\x08\x58"
  15841			  "\x17\xBB\xC0\x6B\x62\x3F\x56\xE9",
  15842		.len	= 496,
  15843	},
  15844};
  15845
  15846static const struct cipher_testvec aes_cbc_tv_template[] = {
  15847	{ /* From RFC 3602 */
  15848		.key    = "\x06\xa9\x21\x40\x36\xb8\xa1\x5b"
  15849			  "\x51\x2e\x03\xd5\x34\x12\x00\x06",
  15850		.klen   = 16,
  15851		.iv	= "\x3d\xaf\xba\x42\x9d\x9e\xb4\x30"
  15852			  "\xb4\x22\xda\x80\x2c\x9f\xac\x41",
  15853		.iv_out	= "\xe3\x53\x77\x9c\x10\x79\xae\xb8"
  15854			  "\x27\x08\x94\x2d\xbe\x77\x18\x1a",
  15855		.ptext	= "Single block msg",
  15856		.ctext	= "\xe3\x53\x77\x9c\x10\x79\xae\xb8"
  15857			  "\x27\x08\x94\x2d\xbe\x77\x18\x1a",
  15858		.len	= 16,
  15859	}, {
  15860		.key    = "\xc2\x86\x69\x6d\x88\x7c\x9a\xa0"
  15861			  "\x61\x1b\xbb\x3e\x20\x25\xa4\x5a",
  15862		.klen   = 16,
  15863		.iv     = "\x56\x2e\x17\x99\x6d\x09\x3d\x28"
  15864			  "\xdd\xb3\xba\x69\x5a\x2e\x6f\x58",
  15865		.iv_out	= "\x75\x86\x60\x2d\x25\x3c\xff\xf9"
  15866			  "\x1b\x82\x66\xbe\xa6\xd6\x1a\xb1",
  15867		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  15868			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  15869			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  15870			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f",
  15871		.ctext	= "\xd2\x96\xcd\x94\xc2\xcc\xcf\x8a"
  15872			  "\x3a\x86\x30\x28\xb5\xe1\xdc\x0a"
  15873			  "\x75\x86\x60\x2d\x25\x3c\xff\xf9"
  15874			  "\x1b\x82\x66\xbe\xa6\xd6\x1a\xb1",
  15875		.len	= 32,
  15876	}, { /* From NIST SP800-38A */
  15877		.key	= "\x8e\x73\xb0\xf7\xda\x0e\x64\x52"
  15878			  "\xc8\x10\xf3\x2b\x80\x90\x79\xe5"
  15879			  "\x62\xf8\xea\xd2\x52\x2c\x6b\x7b",
  15880		.klen	= 24,
  15881		.iv	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  15882			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  15883		.iv_out	= "\x08\xb0\xe2\x79\x88\x59\x88\x81"
  15884			  "\xd9\x20\xa9\xe6\x4f\x56\x15\xcd",
  15885		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
  15886			  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
  15887			  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
  15888			  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
  15889			  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
  15890			  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
  15891			  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
  15892			  "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
  15893		.ctext	= "\x4f\x02\x1d\xb2\x43\xbc\x63\x3d"
  15894			  "\x71\x78\x18\x3a\x9f\xa0\x71\xe8"
  15895			  "\xb4\xd9\xad\xa9\xad\x7d\xed\xf4"
  15896			  "\xe5\xe7\x38\x76\x3f\x69\x14\x5a"
  15897			  "\x57\x1b\x24\x20\x12\xfb\x7a\xe0"
  15898			  "\x7f\xa9\xba\xac\x3d\xf1\x02\xe0"
  15899			  "\x08\xb0\xe2\x79\x88\x59\x88\x81"
  15900			  "\xd9\x20\xa9\xe6\x4f\x56\x15\xcd",
  15901		.len	= 64,
  15902	}, {
  15903		.key	= "\x60\x3d\xeb\x10\x15\xca\x71\xbe"
  15904			  "\x2b\x73\xae\xf0\x85\x7d\x77\x81"
  15905			  "\x1f\x35\x2c\x07\x3b\x61\x08\xd7"
  15906			  "\x2d\x98\x10\xa3\x09\x14\xdf\xf4",
  15907		.klen	= 32,
  15908		.iv	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  15909			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  15910		.iv_out	= "\xb2\xeb\x05\xe2\xc3\x9b\xe9\xfc"
  15911			  "\xda\x6c\x19\x07\x8c\x6a\x9d\x1b",
  15912		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
  15913			  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
  15914			  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
  15915			  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
  15916			  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
  15917			  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
  15918			  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
  15919			  "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
  15920		.ctext	= "\xf5\x8c\x4c\x04\xd6\xe5\xf1\xba"
  15921			  "\x77\x9e\xab\xfb\x5f\x7b\xfb\xd6"
  15922			  "\x9c\xfc\x4e\x96\x7e\xdb\x80\x8d"
  15923			  "\x67\x9f\x77\x7b\xc6\x70\x2c\x7d"
  15924			  "\x39\xf2\x33\x69\xa9\xd9\xba\xcf"
  15925			  "\xa5\x30\xe2\x63\x04\x23\x14\x61"
  15926			  "\xb2\xeb\x05\xe2\xc3\x9b\xe9\xfc"
  15927			  "\xda\x6c\x19\x07\x8c\x6a\x9d\x1b",
  15928		.len	= 64,
  15929	}, { /* Generated with Crypto++ */
  15930		.key	= "\xC9\x83\xA6\xC9\xEC\x0F\x32\x55"
  15931			  "\x0F\x32\x55\x78\x9B\xBE\x78\x9B"
  15932			  "\xBE\xE1\x04\x27\xE1\x04\x27\x4A"
  15933			  "\x6D\x90\x4A\x6D\x90\xB3\xD6\xF9",
  15934		.klen	= 32,
  15935		.iv	= "\xE7\x82\x1D\xB8\x53\x11\xAC\x47"
  15936			  "\xE2\x7D\x18\xD6\x71\x0C\xA7\x42",
  15937		.iv_out	= "\xE0\x1F\x91\xF8\x82\x96\x2D\x65"
  15938			  "\xA3\xAA\x13\xCC\x50\xFF\x7B\x02",
  15939		.ptext	= "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
  15940			  "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
  15941			  "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
  15942			  "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
  15943			  "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
  15944			  "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
  15945			  "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
  15946			  "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
  15947			  "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
  15948			  "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
  15949			  "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
  15950			  "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
  15951			  "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
  15952			  "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
  15953			  "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
  15954			  "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
  15955			  "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
  15956			  "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
  15957			  "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
  15958			  "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
  15959			  "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
  15960			  "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
  15961			  "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
  15962			  "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
  15963			  "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
  15964			  "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
  15965			  "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
  15966			  "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
  15967			  "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
  15968			  "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
  15969			  "\xC6\x2F\xBB\x24\x8D\x19\x82\xEB"
  15970			  "\x54\xE0\x49\xB2\x1B\xA7\x10\x79"
  15971			  "\x05\x6E\xD7\x40\xCC\x35\x9E\x07"
  15972			  "\x93\xFC\x65\xF1\x5A\xC3\x2C\xB8"
  15973			  "\x21\x8A\x16\x7F\xE8\x51\xDD\x46"
  15974			  "\xAF\x18\xA4\x0D\x76\x02\x6B\xD4"
  15975			  "\x3D\xC9\x32\x9B\x04\x90\xF9\x62"
  15976			  "\xEE\x57\xC0\x29\xB5\x1E\x87\x13"
  15977			  "\x7C\xE5\x4E\xDA\x43\xAC\x15\xA1"
  15978			  "\x0A\x73\xFF\x68\xD1\x3A\xC6\x2F"
  15979			  "\x98\x01\x8D\xF6\x5F\xEB\x54\xBD"
  15980			  "\x26\xB2\x1B\x84\x10\x79\xE2\x4B"
  15981			  "\xD7\x40\xA9\x12\x9E\x07\x70\xFC"
  15982			  "\x65\xCE\x37\xC3\x2C\x95\x21\x8A"
  15983			  "\xF3\x5C\xE8\x51\xBA\x23\xAF\x18"
  15984			  "\x81\x0D\x76\xDF\x48\xD4\x3D\xA6"
  15985			  "\x0F\x9B\x04\x6D\xF9\x62\xCB\x34"
  15986			  "\xC0\x29\x92\x1E\x87\xF0\x59\xE5"
  15987			  "\x4E\xB7\x20\xAC\x15\x7E\x0A\x73"
  15988			  "\xDC\x45\xD1\x3A\xA3\x0C\x98\x01"
  15989			  "\x6A\xF6\x5F\xC8\x31\xBD\x26\x8F"
  15990			  "\x1B\x84\xED\x56\xE2\x4B\xB4\x1D"
  15991			  "\xA9\x12\x7B\x07\x70\xD9\x42\xCE"
  15992			  "\x37\xA0\x09\x95\xFE\x67\xF3\x5C"
  15993			  "\xC5\x2E\xBA\x23\x8C\x18\x81\xEA"
  15994			  "\x53\xDF\x48\xB1\x1A\xA6\x0F\x78"
  15995			  "\x04\x6D\xD6\x3F\xCB\x34\x9D\x06"
  15996			  "\x92\xFB\x64\xF0\x59\xC2\x2B\xB7"
  15997			  "\x20\x89\x15\x7E\xE7\x50\xDC\x45"
  15998			  "\xAE\x17\xA3\x0C\x75\x01\x6A\xD3"
  15999			  "\x3C\xC8\x31\x9A\x03\x8F\xF8\x61"
  16000			  "\xED\x56\xBF\x28\xB4\x1D\x86\x12",
  16001		.ctext	= "\xEA\x65\x8A\x19\xB0\x66\xC1\x3F"
  16002			  "\xCE\xF1\x97\x75\xC1\xFD\xB5\xAF"
  16003			  "\x52\x65\xF7\xFF\xBC\xD8\x2D\x9F"
  16004			  "\x2F\xB9\x26\x9B\x6F\x10\xB7\xB8"
  16005			  "\x26\xA1\x02\x46\xA2\xAD\xC6\xC0"
  16006			  "\x11\x15\xFF\x6D\x1E\x82\x04\xA6"
  16007			  "\xB1\x74\xD1\x08\x13\xFD\x90\x7C"
  16008			  "\xF5\xED\xD3\xDB\x5A\x0A\x0C\x2F"
  16009			  "\x0A\x70\xF1\x88\x07\xCF\x21\x26"
  16010			  "\x40\x40\x8A\xF5\x53\xF7\x24\x4F"
  16011			  "\x83\x38\x43\x5F\x08\x99\xEB\xE3"
  16012			  "\xDC\x02\x64\x67\x50\x6E\x15\xC3"
  16013			  "\x01\x1A\xA0\x81\x13\x65\xA6\x73"
  16014			  "\x71\xA6\x3B\x91\x83\x77\xBE\xFA"
  16015			  "\xDB\x71\x73\xA6\xC1\xAE\x43\xC3"
  16016			  "\x36\xCE\xD6\xEB\xF9\x30\x1C\x4F"
  16017			  "\x80\x38\x5E\x9C\x6E\xAB\x98\x2F"
  16018			  "\x53\xAF\xCF\xC8\x9A\xB8\x86\x43"
  16019			  "\x3E\x86\xE7\xA1\xF4\x2F\x30\x40"
  16020			  "\x03\xA8\x6C\x50\x42\x9F\x77\x59"
  16021			  "\x89\xA0\xC5\xEC\x9A\xB8\xDD\x99"
  16022			  "\x16\x24\x02\x07\x48\xAE\xF2\x31"
  16023			  "\x34\x0E\xC3\x85\xFE\x1C\x95\x99"
  16024			  "\x87\x58\x98\x8B\xE7\xC6\xC5\x70"
  16025			  "\x73\x81\x07\x7C\x56\x2F\xD8\x1B"
  16026			  "\xB7\xB9\x2B\xAB\xE3\x01\x87\x0F"
  16027			  "\xD8\xBB\xC0\x0D\xAC\x2C\x2F\x98"
  16028			  "\x3C\x0B\xA2\x99\x4A\x8C\xF7\x04"
  16029			  "\xE0\xE0\xCF\xD1\x81\x5B\xFE\xF5"
  16030			  "\x24\x04\xFD\xB8\xDF\x13\xD8\xCD"
  16031			  "\xF1\xE3\x3D\x98\x50\x02\x77\x9E"
  16032			  "\xBC\x22\xAB\xFA\xC2\x43\x1F\x66"
  16033			  "\x20\x02\x23\xDA\xDF\xA0\x89\xF6"
  16034			  "\xD8\xF3\x45\x24\x53\x6F\x16\x77"
  16035			  "\x02\x3E\x7B\x36\x5F\xA0\x3B\x78"
  16036			  "\x63\xA2\xBD\xB5\xA4\xCA\x1E\xD3"
  16037			  "\x57\xBC\x0B\x9F\x43\x51\x28\x4F"
  16038			  "\x07\x50\x6C\x68\x12\x07\xCF\xFA"
  16039			  "\x6B\x72\x0B\xEB\xF8\x88\x90\x2C"
  16040			  "\x7E\xF5\x91\xD1\x03\xD8\xD5\xBD"
  16041			  "\x22\x39\x7B\x16\x03\x01\x69\xAF"
  16042			  "\x3D\x38\x66\x28\x0C\xBE\x5B\xC5"
  16043			  "\x03\xB4\x2F\x51\x8A\x56\x17\x2B"
  16044			  "\x88\x42\x6D\x40\x68\x8F\xD0\x11"
  16045			  "\x19\xF9\x1F\x43\x79\x95\x31\xFA"
  16046			  "\x28\x7A\x3D\xF7\x66\xEB\xEF\xAC"
  16047			  "\x06\xB2\x01\xAD\xDB\x68\xDB\xEC"
  16048			  "\x8D\x53\x6E\x72\x68\xA3\xC7\x63"
  16049			  "\x43\x2B\x78\xE0\x04\x29\x8F\x72"
  16050			  "\xB2\x2C\xE6\x84\x03\x30\x6D\xCD"
  16051			  "\x26\x92\x37\xE1\x2F\xBB\x8B\x9D"
  16052			  "\xE4\x4C\xF6\x93\xBC\xD9\xAD\x44"
  16053			  "\x52\x65\xC7\xB0\x0E\x3F\x0E\x61"
  16054			  "\x56\x5D\x1C\x6D\xA7\x05\x2E\xBC"
  16055			  "\x58\x08\x15\xAB\x12\xAB\x17\x4A"
  16056			  "\x5E\x1C\xF2\xCD\xB8\xA2\xAE\xFB"
  16057			  "\x9B\x2E\x0E\x85\x34\x80\x0E\x3F"
  16058			  "\x4C\xB8\xDB\xCE\x1C\x90\xA1\x61"
  16059			  "\x6C\x69\x09\x35\x9E\xD4\xF4\xAD"
  16060			  "\xBC\x06\x41\xE3\x01\xB4\x4E\x0A"
  16061			  "\xE0\x1F\x91\xF8\x82\x96\x2D\x65"
  16062			  "\xA3\xAA\x13\xCC\x50\xFF\x7B\x02",
  16063		.len	= 496,
  16064	},
  16065};
  16066
  16067static const struct cipher_testvec aes_cfb_tv_template[] = {
  16068	{ /* From NIST SP800-38A */
  16069		.key	= "\x2b\x7e\x15\x16\x28\xae\xd2\xa6"
  16070			  "\xab\xf7\x15\x88\x09\xcf\x4f\x3c",
  16071		.klen	= 16,
  16072		.iv	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  16073			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  16074		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
  16075			  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
  16076			  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
  16077			  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
  16078			  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
  16079			  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
  16080			  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
  16081			  "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
  16082		.ctext	= "\x3b\x3f\xd9\x2e\xb7\x2d\xad\x20"
  16083			  "\x33\x34\x49\xf8\xe8\x3c\xfb\x4a"
  16084			  "\xc8\xa6\x45\x37\xa0\xb3\xa9\x3f"
  16085			  "\xcd\xe3\xcd\xad\x9f\x1c\xe5\x8b"
  16086			  "\x26\x75\x1f\x67\xa3\xcb\xb1\x40"
  16087			  "\xb1\x80\x8c\xf1\x87\xa4\xf4\xdf"
  16088			  "\xc0\x4b\x05\x35\x7c\x5d\x1c\x0e"
  16089			  "\xea\xc4\xc6\x6f\x9f\xf7\xf2\xe6",
  16090		.len	= 64,
  16091	}, {
  16092		.key	= "\x8e\x73\xb0\xf7\xda\x0e\x64\x52"
  16093			  "\xc8\x10\xf3\x2b\x80\x90\x79\xe5"
  16094			  "\x62\xf8\xea\xd2\x52\x2c\x6b\x7b",
  16095		.klen	= 24,
  16096		.iv	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  16097			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  16098		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
  16099			  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
  16100			  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
  16101			  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
  16102			  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
  16103			  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
  16104			  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
  16105			  "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
  16106		.ctext	= "\xcd\xc8\x0d\x6f\xdd\xf1\x8c\xab"
  16107			  "\x34\xc2\x59\x09\xc9\x9a\x41\x74"
  16108			  "\x67\xce\x7f\x7f\x81\x17\x36\x21"
  16109			  "\x96\x1a\x2b\x70\x17\x1d\x3d\x7a"
  16110			  "\x2e\x1e\x8a\x1d\xd5\x9b\x88\xb1"
  16111			  "\xc8\xe6\x0f\xed\x1e\xfa\xc4\xc9"
  16112			  "\xc0\x5f\x9f\x9c\xa9\x83\x4f\xa0"
  16113			  "\x42\xae\x8f\xba\x58\x4b\x09\xff",
  16114		.len	= 64,
  16115	}, {
  16116		.key	= "\x60\x3d\xeb\x10\x15\xca\x71\xbe"
  16117			  "\x2b\x73\xae\xf0\x85\x7d\x77\x81"
  16118			  "\x1f\x35\x2c\x07\x3b\x61\x08\xd7"
  16119			  "\x2d\x98\x10\xa3\x09\x14\xdf\xf4",
  16120		.klen	= 32,
  16121		.iv	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  16122			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  16123		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
  16124			  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
  16125			  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
  16126			  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
  16127			  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
  16128			  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
  16129			  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
  16130			  "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
  16131		.ctext	= "\xdc\x7e\x84\xbf\xda\x79\x16\x4b"
  16132			  "\x7e\xcd\x84\x86\x98\x5d\x38\x60"
  16133			  "\x39\xff\xed\x14\x3b\x28\xb1\xc8"
  16134			  "\x32\x11\x3c\x63\x31\xe5\x40\x7b"
  16135			  "\xdf\x10\x13\x24\x15\xe5\x4b\x92"
  16136			  "\xa1\x3e\xd0\xa8\x26\x7a\xe2\xf9"
  16137			  "\x75\xa3\x85\x74\x1a\xb9\xce\xf8"
  16138			  "\x20\x31\x62\x3d\x55\xb1\xe4\x71",
  16139		.len	= 64,
  16140	}, { /* > 16 bytes, not a multiple of 16 bytes */
  16141		.key	= "\x2b\x7e\x15\x16\x28\xae\xd2\xa6"
  16142			  "\xab\xf7\x15\x88\x09\xcf\x4f\x3c",
  16143		.klen	= 16,
  16144		.iv	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  16145			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  16146		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
  16147			  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
  16148			  "\xae",
  16149		.ctext	= "\x3b\x3f\xd9\x2e\xb7\x2d\xad\x20"
  16150			  "\x33\x34\x49\xf8\xe8\x3c\xfb\x4a"
  16151			  "\xc8",
  16152		.len	= 17,
  16153	}, { /* < 16 bytes */
  16154		.key	= "\x2b\x7e\x15\x16\x28\xae\xd2\xa6"
  16155			  "\xab\xf7\x15\x88\x09\xcf\x4f\x3c",
  16156		.klen	= 16,
  16157		.iv	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  16158			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  16159		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f",
  16160		.ctext	= "\x3b\x3f\xd9\x2e\xb7\x2d\xad",
  16161		.len	= 7,
  16162	},
  16163};
  16164
  16165static const struct aead_testvec hmac_md5_ecb_cipher_null_tv_template[] = {
  16166	{ /* Input data from RFC 2410 Case 1 */
  16167#ifdef __LITTLE_ENDIAN
  16168		.key    = "\x08\x00"		/* rta length */
  16169			  "\x01\x00"		/* rta type */
  16170#else
  16171		.key    = "\x00\x08"		/* rta length */
  16172			  "\x00\x01"		/* rta type */
  16173#endif
  16174			  "\x00\x00\x00\x00"	/* enc key length */
  16175			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  16176			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  16177		.klen   = 8 + 16 + 0,
  16178		.iv     = "",
  16179		.ptext	= "\x01\x23\x45\x67\x89\xab\xcd\xef",
  16180		.plen	= 8,
  16181		.ctext	= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  16182			  "\xaa\x42\xfe\x43\x8d\xea\xa3\x5a"
  16183			  "\xb9\x3d\x9f\xb1\xa3\x8e\x9b\xae",
  16184		.clen	= 8 + 16,
  16185	}, { /* Input data from RFC 2410 Case 2 */
  16186#ifdef __LITTLE_ENDIAN
  16187		.key    = "\x08\x00"		/* rta length */
  16188			  "\x01\x00"		/* rta type */
  16189#else
  16190		.key    = "\x00\x08"		/* rta length */
  16191			  "\x00\x01"		/* rta type */
  16192#endif
  16193			  "\x00\x00\x00\x00"	/* enc key length */
  16194			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  16195			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  16196		.klen   = 8 + 16 + 0,
  16197		.iv     = "",
  16198		.ptext	= "Network Security People Have A Strange Sense Of Humor",
  16199		.plen	= 53,
  16200		.ctext	= "Network Security People Have A Strange Sense Of Humor"
  16201			  "\x73\xa5\x3e\x1c\x08\x0e\x8a\x8a"
  16202			  "\x8e\xb5\x5f\x90\x8e\xfe\x13\x23",
  16203		.clen	= 53 + 16,
  16204	},
  16205};
  16206
  16207static const struct aead_testvec hmac_sha1_aes_cbc_tv_temp[] = {
  16208	{ /* RFC 3602 Case 1 */
  16209#ifdef __LITTLE_ENDIAN
  16210		.key    = "\x08\x00"		/* rta length */
  16211			  "\x01\x00"		/* rta type */
  16212#else
  16213		.key    = "\x00\x08"		/* rta length */
  16214			  "\x00\x01"		/* rta type */
  16215#endif
  16216			  "\x00\x00\x00\x10"	/* enc key length */
  16217			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  16218			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  16219			  "\x00\x00\x00\x00"
  16220			  "\x06\xa9\x21\x40\x36\xb8\xa1\x5b"
  16221			  "\x51\x2e\x03\xd5\x34\x12\x00\x06",
  16222		.klen   = 8 + 20 + 16,
  16223		.iv     = "\x3d\xaf\xba\x42\x9d\x9e\xb4\x30"
  16224			  "\xb4\x22\xda\x80\x2c\x9f\xac\x41",
  16225		.assoc	= "\x3d\xaf\xba\x42\x9d\x9e\xb4\x30"
  16226			  "\xb4\x22\xda\x80\x2c\x9f\xac\x41",
  16227		.alen	= 16,
  16228		.ptext	= "Single block msg",
  16229		.plen	= 16,
  16230		.ctext	= "\xe3\x53\x77\x9c\x10\x79\xae\xb8"
  16231			  "\x27\x08\x94\x2d\xbe\x77\x18\x1a"
  16232			  "\x1b\x13\xcb\xaf\x89\x5e\xe1\x2c"
  16233			  "\x13\xc5\x2e\xa3\xcc\xed\xdc\xb5"
  16234			  "\x03\x71\xa2\x06",
  16235		.clen	= 16 + 20,
  16236	}, { /* RFC 3602 Case 2 */
  16237#ifdef __LITTLE_ENDIAN
  16238		.key    = "\x08\x00"		/* rta length */
  16239			  "\x01\x00"		/* rta type */
  16240#else
  16241		.key    = "\x00\x08"		/* rta length */
  16242			  "\x00\x01"		/* rta type */
  16243#endif
  16244			  "\x00\x00\x00\x10"	/* enc key length */
  16245			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  16246			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  16247			  "\x30\x31\x32\x33"
  16248			  "\xc2\x86\x69\x6d\x88\x7c\x9a\xa0"
  16249			  "\x61\x1b\xbb\x3e\x20\x25\xa4\x5a",
  16250		.klen   = 8 + 20 + 16,
  16251		.iv     = "\x56\x2e\x17\x99\x6d\x09\x3d\x28"
  16252			  "\xdd\xb3\xba\x69\x5a\x2e\x6f\x58",
  16253		.assoc	= "\x56\x2e\x17\x99\x6d\x09\x3d\x28"
  16254			  "\xdd\xb3\xba\x69\x5a\x2e\x6f\x58",
  16255		.alen	= 16,
  16256		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  16257			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  16258			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  16259			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f",
  16260		.plen	= 32,
  16261		.ctext	= "\xd2\x96\xcd\x94\xc2\xcc\xcf\x8a"
  16262			  "\x3a\x86\x30\x28\xb5\xe1\xdc\x0a"
  16263			  "\x75\x86\x60\x2d\x25\x3c\xff\xf9"
  16264			  "\x1b\x82\x66\xbe\xa6\xd6\x1a\xb1"
  16265			  "\xad\x9b\x4c\x5c\x85\xe1\xda\xae"
  16266			  "\xee\x81\x4e\xd7\xdb\x74\xcf\x58"
  16267			  "\x65\x39\xf8\xde",
  16268		.clen	= 32 + 20,
  16269	}, { /* RFC 3602 Case 3 */
  16270#ifdef __LITTLE_ENDIAN
  16271		.key    = "\x08\x00"		/* rta length */
  16272			  "\x01\x00"            /* rta type */
  16273#else
  16274		.key    = "\x00\x08"		/* rta length */
  16275			  "\x00\x01"		/* rta type */
  16276#endif
  16277			  "\x00\x00\x00\x10"	/* enc key length */
  16278			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  16279			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  16280			  "\x22\x33\x44\x55"
  16281			  "\x6c\x3e\xa0\x47\x76\x30\xce\x21"
  16282			  "\xa2\xce\x33\x4a\xa7\x46\xc2\xcd",
  16283		.klen   = 8 + 20 + 16,
  16284		.iv     = "\xc7\x82\xdc\x4c\x09\x8c\x66\xcb"
  16285			  "\xd9\xcd\x27\xd8\x25\x68\x2c\x81",
  16286		.assoc	= "\xc7\x82\xdc\x4c\x09\x8c\x66\xcb"
  16287			  "\xd9\xcd\x27\xd8\x25\x68\x2c\x81",
  16288		.alen	= 16,
  16289		.ptext	= "This is a 48-byte message (exactly 3 AES blocks)",
  16290		.plen	= 48,
  16291		.ctext	= "\xd0\xa0\x2b\x38\x36\x45\x17\x53"
  16292			  "\xd4\x93\x66\x5d\x33\xf0\xe8\x86"
  16293			  "\x2d\xea\x54\xcd\xb2\x93\xab\xc7"
  16294			  "\x50\x69\x39\x27\x67\x72\xf8\xd5"
  16295			  "\x02\x1c\x19\x21\x6b\xad\x52\x5c"
  16296			  "\x85\x79\x69\x5d\x83\xba\x26\x84"
  16297			  "\xc2\xec\x0c\xf8\x7f\x05\xba\xca"
  16298			  "\xff\xee\x4c\xd0\x93\xe6\x36\x7f"
  16299			  "\x8d\x62\xf2\x1e",
  16300		.clen	= 48 + 20,
  16301	}, { /* RFC 3602 Case 4 */
  16302#ifdef __LITTLE_ENDIAN
  16303		.key    = "\x08\x00"		/* rta length */
  16304			  "\x01\x00"		/* rta type */
  16305#else
  16306		.key    = "\x00\x08"		/* rta length */
  16307			  "\x00\x01"            /* rta type */
  16308#endif
  16309			  "\x00\x00\x00\x10"	/* enc key length */
  16310			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  16311			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  16312			  "\x22\x33\x44\x55"
  16313			  "\x56\xe4\x7a\x38\xc5\x59\x89\x74"
  16314			  "\xbc\x46\x90\x3d\xba\x29\x03\x49",
  16315		.klen   = 8 + 20 + 16,
  16316		.iv     = "\x8c\xe8\x2e\xef\xbe\xa0\xda\x3c"
  16317			  "\x44\x69\x9e\xd7\xdb\x51\xb7\xd9",
  16318		.assoc	= "\x8c\xe8\x2e\xef\xbe\xa0\xda\x3c"
  16319			  "\x44\x69\x9e\xd7\xdb\x51\xb7\xd9",
  16320		.alen	= 16,
  16321		.ptext	= "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  16322			  "\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  16323			  "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  16324			  "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  16325			  "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  16326			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  16327			  "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  16328			  "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf",
  16329		.plen	= 64,
  16330		.ctext	= "\xc3\x0e\x32\xff\xed\xc0\x77\x4e"
  16331			  "\x6a\xff\x6a\xf0\x86\x9f\x71\xaa"
  16332			  "\x0f\x3a\xf0\x7a\x9a\x31\xa9\xc6"
  16333			  "\x84\xdb\x20\x7e\xb0\xef\x8e\x4e"
  16334			  "\x35\x90\x7a\xa6\x32\xc3\xff\xdf"
  16335			  "\x86\x8b\xb7\xb2\x9d\x3d\x46\xad"
  16336			  "\x83\xce\x9f\x9a\x10\x2e\xe9\x9d"
  16337			  "\x49\xa5\x3e\x87\xf4\xc3\xda\x55"
  16338			  "\x1c\x45\x57\xa9\x56\xcb\xa9\x2d"
  16339			  "\x18\xac\xf1\xc7\x5d\xd1\xcd\x0d"
  16340			  "\x1d\xbe\xc6\xe9",
  16341		.clen	= 64 + 20,
  16342	}, { /* RFC 3602 Case 5 */
  16343#ifdef __LITTLE_ENDIAN
  16344		.key    = "\x08\x00"		/* rta length */
  16345			  "\x01\x00"            /* rta type */
  16346#else
  16347		.key    = "\x00\x08"		/* rta length */
  16348			  "\x00\x01"            /* rta type */
  16349#endif
  16350			  "\x00\x00\x00\x10"	/* enc key length */
  16351			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  16352			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  16353			  "\x22\x33\x44\x55"
  16354			  "\x90\xd3\x82\xb4\x10\xee\xba\x7a"
  16355			  "\xd9\x38\xc4\x6c\xec\x1a\x82\xbf",
  16356		.klen   = 8 + 20 + 16,
  16357		.iv     = "\xe9\x6e\x8c\x08\xab\x46\x57\x63"
  16358			  "\xfd\x09\x8d\x45\xdd\x3f\xf8\x93",
  16359		.assoc  = "\x00\x00\x43\x21\x00\x00\x00\x01"
  16360			  "\xe9\x6e\x8c\x08\xab\x46\x57\x63"
  16361			  "\xfd\x09\x8d\x45\xdd\x3f\xf8\x93",
  16362		.alen   = 24,
  16363		.ptext	= "\x08\x00\x0e\xbd\xa7\x0a\x00\x00"
  16364			  "\x8e\x9c\x08\x3d\xb9\x5b\x07\x00"
  16365			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  16366			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  16367			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  16368			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  16369			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  16370			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  16371			  "\x01\x02\x03\x04\x05\x06\x07\x08"
  16372			  "\x09\x0a\x0b\x0c\x0d\x0e\x0e\x01",
  16373		.plen	= 80,
  16374		.ctext	= "\xf6\x63\xc2\x5d\x32\x5c\x18\xc6"
  16375			  "\xa9\x45\x3e\x19\x4e\x12\x08\x49"
  16376			  "\xa4\x87\x0b\x66\xcc\x6b\x99\x65"
  16377			  "\x33\x00\x13\xb4\x89\x8d\xc8\x56"
  16378			  "\xa4\x69\x9e\x52\x3a\x55\xdb\x08"
  16379			  "\x0b\x59\xec\x3a\x8e\x4b\x7e\x52"
  16380			  "\x77\x5b\x07\xd1\xdb\x34\xed\x9c"
  16381			  "\x53\x8a\xb5\x0c\x55\x1b\x87\x4a"
  16382			  "\xa2\x69\xad\xd0\x47\xad\x2d\x59"
  16383			  "\x13\xac\x19\xb7\xcf\xba\xd4\xa6"
  16384			  "\x58\xc6\x84\x75\xe4\xe9\x6b\x0c"
  16385			  "\xe1\xc5\x0b\x73\x4d\x82\x55\xa8"
  16386			  "\x85\xe1\x59\xf7",
  16387		.clen	= 80 + 20,
  16388       }, { /* NIST SP800-38A F.2.3 CBC-AES192.Encrypt */
  16389#ifdef __LITTLE_ENDIAN
  16390		.key    = "\x08\x00"            /* rta length */
  16391			  "\x01\x00"		/* rta type */
  16392#else
  16393		.key    = "\x00\x08"		/* rta length */
  16394			  "\x00\x01"            /* rta type */
  16395#endif
  16396			  "\x00\x00\x00\x18"	/* enc key length */
  16397			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  16398			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  16399			  "\x22\x33\x44\x55"
  16400			  "\x8e\x73\xb0\xf7\xda\x0e\x64\x52"
  16401			  "\xc8\x10\xf3\x2b\x80\x90\x79\xe5"
  16402			  "\x62\xf8\xea\xd2\x52\x2c\x6b\x7b",
  16403		.klen   = 8 + 20 + 24,
  16404		.iv     = "\x00\x01\x02\x03\x04\x05\x06\x07"
  16405			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  16406		.assoc	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  16407			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  16408		.alen	= 16,
  16409		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
  16410			  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
  16411			  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
  16412			  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
  16413			  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
  16414			  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
  16415			  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
  16416			  "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
  16417		.plen	= 64,
  16418		.ctext	= "\x4f\x02\x1d\xb2\x43\xbc\x63\x3d"
  16419			  "\x71\x78\x18\x3a\x9f\xa0\x71\xe8"
  16420			  "\xb4\xd9\xad\xa9\xad\x7d\xed\xf4"
  16421			  "\xe5\xe7\x38\x76\x3f\x69\x14\x5a"
  16422			  "\x57\x1b\x24\x20\x12\xfb\x7a\xe0"
  16423			  "\x7f\xa9\xba\xac\x3d\xf1\x02\xe0"
  16424			  "\x08\xb0\xe2\x79\x88\x59\x88\x81"
  16425			  "\xd9\x20\xa9\xe6\x4f\x56\x15\xcd"
  16426			  "\x73\xe3\x19\x3f\x8b\xc9\xc6\xf4"
  16427			  "\x5a\xf1\x5b\xa8\x98\x07\xc5\x36"
  16428			  "\x47\x4c\xfc\x36",
  16429		.clen	= 64 + 20,
  16430	}, { /* NIST SP800-38A F.2.5 CBC-AES256.Encrypt */
  16431#ifdef __LITTLE_ENDIAN
  16432		.key    = "\x08\x00"		/* rta length */
  16433			  "\x01\x00"		/* rta type */
  16434#else
  16435		.key    = "\x00\x08"		/* rta length */
  16436			  "\x00\x01"            /* rta type */
  16437#endif
  16438			  "\x00\x00\x00\x20"	/* enc key length */
  16439			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  16440			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  16441			  "\x22\x33\x44\x55"
  16442			  "\x60\x3d\xeb\x10\x15\xca\x71\xbe"
  16443			  "\x2b\x73\xae\xf0\x85\x7d\x77\x81"
  16444			  "\x1f\x35\x2c\x07\x3b\x61\x08\xd7"
  16445			  "\x2d\x98\x10\xa3\x09\x14\xdf\xf4",
  16446		.klen   = 8 + 20 + 32,
  16447		.iv     = "\x00\x01\x02\x03\x04\x05\x06\x07"
  16448			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  16449		.assoc	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  16450			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  16451		.alen	= 16,
  16452		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
  16453			  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
  16454			  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
  16455			  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
  16456			  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
  16457			  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
  16458			  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
  16459			  "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
  16460		.plen	= 64,
  16461		.ctext	= "\xf5\x8c\x4c\x04\xd6\xe5\xf1\xba"
  16462			  "\x77\x9e\xab\xfb\x5f\x7b\xfb\xd6"
  16463			  "\x9c\xfc\x4e\x96\x7e\xdb\x80\x8d"
  16464			  "\x67\x9f\x77\x7b\xc6\x70\x2c\x7d"
  16465			  "\x39\xf2\x33\x69\xa9\xd9\xba\xcf"
  16466			  "\xa5\x30\xe2\x63\x04\x23\x14\x61"
  16467			  "\xb2\xeb\x05\xe2\xc3\x9b\xe9\xfc"
  16468			  "\xda\x6c\x19\x07\x8c\x6a\x9d\x1b"
  16469			  "\xa3\xe8\x9b\x17\xe3\xf4\x7f\xde"
  16470			  "\x1b\x9f\xc6\x81\x26\x43\x4a\x87"
  16471			  "\x51\xee\xd6\x4e",
  16472		.clen	= 64 + 20,
  16473	},
  16474};
  16475
  16476static const struct aead_testvec hmac_sha1_ecb_cipher_null_tv_temp[] = {
  16477	{ /* Input data from RFC 2410 Case 1 */
  16478#ifdef __LITTLE_ENDIAN
  16479		.key    = "\x08\x00"		/* rta length */
  16480			  "\x01\x00"		/* rta type */
  16481#else
  16482		.key    = "\x00\x08"		/* rta length */
  16483			  "\x00\x01"		/* rta type */
  16484#endif
  16485			  "\x00\x00\x00\x00"	/* enc key length */
  16486			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  16487			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  16488			  "\x00\x00\x00\x00",
  16489		.klen   = 8 + 20 + 0,
  16490		.iv     = "",
  16491		.ptext	= "\x01\x23\x45\x67\x89\xab\xcd\xef",
  16492		.plen	= 8,
  16493		.ctext	= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  16494			  "\x40\xc3\x0a\xa1\xc9\xa0\x28\xab"
  16495			  "\x99\x5e\x19\x04\xd1\x72\xef\xb8"
  16496			  "\x8c\x5e\xe4\x08",
  16497		.clen	= 8 + 20,
  16498	}, { /* Input data from RFC 2410 Case 2 */
  16499#ifdef __LITTLE_ENDIAN
  16500		.key    = "\x08\x00"		/* rta length */
  16501			  "\x01\x00"		/* rta type */
  16502#else
  16503		.key    = "\x00\x08"		/* rta length */
  16504			  "\x00\x01"		/* rta type */
  16505#endif
  16506			  "\x00\x00\x00\x00"	/* enc key length */
  16507			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  16508			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  16509			  "\x00\x00\x00\x00",
  16510		.klen   = 8 + 20 + 0,
  16511		.iv     = "",
  16512		.ptext	= "Network Security People Have A Strange Sense Of Humor",
  16513		.plen	= 53,
  16514		.ctext	= "Network Security People Have A Strange Sense Of Humor"
  16515			  "\x75\x6f\x42\x1e\xf8\x50\x21\xd2"
  16516			  "\x65\x47\xee\x8e\x1a\xef\x16\xf6"
  16517			  "\x91\x56\xe4\xd6",
  16518		.clen	= 53 + 20,
  16519	},
  16520};
  16521
  16522static const struct aead_testvec hmac_sha256_aes_cbc_tv_temp[] = {
  16523	{ /* RFC 3602 Case 1 */
  16524#ifdef __LITTLE_ENDIAN
  16525		.key    = "\x08\x00"		/* rta length */
  16526			  "\x01\x00"		/* rta type */
  16527#else
  16528		.key    = "\x00\x08"		/* rta length */
  16529			  "\x00\x01"		/* rta type */
  16530#endif
  16531			  "\x00\x00\x00\x10"	/* enc key length */
  16532			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  16533			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  16534			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  16535			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  16536			  "\x06\xa9\x21\x40\x36\xb8\xa1\x5b"
  16537			  "\x51\x2e\x03\xd5\x34\x12\x00\x06",
  16538		.klen   = 8 + 32 + 16,
  16539		.iv     = "\x3d\xaf\xba\x42\x9d\x9e\xb4\x30"
  16540			  "\xb4\x22\xda\x80\x2c\x9f\xac\x41",
  16541		.assoc	= "\x3d\xaf\xba\x42\x9d\x9e\xb4\x30"
  16542			  "\xb4\x22\xda\x80\x2c\x9f\xac\x41",
  16543		.alen	= 16,
  16544		.ptext	= "Single block msg",
  16545		.plen	= 16,
  16546		.ctext	= "\xe3\x53\x77\x9c\x10\x79\xae\xb8"
  16547			  "\x27\x08\x94\x2d\xbe\x77\x18\x1a"
  16548			  "\xcc\xde\x2d\x6a\xae\xf1\x0b\xcc"
  16549			  "\x38\x06\x38\x51\xb4\xb8\xf3\x5b"
  16550			  "\x5c\x34\xa6\xa3\x6e\x0b\x05\xe5"
  16551			  "\x6a\x6d\x44\xaa\x26\xa8\x44\xa5",
  16552		.clen	= 16 + 32,
  16553	}, { /* RFC 3602 Case 2 */
  16554#ifdef __LITTLE_ENDIAN
  16555		.key    = "\x08\x00"		/* rta length */
  16556			  "\x01\x00"		/* rta type */
  16557#else
  16558		.key    = "\x00\x08"		/* rta length */
  16559			  "\x00\x01"		/* rta type */
  16560#endif
  16561			  "\x00\x00\x00\x10"	/* enc key length */
  16562			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  16563			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  16564			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  16565			  "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  16566			  "\xc2\x86\x69\x6d\x88\x7c\x9a\xa0"
  16567			  "\x61\x1b\xbb\x3e\x20\x25\xa4\x5a",
  16568		.klen   = 8 + 32 + 16,
  16569		.iv     = "\x56\x2e\x17\x99\x6d\x09\x3d\x28"
  16570			  "\xdd\xb3\xba\x69\x5a\x2e\x6f\x58",
  16571		.assoc	= "\x56\x2e\x17\x99\x6d\x09\x3d\x28"
  16572			  "\xdd\xb3\xba\x69\x5a\x2e\x6f\x58",
  16573		.alen	= 16,
  16574		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  16575			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  16576			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  16577			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f",
  16578		.plen	= 32,
  16579		.ctext	= "\xd2\x96\xcd\x94\xc2\xcc\xcf\x8a"
  16580			  "\x3a\x86\x30\x28\xb5\xe1\xdc\x0a"
  16581			  "\x75\x86\x60\x2d\x25\x3c\xff\xf9"
  16582			  "\x1b\x82\x66\xbe\xa6\xd6\x1a\xb1"
  16583			  "\xf5\x33\x53\xf3\x68\x85\x2a\x99"
  16584			  "\x0e\x06\x58\x8f\xba\xf6\x06\xda"
  16585			  "\x49\x69\x0d\x5b\xd4\x36\x06\x62"
  16586			  "\x35\x5e\x54\x58\x53\x4d\xdf\xbf",
  16587		.clen	= 32 + 32,
  16588	}, { /* RFC 3602 Case 3 */
  16589#ifdef __LITTLE_ENDIAN
  16590		.key    = "\x08\x00"		/* rta length */
  16591			  "\x01\x00"            /* rta type */
  16592#else
  16593		.key    = "\x00\x08"		/* rta length */
  16594			  "\x00\x01"		/* rta type */
  16595#endif
  16596			  "\x00\x00\x00\x10"	/* enc key length */
  16597			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  16598			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  16599			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  16600			  "\xaa\xbb\xcc\xdd\xee\xff\x11\x22"
  16601			  "\x6c\x3e\xa0\x47\x76\x30\xce\x21"
  16602			  "\xa2\xce\x33\x4a\xa7\x46\xc2\xcd",
  16603		.klen   = 8 + 32 + 16,
  16604		.iv     = "\xc7\x82\xdc\x4c\x09\x8c\x66\xcb"
  16605			  "\xd9\xcd\x27\xd8\x25\x68\x2c\x81",
  16606		.assoc	= "\xc7\x82\xdc\x4c\x09\x8c\x66\xcb"
  16607			  "\xd9\xcd\x27\xd8\x25\x68\x2c\x81",
  16608		.alen	= 16,
  16609		.ptext	= "This is a 48-byte message (exactly 3 AES blocks)",
  16610		.plen	= 48,
  16611		.ctext	= "\xd0\xa0\x2b\x38\x36\x45\x17\x53"
  16612			  "\xd4\x93\x66\x5d\x33\xf0\xe8\x86"
  16613			  "\x2d\xea\x54\xcd\xb2\x93\xab\xc7"
  16614			  "\x50\x69\x39\x27\x67\x72\xf8\xd5"
  16615			  "\x02\x1c\x19\x21\x6b\xad\x52\x5c"
  16616			  "\x85\x79\x69\x5d\x83\xba\x26\x84"
  16617			  "\x68\xb9\x3e\x90\x38\xa0\x88\x01"
  16618			  "\xe7\xc6\xce\x10\x31\x2f\x9b\x1d"
  16619			  "\x24\x78\xfb\xbe\x02\xe0\x4f\x40"
  16620			  "\x10\xbd\xaa\xc6\xa7\x79\xe0\x1a",
  16621		.clen	= 48 + 32,
  16622	}, { /* RFC 3602 Case 4 */
  16623#ifdef __LITTLE_ENDIAN
  16624		.key    = "\x08\x00"		/* rta length */
  16625			  "\x01\x00"		/* rta type */
  16626#else
  16627		.key    = "\x00\x08"		/* rta length */
  16628			  "\x00\x01"            /* rta type */
  16629#endif
  16630			  "\x00\x00\x00\x10"	/* enc key length */
  16631			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  16632			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  16633			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  16634			  "\xaa\xbb\xcc\xdd\xee\xff\x11\x22"
  16635			  "\x56\xe4\x7a\x38\xc5\x59\x89\x74"
  16636			  "\xbc\x46\x90\x3d\xba\x29\x03\x49",
  16637		.klen   = 8 + 32 + 16,
  16638		.iv     = "\x8c\xe8\x2e\xef\xbe\xa0\xda\x3c"
  16639			  "\x44\x69\x9e\xd7\xdb\x51\xb7\xd9",
  16640		.assoc	= "\x8c\xe8\x2e\xef\xbe\xa0\xda\x3c"
  16641			  "\x44\x69\x9e\xd7\xdb\x51\xb7\xd9",
  16642		.alen	= 16,
  16643		.ptext	= "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  16644			  "\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  16645			  "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  16646			  "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  16647			  "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  16648			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  16649			  "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  16650			  "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf",
  16651		.plen	= 64,
  16652		.ctext	= "\xc3\x0e\x32\xff\xed\xc0\x77\x4e"
  16653			  "\x6a\xff\x6a\xf0\x86\x9f\x71\xaa"
  16654			  "\x0f\x3a\xf0\x7a\x9a\x31\xa9\xc6"
  16655			  "\x84\xdb\x20\x7e\xb0\xef\x8e\x4e"
  16656			  "\x35\x90\x7a\xa6\x32\xc3\xff\xdf"
  16657			  "\x86\x8b\xb7\xb2\x9d\x3d\x46\xad"
  16658			  "\x83\xce\x9f\x9a\x10\x2e\xe9\x9d"
  16659			  "\x49\xa5\x3e\x87\xf4\xc3\xda\x55"
  16660			  "\x7a\x1b\xd4\x3c\xdb\x17\x95\xe2"
  16661			  "\xe0\x93\xec\xc9\x9f\xf7\xce\xd8"
  16662			  "\x3f\x54\xe2\x49\x39\xe3\x71\x25"
  16663			  "\x2b\x6c\xe9\x5d\xec\xec\x2b\x64",
  16664		.clen	= 64 + 32,
  16665	}, { /* RFC 3602 Case 5 */
  16666#ifdef __LITTLE_ENDIAN
  16667		.key    = "\x08\x00"		/* rta length */
  16668			  "\x01\x00"            /* rta type */
  16669#else
  16670		.key    = "\x00\x08"		/* rta length */
  16671			  "\x00\x01"            /* rta type */
  16672#endif
  16673			  "\x00\x00\x00\x10"	/* enc key length */
  16674			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  16675			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  16676			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  16677			  "\xaa\xbb\xcc\xdd\xee\xff\x11\x22"
  16678			  "\x90\xd3\x82\xb4\x10\xee\xba\x7a"
  16679			  "\xd9\x38\xc4\x6c\xec\x1a\x82\xbf",
  16680		.klen   = 8 + 32 + 16,
  16681		.iv     = "\xe9\x6e\x8c\x08\xab\x46\x57\x63"
  16682			  "\xfd\x09\x8d\x45\xdd\x3f\xf8\x93",
  16683		.assoc  = "\x00\x00\x43\x21\x00\x00\x00\x01"
  16684			  "\xe9\x6e\x8c\x08\xab\x46\x57\x63"
  16685			  "\xfd\x09\x8d\x45\xdd\x3f\xf8\x93",
  16686		.alen   = 24,
  16687		.ptext	= "\x08\x00\x0e\xbd\xa7\x0a\x00\x00"
  16688			  "\x8e\x9c\x08\x3d\xb9\x5b\x07\x00"
  16689			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  16690			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  16691			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  16692			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  16693			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  16694			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  16695			  "\x01\x02\x03\x04\x05\x06\x07\x08"
  16696			  "\x09\x0a\x0b\x0c\x0d\x0e\x0e\x01",
  16697		.plen	= 80,
  16698		.ctext	= "\xf6\x63\xc2\x5d\x32\x5c\x18\xc6"
  16699			  "\xa9\x45\x3e\x19\x4e\x12\x08\x49"
  16700			  "\xa4\x87\x0b\x66\xcc\x6b\x99\x65"
  16701			  "\x33\x00\x13\xb4\x89\x8d\xc8\x56"
  16702			  "\xa4\x69\x9e\x52\x3a\x55\xdb\x08"
  16703			  "\x0b\x59\xec\x3a\x8e\x4b\x7e\x52"
  16704			  "\x77\x5b\x07\xd1\xdb\x34\xed\x9c"
  16705			  "\x53\x8a\xb5\x0c\x55\x1b\x87\x4a"
  16706			  "\xa2\x69\xad\xd0\x47\xad\x2d\x59"
  16707			  "\x13\xac\x19\xb7\xcf\xba\xd4\xa6"
  16708			  "\xbb\xd4\x0f\xbe\xa3\x3b\x4c\xb8"
  16709			  "\x3a\xd2\xe1\x03\x86\xa5\x59\xb7"
  16710			  "\x73\xc3\x46\x20\x2c\xb1\xef\x68"
  16711			  "\xbb\x8a\x32\x7e\x12\x8c\x69\xcf",
  16712		.clen	= 80 + 32,
  16713       }, { /* NIST SP800-38A F.2.3 CBC-AES192.Encrypt */
  16714#ifdef __LITTLE_ENDIAN
  16715		.key    = "\x08\x00"            /* rta length */
  16716			  "\x01\x00"		/* rta type */
  16717#else
  16718		.key    = "\x00\x08"		/* rta length */
  16719			  "\x00\x01"            /* rta type */
  16720#endif
  16721			  "\x00\x00\x00\x18"	/* enc key length */
  16722			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  16723			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  16724			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  16725			  "\xaa\xbb\xcc\xdd\xee\xff\x11\x22"
  16726			  "\x8e\x73\xb0\xf7\xda\x0e\x64\x52"
  16727			  "\xc8\x10\xf3\x2b\x80\x90\x79\xe5"
  16728			  "\x62\xf8\xea\xd2\x52\x2c\x6b\x7b",
  16729		.klen   = 8 + 32 + 24,
  16730		.iv     = "\x00\x01\x02\x03\x04\x05\x06\x07"
  16731			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  16732		.assoc	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  16733			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  16734		.alen   = 16,
  16735		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
  16736			  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
  16737			  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
  16738			  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
  16739			  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
  16740			  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
  16741			  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
  16742			  "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
  16743		.plen	= 64,
  16744		.ctext	= "\x4f\x02\x1d\xb2\x43\xbc\x63\x3d"
  16745			  "\x71\x78\x18\x3a\x9f\xa0\x71\xe8"
  16746			  "\xb4\xd9\xad\xa9\xad\x7d\xed\xf4"
  16747			  "\xe5\xe7\x38\x76\x3f\x69\x14\x5a"
  16748			  "\x57\x1b\x24\x20\x12\xfb\x7a\xe0"
  16749			  "\x7f\xa9\xba\xac\x3d\xf1\x02\xe0"
  16750			  "\x08\xb0\xe2\x79\x88\x59\x88\x81"
  16751			  "\xd9\x20\xa9\xe6\x4f\x56\x15\xcd"
  16752			  "\x2f\xee\x5f\xdb\x66\xfe\x79\x09"
  16753			  "\x61\x81\x31\xea\x5b\x3d\x8e\xfb"
  16754			  "\xca\x71\x85\x93\xf7\x85\x55\x8b"
  16755			  "\x7a\xe4\x94\xca\x8b\xba\x19\x33",
  16756		.clen	= 64 + 32,
  16757	}, { /* NIST SP800-38A F.2.5 CBC-AES256.Encrypt */
  16758#ifdef __LITTLE_ENDIAN
  16759		.key    = "\x08\x00"		/* rta length */
  16760			  "\x01\x00"		/* rta type */
  16761#else
  16762		.key    = "\x00\x08"		/* rta length */
  16763			  "\x00\x01"            /* rta type */
  16764#endif
  16765			  "\x00\x00\x00\x20"	/* enc key length */
  16766			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  16767			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  16768			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  16769			  "\xaa\xbb\xcc\xdd\xee\xff\x11\x22"
  16770			  "\x60\x3d\xeb\x10\x15\xca\x71\xbe"
  16771			  "\x2b\x73\xae\xf0\x85\x7d\x77\x81"
  16772			  "\x1f\x35\x2c\x07\x3b\x61\x08\xd7"
  16773			  "\x2d\x98\x10\xa3\x09\x14\xdf\xf4",
  16774		.klen   = 8 + 32 + 32,
  16775		.iv     = "\x00\x01\x02\x03\x04\x05\x06\x07"
  16776			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  16777		.assoc	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  16778			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  16779		.alen   = 16,
  16780		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
  16781			  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
  16782			  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
  16783			  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
  16784			  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
  16785			  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
  16786			  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
  16787			  "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
  16788		.plen	= 64,
  16789		.ctext	= "\xf5\x8c\x4c\x04\xd6\xe5\xf1\xba"
  16790			  "\x77\x9e\xab\xfb\x5f\x7b\xfb\xd6"
  16791			  "\x9c\xfc\x4e\x96\x7e\xdb\x80\x8d"
  16792			  "\x67\x9f\x77\x7b\xc6\x70\x2c\x7d"
  16793			  "\x39\xf2\x33\x69\xa9\xd9\xba\xcf"
  16794			  "\xa5\x30\xe2\x63\x04\x23\x14\x61"
  16795			  "\xb2\xeb\x05\xe2\xc3\x9b\xe9\xfc"
  16796			  "\xda\x6c\x19\x07\x8c\x6a\x9d\x1b"
  16797			  "\x24\x29\xed\xc2\x31\x49\xdb\xb1"
  16798			  "\x8f\x74\xbd\x17\x92\x03\xbe\x8f"
  16799			  "\xf3\x61\xde\x1c\xe9\xdb\xcd\xd0"
  16800			  "\xcc\xce\xe9\x85\x57\xcf\x6f\x5f",
  16801		.clen	= 64 + 32,
  16802	},
  16803};
  16804
  16805static const struct aead_testvec hmac_sha512_aes_cbc_tv_temp[] = {
  16806	{ /* RFC 3602 Case 1 */
  16807#ifdef __LITTLE_ENDIAN
  16808		.key    = "\x08\x00"		/* rta length */
  16809			  "\x01\x00"		/* rta type */
  16810#else
  16811		.key    = "\x00\x08"		/* rta length */
  16812			  "\x00\x01"		/* rta type */
  16813#endif
  16814			  "\x00\x00\x00\x10"	/* enc key length */
  16815			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  16816			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  16817			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  16818			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  16819			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  16820			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  16821			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  16822			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  16823			  "\x06\xa9\x21\x40\x36\xb8\xa1\x5b"
  16824			  "\x51\x2e\x03\xd5\x34\x12\x00\x06",
  16825		.klen   = 8 + 64 + 16,
  16826		.iv     = "\x3d\xaf\xba\x42\x9d\x9e\xb4\x30"
  16827			  "\xb4\x22\xda\x80\x2c\x9f\xac\x41",
  16828		.assoc	= "\x3d\xaf\xba\x42\x9d\x9e\xb4\x30"
  16829			  "\xb4\x22\xda\x80\x2c\x9f\xac\x41",
  16830		.alen   = 16,
  16831		.ptext	= "Single block msg",
  16832		.plen	= 16,
  16833		.ctext	= "\xe3\x53\x77\x9c\x10\x79\xae\xb8"
  16834			  "\x27\x08\x94\x2d\xbe\x77\x18\x1a"
  16835			  "\x3f\xdc\xad\x90\x03\x63\x5e\x68"
  16836			  "\xc3\x13\xdd\xa4\x5c\x4d\x54\xa7"
  16837			  "\x19\x6e\x03\x75\x2b\xa1\x62\xce"
  16838			  "\xe0\xc6\x96\x75\xb2\x14\xca\x96"
  16839			  "\xec\xbd\x50\x08\x07\x64\x1a\x49"
  16840			  "\xe8\x9a\x7c\x06\x3d\xcb\xff\xb2"
  16841			  "\xfa\x20\x89\xdd\x9c\xac\x9e\x16"
  16842			  "\x18\x8a\xa0\x6d\x01\x6c\xa3\x3a",
  16843		.clen	= 16 + 64,
  16844	}, { /* RFC 3602 Case 2 */
  16845#ifdef __LITTLE_ENDIAN
  16846		.key    = "\x08\x00"		/* rta length */
  16847			  "\x01\x00"		/* rta type */
  16848#else
  16849		.key    = "\x00\x08"		/* rta length */
  16850			  "\x00\x01"		/* rta type */
  16851#endif
  16852			  "\x00\x00\x00\x10"	/* enc key length */
  16853			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  16854			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  16855			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  16856			  "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  16857			  "\x40\x41\x42\x43\x44\x45\x46\x47"
  16858			  "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  16859			  "\x50\x51\x52\x53\x54\x55\x56\x57"
  16860			  "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"
  16861			  "\xc2\x86\x69\x6d\x88\x7c\x9a\xa0"
  16862			  "\x61\x1b\xbb\x3e\x20\x25\xa4\x5a",
  16863		.klen   = 8 + 64 + 16,
  16864		.iv     = "\x56\x2e\x17\x99\x6d\x09\x3d\x28"
  16865			  "\xdd\xb3\xba\x69\x5a\x2e\x6f\x58",
  16866		.assoc	= "\x56\x2e\x17\x99\x6d\x09\x3d\x28"
  16867			  "\xdd\xb3\xba\x69\x5a\x2e\x6f\x58",
  16868		.alen   = 16,
  16869		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  16870			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  16871			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  16872			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f",
  16873		.plen	= 32,
  16874		.ctext	= "\xd2\x96\xcd\x94\xc2\xcc\xcf\x8a"
  16875			  "\x3a\x86\x30\x28\xb5\xe1\xdc\x0a"
  16876			  "\x75\x86\x60\x2d\x25\x3c\xff\xf9"
  16877			  "\x1b\x82\x66\xbe\xa6\xd6\x1a\xb1"
  16878			  "\xda\xb2\x0c\xb2\x26\xc4\xd5\xef"
  16879			  "\x60\x38\xa4\x5e\x9a\x8c\x1b\x41"
  16880			  "\x03\x9f\xc4\x64\x7f\x01\x42\x9b"
  16881			  "\x0e\x1b\xea\xef\xbc\x88\x19\x5e"
  16882			  "\x31\x7e\xc2\x95\xfc\x09\x32\x0a"
  16883			  "\x46\x32\x7c\x41\x9c\x59\x3e\xe9"
  16884			  "\x8f\x9f\xd4\x31\xd6\x22\xbd\xf8"
  16885			  "\xf7\x0a\x94\xe5\xa9\xc3\xf6\x9d",
  16886		.clen	= 32 + 64,
  16887	}, { /* RFC 3602 Case 3 */
  16888#ifdef __LITTLE_ENDIAN
  16889		.key    = "\x08\x00"		/* rta length */
  16890			  "\x01\x00"            /* rta type */
  16891#else
  16892		.key    = "\x00\x08"		/* rta length */
  16893			  "\x00\x01"		/* rta type */
  16894#endif
  16895			  "\x00\x00\x00\x10"	/* enc key length */
  16896			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  16897			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  16898			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  16899			  "\xaa\xbb\xcc\xdd\xee\xff\x11\x22"
  16900			  "\x33\x44\x55\x66\x77\x88\x99\xaa"
  16901			  "\xbb\xcc\xdd\xee\xff\x11\x22\x33"
  16902			  "\x44\x55\x66\x77\x88\x99\xaa\xbb"
  16903			  "\xcc\xdd\xee\xff\x11\x22\x33\x44"
  16904			  "\x6c\x3e\xa0\x47\x76\x30\xce\x21"
  16905			  "\xa2\xce\x33\x4a\xa7\x46\xc2\xcd",
  16906		.klen   = 8 + 64 + 16,
  16907		.iv     = "\xc7\x82\xdc\x4c\x09\x8c\x66\xcb"
  16908			  "\xd9\xcd\x27\xd8\x25\x68\x2c\x81",
  16909		.assoc	= "\xc7\x82\xdc\x4c\x09\x8c\x66\xcb"
  16910			  "\xd9\xcd\x27\xd8\x25\x68\x2c\x81",
  16911		.alen   = 16,
  16912		.ptext	= "This is a 48-byte message (exactly 3 AES blocks)",
  16913		.plen	= 48,
  16914		.ctext	= "\xd0\xa0\x2b\x38\x36\x45\x17\x53"
  16915			  "\xd4\x93\x66\x5d\x33\xf0\xe8\x86"
  16916			  "\x2d\xea\x54\xcd\xb2\x93\xab\xc7"
  16917			  "\x50\x69\x39\x27\x67\x72\xf8\xd5"
  16918			  "\x02\x1c\x19\x21\x6b\xad\x52\x5c"
  16919			  "\x85\x79\x69\x5d\x83\xba\x26\x84"
  16920			  "\x64\x19\x17\x5b\x57\xe0\x21\x0f"
  16921			  "\xca\xdb\xa1\x26\x38\x14\xa2\x69"
  16922			  "\xdb\x54\x67\x80\xc0\x54\xe0\xfd"
  16923			  "\x3e\x91\xe7\x91\x7f\x13\x38\x44"
  16924			  "\xb7\xb1\xd6\xc8\x7d\x48\x8d\x41"
  16925			  "\x08\xea\x29\x6c\x74\x67\x3f\xb0"
  16926			  "\xac\x7f\x5c\x1d\xf5\xee\x22\x66"
  16927			  "\x27\xa6\xb6\x13\xba\xba\xf0\xc2",
  16928		.clen	= 48 + 64,
  16929	}, { /* RFC 3602 Case 4 */
  16930#ifdef __LITTLE_ENDIAN
  16931		.key    = "\x08\x00"		/* rta length */
  16932			  "\x01\x00"		/* rta type */
  16933#else
  16934		.key    = "\x00\x08"		/* rta length */
  16935			  "\x00\x01"            /* rta type */
  16936#endif
  16937			  "\x00\x00\x00\x10"	/* enc key length */
  16938			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  16939			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  16940			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  16941			  "\xaa\xbb\xcc\xdd\xee\xff\x11\x22"
  16942			  "\x33\x44\x55\x66\x77\x88\x99\xaa"
  16943			  "\xbb\xcc\xdd\xee\xff\x11\x22\x33"
  16944			  "\x44\x55\x66\x77\x88\x99\xaa\xbb"
  16945			  "\xcc\xdd\xee\xff\x11\x22\x33\x44"
  16946			  "\x56\xe4\x7a\x38\xc5\x59\x89\x74"
  16947			  "\xbc\x46\x90\x3d\xba\x29\x03\x49",
  16948		.klen   = 8 + 64 + 16,
  16949		.iv     = "\x8c\xe8\x2e\xef\xbe\xa0\xda\x3c"
  16950			  "\x44\x69\x9e\xd7\xdb\x51\xb7\xd9",
  16951		.assoc	= "\x8c\xe8\x2e\xef\xbe\xa0\xda\x3c"
  16952			  "\x44\x69\x9e\xd7\xdb\x51\xb7\xd9",
  16953		.alen   = 16,
  16954		.ptext	= "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  16955			  "\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  16956			  "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  16957			  "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  16958			  "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  16959			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  16960			  "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  16961			  "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf",
  16962		.plen	= 64,
  16963		.ctext	= "\xc3\x0e\x32\xff\xed\xc0\x77\x4e"
  16964			  "\x6a\xff\x6a\xf0\x86\x9f\x71\xaa"
  16965			  "\x0f\x3a\xf0\x7a\x9a\x31\xa9\xc6"
  16966			  "\x84\xdb\x20\x7e\xb0\xef\x8e\x4e"
  16967			  "\x35\x90\x7a\xa6\x32\xc3\xff\xdf"
  16968			  "\x86\x8b\xb7\xb2\x9d\x3d\x46\xad"
  16969			  "\x83\xce\x9f\x9a\x10\x2e\xe9\x9d"
  16970			  "\x49\xa5\x3e\x87\xf4\xc3\xda\x55"
  16971			  "\x82\xcd\x42\x28\x21\x20\x15\xcc"
  16972			  "\xb7\xb2\x48\x40\xc7\x64\x41\x3a"
  16973			  "\x61\x32\x82\x85\xcf\x27\xed\xb4"
  16974			  "\xe4\x68\xa2\xf5\x79\x26\x27\xb2"
  16975			  "\x51\x67\x6a\xc4\xf0\x66\x55\x50"
  16976			  "\xbc\x6f\xed\xd5\x8d\xde\x23\x7c"
  16977			  "\x62\x98\x14\xd7\x2f\x37\x8d\xdf"
  16978			  "\xf4\x33\x80\xeb\x8e\xb4\xa4\xda",
  16979		.clen	= 64 + 64,
  16980	}, { /* RFC 3602 Case 5 */
  16981#ifdef __LITTLE_ENDIAN
  16982		.key    = "\x08\x00"		/* rta length */
  16983			  "\x01\x00"            /* rta type */
  16984#else
  16985		.key    = "\x00\x08"		/* rta length */
  16986			  "\x00\x01"            /* rta type */
  16987#endif
  16988			  "\x00\x00\x00\x10"	/* enc key length */
  16989			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  16990			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  16991			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  16992			  "\xaa\xbb\xcc\xdd\xee\xff\x11\x22"
  16993			  "\x33\x44\x55\x66\x77\x88\x99\xaa"
  16994			  "\xbb\xcc\xdd\xee\xff\x11\x22\x33"
  16995			  "\x44\x55\x66\x77\x88\x99\xaa\xbb"
  16996			  "\xcc\xdd\xee\xff\x11\x22\x33\x44"
  16997			  "\x90\xd3\x82\xb4\x10\xee\xba\x7a"
  16998			  "\xd9\x38\xc4\x6c\xec\x1a\x82\xbf",
  16999		.klen   = 8 + 64 + 16,
  17000		.iv     = "\xe9\x6e\x8c\x08\xab\x46\x57\x63"
  17001			  "\xfd\x09\x8d\x45\xdd\x3f\xf8\x93",
  17002		.assoc  = "\x00\x00\x43\x21\x00\x00\x00\x01"
  17003			  "\xe9\x6e\x8c\x08\xab\x46\x57\x63"
  17004			  "\xfd\x09\x8d\x45\xdd\x3f\xf8\x93",
  17005		.alen   = 24,
  17006		.ptext	= "\x08\x00\x0e\xbd\xa7\x0a\x00\x00"
  17007			  "\x8e\x9c\x08\x3d\xb9\x5b\x07\x00"
  17008			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  17009			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  17010			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  17011			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  17012			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  17013			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  17014			  "\x01\x02\x03\x04\x05\x06\x07\x08"
  17015			  "\x09\x0a\x0b\x0c\x0d\x0e\x0e\x01",
  17016		.plen	= 80,
  17017		.ctext	= "\xf6\x63\xc2\x5d\x32\x5c\x18\xc6"
  17018			  "\xa9\x45\x3e\x19\x4e\x12\x08\x49"
  17019			  "\xa4\x87\x0b\x66\xcc\x6b\x99\x65"
  17020			  "\x33\x00\x13\xb4\x89\x8d\xc8\x56"
  17021			  "\xa4\x69\x9e\x52\x3a\x55\xdb\x08"
  17022			  "\x0b\x59\xec\x3a\x8e\x4b\x7e\x52"
  17023			  "\x77\x5b\x07\xd1\xdb\x34\xed\x9c"
  17024			  "\x53\x8a\xb5\x0c\x55\x1b\x87\x4a"
  17025			  "\xa2\x69\xad\xd0\x47\xad\x2d\x59"
  17026			  "\x13\xac\x19\xb7\xcf\xba\xd4\xa6"
  17027			  "\x74\x84\x94\xe2\xd7\x7a\xf9\xbf"
  17028			  "\x00\x8a\xa2\xd5\xb7\xf3\x60\xcf"
  17029			  "\xa0\x47\xdf\x4e\x09\xf4\xb1\x7f"
  17030			  "\x14\xd9\x3d\x53\x8e\x12\xb3\x00"
  17031			  "\x4c\x0a\x4e\x32\x40\x43\x88\xce"
  17032			  "\x92\x26\xc1\x76\x20\x11\xeb\xba"
  17033			  "\x62\x4f\x9a\x62\x25\xc3\x75\x80"
  17034			  "\xb7\x0a\x17\xf5\xd7\x94\xb4\x14",
  17035		.clen	= 80 + 64,
  17036       }, { /* NIST SP800-38A F.2.3 CBC-AES192.Encrypt */
  17037#ifdef __LITTLE_ENDIAN
  17038		.key    = "\x08\x00"            /* rta length */
  17039			  "\x01\x00"		/* rta type */
  17040#else
  17041		.key    = "\x00\x08"		/* rta length */
  17042			  "\x00\x01"            /* rta type */
  17043#endif
  17044			  "\x00\x00\x00\x18"	/* enc key length */
  17045			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  17046			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  17047			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  17048			  "\xaa\xbb\xcc\xdd\xee\xff\x11\x22"
  17049			  "\x33\x44\x55\x66\x77\x88\x99\xaa"
  17050			  "\xbb\xcc\xdd\xee\xff\x11\x22\x33"
  17051			  "\x44\x55\x66\x77\x88\x99\xaa\xbb"
  17052			  "\xcc\xdd\xee\xff\x11\x22\x33\x44"
  17053			  "\x8e\x73\xb0\xf7\xda\x0e\x64\x52"
  17054			  "\xc8\x10\xf3\x2b\x80\x90\x79\xe5"
  17055			  "\x62\xf8\xea\xd2\x52\x2c\x6b\x7b",
  17056		.klen   = 8 + 64 + 24,
  17057		.iv     = "\x00\x01\x02\x03\x04\x05\x06\x07"
  17058			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  17059		.assoc	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  17060			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  17061		.alen   = 16,
  17062		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
  17063			  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
  17064			  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
  17065			  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
  17066			  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
  17067			  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
  17068			  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
  17069			  "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
  17070		.plen	= 64,
  17071		.ctext	= "\x4f\x02\x1d\xb2\x43\xbc\x63\x3d"
  17072			  "\x71\x78\x18\x3a\x9f\xa0\x71\xe8"
  17073			  "\xb4\xd9\xad\xa9\xad\x7d\xed\xf4"
  17074			  "\xe5\xe7\x38\x76\x3f\x69\x14\x5a"
  17075			  "\x57\x1b\x24\x20\x12\xfb\x7a\xe0"
  17076			  "\x7f\xa9\xba\xac\x3d\xf1\x02\xe0"
  17077			  "\x08\xb0\xe2\x79\x88\x59\x88\x81"
  17078			  "\xd9\x20\xa9\xe6\x4f\x56\x15\xcd"
  17079			  "\x77\x4b\x69\x9d\x3a\x0d\xb4\x99"
  17080			  "\x8f\xc6\x8e\x0e\x72\x58\xe3\x56"
  17081			  "\xbb\x21\xd2\x7d\x93\x11\x17\x91"
  17082			  "\xc4\x83\xfd\x0a\xea\x71\xfe\x77"
  17083			  "\xae\x6f\x0a\xa5\xf0\xcf\xe1\x35"
  17084			  "\xba\x03\xd5\x32\xfa\x5f\x41\x58"
  17085			  "\x8d\x43\x98\xa7\x94\x16\x07\x02"
  17086			  "\x0f\xb6\x81\x50\x28\x95\x2e\x75",
  17087		.clen	= 64 + 64,
  17088	}, { /* NIST SP800-38A F.2.5 CBC-AES256.Encrypt */
  17089#ifdef __LITTLE_ENDIAN
  17090		.key    = "\x08\x00"		/* rta length */
  17091			  "\x01\x00"		/* rta type */
  17092#else
  17093		.key    = "\x00\x08"		/* rta length */
  17094			  "\x00\x01"            /* rta type */
  17095#endif
  17096			  "\x00\x00\x00\x20"	/* enc key length */
  17097			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  17098			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  17099			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  17100			  "\xaa\xbb\xcc\xdd\xee\xff\x11\x22"
  17101			  "\x33\x44\x55\x66\x77\x88\x99\xaa"
  17102			  "\xbb\xcc\xdd\xee\xff\x11\x22\x33"
  17103			  "\x44\x55\x66\x77\x88\x99\xaa\xbb"
  17104			  "\xcc\xdd\xee\xff\x11\x22\x33\x44"
  17105			  "\x60\x3d\xeb\x10\x15\xca\x71\xbe"
  17106			  "\x2b\x73\xae\xf0\x85\x7d\x77\x81"
  17107			  "\x1f\x35\x2c\x07\x3b\x61\x08\xd7"
  17108			  "\x2d\x98\x10\xa3\x09\x14\xdf\xf4",
  17109		.klen   = 8 + 64 + 32,
  17110		.iv     = "\x00\x01\x02\x03\x04\x05\x06\x07"
  17111			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  17112		.assoc	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  17113			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  17114		.alen   = 16,
  17115		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
  17116			  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
  17117			  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
  17118			  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
  17119			  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
  17120			  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
  17121			  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
  17122			  "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
  17123		.plen	= 64,
  17124		.ctext	= "\xf5\x8c\x4c\x04\xd6\xe5\xf1\xba"
  17125			  "\x77\x9e\xab\xfb\x5f\x7b\xfb\xd6"
  17126			  "\x9c\xfc\x4e\x96\x7e\xdb\x80\x8d"
  17127			  "\x67\x9f\x77\x7b\xc6\x70\x2c\x7d"
  17128			  "\x39\xf2\x33\x69\xa9\xd9\xba\xcf"
  17129			  "\xa5\x30\xe2\x63\x04\x23\x14\x61"
  17130			  "\xb2\xeb\x05\xe2\xc3\x9b\xe9\xfc"
  17131			  "\xda\x6c\x19\x07\x8c\x6a\x9d\x1b"
  17132			  "\xb2\x27\x69\x7f\x45\x64\x79\x2b"
  17133			  "\xb7\xb8\x4c\xd4\x75\x94\x68\x40"
  17134			  "\x2a\xea\x91\xc7\x3f\x7c\xed\x7b"
  17135			  "\x95\x2c\x9b\xa8\xf5\xe5\x52\x8d"
  17136			  "\x6b\xe1\xae\xf1\x74\xfa\x0d\x0c"
  17137			  "\xe3\x8d\x64\xc3\x8d\xff\x7c\x8c"
  17138			  "\xdb\xbf\xa0\xb4\x01\xa2\xa8\xa2"
  17139			  "\x2c\xb1\x62\x2c\x10\xca\xf1\x21",
  17140		.clen	= 64 + 64,
  17141	},
  17142};
  17143
  17144static const struct aead_testvec hmac_sha1_des_cbc_tv_temp[] = {
  17145	{ /*Generated with cryptopp*/
  17146#ifdef __LITTLE_ENDIAN
  17147		.key    = "\x08\x00"		/* rta length */
  17148			  "\x01\x00"		/* rta type */
  17149#else
  17150	.key    = "\x00\x08"		/* rta length */
  17151			  "\x00\x01"		/* rta type */
  17152#endif
  17153			  "\x00\x00\x00\x08"	/* enc key length */
  17154			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  17155		  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  17156			  "\x22\x33\x44\x55"
  17157			  "\xE9\xC0\xFF\x2E\x76\x0B\x64\x24",
  17158		.klen	= 8 + 20 + 8,
  17159		.iv	= "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
  17160		.assoc  = "\x00\x00\x43\x21\x00\x00\x00\x01"
  17161			  "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
  17162		.alen   = 16,
  17163		.ptext	= "\x6f\x54\x20\x6f\x61\x4d\x79\x6e"
  17164			  "\x53\x20\x63\x65\x65\x72\x73\x74"
  17165			  "\x54\x20\x6f\x6f\x4d\x20\x6e\x61"
  17166			  "\x20\x79\x65\x53\x72\x63\x74\x65"
  17167			  "\x20\x73\x6f\x54\x20\x6f\x61\x4d"
  17168			  "\x79\x6e\x53\x20\x63\x65\x65\x72"
  17169			  "\x73\x74\x54\x20\x6f\x6f\x4d\x20"
  17170			  "\x6e\x61\x20\x79\x65\x53\x72\x63"
  17171			  "\x74\x65\x20\x73\x6f\x54\x20\x6f"
  17172			  "\x61\x4d\x79\x6e\x53\x20\x63\x65"
  17173			  "\x65\x72\x73\x74\x54\x20\x6f\x6f"
  17174			  "\x4d\x20\x6e\x61\x20\x79\x65\x53"
  17175			  "\x72\x63\x74\x65\x20\x73\x6f\x54"
  17176			  "\x20\x6f\x61\x4d\x79\x6e\x53\x20"
  17177			  "\x63\x65\x65\x72\x73\x74\x54\x20"
  17178			  "\x6f\x6f\x4d\x20\x6e\x61\x0a\x79",
  17179		.plen	= 128,
  17180		.ctext	= "\x70\xd6\xde\x64\x87\x17\xf1\xe8"
  17181			  "\x54\x31\x85\x37\xed\x6b\x01\x8d"
  17182			  "\xe3\xcc\xe0\x1d\x5e\xf3\xfe\xf1"
  17183			  "\x41\xaa\x33\x91\xa7\x7d\x99\x88"
  17184			  "\x4d\x85\x6e\x2f\xa3\x69\xf5\x82"
  17185			  "\x3a\x6f\x25\xcb\x7d\x58\x1f\x9b"
  17186			  "\xaa\x9c\x11\xd5\x76\x67\xce\xde"
  17187			  "\x56\xd7\x5a\x80\x69\xea\x3a\x02"
  17188			  "\xf0\xc7\x7c\xe3\xcb\x40\xe5\x52"
  17189			  "\xd1\x10\x92\x78\x0b\x8e\x5b\xf1"
  17190			  "\xe3\x26\x1f\xe1\x15\x41\xc7\xba"
  17191			  "\x99\xdb\x08\x51\x1c\xd3\x01\xf4"
  17192			  "\x87\x47\x39\xb8\xd2\xdd\xbd\xfb"
  17193			  "\x66\x13\xdf\x1c\x01\x44\xf0\x7a"
  17194			  "\x1a\x6b\x13\xf5\xd5\x0b\xb8\xba"
  17195			  "\x53\xba\xe1\x76\xe3\x82\x07\x86"
  17196			  "\x95\x16\x20\x09\xf5\x95\x19\xfd"
  17197			  "\x3c\xc7\xe0\x42\xc0\x14\x69\xfa"
  17198			  "\x5c\x44\xa9\x37",
  17199			  .clen	= 128 + 20,
  17200	},
  17201};
  17202
  17203static const struct aead_testvec hmac_sha224_des_cbc_tv_temp[] = {
  17204	{ /*Generated with cryptopp*/
  17205#ifdef __LITTLE_ENDIAN
  17206		.key    = "\x08\x00"		/* rta length */
  17207			  "\x01\x00"		/* rta type */
  17208#else
  17209		.key    = "\x00\x08"		/* rta length */
  17210			  "\x00\x01"		/* rta type */
  17211#endif
  17212			  "\x00\x00\x00\x08"	/* enc key length */
  17213			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  17214			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  17215		  "\x22\x33\x44\x55\x66\x77\x88\x99"
  17216			  "\xE9\xC0\xFF\x2E\x76\x0B\x64\x24",
  17217		.klen	= 8 + 24 + 8,
  17218		.iv	= "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
  17219		.assoc  = "\x00\x00\x43\x21\x00\x00\x00\x01"
  17220			  "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
  17221		.alen   = 16,
  17222		.ptext	= "\x6f\x54\x20\x6f\x61\x4d\x79\x6e"
  17223			  "\x53\x20\x63\x65\x65\x72\x73\x74"
  17224			  "\x54\x20\x6f\x6f\x4d\x20\x6e\x61"
  17225			  "\x20\x79\x65\x53\x72\x63\x74\x65"
  17226			  "\x20\x73\x6f\x54\x20\x6f\x61\x4d"
  17227			  "\x79\x6e\x53\x20\x63\x65\x65\x72"
  17228			  "\x73\x74\x54\x20\x6f\x6f\x4d\x20"
  17229			  "\x6e\x61\x20\x79\x65\x53\x72\x63"
  17230			  "\x74\x65\x20\x73\x6f\x54\x20\x6f"
  17231			  "\x61\x4d\x79\x6e\x53\x20\x63\x65"
  17232			  "\x65\x72\x73\x74\x54\x20\x6f\x6f"
  17233			  "\x4d\x20\x6e\x61\x20\x79\x65\x53"
  17234			  "\x72\x63\x74\x65\x20\x73\x6f\x54"
  17235			  "\x20\x6f\x61\x4d\x79\x6e\x53\x20"
  17236			  "\x63\x65\x65\x72\x73\x74\x54\x20"
  17237			  "\x6f\x6f\x4d\x20\x6e\x61\x0a\x79",
  17238		.plen	= 128,
  17239		.ctext	= "\x70\xd6\xde\x64\x87\x17\xf1\xe8"
  17240			  "\x54\x31\x85\x37\xed\x6b\x01\x8d"
  17241			  "\xe3\xcc\xe0\x1d\x5e\xf3\xfe\xf1"
  17242			  "\x41\xaa\x33\x91\xa7\x7d\x99\x88"
  17243			  "\x4d\x85\x6e\x2f\xa3\x69\xf5\x82"
  17244			  "\x3a\x6f\x25\xcb\x7d\x58\x1f\x9b"
  17245			  "\xaa\x9c\x11\xd5\x76\x67\xce\xde"
  17246			  "\x56\xd7\x5a\x80\x69\xea\x3a\x02"
  17247			  "\xf0\xc7\x7c\xe3\xcb\x40\xe5\x52"
  17248			  "\xd1\x10\x92\x78\x0b\x8e\x5b\xf1"
  17249			  "\xe3\x26\x1f\xe1\x15\x41\xc7\xba"
  17250			  "\x99\xdb\x08\x51\x1c\xd3\x01\xf4"
  17251		  "\x87\x47\x39\xb8\xd2\xdd\xbd\xfb"
  17252			  "\x66\x13\xdf\x1c\x01\x44\xf0\x7a"
  17253			  "\x1a\x6b\x13\xf5\xd5\x0b\xb8\xba"
  17254			  "\x53\xba\xe1\x76\xe3\x82\x07\x86"
  17255			  "\x9c\x2d\x7e\xee\x20\x34\x55\x0a"
  17256			  "\xce\xb5\x4e\x64\x53\xe7\xbf\x91"
  17257			  "\xab\xd4\xd9\xda\xc9\x12\xae\xf7",
  17258		.clen	= 128 + 24,
  17259	},
  17260};
  17261
  17262static const struct aead_testvec hmac_sha256_des_cbc_tv_temp[] = {
  17263	{ /*Generated with cryptopp*/
  17264#ifdef __LITTLE_ENDIAN
  17265		.key    = "\x08\x00"		/* rta length */
  17266			  "\x01\x00"		/* rta type */
  17267#else
  17268		.key    = "\x00\x08"		/* rta length */
  17269			  "\x00\x01"		/* rta type */
  17270#endif
  17271			  "\x00\x00\x00\x08"	/* enc key length */
  17272			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  17273			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  17274			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  17275			  "\xaa\xbb\xcc\xdd\xee\xff\x11\x22"
  17276			  "\xE9\xC0\xFF\x2E\x76\x0B\x64\x24",
  17277		.klen	= 8 + 32 + 8,
  17278		.iv	= "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
  17279		.assoc  = "\x00\x00\x43\x21\x00\x00\x00\x01"
  17280			  "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
  17281		.alen   = 16,
  17282		.ptext	= "\x6f\x54\x20\x6f\x61\x4d\x79\x6e"
  17283			  "\x53\x20\x63\x65\x65\x72\x73\x74"
  17284			  "\x54\x20\x6f\x6f\x4d\x20\x6e\x61"
  17285			  "\x20\x79\x65\x53\x72\x63\x74\x65"
  17286			  "\x20\x73\x6f\x54\x20\x6f\x61\x4d"
  17287			  "\x79\x6e\x53\x20\x63\x65\x65\x72"
  17288			  "\x73\x74\x54\x20\x6f\x6f\x4d\x20"
  17289			  "\x6e\x61\x20\x79\x65\x53\x72\x63"
  17290			  "\x74\x65\x20\x73\x6f\x54\x20\x6f"
  17291			  "\x61\x4d\x79\x6e\x53\x20\x63\x65"
  17292			  "\x65\x72\x73\x74\x54\x20\x6f\x6f"
  17293			  "\x4d\x20\x6e\x61\x20\x79\x65\x53"
  17294			  "\x72\x63\x74\x65\x20\x73\x6f\x54"
  17295			  "\x20\x6f\x61\x4d\x79\x6e\x53\x20"
  17296			  "\x63\x65\x65\x72\x73\x74\x54\x20"
  17297			  "\x6f\x6f\x4d\x20\x6e\x61\x0a\x79",
  17298		.plen	= 128,
  17299		.ctext	= "\x70\xd6\xde\x64\x87\x17\xf1\xe8"
  17300			  "\x54\x31\x85\x37\xed\x6b\x01\x8d"
  17301			  "\xe3\xcc\xe0\x1d\x5e\xf3\xfe\xf1"
  17302			  "\x41\xaa\x33\x91\xa7\x7d\x99\x88"
  17303			  "\x4d\x85\x6e\x2f\xa3\x69\xf5\x82"
  17304			  "\x3a\x6f\x25\xcb\x7d\x58\x1f\x9b"
  17305			  "\xaa\x9c\x11\xd5\x76\x67\xce\xde"
  17306			  "\x56\xd7\x5a\x80\x69\xea\x3a\x02"
  17307			  "\xf0\xc7\x7c\xe3\xcb\x40\xe5\x52"
  17308			  "\xd1\x10\x92\x78\x0b\x8e\x5b\xf1"
  17309			  "\xe3\x26\x1f\xe1\x15\x41\xc7\xba"
  17310		  "\x99\xdb\x08\x51\x1c\xd3\x01\xf4"
  17311			  "\x87\x47\x39\xb8\xd2\xdd\xbd\xfb"
  17312		  "\x66\x13\xdf\x1c\x01\x44\xf0\x7a"
  17313		  "\x1a\x6b\x13\xf5\xd5\x0b\xb8\xba"
  17314			  "\x53\xba\xe1\x76\xe3\x82\x07\x86"
  17315			  "\xc6\x58\xa1\x60\x70\x91\x39\x36"
  17316			  "\x50\xf6\x5d\xab\x4b\x51\x4e\x5e"
  17317			  "\xde\x63\xde\x76\x52\xde\x9f\xba"
  17318			  "\x90\xcf\x15\xf2\xbb\x6e\x84\x00",
  17319		.clen	= 128 + 32,
  17320	},
  17321};
  17322
  17323static const struct aead_testvec hmac_sha384_des_cbc_tv_temp[] = {
  17324	{ /*Generated with cryptopp*/
  17325#ifdef __LITTLE_ENDIAN
  17326		.key    = "\x08\x00"		/* rta length */
  17327			  "\x01\x00"		/* rta type */
  17328#else
  17329		.key    = "\x00\x08"		/* rta length */
  17330			  "\x00\x01"		/* rta type */
  17331#endif
  17332			  "\x00\x00\x00\x08"	/* enc key length */
  17333			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  17334			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  17335			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  17336			  "\xaa\xbb\xcc\xdd\xee\xff\x11\x22"
  17337			  "\x33\x44\x55\x66\x77\x88\x99\xaa"
  17338			  "\xbb\xcc\xdd\xee\xff\x11\x22\x33"
  17339			  "\xE9\xC0\xFF\x2E\x76\x0B\x64\x24",
  17340		.klen	= 8 + 48 + 8,
  17341		.iv	= "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
  17342		.assoc  = "\x00\x00\x43\x21\x00\x00\x00\x01"
  17343			  "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
  17344		.alen   = 16,
  17345		.ptext	= "\x6f\x54\x20\x6f\x61\x4d\x79\x6e"
  17346			  "\x53\x20\x63\x65\x65\x72\x73\x74"
  17347			  "\x54\x20\x6f\x6f\x4d\x20\x6e\x61"
  17348			  "\x20\x79\x65\x53\x72\x63\x74\x65"
  17349			  "\x20\x73\x6f\x54\x20\x6f\x61\x4d"
  17350			  "\x79\x6e\x53\x20\x63\x65\x65\x72"
  17351			  "\x73\x74\x54\x20\x6f\x6f\x4d\x20"
  17352			  "\x6e\x61\x20\x79\x65\x53\x72\x63"
  17353			  "\x74\x65\x20\x73\x6f\x54\x20\x6f"
  17354			  "\x61\x4d\x79\x6e\x53\x20\x63\x65"
  17355			  "\x65\x72\x73\x74\x54\x20\x6f\x6f"
  17356			  "\x4d\x20\x6e\x61\x20\x79\x65\x53"
  17357			  "\x72\x63\x74\x65\x20\x73\x6f\x54"
  17358			  "\x20\x6f\x61\x4d\x79\x6e\x53\x20"
  17359			  "\x63\x65\x65\x72\x73\x74\x54\x20"
  17360			  "\x6f\x6f\x4d\x20\x6e\x61\x0a\x79",
  17361		.plen	= 128,
  17362		.ctext	= "\x70\xd6\xde\x64\x87\x17\xf1\xe8"
  17363			  "\x54\x31\x85\x37\xed\x6b\x01\x8d"
  17364			  "\xe3\xcc\xe0\x1d\x5e\xf3\xfe\xf1"
  17365			  "\x41\xaa\x33\x91\xa7\x7d\x99\x88"
  17366			  "\x4d\x85\x6e\x2f\xa3\x69\xf5\x82"
  17367			  "\x3a\x6f\x25\xcb\x7d\x58\x1f\x9b"
  17368			  "\xaa\x9c\x11\xd5\x76\x67\xce\xde"
  17369			  "\x56\xd7\x5a\x80\x69\xea\x3a\x02"
  17370			  "\xf0\xc7\x7c\xe3\xcb\x40\xe5\x52"
  17371			  "\xd1\x10\x92\x78\x0b\x8e\x5b\xf1"
  17372			  "\xe3\x26\x1f\xe1\x15\x41\xc7\xba"
  17373			  "\x99\xdb\x08\x51\x1c\xd3\x01\xf4"
  17374			  "\x87\x47\x39\xb8\xd2\xdd\xbd\xfb"
  17375			  "\x66\x13\xdf\x1c\x01\x44\xf0\x7a"
  17376			  "\x1a\x6b\x13\xf5\xd5\x0b\xb8\xba"
  17377			  "\x53\xba\xe1\x76\xe3\x82\x07\x86"
  17378			  "\xa8\x8e\x9c\x74\x8c\x2b\x99\xa0"
  17379			  "\xc8\x8c\xef\x25\x07\x83\x11\x3a"
  17380			  "\x31\x8d\xbe\x3b\x6a\xd7\x96\xfe"
  17381			  "\x5e\x67\xb5\x74\xe7\xe7\x85\x61"
  17382			  "\x6a\x95\x26\x75\xcc\x53\x89\xf3"
  17383			  "\x74\xc9\x2a\x76\x20\xa2\x64\x62",
  17384		.clen	= 128 + 48,
  17385	},
  17386};
  17387
  17388static const struct aead_testvec hmac_sha512_des_cbc_tv_temp[] = {
  17389	{ /*Generated with cryptopp*/
  17390#ifdef __LITTLE_ENDIAN
  17391		.key    = "\x08\x00"		/* rta length */
  17392		  "\x01\x00"		/* rta type */
  17393#else
  17394		.key    = "\x00\x08"		/* rta length */
  17395			  "\x00\x01"		/* rta type */
  17396#endif
  17397			  "\x00\x00\x00\x08"	/* enc key length */
  17398		  "\x11\x22\x33\x44\x55\x66\x77\x88"
  17399			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  17400			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  17401			  "\xaa\xbb\xcc\xdd\xee\xff\x11\x22"
  17402			  "\x33\x44\x55\x66\x77\x88\x99\xaa"
  17403			  "\xbb\xcc\xdd\xee\xff\x11\x22\x33"
  17404			  "\x44\x55\x66\x77\x88\x99\xaa\xbb"
  17405			  "\xcc\xdd\xee\xff\x11\x22\x33\x44"
  17406			  "\xE9\xC0\xFF\x2E\x76\x0B\x64\x24",
  17407		.klen	= 8 + 64 + 8,
  17408		.iv	= "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
  17409		.assoc  = "\x00\x00\x43\x21\x00\x00\x00\x01"
  17410			  "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
  17411		.alen   = 16,
  17412		.ptext	= "\x6f\x54\x20\x6f\x61\x4d\x79\x6e"
  17413			  "\x53\x20\x63\x65\x65\x72\x73\x74"
  17414			  "\x54\x20\x6f\x6f\x4d\x20\x6e\x61"
  17415			  "\x20\x79\x65\x53\x72\x63\x74\x65"
  17416			  "\x20\x73\x6f\x54\x20\x6f\x61\x4d"
  17417			  "\x79\x6e\x53\x20\x63\x65\x65\x72"
  17418			  "\x73\x74\x54\x20\x6f\x6f\x4d\x20"
  17419			  "\x6e\x61\x20\x79\x65\x53\x72\x63"
  17420			  "\x74\x65\x20\x73\x6f\x54\x20\x6f"
  17421			  "\x61\x4d\x79\x6e\x53\x20\x63\x65"
  17422			  "\x65\x72\x73\x74\x54\x20\x6f\x6f"
  17423			  "\x4d\x20\x6e\x61\x20\x79\x65\x53"
  17424			  "\x72\x63\x74\x65\x20\x73\x6f\x54"
  17425			  "\x20\x6f\x61\x4d\x79\x6e\x53\x20"
  17426			  "\x63\x65\x65\x72\x73\x74\x54\x20"
  17427			  "\x6f\x6f\x4d\x20\x6e\x61\x0a\x79",
  17428		.plen	= 128,
  17429		.ctext	= "\x70\xd6\xde\x64\x87\x17\xf1\xe8"
  17430			  "\x54\x31\x85\x37\xed\x6b\x01\x8d"
  17431			  "\xe3\xcc\xe0\x1d\x5e\xf3\xfe\xf1"
  17432			  "\x41\xaa\x33\x91\xa7\x7d\x99\x88"
  17433			  "\x4d\x85\x6e\x2f\xa3\x69\xf5\x82"
  17434			  "\x3a\x6f\x25\xcb\x7d\x58\x1f\x9b"
  17435			  "\xaa\x9c\x11\xd5\x76\x67\xce\xde"
  17436		  "\x56\xd7\x5a\x80\x69\xea\x3a\x02"
  17437			  "\xf0\xc7\x7c\xe3\xcb\x40\xe5\x52"
  17438		  "\xd1\x10\x92\x78\x0b\x8e\x5b\xf1"
  17439			  "\xe3\x26\x1f\xe1\x15\x41\xc7\xba"
  17440			  "\x99\xdb\x08\x51\x1c\xd3\x01\xf4"
  17441			  "\x87\x47\x39\xb8\xd2\xdd\xbd\xfb"
  17442			  "\x66\x13\xdf\x1c\x01\x44\xf0\x7a"
  17443		  "\x1a\x6b\x13\xf5\xd5\x0b\xb8\xba"
  17444			  "\x53\xba\xe1\x76\xe3\x82\x07\x86"
  17445			  "\xc6\x2c\x73\x88\xb0\x9d\x5f\x3e"
  17446			  "\x5b\x78\xca\x0e\xab\x8a\xa3\xbb"
  17447			  "\xd9\x1d\xc3\xe3\x05\xac\x76\xfb"
  17448			  "\x58\x83\xda\x67\xfb\x21\x24\xa2"
  17449			  "\xb1\xa7\xd7\x66\xa6\x8d\xa6\x93"
  17450			  "\x97\xe2\xe3\xb8\xaa\x48\x85\xee"
  17451			  "\x8c\xf6\x07\x95\x1f\xa6\x6c\x96"
  17452			  "\x99\xc7\x5c\x8d\xd8\xb5\x68\x7b",
  17453		.clen	= 128 + 64,
  17454	},
  17455};
  17456
  17457static const struct aead_testvec hmac_sha1_des3_ede_cbc_tv_temp[] = {
  17458	{ /*Generated with cryptopp*/
  17459#ifdef __LITTLE_ENDIAN
  17460		.key    = "\x08\x00"		/* rta length */
  17461			  "\x01\x00"		/* rta type */
  17462#else
  17463		.key    = "\x00\x08"		/* rta length */
  17464			  "\x00\x01"		/* rta type */
  17465#endif
  17466			  "\x00\x00\x00\x18"	/* enc key length */
  17467			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  17468			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  17469			  "\x22\x33\x44\x55"
  17470		  "\xE9\xC0\xFF\x2E\x76\x0B\x64\x24"
  17471			  "\x44\x4D\x99\x5A\x12\xD6\x40\xC0"
  17472			  "\xEA\xC2\x84\xE8\x14\x95\xDB\xE8",
  17473		.klen	= 8 + 20 + 24,
  17474		.iv	= "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
  17475		.assoc  = "\x00\x00\x43\x21\x00\x00\x00\x01"
  17476			  "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
  17477		.alen   = 16,
  17478		.ptext	= "\x6f\x54\x20\x6f\x61\x4d\x79\x6e"
  17479			  "\x53\x20\x63\x65\x65\x72\x73\x74"
  17480		  "\x54\x20\x6f\x6f\x4d\x20\x6e\x61"
  17481			  "\x20\x79\x65\x53\x72\x63\x74\x65"
  17482			  "\x20\x73\x6f\x54\x20\x6f\x61\x4d"
  17483			  "\x79\x6e\x53\x20\x63\x65\x65\x72"
  17484			  "\x73\x74\x54\x20\x6f\x6f\x4d\x20"
  17485			  "\x6e\x61\x20\x79\x65\x53\x72\x63"
  17486			  "\x74\x65\x20\x73\x6f\x54\x20\x6f"
  17487			  "\x61\x4d\x79\x6e\x53\x20\x63\x65"
  17488			  "\x65\x72\x73\x74\x54\x20\x6f\x6f"
  17489			  "\x4d\x20\x6e\x61\x20\x79\x65\x53"
  17490			  "\x72\x63\x74\x65\x20\x73\x6f\x54"
  17491			  "\x20\x6f\x61\x4d\x79\x6e\x53\x20"
  17492			  "\x63\x65\x65\x72\x73\x74\x54\x20"
  17493			  "\x6f\x6f\x4d\x20\x6e\x61\x0a\x79",
  17494		.plen	= 128,
  17495		.ctext	= "\x0e\x2d\xb6\x97\x3c\x56\x33\xf4"
  17496			  "\x67\x17\x21\xc7\x6e\x8a\xd5\x49"
  17497		  "\x74\xb3\x49\x05\xc5\x1c\xd0\xed"
  17498		  "\x12\x56\x5c\x53\x96\xb6\x00\x7d"
  17499		  "\x90\x48\xfc\xf5\x8d\x29\x39\xcc"
  17500			  "\x8a\xd5\x35\x18\x36\x23\x4e\xd7"
  17501			  "\x76\xd1\xda\x0c\x94\x67\xbb\x04"
  17502			  "\x8b\xf2\x03\x6c\xa8\xcf\xb6\xea"
  17503		  "\x22\x64\x47\xaa\x8f\x75\x13\xbf"
  17504			  "\x9f\xc2\xc3\xf0\xc9\x56\xc5\x7a"
  17505			  "\x71\x63\x2e\x89\x7b\x1e\x12\xca"
  17506			  "\xe2\x5f\xaf\xd8\xa4\xf8\xc9\x7a"
  17507			  "\xd6\xf9\x21\x31\x62\x44\x45\xa6"
  17508			  "\xd6\xbc\x5a\xd3\x2d\x54\x43\xcc"
  17509			  "\x9d\xde\xa5\x70\xe9\x42\x45\x8a"
  17510			  "\x6b\xfa\xb1\x91\x13\xb0\xd9\x19"
  17511			  "\x67\x6d\xb1\xf5\xb8\x10\xdc\xc6"
  17512			  "\x75\x86\x96\x6b\xb1\xc5\xe4\xcf"
  17513			  "\xd1\x60\x91\xb3",
  17514			  .clen	= 128 + 20,
  17515	},
  17516};
  17517
  17518static const struct aead_testvec hmac_sha224_des3_ede_cbc_tv_temp[] = {
  17519	{ /*Generated with cryptopp*/
  17520#ifdef __LITTLE_ENDIAN
  17521		.key    = "\x08\x00"		/* rta length */
  17522			  "\x01\x00"		/* rta type */
  17523#else
  17524		.key    = "\x00\x08"		/* rta length */
  17525			  "\x00\x01"		/* rta type */
  17526#endif
  17527			  "\x00\x00\x00\x18"	/* enc key length */
  17528			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  17529			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  17530			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  17531			  "\xE9\xC0\xFF\x2E\x76\x0B\x64\x24"
  17532			  "\x44\x4D\x99\x5A\x12\xD6\x40\xC0"
  17533			  "\xEA\xC2\x84\xE8\x14\x95\xDB\xE8",
  17534		.klen	= 8 + 24 + 24,
  17535		.iv	= "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
  17536		.assoc  = "\x00\x00\x43\x21\x00\x00\x00\x01"
  17537			  "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
  17538		.alen   = 16,
  17539		.ptext	= "\x6f\x54\x20\x6f\x61\x4d\x79\x6e"
  17540			  "\x53\x20\x63\x65\x65\x72\x73\x74"
  17541			  "\x54\x20\x6f\x6f\x4d\x20\x6e\x61"
  17542			  "\x20\x79\x65\x53\x72\x63\x74\x65"
  17543			  "\x20\x73\x6f\x54\x20\x6f\x61\x4d"
  17544			  "\x79\x6e\x53\x20\x63\x65\x65\x72"
  17545			  "\x73\x74\x54\x20\x6f\x6f\x4d\x20"
  17546			  "\x6e\x61\x20\x79\x65\x53\x72\x63"
  17547			  "\x74\x65\x20\x73\x6f\x54\x20\x6f"
  17548			  "\x61\x4d\x79\x6e\x53\x20\x63\x65"
  17549			  "\x65\x72\x73\x74\x54\x20\x6f\x6f"
  17550			  "\x4d\x20\x6e\x61\x20\x79\x65\x53"
  17551		  "\x72\x63\x74\x65\x20\x73\x6f\x54"
  17552			  "\x20\x6f\x61\x4d\x79\x6e\x53\x20"
  17553			  "\x63\x65\x65\x72\x73\x74\x54\x20"
  17554			  "\x6f\x6f\x4d\x20\x6e\x61\x0a\x79",
  17555		.plen	= 128,
  17556		.ctext	= "\x0e\x2d\xb6\x97\x3c\x56\x33\xf4"
  17557		  "\x67\x17\x21\xc7\x6e\x8a\xd5\x49"
  17558			  "\x74\xb3\x49\x05\xc5\x1c\xd0\xed"
  17559			  "\x12\x56\x5c\x53\x96\xb6\x00\x7d"
  17560			  "\x90\x48\xfc\xf5\x8d\x29\x39\xcc"
  17561			  "\x8a\xd5\x35\x18\x36\x23\x4e\xd7"
  17562			  "\x76\xd1\xda\x0c\x94\x67\xbb\x04"
  17563		  "\x8b\xf2\x03\x6c\xa8\xcf\xb6\xea"
  17564			  "\x22\x64\x47\xaa\x8f\x75\x13\xbf"
  17565			  "\x9f\xc2\xc3\xf0\xc9\x56\xc5\x7a"
  17566			  "\x71\x63\x2e\x89\x7b\x1e\x12\xca"
  17567			  "\xe2\x5f\xaf\xd8\xa4\xf8\xc9\x7a"
  17568			  "\xd6\xf9\x21\x31\x62\x44\x45\xa6"
  17569		  "\xd6\xbc\x5a\xd3\x2d\x54\x43\xcc"
  17570			  "\x9d\xde\xa5\x70\xe9\x42\x45\x8a"
  17571		  "\x6b\xfa\xb1\x91\x13\xb0\xd9\x19"
  17572			  "\x15\x24\x7f\x5a\x45\x4a\x66\xce"
  17573			  "\x2b\x0b\x93\x99\x2f\x9d\x0c\x6c"
  17574			  "\x56\x1f\xe1\xa6\x41\xb2\x4c\xd0",
  17575			  .clen	= 128 + 24,
  17576	},
  17577};
  17578
  17579static const struct aead_testvec hmac_sha256_des3_ede_cbc_tv_temp[] = {
  17580	{ /*Generated with cryptopp*/
  17581#ifdef __LITTLE_ENDIAN
  17582		.key    = "\x08\x00"		/* rta length */
  17583			  "\x01\x00"		/* rta type */
  17584#else
  17585		.key    = "\x00\x08"		/* rta length */
  17586			  "\x00\x01"		/* rta type */
  17587#endif
  17588			  "\x00\x00\x00\x18"	/* enc key length */
  17589			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  17590			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  17591			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  17592			  "\xaa\xbb\xcc\xdd\xee\xff\x11\x22"
  17593			  "\xE9\xC0\xFF\x2E\x76\x0B\x64\x24"
  17594			  "\x44\x4D\x99\x5A\x12\xD6\x40\xC0"
  17595			  "\xEA\xC2\x84\xE8\x14\x95\xDB\xE8",
  17596		.klen	= 8 + 32 + 24,
  17597		.iv	= "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
  17598		.assoc  = "\x00\x00\x43\x21\x00\x00\x00\x01"
  17599			  "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
  17600		.alen   = 16,
  17601		.ptext	= "\x6f\x54\x20\x6f\x61\x4d\x79\x6e"
  17602			  "\x53\x20\x63\x65\x65\x72\x73\x74"
  17603			  "\x54\x20\x6f\x6f\x4d\x20\x6e\x61"
  17604			  "\x20\x79\x65\x53\x72\x63\x74\x65"
  17605			  "\x20\x73\x6f\x54\x20\x6f\x61\x4d"
  17606			  "\x79\x6e\x53\x20\x63\x65\x65\x72"
  17607			  "\x73\x74\x54\x20\x6f\x6f\x4d\x20"
  17608			  "\x6e\x61\x20\x79\x65\x53\x72\x63"
  17609			  "\x74\x65\x20\x73\x6f\x54\x20\x6f"
  17610			  "\x61\x4d\x79\x6e\x53\x20\x63\x65"
  17611			  "\x65\x72\x73\x74\x54\x20\x6f\x6f"
  17612			  "\x4d\x20\x6e\x61\x20\x79\x65\x53"
  17613			  "\x72\x63\x74\x65\x20\x73\x6f\x54"
  17614			  "\x20\x6f\x61\x4d\x79\x6e\x53\x20"
  17615			  "\x63\x65\x65\x72\x73\x74\x54\x20"
  17616			  "\x6f\x6f\x4d\x20\x6e\x61\x0a\x79",
  17617		.plen	= 128,
  17618		.ctext	= "\x0e\x2d\xb6\x97\x3c\x56\x33\xf4"
  17619			  "\x67\x17\x21\xc7\x6e\x8a\xd5\x49"
  17620			  "\x74\xb3\x49\x05\xc5\x1c\xd0\xed"
  17621			  "\x12\x56\x5c\x53\x96\xb6\x00\x7d"
  17622			  "\x90\x48\xfc\xf5\x8d\x29\x39\xcc"
  17623			  "\x8a\xd5\x35\x18\x36\x23\x4e\xd7"
  17624			  "\x76\xd1\xda\x0c\x94\x67\xbb\x04"
  17625			  "\x8b\xf2\x03\x6c\xa8\xcf\xb6\xea"
  17626			  "\x22\x64\x47\xaa\x8f\x75\x13\xbf"
  17627			  "\x9f\xc2\xc3\xf0\xc9\x56\xc5\x7a"
  17628			  "\x71\x63\x2e\x89\x7b\x1e\x12\xca"
  17629			  "\xe2\x5f\xaf\xd8\xa4\xf8\xc9\x7a"
  17630			  "\xd6\xf9\x21\x31\x62\x44\x45\xa6"
  17631			  "\xd6\xbc\x5a\xd3\x2d\x54\x43\xcc"
  17632			  "\x9d\xde\xa5\x70\xe9\x42\x45\x8a"
  17633			  "\x6b\xfa\xb1\x91\x13\xb0\xd9\x19"
  17634			  "\x73\xb0\xea\x9f\xe8\x18\x80\xd6"
  17635			  "\x56\x38\x44\xc0\xdb\xe3\x4f\x71"
  17636			  "\xf7\xce\xd1\xd3\xf8\xbd\x3e\x4f"
  17637			  "\xca\x43\x95\xdf\x80\x61\x81\xa9",
  17638		.clen	= 128 + 32,
  17639	},
  17640};
  17641
  17642static const struct aead_testvec hmac_sha384_des3_ede_cbc_tv_temp[] = {
  17643	{ /*Generated with cryptopp*/
  17644#ifdef __LITTLE_ENDIAN
  17645		.key    = "\x08\x00"		/* rta length */
  17646			  "\x01\x00"		/* rta type */
  17647#else
  17648		.key    = "\x00\x08"		/* rta length */
  17649			  "\x00\x01"		/* rta type */
  17650#endif
  17651			  "\x00\x00\x00\x18"	/* enc key length */
  17652			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  17653			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  17654			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  17655			  "\xaa\xbb\xcc\xdd\xee\xff\x11\x22"
  17656			  "\x33\x44\x55\x66\x77\x88\x99\xaa"
  17657			  "\xbb\xcc\xdd\xee\xff\x11\x22\x33"
  17658			  "\xE9\xC0\xFF\x2E\x76\x0B\x64\x24"
  17659			  "\x44\x4D\x99\x5A\x12\xD6\x40\xC0"
  17660			  "\xEA\xC2\x84\xE8\x14\x95\xDB\xE8",
  17661		.klen	= 8 + 48 + 24,
  17662		.iv	= "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
  17663		.assoc  = "\x00\x00\x43\x21\x00\x00\x00\x01"
  17664			  "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
  17665		.alen   = 16,
  17666		.ptext	= "\x6f\x54\x20\x6f\x61\x4d\x79\x6e"
  17667			  "\x53\x20\x63\x65\x65\x72\x73\x74"
  17668			  "\x54\x20\x6f\x6f\x4d\x20\x6e\x61"
  17669			  "\x20\x79\x65\x53\x72\x63\x74\x65"
  17670			  "\x20\x73\x6f\x54\x20\x6f\x61\x4d"
  17671			  "\x79\x6e\x53\x20\x63\x65\x65\x72"
  17672			  "\x73\x74\x54\x20\x6f\x6f\x4d\x20"
  17673			  "\x6e\x61\x20\x79\x65\x53\x72\x63"
  17674			  "\x74\x65\x20\x73\x6f\x54\x20\x6f"
  17675			  "\x61\x4d\x79\x6e\x53\x20\x63\x65"
  17676			  "\x65\x72\x73\x74\x54\x20\x6f\x6f"
  17677			  "\x4d\x20\x6e\x61\x20\x79\x65\x53"
  17678			  "\x72\x63\x74\x65\x20\x73\x6f\x54"
  17679			  "\x20\x6f\x61\x4d\x79\x6e\x53\x20"
  17680			  "\x63\x65\x65\x72\x73\x74\x54\x20"
  17681			  "\x6f\x6f\x4d\x20\x6e\x61\x0a\x79",
  17682		.plen	= 128,
  17683		.ctext	= "\x0e\x2d\xb6\x97\x3c\x56\x33\xf4"
  17684			  "\x67\x17\x21\xc7\x6e\x8a\xd5\x49"
  17685			  "\x74\xb3\x49\x05\xc5\x1c\xd0\xed"
  17686			  "\x12\x56\x5c\x53\x96\xb6\x00\x7d"
  17687			  "\x90\x48\xfc\xf5\x8d\x29\x39\xcc"
  17688			  "\x8a\xd5\x35\x18\x36\x23\x4e\xd7"
  17689			  "\x76\xd1\xda\x0c\x94\x67\xbb\x04"
  17690			  "\x8b\xf2\x03\x6c\xa8\xcf\xb6\xea"
  17691			  "\x22\x64\x47\xaa\x8f\x75\x13\xbf"
  17692			  "\x9f\xc2\xc3\xf0\xc9\x56\xc5\x7a"
  17693			  "\x71\x63\x2e\x89\x7b\x1e\x12\xca"
  17694			  "\xe2\x5f\xaf\xd8\xa4\xf8\xc9\x7a"
  17695			  "\xd6\xf9\x21\x31\x62\x44\x45\xa6"
  17696			  "\xd6\xbc\x5a\xd3\x2d\x54\x43\xcc"
  17697			  "\x9d\xde\xa5\x70\xe9\x42\x45\x8a"
  17698			  "\x6b\xfa\xb1\x91\x13\xb0\xd9\x19"
  17699			  "\x6d\x77\xfc\x80\x9d\x8a\x9c\xb7"
  17700		  "\x70\xe7\x93\xbf\x73\xe6\x9f\x83"
  17701			  "\x99\x62\x23\xe6\x5b\xd0\xda\x18"
  17702			  "\xa4\x32\x8a\x0b\x46\xd7\xf0\x39"
  17703			  "\x36\x5d\x13\x2f\x86\x10\x78\xd6"
  17704			  "\xd6\xbe\x5c\xb9\x15\x89\xf9\x1b",
  17705		.clen	= 128 + 48,
  17706	},
  17707};
  17708
  17709static const struct aead_testvec hmac_sha512_des3_ede_cbc_tv_temp[] = {
  17710	{ /*Generated with cryptopp*/
  17711#ifdef __LITTLE_ENDIAN
  17712		.key    = "\x08\x00"		/* rta length */
  17713			  "\x01\x00"		/* rta type */
  17714#else
  17715		.key    = "\x00\x08"		/* rta length */
  17716			  "\x00\x01"		/* rta type */
  17717#endif
  17718			  "\x00\x00\x00\x18"	/* enc key length */
  17719			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  17720			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  17721			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  17722			  "\xaa\xbb\xcc\xdd\xee\xff\x11\x22"
  17723			  "\x33\x44\x55\x66\x77\x88\x99\xaa"
  17724			  "\xbb\xcc\xdd\xee\xff\x11\x22\x33"
  17725			  "\x44\x55\x66\x77\x88\x99\xaa\xbb"
  17726			  "\xcc\xdd\xee\xff\x11\x22\x33\x44"
  17727			  "\xE9\xC0\xFF\x2E\x76\x0B\x64\x24"
  17728		  "\x44\x4D\x99\x5A\x12\xD6\x40\xC0"
  17729			  "\xEA\xC2\x84\xE8\x14\x95\xDB\xE8",
  17730		.klen	= 8 + 64 + 24,
  17731		.iv	= "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
  17732		.assoc  = "\x00\x00\x43\x21\x00\x00\x00\x01"
  17733			  "\x7D\x33\x88\x93\x0F\x93\xB2\x42",
  17734		.alen   = 16,
  17735		.ptext	= "\x6f\x54\x20\x6f\x61\x4d\x79\x6e"
  17736			  "\x53\x20\x63\x65\x65\x72\x73\x74"
  17737			  "\x54\x20\x6f\x6f\x4d\x20\x6e\x61"
  17738			  "\x20\x79\x65\x53\x72\x63\x74\x65"
  17739			  "\x20\x73\x6f\x54\x20\x6f\x61\x4d"
  17740			  "\x79\x6e\x53\x20\x63\x65\x65\x72"
  17741			  "\x73\x74\x54\x20\x6f\x6f\x4d\x20"
  17742			  "\x6e\x61\x20\x79\x65\x53\x72\x63"
  17743		  "\x74\x65\x20\x73\x6f\x54\x20\x6f"
  17744			  "\x61\x4d\x79\x6e\x53\x20\x63\x65"
  17745			  "\x65\x72\x73\x74\x54\x20\x6f\x6f"
  17746			  "\x4d\x20\x6e\x61\x20\x79\x65\x53"
  17747			  "\x72\x63\x74\x65\x20\x73\x6f\x54"
  17748			  "\x20\x6f\x61\x4d\x79\x6e\x53\x20"
  17749			  "\x63\x65\x65\x72\x73\x74\x54\x20"
  17750			  "\x6f\x6f\x4d\x20\x6e\x61\x0a\x79",
  17751		.plen	= 128,
  17752		.ctext	= "\x0e\x2d\xb6\x97\x3c\x56\x33\xf4"
  17753			  "\x67\x17\x21\xc7\x6e\x8a\xd5\x49"
  17754			  "\x74\xb3\x49\x05\xc5\x1c\xd0\xed"
  17755			  "\x12\x56\x5c\x53\x96\xb6\x00\x7d"
  17756			  "\x90\x48\xfc\xf5\x8d\x29\x39\xcc"
  17757			  "\x8a\xd5\x35\x18\x36\x23\x4e\xd7"
  17758			  "\x76\xd1\xda\x0c\x94\x67\xbb\x04"
  17759			  "\x8b\xf2\x03\x6c\xa8\xcf\xb6\xea"
  17760			  "\x22\x64\x47\xaa\x8f\x75\x13\xbf"
  17761			  "\x9f\xc2\xc3\xf0\xc9\x56\xc5\x7a"
  17762			  "\x71\x63\x2e\x89\x7b\x1e\x12\xca"
  17763			  "\xe2\x5f\xaf\xd8\xa4\xf8\xc9\x7a"
  17764			  "\xd6\xf9\x21\x31\x62\x44\x45\xa6"
  17765			  "\xd6\xbc\x5a\xd3\x2d\x54\x43\xcc"
  17766			  "\x9d\xde\xa5\x70\xe9\x42\x45\x8a"
  17767			  "\x6b\xfa\xb1\x91\x13\xb0\xd9\x19"
  17768			  "\x41\xb5\x1f\xbb\xbd\x4e\xb8\x32"
  17769			  "\x22\x86\x4e\x57\x1b\x2a\xd8\x6e"
  17770			  "\xa9\xfb\xc8\xf3\xbf\x2d\xae\x2b"
  17771			  "\x3b\xbc\x41\xe8\x38\xbb\xf1\x60"
  17772			  "\x4c\x68\xa9\x4e\x8c\x73\xa7\xc0"
  17773			  "\x2a\x74\xd4\x65\x12\xcb\x55\xf2"
  17774			  "\xd5\x02\x6d\xe6\xaf\xc9\x2f\xf2"
  17775			  "\x57\xaa\x85\xf7\xf3\x6a\xcb\xdb",
  17776		.clen	= 128 + 64,
  17777	},
  17778};
  17779
  17780static const struct cipher_testvec aes_lrw_tv_template[] = {
  17781	/* from http://grouper.ieee.org/groups/1619/email/pdf00017.pdf */
  17782	{ /* LRW-32-AES 1 */
  17783		.key    = "\x45\x62\xac\x25\xf8\x28\x17\x6d"
  17784			  "\x4c\x26\x84\x14\xb5\x68\x01\x85"
  17785			  "\x25\x8e\x2a\x05\xe7\x3e\x9d\x03"
  17786			  "\xee\x5a\x83\x0c\xcc\x09\x4c\x87",
  17787		.klen   = 32,
  17788		.iv     = "\x00\x00\x00\x00\x00\x00\x00\x00"
  17789			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  17790		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  17791			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  17792		.ctext	= "\xf1\xb2\x73\xcd\x65\xa3\xdf\x5f"
  17793			  "\xe9\x5d\x48\x92\x54\x63\x4e\xb8",
  17794		.len	= 16,
  17795	}, { /* LRW-32-AES 2 */
  17796		.key    = "\x59\x70\x47\x14\xf5\x57\x47\x8c"
  17797			  "\xd7\x79\xe8\x0f\x54\x88\x79\x44"
  17798			  "\x0d\x48\xf0\xb7\xb1\x5a\x53\xea"
  17799			  "\x1c\xaa\x6b\x29\xc2\xca\xfb\xaf",
  17800		.klen   = 32,
  17801		.iv     = "\x00\x00\x00\x00\x00\x00\x00\x00"
  17802			  "\x00\x00\x00\x00\x00\x00\x00\x02",
  17803		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  17804			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  17805		.ctext	= "\x00\xc8\x2b\xae\x95\xbb\xcd\xe5"
  17806			  "\x27\x4f\x07\x69\xb2\x60\xe1\x36",
  17807		.len	= 16,
  17808	}, { /* LRW-32-AES 3 */
  17809		.key    = "\xd8\x2a\x91\x34\xb2\x6a\x56\x50"
  17810			  "\x30\xfe\x69\xe2\x37\x7f\x98\x47"
  17811			  "\xcd\xf9\x0b\x16\x0c\x64\x8f\xb6"
  17812			  "\xb0\x0d\x0d\x1b\xae\x85\x87\x1f",
  17813		.klen   = 32,
  17814		.iv     = "\x00\x00\x00\x00\x00\x00\x00\x00"
  17815			  "\x00\x00\x00\x02\x00\x00\x00\x00",
  17816		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  17817			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  17818		.ctext	= "\x76\x32\x21\x83\xed\x8f\xf1\x82"
  17819			  "\xf9\x59\x62\x03\x69\x0e\x5e\x01",
  17820		.len	= 16,
  17821	}, { /* LRW-32-AES 4 */
  17822		.key    = "\x0f\x6a\xef\xf8\xd3\xd2\xbb\x15"
  17823			  "\x25\x83\xf7\x3c\x1f\x01\x28\x74"
  17824			  "\xca\xc6\xbc\x35\x4d\x4a\x65\x54"
  17825			  "\x90\xae\x61\xcf\x7b\xae\xbd\xcc"
  17826			  "\xad\xe4\x94\xc5\x4a\x29\xae\x70",
  17827		.klen   = 40,
  17828		.iv     = "\x00\x00\x00\x00\x00\x00\x00\x00"
  17829			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  17830		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  17831			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  17832		.ctext	= "\x9c\x0f\x15\x2f\x55\xa2\xd8\xf0"
  17833			  "\xd6\x7b\x8f\x9e\x28\x22\xbc\x41",
  17834		.len	= 16,
  17835	}, { /* LRW-32-AES 5 */
  17836		.key    = "\x8a\xd4\xee\x10\x2f\xbd\x81\xff"
  17837			  "\xf8\x86\xce\xac\x93\xc5\xad\xc6"
  17838			  "\xa0\x19\x07\xc0\x9d\xf7\xbb\xdd"
  17839			  "\x52\x13\xb2\xb7\xf0\xff\x11\xd8"
  17840			  "\xd6\x08\xd0\xcd\x2e\xb1\x17\x6f",
  17841		.klen   = 40,
  17842		.iv     = "\x00\x00\x00\x00\x00\x00\x00\x00"
  17843			  "\x00\x00\x00\x02\x00\x00\x00\x00",
  17844		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  17845			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  17846		.ctext	= "\xd4\x27\x6a\x7f\x14\x91\x3d\x65"
  17847			  "\xc8\x60\x48\x02\x87\xe3\x34\x06",
  17848		.len	= 16,
  17849	}, { /* LRW-32-AES 6 */
  17850		.key    = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c"
  17851			  "\x23\x84\xcb\x1c\x77\xd6\x19\x5d"
  17852			  "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21"
  17853			  "\xa7\x9c\x21\xf8\xcb\x90\x02\x89"
  17854			  "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1"
  17855			  "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e",
  17856		.klen   = 48,
  17857		.iv     = "\x00\x00\x00\x00\x00\x00\x00\x00"
  17858			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  17859		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  17860			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  17861		.ctext	= "\xbd\x06\xb8\xe1\xdb\x98\x89\x9e"
  17862			  "\xc4\x98\xe4\x91\xcf\x1c\x70\x2b",
  17863		.len	= 16,
  17864	}, { /* LRW-32-AES 7 */
  17865		.key    = "\xfb\x76\x15\xb2\x3d\x80\x89\x1d"
  17866			  "\xd4\x70\x98\x0b\xc7\x95\x84\xc8"
  17867			  "\xb2\xfb\x64\xce\x60\x97\x87\x8d"
  17868			  "\x17\xfc\xe4\x5a\x49\xe8\x30\xb7"
  17869			  "\x6e\x78\x17\xe7\x2d\x5e\x12\xd4"
  17870			  "\x60\x64\x04\x7a\xf1\x2f\x9e\x0c",
  17871		.klen   = 48,
  17872		.iv     = "\x00\x00\x00\x00\x00\x00\x00\x00"
  17873			  "\x00\x00\x00\x02\x00\x00\x00\x00",
  17874		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  17875			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  17876		.ctext	= "\x5b\x90\x8e\xc1\xab\xdd\x67\x5f"
  17877			  "\x3d\x69\x8a\x95\x53\xc8\x9c\xe5",
  17878		.len	= 16,
  17879	}, { /* Test counter wrap-around, modified from LRW-32-AES 1 */
  17880		.key    = "\x45\x62\xac\x25\xf8\x28\x17\x6d"
  17881			  "\x4c\x26\x84\x14\xb5\x68\x01\x85"
  17882			  "\x25\x8e\x2a\x05\xe7\x3e\x9d\x03"
  17883			  "\xee\x5a\x83\x0c\xcc\x09\x4c\x87",
  17884		.klen   = 32,
  17885		.iv     = "\xff\xff\xff\xff\xff\xff\xff\xff"
  17886			  "\xff\xff\xff\xff\xff\xff\xff\xff",
  17887		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  17888			  "\x38\x39\x41\x42\x43\x44\x45\x46"
  17889			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  17890			  "\x38\x39\x41\x42\x43\x44\x45\x46"
  17891			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  17892			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  17893		.ctext	= "\x47\x90\x50\xf6\xf4\x8d\x5c\x7f"
  17894			  "\x84\xc7\x83\x95\x2d\xa2\x02\xc0"
  17895			  "\xda\x7f\xa3\xc0\x88\x2a\x0a\x50"
  17896			  "\xfb\xc1\x78\x03\x39\xfe\x1d\xe5"
  17897			  "\xf1\xb2\x73\xcd\x65\xa3\xdf\x5f"
  17898			  "\xe9\x5d\x48\x92\x54\x63\x4e\xb8",
  17899		.len	= 48,
  17900	}, {
  17901/* http://www.mail-archive.com/stds-p1619@listserv.ieee.org/msg00173.html */
  17902		.key    = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c"
  17903			  "\x23\x84\xcb\x1c\x77\xd6\x19\x5d"
  17904			  "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21"
  17905			  "\xa7\x9c\x21\xf8\xcb\x90\x02\x89"
  17906			  "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1"
  17907			  "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e",
  17908		.klen   = 48,
  17909		.iv     = "\x00\x00\x00\x00\x00\x00\x00\x00"
  17910			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  17911		.ptext	= "\x05\x11\xb7\x18\xab\xc6\x2d\xac"
  17912			  "\x70\x5d\xf6\x22\x94\xcd\xe5\x6c"
  17913			  "\x17\x6b\xf6\x1c\xf0\xf3\x6e\xf8"
  17914			  "\x50\x38\x1f\x71\x49\xb6\x57\xd6"
  17915			  "\x8f\xcb\x8d\x6b\xe3\xa6\x29\x90"
  17916			  "\xfe\x2a\x62\x82\xae\x6d\x8b\xf6"
  17917			  "\xad\x1e\x9e\x20\x5f\x38\xbe\x04"
  17918			  "\xda\x10\x8e\xed\xa2\xa4\x87\xab"
  17919			  "\xda\x6b\xb4\x0c\x75\xba\xd3\x7c"
  17920			  "\xc9\xac\x42\x31\x95\x7c\xc9\x04"
  17921			  "\xeb\xd5\x6e\x32\x69\x8a\xdb\xa6"
  17922			  "\x15\xd7\x3f\x4f\x2f\x66\x69\x03"
  17923			  "\x9c\x1f\x54\x0f\xde\x1f\xf3\x65"
  17924			  "\x4c\x96\x12\xed\x7c\x92\x03\x01"
  17925			  "\x6f\xbc\x35\x93\xac\xf1\x27\xf1"
  17926			  "\xb4\x96\x82\x5a\x5f\xb0\xa0\x50"
  17927			  "\x89\xa4\x8e\x66\x44\x85\xcc\xfd"
  17928			  "\x33\x14\x70\xe3\x96\xb2\xc3\xd3"
  17929			  "\xbb\x54\x5a\x1a\xf9\x74\xa2\xc5"
  17930			  "\x2d\x64\x75\xdd\xb4\x54\xe6\x74"
  17931			  "\x8c\xd3\x9d\x9e\x86\xab\x51\x53"
  17932			  "\xb7\x93\x3e\x6f\xd0\x4e\x2c\x40"
  17933			  "\xf6\xa8\x2e\x3e\x9d\xf4\x66\xa5"
  17934			  "\x76\x12\x73\x44\x1a\x56\xd7\x72"
  17935			  "\x88\xcd\x21\x8c\x4c\x0f\xfe\xda"
  17936			  "\x95\xe0\x3a\xa6\xa5\x84\x46\xcd"
  17937			  "\xd5\x3e\x9d\x3a\xe2\x67\xe6\x60"
  17938			  "\x1a\xe2\x70\x85\x58\xc2\x1b\x09"
  17939			  "\xe1\xd7\x2c\xca\xad\xa8\x8f\xf9"
  17940			  "\xac\xb3\x0e\xdb\xca\x2e\xe2\xb8"
  17941			  "\x51\x71\xd9\x3c\x6c\xf1\x56\xf8"
  17942			  "\xea\x9c\xf1\xfb\x0c\xe6\xb7\x10"
  17943			  "\x1c\xf8\xa9\x7c\xe8\x53\x35\xc1"
  17944			  "\x90\x3e\x76\x4a\x74\xa4\x21\x2c"
  17945			  "\xf6\x2c\x4e\x0f\x94\x3a\x88\x2e"
  17946			  "\x41\x09\x6a\x33\x7d\xf6\xdd\x3f"
  17947			  "\x8d\x23\x31\x74\x84\xeb\x88\x6e"
  17948			  "\xcc\xb9\xbc\x22\x83\x19\x07\x22"
  17949			  "\xa5\x2d\xdf\xa5\xf3\x80\x85\x78"
  17950			  "\x84\x39\x6a\x6d\x6a\x99\x4f\xa5"
  17951			  "\x15\xfe\x46\xb0\xe4\x6c\xa5\x41"
  17952			  "\x3c\xce\x8f\x42\x60\x71\xa7\x75"
  17953			  "\x08\x40\x65\x8a\x82\xbf\xf5\x43"
  17954			  "\x71\x96\xa9\x4d\x44\x8a\x20\xbe"
  17955			  "\xfa\x4d\xbb\xc0\x7d\x31\x96\x65"
  17956			  "\xe7\x75\xe5\x3e\xfd\x92\x3b\xc9"
  17957			  "\x55\xbb\x16\x7e\xf7\xc2\x8c\xa4"
  17958			  "\x40\x1d\xe5\xef\x0e\xdf\xe4\x9a"
  17959			  "\x62\x73\x65\xfd\x46\x63\x25\x3d"
  17960			  "\x2b\xaf\xe5\x64\xfe\xa5\x5c\xcf"
  17961			  "\x24\xf3\xb4\xac\x64\xba\xdf\x4b"
  17962			  "\xc6\x96\x7d\x81\x2d\x8d\x97\xf7"
  17963			  "\xc5\x68\x77\x84\x32\x2b\xcc\x85"
  17964			  "\x74\x96\xf0\x12\x77\x61\xb9\xeb"
  17965			  "\x71\xaa\x82\xcb\x1c\xdb\x89\xc8"
  17966			  "\xc6\xb5\xe3\x5c\x7d\x39\x07\x24"
  17967			  "\xda\x39\x87\x45\xc0\x2b\xbb\x01"
  17968			  "\xac\xbc\x2a\x5c\x7f\xfc\xe8\xce"
  17969			  "\x6d\x9c\x6f\xed\xd3\xc1\xa1\xd6"
  17970			  "\xc5\x55\xa9\x66\x2f\xe1\xc8\x32"
  17971			  "\xa6\x5d\xa4\x3a\x98\x73\xe8\x45"
  17972			  "\xa4\xc7\xa8\xb4\xf6\x13\x03\xf6"
  17973			  "\xe9\x2e\xc4\x29\x0f\x84\xdb\xc4"
  17974			  "\x21\xc4\xc2\x75\x67\x89\x37\x0a",
  17975		.ctext	= "\x1a\x1d\xa9\x30\xad\xf9\x2f\x9b"
  17976			  "\xb6\x1d\xae\xef\xf0\x2f\xf8\x5a"
  17977			  "\x39\x3c\xbf\x2a\xb2\x45\xb2\x23"
  17978			  "\x1b\x63\x3c\xcf\xaa\xbe\xcf\x4e"
  17979			  "\xfa\xe8\x29\xc2\x20\x68\x2b\x3c"
  17980			  "\x2e\x8b\xf7\x6e\x25\xbd\xe3\x3d"
  17981			  "\x66\x27\xd6\xaf\xd6\x64\x3e\xe3"
  17982			  "\xe8\x58\x46\x97\x39\x51\x07\xde"
  17983			  "\xcb\x37\xbc\xa9\xc0\x5f\x75\xc3"
  17984			  "\x0e\x84\x23\x1d\x16\xd4\x1c\x59"
  17985			  "\x9c\x1a\x02\x55\xab\x3a\x97\x1d"
  17986			  "\xdf\xdd\xc7\x06\x51\xd7\x70\xae"
  17987			  "\x23\xc6\x8c\xf5\x1e\xa0\xe5\x82"
  17988			  "\xb8\xb2\xbf\x04\xa0\x32\x8e\x68"
  17989			  "\xeb\xaf\x6e\x2d\x94\x22\x2f\xce"
  17990			  "\x4c\xb5\x59\xe2\xa2\x2f\xa0\x98"
  17991			  "\x1a\x97\xc6\xd4\xb5\x00\x59\xf2"
  17992			  "\x84\x14\x72\xb1\x9a\x6e\xa3\x7f"
  17993			  "\xea\x20\xe7\xcb\x65\x77\x3a\xdf"
  17994			  "\xc8\x97\x67\x15\xc2\x2a\x27\xcc"
  17995			  "\x18\x55\xa1\x24\x0b\x24\x24\xaf"
  17996			  "\x5b\xec\x68\xb8\xc8\xf5\xba\x63"
  17997			  "\xff\xed\x89\xce\xd5\x3d\x88\xf3"
  17998			  "\x25\xef\x05\x7c\x3a\xef\xeb\xd8"
  17999			  "\x7a\x32\x0d\xd1\x1e\x58\x59\x99"
  18000			  "\x90\x25\xb5\x26\xb0\xe3\x2b\x6c"
  18001			  "\x4c\xa9\x8b\x84\x4f\x5e\x01\x50"
  18002			  "\x41\x30\x58\xc5\x62\x74\x52\x1d"
  18003			  "\x45\x24\x6a\x42\x64\x4f\x97\x1c"
  18004			  "\xa8\x66\xb5\x6d\x79\xd4\x0d\x48"
  18005			  "\xc5\x5f\xf3\x90\x32\xdd\xdd\xe1"
  18006			  "\xe4\xa9\x9f\xfc\xc3\x52\x5a\x46"
  18007			  "\xe4\x81\x84\x95\x36\x59\x7a\x6b"
  18008			  "\xaa\xb3\x60\xad\xce\x9f\x9f\x28"
  18009			  "\xe0\x01\x75\x22\xc4\x4e\xa9\x62"
  18010			  "\x5c\x62\x0d\x00\xcb\x13\xe8\x43"
  18011			  "\x72\xd4\x2d\x53\x46\xb5\xd1\x16"
  18012			  "\x22\x18\xdf\x34\x33\xf5\xd6\x1c"
  18013			  "\xb8\x79\x78\x97\x94\xff\x72\x13"
  18014			  "\x4c\x27\xfc\xcb\xbf\x01\x53\xa6"
  18015			  "\xb4\x50\x6e\xde\xdf\xb5\x43\xa4"
  18016			  "\x59\xdf\x52\xf9\x7c\xe0\x11\x6f"
  18017			  "\x2d\x14\x8e\x24\x61\x2c\xe1\x17"
  18018			  "\xcc\xce\x51\x0c\x19\x8a\x82\x30"
  18019			  "\x94\xd5\x3d\x6a\x53\x06\x5e\xbd"
  18020			  "\xb7\xeb\xfa\xfd\x27\x51\xde\x85"
  18021			  "\x1e\x86\x53\x11\x53\x94\x00\xee"
  18022			  "\x2b\x8c\x08\x2a\xbf\xdd\xae\x11"
  18023			  "\xcb\x1e\xa2\x07\x9a\x80\xcf\x62"
  18024			  "\x9b\x09\xdc\x95\x3c\x96\x8e\xb1"
  18025			  "\x09\xbd\xe4\xeb\xdb\xca\x70\x7a"
  18026			  "\x9e\xfa\x31\x18\x45\x3c\x21\x33"
  18027			  "\xb0\xb3\x2b\xea\xf3\x71\x2d\xe1"
  18028			  "\x03\xad\x1b\x48\xd4\x67\x27\xf0"
  18029			  "\x62\xe4\x3d\xfb\x9b\x08\x76\xe7"
  18030			  "\xdd\x2b\x01\x39\x04\x5a\x58\x7a"
  18031			  "\xf7\x11\x90\xec\xbd\x51\x5c\x32"
  18032			  "\x6b\xd7\x35\x39\x02\x6b\xf2\xa6"
  18033			  "\xd0\x0d\x07\xe1\x06\xc4\x5b\x7d"
  18034			  "\xe4\x6a\xd7\xee\x15\x1f\x83\xb4"
  18035			  "\xa3\xa7\x5e\xc3\x90\xb7\xef\xd3"
  18036			  "\xb7\x4f\xf8\x92\x4c\xb7\x3c\x29"
  18037			  "\xcd\x7e\x2b\x5d\x43\xea\x42\xe7"
  18038			  "\x74\x3f\x7d\x58\x88\x75\xde\x3e",
  18039		.len	= 512,
  18040	}
  18041};
  18042
  18043static const struct cipher_testvec aes_xts_tv_template[] = {
  18044	/* http://grouper.ieee.org/groups/1619/email/pdf00086.pdf */
  18045	{ /* XTS-AES 1 */
  18046		.key    = "\x00\x00\x00\x00\x00\x00\x00\x00"
  18047			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  18048			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  18049			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  18050		.klen   = 32,
  18051		.fips_skip = 1,
  18052		.iv     = "\x00\x00\x00\x00\x00\x00\x00\x00"
  18053			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  18054		.ptext	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  18055			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  18056			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  18057			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  18058		.ctext	= "\x91\x7c\xf6\x9e\xbd\x68\xb2\xec"
  18059			  "\x9b\x9f\xe9\xa3\xea\xdd\xa6\x92"
  18060			  "\xcd\x43\xd2\xf5\x95\x98\xed\x85"
  18061			  "\x8c\x02\xc2\x65\x2f\xbf\x92\x2e",
  18062		.len	= 32,
  18063	}, { /* XTS-AES 2 */
  18064		.key    = "\x11\x11\x11\x11\x11\x11\x11\x11"
  18065			  "\x11\x11\x11\x11\x11\x11\x11\x11"
  18066			  "\x22\x22\x22\x22\x22\x22\x22\x22"
  18067			  "\x22\x22\x22\x22\x22\x22\x22\x22",
  18068		.klen   = 32,
  18069		.iv     = "\x33\x33\x33\x33\x33\x00\x00\x00"
  18070			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  18071		.ptext	= "\x44\x44\x44\x44\x44\x44\x44\x44"
  18072			  "\x44\x44\x44\x44\x44\x44\x44\x44"
  18073			  "\x44\x44\x44\x44\x44\x44\x44\x44"
  18074			  "\x44\x44\x44\x44\x44\x44\x44\x44",
  18075		.ctext	= "\xc4\x54\x18\x5e\x6a\x16\x93\x6e"
  18076			  "\x39\x33\x40\x38\xac\xef\x83\x8b"
  18077			  "\xfb\x18\x6f\xff\x74\x80\xad\xc4"
  18078			  "\x28\x93\x82\xec\xd6\xd3\x94\xf0",
  18079		.len	= 32,
  18080	}, { /* XTS-AES 3 */
  18081		.key    = "\xff\xfe\xfd\xfc\xfb\xfa\xf9\xf8"
  18082			  "\xf7\xf6\xf5\xf4\xf3\xf2\xf1\xf0"
  18083			  "\x22\x22\x22\x22\x22\x22\x22\x22"
  18084			  "\x22\x22\x22\x22\x22\x22\x22\x22",
  18085		.klen   = 32,
  18086		.iv     = "\x33\x33\x33\x33\x33\x00\x00\x00"
  18087			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  18088		.ptext	= "\x44\x44\x44\x44\x44\x44\x44\x44"
  18089			  "\x44\x44\x44\x44\x44\x44\x44\x44"
  18090			  "\x44\x44\x44\x44\x44\x44\x44\x44"
  18091			  "\x44\x44\x44\x44\x44\x44\x44\x44",
  18092		.ctext	= "\xaf\x85\x33\x6b\x59\x7a\xfc\x1a"
  18093			  "\x90\x0b\x2e\xb2\x1e\xc9\x49\xd2"
  18094			  "\x92\xdf\x4c\x04\x7e\x0b\x21\x53"
  18095			  "\x21\x86\xa5\x97\x1a\x22\x7a\x89",
  18096		.len	= 32,
  18097	}, { /* XTS-AES 4 */
  18098		.key    = "\x27\x18\x28\x18\x28\x45\x90\x45"
  18099			  "\x23\x53\x60\x28\x74\x71\x35\x26"
  18100			  "\x31\x41\x59\x26\x53\x58\x97\x93"
  18101			  "\x23\x84\x62\x64\x33\x83\x27\x95",
  18102		.klen   = 32,
  18103		.iv     = "\x00\x00\x00\x00\x00\x00\x00\x00"
  18104			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  18105		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  18106			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  18107			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  18108			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  18109			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  18110			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  18111			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  18112			  "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  18113			  "\x40\x41\x42\x43\x44\x45\x46\x47"
  18114			  "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  18115			  "\x50\x51\x52\x53\x54\x55\x56\x57"
  18116			  "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"
  18117			  "\x60\x61\x62\x63\x64\x65\x66\x67"
  18118			  "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f"
  18119			  "\x70\x71\x72\x73\x74\x75\x76\x77"
  18120			  "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"
  18121			  "\x80\x81\x82\x83\x84\x85\x86\x87"
  18122			  "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  18123			  "\x90\x91\x92\x93\x94\x95\x96\x97"
  18124			  "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f"
  18125			  "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  18126			  "\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  18127			  "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  18128			  "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  18129			  "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  18130			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  18131			  "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  18132			  "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf"
  18133			  "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7"
  18134			  "\xe8\xe9\xea\xeb\xec\xed\xee\xef"
  18135			  "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  18136			  "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"
  18137			  "\x00\x01\x02\x03\x04\x05\x06\x07"
  18138			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  18139			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  18140			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  18141			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  18142			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  18143			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  18144			  "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  18145			  "\x40\x41\x42\x43\x44\x45\x46\x47"
  18146			  "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  18147			  "\x50\x51\x52\x53\x54\x55\x56\x57"
  18148			  "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"
  18149			  "\x60\x61\x62\x63\x64\x65\x66\x67"
  18150			  "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f"
  18151			  "\x70\x71\x72\x73\x74\x75\x76\x77"
  18152			  "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"
  18153			  "\x80\x81\x82\x83\x84\x85\x86\x87"
  18154			  "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  18155			  "\x90\x91\x92\x93\x94\x95\x96\x97"
  18156			  "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f"
  18157			  "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  18158			  "\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  18159			  "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  18160			  "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  18161			  "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  18162			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  18163			  "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  18164			  "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf"
  18165			  "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7"
  18166			  "\xe8\xe9\xea\xeb\xec\xed\xee\xef"
  18167			  "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  18168			  "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff",
  18169		.ctext	= "\x27\xa7\x47\x9b\xef\xa1\xd4\x76"
  18170			  "\x48\x9f\x30\x8c\xd4\xcf\xa6\xe2"
  18171			  "\xa9\x6e\x4b\xbe\x32\x08\xff\x25"
  18172			  "\x28\x7d\xd3\x81\x96\x16\xe8\x9c"
  18173			  "\xc7\x8c\xf7\xf5\xe5\x43\x44\x5f"
  18174			  "\x83\x33\xd8\xfa\x7f\x56\x00\x00"
  18175			  "\x05\x27\x9f\xa5\xd8\xb5\xe4\xad"
  18176			  "\x40\xe7\x36\xdd\xb4\xd3\x54\x12"
  18177			  "\x32\x80\x63\xfd\x2a\xab\x53\xe5"
  18178			  "\xea\x1e\x0a\x9f\x33\x25\x00\xa5"
  18179			  "\xdf\x94\x87\xd0\x7a\x5c\x92\xcc"
  18180			  "\x51\x2c\x88\x66\xc7\xe8\x60\xce"
  18181			  "\x93\xfd\xf1\x66\xa2\x49\x12\xb4"
  18182			  "\x22\x97\x61\x46\xae\x20\xce\x84"
  18183			  "\x6b\xb7\xdc\x9b\xa9\x4a\x76\x7a"
  18184			  "\xae\xf2\x0c\x0d\x61\xad\x02\x65"
  18185			  "\x5e\xa9\x2d\xc4\xc4\xe4\x1a\x89"
  18186			  "\x52\xc6\x51\xd3\x31\x74\xbe\x51"
  18187			  "\xa1\x0c\x42\x11\x10\xe6\xd8\x15"
  18188			  "\x88\xed\xe8\x21\x03\xa2\x52\xd8"
  18189			  "\xa7\x50\xe8\x76\x8d\xef\xff\xed"
  18190			  "\x91\x22\x81\x0a\xae\xb9\x9f\x91"
  18191			  "\x72\xaf\x82\xb6\x04\xdc\x4b\x8e"
  18192			  "\x51\xbc\xb0\x82\x35\xa6\xf4\x34"
  18193			  "\x13\x32\xe4\xca\x60\x48\x2a\x4b"
  18194			  "\xa1\xa0\x3b\x3e\x65\x00\x8f\xc5"
  18195			  "\xda\x76\xb7\x0b\xf1\x69\x0d\xb4"
  18196			  "\xea\xe2\x9c\x5f\x1b\xad\xd0\x3c"
  18197			  "\x5c\xcf\x2a\x55\xd7\x05\xdd\xcd"
  18198			  "\x86\xd4\x49\x51\x1c\xeb\x7e\xc3"
  18199			  "\x0b\xf1\x2b\x1f\xa3\x5b\x91\x3f"
  18200			  "\x9f\x74\x7a\x8a\xfd\x1b\x13\x0e"
  18201			  "\x94\xbf\xf9\x4e\xff\xd0\x1a\x91"
  18202			  "\x73\x5c\xa1\x72\x6a\xcd\x0b\x19"
  18203			  "\x7c\x4e\x5b\x03\x39\x36\x97\xe1"
  18204			  "\x26\x82\x6f\xb6\xbb\xde\x8e\xcc"
  18205			  "\x1e\x08\x29\x85\x16\xe2\xc9\xed"
  18206			  "\x03\xff\x3c\x1b\x78\x60\xf6\xde"
  18207			  "\x76\xd4\xce\xcd\x94\xc8\x11\x98"
  18208			  "\x55\xef\x52\x97\xca\x67\xe9\xf3"
  18209			  "\xe7\xff\x72\xb1\xe9\x97\x85\xca"
  18210			  "\x0a\x7e\x77\x20\xc5\xb3\x6d\xc6"
  18211			  "\xd7\x2c\xac\x95\x74\xc8\xcb\xbc"
  18212			  "\x2f\x80\x1e\x23\xe5\x6f\xd3\x44"
  18213			  "\xb0\x7f\x22\x15\x4b\xeb\xa0\xf0"
  18214			  "\x8c\xe8\x89\x1e\x64\x3e\xd9\x95"
  18215			  "\xc9\x4d\x9a\x69\xc9\xf1\xb5\xf4"
  18216			  "\x99\x02\x7a\x78\x57\x2a\xee\xbd"
  18217			  "\x74\xd2\x0c\xc3\x98\x81\xc2\x13"
  18218			  "\xee\x77\x0b\x10\x10\xe4\xbe\xa7"
  18219			  "\x18\x84\x69\x77\xae\x11\x9f\x7a"
  18220			  "\x02\x3a\xb5\x8c\xca\x0a\xd7\x52"
  18221			  "\xaf\xe6\x56\xbb\x3c\x17\x25\x6a"
  18222			  "\x9f\x6e\x9b\xf1\x9f\xdd\x5a\x38"
  18223			  "\xfc\x82\xbb\xe8\x72\xc5\x53\x9e"
  18224			  "\xdb\x60\x9e\xf4\xf7\x9c\x20\x3e"
  18225			  "\xbb\x14\x0f\x2e\x58\x3c\xb2\xad"
  18226			  "\x15\xb4\xaa\x5b\x65\x50\x16\xa8"
  18227			  "\x44\x92\x77\xdb\xd4\x77\xef\x2c"
  18228			  "\x8d\x6c\x01\x7d\xb7\x38\xb1\x8d"
  18229			  "\xeb\x4a\x42\x7d\x19\x23\xce\x3f"
  18230			  "\xf2\x62\x73\x57\x79\xa4\x18\xf2"
  18231			  "\x0a\x28\x2d\xf9\x20\x14\x7b\xea"
  18232			  "\xbe\x42\x1e\xe5\x31\x9d\x05\x68",
  18233		.len	= 512,
  18234	}, { /* XTS-AES 10, XTS-AES-256, data unit 512 bytes */
  18235		.key	= "\x27\x18\x28\x18\x28\x45\x90\x45"
  18236			  "\x23\x53\x60\x28\x74\x71\x35\x26"
  18237			  "\x62\x49\x77\x57\x24\x70\x93\x69"
  18238			  "\x99\x59\x57\x49\x66\x96\x76\x27"
  18239			  "\x31\x41\x59\x26\x53\x58\x97\x93"
  18240			  "\x23\x84\x62\x64\x33\x83\x27\x95"
  18241			  "\x02\x88\x41\x97\x16\x93\x99\x37"
  18242			  "\x51\x05\x82\x09\x74\x94\x45\x92",
  18243		.klen	= 64,
  18244		.iv	= "\xff\x00\x00\x00\x00\x00\x00\x00"
  18245			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  18246		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  18247			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  18248			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  18249			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  18250			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  18251			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  18252			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  18253			  "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  18254			  "\x40\x41\x42\x43\x44\x45\x46\x47"
  18255			  "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  18256			  "\x50\x51\x52\x53\x54\x55\x56\x57"
  18257			  "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"
  18258			  "\x60\x61\x62\x63\x64\x65\x66\x67"
  18259			  "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f"
  18260			  "\x70\x71\x72\x73\x74\x75\x76\x77"
  18261			  "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"
  18262			  "\x80\x81\x82\x83\x84\x85\x86\x87"
  18263			  "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  18264			  "\x90\x91\x92\x93\x94\x95\x96\x97"
  18265			  "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f"
  18266			  "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  18267			  "\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  18268			  "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  18269			  "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  18270			  "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  18271			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  18272			  "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  18273			  "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf"
  18274			  "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7"
  18275			  "\xe8\xe9\xea\xeb\xec\xed\xee\xef"
  18276			  "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  18277			  "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"
  18278			  "\x00\x01\x02\x03\x04\x05\x06\x07"
  18279			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  18280			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  18281			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  18282			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  18283			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  18284			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  18285			  "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  18286			  "\x40\x41\x42\x43\x44\x45\x46\x47"
  18287			  "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  18288			  "\x50\x51\x52\x53\x54\x55\x56\x57"
  18289			  "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"
  18290			  "\x60\x61\x62\x63\x64\x65\x66\x67"
  18291			  "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f"
  18292			  "\x70\x71\x72\x73\x74\x75\x76\x77"
  18293			  "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"
  18294			  "\x80\x81\x82\x83\x84\x85\x86\x87"
  18295			  "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  18296			  "\x90\x91\x92\x93\x94\x95\x96\x97"
  18297			  "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f"
  18298			  "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  18299			  "\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  18300			  "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  18301			  "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  18302			  "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  18303			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  18304			  "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  18305			  "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf"
  18306			  "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7"
  18307			  "\xe8\xe9\xea\xeb\xec\xed\xee\xef"
  18308			  "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  18309			  "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff",
  18310		.ctext	= "\x1c\x3b\x3a\x10\x2f\x77\x03\x86"
  18311			  "\xe4\x83\x6c\x99\xe3\x70\xcf\x9b"
  18312			  "\xea\x00\x80\x3f\x5e\x48\x23\x57"
  18313			  "\xa4\xae\x12\xd4\x14\xa3\xe6\x3b"
  18314			  "\x5d\x31\xe2\x76\xf8\xfe\x4a\x8d"
  18315			  "\x66\xb3\x17\xf9\xac\x68\x3f\x44"
  18316			  "\x68\x0a\x86\xac\x35\xad\xfc\x33"
  18317			  "\x45\xbe\xfe\xcb\x4b\xb1\x88\xfd"
  18318			  "\x57\x76\x92\x6c\x49\xa3\x09\x5e"
  18319			  "\xb1\x08\xfd\x10\x98\xba\xec\x70"
  18320			  "\xaa\xa6\x69\x99\xa7\x2a\x82\xf2"
  18321			  "\x7d\x84\x8b\x21\xd4\xa7\x41\xb0"
  18322			  "\xc5\xcd\x4d\x5f\xff\x9d\xac\x89"
  18323			  "\xae\xba\x12\x29\x61\xd0\x3a\x75"
  18324			  "\x71\x23\xe9\x87\x0f\x8a\xcf\x10"
  18325			  "\x00\x02\x08\x87\x89\x14\x29\xca"
  18326			  "\x2a\x3e\x7a\x7d\x7d\xf7\xb1\x03"
  18327			  "\x55\x16\x5c\x8b\x9a\x6d\x0a\x7d"
  18328			  "\xe8\xb0\x62\xc4\x50\x0d\xc4\xcd"
  18329			  "\x12\x0c\x0f\x74\x18\xda\xe3\xd0"
  18330			  "\xb5\x78\x1c\x34\x80\x3f\xa7\x54"
  18331			  "\x21\xc7\x90\xdf\xe1\xde\x18\x34"
  18332			  "\xf2\x80\xd7\x66\x7b\x32\x7f\x6c"
  18333			  "\x8c\xd7\x55\x7e\x12\xac\x3a\x0f"
  18334			  "\x93\xec\x05\xc5\x2e\x04\x93\xef"
  18335			  "\x31\xa1\x2d\x3d\x92\x60\xf7\x9a"
  18336			  "\x28\x9d\x6a\x37\x9b\xc7\x0c\x50"
  18337			  "\x84\x14\x73\xd1\xa8\xcc\x81\xec"
  18338			  "\x58\x3e\x96\x45\xe0\x7b\x8d\x96"
  18339			  "\x70\x65\x5b\xa5\xbb\xcf\xec\xc6"
  18340			  "\xdc\x39\x66\x38\x0a\xd8\xfe\xcb"
  18341			  "\x17\xb6\xba\x02\x46\x9a\x02\x0a"
  18342			  "\x84\xe1\x8e\x8f\x84\x25\x20\x70"
  18343			  "\xc1\x3e\x9f\x1f\x28\x9b\xe5\x4f"
  18344			  "\xbc\x48\x14\x57\x77\x8f\x61\x60"
  18345			  "\x15\xe1\x32\x7a\x02\xb1\x40\xf1"
  18346			  "\x50\x5e\xb3\x09\x32\x6d\x68\x37"
  18347			  "\x8f\x83\x74\x59\x5c\x84\x9d\x84"
  18348			  "\xf4\xc3\x33\xec\x44\x23\x88\x51"
  18349			  "\x43\xcb\x47\xbd\x71\xc5\xed\xae"
  18350			  "\x9b\xe6\x9a\x2f\xfe\xce\xb1\xbe"
  18351			  "\xc9\xde\x24\x4f\xbe\x15\x99\x2b"
  18352			  "\x11\xb7\x7c\x04\x0f\x12\xbd\x8f"
  18353			  "\x6a\x97\x5a\x44\xa0\xf9\x0c\x29"
  18354			  "\xa9\xab\xc3\xd4\xd8\x93\x92\x72"
  18355			  "\x84\xc5\x87\x54\xcc\xe2\x94\x52"
  18356			  "\x9f\x86\x14\xdc\xd2\xab\xa9\x91"
  18357			  "\x92\x5f\xed\xc4\xae\x74\xff\xac"
  18358			  "\x6e\x33\x3b\x93\xeb\x4a\xff\x04"
  18359			  "\x79\xda\x9a\x41\x0e\x44\x50\xe0"
  18360			  "\xdd\x7a\xe4\xc6\xe2\x91\x09\x00"
  18361			  "\x57\x5d\xa4\x01\xfc\x07\x05\x9f"
  18362			  "\x64\x5e\x8b\x7e\x9b\xfd\xef\x33"
  18363			  "\x94\x30\x54\xff\x84\x01\x14\x93"
  18364			  "\xc2\x7b\x34\x29\xea\xed\xb4\xed"
  18365			  "\x53\x76\x44\x1a\x77\xed\x43\x85"
  18366			  "\x1a\xd7\x7f\x16\xf5\x41\xdf\xd2"
  18367			  "\x69\xd5\x0d\x6a\x5f\x14\xfb\x0a"
  18368			  "\xab\x1c\xbb\x4c\x15\x50\xbe\x97"
  18369			  "\xf7\xab\x40\x66\x19\x3c\x4c\xaa"
  18370			  "\x77\x3d\xad\x38\x01\x4b\xd2\x09"
  18371			  "\x2f\xa7\x55\xc8\x24\xbb\x5e\x54"
  18372			  "\xc4\xf3\x6f\xfd\xa9\xfc\xea\x70"
  18373			  "\xb9\xc6\xe6\x93\xe1\x48\xc1\x51",
  18374		.len	= 512,
  18375	}
  18376};
  18377
  18378static const struct cipher_testvec aes_ctr_tv_template[] = {
  18379	{ /* From NIST Special Publication 800-38A, Appendix F.5 */
  18380		.key	= "\x2b\x7e\x15\x16\x28\xae\xd2\xa6"
  18381			  "\xab\xf7\x15\x88\x09\xcf\x4f\x3c",
  18382		.klen	= 16,
  18383		.iv	= "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  18384			  "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff",
  18385		.iv_out	= "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  18386			  "\xf8\xf9\xfa\xfb\xfc\xfd\xff\x03",
  18387		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
  18388			  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
  18389			  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
  18390			  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
  18391			  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
  18392			  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
  18393			  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
  18394			  "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
  18395		.ctext	= "\x87\x4d\x61\x91\xb6\x20\xe3\x26"
  18396			  "\x1b\xef\x68\x64\x99\x0d\xb6\xce"
  18397			  "\x98\x06\xf6\x6b\x79\x70\xfd\xff"
  18398			  "\x86\x17\x18\x7b\xb9\xff\xfd\xff"
  18399			  "\x5a\xe4\xdf\x3e\xdb\xd5\xd3\x5e"
  18400			  "\x5b\x4f\x09\x02\x0d\xb0\x3e\xab"
  18401			  "\x1e\x03\x1d\xda\x2f\xbe\x03\xd1"
  18402			  "\x79\x21\x70\xa0\xf3\x00\x9c\xee",
  18403		.len	= 64,
  18404	}, {
  18405		.key	= "\x8e\x73\xb0\xf7\xda\x0e\x64\x52"
  18406			  "\xc8\x10\xf3\x2b\x80\x90\x79\xe5"
  18407			  "\x62\xf8\xea\xd2\x52\x2c\x6b\x7b",
  18408		.klen	= 24,
  18409		.iv	= "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  18410			  "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff",
  18411		.iv_out	= "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  18412			  "\xf8\xf9\xfa\xfb\xfc\xfd\xff\x03",
  18413		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
  18414			  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
  18415			  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
  18416			  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
  18417			  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
  18418			  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
  18419			  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
  18420			  "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
  18421		.ctext	= "\x1a\xbc\x93\x24\x17\x52\x1c\xa2"
  18422			  "\x4f\x2b\x04\x59\xfe\x7e\x6e\x0b"
  18423			  "\x09\x03\x39\xec\x0a\xa6\xfa\xef"
  18424			  "\xd5\xcc\xc2\xc6\xf4\xce\x8e\x94"
  18425			  "\x1e\x36\xb2\x6b\xd1\xeb\xc6\x70"
  18426			  "\xd1\xbd\x1d\x66\x56\x20\xab\xf7"
  18427			  "\x4f\x78\xa7\xf6\xd2\x98\x09\x58"
  18428			  "\x5a\x97\xda\xec\x58\xc6\xb0\x50",
  18429		.len	= 64,
  18430	}, {
  18431		.key	= "\x60\x3d\xeb\x10\x15\xca\x71\xbe"
  18432			  "\x2b\x73\xae\xf0\x85\x7d\x77\x81"
  18433			  "\x1f\x35\x2c\x07\x3b\x61\x08\xd7"
  18434			  "\x2d\x98\x10\xa3\x09\x14\xdf\xf4",
  18435		.klen	= 32,
  18436		.iv	= "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  18437			  "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff",
  18438		.iv_out	= "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  18439			  "\xf8\xf9\xfa\xfb\xfc\xfd\xff\x03",
  18440		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
  18441			  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
  18442			  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
  18443			  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
  18444			  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
  18445			  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
  18446			  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
  18447			  "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
  18448		.ctext	= "\x60\x1e\xc3\x13\x77\x57\x89\xa5"
  18449			  "\xb7\xa7\xf5\x04\xbb\xf3\xd2\x28"
  18450			  "\xf4\x43\xe3\xca\x4d\x62\xb5\x9a"
  18451			  "\xca\x84\xe9\x90\xca\xca\xf5\xc5"
  18452			  "\x2b\x09\x30\xda\xa2\x3d\xe9\x4c"
  18453			  "\xe8\x70\x17\xba\x2d\x84\x98\x8d"
  18454			  "\xdf\xc9\xc5\x8d\xb6\x7a\xad\xa6"
  18455			  "\x13\xc2\xdd\x08\x45\x79\x41\xa6",
  18456		.len	= 64,
  18457	}, { /* Generated with Crypto++ */
  18458		.key	= "\xC9\x83\xA6\xC9\xEC\x0F\x32\x55"
  18459			  "\x0F\x32\x55\x78\x9B\xBE\x78\x9B"
  18460			  "\xBE\xE1\x04\x27\xE1\x04\x27\x4A"
  18461			  "\x6D\x90\x4A\x6D\x90\xB3\xD6\xF9",
  18462		.klen	= 32,
  18463		.iv	= "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"
  18464			  "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFD",
  18465		.iv_out	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  18466			  "\x00\x00\x00\x00\x00\x00\x00\x1C",
  18467		.ptext	= "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
  18468			  "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
  18469			  "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
  18470			  "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
  18471			  "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
  18472			  "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
  18473			  "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
  18474			  "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
  18475			  "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
  18476			  "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
  18477			  "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
  18478			  "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
  18479			  "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
  18480			  "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
  18481			  "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
  18482			  "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
  18483			  "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
  18484			  "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
  18485			  "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
  18486			  "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
  18487			  "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
  18488			  "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
  18489			  "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
  18490			  "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
  18491			  "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
  18492			  "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
  18493			  "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
  18494			  "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
  18495			  "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
  18496			  "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
  18497			  "\xC6\x2F\xBB\x24\x8D\x19\x82\xEB"
  18498			  "\x54\xE0\x49\xB2\x1B\xA7\x10\x79"
  18499			  "\x05\x6E\xD7\x40\xCC\x35\x9E\x07"
  18500			  "\x93\xFC\x65\xF1\x5A\xC3\x2C\xB8"
  18501			  "\x21\x8A\x16\x7F\xE8\x51\xDD\x46"
  18502			  "\xAF\x18\xA4\x0D\x76\x02\x6B\xD4"
  18503			  "\x3D\xC9\x32\x9B\x04\x90\xF9\x62"
  18504			  "\xEE\x57\xC0\x29\xB5\x1E\x87\x13"
  18505			  "\x7C\xE5\x4E\xDA\x43\xAC\x15\xA1"
  18506			  "\x0A\x73\xFF\x68\xD1\x3A\xC6\x2F"
  18507			  "\x98\x01\x8D\xF6\x5F\xEB\x54\xBD"
  18508			  "\x26\xB2\x1B\x84\x10\x79\xE2\x4B"
  18509			  "\xD7\x40\xA9\x12\x9E\x07\x70\xFC"
  18510			  "\x65\xCE\x37\xC3\x2C\x95\x21\x8A"
  18511			  "\xF3\x5C\xE8\x51\xBA\x23\xAF\x18"
  18512			  "\x81\x0D\x76\xDF\x48\xD4\x3D\xA6"
  18513			  "\x0F\x9B\x04\x6D\xF9\x62\xCB\x34"
  18514			  "\xC0\x29\x92\x1E\x87\xF0\x59\xE5"
  18515			  "\x4E\xB7\x20\xAC\x15\x7E\x0A\x73"
  18516			  "\xDC\x45\xD1\x3A\xA3\x0C\x98\x01"
  18517			  "\x6A\xF6\x5F\xC8\x31\xBD\x26\x8F"
  18518			  "\x1B\x84\xED\x56\xE2\x4B\xB4\x1D"
  18519			  "\xA9\x12\x7B\x07\x70\xD9\x42\xCE"
  18520			  "\x37\xA0\x09\x95\xFE\x67\xF3\x5C"
  18521			  "\xC5\x2E\xBA\x23\x8C\x18\x81\xEA"
  18522			  "\x53\xDF\x48\xB1\x1A\xA6\x0F\x78"
  18523			  "\x04\x6D\xD6\x3F\xCB\x34\x9D\x06"
  18524			  "\x92\xFB\x64\xF0\x59\xC2\x2B\xB7"
  18525			  "\x20\x89\x15\x7E\xE7\x50\xDC\x45"
  18526			  "\xAE\x17\xA3\x0C\x75\x01\x6A\xD3"
  18527			  "\x3C\xC8\x31\x9A\x03\x8F\xF8\x61"
  18528			  "\xED\x56\xBF\x28\xB4\x1D\x86\x12",
  18529		.ctext	= "\x04\xF3\xD3\x88\x17\xEF\xDC\xEF"
  18530			  "\x8B\x04\xF8\x3A\x66\x8D\x1A\x53"
  18531			  "\x57\x1F\x4B\x23\xE4\xA0\xAF\xF9"
  18532			  "\x69\x95\x35\x98\x8D\x4D\x8C\xC1"
  18533			  "\xF0\xB2\x7F\x80\xBB\x54\x28\xA2"
  18534			  "\x7A\x1B\x9F\x77\xEC\x0E\x6E\xDE"
  18535			  "\xF0\xEC\xB8\xE4\x20\x62\xEE\xDB"
  18536			  "\x5D\xF5\xDD\xE3\x54\xFC\xDD\xEB"
  18537			  "\x6A\xEE\x65\xA1\x21\xD6\xD7\x81"
  18538			  "\x47\x61\x12\x4D\xC2\x8C\xFA\x78"
  18539			  "\x1F\x28\x02\x01\xC3\xFC\x1F\xEC"
  18540			  "\x0F\x10\x4F\xB3\x12\x45\xC6\x3B"
  18541			  "\x7E\x08\xF9\x5A\xD0\x5D\x73\x2D"
  18542			  "\x58\xA4\xE5\xCB\x1C\xB4\xCE\x74"
  18543			  "\x32\x41\x1F\x31\x9C\x08\xA2\x5D"
  18544			  "\x67\xEB\x72\x1D\xF8\xE7\x70\x54"
  18545			  "\x34\x4B\x31\x69\x84\x66\x96\x44"
  18546			  "\x56\xCC\x1E\xD9\xE6\x13\x6A\xB9"
  18547			  "\x2D\x0A\x05\x45\x2D\x90\xCC\xDF"
  18548			  "\x16\x5C\x5F\x79\x34\x52\x54\xFE"
  18549			  "\xFE\xCD\xAD\x04\x2E\xAD\x86\x06"
  18550			  "\x1F\x37\xE8\x28\xBC\xD3\x8F\x5B"
  18551			  "\x92\x66\x87\x3B\x8A\x0A\x1A\xCC"
  18552			  "\x6E\xAB\x9F\x0B\xFA\x5C\xE6\xFD"
  18553			  "\x3C\x98\x08\x12\xEC\xAA\x9E\x11"
  18554			  "\xCA\xB2\x1F\xCE\x5E\x5B\xB2\x72"
  18555			  "\x9C\xCC\x5D\xC5\xE0\x32\xC0\x56"
  18556			  "\xD5\x45\x16\xD2\xAF\x13\x66\xF7"
  18557			  "\x8C\x67\xAC\x79\xB2\xAF\x56\x27"
  18558			  "\x3F\xCC\xFE\xCB\x1E\xC0\x75\xF1"
  18559			  "\xA7\xC9\xC3\x1D\x8E\xDD\xF9\xD4"
  18560			  "\x42\xC8\x21\x08\x16\xF7\x01\xD7"
  18561			  "\xAC\x8E\x3F\x1D\x56\xC1\x06\xE4"
  18562			  "\x9C\x62\xD6\xA5\x6A\x50\x44\xB3"
  18563			  "\x35\x1C\x82\xB9\x10\xF9\x42\xA1"
  18564			  "\xFC\x74\x9B\x44\x4F\x25\x02\xE3"
  18565			  "\x08\xF5\xD4\x32\x39\x08\x11\xE8"
  18566			  "\xD2\x6B\x50\x53\xD4\x08\xD1\x6B"
  18567			  "\x3A\x4A\x68\x7B\x7C\xCD\x46\x5E"
  18568			  "\x0D\x07\x19\xDB\x67\xD7\x98\x91"
  18569			  "\xD7\x17\x10\x9B\x7B\x8A\x9B\x33"
  18570			  "\xAE\xF3\x00\xA6\xD4\x15\xD9\xEA"
  18571			  "\x85\x99\x22\xE8\x91\x38\x70\x83"
  18572			  "\x93\x01\x24\x6C\xFA\x9A\xB9\x07"
  18573			  "\xEA\x8D\x3B\xD9\x2A\x43\x59\x16"
  18574			  "\x2F\x69\xEE\x84\x36\x44\x76\x98"
  18575			  "\xF3\x04\x2A\x7C\x74\x3D\x29\x2B"
  18576			  "\x0D\xAD\x8F\x44\x82\x9E\x57\x8D"
  18577			  "\xAC\xED\x18\x1F\x50\xA4\xF5\x98"
  18578			  "\x1F\xBD\x92\x91\x1B\x2D\xA6\xD6"
  18579			  "\xD2\xE3\x02\xAA\x92\x3B\xC6\xB3"
  18580			  "\x1B\x39\x72\xD5\x26\xCA\x04\xE0"
  18581			  "\xFC\x58\x78\xBB\xB1\x3F\xA1\x9C"
  18582			  "\x42\x24\x3E\x2E\x22\xBB\x4B\xBA"
  18583			  "\xF4\x52\x0A\xE6\xAE\x47\xB4\x7D"
  18584			  "\x1D\xA8\xBE\x81\x1A\x75\xDA\xAC"
  18585			  "\xA6\x25\x1E\xEF\x3A\xC0\x6C\x63"
  18586			  "\xEF\xDC\xC9\x79\x10\x26\xE8\x61"
  18587			  "\x29\xFC\xA4\x05\xDF\x7D\x5C\x63"
  18588			  "\x10\x09\x9B\x46\x9B\xF2\x2C\x2B"
  18589			  "\xFA\x3A\x05\x4C\xFA\xD1\xFF\xFE"
  18590			  "\xF1\x4C\xE5\xB2\x91\x64\x0C\x51",
  18591		.len	= 496,
  18592	}, { /* Generated with Crypto++ */
  18593		.key	= "\xC9\x83\xA6\xC9\xEC\x0F\x32\x55"
  18594			  "\x0F\x32\x55\x78\x9B\xBE\x78\x9B"
  18595			  "\xBE\xE1\x04\x27\xE1\x04\x27\x4A"
  18596			  "\x6D\x90\x4A\x6D\x90\xB3\xD6\xF9",
  18597		.klen	= 32,
  18598		.iv	= "\xE7\x82\x1D\xB8\x53\x11\xAC\x47"
  18599			  "\xE2\x7D\x18\xD6\x71\x0C\xA7\x42",
  18600		.iv_out	= "\xE7\x82\x1D\xB8\x53\x11\xAC\x47"
  18601			  "\xE2\x7D\x18\xD6\x71\x0C\xA7\x62",
  18602		.ptext	= "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
  18603			  "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
  18604			  "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
  18605			  "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
  18606			  "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
  18607			  "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
  18608			  "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
  18609			  "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
  18610			  "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
  18611			  "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
  18612			  "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
  18613			  "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
  18614			  "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
  18615			  "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
  18616			  "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
  18617			  "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
  18618			  "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
  18619			  "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
  18620			  "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
  18621			  "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
  18622			  "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
  18623			  "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
  18624			  "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
  18625			  "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
  18626			  "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
  18627			  "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
  18628			  "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
  18629			  "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
  18630			  "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
  18631			  "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
  18632			  "\xC6\x2F\xBB\x24\x8D\x19\x82\xEB"
  18633			  "\x54\xE0\x49\xB2\x1B\xA7\x10\x79"
  18634			  "\x05\x6E\xD7\x40\xCC\x35\x9E\x07"
  18635			  "\x93\xFC\x65\xF1\x5A\xC3\x2C\xB8"
  18636			  "\x21\x8A\x16\x7F\xE8\x51\xDD\x46"
  18637			  "\xAF\x18\xA4\x0D\x76\x02\x6B\xD4"
  18638			  "\x3D\xC9\x32\x9B\x04\x90\xF9\x62"
  18639			  "\xEE\x57\xC0\x29\xB5\x1E\x87\x13"
  18640			  "\x7C\xE5\x4E\xDA\x43\xAC\x15\xA1"
  18641			  "\x0A\x73\xFF\x68\xD1\x3A\xC6\x2F"
  18642			  "\x98\x01\x8D\xF6\x5F\xEB\x54\xBD"
  18643			  "\x26\xB2\x1B\x84\x10\x79\xE2\x4B"
  18644			  "\xD7\x40\xA9\x12\x9E\x07\x70\xFC"
  18645			  "\x65\xCE\x37\xC3\x2C\x95\x21\x8A"
  18646			  "\xF3\x5C\xE8\x51\xBA\x23\xAF\x18"
  18647			  "\x81\x0D\x76\xDF\x48\xD4\x3D\xA6"
  18648			  "\x0F\x9B\x04\x6D\xF9\x62\xCB\x34"
  18649			  "\xC0\x29\x92\x1E\x87\xF0\x59\xE5"
  18650			  "\x4E\xB7\x20\xAC\x15\x7E\x0A\x73"
  18651			  "\xDC\x45\xD1\x3A\xA3\x0C\x98\x01"
  18652			  "\x6A\xF6\x5F\xC8\x31\xBD\x26\x8F"
  18653			  "\x1B\x84\xED\x56\xE2\x4B\xB4\x1D"
  18654			  "\xA9\x12\x7B\x07\x70\xD9\x42\xCE"
  18655			  "\x37\xA0\x09\x95\xFE\x67\xF3\x5C"
  18656			  "\xC5\x2E\xBA\x23\x8C\x18\x81\xEA"
  18657			  "\x53\xDF\x48\xB1\x1A\xA6\x0F\x78"
  18658			  "\x04\x6D\xD6\x3F\xCB\x34\x9D\x06"
  18659			  "\x92\xFB\x64\xF0\x59\xC2\x2B\xB7"
  18660			  "\x20\x89\x15\x7E\xE7\x50\xDC\x45"
  18661			  "\xAE\x17\xA3\x0C\x75\x01\x6A\xD3"
  18662			  "\x3C\xC8\x31\x9A\x03\x8F\xF8\x61"
  18663			  "\xED\x56\xBF\x28\xB4\x1D\x86\x12"
  18664			  "\x7B\xE4\x4D",
  18665		.ctext	= "\xDA\x4E\x3F\xBC\xE8\xB6\x3A\xA2"
  18666			  "\xD5\x4D\x84\x4A\xA9\x0C\xE1\xA5"
  18667			  "\xB8\x73\xBC\xF9\xBB\x59\x2F\x44"
  18668			  "\x8B\xAB\x82\x6C\xB4\x32\x9A\xDE"
  18669			  "\x5A\x0B\xDB\x7A\x6B\xF2\x38\x9F"
  18670			  "\x06\xF7\xF7\xFF\xFF\xC0\x8A\x2E"
  18671			  "\x76\xEA\x06\x32\x23\xF3\x59\x2E"
  18672			  "\x75\xDE\x71\x86\x3C\x98\x23\x44"
  18673			  "\x5B\xF2\xFA\x6A\x00\xBB\xC1\xAD"
  18674			  "\x58\xBD\x3E\x6F\x2E\xB4\x19\x04"
  18675			  "\x70\x8B\x92\x55\x23\xE9\x6A\x3A"
  18676			  "\x78\x7A\x1B\x10\x85\x52\x9C\x12"
  18677			  "\xE4\x55\x81\x21\xCE\x53\xD0\x3B"
  18678			  "\x63\x77\x2C\x74\xD1\xF5\x60\xF3"
  18679			  "\xA1\xDE\x44\x3C\x8F\x4D\x2F\xDD"
  18680			  "\x8A\xFE\x3C\x42\x8E\xD3\xF2\x8E"
  18681			  "\xA8\x28\x69\x65\x31\xE1\x45\x83"
  18682			  "\xE4\x49\xC4\x9C\xA7\x28\xAA\x21"
  18683			  "\xCD\x5D\x0F\x15\xB7\x93\x07\x26"
  18684			  "\xB0\x65\x6D\x91\x90\x23\x7A\xC6"
  18685			  "\xDB\x68\xB0\xA1\x8E\xA4\x76\x4E"
  18686			  "\xC6\x91\x83\x20\x92\x4D\x63\x7A"
  18687			  "\x45\x18\x18\x74\x19\xAD\x71\x01"
  18688			  "\x6B\x23\xAD\x9D\x4E\xE4\x6E\x46"
  18689			  "\xC9\x73\x7A\xF9\x02\x95\xF4\x07"
  18690			  "\x0E\x7A\xA6\xC5\xAE\xFA\x15\x2C"
  18691			  "\x51\x71\xF1\xDC\x22\xB6\xAC\xD8"
  18692			  "\x19\x24\x44\xBC\x0C\xFB\x3C\x2D"
  18693			  "\xB1\x50\x47\x15\x0E\xDB\xB6\xD7"
  18694			  "\xE8\x61\xE5\x95\x52\x1E\x3E\x49"
  18695			  "\x70\xE9\x66\x04\x4C\xE1\xAF\xBD"
  18696			  "\xDD\x15\x3B\x20\x59\x24\xFF\xB0"
  18697			  "\x39\xAA\xE7\xBF\x23\xA3\x6E\xD5"
  18698			  "\x15\xF0\x61\x4F\xAE\x89\x10\x58"
  18699			  "\x5A\x33\x95\x52\x2A\xB5\x77\x9C"
  18700			  "\xA5\x43\x80\x40\x27\x2D\xAE\xD9"
  18701			  "\x3F\xE0\x80\x94\x78\x79\xCB\x7E"
  18702			  "\xAD\x12\x44\x4C\xEC\x27\xB0\xEE"
  18703			  "\x0B\x05\x2A\x82\x99\x58\xBB\x7A"
  18704			  "\x8D\x6D\x9D\x8E\xE2\x8E\xE7\x93"
  18705			  "\x2F\xB3\x09\x8D\x06\xD5\xEE\x70"
  18706			  "\x16\xAE\x35\xC5\x52\x0F\x46\x1F"
  18707			  "\x71\xF9\x5E\xF2\x67\xDC\x98\x2F"
  18708			  "\xA3\x23\xAA\xD5\xD0\x49\xF4\xA6"
  18709			  "\xF6\xB8\x32\xCD\xD6\x85\x73\x60"
  18710			  "\x59\x20\xE7\x55\x0E\x91\xE2\x0C"
  18711			  "\x3F\x1C\xEB\x3D\xDF\x52\x64\xF2"
  18712			  "\x7D\x8B\x5D\x63\x16\xB9\xB2\x5D"
  18713			  "\x5E\xAB\xB2\x97\xAB\x78\x44\xE7"
  18714			  "\xC6\x72\x20\xC5\x90\x9B\xDC\x5D"
  18715			  "\xB0\xEF\x44\xEF\x87\x31\x8D\xF4"
  18716			  "\xFB\x81\x5D\xF7\x96\x96\xD4\x50"
  18717			  "\x89\xA7\xF6\xB9\x67\x76\x40\x9E"
  18718			  "\x9D\x40\xD5\x2C\x30\xB8\x01\x8F"
  18719			  "\xE4\x7B\x71\x48\xA9\xA0\xA0\x1D"
  18720			  "\x87\x52\xA4\x91\xA9\xD7\xA9\x51"
  18721			  "\xD9\x59\xF7\xCC\x63\x22\xC1\x8D"
  18722			  "\x84\x7B\xD8\x22\x32\x5C\x6F\x1D"
  18723			  "\x6E\x9F\xFA\xDD\x49\x40\xDC\x37"
  18724			  "\x14\x8C\xE1\x80\x1B\xDD\x36\x2A"
  18725			  "\xD0\xE9\x54\x99\x5D\xBA\x3B\x11"
  18726			  "\xD8\xFE\xC9\x5B\x5C\x25\xE5\x76"
  18727			  "\xFB\xF2\x3F",
  18728		.len	= 499,
  18729	},
  18730};
  18731
  18732static const struct cipher_testvec aes_ctr_rfc3686_tv_template[] = {
  18733	{ /* From RFC 3686 */
  18734		.key	= "\xae\x68\x52\xf8\x12\x10\x67\xcc"
  18735			  "\x4b\xf7\xa5\x76\x55\x77\xf3\x9e"
  18736			  "\x00\x00\x00\x30",
  18737		.klen	= 20,
  18738		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00",
  18739		.ptext	= "Single block msg",
  18740		.ctext	= "\xe4\x09\x5d\x4f\xb7\xa7\xb3\x79"
  18741			  "\x2d\x61\x75\xa3\x26\x13\x11\xb8",
  18742		.len	= 16,
  18743	}, {
  18744		.key	= "\x7e\x24\x06\x78\x17\xfa\xe0\xd7"
  18745			  "\x43\xd6\xce\x1f\x32\x53\x91\x63"
  18746			  "\x00\x6c\xb6\xdb",
  18747		.klen	= 20,
  18748		.iv	= "\xc0\x54\x3b\x59\xda\x48\xd9\x0b",
  18749		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  18750			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  18751			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  18752			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f",
  18753		.ctext	= "\x51\x04\xa1\x06\x16\x8a\x72\xd9"
  18754			  "\x79\x0d\x41\xee\x8e\xda\xd3\x88"
  18755			  "\xeb\x2e\x1e\xfc\x46\xda\x57\xc8"
  18756			  "\xfc\xe6\x30\xdf\x91\x41\xbe\x28",
  18757		.len	= 32,
  18758	}, {
  18759		.key	= "\x16\xaf\x5b\x14\x5f\xc9\xf5\x79"
  18760			  "\xc1\x75\xf9\x3e\x3b\xfb\x0e\xed"
  18761			  "\x86\x3d\x06\xcc\xfd\xb7\x85\x15"
  18762			  "\x00\x00\x00\x48",
  18763		.klen	= 28,
  18764		.iv	= "\x36\x73\x3c\x14\x7d\x6d\x93\xcb",
  18765		.ptext	= "Single block msg",
  18766		.ctext	= "\x4b\x55\x38\x4f\xe2\x59\xc9\xc8"
  18767			  "\x4e\x79\x35\xa0\x03\xcb\xe9\x28",
  18768		.len	= 16,
  18769	}, {
  18770		.key	= "\x7c\x5c\xb2\x40\x1b\x3d\xc3\x3c"
  18771			  "\x19\xe7\x34\x08\x19\xe0\xf6\x9c"
  18772			  "\x67\x8c\x3d\xb8\xe6\xf6\xa9\x1a"
  18773			  "\x00\x96\xb0\x3b",
  18774		.klen	= 28,
  18775		.iv	= "\x02\x0c\x6e\xad\xc2\xcb\x50\x0d",
  18776		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  18777			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  18778			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  18779			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f",
  18780		.ctext	= "\x45\x32\x43\xfc\x60\x9b\x23\x32"
  18781			  "\x7e\xdf\xaa\xfa\x71\x31\xcd\x9f"
  18782			  "\x84\x90\x70\x1c\x5a\xd4\xa7\x9c"
  18783			  "\xfc\x1f\xe0\xff\x42\xf4\xfb\x00",
  18784		.len	= 32,
  18785	}, {
  18786		.key	= "\x77\x6b\xef\xf2\x85\x1d\xb0\x6f"
  18787			  "\x4c\x8a\x05\x42\xc8\x69\x6f\x6c"
  18788			  "\x6a\x81\xaf\x1e\xec\x96\xb4\xd3"
  18789			  "\x7f\xc1\xd6\x89\xe6\xc1\xc1\x04"
  18790			  "\x00\x00\x00\x60",
  18791		.klen	= 36,
  18792		.iv	= "\xdb\x56\x72\xc9\x7a\xa8\xf0\xb2",
  18793		.ptext	= "Single block msg",
  18794		.ctext	= "\x14\x5a\xd0\x1d\xbf\x82\x4e\xc7"
  18795			  "\x56\x08\x63\xdc\x71\xe3\xe0\xc0",
  18796		.len	= 16,
  18797	}, {
  18798		.key	= "\xf6\xd6\x6d\x6b\xd5\x2d\x59\xbb"
  18799			  "\x07\x96\x36\x58\x79\xef\xf8\x86"
  18800			  "\xc6\x6d\xd5\x1a\x5b\x6a\x99\x74"
  18801			  "\x4b\x50\x59\x0c\x87\xa2\x38\x84"
  18802			  "\x00\xfa\xac\x24",
  18803		.klen	= 36,
  18804		.iv	= "\xc1\x58\x5e\xf1\x5a\x43\xd8\x75",
  18805		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  18806			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  18807			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  18808			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f",
  18809		.ctext	= "\xf0\x5e\x23\x1b\x38\x94\x61\x2c"
  18810			  "\x49\xee\x00\x0b\x80\x4e\xb2\xa9"
  18811			  "\xb8\x30\x6b\x50\x8f\x83\x9d\x6a"
  18812			  "\x55\x30\x83\x1d\x93\x44\xaf\x1c",
  18813		.len	= 32,
  18814	}, {
  18815	// generated using Crypto++
  18816		.key = "\x00\x01\x02\x03\x04\x05\x06\x07"
  18817			"\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  18818			"\x10\x11\x12\x13\x14\x15\x16\x17"
  18819			"\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  18820			"\x00\x00\x00\x00",
  18821		.klen = 32 + 4,
  18822		.iv = "\x00\x00\x00\x00\x00\x00\x00\x00",
  18823		.ptext =
  18824			"\x00\x01\x02\x03\x04\x05\x06\x07"
  18825			"\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  18826			"\x10\x11\x12\x13\x14\x15\x16\x17"
  18827			"\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  18828			"\x20\x21\x22\x23\x24\x25\x26\x27"
  18829			"\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  18830			"\x30\x31\x32\x33\x34\x35\x36\x37"
  18831			"\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  18832			"\x40\x41\x42\x43\x44\x45\x46\x47"
  18833			"\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  18834			"\x50\x51\x52\x53\x54\x55\x56\x57"
  18835			"\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"
  18836			"\x60\x61\x62\x63\x64\x65\x66\x67"
  18837			"\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f"
  18838			"\x70\x71\x72\x73\x74\x75\x76\x77"
  18839			"\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"
  18840			"\x80\x81\x82\x83\x84\x85\x86\x87"
  18841			"\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  18842			"\x90\x91\x92\x93\x94\x95\x96\x97"
  18843			"\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f"
  18844			"\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  18845			"\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  18846			"\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  18847			"\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  18848			"\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  18849			"\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  18850			"\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  18851			"\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf"
  18852			"\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7"
  18853			"\xe8\xe9\xea\xeb\xec\xed\xee\xef"
  18854			"\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  18855			"\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"
  18856			"\x00\x03\x06\x09\x0c\x0f\x12\x15"
  18857			"\x18\x1b\x1e\x21\x24\x27\x2a\x2d"
  18858			"\x30\x33\x36\x39\x3c\x3f\x42\x45"
  18859			"\x48\x4b\x4e\x51\x54\x57\x5a\x5d"
  18860			"\x60\x63\x66\x69\x6c\x6f\x72\x75"
  18861			"\x78\x7b\x7e\x81\x84\x87\x8a\x8d"
  18862			"\x90\x93\x96\x99\x9c\x9f\xa2\xa5"
  18863			"\xa8\xab\xae\xb1\xb4\xb7\xba\xbd"
  18864			"\xc0\xc3\xc6\xc9\xcc\xcf\xd2\xd5"
  18865			"\xd8\xdb\xde\xe1\xe4\xe7\xea\xed"
  18866			"\xf0\xf3\xf6\xf9\xfc\xff\x02\x05"
  18867			"\x08\x0b\x0e\x11\x14\x17\x1a\x1d"
  18868			"\x20\x23\x26\x29\x2c\x2f\x32\x35"
  18869			"\x38\x3b\x3e\x41\x44\x47\x4a\x4d"
  18870			"\x50\x53\x56\x59\x5c\x5f\x62\x65"
  18871			"\x68\x6b\x6e\x71\x74\x77\x7a\x7d"
  18872			"\x80\x83\x86\x89\x8c\x8f\x92\x95"
  18873			"\x98\x9b\x9e\xa1\xa4\xa7\xaa\xad"
  18874			"\xb0\xb3\xb6\xb9\xbc\xbf\xc2\xc5"
  18875			"\xc8\xcb\xce\xd1\xd4\xd7\xda\xdd"
  18876			"\xe0\xe3\xe6\xe9\xec\xef\xf2\xf5"
  18877			"\xf8\xfb\xfe\x01\x04\x07\x0a\x0d"
  18878			"\x10\x13\x16\x19\x1c\x1f\x22\x25"
  18879			"\x28\x2b\x2e\x31\x34\x37\x3a\x3d"
  18880			"\x40\x43\x46\x49\x4c\x4f\x52\x55"
  18881			"\x58\x5b\x5e\x61\x64\x67\x6a\x6d"
  18882			"\x70\x73\x76\x79\x7c\x7f\x82\x85"
  18883			"\x88\x8b\x8e\x91\x94\x97\x9a\x9d"
  18884			"\xa0\xa3\xa6\xa9\xac\xaf\xb2\xb5"
  18885			"\xb8\xbb\xbe\xc1\xc4\xc7\xca\xcd"
  18886			"\xd0\xd3\xd6\xd9\xdc\xdf\xe2\xe5"
  18887			"\xe8\xeb\xee\xf1\xf4\xf7\xfa\xfd"
  18888			"\x00\x05\x0a\x0f\x14\x19\x1e\x23"
  18889			"\x28\x2d\x32\x37\x3c\x41\x46\x4b"
  18890			"\x50\x55\x5a\x5f\x64\x69\x6e\x73"
  18891			"\x78\x7d\x82\x87\x8c\x91\x96\x9b"
  18892			"\xa0\xa5\xaa\xaf\xb4\xb9\xbe\xc3"
  18893			"\xc8\xcd\xd2\xd7\xdc\xe1\xe6\xeb"
  18894			"\xf0\xf5\xfa\xff\x04\x09\x0e\x13"
  18895			"\x18\x1d\x22\x27\x2c\x31\x36\x3b"
  18896			"\x40\x45\x4a\x4f\x54\x59\x5e\x63"
  18897			"\x68\x6d\x72\x77\x7c\x81\x86\x8b"
  18898			"\x90\x95\x9a\x9f\xa4\xa9\xae\xb3"
  18899			"\xb8\xbd\xc2\xc7\xcc\xd1\xd6\xdb"
  18900			"\xe0\xe5\xea\xef\xf4\xf9\xfe\x03"
  18901			"\x08\x0d\x12\x17\x1c\x21\x26\x2b"
  18902			"\x30\x35\x3a\x3f\x44\x49\x4e\x53"
  18903			"\x58\x5d\x62\x67\x6c\x71\x76\x7b"
  18904			"\x80\x85\x8a\x8f\x94\x99\x9e\xa3"
  18905			"\xa8\xad\xb2\xb7\xbc\xc1\xc6\xcb"
  18906			"\xd0\xd5\xda\xdf\xe4\xe9\xee\xf3"
  18907			"\xf8\xfd\x02\x07\x0c\x11\x16\x1b"
  18908			"\x20\x25\x2a\x2f\x34\x39\x3e\x43"
  18909			"\x48\x4d\x52\x57\x5c\x61\x66\x6b"
  18910			"\x70\x75\x7a\x7f\x84\x89\x8e\x93"
  18911			"\x98\x9d\xa2\xa7\xac\xb1\xb6\xbb"
  18912			"\xc0\xc5\xca\xcf\xd4\xd9\xde\xe3"
  18913			"\xe8\xed\xf2\xf7\xfc\x01\x06\x0b"
  18914			"\x10\x15\x1a\x1f\x24\x29\x2e\x33"
  18915			"\x38\x3d\x42\x47\x4c\x51\x56\x5b"
  18916			"\x60\x65\x6a\x6f\x74\x79\x7e\x83"
  18917			"\x88\x8d\x92\x97\x9c\xa1\xa6\xab"
  18918			"\xb0\xb5\xba\xbf\xc4\xc9\xce\xd3"
  18919			"\xd8\xdd\xe2\xe7\xec\xf1\xf6\xfb"
  18920			"\x00\x07\x0e\x15\x1c\x23\x2a\x31"
  18921			"\x38\x3f\x46\x4d\x54\x5b\x62\x69"
  18922			"\x70\x77\x7e\x85\x8c\x93\x9a\xa1"
  18923			"\xa8\xaf\xb6\xbd\xc4\xcb\xd2\xd9"
  18924			"\xe0\xe7\xee\xf5\xfc\x03\x0a\x11"
  18925			"\x18\x1f\x26\x2d\x34\x3b\x42\x49"
  18926			"\x50\x57\x5e\x65\x6c\x73\x7a\x81"
  18927			"\x88\x8f\x96\x9d\xa4\xab\xb2\xb9"
  18928			"\xc0\xc7\xce\xd5\xdc\xe3\xea\xf1"
  18929			"\xf8\xff\x06\x0d\x14\x1b\x22\x29"
  18930			"\x30\x37\x3e\x45\x4c\x53\x5a\x61"
  18931			"\x68\x6f\x76\x7d\x84\x8b\x92\x99"
  18932			"\xa0\xa7\xae\xb5\xbc\xc3\xca\xd1"
  18933			"\xd8\xdf\xe6\xed\xf4\xfb\x02\x09"
  18934			"\x10\x17\x1e\x25\x2c\x33\x3a\x41"
  18935			"\x48\x4f\x56\x5d\x64\x6b\x72\x79"
  18936			"\x80\x87\x8e\x95\x9c\xa3\xaa\xb1"
  18937			"\xb8\xbf\xc6\xcd\xd4\xdb\xe2\xe9"
  18938			"\xf0\xf7\xfe\x05\x0c\x13\x1a\x21"
  18939			"\x28\x2f\x36\x3d\x44\x4b\x52\x59"
  18940			"\x60\x67\x6e\x75\x7c\x83\x8a\x91"
  18941			"\x98\x9f\xa6\xad\xb4\xbb\xc2\xc9"
  18942			"\xd0\xd7\xde\xe5\xec\xf3\xfa\x01"
  18943			"\x08\x0f\x16\x1d\x24\x2b\x32\x39"
  18944			"\x40\x47\x4e\x55\x5c\x63\x6a\x71"
  18945			"\x78\x7f\x86\x8d\x94\x9b\xa2\xa9"
  18946			"\xb0\xb7\xbe\xc5\xcc\xd3\xda\xe1"
  18947			"\xe8\xef\xf6\xfd\x04\x0b\x12\x19"
  18948			"\x20\x27\x2e\x35\x3c\x43\x4a\x51"
  18949			"\x58\x5f\x66\x6d\x74\x7b\x82\x89"
  18950			"\x90\x97\x9e\xa5\xac\xb3\xba\xc1"
  18951			"\xc8\xcf\xd6\xdd\xe4\xeb\xf2\xf9"
  18952			"\x00\x09\x12\x1b\x24\x2d\x36\x3f"
  18953			"\x48\x51\x5a\x63\x6c\x75\x7e\x87"
  18954			"\x90\x99\xa2\xab\xb4\xbd\xc6\xcf"
  18955			"\xd8\xe1\xea\xf3\xfc\x05\x0e\x17"
  18956			"\x20\x29\x32\x3b\x44\x4d\x56\x5f"
  18957			"\x68\x71\x7a\x83\x8c\x95\x9e\xa7"
  18958			"\xb0\xb9\xc2\xcb\xd4\xdd\xe6\xef"
  18959			"\xf8\x01\x0a\x13\x1c\x25\x2e\x37"
  18960			"\x40\x49\x52\x5b\x64\x6d\x76\x7f"
  18961			"\x88\x91\x9a\xa3\xac\xb5\xbe\xc7"
  18962			"\xd0\xd9\xe2\xeb\xf4\xfd\x06\x0f"
  18963			"\x18\x21\x2a\x33\x3c\x45\x4e\x57"
  18964			"\x60\x69\x72\x7b\x84\x8d\x96\x9f"
  18965			"\xa8\xb1\xba\xc3\xcc\xd5\xde\xe7"
  18966			"\xf0\xf9\x02\x0b\x14\x1d\x26\x2f"
  18967			"\x38\x41\x4a\x53\x5c\x65\x6e\x77"
  18968			"\x80\x89\x92\x9b\xa4\xad\xb6\xbf"
  18969			"\xc8\xd1\xda\xe3\xec\xf5\xfe\x07"
  18970			"\x10\x19\x22\x2b\x34\x3d\x46\x4f"
  18971			"\x58\x61\x6a\x73\x7c\x85\x8e\x97"
  18972			"\xa0\xa9\xb2\xbb\xc4\xcd\xd6\xdf"
  18973			"\xe8\xf1\xfa\x03\x0c\x15\x1e\x27"
  18974			"\x30\x39\x42\x4b\x54\x5d\x66\x6f"
  18975			"\x78\x81\x8a\x93\x9c\xa5\xae\xb7"
  18976			"\xc0\xc9\xd2\xdb\xe4\xed\xf6\xff"
  18977			"\x08\x11\x1a\x23\x2c\x35\x3e\x47"
  18978			"\x50\x59\x62\x6b\x74\x7d\x86\x8f"
  18979			"\x98\xa1\xaa\xb3\xbc\xc5\xce\xd7"
  18980			"\xe0\xe9\xf2\xfb\x04\x0d\x16\x1f"
  18981			"\x28\x31\x3a\x43\x4c\x55\x5e\x67"
  18982			"\x70\x79\x82\x8b\x94\x9d\xa6\xaf"
  18983			"\xb8\xc1\xca\xd3\xdc\xe5\xee\xf7"
  18984			"\x00\x0b\x16\x21\x2c\x37\x42\x4d"
  18985			"\x58\x63\x6e\x79\x84\x8f\x9a\xa5"
  18986			"\xb0\xbb\xc6\xd1\xdc\xe7\xf2\xfd"
  18987			"\x08\x13\x1e\x29\x34\x3f\x4a\x55"
  18988			"\x60\x6b\x76\x81\x8c\x97\xa2\xad"
  18989			"\xb8\xc3\xce\xd9\xe4\xef\xfa\x05"
  18990			"\x10\x1b\x26\x31\x3c\x47\x52\x5d"
  18991			"\x68\x73\x7e\x89\x94\x9f\xaa\xb5"
  18992			"\xc0\xcb\xd6\xe1\xec\xf7\x02\x0d"
  18993			"\x18\x23\x2e\x39\x44\x4f\x5a\x65"
  18994			"\x70\x7b\x86\x91\x9c\xa7\xb2\xbd"
  18995			"\xc8\xd3\xde\xe9\xf4\xff\x0a\x15"
  18996			"\x20\x2b\x36\x41\x4c\x57\x62\x6d"
  18997			"\x78\x83\x8e\x99\xa4\xaf\xba\xc5"
  18998			"\xd0\xdb\xe6\xf1\xfc\x07\x12\x1d"
  18999			"\x28\x33\x3e\x49\x54\x5f\x6a\x75"
  19000			"\x80\x8b\x96\xa1\xac\xb7\xc2\xcd"
  19001			"\xd8\xe3\xee\xf9\x04\x0f\x1a\x25"
  19002			"\x30\x3b\x46\x51\x5c\x67\x72\x7d"
  19003			"\x88\x93\x9e\xa9\xb4\xbf\xca\xd5"
  19004			"\xe0\xeb\xf6\x01\x0c\x17\x22\x2d"
  19005			"\x38\x43\x4e\x59\x64\x6f\x7a\x85"
  19006			"\x90\x9b\xa6\xb1\xbc\xc7\xd2\xdd"
  19007			"\xe8\xf3\xfe\x09\x14\x1f\x2a\x35"
  19008			"\x40\x4b\x56\x61\x6c\x77\x82\x8d"
  19009			"\x98\xa3\xae\xb9\xc4\xcf\xda\xe5"
  19010			"\xf0\xfb\x06\x11\x1c\x27\x32\x3d"
  19011			"\x48\x53\x5e\x69\x74\x7f\x8a\x95"
  19012			"\xa0\xab\xb6\xc1\xcc\xd7\xe2\xed"
  19013			"\xf8\x03\x0e\x19\x24\x2f\x3a\x45"
  19014			"\x50\x5b\x66\x71\x7c\x87\x92\x9d"
  19015			"\xa8\xb3\xbe\xc9\xd4\xdf\xea\xf5"
  19016			"\x00\x0d\x1a\x27\x34\x41\x4e\x5b"
  19017			"\x68\x75\x82\x8f\x9c\xa9\xb6\xc3"
  19018			"\xd0\xdd\xea\xf7\x04\x11\x1e\x2b"
  19019			"\x38\x45\x52\x5f\x6c\x79\x86\x93"
  19020			"\xa0\xad\xba\xc7\xd4\xe1\xee\xfb"
  19021			"\x08\x15\x22\x2f\x3c\x49\x56\x63"
  19022			"\x70\x7d\x8a\x97\xa4\xb1\xbe\xcb"
  19023			"\xd8\xe5\xf2\xff\x0c\x19\x26\x33"
  19024			"\x40\x4d\x5a\x67\x74\x81\x8e\x9b"
  19025			"\xa8\xb5\xc2\xcf\xdc\xe9\xf6\x03"
  19026			"\x10\x1d\x2a\x37\x44\x51\x5e\x6b"
  19027			"\x78\x85\x92\x9f\xac\xb9\xc6\xd3"
  19028			"\xe0\xed\xfa\x07\x14\x21\x2e\x3b"
  19029			"\x48\x55\x62\x6f\x7c\x89\x96\xa3"
  19030			"\xb0\xbd\xca\xd7\xe4\xf1\xfe\x0b"
  19031			"\x18\x25\x32\x3f\x4c\x59\x66\x73"
  19032			"\x80\x8d\x9a\xa7\xb4\xc1\xce\xdb"
  19033			"\xe8\xf5\x02\x0f\x1c\x29\x36\x43"
  19034			"\x50\x5d\x6a\x77\x84\x91\x9e\xab"
  19035			"\xb8\xc5\xd2\xdf\xec\xf9\x06\x13"
  19036			"\x20\x2d\x3a\x47\x54\x61\x6e\x7b"
  19037			"\x88\x95\xa2\xaf\xbc\xc9\xd6\xe3"
  19038			"\xf0\xfd\x0a\x17\x24\x31\x3e\x4b"
  19039			"\x58\x65\x72\x7f\x8c\x99\xa6\xb3"
  19040			"\xc0\xcd\xda\xe7\xf4\x01\x0e\x1b"
  19041			"\x28\x35\x42\x4f\x5c\x69\x76\x83"
  19042			"\x90\x9d\xaa\xb7\xc4\xd1\xde\xeb"
  19043			"\xf8\x05\x12\x1f\x2c\x39\x46\x53"
  19044			"\x60\x6d\x7a\x87\x94\xa1\xae\xbb"
  19045			"\xc8\xd5\xe2\xef\xfc\x09\x16\x23"
  19046			"\x30\x3d\x4a\x57\x64\x71\x7e\x8b"
  19047			"\x98\xa5\xb2\xbf\xcc\xd9\xe6\xf3"
  19048			"\x00\x0f\x1e\x2d\x3c\x4b\x5a\x69"
  19049			"\x78\x87\x96\xa5\xb4\xc3\xd2\xe1"
  19050			"\xf0\xff\x0e\x1d\x2c\x3b\x4a\x59"
  19051			"\x68\x77\x86\x95\xa4\xb3\xc2\xd1"
  19052			"\xe0\xef\xfe\x0d\x1c\x2b\x3a\x49"
  19053			"\x58\x67\x76\x85\x94\xa3\xb2\xc1"
  19054			"\xd0\xdf\xee\xfd\x0c\x1b\x2a\x39"
  19055			"\x48\x57\x66\x75\x84\x93\xa2\xb1"
  19056			"\xc0\xcf\xde\xed\xfc\x0b\x1a\x29"
  19057			"\x38\x47\x56\x65\x74\x83\x92\xa1"
  19058			"\xb0\xbf\xce\xdd\xec\xfb\x0a\x19"
  19059			"\x28\x37\x46\x55\x64\x73\x82\x91"
  19060			"\xa0\xaf\xbe\xcd\xdc\xeb\xfa\x09"
  19061			"\x18\x27\x36\x45\x54\x63\x72\x81"
  19062			"\x90\x9f\xae\xbd\xcc\xdb\xea\xf9"
  19063			"\x08\x17\x26\x35\x44\x53\x62\x71"
  19064			"\x80\x8f\x9e\xad\xbc\xcb\xda\xe9"
  19065			"\xf8\x07\x16\x25\x34\x43\x52\x61"
  19066			"\x70\x7f\x8e\x9d\xac\xbb\xca\xd9"
  19067			"\xe8\xf7\x06\x15\x24\x33\x42\x51"
  19068			"\x60\x6f\x7e\x8d\x9c\xab\xba\xc9"
  19069			"\xd8\xe7\xf6\x05\x14\x23\x32\x41"
  19070			"\x50\x5f\x6e\x7d\x8c\x9b\xaa\xb9"
  19071			"\xc8\xd7\xe6\xf5\x04\x13\x22\x31"
  19072			"\x40\x4f\x5e\x6d\x7c\x8b\x9a\xa9"
  19073			"\xb8\xc7\xd6\xe5\xf4\x03\x12\x21"
  19074			"\x30\x3f\x4e\x5d\x6c\x7b\x8a\x99"
  19075			"\xa8\xb7\xc6\xd5\xe4\xf3\x02\x11"
  19076			"\x20\x2f\x3e\x4d\x5c\x6b\x7a\x89"
  19077			"\x98\xa7\xb6\xc5\xd4\xe3\xf2\x01"
  19078			"\x10\x1f\x2e\x3d\x4c\x5b\x6a\x79"
  19079			"\x88\x97\xa6\xb5\xc4\xd3\xe2\xf1"
  19080			"\x00\x11\x22\x33\x44\x55\x66\x77"
  19081			"\x88\x99\xaa\xbb\xcc\xdd\xee\xff"
  19082			"\x10\x21\x32\x43\x54\x65\x76\x87"
  19083			"\x98\xa9\xba\xcb\xdc\xed\xfe\x0f"
  19084			"\x20\x31\x42\x53\x64\x75\x86\x97"
  19085			"\xa8\xb9\xca\xdb\xec\xfd\x0e\x1f"
  19086			"\x30\x41\x52\x63\x74\x85\x96\xa7"
  19087			"\xb8\xc9\xda\xeb\xfc\x0d\x1e\x2f"
  19088			"\x40\x51\x62\x73\x84\x95\xa6\xb7"
  19089			"\xc8\xd9\xea\xfb\x0c\x1d\x2e\x3f"
  19090			"\x50\x61\x72\x83\x94\xa5\xb6\xc7"
  19091			"\xd8\xe9\xfa\x0b\x1c\x2d\x3e\x4f"
  19092			"\x60\x71\x82\x93\xa4\xb5\xc6\xd7"
  19093			"\xe8\xf9\x0a\x1b\x2c\x3d\x4e\x5f"
  19094			"\x70\x81\x92\xa3\xb4\xc5\xd6\xe7"
  19095			"\xf8\x09\x1a\x2b\x3c\x4d\x5e\x6f"
  19096			"\x80\x91\xa2\xb3\xc4\xd5\xe6\xf7"
  19097			"\x08\x19\x2a\x3b\x4c\x5d\x6e\x7f"
  19098			"\x90\xa1\xb2\xc3\xd4\xe5\xf6\x07"
  19099			"\x18\x29\x3a\x4b\x5c\x6d\x7e\x8f"
  19100			"\xa0\xb1\xc2\xd3\xe4\xf5\x06\x17"
  19101			"\x28\x39\x4a\x5b\x6c\x7d\x8e\x9f"
  19102			"\xb0\xc1\xd2\xe3\xf4\x05\x16\x27"
  19103			"\x38\x49\x5a\x6b\x7c\x8d\x9e\xaf"
  19104			"\xc0\xd1\xe2\xf3\x04\x15\x26\x37"
  19105			"\x48\x59\x6a\x7b\x8c\x9d\xae\xbf"
  19106			"\xd0\xe1\xf2\x03\x14\x25\x36\x47"
  19107			"\x58\x69\x7a\x8b\x9c\xad\xbe\xcf"
  19108			"\xe0\xf1\x02\x13\x24\x35\x46\x57"
  19109			"\x68\x79\x8a\x9b\xac\xbd\xce\xdf"
  19110			"\xf0\x01\x12\x23\x34\x45\x56\x67"
  19111			"\x78\x89\x9a\xab\xbc\xcd\xde\xef"
  19112			"\x00\x13\x26\x39\x4c\x5f\x72\x85"
  19113			"\x98\xab\xbe\xd1\xe4\xf7\x0a\x1d"
  19114			"\x30\x43\x56\x69\x7c\x8f\xa2\xb5"
  19115			"\xc8\xdb\xee\x01\x14\x27\x3a\x4d"
  19116			"\x60\x73\x86\x99\xac\xbf\xd2\xe5"
  19117			"\xf8\x0b\x1e\x31\x44\x57\x6a\x7d"
  19118			"\x90\xa3\xb6\xc9\xdc\xef\x02\x15"
  19119			"\x28\x3b\x4e\x61\x74\x87\x9a\xad"
  19120			"\xc0\xd3\xe6\xf9\x0c\x1f\x32\x45"
  19121			"\x58\x6b\x7e\x91\xa4\xb7\xca\xdd"
  19122			"\xf0\x03\x16\x29\x3c\x4f\x62\x75"
  19123			"\x88\x9b\xae\xc1\xd4\xe7\xfa\x0d"
  19124			"\x20\x33\x46\x59\x6c\x7f\x92\xa5"
  19125			"\xb8\xcb\xde\xf1\x04\x17\x2a\x3d"
  19126			"\x50\x63\x76\x89\x9c\xaf\xc2\xd5"
  19127			"\xe8\xfb\x0e\x21\x34\x47\x5a\x6d"
  19128			"\x80\x93\xa6\xb9\xcc\xdf\xf2\x05"
  19129			"\x18\x2b\x3e\x51\x64\x77\x8a\x9d"
  19130			"\xb0\xc3\xd6\xe9\xfc\x0f\x22\x35"
  19131			"\x48\x5b\x6e\x81\x94\xa7\xba\xcd"
  19132			"\xe0\xf3\x06\x19\x2c\x3f\x52\x65"
  19133			"\x78\x8b\x9e\xb1\xc4\xd7\xea\xfd"
  19134			"\x10\x23\x36\x49\x5c\x6f\x82\x95"
  19135			"\xa8\xbb\xce\xe1\xf4\x07\x1a\x2d"
  19136			"\x40\x53\x66\x79\x8c\x9f\xb2\xc5"
  19137			"\xd8\xeb\xfe\x11\x24\x37\x4a\x5d"
  19138			"\x70\x83\x96\xa9\xbc\xcf\xe2\xf5"
  19139			"\x08\x1b\x2e\x41\x54\x67\x7a\x8d"
  19140			"\xa0\xb3\xc6\xd9\xec\xff\x12\x25"
  19141			"\x38\x4b\x5e\x71\x84\x97\xaa\xbd"
  19142			"\xd0\xe3\xf6\x09\x1c\x2f\x42\x55"
  19143			"\x68\x7b\x8e\xa1\xb4\xc7\xda\xed"
  19144			"\x00\x15\x2a\x3f\x54\x69\x7e\x93"
  19145			"\xa8\xbd\xd2\xe7\xfc\x11\x26\x3b"
  19146			"\x50\x65\x7a\x8f\xa4\xb9\xce\xe3"
  19147			"\xf8\x0d\x22\x37\x4c\x61\x76\x8b"
  19148			"\xa0\xb5\xca\xdf\xf4\x09\x1e\x33"
  19149			"\x48\x5d\x72\x87\x9c\xb1\xc6\xdb"
  19150			"\xf0\x05\x1a\x2f\x44\x59\x6e\x83"
  19151			"\x98\xad\xc2\xd7\xec\x01\x16\x2b"
  19152			"\x40\x55\x6a\x7f\x94\xa9\xbe\xd3"
  19153			"\xe8\xfd\x12\x27\x3c\x51\x66\x7b"
  19154			"\x90\xa5\xba\xcf\xe4\xf9\x0e\x23"
  19155			"\x38\x4d\x62\x77\x8c\xa1\xb6\xcb"
  19156			"\xe0\xf5\x0a\x1f\x34\x49\x5e\x73"
  19157			"\x88\x9d\xb2\xc7\xdc\xf1\x06\x1b"
  19158			"\x30\x45\x5a\x6f\x84\x99\xae\xc3"
  19159			"\xd8\xed\x02\x17\x2c\x41\x56\x6b"
  19160			"\x80\x95\xaa\xbf\xd4\xe9\xfe\x13"
  19161			"\x28\x3d\x52\x67\x7c\x91\xa6\xbb"
  19162			"\xd0\xe5\xfa\x0f\x24\x39\x4e\x63"
  19163			"\x78\x8d\xa2\xb7\xcc\xe1\xf6\x0b"
  19164			"\x20\x35\x4a\x5f\x74\x89\x9e\xb3"
  19165			"\xc8\xdd\xf2\x07\x1c\x31\x46\x5b"
  19166			"\x70\x85\x9a\xaf\xc4\xd9\xee\x03"
  19167			"\x18\x2d\x42\x57\x6c\x81\x96\xab"
  19168			"\xc0\xd5\xea\xff\x14\x29\x3e\x53"
  19169			"\x68\x7d\x92\xa7\xbc\xd1\xe6\xfb"
  19170			"\x10\x25\x3a\x4f\x64\x79\x8e\xa3"
  19171			"\xb8\xcd\xe2\xf7\x0c\x21\x36\x4b"
  19172			"\x60\x75\x8a\x9f\xb4\xc9\xde\xf3"
  19173			"\x08\x1d\x32\x47\x5c\x71\x86\x9b"
  19174			"\xb0\xc5\xda\xef\x04\x19\x2e\x43"
  19175			"\x58\x6d\x82\x97\xac\xc1\xd6\xeb"
  19176			"\x00\x17\x2e\x45\x5c\x73\x8a\xa1"
  19177			"\xb8\xcf\xe6\xfd\x14\x2b\x42\x59"
  19178			"\x70\x87\x9e\xb5\xcc\xe3\xfa\x11"
  19179			"\x28\x3f\x56\x6d\x84\x9b\xb2\xc9"
  19180			"\xe0\xf7\x0e\x25\x3c\x53\x6a\x81"
  19181			"\x98\xaf\xc6\xdd\xf4\x0b\x22\x39"
  19182			"\x50\x67\x7e\x95\xac\xc3\xda\xf1"
  19183			"\x08\x1f\x36\x4d\x64\x7b\x92\xa9"
  19184			"\xc0\xd7\xee\x05\x1c\x33\x4a\x61"
  19185			"\x78\x8f\xa6\xbd\xd4\xeb\x02\x19"
  19186			"\x30\x47\x5e\x75\x8c\xa3\xba\xd1"
  19187			"\xe8\xff\x16\x2d\x44\x5b\x72\x89"
  19188			"\xa0\xb7\xce\xe5\xfc\x13\x2a\x41"
  19189			"\x58\x6f\x86\x9d\xb4\xcb\xe2\xf9"
  19190			"\x10\x27\x3e\x55\x6c\x83\x9a\xb1"
  19191			"\xc8\xdf\xf6\x0d\x24\x3b\x52\x69"
  19192			"\x80\x97\xae\xc5\xdc\xf3\x0a\x21"
  19193			"\x38\x4f\x66\x7d\x94\xab\xc2\xd9"
  19194			"\xf0\x07\x1e\x35\x4c\x63\x7a\x91"
  19195			"\xa8\xbf\xd6\xed\x04\x1b\x32\x49"
  19196			"\x60\x77\x8e\xa5\xbc\xd3\xea\x01"
  19197			"\x18\x2f\x46\x5d\x74\x8b\xa2\xb9"
  19198			"\xd0\xe7\xfe\x15\x2c\x43\x5a\x71"
  19199			"\x88\x9f\xb6\xcd\xe4\xfb\x12\x29"
  19200			"\x40\x57\x6e\x85\x9c\xb3\xca\xe1"
  19201			"\xf8\x0f\x26\x3d\x54\x6b\x82\x99"
  19202			"\xb0\xc7\xde\xf5\x0c\x23\x3a\x51"
  19203			"\x68\x7f\x96\xad\xc4\xdb\xf2\x09"
  19204			"\x20\x37\x4e\x65\x7c\x93\xaa\xc1"
  19205			"\xd8\xef\x06\x1d\x34\x4b\x62\x79"
  19206			"\x90\xa7\xbe\xd5\xec\x03\x1a\x31"
  19207			"\x48\x5f\x76\x8d\xa4\xbb\xd2\xe9"
  19208			"\x00\x19\x32\x4b\x64\x7d\x96\xaf"
  19209			"\xc8\xe1\xfa\x13\x2c\x45\x5e\x77"
  19210			"\x90\xa9\xc2\xdb\xf4\x0d\x26\x3f"
  19211			"\x58\x71\x8a\xa3\xbc\xd5\xee\x07"
  19212			"\x20\x39\x52\x6b\x84\x9d\xb6\xcf"
  19213			"\xe8\x01\x1a\x33\x4c\x65\x7e\x97"
  19214			"\xb0\xc9\xe2\xfb\x14\x2d\x46\x5f"
  19215			"\x78\x91\xaa\xc3\xdc\xf5\x0e\x27"
  19216			"\x40\x59\x72\x8b\xa4\xbd\xd6\xef"
  19217			"\x08\x21\x3a\x53\x6c\x85\x9e\xb7"
  19218			"\xd0\xe9\x02\x1b\x34\x4d\x66\x7f"
  19219			"\x98\xb1\xca\xe3\xfc\x15\x2e\x47"
  19220			"\x60\x79\x92\xab\xc4\xdd\xf6\x0f"
  19221			"\x28\x41\x5a\x73\x8c\xa5\xbe\xd7"
  19222			"\xf0\x09\x22\x3b\x54\x6d\x86\x9f"
  19223			"\xb8\xd1\xea\x03\x1c\x35\x4e\x67"
  19224			"\x80\x99\xb2\xcb\xe4\xfd\x16\x2f"
  19225			"\x48\x61\x7a\x93\xac\xc5\xde\xf7"
  19226			"\x10\x29\x42\x5b\x74\x8d\xa6\xbf"
  19227			"\xd8\xf1\x0a\x23\x3c\x55\x6e\x87"
  19228			"\xa0\xb9\xd2\xeb\x04\x1d\x36\x4f"
  19229			"\x68\x81\x9a\xb3\xcc\xe5\xfe\x17"
  19230			"\x30\x49\x62\x7b\x94\xad\xc6\xdf"
  19231			"\xf8\x11\x2a\x43\x5c\x75\x8e\xa7"
  19232			"\xc0\xd9\xf2\x0b\x24\x3d\x56\x6f"
  19233			"\x88\xa1\xba\xd3\xec\x05\x1e\x37"
  19234			"\x50\x69\x82\x9b\xb4\xcd\xe6\xff"
  19235			"\x18\x31\x4a\x63\x7c\x95\xae\xc7"
  19236			"\xe0\xf9\x12\x2b\x44\x5d\x76\x8f"
  19237			"\xa8\xc1\xda\xf3\x0c\x25\x3e\x57"
  19238			"\x70\x89\xa2\xbb\xd4\xed\x06\x1f"
  19239			"\x38\x51\x6a\x83\x9c\xb5\xce\xe7"
  19240			"\x00\x1b\x36\x51\x6c\x87\xa2\xbd"
  19241			"\xd8\xf3\x0e\x29\x44\x5f\x7a\x95"
  19242			"\xb0\xcb\xe6\x01\x1c\x37\x52\x6d"
  19243			"\x88\xa3\xbe\xd9\xf4\x0f\x2a\x45"
  19244			"\x60\x7b\x96\xb1\xcc\xe7\x02\x1d"
  19245			"\x38\x53\x6e\x89\xa4\xbf\xda\xf5"
  19246			"\x10\x2b\x46\x61\x7c\x97\xb2\xcd"
  19247			"\xe8\x03\x1e\x39\x54\x6f\x8a\xa5"
  19248			"\xc0\xdb\xf6\x11\x2c\x47\x62\x7d"
  19249			"\x98\xb3\xce\xe9\x04\x1f\x3a\x55"
  19250			"\x70\x8b\xa6\xc1\xdc\xf7\x12\x2d"
  19251			"\x48\x63\x7e\x99\xb4\xcf\xea\x05"
  19252			"\x20\x3b\x56\x71\x8c\xa7\xc2\xdd"
  19253			"\xf8\x13\x2e\x49\x64\x7f\x9a\xb5"
  19254			"\xd0\xeb\x06\x21\x3c\x57\x72\x8d"
  19255			"\xa8\xc3\xde\xf9\x14\x2f\x4a\x65"
  19256			"\x80\x9b\xb6\xd1\xec\x07\x22\x3d"
  19257			"\x58\x73\x8e\xa9\xc4\xdf\xfa\x15"
  19258			"\x30\x4b\x66\x81\x9c\xb7\xd2\xed"
  19259			"\x08\x23\x3e\x59\x74\x8f\xaa\xc5"
  19260			"\xe0\xfb\x16\x31\x4c\x67\x82\x9d"
  19261			"\xb8\xd3\xee\x09\x24\x3f\x5a\x75"
  19262			"\x90\xab\xc6\xe1\xfc\x17\x32\x4d"
  19263			"\x68\x83\x9e\xb9\xd4\xef\x0a\x25"
  19264			"\x40\x5b\x76\x91\xac\xc7\xe2\xfd"
  19265			"\x18\x33\x4e\x69\x84\x9f\xba\xd5"
  19266			"\xf0\x0b\x26\x41\x5c\x77\x92\xad"
  19267			"\xc8\xe3\xfe\x19\x34\x4f\x6a\x85"
  19268			"\xa0\xbb\xd6\xf1\x0c\x27\x42\x5d"
  19269			"\x78\x93\xae\xc9\xe4\xff\x1a\x35"
  19270			"\x50\x6b\x86\xa1\xbc\xd7\xf2\x0d"
  19271			"\x28\x43\x5e\x79\x94\xaf\xca\xe5"
  19272			"\x00\x1d\x3a\x57\x74\x91\xae\xcb"
  19273			"\xe8\x05\x22\x3f\x5c\x79\x96\xb3"
  19274			"\xd0\xed\x0a\x27\x44\x61\x7e\x9b"
  19275			"\xb8\xd5\xf2\x0f\x2c\x49\x66\x83"
  19276			"\xa0\xbd\xda\xf7\x14\x31\x4e\x6b"
  19277			"\x88\xa5\xc2\xdf\xfc\x19\x36\x53"
  19278			"\x70\x8d\xaa\xc7\xe4\x01\x1e\x3b"
  19279			"\x58\x75\x92\xaf\xcc\xe9\x06\x23"
  19280			"\x40\x5d\x7a\x97\xb4\xd1\xee\x0b"
  19281			"\x28\x45\x62\x7f\x9c\xb9\xd6\xf3"
  19282			"\x10\x2d\x4a\x67\x84\xa1\xbe\xdb"
  19283			"\xf8\x15\x32\x4f\x6c\x89\xa6\xc3"
  19284			"\xe0\xfd\x1a\x37\x54\x71\x8e\xab"
  19285			"\xc8\xe5\x02\x1f\x3c\x59\x76\x93"
  19286			"\xb0\xcd\xea\x07\x24\x41\x5e\x7b"
  19287			"\x98\xb5\xd2\xef\x0c\x29\x46\x63"
  19288			"\x80\x9d\xba\xd7\xf4\x11\x2e\x4b"
  19289			"\x68\x85\xa2\xbf\xdc\xf9\x16\x33"
  19290			"\x50\x6d\x8a\xa7\xc4\xe1\xfe\x1b"
  19291			"\x38\x55\x72\x8f\xac\xc9\xe6\x03"
  19292			"\x20\x3d\x5a\x77\x94\xb1\xce\xeb"
  19293			"\x08\x25\x42\x5f\x7c\x99\xb6\xd3"
  19294			"\xf0\x0d\x2a\x47\x64\x81\x9e\xbb"
  19295			"\xd8\xf5\x12\x2f\x4c\x69\x86\xa3"
  19296			"\xc0\xdd\xfa\x17\x34\x51\x6e\x8b"
  19297			"\xa8\xc5\xe2\xff\x1c\x39\x56\x73"
  19298			"\x90\xad\xca\xe7\x04\x21\x3e\x5b"
  19299			"\x78\x95\xb2\xcf\xec\x09\x26\x43"
  19300			"\x60\x7d\x9a\xb7\xd4\xf1\x0e\x2b"
  19301			"\x48\x65\x82\x9f\xbc\xd9\xf6\x13"
  19302			"\x30\x4d\x6a\x87\xa4\xc1\xde\xfb"
  19303			"\x18\x35\x52\x6f\x8c\xa9\xc6\xe3"
  19304			"\x00\x1f\x3e\x5d\x7c\x9b\xba\xd9"
  19305			"\xf8\x17\x36\x55\x74\x93\xb2\xd1"
  19306			"\xf0\x0f\x2e\x4d\x6c\x8b\xaa\xc9"
  19307			"\xe8\x07\x26\x45\x64\x83\xa2\xc1"
  19308			"\xe0\xff\x1e\x3d\x5c\x7b\x9a\xb9"
  19309			"\xd8\xf7\x16\x35\x54\x73\x92\xb1"
  19310			"\xd0\xef\x0e\x2d\x4c\x6b\x8a\xa9"
  19311			"\xc8\xe7\x06\x25\x44\x63\x82\xa1"
  19312			"\xc0\xdf\xfe\x1d\x3c\x5b\x7a\x99"
  19313			"\xb8\xd7\xf6\x15\x34\x53\x72\x91"
  19314			"\xb0\xcf\xee\x0d\x2c\x4b\x6a\x89"
  19315			"\xa8\xc7\xe6\x05\x24\x43\x62\x81"
  19316			"\xa0\xbf\xde\xfd\x1c\x3b\x5a\x79"
  19317			"\x98\xb7\xd6\xf5\x14\x33\x52\x71"
  19318			"\x90\xaf\xce\xed\x0c\x2b\x4a\x69"
  19319			"\x88\xa7\xc6\xe5\x04\x23\x42\x61"
  19320			"\x80\x9f\xbe\xdd\xfc\x1b\x3a\x59"
  19321			"\x78\x97\xb6\xd5\xf4\x13\x32\x51"
  19322			"\x70\x8f\xae\xcd\xec\x0b\x2a\x49"
  19323			"\x68\x87\xa6\xc5\xe4\x03\x22\x41"
  19324			"\x60\x7f\x9e\xbd\xdc\xfb\x1a\x39"
  19325			"\x58\x77\x96\xb5\xd4\xf3\x12\x31"
  19326			"\x50\x6f\x8e\xad\xcc\xeb\x0a\x29"
  19327			"\x48\x67\x86\xa5\xc4\xe3\x02\x21"
  19328			"\x40\x5f\x7e\x9d\xbc\xdb\xfa\x19"
  19329			"\x38\x57\x76\x95\xb4\xd3\xf2\x11"
  19330			"\x30\x4f\x6e\x8d\xac\xcb\xea\x09"
  19331			"\x28\x47\x66\x85\xa4\xc3\xe2\x01"
  19332			"\x20\x3f\x5e\x7d\x9c\xbb\xda\xf9"
  19333			"\x18\x37\x56\x75\x94\xb3\xd2\xf1"
  19334			"\x10\x2f\x4e\x6d\x8c\xab\xca\xe9"
  19335			"\x08\x27\x46\x65\x84\xa3\xc2\xe1"
  19336			"\x00\x21\x42\x63",
  19337		.ctext =
  19338			"\xf0\x5c\x74\xad\x4e\xbc\x99\xe2"
  19339			"\xae\xff\x91\x3a\x44\xcf\x38\x32"
  19340			"\x1e\xad\xa7\xcd\xa1\x39\x95\xaa"
  19341			"\x10\xb1\xb3\x2e\x04\x31\x8f\x86"
  19342			"\xf2\x62\x74\x70\x0c\xa4\x46\x08"
  19343			"\xa8\xb7\x99\xa8\xe9\xd2\x73\x79"
  19344			"\x7e\x6e\xd4\x8f\x1e\xc7\x8e\x31"
  19345			"\x0b\xfa\x4b\xce\xfd\xf3\x57\x71"
  19346			"\xe9\x46\x03\xa5\x3d\x34\x00\xe2"
  19347			"\x18\xff\x75\x6d\x06\x2d\x00\xab"
  19348			"\xb9\x3e\x6c\x59\xc5\x84\x06\xb5"
  19349			"\x8b\xd0\x89\x9c\x4a\x79\x16\xc6"
  19350			"\x3d\x74\x54\xfa\x44\xcd\x23\x26"
  19351			"\x5c\xcf\x7e\x28\x92\x32\xbf\xdf"
  19352			"\xa7\x20\x3c\x74\x58\x2a\x9a\xde"
  19353			"\x61\x00\x1c\x4f\xff\x59\xc4\x22"
  19354			"\xac\x3c\xd0\xe8\x6c\xf9\x97\x1b"
  19355			"\x58\x9b\xad\x71\xe8\xa9\xb5\x0d"
  19356			"\xee\x2f\x04\x1f\x7f\xbc\x99\xee"
  19357			"\x84\xff\x42\x60\xdc\x3a\x18\xa5"
  19358			"\x81\xf9\xef\xdc\x7a\x0f\x65\x41"
  19359			"\x2f\xa3\xd3\xf9\xc2\xcb\xc0\x4d"
  19360			"\x8f\xd3\x76\x96\xad\x49\x6d\x38"
  19361			"\x3d\x39\x0b\x6c\x80\xb7\x54\x69"
  19362			"\xf0\x2c\x90\x02\x29\x0d\x1c\x12"
  19363			"\xad\x55\xc3\x8b\x68\xd9\xcc\xb3"
  19364			"\xb2\x64\x33\x90\x5e\xca\x4b\xe2"
  19365			"\xfb\x75\xdc\x63\xf7\x9f\x82\x74"
  19366			"\xf0\xc9\xaa\x7f\xe9\x2a\x9b\x33"
  19367			"\xbc\x88\x00\x7f\xca\xb2\x1f\x14"
  19368			"\xdb\xc5\x8e\x7b\x11\x3c\x3e\x08"
  19369			"\xf3\x83\xe8\xe0\x94\x86\x2e\x92"
  19370			"\x78\x6b\x01\xc9\xc7\x83\xba\x21"
  19371			"\x6a\x25\x15\x33\x4e\x45\x08\xec"
  19372			"\x35\xdb\xe0\x6e\x31\x51\x79\xa9"
  19373			"\x42\x44\x65\xc1\xa0\xf1\xf9\x2a"
  19374			"\x70\xd5\xb6\xc6\xc1\x8c\x39\xfc"
  19375			"\x25\xa6\x55\xd9\xdd\x2d\x4c\xec"
  19376			"\x49\xc6\xeb\x0e\xa8\x25\x2a\x16"
  19377			"\x1b\x66\x84\xda\xe2\x92\xe5\xc0"
  19378			"\xc8\x53\x07\xaf\x80\x84\xec\xfd"
  19379			"\xcd\xd1\x6e\xcd\x6f\x6a\xf5\x36"
  19380			"\xc5\x15\xe5\x25\x7d\x77\xd1\x1a"
  19381			"\x93\x36\xa9\xcf\x7c\xa4\x54\x4a"
  19382			"\x06\x51\x48\x4e\xf6\x59\x87\xd2"
  19383			"\x04\x02\xef\xd3\x44\xde\x76\x31"
  19384			"\xb3\x34\x17\x1b\x9d\x66\x11\x9f"
  19385			"\x1e\xcc\x17\xe9\xc7\x3c\x1b\xe7"
  19386			"\xcb\x50\x08\xfc\xdc\x2b\x24\xdb"
  19387			"\x65\x83\xd0\x3b\xe3\x30\xea\x94"
  19388			"\x6c\xe7\xe8\x35\x32\xc7\xdb\x64"
  19389			"\xb4\x01\xab\x36\x2c\x77\x13\xaf"
  19390			"\xf8\x2b\x88\x3f\x54\x39\xc4\x44"
  19391			"\xfe\xef\x6f\x68\x34\xbe\x0f\x05"
  19392			"\x16\x6d\xf6\x0a\x30\xe7\xe3\xed"
  19393			"\xc4\xde\x3c\x1b\x13\xd8\xdb\xfe"
  19394			"\x41\x62\xe5\x28\xd4\x8d\xa3\xc7"
  19395			"\x93\x97\xc6\x48\x45\x1d\x9f\x83"
  19396			"\xdf\x4b\x40\x3e\x42\x25\x87\x80"
  19397			"\x4c\x7d\xa8\xd4\x98\x23\x95\x75"
  19398			"\x41\x8c\xda\x41\x9b\xd4\xa7\x06"
  19399			"\xb5\xf1\x71\x09\x53\xbe\xca\xbf"
  19400			"\x32\x03\xed\xf0\x50\x1c\x56\x39"
  19401			"\x5b\xa4\x75\x18\xf7\x9b\x58\xef"
  19402			"\x53\xfc\x2a\x38\x23\x15\x75\xcd"
  19403			"\x45\xe5\x5a\x82\x55\xba\x21\xfa"
  19404			"\xd4\xbd\xc6\x94\x7c\xc5\x80\x12"
  19405			"\xf7\x4b\x32\xc4\x9a\x82\xd8\x28"
  19406			"\x8f\xd9\xc2\x0f\x60\x03\xbe\x5e"
  19407			"\x21\xd6\x5f\x58\xbf\x5c\xb1\x32"
  19408			"\x82\x8d\xa9\xe5\xf2\x66\x1a\xc0"
  19409			"\xa0\xbc\x58\x2f\x71\xf5\x2f\xed"
  19410			"\xd1\x26\xb9\xd8\x49\x5a\x07\x19"
  19411			"\x01\x7c\x59\xb0\xf8\xa4\xb7\xd3"
  19412			"\x7b\x1a\x8c\x38\xf4\x50\xa4\x59"
  19413			"\xb0\xcc\x41\x0b\x88\x7f\xe5\x31"
  19414			"\xb3\x42\xba\xa2\x7e\xd4\x32\x71"
  19415			"\x45\x87\x48\xa9\xc2\xf2\x89\xb3"
  19416			"\xe4\xa7\x7e\x52\x15\x61\xfa\xfe"
  19417			"\xc9\xdd\x81\xeb\x13\xab\xab\xc3"
  19418			"\x98\x59\xd8\x16\x3d\x14\x7a\x1c"
  19419			"\x3c\x41\x9a\x16\x16\x9b\xd2\xd2"
  19420			"\x69\x3a\x29\x23\xac\x86\x32\xa5"
  19421			"\x48\x9c\x9e\xf3\x47\x77\x81\x70"
  19422			"\x24\xe8\x85\xd2\xf5\xb5\xfa\xff"
  19423			"\x59\x6a\xd3\x50\x59\x43\x59\xde"
  19424			"\xd9\xf1\x55\xa5\x0c\xc3\x1a\x1a"
  19425			"\x18\x34\x0d\x1a\x63\x33\xed\x10"
  19426			"\xe0\x1d\x2a\x18\xd2\xc0\x54\xa8"
  19427			"\xca\xb5\x9a\xd3\xdd\xca\x45\x84"
  19428			"\x50\xe7\x0f\xfe\xa4\x99\x5a\xbe"
  19429			"\x43\x2d\x9a\xcb\x92\x3f\x5a\x1d"
  19430			"\x85\xd8\xc9\xdf\x68\xc9\x12\x80"
  19431			"\x56\x0c\xdc\x00\xdc\x3a\x7d\x9d"
  19432			"\xa3\xa2\xe8\x4d\xbf\xf9\x70\xa0"
  19433			"\xa4\x13\x4f\x6b\xaf\x0a\x89\x7f"
  19434			"\xda\xf0\xbf\x9b\xc8\x1d\xe5\xf8"
  19435			"\x2e\x8b\x07\xb5\x73\x1b\xcc\xa2"
  19436			"\xa6\xad\x30\xbc\x78\x3c\x5b\x10"
  19437			"\xfa\x5e\x62\x2d\x9e\x64\xb3\x33"
  19438			"\xce\xf9\x1f\x86\xe7\x8b\xa2\xb8"
  19439			"\xe8\x99\x57\x8c\x11\xed\x66\xd9"
  19440			"\x3c\x72\xb9\xc3\xe6\x4e\x17\x3a"
  19441			"\x6a\xcb\x42\x24\x06\xed\x3e\x4e"
  19442			"\xa3\xe8\x6a\x94\xda\x0d\x4e\xd5"
  19443			"\x14\x19\xcf\xb6\x26\xd8\x2e\xcc"
  19444			"\x64\x76\x38\x49\x4d\xfe\x30\x6d"
  19445			"\xe4\xc8\x8c\x7b\xc4\xe0\x35\xba"
  19446			"\x22\x6e\x76\xe1\x1a\xf2\x53\xc3"
  19447			"\x28\xa2\x82\x1f\x61\x69\xad\xc1"
  19448			"\x7b\x28\x4b\x1e\x6c\x85\x95\x9b"
  19449			"\x51\xb5\x17\x7f\x12\x69\x8c\x24"
  19450			"\xd5\xc7\x5a\x5a\x11\x54\xff\x5a"
  19451			"\xf7\x16\xc3\x91\xa6\xf0\xdc\x0a"
  19452			"\xb6\xa7\x4a\x0d\x7a\x58\xfe\xa5"
  19453			"\xf5\xcb\x8f\x7b\x0e\xea\x57\xe7"
  19454			"\xbd\x79\xd6\x1c\x88\x23\x6c\xf2"
  19455			"\x4d\x29\x77\x53\x35\x6a\x00\x8d"
  19456			"\xcd\xa3\x58\xbe\x77\x99\x18\xf8"
  19457			"\xe6\xe1\x8f\xe9\x37\x8f\xe3\xe2"
  19458			"\x5a\x8a\x93\x25\xaf\xf3\x78\x80"
  19459			"\xbe\xa6\x1b\xc6\xac\x8b\x1c\x91"
  19460			"\x58\xe1\x9f\x89\x35\x9d\x1d\x21"
  19461			"\x29\x9f\xf4\x99\x02\x27\x0f\xa8"
  19462			"\x4f\x79\x94\x2b\x33\x2c\xda\xa2"
  19463			"\x26\x39\x83\x94\xef\x27\xd8\x53"
  19464			"\x8f\x66\x0d\xe4\x41\x7d\x34\xcd"
  19465			"\x43\x7c\x95\x0a\x53\xef\x66\xda"
  19466			"\x7e\x9b\xf3\x93\xaf\xd0\x73\x71"
  19467			"\xba\x40\x9b\x74\xf8\xd7\xd7\x41"
  19468			"\x6d\xaf\x72\x9c\x8d\x21\x87\x3c"
  19469			"\xfd\x0a\x90\xa9\x47\x96\x9e\xd3"
  19470			"\x88\xee\x73\xcf\x66\x2f\x52\x56"
  19471			"\x6d\xa9\x80\x4c\xe2\x6f\x62\x88"
  19472			"\x3f\x0e\x54\x17\x48\x80\x5d\xd3"
  19473			"\xc3\xda\x25\x3d\xa1\xc8\xcb\x9f"
  19474			"\x9b\x70\xb3\xa1\xeb\x04\x52\xa1"
  19475			"\xf2\x22\x0f\xfc\xc8\x18\xfa\xf9"
  19476			"\x85\x9c\xf1\xac\xeb\x0c\x02\x46"
  19477			"\x75\xd2\xf5\x2c\xe3\xd2\x59\x94"
  19478			"\x12\xf3\x3c\xfc\xd7\x92\xfa\x36"
  19479			"\xba\x61\x34\x38\x7c\xda\x48\x3e"
  19480			"\x08\xc9\x39\x23\x5e\x02\x2c\x1a"
  19481			"\x18\x7e\xb4\xd9\xfd\x9e\x40\x02"
  19482			"\xb1\x33\x37\x32\xe7\xde\xd6\xd0"
  19483			"\x7c\x58\x65\x4b\xf8\x34\x27\x9c"
  19484			"\x44\xb4\xbd\xe9\xe9\x4c\x78\x7d"
  19485			"\x4b\x9f\xce\xb1\xcd\x47\xa5\x37"
  19486			"\xe5\x6d\xbd\xb9\x43\x94\x0a\xd4"
  19487			"\xd6\xf9\x04\x5f\xb5\x66\x6c\x1a"
  19488			"\x35\x12\xe3\x36\x28\x27\x36\x58"
  19489			"\x01\x2b\x79\xe4\xba\x6d\x10\x7d"
  19490			"\x65\xdf\x84\x95\xf4\xd5\xb6\x8f"
  19491			"\x2b\x9f\x96\x00\x86\x60\xf0\x21"
  19492			"\x76\xa8\x6a\x8c\x28\x1c\xb3\x6b"
  19493			"\x97\xd7\xb6\x53\x2a\xcc\xab\x40"
  19494			"\x9d\x62\x79\x58\x52\xe6\x65\xb7"
  19495			"\xab\x55\x67\x9c\x89\x7c\x03\xb0"
  19496			"\x73\x59\xc5\x81\xf5\x18\x17\x5c"
  19497			"\x89\xf3\x78\x35\x44\x62\x78\x72"
  19498			"\xd0\x96\xeb\x31\xe7\x87\x77\x14"
  19499			"\x99\x51\xf2\x59\x26\x9e\xb5\xa6"
  19500			"\x45\xfe\x6e\xbd\x07\x4c\x94\x5a"
  19501			"\xa5\x7d\xfc\xf1\x2b\x77\xe2\xfe"
  19502			"\x17\xd4\x84\xa0\xac\xb5\xc7\xda"
  19503			"\xa9\x1a\xb6\xf3\x74\x11\xb4\x9d"
  19504			"\xfb\x79\x2e\x04\x2d\x50\x28\x83"
  19505			"\xbf\xc6\x52\xd3\x34\xd6\xe8\x7a"
  19506			"\xb6\xea\xe7\xa8\x6c\x15\x1e\x2c"
  19507			"\x57\xbc\x48\x4e\x5f\x5c\xb6\x92"
  19508			"\xd2\x49\x77\x81\x6d\x90\x70\xae"
  19509			"\x98\xa1\x03\x0d\x6b\xb9\x77\x14"
  19510			"\xf1\x4e\x23\xd3\xf8\x68\xbd\xc2"
  19511			"\xfe\x04\xb7\x5c\xc5\x17\x60\x8f"
  19512			"\x65\x54\xa4\x7a\x42\xdc\x18\x0d"
  19513			"\xb5\xcf\x0f\xd3\xc7\x91\x66\x1b"
  19514			"\x45\x42\x27\x75\x50\xe5\xee\xb8"
  19515			"\x7f\x33\x2c\xba\x4a\x92\x4d\x2c"
  19516			"\x3c\xe3\x0d\x80\x01\xba\x0d\x29"
  19517			"\xd8\x3c\xe9\x13\x16\x57\xe6\xea"
  19518			"\x94\x52\xe7\x00\x4d\x30\xb0\x0f"
  19519			"\x35\xb8\xb8\xa7\xb1\xb5\x3b\x44"
  19520			"\xe1\x2f\xfd\x88\xed\x43\xe7\x52"
  19521			"\x10\x93\xb3\x8a\x30\x6b\x0a\xf7"
  19522			"\x23\xc6\x50\x9d\x4a\xb0\xde\xc3"
  19523			"\xdc\x9b\x2f\x01\x56\x36\x09\xc5"
  19524			"\x2f\x6b\xfe\xf1\xd8\x27\x45\x03"
  19525			"\x30\x5e\x5c\x5b\xb4\x62\x0e\x1a"
  19526			"\xa9\x21\x2b\x92\x94\x87\x62\x57"
  19527			"\x4c\x10\x74\x1a\xf1\x0a\xc5\x84"
  19528			"\x3b\x9e\x72\x02\xd7\xcc\x09\x56"
  19529			"\xbd\x54\xc1\xf0\xc3\xe3\xb3\xf8"
  19530			"\xd2\x0d\x61\xcb\xef\xce\x0d\x05"
  19531			"\xb0\x98\xd9\x8e\x4f\xf9\xbc\x93"
  19532			"\xa6\xea\xc8\xcf\x10\x53\x4b\xf1"
  19533			"\xec\xfc\x89\xf9\x64\xb0\x22\xbf"
  19534			"\x9e\x55\x46\x9f\x7c\x50\x8e\x84"
  19535			"\x54\x20\x98\xd7\x6c\x40\x1e\xdb"
  19536			"\x69\x34\x78\x61\x24\x21\x9c\x8a"
  19537			"\xb3\x62\x31\x8b\x6e\xf5\x2a\x35"
  19538			"\x86\x13\xb1\x6c\x64\x2e\x41\xa5"
  19539			"\x05\xf2\x42\xba\xd2\x3a\x0d\x8e"
  19540			"\x8a\x59\x94\x3c\xcf\x36\x27\x82"
  19541			"\xc2\x45\xee\x58\xcd\x88\xb4\xec"
  19542			"\xde\xb2\x96\x0a\xaf\x38\x6f\x88"
  19543			"\xd7\xd8\xe1\xdf\xb9\x96\xa9\x0a"
  19544			"\xb1\x95\x28\x86\x20\xe9\x17\x49"
  19545			"\xa2\x29\x38\xaa\xa5\xe9\x6e\xf1"
  19546			"\x19\x27\xc0\xd5\x2a\x22\xc3\x0b"
  19547			"\xdb\x7c\x73\x10\xb9\xba\x89\x76"
  19548			"\x54\xae\x7d\x71\xb3\x93\xf6\x32"
  19549			"\xe6\x47\x43\x55\xac\xa0\x0d\xc2"
  19550			"\x93\x27\x4a\x8e\x0e\x74\x15\xc7"
  19551			"\x0b\x85\xd9\x0c\xa9\x30\x7a\x3e"
  19552			"\xea\x8f\x85\x6d\x3a\x12\x4f\x72"
  19553			"\x69\x58\x7a\x80\xbb\xb5\x97\xf3"
  19554			"\xcf\x70\xd2\x5d\xdd\x4d\x21\x79"
  19555			"\x54\x4d\xe4\x05\xe8\xbd\xc2\x62"
  19556			"\xb1\x3b\x77\x1c\xd6\x5c\xf3\xa0"
  19557			"\x79\x00\xa8\x6c\x29\xd9\x18\x24"
  19558			"\x36\xa2\x46\xc0\x96\x65\x7f\xbd"
  19559			"\x2a\xed\x36\x16\x0c\xaa\x9f\xf4"
  19560			"\xc5\xb4\xe2\x12\xed\x69\xed\x4f"
  19561			"\x26\x2c\x39\x52\x89\x98\xe7\x2c"
  19562			"\x99\xa4\x9e\xa3\x9b\x99\x46\x7a"
  19563			"\x3a\xdc\xa8\x59\xa3\xdb\xc3\x3b"
  19564			"\x95\x0d\x3b\x09\x6e\xee\x83\x5d"
  19565			"\x32\x4d\xed\xab\xfa\x98\x14\x4e"
  19566			"\xc3\x15\x45\x53\x61\xc4\x93\xbd"
  19567			"\x90\xf4\x99\x95\x4c\xe6\x76\x92"
  19568			"\x29\x90\x46\x30\x92\x69\x7d\x13"
  19569			"\xf2\xa5\xcd\x69\x49\x44\xb2\x0f"
  19570			"\x63\x40\x36\x5f\x09\xe2\x78\xf8"
  19571			"\x91\xe3\xe2\xfa\x10\xf7\xc8\x24"
  19572			"\xa8\x89\x32\x5c\x37\x25\x1d\xb2"
  19573			"\xea\x17\x8a\x0a\xa9\x64\xc3\x7c"
  19574			"\x3c\x7c\xbd\xc6\x79\x34\xe7\xe2"
  19575			"\x85\x8e\xbf\xf8\xde\x92\xa0\xae"
  19576			"\x20\xc4\xf6\xbb\x1f\x38\x19\x0e"
  19577			"\xe8\x79\x9c\xa1\x23\xe9\x54\x7e"
  19578			"\x37\x2f\xe2\x94\x32\xaf\xa0\x23"
  19579			"\x49\xe4\xc0\xb3\xac\x00\x8f\x36"
  19580			"\x05\xc4\xa6\x96\xec\x05\x98\x4f"
  19581			"\x96\x67\x57\x1f\x20\x86\x1b\x2d"
  19582			"\x69\xe4\x29\x93\x66\x5f\xaf\x6b"
  19583			"\x88\x26\x2c\x67\x02\x4b\x52\xd0"
  19584			"\x83\x7a\x43\x1f\xc0\x71\x15\x25"
  19585			"\x77\x65\x08\x60\x11\x76\x4c\x8d"
  19586			"\xed\xa9\x27\xc6\xb1\x2a\x2c\x6a"
  19587			"\x4a\x97\xf5\xc6\xb7\x70\x42\xd3"
  19588			"\x03\xd1\x24\x95\xec\x6d\xab\x38"
  19589			"\x72\xce\xe2\x8b\x33\xd7\x51\x09"
  19590			"\xdc\x45\xe0\x09\x96\x32\xf3\xc4"
  19591			"\x84\xdc\x73\x73\x2d\x1b\x11\x98"
  19592			"\xc5\x0e\x69\x28\x94\xc7\xb5\x4d"
  19593			"\xc8\x8a\xd0\xaa\x13\x2e\x18\x74"
  19594			"\xdd\xd1\x1e\xf3\x90\xe8\xfc\x9a"
  19595			"\x72\x4a\x0e\xd1\xe4\xfb\x0d\x96"
  19596			"\xd1\x0c\x79\x85\x1b\x1c\xfe\xe1"
  19597			"\x62\x8f\x7a\x73\x32\xab\xc8\x18"
  19598			"\x69\xe3\x34\x30\xdf\x13\xa6\xe5"
  19599			"\xe8\x0e\x67\x7f\x81\x11\xb4\x60"
  19600			"\xc7\xbd\x79\x65\x50\xdc\xc4\x5b"
  19601			"\xde\x39\xa4\x01\x72\x63\xf3\xd1"
  19602			"\x64\x4e\xdf\xfc\x27\x92\x37\x0d"
  19603			"\x57\xcd\x11\x4f\x11\x04\x8e\x1d"
  19604			"\x16\xf7\xcd\x92\x9a\x99\x30\x14"
  19605			"\xf1\x7c\x67\x1b\x1f\x41\x0b\xe8"
  19606			"\x32\xe8\xb8\xc1\x4f\x54\x86\x4f"
  19607			"\xe5\x79\x81\x73\xcd\x43\x59\x68"
  19608			"\x73\x02\x3b\x78\x21\x72\x43\x00"
  19609			"\x49\x17\xf7\x00\xaf\x68\x24\x53"
  19610			"\x05\x0a\xc3\x33\xe0\x33\x3f\x69"
  19611			"\xd2\x84\x2f\x0b\xed\xde\x04\xf4"
  19612			"\x11\x94\x13\x69\x51\x09\x28\xde"
  19613			"\x57\x5c\xef\xdc\x9a\x49\x1c\x17"
  19614			"\x97\xf3\x96\xc1\x7f\x5d\x2e\x7d"
  19615			"\x55\xb8\xb3\x02\x09\xb3\x1f\xe7"
  19616			"\xc9\x8d\xa3\x36\x34\x8a\x77\x13"
  19617			"\x30\x63\x4c\xa5\xcd\xc3\xe0\x7e"
  19618			"\x05\xa1\x7b\x0c\xcb\x74\x47\x31"
  19619			"\x62\x03\x43\xf1\x87\xb4\xb0\x85"
  19620			"\x87\x8e\x4b\x25\xc7\xcf\xae\x4b"
  19621			"\x36\x46\x3e\x62\xbc\x6f\xeb\x5f"
  19622			"\x73\xac\xe6\x07\xee\xc1\xa1\xd6"
  19623			"\xc4\xab\xc9\xd6\x89\x45\xe1\xf1"
  19624			"\x04\x4e\x1a\x6f\xbb\x4f\x3a\xa3"
  19625			"\xa0\xcb\xa3\x0a\xd8\x71\x35\x55"
  19626			"\xe4\xbc\x2e\x04\x06\xe6\xff\x5b"
  19627			"\x1c\xc0\x11\x7c\xc5\x17\xf3\x38"
  19628			"\xcf\xe9\xba\x0f\x0e\xef\x02\xc2"
  19629			"\x8d\xc6\xbc\x4b\x67\x20\x95\xd7"
  19630			"\x2c\x45\x5b\x86\x44\x8c\x6f\x2e"
  19631			"\x7e\x9f\x1c\x77\xba\x6b\x0e\xa3"
  19632			"\x69\xdc\xab\x24\x57\x60\x47\xc1"
  19633			"\xd1\xa5\x9d\x23\xe6\xb1\x37\xfe"
  19634			"\x93\xd2\x4c\x46\xf9\x0c\xc6\xfb"
  19635			"\xd6\x9d\x99\x69\xab\x7a\x07\x0c"
  19636			"\x65\xe7\xc4\x08\x96\xe2\xa5\x01"
  19637			"\x3f\x46\x07\x05\x7e\xe8\x9a\x90"
  19638			"\x50\xdc\xe9\x7a\xea\xa1\x39\x6e"
  19639			"\x66\xe4\x6f\xa5\x5f\xb2\xd9\x5b"
  19640			"\xf5\xdb\x2a\x32\xf0\x11\x6f\x7c"
  19641			"\x26\x10\x8f\x3d\x80\xe9\x58\xf7"
  19642			"\xe0\xa8\x57\xf8\xdb\x0e\xce\x99"
  19643			"\x63\x19\x3d\xd5\xec\x1b\x77\x69"
  19644			"\x98\xf6\xe4\x5f\x67\x17\x4b\x09"
  19645			"\x85\x62\x82\x70\x18\xe2\x9a\x78"
  19646			"\xe2\x62\xbd\xb4\xf1\x42\xc6\xfb"
  19647			"\x08\xd0\xbd\xeb\x4e\x09\xf2\xc8"
  19648			"\x1e\xdc\x3d\x32\x21\x56\x9c\x4f"
  19649			"\x35\xf3\x61\x06\x72\x84\xc4\x32"
  19650			"\xf2\xf1\xfa\x0b\x2f\xc3\xdb\x02"
  19651			"\x04\xc2\xde\x57\x64\x60\x8d\xcf"
  19652			"\xcb\x86\x5d\x97\x3e\xb1\x9c\x01"
  19653			"\xd6\x28\x8f\x99\xbc\x46\xeb\x05"
  19654			"\xaf\x7e\xb8\x21\x2a\x56\x85\x1c"
  19655			"\xb3\x71\xa0\xde\xca\x96\xf1\x78"
  19656			"\x49\xa2\x99\x81\x80\x5c\x01\xf5"
  19657			"\xa0\xa2\x56\x63\xe2\x70\x07\xa5"
  19658			"\x95\xd6\x85\xeb\x36\x9e\xa9\x51"
  19659			"\x66\x56\x5f\x1d\x02\x19\xe2\xf6"
  19660			"\x4f\x73\x38\x09\x75\x64\x48\xe0"
  19661			"\xf1\x7e\x0e\xe8\x9d\xf9\xed\x94"
  19662			"\xfe\x16\x26\x62\x49\x74\xf4\xb0"
  19663			"\xd4\xa9\x6c\xb0\xfd\x53\xe9\x81"
  19664			"\xe0\x7a\xbf\xcf\xb5\xc4\x01\x81"
  19665			"\x79\x99\x77\x01\x3b\xe9\xa2\xb6"
  19666			"\xe6\x6a\x8a\x9e\x56\x1c\x8d\x1e"
  19667			"\x8f\x06\x55\x2c\x6c\xdc\x92\x87"
  19668			"\x64\x3b\x4b\x19\xa1\x13\x64\x1d"
  19669			"\x4a\xe9\xc0\x00\xb8\x95\xef\x6b"
  19670			"\x1a\x86\x6d\x37\x52\x02\xc2\xe0"
  19671			"\xc8\xbb\x42\x0c\x02\x21\x4a\xc9"
  19672			"\xef\xa0\x54\xe4\x5e\x16\x53\x81"
  19673			"\x70\x62\x10\xaf\xde\xb8\xb5\xd3"
  19674			"\xe8\x5e\x6c\xc3\x8a\x3e\x18\x07"
  19675			"\xf2\x2f\x7d\xa7\xe1\x3d\x4e\xb4"
  19676			"\x26\xa7\xa3\x93\x86\xb2\x04\x1e"
  19677			"\x53\x5d\x86\xd6\xde\x65\xca\xe3"
  19678			"\x4e\xc1\xcf\xef\xc8\x70\x1b\x83"
  19679			"\x13\xdd\x18\x8b\x0d\x76\xd2\xf6"
  19680			"\x37\x7a\x93\x7a\x50\x11\x9f\x96"
  19681			"\x86\x25\xfd\xac\xdc\xbe\x18\x93"
  19682			"\x19\x6b\xec\x58\x4f\xb9\x75\xa7"
  19683			"\xdd\x3f\x2f\xec\xc8\x5a\x84\xab"
  19684			"\xd5\xe4\x8a\x07\xf6\x4d\x23\xd6"
  19685			"\x03\xfb\x03\x6a\xea\x66\xbf\xd4"
  19686			"\xb1\x34\xfb\x78\xe9\x55\xdc\x7c"
  19687			"\x3d\x9c\xe5\x9a\xac\xc3\x7a\x80"
  19688			"\x24\x6d\xa0\xef\x25\x7c\xb7\xea"
  19689			"\xce\x4d\x5f\x18\x60\xce\x87\x22"
  19690			"\x66\x2f\xd5\xdd\xdd\x02\x21\x75"
  19691			"\x82\xa0\x1f\x58\xc6\xd3\x62\xf7"
  19692			"\x32\xd8\xaf\x1e\x07\x77\x51\x96"
  19693			"\xd5\x6b\x1e\x7e\x80\x02\xe8\x67"
  19694			"\xea\x17\x0b\x10\xd2\x3f\x28\x25"
  19695			"\x4f\x05\x77\x02\x14\x69\xf0\x2c"
  19696			"\xbe\x0c\xf1\x74\x30\xd1\xb9\x9b"
  19697			"\xfc\x8c\xbb\x04\x16\xd9\xba\xc3"
  19698			"\xbc\x91\x8a\xc4\x30\xa4\xb0\x12"
  19699			"\x4c\x21\x87\xcb\xc9\x1d\x16\x96"
  19700			"\x07\x6f\x23\x54\xb9\x6f\x79\xe5"
  19701			"\x64\xc0\x64\xda\xb1\xae\xdd\x60"
  19702			"\x6c\x1a\x9d\xd3\x04\x8e\x45\xb0"
  19703			"\x92\x61\xd0\x48\x81\xed\x5e\x1d"
  19704			"\xa0\xc9\xa4\x33\xc7\x13\x51\x5d"
  19705			"\x7f\x83\x73\xb6\x70\x18\x65\x3e"
  19706			"\x2f\x0e\x7a\x12\x39\x98\xab\xd8"
  19707			"\x7e\x6f\xa3\xd1\xba\x56\xad\xbd"
  19708			"\xf0\x03\x01\x1c\x85\x35\x9f\xeb"
  19709			"\x19\x63\xa1\xaf\xfe\x2d\x35\x50"
  19710			"\x39\xa0\x65\x7c\x95\x7e\x6b\xfe"
  19711			"\xc1\xac\x07\x7c\x98\x4f\xbe\x57"
  19712			"\xa7\x22\xec\xe2\x7e\x29\x09\x53"
  19713			"\xe8\xbf\xb4\x7e\x3f\x8f\xfc\x14"
  19714			"\xce\x54\xf9\x18\x58\xb5\xff\x44"
  19715			"\x05\x9d\xce\x1b\xb6\x82\x23\xc8"
  19716			"\x2e\xbc\x69\xbb\x4a\x29\x0f\x65"
  19717			"\x94\xf0\x63\x06\x0e\xef\x8c\xbd"
  19718			"\xff\xfd\xb0\x21\x6e\x57\x05\x75"
  19719			"\xda\xd5\xc4\xeb\x8d\x32\xf7\x50"
  19720			"\xd3\x6f\x22\xed\x5f\x8e\xa2\x5b"
  19721			"\x80\x8c\xc8\x78\x40\x24\x4b\x89"
  19722			"\x30\xce\x7a\x97\x0e\xc4\xaf\xef"
  19723			"\x9b\xb4\xcd\x66\x74\x14\x04\x2b"
  19724			"\xf7\xce\x0b\x1c\x6e\xc2\x78\x8c"
  19725			"\xca\xc5\xd0\x1c\x95\x4a\x91\x2d"
  19726			"\xa7\x20\xeb\x86\x52\xb7\x67\xd8"
  19727			"\x0c\xd6\x04\x14\xde\x51\x74\x75"
  19728			"\xe7\x11\xb4\x87\xa3\x3d\x2d\xad"
  19729			"\x4f\xef\xa0\x0f\x70\x00\x6d\x13"
  19730			"\x19\x1d\x41\x50\xe9\xd8\xf0\x32"
  19731			"\x71\xbc\xd3\x11\xf2\xac\xbe\xaf"
  19732			"\x75\x46\x65\x4e\x07\x34\x37\xa3"
  19733			"\x89\xfe\x75\xd4\x70\x4c\xc6\x3f"
  19734			"\x69\x24\x0e\x38\x67\x43\x8c\xde"
  19735			"\x06\xb5\xb8\xe7\xc4\xf0\x41\x8f"
  19736			"\xf0\xbd\x2f\x0b\xb9\x18\xf8\xde"
  19737			"\x64\xb1\xdb\xee\x00\x50\x77\xe1"
  19738			"\xc7\xff\xa6\xfa\xdd\x70\xf4\xe3"
  19739			"\x93\xe9\x77\x35\x3d\x4b\x2f\x2b"
  19740			"\x6d\x55\xf0\xfc\x88\x54\x4e\x89"
  19741			"\xc1\x8a\x23\x31\x2d\x14\x2a\xb8"
  19742			"\x1b\x15\xdd\x9e\x6e\x7b\xda\x05"
  19743			"\x91\x7d\x62\x64\x96\x72\xde\xfc"
  19744			"\xc1\xec\xf0\x23\x51\x6f\xdb\x5b"
  19745			"\x1d\x08\x57\xce\x09\xb8\xf6\xcd"
  19746			"\x8d\x95\xf2\x20\xbf\x0f\x20\x57"
  19747			"\x98\x81\x84\x4f\x15\x5c\x76\xe7"
  19748			"\x3e\x0a\x3a\x6c\xc4\x8a\xbe\x78"
  19749			"\x74\x77\xc3\x09\x4b\x5d\x48\xe4"
  19750			"\xc8\xcb\x0b\xea\x17\x28\xcf\xcf"
  19751			"\x31\x32\x44\xa4\xe5\x0e\x1a\x98"
  19752			"\x94\xc4\xf0\xff\xae\x3e\x44\xe8"
  19753			"\xa5\xb3\xb5\x37\x2f\xe8\xaf\x6f"
  19754			"\x28\xc1\x37\x5f\x31\xd2\xb9\x33"
  19755			"\xb1\xb2\x52\x94\x75\x2c\x29\x59"
  19756			"\x06\xc2\x25\xe8\x71\x65\x4e\xed"
  19757			"\xc0\x9c\xb1\xbb\x25\xdc\x6c\xe7"
  19758			"\x4b\xa5\x7a\x54\x7a\x60\xff\x7a"
  19759			"\xe0\x50\x40\x96\x35\x63\xe4\x0b"
  19760			"\x76\xbd\xa4\x65\x00\x1b\x57\x88"
  19761			"\xae\xed\x39\x88\x42\x11\x3c\xed"
  19762			"\x85\x67\x7d\xb9\x68\x82\xe9\x43"
  19763			"\x3c\x47\x53\xfa\xe8\xf8\x9f\x1f"
  19764			"\x9f\xef\x0f\xf7\x30\xd9\x30\x0e"
  19765			"\xb9\x9f\x69\x18\x2f\x7e\xf8\xf8"
  19766			"\xf8\x8c\x0f\xd4\x02\x4d\xea\xcd"
  19767			"\x0a\x9c\x6f\x71\x6d\x5a\x4c\x60"
  19768			"\xce\x20\x56\x32\xc6\xc5\x99\x1f"
  19769			"\x09\xe6\x4e\x18\x1a\x15\x13\xa8"
  19770			"\x7d\xb1\x6b\xc0\xb2\x6d\xf8\x26"
  19771			"\x66\xf8\x3d\x18\x74\x70\x66\x7a"
  19772			"\x34\x17\xde\xba\x47\xf1\x06\x18"
  19773			"\xcb\xaf\xeb\x4a\x1e\x8f\xa7\x77"
  19774			"\xe0\x3b\x78\x62\x66\xc9\x10\xea"
  19775			"\x1f\xb7\x29\x0a\x45\xa1\x1d\x1e"
  19776			"\x1d\xe2\x65\x61\x50\x9c\xd7\x05"
  19777			"\xf2\x0b\x5b\x12\x61\x02\xc8\xe5"
  19778			"\x63\x4f\x20\x0c\x07\x17\x33\x5e"
  19779			"\x03\x9a\x53\x0f\x2e\x55\xfe\x50"
  19780			"\x43\x7d\xd0\xb6\x7e\x5a\xda\xae"
  19781			"\x58\xef\x15\xa9\x83\xd9\x46\xb1"
  19782			"\x42\xaa\xf5\x02\x6c\xce\x92\x06"
  19783			"\x1b\xdb\x66\x45\x91\x79\xc2\x2d"
  19784			"\xe6\x53\xd3\x14\xfd\xbb\x44\x63"
  19785			"\xc6\xd7\x3d\x7a\x0c\x75\x78\x9d"
  19786			"\x5c\xa6\x39\xb3\xe5\x63\xca\x8b"
  19787			"\xfe\xd3\xef\x60\x83\xf6\x8e\x70"
  19788			"\xb6\x67\xc7\x77\xed\x23\xef\x4c"
  19789			"\xf0\xed\x2d\x07\x59\x6f\xc1\x01"
  19790			"\x34\x37\x08\xab\xd9\x1f\x09\xb1"
  19791			"\xce\x5b\x17\xff\x74\xf8\x9c\xd5"
  19792			"\x2c\x56\x39\x79\x0f\x69\x44\x75"
  19793			"\x58\x27\x01\xc4\xbf\xa7\xa1\x1d"
  19794			"\x90\x17\x77\x86\x5a\x3f\xd9\xd1"
  19795			"\x0e\xa0\x10\xf8\xec\x1e\xa5\x7f"
  19796			"\x5e\x36\xd1\xe3\x04\x2c\x70\xf7"
  19797			"\x8e\xc0\x98\x2f\x6c\x94\x2b\x41"
  19798			"\xb7\x60\x00\xb7\x2e\xb8\x02\x8d"
  19799			"\xb8\xb0\xd3\x86\xba\x1d\xd7\x90"
  19800			"\xd6\xb6\xe1\xfc\xd7\xd8\x28\x06"
  19801			"\x63\x9b\xce\x61\x24\x79\xc0\x70"
  19802			"\x52\xd0\xb6\xd4\x28\x95\x24\x87"
  19803			"\x03\x1f\xb7\x9a\xda\xa3\xfb\x52"
  19804			"\x5b\x68\xe7\x4c\x8c\x24\xe1\x42"
  19805			"\xf7\xd5\xfd\xad\x06\x32\x9f\xba"
  19806			"\xc1\xfc\xdd\xc6\xfc\xfc\xb3\x38"
  19807			"\x74\x56\x58\x40\x02\x37\x52\x2c"
  19808			"\x55\xcc\xb3\x9e\x7a\xe9\xd4\x38"
  19809			"\x41\x5e\x0c\x35\xe2\x11\xd1\x13"
  19810			"\xf8\xb7\x8d\x72\x6b\x22\x2a\xb0"
  19811			"\xdb\x08\xba\x35\xb9\x3f\xc8\xd3"
  19812			"\x24\x90\xec\x58\xd2\x09\xc7\x2d"
  19813			"\xed\x38\x80\x36\x72\x43\x27\x49"
  19814			"\x4a\x80\x8a\xa2\xe8\xd3\xda\x30"
  19815			"\x7d\xb6\x82\x37\x86\x92\x86\x3e"
  19816			"\x08\xb2\x28\x5a\x55\x44\x24\x7d"
  19817			"\x40\x48\x8a\xb6\x89\x58\x08\xa0"
  19818			"\xd6\x6d\x3a\x17\xbf\xf6\x54\xa2"
  19819			"\xf5\xd3\x8c\x0f\x78\x12\x57\x8b"
  19820			"\xd5\xc2\xfd\x58\x5b\x7f\x38\xe3"
  19821			"\xcc\xb7\x7c\x48\xb3\x20\xe8\x81"
  19822			"\x14\x32\x45\x05\xe0\xdb\x9f\x75"
  19823			"\x85\xb4\x6a\xfc\x95\xe3\x54\x22"
  19824			"\x12\xee\x30\xfe\xd8\x30\xef\x34"
  19825			"\x50\xab\x46\x30\x98\x2f\xb7\xc0"
  19826			"\x15\xa2\x83\xb6\xf2\x06\x21\xa2"
  19827			"\xc3\x26\x37\x14\xd1\x4d\xb5\x10"
  19828			"\x52\x76\x4d\x6a\xee\xb5\x2b\x15"
  19829			"\xb7\xf9\x51\xe8\x2a\xaf\xc7\xfa"
  19830			"\x77\xaf\xb0\x05\x4d\xd1\x68\x8e"
  19831			"\x74\x05\x9f\x9d\x93\xa5\x3e\x7f"
  19832			"\x4e\x5f\x9d\xcb\x09\xc7\x83\xe3"
  19833			"\x02\x9d\x27\x1f\xef\x85\x05\x8d"
  19834			"\xec\x55\x88\x0f\x0d\x7c\x4c\xe8"
  19835			"\xa1\x75\xa0\xd8\x06\x47\x14\xef"
  19836			"\xaa\x61\xcf\x26\x15\xad\xd8\xa3"
  19837			"\xaa\x75\xf2\x78\x4a\x5a\x61\xdf"
  19838			"\x8b\xc7\x04\xbc\xb2\x32\xd2\x7e"
  19839			"\x42\xee\xb4\x2f\x51\xff\x7b\x2e"
  19840			"\xd3\x02\xe8\xdc\x5d\x0d\x50\xdc"
  19841			"\xae\xb7\x46\xf9\xa8\xe6\xd0\x16"
  19842			"\xcc\xe6\x2c\x81\xc7\xad\xe9\xf0"
  19843			"\x05\x72\x6d\x3d\x0a\x7a\xa9\x02"
  19844			"\xac\x82\x93\x6e\xb6\x1c\x28\xfc"
  19845			"\x44\x12\xfb\x73\x77\xd4\x13\x39"
  19846			"\x29\x88\x8a\xf3\x5c\xa6\x36\xa0"
  19847			"\x2a\xed\x7e\xb1\x1d\xd6\x4c\x6b"
  19848			"\x41\x01\x18\x5d\x5d\x07\x97\xa6"
  19849			"\x4b\xef\x31\x18\xea\xac\xb1\x84"
  19850			"\x21\xed\xda\x86",
  19851		.len	= 4100,
  19852	},
  19853};
  19854
  19855static const struct cipher_testvec aes_ofb_tv_template[] = {
  19856	{ /* From NIST Special Publication 800-38A, Appendix F.5 */
  19857		.key	= "\x2b\x7e\x15\x16\x28\xae\xd2\xa6"
  19858			  "\xab\xf7\x15\x88\x09\xcf\x4f\x3c",
  19859		.klen	= 16,
  19860		.iv	= "\x00\x01\x02\x03\x04\x05\x06\x07\x08"
  19861			  "\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  19862		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
  19863			  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
  19864			  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
  19865			  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
  19866			  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
  19867			  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
  19868			  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
  19869			  "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
  19870		.ctext	= "\x3b\x3f\xd9\x2e\xb7\x2d\xad\x20"
  19871			  "\x33\x34\x49\xf8\xe8\x3c\xfb\x4a"
  19872			  "\x77\x89\x50\x8d\x16\x91\x8f\x03\xf5"
  19873			  "\x3c\x52\xda\xc5\x4e\xd8\x25"
  19874			  "\x97\x40\x05\x1e\x9c\x5f\xec\xf6\x43"
  19875			  "\x44\xf7\xa8\x22\x60\xed\xcc"
  19876			  "\x30\x4c\x65\x28\xf6\x59\xc7\x78"
  19877			  "\x66\xa5\x10\xd9\xc1\xd6\xae\x5e",
  19878		.len	= 64,
  19879	}, { /* > 16 bytes, not a multiple of 16 bytes */
  19880		.key	= "\x2b\x7e\x15\x16\x28\xae\xd2\xa6"
  19881			  "\xab\xf7\x15\x88\x09\xcf\x4f\x3c",
  19882		.klen	= 16,
  19883		.iv	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  19884			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  19885		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
  19886			  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
  19887			  "\xae",
  19888		.ctext	= "\x3b\x3f\xd9\x2e\xb7\x2d\xad\x20"
  19889			  "\x33\x34\x49\xf8\xe8\x3c\xfb\x4a"
  19890			  "\x77",
  19891		.len	= 17,
  19892	}, { /* < 16 bytes */
  19893		.key	= "\x2b\x7e\x15\x16\x28\xae\xd2\xa6"
  19894			  "\xab\xf7\x15\x88\x09\xcf\x4f\x3c",
  19895		.klen	= 16,
  19896		.iv	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  19897			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  19898		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f",
  19899		.ctext	= "\x3b\x3f\xd9\x2e\xb7\x2d\xad",
  19900		.len	= 7,
  19901	}
  19902};
  19903
  19904static const struct aead_testvec aes_gcm_tv_template[] = {
  19905	{ /* From McGrew & Viega - http://citeseer.ist.psu.edu/656989.html */
  19906		.key    = zeroed_string,
  19907		.klen	= 16,
  19908		.ctext	= "\x58\xe2\xfc\xce\xfa\x7e\x30\x61"
  19909			  "\x36\x7f\x1d\x57\xa4\xe7\x45\x5a",
  19910		.clen	= 16,
  19911	}, {
  19912		.key    = zeroed_string,
  19913		.klen	= 16,
  19914		.ptext	= zeroed_string,
  19915		.plen	= 16,
  19916		.ctext	= "\x03\x88\xda\xce\x60\xb6\xa3\x92"
  19917			  "\xf3\x28\xc2\xb9\x71\xb2\xfe\x78"
  19918			  "\xab\x6e\x47\xd4\x2c\xec\x13\xbd"
  19919			  "\xf5\x3a\x67\xb2\x12\x57\xbd\xdf",
  19920		.clen	= 32,
  19921	}, {
  19922		.key	= "\xfe\xff\xe9\x92\x86\x65\x73\x1c"
  19923			  "\x6d\x6a\x8f\x94\x67\x30\x83\x08",
  19924		.klen	= 16,
  19925		.iv	= "\xca\xfe\xba\xbe\xfa\xce\xdb\xad"
  19926			  "\xde\xca\xf8\x88",
  19927		.ptext	= "\xd9\x31\x32\x25\xf8\x84\x06\xe5"
  19928			  "\xa5\x59\x09\xc5\xaf\xf5\x26\x9a"
  19929			  "\x86\xa7\xa9\x53\x15\x34\xf7\xda"
  19930			  "\x2e\x4c\x30\x3d\x8a\x31\x8a\x72"
  19931			  "\x1c\x3c\x0c\x95\x95\x68\x09\x53"
  19932			  "\x2f\xcf\x0e\x24\x49\xa6\xb5\x25"
  19933			  "\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57"
  19934			  "\xba\x63\x7b\x39\x1a\xaf\xd2\x55",
  19935		.plen	= 64,
  19936		.ctext	= "\x42\x83\x1e\xc2\x21\x77\x74\x24"
  19937			  "\x4b\x72\x21\xb7\x84\xd0\xd4\x9c"
  19938			  "\xe3\xaa\x21\x2f\x2c\x02\xa4\xe0"
  19939			  "\x35\xc1\x7e\x23\x29\xac\xa1\x2e"
  19940			  "\x21\xd5\x14\xb2\x54\x66\x93\x1c"
  19941			  "\x7d\x8f\x6a\x5a\xac\x84\xaa\x05"
  19942			  "\x1b\xa3\x0b\x39\x6a\x0a\xac\x97"
  19943			  "\x3d\x58\xe0\x91\x47\x3f\x59\x85"
  19944			  "\x4d\x5c\x2a\xf3\x27\xcd\x64\xa6"
  19945			  "\x2c\xf3\x5a\xbd\x2b\xa6\xfa\xb4",
  19946		.clen	= 80,
  19947	}, {
  19948		.key	= "\xfe\xff\xe9\x92\x86\x65\x73\x1c"
  19949			  "\x6d\x6a\x8f\x94\x67\x30\x83\x08",
  19950		.klen	= 16,
  19951		.iv	= "\xca\xfe\xba\xbe\xfa\xce\xdb\xad"
  19952			  "\xde\xca\xf8\x88",
  19953		.ptext	= "\xd9\x31\x32\x25\xf8\x84\x06\xe5"
  19954			  "\xa5\x59\x09\xc5\xaf\xf5\x26\x9a"
  19955			  "\x86\xa7\xa9\x53\x15\x34\xf7\xda"
  19956			  "\x2e\x4c\x30\x3d\x8a\x31\x8a\x72"
  19957			  "\x1c\x3c\x0c\x95\x95\x68\x09\x53"
  19958			  "\x2f\xcf\x0e\x24\x49\xa6\xb5\x25"
  19959			  "\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57"
  19960			  "\xba\x63\x7b\x39",
  19961		.plen	= 60,
  19962		.assoc	= "\xfe\xed\xfa\xce\xde\xad\xbe\xef"
  19963			  "\xfe\xed\xfa\xce\xde\xad\xbe\xef"
  19964			  "\xab\xad\xda\xd2",
  19965		.alen	= 20,
  19966		.ctext	= "\x42\x83\x1e\xc2\x21\x77\x74\x24"
  19967			  "\x4b\x72\x21\xb7\x84\xd0\xd4\x9c"
  19968			  "\xe3\xaa\x21\x2f\x2c\x02\xa4\xe0"
  19969			  "\x35\xc1\x7e\x23\x29\xac\xa1\x2e"
  19970			  "\x21\xd5\x14\xb2\x54\x66\x93\x1c"
  19971			  "\x7d\x8f\x6a\x5a\xac\x84\xaa\x05"
  19972			  "\x1b\xa3\x0b\x39\x6a\x0a\xac\x97"
  19973			  "\x3d\x58\xe0\x91"
  19974			  "\x5b\xc9\x4f\xbc\x32\x21\xa5\xdb"
  19975			  "\x94\xfa\xe9\x5a\xe7\x12\x1a\x47",
  19976		.clen	= 76,
  19977	}, {
  19978		.key    = zeroed_string,
  19979		.klen	= 24,
  19980		.ctext	= "\xcd\x33\xb2\x8a\xc7\x73\xf7\x4b"
  19981			  "\xa0\x0e\xd1\xf3\x12\x57\x24\x35",
  19982		.clen	= 16,
  19983	}, {
  19984		.key    = zeroed_string,
  19985		.klen	= 24,
  19986		.ptext	= zeroed_string,
  19987		.plen	= 16,
  19988		.ctext	= "\x98\xe7\x24\x7c\x07\xf0\xfe\x41"
  19989			  "\x1c\x26\x7e\x43\x84\xb0\xf6\x00"
  19990			  "\x2f\xf5\x8d\x80\x03\x39\x27\xab"
  19991			  "\x8e\xf4\xd4\x58\x75\x14\xf0\xfb",
  19992		.clen	= 32,
  19993	}, {
  19994		.key	= "\xfe\xff\xe9\x92\x86\x65\x73\x1c"
  19995			  "\x6d\x6a\x8f\x94\x67\x30\x83\x08"
  19996			  "\xfe\xff\xe9\x92\x86\x65\x73\x1c",
  19997		.klen	= 24,
  19998		.iv	= "\xca\xfe\xba\xbe\xfa\xce\xdb\xad"
  19999			  "\xde\xca\xf8\x88",
  20000		.ptext	= "\xd9\x31\x32\x25\xf8\x84\x06\xe5"
  20001			  "\xa5\x59\x09\xc5\xaf\xf5\x26\x9a"
  20002			  "\x86\xa7\xa9\x53\x15\x34\xf7\xda"
  20003			  "\x2e\x4c\x30\x3d\x8a\x31\x8a\x72"
  20004			  "\x1c\x3c\x0c\x95\x95\x68\x09\x53"
  20005			  "\x2f\xcf\x0e\x24\x49\xa6\xb5\x25"
  20006			  "\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57"
  20007			  "\xba\x63\x7b\x39\x1a\xaf\xd2\x55",
  20008		.plen	= 64,
  20009		.ctext	= "\x39\x80\xca\x0b\x3c\x00\xe8\x41"
  20010			  "\xeb\x06\xfa\xc4\x87\x2a\x27\x57"
  20011			  "\x85\x9e\x1c\xea\xa6\xef\xd9\x84"
  20012			  "\x62\x85\x93\xb4\x0c\xa1\xe1\x9c"
  20013			  "\x7d\x77\x3d\x00\xc1\x44\xc5\x25"
  20014			  "\xac\x61\x9d\x18\xc8\x4a\x3f\x47"
  20015			  "\x18\xe2\x44\x8b\x2f\xe3\x24\xd9"
  20016			  "\xcc\xda\x27\x10\xac\xad\xe2\x56"
  20017			  "\x99\x24\xa7\xc8\x58\x73\x36\xbf"
  20018			  "\xb1\x18\x02\x4d\xb8\x67\x4a\x14",
  20019		.clen	= 80,
  20020	}, {
  20021		.key    = zeroed_string,
  20022		.klen	= 32,
  20023		.ctext	= "\x53\x0f\x8a\xfb\xc7\x45\x36\xb9"
  20024			  "\xa9\x63\xb4\xf1\xc4\xcb\x73\x8b",
  20025		.clen	= 16,
  20026	}, {
  20027		.key    = zeroed_string,
  20028		.klen	= 32,
  20029		.ptext	= zeroed_string,
  20030		.plen	= 16,
  20031		.ctext	= "\xce\xa7\x40\x3d\x4d\x60\x6b\x6e"
  20032			  "\x07\x4e\xc5\xd3\xba\xf3\x9d\x18"
  20033			  "\xd0\xd1\xc8\xa7\x99\x99\x6b\xf0"
  20034			  "\x26\x5b\x98\xb5\xd4\x8a\xb9\x19",
  20035		.clen	= 32,
  20036	}, {
  20037		.key	= "\xfe\xff\xe9\x92\x86\x65\x73\x1c"
  20038			  "\x6d\x6a\x8f\x94\x67\x30\x83\x08"
  20039			  "\xfe\xff\xe9\x92\x86\x65\x73\x1c"
  20040			  "\x6d\x6a\x8f\x94\x67\x30\x83\x08",
  20041		.klen	= 32,
  20042		.iv	= "\xca\xfe\xba\xbe\xfa\xce\xdb\xad"
  20043			  "\xde\xca\xf8\x88",
  20044		.ptext	= "\xd9\x31\x32\x25\xf8\x84\x06\xe5"
  20045			  "\xa5\x59\x09\xc5\xaf\xf5\x26\x9a"
  20046			  "\x86\xa7\xa9\x53\x15\x34\xf7\xda"
  20047			  "\x2e\x4c\x30\x3d\x8a\x31\x8a\x72"
  20048			  "\x1c\x3c\x0c\x95\x95\x68\x09\x53"
  20049			  "\x2f\xcf\x0e\x24\x49\xa6\xb5\x25"
  20050			  "\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57"
  20051			  "\xba\x63\x7b\x39\x1a\xaf\xd2\x55",
  20052		.plen	= 64,
  20053		.ctext	= "\x52\x2d\xc1\xf0\x99\x56\x7d\x07"
  20054			  "\xf4\x7f\x37\xa3\x2a\x84\x42\x7d"
  20055			  "\x64\x3a\x8c\xdc\xbf\xe5\xc0\xc9"
  20056			  "\x75\x98\xa2\xbd\x25\x55\xd1\xaa"
  20057			  "\x8c\xb0\x8e\x48\x59\x0d\xbb\x3d"
  20058			  "\xa7\xb0\x8b\x10\x56\x82\x88\x38"
  20059			  "\xc5\xf6\x1e\x63\x93\xba\x7a\x0a"
  20060			  "\xbc\xc9\xf6\x62\x89\x80\x15\xad"
  20061			  "\xb0\x94\xda\xc5\xd9\x34\x71\xbd"
  20062			  "\xec\x1a\x50\x22\x70\xe3\xcc\x6c",
  20063		.clen	= 80,
  20064	}, {
  20065		.key	= "\xfe\xff\xe9\x92\x86\x65\x73\x1c"
  20066			  "\x6d\x6a\x8f\x94\x67\x30\x83\x08"
  20067			  "\xfe\xff\xe9\x92\x86\x65\x73\x1c"
  20068			  "\x6d\x6a\x8f\x94\x67\x30\x83\x08",
  20069		.klen	= 32,
  20070		.iv	= "\xca\xfe\xba\xbe\xfa\xce\xdb\xad"
  20071			  "\xde\xca\xf8\x88",
  20072		.ptext	= "\xd9\x31\x32\x25\xf8\x84\x06\xe5"
  20073			  "\xa5\x59\x09\xc5\xaf\xf5\x26\x9a"
  20074			  "\x86\xa7\xa9\x53\x15\x34\xf7\xda"
  20075			  "\x2e\x4c\x30\x3d\x8a\x31\x8a\x72"
  20076			  "\x1c\x3c\x0c\x95\x95\x68\x09\x53"
  20077			  "\x2f\xcf\x0e\x24\x49\xa6\xb5\x25"
  20078			  "\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57"
  20079			  "\xba\x63\x7b\x39",
  20080		.plen	= 60,
  20081		.assoc	= "\xfe\xed\xfa\xce\xde\xad\xbe\xef"
  20082			  "\xfe\xed\xfa\xce\xde\xad\xbe\xef"
  20083			  "\xab\xad\xda\xd2",
  20084		.alen	= 20,
  20085		.ctext	= "\x52\x2d\xc1\xf0\x99\x56\x7d\x07"
  20086			  "\xf4\x7f\x37\xa3\x2a\x84\x42\x7d"
  20087			  "\x64\x3a\x8c\xdc\xbf\xe5\xc0\xc9"
  20088			  "\x75\x98\xa2\xbd\x25\x55\xd1\xaa"
  20089			  "\x8c\xb0\x8e\x48\x59\x0d\xbb\x3d"
  20090			  "\xa7\xb0\x8b\x10\x56\x82\x88\x38"
  20091			  "\xc5\xf6\x1e\x63\x93\xba\x7a\x0a"
  20092			  "\xbc\xc9\xf6\x62"
  20093			  "\x76\xfc\x6e\xce\x0f\x4e\x17\x68"
  20094			  "\xcd\xdf\x88\x53\xbb\x2d\x55\x1b",
  20095		.clen	= 76,
  20096	}, {
  20097		.key	= "\xfe\xff\xe9\x92\x86\x65\x73\x1c"
  20098			  "\x6d\x6a\x8f\x94\x67\x30\x83\x08"
  20099			  "\xfe\xff\xe9\x92\x86\x65\x73\x1c",
  20100		.klen	= 24,
  20101		.iv	= "\xca\xfe\xba\xbe\xfa\xce\xdb\xad"
  20102			  "\xde\xca\xf8\x88",
  20103		.ptext	= "\xd9\x31\x32\x25\xf8\x84\x06\xe5"
  20104			  "\xa5\x59\x09\xc5\xaf\xf5\x26\x9a"
  20105			  "\x86\xa7\xa9\x53\x15\x34\xf7\xda"
  20106			  "\x2e\x4c\x30\x3d\x8a\x31\x8a\x72"
  20107			  "\x1c\x3c\x0c\x95\x95\x68\x09\x53"
  20108			  "\x2f\xcf\x0e\x24\x49\xa6\xb5\x25"
  20109			  "\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57"
  20110			  "\xba\x63\x7b\x39",
  20111		.plen	= 60,
  20112		.assoc	= "\xfe\xed\xfa\xce\xde\xad\xbe\xef"
  20113			  "\xfe\xed\xfa\xce\xde\xad\xbe\xef"
  20114			  "\xab\xad\xda\xd2",
  20115		.alen	= 20,
  20116		.ctext	= "\x39\x80\xca\x0b\x3c\x00\xe8\x41"
  20117			  "\xeb\x06\xfa\xc4\x87\x2a\x27\x57"
  20118			  "\x85\x9e\x1c\xea\xa6\xef\xd9\x84"
  20119			  "\x62\x85\x93\xb4\x0c\xa1\xe1\x9c"
  20120			  "\x7d\x77\x3d\x00\xc1\x44\xc5\x25"
  20121			  "\xac\x61\x9d\x18\xc8\x4a\x3f\x47"
  20122			  "\x18\xe2\x44\x8b\x2f\xe3\x24\xd9"
  20123			  "\xcc\xda\x27\x10"
  20124			  "\x25\x19\x49\x8e\x80\xf1\x47\x8f"
  20125			  "\x37\xba\x55\xbd\x6d\x27\x61\x8c",
  20126		.clen	= 76,
  20127	}, {
  20128		.key	= "\x62\x35\xf8\x95\xfc\xa5\xeb\xf6"
  20129			  "\x0e\x92\x12\x04\xd3\xa1\x3f\x2e"
  20130			  "\x8b\x32\xcf\xe7\x44\xed\x13\x59"
  20131			  "\x04\x38\x77\xb0\xb9\xad\xb4\x38",
  20132		.klen	= 32,
  20133		.iv	= "\x00\xff\xff\xff\xff\x00\x00\xff"
  20134			  "\xff\xff\x00\xff",
  20135		.ptext	= "\x42\xc1\xcc\x08\x48\x6f\x41\x3f"
  20136			  "\x2f\x11\x66\x8b\x2a\x16\xf0\xe0"
  20137			  "\x58\x83\xf0\xc3\x70\x14\xc0\x5b"
  20138			  "\x3f\xec\x1d\x25\x3c\x51\xd2\x03"
  20139			  "\xcf\x59\x74\x1f\xb2\x85\xb4\x07"
  20140			  "\xc6\x6a\x63\x39\x8a\x5b\xde\xcb"
  20141			  "\xaf\x08\x44\xbd\x6f\x91\x15\xe1"
  20142			  "\xf5\x7a\x6e\x18\xbd\xdd\x61\x50"
  20143			  "\x59\xa9\x97\xab\xbb\x0e\x74\x5c"
  20144			  "\x00\xa4\x43\x54\x04\x54\x9b\x3b"
  20145			  "\x77\xec\xfd\x5c\xa6\xe8\x7b\x08"
  20146			  "\xae\xe6\x10\x3f\x32\x65\xd1\xfc"
  20147			  "\xa4\x1d\x2c\x31\xfb\x33\x7a\xb3"
  20148			  "\x35\x23\xf4\x20\x41\xd4\xad\x82"
  20149			  "\x8b\xa4\xad\x96\x1c\x20\x53\xbe"
  20150			  "\x0e\xa6\xf4\xdc\x78\x49\x3e\x72"
  20151			  "\xb1\xa9\xb5\x83\xcb\x08\x54\xb7"
  20152			  "\xad\x49\x3a\xae\x98\xce\xa6\x66"
  20153			  "\x10\x30\x90\x8c\x55\x83\xd7\x7c"
  20154			  "\x8b\xe6\x53\xde\xd2\x6e\x18\x21"
  20155			  "\x01\x52\xd1\x9f\x9d\xbb\x9c\x73"
  20156			  "\x57\xcc\x89\x09\x75\x9b\x78\x70"
  20157			  "\xed\x26\x97\x4d\xb4\xe4\x0c\xa5"
  20158			  "\xfa\x70\x04\x70\xc6\x96\x1c\x7d"
  20159			  "\x54\x41\x77\xa8\xe3\xb0\x7e\x96"
  20160			  "\x82\xd9\xec\xa2\x87\x68\x55\xf9"
  20161			  "\x8f\x9e\x73\x43\x47\x6a\x08\x36"
  20162			  "\x93\x67\xa8\x2d\xde\xac\x41\xa9"
  20163			  "\x5c\x4d\x73\x97\x0f\x70\x68\xfa"
  20164			  "\x56\x4d\x00\xc2\x3b\x1f\xc8\xb9"
  20165			  "\x78\x1f\x51\x07\xe3\x9a\x13\x4e"
  20166			  "\xed\x2b\x2e\xa3\xf7\x44\xb2\xe7"
  20167			  "\xab\x19\x37\xd9\xba\x76\x5e\xd2"
  20168			  "\xf2\x53\x15\x17\x4c\x6b\x16\x9f"
  20169			  "\x02\x66\x49\xca\x7c\x91\x05\xf2"
  20170			  "\x45\x36\x1e\xf5\x77\xad\x1f\x46"
  20171			  "\xa8\x13\xfb\x63\xb6\x08\x99\x63"
  20172			  "\x82\xa2\xed\xb3\xac\xdf\x43\x19"
  20173			  "\x45\xea\x78\x73\xd9\xb7\x39\x11"
  20174			  "\xa3\x13\x7c\xf8\x3f\xf7\xad\x81"
  20175			  "\x48\x2f\xa9\x5c\x5f\xa0\xf0\x79"
  20176			  "\xa4\x47\x7d\x80\x20\x26\xfd\x63"
  20177			  "\x0a\xc7\x7e\x6d\x75\x47\xff\x76"
  20178			  "\x66\x2e\x8a\x6c\x81\x35\xaf\x0b"
  20179			  "\x2e\x6a\x49\x60\xc1\x10\xe1\xe1"
  20180			  "\x54\x03\xa4\x09\x0c\x37\x7a\x15"
  20181			  "\x23\x27\x5b\x8b\x4b\xa5\x64\x97"
  20182			  "\xae\x4a\x50\x73\x1f\x66\x1c\x5c"
  20183			  "\x03\x25\x3c\x8d\x48\x58\x71\x34"
  20184			  "\x0e\xec\x4e\x55\x1a\x03\x6a\xe5"
  20185			  "\xb6\x19\x2b\x84\x2a\x20\xd1\xea"
  20186			  "\x80\x6f\x96\x0e\x05\x62\xc7\x78"
  20187			  "\x87\x79\x60\x38\x46\xb4\x25\x57"
  20188			  "\x6e\x16\x63\xf8\xad\x6e\xd7\x42"
  20189			  "\x69\xe1\x88\xef\x6e\xd5\xb4\x9a"
  20190			  "\x3c\x78\x6c\x3b\xe5\xa0\x1d\x22"
  20191			  "\x86\x5c\x74\x3a\xeb\x24\x26\xc7"
  20192			  "\x09\xfc\x91\x96\x47\x87\x4f\x1a"
  20193			  "\xd6\x6b\x2c\x18\x47\xc0\xb8\x24"
  20194			  "\xa8\x5a\x4a\x9e\xcb\x03\xe7\x2a"
  20195			  "\x09\xe6\x4d\x9c\x6d\x86\x60\xf5"
  20196			  "\x2f\x48\x69\x37\x9f\xf2\xd2\xcb"
  20197			  "\x0e\x5a\xdd\x6e\x8a\xfb\x6a\xfe"
  20198			  "\x0b\x63\xde\x87\x42\x79\x8a\x68"
  20199			  "\x51\x28\x9b\x7a\xeb\xaf\xb8\x2f"
  20200			  "\x9d\xd1\xc7\x45\x90\x08\xc9\x83"
  20201			  "\xe9\x83\x84\xcb\x28\x69\x09\x69"
  20202			  "\xce\x99\x46\x00\x54\xcb\xd8\x38"
  20203			  "\xf9\x53\x4a\xbf\x31\xce\x57\x15"
  20204			  "\x33\xfa\x96\x04\x33\x42\xe3\xc0"
  20205			  "\xb7\x54\x4a\x65\x7a\x7c\x02\xe6"
  20206			  "\x19\x95\xd0\x0e\x82\x07\x63\xf9"
  20207			  "\xe1\x2b\x2a\xfc\x55\x92\x52\xc9"
  20208			  "\xb5\x9f\x23\x28\x60\xe7\x20\x51"
  20209			  "\x10\xd3\xed\x6d\x9b\xab\xb8\xe2"
  20210			  "\x5d\x9a\x34\xb3\xbe\x9c\x64\xcb"
  20211			  "\x78\xc6\x91\x22\x40\x91\x80\xbe"
  20212			  "\xd7\x78\x5c\x0e\x0a\xdc\x08\xe9"
  20213			  "\x67\x10\xa4\x83\x98\x79\x23\xe7"
  20214			  "\x92\xda\xa9\x22\x16\xb1\xe7\x78"
  20215			  "\xa3\x1c\x6c\x8f\x35\x7c\x4d\x37"
  20216			  "\x2f\x6e\x0b\x50\x5c\x34\xb9\xf9"
  20217			  "\xe6\x3d\x91\x0d\x32\x95\xaa\x3d"
  20218			  "\x48\x11\x06\xbb\x2d\xf2\x63\x88"
  20219			  "\x3f\x73\x09\xe2\x45\x56\x31\x51"
  20220			  "\xfa\x5e\x4e\x62\xf7\x90\xf9\xa9"
  20221			  "\x7d\x7b\x1b\xb1\xc8\x26\x6e\x66"
  20222			  "\xf6\x90\x9a\x7f\xf2\x57\xcc\x23"
  20223			  "\x59\xfa\xfa\xaa\x44\x04\x01\xa7"
  20224			  "\xa4\x78\xdb\x74\x3d\x8b\xb5",
  20225		.plen	= 719,
  20226		.ctext	= "\x84\x0b\xdb\xd5\xb7\xa8\xfe\x20"
  20227			  "\xbb\xb1\x12\x7f\x41\xea\xb3\xc0"
  20228			  "\xa2\xb4\x37\x19\x11\x58\xb6\x0b"
  20229			  "\x4c\x1d\x38\x05\x54\xd1\x16\x73"
  20230			  "\x8e\x1c\x20\x90\xa2\x9a\xb7\x74"
  20231			  "\x47\xe6\xd8\xfc\x18\x3a\xb4\xea"
  20232			  "\xd5\x16\x5a\x2c\x53\x01\x46\xb3"
  20233			  "\x18\x33\x74\x6c\x50\xf2\xe8\xc0"
  20234			  "\x73\xda\x60\x22\xeb\xe3\xe5\x9b"
  20235			  "\x20\x93\x6c\x4b\x37\x99\xb8\x23"
  20236			  "\x3b\x4e\xac\xe8\x5b\xe8\x0f\xb7"
  20237			  "\xc3\x8f\xfb\x4a\x37\xd9\x39\x95"
  20238			  "\x34\xf1\xdb\x8f\x71\xd9\xc7\x0b"
  20239			  "\x02\xf1\x63\xfc\x9b\xfc\xc5\xab"
  20240			  "\xb9\x14\x13\x21\xdf\xce\xaa\x88"
  20241			  "\x44\x30\x1e\xce\x26\x01\x92\xf8"
  20242			  "\x9f\x00\x4b\x0c\x4b\xf7\x5f\xe0"
  20243			  "\x89\xca\x94\x66\x11\x21\x97\xca"
  20244			  "\x3e\x83\x74\x2d\xdb\x4d\x11\xeb"
  20245			  "\x97\xc2\x14\xff\x9e\x1e\xa0\x6b"
  20246			  "\x08\xb4\x31\x2b\x85\xc6\x85\x6c"
  20247			  "\x90\xec\x39\xc0\xec\xb3\xb5\x4e"
  20248			  "\xf3\x9c\xe7\x83\x3a\x77\x0a\xf4"
  20249			  "\x56\xfe\xce\x18\x33\x6d\x0b\x2d"
  20250			  "\x33\xda\xc8\x05\x5c\xb4\x09\x2a"
  20251			  "\xde\x6b\x52\x98\x01\xef\x36\x3d"
  20252			  "\xbd\xf9\x8f\xa8\x3e\xaa\xcd\xd1"
  20253			  "\x01\x2d\x42\x49\xc3\xb6\x84\xbb"
  20254			  "\x48\x96\xe0\x90\x93\x6c\x48\x64"
  20255			  "\xd4\xfa\x7f\x93\x2c\xa6\x21\xc8"
  20256			  "\x7a\x23\x7b\xaa\x20\x56\x12\xae"
  20257			  "\x16\x9d\x94\x0f\x54\xa1\xec\xca"
  20258			  "\x51\x4e\xf2\x39\xf4\xf8\x5f\x04"
  20259			  "\x5a\x0d\xbf\xf5\x83\xa1\x15\xe1"
  20260			  "\xf5\x3c\xd8\x62\xa3\xed\x47\x89"
  20261			  "\x85\x4c\xe5\xdb\xac\x9e\x17\x1d"
  20262			  "\x0c\x09\xe3\x3e\x39\x5b\x4d\x74"
  20263			  "\x0e\xf5\x34\xee\x70\x11\x4c\xfd"
  20264			  "\xdb\x34\xb1\xb5\x10\x3f\x73\xb7"
  20265			  "\xf5\xfa\xed\xb0\x1f\xa5\xcd\x3c"
  20266			  "\x8d\x35\x83\xd4\x11\x44\x6e\x6c"
  20267			  "\x5b\xe0\x0e\x69\xa5\x39\xe5\xbb"
  20268			  "\xa9\x57\x24\x37\xe6\x1f\xdd\xcf"
  20269			  "\x16\x2a\x13\xf9\x6a\x2d\x90\xa0"
  20270			  "\x03\x60\x7a\xed\x69\xd5\x00\x8b"
  20271			  "\x7e\x4f\xcb\xb9\xfa\x91\xb9\x37"
  20272			  "\xc1\x26\xce\x90\x97\x22\x64\x64"
  20273			  "\xc1\x72\x43\x1b\xf6\xac\xc1\x54"
  20274			  "\x8a\x10\x9c\xdd\x8d\xd5\x8e\xb2"
  20275			  "\xe4\x85\xda\xe0\x20\x5f\xf4\xb4"
  20276			  "\x15\xb5\xa0\x8d\x12\x74\x49\x23"
  20277			  "\x3a\xdf\x4a\xd3\xf0\x3b\x89\xeb"
  20278			  "\xf8\xcc\x62\x7b\xfb\x93\x07\x41"
  20279			  "\x61\x26\x94\x58\x70\xa6\x3c\xe4"
  20280			  "\xff\x58\xc4\x13\x3d\xcb\x36\x6b"
  20281			  "\x32\xe5\xb2\x6d\x03\x74\x6f\x76"
  20282			  "\x93\x77\xde\x48\xc4\xfa\x30\x4a"
  20283			  "\xda\x49\x80\x77\x0f\x1c\xbe\x11"
  20284			  "\xc8\x48\xb1\xe5\xbb\xf2\x8a\xe1"
  20285			  "\x96\x2f\x9f\xd1\x8e\x8a\x5c\xe2"
  20286			  "\xf7\xd7\xd8\x54\xf3\x3f\xc4\x91"
  20287			  "\xb8\xfb\x86\xdc\x46\x24\x91\x60"
  20288			  "\x6c\x2f\xc9\x41\x37\x51\x49\x54"
  20289			  "\x09\x81\x21\xf3\x03\x9f\x2b\xe3"
  20290			  "\x1f\x39\x63\xaf\xf4\xd7\x53\x60"
  20291			  "\xa7\xc7\x54\xf9\xee\xb1\xb1\x7d"
  20292			  "\x75\x54\x65\x93\xfe\xb1\x68\x6b"
  20293			  "\x57\x02\xf9\xbb\x0e\xf9\xf8\xbf"
  20294			  "\x01\x12\x27\xb4\xfe\xe4\x79\x7a"
  20295			  "\x40\x5b\x51\x4b\xdf\x38\xec\xb1"
  20296			  "\x6a\x56\xff\x35\x4d\x42\x33\xaa"
  20297			  "\x6f\x1b\xe4\xdc\xe0\xdb\x85\x35"
  20298			  "\x62\x10\xd4\xec\xeb\xc5\x7e\x45"
  20299			  "\x1c\x6f\x17\xca\x3b\x8e\x2d\x66"
  20300			  "\x4f\x4b\x36\x56\xcd\x1b\x59\xaa"
  20301			  "\xd2\x9b\x17\xb9\x58\xdf\x7b\x64"
  20302			  "\x8a\xff\x3b\x9c\xa6\xb5\x48\x9e"
  20303			  "\xaa\xe2\x5d\x09\x71\x32\x5f\xb6"
  20304			  "\x29\xbe\xe7\xc7\x52\x7e\x91\x82"
  20305			  "\x6b\x6d\x33\xe1\x34\x06\x36\x21"
  20306			  "\x5e\xbe\x1e\x2f\x3e\xc1\xfb\xea"
  20307			  "\x49\x2c\xb5\xca\xf7\xb0\x37\xea"
  20308			  "\x1f\xed\x10\x04\xd9\x48\x0d\x1a"
  20309			  "\x1c\xfb\xe7\x84\x0e\x83\x53\x74"
  20310			  "\xc7\x65\xe2\x5c\xe5\xba\x73\x4c"
  20311			  "\x0e\xe1\xb5\x11\x45\x61\x43\x46"
  20312			  "\xaa\x25\x8f\xbd\x85\x08\xfa\x4c"
  20313			  "\x15\xc1\xc0\xd8\xf5\xdc\x16\xbb"
  20314			  "\x7b\x1d\xe3\x87\x57\xa7\x2a\x1d"
  20315			  "\x38\x58\x9e\x8a\x43\xdc\x57"
  20316			  "\xd1\x81\x7d\x2b\xe9\xff\x99\x3a"
  20317			  "\x4b\x24\x52\x58\x55\xe1\x49\x14",
  20318		.clen	= 735,
  20319	}
  20320};
  20321
  20322static const struct aead_testvec aes_gcm_rfc4106_tv_template[] = {
  20323	{ /* Generated using Crypto++ */
  20324		.key    = zeroed_string,
  20325		.klen	= 20,
  20326		.iv	= zeroed_string,
  20327		.ptext	= zeroed_string,
  20328		.plen	= 16,
  20329		.assoc  = zeroed_string,
  20330		.alen   = 16,
  20331		.ctext	= "\x03\x88\xDA\xCE\x60\xB6\xA3\x92"
  20332			  "\xF3\x28\xC2\xB9\x71\xB2\xFE\x78"
  20333			  "\x97\xFE\x4C\x23\x37\x42\x01\xE0"
  20334			  "\x81\x9F\x8D\xC5\xD7\x41\xA0\x1B",
  20335		.clen	= 32,
  20336	},{
  20337		.key    = "\xfe\xff\xe9\x92\x86\x65\x73\x1c"
  20338			  "\x6d\x6a\x8f\x94\x67\x30\x83\x08"
  20339			  "\x00\x00\x00\x00",
  20340		.klen	= 20,
  20341		.iv     = "\x00\x00\x00\x00\x00\x00\x00\x01",
  20342		.ptext	= zeroed_string,
  20343		.plen	= 16,
  20344		.assoc  = "\x00\x00\x00\x00\x00\x00\x00\x00"
  20345			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  20346		.alen   = 16,
  20347		.ctext	= "\xC0\x0D\x8B\x42\x0F\x8F\x34\x18"
  20348			  "\x88\xB1\xC5\xBC\xC5\xB6\xD6\x28"
  20349			  "\x6A\x9D\xDF\x11\x5E\xFE\x5E\x9D"
  20350			  "\x2F\x70\x44\x92\xF7\xF2\xE3\xEF",
  20351		.clen	= 32,
  20352
  20353	}, {
  20354		.key    = "\xfe\xff\xe9\x92\x86\x65\x73\x1c"
  20355			  "\x6d\x6a\x8f\x94\x67\x30\x83\x08"
  20356			  "\x00\x00\x00\x00",
  20357		.klen	= 20,
  20358		.iv     = zeroed_string,
  20359		.ptext	= "\x01\x01\x01\x01\x01\x01\x01\x01"
  20360			  "\x01\x01\x01\x01\x01\x01\x01\x01",
  20361		.plen	= 16,
  20362		.assoc  = zeroed_string,
  20363		.alen   = 16,
  20364		.ctext	= "\x4B\xB1\xB5\xE3\x25\x71\x70\xDE"
  20365			  "\x7F\xC9\x9C\xA5\x14\x19\xF2\xAC"
  20366			  "\x0B\x8F\x88\x69\x17\xE6\xB4\x3C"
  20367			  "\xB1\x68\xFD\x14\x52\x64\x61\xB2",
  20368		.clen	= 32,
  20369	}, {
  20370		.key    = "\xfe\xff\xe9\x92\x86\x65\x73\x1c"
  20371			  "\x6d\x6a\x8f\x94\x67\x30\x83\x08"
  20372			  "\x00\x00\x00\x00",
  20373		.klen	= 20,
  20374		.iv     = zeroed_string,
  20375		.ptext	= "\x01\x01\x01\x01\x01\x01\x01\x01"
  20376			  "\x01\x01\x01\x01\x01\x01\x01\x01",
  20377		.plen	= 16,
  20378		.assoc  = "\x01\x01\x01\x01\x01\x01\x01\x01"
  20379			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  20380		.alen   = 16,
  20381		.ctext	= "\x4B\xB1\xB5\xE3\x25\x71\x70\xDE"
  20382			  "\x7F\xC9\x9C\xA5\x14\x19\xF2\xAC"
  20383			  "\x90\x92\xB7\xE3\x5F\xA3\x9A\x63"
  20384			  "\x7E\xD7\x1F\xD8\xD3\x7C\x4B\xF5",
  20385		.clen	= 32,
  20386	}, {
  20387		.key    = "\xfe\xff\xe9\x92\x86\x65\x73\x1c"
  20388			  "\x6d\x6a\x8f\x94\x67\x30\x83\x08"
  20389			  "\x00\x00\x00\x00",
  20390		.klen	= 20,
  20391		.iv     = "\x00\x00\x00\x00\x00\x00\x00\x01",
  20392		.ptext	= "\x01\x01\x01\x01\x01\x01\x01\x01"
  20393			  "\x01\x01\x01\x01\x01\x01\x01\x01",
  20394		.plen	= 16,
  20395		.assoc  = "\x01\x01\x01\x01\x01\x01\x01\x01"
  20396			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  20397		.alen   = 16,
  20398		.ctext	= "\xC1\x0C\x8A\x43\x0E\x8E\x35\x19"
  20399			  "\x89\xB0\xC4\xBD\xC4\xB7\xD7\x29"
  20400			  "\x64\x50\xF9\x32\x13\xFB\x74\x61"
  20401			  "\xF4\xED\x52\xD3\xC5\x10\x55\x3C",
  20402		.clen	= 32,
  20403	}, {
  20404		.key    = "\xfe\xff\xe9\x92\x86\x65\x73\x1c"
  20405			  "\x6d\x6a\x8f\x94\x67\x30\x83\x08"
  20406			  "\x00\x00\x00\x00",
  20407		.klen	= 20,
  20408		.iv     = "\x00\x00\x00\x00\x00\x00\x00\x01",
  20409		.ptext	= "\x01\x01\x01\x01\x01\x01\x01\x01"
  20410			  "\x01\x01\x01\x01\x01\x01\x01\x01"
  20411			  "\x01\x01\x01\x01\x01\x01\x01\x01"
  20412			  "\x01\x01\x01\x01\x01\x01\x01\x01"
  20413			  "\x01\x01\x01\x01\x01\x01\x01\x01"
  20414			  "\x01\x01\x01\x01\x01\x01\x01\x01"
  20415			  "\x01\x01\x01\x01\x01\x01\x01\x01"
  20416			  "\x01\x01\x01\x01\x01\x01\x01\x01",
  20417		.plen	= 64,
  20418		.assoc  = "\x01\x01\x01\x01\x01\x01\x01\x01"
  20419			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  20420		.alen   = 16,
  20421		.ctext	= "\xC1\x0C\x8A\x43\x0E\x8E\x35\x19"
  20422			  "\x89\xB0\xC4\xBD\xC4\xB7\xD7\x29"
  20423			  "\x98\x14\xA1\x42\x37\x80\xFD\x90"
  20424			  "\x68\x12\x01\xA8\x91\x89\xB9\x83"
  20425			  "\x5B\x11\x77\x12\x9B\xFF\x24\x89"
  20426			  "\x94\x5F\x18\x12\xBA\x27\x09\x39"
  20427			  "\x99\x96\x76\x42\x15\x1C\xCD\xCB"
  20428			  "\xDC\xD3\xDA\x65\x73\xAF\x80\xCD"
  20429			  "\xD2\xB6\xC2\x4A\x76\xC2\x92\x85"
  20430			  "\xBD\xCF\x62\x98\x58\x14\xE5\xBD",
  20431		.clen	= 80,
  20432	}, {
  20433		.key    = "\x00\x01\x02\x03\x04\x05\x06\x07"
  20434			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  20435			  "\x00\x00\x00\x00",
  20436		.klen	= 20,
  20437		.iv     = "\x00\x00\x45\x67\x89\xab\xcd\xef",
  20438		.ptext	= "\xff\xff\xff\xff\xff\xff\xff\xff"
  20439			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  20440			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  20441			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  20442			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  20443			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  20444			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  20445			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  20446			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  20447			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  20448			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  20449			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  20450			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  20451			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  20452			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  20453			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  20454			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  20455			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  20456			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  20457			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  20458			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  20459			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  20460			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  20461			  "\xff\xff\xff\xff\xff\xff\xff\xff",
  20462		.plen	= 192,
  20463		.assoc  = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
  20464			  "\xaa\xaa\xaa\xaa\x00\x00\x45\x67"
  20465			  "\x89\xab\xcd\xef",
  20466		.alen   = 20,
  20467		.ctext	= "\xC1\x76\x33\x85\xE2\x9B\x5F\xDE"
  20468			  "\xDE\x89\x3D\x42\xE7\xC9\x69\x8A"
  20469			  "\x44\x6D\xC3\x88\x46\x2E\xC2\x01"
  20470			  "\x5E\xF6\x0C\x39\xF0\xC4\xA5\x82"
  20471			  "\xCD\xE8\x31\xCC\x0A\x4C\xE4\x44"
  20472			  "\x41\xA9\x82\x6F\x22\xA1\x23\x1A"
  20473			  "\xA8\xE3\x16\xFD\x31\x5C\x27\x31"
  20474			  "\xF1\x7F\x01\x63\xA3\xAF\x70\xA1"
  20475			  "\xCF\x07\x57\x41\x67\xD0\xC4\x42"
  20476			  "\xDB\x18\xC6\x4C\x4C\xE0\x3D\x9F"
  20477			  "\x05\x07\xFB\x13\x7D\x4A\xCA\x5B"
  20478			  "\xF0\xBF\x64\x7E\x05\xB1\x72\xEE"
  20479			  "\x7C\x3B\xD4\xCD\x14\x03\xB2\x2C"
  20480			  "\xD3\xA9\xEE\xFA\x17\xFC\x9C\xDF"
  20481			  "\xC7\x75\x40\xFF\xAE\xAD\x1E\x59"
  20482			  "\x2F\x30\x24\xFB\xAD\x6B\x10\xFA"
  20483			  "\x6C\x9F\x5B\xE7\x25\xD5\xD0\x25"
  20484			  "\xAC\x4A\x4B\xDA\xFC\x7A\x85\x1B"
  20485			  "\x7E\x13\x06\x82\x08\x17\xA4\x35"
  20486			  "\xEC\xC5\x8D\x63\x96\x81\x0A\x8F"
  20487			  "\xA3\x05\x38\x95\x20\x1A\x47\x04"
  20488			  "\x6F\x6D\xDA\x8F\xEF\xC1\x76\x35"
  20489			  "\x6B\xC7\x4D\x0F\x94\x12\xCA\x3E"
  20490			  "\x2E\xD5\x03\x2E\x86\x7E\xAA\x3B"
  20491			  "\x37\x08\x1C\xCF\xBA\x5D\x71\x46"
  20492			  "\x80\x72\xB0\x4C\x82\x0D\x60\x3C",
  20493		.clen	= 208,
  20494	}, { /* From draft-mcgrew-gcm-test-01 */
  20495		.key	= "\x4C\x80\xCD\xEF\xBB\x5D\x10\xDA"
  20496			  "\x90\x6A\xC7\x3C\x36\x13\xA6\x34"
  20497			  "\x2E\x44\x3B\x68",
  20498		.klen	= 20,
  20499		.iv	= "\x49\x56\xED\x7E\x3B\x24\x4C\xFE",
  20500		.ptext	= "\x45\x00\x00\x48\x69\x9A\x00\x00"
  20501			  "\x80\x11\x4D\xB7\xC0\xA8\x01\x02"
  20502			  "\xC0\xA8\x01\x01\x0A\x9B\xF1\x56"
  20503			  "\x38\xD3\x01\x00\x00\x01\x00\x00"
  20504			  "\x00\x00\x00\x00\x04\x5F\x73\x69"
  20505			  "\x70\x04\x5F\x75\x64\x70\x03\x73"
  20506			  "\x69\x70\x09\x63\x79\x62\x65\x72"
  20507			  "\x63\x69\x74\x79\x02\x64\x6B\x00"
  20508			  "\x00\x21\x00\x01\x01\x02\x02\x01",
  20509		.plen	= 72,
  20510		.assoc	= "\x00\x00\x43\x21\x87\x65\x43\x21"
  20511			  "\x00\x00\x00\x00\x49\x56\xED\x7E"
  20512			  "\x3B\x24\x4C\xFE",
  20513		.alen	= 20,
  20514		.ctext	= "\xFE\xCF\x53\x7E\x72\x9D\x5B\x07"
  20515			  "\xDC\x30\xDF\x52\x8D\xD2\x2B\x76"
  20516			  "\x8D\x1B\x98\x73\x66\x96\xA6\xFD"
  20517			  "\x34\x85\x09\xFA\x13\xCE\xAC\x34"
  20518			  "\xCF\xA2\x43\x6F\x14\xA3\xF3\xCF"
  20519			  "\x65\x92\x5B\xF1\xF4\xA1\x3C\x5D"
  20520			  "\x15\xB2\x1E\x18\x84\xF5\xFF\x62"
  20521			  "\x47\xAE\xAB\xB7\x86\xB9\x3B\xCE"
  20522			  "\x61\xBC\x17\xD7\x68\xFD\x97\x32"
  20523			  "\x45\x90\x18\x14\x8F\x6C\xBE\x72"
  20524			  "\x2F\xD0\x47\x96\x56\x2D\xFD\xB4",
  20525		.clen	= 88,
  20526	}, {
  20527		.key	= "\xFE\xFF\xE9\x92\x86\x65\x73\x1C"
  20528			  "\x6D\x6A\x8F\x94\x67\x30\x83\x08"
  20529			  "\xCA\xFE\xBA\xBE",
  20530		.klen	= 20,
  20531		.iv	= "\xFA\xCE\xDB\xAD\xDE\xCA\xF8\x88",
  20532		.ptext	= "\x45\x00\x00\x3E\x69\x8F\x00\x00"
  20533			  "\x80\x11\x4D\xCC\xC0\xA8\x01\x02"
  20534			  "\xC0\xA8\x01\x01\x0A\x98\x00\x35"
  20535			  "\x00\x2A\x23\x43\xB2\xD0\x01\x00"
  20536			  "\x00\x01\x00\x00\x00\x00\x00\x00"
  20537			  "\x03\x73\x69\x70\x09\x63\x79\x62"
  20538			  "\x65\x72\x63\x69\x74\x79\x02\x64"
  20539			  "\x6B\x00\x00\x01\x00\x01\x00\x01",
  20540		.plen	= 64,
  20541		.assoc	= "\x00\x00\xA5\xF8\x00\x00\x00\x0A"
  20542			  "\xFA\xCE\xDB\xAD\xDE\xCA\xF8\x88",
  20543		.alen	= 16,
  20544		.ctext	= "\xDE\xB2\x2C\xD9\xB0\x7C\x72\xC1"
  20545			  "\x6E\x3A\x65\xBE\xEB\x8D\xF3\x04"
  20546			  "\xA5\xA5\x89\x7D\x33\xAE\x53\x0F"
  20547			  "\x1B\xA7\x6D\x5D\x11\x4D\x2A\x5C"
  20548			  "\x3D\xE8\x18\x27\xC1\x0E\x9A\x4F"
  20549			  "\x51\x33\x0D\x0E\xEC\x41\x66\x42"
  20550			  "\xCF\xBB\x85\xA5\xB4\x7E\x48\xA4"
  20551			  "\xEC\x3B\x9B\xA9\x5D\x91\x8B\xD1"
  20552			  "\x83\xB7\x0D\x3A\xA8\xBC\x6E\xE4"
  20553			  "\xC3\x09\xE9\xD8\x5A\x41\xAD\x4A",
  20554		.clen	= 80,
  20555	}, {
  20556		.key	= "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
  20557			  "\x34\x45\x56\x67\x78\x89\x9A\xAB"
  20558			  "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
  20559			  "\x34\x45\x56\x67\x78\x89\x9A\xAB"
  20560			  "\x11\x22\x33\x44",
  20561		.klen	= 36,
  20562		.iv	= "\x01\x02\x03\x04\x05\x06\x07\x08",
  20563		.ptext	= "\x45\x00\x00\x30\x69\xA6\x40\x00"
  20564			  "\x80\x06\x26\x90\xC0\xA8\x01\x02"
  20565			  "\x93\x89\x15\x5E\x0A\x9E\x00\x8B"
  20566			  "\x2D\xC5\x7E\xE0\x00\x00\x00\x00"
  20567			  "\x70\x02\x40\x00\x20\xBF\x00\x00"
  20568			  "\x02\x04\x05\xB4\x01\x01\x04\x02"
  20569			  "\x01\x02\x02\x01",
  20570		.plen	= 52,
  20571		.assoc	= "\x4A\x2C\xBF\xE3\x00\x00\x00\x02"
  20572			  "\x01\x02\x03\x04\x05\x06\x07\x08",
  20573		.alen	= 16,
  20574		.ctext	= "\xFF\x42\x5C\x9B\x72\x45\x99\xDF"
  20575			  "\x7A\x3B\xCD\x51\x01\x94\xE0\x0D"
  20576			  "\x6A\x78\x10\x7F\x1B\x0B\x1C\xBF"
  20577			  "\x06\xEF\xAE\x9D\x65\xA5\xD7\x63"
  20578			  "\x74\x8A\x63\x79\x85\x77\x1D\x34"
  20579			  "\x7F\x05\x45\x65\x9F\x14\xE9\x9D"
  20580			  "\xEF\x84\x2D\x8E\xB3\x35\xF4\xEE"
  20581			  "\xCF\xDB\xF8\x31\x82\x4B\x4C\x49"
  20582			  "\x15\x95\x6C\x96",
  20583		.clen	= 68,
  20584	}, {
  20585		.key	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  20586			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  20587			  "\x00\x00\x00\x00",
  20588		.klen	= 20,
  20589		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00",
  20590		.ptext	= "\x45\x00\x00\x3C\x99\xC5\x00\x00"
  20591			  "\x80\x01\xCB\x7A\x40\x67\x93\x18"
  20592			  "\x01\x01\x01\x01\x08\x00\x07\x5C"
  20593			  "\x02\x00\x44\x00\x61\x62\x63\x64"
  20594			  "\x65\x66\x67\x68\x69\x6A\x6B\x6C"
  20595			  "\x6D\x6E\x6F\x70\x71\x72\x73\x74"
  20596			  "\x75\x76\x77\x61\x62\x63\x64\x65"
  20597			  "\x66\x67\x68\x69\x01\x02\x02\x01",
  20598		.plen	= 64,
  20599		.assoc	= "\x00\x00\x00\x00\x00\x00\x00\x01"
  20600			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  20601		.alen	= 16,
  20602		.ctext	= "\x46\x88\xDA\xF2\xF9\x73\xA3\x92"
  20603			  "\x73\x29\x09\xC3\x31\xD5\x6D\x60"
  20604			  "\xF6\x94\xAB\xAA\x41\x4B\x5E\x7F"
  20605			  "\xF5\xFD\xCD\xFF\xF5\xE9\xA2\x84"
  20606			  "\x45\x64\x76\x49\x27\x19\xFF\xB6"
  20607			  "\x4D\xE7\xD9\xDC\xA1\xE1\xD8\x94"
  20608			  "\xBC\x3B\xD5\x78\x73\xED\x4D\x18"
  20609			  "\x1D\x19\xD4\xD5\xC8\xC1\x8A\xF3"
  20610			  "\xF8\x21\xD4\x96\xEE\xB0\x96\xE9"
  20611			  "\x8A\xD2\xB6\x9E\x47\x99\xC7\x1D",
  20612		.clen	= 80,
  20613	}, {
  20614		.key	= "\x3D\xE0\x98\x74\xB3\x88\xE6\x49"
  20615			  "\x19\x88\xD0\xC3\x60\x7E\xAE\x1F"
  20616			  "\x57\x69\x0E\x43",
  20617		.klen	= 20,
  20618		.iv	= "\x4E\x28\x00\x00\xA2\xFC\xA1\xA3",
  20619		.ptext	= "\x45\x00\x00\x3C\x99\xC3\x00\x00"
  20620			  "\x80\x01\xCB\x7C\x40\x67\x93\x18"
  20621			  "\x01\x01\x01\x01\x08\x00\x08\x5C"
  20622			  "\x02\x00\x43\x00\x61\x62\x63\x64"
  20623			  "\x65\x66\x67\x68\x69\x6A\x6B\x6C"
  20624			  "\x6D\x6E\x6F\x70\x71\x72\x73\x74"
  20625			  "\x75\x76\x77\x61\x62\x63\x64\x65"
  20626			  "\x66\x67\x68\x69\x01\x02\x02\x01",
  20627		.plen	= 64,
  20628		.assoc	= "\x42\xF6\x7E\x3F\x10\x10\x10\x10"
  20629			  "\x10\x10\x10\x10\x4E\x28\x00\x00"
  20630			  "\xA2\xFC\xA1\xA3",
  20631		.alen	= 20,
  20632		.ctext	= "\xFB\xA2\xCA\xA4\x85\x3C\xF9\xF0"
  20633			  "\xF2\x2C\xB1\x0D\x86\xDD\x83\xB0"
  20634			  "\xFE\xC7\x56\x91\xCF\x1A\x04\xB0"
  20635			  "\x0D\x11\x38\xEC\x9C\x35\x79\x17"
  20636			  "\x65\xAC\xBD\x87\x01\xAD\x79\x84"
  20637			  "\x5B\xF9\xFE\x3F\xBA\x48\x7B\xC9"
  20638			  "\x17\x55\xE6\x66\x2B\x4C\x8D\x0D"
  20639			  "\x1F\x5E\x22\x73\x95\x30\x32\x0A"
  20640			  "\xE0\xD7\x31\xCC\x97\x8E\xCA\xFA"
  20641			  "\xEA\xE8\x8F\x00\xE8\x0D\x6E\x48",
  20642		.clen	= 80,
  20643	}, {
  20644		.key	= "\x3D\xE0\x98\x74\xB3\x88\xE6\x49"
  20645			  "\x19\x88\xD0\xC3\x60\x7E\xAE\x1F"
  20646			  "\x57\x69\x0E\x43",
  20647		.klen	= 20,
  20648		.iv	= "\x4E\x28\x00\x00\xA2\xFC\xA1\xA3",
  20649		.ptext	= "\x45\x00\x00\x1C\x42\xA2\x00\x00"
  20650			  "\x80\x01\x44\x1F\x40\x67\x93\xB6"
  20651			  "\xE0\x00\x00\x02\x0A\x00\xF5\xFF"
  20652			  "\x01\x02\x02\x01",
  20653		.plen	= 28,
  20654		.assoc	= "\x42\xF6\x7E\x3F\x10\x10\x10\x10"
  20655			  "\x10\x10\x10\x10\x4E\x28\x00\x00"
  20656			  "\xA2\xFC\xA1\xA3",
  20657		.alen	= 20,
  20658		.ctext	= "\xFB\xA2\xCA\x84\x5E\x5D\xF9\xF0"
  20659			  "\xF2\x2C\x3E\x6E\x86\xDD\x83\x1E"
  20660			  "\x1F\xC6\x57\x92\xCD\x1A\xF9\x13"
  20661			  "\x0E\x13\x79\xED\x36\x9F\x07\x1F"
  20662			  "\x35\xE0\x34\xBE\x95\xF1\x12\xE4"
  20663			  "\xE7\xD0\x5D\x35",
  20664		.clen	= 44,
  20665	}, {
  20666		.key	= "\xFE\xFF\xE9\x92\x86\x65\x73\x1C"
  20667			  "\x6D\x6A\x8F\x94\x67\x30\x83\x08"
  20668			  "\xFE\xFF\xE9\x92\x86\x65\x73\x1C"
  20669			  "\xCA\xFE\xBA\xBE",
  20670		.klen	= 28,
  20671		.iv	= "\xFA\xCE\xDB\xAD\xDE\xCA\xF8\x88",
  20672		.ptext	= "\x45\x00\x00\x28\xA4\xAD\x40\x00"
  20673			  "\x40\x06\x78\x80\x0A\x01\x03\x8F"
  20674			  "\x0A\x01\x06\x12\x80\x23\x06\xB8"
  20675			  "\xCB\x71\x26\x02\xDD\x6B\xB0\x3E"
  20676			  "\x50\x10\x16\xD0\x75\x68\x00\x01",
  20677		.plen	= 40,
  20678		.assoc	= "\x00\x00\xA5\xF8\x00\x00\x00\x0A"
  20679			  "\xFA\xCE\xDB\xAD\xDE\xCA\xF8\x88",
  20680		.alen	= 16,
  20681		.ctext	= "\xA5\xB1\xF8\x06\x60\x29\xAE\xA4"
  20682			  "\x0E\x59\x8B\x81\x22\xDE\x02\x42"
  20683			  "\x09\x38\xB3\xAB\x33\xF8\x28\xE6"
  20684			  "\x87\xB8\x85\x8B\x5B\xFB\xDB\xD0"
  20685			  "\x31\x5B\x27\x45\x21\x44\xCC\x77"
  20686			  "\x95\x45\x7B\x96\x52\x03\x7F\x53"
  20687			  "\x18\x02\x7B\x5B\x4C\xD7\xA6\x36",
  20688		.clen	= 56,
  20689	}, {
  20690		.key	= "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
  20691			  "\x34\x45\x56\x67\x78\x89\x9A\xAB"
  20692			  "\xDE\xCA\xF8\x88",
  20693		.klen	= 20,
  20694		.iv	= "\xCA\xFE\xDE\xBA\xCE\xFA\xCE\x74",
  20695		.ptext	= "\x45\x00\x00\x49\x33\xBA\x00\x00"
  20696			  "\x7F\x11\x91\x06\xC3\xFB\x1D\x10"
  20697			  "\xC2\xB1\xD3\x26\xC0\x28\x31\xCE"
  20698			  "\x00\x35\xDD\x7B\x80\x03\x02\xD5"
  20699			  "\x00\x00\x4E\x20\x00\x1E\x8C\x18"
  20700			  "\xD7\x5B\x81\xDC\x91\xBA\xA0\x47"
  20701			  "\x6B\x91\xB9\x24\xB2\x80\x38\x9D"
  20702			  "\x92\xC9\x63\xBA\xC0\x46\xEC\x95"
  20703			  "\x9B\x62\x66\xC0\x47\x22\xB1\x49"
  20704			  "\x23\x01\x01\x01",
  20705		.plen	= 76,
  20706		.assoc	= "\x00\x00\x01\x00\x00\x00\x00\x00"
  20707			  "\x00\x00\x00\x01\xCA\xFE\xDE\xBA"
  20708			  "\xCE\xFA\xCE\x74",
  20709		.alen	= 20,
  20710		.ctext	= "\x18\xA6\xFD\x42\xF7\x2C\xBF\x4A"
  20711			  "\xB2\xA2\xEA\x90\x1F\x73\xD8\x14"
  20712			  "\xE3\xE7\xF2\x43\xD9\x54\x12\xE1"
  20713			  "\xC3\x49\xC1\xD2\xFB\xEC\x16\x8F"
  20714			  "\x91\x90\xFE\xEB\xAF\x2C\xB0\x19"
  20715			  "\x84\xE6\x58\x63\x96\x5D\x74\x72"
  20716			  "\xB7\x9D\xA3\x45\xE0\xE7\x80\x19"
  20717			  "\x1F\x0D\x2F\x0E\x0F\x49\x6C\x22"
  20718			  "\x6F\x21\x27\xB2\x7D\xB3\x57\x24"
  20719			  "\xE7\x84\x5D\x68\x65\x1F\x57\xE6"
  20720			  "\x5F\x35\x4F\x75\xFF\x17\x01\x57"
  20721			  "\x69\x62\x34\x36",
  20722		.clen	= 92,
  20723	}, {
  20724		.key	= "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
  20725			  "\x34\x45\x56\x67\x78\x89\x9A\xAB"
  20726			  "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
  20727			  "\x34\x45\x56\x67\x78\x89\x9A\xAB"
  20728			  "\x73\x61\x6C\x74",
  20729		.klen	= 36,
  20730		.iv	= "\x61\x6E\x64\x01\x69\x76\x65\x63",
  20731		.ptext	= "\x45\x08\x00\x28\x73\x2C\x00\x00"
  20732			  "\x40\x06\xE9\xF9\x0A\x01\x06\x12"
  20733			  "\x0A\x01\x03\x8F\x06\xB8\x80\x23"
  20734			  "\xDD\x6B\xAF\xBE\xCB\x71\x26\x02"
  20735			  "\x50\x10\x1F\x64\x6D\x54\x00\x01",
  20736		.plen	= 40,
  20737		.assoc	= "\x17\x40\x5E\x67\x15\x6F\x31\x26"
  20738			  "\xDD\x0D\xB9\x9B\x61\x6E\x64\x01"
  20739			  "\x69\x76\x65\x63",
  20740		.alen	= 20,
  20741		.ctext	= "\xF2\xD6\x9E\xCD\xBD\x5A\x0D\x5B"
  20742			  "\x8D\x5E\xF3\x8B\xAD\x4D\xA5\x8D"
  20743			  "\x1F\x27\x8F\xDE\x98\xEF\x67\x54"
  20744			  "\x9D\x52\x4A\x30\x18\xD9\xA5\x7F"
  20745			  "\xF4\xD3\xA3\x1C\xE6\x73\x11\x9E"
  20746			  "\x45\x16\x26\xC2\x41\x57\x71\xE3"
  20747			  "\xB7\xEE\xBC\xA6\x14\xC8\x9B\x35",
  20748		.clen	= 56,
  20749	}, {
  20750		.key	= "\x3D\xE0\x98\x74\xB3\x88\xE6\x49"
  20751			  "\x19\x88\xD0\xC3\x60\x7E\xAE\x1F"
  20752			  "\x57\x69\x0E\x43",
  20753		.klen	= 20,
  20754		.iv	= "\x4E\x28\x00\x00\xA2\xFC\xA1\xA3",
  20755		.ptext	= "\x45\x00\x00\x49\x33\x3E\x00\x00"
  20756			  "\x7F\x11\x91\x82\xC3\xFB\x1D\x10"
  20757			  "\xC2\xB1\xD3\x26\xC0\x28\x31\xCE"
  20758			  "\x00\x35\xCB\x45\x80\x03\x02\x5B"
  20759			  "\x00\x00\x01\xE0\x00\x1E\x8C\x18"
  20760			  "\xD6\x57\x59\xD5\x22\x84\xA0\x35"
  20761			  "\x2C\x71\x47\x5C\x88\x80\x39\x1C"
  20762			  "\x76\x4D\x6E\x5E\xE0\x49\x6B\x32"
  20763			  "\x5A\xE2\x70\xC0\x38\x99\x49\x39"
  20764			  "\x15\x01\x01\x01",
  20765		.plen	= 76,
  20766		.assoc	= "\x42\xF6\x7E\x3F\x10\x10\x10\x10"
  20767			  "\x10\x10\x10\x10\x4E\x28\x00\x00"
  20768			  "\xA2\xFC\xA1\xA3",
  20769		.alen	= 20,
  20770		.ctext	= "\xFB\xA2\xCA\xD1\x2F\xC1\xF9\xF0"
  20771			  "\x0D\x3C\xEB\xF3\x05\x41\x0D\xB8"
  20772			  "\x3D\x77\x84\xB6\x07\x32\x3D\x22"
  20773			  "\x0F\x24\xB0\xA9\x7D\x54\x18\x28"
  20774			  "\x00\xCA\xDB\x0F\x68\xD9\x9E\xF0"
  20775			  "\xE0\xC0\xC8\x9A\xE9\xBE\xA8\x88"
  20776			  "\x4E\x52\xD6\x5B\xC1\xAF\xD0\x74"
  20777			  "\x0F\x74\x24\x44\x74\x7B\x5B\x39"
  20778			  "\xAB\x53\x31\x63\xAA\xD4\x55\x0E"
  20779			  "\xE5\x16\x09\x75\xCD\xB6\x08\xC5"
  20780			  "\x76\x91\x89\x60\x97\x63\xB8\xE1"
  20781			  "\x8C\xAA\x81\xE2",
  20782		.clen	= 92,
  20783	}, {
  20784		.key	= "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
  20785			  "\x34\x45\x56\x67\x78\x89\x9A\xAB"
  20786			  "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
  20787			  "\x34\x45\x56\x67\x78\x89\x9A\xAB"
  20788			  "\x73\x61\x6C\x74",
  20789		.klen	= 36,
  20790		.iv	= "\x61\x6E\x64\x01\x69\x76\x65\x63",
  20791		.ptext	= "\x63\x69\x73\x63\x6F\x01\x72\x75"
  20792			  "\x6C\x65\x73\x01\x74\x68\x65\x01"
  20793			  "\x6E\x65\x74\x77\x65\x01\x64\x65"
  20794			  "\x66\x69\x6E\x65\x01\x74\x68\x65"
  20795			  "\x74\x65\x63\x68\x6E\x6F\x6C\x6F"
  20796			  "\x67\x69\x65\x73\x01\x74\x68\x61"
  20797			  "\x74\x77\x69\x6C\x6C\x01\x64\x65"
  20798			  "\x66\x69\x6E\x65\x74\x6F\x6D\x6F"
  20799			  "\x72\x72\x6F\x77\x01\x02\x02\x01",
  20800		.plen	= 72,
  20801		.assoc	= "\x17\x40\x5E\x67\x15\x6F\x31\x26"
  20802			  "\xDD\x0D\xB9\x9B\x61\x6E\x64\x01"
  20803			  "\x69\x76\x65\x63",
  20804		.alen	= 20,
  20805		.ctext	= "\xD4\xB7\xED\x86\xA1\x77\x7F\x2E"
  20806			  "\xA1\x3D\x69\x73\xD3\x24\xC6\x9E"
  20807			  "\x7B\x43\xF8\x26\xFB\x56\x83\x12"
  20808			  "\x26\x50\x8B\xEB\xD2\xDC\xEB\x18"
  20809			  "\xD0\xA6\xDF\x10\xE5\x48\x7D\xF0"
  20810			  "\x74\x11\x3E\x14\xC6\x41\x02\x4E"
  20811			  "\x3E\x67\x73\xD9\x1A\x62\xEE\x42"
  20812			  "\x9B\x04\x3A\x10\xE3\xEF\xE6\xB0"
  20813			  "\x12\xA4\x93\x63\x41\x23\x64\xF8"
  20814			  "\xC0\xCA\xC5\x87\xF2\x49\xE5\x6B"
  20815			  "\x11\xE2\x4F\x30\xE4\x4C\xCC\x76",
  20816		.clen	= 88,
  20817	}, {
  20818		.key	= "\x7D\x77\x3D\x00\xC1\x44\xC5\x25"
  20819			  "\xAC\x61\x9D\x18\xC8\x4A\x3F\x47"
  20820			  "\xD9\x66\x42\x67",
  20821		.klen	= 20,
  20822		.iv	= "\x43\x45\x7E\x91\x82\x44\x3B\xC6",
  20823		.ptext	= "\x01\x02\x02\x01",
  20824		.plen	= 4,
  20825		.assoc	= "\x33\x54\x67\xAE\xFF\xFF\xFF\xFF"
  20826			  "\x43\x45\x7E\x91\x82\x44\x3B\xC6",
  20827		.alen	= 16,
  20828		.ctext	= "\x43\x7F\x86\x6B\xCB\x3F\x69\x9F"
  20829			  "\xE9\xB0\x82\x2B\xAC\x96\x1C\x45"
  20830			  "\x04\xBE\xF2\x70",
  20831		.clen	= 20,
  20832	}, {
  20833		.key	= "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
  20834			  "\x34\x45\x56\x67\x78\x89\x9A\xAB"
  20835			  "\xDE\xCA\xF8\x88",
  20836		.klen	= 20,
  20837		.iv	= "\xCA\xFE\xDE\xBA\xCE\xFA\xCE\x74",
  20838		.ptext	= "\x74\x6F\x01\x62\x65\x01\x6F\x72"
  20839			  "\x01\x6E\x6F\x74\x01\x74\x6F\x01"
  20840			  "\x62\x65\x00\x01",
  20841		.plen	= 20,
  20842		.assoc	= "\x00\x00\x01\x00\x00\x00\x00\x00"
  20843			  "\x00\x00\x00\x01\xCA\xFE\xDE\xBA"
  20844			  "\xCE\xFA\xCE\x74",
  20845		.alen	= 20,
  20846		.ctext	= "\x29\xC9\xFC\x69\xA1\x97\xD0\x38"
  20847			  "\xCC\xDD\x14\xE2\xDD\xFC\xAA\x05"
  20848			  "\x43\x33\x21\x64\x41\x25\x03\x52"
  20849			  "\x43\x03\xED\x3C\x6C\x5F\x28\x38"
  20850			  "\x43\xAF\x8C\x3E",
  20851		.clen	= 36,
  20852	}, {
  20853		.key	= "\x6C\x65\x67\x61\x6C\x69\x7A\x65"
  20854			  "\x6D\x61\x72\x69\x6A\x75\x61\x6E"
  20855			  "\x61\x61\x6E\x64\x64\x6F\x69\x74"
  20856			  "\x62\x65\x66\x6F\x72\x65\x69\x61"
  20857			  "\x74\x75\x72\x6E",
  20858		.klen	= 36,
  20859		.iv	= "\x33\x30\x21\x69\x67\x65\x74\x6D",
  20860		.ptext	= "\x45\x00\x00\x30\xDA\x3A\x00\x00"
  20861			  "\x80\x01\xDF\x3B\xC0\xA8\x00\x05"
  20862			  "\xC0\xA8\x00\x01\x08\x00\xC6\xCD"
  20863			  "\x02\x00\x07\x00\x61\x62\x63\x64"
  20864			  "\x65\x66\x67\x68\x69\x6A\x6B\x6C"
  20865			  "\x6D\x6E\x6F\x70\x71\x72\x73\x74"
  20866			  "\x01\x02\x02\x01",
  20867		.plen	= 52,
  20868		.assoc	= "\x79\x6B\x69\x63\xFF\xFF\xFF\xFF"
  20869			  "\xFF\xFF\xFF\xFF\x33\x30\x21\x69"
  20870			  "\x67\x65\x74\x6D",
  20871		.alen	= 20,
  20872		.ctext	= "\xF9\x7A\xB2\xAA\x35\x6D\x8E\xDC"
  20873			  "\xE1\x76\x44\xAC\x8C\x78\xE2\x5D"
  20874			  "\xD2\x4D\xED\xBB\x29\xEB\xF1\xB6"
  20875			  "\x4A\x27\x4B\x39\xB4\x9C\x3A\x86"
  20876			  "\x4C\xD3\xD7\x8C\xA4\xAE\x68\xA3"
  20877			  "\x2B\x42\x45\x8F\xB5\x7D\xBE\x82"
  20878			  "\x1D\xCC\x63\xB9\xD0\x93\x7B\xA2"
  20879			  "\x94\x5F\x66\x93\x68\x66\x1A\x32"
  20880			  "\x9F\xB4\xC0\x53",
  20881		.clen	= 68,
  20882	}, {
  20883		.key	= "\x3D\xE0\x98\x74\xB3\x88\xE6\x49"
  20884			  "\x19\x88\xD0\xC3\x60\x7E\xAE\x1F"
  20885			  "\x57\x69\x0E\x43",
  20886		.klen	= 20,
  20887		.iv	= "\x4E\x28\x00\x00\xA2\xFC\xA1\xA3",
  20888		.ptext	= "\x45\x00\x00\x30\xDA\x3A\x00\x00"
  20889			  "\x80\x01\xDF\x3B\xC0\xA8\x00\x05"
  20890			  "\xC0\xA8\x00\x01\x08\x00\xC6\xCD"
  20891			  "\x02\x00\x07\x00\x61\x62\x63\x64"
  20892			  "\x65\x66\x67\x68\x69\x6A\x6B\x6C"
  20893			  "\x6D\x6E\x6F\x70\x71\x72\x73\x74"
  20894			  "\x01\x02\x02\x01",
  20895		.plen	= 52,
  20896		.assoc	= "\x3F\x7E\xF6\x42\x10\x10\x10\x10"
  20897			  "\x10\x10\x10\x10\x4E\x28\x00\x00"
  20898			  "\xA2\xFC\xA1\xA3",
  20899		.alen	= 20,
  20900		.ctext	= "\xFB\xA2\xCA\xA8\xC6\xC5\xF9\xF0"
  20901			  "\xF2\x2C\xA5\x4A\x06\x12\x10\xAD"
  20902			  "\x3F\x6E\x57\x91\xCF\x1A\xCA\x21"
  20903			  "\x0D\x11\x7C\xEC\x9C\x35\x79\x17"
  20904			  "\x65\xAC\xBD\x87\x01\xAD\x79\x84"
  20905			  "\x5B\xF9\xFE\x3F\xBA\x48\x7B\xC9"
  20906			  "\x63\x21\x93\x06\x84\xEE\xCA\xDB"
  20907			  "\x56\x91\x25\x46\xE7\xA9\x5C\x97"
  20908			  "\x40\xD7\xCB\x05",
  20909		.clen	= 68,
  20910	}, {
  20911		.key	= "\x4C\x80\xCD\xEF\xBB\x5D\x10\xDA"
  20912			  "\x90\x6A\xC7\x3C\x36\x13\xA6\x34"
  20913			  "\x22\x43\x3C\x64",
  20914		.klen	= 20,
  20915		.iv	= "\x48\x55\xEC\x7D\x3A\x23\x4B\xFD",
  20916		.ptext	= "\x08\x00\xC6\xCD\x02\x00\x07\x00"
  20917			  "\x61\x62\x63\x64\x65\x66\x67\x68"
  20918			  "\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70"
  20919			  "\x71\x72\x73\x74\x01\x02\x02\x01",
  20920		.plen	= 32,
  20921		.assoc	= "\x00\x00\x43\x21\x87\x65\x43\x21"
  20922			  "\x00\x00\x00\x07\x48\x55\xEC\x7D"
  20923			  "\x3A\x23\x4B\xFD",
  20924		.alen	= 20,
  20925		.ctext	= "\x74\x75\x2E\x8A\xEB\x5D\x87\x3C"
  20926			  "\xD7\xC0\xF4\xAC\xC3\x6C\x4B\xFF"
  20927			  "\x84\xB7\xD7\xB9\x8F\x0C\xA8\xB6"
  20928			  "\xAC\xDA\x68\x94\xBC\x61\x90\x69"
  20929			  "\xEF\x9C\xBC\x28\xFE\x1B\x56\xA7"
  20930			  "\xC4\xE0\xD5\x8C\x86\xCD\x2B\xC0",
  20931		.clen	= 48,
  20932	}
  20933};
  20934
  20935static const struct aead_testvec aes_gcm_rfc4543_tv_template[] = {
  20936	{ /* From draft-mcgrew-gcm-test-01 */
  20937		.key	= "\x4c\x80\xcd\xef\xbb\x5d\x10\xda"
  20938			  "\x90\x6a\xc7\x3c\x36\x13\xa6\x34"
  20939			  "\x22\x43\x3c\x64",
  20940		.klen	= 20,
  20941		.iv	= zeroed_string,
  20942		.assoc	= "\x00\x00\x43\x21\x00\x00\x00\x07"
  20943			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  20944		.alen	= 16,
  20945		.ptext	= "\x45\x00\x00\x30\xda\x3a\x00\x00"
  20946			  "\x80\x01\xdf\x3b\xc0\xa8\x00\x05"
  20947			  "\xc0\xa8\x00\x01\x08\x00\xc6\xcd"
  20948			  "\x02\x00\x07\x00\x61\x62\x63\x64"
  20949			  "\x65\x66\x67\x68\x69\x6a\x6b\x6c"
  20950			  "\x6d\x6e\x6f\x70\x71\x72\x73\x74"
  20951			  "\x01\x02\x02\x01",
  20952		.plen	= 52,
  20953		.ctext	= "\x45\x00\x00\x30\xda\x3a\x00\x00"
  20954			  "\x80\x01\xdf\x3b\xc0\xa8\x00\x05"
  20955			  "\xc0\xa8\x00\x01\x08\x00\xc6\xcd"
  20956			  "\x02\x00\x07\x00\x61\x62\x63\x64"
  20957			  "\x65\x66\x67\x68\x69\x6a\x6b\x6c"
  20958			  "\x6d\x6e\x6f\x70\x71\x72\x73\x74"
  20959			  "\x01\x02\x02\x01\xf2\xa9\xa8\x36"
  20960			  "\xe1\x55\x10\x6a\xa8\xdc\xd6\x18"
  20961			  "\xe4\x09\x9a\xaa",
  20962		.clen	= 68,
  20963	}, { /* nearly same as previous, but should fail */
  20964		.key	= "\x4c\x80\xcd\xef\xbb\x5d\x10\xda"
  20965			  "\x90\x6a\xc7\x3c\x36\x13\xa6\x34"
  20966			  "\x22\x43\x3c\x64",
  20967		.klen	= 20,
  20968		.iv	= zeroed_string,
  20969		.assoc	= "\x00\x00\x43\x21\x00\x00\x00\x07"
  20970			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  20971		.alen	= 16,
  20972		.ptext	= "\x45\x00\x00\x30\xda\x3a\x00\x00"
  20973			  "\x80\x01\xdf\x3b\xc0\xa8\x00\x05"
  20974			  "\xc0\xa8\x00\x01\x08\x00\xc6\xcd"
  20975			  "\x02\x00\x07\x00\x61\x62\x63\x64"
  20976			  "\x65\x66\x67\x68\x69\x6a\x6b\x6c"
  20977			  "\x6d\x6e\x6f\x70\x71\x72\x73\x74"
  20978			  "\x01\x02\x02\x01",
  20979		.plen	= 52,
  20980		.novrfy = 1,
  20981		.ctext	= "\x45\x00\x00\x30\xda\x3a\x00\x00"
  20982			  "\x80\x01\xdf\x3b\xc0\xa8\x00\x05"
  20983			  "\xc0\xa8\x00\x01\x08\x00\xc6\xcd"
  20984			  "\x02\x00\x07\x00\x61\x62\x63\x64"
  20985			  "\x65\x66\x67\x68\x69\x6a\x6b\x6c"
  20986			  "\x6d\x6e\x6f\x70\x71\x72\x73\x74"
  20987			  "\x01\x02\x02\x01\xf2\xa9\xa8\x36"
  20988			  "\xe1\x55\x10\x6a\xa8\xdc\xd6\x18"
  20989			  "\x00\x00\x00\x00",
  20990		.clen	= 68,
  20991	},
  20992};
  20993
  20994static const struct aead_testvec aes_ccm_tv_template[] = {
  20995	{ /* From RFC 3610 */
  20996		.key	= "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  20997			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf",
  20998		.klen	= 16,
  20999		.iv	= "\x01\x00\x00\x00\x03\x02\x01\x00"
  21000			  "\xa0\xa1\xa2\xa3\xa4\xa5\x00\x00",
  21001		.assoc	= "\x00\x01\x02\x03\x04\x05\x06\x07",
  21002		.alen	= 8,
  21003		.ptext	= "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  21004			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  21005			  "\x18\x19\x1a\x1b\x1c\x1d\x1e",
  21006		.plen	= 23,
  21007		.ctext	= "\x58\x8c\x97\x9a\x61\xc6\x63\xd2"
  21008			  "\xf0\x66\xd0\xc2\xc0\xf9\x89\x80"
  21009			  "\x6d\x5f\x6b\x61\xda\xc3\x84\x17"
  21010			  "\xe8\xd1\x2c\xfd\xf9\x26\xe0",
  21011		.clen	= 31,
  21012	}, {
  21013		.key	= "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  21014			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf",
  21015		.klen	= 16,
  21016		.iv	= "\x01\x00\x00\x00\x07\x06\x05\x04"
  21017			  "\xa0\xa1\xa2\xa3\xa4\xa5\x00\x00",
  21018		.assoc	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  21019			  "\x08\x09\x0a\x0b",
  21020		.alen	= 12,
  21021		.ptext	= "\x0c\x0d\x0e\x0f\x10\x11\x12\x13"
  21022			  "\x14\x15\x16\x17\x18\x19\x1a\x1b"
  21023			  "\x1c\x1d\x1e\x1f",
  21024		.plen	= 20,
  21025		.ctext	= "\xdc\xf1\xfb\x7b\x5d\x9e\x23\xfb"
  21026			  "\x9d\x4e\x13\x12\x53\x65\x8a\xd8"
  21027			  "\x6e\xbd\xca\x3e\x51\xe8\x3f\x07"
  21028			  "\x7d\x9c\x2d\x93",
  21029		.clen	= 28,
  21030	}, {
  21031		.key	= "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  21032			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf",
  21033		.klen	= 16,
  21034		.iv	= "\x01\x00\x00\x00\x0b\x0a\x09\x08"
  21035			  "\xa0\xa1\xa2\xa3\xa4\xa5\x00\x00",
  21036		.assoc	= "\x00\x01\x02\x03\x04\x05\x06\x07",
  21037		.alen	= 8,
  21038		.ptext	= "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  21039			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  21040			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  21041			  "\x20",
  21042		.plen	= 25,
  21043		.ctext	= "\x82\x53\x1a\x60\xcc\x24\x94\x5a"
  21044			  "\x4b\x82\x79\x18\x1a\xb5\xc8\x4d"
  21045			  "\xf2\x1c\xe7\xf9\xb7\x3f\x42\xe1"
  21046			  "\x97\xea\x9c\x07\xe5\x6b\x5e\xb1"
  21047			  "\x7e\x5f\x4e",
  21048		.clen	= 35,
  21049	}, {
  21050		.key	= "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  21051			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf",
  21052		.klen	= 16,
  21053		.iv	= "\x01\x00\x00\x00\x0c\x0b\x0a\x09"
  21054			  "\xa0\xa1\xa2\xa3\xa4\xa5\x00\x00",
  21055		.assoc	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  21056			  "\x08\x09\x0a\x0b",
  21057		.alen	= 12,
  21058		.ptext	= "\x0c\x0d\x0e\x0f\x10\x11\x12\x13"
  21059			  "\x14\x15\x16\x17\x18\x19\x1a\x1b"
  21060			  "\x1c\x1d\x1e",
  21061		.plen	= 19,
  21062		.ctext	= "\x07\x34\x25\x94\x15\x77\x85\x15"
  21063			  "\x2b\x07\x40\x98\x33\x0a\xbb\x14"
  21064			  "\x1b\x94\x7b\x56\x6a\xa9\x40\x6b"
  21065			  "\x4d\x99\x99\x88\xdd",
  21066		.clen	= 29,
  21067	}, {
  21068		.key	= "\xd7\x82\x8d\x13\xb2\xb0\xbd\xc3"
  21069			  "\x25\xa7\x62\x36\xdf\x93\xcc\x6b",
  21070		.klen	= 16,
  21071		.iv	= "\x01\x00\x33\x56\x8e\xf7\xb2\x63"
  21072			  "\x3c\x96\x96\x76\x6c\xfa\x00\x00",
  21073		.assoc	= "\x63\x01\x8f\x76\xdc\x8a\x1b\xcb",
  21074		.alen	= 8,
  21075		.ptext	= "\x90\x20\xea\x6f\x91\xbd\xd8\x5a"
  21076			  "\xfa\x00\x39\xba\x4b\xaf\xf9\xbf"
  21077			  "\xb7\x9c\x70\x28\x94\x9c\xd0\xec",
  21078		.plen	= 24,
  21079		.ctext	= "\x4c\xcb\x1e\x7c\xa9\x81\xbe\xfa"
  21080			  "\xa0\x72\x6c\x55\xd3\x78\x06\x12"
  21081			  "\x98\xc8\x5c\x92\x81\x4a\xbc\x33"
  21082			  "\xc5\x2e\xe8\x1d\x7d\x77\xc0\x8a",
  21083		.clen	= 32,
  21084	}, {
  21085		.key	= "\xd7\x82\x8d\x13\xb2\xb0\xbd\xc3"
  21086			  "\x25\xa7\x62\x36\xdf\x93\xcc\x6b",
  21087		.klen	= 16,
  21088		.iv	= "\x01\x00\xd5\x60\x91\x2d\x3f\x70"
  21089			  "\x3c\x96\x96\x76\x6c\xfa\x00\x00",
  21090		.assoc	= "\xcd\x90\x44\xd2\xb7\x1f\xdb\x81"
  21091			  "\x20\xea\x60\xc0",
  21092		.alen	= 12,
  21093		.ptext	= "\x64\x35\xac\xba\xfb\x11\xa8\x2e"
  21094			  "\x2f\x07\x1d\x7c\xa4\xa5\xeb\xd9"
  21095			  "\x3a\x80\x3b\xa8\x7f",
  21096		.plen	= 21,
  21097		.ctext	= "\x00\x97\x69\xec\xab\xdf\x48\x62"
  21098			  "\x55\x94\xc5\x92\x51\xe6\x03\x57"
  21099			  "\x22\x67\x5e\x04\xc8\x47\x09\x9e"
  21100			  "\x5a\xe0\x70\x45\x51",
  21101		.clen	= 29,
  21102	}, {
  21103		.key	= "\xd7\x82\x8d\x13\xb2\xb0\xbd\xc3"
  21104			  "\x25\xa7\x62\x36\xdf\x93\xcc\x6b",
  21105		.klen	= 16,
  21106		.iv	= "\x01\x00\x42\xff\xf8\xf1\x95\x1c"
  21107			  "\x3c\x96\x96\x76\x6c\xfa\x00\x00",
  21108		.assoc	= "\xd8\x5b\xc7\xe6\x9f\x94\x4f\xb8",
  21109		.alen	= 8,
  21110		.ptext	= "\x8a\x19\xb9\x50\xbc\xf7\x1a\x01"
  21111			  "\x8e\x5e\x67\x01\xc9\x17\x87\x65"
  21112			  "\x98\x09\xd6\x7d\xbe\xdd\x18",
  21113		.plen	= 23,
  21114		.ctext	= "\xbc\x21\x8d\xaa\x94\x74\x27\xb6"
  21115			  "\xdb\x38\x6a\x99\xac\x1a\xef\x23"
  21116			  "\xad\xe0\xb5\x29\x39\xcb\x6a\x63"
  21117			  "\x7c\xf9\xbe\xc2\x40\x88\x97\xc6"
  21118			  "\xba",
  21119		.clen	= 33,
  21120	}, {
  21121		/* This is taken from FIPS CAVS. */
  21122		.key	= "\x83\xac\x54\x66\xc2\xeb\xe5\x05"
  21123			  "\x2e\x01\xd1\xfc\x5d\x82\x66\x2e",
  21124		.klen	= 16,
  21125		.iv	= "\x03\x96\xac\x59\x30\x07\xa1\xe2\xa2\xc7\x55\x24\0\0\0\0",
  21126		.alen	= 0,
  21127		.ptext	= "\x19\xc8\x81\xf6\xe9\x86\xff\x93"
  21128			  "\x0b\x78\x67\xe5\xbb\xb7\xfc\x6e"
  21129			  "\x83\x77\xb3\xa6\x0c\x8c\x9f\x9c"
  21130			  "\x35\x2e\xad\xe0\x62\xf9\x91\xa1",
  21131		.plen	= 32,
  21132		.ctext	= "\xab\x6f\xe1\x69\x1d\x19\x99\xa8"
  21133			  "\x92\xa0\xc4\x6f\x7e\xe2\x8b\xb1"
  21134			  "\x70\xbb\x8c\xa6\x4c\x6e\x97\x8a"
  21135			  "\x57\x2b\xbe\x5d\x98\xa6\xb1\x32"
  21136			  "\xda\x24\xea\xd9\xa1\x39\x98\xfd"
  21137			  "\xa4\xbe\xd9\xf2\x1a\x6d\x22\xa8",
  21138		.clen	= 48,
  21139	}, {
  21140		.key	= "\x1e\x2c\x7e\x01\x41\x9a\xef\xc0"
  21141			  "\x0d\x58\x96\x6e\x5c\xa2\x4b\xd3",
  21142		.klen	= 16,
  21143		.iv	= "\x03\x4f\xa3\x19\xd3\x01\x5a\xd8"
  21144			  "\x30\x60\x15\x56\x00\x00\x00\x00",
  21145		.assoc	= "\xda\xe6\x28\x9c\x45\x2d\xfd\x63"
  21146			  "\x5e\xda\x4c\xb6\xe6\xfc\xf9\xb7"
  21147			  "\x0c\x56\xcb\xe4\xe0\x05\x7a\xe1"
  21148			  "\x0a\x63\x09\x78\xbc\x2c\x55\xde",
  21149		.alen	= 32,
  21150		.ptext	= "\x87\xa3\x36\xfd\x96\xb3\x93\x78"
  21151			  "\xa9\x28\x63\xba\x12\xa3\x14\x85"
  21152			  "\x57\x1e\x06\xc9\x7b\x21\xef\x76"
  21153			  "\x7f\x38\x7e\x8e\x29\xa4\x3e\x7e",
  21154		.plen	= 32,
  21155		.ctext	= "\x8a\x1e\x11\xf0\x02\x6b\xe2\x19"
  21156			  "\xfc\x70\xc4\x6d\x8e\xb7\x99\xab"
  21157			  "\xc5\x4b\xa2\xac\xd3\xf3\x48\xff"
  21158			  "\x3b\xb5\xce\x53\xef\xde\xbb\x02"
  21159			  "\xa9\x86\x15\x6c\x13\xfe\xda\x0a"
  21160			  "\x22\xb8\x29\x3d\xd8\x39\x9a\x23",
  21161		.clen	= 48,
  21162	}, {
  21163		.key	= "\xf4\x6b\xc2\x75\x62\xfe\xb4\xe1"
  21164			  "\xa3\xf0\xff\xdd\x4e\x4b\x12\x75"
  21165			  "\x53\x14\x73\x66\x8d\x88\xf6\x80",
  21166		.klen	= 24,
  21167		.iv	= "\x03\xa0\x20\x35\x26\xf2\x21\x8d"
  21168			  "\x50\x20\xda\xe2\x00\x00\x00\x00",
  21169		.assoc	= "\x5b\x9e\x13\x67\x02\x5e\xef\xc1"
  21170			  "\x6c\xf9\xd7\x1e\x52\x8f\x7a\x47"
  21171			  "\xe9\xd4\xcf\x20\x14\x6e\xf0\x2d"
  21172			  "\xd8\x9e\x2b\x56\x10\x23\x56\xe7",
  21173		.alen	= 32,
  21174		.ctext	= "\x36\xea\x7a\x70\x08\xdc\x6a\xbc"
  21175			  "\xad\x0c\x7a\x63\xf6\x61\xfd\x9b",
  21176		.clen	= 16,
  21177	}, {
  21178		.key	= "\x56\xdf\x5c\x8f\x26\x3f\x0e\x42"
  21179			  "\xef\x7a\xd3\xce\xfc\x84\x60\x62"
  21180			  "\xca\xb4\x40\xaf\x5f\xc9\xc9\x01",
  21181		.klen	= 24,
  21182		.iv	= "\x03\xd6\x3c\x8c\x86\x84\xb6\xcd"
  21183			  "\xef\x09\x2e\x94\x00\x00\x00\x00",
  21184		.assoc	= "\x02\x65\x78\x3c\xe9\x21\x30\x91"
  21185			  "\xb1\xb9\xda\x76\x9a\x78\x6d\x95"
  21186			  "\xf2\x88\x32\xa3\xf2\x50\xcb\x4c"
  21187			  "\xe3\x00\x73\x69\x84\x69\x87\x79",
  21188		.alen	= 32,
  21189		.ptext	= "\x9f\xd2\x02\x4b\x52\x49\x31\x3c"
  21190			  "\x43\x69\x3a\x2d\x8e\x70\xad\x7e"
  21191			  "\xe0\xe5\x46\x09\x80\x89\x13\xb2"
  21192			  "\x8c\x8b\xd9\x3f\x86\xfb\xb5\x6b",
  21193		.plen	= 32,
  21194		.ctext	= "\x39\xdf\x7c\x3c\x5a\x29\xb9\x62"
  21195			  "\x5d\x51\xc2\x16\xd8\xbd\x06\x9f"
  21196			  "\x9b\x6a\x09\x70\xc1\x51\x83\xc2"
  21197			  "\x66\x88\x1d\x4f\x9a\xda\xe0\x1e"
  21198			  "\xc7\x79\x11\x58\xe5\x6b\x20\x40"
  21199			  "\x7a\xea\x46\x42\x8b\xe4\x6f\xe1",
  21200		.clen	= 48,
  21201	}, {
  21202		.key	= "\xe0\x8d\x99\x71\x60\xd7\x97\x1a"
  21203			  "\xbd\x01\x99\xd5\x8a\xdf\x71\x3a"
  21204			  "\xd3\xdf\x24\x4b\x5e\x3d\x4b\x4e"
  21205			  "\x30\x7a\xb9\xd8\x53\x0a\x5e\x2b",
  21206		.klen	= 32,
  21207		.iv	= "\x03\x1e\x29\x91\xad\x8e\xc1\x53"
  21208			  "\x0a\xcf\x2d\xbe\x00\x00\x00\x00",
  21209		.assoc	= "\x19\xb6\x1f\x57\xc4\xf3\xf0\x8b"
  21210			  "\x78\x2b\x94\x02\x29\x0f\x42\x27"
  21211			  "\x6b\x75\xcb\x98\x34\x08\x7e\x79"
  21212			  "\xe4\x3e\x49\x0d\x84\x8b\x22\x87",
  21213		.alen	= 32,
  21214		.ptext	= "\xe1\xd9\xd8\x13\xeb\x3a\x75\x3f"
  21215			  "\x9d\xbd\x5f\x66\xbe\xdc\xbb\x66"
  21216			  "\xbf\x17\x99\x62\x4a\x39\x27\x1f"
  21217			  "\x1d\xdc\x24\xae\x19\x2f\x98\x4c",
  21218		.plen	= 32,
  21219		.ctext	= "\x19\xb8\x61\x33\x45\x2b\x43\x96"
  21220			  "\x6f\x51\xd0\x20\x30\x7d\x9b\xc6"
  21221			  "\x26\x3d\xf8\xc9\x65\x16\xa8\x9f"
  21222			  "\xf0\x62\x17\x34\xf2\x1e\x8d\x75"
  21223			  "\x4e\x13\xcc\xc0\xc3\x2a\x54\x2d",
  21224		.clen	= 40,
  21225	}, {
  21226		.key	= "\x7c\xc8\x18\x3b\x8d\x99\xe0\x7c"
  21227			  "\x45\x41\xb8\xbd\x5c\xa7\xc2\x32"
  21228			  "\x8a\xb8\x02\x59\xa4\xfe\xa9\x2c"
  21229			  "\x09\x75\x9a\x9b\x3c\x9b\x27\x39",
  21230		.klen	= 32,
  21231		.iv	= "\x03\xf9\xd9\x4e\x63\xb5\x3d\x9d"
  21232			  "\x43\xf6\x1e\x50\0\0\0\0",
  21233		.assoc	= "\x57\xf5\x6b\x8b\x57\x5c\x3d\x3b"
  21234			  "\x13\x02\x01\x0c\x83\x4c\x96\x35"
  21235			  "\x8e\xd6\x39\xcf\x7d\x14\x9b\x94"
  21236			  "\xb0\x39\x36\xe6\x8f\x57\xe0\x13",
  21237		.alen	= 32,
  21238		.ptext	= "\x3b\x6c\x29\x36\xb6\xef\x07\xa6"
  21239			  "\x83\x72\x07\x4f\xcf\xfa\x66\x89"
  21240			  "\x5f\xca\xb1\xba\xd5\x8f\x2c\x27"
  21241			  "\x30\xdb\x75\x09\x93\xd4\x65\xe4",
  21242		.plen	= 32,
  21243		.ctext	= "\xb0\x88\x5a\x33\xaa\xe5\xc7\x1d"
  21244			  "\x85\x23\xc7\xc6\x2f\xf4\x1e\x3d"
  21245			  "\xcc\x63\x44\x25\x07\x78\x4f\x9e"
  21246			  "\x96\xb8\x88\xeb\xbc\x48\x1f\x06"
  21247			  "\x39\xaf\x39\xac\xd8\x4a\x80\x39"
  21248			  "\x7b\x72\x8a\xf7",
  21249		.clen	= 44,
  21250	}, {
  21251		.key	= "\xab\xd0\xe9\x33\x07\x26\xe5\x83"
  21252			  "\x8c\x76\x95\xd4\xb6\xdc\xf3\x46"
  21253			  "\xf9\x8f\xad\xe3\x02\x13\x83\x77"
  21254			  "\x3f\xb0\xf1\xa1\xa1\x22\x0f\x2b",
  21255		.klen	= 32,
  21256		.iv	= "\x03\x24\xa7\x8b\x07\xcb\xcc\x0e"
  21257			  "\xe6\x33\xbf\xf5\x00\x00\x00\x00",
  21258		.assoc	= "\xd4\xdb\x30\x1d\x03\xfe\xfd\x5f"
  21259			  "\x87\xd4\x8c\xb6\xb6\xf1\x7a\x5d"
  21260			  "\xab\x90\x65\x8d\x8e\xca\x4d\x4f"
  21261			  "\x16\x0c\x40\x90\x4b\xc7\x36\x73",
  21262		.alen	= 32,
  21263		.ptext	= "\xf5\xc6\x7d\x48\xc1\xb7\xe6\x92"
  21264			  "\x97\x5a\xca\xc4\xa9\x6d\xf9\x3d"
  21265			  "\x6c\xde\xbc\xf1\x90\xea\x6a\xb2"
  21266			  "\x35\x86\x36\xaf\x5c\xfe\x4b\x3a",
  21267		.plen	= 32,
  21268		.ctext	= "\x83\x6f\x40\x87\x72\xcf\xc1\x13"
  21269			  "\xef\xbb\x80\x21\x04\x6c\x58\x09"
  21270			  "\x07\x1b\xfc\xdf\xc0\x3f\x5b\xc7"
  21271			  "\xe0\x79\xa8\x6e\x71\x7c\x3f\xcf"
  21272			  "\x5c\xda\xb2\x33\xe5\x13\xe2\x0d"
  21273			  "\x74\xd1\xef\xb5\x0f\x3a\xb5\xf8",
  21274		.clen	= 48,
  21275	}, {
  21276		/* This is taken from FIPS CAVS. */
  21277		.key	= "\xab\x2f\x8a\x74\xb7\x1c\xd2\xb1"
  21278			  "\xff\x80\x2e\x48\x7d\x82\xf8\xb9",
  21279		.klen	= 16,
  21280		.iv	= "\x03\xc6\xfb\x7d\x80\x0d\x13\xab"
  21281			  "\xd8\xa6\xb2\xd8\x00\x00\x00\x00",
  21282		.alen	= 0,
  21283		.ptext	= "\x00",
  21284		.plen	= 0,
  21285		.ctext	= "\xd5\xe8\x93\x9f\xc7\x89\x2e\x2b",
  21286		.clen	= 8,
  21287		.novrfy	= 1,
  21288	}, {
  21289		.key	= "\xab\x2f\x8a\x74\xb7\x1c\xd2\xb1"
  21290			  "\xff\x80\x2e\x48\x7d\x82\xf8\xb9",
  21291		.klen	= 16,
  21292		.iv	= "\x03\xaf\x94\x87\x78\x35\x82\x81"
  21293			  "\x7f\x88\x94\x68\x00\x00\x00\x00",
  21294		.alen	= 0,
  21295		.ptext	= "\x00",
  21296		.plen	= 0,
  21297		.ctext	= "\x41\x3c\xb8\x87\x73\xcb\xf3\xf3",
  21298		.clen	= 8,
  21299	}, {
  21300		.key	= "\x61\x0e\x8c\xae\xe3\x23\xb6\x38"
  21301			  "\x76\x1c\xf6\x3a\x67\xa3\x9c\xd8",
  21302		.klen	= 16,
  21303		.iv	= "\x03\xc6\xfb\x7d\x80\x0d\x13\xab"
  21304			  "\xd8\xa6\xb2\xd8\x00\x00\x00\x00",
  21305		.assoc	= "\xf3\x94\x87\x78\x35\x82\x81\x7f"
  21306			  "\x88\x94\x68\xb1\x78\x6b\x2b\xd6"
  21307			  "\x04\x1f\x4e\xed\x78\xd5\x33\x66"
  21308			  "\xd8\x94\x99\x91\x81\x54\x62\x57",
  21309		.alen	= 32,
  21310		.ptext	= "\x50\x82\x3e\x07\xe2\x1e\xb6\xfb"
  21311			  "\x33\xe4\x73\xce\xd2\xfb\x95\x79"
  21312			  "\xe8\xb4\xb5\x77\x11\x10\x62\x6f"
  21313			  "\x6a\x82\xd1\x13\xec\xf5\xd0\x48",
  21314		.plen	= 32,
  21315		.ctext	= "\xf0\x7c\x29\x02\xae\x1c\x2f\x55"
  21316			  "\xd0\xd1\x3d\x1a\xa3\x6d\xe4\x0a"
  21317			  "\x86\xb0\x87\x6b\x62\x33\x8c\x34"
  21318			  "\xce\xab\x57\xcc\x79\x0b\xe0\x6f"
  21319			  "\x5c\x3e\x48\x1f\x6c\x46\xf7\x51"
  21320			  "\x8b\x84\x83\x2a\xc1\x05\xb8\xc5",
  21321		.clen	= 48,
  21322		.novrfy	= 1,
  21323	}, {
  21324		.key	= "\x61\x0e\x8c\xae\xe3\x23\xb6\x38"
  21325			  "\x76\x1c\xf6\x3a\x67\xa3\x9c\xd8",
  21326		.klen	= 16,
  21327		.iv	= "\x03\x05\xe0\xc9\x0f\xed\x34\xea"
  21328			  "\x97\xd4\x3b\xdf\x00\x00\x00\x00",
  21329		.assoc	= "\x49\x5c\x50\x1f\x1d\x94\xcc\x81"
  21330			  "\xba\xb7\xb6\x03\xaf\xa5\xc1\xa1"
  21331			  "\xd8\x5c\x42\x68\xe0\x6c\xda\x89"
  21332			  "\x05\xac\x56\xac\x1b\x2a\xd3\x86",
  21333		.alen	= 32,
  21334		.ptext	= "\x75\x05\xbe\xc2\xd9\x1e\xde\x60"
  21335			  "\x47\x3d\x8c\x7d\xbd\xb5\xd9\xb7"
  21336			  "\xf2\xae\x61\x05\x8f\x82\x24\x3f"
  21337			  "\x9c\x67\x91\xe1\x38\x4f\xe4\x0c",
  21338		.plen	= 32,
  21339		.ctext	= "\x39\xbe\x7d\x15\x62\x77\xf3\x3c"
  21340			  "\xad\x83\x52\x6d\x71\x03\x25\x1c"
  21341			  "\xed\x81\x3a\x9a\x16\x7d\x19\x80"
  21342			  "\x72\x04\x72\xd0\xf6\xff\x05\x0f"
  21343			  "\xb7\x14\x30\x00\x32\x9e\xa0\xa6"
  21344			  "\x9e\x5a\x18\xa1\xb8\xfe\xdb\xd3",
  21345		.clen	= 48,
  21346	}, {
  21347		.key	= "\x39\xbb\xa7\xbe\x59\x97\x9e\x73"
  21348			  "\xa2\xbc\x6b\x98\xd7\x75\x7f\xe3"
  21349			  "\xa4\x48\x93\x39\x26\x71\x4a\xc6",
  21350		.klen	= 24,
  21351		.iv	= "\x03\xee\x49\x83\xe9\xa9\xff\xe9"
  21352			  "\x57\xba\xfd\x9e\x00\x00\x00\x00",
  21353		.assoc	= "\x44\xa6\x2c\x05\xe9\xe1\x43\xb1"
  21354			  "\x58\x7c\xf2\x5c\x6d\x39\x0a\x64"
  21355			  "\xa4\xf0\x13\x05\xd1\x77\x99\x67"
  21356			  "\x11\xc4\xc6\xdb\x00\x56\x36\x61",
  21357		.alen	= 32,
  21358		.ptext	= "\x00",
  21359		.plen	= 0,
  21360		.ctext	= "\x71\x99\xfa\xf4\x44\x12\x68\x9b",
  21361		.clen	= 8,
  21362	}, {
  21363		.key	= "\x58\x5d\xa0\x96\x65\x1a\x04\xd7"
  21364			  "\x96\xe5\xc5\x68\xaa\x95\x35\xe0"
  21365			  "\x29\xa0\xba\x9e\x48\x78\xd1\xba",
  21366		.klen	= 24,
  21367		.iv	= "\x03\xee\x49\x83\xe9\xa9\xff\xe9"
  21368			  "\x57\xba\xfd\x9e\x00\x00\x00\x00",
  21369		.assoc	= "\x44\xa6\x2c\x05\xe9\xe1\x43\xb1"
  21370			  "\x58\x7c\xf2\x5c\x6d\x39\x0a\x64"
  21371			  "\xa4\xf0\x13\x05\xd1\x77\x99\x67"
  21372			  "\x11\xc4\xc6\xdb\x00\x56\x36\x61",
  21373		.alen	= 32,
  21374		.ptext	= "\x85\x34\x66\x42\xc8\x92\x0f\x36"
  21375			  "\x58\xe0\x6b\x91\x3c\x98\x5c\xbb"
  21376			  "\x0a\x85\xcc\x02\xad\x7a\x96\xe9"
  21377			  "\x65\x43\xa4\xc3\x0f\xdc\x55\x81",
  21378		.plen	= 32,
  21379		.ctext	= "\xfb\xe5\x5d\x34\xbe\xe5\xe8\xe7"
  21380			  "\x5a\xef\x2f\xbf\x1f\x7f\xd4\xb2"
  21381			  "\x66\xca\x61\x1e\x96\x7a\x61\xb3"
  21382			  "\x1c\x16\x45\x52\xba\x04\x9c\x9f"
  21383			  "\xb1\xd2\x40\xbc\x52\x7c\x6f\xb1",
  21384		.clen	= 40,
  21385	}, {
  21386		.key	= "\x58\x5d\xa0\x96\x65\x1a\x04\xd7"
  21387			  "\x96\xe5\xc5\x68\xaa\x95\x35\xe0"
  21388			  "\x29\xa0\xba\x9e\x48\x78\xd1\xba",
  21389		.klen	= 24,
  21390		.iv	= "\x03\xd1\xfc\x57\x9c\xfe\xb8\x9c"
  21391			  "\xad\x71\xaa\x1f\x00\x00\x00\x00",
  21392		.assoc	= "\x86\x67\xa5\xa9\x14\x5f\x0d\xc6"
  21393			  "\xff\x14\xc7\x44\xbf\x6c\x3a\xc3"
  21394			  "\xff\xb6\x81\xbd\xe2\xd5\x06\xc7"
  21395			  "\x3c\xa1\x52\x13\x03\x8a\x23\x3a",
  21396		.alen	= 32,
  21397		.ptext	= "\x02\x87\x4d\x28\x80\x6e\xb2\xed"
  21398			  "\x99\x2a\xa8\xca\x04\x25\x45\x90"
  21399			  "\x1d\xdd\x5a\xd9\xe4\xdb\x9c\x9c"
  21400			  "\x49\xe9\x01\xfe\xa7\x80\x6d\x6b",
  21401		.plen	= 32,
  21402		.ctext	= "\x3f\x66\xb0\x9d\xe5\x4b\x38\x00"
  21403			  "\xc6\x0e\x6e\xe5\xd6\x98\xa6\x37"
  21404			  "\x8c\x26\x33\xc6\xb2\xa2\x17\xfa"
  21405			  "\x64\x19\xc0\x30\xd7\xfc\x14\x6b"
  21406			  "\xe3\x33\xc2\x04\xb0\x37\xbe\x3f"
  21407			  "\xa9\xb4\x2d\x68\x03\xa3\x44\xef",
  21408		.clen	= 48,
  21409		.novrfy	= 1,
  21410	}, {
  21411		.key	= "\xa4\x4b\x54\x29\x0a\xb8\x6d\x01"
  21412			  "\x5b\x80\x2a\xcf\x25\xc4\xb7\x5c"
  21413			  "\x20\x2c\xad\x30\xc2\x2b\x41\xfb"
  21414			  "\x0e\x85\xbc\x33\xad\x0f\x2b\xff",
  21415		.klen	= 32,
  21416		.iv	= "\x03\xee\x49\x83\xe9\xa9\xff\xe9"
  21417			  "\x57\xba\xfd\x9e\x00\x00\x00\x00",
  21418		.alen	= 0,
  21419		.ptext	= "\x00",
  21420		.plen	= 0,
  21421		.ctext	= "\x1f\xb8\x8f\xa3\xdd\x54\x00\xf2",
  21422		.clen	= 8,
  21423	}, {
  21424		.key	= "\x39\xbb\xa7\xbe\x59\x97\x9e\x73"
  21425			  "\xa2\xbc\x6b\x98\xd7\x75\x7f\xe3"
  21426			  "\xa4\x48\x93\x39\x26\x71\x4a\xc6"
  21427			  "\xae\x8f\x11\x4c\xc2\x9c\x4a\xbb",
  21428		.klen	= 32,
  21429		.iv	= "\x03\x85\x34\x66\x42\xc8\x92\x0f"
  21430			  "\x36\x58\xe0\x6b\x00\x00\x00\x00",
  21431		.alen	= 0,
  21432		.ptext	= "\xdc\x56\xf2\x71\xb0\xb1\xa0\x6c"
  21433			  "\xf0\x97\x3a\xfb\x6d\xe7\x32\x99"
  21434			  "\x3e\xaf\x70\x5e\xb2\x4d\xea\x39"
  21435			  "\x89\xd4\x75\x7a\x63\xb1\xda\x93",
  21436		.plen	= 32,
  21437		.ctext	= "\x48\x01\x5e\x02\x24\x04\x66\x47"
  21438			  "\xa1\xea\x6f\xaf\xe8\xfc\xfb\xdd"
  21439			  "\xa5\xa9\x87\x8d\x84\xee\x2e\x77"
  21440			  "\xbb\x86\xb9\xf5\x5c\x6c\xff\xf6"
  21441			  "\x72\xc3\x8e\xf7\x70\xb1\xb2\x07"
  21442			  "\xbc\xa8\xa3\xbd\x83\x7c\x1d\x2a",
  21443		.clen	= 48,
  21444		.novrfy	= 1,
  21445	}, {
  21446		.key	= "\x58\x5d\xa0\x96\x65\x1a\x04\xd7"
  21447			  "\x96\xe5\xc5\x68\xaa\x95\x35\xe0"
  21448			  "\x29\xa0\xba\x9e\x48\x78\xd1\xba"
  21449			  "\x0d\x1a\x53\x3b\xb5\xe3\xf8\x8b",
  21450		.klen	= 32,
  21451		.iv	= "\x03\xcf\x76\x3f\xd9\x95\x75\x8f"
  21452			  "\x44\x89\x40\x7b\x00\x00\x00\x00",
  21453		.assoc	= "\x8f\x86\x6c\x4d\x1d\xc5\x39\x88"
  21454			  "\xc8\xf3\x5c\x52\x10\x63\x6f\x2b"
  21455			  "\x8a\x2a\xc5\x6f\x30\x23\x58\x7b"
  21456			  "\xfb\x36\x03\x11\xb4\xd9\xf2\xfe",
  21457		.alen	= 32,
  21458		.ptext	= "\xc2\x54\xc8\xde\x78\x87\x77\x40"
  21459			  "\x49\x71\xe4\xb7\xe7\xcb\x76\x61"
  21460			  "\x0a\x41\xb9\xe9\xc0\x76\x54\xab"
  21461			  "\x04\x49\x3b\x19\x93\x57\x25\x5d",
  21462		.plen	= 32,
  21463		.ctext	= "\x48\x58\xd6\xf3\xad\x63\x58\xbf"
  21464			  "\xae\xc7\x5e\xae\x83\x8f\x7b\xe4"
  21465			  "\x78\x5c\x4c\x67\x71\x89\x94\xbf"
  21466			  "\x47\xf1\x63\x7e\x1c\x59\xbd\xc5"
  21467			  "\x7f\x44\x0a\x0c\x01\x18\x07\x92"
  21468			  "\xe1\xd3\x51\xce\x32\x6d\x0c\x5b",
  21469		.clen	= 48,
  21470	},
  21471};
  21472
  21473/*
  21474 * rfc4309 refers to section 8 of rfc3610 for test vectors, but they all
  21475 * use a 13-byte nonce, we only support an 11-byte nonce.  Worse,
  21476 * they use AD lengths which are not valid ESP header lengths.
  21477 *
  21478 * These vectors are copied/generated from the ones for rfc4106 with
  21479 * the key truncated by one byte..
  21480 */
  21481static const struct aead_testvec aes_ccm_rfc4309_tv_template[] = {
  21482	{ /* Generated using Crypto++ */
  21483		.key	= zeroed_string,
  21484		.klen	= 19,
  21485		.iv	= zeroed_string,
  21486		.ptext	= zeroed_string,
  21487		.plen	= 16,
  21488		.assoc	= zeroed_string,
  21489		.alen	= 16,
  21490		.ctext	= "\x2E\x9A\xCA\x6B\xDA\x54\xFC\x6F"
  21491			  "\x12\x50\xE8\xDE\x81\x3C\x63\x08"
  21492			  "\x1A\x22\xBA\x75\xEE\xD4\xD5\xB5"
  21493			  "\x27\x50\x01\xAC\x03\x33\x39\xFB",
  21494		.clen	= 32,
  21495	},{
  21496		.key	= "\xfe\xff\xe9\x92\x86\x65\x73\x1c"
  21497			  "\x6d\x6a\x8f\x94\x67\x30\x83\x08"
  21498			  "\x00\x00\x00",
  21499		.klen	= 19,
  21500		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x01",
  21501		.ptext	= zeroed_string,
  21502		.plen	= 16,
  21503		.assoc	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  21504			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  21505		.alen	= 16,
  21506		.ctext	= "\xCF\xB9\x99\x17\xC8\x86\x0E\x7F"
  21507			  "\x7E\x76\xF8\xE6\xF8\xCC\x1F\x17"
  21508			  "\x6A\xE0\x53\x9F\x4B\x73\x7E\xDA"
  21509			  "\x08\x09\x4E\xC4\x1E\xAD\xC6\xB0",
  21510		.clen	= 32,
  21511
  21512	}, {
  21513		.key	= "\xfe\xff\xe9\x92\x86\x65\x73\x1c"
  21514			  "\x6d\x6a\x8f\x94\x67\x30\x83\x08"
  21515			  "\x00\x00\x00",
  21516		.klen	= 19,
  21517		.iv	= zeroed_string,
  21518		.ptext	= "\x01\x01\x01\x01\x01\x01\x01\x01"
  21519			  "\x01\x01\x01\x01\x01\x01\x01\x01",
  21520		.plen	= 16,
  21521		.assoc	= zeroed_string,
  21522		.alen	= 16,
  21523		.ctext	= "\x33\xDE\x73\xBC\xA6\xCE\x4E\xA6"
  21524			  "\x61\xF4\xF5\x41\x03\x4A\xE3\x86"
  21525			  "\xA1\xE2\xC2\x42\x2B\x81\x70\x40"
  21526			  "\xFD\x7F\x76\xD1\x03\x07\xBB\x0C",
  21527		.clen	= 32,
  21528	}, {
  21529		.key	= "\xfe\xff\xe9\x92\x86\x65\x73\x1c"
  21530			  "\x6d\x6a\x8f\x94\x67\x30\x83\x08"
  21531			  "\x00\x00\x00",
  21532		.klen	= 19,
  21533		.iv	= zeroed_string,
  21534		.ptext	= "\x01\x01\x01\x01\x01\x01\x01\x01"
  21535			  "\x01\x01\x01\x01\x01\x01\x01\x01",
  21536		.plen	= 16,
  21537		.assoc	= "\x01\x01\x01\x01\x01\x01\x01\x01"
  21538			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  21539		.alen	= 16,
  21540		.ctext	= "\x33\xDE\x73\xBC\xA6\xCE\x4E\xA6"
  21541			  "\x61\xF4\xF5\x41\x03\x4A\xE3\x86"
  21542			  "\x5B\xC0\x73\xE0\x2B\x73\x68\xC9"
  21543			  "\x2D\x8C\x58\xC2\x90\x3D\xB0\x3E",
  21544		.clen	= 32,
  21545	}, {
  21546		.key	= "\xfe\xff\xe9\x92\x86\x65\x73\x1c"
  21547			  "\x6d\x6a\x8f\x94\x67\x30\x83\x08"
  21548			  "\x00\x00\x00",
  21549		.klen	= 19,
  21550		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x01",
  21551		.ptext	= "\x01\x01\x01\x01\x01\x01\x01\x01"
  21552			  "\x01\x01\x01\x01\x01\x01\x01\x01",
  21553		.plen	= 16,
  21554		.assoc	= "\x01\x01\x01\x01\x01\x01\x01\x01"
  21555			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  21556		.alen	= 16,
  21557		.ctext	= "\xCE\xB8\x98\x16\xC9\x87\x0F\x7E"
  21558			  "\x7F\x77\xF9\xE7\xF9\xCD\x1E\x16"
  21559			  "\x43\x8E\x76\x57\x3B\xB4\x05\xE8"
  21560			  "\xA9\x9B\xBF\x25\xE0\x4F\xC0\xED",
  21561		.clen	= 32,
  21562	}, {
  21563		.key	= "\xfe\xff\xe9\x92\x86\x65\x73\x1c"
  21564			  "\x6d\x6a\x8f\x94\x67\x30\x83\x08"
  21565			  "\x00\x00\x00",
  21566		.klen	= 19,
  21567		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x01",
  21568		.ptext	= "\x01\x01\x01\x01\x01\x01\x01\x01"
  21569			  "\x01\x01\x01\x01\x01\x01\x01\x01"
  21570			  "\x01\x01\x01\x01\x01\x01\x01\x01"
  21571			  "\x01\x01\x01\x01\x01\x01\x01\x01"
  21572			  "\x01\x01\x01\x01\x01\x01\x01\x01"
  21573			  "\x01\x01\x01\x01\x01\x01\x01\x01"
  21574			  "\x01\x01\x01\x01\x01\x01\x01\x01"
  21575			  "\x01\x01\x01\x01\x01\x01\x01\x01",
  21576		.plen	= 64,
  21577		.assoc	= "\x01\x01\x01\x01\x01\x01\x01\x01"
  21578			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  21579		.alen	= 16,
  21580		.ctext	= "\xCE\xB8\x98\x16\xC9\x87\x0F\x7E"
  21581			  "\x7F\x77\xF9\xE7\xF9\xCD\x1E\x16"
  21582			  "\x9C\xA4\x97\x83\x3F\x01\xA5\xF4"
  21583			  "\x43\x09\xE7\xB8\xE9\xD1\xD7\x02"
  21584			  "\x9B\xAB\x39\x18\xEB\x94\x34\x36"
  21585			  "\xE6\xC5\xC8\x9B\x00\x81\x9E\x49"
  21586			  "\x1D\x78\xE1\x48\xE3\xE9\xEA\x8E"
  21587			  "\x3A\x2B\x67\x5D\x35\x6A\x0F\xDB"
  21588			  "\x02\x73\xDD\xE7\x30\x4A\x30\x54"
  21589			  "\x1A\x9D\x09\xCA\xC8\x1C\x32\x5F",
  21590		.clen	= 80,
  21591	}, {
  21592		.key	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  21593			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  21594			  "\x00\x00\x00",
  21595		.klen	= 19,
  21596		.iv	= "\x00\x00\x45\x67\x89\xab\xcd\xef",
  21597		.ptext	= "\xff\xff\xff\xff\xff\xff\xff\xff"
  21598			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  21599			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  21600			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  21601			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  21602			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  21603			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  21604			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  21605			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  21606			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  21607			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  21608			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  21609			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  21610			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  21611			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  21612			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  21613			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  21614			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  21615			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  21616			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  21617			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  21618			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  21619			  "\xff\xff\xff\xff\xff\xff\xff\xff"
  21620			  "\xff\xff\xff\xff\xff\xff\xff\xff",
  21621		.plen	= 192,
  21622		.assoc	= "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
  21623			  "\xaa\xaa\xaa\xaa\x00\x00\x45\x67"
  21624			  "\x89\xab\xcd\xef",
  21625		.alen	= 20,
  21626		.ctext	= "\x64\x17\xDC\x24\x9D\x92\xBA\x5E"
  21627			  "\x7C\x64\x6D\x33\x46\x77\xAC\xB1"
  21628			  "\x5C\x9E\xE2\xC7\x27\x11\x3E\x95"
  21629			  "\x7D\xBE\x28\xC8\xC1\xCA\x5E\x8C"
  21630			  "\xB4\xE2\xDE\x9F\x53\x59\x26\xDB"
  21631			  "\x0C\xD4\xE4\x07\x9A\xE6\x3E\x01"
  21632			  "\x58\x0D\x3E\x3D\xD5\x21\xEB\x04"
  21633			  "\x06\x9D\x5F\xB9\x02\x49\x1A\x2B"
  21634			  "\xBA\xF0\x4E\x3B\x85\x50\x5B\x09"
  21635			  "\xFE\xEC\xFC\x54\xEC\x0C\xE2\x79"
  21636			  "\x8A\x2F\x5F\xD7\x05\x5D\xF1\x6D"
  21637			  "\x22\xEB\xD1\x09\x80\x3F\x5A\x70"
  21638			  "\xB2\xB9\xD3\x63\x99\xC2\x4D\x1B"
  21639			  "\x36\x12\x00\x89\xAA\x5D\x55\xDA"
  21640			  "\x1D\x5B\xD8\x3C\x5F\x09\xD2\xE6"
  21641			  "\x39\x41\x5C\xF0\xBE\x26\x4E\x5F"
  21642			  "\x2B\x50\x44\x52\xC2\x10\x7D\x38"
  21643			  "\x82\x64\x83\x0C\xAE\x49\xD0\xE5"
  21644			  "\x4F\xE5\x66\x4C\x58\x7A\xEE\x43"
  21645			  "\x3B\x51\xFE\xBA\x24\x8A\xFE\xDC"
  21646			  "\x19\x6D\x60\x66\x61\xF9\x9A\x3F"
  21647			  "\x75\xFC\x38\x53\x5B\xB5\xCD\x52"
  21648			  "\x4F\xE5\xE4\xC9\xFE\x10\xCB\x98"
  21649			  "\xF0\x06\x5B\x07\xAB\xBB\xF4\x0E"
  21650			  "\x2D\xC2\xDD\x5D\xDD\x22\x9A\xCC"
  21651			  "\x39\xAB\x63\xA5\x3D\x9C\x51\x8A",
  21652		.clen	= 208,
  21653	}, { /* From draft-mcgrew-gcm-test-01 */
  21654		.key	= "\x4C\x80\xCD\xEF\xBB\x5D\x10\xDA"
  21655			  "\x90\x6A\xC7\x3C\x36\x13\xA6\x34"
  21656			  "\x2E\x44\x3B",
  21657		.klen	= 19,
  21658		.iv	= "\x49\x56\xED\x7E\x3B\x24\x4C\xFE",
  21659		.ptext	= "\x45\x00\x00\x48\x69\x9A\x00\x00"
  21660			  "\x80\x11\x4D\xB7\xC0\xA8\x01\x02"
  21661			  "\xC0\xA8\x01\x01\x0A\x9B\xF1\x56"
  21662			  "\x38\xD3\x01\x00\x00\x01\x00\x00"
  21663			  "\x00\x00\x00\x00\x04\x5F\x73\x69"
  21664			  "\x70\x04\x5F\x75\x64\x70\x03\x73"
  21665			  "\x69\x70\x09\x63\x79\x62\x65\x72"
  21666			  "\x63\x69\x74\x79\x02\x64\x6B\x00"
  21667			  "\x00\x21\x00\x01\x01\x02\x02\x01",
  21668		.plen	= 72,
  21669		.assoc	= "\x00\x00\x43\x21\x87\x65\x43\x21"
  21670			  "\x00\x00\x00\x00\x49\x56\xED\x7E"
  21671			  "\x3B\x24\x4C\xFE",
  21672		.alen	= 20,
  21673		.ctext	= "\x89\xBA\x3E\xEF\xE6\xD6\xCF\xDB"
  21674			  "\x83\x60\xF5\xBA\x3A\x56\x79\xE6"
  21675			  "\x7E\x0C\x53\xCF\x9E\x87\xE0\x4E"
  21676			  "\x1A\x26\x01\x24\xC7\x2E\x3D\xBF"
  21677			  "\x29\x2C\x91\xC1\xB8\xA8\xCF\xE0"
  21678			  "\x39\xF8\x53\x6D\x31\x22\x2B\xBF"
  21679			  "\x98\x81\xFC\x34\xEE\x85\x36\xCD"
  21680			  "\x26\xDB\x6C\x7A\x0C\x77\x8A\x35"
  21681			  "\x18\x85\x54\xB2\xBC\xDD\x3F\x43"
  21682			  "\x61\x06\x8A\xDF\x86\x3F\xB4\xAC"
  21683			  "\x97\xDC\xBD\xFD\x92\x10\xC5\xFF",
  21684		.clen	= 88,
  21685	}, {
  21686		.key	= "\xFE\xFF\xE9\x92\x86\x65\x73\x1C"
  21687			  "\x6D\x6A\x8F\x94\x67\x30\x83\x08"
  21688			  "\xCA\xFE\xBA",
  21689		.klen	= 19,
  21690		.iv	= "\xFA\xCE\xDB\xAD\xDE\xCA\xF8\x88",
  21691		.ptext	= "\x45\x00\x00\x3E\x69\x8F\x00\x00"
  21692			  "\x80\x11\x4D\xCC\xC0\xA8\x01\x02"
  21693			  "\xC0\xA8\x01\x01\x0A\x98\x00\x35"
  21694			  "\x00\x2A\x23\x43\xB2\xD0\x01\x00"
  21695			  "\x00\x01\x00\x00\x00\x00\x00\x00"
  21696			  "\x03\x73\x69\x70\x09\x63\x79\x62"
  21697			  "\x65\x72\x63\x69\x74\x79\x02\x64"
  21698			  "\x6B\x00\x00\x01\x00\x01\x00\x01",
  21699		.plen	= 64,
  21700		.assoc	= "\x00\x00\xA5\xF8\x00\x00\x00\x0A"
  21701			  "\xFA\xCE\xDB\xAD\xDE\xCA\xF8\x88",
  21702		.alen	= 16,
  21703		.ctext	= "\x4B\xC2\x70\x60\x64\xD2\xF3\xC8"
  21704			  "\xE5\x26\x8A\xDE\xB8\x7E\x7D\x16"
  21705			  "\x56\xC7\xD2\x88\xBA\x8D\x58\xAF"
  21706			  "\xF5\x71\xB6\x37\x84\xA7\xB1\x99"
  21707			  "\x51\x5C\x0D\xA0\x27\xDE\xE7\x2D"
  21708			  "\xEF\x25\x88\x1F\x1D\x77\x11\xFF"
  21709			  "\xDB\xED\xEE\x56\x16\xC5\x5C\x9B"
  21710			  "\x00\x62\x1F\x68\x4E\x7C\xA0\x97"
  21711			  "\x10\x72\x7E\x53\x13\x3B\x68\xE4"
  21712			  "\x30\x99\x91\x79\x09\xEA\xFF\x6A",
  21713		.clen	= 80,
  21714	}, {
  21715		.key	= "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
  21716			  "\x34\x45\x56\x67\x78\x89\x9A\xAB"
  21717			  "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
  21718			  "\x34\x45\x56\x67\x78\x89\x9A\xAB"
  21719			  "\x11\x22\x33",
  21720		.klen	= 35,
  21721		.iv	= "\x01\x02\x03\x04\x05\x06\x07\x08",
  21722		.ptext	= "\x45\x00\x00\x30\x69\xA6\x40\x00"
  21723			  "\x80\x06\x26\x90\xC0\xA8\x01\x02"
  21724			  "\x93\x89\x15\x5E\x0A\x9E\x00\x8B"
  21725			  "\x2D\xC5\x7E\xE0\x00\x00\x00\x00"
  21726			  "\x70\x02\x40\x00\x20\xBF\x00\x00"
  21727			  "\x02\x04\x05\xB4\x01\x01\x04\x02"
  21728			  "\x01\x02\x02\x01",
  21729		.plen	= 52,
  21730		.assoc	= "\x4A\x2C\xBF\xE3\x00\x00\x00\x02"
  21731			  "\x01\x02\x03\x04\x05\x06\x07\x08",
  21732		.alen	= 16,
  21733		.ctext	= "\xD6\x31\x0D\x2B\x3D\x6F\xBD\x2F"
  21734			  "\x58\x41\x7E\xFF\x9A\x9E\x09\xB4"
  21735			  "\x1A\xF7\xF6\x42\x31\xCD\xBF\xAD"
  21736			  "\x27\x0E\x2C\xF2\xDB\x10\xDF\x55"
  21737			  "\x8F\x0D\xD7\xAC\x23\xBD\x42\x10"
  21738			  "\xD0\xB2\xAF\xD8\x37\xAC\x6B\x0B"
  21739			  "\x11\xD4\x0B\x12\xEC\xB4\xB1\x92"
  21740			  "\x23\xA6\x10\xB0\x26\xD6\xD9\x26"
  21741			  "\x5A\x48\x6A\x3E",
  21742		.clen	= 68,
  21743	}, {
  21744		.key	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  21745			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  21746			  "\x00\x00\x00",
  21747		.klen	= 19,
  21748		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00",
  21749		.ptext	= "\x45\x00\x00\x3C\x99\xC5\x00\x00"
  21750			  "\x80\x01\xCB\x7A\x40\x67\x93\x18"
  21751			  "\x01\x01\x01\x01\x08\x00\x07\x5C"
  21752			  "\x02\x00\x44\x00\x61\x62\x63\x64"
  21753			  "\x65\x66\x67\x68\x69\x6A\x6B\x6C"
  21754			  "\x6D\x6E\x6F\x70\x71\x72\x73\x74"
  21755			  "\x75\x76\x77\x61\x62\x63\x64\x65"
  21756			  "\x66\x67\x68\x69\x01\x02\x02\x01",
  21757		.plen	= 64,
  21758		.assoc	= "\x00\x00\x00\x00\x00\x00\x00\x01"
  21759			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  21760		.alen	= 16,
  21761		.ctext	= "\x6B\x9A\xCA\x57\x43\x91\xFC\x6F"
  21762			  "\x92\x51\x23\xA4\xC1\x5B\xF0\x10"
  21763			  "\xF3\x13\xF4\xF8\xA1\x9A\xB4\xDC"
  21764			  "\x89\xC8\xF8\x42\x62\x95\xB7\xCB"
  21765			  "\xB8\xF5\x0F\x1B\x2E\x94\xA2\xA7"
  21766			  "\xBF\xFB\x8A\x92\x13\x63\xD1\x3C"
  21767			  "\x08\xF5\xE8\xA6\xAA\xF6\x34\xF9"
  21768			  "\x42\x05\xAF\xB3\xE7\x9A\xFC\xEE"
  21769			  "\x36\x25\xC1\x10\x12\x1C\xCA\x82"
  21770			  "\xEA\xE6\x63\x5A\x57\x28\xA9\x9A",
  21771		.clen	= 80,
  21772	}, {
  21773		.key	= "\x3D\xE0\x98\x74\xB3\x88\xE6\x49"
  21774			  "\x19\x88\xD0\xC3\x60\x7E\xAE\x1F"
  21775			  "\x57\x69\x0E",
  21776		.klen	= 19,
  21777		.iv	= "\x4E\x28\x00\x00\xA2\xFC\xA1\xA3",
  21778		.ptext	= "\x45\x00\x00\x3C\x99\xC3\x00\x00"
  21779			  "\x80\x01\xCB\x7C\x40\x67\x93\x18"
  21780			  "\x01\x01\x01\x01\x08\x00\x08\x5C"
  21781			  "\x02\x00\x43\x00\x61\x62\x63\x64"
  21782			  "\x65\x66\x67\x68\x69\x6A\x6B\x6C"
  21783			  "\x6D\x6E\x6F\x70\x71\x72\x73\x74"
  21784			  "\x75\x76\x77\x61\x62\x63\x64\x65"
  21785			  "\x66\x67\x68\x69\x01\x02\x02\x01",
  21786		.plen	= 64,
  21787		.assoc	= "\x42\xF6\x7E\x3F\x10\x10\x10\x10"
  21788			  "\x10\x10\x10\x10\x4E\x28\x00\x00"
  21789			  "\xA2\xFC\xA1\xA3",
  21790		.alen	= 20,
  21791		.ctext	= "\x6A\x6B\x45\x2B\x7C\x67\x52\xF6"
  21792			  "\x10\x60\x40\x62\x6B\x4F\x97\x8E"
  21793			  "\x0B\xB2\x22\x97\xCB\x21\xE0\x90"
  21794			  "\xA2\xE7\xD1\x41\x30\xE4\x4B\x1B"
  21795			  "\x79\x01\x58\x50\x01\x06\xE1\xE0"
  21796			  "\x2C\x83\x79\xD3\xDE\x46\x97\x1A"
  21797			  "\x30\xB8\xE5\xDF\xD7\x12\x56\x75"
  21798			  "\xD0\x95\xB7\xB8\x91\x42\xF7\xFD"
  21799			  "\x97\x57\xCA\xC1\x20\xD0\x86\xB9"
  21800			  "\x66\x9D\xB4\x2B\x96\x22\xAC\x67",
  21801		.clen	= 80,
  21802	}, {
  21803		.key	= "\x3D\xE0\x98\x74\xB3\x88\xE6\x49"
  21804			  "\x19\x88\xD0\xC3\x60\x7E\xAE\x1F"
  21805			  "\x57\x69\x0E",
  21806		.klen	= 19,
  21807		.iv	= "\x4E\x28\x00\x00\xA2\xFC\xA1\xA3",
  21808		.ptext	= "\x45\x00\x00\x1C\x42\xA2\x00\x00"
  21809			  "\x80\x01\x44\x1F\x40\x67\x93\xB6"
  21810			  "\xE0\x00\x00\x02\x0A\x00\xF5\xFF"
  21811			  "\x01\x02\x02\x01",
  21812		.plen	= 28,
  21813		.assoc	= "\x42\xF6\x7E\x3F\x10\x10\x10\x10"
  21814			  "\x10\x10\x10\x10\x4E\x28\x00\x00"
  21815			  "\xA2\xFC\xA1\xA3",
  21816		.alen	= 20,
  21817		.ctext	= "\x6A\x6B\x45\x0B\xA7\x06\x52\xF6"
  21818			  "\x10\x60\xCF\x01\x6B\x4F\x97\x20"
  21819			  "\xEA\xB3\x23\x94\xC9\x21\x1D\x33"
  21820			  "\xA1\xE5\x90\x40\x05\x37\x45\x70"
  21821			  "\xB5\xD6\x09\x0A\x23\x73\x33\xF9"
  21822			  "\x08\xB4\x22\xE4",
  21823		.clen	= 44,
  21824	}, {
  21825		.key	= "\xFE\xFF\xE9\x92\x86\x65\x73\x1C"
  21826			  "\x6D\x6A\x8F\x94\x67\x30\x83\x08"
  21827			  "\xFE\xFF\xE9\x92\x86\x65\x73\x1C"
  21828			  "\xCA\xFE\xBA",
  21829		.klen	= 27,
  21830		.iv	= "\xFA\xCE\xDB\xAD\xDE\xCA\xF8\x88",
  21831		.ptext	= "\x45\x00\x00\x28\xA4\xAD\x40\x00"
  21832			  "\x40\x06\x78\x80\x0A\x01\x03\x8F"
  21833			  "\x0A\x01\x06\x12\x80\x23\x06\xB8"
  21834			  "\xCB\x71\x26\x02\xDD\x6B\xB0\x3E"
  21835			  "\x50\x10\x16\xD0\x75\x68\x00\x01",
  21836		.plen	= 40,
  21837		.assoc	= "\x00\x00\xA5\xF8\x00\x00\x00\x0A"
  21838			  "\xFA\xCE\xDB\xAD\xDE\xCA\xF8\x88",
  21839		.alen	= 16,
  21840		.ctext	= "\x05\x22\x15\xD1\x52\x56\x85\x04"
  21841			  "\xA8\x5C\x5D\x6D\x7E\x6E\xF5\xFA"
  21842			  "\xEA\x16\x37\x50\xF3\xDF\x84\x3B"
  21843			  "\x2F\x32\x18\x57\x34\x2A\x8C\x23"
  21844			  "\x67\xDF\x6D\x35\x7B\x54\x0D\xFB"
  21845			  "\x34\xA5\x9F\x6C\x48\x30\x1E\x22"
  21846			  "\xFE\xB1\x22\x17\x17\x8A\xB9\x5B",
  21847		.clen	= 56,
  21848	}, {
  21849		.key	= "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
  21850			  "\x34\x45\x56\x67\x78\x89\x9A\xAB"
  21851			  "\xDE\xCA\xF8",
  21852		.klen	= 19,
  21853		.iv	= "\xCA\xFE\xDE\xBA\xCE\xFA\xCE\x74",
  21854		.ptext	= "\x45\x00\x00\x49\x33\xBA\x00\x00"
  21855			  "\x7F\x11\x91\x06\xC3\xFB\x1D\x10"
  21856			  "\xC2\xB1\xD3\x26\xC0\x28\x31\xCE"
  21857			  "\x00\x35\xDD\x7B\x80\x03\x02\xD5"
  21858			  "\x00\x00\x4E\x20\x00\x1E\x8C\x18"
  21859			  "\xD7\x5B\x81\xDC\x91\xBA\xA0\x47"
  21860			  "\x6B\x91\xB9\x24\xB2\x80\x38\x9D"
  21861			  "\x92\xC9\x63\xBA\xC0\x46\xEC\x95"
  21862			  "\x9B\x62\x66\xC0\x47\x22\xB1\x49"
  21863			  "\x23\x01\x01\x01",
  21864		.plen	= 76,
  21865		.assoc	= "\x00\x00\x01\x00\x00\x00\x00\x00"
  21866			  "\x00\x00\x00\x01\xCA\xFE\xDE\xBA"
  21867			  "\xCE\xFA\xCE\x74",
  21868		.alen	= 20,
  21869		.ctext	= "\x92\xD0\x53\x79\x33\x38\xD5\xF3"
  21870			  "\x7D\xE4\x7A\x8E\x86\x03\xC9\x90"
  21871			  "\x96\x35\xAB\x9C\xFB\xE8\xA3\x76"
  21872			  "\xE9\xE9\xE2\xD1\x2E\x11\x0E\x00"
  21873			  "\xFA\xCE\xB5\x9E\x02\xA7\x7B\xEA"
  21874			  "\x71\x9A\x58\xFB\xA5\x8A\xE1\xB7"
  21875			  "\x9C\x39\x9D\xE3\xB5\x6E\x69\xE6"
  21876			  "\x63\xC9\xDB\x05\x69\x51\x12\xAD"
  21877			  "\x3E\x00\x32\x73\x86\xF2\xEE\xF5"
  21878			  "\x0F\xE8\x81\x7E\x84\xD3\xC0\x0D"
  21879			  "\x76\xD6\x55\xC6\xB4\xC2\x34\xC7"
  21880			  "\x12\x25\x0B\xF9",
  21881		.clen	= 92,
  21882	}, {
  21883		.key	= "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
  21884			  "\x34\x45\x56\x67\x78\x89\x9A\xAB"
  21885			  "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
  21886			  "\x34\x45\x56\x67\x78\x89\x9A\xAB"
  21887			  "\x73\x61\x6C",
  21888		.klen	= 35,
  21889		.iv	= "\x61\x6E\x64\x01\x69\x76\x65\x63",
  21890		.ptext	= "\x45\x08\x00\x28\x73\x2C\x00\x00"
  21891			  "\x40\x06\xE9\xF9\x0A\x01\x06\x12"
  21892			  "\x0A\x01\x03\x8F\x06\xB8\x80\x23"
  21893			  "\xDD\x6B\xAF\xBE\xCB\x71\x26\x02"
  21894			  "\x50\x10\x1F\x64\x6D\x54\x00\x01",
  21895		.plen	= 40,
  21896		.assoc	= "\x17\x40\x5E\x67\x15\x6F\x31\x26"
  21897			  "\xDD\x0D\xB9\x9B\x61\x6E\x64\x01"
  21898			  "\x69\x76\x65\x63",
  21899		.alen	= 20,
  21900		.ctext	= "\xCC\x74\xB7\xD3\xB0\x38\x50\x42"
  21901			  "\x2C\x64\x87\x46\x1E\x34\x10\x05"
  21902			  "\x29\x6B\xBB\x36\xE9\x69\xAD\x92"
  21903			  "\x82\xA1\x10\x6A\xEB\x0F\xDC\x7D"
  21904			  "\x08\xBA\xF3\x91\xCA\xAA\x61\xDA"
  21905			  "\x62\xF4\x14\x61\x5C\x9D\xB5\xA7"
  21906			  "\xEE\xD7\xB9\x7E\x87\x99\x9B\x7D",
  21907		.clen	= 56,
  21908	}, {
  21909		.key	= "\x3D\xE0\x98\x74\xB3\x88\xE6\x49"
  21910			  "\x19\x88\xD0\xC3\x60\x7E\xAE\x1F"
  21911			  "\x57\x69\x0E",
  21912		.klen	= 19,
  21913		.iv	= "\x4E\x28\x00\x00\xA2\xFC\xA1\xA3",
  21914		.ptext	= "\x45\x00\x00\x49\x33\x3E\x00\x00"
  21915			  "\x7F\x11\x91\x82\xC3\xFB\x1D\x10"
  21916			  "\xC2\xB1\xD3\x26\xC0\x28\x31\xCE"
  21917			  "\x00\x35\xCB\x45\x80\x03\x02\x5B"
  21918			  "\x00\x00\x01\xE0\x00\x1E\x8C\x18"
  21919			  "\xD6\x57\x59\xD5\x22\x84\xA0\x35"
  21920			  "\x2C\x71\x47\x5C\x88\x80\x39\x1C"
  21921			  "\x76\x4D\x6E\x5E\xE0\x49\x6B\x32"
  21922			  "\x5A\xE2\x70\xC0\x38\x99\x49\x39"
  21923			  "\x15\x01\x01\x01",
  21924		.plen	= 76,
  21925		.assoc	= "\x42\xF6\x7E\x3F\x10\x10\x10\x10"
  21926			  "\x10\x10\x10\x10\x4E\x28\x00\x00"
  21927			  "\xA2\xFC\xA1\xA3",
  21928		.alen	= 20,
  21929		.ctext	= "\x6A\x6B\x45\x5E\xD6\x9A\x52\xF6"
  21930			  "\xEF\x70\x1A\x9C\xE8\xD3\x19\x86"
  21931			  "\xC8\x02\xF0\xB0\x03\x09\xD9\x02"
  21932			  "\xA0\xD2\x59\x04\xD1\x85\x2A\x24"
  21933			  "\x1C\x67\x3E\xD8\x68\x72\x06\x94"
  21934			  "\x97\xBA\x4F\x76\x8D\xB0\x44\x5B"
  21935			  "\x69\xBF\xD5\xE2\x3D\xF1\x0B\x0C"
  21936			  "\xC0\xBF\xB1\x8F\x70\x09\x9E\xCE"
  21937			  "\xA5\xF2\x55\x58\x84\xFA\xF9\xB5"
  21938			  "\x23\xF4\x84\x40\x74\x14\x8A\x6B"
  21939			  "\xDB\xD7\x67\xED\xA4\x93\xF3\x47"
  21940			  "\xCC\xF7\x46\x6F",
  21941		.clen	= 92,
  21942	}, {
  21943		.key	= "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
  21944			  "\x34\x45\x56\x67\x78\x89\x9A\xAB"
  21945			  "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
  21946			  "\x34\x45\x56\x67\x78\x89\x9A\xAB"
  21947			  "\x73\x61\x6C",
  21948		.klen	= 35,
  21949		.iv	= "\x61\x6E\x64\x01\x69\x76\x65\x63",
  21950		.ptext	= "\x63\x69\x73\x63\x6F\x01\x72\x75"
  21951			  "\x6C\x65\x73\x01\x74\x68\x65\x01"
  21952			  "\x6E\x65\x74\x77\x65\x01\x64\x65"
  21953			  "\x66\x69\x6E\x65\x01\x74\x68\x65"
  21954			  "\x74\x65\x63\x68\x6E\x6F\x6C\x6F"
  21955			  "\x67\x69\x65\x73\x01\x74\x68\x61"
  21956			  "\x74\x77\x69\x6C\x6C\x01\x64\x65"
  21957			  "\x66\x69\x6E\x65\x74\x6F\x6D\x6F"
  21958			  "\x72\x72\x6F\x77\x01\x02\x02\x01",
  21959		.plen	= 72,
  21960		.assoc	= "\x17\x40\x5E\x67\x15\x6F\x31\x26"
  21961			  "\xDD\x0D\xB9\x9B\x61\x6E\x64\x01"
  21962			  "\x69\x76\x65\x63",
  21963		.alen	= 20,
  21964		.ctext	= "\xEA\x15\xC4\x98\xAC\x15\x22\x37"
  21965			  "\x00\x07\x1D\xBE\x60\x5D\x73\x16"
  21966			  "\x4D\x0F\xCC\xCE\x8A\xD0\x49\xD4"
  21967			  "\x39\xA3\xD1\xB1\x21\x0A\x92\x1A"
  21968			  "\x2C\xCF\x8F\x9D\xC9\x91\x0D\xB4"
  21969			  "\x15\xFC\xBC\xA5\xC5\xBF\x54\xE5"
  21970			  "\x1C\xC7\x32\x41\x07\x7B\x2C\xB6"
  21971			  "\x5C\x23\x7C\x93\xEA\xEF\x23\x1C"
  21972			  "\x73\xF4\xE7\x12\x84\x4C\x37\x0A"
  21973			  "\x4A\x8F\x06\x37\x48\xF9\xF9\x05"
  21974			  "\x55\x13\x40\xC3\xD5\x55\x3A\x3D",
  21975		.clen	= 88,
  21976	}, {
  21977		.key	= "\x7D\x77\x3D\x00\xC1\x44\xC5\x25"
  21978			  "\xAC\x61\x9D\x18\xC8\x4A\x3F\x47"
  21979			  "\xD9\x66\x42",
  21980		.klen	= 19,
  21981		.iv	= "\x43\x45\x7E\x91\x82\x44\x3B\xC6",
  21982		.ptext	= "\x01\x02\x02\x01",
  21983		.plen	= 4,
  21984		.assoc	= "\x33\x54\x67\xAE\xFF\xFF\xFF\xFF"
  21985			  "\x43\x45\x7E\x91\x82\x44\x3B\xC6",
  21986		.alen	= 16,
  21987		.ctext	= "\x4C\x72\x63\x30\x2F\xE6\x56\xDD"
  21988			  "\xD0\xD8\x60\x9D\x8B\xEF\x85\x90"
  21989			  "\xF7\x61\x24\x62",
  21990		.clen	= 20,
  21991	}, {
  21992		.key	= "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
  21993			  "\x34\x45\x56\x67\x78\x89\x9A\xAB"
  21994			  "\xDE\xCA\xF8",
  21995		.klen	= 19,
  21996		.iv	= "\xCA\xFE\xDE\xBA\xCE\xFA\xCE\x74",
  21997		.ptext	= "\x74\x6F\x01\x62\x65\x01\x6F\x72"
  21998			  "\x01\x6E\x6F\x74\x01\x74\x6F\x01"
  21999			  "\x62\x65\x00\x01",
  22000		.plen	= 20,
  22001		.assoc	= "\x00\x00\x01\x00\x00\x00\x00\x00"
  22002			  "\x00\x00\x00\x01\xCA\xFE\xDE\xBA"
  22003			  "\xCE\xFA\xCE\x74",
  22004		.alen	= 20,
  22005		.ctext	= "\xA3\xBF\x52\x52\x65\x83\xBA\x81"
  22006			  "\x03\x9B\x84\xFC\x44\x8C\xBB\x81"
  22007			  "\x36\xE1\x78\xBB\xA5\x49\x3A\xD0"
  22008			  "\xF0\x6B\x21\xAF\x98\xC0\x34\xDC"
  22009			  "\x17\x17\x65\xAD",
  22010		.clen	= 36,
  22011	}, {
  22012		.key	= "\x6C\x65\x67\x61\x6C\x69\x7A\x65"
  22013			  "\x6D\x61\x72\x69\x6A\x75\x61\x6E"
  22014			  "\x61\x61\x6E\x64\x64\x6F\x69\x74"
  22015			  "\x62\x65\x66\x6F\x72\x65\x69\x61"
  22016			  "\x74\x75\x72",
  22017		.klen	= 35,
  22018		.iv	= "\x33\x30\x21\x69\x67\x65\x74\x6D",
  22019		.ptext	= "\x45\x00\x00\x30\xDA\x3A\x00\x00"
  22020			  "\x80\x01\xDF\x3B\xC0\xA8\x00\x05"
  22021			  "\xC0\xA8\x00\x01\x08\x00\xC6\xCD"
  22022			  "\x02\x00\x07\x00\x61\x62\x63\x64"
  22023			  "\x65\x66\x67\x68\x69\x6A\x6B\x6C"
  22024			  "\x6D\x6E\x6F\x70\x71\x72\x73\x74"
  22025			  "\x01\x02\x02\x01",
  22026		.plen	= 52,
  22027		.assoc	= "\x79\x6B\x69\x63\xFF\xFF\xFF\xFF"
  22028			  "\xFF\xFF\xFF\xFF\x33\x30\x21\x69"
  22029			  "\x67\x65\x74\x6D",
  22030		.alen	= 20,
  22031		.ctext	= "\x96\xFD\x86\xF8\xD1\x98\xFF\x10"
  22032			  "\xAB\x8C\xDA\x8A\x5A\x08\x38\x1A"
  22033			  "\x48\x59\x80\x18\x1A\x18\x1A\x04"
  22034			  "\xC9\x0D\xE3\xE7\x0E\xA4\x0B\x75"
  22035			  "\x92\x9C\x52\x5C\x0B\xFB\xF8\xAF"
  22036			  "\x16\xC3\x35\xA8\xE7\xCE\x84\x04"
  22037			  "\xEB\x40\x6B\x7A\x8E\x75\xBB\x42"
  22038			  "\xE0\x63\x4B\x21\x44\xA2\x2B\x2B"
  22039			  "\x39\xDB\xC8\xDC",
  22040		.clen	= 68,
  22041	}, {
  22042		.key	= "\x3D\xE0\x98\x74\xB3\x88\xE6\x49"
  22043			  "\x19\x88\xD0\xC3\x60\x7E\xAE\x1F"
  22044			  "\x57\x69\x0E",
  22045		.klen	= 19,
  22046		.iv	= "\x4E\x28\x00\x00\xA2\xFC\xA1\xA3",
  22047		.ptext	= "\x45\x00\x00\x30\xDA\x3A\x00\x00"
  22048			  "\x80\x01\xDF\x3B\xC0\xA8\x00\x05"
  22049			  "\xC0\xA8\x00\x01\x08\x00\xC6\xCD"
  22050			  "\x02\x00\x07\x00\x61\x62\x63\x64"
  22051			  "\x65\x66\x67\x68\x69\x6A\x6B\x6C"
  22052			  "\x6D\x6E\x6F\x70\x71\x72\x73\x74"
  22053			  "\x01\x02\x02\x01",
  22054		.plen	= 52,
  22055		.assoc	= "\x3F\x7E\xF6\x42\x10\x10\x10\x10"
  22056			  "\x10\x10\x10\x10\x4E\x28\x00\x00"
  22057			  "\xA2\xFC\xA1\xA3",
  22058		.alen	= 20,
  22059		.ctext	= "\x6A\x6B\x45\x27\x3F\x9E\x52\xF6"
  22060			  "\x10\x60\x54\x25\xEB\x80\x04\x93"
  22061			  "\xCA\x1B\x23\x97\xCB\x21\x2E\x01"
  22062			  "\xA2\xE7\x95\x41\x30\xE4\x4B\x1B"
  22063			  "\x79\x01\x58\x50\x01\x06\xE1\xE0"
  22064			  "\x2C\x83\x79\xD3\xDE\x46\x97\x1A"
  22065			  "\x44\xCC\x90\xBF\x00\x94\x94\x92"
  22066			  "\x20\x17\x0C\x1B\x55\xDE\x7E\x68"
  22067			  "\xF4\x95\x5D\x4F",
  22068		.clen	= 68,
  22069	}, {
  22070		.key	= "\x4C\x80\xCD\xEF\xBB\x5D\x10\xDA"
  22071			  "\x90\x6A\xC7\x3C\x36\x13\xA6\x34"
  22072			  "\x22\x43\x3C",
  22073		.klen	= 19,
  22074		.iv	= "\x48\x55\xEC\x7D\x3A\x23\x4B\xFD",
  22075		.ptext	= "\x08\x00\xC6\xCD\x02\x00\x07\x00"
  22076			  "\x61\x62\x63\x64\x65\x66\x67\x68"
  22077			  "\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70"
  22078			  "\x71\x72\x73\x74\x01\x02\x02\x01",
  22079		.plen	= 32,
  22080		.assoc	= "\x00\x00\x43\x21\x87\x65\x43\x21"
  22081			  "\x00\x00\x00\x07\x48\x55\xEC\x7D"
  22082			  "\x3A\x23\x4B\xFD",
  22083		.alen	= 20,
  22084		.ctext	= "\x67\xE9\x28\xB3\x1C\xA4\x6D\x02"
  22085			  "\xF0\xB5\x37\xB6\x6B\x2F\xF5\x4F"
  22086			  "\xF8\xA3\x4C\x53\xB8\x12\x09\xBF"
  22087			  "\x58\x7D\xCF\x29\xA3\x41\x68\x6B"
  22088			  "\xCE\xE8\x79\x85\x3C\xB0\x3A\x8F"
  22089			  "\x16\xB0\xA1\x26\xC9\xBC\xBC\xA6",
  22090		.clen	= 48,
  22091	}
  22092};
  22093
  22094/*
  22095 * ChaCha20-Poly1305 AEAD test vectors from RFC7539 2.8.2./A.5.
  22096 */
  22097static const struct aead_testvec rfc7539_tv_template[] = {
  22098	{
  22099		.key	= "\x80\x81\x82\x83\x84\x85\x86\x87"
  22100			  "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  22101			  "\x90\x91\x92\x93\x94\x95\x96\x97"
  22102			  "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f",
  22103		.klen	= 32,
  22104		.iv	= "\x07\x00\x00\x00\x40\x41\x42\x43"
  22105			  "\x44\x45\x46\x47",
  22106		.assoc	= "\x50\x51\x52\x53\xc0\xc1\xc2\xc3"
  22107			  "\xc4\xc5\xc6\xc7",
  22108		.alen	= 12,
  22109		.ptext	= "\x4c\x61\x64\x69\x65\x73\x20\x61"
  22110			  "\x6e\x64\x20\x47\x65\x6e\x74\x6c"
  22111			  "\x65\x6d\x65\x6e\x20\x6f\x66\x20"
  22112			  "\x74\x68\x65\x20\x63\x6c\x61\x73"
  22113			  "\x73\x20\x6f\x66\x20\x27\x39\x39"
  22114			  "\x3a\x20\x49\x66\x20\x49\x20\x63"
  22115			  "\x6f\x75\x6c\x64\x20\x6f\x66\x66"
  22116			  "\x65\x72\x20\x79\x6f\x75\x20\x6f"
  22117			  "\x6e\x6c\x79\x20\x6f\x6e\x65\x20"
  22118			  "\x74\x69\x70\x20\x66\x6f\x72\x20"
  22119			  "\x74\x68\x65\x20\x66\x75\x74\x75"
  22120			  "\x72\x65\x2c\x20\x73\x75\x6e\x73"
  22121			  "\x63\x72\x65\x65\x6e\x20\x77\x6f"
  22122			  "\x75\x6c\x64\x20\x62\x65\x20\x69"
  22123			  "\x74\x2e",
  22124		.plen	= 114,
  22125		.ctext	= "\xd3\x1a\x8d\x34\x64\x8e\x60\xdb"
  22126			  "\x7b\x86\xaf\xbc\x53\xef\x7e\xc2"
  22127			  "\xa4\xad\xed\x51\x29\x6e\x08\xfe"
  22128			  "\xa9\xe2\xb5\xa7\x36\xee\x62\xd6"
  22129			  "\x3d\xbe\xa4\x5e\x8c\xa9\x67\x12"
  22130			  "\x82\xfa\xfb\x69\xda\x92\x72\x8b"
  22131			  "\x1a\x71\xde\x0a\x9e\x06\x0b\x29"
  22132			  "\x05\xd6\xa5\xb6\x7e\xcd\x3b\x36"
  22133			  "\x92\xdd\xbd\x7f\x2d\x77\x8b\x8c"
  22134			  "\x98\x03\xae\xe3\x28\x09\x1b\x58"
  22135			  "\xfa\xb3\x24\xe4\xfa\xd6\x75\x94"
  22136			  "\x55\x85\x80\x8b\x48\x31\xd7\xbc"
  22137			  "\x3f\xf4\xde\xf0\x8e\x4b\x7a\x9d"
  22138			  "\xe5\x76\xd2\x65\x86\xce\xc6\x4b"
  22139			  "\x61\x16\x1a\xe1\x0b\x59\x4f\x09"
  22140			  "\xe2\x6a\x7e\x90\x2e\xcb\xd0\x60"
  22141			  "\x06\x91",
  22142		.clen	= 130,
  22143	}, {
  22144		.key	= "\x1c\x92\x40\xa5\xeb\x55\xd3\x8a"
  22145			  "\xf3\x33\x88\x86\x04\xf6\xb5\xf0"
  22146			  "\x47\x39\x17\xc1\x40\x2b\x80\x09"
  22147			  "\x9d\xca\x5c\xbc\x20\x70\x75\xc0",
  22148		.klen	= 32,
  22149		.iv	= "\x00\x00\x00\x00\x01\x02\x03\x04"
  22150			  "\x05\x06\x07\x08",
  22151		.assoc	= "\xf3\x33\x88\x86\x00\x00\x00\x00"
  22152			  "\x00\x00\x4e\x91",
  22153		.alen	= 12,
  22154		.ptext	= "\x49\x6e\x74\x65\x72\x6e\x65\x74"
  22155			  "\x2d\x44\x72\x61\x66\x74\x73\x20"
  22156			  "\x61\x72\x65\x20\x64\x72\x61\x66"
  22157			  "\x74\x20\x64\x6f\x63\x75\x6d\x65"
  22158			  "\x6e\x74\x73\x20\x76\x61\x6c\x69"
  22159			  "\x64\x20\x66\x6f\x72\x20\x61\x20"
  22160			  "\x6d\x61\x78\x69\x6d\x75\x6d\x20"
  22161			  "\x6f\x66\x20\x73\x69\x78\x20\x6d"
  22162			  "\x6f\x6e\x74\x68\x73\x20\x61\x6e"
  22163			  "\x64\x20\x6d\x61\x79\x20\x62\x65"
  22164			  "\x20\x75\x70\x64\x61\x74\x65\x64"
  22165			  "\x2c\x20\x72\x65\x70\x6c\x61\x63"
  22166			  "\x65\x64\x2c\x20\x6f\x72\x20\x6f"
  22167			  "\x62\x73\x6f\x6c\x65\x74\x65\x64"
  22168			  "\x20\x62\x79\x20\x6f\x74\x68\x65"
  22169			  "\x72\x20\x64\x6f\x63\x75\x6d\x65"
  22170			  "\x6e\x74\x73\x20\x61\x74\x20\x61"
  22171			  "\x6e\x79\x20\x74\x69\x6d\x65\x2e"
  22172			  "\x20\x49\x74\x20\x69\x73\x20\x69"
  22173			  "\x6e\x61\x70\x70\x72\x6f\x70\x72"
  22174			  "\x69\x61\x74\x65\x20\x74\x6f\x20"
  22175			  "\x75\x73\x65\x20\x49\x6e\x74\x65"
  22176			  "\x72\x6e\x65\x74\x2d\x44\x72\x61"
  22177			  "\x66\x74\x73\x20\x61\x73\x20\x72"
  22178			  "\x65\x66\x65\x72\x65\x6e\x63\x65"
  22179			  "\x20\x6d\x61\x74\x65\x72\x69\x61"
  22180			  "\x6c\x20\x6f\x72\x20\x74\x6f\x20"
  22181			  "\x63\x69\x74\x65\x20\x74\x68\x65"
  22182			  "\x6d\x20\x6f\x74\x68\x65\x72\x20"
  22183			  "\x74\x68\x61\x6e\x20\x61\x73\x20"
  22184			  "\x2f\xe2\x80\x9c\x77\x6f\x72\x6b"
  22185			  "\x20\x69\x6e\x20\x70\x72\x6f\x67"
  22186			  "\x72\x65\x73\x73\x2e\x2f\xe2\x80"
  22187			  "\x9d",
  22188		.plen	= 265,
  22189		.ctext	= "\x64\xa0\x86\x15\x75\x86\x1a\xf4"
  22190			  "\x60\xf0\x62\xc7\x9b\xe6\x43\xbd"
  22191			  "\x5e\x80\x5c\xfd\x34\x5c\xf3\x89"
  22192			  "\xf1\x08\x67\x0a\xc7\x6c\x8c\xb2"
  22193			  "\x4c\x6c\xfc\x18\x75\x5d\x43\xee"
  22194			  "\xa0\x9e\xe9\x4e\x38\x2d\x26\xb0"
  22195			  "\xbd\xb7\xb7\x3c\x32\x1b\x01\x00"
  22196			  "\xd4\xf0\x3b\x7f\x35\x58\x94\xcf"
  22197			  "\x33\x2f\x83\x0e\x71\x0b\x97\xce"
  22198			  "\x98\xc8\xa8\x4a\xbd\x0b\x94\x81"
  22199			  "\x14\xad\x17\x6e\x00\x8d\x33\xbd"
  22200			  "\x60\xf9\x82\xb1\xff\x37\xc8\x55"
  22201			  "\x97\x97\xa0\x6e\xf4\xf0\xef\x61"
  22202			  "\xc1\x86\x32\x4e\x2b\x35\x06\x38"
  22203			  "\x36\x06\x90\x7b\x6a\x7c\x02\xb0"
  22204			  "\xf9\xf6\x15\x7b\x53\xc8\x67\xe4"
  22205			  "\xb9\x16\x6c\x76\x7b\x80\x4d\x46"
  22206			  "\xa5\x9b\x52\x16\xcd\xe7\xa4\xe9"
  22207			  "\x90\x40\xc5\xa4\x04\x33\x22\x5e"
  22208			  "\xe2\x82\xa1\xb0\xa0\x6c\x52\x3e"
  22209			  "\xaf\x45\x34\xd7\xf8\x3f\xa1\x15"
  22210			  "\x5b\x00\x47\x71\x8c\xbc\x54\x6a"
  22211			  "\x0d\x07\x2b\x04\xb3\x56\x4e\xea"
  22212			  "\x1b\x42\x22\x73\xf5\x48\x27\x1a"
  22213			  "\x0b\xb2\x31\x60\x53\xfa\x76\x99"
  22214			  "\x19\x55\xeb\xd6\x31\x59\x43\x4e"
  22215			  "\xce\xbb\x4e\x46\x6d\xae\x5a\x10"
  22216			  "\x73\xa6\x72\x76\x27\x09\x7a\x10"
  22217			  "\x49\xe6\x17\xd9\x1d\x36\x10\x94"
  22218			  "\xfa\x68\xf0\xff\x77\x98\x71\x30"
  22219			  "\x30\x5b\xea\xba\x2e\xda\x04\xdf"
  22220			  "\x99\x7b\x71\x4d\x6c\x6f\x2c\x29"
  22221			  "\xa6\xad\x5c\xb4\x02\x2b\x02\x70"
  22222			  "\x9b\xee\xad\x9d\x67\x89\x0c\xbb"
  22223			  "\x22\x39\x23\x36\xfe\xa1\x85\x1f"
  22224			  "\x38",
  22225		.clen	= 281,
  22226	},
  22227};
  22228
  22229/*
  22230 * draft-irtf-cfrg-chacha20-poly1305
  22231 */
  22232static const struct aead_testvec rfc7539esp_tv_template[] = {
  22233	{
  22234		.key	= "\x1c\x92\x40\xa5\xeb\x55\xd3\x8a"
  22235			  "\xf3\x33\x88\x86\x04\xf6\xb5\xf0"
  22236			  "\x47\x39\x17\xc1\x40\x2b\x80\x09"
  22237			  "\x9d\xca\x5c\xbc\x20\x70\x75\xc0"
  22238			  "\x00\x00\x00\x00",
  22239		.klen	= 36,
  22240		.iv	= "\x01\x02\x03\x04\x05\x06\x07\x08",
  22241		.assoc	= "\xf3\x33\x88\x86\x00\x00\x00\x00"
  22242			  "\x00\x00\x4e\x91\x01\x02\x03\x04"
  22243			  "\x05\x06\x07\x08",
  22244		.alen	= 20,
  22245		.ptext	= "\x49\x6e\x74\x65\x72\x6e\x65\x74"
  22246			  "\x2d\x44\x72\x61\x66\x74\x73\x20"
  22247			  "\x61\x72\x65\x20\x64\x72\x61\x66"
  22248			  "\x74\x20\x64\x6f\x63\x75\x6d\x65"
  22249			  "\x6e\x74\x73\x20\x76\x61\x6c\x69"
  22250			  "\x64\x20\x66\x6f\x72\x20\x61\x20"
  22251			  "\x6d\x61\x78\x69\x6d\x75\x6d\x20"
  22252			  "\x6f\x66\x20\x73\x69\x78\x20\x6d"
  22253			  "\x6f\x6e\x74\x68\x73\x20\x61\x6e"
  22254			  "\x64\x20\x6d\x61\x79\x20\x62\x65"
  22255			  "\x20\x75\x70\x64\x61\x74\x65\x64"
  22256			  "\x2c\x20\x72\x65\x70\x6c\x61\x63"
  22257			  "\x65\x64\x2c\x20\x6f\x72\x20\x6f"
  22258			  "\x62\x73\x6f\x6c\x65\x74\x65\x64"
  22259			  "\x20\x62\x79\x20\x6f\x74\x68\x65"
  22260			  "\x72\x20\x64\x6f\x63\x75\x6d\x65"
  22261			  "\x6e\x74\x73\x20\x61\x74\x20\x61"
  22262			  "\x6e\x79\x20\x74\x69\x6d\x65\x2e"
  22263			  "\x20\x49\x74\x20\x69\x73\x20\x69"
  22264			  "\x6e\x61\x70\x70\x72\x6f\x70\x72"
  22265			  "\x69\x61\x74\x65\x20\x74\x6f\x20"
  22266			  "\x75\x73\x65\x20\x49\x6e\x74\x65"
  22267			  "\x72\x6e\x65\x74\x2d\x44\x72\x61"
  22268			  "\x66\x74\x73\x20\x61\x73\x20\x72"
  22269			  "\x65\x66\x65\x72\x65\x6e\x63\x65"
  22270			  "\x20\x6d\x61\x74\x65\x72\x69\x61"
  22271			  "\x6c\x20\x6f\x72\x20\x74\x6f\x20"
  22272			  "\x63\x69\x74\x65\x20\x74\x68\x65"
  22273			  "\x6d\x20\x6f\x74\x68\x65\x72\x20"
  22274			  "\x74\x68\x61\x6e\x20\x61\x73\x20"
  22275			  "\x2f\xe2\x80\x9c\x77\x6f\x72\x6b"
  22276			  "\x20\x69\x6e\x20\x70\x72\x6f\x67"
  22277			  "\x72\x65\x73\x73\x2e\x2f\xe2\x80"
  22278			  "\x9d",
  22279		.plen	= 265,
  22280		.ctext	= "\x64\xa0\x86\x15\x75\x86\x1a\xf4"
  22281			  "\x60\xf0\x62\xc7\x9b\xe6\x43\xbd"
  22282			  "\x5e\x80\x5c\xfd\x34\x5c\xf3\x89"
  22283			  "\xf1\x08\x67\x0a\xc7\x6c\x8c\xb2"
  22284			  "\x4c\x6c\xfc\x18\x75\x5d\x43\xee"
  22285			  "\xa0\x9e\xe9\x4e\x38\x2d\x26\xb0"
  22286			  "\xbd\xb7\xb7\x3c\x32\x1b\x01\x00"
  22287			  "\xd4\xf0\x3b\x7f\x35\x58\x94\xcf"
  22288			  "\x33\x2f\x83\x0e\x71\x0b\x97\xce"
  22289			  "\x98\xc8\xa8\x4a\xbd\x0b\x94\x81"
  22290			  "\x14\xad\x17\x6e\x00\x8d\x33\xbd"
  22291			  "\x60\xf9\x82\xb1\xff\x37\xc8\x55"
  22292			  "\x97\x97\xa0\x6e\xf4\xf0\xef\x61"
  22293			  "\xc1\x86\x32\x4e\x2b\x35\x06\x38"
  22294			  "\x36\x06\x90\x7b\x6a\x7c\x02\xb0"
  22295			  "\xf9\xf6\x15\x7b\x53\xc8\x67\xe4"
  22296			  "\xb9\x16\x6c\x76\x7b\x80\x4d\x46"
  22297			  "\xa5\x9b\x52\x16\xcd\xe7\xa4\xe9"
  22298			  "\x90\x40\xc5\xa4\x04\x33\x22\x5e"
  22299			  "\xe2\x82\xa1\xb0\xa0\x6c\x52\x3e"
  22300			  "\xaf\x45\x34\xd7\xf8\x3f\xa1\x15"
  22301			  "\x5b\x00\x47\x71\x8c\xbc\x54\x6a"
  22302			  "\x0d\x07\x2b\x04\xb3\x56\x4e\xea"
  22303			  "\x1b\x42\x22\x73\xf5\x48\x27\x1a"
  22304			  "\x0b\xb2\x31\x60\x53\xfa\x76\x99"
  22305			  "\x19\x55\xeb\xd6\x31\x59\x43\x4e"
  22306			  "\xce\xbb\x4e\x46\x6d\xae\x5a\x10"
  22307			  "\x73\xa6\x72\x76\x27\x09\x7a\x10"
  22308			  "\x49\xe6\x17\xd9\x1d\x36\x10\x94"
  22309			  "\xfa\x68\xf0\xff\x77\x98\x71\x30"
  22310			  "\x30\x5b\xea\xba\x2e\xda\x04\xdf"
  22311			  "\x99\x7b\x71\x4d\x6c\x6f\x2c\x29"
  22312			  "\xa6\xad\x5c\xb4\x02\x2b\x02\x70"
  22313			  "\x9b\xee\xad\x9d\x67\x89\x0c\xbb"
  22314			  "\x22\x39\x23\x36\xfe\xa1\x85\x1f"
  22315			  "\x38",
  22316		.clen	= 281,
  22317	},
  22318};
  22319
  22320/*
  22321 * AEGIS-128 test vectors - generated via reference implementation from
  22322 * SUPERCOP (https://bench.cr.yp.to/supercop.html):
  22323 *
  22324 *   https://bench.cr.yp.to/supercop/supercop-20170228.tar.xz
  22325 *   (see crypto_aead/aegis128/)
  22326 */
  22327static const struct aead_testvec aegis128_tv_template[] = {
  22328	{
  22329		.key	= "\x0f\xc9\x8e\x67\x44\x9e\xaa\x86"
  22330			  "\x20\x36\x2c\x24\xfe\xc9\x30\x81",
  22331		.klen	= 16,
  22332		.iv	= "\x1e\x92\x1c\xcf\x88\x3d\x54\x0d"
  22333			  "\x40\x6d\x59\x48\xfc\x92\x61\x03",
  22334		.assoc	= "",
  22335		.alen	= 0,
  22336		.ptext	= "",
  22337		.plen	= 0,
  22338		.ctext	= "\x07\xa5\x11\xf2\x9d\x40\xb8\x6d"
  22339			  "\xda\xb8\x12\x34\x4c\x53\xd9\x72",
  22340		.clen	= 16,
  22341	}, {
  22342		.key	= "\x4b\xed\xc8\x07\x54\x1a\x52\xa2"
  22343			  "\xa1\x10\xde\xb5\xf8\xed\xf3\x87",
  22344		.klen	= 16,
  22345		.iv	= "\x5a\xb7\x56\x6e\x98\xb9\xfd\x29"
  22346			  "\xc1\x47\x0b\xda\xf6\xb6\x23\x09",
  22347		.assoc	= "",
  22348		.alen	= 0,
  22349		.ptext	= "\x79",
  22350		.plen	= 1,
  22351		.ctext	= "\x9e\x78\x52\xae\xcb\x9e\xe4\xd3"
  22352			  "\x9a\xd7\x5d\xd7\xaa\x9a\xe9\x5a"
  22353			  "\xcc",
  22354		.clen	= 17,
  22355	}, {
  22356		.key	= "\x88\x12\x01\xa6\x64\x96\xfb\xbe"
  22357			  "\x22\xea\x90\x47\xf2\x11\xb5\x8e",
  22358		.klen	= 16,
  22359		.iv	= "\x97\xdb\x90\x0e\xa8\x35\xa5\x45"
  22360			  "\x42\x21\xbd\x6b\xf0\xda\xe6\x0f",
  22361		.assoc	= "",
  22362		.alen	= 0,
  22363		.ptext	= "\xb5\x6e\xad\xdd\x30\x72\xfa\x53"
  22364			  "\x82\x8e\x16\xb4\xed\x6d\x47",
  22365		.plen	= 15,
  22366		.ctext	= "\xc3\x80\x83\x04\x5f\xaa\x61\xc7"
  22367			  "\xca\xdd\x6f\xac\x85\x08\xb5\x35"
  22368			  "\x2b\xc2\x3e\x0b\x1b\x39\x37\x2b"
  22369			  "\x7a\x21\x16\xb3\xe6\x67\x66",
  22370		.clen	= 31,
  22371	}, {
  22372		.key	= "\xc4\x37\x3b\x45\x74\x11\xa4\xda"
  22373			  "\xa2\xc5\x42\xd8\xec\x36\x78\x94",
  22374		.klen	= 16,
  22375		.iv	= "\xd3\x00\xc9\xad\xb8\xb0\x4e\x61"
  22376			  "\xc3\xfb\x6f\xfd\xea\xff\xa9\x15",
  22377		.assoc	= "",
  22378		.alen	= 0,
  22379		.ptext	= "\xf2\x92\xe6\x7d\x40\xee\xa3\x6f"
  22380			  "\x03\x68\xc8\x45\xe7\x91\x0a\x18",
  22381		.plen	= 16,
  22382		.ctext	= "\x23\x25\x30\xe5\x6a\xb6\x36\x7d"
  22383			  "\x38\xfd\x3a\xd2\xc2\x58\xa9\x11"
  22384			  "\x1e\xa8\x30\x9c\x16\xa4\xdb\x65"
  22385			  "\x51\x10\x16\x27\x70\x9b\x64\x29",
  22386		.clen	= 32,
  22387	}, {
  22388		.key	= "\x01\x5c\x75\xe5\x84\x8d\x4d\xf6"
  22389			  "\x23\x9f\xf4\x6a\xe6\x5a\x3b\x9a",
  22390		.klen	= 16,
  22391		.iv	= "\x10\x25\x03\x4c\xc8\x2c\xf7\x7d"
  22392			  "\x44\xd5\x21\x8e\xe4\x23\x6b\x1c",
  22393		.assoc	= "",
  22394		.alen	= 0,
  22395		.ptext	= "\x2e\xb7\x20\x1c\x50\x6a\x4b\x8b"
  22396			  "\x84\x42\x7a\xd7\xe1\xb5\xcd\x1f"
  22397			  "\xd3",
  22398		.plen	= 17,
  22399		.ctext	= "\x2a\x8d\x56\x91\xc6\xf3\x56\xa5"
  22400			  "\x1f\xf0\x89\x2e\x13\xad\xe6\xf6"
  22401			  "\x46\x80\xb1\x0e\x18\x30\x40\x97"
  22402			  "\x03\xdf\x64\x3c\xbe\x93\x9e\xc9"
  22403			  "\x3b",
  22404		.clen	= 33,
  22405	}, {
  22406		.key	= "\x3d\x80\xae\x84\x94\x09\xf6\x12"
  22407			  "\xa4\x79\xa6\xfb\xe0\x7f\xfd\xa0",
  22408		.klen	= 16,
  22409		.iv	= "\x4c\x49\x3d\xec\xd8\xa8\xa0\x98"
  22410			  "\xc5\xb0\xd3\x1f\xde\x48\x2e\x22",
  22411		.assoc	= "",
  22412		.alen	= 0,
  22413		.ptext	= "\x6b\xdc\x5a\xbb\x60\xe5\xf4\xa6"
  22414			  "\x05\x1d\x2c\x68\xdb\xda\x8f\x25"
  22415			  "\xfe\x8d\x45\x19\x1e\xc0\x0b\x99"
  22416			  "\x88\x11\x39\x12\x1c\x3a\xbb",
  22417		.plen	= 31,
  22418		.ctext	= "\x4e\xf6\xfa\x13\xde\x43\x63\x4c"
  22419			  "\xe2\x04\x3e\xe4\x85\x14\xb6\x3f"
  22420			  "\xb1\x8f\x4c\xdb\x41\xa2\x14\x99"
  22421			  "\xf5\x53\x0f\x73\x86\x7e\x97\xa1"
  22422			  "\x4b\x56\x5b\x94\xce\xcd\x74\xcd"
  22423			  "\x75\xc4\x53\x01\x89\x45\x59",
  22424		.clen	= 47,
  22425	}, {
  22426		.key	= "\x7a\xa5\xe8\x23\xa4\x84\x9e\x2d"
  22427			  "\x25\x53\x58\x8c\xda\xa3\xc0\xa6",
  22428		.klen	= 16,
  22429		.iv	= "\x89\x6e\x77\x8b\xe8\x23\x49\xb4"
  22430			  "\x45\x8a\x85\xb1\xd8\x6c\xf1\x28",
  22431		.assoc	= "",
  22432		.alen	= 0,
  22433		.ptext	= "\xa7\x00\x93\x5b\x70\x61\x9d\xc2"
  22434			  "\x86\xf7\xde\xfa\xd5\xfe\x52\x2b"
  22435			  "\x28\x50\x51\x9d\x24\x60\x8d\xb3"
  22436			  "\x49\x3e\x17\xea\xf6\x99\x5a\xdd",
  22437		.plen	= 32,
  22438		.ctext	= "\xa4\x9a\xb7\xfd\xa0\xd4\xd6\x47"
  22439			  "\x95\xf4\x58\x38\x14\x83\x27\x01"
  22440			  "\x4c\xed\x32\x2c\xf7\xd6\x31\xf7"
  22441			  "\x38\x1b\x2c\xc9\xb6\x31\xce\xaa"
  22442			  "\xa5\x3c\x1a\x18\x5c\xce\xb9\xdf"
  22443			  "\x51\x52\x77\xf2\x5e\x85\x80\x41",
  22444		.clen	= 48,
  22445	}, {
  22446		.key	= "\xb6\xca\x22\xc3\xb4\x00\x47\x49"
  22447			  "\xa6\x2d\x0a\x1e\xd4\xc7\x83\xad",
  22448		.klen	= 16,
  22449		.iv	= "\xc5\x93\xb0\x2a\xf8\x9f\xf1\xd0"
  22450			  "\xc6\x64\x37\x42\xd2\x90\xb3\x2e",
  22451		.assoc	= "\xd5",
  22452		.alen	= 1,
  22453		.ptext	= "",
  22454		.plen	= 0,
  22455		.ctext	= "\xfb\xd4\x83\x71\x9e\x63\xad\x60"
  22456			  "\xb9\xf9\xeb\x34\x52\x49\xcf\xb7",
  22457		.clen	= 16,
  22458	}, {
  22459		.key	= "\xf3\xee\x5c\x62\xc4\x7c\xf0\x65"
  22460			  "\x27\x08\xbd\xaf\xce\xec\x45\xb3",
  22461		.klen	= 16,
  22462		.iv	= "\x02\xb8\xea\xca\x09\x1b\x9a\xec"
  22463			  "\x47\x3e\xe9\xd4\xcc\xb5\x76\x34",
  22464		.assoc	= "\x11\x81\x78\x32\x4d\xb9\x44\x73"
  22465			  "\x68\x75\x16\xf8\xcb\x7e\xa7",
  22466		.alen	= 15,
  22467		.ptext	= "",
  22468		.plen	= 0,
  22469		.ctext	= "\x0c\xaf\x2e\x96\xf6\x97\x08\x71"
  22470			  "\x7d\x3a\x84\xc4\x44\x57\x77\x7e",
  22471		.clen	= 16,
  22472	}, {
  22473		.key	= "\x2f\x13\x95\x01\xd5\xf7\x99\x81"
  22474			  "\xa8\xe2\x6f\x41\xc8\x10\x08\xb9",
  22475		.klen	= 16,
  22476		.iv	= "\x3f\xdc\x24\x69\x19\x96\x43\x08"
  22477			  "\xc8\x18\x9b\x65\xc6\xd9\x39\x3b",
  22478		.assoc	= "\x4e\xa5\xb2\xd1\x5d\x35\xed\x8f"
  22479			  "\xe8\x4f\xc8\x89\xc5\xa2\x69\xbc",
  22480		.alen	= 16,
  22481		.ptext	= "",
  22482		.plen	= 0,
  22483		.ctext	= "\xc7\x87\x09\x3b\xc7\x19\x74\x22"
  22484			  "\x22\xa5\x67\x10\xb2\x36\xb3\x45",
  22485		.clen	= 16,
  22486	}, {
  22487		.key	= "\x6c\x38\xcf\xa1\xe5\x73\x41\x9d"
  22488			  "\x29\xbc\x21\xd2\xc2\x35\xcb\xbf",
  22489		.klen	= 16,
  22490		.iv	= "\x7b\x01\x5d\x08\x29\x12\xec\x24"
  22491			  "\x49\xf3\x4d\xf7\xc0\xfe\xfb\x41",
  22492		.assoc	= "\x8a\xca\xec\x70\x6d\xb1\x96\xab"
  22493			  "\x69\x29\x7a\x1b\xbf\xc7\x2c\xc2"
  22494			  "\x07",
  22495		.alen	= 17,
  22496		.ptext	= "",
  22497		.plen	= 0,
  22498		.ctext	= "\x02\xc6\x3b\x46\x65\xb2\xef\x91"
  22499			  "\x31\xf0\x45\x48\x8a\x2a\xed\xe4",
  22500		.clen	= 16,
  22501	}, {
  22502		.key	= "\xa8\x5c\x09\x40\xf5\xef\xea\xb8"
  22503			  "\xaa\x96\xd3\x64\xbc\x59\x8d\xc6",
  22504		.klen	= 16,
  22505		.iv	= "\xb8\x26\x97\xa8\x39\x8e\x94\x3f"
  22506			  "\xca\xcd\xff\x88\xba\x22\xbe\x47",
  22507		.assoc	= "\xc7\xef\x26\x10\x7d\x2c\x3f\xc6"
  22508			  "\xea\x03\x2c\xac\xb9\xeb\xef\xc9"
  22509			  "\x31\x6b\x08\x12\xfc\xd8\x37\x2d"
  22510			  "\xe0\x17\x3a\x2e\x83\x5c\x8f",
  22511		.alen	= 31,
  22512		.ptext	= "",
  22513		.plen	= 0,
  22514		.ctext	= "\x20\x85\xa8\xd0\x91\x48\x85\xf3"
  22515			  "\x5a\x16\xc0\x57\x68\x47\xdd\xcb",
  22516		.clen	= 16,
  22517	}, {
  22518		.key	= "\xe5\x81\x42\xdf\x05\x6a\x93\xd4"
  22519			  "\x2b\x70\x85\xf5\xb6\x7d\x50\xcc",
  22520		.klen	= 16,
  22521		.iv	= "\xf4\x4a\xd1\x47\x49\x09\x3d\x5b"
  22522			  "\x4b\xa7\xb1\x19\xb4\x46\x81\x4d",
  22523		.assoc	= "\x03\x14\x5f\xaf\x8d\xa8\xe7\xe2"
  22524			  "\x6b\xde\xde\x3e\xb3\x10\xb1\xcf"
  22525			  "\x5c\x2d\x14\x96\x01\x78\xb9\x47"
  22526			  "\xa1\x44\x19\x06\x5d\xbb\x2e\x2f",
  22527		.alen	= 32,
  22528		.ptext	= "",
  22529		.plen	= 0,
  22530		.ctext	= "\x6a\xf8\x8d\x9c\x42\x75\x35\x79"
  22531			  "\xc1\x96\xbd\x31\x6e\x69\x1b\x50",
  22532		.clen	= 16,
  22533	}, {
  22534		.key	= "\x22\xa6\x7c\x7f\x15\xe6\x3c\xf0"
  22535			  "\xac\x4b\x37\x86\xb0\xa2\x13\xd2",
  22536		.klen	= 16,
  22537		.iv	= "\x31\x6f\x0b\xe6\x59\x85\xe6\x77"
  22538			  "\xcc\x81\x63\xab\xae\x6b\x43\x54",
  22539		.assoc	= "\x40",
  22540		.alen	= 1,
  22541		.ptext	= "\x4f",
  22542		.plen	= 1,
  22543		.ctext	= "\x01\x24\xb1\xba\xf6\xd3\xdf\x83"
  22544			  "\x70\x45\xe3\x2a\x9d\x5c\x63\x98"
  22545			  "\x39",
  22546		.clen	= 17,
  22547	}, {
  22548		.key	= "\x5e\xcb\xb6\x1e\x25\x62\xe4\x0c"
  22549			  "\x2d\x25\xe9\x18\xaa\xc6\xd5\xd8",
  22550		.klen	= 16,
  22551		.iv	= "\x6d\x94\x44\x86\x69\x00\x8f\x93"
  22552			  "\x4d\x5b\x15\x3c\xa8\x8f\x06\x5a",
  22553		.assoc	= "\x7c\x5d\xd3\xee\xad\x9f\x39\x1a"
  22554			  "\x6d\x92\x42\x61\xa7\x58\x37",
  22555		.alen	= 15,
  22556		.ptext	= "\x8b\x26\x61\x55\xf1\x3e\xe3\xa1"
  22557			  "\x8d\xc8\x6e\x85\xa5\x21\x67",
  22558		.plen	= 15,
  22559		.ctext	= "\x18\x78\xc2\x6e\xe1\xf7\xe6\x8a"
  22560			  "\xca\x0e\x62\x00\xa8\x21\xb5\x21"
  22561			  "\x3d\x36\xdb\xf7\xcc\x31\x94\x9c"
  22562			  "\x98\xbd\x71\x7a\xef\xa4\xfa",
  22563		.clen	= 31,
  22564	}, {
  22565		.key	= "\x9b\xef\xf0\xbd\x35\xdd\x8d\x28"
  22566			  "\xad\xff\x9b\xa9\xa4\xeb\x98\xdf",
  22567		.klen	= 16,
  22568		.iv	= "\xaa\xb8\x7e\x25\x79\x7c\x37\xaf"
  22569			  "\xce\x36\xc7\xce\xa2\xb4\xc9\x60",
  22570		.assoc	= "\xb9\x82\x0c\x8d\xbd\x1b\xe2\x36"
  22571			  "\xee\x6c\xf4\xf2\xa1\x7d\xf9\xe2",
  22572		.alen	= 16,
  22573		.ptext	= "\xc8\x4b\x9b\xf5\x01\xba\x8c\xbd"
  22574			  "\x0e\xa3\x21\x16\x9f\x46\x2a\x63",
  22575		.plen	= 16,
  22576		.ctext	= "\xea\xd1\x81\x75\xb4\x13\x1d\x86"
  22577			  "\xd4\x17\x26\xe5\xd6\x89\x39\x04"
  22578			  "\xa9\x6c\xca\xac\x40\x73\xb2\x4c"
  22579			  "\x9c\xb9\x0e\x79\x4c\x40\x65\xc6",
  22580		.clen	= 32,
  22581	}, {
  22582		.key	= "\xd7\x14\x29\x5d\x45\x59\x36\x44"
  22583			  "\x2e\xd9\x4d\x3b\x9e\x0f\x5b\xe5",
  22584		.klen	= 16,
  22585		.iv	= "\xe6\xdd\xb8\xc4\x89\xf8\xe0\xca"
  22586			  "\x4f\x10\x7a\x5f\x9c\xd8\x8b\x66",
  22587		.assoc	= "\xf5\xa6\x46\x2c\xce\x97\x8a\x51"
  22588			  "\x6f\x46\xa6\x83\x9b\xa1\xbc\xe8"
  22589			  "\x05",
  22590		.alen	= 17,
  22591		.ptext	= "\x05\x70\xd5\x94\x12\x36\x35\xd8"
  22592			  "\x8f\x7d\xd3\xa8\x99\x6a\xed\x69"
  22593			  "\xd0",
  22594		.plen	= 17,
  22595		.ctext	= "\xf4\xb2\x84\xd1\x81\xfa\x98\x1c"
  22596			  "\x38\x2d\x69\x90\x1c\x71\x38\x98"
  22597			  "\x9f\xe1\x19\x3b\x63\x91\xaf\x6e"
  22598			  "\x4b\x07\x2c\xac\x53\xc5\xd5\xfe"
  22599			  "\x93",
  22600		.clen	= 33,
  22601	}, {
  22602		.key	= "\x14\x39\x63\xfc\x56\xd5\xdf\x5f"
  22603			  "\xaf\xb3\xff\xcc\x98\x33\x1d\xeb",
  22604		.klen	= 16,
  22605		.iv	= "\x23\x02\xf1\x64\x9a\x73\x89\xe6"
  22606			  "\xd0\xea\x2c\xf1\x96\xfc\x4e\x6d",
  22607		.assoc	= "\x32\xcb\x80\xcc\xde\x12\x33\x6d"
  22608			  "\xf0\x20\x58\x15\x95\xc6\x7f\xee"
  22609			  "\x2f\xf9\x4e\x2c\x1b\x98\x43\xc7"
  22610			  "\x68\x28\x73\x40\x9f\x96\x4a",
  22611		.alen	= 31,
  22612		.ptext	= "\x41\x94\x0e\x33\x22\xb1\xdd\xf4"
  22613			  "\x10\x57\x85\x39\x93\x8f\xaf\x70"
  22614			  "\xfa\xa9\xd0\x4d\x5c\x40\x23\xcd"
  22615			  "\x98\x34\xab\x37\x56\xae\x32",
  22616		.plen	= 31,
  22617		.ctext	= "\xa0\xe7\x0a\x60\xe7\xb8\x8a\xdb"
  22618			  "\x94\xd3\x93\xf2\x41\x86\x16\xdd"
  22619			  "\x4c\xe8\xe7\xe0\x62\x48\x89\x40"
  22620			  "\xc0\x49\x9b\x63\x32\xec\x8b\xdb"
  22621			  "\xdc\xa6\xea\x2c\xc2\x7f\xf5\x04"
  22622			  "\xcb\xe5\x47\xbb\xa7\xd1\x9d",
  22623		.clen	= 47,
  22624	}, {
  22625		.key	= "\x50\x5d\x9d\x9b\x66\x50\x88\x7b"
  22626			  "\x30\x8e\xb1\x5e\x92\x58\xe0\xf1",
  22627		.klen	= 16,
  22628		.iv	= "\x5f\x27\x2b\x03\xaa\xef\x32\x02"
  22629			  "\x50\xc4\xde\x82\x90\x21\x11\x73",
  22630		.assoc	= "\x6e\xf0\xba\x6b\xee\x8e\xdc\x89"
  22631			  "\x71\xfb\x0a\xa6\x8f\xea\x41\xf4"
  22632			  "\x5a\xbb\x59\xb0\x20\x38\xc5\xe0"
  22633			  "\x29\x56\x52\x19\x79\xf5\xe9\x37",
  22634		.alen	= 32,
  22635		.ptext	= "\x7e\xb9\x48\xd3\x32\x2d\x86\x10"
  22636			  "\x91\x31\x37\xcb\x8d\xb3\x72\x76"
  22637			  "\x24\x6b\xdc\xd1\x61\xe0\xa5\xe7"
  22638			  "\x5a\x61\x8a\x0f\x30\x0d\xd1\xec",
  22639		.plen	= 32,
  22640		.ctext	= "\x62\xdc\x2d\x68\x2d\x71\xbb\x33"
  22641			  "\x13\xdf\xc0\x46\xf6\x61\x94\xa7"
  22642			  "\x60\xd3\xd4\xca\xd9\xbe\x82\xf3"
  22643			  "\xf1\x5b\xa0\xfa\x15\xba\xda\xea"
  22644			  "\x87\x68\x47\x08\x5d\xdd\x83\xb0"
  22645			  "\x60\xf4\x93\x20\xdf\x34\x8f\xea",
  22646		.clen	= 48,
  22647	}, {
  22648		.key	= "\x8d\x82\xd6\x3b\x76\xcc\x30\x97"
  22649			  "\xb1\x68\x63\xef\x8c\x7c\xa3\xf7",
  22650		.klen	= 16,
  22651		.iv	= "\x9c\x4b\x65\xa2\xba\x6b\xdb\x1e"
  22652			  "\xd1\x9e\x90\x13\x8a\x45\xd3\x79",
  22653		.assoc	= "\xab\x14\xf3\x0a\xfe\x0a\x85\xa5"
  22654			  "\xf2\xd5\xbc\x38\x89\x0e\x04\xfb"
  22655			  "\x84\x7d\x65\x34\x25\xd8\x47\xfa"
  22656			  "\xeb\x83\x31\xf1\x54\x54\x89\x0d"
  22657			  "\x9d",
  22658		.alen	= 33,
  22659		.ptext	= "\xba\xde\x82\x72\x42\xa9\x2f\x2c"
  22660			  "\x12\x0b\xe9\x5c\x87\xd7\x35\x7c"
  22661			  "\x4f\x2e\xe8\x55\x66\x80\x27\x00"
  22662			  "\x1b\x8f\x68\xe7\x0a\x6c\x71\xc3"
  22663			  "\x21\x78\x55\x9d\x9c\x65\x7b\xcd"
  22664			  "\x0a\x34\x97\xff\x47\x37\xb0\x2a"
  22665			  "\x80\x0d\x19\x98\x33\xa9\x7a\xe3"
  22666			  "\x2e\x4c\xc6\xf3\x8c\x88\x42\x01"
  22667			  "\xbd",
  22668		.plen	= 65,
  22669		.ctext	= "\x84\xc5\x21\xab\xe1\xeb\xbb\x6d"
  22670			  "\xaa\x2a\xaf\xeb\x3b\x3b\x69\xe7"
  22671			  "\x2c\x47\xef\x9d\xb7\x53\x36\xb7"
  22672			  "\xb6\xf5\xe5\xa8\xc9\x9e\x02\xd7"
  22673			  "\x83\x88\xc2\xbd\x2f\xf9\x10\xc0"
  22674			  "\xf5\xa1\x6e\xd3\x97\x64\x82\xa3"
  22675			  "\xfb\xda\x2c\xb1\x94\xa1\x58\x32"
  22676			  "\xe8\xd4\x39\xfc\x9e\x26\xf9\xf1"
  22677			  "\x61\xe6\xae\x07\xf2\xe0\xa7\x44"
  22678			  "\x96\x28\x3b\xee\x6b\xc6\x16\x31"
  22679			  "\x3f",
  22680		.clen	= 81,
  22681	}, {
  22682		.key	= "\xc9\xa7\x10\xda\x86\x48\xd9\xb3"
  22683			  "\x32\x42\x15\x80\x85\xa1\x65\xfe",
  22684		.klen	= 16,
  22685		.iv	= "\xd8\x70\x9f\x42\xca\xe6\x83\x3a"
  22686			  "\x52\x79\x42\xa5\x84\x6a\x96\x7f",
  22687		.assoc	= "\xe8\x39\x2d\xaa\x0e\x85\x2d\xc1"
  22688			  "\x72\xaf\x6e\xc9\x82\x33\xc7\x01"
  22689			  "\xaf\x40\x70\xb8\x2a\x78\xc9\x14"
  22690			  "\xac\xb1\x10\xca\x2e\xb3\x28\xe4"
  22691			  "\xac\xfa\x58\x7f\xe5\x73\x09\x8c"
  22692			  "\x1d\x40\x87\x8c\xd9\x75\xc0\x55"
  22693			  "\xa2\xda\x07\xd1\xc2\xa9\xd1\xbb"
  22694			  "\x09\x4f\x77\x62\x88\x2d\xf2\x68"
  22695			  "\x54",
  22696		.alen	= 65,
  22697		.ptext	= "\xf7\x02\xbb\x11\x52\x24\xd8\x48"
  22698			  "\x93\xe6\x9b\xee\x81\xfc\xf7\x82"
  22699			  "\x79\xf0\xf3\xd9\x6c\x20\xa9\x1a"
  22700			  "\xdc\xbc\x47\xc0\xe4\xcb\x10\x99"
  22701			  "\x2f",
  22702		.plen	= 33,
  22703		.ctext	= "\x8f\x23\x47\xfb\xf2\xac\x23\x83"
  22704			  "\x77\x09\xac\x74\xef\xd2\x56\xae"
  22705			  "\x20\x7b\x7b\xca\x45\x8e\xc8\xc2"
  22706			  "\x50\xbd\xc7\x44\x1c\x54\x98\xd8"
  22707			  "\x1f\xd0\x9a\x79\xaa\xf9\xe1\xb3"
  22708			  "\xb4\x98\x5a\x9b\xe4\x4d\xbf\x4e"
  22709			  "\x39",
  22710		.clen	= 49,
  22711	}, {
  22712		.key	= "\x06\xcc\x4a\x79\x96\xc3\x82\xcf"
  22713			  "\xb3\x1c\xc7\x12\x7f\xc5\x28\x04",
  22714		.klen	= 16,
  22715		.iv	= "\x15\x95\xd8\xe1\xda\x62\x2c\x56"
  22716			  "\xd3\x53\xf4\x36\x7e\x8e\x59\x85",
  22717		.assoc	= "\x24\x5e\x67\x49\x1e\x01\xd6\xdd"
  22718			  "\xf3\x89\x20\x5b\x7c\x57\x89\x07",
  22719		.alen	= 16,
  22720		.ptext	= "\x33\x27\xf5\xb1\x62\xa0\x80\x63"
  22721			  "\x14\xc0\x4d\x7f\x7b\x20\xba\x89",
  22722		.plen	= 16,
  22723		.ctext	= "\x42\xc3\x58\xfb\x29\xe2\x4a\x56"
  22724			  "\xf1\xf5\xe1\x51\x55\x4b\x0a\x45"
  22725			  "\x46\xb5\x8d\xac\xb6\x34\xd8\x8b"
  22726			  "\xde\x20\x59\x77\xc1\x74\x90",
  22727		.clen	= 31,
  22728	}, {
  22729		.key	= "\x42\xf0\x84\x19\xa6\x3f\x2b\xea"
  22730			  "\x34\xf6\x79\xa3\x79\xe9\xeb\x0a",
  22731		.klen	= 16,
  22732		.iv	= "\x51\xb9\x12\x80\xea\xde\xd5\x71"
  22733			  "\x54\x2d\xa6\xc8\x78\xb2\x1b\x8c",
  22734		.assoc	= "\x61\x83\xa0\xe8\x2e\x7d\x7f\xf8"
  22735			  "\x74\x63\xd2\xec\x76\x7c\x4c\x0d",
  22736		.alen	= 16,
  22737		.ptext	= "\x70\x4c\x2f\x50\x72\x1c\x29\x7f"
  22738			  "\x95\x9a\xff\x10\x75\x45\x7d\x8f",
  22739		.plen	= 16,
  22740		.ctext	= "\xb2\xfb\xf6\x97\x69\x7a\xe9\xec"
  22741			  "\xe2\x94\xa1\x8b\xa0\x2b\x60\x72"
  22742			  "\x1d\x04\xdd\x6a\xef\x46\x8f\x68"
  22743			  "\xe9\xe0\x17\x45\x70\x12",
  22744		.clen	= 30,
  22745	}, {
  22746		.key	= "\x7f\x15\xbd\xb8\xb6\xba\xd3\x06"
  22747			  "\xb5\xd1\x2b\x35\x73\x0e\xad\x10",
  22748		.klen	= 16,
  22749		.iv	= "\x8e\xde\x4c\x20\xfa\x59\x7e\x8d"
  22750			  "\xd5\x07\x58\x59\x72\xd7\xde\x92",
  22751		.assoc	= "\x9d\xa7\xda\x88\x3e\xf8\x28\x14"
  22752			  "\xf5\x3e\x85\x7d\x70\xa0\x0f\x13",
  22753		.alen	= 16,
  22754		.ptext	= "\xac\x70\x69\xef\x82\x97\xd2\x9b"
  22755			  "\x15\x74\xb1\xa2\x6f\x69\x3f\x95",
  22756		.plen	= 16,
  22757		.ctext	= "\x47\xda\x54\x42\x51\x72\xc4\x8b"
  22758			  "\xf5\x57\x0f\x2f\x49\x0e\x11\x3b"
  22759			  "\x78\x93\xec\xfc\xf4\xff\xe1\x2d",
  22760		.clen	= 24,
  22761	},
  22762};
  22763
  22764/*
  22765 * All key wrapping test vectors taken from
  22766 * http://csrc.nist.gov/groups/STM/cavp/documents/mac/kwtestvectors.zip
  22767 *
  22768 * Note: as documented in keywrap.c, the ivout for encryption is the first
  22769 * semiblock of the ciphertext from the test vector. For decryption, iv is
  22770 * the first semiblock of the ciphertext.
  22771 */
  22772static const struct cipher_testvec aes_kw_tv_template[] = {
  22773	{
  22774		.key	= "\x75\x75\xda\x3a\x93\x60\x7c\xc2"
  22775			  "\xbf\xd8\xce\xc7\xaa\xdf\xd9\xa6",
  22776		.klen	= 16,
  22777		.ptext	= "\x42\x13\x6d\x3c\x38\x4a\x3e\xea"
  22778			  "\xc9\x5a\x06\x6f\xd2\x8f\xed\x3f",
  22779		.ctext	= "\xf6\x85\x94\x81\x6f\x64\xca\xa3"
  22780			  "\xf5\x6f\xab\xea\x25\x48\xf5\xfb",
  22781		.len	= 16,
  22782		.iv_out	= "\x03\x1f\x6b\xd7\xe6\x1e\x64\x3d",
  22783		.generates_iv = true,
  22784	}, {
  22785		.key	= "\x80\xaa\x99\x73\x27\xa4\x80\x6b"
  22786			  "\x6a\x7a\x41\xa5\x2b\x86\xc3\x71"
  22787			  "\x03\x86\xf9\x32\x78\x6e\xf7\x96"
  22788			  "\x76\xfa\xfb\x90\xb8\x26\x3c\x5f",
  22789		.klen	= 32,
  22790		.ptext	= "\x0a\x25\x6b\xa7\x5c\xfa\x03\xaa"
  22791			  "\xa0\x2b\xa9\x42\x03\xf1\x5b\xaa",
  22792		.ctext	= "\xd3\x3d\x3d\x97\x7b\xf0\xa9\x15"
  22793			  "\x59\xf9\x9c\x8a\xcd\x29\x3d\x43",
  22794		.len	= 16,
  22795		.iv_out	= "\x42\x3c\x96\x0d\x8a\x2a\xc4\xc1",
  22796		.generates_iv = true,
  22797	},
  22798};
  22799
  22800/*
  22801 * ANSI X9.31 Continuous Pseudo-Random Number Generator (AES mode)
  22802 * test vectors, taken from Appendix B.2.9 and B.2.10:
  22803 *     http://csrc.nist.gov/groups/STM/cavp/documents/rng/RNGVS.pdf
  22804 * Only AES-128 is supported at this time.
  22805 */
  22806static const struct cprng_testvec ansi_cprng_aes_tv_template[] = {
  22807	{
  22808		.key	= "\xf3\xb1\x66\x6d\x13\x60\x72\x42"
  22809			  "\xed\x06\x1c\xab\xb8\xd4\x62\x02",
  22810		.klen	= 16,
  22811		.dt	= "\xe6\xb3\xbe\x78\x2a\x23\xfa\x62"
  22812			  "\xd7\x1d\x4a\xfb\xb0\xe9\x22\xf9",
  22813		.dtlen	= 16,
  22814		.v	= "\x80\x00\x00\x00\x00\x00\x00\x00"
  22815			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  22816		.vlen	= 16,
  22817		.result	= "\x59\x53\x1e\xd1\x3b\xb0\xc0\x55"
  22818			  "\x84\x79\x66\x85\xc1\x2f\x76\x41",
  22819		.rlen	= 16,
  22820		.loops	= 1,
  22821	}, {
  22822		.key	= "\xf3\xb1\x66\x6d\x13\x60\x72\x42"
  22823			  "\xed\x06\x1c\xab\xb8\xd4\x62\x02",
  22824		.klen	= 16,
  22825		.dt	= "\xe6\xb3\xbe\x78\x2a\x23\xfa\x62"
  22826			  "\xd7\x1d\x4a\xfb\xb0\xe9\x22\xfa",
  22827		.dtlen	= 16,
  22828		.v	= "\xc0\x00\x00\x00\x00\x00\x00\x00"
  22829			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  22830		.vlen	= 16,
  22831		.result	= "\x7c\x22\x2c\xf4\xca\x8f\xa2\x4c"
  22832			  "\x1c\x9c\xb6\x41\xa9\xf3\x22\x0d",
  22833		.rlen	= 16,
  22834		.loops	= 1,
  22835	}, {
  22836		.key	= "\xf3\xb1\x66\x6d\x13\x60\x72\x42"
  22837			  "\xed\x06\x1c\xab\xb8\xd4\x62\x02",
  22838		.klen	= 16,
  22839		.dt	= "\xe6\xb3\xbe\x78\x2a\x23\xfa\x62"
  22840			  "\xd7\x1d\x4a\xfb\xb0\xe9\x22\xfb",
  22841		.dtlen	= 16,
  22842		.v	= "\xe0\x00\x00\x00\x00\x00\x00\x00"
  22843			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  22844		.vlen	= 16,
  22845		.result	= "\x8a\xaa\x00\x39\x66\x67\x5b\xe5"
  22846			  "\x29\x14\x28\x81\xa9\x4d\x4e\xc7",
  22847		.rlen	= 16,
  22848		.loops	= 1,
  22849	}, {
  22850		.key	= "\xf3\xb1\x66\x6d\x13\x60\x72\x42"
  22851			  "\xed\x06\x1c\xab\xb8\xd4\x62\x02",
  22852		.klen	= 16,
  22853		.dt	= "\xe6\xb3\xbe\x78\x2a\x23\xfa\x62"
  22854			  "\xd7\x1d\x4a\xfb\xb0\xe9\x22\xfc",
  22855		.dtlen	= 16,
  22856		.v	= "\xf0\x00\x00\x00\x00\x00\x00\x00"
  22857			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  22858		.vlen	= 16,
  22859		.result	= "\x88\xdd\xa4\x56\x30\x24\x23\xe5"
  22860			  "\xf6\x9d\xa5\x7e\x7b\x95\xc7\x3a",
  22861		.rlen	= 16,
  22862		.loops	= 1,
  22863	}, {
  22864		.key	= "\xf3\xb1\x66\x6d\x13\x60\x72\x42"
  22865			  "\xed\x06\x1c\xab\xb8\xd4\x62\x02",
  22866		.klen	= 16,
  22867		.dt	= "\xe6\xb3\xbe\x78\x2a\x23\xfa\x62"
  22868			  "\xd7\x1d\x4a\xfb\xb0\xe9\x22\xfd",
  22869		.dtlen	= 16,
  22870		.v	= "\xf8\x00\x00\x00\x00\x00\x00\x00"
  22871			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  22872		.vlen	= 16,
  22873		.result	= "\x05\x25\x92\x46\x61\x79\xd2\xcb"
  22874			  "\x78\xc4\x0b\x14\x0a\x5a\x9a\xc8",
  22875		.rlen	= 16,
  22876		.loops	= 1,
  22877	}, {	/* Monte Carlo Test */
  22878		.key	= "\x9f\x5b\x51\x20\x0b\xf3\x34\xb5"
  22879			  "\xd8\x2b\xe8\xc3\x72\x55\xc8\x48",
  22880		.klen	= 16,
  22881		.dt	= "\x63\x76\xbb\xe5\x29\x02\xba\x3b"
  22882			  "\x67\xc9\x25\xfa\x70\x1f\x11\xac",
  22883		.dtlen	= 16,
  22884		.v	= "\x57\x2c\x8e\x76\x87\x26\x47\x97"
  22885			  "\x7e\x74\xfb\xdd\xc4\x95\x01\xd1",
  22886		.vlen	= 16,
  22887		.result	= "\x48\xe9\xbd\x0d\x06\xee\x18\xfb"
  22888			  "\xe4\x57\x90\xd5\xc3\xfc\x9b\x73",
  22889		.rlen	= 16,
  22890		.loops	= 10000,
  22891	},
  22892};
  22893
  22894/*
  22895 * SP800-90A DRBG Test vectors from
  22896 * http://csrc.nist.gov/groups/STM/cavp/documents/drbg/drbgtestvectors.zip
  22897 *
  22898 * Test vectors for DRBG with prediction resistance. All types of DRBGs
  22899 * (Hash, HMAC, CTR) are tested with all permutations of use cases (w/ and
  22900 * w/o personalization string, w/ and w/o additional input string).
  22901 */
  22902static const struct drbg_testvec drbg_pr_sha256_tv_template[] = {
  22903	{
  22904		.entropy = (unsigned char *)
  22905			"\x72\x88\x4c\xcd\x6c\x85\x57\x70\xf7\x0b\x8b\x86"
  22906			"\xc1\xeb\xd2\x4e\x36\x14\xab\x18\xc4\x9c\xc9\xcf"
  22907			"\x1a\xe8\xf7\x7b\x02\x49\x73\xd7\xf1\x42\x7d\xc6"
  22908			"\x3f\x29\x2d\xec\xd3\x66\x51\x3f\x1d\x8d\x5b\x4e",
  22909		.entropylen = 48,
  22910		.entpra = (unsigned char *)
  22911			"\x38\x9c\x91\xfa\xc2\xa3\x46\x89\x56\x08\x3f\x62"
  22912			"\x73\xd5\x22\xa9\x29\x63\x3a\x1d\xe5\x5d\x5e\x4f"
  22913			"\x67\xb0\x67\x7a\x5e\x9e\x0c\x62",
  22914		.entprb = (unsigned char *)
  22915			"\xb2\x8f\x36\xb2\xf6\x8d\x39\x13\xfa\x6c\x66\xcf"
  22916			"\x62\x8a\x7e\x8c\x12\x33\x71\x9c\x69\xe4\xa5\xf0"
  22917			"\x8c\xee\xeb\x9c\xf5\x31\x98\x31",
  22918		.entprlen = 32,
  22919		.expected = (unsigned char *)
  22920			"\x52\x7b\xa3\xad\x71\x77\xa4\x49\x42\x04\x61\xc7"
  22921			"\xf0\xaf\xa5\xfd\xd3\xb3\x0d\x6a\x61\xba\x35\x49"
  22922			"\xbb\xaa\xaf\xe4\x25\x7d\xb5\x48\xaf\x5c\x18\x3d"
  22923			"\x33\x8d\x9d\x45\xdf\x98\xd5\x94\xa8\xda\x92\xfe"
  22924			"\xc4\x3c\x94\x2a\xcf\x7f\x7b\xf2\xeb\x28\xa9\xf1"
  22925			"\xe0\x86\x30\xa8\xfe\xf2\x48\x90\x91\x0c\x75\xb5"
  22926			"\x3c\x00\xf0\x4d\x09\x4f\x40\xa7\xa2\x8c\x52\xdf"
  22927			"\x52\xef\x17\xbf\x3d\xd1\xa2\x31\xb4\xb8\xdc\xe6"
  22928			"\x5b\x0d\x1f\x78\x36\xb4\xe6\x4b\xa7\x11\x25\xd5"
  22929			"\x94\xc6\x97\x36\xab\xf0\xe5\x31\x28\x6a\xbb\xce"
  22930			"\x30\x81\xa6\x8f\x27\x14\xf8\x1c",
  22931		.expectedlen = 128,
  22932		.addtla = NULL,
  22933		.addtlb = NULL,
  22934		.addtllen = 0,
  22935		.pers = NULL,
  22936		.perslen = 0,
  22937	}, {
  22938		.entropy = (unsigned char *)
  22939			"\x5d\xf2\x14\xbc\xf6\xb5\x4e\x0b\xf0\x0d\x6f\x2d"
  22940			"\xe2\x01\x66\x7b\xd0\xa4\x73\xa4\x21\xdd\xb0\xc0"
  22941			"\x51\x79\x09\xf4\xea\xa9\x08\xfa\xa6\x67\xe0\xe1"
  22942			"\xd1\x88\xa8\xad\xee\x69\x74\xb3\x55\x06\x9b\xf6",
  22943		.entropylen = 48,
  22944		.entpra = (unsigned char *)
  22945			"\xef\x48\x06\xa2\xc2\x45\xf1\x44\xfa\x34\x2c\xeb"
  22946			"\x8d\x78\x3c\x09\x8f\x34\x72\x20\xf2\xe7\xfd\x13"
  22947			"\x76\x0a\xf6\xdc\x3c\xf5\xc0\x15",
  22948		.entprb = (unsigned char *)
  22949			"\x4b\xbe\xe5\x24\xed\x6a\x2d\x0c\xdb\x73\x5e\x09"
  22950			"\xf9\xad\x67\x7c\x51\x47\x8b\x6b\x30\x2a\xc6\xde"
  22951			"\x76\xaa\x55\x04\x8b\x0a\x72\x95",
  22952		.entprlen = 32,
  22953		.expected = (unsigned char *)
  22954			"\x3b\x14\x71\x99\xa1\xda\xa0\x42\xe6\xc8\x85\x32"
  22955			"\x70\x20\x32\x53\x9a\xbe\xd1\x1e\x15\xef\xfb\x4c"
  22956			"\x25\x6e\x19\x3a\xf0\xb9\xcb\xde\xf0\x3b\xc6\x18"
  22957			"\x4d\x85\x5a\x9b\xf1\xe3\xc2\x23\x03\x93\x08\xdb"
  22958			"\xa7\x07\x4b\x33\x78\x40\x4d\xeb\x24\xf5\x6e\x81"
  22959			"\x4a\x1b\x6e\xa3\x94\x52\x43\xb0\xaf\x2e\x21\xf4"
  22960			"\x42\x46\x8e\x90\xed\x34\x21\x75\xea\xda\x67\xb6"
  22961			"\xe4\xf6\xff\xc6\x31\x6c\x9a\x5a\xdb\xb3\x97\x13"
  22962			"\x09\xd3\x20\x98\x33\x2d\x6d\xd7\xb5\x6a\xa8\xa9"
  22963			"\x9a\x5b\xd6\x87\x52\xa1\x89\x2b\x4b\x9c\x64\x60"
  22964			"\x50\x47\xa3\x63\x81\x16\xaf\x19",
  22965		.expectedlen = 128,
  22966		.addtla = (unsigned char *)
  22967			"\xbe\x13\xdb\x2a\xe9\xa8\xfe\x09\x97\xe1\xce\x5d"
  22968			"\xe8\xbb\xc0\x7c\x4f\xcb\x62\x19\x3f\x0f\xd2\xad"
  22969			"\xa9\xd0\x1d\x59\x02\xc4\xff\x70",
  22970		.addtlb = (unsigned char *)
  22971			"\x6f\x96\x13\xe2\xa7\xf5\x6c\xfe\xdf\x66\xe3\x31"
  22972			"\x63\x76\xbf\x20\x27\x06\x49\xf1\xf3\x01\x77\x41"
  22973			"\x9f\xeb\xe4\x38\xfe\x67\x00\xcd",
  22974		.addtllen = 32,
  22975		.pers = NULL,
  22976		.perslen = 0,
  22977	}, {
  22978		.entropy = (unsigned char *)
  22979			"\xc6\x1c\xaf\x83\xa2\x56\x38\xf9\xb0\xbc\xd9\x85"
  22980			"\xf5\x2e\xc4\x46\x9c\xe1\xb9\x40\x98\x70\x10\x72"
  22981			"\xd7\x7d\x15\x85\xa1\x83\x5a\x97\xdf\xc8\xa8\xe8"
  22982			"\x03\x4c\xcb\x70\x35\x8b\x90\x94\x46\x8a\x6e\xa1",
  22983		.entropylen = 48,
  22984		.entpra = (unsigned char *)
  22985			"\xc9\x05\xa4\xcf\x28\x80\x4b\x93\x0f\x8b\xc6\xf9"
  22986			"\x09\x41\x58\x74\xe9\xec\x28\xc7\x53\x0a\x73\x60"
  22987			"\xba\x0a\xde\x57\x5b\x4b\x9f\x29",
  22988		.entprb = (unsigned char *)
  22989			"\x4f\x31\xd2\xeb\xac\xfa\xa8\xe2\x01\x7d\xf3\xbd"
  22990			"\x42\xbd\x20\xa0\x30\x65\x74\xd5\x5d\xd2\xad\xa4"
  22991			"\xa9\xeb\x1f\x4d\xf6\xfd\xb8\x26",
  22992		.entprlen = 32,
  22993		.expected = (unsigned char *)
  22994			"\xf6\x13\x05\xcb\x83\x60\x16\x42\x49\x1d\xc6\x25"
  22995			"\x3b\x8c\x31\xa3\xbe\x8b\xbd\x1c\xe2\xec\x1d\xde"
  22996			"\xbb\xbf\xa1\xac\xa8\x9f\x50\xce\x69\xce\xef\xd5"
  22997			"\xd6\xf2\xef\x6a\xf7\x81\x38\xdf\xbc\xa7\x5a\xb9"
  22998			"\xb2\x42\x65\xab\xe4\x86\x8d\x2d\x9d\x59\x99\x2c"
  22999			"\x5a\x0d\x71\x55\x98\xa4\x45\xc2\x8d\xdb\x05\x5e"
  23000			"\x50\x21\xf7\xcd\xe8\x98\x43\xce\x57\x74\x63\x4c"
  23001			"\xf3\xb1\xa5\x14\x1e\x9e\x01\xeb\x54\xd9\x56\xae"
  23002			"\xbd\xb6\x6f\x1a\x47\x6b\x3b\x44\xe4\xa2\xe9\x3c"
  23003			"\x6c\x83\x12\x30\xb8\x78\x7f\x8e\x54\x82\xd4\xfe"
  23004			"\x90\x35\x0d\x4c\x4d\x85\xe7\x13",
  23005		.expectedlen = 128,
  23006		.addtla = NULL,
  23007		.addtlb = NULL,
  23008		.addtllen = 0,
  23009		.pers = (unsigned char *)
  23010			"\xa5\xbf\xac\x4f\x71\xa1\xbb\x67\x94\xc6\x50\xc7"
  23011			"\x2a\x45\x9e\x10\xa8\xed\xf7\x52\x4f\xfe\x21\x90"
  23012			"\xa4\x1b\xe1\xe2\x53\xcc\x61\x47",
  23013		.perslen = 32,
  23014	}, {
  23015		.entropy = (unsigned char *)
  23016			"\xb6\xc1\x8d\xdf\x99\x54\xbe\x95\x10\x48\xd9\xf6"
  23017			"\xd7\x48\xa8\x73\x2d\x74\xde\x1e\xde\x57\x7e\xf4"
  23018			"\x7b\x7b\x64\xef\x88\x7a\xa8\x10\x4b\xe1\xc1\x87"
  23019			"\xbb\x0b\xe1\x39\x39\x50\xaf\x68\x9c\xa2\xbf\x5e",
  23020		.entropylen = 48,
  23021		.entpra = (unsigned char *)
  23022			"\xdc\x81\x0a\x01\x58\xa7\x2e\xce\xee\x48\x8c\x7c"
  23023			"\x77\x9e\x3c\xf1\x17\x24\x7a\xbb\xab\x9f\xca\x12"
  23024			"\x19\xaf\x97\x2d\x5f\xf9\xff\xfc",
  23025		.entprb = (unsigned char *)
  23026			"\xaf\xfc\x4f\x98\x8b\x93\x95\xc1\xb5\x8b\x7f\x73"
  23027			"\x6d\xa6\xbe\x6d\x33\xeb\x2c\x82\xb1\xaf\xc1\xb6"
  23028			"\xb6\x05\xe2\x44\xaa\xfd\xe7\xdb",
  23029		.entprlen = 32,
  23030		.expected = (unsigned char *)
  23031			"\x51\x79\xde\x1c\x0f\x58\xf3\xf4\xc9\x57\x2e\x31"
  23032			"\xa7\x09\xa1\x53\x64\x63\xa2\xc5\x1d\x84\x88\x65"
  23033			"\x01\x1b\xc6\x16\x3c\x49\x5b\x42\x8e\x53\xf5\x18"
  23034			"\xad\x94\x12\x0d\x4f\x55\xcc\x45\x5c\x98\x0f\x42"
  23035			"\x28\x2f\x47\x11\xf9\xc4\x01\x97\x6b\xa0\x94\x50"
  23036			"\xa9\xd1\x5e\x06\x54\x3f\xdf\xbb\xc4\x98\xee\x8b"
  23037			"\xba\xa9\xfa\x49\xee\x1d\xdc\xfb\x50\xf6\x51\x9f"
  23038			"\x6c\x4a\x9a\x6f\x63\xa2\x7d\xad\xaf\x3a\x24\xa0"
  23039			"\xd9\x9f\x07\xeb\x15\xee\x26\xe0\xd5\x63\x39\xda"
  23040			"\x3c\x59\xd6\x33\x6c\x02\xe8\x05\x71\x46\x68\x44"
  23041			"\x63\x4a\x68\x72\xe9\xf5\x55\xfe",
  23042		.expectedlen = 128,
  23043		.addtla = (unsigned char *)
  23044			"\x15\x20\x2f\xf6\x98\x28\x63\xa2\xc4\x4e\xbb\x6c"
  23045			"\xb2\x25\x92\x61\x79\xc9\x22\xc4\x61\x54\x96\xff"
  23046			"\x4a\x85\xca\x80\xfe\x0d\x1c\xd0",
  23047		.addtlb = (unsigned char *)
  23048			"\xde\x29\x8e\x03\x42\x61\xa3\x28\x5e\xc8\x80\xc2"
  23049			"\x6d\xbf\xad\x13\xe1\x8d\x2a\xc7\xe8\xc7\x18\x89"
  23050			"\x42\x58\x9e\xd6\xcc\xad\x7b\x1e",
  23051		.addtllen = 32,
  23052		.pers = (unsigned char *)
  23053			"\x84\xc3\x73\x9e\xce\xb3\xbc\x89\xf7\x62\xb3\xe1"
  23054			"\xd7\x48\x45\x8a\xa9\xcc\xe9\xed\xd5\x81\x84\x52"
  23055			"\x82\x4c\xdc\x19\xb8\xf8\x92\x5c",
  23056		.perslen = 32,
  23057	},
  23058};
  23059
  23060static const struct drbg_testvec drbg_pr_hmac_sha256_tv_template[] = {
  23061	{
  23062		.entropy = (unsigned char *)
  23063			"\x99\x69\xe5\x4b\x47\x03\xff\x31\x78\x5b\x87\x9a"
  23064			"\x7e\x5c\x0e\xae\x0d\x3e\x30\x95\x59\xe9\xfe\x96"
  23065			"\xb0\x67\x6d\x49\xd5\x91\xea\x4d\x07\xd2\x0d\x46"
  23066			"\xd0\x64\x75\x7d\x30\x23\xca\xc2\x37\x61\x27\xab",
  23067		.entropylen = 48,
  23068		.entpra = (unsigned char *)
  23069			"\xc6\x0f\x29\x99\x10\x0f\x73\x8c\x10\xf7\x47\x92"
  23070			"\x67\x6a\x3f\xc4\xa2\x62\xd1\x37\x21\x79\x80\x46"
  23071			"\xe2\x9a\x29\x51\x81\x56\x9f\x54",
  23072		.entprb = (unsigned char *)
  23073			"\xc1\x1d\x45\x24\xc9\x07\x1b\xd3\x09\x60\x15\xfc"
  23074			"\xf7\xbc\x24\xa6\x07\xf2\x2f\xa0\x65\xc9\x37\x65"
  23075			"\x8a\x2a\x77\xa8\x69\x90\x89\xf4",
  23076		.entprlen = 32,
  23077		.expected = (unsigned char *)
  23078			"\xab\xc0\x15\x85\x60\x94\x80\x3a\x93\x8d\xff\xd2"
  23079			"\x0d\xa9\x48\x43\x87\x0e\xf9\x35\xb8\x2c\xfe\xc1"
  23080			"\x77\x06\xb8\xf5\x51\xb8\x38\x50\x44\x23\x5d\xd4"
  23081			"\x4b\x59\x9f\x94\xb3\x9b\xe7\x8d\xd4\x76\xe0\xcf"
  23082			"\x11\x30\x9c\x99\x5a\x73\x34\xe0\xa7\x8b\x37\xbc"
  23083			"\x95\x86\x23\x50\x86\xfa\x3b\x63\x7b\xa9\x1c\xf8"
  23084			"\xfb\x65\xef\xa2\x2a\x58\x9c\x13\x75\x31\xaa\x7b"
  23085			"\x2d\x4e\x26\x07\xaa\xc2\x72\x92\xb0\x1c\x69\x8e"
  23086			"\x6e\x01\xae\x67\x9e\xb8\x7c\x01\xa8\x9c\x74\x22"
  23087			"\xd4\x37\x2d\x6d\x75\x4a\xba\xbb\x4b\xf8\x96\xfc"
  23088			"\xb1\xcd\x09\xd6\x92\xd0\x28\x3f",
  23089		.expectedlen = 128,
  23090		.addtla = NULL,
  23091		.addtlb = NULL,
  23092		.addtllen = 0,
  23093		.pers = NULL,
  23094		.perslen = 0,
  23095	}, {
  23096		.entropy = (unsigned char *)
  23097			"\xb9\x1f\xe9\xef\xdd\x9b\x7d\x20\xb6\xec\xe0\x2f"
  23098			"\xdb\x76\x24\xce\x41\xc8\x3a\x4a\x12\x7f\x3e\x2f"
  23099			"\xae\x05\x99\xea\xb5\x06\x71\x0d\x0c\x4c\xb4\x05"
  23100			"\x26\xc6\xbd\xf5\x7f\x2a\x3d\xf2\xb5\x49\x7b\xda",
  23101		.entropylen = 48,
  23102		.entpra = (unsigned char *)
  23103			"\xef\x67\x50\x9c\xa7\x7d\xdf\xb7\x2d\x81\x01\xa4"
  23104			"\x62\x81\x6a\x69\x5b\xb3\x37\x45\xa7\x34\x8e\x26"
  23105			"\x46\xd9\x26\xa2\x19\xd4\x94\x43",
  23106		.entprb = (unsigned char *)
  23107			"\x97\x75\x53\x53\xba\xb4\xa6\xb2\x91\x60\x71\x79"
  23108			"\xd1\x6b\x4a\x24\x9a\x34\x66\xcc\x33\xab\x07\x98"
  23109			"\x51\x78\x72\xb2\x79\xfd\x2c\xff",
  23110		.entprlen = 32,
  23111		.expected = (unsigned char *)
  23112			"\x9c\xdc\x63\x8a\x19\x23\x22\x66\x0c\xc5\xb9\xd7"
  23113			"\xfb\x2a\xb0\x31\xe3\x8a\x36\xa8\x5a\xa8\x14\xda"
  23114			"\x1e\xa9\xcc\xfe\xb8\x26\x44\x83\x9f\xf6\xff\xaa"
  23115			"\xc8\x98\xb8\x30\x35\x3b\x3d\x36\xd2\x49\xd4\x40"
  23116			"\x62\x0a\x65\x10\x76\x55\xef\xc0\x95\x9c\xa7\xda"
  23117			"\x3f\xcf\xb7\x7b\xc6\xe1\x28\x52\xfc\x0c\xe2\x37"
  23118			"\x0d\x83\xa7\x51\x4b\x31\x47\x3c\xe1\x3c\xae\x70"
  23119			"\x01\xc8\xa3\xd3\xc2\xac\x77\x9c\xd1\x68\x77\x9b"
  23120			"\x58\x27\x3b\xa5\x0f\xc2\x7a\x8b\x04\x65\x62\xd5"
  23121			"\xe8\xd6\xfe\x2a\xaf\xd3\xd3\xfe\xbd\x18\xfb\xcd"
  23122			"\xcd\x66\xb5\x01\x69\x66\xa0\x3c",
  23123		.expectedlen = 128,
  23124		.addtla = (unsigned char *)
  23125			"\x17\xc1\x56\xcb\xcc\x50\xd6\x03\x7d\x45\x76\xa3"
  23126			"\x75\x76\xc1\x4a\x66\x1b\x2e\xdf\xb0\x2e\x7d\x56"
  23127			"\x6d\x99\x3b\xc6\x58\xda\x03\xf6",
  23128		.addtlb = (unsigned char *)
  23129			"\x7c\x7b\x4a\x4b\x32\x5e\x6f\x67\x34\xf5\x21\x4c"
  23130			"\xf9\x96\xf9\xbf\x1c\x8c\x81\xd3\x9b\x60\x6a\x44"
  23131			"\xc6\x03\xa2\xfb\x13\x20\x19\xb7",
  23132		.addtllen = 32,
  23133		.pers = NULL,
  23134		.perslen = 0,
  23135	}, {
  23136		.entropy = (unsigned char *)
  23137			"\x13\x54\x96\xfc\x1b\x7d\x28\xf3\x18\xc9\xa7\x89"
  23138			"\xb6\xb3\xc8\x72\xac\x00\xd4\x59\x36\x25\x05\xaf"
  23139			"\xa5\xdb\x96\xcb\x3c\x58\x46\x87\xa5\xaa\xbf\x20"
  23140			"\x3b\xfe\x23\x0e\xd1\xc7\x41\x0f\x3f\xc9\xb3\x67",
  23141		.entropylen = 48,
  23142		.entpra = (unsigned char *)
  23143			"\xe2\xbd\xb7\x48\x08\x06\xf3\xe1\x93\x3c\xac\x79"
  23144			"\xa7\x2b\x11\xda\xe3\x2e\xe1\x91\xa5\x02\x19\x57"
  23145			"\x20\x28\xad\xf2\x60\xd7\xcd\x45",
  23146		.entprb = (unsigned char *)
  23147			"\x8b\xd4\x69\xfc\xff\x59\x95\x95\xc6\x51\xde\x71"
  23148			"\x68\x5f\xfc\xf9\x4a\xab\xec\x5a\xcb\xbe\xd3\x66"
  23149			"\x1f\xfa\x74\xd3\xac\xa6\x74\x60",
  23150		.entprlen = 32,
  23151		.expected = (unsigned char *)
  23152			"\x1f\x9e\xaf\xe4\xd2\x46\xb7\x47\x41\x4c\x65\x99"
  23153			"\x01\xe9\x3b\xbb\x83\x0c\x0a\xb0\xc1\x3a\xe2\xb3"
  23154			"\x31\x4e\xeb\x93\x73\xee\x0b\x26\xc2\x63\xa5\x75"
  23155			"\x45\x99\xd4\x5c\x9f\xa1\xd4\x45\x87\x6b\x20\x61"
  23156			"\x40\xea\x78\xa5\x32\xdf\x9e\x66\x17\xaf\xb1\x88"
  23157			"\x9e\x2e\x23\xdd\xc1\xda\x13\x97\x88\xa5\xb6\x5e"
  23158			"\x90\x14\x4e\xef\x13\xab\x5c\xd9\x2c\x97\x9e\x7c"
  23159			"\xd7\xf8\xce\xea\x81\xf5\xcd\x71\x15\x49\x44\xce"
  23160			"\x83\xb6\x05\xfb\x7d\x30\xb5\x57\x2c\x31\x4f\xfc"
  23161			"\xfe\x80\xb6\xc0\x13\x0c\x5b\x9b\x2e\x8f\x3d\xfc"
  23162			"\xc2\xa3\x0c\x11\x1b\x80\x5f\xf3",
  23163		.expectedlen = 128,
  23164		.addtla = NULL,
  23165		.addtlb = NULL,
  23166		.addtllen = 0,
  23167		.pers = (unsigned char *)
  23168			"\x64\xb6\xfc\x60\xbc\x61\x76\x23\x6d\x3f\x4a\x0f"
  23169			"\xe1\xb4\xd5\x20\x9e\x70\xdd\x03\x53\x6d\xbf\xce"
  23170			"\xcd\x56\x80\xbc\xb8\x15\xc8\xaa",
  23171		.perslen = 32,
  23172	}, {
  23173		.entropy = (unsigned char *)
  23174			"\xc7\xcc\xbc\x67\x7e\x21\x66\x1e\x27\x2b\x63\xdd"
  23175			"\x3a\x78\xdc\xdf\x66\x6d\x3f\x24\xae\xcf\x37\x01"
  23176			"\xa9\x0d\x89\x8a\xa7\xdc\x81\x58\xae\xb2\x10\x15"
  23177			"\x7e\x18\x44\x6d\x13\xea\xdf\x37\x85\xfe\x81\xfb",
  23178		.entropylen = 48,
  23179		.entpra = (unsigned char *)
  23180			"\x7b\xa1\x91\x5b\x3c\x04\xc4\x1b\x1d\x19\x2f\x1a"
  23181			"\x18\x81\x60\x3c\x6c\x62\x91\xb7\xe9\xf5\xcb\x96"
  23182			"\xbb\x81\x6a\xcc\xb5\xae\x55\xb6",
  23183		.entprb = (unsigned char *)
  23184			"\x99\x2c\xc7\x78\x7e\x3b\x88\x12\xef\xbe\xd3\xd2"
  23185			"\x7d\x2a\xa5\x86\xda\x8d\x58\x73\x4a\x0a\xb2\x2e"
  23186			"\xbb\x4c\x7e\xe3\x9a\xb6\x81\xc1",
  23187		.entprlen = 32,
  23188		.expected = (unsigned char *)
  23189			"\x95\x6f\x95\xfc\x3b\xb7\xfe\x3e\xd0\x4e\x1a\x14"
  23190			"\x6c\x34\x7f\x7b\x1d\x0d\x63\x5e\x48\x9c\x69\xe6"
  23191			"\x46\x07\xd2\x87\xf3\x86\x52\x3d\x98\x27\x5e\xd7"
  23192			"\x54\xe7\x75\x50\x4f\xfb\x4d\xfd\xac\x2f\x4b\x77"
  23193			"\xcf\x9e\x8e\xcc\x16\xa2\x24\xcd\x53\xde\x3e\xc5"
  23194			"\x55\x5d\xd5\x26\x3f\x89\xdf\xca\x8b\x4e\x1e\xb6"
  23195			"\x88\x78\x63\x5c\xa2\x63\x98\x4e\x6f\x25\x59\xb1"
  23196			"\x5f\x2b\x23\xb0\x4b\xa5\x18\x5d\xc2\x15\x74\x40"
  23197			"\x59\x4c\xb4\x1e\xcf\x9a\x36\xfd\x43\xe2\x03\xb8"
  23198			"\x59\x91\x30\x89\x2a\xc8\x5a\x43\x23\x7c\x73\x72"
  23199			"\xda\x3f\xad\x2b\xba\x00\x6b\xd1",
  23200		.expectedlen = 128,
  23201		.addtla = (unsigned char *)
  23202			"\x18\xe8\x17\xff\xef\x39\xc7\x41\x5c\x73\x03\x03"
  23203			"\xf6\x3d\xe8\x5f\xc8\xab\xe4\xab\x0f\xad\xe8\xd6"
  23204			"\x86\x88\x55\x28\xc1\x69\xdd\x76",
  23205		.addtlb = (unsigned char *)
  23206			"\xac\x07\xfc\xbe\x87\x0e\xd3\xea\x1f\x7e\xb8\xe7"
  23207			"\x9d\xec\xe8\xe7\xbc\xf3\x18\x25\x77\x35\x4a\xaa"
  23208			"\x00\x99\x2a\xdd\x0a\x00\x50\x82",
  23209		.addtllen = 32,
  23210		.pers = (unsigned char *)
  23211			"\xbc\x55\xab\x3c\xf6\x52\xb0\x11\x3d\x7b\x90\xb8"
  23212			"\x24\xc9\x26\x4e\x5a\x1e\x77\x0d\x3d\x58\x4a\xda"
  23213			"\xd1\x81\xe9\xf8\xeb\x30\x8f\x6f",
  23214		.perslen = 32,
  23215	},
  23216};
  23217
  23218static const struct drbg_testvec drbg_pr_ctr_aes128_tv_template[] = {
  23219	{
  23220		.entropy = (unsigned char *)
  23221			"\xd1\x44\xc6\x61\x81\x6d\xca\x9d\x15\x28\x8a\x42"
  23222			"\x94\xd7\x28\x9c\x43\x77\x19\x29\x1a\x6d\xc3\xa2",
  23223		.entropylen = 24,
  23224		.entpra = (unsigned char *)
  23225			"\x96\xd8\x9e\x45\x32\xc9\xd2\x08\x7a\x6d\x97\x15"
  23226			"\xb4\xec\x80\xb1",
  23227		.entprb = (unsigned char *)
  23228			"\x8b\xb6\x72\xb5\x24\x0b\x98\x65\x95\x95\xe9\xc9"
  23229			"\x28\x07\xeb\xc2",
  23230		.entprlen = 16,
  23231		.expected = (unsigned char *)
  23232			"\x70\x19\xd0\x4c\x45\x78\xd6\x68\xa9\x9a\xaa\xfe"
  23233			"\xc1\xdf\x27\x9a\x1c\x0d\x0d\xf7\x24\x75\x46\xcc"
  23234			"\x77\x6b\xdf\x89\xc6\x94\xdc\x74\x50\x10\x70\x18"
  23235			"\x9b\xdc\x96\xb4\x89\x23\x40\x1a\xce\x09\x87\xce"
  23236			"\xd2\xf3\xd5\xe4\x51\x67\x74\x11\x5a\xcc\x8b\x3b"
  23237			"\x8a\xf1\x23\xa8",
  23238		.expectedlen = 64,
  23239		.addtla = NULL,
  23240		.addtlb = NULL,
  23241		.addtllen = 0,
  23242		.pers = NULL,
  23243		.perslen = 0,
  23244	}, {
  23245		.entropy = (unsigned char *)
  23246			"\x8e\x83\xe0\xeb\x37\xea\x3e\x53\x5e\x17\x6e\x77"
  23247			"\xbd\xb1\x53\x90\xfc\xdc\xc1\x3c\x9a\x88\x22\x94",
  23248		.entropylen = 24,
  23249		.entpra = (unsigned char *)
  23250			"\x6a\x85\xe7\x37\xc8\xf1\x04\x31\x98\x4f\xc8\x73"
  23251			"\x67\xd1\x08\xf8",
  23252		.entprb = (unsigned char *)
  23253			"\xd7\xa4\x68\xe2\x12\x74\xc3\xd9\xf1\xb7\x05\xbc"
  23254			"\xd4\xba\x04\x58",
  23255		.entprlen = 16,
  23256		.expected = (unsigned char *)
  23257			"\x78\xd6\xa6\x70\xff\xd1\x82\xf5\xa2\x88\x7f\x6d"
  23258			"\x3d\x8c\x39\xb1\xa8\xcb\x2c\x91\xab\x14\x7e\xbc"
  23259			"\x95\x45\x9f\x24\xb8\x20\xac\x21\x23\xdb\x72\xd7"
  23260			"\x12\x8d\x48\x95\xf3\x19\x0c\x43\xc6\x19\x45\xfc"
  23261			"\x8b\xac\x40\x29\x73\x00\x03\x45\x5e\x12\xff\x0c"
  23262			"\xc1\x02\x41\x82",
  23263		.expectedlen = 64,
  23264		.addtla = (unsigned char *)
  23265			"\xa2\xd9\x38\xcf\x8b\x29\x67\x5b\x65\x62\x6f\xe8"
  23266			"\xeb\xb3\x01\x76",
  23267		.addtlb = (unsigned char *)
  23268			"\x59\x63\x1e\x81\x8a\x14\xa8\xbb\xa1\xb8\x41\x25"
  23269			"\xd0\x7f\xcc\x43",
  23270		.addtllen = 16,
  23271		.pers = NULL,
  23272		.perslen = 0,
  23273	}, {
  23274		.entropy = (unsigned char *)
  23275			"\x04\xd9\x49\xa6\xdc\xe8\x6e\xbb\xf1\x08\x77\x2b"
  23276			"\x9e\x08\xca\x92\x65\x16\xda\x99\xa2\x59\xf3\xe8",
  23277		.entropylen = 24,
  23278		.entpra = (unsigned char *)
  23279			"\x38\x7e\x3f\x6b\x51\x70\x7b\x20\xec\x53\xd0\x66"
  23280			"\xc3\x0f\xe3\xb0",
  23281		.entprb = (unsigned char *)
  23282			"\xe0\x86\xa6\xaa\x5f\x72\x2f\xad\xf7\xef\x06\xb8"
  23283			"\xd6\x9c\x9d\xe8",
  23284		.entprlen = 16,
  23285		.expected = (unsigned char *)
  23286			"\xc9\x0a\xaf\x85\x89\x71\x44\x66\x4f\x25\x0b\x2b"
  23287			"\xde\xd8\xfa\xff\x52\x5a\x1b\x32\x5e\x41\x7a\x10"
  23288			"\x1f\xef\x1e\x62\x23\xe9\x20\x30\xc9\x0d\xad\x69"
  23289			"\xb4\x9c\x5b\xf4\x87\x42\xd5\xae\x5e\x5e\x43\xcc"
  23290			"\xd9\xfd\x0b\x93\x4a\xe3\xd4\x06\x37\x36\x0f\x3f"
  23291			"\x72\x82\x0c\xcf",
  23292		.expectedlen = 64,
  23293		.addtla = NULL,
  23294		.addtlb = NULL,
  23295		.addtllen = 0,
  23296		.pers = (unsigned char *)
  23297			"\xbf\xa4\x9a\x8f\x7b\xd8\xb1\x7a\x9d\xfa\x45\xed"
  23298			"\x21\x52\xb3\xad",
  23299		.perslen = 16,
  23300	}, {
  23301		.entropy = (unsigned char *)
  23302			"\x92\x89\x8f\x31\xfa\x1c\xff\x6d\x18\x2f\x26\x06"
  23303			"\x43\xdf\xf8\x18\xc2\xa4\xd9\x72\xc3\xb9\xb6\x97",
  23304		.entropylen = 24,
  23305		.entpra = (unsigned char *)
  23306			"\x20\x72\x8a\x06\xf8\x6f\x8d\xd4\x41\xe2\x72\xb7"
  23307			"\xc4\x2c\xe8\x10",
  23308		.entprb = (unsigned char *)
  23309			"\x3d\xb0\xf0\x94\xf3\x05\x50\x33\x17\x86\x3e\x22"
  23310			"\x08\xf7\xa5\x01",
  23311		.entprlen = 16,
  23312		.expected = (unsigned char *)
  23313			"\x5a\x35\x39\x87\x0f\x4d\x22\xa4\x09\x24\xee\x71"
  23314			"\xc9\x6f\xac\x72\x0a\xd6\xf0\x88\x82\xd0\x83\x28"
  23315			"\x73\xec\x3f\x93\xd8\xab\x45\x23\xf0\x7e\xac\x45"
  23316			"\x14\x5e\x93\x9f\xb1\xd6\x76\x43\x3d\xb6\xe8\x08"
  23317			"\x88\xf6\xda\x89\x08\x77\x42\xfe\x1a\xf4\x3f\xc4"
  23318			"\x23\xc5\x1f\x68",
  23319		.expectedlen = 64,
  23320		.addtla = (unsigned char *)
  23321			"\x1a\x40\xfa\xe3\xcc\x6c\x7c\xa0\xf8\xda\xba\x59"
  23322			"\x23\x6d\xad\x1d",
  23323		.addtlb = (unsigned char *)
  23324			"\x9f\x72\x76\x6c\xc7\x46\xe5\xed\x2e\x53\x20\x12"
  23325			"\xbc\x59\x31\x8c",
  23326		.addtllen = 16,
  23327		.pers = (unsigned char *)
  23328			"\xea\x65\xee\x60\x26\x4e\x7e\xb6\x0e\x82\x68\xc4"
  23329			"\x37\x3c\x5c\x0b",
  23330		.perslen = 16,
  23331	},
  23332};
  23333
  23334/*
  23335 * SP800-90A DRBG Test vectors from
  23336 * http://csrc.nist.gov/groups/STM/cavp/documents/drbg/drbgtestvectors.zip
  23337 *
  23338 * Test vectors for DRBG without prediction resistance. All types of DRBGs
  23339 * (Hash, HMAC, CTR) are tested with all permutations of use cases (w/ and
  23340 * w/o personalization string, w/ and w/o additional input string).
  23341 */
  23342static const struct drbg_testvec drbg_nopr_sha256_tv_template[] = {
  23343	{
  23344		.entropy = (unsigned char *)
  23345			"\xa6\x5a\xd0\xf3\x45\xdb\x4e\x0e\xff\xe8\x75\xc3"
  23346			"\xa2\xe7\x1f\x42\xc7\x12\x9d\x62\x0f\xf5\xc1\x19"
  23347			"\xa9\xef\x55\xf0\x51\x85\xe0\xfb\x85\x81\xf9\x31"
  23348			"\x75\x17\x27\x6e\x06\xe9\x60\x7d\xdb\xcb\xcc\x2e",
  23349		.entropylen = 48,
  23350		.expected = (unsigned char *)
  23351			"\xd3\xe1\x60\xc3\x5b\x99\xf3\x40\xb2\x62\x82\x64"
  23352			"\xd1\x75\x10\x60\xe0\x04\x5d\xa3\x83\xff\x57\xa5"
  23353			"\x7d\x73\xa6\x73\xd2\xb8\xd8\x0d\xaa\xf6\xa6\xc3"
  23354			"\x5a\x91\xbb\x45\x79\xd7\x3f\xd0\xc8\xfe\xd1\x11"
  23355			"\xb0\x39\x13\x06\x82\x8a\xdf\xed\x52\x8f\x01\x81"
  23356			"\x21\xb3\xfe\xbd\xc3\x43\xe7\x97\xb8\x7d\xbb\x63"
  23357			"\xdb\x13\x33\xde\xd9\xd1\xec\xe1\x77\xcf\xa6\xb7"
  23358			"\x1f\xe8\xab\x1d\xa4\x66\x24\xed\x64\x15\xe5\x1c"
  23359			"\xcd\xe2\xc7\xca\x86\xe2\x83\x99\x0e\xea\xeb\x91"
  23360			"\x12\x04\x15\x52\x8b\x22\x95\x91\x02\x81\xb0\x2d"
  23361			"\xd4\x31\xf4\xc9\xf7\x04\x27\xdf",
  23362		.expectedlen = 128,
  23363		.addtla = NULL,
  23364		.addtlb = NULL,
  23365		.addtllen = 0,
  23366		.pers = NULL,
  23367		.perslen = 0,
  23368	}, {
  23369		.entropy = (unsigned char *)
  23370			"\x73\xd3\xfb\xa3\x94\x5f\x2b\x5f\xb9\x8f\xf6\x9c"
  23371			"\x8a\x93\x17\xae\x19\xc3\x4c\xc3\xd6\xca\xa3\x2d"
  23372			"\x16\xfc\x42\xd2\x2d\xd5\x6f\x56\xcc\x1d\x30\xff"
  23373			"\x9e\x06\x3e\x09\xce\x58\xe6\x9a\x35\xb3\xa6\x56",
  23374		.entropylen = 48,
  23375		.expected = (unsigned char *)
  23376			"\x71\x7b\x93\x46\x1a\x40\xaa\x35\xa4\xaa\xc5\xe7"
  23377			"\x6d\x5b\x5b\x8a\xa0\xdf\x39\x7d\xae\x71\x58\x5b"
  23378			"\x3c\x7c\xb4\xf0\x89\xfa\x4a\x8c\xa9\x5c\x54\xc0"
  23379			"\x40\xdf\xbc\xce\x26\x81\x34\xf8\xba\x7d\x1c\xe8"
  23380			"\xad\x21\xe0\x74\xcf\x48\x84\x30\x1f\xa1\xd5\x4f"
  23381			"\x81\x42\x2f\xf4\xdb\x0b\x23\xf8\x73\x27\xb8\x1d"
  23382			"\x42\xf8\x44\x58\xd8\x5b\x29\x27\x0a\xf8\x69\x59"
  23383			"\xb5\x78\x44\xeb\x9e\xe0\x68\x6f\x42\x9a\xb0\x5b"
  23384			"\xe0\x4e\xcb\x6a\xaa\xe2\xd2\xd5\x33\x25\x3e\xe0"
  23385			"\x6c\xc7\x6a\x07\xa5\x03\x83\x9f\xe2\x8b\xd1\x1c"
  23386			"\x70\xa8\x07\x59\x97\xeb\xf6\xbe",
  23387		.expectedlen = 128,
  23388		.addtla = (unsigned char *)
  23389			"\xf4\xd5\x98\x3d\xa8\xfc\xfa\x37\xb7\x54\x67\x73"
  23390			"\xc7\xc3\xdd\x47\x34\x71\x02\x5d\xc1\xa0\xd3\x10"
  23391			"\xc1\x8b\xbd\xf5\x66\x34\x6f\xdd",
  23392		.addtlb = (unsigned char *)
  23393			"\xf7\x9e\x6a\x56\x0e\x73\xe9\xd9\x7a\xd1\x69\xe0"
  23394			"\x6f\x8c\x55\x1c\x44\xd1\xce\x6f\x28\xcc\xa4\x4d"
  23395			"\xa8\xc0\x85\xd1\x5a\x0c\x59\x40",
  23396		.addtllen = 32,
  23397		.pers = NULL,
  23398		.perslen = 0,
  23399	}, {
  23400		.entropy = (unsigned char *)
  23401			"\x2a\x85\xa9\x8b\xd0\xda\x83\xd6\xad\xab\x9f\xbb"
  23402			"\x54\x31\x15\x95\x1c\x4d\x49\x9f\x6a\x15\xf6\xe4"
  23403			"\x15\x50\x88\x06\x29\x0d\xed\x8d\xb9\x6f\x96\xe1"
  23404			"\x83\x9f\xf7\x88\xda\x84\xbf\x44\x28\xd9\x1d\xaa",
  23405		.entropylen = 48,
  23406		.expected = (unsigned char *)
  23407			"\x2d\x55\xde\xc9\xed\x05\x47\x07\x3d\x04\xfc\x28"
  23408			"\x0f\x92\xf0\x4d\xd8\x00\x32\x47\x0a\x1b\x1c\x4b"
  23409			"\xef\xd9\x97\xa1\x17\x67\xda\x26\x6c\xfe\x76\x46"
  23410			"\x6f\xbc\x6d\x82\x4e\x83\x8a\x98\x66\x6c\x01\xb6"
  23411			"\xe6\x64\xe0\x08\x10\x6f\xd3\x5d\x90\xe7\x0d\x72"
  23412			"\xa6\xa7\xe3\xbb\x98\x11\x12\x56\x23\xc2\x6d\xd1"
  23413			"\xc8\xa8\x7a\x39\xf3\x34\xe3\xb8\xf8\x66\x00\x77"
  23414			"\x7d\xcf\x3c\x3e\xfa\xc9\x0f\xaf\xe0\x24\xfa\xe9"
  23415			"\x84\xf9\x6a\x01\xf6\x35\xdb\x5c\xab\x2a\xef\x4e"
  23416			"\xac\xab\x55\xb8\x9b\xef\x98\x68\xaf\x51\xd8\x16"
  23417			"\xa5\x5e\xae\xf9\x1e\xd2\xdb\xe6",
  23418		.expectedlen = 128,
  23419		.addtla = NULL,
  23420		.addtlb = NULL,
  23421		.addtllen = 0,
  23422		.pers = (unsigned char *)
  23423			"\xa8\x80\xec\x98\x30\x98\x15\xd2\xc6\xc4\x68\xf1"
  23424			"\x3a\x1c\xbf\xce\x6a\x40\x14\xeb\x36\x99\x53\xda"
  23425			"\x57\x6b\xce\xa4\x1c\x66\x3d\xbc",
  23426		.perslen = 32,
  23427	}, {
  23428		.entropy = (unsigned char *)
  23429			"\x69\xed\x82\xa9\xc5\x7b\xbf\xe5\x1d\x2f\xcb\x7a"
  23430			"\xd3\x50\x7d\x96\xb4\xb9\x2b\x50\x77\x51\x27\x74"
  23431			"\x33\x74\xba\xf1\x30\xdf\x8e\xdf\x87\x1d\x87\xbc"
  23432			"\x96\xb2\xc3\xa7\xed\x60\x5e\x61\x4e\x51\x29\x1a",
  23433		.entropylen = 48,
  23434		.expected = (unsigned char *)
  23435			"\xa5\x71\x24\x31\x11\xfe\x13\xe1\xa8\x24\x12\xfb"
  23436			"\x37\xa1\x27\xa5\xab\x77\xa1\x9f\xae\x8f\xaf\x13"
  23437			"\x93\xf7\x53\x85\x91\xb6\x1b\xab\xd4\x6b\xea\xb6"
  23438			"\xef\xda\x4c\x90\x6e\xef\x5f\xde\xe1\xc7\x10\x36"
  23439			"\xd5\x67\xbd\x14\xb6\x89\x21\x0c\xc9\x92\x65\x64"
  23440			"\xd0\xf3\x23\xe0\x7f\xd1\xe8\x75\xc2\x85\x06\xea"
  23441			"\xca\xc0\xcb\x79\x2d\x29\x82\xfc\xaa\x9a\xc6\x95"
  23442			"\x7e\xdc\x88\x65\xba\xec\x0e\x16\x87\xec\xa3\x9e"
  23443			"\xd8\x8c\x80\xab\x3a\x64\xe0\xcb\x0e\x45\x98\xdd"
  23444			"\x7c\x6c\x6c\x26\x11\x13\xc8\xce\xa9\x47\xa6\x06"
  23445			"\x57\xa2\x66\xbb\x2d\x7f\xf3\xc1",
  23446		.expectedlen = 128,
  23447		.addtla = (unsigned char *)
  23448			"\x74\xd3\x6d\xda\xe8\xd6\x86\x5f\x63\x01\xfd\xf2"
  23449			"\x7d\x06\x29\x6d\x94\xd1\x66\xf0\xd2\x72\x67\x4e"
  23450			"\x77\xc5\x3d\x9e\x03\xe3\xa5\x78",
  23451		.addtlb = (unsigned char *)
  23452			"\xf6\xb6\x3d\xf0\x7c\x26\x04\xc5\x8b\xcd\x3e\x6a"
  23453			"\x9f\x9c\x3a\x2e\xdb\x47\x87\xe5\x8e\x00\x5e\x2b"
  23454			"\x74\x7f\xa6\xf6\x80\xcd\x9b\x21",
  23455		.addtllen = 32,
  23456		.pers = (unsigned char *)
  23457			"\x74\xa6\xe0\x08\xf9\x27\xee\x1d\x6e\x3c\x28\x20"
  23458			"\x87\xdd\xd7\x54\x31\x47\x78\x4b\xe5\x6d\xa3\x73"
  23459			"\xa9\x65\xb1\x10\xc1\xdc\x77\x7c",
  23460		.perslen = 32,
  23461	},
  23462};
  23463
  23464static const struct drbg_testvec drbg_nopr_hmac_sha256_tv_template[] = {
  23465	{
  23466		.entropy = (unsigned char *)
  23467			"\xca\x85\x19\x11\x34\x93\x84\xbf\xfe\x89\xde\x1c"
  23468			"\xbd\xc4\x6e\x68\x31\xe4\x4d\x34\xa4\xfb\x93\x5e"
  23469			"\xe2\x85\xdd\x14\xb7\x1a\x74\x88\x65\x9b\xa9\x6c"
  23470			"\x60\x1d\xc6\x9f\xc9\x02\x94\x08\x05\xec\x0c\xa8",
  23471		.entropylen = 48,
  23472		.expected = (unsigned char *)
  23473			"\xe5\x28\xe9\xab\xf2\xde\xce\x54\xd4\x7c\x7e\x75"
  23474			"\xe5\xfe\x30\x21\x49\xf8\x17\xea\x9f\xb4\xbe\xe6"
  23475			"\xf4\x19\x96\x97\xd0\x4d\x5b\x89\xd5\x4f\xbb\x97"
  23476			"\x8a\x15\xb5\xc4\x43\xc9\xec\x21\x03\x6d\x24\x60"
  23477			"\xb6\xf7\x3e\xba\xd0\xdc\x2a\xba\x6e\x62\x4a\xbf"
  23478			"\x07\x74\x5b\xc1\x07\x69\x4b\xb7\x54\x7b\xb0\x99"
  23479			"\x5f\x70\xde\x25\xd6\xb2\x9e\x2d\x30\x11\xbb\x19"
  23480			"\xd2\x76\x76\xc0\x71\x62\xc8\xb5\xcc\xde\x06\x68"
  23481			"\x96\x1d\xf8\x68\x03\x48\x2c\xb3\x7e\xd6\xd5\xc0"
  23482			"\xbb\x8d\x50\xcf\x1f\x50\xd4\x76\xaa\x04\x58\xbd"
  23483			"\xab\xa8\x06\xf4\x8b\xe9\xdc\xb8",
  23484		.expectedlen = 128,
  23485		.addtla = NULL,
  23486		.addtlb = NULL,
  23487		.addtllen = 0,
  23488		.pers = NULL,
  23489		.perslen = 0,
  23490	}, {
  23491		.entropy = (unsigned char *)
  23492			"\xf9\x7a\x3c\xfd\x91\xfa\xa0\x46\xb9\xe6\x1b\x94"
  23493			"\x93\xd4\x36\xc4\x93\x1f\x60\x4b\x22\xf1\x08\x15"
  23494			"\x21\xb3\x41\x91\x51\xe8\xff\x06\x11\xf3\xa7\xd4"
  23495			"\x35\x95\x35\x7d\x58\x12\x0b\xd1\xe2\xdd\x8a\xed",
  23496		.entropylen = 48,
  23497		.expected = (unsigned char *)
  23498			"\xc6\x87\x1c\xff\x08\x24\xfe\x55\xea\x76\x89\xa5"
  23499			"\x22\x29\x88\x67\x30\x45\x0e\x5d\x36\x2d\xa5\xbf"
  23500			"\x59\x0d\xcf\x9a\xcd\x67\xfe\xd4\xcb\x32\x10\x7d"
  23501			"\xf5\xd0\x39\x69\xa6\x6b\x1f\x64\x94\xfd\xf5\xd6"
  23502			"\x3d\x5b\x4d\x0d\x34\xea\x73\x99\xa0\x7d\x01\x16"
  23503			"\x12\x6d\x0d\x51\x8c\x7c\x55\xba\x46\xe1\x2f\x62"
  23504			"\xef\xc8\xfe\x28\xa5\x1c\x9d\x42\x8e\x6d\x37\x1d"
  23505			"\x73\x97\xab\x31\x9f\xc7\x3d\xed\x47\x22\xe5\xb4"
  23506			"\xf3\x00\x04\x03\x2a\x61\x28\xdf\x5e\x74\x97\xec"
  23507			"\xf8\x2c\xa7\xb0\xa5\x0e\x86\x7e\xf6\x72\x8a\x4f"
  23508			"\x50\x9a\x8c\x85\x90\x87\x03\x9c",
  23509		.expectedlen = 128,
  23510		.addtla = (unsigned char *)
  23511			"\x51\x72\x89\xaf\xe4\x44\xa0\xfe\x5e\xd1\xa4\x1d"
  23512			"\xbb\xb5\xeb\x17\x15\x00\x79\xbd\xd3\x1e\x29\xcf"
  23513			"\x2f\xf3\x00\x34\xd8\x26\x8e\x3b",
  23514		.addtlb = (unsigned char *)
  23515			"\x88\x02\x8d\x29\xef\x80\xb4\xe6\xf0\xfe\x12\xf9"
  23516			"\x1d\x74\x49\xfe\x75\x06\x26\x82\xe8\x9c\x57\x14"
  23517			"\x40\xc0\xc9\xb5\x2c\x42\xa6\xe0",
  23518		.addtllen = 32,
  23519		.pers = NULL,
  23520		.perslen = 0,
  23521	}, {
  23522		.entropy = (unsigned char *)
  23523			"\x8d\xf0\x13\xb4\xd1\x03\x52\x30\x73\x91\x7d\xdf"
  23524			"\x6a\x86\x97\x93\x05\x9e\x99\x43\xfc\x86\x54\x54"
  23525			"\x9e\x7a\xb2\x2f\x7c\x29\xf1\x22\xda\x26\x25\xaf"
  23526			"\x2d\xdd\x4a\xbc\xce\x3c\xf4\xfa\x46\x59\xd8\x4e",
  23527		.entropylen = 48,
  23528		.expected = (unsigned char *)
  23529			"\xb9\x1c\xba\x4c\xc8\x4f\xa2\x5d\xf8\x61\x0b\x81"
  23530			"\xb6\x41\x40\x27\x68\xa2\x09\x72\x34\x93\x2e\x37"
  23531			"\xd5\x90\xb1\x15\x4c\xbd\x23\xf9\x74\x52\xe3\x10"
  23532			"\xe2\x91\xc4\x51\x46\x14\x7f\x0d\xa2\xd8\x17\x61"
  23533			"\xfe\x90\xfb\xa6\x4f\x94\x41\x9c\x0f\x66\x2b\x28"
  23534			"\xc1\xed\x94\xda\x48\x7b\xb7\xe7\x3e\xec\x79\x8f"
  23535			"\xbc\xf9\x81\xb7\x91\xd1\xbe\x4f\x17\x7a\x89\x07"
  23536			"\xaa\x3c\x40\x16\x43\xa5\xb6\x2b\x87\xb8\x9d\x66"
  23537			"\xb3\xa6\x0e\x40\xd4\xa8\xe4\xe9\xd8\x2a\xf6\xd2"
  23538			"\x70\x0e\x6f\x53\x5c\xdb\x51\xf7\x5c\x32\x17\x29"
  23539			"\x10\x37\x41\x03\x0c\xcc\x3a\x56",
  23540		.expectedlen = 128,
  23541		.addtla = NULL,
  23542		.addtlb = NULL,
  23543		.addtllen = 0,
  23544		.pers = (unsigned char *)
  23545			"\xb5\x71\xe6\x6d\x7c\x33\x8b\xc0\x7b\x76\xad\x37"
  23546			"\x57\xbb\x2f\x94\x52\xbf\x7e\x07\x43\x7a\xe8\x58"
  23547			"\x1c\xe7\xbc\x7c\x3a\xc6\x51\xa9",
  23548		.perslen = 32,
  23549	}, {
  23550		.entropy = (unsigned char *)
  23551			"\xc2\xa5\x66\xa9\xa1\x81\x7b\x15\xc5\xc3\xb7\x78"
  23552			"\x17\x7a\xc8\x7c\x24\xe7\x97\xbe\x0a\x84\x5f\x11"
  23553			"\xc2\xfe\x39\x9d\xd3\x77\x32\xf2\xcb\x18\x94\xeb"
  23554			"\x2b\x97\xb3\xc5\x6e\x62\x83\x29\x51\x6f\x86\xec",
  23555		.entropylen = 48,
  23556		.expected = (unsigned char *)
  23557			"\xb3\xa3\x69\x8d\x77\x76\x99\xa0\xdd\x9f\xa3\xf0"
  23558			"\xa9\xfa\x57\x83\x2d\x3c\xef\xac\x5d\xf2\x44\x37"
  23559			"\xc6\xd7\x3a\x0f\xe4\x10\x40\xf1\x72\x90\x38\xae"
  23560			"\xf1\xe9\x26\x35\x2e\xa5\x9d\xe1\x20\xbf\xb7\xb0"
  23561			"\x73\x18\x3a\x34\x10\x6e\xfe\xd6\x27\x8f\xf8\xad"
  23562			"\x84\x4b\xa0\x44\x81\x15\xdf\xdd\xf3\x31\x9a\x82"
  23563			"\xde\x6b\xb1\x1d\x80\xbd\x87\x1a\x9a\xcd\x35\xc7"
  23564			"\x36\x45\xe1\x27\x0f\xb9\xfe\x4f\xa8\x8e\xc0\xe4"
  23565			"\x65\x40\x9e\xa0\xcb\xa8\x09\xfe\x2f\x45\xe0\x49"
  23566			"\x43\xa2\xe3\x96\xbb\xb7\xdd\x2f\x4e\x07\x95\x30"
  23567			"\x35\x24\xcc\x9c\xc5\xea\x54\xa1",
  23568		.expectedlen = 128,
  23569		.addtla = (unsigned char *)
  23570			"\x41\x3d\xd8\x3f\xe5\x68\x35\xab\xd4\x78\xcb\x96"
  23571			"\x93\xd6\x76\x35\x90\x1c\x40\x23\x9a\x26\x64\x62"
  23572			"\xd3\x13\x3b\x83\xe4\x9c\x82\x0b",
  23573		.addtlb = (unsigned char *)
  23574			"\xd5\xc4\xa7\x1f\x9d\x6d\x95\xa1\xbe\xdf\x0b\xd2"
  23575			"\x24\x7c\x27\x7d\x1f\x84\xa4\xe5\x7a\x4a\x88\x25"
  23576			"\xb8\x2a\x2d\x09\x7d\xe6\x3e\xf1",
  23577		.addtllen = 32,
  23578		.pers = (unsigned char *)
  23579			"\x13\xce\x4d\x8d\xd2\xdb\x97\x96\xf9\x41\x56\xc8"
  23580			"\xe8\xf0\x76\x9b\x0a\xa1\xc8\x2c\x13\x23\xb6\x15"
  23581			"\x36\x60\x3b\xca\x37\xc9\xee\x29",
  23582		.perslen = 32,
  23583	},
  23584};
  23585
  23586/* Test vector obtained during NIST ACVP testing */
  23587static const struct drbg_testvec drbg_nopr_hmac_sha512_tv_template[] = {
  23588	{
  23589		.entropy = (unsigned char *)
  23590			"\xDF\xB0\xF2\x18\xF0\x78\x07\x01\x29\xA4\x29\x26"
  23591			"\x2F\x8A\x34\xCB\x37\xEF\xEE\x41\xE6\x96\xF7\xFF"
  23592			"\x61\x47\xD3\xED\x41\x97\xEF\x64\x0C\x48\x56\x5A"
  23593			"\xE6\x40\x6E\x4A\x3B\x9E\x7F\xAC\x08\xEC\x25\xAE"
  23594			"\x0B\x51\x0E\x2C\x44\x2E\xBD\xDB\x57\xD0\x4A\x6D"
  23595			"\x80\x3E\x37\x0F",
  23596		.entropylen = 64,
  23597		.expected = (unsigned char *)
  23598			"\x48\xc6\xa8\xdb\x09\xae\xde\x5d\x8c\x77\xf3\x52"
  23599			"\x92\x71\xa7\xb9\x6d\x53\x6d\xa3\x73\xe3\x55\xb8"
  23600			"\x39\xd6\x44\x2b\xee\xcb\xe1\x32\x15\x30\xbe\x4e"
  23601			"\x9b\x1e\x06\xd1\x6b\xbf\xd5\x3e\xea\x7c\xf5\xaa"
  23602			"\x4b\x05\xb5\xd3\xa7\xb2\xc4\xfe\xe7\x1b\xda\x11"
  23603			"\x43\x98\x03\x70\x90\xbf\x6e\x43\x9b\xe4\x14\xef"
  23604			"\x71\xa3\x2a\xef\x9f\x0d\xb9\xe3\x52\xf2\x89\xc9"
  23605			"\x66\x9a\x60\x60\x99\x60\x62\x4c\xd6\x45\x52\x54"
  23606			"\xe6\x32\xb2\x1b\xd4\x48\xb5\xa6\xf9\xba\xd3\xff"
  23607			"\x29\xc5\x21\xe0\x91\x31\xe0\x38\x8c\x93\x0f\x3c"
  23608			"\x30\x7b\x53\xa3\xc0\x7f\x2d\xc1\x39\xec\x69\x0e"
  23609			"\xf2\x4a\x3c\x65\xcc\xed\x07\x2a\xf2\x33\x83\xdb"
  23610			"\x10\x74\x96\x40\xa7\xc5\x1b\xde\x81\xca\x0b\x8f"
  23611			"\x1e\x0a\x1a\x7a\xbf\x3c\x4a\xb8\x8c\xaf\x7b\x80"
  23612			"\xb7\xdc\x5d\x0f\xef\x1b\x97\x6e\x3d\x17\x23\x5a"
  23613			"\x31\xb9\x19\xcf\x5a\xc5\x00\x2a\xb6\xf3\x99\x34"
  23614			"\x65\xee\xe9\x1c\x55\xa0\x3b\x07\x60\xc9\xc4\xe4"
  23615			"\xf7\x57\x5c\x34\x9f\xc6\x31\x30\x3f\x23\xb2\x89"
  23616			"\xc0\xe7\x50\xf3\xde\x59\xd1\x0e\xb3\x0f\x78\xcc"
  23617			"\x7e\x54\x5e\x61\xf6\x86\x3d\xb3\x11\x94\x36\x3e"
  23618			"\x61\x5c\x48\x99\xf6\x7b\x02\x9a\xdc\x6a\x28\xe6"
  23619			"\xd1\xa7\xd1\xa3",
  23620		.expectedlen = 256,
  23621		.addtla = (unsigned char *)
  23622			"\x6B\x0F\x4A\x48\x0B\x12\x85\xE4\x72\x23\x7F\x7F"
  23623			"\x94\x7C\x24\x69\x14\x9F\xDC\x72\xA6\x33\xAD\x3C"
  23624			"\x8C\x72\xC1\x88\x49\x59\x82\xC5",
  23625		.addtlb = (unsigned char *)
  23626			"\xC4\xAF\x36\x3D\xB8\x5D\x9D\xFA\x92\xF5\xC3\x3C"
  23627			"\x2D\x1E\x22\x2A\xBD\x8B\x05\x6F\xA3\xFC\xBF\x16"
  23628			"\xED\xAA\x75\x8D\x73\x9A\xF6\xEC",
  23629		.addtllen = 32,
  23630		.pers = NULL,
  23631		.perslen = 0,
  23632	}
  23633};
  23634
  23635static const struct drbg_testvec drbg_nopr_ctr_aes192_tv_template[] = {
  23636	{
  23637		.entropy = (unsigned char *)
  23638			"\xc3\x5c\x2f\xa2\xa8\x9d\x52\xa1\x1f\xa3\x2a\xa9"
  23639			"\x6c\x95\xb8\xf1\xc9\xa8\xf9\xcb\x24\x5a\x8b\x40"
  23640			"\xf3\xa6\xe5\xa7\xfb\xd9\xd3\xc6\x8e\x27\x7b\xa9"
  23641			"\xac\x9b\xbb\x00",
  23642		.entropylen = 40,
  23643		.expected = (unsigned char *)
  23644			"\x8c\x2e\x72\xab\xfd\x9b\xb8\x28\x4d\xb7\x9e\x17"
  23645			"\xa4\x3a\x31\x46\xcd\x76\x94\xe3\x52\x49\xfc\x33"
  23646			"\x83\x91\x4a\x71\x17\xf4\x13\x68\xe6\xd4\xf1\x48"
  23647			"\xff\x49\xbf\x29\x07\x6b\x50\x15\xc5\x9f\x45\x79"
  23648			"\x45\x66\x2e\x3d\x35\x03\x84\x3f\x4a\xa5\xa3\xdf"
  23649			"\x9a\x9d\xf1\x0d",
  23650		.expectedlen = 64,
  23651		.addtla = NULL,
  23652		.addtlb = NULL,
  23653		.addtllen = 0,
  23654		.pers = NULL,
  23655		.perslen = 0,
  23656	},
  23657};
  23658
  23659static const struct drbg_testvec drbg_nopr_ctr_aes256_tv_template[] = {
  23660	{
  23661		.entropy = (unsigned char *)
  23662			"\x36\x40\x19\x40\xfa\x8b\x1f\xba\x91\xa1\x66\x1f"
  23663			"\x21\x1d\x78\xa0\xb9\x38\x9a\x74\xe5\xbc\xcf\xec"
  23664			"\xe8\xd7\x66\xaf\x1a\x6d\x3b\x14\x49\x6f\x25\xb0"
  23665			"\xf1\x30\x1b\x4f\x50\x1b\xe3\x03\x80\xa1\x37\xeb",
  23666		.entropylen = 48,
  23667		.expected = (unsigned char *)
  23668			"\x58\x62\xeb\x38\xbd\x55\x8d\xd9\x78\xa6\x96\xe6"
  23669			"\xdf\x16\x47\x82\xdd\xd8\x87\xe7\xe9\xa6\xc9\xf3"
  23670			"\xf1\xfb\xaf\xb7\x89\x41\xb5\x35\xa6\x49\x12\xdf"
  23671			"\xd2\x24\xc6\xdc\x74\x54\xe5\x25\x0b\x3d\x97\x16"
  23672			"\x5e\x16\x26\x0c\x2f\xaf\x1c\xc7\x73\x5c\xb7\x5f"
  23673			"\xb4\xf0\x7e\x1d",
  23674		.expectedlen = 64,
  23675		.addtla = NULL,
  23676		.addtlb = NULL,
  23677		.addtllen = 0,
  23678		.pers = NULL,
  23679		.perslen = 0,
  23680	},
  23681};
  23682
  23683static const struct drbg_testvec drbg_nopr_ctr_aes128_tv_template[] = {
  23684	{
  23685		.entropy = (unsigned char *)
  23686			"\x87\xe1\xc5\x32\x99\x7f\x57\xa3\x5c\x28\x6d\xe8"
  23687			"\x64\xbf\xf2\x64\xa3\x9e\x98\xdb\x6c\x10\x78\x7f",
  23688		.entropylen = 24,
  23689		.expected = (unsigned char *)
  23690			"\x2c\x14\x7e\x24\x11\x9a\xd8\xd4\xb2\xed\x61\xc1"
  23691			"\x53\xd0\x50\xc9\x24\xff\x59\x75\x15\xf1\x17\x3a"
  23692			"\x3d\xf4\x4b\x2c\x84\x28\xef\x89\x0e\xb9\xde\xf3"
  23693			"\xe4\x78\x04\xb2\xfd\x9b\x35\x7f\xe1\x3f\x8a\x3e"
  23694			"\x10\xc8\x67\x0a\xf9\xdf\x2d\x6c\x96\xfb\xb2\xb8"
  23695			"\xcb\x2d\xd6\xb0",
  23696		.expectedlen = 64,
  23697		.addtla = NULL,
  23698		.addtlb = NULL,
  23699		.addtllen = 0,
  23700		.pers = NULL,
  23701		.perslen = 0,
  23702	}, {
  23703		.entropy = (unsigned char *)
  23704			"\x71\xbd\xce\x35\x42\x7d\x20\xbf\x58\xcf\x17\x74"
  23705			"\xce\x72\xd8\x33\x34\x50\x2d\x8f\x5b\x14\xc4\xdd",
  23706		.entropylen = 24,
  23707		.expected = (unsigned char *)
  23708			"\x97\x33\xe8\x20\x12\xe2\x7b\xa1\x46\x8f\xf2\x34"
  23709			"\xb3\xc9\xb6\x6b\x20\xb2\x4f\xee\x27\xd8\x0b\x21"
  23710			"\x8c\xff\x63\x73\x69\x29\xfb\xf3\x85\xcd\x88\x8e"
  23711			"\x43\x2c\x71\x8b\xa2\x55\xd2\x0f\x1d\x7f\xe3\xe1"
  23712			"\x2a\xa3\xe9\x2c\x25\x89\xc7\x14\x52\x99\x56\xcc"
  23713			"\xc3\xdf\xb3\x81",
  23714		.expectedlen = 64,
  23715		.addtla = (unsigned char *)
  23716			"\x66\xef\x42\xd6\x9a\x8c\x3d\x6d\x4a\x9e\x95\xa6"
  23717			"\x91\x4d\x81\x56",
  23718		.addtlb = (unsigned char *)
  23719			"\xe3\x18\x83\xd9\x4b\x5e\xc4\xcc\xaa\x61\x2f\xbb"
  23720			"\x4a\x55\xd1\xc6",
  23721		.addtllen = 16,
  23722		.pers = NULL,
  23723		.perslen = 0,
  23724	}, {
  23725		.entropy = (unsigned char *)
  23726			"\xca\x4b\x1e\xfa\x75\xbd\x69\x36\x38\x73\xb8\xf9"
  23727			"\xdb\x4d\x35\x0e\x47\xbf\x6c\x37\x72\xfd\xf7\xa9",
  23728		.entropylen = 24,
  23729		.expected = (unsigned char *)
  23730			"\x59\xc3\x19\x79\x1b\xb1\xf3\x0e\xe9\x34\xae\x6e"
  23731			"\x8b\x1f\xad\x1f\x74\xca\x25\x45\x68\xb8\x7f\x75"
  23732			"\x12\xf8\xf2\xab\x4c\x23\x01\x03\x05\xe1\x70\xee"
  23733			"\x75\xd8\xcb\xeb\x23\x4c\x7a\x23\x6e\x12\x27\xdb"
  23734			"\x6f\x7a\xac\x3c\x44\xb7\x87\x4b\x65\x56\x74\x45"
  23735			"\x34\x30\x0c\x3d",
  23736		.expectedlen = 64,
  23737		.addtla = NULL,
  23738		.addtlb = NULL,
  23739		.addtllen = 0,
  23740		.pers = (unsigned char *)
  23741			"\xeb\xaa\x60\x2c\x4d\xbe\x33\xff\x1b\xef\xbf\x0a"
  23742			"\x0b\xc6\x97\x54",
  23743		.perslen = 16,
  23744	}, {
  23745		.entropy = (unsigned char *)
  23746			"\xc0\x70\x1f\x92\x50\x75\x8f\xcd\xf2\xbe\x73\x98"
  23747			"\x80\xdb\x66\xeb\x14\x68\xb4\xa5\x87\x9c\x2d\xa6",
  23748		.entropylen = 24,
  23749		.expected = (unsigned char *)
  23750			"\x97\xc0\xc0\xe5\xa0\xcc\xf2\x4f\x33\x63\x48\x8a"
  23751			"\xdb\x13\x0a\x35\x89\xbf\x80\x65\x62\xee\x13\x95"
  23752			"\x7c\x33\xd3\x7d\xf4\x07\x77\x7a\x2b\x65\x0b\x5f"
  23753			"\x45\x5c\x13\xf1\x90\x77\x7f\xc5\x04\x3f\xcc\x1a"
  23754			"\x38\xf8\xcd\x1b\xbb\xd5\x57\xd1\x4a\x4c\x2e\x8a"
  23755			"\x2b\x49\x1e\x5c",
  23756		.expectedlen = 64,
  23757		.addtla = (unsigned char *)
  23758			"\xf9\x01\xf8\x16\x7a\x1d\xff\xde\x8e\x3c\x83\xe2"
  23759			"\x44\x85\xe7\xfe",
  23760		.addtlb = (unsigned char *)
  23761			"\x17\x1c\x09\x38\xc2\x38\x9f\x97\x87\x60\x55\xb4"
  23762			"\x82\x16\x62\x7f",
  23763		.addtllen = 16,
  23764		.pers = (unsigned char *)
  23765			"\x80\x08\xae\xe8\xe9\x69\x40\xc5\x08\x73\xc7\x9f"
  23766			"\x8e\xcf\xe0\x02",
  23767		.perslen = 16,
  23768	},
  23769};
  23770
  23771/* Cast5 test vectors from RFC 2144 */
  23772static const struct cipher_testvec cast5_tv_template[] = {
  23773	{
  23774		.key	= "\x01\x23\x45\x67\x12\x34\x56\x78"
  23775			  "\x23\x45\x67\x89\x34\x56\x78\x9a",
  23776		.klen	= 16,
  23777		.ptext	= "\x01\x23\x45\x67\x89\xab\xcd\xef",
  23778		.ctext	= "\x23\x8b\x4f\xe5\x84\x7e\x44\xb2",
  23779		.len	= 8,
  23780	}, {
  23781		.key	= "\x01\x23\x45\x67\x12\x34\x56\x78"
  23782			  "\x23\x45",
  23783		.klen	= 10,
  23784		.ptext	= "\x01\x23\x45\x67\x89\xab\xcd\xef",
  23785		.ctext	= "\xeb\x6a\x71\x1a\x2c\x02\x27\x1b",
  23786		.len	= 8,
  23787	}, {
  23788		.key	= "\x01\x23\x45\x67\x12",
  23789		.klen	= 5,
  23790		.ptext	= "\x01\x23\x45\x67\x89\xab\xcd\xef",
  23791		.ctext	= "\x7a\xc8\x16\xd1\x6e\x9b\x30\x2e",
  23792		.len	= 8,
  23793	}, { /* Generated from TF test vectors */
  23794		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  23795			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A",
  23796		.klen	= 16,
  23797		.iv	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F",
  23798		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  23799			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  23800			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  23801			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  23802			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  23803			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  23804			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  23805			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  23806			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  23807			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  23808			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  23809			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  23810			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  23811			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  23812			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  23813			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  23814			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  23815			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  23816			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  23817			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  23818			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  23819			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  23820			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  23821			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  23822			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  23823			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  23824			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  23825			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  23826			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  23827			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  23828			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  23829			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  23830			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  23831			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  23832			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  23833			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  23834			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  23835			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  23836			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  23837			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  23838			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  23839			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  23840			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  23841			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  23842			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  23843			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  23844			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  23845			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  23846			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  23847			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  23848			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  23849			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  23850			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  23851			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  23852			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  23853			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  23854			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  23855			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  23856			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  23857			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  23858			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  23859			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
  23860		.ctext	= "\x8D\xFC\x81\x9C\xCB\xAA\x5A\x1C"
  23861			  "\x7E\x95\xCF\x40\xAB\x4D\x6F\xEA"
  23862			  "\xD3\xD9\xB0\x9A\xB7\xC7\xE0\x2E"
  23863			  "\xD1\x39\x34\x92\x8F\xFA\x14\xF1"
  23864			  "\xD5\xD2\x7B\x59\x1F\x35\x28\xC2"
  23865			  "\x20\xD9\x42\x06\xC9\x0B\x10\x04"
  23866			  "\xF8\x79\xCD\x32\x86\x75\x4C\xB6"
  23867			  "\x7B\x1C\x52\xB1\x91\x64\x22\x4B"
  23868			  "\x13\xC7\xAE\x98\x0E\xB5\xCF\x6F"
  23869			  "\x3F\xF4\x43\x96\x73\x0D\xA2\x05"
  23870			  "\xDB\xFD\x28\x90\x2C\x56\xB9\x37"
  23871			  "\x5B\x69\x0C\xAD\x84\x67\xFF\x15"
  23872			  "\x4A\xD4\xA7\xD3\xDD\x99\x47\x3A"
  23873			  "\xED\x34\x35\x78\x6B\x91\xC9\x32"
  23874			  "\xE1\xBF\xBC\xB4\x04\x85\x6A\x39"
  23875			  "\xC0\xBA\x51\xD0\x0F\x4E\xD1\xE2"
  23876			  "\x1C\xFD\x0E\x05\x07\xF4\x10\xED"
  23877			  "\xA2\x17\xFF\xF5\x64\xC6\x1A\x22"
  23878			  "\xAD\x78\xE7\xD7\x11\xE9\x99\xB9"
  23879			  "\xAA\xEC\x6F\xF8\x3B\xBF\xCE\x77"
  23880			  "\x93\xE8\xAD\x1D\x50\x6C\xAE\xBC"
  23881			  "\xBA\x5C\x80\xD1\x91\x65\x51\x1B"
  23882			  "\xE8\x0A\xCD\x99\x96\x71\x3D\xB6"
  23883			  "\x78\x75\x37\x55\xC1\xF5\x90\x40"
  23884			  "\x34\xF4\x7E\xC8\xCC\x3A\x5F\x6E"
  23885			  "\x36\xA1\xA1\xC2\x3A\x72\x42\x8E"
  23886			  "\x0E\x37\x88\xE8\xCE\x83\xCB\xAD"
  23887			  "\xE0\x69\x77\x50\xC7\x0C\x99\xCA"
  23888			  "\x19\x5B\x30\x25\x9A\xEF\x9B\x0C"
  23889			  "\xEF\x8F\x74\x4C\xCF\x49\x4E\xB9"
  23890			  "\xC5\xAE\x9E\x2E\x78\x9A\xB9\x48"
  23891			  "\xD5\x81\xE4\x37\x1D\xBF\x27\xD9"
  23892			  "\xC5\xD6\x65\x43\x45\x8C\xBB\xB6"
  23893			  "\x55\xF4\x06\xBB\x49\x53\x8B\x1B"
  23894			  "\x07\xA9\x96\x69\x5B\xCB\x0F\xBC"
  23895			  "\x93\x85\x90\x0F\x0A\x68\x40\x2A"
  23896			  "\x95\xED\x2D\x88\xBF\x71\xD0\xBB"
  23897			  "\xEC\xB0\x77\x6C\x79\xFC\x3C\x05"
  23898			  "\x49\x3F\xB8\x24\xEF\x8E\x09\xA2"
  23899			  "\x1D\xEF\x92\x02\x96\xD4\x7F\xC8"
  23900			  "\x03\xB2\xCA\xDB\x17\x5C\x52\xCF"
  23901			  "\xDD\x70\x37\x63\xAA\xA5\x83\x20"
  23902			  "\x52\x02\xF6\xB9\xE7\x6E\x0A\xB6"
  23903			  "\x79\x03\xA0\xDA\xA3\x79\x21\xBD"
  23904			  "\xE3\x37\x3A\xC0\xF7\x2C\x32\xBE"
  23905			  "\x8B\xE8\xA6\x00\xC7\x32\xD5\x06"
  23906			  "\xBB\xE3\xAB\x06\x21\x82\xB8\x32"
  23907			  "\x31\x34\x2A\xA7\x1F\x64\x99\xBF"
  23908			  "\xFA\xDA\x3D\x75\xF7\x48\xD5\x48"
  23909			  "\x4B\x52\x7E\xF6\x7C\xAB\x67\x59"
  23910			  "\xC5\xDC\xA8\xC6\x63\x85\x4A\xDF"
  23911			  "\xF0\x40\x5F\xCF\xE3\x58\x52\x67"
  23912			  "\x7A\x24\x32\xC5\xEC\x9E\xA9\x6F"
  23913			  "\x58\x56\xDD\x94\x1F\x71\x8D\xF4"
  23914			  "\x6E\xFF\x2C\xA7\xA5\xD8\xBA\xAF"
  23915			  "\x1D\x8B\xA2\x46\xB5\xC4\x9F\x57"
  23916			  "\x8D\xD8\xB3\x3C\x02\x0D\xBB\x84"
  23917			  "\xC7\xBD\xB4\x9A\x6E\xBB\xB1\x37"
  23918			  "\x95\x79\xC4\xA7\xEA\x1D\xDC\x33"
  23919			  "\x5D\x0B\x3F\x03\x8F\x30\xF9\xAE"
  23920			  "\x4F\xFE\x24\x9C\x9A\x02\xE5\x57"
  23921			  "\xF5\xBC\x25\xD6\x02\x56\x57\x1C",
  23922		.len	= 496,
  23923	},
  23924};
  23925
  23926static const struct cipher_testvec cast5_cbc_tv_template[] = {
  23927	{ /* Generated from TF test vectors */
  23928		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  23929			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A",
  23930		.klen	= 16,
  23931		.iv	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F",
  23932		.iv_out	= "\x1D\x18\x66\x44\x5B\x8F\x14\xEB",
  23933		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  23934			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  23935			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  23936			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  23937			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  23938			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  23939			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  23940			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  23941			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  23942			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  23943			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  23944			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  23945			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  23946			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  23947			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  23948			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  23949			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  23950			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  23951			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  23952			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  23953			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  23954			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  23955			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  23956			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  23957			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  23958			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  23959			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  23960			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  23961			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  23962			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  23963			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  23964			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  23965			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  23966			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  23967			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  23968			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  23969			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  23970			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  23971			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  23972			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  23973			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  23974			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  23975			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  23976			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  23977			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  23978			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  23979			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  23980			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  23981			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  23982			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  23983			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  23984			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  23985			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  23986			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  23987			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  23988			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  23989			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  23990			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  23991			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  23992			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  23993			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  23994			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
  23995		.ctext	= "\x05\x28\xCE\x61\x90\x80\xE1\x78"
  23996			  "\xB9\x2A\x97\x7C\xB0\x83\xD8\x1A"
  23997			  "\xDE\x58\x7F\xD7\xFD\x72\xB8\xFB"
  23998			  "\xDA\xF0\x6E\x77\x14\x47\x82\xBA"
  23999			  "\x29\x0E\x25\x6E\xB4\x39\xD9\x7F"
  24000			  "\x05\xA7\xA7\x3A\xC1\x5D\x9E\x39"
  24001			  "\xA7\xFB\x0D\x05\x00\xF3\x58\x67"
  24002			  "\x60\xEC\x73\x77\x46\x85\x9B\x6A"
  24003			  "\x08\x3E\xBE\x59\xFB\xE4\x96\x34"
  24004			  "\xB4\x05\x49\x1A\x97\x43\xAD\xA0"
  24005			  "\xA9\x1E\x6E\x74\xF1\x94\xEC\xA8"
  24006			  "\xB5\x8A\x20\xEA\x89\x6B\x19\xAA"
  24007			  "\xA7\xF1\x33\x67\x90\x23\x0D\xEE"
  24008			  "\x81\xD5\x78\x4F\xD3\x63\xEA\x46"
  24009			  "\xB5\xB2\x6E\xBB\xCA\x76\x06\x10"
  24010			  "\x96\x2A\x0A\xBA\xF9\x41\x5A\x1D"
  24011			  "\x36\x7C\x56\x14\x54\x83\xFA\xA1"
  24012			  "\x27\xDD\xBA\x8A\x90\x29\xD6\xA6"
  24013			  "\xFA\x48\x3E\x1E\x23\x6E\x98\xA8"
  24014			  "\xA7\xD9\x67\x92\x5C\x13\xB4\x71"
  24015			  "\xA8\xAA\x89\x4A\xA4\xB3\x49\x7C"
  24016			  "\x7D\x7F\xCE\x6F\x29\x2E\x7E\x37"
  24017			  "\xC8\x52\x60\xD9\xE7\xCA\x60\x98"
  24018			  "\xED\xCD\xE8\x60\x83\xAD\x34\x4D"
  24019			  "\x96\x4A\x99\x2B\xB7\x14\x75\x66"
  24020			  "\x6C\x2C\x1A\xBA\x4B\xBB\x49\x56"
  24021			  "\xE1\x86\xA2\x0E\xD0\xF0\x07\xD3"
  24022			  "\x18\x38\x09\x9C\x0E\x8B\x86\x07"
  24023			  "\x90\x12\x37\x49\x27\x98\x69\x18"
  24024			  "\xB0\xCC\xFB\xD3\xBD\x04\xA0\x85"
  24025			  "\x4B\x22\x97\x07\xB6\x97\xE9\x95"
  24026			  "\x0F\x88\x36\xA9\x44\x00\xC6\xE9"
  24027			  "\x27\x53\x5C\x5B\x1F\xD3\xE2\xEE"
  24028			  "\xD0\xCD\x63\x30\xA9\xC0\xDD\x49"
  24029			  "\xFE\x16\xA4\x07\x0D\xE2\x5D\x97"
  24030			  "\xDE\x89\xBA\x2E\xF3\xA9\x5E\xBE"
  24031			  "\x03\x55\x0E\x02\x41\x4A\x45\x06"
  24032			  "\xBE\xEA\x32\xF2\xDC\x91\x5C\x20"
  24033			  "\x94\x02\x30\xD2\xFC\x29\xFA\x8E"
  24034			  "\x34\xA0\x31\xB8\x34\xBA\xAE\x54"
  24035			  "\xB5\x88\x1F\xDC\x43\xDC\x22\x9F"
  24036			  "\xDC\xCE\xD3\xFA\xA4\xA8\xBC\x8A"
  24037			  "\xC7\x5A\x43\x21\xA5\xB1\xDB\xC3"
  24038			  "\x84\x3B\xB4\x9B\xB5\xA7\xF1\x0A"
  24039			  "\xB6\x37\x21\x19\x55\xC2\xBD\x99"
  24040			  "\x49\x24\xBB\x7C\xB3\x8E\xEF\xD2"
  24041			  "\x3A\xCF\xA0\x31\x28\x0E\x25\xA2"
  24042			  "\x11\xB4\x18\x17\x1A\x65\x92\x56"
  24043			  "\xE8\xE0\x52\x9C\x61\x18\x2A\xB1"
  24044			  "\x1A\x01\x22\x45\x17\x62\x52\x6C"
  24045			  "\x91\x44\xCF\x98\xC7\xC0\x79\x26"
  24046			  "\x32\x66\x6F\x23\x7F\x94\x36\x88"
  24047			  "\x3C\xC9\xD0\xB7\x45\x30\x31\x86"
  24048			  "\x3D\xC6\xA3\x98\x62\x84\x1A\x8B"
  24049			  "\x16\x88\xC7\xA3\xE9\x4F\xE0\x86"
  24050			  "\xA4\x93\xA8\x34\x5A\xCA\xDF\xCA"
  24051			  "\x46\x38\xD2\xF4\xE0\x2D\x1E\xC9"
  24052			  "\x7C\xEF\x53\xB7\x60\x72\x41\xBF"
  24053			  "\x29\x00\x87\x02\xAF\x44\x4C\xB7"
  24054			  "\x8C\xF5\x3F\x19\xF4\x80\x45\xA7"
  24055			  "\x15\x5F\xDB\xE9\xB1\x83\xD2\xE6"
  24056			  "\x1D\x18\x66\x44\x5B\x8F\x14\xEB",
  24057		.len	= 496,
  24058	},
  24059};
  24060
  24061static const struct cipher_testvec cast5_ctr_tv_template[] = {
  24062	{ /* Generated from TF test vectors */
  24063		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  24064			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A",
  24065		.klen	= 16,
  24066		.iv	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F",
  24067		.iv_out	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x62",
  24068		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  24069			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  24070			  "\x3A",
  24071		.ctext	= "\xFF\xC4\x2E\x82\x3D\xF8\xA8\x39"
  24072			  "\x7C\x52\xC4\xD3\xBB\x62\xC6\xA8"
  24073			  "\x0C",
  24074		.len	= 17,
  24075	}, { /* Generated from TF test vectors */
  24076		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  24077			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A",
  24078		.klen	= 16,
  24079		.iv	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F",
  24080		.iv_out	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x9D",
  24081		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  24082			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  24083			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  24084			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  24085			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  24086			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  24087			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  24088			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  24089			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  24090			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  24091			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  24092			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  24093			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  24094			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  24095			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  24096			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  24097			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  24098			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  24099			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  24100			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  24101			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  24102			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  24103			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  24104			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  24105			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  24106			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  24107			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  24108			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  24109			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  24110			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  24111			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  24112			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  24113			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  24114			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  24115			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  24116			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  24117			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  24118			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  24119			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  24120			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  24121			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  24122			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  24123			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  24124			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  24125			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  24126			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  24127			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  24128			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  24129			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  24130			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  24131			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  24132			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  24133			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  24134			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  24135			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  24136			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  24137			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  24138			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  24139			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  24140			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  24141			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  24142			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
  24143		.ctext	= "\xFF\xC4\x2E\x82\x3D\xF8\xA8\x39"
  24144			  "\x7C\x52\xC4\xD3\xBB\x62\xC6\xA8"
  24145			  "\x0C\x63\xA5\x55\xE3\xF8\x1C\x7F"
  24146			  "\xDC\x59\xF9\xA0\x52\xAD\x83\xDF"
  24147			  "\xD5\x3B\x53\x4A\xAA\x1F\x49\x44"
  24148			  "\xE8\x20\xCC\xF8\x97\xE6\xE0\x3C"
  24149			  "\x5A\xD2\x83\xEC\xEE\x25\x3F\xCF"
  24150			  "\x0D\xC2\x79\x80\x99\x6E\xFF\x7B"
  24151			  "\x64\xB0\x7B\x86\x29\x1D\x9F\x17"
  24152			  "\x10\xA5\xA5\xEB\x16\x55\x9E\xE3"
  24153			  "\x88\x18\x52\x56\x48\x58\xD1\x6B"
  24154			  "\xE8\x74\x6E\x48\xB0\x2E\x69\x63"
  24155			  "\x32\xAA\xAC\x26\x55\x45\x94\xDE"
  24156			  "\x30\x26\x26\xE6\x08\x82\x2F\x5F"
  24157			  "\xA7\x15\x94\x07\x75\x2D\xC6\x3A"
  24158			  "\x1B\xA0\x39\xFB\xBA\xB9\x06\x56"
  24159			  "\xF6\x9F\xF1\x2F\x9B\xF3\x89\x8B"
  24160			  "\x08\xC8\x9D\x5E\x6B\x95\x09\xC7"
  24161			  "\x98\xB7\x62\xA4\x1D\x25\xFA\xC5"
  24162			  "\x62\xC8\x5D\x6B\xB4\x85\x88\x7F"
  24163			  "\x3B\x29\xF9\xB4\x32\x62\x69\xBF"
  24164			  "\x32\xB8\xEB\xFD\x0E\x26\xAA\xA3"
  24165			  "\x44\x67\x90\x20\xAC\x41\xDF\x43"
  24166			  "\xC6\xC7\x19\x9F\x2C\x28\x74\xEB"
  24167			  "\x3E\x7F\x7A\x80\x5B\xE4\x08\x60"
  24168			  "\xC7\xC9\x71\x34\x44\xCE\x05\xFD"
  24169			  "\xA8\x91\xA8\x44\x5E\xD3\x89\x2C"
  24170			  "\xAE\x59\x0F\x07\x88\x79\x53\x26"
  24171			  "\xAF\xAC\xCB\x1D\x6F\x08\x25\x62"
  24172			  "\xD0\x82\x65\x66\xE4\x2A\x29\x1C"
  24173			  "\x9C\x64\x5F\x49\x9D\xF8\x62\xF9"
  24174			  "\xED\xC4\x13\x52\x75\xDC\xE4\xF9"
  24175			  "\x68\x0F\x8A\xCD\xA6\x8D\x75\xAA"
  24176			  "\x49\xA1\x86\x86\x37\x5C\x6B\x3D"
  24177			  "\x56\xE5\x6F\xBE\x27\xC0\x10\xF8"
  24178			  "\x3C\x4D\x17\x35\x14\xDC\x1C\xA0"
  24179			  "\x6E\xAE\xD1\x10\xDD\x83\x06\xC2"
  24180			  "\x23\xD3\xC7\x27\x15\x04\x2C\x27"
  24181			  "\xDD\x1F\x2E\x97\x09\x9C\x33\x7D"
  24182			  "\xAC\x50\x1B\x2E\xC9\x52\x0C\x14"
  24183			  "\x4B\x78\xC4\xDE\x07\x6A\x12\x02"
  24184			  "\x6E\xD7\x4B\x91\xB9\x88\x4D\x02"
  24185			  "\xC3\xB5\x04\xBC\xE0\x67\xCA\x18"
  24186			  "\x22\xA1\xAE\x9A\x21\xEF\xB2\x06"
  24187			  "\x35\xCD\xEC\x37\x70\x2D\xFC\x1E"
  24188			  "\xA8\x31\xE7\xFC\xE5\x8E\x88\x66"
  24189			  "\x16\xB5\xC8\x45\x21\x37\xBD\x24"
  24190			  "\xA9\xD5\x36\x12\x9F\x6E\x67\x80"
  24191			  "\x87\x54\xD5\xAF\x97\xE1\x15\xA7"
  24192			  "\x11\xF0\x63\x7B\xE1\x44\x14\x1C"
  24193			  "\x06\x32\x05\x8C\x6C\xDB\x9B\x36"
  24194			  "\x6A\x6B\xAD\x3A\x27\x55\x20\x4C"
  24195			  "\x76\x36\x43\xE8\x16\x60\xB5\xF3"
  24196			  "\xDF\x5A\xC6\xA5\x69\x78\x59\x51"
  24197			  "\x54\x68\x65\x06\x84\xDE\x3D\xAE"
  24198			  "\x38\x91\xBD\xCC\xA2\x8A\xEC\xE6"
  24199			  "\x9E\x83\xAE\x1E\x8E\x34\x5D\xDE"
  24200			  "\x91\xCE\x8F\xED\x40\xF7\xC8\x8B"
  24201			  "\x9A\x13\x4C\xAD\x89\x97\x9E\xD1"
  24202			  "\x91\x01\xD7\x21\x23\x28\x1E\xCC"
  24203			  "\x8C\x98\xDB\xDE\xFC\x72\x94\xAA"
  24204			  "\xC0\x0D\x96\xAA\x23\xF8\xFE\x13",
  24205		.len	= 496,
  24206	},
  24207};
  24208
  24209/*
  24210 * ARC4 test vectors from OpenSSL
  24211 */
  24212static const struct cipher_testvec arc4_tv_template[] = {
  24213	{
  24214		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef",
  24215		.klen	= 8,
  24216		.ptext	= "\x01\x23\x45\x67\x89\xab\xcd\xef",
  24217		.ctext	= "\x75\xb7\x87\x80\x99\xe0\xc5\x96",
  24218		.len	= 8,
  24219	}, {
  24220		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef",
  24221		.klen	= 8,
  24222		.ptext	= "\x00\x00\x00\x00\x00\x00\x00\x00",
  24223		.ctext	= "\x74\x94\xc2\xe7\x10\x4b\x08\x79",
  24224		.len	= 8,
  24225	}, {
  24226		.key	= "\x00\x00\x00\x00\x00\x00\x00\x00",
  24227		.klen	= 8,
  24228		.ptext	= "\x00\x00\x00\x00\x00\x00\x00\x00",
  24229		.ctext	= "\xde\x18\x89\x41\xa3\x37\x5d\x3a",
  24230		.len	= 8,
  24231	}, {
  24232		.key	= "\xef\x01\x23\x45",
  24233		.klen	= 4,
  24234		.ptext	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  24235			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  24236			  "\x00\x00\x00\x00",
  24237		.ctext	= "\xd6\xa1\x41\xa7\xec\x3c\x38\xdf"
  24238			  "\xbd\x61\x5a\x11\x62\xe1\xc7\xba"
  24239			  "\x36\xb6\x78\x58",
  24240		.len	= 20,
  24241	}, {
  24242		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef",
  24243		.klen	= 8,
  24244		.ptext	= "\x12\x34\x56\x78\x9A\xBC\xDE\xF0"
  24245			  "\x12\x34\x56\x78\x9A\xBC\xDE\xF0"
  24246			  "\x12\x34\x56\x78\x9A\xBC\xDE\xF0"
  24247			  "\x12\x34\x56\x78",
  24248		.ctext	= "\x66\xa0\x94\x9f\x8a\xf7\xd6\x89"
  24249			  "\x1f\x7f\x83\x2b\xa8\x33\xc0\x0c"
  24250			  "\x89\x2e\xbe\x30\x14\x3c\xe2\x87"
  24251			  "\x40\x01\x1e\xcf",
  24252		.len	= 28,
  24253	}, {
  24254		.key	= "\xef\x01\x23\x45",
  24255		.klen	= 4,
  24256		.ptext	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  24257			  "\x00\x00",
  24258		.ctext	= "\xd6\xa1\x41\xa7\xec\x3c\x38\xdf"
  24259			  "\xbd\x61",
  24260		.len	= 10,
  24261	}, {
  24262		.key	= "\x01\x23\x45\x67\x89\xAB\xCD\xEF"
  24263			"\x00\x00\x00\x00\x00\x00\x00\x00",
  24264		.klen	= 16,
  24265		.ptext	= "\x01\x23\x45\x67\x89\xAB\xCD\xEF",
  24266		.ctext	= "\x69\x72\x36\x59\x1B\x52\x42\xB1",
  24267		.len	= 8,
  24268	},
  24269};
  24270
  24271/*
  24272 * TEA test vectors
  24273 */
  24274static const struct cipher_testvec tea_tv_template[] = {
  24275	{
  24276		.key    = zeroed_string,
  24277		.klen	= 16,
  24278		.ptext	= zeroed_string,
  24279		.ctext	= "\x0a\x3a\xea\x41\x40\xa9\xba\x94",
  24280		.len	= 8,
  24281	}, {
  24282		.key	= "\x2b\x02\x05\x68\x06\x14\x49\x76"
  24283			  "\x77\x5d\x0e\x26\x6c\x28\x78\x43",
  24284		.klen	= 16,
  24285		.ptext	= "\x74\x65\x73\x74\x20\x6d\x65\x2e",
  24286		.ctext	= "\x77\x5d\x2a\x6a\xf6\xce\x92\x09",
  24287		.len	= 8,
  24288	}, {
  24289		.key	= "\x09\x65\x43\x11\x66\x44\x39\x25"
  24290			  "\x51\x3a\x16\x10\x0a\x08\x12\x6e",
  24291		.klen	= 16,
  24292		.ptext	= "\x6c\x6f\x6e\x67\x65\x72\x5f\x74"
  24293			  "\x65\x73\x74\x5f\x76\x65\x63\x74",
  24294		.ctext	= "\xbe\x7a\xbb\x81\x95\x2d\x1f\x1e"
  24295			  "\xdd\x89\xa1\x25\x04\x21\xdf\x95",
  24296		.len	= 16,
  24297	}, {
  24298		.key	= "\x4d\x76\x32\x17\x05\x3f\x75\x2c"
  24299			  "\x5d\x04\x16\x36\x15\x72\x63\x2f",
  24300		.klen	= 16,
  24301		.ptext	= "\x54\x65\x61\x20\x69\x73\x20\x67"
  24302			  "\x6f\x6f\x64\x20\x66\x6f\x72\x20"
  24303			  "\x79\x6f\x75\x21\x21\x21\x20\x72"
  24304			  "\x65\x61\x6c\x6c\x79\x21\x21\x21",
  24305		.ctext	= "\xe0\x4d\x5d\x3c\xb7\x8c\x36\x47"
  24306			  "\x94\x18\x95\x91\xa9\xfc\x49\xf8"
  24307			  "\x44\xd1\x2d\xc2\x99\xb8\x08\x2a"
  24308			  "\x07\x89\x73\xc2\x45\x92\xc6\x90",
  24309		.len	= 32,
  24310	}
  24311};
  24312
  24313/*
  24314 * XTEA test vectors
  24315 */
  24316static const struct cipher_testvec xtea_tv_template[] = {
  24317	{
  24318		.key    = zeroed_string,
  24319		.klen	= 16,
  24320		.ptext	= zeroed_string,
  24321		.ctext	= "\xd8\xd4\xe9\xde\xd9\x1e\x13\xf7",
  24322		.len	= 8,
  24323	}, {
  24324		.key	= "\x2b\x02\x05\x68\x06\x14\x49\x76"
  24325			  "\x77\x5d\x0e\x26\x6c\x28\x78\x43",
  24326		.klen	= 16,
  24327		.ptext	= "\x74\x65\x73\x74\x20\x6d\x65\x2e",
  24328		.ctext	= "\x94\xeb\xc8\x96\x84\x6a\x49\xa8",
  24329		.len	= 8,
  24330	}, {
  24331		.key	= "\x09\x65\x43\x11\x66\x44\x39\x25"
  24332			  "\x51\x3a\x16\x10\x0a\x08\x12\x6e",
  24333		.klen	= 16,
  24334		.ptext	= "\x6c\x6f\x6e\x67\x65\x72\x5f\x74"
  24335			  "\x65\x73\x74\x5f\x76\x65\x63\x74",
  24336		.ctext	= "\x3e\xce\xae\x22\x60\x56\xa8\x9d"
  24337			  "\x77\x4d\xd4\xb4\x87\x24\xe3\x9a",
  24338		.len	= 16,
  24339	}, {
  24340		.key	= "\x4d\x76\x32\x17\x05\x3f\x75\x2c"
  24341			  "\x5d\x04\x16\x36\x15\x72\x63\x2f",
  24342		.klen	= 16,
  24343		.ptext	= "\x54\x65\x61\x20\x69\x73\x20\x67"
  24344			  "\x6f\x6f\x64\x20\x66\x6f\x72\x20"
  24345			  "\x79\x6f\x75\x21\x21\x21\x20\x72"
  24346			  "\x65\x61\x6c\x6c\x79\x21\x21\x21",
  24347		.ctext	= "\x99\x81\x9f\x5d\x6f\x4b\x31\x3a"
  24348			  "\x86\xff\x6f\xd0\xe3\x87\x70\x07"
  24349			  "\x4d\xb8\xcf\xf3\x99\x50\xb3\xd4"
  24350			  "\x73\xa2\xfa\xc9\x16\x59\x5d\x81",
  24351		.len	= 32,
  24352	}
  24353};
  24354
  24355/*
  24356 * KHAZAD test vectors.
  24357 */
  24358static const struct cipher_testvec khazad_tv_template[] = {
  24359	{
  24360		.key	= "\x80\x00\x00\x00\x00\x00\x00\x00"
  24361			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  24362		.klen	= 16,
  24363		.ptext	= "\x00\x00\x00\x00\x00\x00\x00\x00",
  24364		.ctext	= "\x49\xa4\xce\x32\xac\x19\x0e\x3f",
  24365		.len	= 8,
  24366	}, {
  24367		.key	= "\x38\x38\x38\x38\x38\x38\x38\x38"
  24368			  "\x38\x38\x38\x38\x38\x38\x38\x38",
  24369		.klen	= 16,
  24370		.ptext	= "\x38\x38\x38\x38\x38\x38\x38\x38",
  24371		.ctext	= "\x7e\x82\x12\xa1\xd9\x5b\xe4\xf9",
  24372		.len	= 8,
  24373	}, {
  24374		.key	= "\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2"
  24375			"\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2",
  24376		.klen	= 16,
  24377		.ptext	= "\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2",
  24378		.ctext	= "\xaa\xbe\xc1\x95\xc5\x94\x1a\x9c",
  24379		.len	= 8,
  24380	}, {
  24381		.key	= "\x2f\x2f\x2f\x2f\x2f\x2f\x2f\x2f"
  24382			"\x2f\x2f\x2f\x2f\x2f\x2f\x2f\x2f",
  24383		.klen	= 16,
  24384		.ptext	= "\x2f\x2f\x2f\x2f\x2f\x2f\x2f\x2f",
  24385		.ctext	= "\x04\x74\xf5\x70\x50\x16\xd3\xb8",
  24386		.len	= 8,
  24387	}, {
  24388		.key	= "\x2f\x2f\x2f\x2f\x2f\x2f\x2f\x2f"
  24389			"\x2f\x2f\x2f\x2f\x2f\x2f\x2f\x2f",
  24390		.klen	= 16,
  24391		.ptext	= "\x2f\x2f\x2f\x2f\x2f\x2f\x2f\x2f"
  24392			"\x2f\x2f\x2f\x2f\x2f\x2f\x2f\x2f",
  24393		.ctext	= "\x04\x74\xf5\x70\x50\x16\xd3\xb8"
  24394			"\x04\x74\xf5\x70\x50\x16\xd3\xb8",
  24395		.len	= 16,
  24396	},
  24397};
  24398
  24399/*
  24400 * Anubis test vectors.
  24401 */
  24402
  24403static const struct cipher_testvec anubis_tv_template[] = {
  24404	{
  24405		.key	= "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe"
  24406			  "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe",
  24407		.klen	= 16,
  24408		.ptext	= "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe"
  24409			  "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe",
  24410		.ctext	= "\x6d\xc5\xda\xa2\x26\x7d\x62\x6f"
  24411			  "\x08\xb7\x52\x8e\x6e\x6e\x86\x90",
  24412		.len	= 16,
  24413	}, {
  24414
  24415		.key	= "\x03\x03\x03\x03\x03\x03\x03\x03"
  24416			  "\x03\x03\x03\x03\x03\x03\x03\x03"
  24417			  "\x03\x03\x03\x03",
  24418		.klen	= 20,
  24419		.ptext	= "\x03\x03\x03\x03\x03\x03\x03\x03"
  24420			  "\x03\x03\x03\x03\x03\x03\x03\x03",
  24421		.ctext	= "\xdb\xf1\x42\xf4\xd1\x8a\xc7\x49"
  24422			  "\x87\x41\x6f\x82\x0a\x98\x64\xae",
  24423		.len	= 16,
  24424	}, {
  24425		.key	= "\x24\x24\x24\x24\x24\x24\x24\x24"
  24426			  "\x24\x24\x24\x24\x24\x24\x24\x24"
  24427			  "\x24\x24\x24\x24\x24\x24\x24\x24"
  24428			  "\x24\x24\x24\x24",
  24429		.klen	= 28,
  24430		.ptext	= "\x24\x24\x24\x24\x24\x24\x24\x24"
  24431			  "\x24\x24\x24\x24\x24\x24\x24\x24",
  24432		.ctext	= "\xfd\x1b\x4a\xe3\xbf\xf0\xad\x3d"
  24433			  "\x06\xd3\x61\x27\xfd\x13\x9e\xde",
  24434		.len	= 16,
  24435	}, {
  24436		.key	= "\x25\x25\x25\x25\x25\x25\x25\x25"
  24437			  "\x25\x25\x25\x25\x25\x25\x25\x25"
  24438			  "\x25\x25\x25\x25\x25\x25\x25\x25"
  24439			  "\x25\x25\x25\x25\x25\x25\x25\x25",
  24440		.klen	= 32,
  24441		.ptext	= "\x25\x25\x25\x25\x25\x25\x25\x25"
  24442			  "\x25\x25\x25\x25\x25\x25\x25\x25",
  24443		.ctext	= "\x1a\x91\xfb\x2b\xb7\x78\x6b\xc4"
  24444			"\x17\xd9\xff\x40\x3b\x0e\xe5\xfe",
  24445		.len	= 16,
  24446	}, {
  24447		.key	= "\x35\x35\x35\x35\x35\x35\x35\x35"
  24448			  "\x35\x35\x35\x35\x35\x35\x35\x35"
  24449			  "\x35\x35\x35\x35\x35\x35\x35\x35"
  24450			  "\x35\x35\x35\x35\x35\x35\x35\x35"
  24451			  "\x35\x35\x35\x35\x35\x35\x35\x35",
  24452		.klen	= 40,
  24453		.ptext	= "\x35\x35\x35\x35\x35\x35\x35\x35"
  24454			  "\x35\x35\x35\x35\x35\x35\x35\x35",
  24455		.ctext	= "\xa5\x2c\x85\x6f\x9c\xba\xa0\x97"
  24456			  "\x9e\xc6\x84\x0f\x17\x21\x07\xee",
  24457		.len	= 16,
  24458	},
  24459};
  24460
  24461static const struct cipher_testvec anubis_cbc_tv_template[] = {
  24462	{
  24463		.key	= "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe"
  24464			  "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe",
  24465		.klen	= 16,
  24466		.iv_out	= "\x86\xd8\xb5\x6f\x98\x5e\x8a\x66"
  24467			  "\x4f\x1f\x78\xa1\xbb\x37\xf1\xbe",
  24468		.ptext	= "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe"
  24469			  "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe"
  24470			  "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe"
  24471			  "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe",
  24472		.ctext	= "\x6d\xc5\xda\xa2\x26\x7d\x62\x6f"
  24473			  "\x08\xb7\x52\x8e\x6e\x6e\x86\x90"
  24474			  "\x86\xd8\xb5\x6f\x98\x5e\x8a\x66"
  24475			  "\x4f\x1f\x78\xa1\xbb\x37\xf1\xbe",
  24476		.len	= 32,
  24477	}, {
  24478		.key	= "\x35\x35\x35\x35\x35\x35\x35\x35"
  24479			  "\x35\x35\x35\x35\x35\x35\x35\x35"
  24480			  "\x35\x35\x35\x35\x35\x35\x35\x35"
  24481			  "\x35\x35\x35\x35\x35\x35\x35\x35"
  24482			  "\x35\x35\x35\x35\x35\x35\x35\x35",
  24483		.klen	= 40,
  24484		.iv_out	= "\xa2\xbc\x06\x98\xc6\x4b\xda\x75"
  24485			  "\x2e\xaa\xbe\x58\xce\x01\x5b\xc7",
  24486		.ptext	= "\x35\x35\x35\x35\x35\x35\x35\x35"
  24487			  "\x35\x35\x35\x35\x35\x35\x35\x35"
  24488			  "\x35\x35\x35\x35\x35\x35\x35\x35"
  24489			  "\x35\x35\x35\x35\x35\x35\x35\x35",
  24490		.ctext	= "\xa5\x2c\x85\x6f\x9c\xba\xa0\x97"
  24491			  "\x9e\xc6\x84\x0f\x17\x21\x07\xee"
  24492			  "\xa2\xbc\x06\x98\xc6\x4b\xda\x75"
  24493			  "\x2e\xaa\xbe\x58\xce\x01\x5b\xc7",
  24494		.len	= 32,
  24495	},
  24496};
  24497
  24498/*
  24499 * XETA test vectors
  24500 */
  24501static const struct cipher_testvec xeta_tv_template[] = {
  24502	{
  24503		.key    = zeroed_string,
  24504		.klen	= 16,
  24505		.ptext	= zeroed_string,
  24506		.ctext	= "\xaa\x22\x96\xe5\x6c\x61\xf3\x45",
  24507		.len	= 8,
  24508	}, {
  24509		.key	= "\x2b\x02\x05\x68\x06\x14\x49\x76"
  24510			  "\x77\x5d\x0e\x26\x6c\x28\x78\x43",
  24511		.klen	= 16,
  24512		.ptext	= "\x74\x65\x73\x74\x20\x6d\x65\x2e",
  24513		.ctext	= "\x82\x3e\xeb\x35\xdc\xdd\xd9\xc3",
  24514		.len	= 8,
  24515	}, {
  24516		.key	= "\x09\x65\x43\x11\x66\x44\x39\x25"
  24517			  "\x51\x3a\x16\x10\x0a\x08\x12\x6e",
  24518		.klen	= 16,
  24519		.ptext	= "\x6c\x6f\x6e\x67\x65\x72\x5f\x74"
  24520			  "\x65\x73\x74\x5f\x76\x65\x63\x74",
  24521		.ctext	= "\xe2\x04\xdb\xf2\x89\x85\x9e\xea"
  24522			  "\x61\x35\xaa\xed\xb5\xcb\x71\x2c",
  24523		.len	= 16,
  24524	}, {
  24525		.key	= "\x4d\x76\x32\x17\x05\x3f\x75\x2c"
  24526			  "\x5d\x04\x16\x36\x15\x72\x63\x2f",
  24527		.klen	= 16,
  24528		.ptext	= "\x54\x65\x61\x20\x69\x73\x20\x67"
  24529			  "\x6f\x6f\x64\x20\x66\x6f\x72\x20"
  24530			  "\x79\x6f\x75\x21\x21\x21\x20\x72"
  24531			  "\x65\x61\x6c\x6c\x79\x21\x21\x21",
  24532		.ctext	= "\x0b\x03\xcd\x8a\xbe\x95\xfd\xb1"
  24533			  "\xc1\x44\x91\x0b\xa5\xc9\x1b\xb4"
  24534			  "\xa9\xda\x1e\x9e\xb1\x3e\x2a\x8f"
  24535			  "\xea\xa5\x6a\x85\xd1\xf4\xa8\xa5",
  24536		.len	= 32,
  24537	}
  24538};
  24539
  24540/*
  24541 * FCrypt test vectors
  24542 */
  24543static const struct cipher_testvec fcrypt_pcbc_tv_template[] = {
  24544	{ /* http://www.openafs.org/pipermail/openafs-devel/2000-December/005320.html */
  24545		.key	= "\x00\x00\x00\x00\x00\x00\x00\x00",
  24546		.klen	= 8,
  24547		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00",
  24548		.ptext	= "\x00\x00\x00\x00\x00\x00\x00\x00",
  24549		.ctext	= "\x0E\x09\x00\xC7\x3E\xF7\xED\x41",
  24550		.len	= 8,
  24551	}, {
  24552		.key	= "\x11\x44\x77\xAA\xDD\x00\x33\x66",
  24553		.klen	= 8,
  24554		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00",
  24555		.ptext	= "\x12\x34\x56\x78\x9A\xBC\xDE\xF0",
  24556		.ctext	= "\xD8\xED\x78\x74\x77\xEC\x06\x80",
  24557		.len	= 8,
  24558	}, { /* From Arla */
  24559		.key	= "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87",
  24560		.klen	= 8,
  24561		.iv	= "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  24562		.ptext	= "The quick brown fox jumps over the lazy dogs.\0\0",
  24563		.ctext	= "\x00\xf0\x0e\x11\x75\xe6\x23\x82"
  24564			  "\xee\xac\x98\x62\x44\x51\xe4\x84"
  24565			  "\xc3\x59\xd8\xaa\x64\x60\xae\xf7"
  24566			  "\xd2\xd9\x13\x79\x72\xa3\x45\x03"
  24567			  "\x23\xb5\x62\xd7\x0c\xf5\x27\xd1"
  24568			  "\xf8\x91\x3c\xac\x44\x22\x92\xef",
  24569		.len	= 48,
  24570	}, {
  24571		.key	= "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  24572		.klen	= 8,
  24573		.iv	= "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87",
  24574		.ptext	= "The quick brown fox jumps over the lazy dogs.\0\0",
  24575		.ctext	= "\xca\x90\xf5\x9d\xcb\xd4\xd2\x3c"
  24576			  "\x01\x88\x7f\x3e\x31\x6e\x62\x9d"
  24577			  "\xd8\xe0\x57\xa3\x06\x3a\x42\x58"
  24578			  "\x2a\x28\xfe\x72\x52\x2f\xdd\xe0"
  24579			  "\x19\x89\x09\x1c\x2a\x8e\x8c\x94"
  24580			  "\xfc\xc7\x68\xe4\x88\xaa\xde\x0f",
  24581		.len	= 48,
  24582	}
  24583};
  24584
  24585/*
  24586 * CAMELLIA test vectors.
  24587 */
  24588static const struct cipher_testvec camellia_tv_template[] = {
  24589	{
  24590		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  24591			  "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  24592		.klen	= 16,
  24593		.ptext	= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  24594			  "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  24595		.ctext	= "\x67\x67\x31\x38\x54\x96\x69\x73"
  24596			  "\x08\x57\x06\x56\x48\xea\xbe\x43",
  24597		.len	= 16,
  24598	}, {
  24599		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  24600			  "\xfe\xdc\xba\x98\x76\x54\x32\x10"
  24601			  "\x00\x11\x22\x33\x44\x55\x66\x77",
  24602		.klen	= 24,
  24603		.ptext	= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  24604			  "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  24605		.ctext	= "\xb4\x99\x34\x01\xb3\xe9\x96\xf8"
  24606			  "\x4e\xe5\xce\xe7\xd7\x9b\x09\xb9",
  24607		.len	= 16,
  24608	}, {
  24609		.key	= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  24610			  "\xfe\xdc\xba\x98\x76\x54\x32\x10"
  24611			  "\x00\x11\x22\x33\x44\x55\x66\x77"
  24612			  "\x88\x99\xaa\xbb\xcc\xdd\xee\xff",
  24613		.klen	= 32,
  24614		.ptext	= "\x01\x23\x45\x67\x89\xab\xcd\xef"
  24615			  "\xfe\xdc\xba\x98\x76\x54\x32\x10",
  24616		.ctext	= "\x9a\xcc\x23\x7d\xff\x16\xd7\x6c"
  24617			  "\x20\xef\x7c\x91\x9e\x3a\x75\x09",
  24618		.len	= 16,
  24619	}, { /* Generated with Crypto++ */
  24620		.key	= "\x3F\x85\x62\x3F\x1C\xF9\xD6\x1C"
  24621			  "\xF9\xD6\xB3\x90\x6D\x4A\x90\x6D"
  24622			  "\x4A\x27\x04\xE1\x27\x04\xE1\xBE"
  24623			  "\x9B\x78\xBE\x9B\x78\x55\x32\x0F",
  24624		.klen	= 32,
  24625		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  24626			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  24627			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  24628			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  24629			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  24630			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  24631			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  24632			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  24633			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  24634			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  24635			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  24636			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  24637			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  24638			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  24639			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  24640			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  24641			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  24642			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  24643			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  24644			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  24645			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  24646			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  24647			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  24648			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  24649			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  24650			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  24651			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  24652			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  24653			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  24654			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  24655			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  24656			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  24657			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  24658			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  24659			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  24660			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  24661			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  24662			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  24663			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  24664			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  24665			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  24666			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  24667			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  24668			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  24669			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  24670			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  24671			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  24672			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  24673			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  24674			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  24675			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  24676			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  24677			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  24678			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  24679			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  24680			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  24681			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  24682			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  24683			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  24684			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  24685			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  24686			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
  24687			  "\x2B\xC2\x59\xF0\x64\xFB\x92\x06"
  24688			  "\x9D\x34\xCB\x3F\xD6\x6D\x04\x78"
  24689			  "\x0F\xA6\x1A\xB1\x48\xDF\x53\xEA"
  24690			  "\x81\x18\x8C\x23\xBA\x2E\xC5\x5C"
  24691			  "\xF3\x67\xFE\x95\x09\xA0\x37\xCE"
  24692			  "\x42\xD9\x70\x07\x7B\x12\xA9\x1D"
  24693			  "\xB4\x4B\xE2\x56\xED\x84\x1B\x8F"
  24694			  "\x26\xBD\x31\xC8\x5F\xF6\x6A\x01"
  24695			  "\x98\x0C\xA3\x3A\xD1\x45\xDC\x73"
  24696			  "\x0A\x7E\x15\xAC\x20\xB7\x4E\xE5"
  24697			  "\x59\xF0\x87\x1E\x92\x29\xC0\x34"
  24698			  "\xCB\x62\xF9\x6D\x04\x9B\x0F\xA6"
  24699			  "\x3D\xD4\x48\xDF\x76\x0D\x81\x18"
  24700			  "\xAF\x23\xBA\x51\xE8\x5C\xF3\x8A"
  24701			  "\x21\x95\x2C\xC3\x37\xCE\x65\xFC"
  24702			  "\x70\x07\x9E\x12\xA9\x40\xD7\x4B"
  24703			  "\xE2\x79\x10\x84\x1B\xB2\x26\xBD"
  24704			  "\x54\xEB\x5F\xF6\x8D\x01\x98\x2F"
  24705			  "\xC6\x3A\xD1\x68\xFF\x73\x0A\xA1"
  24706			  "\x15\xAC\x43\xDA\x4E\xE5\x7C\x13"
  24707			  "\x87\x1E\xB5\x29\xC0\x57\xEE\x62"
  24708			  "\xF9\x90\x04\x9B\x32\xC9\x3D\xD4"
  24709			  "\x6B\x02\x76\x0D\xA4\x18\xAF\x46"
  24710			  "\xDD\x51\xE8\x7F\x16\x8A\x21\xB8"
  24711			  "\x2C\xC3\x5A\xF1\x65\xFC\x93\x07"
  24712			  "\x9E\x35\xCC\x40\xD7\x6E\x05\x79"
  24713			  "\x10\xA7\x1B\xB2\x49\xE0\x54\xEB"
  24714			  "\x82\x19\x8D\x24\xBB\x2F\xC6\x5D"
  24715			  "\xF4\x68\xFF\x96\x0A\xA1\x38\xCF"
  24716			  "\x43\xDA\x71\x08\x7C\x13\xAA\x1E"
  24717			  "\xB5\x4C\xE3\x57\xEE\x85\x1C\x90"
  24718			  "\x27\xBE\x32\xC9\x60\xF7\x6B\x02"
  24719			  "\x99\x0D\xA4\x3B\xD2\x46\xDD\x74"
  24720			  "\x0B\x7F\x16\xAD\x21\xB8\x4F\xE6"
  24721			  "\x5A\xF1\x88\x1F\x93\x2A\xC1\x35"
  24722			  "\xCC\x63\xFA\x6E\x05\x9C\x10\xA7"
  24723			  "\x3E\xD5\x49\xE0\x77\x0E\x82\x19"
  24724			  "\xB0\x24\xBB\x52\xE9\x5D\xF4\x8B"
  24725			  "\x22\x96\x2D\xC4\x38\xCF\x66\xFD"
  24726			  "\x71\x08\x9F\x13\xAA\x41\xD8\x4C"
  24727			  "\xE3\x7A\x11\x85\x1C\xB3\x27\xBE"
  24728			  "\x55\xEC\x60\xF7\x8E\x02\x99\x30"
  24729			  "\xC7\x3B\xD2\x69\x00\x74\x0B\xA2"
  24730			  "\x16\xAD\x44\xDB\x4F\xE6\x7D\x14"
  24731			  "\x88\x1F\xB6\x2A\xC1\x58\xEF\x63"
  24732			  "\xFA\x91\x05\x9C\x33\xCA\x3E\xD5"
  24733			  "\x6C\x03\x77\x0E\xA5\x19\xB0\x47"
  24734			  "\xDE\x52\xE9\x80\x17\x8B\x22\xB9"
  24735			  "\x2D\xC4\x5B\xF2\x66\xFD\x94\x08"
  24736			  "\x9F\x36\xCD\x41\xD8\x6F\x06\x7A"
  24737			  "\x11\xA8\x1C\xB3\x4A\xE1\x55\xEC"
  24738			  "\x83\x1A\x8E\x25\xBC\x30\xC7\x5E"
  24739			  "\xF5\x69\x00\x97\x0B\xA2\x39\xD0"
  24740			  "\x44\xDB\x72\x09\x7D\x14\xAB\x1F"
  24741			  "\xB6\x4D\xE4\x58\xEF\x86\x1D\x91"
  24742			  "\x28\xBF\x33\xCA\x61\xF8\x6C\x03"
  24743			  "\x9A\x0E\xA5\x3C\xD3\x47\xDE\x75"
  24744			  "\x0C\x80\x17\xAE\x22\xB9\x50\xE7"
  24745			  "\x5B\xF2\x89\x20\x94\x2B\xC2\x36"
  24746			  "\xCD\x64\xFB\x6F\x06\x9D\x11\xA8"
  24747			  "\x3F\xD6\x4A\xE1\x78\x0F\x83\x1A"
  24748			  "\xB1\x25\xBC\x53\xEA\x5E\xF5\x8C"
  24749			  "\x00\x97\x2E\xC5\x39\xD0\x67\xFE"
  24750			  "\x72\x09\xA0\x14\xAB\x42\xD9\x4D",
  24751		.ctext	= "\xED\xCD\xDB\xB8\x68\xCE\xBD\xEA"
  24752			  "\x9D\x9D\xCD\x9F\x4F\xFC\x4D\xB7"
  24753			  "\xA5\xFF\x6F\x43\x0F\xBA\x32\x04"
  24754			  "\xB3\xC2\xB9\x03\xAA\x91\x56\x29"
  24755			  "\x0D\xD0\xFD\xC4\x65\xA5\x69\xB9"
  24756			  "\xF1\xF6\xB1\xA5\xB2\x75\x4F\x8A"
  24757			  "\x8D\x7D\x1B\x9B\xC7\x68\x72\xF8"
  24758			  "\x01\x9B\x17\x0A\x29\xE7\x61\x28"
  24759			  "\x7F\xA7\x50\xCA\x20\x2C\x96\x3B"
  24760			  "\x6E\x5C\x5D\x3F\xB5\x7F\xF3\x2B"
  24761			  "\x04\xEF\x9D\xD4\xCE\x41\x28\x8E"
  24762			  "\x83\x54\xAE\x7C\x82\x46\x10\xC9"
  24763			  "\xC4\x8A\x1E\x1F\x4C\xA9\xFC\xEC"
  24764			  "\x3C\x8C\x30\xFC\x59\xD2\x54\xC4"
  24765			  "\x6F\x50\xC6\xCA\x8C\x14\x5B\x9C"
  24766			  "\x18\x56\x5B\xF8\x33\x0E\x4A\xDB"
  24767			  "\xEC\xB5\x6E\x5B\x31\xC4\x0E\x98"
  24768			  "\x9F\x32\xBA\xA2\x18\xCF\x55\x43"
  24769			  "\xFE\x80\x8F\x60\xCF\x05\x30\x9B"
  24770			  "\x70\x50\x1E\x9C\x08\x87\xE6\x20"
  24771			  "\xD2\xF3\x27\xF8\x2A\x8D\x12\xB2"
  24772			  "\xBC\x5F\xFE\x52\x52\xF6\x7F\xB6"
  24773			  "\xB8\x30\x86\x3B\x0F\x94\x1E\x79"
  24774			  "\x13\x94\x35\xA2\xB1\x35\x5B\x05"
  24775			  "\x2A\x98\x6B\x96\x4C\xB1\x20\xBE"
  24776			  "\xB6\x14\xC2\x06\xBF\xFD\x5F\x2A"
  24777			  "\xF5\x33\xC8\x19\x45\x14\x44\x5D"
  24778			  "\xFE\x94\x7B\xBB\x63\x13\x57\xC3"
  24779			  "\x2A\x8F\x6C\x11\x2A\x07\xA7\x6A"
  24780			  "\xBF\x20\xD3\x99\xC6\x00\x0B\xBF"
  24781			  "\x83\x46\x25\x3A\xB0\xF6\xC5\xC8"
  24782			  "\x00\xCA\xE5\x28\x4A\x7C\x95\x9C"
  24783			  "\x7B\x43\xAB\xF9\xE4\xF8\x74\xAB"
  24784			  "\xA7\xB8\x9C\x0F\x53\x7B\xB6\x74"
  24785			  "\x60\x64\x0D\x1C\x80\xD1\x20\x9E"
  24786			  "\xDC\x14\x27\x9B\xFC\xBD\x5C\x96"
  24787			  "\xD2\x51\xDC\x96\xEE\xE5\xEA\x2B"
  24788			  "\x02\x7C\xAA\x3C\xDC\x9D\x7B\x01"
  24789			  "\x20\xC3\xE1\x0B\xDD\xAB\xF3\x1E"
  24790			  "\x19\xA8\x84\x29\x5F\xCC\xC3\x5B"
  24791			  "\xE4\x33\x59\xDC\x12\xEB\x2B\x4D"
  24792			  "\x5B\x55\x23\xB7\x40\x31\xDE\xEE"
  24793			  "\x18\xC9\x3C\x4D\xBC\xED\xE0\x42"
  24794			  "\xAD\xDE\xA0\xA3\xC3\xFE\x44\xD3"
  24795			  "\xE1\x9A\xDA\xAB\x32\xFC\x1A\xBF"
  24796			  "\x63\xA9\xF0\x6A\x08\x46\xBD\x48"
  24797			  "\x83\x06\xAB\x82\x99\x01\x16\x1A"
  24798			  "\x03\x36\xC5\x59\x6B\xB8\x8C\x9F"
  24799			  "\xC6\x51\x3D\xE5\x7F\xBF\xAB\xBC"
  24800			  "\xC9\xA1\x88\x34\x5F\xA9\x7C\x3B"
  24801			  "\x9F\x1B\x98\x2B\x4F\xFB\x9B\xF0"
  24802			  "\xCD\xB6\x45\xB2\x29\x2E\x34\x23"
  24803			  "\xA9\x97\xC0\x22\x8C\x42\x9B\x5F"
  24804			  "\x40\xC8\xD7\x3D\x82\x9A\x6F\xAA"
  24805			  "\x74\x83\x29\x05\xE8\xC4\x4D\x01"
  24806			  "\xB5\xE5\x84\x3F\x7F\xD3\xE0\x99"
  24807			  "\xDA\xE7\x6F\x30\xFD\xAA\x92\x30"
  24808			  "\xA5\x46\x8B\xA2\xE6\x58\x62\x7C"
  24809			  "\x2C\x35\x1B\x38\x85\x7D\xE8\xF3"
  24810			  "\x87\x4F\xDA\xD8\x5F\xFC\xB6\x44"
  24811			  "\xD0\xE3\x9B\x8B\xBF\xD6\xB8\xC4"
  24812			  "\x73\xAE\x1D\x8B\x5B\x74\x8B\xCB"
  24813			  "\xA4\xAD\xCF\x5D\xD4\x58\xC9\xCD"
  24814			  "\xF7\x90\x68\xCF\xC9\x11\x52\x3E"
  24815			  "\xE8\xA1\xA3\x78\x8B\xD0\xAC\x0A"
  24816			  "\xD4\xC9\xA3\xA5\x55\x30\xC8\x3E"
  24817			  "\xED\x28\x39\xE9\x63\xED\x41\x70"
  24818			  "\x51\xE3\xC4\xA0\xFC\xD5\x43\xCB"
  24819			  "\x4D\x65\xC8\xFD\x3A\x91\x8F\x60"
  24820			  "\x8A\xA6\x6D\x9D\x3E\x01\x23\x4B"
  24821			  "\x50\x47\xC9\xDC\x9B\xDE\x37\xC5"
  24822			  "\xBF\x67\xB1\x6B\x78\x38\xD5\x7E"
  24823			  "\xB6\xFF\x67\x83\x3B\x6E\xBE\x23"
  24824			  "\x45\xFA\x1D\x69\x44\xFD\xC6\xB9"
  24825			  "\xD0\x4A\x92\xD1\xBE\xF6\x4A\xB7"
  24826			  "\xCA\xA8\xA2\x9E\x13\x87\x57\x92"
  24827			  "\x64\x7C\x85\x0B\xB3\x29\x37\xD8"
  24828			  "\xE6\xAA\xAF\xC4\x03\x67\xA3\xBF"
  24829			  "\x2E\x45\x83\xB6\xD8\x54\x00\x89"
  24830			  "\xF6\xBC\x3A\x7A\x88\x58\x51\xED"
  24831			  "\xF4\x4E\x01\xA5\xC3\x2E\xD9\x42"
  24832			  "\xBD\x6E\x0D\x0B\x21\xB0\x1A\xCC"
  24833			  "\xA4\xD3\x3F\xDC\x9B\x81\xD8\xF1"
  24834			  "\xEA\x7A\x6A\xB7\x07\xC9\x6D\x91"
  24835			  "\x6D\x3A\xF5\x5F\xA6\xFF\x87\x1E"
  24836			  "\x3F\xDD\xC0\x72\xEA\xAC\x08\x15"
  24837			  "\x21\xE6\xC6\xB6\x0D\xD8\x51\x86"
  24838			  "\x2A\x03\x73\xF7\x29\xD4\xC4\xE4"
  24839			  "\x7F\x95\x10\xF7\xAB\x3F\x92\x23"
  24840			  "\xD3\xCE\x9C\x2E\x46\x3B\x63\x43"
  24841			  "\xBB\xC2\x82\x7A\x83\xD5\x55\xE2"
  24842			  "\xE7\x9B\x2F\x92\xAF\xFD\x81\x56"
  24843			  "\x79\xFD\x3E\xF9\x46\xE0\x25\xD4"
  24844			  "\x38\xDE\xBC\x2C\xC4\x7A\x2A\x8F"
  24845			  "\x94\x4F\xD0\xAD\x9B\x37\x18\xD4"
  24846			  "\x0E\x4D\x0F\x02\x3A\xDC\x5A\xA2"
  24847			  "\x39\x25\x55\x20\x5A\xA6\x02\x9F"
  24848			  "\xE6\x77\x21\x77\xE5\x4B\x7B\x0B"
  24849			  "\x30\xF8\x5F\x33\x0F\x49\xCD\xFF"
  24850			  "\xF2\xE4\x35\xF9\xF0\x63\xC3\x7E"
  24851			  "\xF1\xA6\x73\xB4\xDF\xE7\xBB\x78"
  24852			  "\xFF\x21\xA9\xF3\xF3\xCF\x5D\xBA"
  24853			  "\xED\x87\x98\xAC\xFE\x48\x97\x6D"
  24854			  "\xA6\x7F\x69\x31\xB1\xC4\xFF\x14"
  24855			  "\xC6\x76\xD4\x10\xDD\xF6\x49\x2C"
  24856			  "\x9C\xC8\x6D\x76\xC0\x8F\x5F\x55"
  24857			  "\x2F\x3C\x8A\x30\xAA\xC3\x16\x55"
  24858			  "\xC6\xFC\x8D\x8B\xB9\xE5\x80\x6C"
  24859			  "\xC8\x7E\xBD\x65\x58\x36\xD5\xBC"
  24860			  "\xF0\x33\x52\x29\x70\xF9\x5C\xE9"
  24861			  "\xAC\x1F\xB5\x73\x56\x66\x54\xAF"
  24862			  "\x1B\x8F\x7D\xED\xAB\x03\xCE\xE3"
  24863			  "\xAE\x47\xB6\x69\x86\xE9\x01\x31"
  24864			  "\x83\x18\x3D\xF4\x74\x7B\xF9\x42"
  24865			  "\x4C\xFD\x75\x4A\x6D\xF0\x03\xA6"
  24866			  "\x2B\x20\x63\xDA\x49\x65\x5E\x8B"
  24867			  "\xC0\x19\xE3\x8D\xD9\xF3\xB0\x34"
  24868			  "\xD3\x52\xFC\x68\x00\x43\x1B\x37"
  24869			  "\x31\x93\x51\x1C\x63\x97\x70\xB0"
  24870			  "\x99\x78\x83\x13\xFD\xCF\x53\x81"
  24871			  "\x36\x46\xB5\x42\x52\x2F\x32\xEB"
  24872			  "\x4A\x3D\xF1\x8F\x1C\x54\x2E\xFC"
  24873			  "\x41\x75\x5A\x8C\x8E\x6F\xE7\x1A"
  24874			  "\xAE\xEF\x3E\x82\x12\x0B\x74\x72"
  24875			  "\xF8\xB2\xAA\x7A\xD6\xFF\xFA\x55"
  24876			  "\x33\x1A\xBB\xD3\xA2\x7E\x97\x66",
  24877		.len	= 1008,
  24878	},
  24879};
  24880
  24881static const struct cipher_testvec camellia_cbc_tv_template[] = {
  24882	{
  24883		.key    = "\x06\xa9\x21\x40\x36\xb8\xa1\x5b"
  24884			  "\x51\x2e\x03\xd5\x34\x12\x00\x06",
  24885		.klen   = 16,
  24886		.iv	= "\x3d\xaf\xba\x42\x9d\x9e\xb4\x30"
  24887			  "\xb4\x22\xda\x80\x2c\x9f\xac\x41",
  24888		.iv_out	= "\xea\x32\x12\x76\x3b\x50\x10\xe7"
  24889			  "\x18\xf6\xfd\x5d\xf6\x8f\x13\x51",
  24890		.ptext	= "Single block msg",
  24891		.ctext	= "\xea\x32\x12\x76\x3b\x50\x10\xe7"
  24892			  "\x18\xf6\xfd\x5d\xf6\x8f\x13\x51",
  24893		.len	= 16,
  24894	}, {
  24895		.key    = "\xc2\x86\x69\x6d\x88\x7c\x9a\xa0"
  24896			  "\x61\x1b\xbb\x3e\x20\x25\xa4\x5a",
  24897		.klen   = 16,
  24898		.iv     = "\x56\x2e\x17\x99\x6d\x09\x3d\x28"
  24899			  "\xdd\xb3\xba\x69\x5a\x2e\x6f\x58",
  24900		.iv_out	= "\x19\xb4\x3e\x57\x1c\x02\x5e\xa0"
  24901			  "\x15\x78\xe0\x5e\xf2\xcb\x87\x16",
  24902		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  24903			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  24904			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  24905			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f",
  24906		.ctext	= "\xa5\xdf\x6e\x50\xda\x70\x6c\x01"
  24907			  "\x4a\xab\xf3\xf2\xd6\xfc\x6c\xfd"
  24908			  "\x19\xb4\x3e\x57\x1c\x02\x5e\xa0"
  24909			  "\x15\x78\xe0\x5e\xf2\xcb\x87\x16",
  24910		.len	= 32,
  24911	}, { /* Generated with Crypto++ */
  24912		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  24913			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
  24914			  "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
  24915			  "\x78\xBE\x9B\x78\x55\x32\x0F\x55",
  24916		.klen	= 32,
  24917		.iv	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F"
  24918			  "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64",
  24919		.iv_out	= "\x55\x01\xD4\x58\xB2\xF2\x85\x49"
  24920			  "\x70\xC5\xB9\x0B\x3B\x7A\x6E\x6C",
  24921		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  24922			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  24923			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  24924			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  24925			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  24926			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  24927			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  24928			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  24929			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  24930			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  24931			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  24932			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  24933			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  24934			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  24935			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  24936			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  24937			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  24938			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  24939			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  24940			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  24941			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  24942			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  24943			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  24944			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  24945			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  24946			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  24947			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  24948			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  24949			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  24950			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  24951			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  24952			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  24953			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  24954			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  24955			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  24956			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  24957			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  24958			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  24959			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  24960			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  24961			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  24962			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  24963			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  24964			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  24965			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  24966			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  24967			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  24968			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  24969			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  24970			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  24971			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  24972			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  24973			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  24974			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  24975			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  24976			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  24977			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  24978			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  24979			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  24980			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  24981			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  24982			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
  24983			  "\x2B\xC2\x59\xF0\x64\xFB\x92\x06"
  24984			  "\x9D\x34\xCB\x3F\xD6\x6D\x04\x78"
  24985			  "\x0F\xA6\x1A\xB1\x48\xDF\x53\xEA"
  24986			  "\x81\x18\x8C\x23\xBA\x2E\xC5\x5C"
  24987			  "\xF3\x67\xFE\x95\x09\xA0\x37\xCE"
  24988			  "\x42\xD9\x70\x07\x7B\x12\xA9\x1D"
  24989			  "\xB4\x4B\xE2\x56\xED\x84\x1B\x8F"
  24990			  "\x26\xBD\x31\xC8\x5F\xF6\x6A\x01"
  24991			  "\x98\x0C\xA3\x3A\xD1\x45\xDC\x73"
  24992			  "\x0A\x7E\x15\xAC\x20\xB7\x4E\xE5"
  24993			  "\x59\xF0\x87\x1E\x92\x29\xC0\x34"
  24994			  "\xCB\x62\xF9\x6D\x04\x9B\x0F\xA6"
  24995			  "\x3D\xD4\x48\xDF\x76\x0D\x81\x18"
  24996			  "\xAF\x23\xBA\x51\xE8\x5C\xF3\x8A"
  24997			  "\x21\x95\x2C\xC3\x37\xCE\x65\xFC"
  24998			  "\x70\x07\x9E\x12\xA9\x40\xD7\x4B"
  24999			  "\xE2\x79\x10\x84\x1B\xB2\x26\xBD"
  25000			  "\x54\xEB\x5F\xF6\x8D\x01\x98\x2F"
  25001			  "\xC6\x3A\xD1\x68\xFF\x73\x0A\xA1"
  25002			  "\x15\xAC\x43\xDA\x4E\xE5\x7C\x13"
  25003			  "\x87\x1E\xB5\x29\xC0\x57\xEE\x62"
  25004			  "\xF9\x90\x04\x9B\x32\xC9\x3D\xD4"
  25005			  "\x6B\x02\x76\x0D\xA4\x18\xAF\x46"
  25006			  "\xDD\x51\xE8\x7F\x16\x8A\x21\xB8"
  25007			  "\x2C\xC3\x5A\xF1\x65\xFC\x93\x07"
  25008			  "\x9E\x35\xCC\x40\xD7\x6E\x05\x79"
  25009			  "\x10\xA7\x1B\xB2\x49\xE0\x54\xEB"
  25010			  "\x82\x19\x8D\x24\xBB\x2F\xC6\x5D"
  25011			  "\xF4\x68\xFF\x96\x0A\xA1\x38\xCF"
  25012			  "\x43\xDA\x71\x08\x7C\x13\xAA\x1E"
  25013			  "\xB5\x4C\xE3\x57\xEE\x85\x1C\x90"
  25014			  "\x27\xBE\x32\xC9\x60\xF7\x6B\x02"
  25015			  "\x99\x0D\xA4\x3B\xD2\x46\xDD\x74"
  25016			  "\x0B\x7F\x16\xAD\x21\xB8\x4F\xE6"
  25017			  "\x5A\xF1\x88\x1F\x93\x2A\xC1\x35"
  25018			  "\xCC\x63\xFA\x6E\x05\x9C\x10\xA7"
  25019			  "\x3E\xD5\x49\xE0\x77\x0E\x82\x19"
  25020			  "\xB0\x24\xBB\x52\xE9\x5D\xF4\x8B"
  25021			  "\x22\x96\x2D\xC4\x38\xCF\x66\xFD"
  25022			  "\x71\x08\x9F\x13\xAA\x41\xD8\x4C"
  25023			  "\xE3\x7A\x11\x85\x1C\xB3\x27\xBE"
  25024			  "\x55\xEC\x60\xF7\x8E\x02\x99\x30"
  25025			  "\xC7\x3B\xD2\x69\x00\x74\x0B\xA2"
  25026			  "\x16\xAD\x44\xDB\x4F\xE6\x7D\x14"
  25027			  "\x88\x1F\xB6\x2A\xC1\x58\xEF\x63"
  25028			  "\xFA\x91\x05\x9C\x33\xCA\x3E\xD5"
  25029			  "\x6C\x03\x77\x0E\xA5\x19\xB0\x47"
  25030			  "\xDE\x52\xE9\x80\x17\x8B\x22\xB9"
  25031			  "\x2D\xC4\x5B\xF2\x66\xFD\x94\x08"
  25032			  "\x9F\x36\xCD\x41\xD8\x6F\x06\x7A"
  25033			  "\x11\xA8\x1C\xB3\x4A\xE1\x55\xEC"
  25034			  "\x83\x1A\x8E\x25\xBC\x30\xC7\x5E"
  25035			  "\xF5\x69\x00\x97\x0B\xA2\x39\xD0"
  25036			  "\x44\xDB\x72\x09\x7D\x14\xAB\x1F"
  25037			  "\xB6\x4D\xE4\x58\xEF\x86\x1D\x91"
  25038			  "\x28\xBF\x33\xCA\x61\xF8\x6C\x03"
  25039			  "\x9A\x0E\xA5\x3C\xD3\x47\xDE\x75"
  25040			  "\x0C\x80\x17\xAE\x22\xB9\x50\xE7"
  25041			  "\x5B\xF2\x89\x20\x94\x2B\xC2\x36"
  25042			  "\xCD\x64\xFB\x6F\x06\x9D\x11\xA8"
  25043			  "\x3F\xD6\x4A\xE1\x78\x0F\x83\x1A"
  25044			  "\xB1\x25\xBC\x53\xEA\x5E\xF5\x8C"
  25045			  "\x00\x97\x2E\xC5\x39\xD0\x67\xFE"
  25046			  "\x72\x09\xA0\x14\xAB\x42\xD9\x4D",
  25047		.ctext	= "\xCD\x3E\x2A\x3B\x3E\x94\xC5\x77"
  25048			  "\xBA\xBB\x5B\xB1\xDE\x7B\xA4\x40"
  25049			  "\x88\x39\xE3\xFD\x94\x4B\x25\x58"
  25050			  "\xE1\x4B\xC4\x18\x7A\xFD\x17\x2B"
  25051			  "\xB9\xF9\xC2\x27\x6A\xB6\x31\x27"
  25052			  "\xA6\xAD\xEF\xE5\x5D\xE4\x02\x01"
  25053			  "\x56\x2E\x10\xC2\x2C\xFF\xC6\x83"
  25054			  "\xB5\xDC\x4F\x63\xAD\x0E\x63\x5E"
  25055			  "\x56\xC8\x18\x3D\x79\x86\x97\xEF"
  25056			  "\x57\x0E\x63\xA1\xC1\x41\x48\xB8"
  25057			  "\x98\xB7\x51\x6D\x18\xF6\x19\x82"
  25058			  "\x37\x49\x88\xA4\xEF\x91\x21\x47"
  25059			  "\x03\x28\xEA\x42\xF4\xFB\x7A\x58"
  25060			  "\x28\x90\x77\x46\xD8\xD2\x35\x16"
  25061			  "\x44\xA9\x9E\x49\x52\x2A\xE4\x16"
  25062			  "\x5D\xF7\x65\xEB\x0F\xC9\x29\xE6"
  25063			  "\xCF\x76\x91\x89\x8A\x94\x39\xFA"
  25064			  "\x6B\x5F\x63\x53\x74\x43\x91\xF5"
  25065			  "\x3F\xBC\x88\x53\xB2\x1A\x02\x3F"
  25066			  "\x9D\x32\x84\xEB\x56\x28\xD6\x06"
  25067			  "\xD5\xB2\x20\xA9\xFC\xC3\x76\x62"
  25068			  "\x32\xCC\x86\xC8\x36\x67\x5E\x7E"
  25069			  "\xA4\xAA\x15\x63\x6B\xA9\x86\xAF"
  25070			  "\x1A\x52\x82\x36\x5F\xF4\x3F\x7A"
  25071			  "\x9B\x78\x62\x3B\x02\x28\x60\xB3"
  25072			  "\xBA\x82\xB1\xDD\xC9\x60\x8F\x47"
  25073			  "\xF1\x6B\xFE\xE5\x39\x34\xA0\x28"
  25074			  "\xA4\xB3\xC9\x7E\xED\x28\x8D\x70"
  25075			  "\xB2\x1D\xFD\xC6\x00\xCF\x1A\x94"
  25076			  "\x28\xF8\xC1\x34\xB7\x58\xA5\x6C"
  25077			  "\x1A\x9D\xE4\xE4\xF6\xB9\xB4\xB0"
  25078			  "\x5D\x51\x54\x9A\x53\xA0\xF9\x32"
  25079			  "\xBD\x31\x54\x14\x7B\x33\xEE\x17"
  25080			  "\xD3\xC7\x1F\x48\xBF\x0B\x22\xA2"
  25081			  "\x7D\x0C\xDF\xD0\x2E\x98\xFA\xD2"
  25082			  "\xFA\xCF\x24\x1D\x99\x9B\xD0\x7E"
  25083			  "\xF4\x4F\x88\xFF\x45\x99\x4A\xF4"
  25084			  "\xF2\x0A\x5B\x3B\x21\xAB\x92\xAE"
  25085			  "\x40\x78\x91\x95\xC4\x2F\xA3\xE8"
  25086			  "\x18\xC7\x07\xA6\xC8\xC0\x66\x33"
  25087			  "\x35\xC0\xB4\xA0\xF8\xEE\x1E\xF3"
  25088			  "\x40\xF5\x40\x54\xF1\x84\x8C\xEA"
  25089			  "\x27\x38\x1F\xF8\x77\xC7\xDF\xD8"
  25090			  "\x1D\xE2\xD9\x59\x40\x4F\x59\xD4"
  25091			  "\xF8\x17\x99\x8D\x58\x2D\x72\x44"
  25092			  "\x9D\x1D\x91\x64\xD6\x3F\x0A\x82"
  25093			  "\xC7\x57\x3D\xEF\xD3\x41\xFA\xA7"
  25094			  "\x68\xA3\xB8\xA5\x93\x74\x2E\x85"
  25095			  "\x4C\x9D\x69\x59\xCE\x15\xAE\xBF"
  25096			  "\x9C\x8F\x14\x64\x5D\x7F\xCF\x0B"
  25097			  "\xCE\x43\x5D\x28\xC0\x2F\xFB\x18"
  25098			  "\x79\x9A\xFC\x43\x16\x7C\x6B\x7B"
  25099			  "\x38\xB8\x48\x36\x66\x4E\x20\x43"
  25100			  "\xBA\x76\x13\x9A\xC3\xF2\xEB\x52"
  25101			  "\xD7\xDC\xB2\x67\x63\x14\x25\xCD"
  25102			  "\xB1\x13\x4B\xDE\x8C\x59\x21\x84"
  25103			  "\x81\x8D\x97\x23\x45\x33\x7C\xF3"
  25104			  "\xC5\xBC\x79\x95\xAA\x84\x68\x31"
  25105			  "\x2D\x1A\x68\xFE\xEC\x92\x94\xDA"
  25106			  "\x94\x2A\x6F\xD6\xFE\xE5\x76\x97"
  25107			  "\xF4\x6E\xEE\xCB\x2B\x95\x4E\x36"
  25108			  "\x5F\x74\x8C\x86\x5B\x71\xD0\x20"
  25109			  "\x78\x1A\x7F\x18\x8C\xD9\xCD\xF5"
  25110			  "\x21\x41\x56\x72\x13\xE1\x86\x07"
  25111			  "\x07\x26\xF3\x4F\x7B\xEA\xB5\x18"
  25112			  "\xFE\x94\x2D\x9F\xE0\x72\x18\x65"
  25113			  "\xB2\xA5\x63\x48\xB4\x13\x22\xF7"
  25114			  "\x25\xF1\x80\xA8\x7F\x54\x86\x7B"
  25115			  "\x39\xAE\x95\x0C\x09\x32\x22\x2D"
  25116			  "\x4D\x73\x39\x0C\x09\x2C\x7C\x10"
  25117			  "\xD0\x4B\x53\xF6\x90\xC5\x99\x2F"
  25118			  "\x15\xE1\x7F\xC6\xC5\x7A\x52\x14"
  25119			  "\x65\xEE\x93\x54\xD0\x66\x15\x3C"
  25120			  "\x4C\x68\xFD\x64\x0F\xF9\x10\x39"
  25121			  "\x46\x7A\xDD\x97\x20\xEE\xC7\xD2"
  25122			  "\x98\x4A\xB6\xE6\xF5\xA8\x1F\x4F"
  25123			  "\xDB\xAB\x6D\xD5\x9B\x34\x16\x97"
  25124			  "\x2F\x64\xE5\x37\xEF\x0E\xA1\xE9"
  25125			  "\xBE\x31\x31\x96\x8B\x40\x18\x75"
  25126			  "\x11\x75\x14\x32\xA5\x2D\x1B\x6B"
  25127			  "\xDB\x59\xEB\xFA\x3D\x8E\x7C\xC4"
  25128			  "\xDE\x68\xC8\x9F\xC9\x99\xE3\xC6"
  25129			  "\x71\xB0\x12\x57\x89\x0D\xC0\x2B"
  25130			  "\x9F\x12\x6A\x04\x67\xF1\x95\x31"
  25131			  "\x59\xFD\x84\x95\x2C\x9C\x5B\xEC"
  25132			  "\x09\xB0\x43\x96\x4A\x64\x80\x40"
  25133			  "\xB9\x72\x19\xDD\x70\x42\xFA\xB1"
  25134			  "\x4A\x2C\x0C\x0A\x60\x6E\xE3\x7C"
  25135			  "\x37\x5A\xBE\xA4\x62\xCF\x29\xAB"
  25136			  "\x7F\x4D\xA6\xB3\xE2\xB6\x64\xC6"
  25137			  "\x33\x0B\xF3\xD5\x01\x38\x74\xA4"
  25138			  "\x67\x1E\x75\x68\xC3\xAD\x76\xE9"
  25139			  "\xE9\xBC\xF0\xEB\xD8\xFD\x31\x8A"
  25140			  "\x5F\xC9\x18\x94\x4B\x86\x66\xFC"
  25141			  "\xBD\x0B\x3D\xB3\x9F\xFA\x1F\xD9"
  25142			  "\x78\xC4\xE3\x24\x1C\x67\xA2\xF8"
  25143			  "\x43\xBC\x76\x75\xBF\x6C\x05\xB3"
  25144			  "\x32\xE8\x7C\x80\xDB\xC7\xB6\x61"
  25145			  "\x1A\x3E\x2B\xA7\x25\xED\x8F\xA0"
  25146			  "\x00\x4B\xF8\x90\xCA\xD8\xFB\x12"
  25147			  "\xAC\x1F\x18\xE9\xD2\x5E\xA2\x8E"
  25148			  "\xE4\x84\x6B\x9D\xEB\x1E\x6B\xA3"
  25149			  "\x7B\xDC\xCE\x15\x97\x27\xB2\x65"
  25150			  "\xBC\x0E\x47\xAB\x55\x13\x53\xAB"
  25151			  "\x0E\x34\x55\x02\x5F\x27\xC5\x89"
  25152			  "\xDF\xC5\x70\xC4\xDD\x76\x82\xEE"
  25153			  "\x68\xA6\x09\xB0\xE5\x5E\xF1\x0C"
  25154			  "\xE3\xF3\x09\x9B\xFE\x65\x4B\xB8"
  25155			  "\x30\xEC\xD5\x7C\x6A\xEC\x1D\xD2"
  25156			  "\x93\xB7\xA1\x1A\x02\xD4\xC0\xD6"
  25157			  "\x8D\x4D\x83\x9A\xED\x29\x4E\x14"
  25158			  "\x86\xD5\x3C\x1A\xD5\xB9\x0A\x6A"
  25159			  "\x72\x22\xD5\x92\x38\xF1\xA1\x86"
  25160			  "\xB2\x41\x51\xCA\x4E\xAB\x8F\xD3"
  25161			  "\x80\x56\xC3\xD7\x65\xE1\xB3\x86"
  25162			  "\xCB\xCE\x98\xA1\xD4\x59\x1C\x06"
  25163			  "\x01\xED\xF8\x29\x91\x19\x5C\x9A"
  25164			  "\xEE\x28\x1B\x48\xD7\x32\xEF\x9F"
  25165			  "\x6C\x2B\x66\x4E\x78\xD5\x8B\x72"
  25166			  "\x80\xE7\x29\xDC\x23\x55\x98\x54"
  25167			  "\xB1\xFF\x3E\x95\x56\xA8\x78\x78"
  25168			  "\xEF\xC4\xA5\x11\x2D\x2B\xD8\x93"
  25169			  "\x30\x6E\x7E\x51\xBB\x42\x5F\x03"
  25170			  "\x43\x94\x23\x7E\xEE\xF0\xA5\x79"
  25171			  "\x55\x01\xD4\x58\xB2\xF2\x85\x49"
  25172			  "\x70\xC5\xB9\x0B\x3B\x7A\x6E\x6C",
  25173		.len	= 1008,
  25174	},
  25175};
  25176
  25177static const struct cipher_testvec camellia_ctr_tv_template[] = {
  25178	{ /* Generated with Crypto++ */
  25179		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  25180			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
  25181			  "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
  25182			  "\x78\xBE\x9B\x78\x55\x32\x0F\x55",
  25183		.klen	= 32,
  25184		.iv	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F"
  25185			  "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64",
  25186		.iv_out	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F"
  25187			  "\xC4\x29\x8E\xF3\x35\x9A\xFF\x83",
  25188		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  25189			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  25190			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  25191			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  25192			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  25193			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  25194			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  25195			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  25196			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  25197			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  25198			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  25199			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  25200			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  25201			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  25202			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  25203			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  25204			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  25205			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  25206			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  25207			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  25208			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  25209			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  25210			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  25211			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  25212			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  25213			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  25214			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  25215			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  25216			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  25217			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  25218			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  25219			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  25220			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  25221			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  25222			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  25223			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  25224			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  25225			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  25226			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  25227			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  25228			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  25229			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  25230			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  25231			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  25232			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  25233			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  25234			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  25235			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  25236			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  25237			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  25238			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  25239			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  25240			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  25241			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  25242			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  25243			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  25244			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  25245			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  25246			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  25247			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  25248			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  25249			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7",
  25250		.ctext	= "\xF3\x06\x3A\x84\xCD\xBA\x8E\x11"
  25251			  "\xB7\x74\x6F\x5C\x97\xFB\x36\xFE"
  25252			  "\xDE\x71\x58\xD4\x15\xD1\xC1\xA4"
  25253			  "\xC9\x28\x74\xA6\x6B\xC7\x95\xA6"
  25254			  "\x6C\x77\xF7\x2F\xDF\xC7\xBB\x85"
  25255			  "\x60\xFC\xE8\x94\xE8\xB5\x09\x2C"
  25256			  "\x1E\x43\xEF\x6C\xE9\x98\xC5\xA0"
  25257			  "\x7B\x13\xE5\x7F\xF8\x49\x9A\x8C"
  25258			  "\xE6\x7B\x08\xC3\x32\x66\x55\x4E"
  25259			  "\xA5\x44\x1D\x2C\x18\xC7\x29\x1F"
  25260			  "\x61\x28\x4A\xE3\xCD\xE5\x47\xB2"
  25261			  "\x82\x2F\x66\x83\x91\x51\xAE\xD7"
  25262			  "\x1C\x91\x3C\x57\xE3\x1D\x5A\xC9"
  25263			  "\xFD\xC5\x58\x58\xEF\xCC\x33\xC9"
  25264			  "\x0F\xEA\x26\x32\xD1\x15\x19\x2D"
  25265			  "\x25\xB4\x7F\xB0\xDF\xFB\x88\x60"
  25266			  "\x4E\x4D\x06\x7D\xCC\x1F\xED\x3B"
  25267			  "\x68\x84\xD5\xB3\x1B\xE7\xB9\xA1"
  25268			  "\x68\x8B\x2C\x1A\x44\xDA\x63\xD3"
  25269			  "\x29\xE9\x59\x32\x1F\x30\x1C\x43"
  25270			  "\xEA\x3A\xA3\x6B\x54\x3C\xAA\x11"
  25271			  "\xAD\x38\x20\xC9\xB9\x8A\x64\x66"
  25272			  "\x5A\x07\x49\xDF\xA1\x9C\xF9\x76"
  25273			  "\x36\x65\xB6\x81\x8F\x76\x09\xE5"
  25274			  "\xEB\xD1\x29\xA4\xE4\xF4\x4C\xCD"
  25275			  "\xAF\xFC\xB9\x16\xD9\xC3\x73\x6A"
  25276			  "\x33\x12\xF8\x7E\xBC\xCC\x7D\x80"
  25277			  "\xBF\x3C\x25\x06\x13\x84\xFA\x35"
  25278			  "\xF7\x40\xFA\xA1\x44\x13\x70\xD8"
  25279			  "\x01\xF9\x85\x15\x63\xEC\x7D\xB9"
  25280			  "\x02\xD8\xBA\x41\x6C\x92\x68\x66"
  25281			  "\x95\xDD\xD6\x42\xE7\xBB\xE1\xFD"
  25282			  "\x28\x3E\x94\xB6\xBD\xA7\xBF\x47"
  25283			  "\x58\x8D\xFF\x19\x30\x75\x0D\x48"
  25284			  "\x94\xE9\xA6\xCD\xB3\x8E\x1E\xCD"
  25285			  "\x59\xBC\x1A\xAC\x3C\x4F\xA9\xEB"
  25286			  "\xF4\xA7\xE4\x75\x4A\x18\x40\xC9"
  25287			  "\x1E\xEC\x06\x9C\x28\x4B\xF7\x2B"
  25288			  "\xE2\xEF\xD6\x42\x2E\xBB\xFC\x0A"
  25289			  "\x79\xA2\x99\x28\x93\x1B\x00\x57"
  25290			  "\x35\x1E\x1A\x93\x90\xA4\x68\x95"
  25291			  "\x5E\x57\x40\xD5\xA9\xAA\x19\x48"
  25292			  "\xEC\xFF\x76\x77\xDC\x78\x89\x76"
  25293			  "\xE5\x3B\x00\xEC\x58\x4D\xD1\xE3"
  25294			  "\xC8\x6C\x2C\x45\x5E\x5F\xD9\x4E"
  25295			  "\x71\xA5\x36\x6D\x03\xF1\xC7\xD5"
  25296			  "\xF3\x63\xC0\xD8\xCB\x2B\xF1\xA8"
  25297			  "\xB9\x2B\xE6\x0B\xB9\x65\x78\xA0"
  25298			  "\xC4\x46\xE6\x9B\x8B\x43\x2D\xAB"
  25299			  "\x70\xA6\xE0\x59\x1E\xAC\x9D\xE0"
  25300			  "\x76\x44\x45\xF3\x24\x11\x57\x98"
  25301			  "\x9A\x86\xB4\x12\x80\x28\x86\x20"
  25302			  "\x23\x9D\x2D\xE9\x38\x32\xB1\xE1"
  25303			  "\xCF\x0A\x23\x73\x7D\xC5\x80\x3D"
  25304			  "\x9F\x6D\xA0\xD0\xEE\x93\x8A\x79"
  25305			  "\x3A\xDD\x1D\xBB\x9E\x26\x5D\x01"
  25306			  "\x44\xD0\xD4\x4E\xC3\xF1\xE4\x38"
  25307			  "\x09\x62\x0A\x1A\x4E\xD2\x63\x0F"
  25308			  "\x6E\x3E\xD2\xA4\x3A\xF4\xF3\xFF"
  25309			  "\x7E\x42\xEC\xB6\x6F\x4D\x6B\x48"
  25310			  "\xE6\xA6\x50\x80\x78\x9E\xF1\xB0"
  25311			  "\x4D\xB2\x0D\x3D\xFC\x40\x25\x4D",
  25312		.len	= 496,
  25313	}, { /* Generated with Crypto++ */
  25314		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  25315			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
  25316			  "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
  25317			  "\x78\xBE\x9B\x78\x55\x32\x0F\x55",
  25318		.klen	= 32,
  25319		.iv	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F"
  25320			  "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64",
  25321		.iv_out	= "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F"
  25322			  "\xC4\x29\x8E\xF3\x35\x9A\xFF\xA4",
  25323		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  25324			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  25325			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  25326			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  25327			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  25328			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  25329			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  25330			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  25331			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  25332			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  25333			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  25334			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  25335			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  25336			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  25337			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  25338			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  25339			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  25340			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  25341			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  25342			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  25343			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  25344			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  25345			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  25346			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  25347			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  25348			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  25349			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  25350			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  25351			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  25352			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  25353			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  25354			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  25355			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  25356			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  25357			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  25358			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  25359			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  25360			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  25361			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  25362			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  25363			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  25364			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  25365			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  25366			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  25367			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  25368			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  25369			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  25370			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  25371			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  25372			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  25373			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  25374			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  25375			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  25376			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  25377			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  25378			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  25379			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  25380			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  25381			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  25382			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  25383			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  25384			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
  25385			  "\x2B\xC2\x59\xF0\x64\xFB\x92\x06"
  25386			  "\x9D\x34\xCB\x3F\xD6\x6D\x04\x78"
  25387			  "\x0F\xA6\x1A\xB1\x48\xDF\x53\xEA"
  25388			  "\x81\x18\x8C\x23\xBA\x2E\xC5\x5C"
  25389			  "\xF3\x67\xFE\x95\x09\xA0\x37\xCE"
  25390			  "\x42\xD9\x70\x07\x7B\x12\xA9\x1D"
  25391			  "\xB4\x4B\xE2\x56\xED\x84\x1B\x8F"
  25392			  "\x26\xBD\x31\xC8\x5F\xF6\x6A\x01"
  25393			  "\x98\x0C\xA3\x3A\xD1\x45\xDC\x73"
  25394			  "\x0A\x7E\x15\xAC\x20\xB7\x4E\xE5"
  25395			  "\x59\xF0\x87\x1E\x92\x29\xC0\x34"
  25396			  "\xCB\x62\xF9\x6D\x04\x9B\x0F\xA6"
  25397			  "\x3D\xD4\x48\xDF\x76\x0D\x81\x18"
  25398			  "\xAF\x23\xBA\x51\xE8\x5C\xF3\x8A"
  25399			  "\x21\x95\x2C\xC3\x37\xCE\x65\xFC"
  25400			  "\x70\x07\x9E\x12\xA9\x40\xD7\x4B"
  25401			  "\xE2\x79\x10\x84\x1B\xB2\x26\xBD"
  25402			  "\x54\xEB\x5F\xF6\x8D\x01\x98\x2F"
  25403			  "\xC6\x3A\xD1\x68\xFF\x73\x0A\xA1"
  25404			  "\x15\xAC\x43\xDA\x4E\xE5\x7C\x13"
  25405			  "\x87\x1E\xB5\x29\xC0\x57\xEE\x62"
  25406			  "\xF9\x90\x04\x9B\x32\xC9\x3D\xD4"
  25407			  "\x6B\x02\x76\x0D\xA4\x18\xAF\x46"
  25408			  "\xDD\x51\xE8\x7F\x16\x8A\x21\xB8"
  25409			  "\x2C\xC3\x5A\xF1\x65\xFC\x93\x07"
  25410			  "\x9E\x35\xCC\x40\xD7\x6E\x05\x79"
  25411			  "\x10\xA7\x1B\xB2\x49\xE0\x54\xEB"
  25412			  "\x82\x19\x8D\x24\xBB\x2F\xC6\x5D"
  25413			  "\xF4\x68\xFF\x96\x0A\xA1\x38\xCF"
  25414			  "\x43\xDA\x71\x08\x7C\x13\xAA\x1E"
  25415			  "\xB5\x4C\xE3\x57\xEE\x85\x1C\x90"
  25416			  "\x27\xBE\x32\xC9\x60\xF7\x6B\x02"
  25417			  "\x99\x0D\xA4\x3B\xD2\x46\xDD\x74"
  25418			  "\x0B\x7F\x16\xAD\x21\xB8\x4F\xE6"
  25419			  "\x5A\xF1\x88\x1F\x93\x2A\xC1\x35"
  25420			  "\xCC\x63\xFA\x6E\x05\x9C\x10\xA7"
  25421			  "\x3E\xD5\x49\xE0\x77\x0E\x82\x19"
  25422			  "\xB0\x24\xBB\x52\xE9\x5D\xF4\x8B"
  25423			  "\x22\x96\x2D\xC4\x38\xCF\x66\xFD"
  25424			  "\x71\x08\x9F\x13\xAA\x41\xD8\x4C"
  25425			  "\xE3\x7A\x11\x85\x1C\xB3\x27\xBE"
  25426			  "\x55\xEC\x60\xF7\x8E\x02\x99\x30"
  25427			  "\xC7\x3B\xD2\x69\x00\x74\x0B\xA2"
  25428			  "\x16\xAD\x44\xDB\x4F\xE6\x7D\x14"
  25429			  "\x88\x1F\xB6\x2A\xC1\x58\xEF\x63"
  25430			  "\xFA\x91\x05\x9C\x33\xCA\x3E\xD5"
  25431			  "\x6C\x03\x77\x0E\xA5\x19\xB0\x47"
  25432			  "\xDE\x52\xE9\x80\x17\x8B\x22\xB9"
  25433			  "\x2D\xC4\x5B\xF2\x66\xFD\x94\x08"
  25434			  "\x9F\x36\xCD\x41\xD8\x6F\x06\x7A"
  25435			  "\x11\xA8\x1C\xB3\x4A\xE1\x55\xEC"
  25436			  "\x83\x1A\x8E\x25\xBC\x30\xC7\x5E"
  25437			  "\xF5\x69\x00\x97\x0B\xA2\x39\xD0"
  25438			  "\x44\xDB\x72\x09\x7D\x14\xAB\x1F"
  25439			  "\xB6\x4D\xE4\x58\xEF\x86\x1D\x91"
  25440			  "\x28\xBF\x33\xCA\x61\xF8\x6C\x03"
  25441			  "\x9A\x0E\xA5\x3C\xD3\x47\xDE\x75"
  25442			  "\x0C\x80\x17\xAE\x22\xB9\x50\xE7"
  25443			  "\x5B\xF2\x89\x20\x94\x2B\xC2\x36"
  25444			  "\xCD\x64\xFB\x6F\x06\x9D\x11\xA8"
  25445			  "\x3F\xD6\x4A\xE1\x78\x0F\x83\x1A"
  25446			  "\xB1\x25\xBC\x53\xEA\x5E\xF5\x8C"
  25447			  "\x00\x97\x2E\xC5\x39\xD0\x67\xFE"
  25448			  "\x72\x09\xA0\x14\xAB\x42\xD9\x4D"
  25449			  "\xE4\x7B\x12",
  25450		.ctext	= "\xF3\x06\x3A\x84\xCD\xBA\x8E\x11"
  25451			  "\xB7\x74\x6F\x5C\x97\xFB\x36\xFE"
  25452			  "\xDE\x71\x58\xD4\x15\xD1\xC1\xA4"
  25453			  "\xC9\x28\x74\xA6\x6B\xC7\x95\xA6"
  25454			  "\x6C\x77\xF7\x2F\xDF\xC7\xBB\x85"
  25455			  "\x60\xFC\xE8\x94\xE8\xB5\x09\x2C"
  25456			  "\x1E\x43\xEF\x6C\xE9\x98\xC5\xA0"
  25457			  "\x7B\x13\xE5\x7F\xF8\x49\x9A\x8C"
  25458			  "\xE6\x7B\x08\xC3\x32\x66\x55\x4E"
  25459			  "\xA5\x44\x1D\x2C\x18\xC7\x29\x1F"
  25460			  "\x61\x28\x4A\xE3\xCD\xE5\x47\xB2"
  25461			  "\x82\x2F\x66\x83\x91\x51\xAE\xD7"
  25462			  "\x1C\x91\x3C\x57\xE3\x1D\x5A\xC9"
  25463			  "\xFD\xC5\x58\x58\xEF\xCC\x33\xC9"
  25464			  "\x0F\xEA\x26\x32\xD1\x15\x19\x2D"
  25465			  "\x25\xB4\x7F\xB0\xDF\xFB\x88\x60"
  25466			  "\x4E\x4D\x06\x7D\xCC\x1F\xED\x3B"
  25467			  "\x68\x84\xD5\xB3\x1B\xE7\xB9\xA1"
  25468			  "\x68\x8B\x2C\x1A\x44\xDA\x63\xD3"
  25469			  "\x29\xE9\x59\x32\x1F\x30\x1C\x43"
  25470			  "\xEA\x3A\xA3\x6B\x54\x3C\xAA\x11"
  25471			  "\xAD\x38\x20\xC9\xB9\x8A\x64\x66"
  25472			  "\x5A\x07\x49\xDF\xA1\x9C\xF9\x76"
  25473			  "\x36\x65\xB6\x81\x8F\x76\x09\xE5"
  25474			  "\xEB\xD1\x29\xA4\xE4\xF4\x4C\xCD"
  25475			  "\xAF\xFC\xB9\x16\xD9\xC3\x73\x6A"
  25476			  "\x33\x12\xF8\x7E\xBC\xCC\x7D\x80"
  25477			  "\xBF\x3C\x25\x06\x13\x84\xFA\x35"
  25478			  "\xF7\x40\xFA\xA1\x44\x13\x70\xD8"
  25479			  "\x01\xF9\x85\x15\x63\xEC\x7D\xB9"
  25480			  "\x02\xD8\xBA\x41\x6C\x92\x68\x66"
  25481			  "\x95\xDD\xD6\x42\xE7\xBB\xE1\xFD"
  25482			  "\x28\x3E\x94\xB6\xBD\xA7\xBF\x47"
  25483			  "\x58\x8D\xFF\x19\x30\x75\x0D\x48"
  25484			  "\x94\xE9\xA6\xCD\xB3\x8E\x1E\xCD"
  25485			  "\x59\xBC\x1A\xAC\x3C\x4F\xA9\xEB"
  25486			  "\xF4\xA7\xE4\x75\x4A\x18\x40\xC9"
  25487			  "\x1E\xEC\x06\x9C\x28\x4B\xF7\x2B"
  25488			  "\xE2\xEF\xD6\x42\x2E\xBB\xFC\x0A"
  25489			  "\x79\xA2\x99\x28\x93\x1B\x00\x57"
  25490			  "\x35\x1E\x1A\x93\x90\xA4\x68\x95"
  25491			  "\x5E\x57\x40\xD5\xA9\xAA\x19\x48"
  25492			  "\xEC\xFF\x76\x77\xDC\x78\x89\x76"
  25493			  "\xE5\x3B\x00\xEC\x58\x4D\xD1\xE3"
  25494			  "\xC8\x6C\x2C\x45\x5E\x5F\xD9\x4E"
  25495			  "\x71\xA5\x36\x6D\x03\xF1\xC7\xD5"
  25496			  "\xF3\x63\xC0\xD8\xCB\x2B\xF1\xA8"
  25497			  "\xB9\x2B\xE6\x0B\xB9\x65\x78\xA0"
  25498			  "\xC4\x46\xE6\x9B\x8B\x43\x2D\xAB"
  25499			  "\x70\xA6\xE0\x59\x1E\xAC\x9D\xE0"
  25500			  "\x76\x44\x45\xF3\x24\x11\x57\x98"
  25501			  "\x9A\x86\xB4\x12\x80\x28\x86\x20"
  25502			  "\x23\x9D\x2D\xE9\x38\x32\xB1\xE1"
  25503			  "\xCF\x0A\x23\x73\x7D\xC5\x80\x3D"
  25504			  "\x9F\x6D\xA0\xD0\xEE\x93\x8A\x79"
  25505			  "\x3A\xDD\x1D\xBB\x9E\x26\x5D\x01"
  25506			  "\x44\xD0\xD4\x4E\xC3\xF1\xE4\x38"
  25507			  "\x09\x62\x0A\x1A\x4E\xD2\x63\x0F"
  25508			  "\x6E\x3E\xD2\xA4\x3A\xF4\xF3\xFF"
  25509			  "\x7E\x42\xEC\xB6\x6F\x4D\x6B\x48"
  25510			  "\xE6\xA6\x50\x80\x78\x9E\xF1\xB0"
  25511			  "\x4D\xB2\x0D\x3D\xFC\x40\x25\x4D"
  25512			  "\x93\x11\x1C\xE9\xD2\x9F\x6E\x90"
  25513			  "\xE5\x41\x4A\xE2\x3C\x45\x29\x35"
  25514			  "\xEC\xD6\x47\x50\xCB\x7B\xA2\x32"
  25515			  "\xF7\x8B\x62\xF1\xE3\x9A\xFE\xC7"
  25516			  "\x1D\x8C\x02\x72\x68\x09\xE9\xB6"
  25517			  "\x4A\x80\xE6\xB1\x56\xDF\x90\xD4"
  25518			  "\x93\x74\xA4\xCE\x20\x23\xBF\x48"
  25519			  "\xA5\xDE\x1B\xFA\x40\x69\x31\x98"
  25520			  "\x62\x6E\xA5\xC7\xBF\x0C\x62\xE5"
  25521			  "\x6D\xE1\x93\xF1\x83\x10\x1C\xCA"
  25522			  "\xF6\x5C\x19\xF8\x90\x78\xCB\xE4"
  25523			  "\x0B\x3A\xB5\xF8\x43\x86\xD3\x3F"
  25524			  "\xBA\x83\x34\x3C\x42\xCC\x7D\x28"
  25525			  "\x29\x63\x4F\xD8\x02\x17\xC5\x07"
  25526			  "\x2C\xA4\xAC\x79\xCB\xC3\xA9\x09"
  25527			  "\x81\x45\x18\xED\xE4\xCB\x42\x3B"
  25528			  "\x87\x2D\x23\xDC\xC5\xBA\x45\xBD"
  25529			  "\x92\xE5\x02\x97\x96\xCE\xAD\xEC"
  25530			  "\xBA\xD8\x76\xF8\xCA\xC1\x31\xEC"
  25531			  "\x1E\x4F\x3F\x83\xF8\x33\xE8\x6E"
  25532			  "\xCC\xF8\x5F\xDD\x65\x50\x99\x69"
  25533			  "\xAF\x48\xCE\xA5\xBA\xB6\x14\x9F"
  25534			  "\x05\x93\xB2\xE6\x59\xC8\x28\xFE"
  25535			  "\x8F\x37\xF9\x64\xB9\xA5\x56\x8F"
  25536			  "\xF1\x1B\x90\xEF\xAE\xEB\xFC\x09"
  25537			  "\x11\x7A\xF2\x19\x0A\x0A\x9A\x3C"
  25538			  "\xE2\x5E\x29\xFA\x31\x9B\xC1\x74"
  25539			  "\x1E\x10\x3E\x07\xA9\x31\x6D\xF8"
  25540			  "\x81\xF5\xD5\x8A\x04\x23\x51\xAC"
  25541			  "\xA2\xE2\x63\xFD\x27\x1F\x79\x5B"
  25542			  "\x1F\xE8\xDA\x11\x49\x4D\x1C\xBA"
  25543			  "\x54\xCC\x0F\xBA\x92\x69\xE5\xCB"
  25544			  "\x41\x1A\x67\xA6\x40\x82\x70\x8C"
  25545			  "\x19\x79\x08\xA4\x51\x20\x7D\xC9"
  25546			  "\x12\x27\xAE\x20\x0D\x2C\xA1\x6D"
  25547			  "\xF4\x55\xD4\xE7\xE6\xD4\x28\x08"
  25548			  "\x00\x70\x12\x56\x56\x50\xAD\x14"
  25549			  "\x5C\x3E\xA2\xD1\x36\x3F\x36\x48"
  25550			  "\xED\xB1\x57\x3E\x5D\x15\xF6\x1E"
  25551			  "\x53\xE9\xA4\x3E\xED\x7D\xCF\x7D"
  25552			  "\x29\xAF\xF3\x1E\x51\xA8\x9F\x85"
  25553			  "\x8B\xF0\xBB\xCE\xCC\x39\xC3\x64"
  25554			  "\x4B\xF2\xAD\x70\x19\xD4\x44\x8F"
  25555			  "\x91\x76\xE8\x15\x66\x34\x9F\xF6"
  25556			  "\x0F\x15\xA4\xA8\x24\xF8\x58\xB1"
  25557			  "\x38\x46\x47\xC7\x9B\xCA\xE9\x42"
  25558			  "\x44\xAA\xE6\xB5\x9C\x91\xA4\xD3"
  25559			  "\x16\xA0\xED\x42\xBE\xB5\x06\x19"
  25560			  "\xBE\x67\xE8\xBC\x22\x32\xA4\x1E"
  25561			  "\x93\xEB\xBE\xE9\xE1\x93\xE5\x31"
  25562			  "\x3A\xA2\x75\xDF\xE3\x6B\xE7\xCC"
  25563			  "\xB4\x70\x20\xE0\x6D\x82\x7C\xC8"
  25564			  "\x94\x5C\x5E\x37\x18\xAD\xED\x8B"
  25565			  "\x44\x86\xCA\x5E\x07\xB7\x70\x8D"
  25566			  "\x40\x48\x19\x73\x7C\x78\x64\x0B"
  25567			  "\xDB\x01\xCA\xAE\x63\x19\xE9\xD1"
  25568			  "\x6B\x2C\x84\x10\x45\x42\x2E\xC3"
  25569			  "\xDF\x7F\xAA\xE8\x87\x1B\x63\x46"
  25570			  "\x74\x28\x9D\x05\x30\x20\x62\x41"
  25571			  "\xC0\x9F\x2C\x36\x2B\x78\xD7\x26"
  25572			  "\xDF\x58\x51\xED\xFA\xDC\x87\x79"
  25573			  "\xBF\x8C\xBF\xC4\x0F\xE5\x05\xDA"
  25574			  "\x45\xE3\x35\x0D\x69\x91\x54\x1C"
  25575			  "\xE7\x2C\x49\x08\x8B\x72\xFA\x5C"
  25576			  "\xF1\x6B\xD9",
  25577		.len	= 1011,
  25578	}, { /* Generated with Crypto++ */
  25579		.key	= "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9"
  25580			  "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A"
  25581			  "\x27\x04\xE1\x27\x04\xE1\xBE\x9B"
  25582			  "\x78\xBE\x9B\x78\x55\x32\x0F\x55",
  25583		.klen	= 32,
  25584		.iv	= "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"
  25585			  "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFD",
  25586		.iv_out	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  25587			  "\x00\x00\x00\x00\x00\x00\x00\x3C",
  25588		.ptext	= "\x56\xED\x84\x1B\x8F\x26\xBD\x31"
  25589			  "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3"
  25590			  "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15"
  25591			  "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87"
  25592			  "\x1E\x92\x29\xC0\x34\xCB\x62\xF9"
  25593			  "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48"
  25594			  "\xDF\x76\x0D\x81\x18\xAF\x23\xBA"
  25595			  "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C"
  25596			  "\xC3\x37\xCE\x65\xFC\x70\x07\x9E"
  25597			  "\x12\xA9\x40\xD7\x4B\xE2\x79\x10"
  25598			  "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F"
  25599			  "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1"
  25600			  "\x68\xFF\x73\x0A\xA1\x15\xAC\x43"
  25601			  "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5"
  25602			  "\x29\xC0\x57\xEE\x62\xF9\x90\x04"
  25603			  "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76"
  25604			  "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8"
  25605			  "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A"
  25606			  "\xF1\x65\xFC\x93\x07\x9E\x35\xCC"
  25607			  "\x40\xD7\x6E\x05\x79\x10\xA7\x1B"
  25608			  "\xB2\x49\xE0\x54\xEB\x82\x19\x8D"
  25609			  "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF"
  25610			  "\x96\x0A\xA1\x38\xCF\x43\xDA\x71"
  25611			  "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3"
  25612			  "\x57\xEE\x85\x1C\x90\x27\xBE\x32"
  25613			  "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4"
  25614			  "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16"
  25615			  "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88"
  25616			  "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA"
  25617			  "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49"
  25618			  "\xE0\x77\x0E\x82\x19\xB0\x24\xBB"
  25619			  "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D"
  25620			  "\xC4\x38\xCF\x66\xFD\x71\x08\x9F"
  25621			  "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11"
  25622			  "\x85\x1C\xB3\x27\xBE\x55\xEC\x60"
  25623			  "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2"
  25624			  "\x69\x00\x74\x0B\xA2\x16\xAD\x44"
  25625			  "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6"
  25626			  "\x2A\xC1\x58\xEF\x63\xFA\x91\x05"
  25627			  "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77"
  25628			  "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9"
  25629			  "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B"
  25630			  "\xF2\x66\xFD\x94\x08\x9F\x36\xCD"
  25631			  "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C"
  25632			  "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E"
  25633			  "\x25\xBC\x30\xC7\x5E\xF5\x69\x00"
  25634			  "\x97\x0B\xA2\x39\xD0\x44\xDB\x72"
  25635			  "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4"
  25636			  "\x58\xEF\x86\x1D\x91\x28\xBF\x33"
  25637			  "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5"
  25638			  "\x3C\xD3\x47\xDE\x75\x0C\x80\x17"
  25639			  "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89"
  25640			  "\x20\x94\x2B\xC2\x36\xCD\x64\xFB"
  25641			  "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A"
  25642			  "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC"
  25643			  "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E"
  25644			  "\xC5\x39\xD0\x67\xFE\x72\x09\xA0"
  25645			  "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12"
  25646			  "\x86\x1D\xB4\x28\xBF\x56\xED\x61"
  25647			  "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3"
  25648			  "\x6A\x01\x75\x0C\xA3\x17\xAE\x45"
  25649			  "\xDC\x50\xE7\x7E\x15\x89\x20\xB7"
  25650			  "\x2B\xC2\x59\xF0\x64\xFB\x92\x06"
  25651			  "\x9D\x34\xCB\x3F\xD6\x6D\x04\x78"
  25652			  "\x0F\xA6\x1A\xB1\x48\xDF\x53\xEA"
  25653			  "\x81\x18\x8C\x23\xBA\x2E\xC5\x5C"
  25654			  "\xF3\x67\xFE\x95\x09\xA0\x37\xCE"
  25655			  "\x42\xD9\x70\x07\x7B\x12\xA9\x1D"
  25656			  "\xB4\x4B\xE2\x56\xED\x84\x1B\x8F"
  25657			  "\x26\xBD\x31\xC8\x5F\xF6\x6A\x01"
  25658			  "\x98\x0C\xA3\x3A\xD1\x45\xDC\x73"
  25659			  "\x0A\x7E\x15\xAC\x20\xB7\x4E\xE5"
  25660			  "\x59\xF0\x87\x1E\x92\x29\xC0\x34"
  25661			  "\xCB\x62\xF9\x6D\x04\x9B\x0F\xA6"
  25662			  "\x3D\xD4\x48\xDF\x76\x0D\x81\x18"
  25663			  "\xAF\x23\xBA\x51\xE8\x5C\xF3\x8A"
  25664			  "\x21\x95\x2C\xC3\x37\xCE\x65\xFC"
  25665			  "\x70\x07\x9E\x12\xA9\x40\xD7\x4B"
  25666			  "\xE2\x79\x10\x84\x1B\xB2\x26\xBD"
  25667			  "\x54\xEB\x5F\xF6\x8D\x01\x98\x2F"
  25668			  "\xC6\x3A\xD1\x68\xFF\x73\x0A\xA1"
  25669			  "\x15\xAC\x43\xDA\x4E\xE5\x7C\x13"
  25670			  "\x87\x1E\xB5\x29\xC0\x57\xEE\x62"
  25671			  "\xF9\x90\x04\x9B\x32\xC9\x3D\xD4"
  25672			  "\x6B\x02\x76\x0D\xA4\x18\xAF\x46"
  25673			  "\xDD\x51\xE8\x7F\x16\x8A\x21\xB8"
  25674			  "\x2C\xC3\x5A\xF1\x65\xFC\x93\x07"
  25675			  "\x9E\x35\xCC\x40\xD7\x6E\x05\x79"
  25676			  "\x10\xA7\x1B\xB2\x49\xE0\x54\xEB"
  25677			  "\x82\x19\x8D\x24\xBB\x2F\xC6\x5D"
  25678			  "\xF4\x68\xFF\x96\x0A\xA1\x38\xCF"
  25679			  "\x43\xDA\x71\x08\x7C\x13\xAA\x1E"
  25680			  "\xB5\x4C\xE3\x57\xEE\x85\x1C\x90"
  25681			  "\x27\xBE\x32\xC9\x60\xF7\x6B\x02"
  25682			  "\x99\x0D\xA4\x3B\xD2\x46\xDD\x74"
  25683			  "\x0B\x7F\x16\xAD\x21\xB8\x4F\xE6"
  25684			  "\x5A\xF1\x88\x1F\x93\x2A\xC1\x35"
  25685			  "\xCC\x63\xFA\x6E\x05\x9C\x10\xA7"
  25686			  "\x3E\xD5\x49\xE0\x77\x0E\x82\x19"
  25687			  "\xB0\x24\xBB\x52\xE9\x5D\xF4\x8B"
  25688			  "\x22\x96\x2D\xC4\x38\xCF\x66\xFD"
  25689			  "\x71\x08\x9F\x13\xAA\x41\xD8\x4C"
  25690			  "\xE3\x7A\x11\x85\x1C\xB3\x27\xBE"
  25691			  "\x55\xEC\x60\xF7\x8E\x02\x99\x30"
  25692			  "\xC7\x3B\xD2\x69\x00\x74\x0B\xA2"
  25693			  "\x16\xAD\x44\xDB\x4F\xE6\x7D\x14"
  25694			  "\x88\x1F\xB6\x2A\xC1\x58\xEF\x63"
  25695			  "\xFA\x91\x05\x9C\x33\xCA\x3E\xD5"
  25696			  "\x6C\x03\x77\x0E\xA5\x19\xB0\x47"
  25697			  "\xDE\x52\xE9\x80\x17\x8B\x22\xB9"
  25698			  "\x2D\xC4\x5B\xF2\x66\xFD\x94\x08"
  25699			  "\x9F\x36\xCD\x41\xD8\x6F\x06\x7A"
  25700			  "\x11\xA8\x1C\xB3\x4A\xE1\x55\xEC"
  25701			  "\x83\x1A\x8E\x25\xBC\x30\xC7\x5E"
  25702			  "\xF5\x69\x00\x97\x0B\xA2\x39\xD0"
  25703			  "\x44\xDB\x72\x09\x7D\x14\xAB\x1F"
  25704			  "\xB6\x4D\xE4\x58\xEF\x86\x1D\x91"
  25705			  "\x28\xBF\x33\xCA\x61\xF8\x6C\x03"
  25706			  "\x9A\x0E\xA5\x3C\xD3\x47\xDE\x75"
  25707			  "\x0C\x80\x17\xAE\x22\xB9\x50\xE7"
  25708			  "\x5B\xF2\x89\x20\x94\x2B\xC2\x36"
  25709			  "\xCD\x64\xFB\x6F\x06\x9D\x11\xA8"
  25710			  "\x3F\xD6\x4A\xE1\x78\x0F\x83\x1A"
  25711			  "\xB1\x25\xBC\x53\xEA\x5E\xF5\x8C"
  25712			  "\x00\x97\x2E\xC5\x39\xD0\x67\xFE"
  25713			  "\x72\x09\xA0\x14\xAB\x42\xD9\x4D",
  25714		.ctext	= "\x85\x79\x6C\x8B\x2B\x6D\x14\xF9"
  25715			  "\xA6\x83\xB6\x80\x5B\x3A\xF3\x7E"
  25716			  "\x30\x29\xEB\x1F\xDC\x19\x5F\xEB"
  25717			  "\xF7\xC4\x27\x04\x51\x87\xD7\x6F"
  25718			  "\xB8\x4E\x07\xFB\xAC\x3B\x08\xB4"
  25719			  "\x4D\xCB\xE8\xE1\x71\x7D\x4F\x48"
  25720			  "\xCD\x81\x64\xA5\xC4\x07\x1A\x9A"
  25721			  "\x4B\x62\x90\x0E\xC8\xB3\x2B\x6B"
  25722			  "\x8F\x9C\x6E\x72\x4B\xBA\xEF\x07"
  25723			  "\x2C\x56\x07\x5E\x37\x30\x60\xA9"
  25724			  "\xE3\xEF\xD6\x69\xE1\xA1\x77\x64"
  25725			  "\x93\x75\x7A\xB7\x7A\x3B\xE9\x43"
  25726			  "\x23\x35\x95\x91\x80\x8A\xC7\xCF"
  25727			  "\xC3\xD5\xBF\xE7\xFE\x4C\x06\x6B"
  25728			  "\x05\x19\x48\xE2\x62\xBA\x4F\xF2"
  25729			  "\xFB\xEE\xE4\xCB\x79\x9D\xA3\x10"
  25730			  "\x1D\x29\x8C\x1D\x7A\x88\x5A\xDD"
  25731			  "\x4E\xB6\x18\xAA\xCD\xE6\x33\x96"
  25732			  "\xD9\x0F\x90\x5A\x78\x76\x4D\x77"
  25733			  "\x3C\x20\x89\x3B\xA3\xF9\x07\xFD"
  25734			  "\xE4\xE8\x20\x2D\x15\x0A\x63\x49"
  25735			  "\xF5\x4F\x89\xD8\xDE\xA1\x28\x78"
  25736			  "\x28\x07\x09\x1B\x03\x94\x1D\x4B"
  25737			  "\x82\x28\x1E\x1D\x95\xBA\xAC\x85"
  25738			  "\x71\x6E\x3C\x18\x4B\x77\x74\x79"
  25739			  "\xBF\x67\x0A\x53\x3C\x94\xD9\x60"
  25740			  "\xE9\x6D\x40\x34\xA0\x2A\x53\x5D"
  25741			  "\x27\xD5\x47\xF9\xC3\x4B\x27\x29"
  25742			  "\xE4\x76\x9C\x3F\xA7\x1C\x87\xFC"
  25743			  "\x6E\x0F\xCF\x9B\x60\xF0\xF0\x8B"
  25744			  "\x70\x1C\x84\x81\x72\x4D\xB4\x98"
  25745			  "\x23\x62\xE7\x6A\x2B\xFC\xA5\xB2"
  25746			  "\xFF\xF5\x71\x07\xCD\x90\x23\x13"
  25747			  "\x19\xD7\x79\x36\x6C\x9D\x55\x8B"
  25748			  "\x93\x78\x86\x05\x69\x46\xD0\xC5"
  25749			  "\x39\x09\xEB\x79\xEF\xFA\x9F\xAE"
  25750			  "\xF3\xD5\x44\xC3\xFD\x86\xD2\x7C"
  25751			  "\x83\x4B\xD8\x75\x9C\x18\x04\x7B"
  25752			  "\x73\xAD\x72\xA4\xF6\xAB\xCF\x4B"
  25753			  "\xCC\x01\x45\x90\xA6\x43\x05\x0C"
  25754			  "\x6C\x4F\x62\x77\x57\x97\x9F\xEE"
  25755			  "\x75\xA7\x3C\x38\xD1\x0F\x3D\x0E"
  25756			  "\x2C\x43\x98\xFB\x13\x65\x73\xE4"
  25757			  "\x3C\x1E\xD6\x90\x08\xF7\xE0\x99"
  25758			  "\x3B\xF1\x9D\x6C\x48\xA9\x0E\x32"
  25759			  "\x17\xC2\xCC\x20\xA1\x19\x26\xAA"
  25760			  "\xE0\x75\x2F\xFB\x54\x66\x0A\xDF"
  25761			  "\xB5\xF2\x1F\xC1\x34\x3C\x30\x56"
  25762			  "\xE8\xDC\xF7\x92\x6B\xBF\x17\x24"
  25763			  "\xEC\x94\xB5\x3B\xD6\xCE\xA2\x54"
  25764			  "\x10\x7F\x50\xDE\x69\x77\xD5\x37"
  25765			  "\xFE\x9C\x10\x83\xC5\xEB\xC9\x53"
  25766			  "\xB7\xF3\xC4\x20\xAF\x0A\x7E\x57"
  25767			  "\x3A\xE6\x75\xFE\x89\x00\x6E\x48"
  25768			  "\xFB\x99\x17\x2C\xF6\x64\x40\x95"
  25769			  "\x5E\xDC\x7A\xA6\x70\xC7\xF4\xDD"
  25770			  "\x52\x05\x24\x34\xF9\x0E\xC8\x64"
  25771			  "\x6D\xE2\xD8\x80\x53\x31\x4C\xFE"
  25772			  "\xB4\x3A\x5F\x19\xCF\x42\x1B\x22"
  25773			  "\x0B\x2D\x7B\xF1\xC5\x43\xF7\x5E"
  25774			  "\x12\xA8\x01\x64\x16\x0B\x26\x5A"
  25775			  "\x0C\x95\x0F\x40\xC5\x5A\x06\x7C"
  25776			  "\xCF\xF5\xD5\xB7\x7A\x34\x23\xB6"
  25777			  "\xAA\x9E\xA8\x98\xA2\xF8\x3D\xD3"
  25778			  "\x3F\x23\x69\x63\x56\x96\x45\xD6"
  25779			  "\x74\x23\x1D\x5C\x63\xCC\xD8\x78"
  25780			  "\x16\xE2\x9C\xD2\x80\x02\xF2\x28"
  25781			  "\x69\x2F\xC4\xA8\x15\x15\x24\x3B"
  25782			  "\xCB\xF0\x14\xE4\x62\xC8\xF3\xD1"
  25783			  "\x03\x58\x1B\x33\x77\x74\x1F\xB4"
  25784			  "\x07\x86\xF2\x21\xB7\x41\xAE\xBF"
  25785			  "\x25\xC2\xFF\x51\xEF\xEA\xCE\xC4"
  25786			  "\x5F\xD9\xB8\x18\x6A\xF0\x0F\x0D"
  25787			  "\xF8\x04\xBB\x6D\x62\x33\x87\x26"
  25788			  "\x4F\x2F\x14\x6E\xDC\xDB\x66\x09"
  25789			  "\x2A\xEF\x7D\x84\x10\xAC\x82\x5E"
  25790			  "\xD2\xE4\xAD\x74\x7A\x6D\xCC\x3A"
  25791			  "\x7B\x62\xD8\xD6\x07\x2D\xF7\xDF"
  25792			  "\x9B\xB3\x82\xCF\x9C\x1D\x76\x5C"
  25793			  "\xAC\x7B\xD4\x9B\x45\xA1\x64\x11"
  25794			  "\x66\xF1\xA7\x0B\xF9\xDD\x00\xDD"
  25795			  "\xA4\x45\x3D\x3E\x03\xC9\x2E\xCB"
  25796			  "\xC3\x14\x84\x72\xFD\x41\xDC\xBD"
  25797			  "\x75\xBE\xA8\xE5\x16\x48\x64\x39"
  25798			  "\xCA\xF3\xE6\xDC\x25\x24\xF1\x6D"
  25799			  "\xB2\x8D\xC5\x38\x54\xD3\x5D\x6D"
  25800			  "\x0B\x29\x10\x15\x0E\x13\x3B\xAC"
  25801			  "\x7E\xCC\x9E\x3E\x18\x48\xA6\x02"
  25802			  "\xEF\x03\xB2\x2E\xE3\xD2\x70\x21"
  25803			  "\xB4\x19\x26\xBE\x3A\x3D\x05\xE0"
  25804			  "\xF8\x09\xAF\xE4\x31\x26\x92\x2F"
  25805			  "\x8F\x55\xAC\xED\x0B\xB2\xA5\x34"
  25806			  "\xBE\x50\xB1\x02\x22\x96\xE3\x40"
  25807			  "\x7B\x70\x50\x6E\x3B\xD5\xE5\xA0"
  25808			  "\x8E\xA2\xAD\x14\x60\x5C\x7A\x2B"
  25809			  "\x3D\x1B\x7F\xC1\xC0\x2C\x56\x36"
  25810			  "\xD2\x0A\x32\x06\x97\x34\xB9\xF4"
  25811			  "\x6F\x9F\x7E\x80\xD0\x9D\xF7\x6A"
  25812			  "\x21\xC1\xA2\x6A\xB1\x96\x5B\x4D"
  25813			  "\x7A\x15\x6C\xC4\x4E\xB8\xE0\x9E"
  25814			  "\x6C\x50\xF3\x9C\xC9\xB5\x23\xB7"
  25815			  "\xF1\xD4\x29\x4A\x23\xC4\xAD\x1E"
  25816			  "\x2C\x07\xD2\x43\x5F\x57\x93\xCA"
  25817			  "\x85\xF9\x9F\xAD\x4C\xF1\xE4\xB1"
  25818			  "\x1A\x8E\x28\xA4\xB6\x52\x77\x7E"
  25819			  "\x68\xC6\x47\xB9\x76\xCC\x65\x5F"
  25820			  "\x0B\xF9\x67\x93\xD8\x0E\x9A\x37"
  25821			  "\x5F\x41\xED\x64\x6C\xAD\x5F\xED"
  25822			  "\x3F\x8D\xFB\x8E\x1E\xA0\xE4\x1F"
  25823			  "\xC2\xC7\xED\x18\x43\xE1\x20\x86"
  25824			  "\x5D\xBC\x30\x70\x22\xA1\xDC\x53"
  25825			  "\x10\x3A\x8D\x47\x82\xCD\x7F\x59"
  25826			  "\x03\x2D\x6D\xF5\xE7\x79\xD4\x07"
  25827			  "\x68\x2A\xA5\x42\x19\x4D\xAF\xF5"
  25828			  "\xED\x47\x83\xBC\x5F\x62\x84\xDA"
  25829			  "\xDA\x41\xFF\xB0\x1D\x64\xA3\xC8"
  25830			  "\xBD\x4E\xE0\xB8\x7F\xEE\x55\x0A"
  25831			  "\x4E\x61\xB2\x51\xF6\x9C\x95\xF6"
  25832			  "\x92\xBB\xF6\xC5\xF0\x09\x86\xDE"
  25833			  "\x37\x9E\x29\xF9\x2A\x18\x73\x0D"
  25834			  "\xDC\x7E\x6B\x7B\x1B\x43\x8C\xEA"
  25835			  "\x13\xC8\x1A\x47\x0A\x2D\x6D\x56"
  25836			  "\xCD\xD2\xE7\x53\x1A\xAB\x1C\x3C"
  25837			  "\xC5\x9B\x03\x70\x29\x2A\x49\x09"
  25838			  "\x67\xA1\xEA\xD6\x3A\x5B\xBF\x71"
  25839			  "\x1D\x48\x64\x6C\xFB\xC0\x9E\x36",
  25840		.len	= 1008,
  25841	},
  25842};
  25843
  25844static const struct cipher_testvec camellia_lrw_tv_template[] = {
  25845	/* Generated from AES-LRW test vectors */
  25846	{
  25847		.key	= "\x45\x62\xac\x25\xf8\x28\x17\x6d"
  25848			  "\x4c\x26\x84\x14\xb5\x68\x01\x85"
  25849			  "\x25\x8e\x2a\x05\xe7\x3e\x9d\x03"
  25850			  "\xee\x5a\x83\x0c\xcc\x09\x4c\x87",
  25851		.klen	= 32,
  25852		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  25853			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  25854		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  25855			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  25856		.ctext	= "\x92\x68\x19\xd7\xb7\x5b\x0a\x31"
  25857			  "\x97\xcc\x72\xbe\x99\x17\xeb\x3e",
  25858		.len	= 16,
  25859	}, {
  25860		.key	= "\x59\x70\x47\x14\xf5\x57\x47\x8c"
  25861			  "\xd7\x79\xe8\x0f\x54\x88\x79\x44"
  25862			  "\x0d\x48\xf0\xb7\xb1\x5a\x53\xea"
  25863			  "\x1c\xaa\x6b\x29\xc2\xca\xfb\xaf",
  25864		.klen	= 32,
  25865		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  25866			  "\x00\x00\x00\x00\x00\x00\x00\x02",
  25867		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  25868			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  25869		.ctext	= "\x73\x09\xb7\x50\xb6\x77\x30\x50"
  25870			  "\x5c\x8a\x9c\x26\x77\x9d\xfc\x4a",
  25871		.len	= 16,
  25872	}, {
  25873		.key	= "\xd8\x2a\x91\x34\xb2\x6a\x56\x50"
  25874			  "\x30\xfe\x69\xe2\x37\x7f\x98\x47"
  25875			  "\xcd\xf9\x0b\x16\x0c\x64\x8f\xb6"
  25876			  "\xb0\x0d\x0d\x1b\xae\x85\x87\x1f",
  25877		.klen	= 32,
  25878		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  25879			  "\x00\x00\x00\x02\x00\x00\x00\x00",
  25880		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  25881			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  25882		.ctext	= "\x90\xae\x83\xe0\x22\xb9\x60\x91"
  25883			  "\xfa\xa9\xb7\x98\xe3\xed\x87\x01",
  25884		.len	= 16,
  25885	}, {
  25886		.key	= "\x0f\x6a\xef\xf8\xd3\xd2\xbb\x15"
  25887			  "\x25\x83\xf7\x3c\x1f\x01\x28\x74"
  25888			  "\xca\xc6\xbc\x35\x4d\x4a\x65\x54"
  25889			  "\x90\xae\x61\xcf\x7b\xae\xbd\xcc"
  25890			  "\xad\xe4\x94\xc5\x4a\x29\xae\x70",
  25891		.klen	= 40,
  25892		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  25893			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  25894		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  25895			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  25896		.ctext	= "\x99\xe9\x6e\xd4\xc9\x21\xa5\xf0"
  25897			  "\xd8\x83\xef\xd9\x07\x16\x5f\x35",
  25898		.len	= 16,
  25899	}, {
  25900		.key	= "\x8a\xd4\xee\x10\x2f\xbd\x81\xff"
  25901			  "\xf8\x86\xce\xac\x93\xc5\xad\xc6"
  25902			  "\xa0\x19\x07\xc0\x9d\xf7\xbb\xdd"
  25903			  "\x52\x13\xb2\xb7\xf0\xff\x11\xd8"
  25904			  "\xd6\x08\xd0\xcd\x2e\xb1\x17\x6f",
  25905		.klen	= 40,
  25906		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  25907			  "\x00\x00\x00\x02\x00\x00\x00\x00",
  25908		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  25909			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  25910		.ctext	= "\x42\x88\xf4\xcb\x21\x11\x6d\x8e"
  25911			  "\xde\x1a\xf2\x29\xf1\x4a\xe0\x15",
  25912		.len	= 16,
  25913	}, {
  25914		.key	= "\xf8\xd4\x76\xff\xd6\x46\xee\x6c"
  25915			  "\x23\x84\xcb\x1c\x77\xd6\x19\x5d"
  25916			  "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21"
  25917			  "\xa7\x9c\x21\xf8\xcb\x90\x02\x89"
  25918			  "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1"
  25919			  "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e",
  25920		.klen	= 48,
  25921		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  25922			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  25923		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  25924			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  25925		.ctext	= "\x40\xaa\x34\x86\x4a\x8f\x78\xb9"
  25926			  "\xdb\xdb\x0f\x3d\x48\x70\xbe\x8d",
  25927		.len	= 16,
  25928	}, {
  25929		.key	= "\xfb\x76\x15\xb2\x3d\x80\x89\x1d"
  25930			  "\xd4\x70\x98\x0b\xc7\x95\x84\xc8"
  25931			  "\xb2\xfb\x64\xce\x60\x97\x87\x8d"
  25932			  "\x17\xfc\xe4\x5a\x49\xe8\x30\xb7"
  25933			  "\x6e\x78\x17\xe7\x2d\x5e\x12\xd4"
  25934			  "\x60\x64\x04\x7a\xf1\x2f\x9e\x0c",
  25935		.klen	= 48,
  25936		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  25937			  "\x00\x00\x00\x02\x00\x00\x00\x00",
  25938		.ptext	= "\x30\x31\x32\x33\x34\x35\x36\x37"
  25939			  "\x38\x39\x41\x42\x43\x44\x45\x46",
  25940		.ctext	= "\x04\xab\x28\x37\x31\x7a\x26\xab"
  25941			  "\xa1\x70\x1b\x9c\xe7\xdd\x83\xff",
  25942		.len	= 16,
  25943	}, {
  25944		.key	= "\xf8\xd4\x76\xff\xd6\x46\xee\x6c"
  25945			  "\x23\x84\xcb\x1c\x77\xd6\x19\x5d"
  25946			  "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21"
  25947			  "\xa7\x9c\x21\xf8\xcb\x90\x02\x89"
  25948			  "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1"
  25949			  "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e",
  25950		.klen	= 48,
  25951		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  25952			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  25953		.ptext	= "\x05\x11\xb7\x18\xab\xc6\x2d\xac"
  25954			  "\x70\x5d\xf6\x22\x94\xcd\xe5\x6c"
  25955			  "\x17\x6b\xf6\x1c\xf0\xf3\x6e\xf8"
  25956			  "\x50\x38\x1f\x71\x49\xb6\x57\xd6"
  25957			  "\x8f\xcb\x8d\x6b\xe3\xa6\x29\x90"
  25958			  "\xfe\x2a\x62\x82\xae\x6d\x8b\xf6"
  25959			  "\xad\x1e\x9e\x20\x5f\x38\xbe\x04"
  25960			  "\xda\x10\x8e\xed\xa2\xa4\x87\xab"
  25961			  "\xda\x6b\xb4\x0c\x75\xba\xd3\x7c"
  25962			  "\xc9\xac\x42\x31\x95\x7c\xc9\x04"
  25963			  "\xeb\xd5\x6e\x32\x69\x8a\xdb\xa6"
  25964			  "\x15\xd7\x3f\x4f\x2f\x66\x69\x03"
  25965			  "\x9c\x1f\x54\x0f\xde\x1f\xf3\x65"
  25966			  "\x4c\x96\x12\xed\x7c\x92\x03\x01"
  25967			  "\x6f\xbc\x35\x93\xac\xf1\x27\xf1"
  25968			  "\xb4\x96\x82\x5a\x5f\xb0\xa0\x50"
  25969			  "\x89\xa4\x8e\x66\x44\x85\xcc\xfd"
  25970			  "\x33\x14\x70\xe3\x96\xb2\xc3\xd3"
  25971			  "\xbb\x54\x5a\x1a\xf9\x74\xa2\xc5"
  25972			  "\x2d\x64\x75\xdd\xb4\x54\xe6\x74"
  25973			  "\x8c\xd3\x9d\x9e\x86\xab\x51\x53"
  25974			  "\xb7\x93\x3e\x6f\xd0\x4e\x2c\x40"
  25975			  "\xf6\xa8\x2e\x3e\x9d\xf4\x66\xa5"
  25976			  "\x76\x12\x73\x44\x1a\x56\xd7\x72"
  25977			  "\x88\xcd\x21\x8c\x4c\x0f\xfe\xda"
  25978			  "\x95\xe0\x3a\xa6\xa5\x84\x46\xcd"
  25979			  "\xd5\x3e\x9d\x3a\xe2\x67\xe6\x60"
  25980			  "\x1a\xe2\x70\x85\x58\xc2\x1b\x09"
  25981			  "\xe1\xd7\x2c\xca\xad\xa8\x8f\xf9"
  25982			  "\xac\xb3\x0e\xdb\xca\x2e\xe2\xb8"
  25983			  "\x51\x71\xd9\x3c\x6c\xf1\x56\xf8"
  25984			  "\xea\x9c\xf1\xfb\x0c\xe6\xb7\x10"
  25985			  "\x1c\xf8\xa9\x7c\xe8\x53\x35\xc1"
  25986			  "\x90\x3e\x76\x4a\x74\xa4\x21\x2c"
  25987			  "\xf6\x2c\x4e\x0f\x94\x3a\x88\x2e"
  25988			  "\x41\x09\x6a\x33\x7d\xf6\xdd\x3f"
  25989			  "\x8d\x23\x31\x74\x84\xeb\x88\x6e"
  25990			  "\xcc\xb9\xbc\x22\x83\x19\x07\x22"
  25991			  "\xa5\x2d\xdf\xa5\xf3\x80\x85\x78"
  25992			  "\x84\x39\x6a\x6d\x6a\x99\x4f\xa5"
  25993			  "\x15\xfe\x46\xb0\xe4\x6c\xa5\x41"
  25994			  "\x3c\xce\x8f\x42\x60\x71\xa7\x75"
  25995			  "\x08\x40\x65\x8a\x82\xbf\xf5\x43"
  25996			  "\x71\x96\xa9\x4d\x44\x8a\x20\xbe"
  25997			  "\xfa\x4d\xbb\xc0\x7d\x31\x96\x65"
  25998			  "\xe7\x75\xe5\x3e\xfd\x92\x3b\xc9"
  25999			  "\x55\xbb\x16\x7e\xf7\xc2\x8c\xa4"
  26000			  "\x40\x1d\xe5\xef\x0e\xdf\xe4\x9a"
  26001			  "\x62\x73\x65\xfd\x46\x63\x25\x3d"
  26002			  "\x2b\xaf\xe5\x64\xfe\xa5\x5c\xcf"
  26003			  "\x24\xf3\xb4\xac\x64\xba\xdf\x4b"
  26004			  "\xc6\x96\x7d\x81\x2d\x8d\x97\xf7"
  26005			  "\xc5\x68\x77\x84\x32\x2b\xcc\x85"
  26006			  "\x74\x96\xf0\x12\x77\x61\xb9\xeb"
  26007			  "\x71\xaa\x82\xcb\x1c\xdb\x89\xc8"
  26008			  "\xc6\xb5\xe3\x5c\x7d\x39\x07\x24"
  26009			  "\xda\x39\x87\x45\xc0\x2b\xbb\x01"
  26010			  "\xac\xbc\x2a\x5c\x7f\xfc\xe8\xce"
  26011			  "\x6d\x9c\x6f\xed\xd3\xc1\xa1\xd6"
  26012			  "\xc5\x55\xa9\x66\x2f\xe1\xc8\x32"
  26013			  "\xa6\x5d\xa4\x3a\x98\x73\xe8\x45"
  26014			  "\xa4\xc7\xa8\xb4\xf6\x13\x03\xf6"
  26015			  "\xe9\x2e\xc4\x29\x0f\x84\xdb\xc4"
  26016			  "\x21\xc4\xc2\x75\x67\x89\x37\x0a",
  26017		.ctext	= "\x90\x69\x8e\xf2\x14\x86\x59\xf9"
  26018			  "\xec\xe7\xfa\x3f\x48\x9d\x7f\x96"
  26019			  "\x67\x76\xac\x2c\xd2\x63\x18\x93"
  26020			  "\x13\xf8\xf1\xf6\x71\x77\xb3\xee"
  26021			  "\x93\xb2\xcc\xf3\x26\xc1\x16\x4f"
  26022			  "\xd4\xe8\x43\xc1\x68\xa3\x3e\x06"
  26023			  "\x38\x51\xff\xa8\xb9\xa4\xeb\xb1"
  26024			  "\x62\xdd\x78\x81\xea\x1d\xef\x04"
  26025			  "\x1d\x07\xc1\x67\xc8\xd6\x77\xa1"
  26026			  "\x84\x95\xf4\x9a\xd9\xbc\x2d\xe2"
  26027			  "\xf6\x80\xfc\x91\x2a\xbc\x42\xa0"
  26028			  "\x40\x41\x69\xaa\x71\xc0\x37\xec"
  26029			  "\x39\xf3\xf2\xec\x82\xc3\x88\x79"
  26030			  "\xbc\xc3\xaa\xb7\xcf\x6a\x72\x80"
  26031			  "\x4c\xf4\x84\x8f\x13\x9e\x94\x5c"
  26032			  "\xe5\xb2\x91\xbb\x92\x51\x4d\xf1"
  26033			  "\xd6\x0d\x71\x6b\x7a\xc2\x2f\x12"
  26034			  "\x6f\x75\xc7\x80\x99\x50\x84\xcf"
  26035			  "\xa8\xeb\xd6\xe1\x1c\x59\x81\x7e"
  26036			  "\xb9\xb3\xde\x7a\x93\x14\x12\xa2"
  26037			  "\xf7\x43\xb3\x9d\x1a\x87\x65\x91"
  26038			  "\x42\x08\x40\x82\x06\x1c\x2d\x55"
  26039			  "\x6e\x48\xd5\x74\x07\x6e\x9d\x80"
  26040			  "\xeb\xb4\x97\xa1\x36\xdf\xfa\x74"
  26041			  "\x79\x7f\x5a\x75\xe7\x71\xc8\x8c"
  26042			  "\x7e\xf8\x3a\x77\xcd\x32\x05\xf9"
  26043			  "\x3d\xd4\xe9\xa2\xbb\xc4\x8b\x83"
  26044			  "\x42\x5c\x82\xfa\xe9\x4b\x96\x3b"
  26045			  "\x7f\x89\x8b\xf9\xf1\x87\xda\xf0"
  26046			  "\x87\xef\x13\x5d\xf0\xe2\xc5\xc1"
  26047			  "\xed\x14\xa9\x57\x19\x63\x40\x04"
  26048			  "\x24\xeb\x6e\x19\xd1\x3d\x70\x78"
  26049			  "\xeb\xda\x55\x70\x2c\x4f\x41\x5b"
  26050			  "\x56\x9f\x1a\xd3\xac\xf1\xc0\xc3"
  26051			  "\x21\xec\xd7\xd2\x55\x32\x7c\x2e"
  26052			  "\x3c\x48\x8e\xb4\x85\x35\x47\xfe"
  26053			  "\xe2\x88\x79\x98\x6a\xc9\x8d\xff"
  26054			  "\xe9\x89\x6e\xb8\xe2\x97\x00\xbd"
  26055			  "\xa4\x8f\xba\xd0\x8c\xcb\x79\x99"
  26056			  "\xb3\xb2\xb2\x7a\xc3\xb7\xef\x75"
  26057			  "\x23\x52\x76\xc3\x50\x6e\x66\xf8"
  26058			  "\xa2\xe2\xce\xba\x40\x21\x3f\xc9"
  26059			  "\x0a\x32\x7f\xf7\x08\x8c\x66\xcf"
  26060			  "\xd3\xdf\x57\x59\x83\xb8\xe1\x85"
  26061			  "\xd6\x8f\xfb\x48\x1f\x3a\xc4\x2f"
  26062			  "\xb4\x2d\x58\xab\xd8\x7f\x5e\x3a"
  26063			  "\xbc\x62\x3e\xe2\x6a\x52\x0d\x76"
  26064			  "\x2f\x1c\x1a\x30\xed\x95\x2a\x44"
  26065			  "\x35\xa5\x83\x04\x84\x01\x99\x56"
  26066			  "\xb7\xe3\x10\x96\xfa\xdc\x19\xdd"
  26067			  "\xe2\x7f\xcb\xa0\x49\x1b\xff\x4c"
  26068			  "\x73\xf6\xbb\x94\x00\xe8\xa9\x3d"
  26069			  "\xe2\x20\xe9\x3f\xfa\x07\x5d\x77"
  26070			  "\x06\xd5\x4f\x4d\x02\xb8\x40\x1b"
  26071			  "\x30\xed\x1a\x50\x19\xef\xc4\x2c"
  26072			  "\x02\xd9\xc5\xd3\x11\x33\x37\xe5"
  26073			  "\x2b\xa3\x95\xa6\xee\xd8\x74\x1d"
  26074			  "\x68\xa0\xeb\xbf\xdd\x5e\x99\x96"
  26075			  "\x91\xc3\x94\x24\xa5\x12\xa2\x37"
  26076			  "\xb3\xac\xcf\x2a\xfd\x55\x34\xfe"
  26077			  "\x79\x92\x3e\xe6\x1b\x49\x57\x5d"
  26078			  "\x93\x6c\x01\xf7\xcc\x4e\x20\xd1"
  26079			  "\xb2\x1a\xd8\x4c\xbd\x1d\x10\xe9"
  26080			  "\x5a\xa8\x92\x7f\xba\xe6\x0c\x95",
  26081		.len	= 512,
  26082	},
  26083};
  26084
  26085static const struct cipher_testvec camellia_xts_tv_template[] = {
  26086	/* Generated from AES-XTS test vectors */
  26087	{
  26088		.key	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  26089			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  26090			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  26091			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  26092		.klen	= 32,
  26093		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  26094			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  26095		.ptext	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  26096			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  26097			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  26098			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  26099		.ctext	= "\x06\xcb\xa5\xf1\x04\x63\xb2\x41"
  26100			  "\xdc\xca\xfa\x09\xba\x74\xb9\x05"
  26101			  "\x78\xba\xa4\xf8\x67\x4d\x7e\xad"
  26102			  "\x20\x18\xf5\x0c\x41\x16\x2a\x61",
  26103		.len	= 32,
  26104	}, {
  26105		.key	= "\x11\x11\x11\x11\x11\x11\x11\x11"
  26106			  "\x11\x11\x11\x11\x11\x11\x11\x11"
  26107			  "\x22\x22\x22\x22\x22\x22\x22\x22"
  26108			  "\x22\x22\x22\x22\x22\x22\x22\x22",
  26109		.klen	= 32,
  26110		.iv	= "\x33\x33\x33\x33\x33\x00\x00\x00"
  26111			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  26112		.ptext	= "\x44\x44\x44\x44\x44\x44\x44\x44"
  26113			  "\x44\x44\x44\x44\x44\x44\x44\x44"
  26114			  "\x44\x44\x44\x44\x44\x44\x44\x44"
  26115			  "\x44\x44\x44\x44\x44\x44\x44\x44",
  26116		.ctext	= "\xc2\xb9\xdc\x44\x1d\xdf\xf2\x86"
  26117			  "\x8d\x35\x42\x0a\xa5\x5e\x3d\x4f"
  26118			  "\xb5\x37\x06\xff\xbd\xd4\x91\x70"
  26119			  "\x80\x1f\xb2\x39\x10\x89\x44\xf5",
  26120		.len	= 32,
  26121	}, {
  26122		.key	= "\xff\xfe\xfd\xfc\xfb\xfa\xf9\xf8"
  26123			  "\xf7\xf6\xf5\xf4\xf3\xf2\xf1\xf0"
  26124			  "\x22\x22\x22\x22\x22\x22\x22\x22"
  26125			  "\x22\x22\x22\x22\x22\x22\x22\x22",
  26126		.klen	= 32,
  26127		.iv	= "\x33\x33\x33\x33\x33\x00\x00\x00"
  26128			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  26129		.ptext	= "\x44\x44\x44\x44\x44\x44\x44\x44"
  26130			  "\x44\x44\x44\x44\x44\x44\x44\x44"
  26131			  "\x44\x44\x44\x44\x44\x44\x44\x44"
  26132			  "\x44\x44\x44\x44\x44\x44\x44\x44",
  26133		.ctext	= "\x52\x1f\x9d\xf5\x5a\x58\x5a\x7e"
  26134			  "\x9f\xd0\x8e\x02\x9c\x9a\x6a\xa7"
  26135			  "\xb4\x3b\xce\xe7\x17\xaa\x89\x6a"
  26136			  "\x35\x3c\x6b\xb5\x61\x1c\x79\x38",
  26137		.len	= 32,
  26138	}, {
  26139		.key	= "\x27\x18\x28\x18\x28\x45\x90\x45"
  26140			  "\x23\x53\x60\x28\x74\x71\x35\x26"
  26141			  "\x31\x41\x59\x26\x53\x58\x97\x93"
  26142			  "\x23\x84\x62\x64\x33\x83\x27\x95",
  26143		.klen	= 32,
  26144		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  26145			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  26146		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  26147			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  26148			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  26149			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  26150			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  26151			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  26152			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  26153			  "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  26154			  "\x40\x41\x42\x43\x44\x45\x46\x47"
  26155			  "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  26156			  "\x50\x51\x52\x53\x54\x55\x56\x57"
  26157			  "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"
  26158			  "\x60\x61\x62\x63\x64\x65\x66\x67"
  26159			  "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f"
  26160			  "\x70\x71\x72\x73\x74\x75\x76\x77"
  26161			  "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"
  26162			  "\x80\x81\x82\x83\x84\x85\x86\x87"
  26163			  "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  26164			  "\x90\x91\x92\x93\x94\x95\x96\x97"
  26165			  "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f"
  26166			  "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  26167			  "\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  26168			  "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  26169			  "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  26170			  "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  26171			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  26172			  "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  26173			  "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf"
  26174			  "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7"
  26175			  "\xe8\xe9\xea\xeb\xec\xed\xee\xef"
  26176			  "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  26177			  "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"
  26178			  "\x00\x01\x02\x03\x04\x05\x06\x07"
  26179			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  26180			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  26181			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  26182			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  26183			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  26184			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  26185			  "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  26186			  "\x40\x41\x42\x43\x44\x45\x46\x47"
  26187			  "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  26188			  "\x50\x51\x52\x53\x54\x55\x56\x57"
  26189			  "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"
  26190			  "\x60\x61\x62\x63\x64\x65\x66\x67"
  26191			  "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f"
  26192			  "\x70\x71\x72\x73\x74\x75\x76\x77"
  26193			  "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"
  26194			  "\x80\x81\x82\x83\x84\x85\x86\x87"
  26195			  "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  26196			  "\x90\x91\x92\x93\x94\x95\x96\x97"
  26197			  "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f"
  26198			  "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  26199			  "\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  26200			  "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  26201			  "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  26202			  "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  26203			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  26204			  "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  26205			  "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf"
  26206			  "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7"
  26207			  "\xe8\xe9\xea\xeb\xec\xed\xee\xef"
  26208			  "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  26209			  "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff",
  26210		.ctext	= "\xc7\xf9\x0a\xaa\xcb\xb5\x8f\x33"
  26211			  "\x60\xc3\xe9\x47\x90\xb7\x50\x57"
  26212			  "\xa3\xad\x81\x2f\xf5\x22\x96\x02"
  26213			  "\xaa\x7f\xea\xac\x29\x78\xca\x2a"
  26214			  "\x7c\xcd\x31\x1a\x3c\x40\x0a\x73"
  26215			  "\x09\x66\xad\x72\x0e\x4d\x5d\x77"
  26216			  "\xbc\xb8\x76\x80\x37\x59\xa9\x01"
  26217			  "\x9e\xfb\xdb\x6c\x93\xef\xb6\x8d"
  26218			  "\x1e\xc1\x94\xa8\xd4\xb5\xb0\x01"
  26219			  "\xd5\x01\x97\x28\xcd\x7a\x1f\xe8"
  26220			  "\x08\xda\x76\x00\x65\xcf\x7b\x31"
  26221			  "\xc6\xfa\xf2\x3b\x00\xa7\x6a\x9e"
  26222			  "\x6c\x43\x80\x87\xe0\xbb\x4e\xe5"
  26223			  "\xdc\x8a\xdf\xc3\x1d\x1b\x41\x04"
  26224			  "\xfb\x54\xdd\x29\x27\xc2\x65\x17"
  26225			  "\x36\x88\xb0\x85\x8d\x73\x7e\x4b"
  26226			  "\x1d\x16\x8a\x52\xbc\xa6\xbc\xa4"
  26227			  "\x8c\xd1\x04\x16\xbf\x8c\x01\x0f"
  26228			  "\x7e\x6b\x59\x15\x29\xd1\x9b\xd3"
  26229			  "\x6c\xee\xac\xdc\x45\x58\xca\x5b"
  26230			  "\x70\x0e\x6a\x12\x86\x82\x79\x9f"
  26231			  "\x16\xd4\x9d\x67\xcd\x70\x65\x26"
  26232			  "\x21\x72\x1e\xa1\x94\x8a\x83\x0c"
  26233			  "\x92\x42\x58\x5e\xa2\xc5\x31\xf3"
  26234			  "\x7b\xd1\x31\xd4\x15\x80\x31\x61"
  26235			  "\x5c\x53\x10\xdd\xea\xc8\x83\x5c"
  26236			  "\x7d\xa7\x05\x66\xcc\x1e\xbb\x05"
  26237			  "\x47\xae\xb4\x0f\x84\xd8\xf6\xb5"
  26238			  "\xa1\xc6\x52\x00\x52\xe8\xdc\xd9"
  26239			  "\x16\x31\xb2\x47\x91\x67\xaa\x28"
  26240			  "\x2c\x29\x85\xa3\xf7\xf2\x24\x93"
  26241			  "\x23\x80\x1f\xa8\x1b\x82\x8d\xdc"
  26242			  "\x9f\x0b\xcd\xb4\x3c\x20\xbc\xec"
  26243			  "\x4f\xc7\xee\xf8\xfd\xd9\xfb\x7e"
  26244			  "\x3f\x0d\x23\xfa\x3f\xa7\xcc\x66"
  26245			  "\x1c\xfe\xa6\x86\xf6\xf7\x85\xc7"
  26246			  "\x43\xc1\xd4\xfc\xe4\x79\xc9\x1d"
  26247			  "\xf8\x89\xcd\x20\x27\x84\x5d\x5c"
  26248			  "\x8e\x4f\x1f\xeb\x08\x21\x4f\xa3"
  26249			  "\xe0\x7e\x0b\x9c\xe7\x42\xcf\xb7"
  26250			  "\x3f\x43\xcc\x86\x71\x34\x6a\xd9"
  26251			  "\x5e\xec\x8f\x36\xc9\x0a\x03\xfe"
  26252			  "\x18\x41\xdc\x9e\x2e\x75\x20\x3e"
  26253			  "\xcc\x77\xe0\x8f\xe8\x43\x37\x4c"
  26254			  "\xed\x1a\x5a\xb3\xfa\x43\xc9\x71"
  26255			  "\x9f\xc5\xce\xcf\xff\xe7\x77\x1e"
  26256			  "\x35\x93\xde\x6b\xc0\x6a\x7e\xa9"
  26257			  "\x34\xb8\x27\x74\x08\xda\xf2\x4a"
  26258			  "\x23\x5b\x9f\x55\x3a\x57\x82\x52"
  26259			  "\xea\x6d\xc3\xc7\xf2\xc8\xb5\xdc"
  26260			  "\xc5\xb9\xbb\xaa\xf2\x29\x9f\x49"
  26261			  "\x7a\xef\xfe\xdc\x9f\xc9\x28\xe2"
  26262			  "\x96\x0b\x35\x84\x05\x0d\xd6\x2a"
  26263			  "\xea\x5a\xbf\x69\xde\xee\x4f\x8f"
  26264			  "\x84\xb9\xcf\xa7\x57\xea\xe0\xe8"
  26265			  "\x96\xef\x0f\x0e\xec\xc7\xa6\x74"
  26266			  "\xb1\xfe\x7a\x6d\x11\xdd\x0e\x15"
  26267			  "\x4a\x1e\x73\x7f\x55\xea\xf6\xe1"
  26268			  "\x5b\xb6\x71\xda\xb0\x0c\xba\x26"
  26269			  "\x5c\x48\x38\x6d\x1c\x32\xb2\x7d"
  26270			  "\x05\x87\xc2\x1e\x7e\x2d\xd4\x33"
  26271			  "\xcc\x06\xdb\xe7\x82\x29\x63\xd1"
  26272			  "\x52\x84\x4f\xee\x27\xe8\x02\xd4"
  26273			  "\x34\x3c\x69\xc2\xbd\x20\xe6\x7a",
  26274		.len	= 512,
  26275	}, {
  26276		.key	= "\x27\x18\x28\x18\x28\x45\x90\x45"
  26277			  "\x23\x53\x60\x28\x74\x71\x35\x26"
  26278			  "\x62\x49\x77\x57\x24\x70\x93\x69"
  26279			  "\x99\x59\x57\x49\x66\x96\x76\x27"
  26280			  "\x31\x41\x59\x26\x53\x58\x97\x93"
  26281			  "\x23\x84\x62\x64\x33\x83\x27\x95"
  26282			  "\x02\x88\x41\x97\x16\x93\x99\x37"
  26283			  "\x51\x05\x82\x09\x74\x94\x45\x92",
  26284		.klen	= 64,
  26285		.iv	= "\xff\x00\x00\x00\x00\x00\x00\x00"
  26286			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  26287		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  26288			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  26289			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  26290			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  26291			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  26292			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  26293			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  26294			  "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  26295			  "\x40\x41\x42\x43\x44\x45\x46\x47"
  26296			  "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  26297			  "\x50\x51\x52\x53\x54\x55\x56\x57"
  26298			  "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"
  26299			  "\x60\x61\x62\x63\x64\x65\x66\x67"
  26300			  "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f"
  26301			  "\x70\x71\x72\x73\x74\x75\x76\x77"
  26302			  "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"
  26303			  "\x80\x81\x82\x83\x84\x85\x86\x87"
  26304			  "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  26305			  "\x90\x91\x92\x93\x94\x95\x96\x97"
  26306			  "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f"
  26307			  "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  26308			  "\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  26309			  "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  26310			  "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  26311			  "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  26312			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  26313			  "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  26314			  "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf"
  26315			  "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7"
  26316			  "\xe8\xe9\xea\xeb\xec\xed\xee\xef"
  26317			  "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  26318			  "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"
  26319			  "\x00\x01\x02\x03\x04\x05\x06\x07"
  26320			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  26321			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  26322			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  26323			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  26324			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  26325			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  26326			  "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  26327			  "\x40\x41\x42\x43\x44\x45\x46\x47"
  26328			  "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  26329			  "\x50\x51\x52\x53\x54\x55\x56\x57"
  26330			  "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"
  26331			  "\x60\x61\x62\x63\x64\x65\x66\x67"
  26332			  "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f"
  26333			  "\x70\x71\x72\x73\x74\x75\x76\x77"
  26334			  "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"
  26335			  "\x80\x81\x82\x83\x84\x85\x86\x87"
  26336			  "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  26337			  "\x90\x91\x92\x93\x94\x95\x96\x97"
  26338			  "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f"
  26339			  "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  26340			  "\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  26341			  "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  26342			  "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  26343			  "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  26344			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  26345			  "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  26346			  "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf"
  26347			  "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7"
  26348			  "\xe8\xe9\xea\xeb\xec\xed\xee\xef"
  26349			  "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  26350			  "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff",
  26351		.ctext	= "\x49\xcd\xb8\xbf\x2f\x73\x37\x28"
  26352			  "\x9a\x7f\x6e\x57\x55\xb8\x07\x88"
  26353			  "\x4a\x0d\x8b\x55\x60\xed\xb6\x7b"
  26354			  "\xf1\x74\xac\x96\x05\x7b\x32\xca"
  26355			  "\xd1\x4e\xf1\x58\x29\x16\x24\x6c"
  26356			  "\xf2\xb3\xe4\x88\x84\xac\x4d\xee"
  26357			  "\x97\x07\x82\xf0\x07\x12\x38\x0a"
  26358			  "\x67\x62\xaf\xfd\x85\x9f\x0a\x55"
  26359			  "\xa5\x20\xc5\x60\xe4\x68\x53\xa4"
  26360			  "\x0e\x2e\x65\xe3\xe4\x0c\x30\x7c"
  26361			  "\x1c\x01\x4f\x55\xa9\x13\xeb\x25"
  26362			  "\x21\x87\xbc\xd3\xe7\x67\x4f\x38"
  26363			  "\xa8\x14\x25\x71\xe9\x2e\x4c\x21"
  26364			  "\x41\x82\x0c\x45\x39\x35\xa8\x75"
  26365			  "\x03\x29\x01\x84\x8c\xab\x48\xbe"
  26366			  "\x11\x56\x22\x67\xb7\x67\x1a\x09"
  26367			  "\xa1\x72\x25\x41\x3c\x39\x65\x80"
  26368			  "\x7d\x2f\xf8\x2c\x73\x04\x58\x9d"
  26369			  "\xdd\x16\x8b\x63\x70\x4e\xc5\x17"
  26370			  "\x21\xe0\x84\x51\x4b\x6f\x05\x52"
  26371			  "\xe3\x63\x34\xfa\xa4\xaf\x33\x20"
  26372			  "\xc1\xae\x32\xc4\xb8\x2b\xdb\x76"
  26373			  "\xd9\x02\x31\x2f\xa3\xc6\xd0\x7b"
  26374			  "\xaf\x1b\x84\xe3\x9b\xbf\xa6\xe0"
  26375			  "\xb8\x8a\x13\x88\x71\xf4\x11\xa5"
  26376			  "\xe9\xa9\x10\x33\xe0\xbe\x49\x89"
  26377			  "\x41\x22\xf5\x9d\x80\x3e\x3b\x76"
  26378			  "\x01\x16\x50\x6e\x7c\x6a\x81\xe9"
  26379			  "\x13\x2c\xde\xb2\x5f\x79\xba\xb2"
  26380			  "\xb1\x75\xae\xd2\x07\x98\x4b\x69"
  26381			  "\xae\x7d\x5b\x90\xc2\x6c\xe6\x98"
  26382			  "\xd3\x4c\xa1\xa3\x9c\xc9\x33\x6a"
  26383			  "\x0d\x23\xb1\x79\x25\x13\x4b\xe5"
  26384			  "\xaf\x93\x20\x5c\x7f\x06\x7a\x34"
  26385			  "\x0b\x78\xe3\x67\x26\xe0\xad\x95"
  26386			  "\xc5\x4e\x26\x22\xcf\x73\x77\x62"
  26387			  "\x3e\x10\xd7\x90\x4b\x52\x1c\xc9"
  26388			  "\xef\x38\x52\x18\x0e\x29\x7e\xef"
  26389			  "\x34\xfe\x31\x95\xc5\xbc\xa8\xe2"
  26390			  "\xa8\x4e\x9f\xea\xa6\xf0\xfe\x5d"
  26391			  "\xc5\x39\x86\xed\x2f\x6d\xa0\xfe"
  26392			  "\x96\xcd\x41\x10\x78\x4e\x0c\xc9"
  26393			  "\xc3\x6d\x0f\xb7\xe8\xe0\x62\xab"
  26394			  "\x8b\xf1\x21\x89\xa1\x12\xaa\xfa"
  26395			  "\x9d\x70\xbe\x4c\xa8\x98\x89\x01"
  26396			  "\xb9\xe2\x61\xde\x0c\x4a\x0b\xaa"
  26397			  "\x89\xf5\x14\x79\x18\x8f\x3b\x0d"
  26398			  "\x21\x17\xf8\x59\x15\x24\x64\x22"
  26399			  "\x57\x48\x80\xd5\x3d\x92\x30\x07"
  26400			  "\xd9\xa1\x4a\x23\x16\x43\x48\x0e"
  26401			  "\x2b\x2d\x1b\x87\xef\x7e\xbd\xfa"
  26402			  "\x49\xbc\x7e\x68\x6e\xa8\x46\x95"
  26403			  "\xad\x5e\xfe\x0a\xa8\xd3\x1a\x5d"
  26404			  "\x6b\x84\xf3\x00\xba\x52\x05\x02"
  26405			  "\xe3\x96\x4e\xb6\x79\x3f\x43\xd3"
  26406			  "\x4d\x3f\xd6\xab\x0a\xc4\x75\x2d"
  26407			  "\xd1\x08\xc3\x6a\xc8\x37\x29\xa0"
  26408			  "\xcc\x9a\x05\xdd\x5c\xe1\xff\x66"
  26409			  "\xf2\x7a\x1d\xf2\xaf\xa9\x48\x89"
  26410			  "\xf5\x21\x0f\x02\x48\x83\x74\xbf"
  26411			  "\x2e\xe6\x93\x7b\xa0\xf4\xb1\x2b"
  26412			  "\xb1\x02\x0a\x5c\x79\x19\x3b\x75"
  26413			  "\xb7\x16\xd8\x12\x5c\xcd\x7d\x4e"
  26414			  "\xd5\xc6\x99\xcc\x4e\x6c\x94\x95",
  26415		.len	= 512,
  26416	},
  26417};
  26418
  26419/*
  26420 * SEED test vectors
  26421 */
  26422static const struct cipher_testvec seed_tv_template[] = {
  26423	{
  26424		.key    = zeroed_string,
  26425		.klen	= 16,
  26426		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  26427			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  26428		.ctext	= "\x5e\xba\xc6\xe0\x05\x4e\x16\x68"
  26429			  "\x19\xaf\xf1\xcc\x6d\x34\x6c\xdb",
  26430		.len	= 16,
  26431	}, {
  26432		.key	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  26433			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  26434		.klen	= 16,
  26435		.ptext	= zeroed_string,
  26436		.ctext	= "\xc1\x1f\x22\xf2\x01\x40\x50\x50"
  26437			  "\x84\x48\x35\x97\xe4\x37\x0f\x43",
  26438		.len	= 16,
  26439	}, {
  26440		.key	= "\x47\x06\x48\x08\x51\xe6\x1b\xe8"
  26441			  "\x5d\x74\xbf\xb3\xfd\x95\x61\x85",
  26442		.klen	= 16,
  26443		.ptext	= "\x83\xa2\xf8\xa2\x88\x64\x1f\xb9"
  26444			  "\xa4\xe9\xa5\xcc\x2f\x13\x1c\x7d",
  26445		.ctext	= "\xee\x54\xd1\x3e\xbc\xae\x70\x6d"
  26446			  "\x22\x6b\xc3\x14\x2c\xd4\x0d\x4a",
  26447		.len	= 16,
  26448	}, {
  26449		.key	= "\x28\xdb\xc3\xbc\x49\xff\xd8\x7d"
  26450			  "\xcf\xa5\x09\xb1\x1d\x42\x2b\xe7",
  26451		.klen	= 16,
  26452		.ptext	= "\xb4\x1e\x6b\xe2\xeb\xa8\x4a\x14"
  26453			  "\x8e\x2e\xed\x84\x59\x3c\x5e\xc7",
  26454		.ctext	= "\x9b\x9b\x7b\xfc\xd1\x81\x3c\xb9"
  26455			  "\x5d\x0b\x36\x18\xf4\x0f\x51\x22",
  26456		.len	= 16,
  26457	}
  26458};
  26459
  26460static const struct cipher_testvec chacha20_tv_template[] = {
  26461	{ /* RFC7539 A.2. Test Vector #1 */
  26462		.key	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  26463			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  26464			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  26465			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  26466		.klen	= 32,
  26467		.iv     = "\x00\x00\x00\x00\x00\x00\x00\x00"
  26468			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  26469		.ptext	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  26470			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  26471			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  26472			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  26473			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  26474			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  26475			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  26476			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  26477		.ctext	= "\x76\xb8\xe0\xad\xa0\xf1\x3d\x90"
  26478			  "\x40\x5d\x6a\xe5\x53\x86\xbd\x28"
  26479			  "\xbd\xd2\x19\xb8\xa0\x8d\xed\x1a"
  26480			  "\xa8\x36\xef\xcc\x8b\x77\x0d\xc7"
  26481			  "\xda\x41\x59\x7c\x51\x57\x48\x8d"
  26482			  "\x77\x24\xe0\x3f\xb8\xd8\x4a\x37"
  26483			  "\x6a\x43\xb8\xf4\x15\x18\xa1\x1c"
  26484			  "\xc3\x87\xb6\x69\xb2\xee\x65\x86",
  26485		.len	= 64,
  26486	}, { /* RFC7539 A.2. Test Vector #2 */
  26487		.key	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  26488			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  26489			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  26490			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  26491		.klen	= 32,
  26492		.iv     = "\x01\x00\x00\x00\x00\x00\x00\x00"
  26493			  "\x00\x00\x00\x00\x00\x00\x00\x02",
  26494		.ptext	= "\x41\x6e\x79\x20\x73\x75\x62\x6d"
  26495			  "\x69\x73\x73\x69\x6f\x6e\x20\x74"
  26496			  "\x6f\x20\x74\x68\x65\x20\x49\x45"
  26497			  "\x54\x46\x20\x69\x6e\x74\x65\x6e"
  26498			  "\x64\x65\x64\x20\x62\x79\x20\x74"
  26499			  "\x68\x65\x20\x43\x6f\x6e\x74\x72"
  26500			  "\x69\x62\x75\x74\x6f\x72\x20\x66"
  26501			  "\x6f\x72\x20\x70\x75\x62\x6c\x69"
  26502			  "\x63\x61\x74\x69\x6f\x6e\x20\x61"
  26503			  "\x73\x20\x61\x6c\x6c\x20\x6f\x72"
  26504			  "\x20\x70\x61\x72\x74\x20\x6f\x66"
  26505			  "\x20\x61\x6e\x20\x49\x45\x54\x46"
  26506			  "\x20\x49\x6e\x74\x65\x72\x6e\x65"
  26507			  "\x74\x2d\x44\x72\x61\x66\x74\x20"
  26508			  "\x6f\x72\x20\x52\x46\x43\x20\x61"
  26509			  "\x6e\x64\x20\x61\x6e\x79\x20\x73"
  26510			  "\x74\x61\x74\x65\x6d\x65\x6e\x74"
  26511			  "\x20\x6d\x61\x64\x65\x20\x77\x69"
  26512			  "\x74\x68\x69\x6e\x20\x74\x68\x65"
  26513			  "\x20\x63\x6f\x6e\x74\x65\x78\x74"
  26514			  "\x20\x6f\x66\x20\x61\x6e\x20\x49"
  26515			  "\x45\x54\x46\x20\x61\x63\x74\x69"
  26516			  "\x76\x69\x74\x79\x20\x69\x73\x20"
  26517			  "\x63\x6f\x6e\x73\x69\x64\x65\x72"
  26518			  "\x65\x64\x20\x61\x6e\x20\x22\x49"
  26519			  "\x45\x54\x46\x20\x43\x6f\x6e\x74"
  26520			  "\x72\x69\x62\x75\x74\x69\x6f\x6e"
  26521			  "\x22\x2e\x20\x53\x75\x63\x68\x20"
  26522			  "\x73\x74\x61\x74\x65\x6d\x65\x6e"
  26523			  "\x74\x73\x20\x69\x6e\x63\x6c\x75"
  26524			  "\x64\x65\x20\x6f\x72\x61\x6c\x20"
  26525			  "\x73\x74\x61\x74\x65\x6d\x65\x6e"
  26526			  "\x74\x73\x20\x69\x6e\x20\x49\x45"
  26527			  "\x54\x46\x20\x73\x65\x73\x73\x69"
  26528			  "\x6f\x6e\x73\x2c\x20\x61\x73\x20"
  26529			  "\x77\x65\x6c\x6c\x20\x61\x73\x20"
  26530			  "\x77\x72\x69\x74\x74\x65\x6e\x20"
  26531			  "\x61\x6e\x64\x20\x65\x6c\x65\x63"
  26532			  "\x74\x72\x6f\x6e\x69\x63\x20\x63"
  26533			  "\x6f\x6d\x6d\x75\x6e\x69\x63\x61"
  26534			  "\x74\x69\x6f\x6e\x73\x20\x6d\x61"
  26535			  "\x64\x65\x20\x61\x74\x20\x61\x6e"
  26536			  "\x79\x20\x74\x69\x6d\x65\x20\x6f"
  26537			  "\x72\x20\x70\x6c\x61\x63\x65\x2c"
  26538			  "\x20\x77\x68\x69\x63\x68\x20\x61"
  26539			  "\x72\x65\x20\x61\x64\x64\x72\x65"
  26540			  "\x73\x73\x65\x64\x20\x74\x6f",
  26541		.ctext	= "\xa3\xfb\xf0\x7d\xf3\xfa\x2f\xde"
  26542			  "\x4f\x37\x6c\xa2\x3e\x82\x73\x70"
  26543			  "\x41\x60\x5d\x9f\x4f\x4f\x57\xbd"
  26544			  "\x8c\xff\x2c\x1d\x4b\x79\x55\xec"
  26545			  "\x2a\x97\x94\x8b\xd3\x72\x29\x15"
  26546			  "\xc8\xf3\xd3\x37\xf7\xd3\x70\x05"
  26547			  "\x0e\x9e\x96\xd6\x47\xb7\xc3\x9f"
  26548			  "\x56\xe0\x31\xca\x5e\xb6\x25\x0d"
  26549			  "\x40\x42\xe0\x27\x85\xec\xec\xfa"
  26550			  "\x4b\x4b\xb5\xe8\xea\xd0\x44\x0e"
  26551			  "\x20\xb6\xe8\xdb\x09\xd8\x81\xa7"
  26552			  "\xc6\x13\x2f\x42\x0e\x52\x79\x50"
  26553			  "\x42\xbd\xfa\x77\x73\xd8\xa9\x05"
  26554			  "\x14\x47\xb3\x29\x1c\xe1\x41\x1c"
  26555			  "\x68\x04\x65\x55\x2a\xa6\xc4\x05"
  26556			  "\xb7\x76\x4d\x5e\x87\xbe\xa8\x5a"
  26557			  "\xd0\x0f\x84\x49\xed\x8f\x72\xd0"
  26558			  "\xd6\x62\xab\x05\x26\x91\xca\x66"
  26559			  "\x42\x4b\xc8\x6d\x2d\xf8\x0e\xa4"
  26560			  "\x1f\x43\xab\xf9\x37\xd3\x25\x9d"
  26561			  "\xc4\xb2\xd0\xdf\xb4\x8a\x6c\x91"
  26562			  "\x39\xdd\xd7\xf7\x69\x66\xe9\x28"
  26563			  "\xe6\x35\x55\x3b\xa7\x6c\x5c\x87"
  26564			  "\x9d\x7b\x35\xd4\x9e\xb2\xe6\x2b"
  26565			  "\x08\x71\xcd\xac\x63\x89\x39\xe2"
  26566			  "\x5e\x8a\x1e\x0e\xf9\xd5\x28\x0f"
  26567			  "\xa8\xca\x32\x8b\x35\x1c\x3c\x76"
  26568			  "\x59\x89\xcb\xcf\x3d\xaa\x8b\x6c"
  26569			  "\xcc\x3a\xaf\x9f\x39\x79\xc9\x2b"
  26570			  "\x37\x20\xfc\x88\xdc\x95\xed\x84"
  26571			  "\xa1\xbe\x05\x9c\x64\x99\xb9\xfd"
  26572			  "\xa2\x36\xe7\xe8\x18\xb0\x4b\x0b"
  26573			  "\xc3\x9c\x1e\x87\x6b\x19\x3b\xfe"
  26574			  "\x55\x69\x75\x3f\x88\x12\x8c\xc0"
  26575			  "\x8a\xaa\x9b\x63\xd1\xa1\x6f\x80"
  26576			  "\xef\x25\x54\xd7\x18\x9c\x41\x1f"
  26577			  "\x58\x69\xca\x52\xc5\xb8\x3f\xa3"
  26578			  "\x6f\xf2\x16\xb9\xc1\xd3\x00\x62"
  26579			  "\xbe\xbc\xfd\x2d\xc5\xbc\xe0\x91"
  26580			  "\x19\x34\xfd\xa7\x9a\x86\xf6\xe6"
  26581			  "\x98\xce\xd7\x59\xc3\xff\x9b\x64"
  26582			  "\x77\x33\x8f\x3d\xa4\xf9\xcd\x85"
  26583			  "\x14\xea\x99\x82\xcc\xaf\xb3\x41"
  26584			  "\xb2\x38\x4d\xd9\x02\xf3\xd1\xab"
  26585			  "\x7a\xc6\x1d\xd2\x9c\x6f\x21\xba"
  26586			  "\x5b\x86\x2f\x37\x30\xe3\x7c\xfd"
  26587			  "\xc4\xfd\x80\x6c\x22\xf2\x21",
  26588		.len	= 375,
  26589
  26590	}, { /* RFC7539 A.2. Test Vector #3 */
  26591		.key	= "\x1c\x92\x40\xa5\xeb\x55\xd3\x8a"
  26592			  "\xf3\x33\x88\x86\x04\xf6\xb5\xf0"
  26593			  "\x47\x39\x17\xc1\x40\x2b\x80\x09"
  26594			  "\x9d\xca\x5c\xbc\x20\x70\x75\xc0",
  26595		.klen	= 32,
  26596		.iv     = "\x2a\x00\x00\x00\x00\x00\x00\x00"
  26597			  "\x00\x00\x00\x00\x00\x00\x00\x02",
  26598		.ptext	= "\x27\x54\x77\x61\x73\x20\x62\x72"
  26599			  "\x69\x6c\x6c\x69\x67\x2c\x20\x61"
  26600			  "\x6e\x64\x20\x74\x68\x65\x20\x73"
  26601			  "\x6c\x69\x74\x68\x79\x20\x74\x6f"
  26602			  "\x76\x65\x73\x0a\x44\x69\x64\x20"
  26603			  "\x67\x79\x72\x65\x20\x61\x6e\x64"
  26604			  "\x20\x67\x69\x6d\x62\x6c\x65\x20"
  26605			  "\x69\x6e\x20\x74\x68\x65\x20\x77"
  26606			  "\x61\x62\x65\x3a\x0a\x41\x6c\x6c"
  26607			  "\x20\x6d\x69\x6d\x73\x79\x20\x77"
  26608			  "\x65\x72\x65\x20\x74\x68\x65\x20"
  26609			  "\x62\x6f\x72\x6f\x67\x6f\x76\x65"
  26610			  "\x73\x2c\x0a\x41\x6e\x64\x20\x74"
  26611			  "\x68\x65\x20\x6d\x6f\x6d\x65\x20"
  26612			  "\x72\x61\x74\x68\x73\x20\x6f\x75"
  26613			  "\x74\x67\x72\x61\x62\x65\x2e",
  26614		.ctext	= "\x62\xe6\x34\x7f\x95\xed\x87\xa4"
  26615			  "\x5f\xfa\xe7\x42\x6f\x27\xa1\xdf"
  26616			  "\x5f\xb6\x91\x10\x04\x4c\x0d\x73"
  26617			  "\x11\x8e\xff\xa9\x5b\x01\xe5\xcf"
  26618			  "\x16\x6d\x3d\xf2\xd7\x21\xca\xf9"
  26619			  "\xb2\x1e\x5f\xb1\x4c\x61\x68\x71"
  26620			  "\xfd\x84\xc5\x4f\x9d\x65\xb2\x83"
  26621			  "\x19\x6c\x7f\xe4\xf6\x05\x53\xeb"
  26622			  "\xf3\x9c\x64\x02\xc4\x22\x34\xe3"
  26623			  "\x2a\x35\x6b\x3e\x76\x43\x12\xa6"
  26624			  "\x1a\x55\x32\x05\x57\x16\xea\xd6"
  26625			  "\x96\x25\x68\xf8\x7d\x3f\x3f\x77"
  26626			  "\x04\xc6\xa8\xd1\xbc\xd1\xbf\x4d"
  26627			  "\x50\xd6\x15\x4b\x6d\xa7\x31\xb1"
  26628			  "\x87\xb5\x8d\xfd\x72\x8a\xfa\x36"
  26629			  "\x75\x7a\x79\x7a\xc1\x88\xd1",
  26630		.len	= 127,
  26631	}, { /* Self-made test vector for long data */
  26632		.key	= "\x1c\x92\x40\xa5\xeb\x55\xd3\x8a"
  26633			  "\xf3\x33\x88\x86\x04\xf6\xb5\xf0"
  26634			  "\x47\x39\x17\xc1\x40\x2b\x80\x09"
  26635			  "\x9d\xca\x5c\xbc\x20\x70\x75\xc0",
  26636		.klen	= 32,
  26637		.iv     = "\x1c\x00\x00\x00\x00\x00\x00\x00"
  26638			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  26639		.ptext	= "\x49\xee\xe0\xdc\x24\x90\x40\xcd"
  26640			  "\xc5\x40\x8f\x47\x05\xbc\xdd\x81"
  26641			  "\x47\xc6\x8d\xe6\xb1\x8f\xd7\xcb"
  26642			  "\x09\x0e\x6e\x22\x48\x1f\xbf\xb8"
  26643			  "\x5c\xf7\x1e\x8a\xc1\x23\xf2\xd4"
  26644			  "\x19\x4b\x01\x0f\x4e\xa4\x43\xce"
  26645			  "\x01\xc6\x67\xda\x03\x91\x18\x90"
  26646			  "\xa5\xa4\x8e\x45\x03\xb3\x2d\xac"
  26647			  "\x74\x92\xd3\x53\x47\xc8\xdd\x25"
  26648			  "\x53\x6c\x02\x03\x87\x0d\x11\x0c"
  26649			  "\x58\xe3\x12\x18\xfd\x2a\x5b\x40"
  26650			  "\x0c\x30\xf0\xb8\x3f\x43\xce\xae"
  26651			  "\x65\x3a\x7d\x7c\xf4\x54\xaa\xcc"
  26652			  "\x33\x97\xc3\x77\xba\xc5\x70\xde"
  26653			  "\xd7\xd5\x13\xa5\x65\xc4\x5f\x0f"
  26654			  "\x46\x1a\x0d\x97\xb5\xf3\xbb\x3c"
  26655			  "\x84\x0f\x2b\xc5\xaa\xea\xf2\x6c"
  26656			  "\xc9\xb5\x0c\xee\x15\xf3\x7d\xbe"
  26657			  "\x9f\x7b\x5a\xa6\xae\x4f\x83\xb6"
  26658			  "\x79\x49\x41\xf4\x58\x18\xcb\x86"
  26659			  "\x7f\x30\x0e\xf8\x7d\x44\x36\xea"
  26660			  "\x75\xeb\x88\x84\x40\x3c\xad\x4f"
  26661			  "\x6f\x31\x6b\xaa\x5d\xe5\xa5\xc5"
  26662			  "\x21\x66\xe9\xa7\xe3\xb2\x15\x88"
  26663			  "\x78\xf6\x79\xa1\x59\x47\x12\x4e"
  26664			  "\x9f\x9f\x64\x1a\xa0\x22\x5b\x08"
  26665			  "\xbe\x7c\x36\xc2\x2b\x66\x33\x1b"
  26666			  "\xdd\x60\x71\xf7\x47\x8c\x61\xc3"
  26667			  "\xda\x8a\x78\x1e\x16\xfa\x1e\x86"
  26668			  "\x81\xa6\x17\x2a\xa7\xb5\xc2\xe7"
  26669			  "\xa4\xc7\x42\xf1\xcf\x6a\xca\xb4"
  26670			  "\x45\xcf\xf3\x93\xf0\xe7\xea\xf6"
  26671			  "\xf4\xe6\x33\x43\x84\x93\xa5\x67"
  26672			  "\x9b\x16\x58\x58\x80\x0f\x2b\x5c"
  26673			  "\x24\x74\x75\x7f\x95\x81\xb7\x30"
  26674			  "\x7a\x33\xa7\xf7\x94\x87\x32\x27"
  26675			  "\x10\x5d\x14\x4c\x43\x29\xdd\x26"
  26676			  "\xbd\x3e\x3c\x0e\xfe\x0e\xa5\x10"
  26677			  "\xea\x6b\x64\xfd\x73\xc6\xed\xec"
  26678			  "\xa8\xc9\xbf\xb3\xba\x0b\x4d\x07"
  26679			  "\x70\xfc\x16\xfd\x79\x1e\xd7\xc5"
  26680			  "\x49\x4e\x1c\x8b\x8d\x79\x1b\xb1"
  26681			  "\xec\xca\x60\x09\x4c\x6a\xd5\x09"
  26682			  "\x49\x46\x00\x88\x22\x8d\xce\xea"
  26683			  "\xb1\x17\x11\xde\x42\xd2\x23\xc1"
  26684			  "\x72\x11\xf5\x50\x73\x04\x40\x47"
  26685			  "\xf9\x5d\xe7\xa7\x26\xb1\x7e\xb0"
  26686			  "\x3f\x58\xc1\x52\xab\x12\x67\x9d"
  26687			  "\x3f\x43\x4b\x68\xd4\x9c\x68\x38"
  26688			  "\x07\x8a\x2d\x3e\xf3\xaf\x6a\x4b"
  26689			  "\xf9\xe5\x31\x69\x22\xf9\xa6\x69"
  26690			  "\xc6\x9c\x96\x9a\x12\x35\x95\x1d"
  26691			  "\x95\xd5\xdd\xbe\xbf\x93\x53\x24"
  26692			  "\xfd\xeb\xc2\x0a\x64\xb0\x77\x00"
  26693			  "\x6f\x88\xc4\x37\x18\x69\x7c\xd7"
  26694			  "\x41\x92\x55\x4c\x03\xa1\x9a\x4b"
  26695			  "\x15\xe5\xdf\x7f\x37\x33\x72\xc1"
  26696			  "\x8b\x10\x67\xa3\x01\x57\x94\x25"
  26697			  "\x7b\x38\x71\x7e\xdd\x1e\xcc\x73"
  26698			  "\x55\xd2\x8e\xeb\x07\xdd\xf1\xda"
  26699			  "\x58\xb1\x47\x90\xfe\x42\x21\x72"
  26700			  "\xa3\x54\x7a\xa0\x40\xec\x9f\xdd"
  26701			  "\xc6\x84\x6e\xca\xae\xe3\x68\xb4"
  26702			  "\x9d\xe4\x78\xff\x57\xf2\xf8\x1b"
  26703			  "\x03\xa1\x31\xd9\xde\x8d\xf5\x22"
  26704			  "\x9c\xdd\x20\xa4\x1e\x27\xb1\x76"
  26705			  "\x4f\x44\x55\xe2\x9b\xa1\x9c\xfe"
  26706			  "\x54\xf7\x27\x1b\xf4\xde\x02\xf5"
  26707			  "\x1b\x55\x48\x5c\xdc\x21\x4b\x9e"
  26708			  "\x4b\x6e\xed\x46\x23\xdc\x65\xb2"
  26709			  "\xcf\x79\x5f\x28\xe0\x9e\x8b\xe7"
  26710			  "\x4c\x9d\x8a\xff\xc1\xa6\x28\xb8"
  26711			  "\x65\x69\x8a\x45\x29\xef\x74\x85"
  26712			  "\xde\x79\xc7\x08\xae\x30\xb0\xf4"
  26713			  "\xa3\x1d\x51\x41\xab\xce\xcb\xf6"
  26714			  "\xb5\xd8\x6d\xe0\x85\xe1\x98\xb3"
  26715			  "\x43\xbb\x86\x83\x0a\xa0\xf5\xb7"
  26716			  "\x04\x0b\xfa\x71\x1f\xb0\xf6\xd9"
  26717			  "\x13\x00\x15\xf0\xc7\xeb\x0d\x5a"
  26718			  "\x9f\xd7\xb9\x6c\x65\x14\x22\x45"
  26719			  "\x6e\x45\x32\x3e\x7e\x60\x1a\x12"
  26720			  "\x97\x82\x14\xfb\xaa\x04\x22\xfa"
  26721			  "\xa0\xe5\x7e\x8c\x78\x02\x48\x5d"
  26722			  "\x78\x33\x5a\x7c\xad\xdb\x29\xce"
  26723			  "\xbb\x8b\x61\xa4\xb7\x42\xe2\xac"
  26724			  "\x8b\x1a\xd9\x2f\x0b\x8b\x62\x21"
  26725			  "\x83\x35\x7e\xad\x73\xc2\xb5\x6c"
  26726			  "\x10\x26\x38\x07\xe5\xc7\x36\x80"
  26727			  "\xe2\x23\x12\x61\xf5\x48\x4b\x2b"
  26728			  "\xc5\xdf\x15\xd9\x87\x01\xaa\xac"
  26729			  "\x1e\x7c\xad\x73\x78\x18\x63\xe0"
  26730			  "\x8b\x9f\x81\xd8\x12\x6a\x28\x10"
  26731			  "\xbe\x04\x68\x8a\x09\x7c\x1b\x1c"
  26732			  "\x83\x66\x80\x47\x80\xe8\xfd\x35"
  26733			  "\x1c\x97\x6f\xae\x49\x10\x66\xcc"
  26734			  "\xc6\xd8\xcc\x3a\x84\x91\x20\x77"
  26735			  "\x72\xe4\x24\xd2\x37\x9f\xc5\xc9"
  26736			  "\x25\x94\x10\x5f\x40\x00\x64\x99"
  26737			  "\xdc\xae\xd7\x21\x09\x78\x50\x15"
  26738			  "\xac\x5f\xc6\x2c\xa2\x0b\xa9\x39"
  26739			  "\x87\x6e\x6d\xab\xde\x08\x51\x16"
  26740			  "\xc7\x13\xe9\xea\xed\x06\x8e\x2c"
  26741			  "\xf8\x37\x8c\xf0\xa6\x96\x8d\x43"
  26742			  "\xb6\x98\x37\xb2\x43\xed\xde\xdf"
  26743			  "\x89\x1a\xe7\xeb\x9d\xa1\x7b\x0b"
  26744			  "\x77\xb0\xe2\x75\xc0\xf1\x98\xd9"
  26745			  "\x80\x55\xc9\x34\x91\xd1\x59\xe8"
  26746			  "\x4b\x0f\xc1\xa9\x4b\x7a\x84\x06"
  26747			  "\x20\xa8\x5d\xfa\xd1\xde\x70\x56"
  26748			  "\x2f\x9e\x91\x9c\x20\xb3\x24\xd8"
  26749			  "\x84\x3d\xe1\x8c\x7e\x62\x52\xe5"
  26750			  "\x44\x4b\x9f\xc2\x93\x03\xea\x2b"
  26751			  "\x59\xc5\xfa\x3f\x91\x2b\xbb\x23"
  26752			  "\xf5\xb2\x7b\xf5\x38\xaf\xb3\xee"
  26753			  "\x63\xdc\x7b\xd1\xff\xaa\x8b\xab"
  26754			  "\x82\x6b\x37\x04\xeb\x74\xbe\x79"
  26755			  "\xb9\x83\x90\xef\x20\x59\x46\xff"
  26756			  "\xe9\x97\x3e\x2f\xee\xb6\x64\x18"
  26757			  "\x38\x4c\x7a\x4a\xf9\x61\xe8\x9a"
  26758			  "\xa1\xb5\x01\xa6\x47\xd3\x11\xd4"
  26759			  "\xce\xd3\x91\x49\x88\xc7\xb8\x4d"
  26760			  "\xb1\xb9\x07\x6d\x16\x72\xae\x46"
  26761			  "\x5e\x03\xa1\x4b\xb6\x02\x30\xa8"
  26762			  "\x3d\xa9\x07\x2a\x7c\x19\xe7\x62"
  26763			  "\x87\xe3\x82\x2f\x6f\xe1\x09\xd9"
  26764			  "\x94\x97\xea\xdd\x58\x9e\xae\x76"
  26765			  "\x7e\x35\xe5\xb4\xda\x7e\xf4\xde"
  26766			  "\xf7\x32\x87\xcd\x93\xbf\x11\x56"
  26767			  "\x11\xbe\x08\x74\xe1\x69\xad\xe2"
  26768			  "\xd7\xf8\x86\x75\x8a\x3c\xa4\xbe"
  26769			  "\x70\xa7\x1b\xfc\x0b\x44\x2a\x76"
  26770			  "\x35\xea\x5d\x85\x81\xaf\x85\xeb"
  26771			  "\xa0\x1c\x61\xc2\xf7\x4f\xa5\xdc"
  26772			  "\x02\x7f\xf6\x95\x40\x6e\x8a\x9a"
  26773			  "\xf3\x5d\x25\x6e\x14\x3a\x22\xc9"
  26774			  "\x37\x1c\xeb\x46\x54\x3f\xa5\x91"
  26775			  "\xc2\xb5\x8c\xfe\x53\x08\x97\x32"
  26776			  "\x1b\xb2\x30\x27\xfe\x25\x5d\xdc"
  26777			  "\x08\x87\xd0\xe5\x94\x1a\xd4\xf1"
  26778			  "\xfe\xd6\xb4\xa3\xe6\x74\x81\x3c"
  26779			  "\x1b\xb7\x31\xa7\x22\xfd\xd4\xdd"
  26780			  "\x20\x4e\x7c\x51\xb0\x60\x73\xb8"
  26781			  "\x9c\xac\x91\x90\x7e\x01\xb0\xe1"
  26782			  "\x8a\x2f\x75\x1c\x53\x2a\x98\x2a"
  26783			  "\x06\x52\x95\x52\xb2\xe9\x25\x2e"
  26784			  "\x4c\xe2\x5a\x00\xb2\x13\x81\x03"
  26785			  "\x77\x66\x0d\xa5\x99\xda\x4e\x8c"
  26786			  "\xac\xf3\x13\x53\x27\x45\xaf\x64"
  26787			  "\x46\xdc\xea\x23\xda\x97\xd1\xab"
  26788			  "\x7d\x6c\x30\x96\x1f\xbc\x06\x34"
  26789			  "\x18\x0b\x5e\x21\x35\x11\x8d\x4c"
  26790			  "\xe0\x2d\xe9\x50\x16\x74\x81\xa8"
  26791			  "\xb4\x34\xb9\x72\x42\xa6\xcc\xbc"
  26792			  "\xca\x34\x83\x27\x10\x5b\x68\x45"
  26793			  "\x8f\x52\x22\x0c\x55\x3d\x29\x7c"
  26794			  "\xe3\xc0\x66\x05\x42\x91\x5f\x58"
  26795			  "\xfe\x4a\x62\xd9\x8c\xa9\x04\x19"
  26796			  "\x04\xa9\x08\x4b\x57\xfc\x67\x53"
  26797			  "\x08\x7c\xbc\x66\x8a\xb0\xb6\x9f"
  26798			  "\x92\xd6\x41\x7c\x5b\x2a\x00\x79"
  26799			  "\x72",
  26800		.ctext	= "\x45\xe8\xe0\xb6\x9c\xca\xfd\x87"
  26801			  "\xe8\x1d\x37\x96\x8a\xe3\x40\x35"
  26802			  "\xcf\x5e\x3a\x46\x3d\xfb\xd0\x69"
  26803			  "\xde\xaf\x7a\xd5\x0d\xe9\x52\xec"
  26804			  "\xc2\x82\xe5\x3e\x7d\xb2\x4a\xd9"
  26805			  "\xbb\xc3\x9f\xc0\x5d\xac\x93\x8d"
  26806			  "\x0e\x6f\xd3\xd7\xfb\x6a\x0d\xce"
  26807			  "\x92\x2c\xf7\xbb\x93\x57\xcc\xee"
  26808			  "\x42\x72\x6f\xc8\x4b\xd2\x76\xbf"
  26809			  "\xa0\xe3\x7a\x39\xf9\x5c\x8e\xfd"
  26810			  "\xa1\x1d\x41\xe5\x08\xc1\x1c\x11"
  26811			  "\x92\xfd\x39\x5c\x51\xd0\x2f\x66"
  26812			  "\x33\x4a\x71\x15\xfe\xee\x12\x54"
  26813			  "\x8c\x8f\x34\xd8\x50\x3c\x18\xa6"
  26814			  "\xc5\xe1\x46\x8a\xfb\x5f\x7e\x25"
  26815			  "\x9b\xe2\xc3\x66\x41\x2b\xb3\xa5"
  26816			  "\x57\x0e\x94\x17\x26\x39\xbb\x54"
  26817			  "\xae\x2e\x6f\x42\xfb\x4d\x89\x6f"
  26818			  "\x9d\xf1\x16\x2e\xe3\xe7\xfc\xe3"
  26819			  "\xb2\x4b\x2b\xa6\x7c\x04\x69\x3a"
  26820			  "\x70\x5a\xa7\xf1\x31\x64\x19\xca"
  26821			  "\x45\x79\xd8\x58\x23\x61\xaf\xc2"
  26822			  "\x52\x05\xc3\x0b\xc1\x64\x7c\x81"
  26823			  "\xd9\x11\xcf\xff\x02\x3d\x51\x84"
  26824			  "\x01\xac\xc6\x2e\x34\x2b\x09\x3a"
  26825			  "\xa8\x5d\x98\x0e\x89\xd9\xef\x8f"
  26826			  "\xd9\xd7\x7d\xdd\x63\x47\x46\x7d"
  26827			  "\xa1\xda\x0b\x53\x7d\x79\xcd\xc9"
  26828			  "\x86\xdd\x6b\x13\xa1\x9a\x70\xdd"
  26829			  "\x5c\xa1\x69\x3c\xe4\x5d\xe3\x8c"
  26830			  "\xe5\xf4\x87\x9c\x10\xcf\x0f\x0b"
  26831			  "\xc8\x43\xdc\xf8\x1d\x62\x5e\x5b"
  26832			  "\xe2\x03\x06\xc5\x71\xb6\x48\xa5"
  26833			  "\xf0\x0f\x2d\xd5\xa2\x73\x55\x8f"
  26834			  "\x01\xa7\x59\x80\x5f\x11\x6c\x40"
  26835			  "\xff\xb1\xf2\xc6\x7e\x01\xbb\x1c"
  26836			  "\x69\x9c\xc9\x3f\x71\x5f\x07\x7e"
  26837			  "\xdf\x6f\x99\xca\x9c\xfd\xf9\xb9"
  26838			  "\x49\xe7\xcc\x91\xd5\x9b\x8f\x03"
  26839			  "\xae\xe7\x61\x32\xef\x41\x6c\x75"
  26840			  "\x84\x9b\x8c\xce\x1d\x6b\x93\x21"
  26841			  "\x41\xec\xc6\xad\x8e\x0c\x48\xa8"
  26842			  "\xe2\xf5\x57\xde\xf7\x38\xfd\x4a"
  26843			  "\x6f\xa7\x4a\xf9\xac\x7d\xb1\x85"
  26844			  "\x7d\x6c\x95\x0a\x5a\xcf\x68\xd2"
  26845			  "\xe0\x7a\x26\xd9\xc1\x6d\x3e\xc6"
  26846			  "\x37\xbd\xbe\x24\x36\x77\x9f\x1b"
  26847			  "\xc1\x22\xf3\x79\xae\x95\x78\x66"
  26848			  "\x97\x11\xc0\x1a\xf1\xe8\x0d\x38"
  26849			  "\x09\xc2\xee\xb7\xd3\x46\x7b\x59"
  26850			  "\x77\x23\xe8\xb4\x92\x3d\x78\xbe"
  26851			  "\xe2\x25\x63\xa5\x2a\x06\x70\x92"
  26852			  "\x32\x63\xf9\x19\x21\x68\xe1\x0b"
  26853			  "\x9a\xd0\xee\x21\xdb\x1f\xe0\xde"
  26854			  "\x3e\x64\x02\x4d\x0e\xe0\x0a\xa9"
  26855			  "\xed\x19\x8c\xa8\xbf\xe3\x2e\x75"
  26856			  "\x24\x2b\xb0\xe5\x82\x6a\x1e\x6f"
  26857			  "\x71\x2a\x3a\x60\xed\x06\x0d\x17"
  26858			  "\xa2\xdb\x29\x1d\xae\xb2\xc4\xfb"
  26859			  "\x94\x04\xd8\x58\xfc\xc4\x04\x4e"
  26860			  "\xee\xc7\xc1\x0f\xe9\x9b\x63\x2d"
  26861			  "\x02\x3e\x02\x67\xe5\xd8\xbb\x79"
  26862			  "\xdf\xd2\xeb\x50\xe9\x0a\x02\x46"
  26863			  "\xdf\x68\xcf\xe7\x2b\x0a\x56\xd6"
  26864			  "\xf7\xbc\x44\xad\xb8\xb5\x5f\xeb"
  26865			  "\xbc\x74\x6b\xe8\x7e\xb0\x60\xc6"
  26866			  "\x0d\x96\x09\xbb\x19\xba\xe0\x3c"
  26867			  "\xc4\x6c\xbf\x0f\x58\xc0\x55\x62"
  26868			  "\x23\xa0\xff\xb5\x1c\xfd\x18\xe1"
  26869			  "\xcf\x6d\xd3\x52\xb4\xce\xa6\xfa"
  26870			  "\xaa\xfb\x1b\x0b\x42\x6d\x79\x42"
  26871			  "\x48\x70\x5b\x0e\xdd\x3a\xc9\x69"
  26872			  "\x8b\x73\x67\xf6\x95\xdb\x8c\xfb"
  26873			  "\xfd\xb5\x08\x47\x42\x84\x9a\xfa"
  26874			  "\xcc\x67\xb2\x3c\xb6\xfd\xd8\x32"
  26875			  "\xd6\x04\xb6\x4a\xea\x53\x4b\xf5"
  26876			  "\x94\x16\xad\xf0\x10\x2e\x2d\xb4"
  26877			  "\x8b\xab\xe5\x89\xc7\x39\x12\xf3"
  26878			  "\x8d\xb5\x96\x0b\x87\x5d\xa7\x7c"
  26879			  "\xb0\xc2\xf6\x2e\x57\x97\x2c\xdc"
  26880			  "\x54\x1c\x34\x72\xde\x0c\x68\x39"
  26881			  "\x9d\x32\xa5\x75\x92\x13\x32\xea"
  26882			  "\x90\x27\xbd\x5b\x1d\xb9\x21\x02"
  26883			  "\x1c\xcc\xba\x97\x5e\x49\x58\xe8"
  26884			  "\xac\x8b\xf3\xce\x3c\xf0\x00\xe9"
  26885			  "\x6c\xae\xe9\x77\xdf\xf4\x02\xcd"
  26886			  "\x55\x25\x89\x9e\x90\xf3\x6b\x8f"
  26887			  "\xb7\xd6\x47\x98\x26\x2f\x31\x2f"
  26888			  "\x8d\xbf\x54\xcd\x99\xeb\x80\xd7"
  26889			  "\xac\xc3\x08\xc2\xa6\x32\xf1\x24"
  26890			  "\x76\x7c\x4f\x78\x53\x55\xfb\x00"
  26891			  "\x8a\xd6\x52\x53\x25\x45\xfb\x0a"
  26892			  "\x6b\xb9\xbe\x3c\x5e\x11\xcc\x6a"
  26893			  "\xdd\xfc\xa7\xc4\x79\x4d\xbd\xfb"
  26894			  "\xce\x3a\xf1\x7a\xda\xeb\xfe\x64"
  26895			  "\x28\x3d\x0f\xee\x80\xba\x0c\xf8"
  26896			  "\xe9\x5b\x3a\xd4\xae\xc9\xf3\x0e"
  26897			  "\xe8\x5d\xc5\x5c\x0b\x20\x20\xee"
  26898			  "\x40\x0d\xde\x07\xa7\x14\xb4\x90"
  26899			  "\xb6\xbd\x3b\xae\x7d\x2b\xa7\xc7"
  26900			  "\xdc\x0b\x4c\x5d\x65\xb0\xd2\xc5"
  26901			  "\x79\x61\x23\xe0\xa2\x99\x73\x55"
  26902			  "\xad\xc6\xfb\xc7\x54\xb5\x98\x1f"
  26903			  "\x8c\x86\xc2\x3f\xbe\x5e\xea\x64"
  26904			  "\xa3\x60\x18\x9f\x80\xaf\x52\x74"
  26905			  "\x1a\xfe\x22\xc2\x92\x67\x40\x02"
  26906			  "\x08\xee\x67\x5b\x67\xe0\x3d\xde"
  26907			  "\x7a\xaf\x8e\x28\xf3\x5e\x0e\xf4"
  26908			  "\x48\x56\xaa\x85\x22\xd8\x36\xed"
  26909			  "\x3b\x3d\x68\x69\x30\xbc\x71\x23"
  26910			  "\xb1\x6e\x61\x03\x89\x44\x03\xf4"
  26911			  "\x32\xaa\x4c\x40\x9f\x69\xfb\x70"
  26912			  "\x91\xcc\x1f\x11\xbd\x76\x67\xe6"
  26913			  "\x10\x8b\x29\x39\x68\xea\x4e\x6d"
  26914			  "\xae\xfb\x40\xcf\xe2\xd0\x0d\x8d"
  26915			  "\x6f\xed\x9b\x8d\x64\x7a\x94\x8e"
  26916			  "\x32\x38\x78\xeb\x7d\x5f\xf9\x4d"
  26917			  "\x13\xbe\x21\xea\x16\xe7\x5c\xee"
  26918			  "\xcd\xf6\x5f\xc6\x45\xb2\x8f\x2b"
  26919			  "\xb5\x93\x3e\x45\xdb\xfd\xa2\x6a"
  26920			  "\xec\x83\x92\x99\x87\x47\xe0\x7c"
  26921			  "\xa2\x7b\xc4\x2a\xcd\xc0\x81\x03"
  26922			  "\x98\xb0\x87\xb6\x86\x13\x64\x33"
  26923			  "\x4c\xd7\x99\xbf\xdb\x7b\x6e\xaa"
  26924			  "\x76\xcc\xa0\x74\x1b\xa3\x6e\x83"
  26925			  "\xd4\xba\x7a\x84\x9d\x91\x71\xcd"
  26926			  "\x60\x2d\x56\xfd\x26\x35\xcb\xeb"
  26927			  "\xac\xe9\xee\xa4\xfc\x18\x5b\x91"
  26928			  "\xd5\xfe\x84\x45\xe0\xc7\xfd\x11"
  26929			  "\xe9\x00\xb6\x54\xdf\xe1\x94\xde"
  26930			  "\x2b\x70\x9f\x94\x7f\x15\x0e\x83"
  26931			  "\x63\x10\xb3\xf5\xea\xd3\xe8\xd1"
  26932			  "\xa5\xfc\x17\x19\x68\x9a\xbc\x17"
  26933			  "\x30\x43\x0a\x1a\x33\x92\xd4\x2a"
  26934			  "\x2e\x68\x99\xbc\x49\xf0\x68\xe3"
  26935			  "\xf0\x1f\xcb\xcc\xfa\xbb\x05\x56"
  26936			  "\x46\x84\x8b\x69\x83\x64\xc5\xe0"
  26937			  "\xc5\x52\x99\x07\x3c\xa6\x5c\xaf"
  26938			  "\xa3\xde\xd7\xdb\x43\xe6\xb7\x76"
  26939			  "\x4e\x4d\xd6\x71\x60\x63\x4a\x0c"
  26940			  "\x5f\xae\x25\x84\x22\x90\x5f\x26"
  26941			  "\x61\x4d\x8f\xaf\xc9\x22\xf2\x05"
  26942			  "\xcf\xc1\xdc\x68\xe5\x57\x8e\x24"
  26943			  "\x1b\x30\x59\xca\xd7\x0d\xc3\xd3"
  26944			  "\x52\x9e\x09\x3e\x0e\xaf\xdb\x5f"
  26945			  "\xc7\x2b\xde\x3a\xfd\xad\x93\x04"
  26946			  "\x74\x06\x89\x0e\x90\xeb\x85\xff"
  26947			  "\xe6\x3c\x12\x42\xf4\xfa\x80\x75"
  26948			  "\x5e\x4e\xd7\x2f\x93\x0b\x34\x41"
  26949			  "\x02\x85\x68\xd0\x03\x12\xde\x92"
  26950			  "\x54\x7a\x7e\xfb\x55\xe7\x88\xfb"
  26951			  "\xa4\xa9\xf2\xd1\xc6\x70\x06\x37"
  26952			  "\x25\xee\xa7\x6e\xd9\x89\x86\x50"
  26953			  "\x2e\x07\xdb\xfb\x2a\x86\x45\x0e"
  26954			  "\x91\xf4\x7c\xbb\x12\x60\xe8\x3f"
  26955			  "\x71\xbe\x8f\x9d\x26\xef\xd9\x89"
  26956			  "\xc4\x8f\xd8\xc5\x73\xd8\x84\xaa"
  26957			  "\x2f\xad\x22\x1e\x7e\xcf\xa2\x08"
  26958			  "\x23\x45\x89\x42\xa0\x30\xeb\xbf"
  26959			  "\xa1\xed\xad\xd5\x76\xfa\x24\x8f"
  26960			  "\x98",
  26961		.len	= 1281,
  26962	},
  26963};
  26964
  26965static const struct cipher_testvec xchacha20_tv_template[] = {
  26966	{ /* from libsodium test/default/xchacha20.c */
  26967		.key	= "\x79\xc9\x97\x98\xac\x67\x30\x0b"
  26968			  "\xbb\x27\x04\xc9\x5c\x34\x1e\x32"
  26969			  "\x45\xf3\xdc\xb2\x17\x61\xb9\x8e"
  26970			  "\x52\xff\x45\xb2\x4f\x30\x4f\xc4",
  26971		.klen	= 32,
  26972		.iv	= "\xb3\x3f\xfd\x30\x96\x47\x9b\xcf"
  26973			  "\xbc\x9a\xee\x49\x41\x76\x88\xa0"
  26974			  "\xa2\x55\x4f\x8d\x95\x38\x94\x19"
  26975			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  26976		.ptext	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  26977			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  26978			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  26979			  "\x00\x00\x00\x00\x00",
  26980		.ctext	= "\xc6\xe9\x75\x81\x60\x08\x3a\xc6"
  26981			  "\x04\xef\x90\xe7\x12\xce\x6e\x75"
  26982			  "\xd7\x79\x75\x90\x74\x4e\x0c\xf0"
  26983			  "\x60\xf0\x13\x73\x9c",
  26984		.len	= 29,
  26985	}, { /* from libsodium test/default/xchacha20.c */
  26986		.key	= "\x9d\x23\xbd\x41\x49\xcb\x97\x9c"
  26987			  "\xcf\x3c\x5c\x94\xdd\x21\x7e\x98"
  26988			  "\x08\xcb\x0e\x50\xcd\x0f\x67\x81"
  26989			  "\x22\x35\xea\xaf\x60\x1d\x62\x32",
  26990		.klen	= 32,
  26991		.iv	= "\xc0\x47\x54\x82\x66\xb7\xc3\x70"
  26992			  "\xd3\x35\x66\xa2\x42\x5c\xbf\x30"
  26993			  "\xd8\x2d\x1e\xaf\x52\x94\x10\x9e"
  26994			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  26995		.ptext	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  26996			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  26997			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  26998			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  26999			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27000			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27001			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27002			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27003			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27004			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27005			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27006			  "\x00\x00\x00",
  27007		.ctext	= "\xa2\x12\x09\x09\x65\x94\xde\x8c"
  27008			  "\x56\x67\xb1\xd1\x3a\xd9\x3f\x74"
  27009			  "\x41\x06\xd0\x54\xdf\x21\x0e\x47"
  27010			  "\x82\xcd\x39\x6f\xec\x69\x2d\x35"
  27011			  "\x15\xa2\x0b\xf3\x51\xee\xc0\x11"
  27012			  "\xa9\x2c\x36\x78\x88\xbc\x46\x4c"
  27013			  "\x32\xf0\x80\x7a\xcd\x6c\x20\x3a"
  27014			  "\x24\x7e\x0d\xb8\x54\x14\x84\x68"
  27015			  "\xe9\xf9\x6b\xee\x4c\xf7\x18\xd6"
  27016			  "\x8d\x5f\x63\x7c\xbd\x5a\x37\x64"
  27017			  "\x57\x78\x8e\x6f\xae\x90\xfc\x31"
  27018			  "\x09\x7c\xfc",
  27019		.len	= 91,
  27020	}, { /* Taken from the ChaCha20 test vectors, appended 12 random bytes
  27021		to the nonce, zero-padded the stream position from 4 to 8 bytes,
  27022		and recomputed the ciphertext using libsodium's XChaCha20 */
  27023		.key	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  27024			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27025			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27026			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  27027		.klen	= 32,
  27028		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  27029			  "\x00\x00\x00\x00\x67\xc6\x69\x73"
  27030			  "\x51\xff\x4a\xec\x29\xcd\xba\xab"
  27031			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  27032		.ptext	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  27033			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27034			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27035			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27036			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27037			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27038			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27039			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  27040		.ctext	= "\x9c\x49\x2a\xe7\x8a\x2f\x93\xc7"
  27041			  "\xb3\x33\x6f\x82\x17\xd8\xc4\x1e"
  27042			  "\xad\x80\x11\x11\x1d\x4c\x16\x18"
  27043			  "\x07\x73\x9b\x4f\xdb\x7c\xcb\x47"
  27044			  "\xfd\xef\x59\x74\xfa\x3f\xe5\x4c"
  27045			  "\x9b\xd0\xea\xbc\xba\x56\xad\x32"
  27046			  "\x03\xdc\xf8\x2b\xc1\xe1\x75\x67"
  27047			  "\x23\x7b\xe6\xfc\xd4\x03\x86\x54",
  27048		.len	= 64,
  27049	}, { /* Derived from a ChaCha20 test vector, via the process above */
  27050		.key	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  27051			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27052			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27053			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  27054		.klen	= 32,
  27055		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  27056			  "\x00\x00\x00\x02\xf2\xfb\xe3\x46"
  27057			  "\x7c\xc2\x54\xf8\x1b\xe8\xe7\x8d"
  27058			  "\x01\x00\x00\x00\x00\x00\x00\x00",
  27059		.ptext	= "\x41\x6e\x79\x20\x73\x75\x62\x6d"
  27060			  "\x69\x73\x73\x69\x6f\x6e\x20\x74"
  27061			  "\x6f\x20\x74\x68\x65\x20\x49\x45"
  27062			  "\x54\x46\x20\x69\x6e\x74\x65\x6e"
  27063			  "\x64\x65\x64\x20\x62\x79\x20\x74"
  27064			  "\x68\x65\x20\x43\x6f\x6e\x74\x72"
  27065			  "\x69\x62\x75\x74\x6f\x72\x20\x66"
  27066			  "\x6f\x72\x20\x70\x75\x62\x6c\x69"
  27067			  "\x63\x61\x74\x69\x6f\x6e\x20\x61"
  27068			  "\x73\x20\x61\x6c\x6c\x20\x6f\x72"
  27069			  "\x20\x70\x61\x72\x74\x20\x6f\x66"
  27070			  "\x20\x61\x6e\x20\x49\x45\x54\x46"
  27071			  "\x20\x49\x6e\x74\x65\x72\x6e\x65"
  27072			  "\x74\x2d\x44\x72\x61\x66\x74\x20"
  27073			  "\x6f\x72\x20\x52\x46\x43\x20\x61"
  27074			  "\x6e\x64\x20\x61\x6e\x79\x20\x73"
  27075			  "\x74\x61\x74\x65\x6d\x65\x6e\x74"
  27076			  "\x20\x6d\x61\x64\x65\x20\x77\x69"
  27077			  "\x74\x68\x69\x6e\x20\x74\x68\x65"
  27078			  "\x20\x63\x6f\x6e\x74\x65\x78\x74"
  27079			  "\x20\x6f\x66\x20\x61\x6e\x20\x49"
  27080			  "\x45\x54\x46\x20\x61\x63\x74\x69"
  27081			  "\x76\x69\x74\x79\x20\x69\x73\x20"
  27082			  "\x63\x6f\x6e\x73\x69\x64\x65\x72"
  27083			  "\x65\x64\x20\x61\x6e\x20\x22\x49"
  27084			  "\x45\x54\x46\x20\x43\x6f\x6e\x74"
  27085			  "\x72\x69\x62\x75\x74\x69\x6f\x6e"
  27086			  "\x22\x2e\x20\x53\x75\x63\x68\x20"
  27087			  "\x73\x74\x61\x74\x65\x6d\x65\x6e"
  27088			  "\x74\x73\x20\x69\x6e\x63\x6c\x75"
  27089			  "\x64\x65\x20\x6f\x72\x61\x6c\x20"
  27090			  "\x73\x74\x61\x74\x65\x6d\x65\x6e"
  27091			  "\x74\x73\x20\x69\x6e\x20\x49\x45"
  27092			  "\x54\x46\x20\x73\x65\x73\x73\x69"
  27093			  "\x6f\x6e\x73\x2c\x20\x61\x73\x20"
  27094			  "\x77\x65\x6c\x6c\x20\x61\x73\x20"
  27095			  "\x77\x72\x69\x74\x74\x65\x6e\x20"
  27096			  "\x61\x6e\x64\x20\x65\x6c\x65\x63"
  27097			  "\x74\x72\x6f\x6e\x69\x63\x20\x63"
  27098			  "\x6f\x6d\x6d\x75\x6e\x69\x63\x61"
  27099			  "\x74\x69\x6f\x6e\x73\x20\x6d\x61"
  27100			  "\x64\x65\x20\x61\x74\x20\x61\x6e"
  27101			  "\x79\x20\x74\x69\x6d\x65\x20\x6f"
  27102			  "\x72\x20\x70\x6c\x61\x63\x65\x2c"
  27103			  "\x20\x77\x68\x69\x63\x68\x20\x61"
  27104			  "\x72\x65\x20\x61\x64\x64\x72\x65"
  27105			  "\x73\x73\x65\x64\x20\x74\x6f",
  27106		.ctext	= "\xf9\xab\x7a\x4a\x60\xb8\x5f\xa0"
  27107			  "\x50\xbb\x57\xce\xef\x8c\xc1\xd9"
  27108			  "\x24\x15\xb3\x67\x5e\x7f\x01\xf6"
  27109			  "\x1c\x22\xf6\xe5\x71\xb1\x43\x64"
  27110			  "\x63\x05\xd5\xfc\x5c\x3d\xc0\x0e"
  27111			  "\x23\xef\xd3\x3b\xd9\xdc\x7f\xa8"
  27112			  "\x58\x26\xb3\xd0\xc2\xd5\x04\x3f"
  27113			  "\x0a\x0e\x8f\x17\xe4\xcd\xf7\x2a"
  27114			  "\xb4\x2c\x09\xe4\x47\xec\x8b\xfb"
  27115			  "\x59\x37\x7a\xa1\xd0\x04\x7e\xaa"
  27116			  "\xf1\x98\x5f\x24\x3d\x72\x9a\x43"
  27117			  "\xa4\x36\x51\x92\x22\x87\xff\x26"
  27118			  "\xce\x9d\xeb\x59\x78\x84\x5e\x74"
  27119			  "\x97\x2e\x63\xc0\xef\x29\xf7\x8a"
  27120			  "\xb9\xee\x35\x08\x77\x6a\x35\x9a"
  27121			  "\x3e\xe6\x4f\x06\x03\x74\x1b\xc1"
  27122			  "\x5b\xb3\x0b\x89\x11\x07\xd3\xb7"
  27123			  "\x53\xd6\x25\x04\xd9\x35\xb4\x5d"
  27124			  "\x4c\x33\x5a\xc2\x42\x4c\xe6\xa4"
  27125			  "\x97\x6e\x0e\xd2\xb2\x8b\x2f\x7f"
  27126			  "\x28\xe5\x9f\xac\x4b\x2e\x02\xab"
  27127			  "\x85\xfa\xa9\x0d\x7c\x2d\x10\xe6"
  27128			  "\x91\xab\x55\x63\xf0\xde\x3a\x94"
  27129			  "\x25\x08\x10\x03\xc2\x68\xd1\xf4"
  27130			  "\xaf\x7d\x9c\x99\xf7\x86\x96\x30"
  27131			  "\x60\xfc\x0b\xe6\xa8\x80\x15\xb0"
  27132			  "\x81\xb1\x0c\xbe\xb9\x12\x18\x25"
  27133			  "\xe9\x0e\xb1\xe7\x23\xb2\xef\x4a"
  27134			  "\x22\x8f\xc5\x61\x89\xd4\xe7\x0c"
  27135			  "\x64\x36\x35\x61\xb6\x34\x60\xf7"
  27136			  "\x7b\x61\x37\x37\x12\x10\xa2\xf6"
  27137			  "\x7e\xdb\x7f\x39\x3f\xb6\x8e\x89"
  27138			  "\x9e\xf3\xfe\x13\x98\xbb\x66\x5a"
  27139			  "\xec\xea\xab\x3f\x9c\x87\xc4\x8c"
  27140			  "\x8a\x04\x18\x49\xfc\x77\x11\x50"
  27141			  "\x16\xe6\x71\x2b\xee\xc0\x9c\xb6"
  27142			  "\x87\xfd\x80\xff\x0b\x1d\x73\x38"
  27143			  "\xa4\x1d\x6f\xae\xe4\x12\xd7\x93"
  27144			  "\x9d\xcd\x38\x26\x09\x40\x52\xcd"
  27145			  "\x67\x01\x67\x26\xe0\x3e\x98\xa8"
  27146			  "\xe8\x1a\x13\x41\xbb\x90\x4d\x87"
  27147			  "\xbb\x42\x82\x39\xce\x3a\xd0\x18"
  27148			  "\x6d\x7b\x71\x8f\xbb\x2c\x6a\xd1"
  27149			  "\xbd\xf5\xc7\x8a\x7e\xe1\x1e\x0f"
  27150			  "\x0d\x0d\x13\x7c\xd9\xd8\x3c\x91"
  27151			  "\xab\xff\x1f\x12\xc3\xee\xe5\x65"
  27152			  "\x12\x8d\x7b\x61\xe5\x1f\x98",
  27153		.len	= 375,
  27154
  27155	}, { /* Derived from a ChaCha20 test vector, via the process above */
  27156		.key	= "\x1c\x92\x40\xa5\xeb\x55\xd3\x8a"
  27157			  "\xf3\x33\x88\x86\x04\xf6\xb5\xf0"
  27158			  "\x47\x39\x17\xc1\x40\x2b\x80\x09"
  27159			  "\x9d\xca\x5c\xbc\x20\x70\x75\xc0",
  27160		.klen	= 32,
  27161		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  27162			  "\x00\x00\x00\x02\x76\x5a\x2e\x63"
  27163			  "\x33\x9f\xc9\x9a\x66\x32\x0d\xb7"
  27164			  "\x2a\x00\x00\x00\x00\x00\x00\x00",
  27165		.ptext	= "\x27\x54\x77\x61\x73\x20\x62\x72"
  27166			  "\x69\x6c\x6c\x69\x67\x2c\x20\x61"
  27167			  "\x6e\x64\x20\x74\x68\x65\x20\x73"
  27168			  "\x6c\x69\x74\x68\x79\x20\x74\x6f"
  27169			  "\x76\x65\x73\x0a\x44\x69\x64\x20"
  27170			  "\x67\x79\x72\x65\x20\x61\x6e\x64"
  27171			  "\x20\x67\x69\x6d\x62\x6c\x65\x20"
  27172			  "\x69\x6e\x20\x74\x68\x65\x20\x77"
  27173			  "\x61\x62\x65\x3a\x0a\x41\x6c\x6c"
  27174			  "\x20\x6d\x69\x6d\x73\x79\x20\x77"
  27175			  "\x65\x72\x65\x20\x74\x68\x65\x20"
  27176			  "\x62\x6f\x72\x6f\x67\x6f\x76\x65"
  27177			  "\x73\x2c\x0a\x41\x6e\x64\x20\x74"
  27178			  "\x68\x65\x20\x6d\x6f\x6d\x65\x20"
  27179			  "\x72\x61\x74\x68\x73\x20\x6f\x75"
  27180			  "\x74\x67\x72\x61\x62\x65\x2e",
  27181		.ctext	= "\x95\xb9\x51\xe7\x8f\xb4\xa4\x03"
  27182			  "\xca\x37\xcc\xde\x60\x1d\x8c\xe2"
  27183			  "\xf1\xbb\x8a\x13\x7f\x61\x85\xcc"
  27184			  "\xad\xf4\xf0\xdc\x86\xa6\x1e\x10"
  27185			  "\xbc\x8e\xcb\x38\x2b\xa5\xc8\x8f"
  27186			  "\xaa\x03\x3d\x53\x4a\x42\xb1\x33"
  27187			  "\xfc\xd3\xef\xf0\x8e\x7e\x10\x9c"
  27188			  "\x6f\x12\x5e\xd4\x96\xfe\x5b\x08"
  27189			  "\xb6\x48\xf0\x14\x74\x51\x18\x7c"
  27190			  "\x07\x92\xfc\xac\x9d\xf1\x94\xc0"
  27191			  "\xc1\x9d\xc5\x19\x43\x1f\x1d\xbb"
  27192			  "\x07\xf0\x1b\x14\x25\x45\xbb\xcb"
  27193			  "\x5c\xe2\x8b\x28\xf3\xcf\x47\x29"
  27194			  "\x27\x79\x67\x24\xa6\x87\xc2\x11"
  27195			  "\x65\x03\xfa\x45\xf7\x9e\x53\x7a"
  27196			  "\x99\xf1\x82\x25\x4f\x8d\x07",
  27197		.len	= 127,
  27198	}, { /* Derived from a ChaCha20 test vector, via the process above */
  27199		.key	= "\x1c\x92\x40\xa5\xeb\x55\xd3\x8a"
  27200			  "\xf3\x33\x88\x86\x04\xf6\xb5\xf0"
  27201			  "\x47\x39\x17\xc1\x40\x2b\x80\x09"
  27202			  "\x9d\xca\x5c\xbc\x20\x70\x75\xc0",
  27203		.klen	= 32,
  27204		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  27205			  "\x00\x00\x00\x01\x31\x58\xa3\x5a"
  27206			  "\x25\x5d\x05\x17\x58\xe9\x5e\xd4"
  27207			  "\x1c\x00\x00\x00\x00\x00\x00\x00",
  27208		.ptext	= "\x49\xee\xe0\xdc\x24\x90\x40\xcd"
  27209			  "\xc5\x40\x8f\x47\x05\xbc\xdd\x81"
  27210			  "\x47\xc6\x8d\xe6\xb1\x8f\xd7\xcb"
  27211			  "\x09\x0e\x6e\x22\x48\x1f\xbf\xb8"
  27212			  "\x5c\xf7\x1e\x8a\xc1\x23\xf2\xd4"
  27213			  "\x19\x4b\x01\x0f\x4e\xa4\x43\xce"
  27214			  "\x01\xc6\x67\xda\x03\x91\x18\x90"
  27215			  "\xa5\xa4\x8e\x45\x03\xb3\x2d\xac"
  27216			  "\x74\x92\xd3\x53\x47\xc8\xdd\x25"
  27217			  "\x53\x6c\x02\x03\x87\x0d\x11\x0c"
  27218			  "\x58\xe3\x12\x18\xfd\x2a\x5b\x40"
  27219			  "\x0c\x30\xf0\xb8\x3f\x43\xce\xae"
  27220			  "\x65\x3a\x7d\x7c\xf4\x54\xaa\xcc"
  27221			  "\x33\x97\xc3\x77\xba\xc5\x70\xde"
  27222			  "\xd7\xd5\x13\xa5\x65\xc4\x5f\x0f"
  27223			  "\x46\x1a\x0d\x97\xb5\xf3\xbb\x3c"
  27224			  "\x84\x0f\x2b\xc5\xaa\xea\xf2\x6c"
  27225			  "\xc9\xb5\x0c\xee\x15\xf3\x7d\xbe"
  27226			  "\x9f\x7b\x5a\xa6\xae\x4f\x83\xb6"
  27227			  "\x79\x49\x41\xf4\x58\x18\xcb\x86"
  27228			  "\x7f\x30\x0e\xf8\x7d\x44\x36\xea"
  27229			  "\x75\xeb\x88\x84\x40\x3c\xad\x4f"
  27230			  "\x6f\x31\x6b\xaa\x5d\xe5\xa5\xc5"
  27231			  "\x21\x66\xe9\xa7\xe3\xb2\x15\x88"
  27232			  "\x78\xf6\x79\xa1\x59\x47\x12\x4e"
  27233			  "\x9f\x9f\x64\x1a\xa0\x22\x5b\x08"
  27234			  "\xbe\x7c\x36\xc2\x2b\x66\x33\x1b"
  27235			  "\xdd\x60\x71\xf7\x47\x8c\x61\xc3"
  27236			  "\xda\x8a\x78\x1e\x16\xfa\x1e\x86"
  27237			  "\x81\xa6\x17\x2a\xa7\xb5\xc2\xe7"
  27238			  "\xa4\xc7\x42\xf1\xcf\x6a\xca\xb4"
  27239			  "\x45\xcf\xf3\x93\xf0\xe7\xea\xf6"
  27240			  "\xf4\xe6\x33\x43\x84\x93\xa5\x67"
  27241			  "\x9b\x16\x58\x58\x80\x0f\x2b\x5c"
  27242			  "\x24\x74\x75\x7f\x95\x81\xb7\x30"
  27243			  "\x7a\x33\xa7\xf7\x94\x87\x32\x27"
  27244			  "\x10\x5d\x14\x4c\x43\x29\xdd\x26"
  27245			  "\xbd\x3e\x3c\x0e\xfe\x0e\xa5\x10"
  27246			  "\xea\x6b\x64\xfd\x73\xc6\xed\xec"
  27247			  "\xa8\xc9\xbf\xb3\xba\x0b\x4d\x07"
  27248			  "\x70\xfc\x16\xfd\x79\x1e\xd7\xc5"
  27249			  "\x49\x4e\x1c\x8b\x8d\x79\x1b\xb1"
  27250			  "\xec\xca\x60\x09\x4c\x6a\xd5\x09"
  27251			  "\x49\x46\x00\x88\x22\x8d\xce\xea"
  27252			  "\xb1\x17\x11\xde\x42\xd2\x23\xc1"
  27253			  "\x72\x11\xf5\x50\x73\x04\x40\x47"
  27254			  "\xf9\x5d\xe7\xa7\x26\xb1\x7e\xb0"
  27255			  "\x3f\x58\xc1\x52\xab\x12\x67\x9d"
  27256			  "\x3f\x43\x4b\x68\xd4\x9c\x68\x38"
  27257			  "\x07\x8a\x2d\x3e\xf3\xaf\x6a\x4b"
  27258			  "\xf9\xe5\x31\x69\x22\xf9\xa6\x69"
  27259			  "\xc6\x9c\x96\x9a\x12\x35\x95\x1d"
  27260			  "\x95\xd5\xdd\xbe\xbf\x93\x53\x24"
  27261			  "\xfd\xeb\xc2\x0a\x64\xb0\x77\x00"
  27262			  "\x6f\x88\xc4\x37\x18\x69\x7c\xd7"
  27263			  "\x41\x92\x55\x4c\x03\xa1\x9a\x4b"
  27264			  "\x15\xe5\xdf\x7f\x37\x33\x72\xc1"
  27265			  "\x8b\x10\x67\xa3\x01\x57\x94\x25"
  27266			  "\x7b\x38\x71\x7e\xdd\x1e\xcc\x73"
  27267			  "\x55\xd2\x8e\xeb\x07\xdd\xf1\xda"
  27268			  "\x58\xb1\x47\x90\xfe\x42\x21\x72"
  27269			  "\xa3\x54\x7a\xa0\x40\xec\x9f\xdd"
  27270			  "\xc6\x84\x6e\xca\xae\xe3\x68\xb4"
  27271			  "\x9d\xe4\x78\xff\x57\xf2\xf8\x1b"
  27272			  "\x03\xa1\x31\xd9\xde\x8d\xf5\x22"
  27273			  "\x9c\xdd\x20\xa4\x1e\x27\xb1\x76"
  27274			  "\x4f\x44\x55\xe2\x9b\xa1\x9c\xfe"
  27275			  "\x54\xf7\x27\x1b\xf4\xde\x02\xf5"
  27276			  "\x1b\x55\x48\x5c\xdc\x21\x4b\x9e"
  27277			  "\x4b\x6e\xed\x46\x23\xdc\x65\xb2"
  27278			  "\xcf\x79\x5f\x28\xe0\x9e\x8b\xe7"
  27279			  "\x4c\x9d\x8a\xff\xc1\xa6\x28\xb8"
  27280			  "\x65\x69\x8a\x45\x29\xef\x74\x85"
  27281			  "\xde\x79\xc7\x08\xae\x30\xb0\xf4"
  27282			  "\xa3\x1d\x51\x41\xab\xce\xcb\xf6"
  27283			  "\xb5\xd8\x6d\xe0\x85\xe1\x98\xb3"
  27284			  "\x43\xbb\x86\x83\x0a\xa0\xf5\xb7"
  27285			  "\x04\x0b\xfa\x71\x1f\xb0\xf6\xd9"
  27286			  "\x13\x00\x15\xf0\xc7\xeb\x0d\x5a"
  27287			  "\x9f\xd7\xb9\x6c\x65\x14\x22\x45"
  27288			  "\x6e\x45\x32\x3e\x7e\x60\x1a\x12"
  27289			  "\x97\x82\x14\xfb\xaa\x04\x22\xfa"
  27290			  "\xa0\xe5\x7e\x8c\x78\x02\x48\x5d"
  27291			  "\x78\x33\x5a\x7c\xad\xdb\x29\xce"
  27292			  "\xbb\x8b\x61\xa4\xb7\x42\xe2\xac"
  27293			  "\x8b\x1a\xd9\x2f\x0b\x8b\x62\x21"
  27294			  "\x83\x35\x7e\xad\x73\xc2\xb5\x6c"
  27295			  "\x10\x26\x38\x07\xe5\xc7\x36\x80"
  27296			  "\xe2\x23\x12\x61\xf5\x48\x4b\x2b"
  27297			  "\xc5\xdf\x15\xd9\x87\x01\xaa\xac"
  27298			  "\x1e\x7c\xad\x73\x78\x18\x63\xe0"
  27299			  "\x8b\x9f\x81\xd8\x12\x6a\x28\x10"
  27300			  "\xbe\x04\x68\x8a\x09\x7c\x1b\x1c"
  27301			  "\x83\x66\x80\x47\x80\xe8\xfd\x35"
  27302			  "\x1c\x97\x6f\xae\x49\x10\x66\xcc"
  27303			  "\xc6\xd8\xcc\x3a\x84\x91\x20\x77"
  27304			  "\x72\xe4\x24\xd2\x37\x9f\xc5\xc9"
  27305			  "\x25\x94\x10\x5f\x40\x00\x64\x99"
  27306			  "\xdc\xae\xd7\x21\x09\x78\x50\x15"
  27307			  "\xac\x5f\xc6\x2c\xa2\x0b\xa9\x39"
  27308			  "\x87\x6e\x6d\xab\xde\x08\x51\x16"
  27309			  "\xc7\x13\xe9\xea\xed\x06\x8e\x2c"
  27310			  "\xf8\x37\x8c\xf0\xa6\x96\x8d\x43"
  27311			  "\xb6\x98\x37\xb2\x43\xed\xde\xdf"
  27312			  "\x89\x1a\xe7\xeb\x9d\xa1\x7b\x0b"
  27313			  "\x77\xb0\xe2\x75\xc0\xf1\x98\xd9"
  27314			  "\x80\x55\xc9\x34\x91\xd1\x59\xe8"
  27315			  "\x4b\x0f\xc1\xa9\x4b\x7a\x84\x06"
  27316			  "\x20\xa8\x5d\xfa\xd1\xde\x70\x56"
  27317			  "\x2f\x9e\x91\x9c\x20\xb3\x24\xd8"
  27318			  "\x84\x3d\xe1\x8c\x7e\x62\x52\xe5"
  27319			  "\x44\x4b\x9f\xc2\x93\x03\xea\x2b"
  27320			  "\x59\xc5\xfa\x3f\x91\x2b\xbb\x23"
  27321			  "\xf5\xb2\x7b\xf5\x38\xaf\xb3\xee"
  27322			  "\x63\xdc\x7b\xd1\xff\xaa\x8b\xab"
  27323			  "\x82\x6b\x37\x04\xeb\x74\xbe\x79"
  27324			  "\xb9\x83\x90\xef\x20\x59\x46\xff"
  27325			  "\xe9\x97\x3e\x2f\xee\xb6\x64\x18"
  27326			  "\x38\x4c\x7a\x4a\xf9\x61\xe8\x9a"
  27327			  "\xa1\xb5\x01\xa6\x47\xd3\x11\xd4"
  27328			  "\xce\xd3\x91\x49\x88\xc7\xb8\x4d"
  27329			  "\xb1\xb9\x07\x6d\x16\x72\xae\x46"
  27330			  "\x5e\x03\xa1\x4b\xb6\x02\x30\xa8"
  27331			  "\x3d\xa9\x07\x2a\x7c\x19\xe7\x62"
  27332			  "\x87\xe3\x82\x2f\x6f\xe1\x09\xd9"
  27333			  "\x94\x97\xea\xdd\x58\x9e\xae\x76"
  27334			  "\x7e\x35\xe5\xb4\xda\x7e\xf4\xde"
  27335			  "\xf7\x32\x87\xcd\x93\xbf\x11\x56"
  27336			  "\x11\xbe\x08\x74\xe1\x69\xad\xe2"
  27337			  "\xd7\xf8\x86\x75\x8a\x3c\xa4\xbe"
  27338			  "\x70\xa7\x1b\xfc\x0b\x44\x2a\x76"
  27339			  "\x35\xea\x5d\x85\x81\xaf\x85\xeb"
  27340			  "\xa0\x1c\x61\xc2\xf7\x4f\xa5\xdc"
  27341			  "\x02\x7f\xf6\x95\x40\x6e\x8a\x9a"
  27342			  "\xf3\x5d\x25\x6e\x14\x3a\x22\xc9"
  27343			  "\x37\x1c\xeb\x46\x54\x3f\xa5\x91"
  27344			  "\xc2\xb5\x8c\xfe\x53\x08\x97\x32"
  27345			  "\x1b\xb2\x30\x27\xfe\x25\x5d\xdc"
  27346			  "\x08\x87\xd0\xe5\x94\x1a\xd4\xf1"
  27347			  "\xfe\xd6\xb4\xa3\xe6\x74\x81\x3c"
  27348			  "\x1b\xb7\x31\xa7\x22\xfd\xd4\xdd"
  27349			  "\x20\x4e\x7c\x51\xb0\x60\x73\xb8"
  27350			  "\x9c\xac\x91\x90\x7e\x01\xb0\xe1"
  27351			  "\x8a\x2f\x75\x1c\x53\x2a\x98\x2a"
  27352			  "\x06\x52\x95\x52\xb2\xe9\x25\x2e"
  27353			  "\x4c\xe2\x5a\x00\xb2\x13\x81\x03"
  27354			  "\x77\x66\x0d\xa5\x99\xda\x4e\x8c"
  27355			  "\xac\xf3\x13\x53\x27\x45\xaf\x64"
  27356			  "\x46\xdc\xea\x23\xda\x97\xd1\xab"
  27357			  "\x7d\x6c\x30\x96\x1f\xbc\x06\x34"
  27358			  "\x18\x0b\x5e\x21\x35\x11\x8d\x4c"
  27359			  "\xe0\x2d\xe9\x50\x16\x74\x81\xa8"
  27360			  "\xb4\x34\xb9\x72\x42\xa6\xcc\xbc"
  27361			  "\xca\x34\x83\x27\x10\x5b\x68\x45"
  27362			  "\x8f\x52\x22\x0c\x55\x3d\x29\x7c"
  27363			  "\xe3\xc0\x66\x05\x42\x91\x5f\x58"
  27364			  "\xfe\x4a\x62\xd9\x8c\xa9\x04\x19"
  27365			  "\x04\xa9\x08\x4b\x57\xfc\x67\x53"
  27366			  "\x08\x7c\xbc\x66\x8a\xb0\xb6\x9f"
  27367			  "\x92\xd6\x41\x7c\x5b\x2a\x00\x79"
  27368			  "\x72",
  27369		.ctext	= "\x3a\x92\xee\x53\x31\xaf\x2b\x60"
  27370			  "\x5f\x55\x8d\x00\x5d\xfc\x74\x97"
  27371			  "\x28\x54\xf4\xa5\x75\xf1\x9b\x25"
  27372			  "\x62\x1c\xc0\xe0\x13\xc8\x87\x53"
  27373			  "\xd0\xf3\xa7\x97\x1f\x3b\x1e\xea"
  27374			  "\xe0\xe5\x2a\xd1\xdd\xa4\x3b\x50"
  27375			  "\x45\xa3\x0d\x7e\x1b\xc9\xa0\xad"
  27376			  "\xb9\x2c\x54\xa6\xc7\x55\x16\xd0"
  27377			  "\xc5\x2e\x02\x44\x35\xd0\x7e\x67"
  27378			  "\xf2\xc4\x9b\xcd\x95\x10\xcc\x29"
  27379			  "\x4b\xfa\x86\x87\xbe\x40\x36\xbe"
  27380			  "\xe1\xa3\x52\x89\x55\x20\x9b\xc2"
  27381			  "\xab\xf2\x31\x34\x16\xad\xc8\x17"
  27382			  "\x65\x24\xc0\xff\x12\x37\xfe\x5a"
  27383			  "\x62\x3b\x59\x47\x6c\x5f\x3a\x8e"
  27384			  "\x3b\xd9\x30\xc8\x7f\x2f\x88\xda"
  27385			  "\x80\xfd\x02\xda\x7f\x9a\x7a\x73"
  27386			  "\x59\xc5\x34\x09\x9a\x11\xcb\xa7"
  27387			  "\xfc\xf6\xa1\xa0\x60\xfb\x43\xbb"
  27388			  "\xf1\xe9\xd7\xc6\x79\x27\x4e\xff"
  27389			  "\x22\xb4\x24\xbf\x76\xee\x47\xb9"
  27390			  "\x6d\x3f\x8b\xb0\x9c\x3c\x43\xdd"
  27391			  "\xff\x25\x2e\x6d\xa4\x2b\xfb\x5d"
  27392			  "\x1b\x97\x6c\x55\x0a\x82\x7a\x7b"
  27393			  "\x94\x34\xc2\xdb\x2f\x1f\xc1\xea"
  27394			  "\xd4\x4d\x17\x46\x3b\x51\x69\x09"
  27395			  "\xe4\x99\x32\x25\xfd\x94\xaf\xfb"
  27396			  "\x10\xf7\x4f\xdd\x0b\x3c\x8b\x41"
  27397			  "\xb3\x6a\xb7\xd1\x33\xa8\x0c\x2f"
  27398			  "\x62\x4c\x72\x11\xd7\x74\xe1\x3b"
  27399			  "\x38\x43\x66\x7b\x6c\x36\x48\xe7"
  27400			  "\xe3\xe7\x9d\xb9\x42\x73\x7a\x2a"
  27401			  "\x89\x20\x1a\x41\x80\x03\xf7\x8f"
  27402			  "\x61\x78\x13\xbf\xfe\x50\xf5\x04"
  27403			  "\x52\xf9\xac\x47\xf8\x62\x4b\xb2"
  27404			  "\x24\xa9\xbf\x64\xb0\x18\x69\xd2"
  27405			  "\xf5\xe4\xce\xc8\xb1\x87\x75\xd6"
  27406			  "\x2c\x24\x79\x00\x7d\x26\xfb\x44"
  27407			  "\xe7\x45\x7a\xee\x58\xa5\x83\xc1"
  27408			  "\xb4\x24\xab\x23\x2f\x4d\xd7\x4f"
  27409			  "\x1c\xc7\xaa\xa9\x50\xf4\xa3\x07"
  27410			  "\x12\x13\x89\x74\xdc\x31\x6a\xb2"
  27411			  "\xf5\x0f\x13\x8b\xb9\xdb\x85\x1f"
  27412			  "\xf5\xbc\x88\xd9\x95\xea\x31\x6c"
  27413			  "\x36\x60\xb6\x49\xdc\xc4\xf7\x55"
  27414			  "\x3f\x21\xc1\xb5\x92\x18\x5e\xbc"
  27415			  "\x9f\x87\x7f\xe7\x79\x25\x40\x33"
  27416			  "\xd6\xb9\x33\xd5\x50\xb3\xc7\x89"
  27417			  "\x1b\x12\xa0\x46\xdd\xa7\xd8\x3e"
  27418			  "\x71\xeb\x6f\x66\xa1\x26\x0c\x67"
  27419			  "\xab\xb2\x38\x58\x17\xd8\x44\x3b"
  27420			  "\x16\xf0\x8e\x62\x8d\x16\x10\x00"
  27421			  "\x32\x8b\xef\xb9\x28\xd3\xc5\xad"
  27422			  "\x0a\x19\xa2\xe4\x03\x27\x7d\x94"
  27423			  "\x06\x18\xcd\xd6\x27\x00\xf9\x1f"
  27424			  "\xb6\xb3\xfe\x96\x35\x5f\xc4\x1c"
  27425			  "\x07\x62\x10\x79\x68\x50\xf1\x7e"
  27426			  "\x29\xe7\xc4\xc4\xe7\xee\x54\xd6"
  27427			  "\x58\x76\x84\x6d\x8d\xe4\x59\x31"
  27428			  "\xe9\xf4\xdc\xa1\x1f\xe5\x1a\xd6"
  27429			  "\xe6\x64\x46\xf5\x77\x9c\x60\x7a"
  27430			  "\x5e\x62\xe3\x0a\xd4\x9f\x7a\x2d"
  27431			  "\x7a\xa5\x0a\x7b\x29\x86\x7a\x74"
  27432			  "\x74\x71\x6b\xca\x7d\x1d\xaa\xba"
  27433			  "\x39\x84\x43\x76\x35\xfe\x4f\x9b"
  27434			  "\xbb\xbb\xb5\x6a\x32\xb5\x5d\x41"
  27435			  "\x51\xf0\x5b\x68\x03\x47\x4b\x8a"
  27436			  "\xca\x88\xf6\x37\xbd\x73\x51\x70"
  27437			  "\x66\xfe\x9e\x5f\x21\x9c\xf3\xdd"
  27438			  "\xc3\xea\x27\xf9\x64\x94\xe1\x19"
  27439			  "\xa0\xa9\xab\x60\xe0\x0e\xf7\x78"
  27440			  "\x70\x86\xeb\xe0\xd1\x5c\x05\xd3"
  27441			  "\xd7\xca\xe0\xc0\x47\x47\x34\xee"
  27442			  "\x11\xa3\xa3\x54\x98\xb7\x49\x8e"
  27443			  "\x84\x28\x70\x2c\x9e\xfb\x55\x54"
  27444			  "\x4d\xf8\x86\xf7\x85\x7c\xbd\xf3"
  27445			  "\x17\xd8\x47\xcb\xac\xf4\x20\x85"
  27446			  "\x34\x66\xad\x37\x2d\x5e\x52\xda"
  27447			  "\x8a\xfe\x98\x55\x30\xe7\x2d\x2b"
  27448			  "\x19\x10\x8e\x7b\x66\x5e\xdc\xe0"
  27449			  "\x45\x1f\x7b\xb4\x08\xfb\x8f\xf6"
  27450			  "\x8c\x89\x21\x34\x55\x27\xb2\x76"
  27451			  "\xb2\x07\xd9\xd6\x68\x9b\xea\x6b"
  27452			  "\x2d\xb4\xc4\x35\xdd\xd2\x79\xae"
  27453			  "\xc7\xd6\x26\x7f\x12\x01\x8c\xa7"
  27454			  "\xe3\xdb\xa8\xf4\xf7\x2b\xec\x99"
  27455			  "\x11\x00\xf1\x35\x8c\xcf\xd5\xc9"
  27456			  "\xbd\x91\x36\x39\x70\xcf\x7d\x70"
  27457			  "\x47\x1a\xfc\x6b\x56\xe0\x3f\x9c"
  27458			  "\x60\x49\x01\x72\xa9\xaf\x2c\x9c"
  27459			  "\xe8\xab\xda\x8c\x14\x19\xf3\x75"
  27460			  "\x07\x17\x9d\x44\x67\x7a\x2e\xef"
  27461			  "\xb7\x83\x35\x4a\xd1\x3d\x1c\x84"
  27462			  "\x32\xdd\xaa\xea\xca\x1d\xdc\x72"
  27463			  "\x2c\xcc\x43\xcd\x5d\xe3\x21\xa4"
  27464			  "\xd0\x8a\x4b\x20\x12\xa3\xd5\x86"
  27465			  "\x76\x96\xff\x5f\x04\x57\x0f\xe6"
  27466			  "\xba\xe8\x76\x50\x0c\x64\x1d\x83"
  27467			  "\x9c\x9b\x9a\x9a\x58\x97\x9c\x5c"
  27468			  "\xb4\xa4\xa6\x3e\x19\xeb\x8f\x5a"
  27469			  "\x61\xb2\x03\x7b\x35\x19\xbe\xa7"
  27470			  "\x63\x0c\xfd\xdd\xf9\x90\x6c\x08"
  27471			  "\x19\x11\xd3\x65\x4a\xf5\x96\x92"
  27472			  "\x59\xaa\x9c\x61\x0c\x29\xa7\xf8"
  27473			  "\x14\x39\x37\xbf\x3c\xf2\x16\x72"
  27474			  "\x02\xfa\xa2\xf3\x18\x67\x5d\xcb"
  27475			  "\xdc\x4d\xbb\x96\xff\x70\x08\x2d"
  27476			  "\xc2\xa8\x52\xe1\x34\x5f\x72\xfe"
  27477			  "\x64\xbf\xca\xa7\x74\x38\xfb\x74"
  27478			  "\x55\x9c\xfa\x8a\xed\xfb\x98\xeb"
  27479			  "\x58\x2e\x6c\xe1\x52\x76\x86\xd7"
  27480			  "\xcf\xa1\xa4\xfc\xb2\x47\x41\x28"
  27481			  "\xa3\xc1\xe5\xfd\x53\x19\x28\x2b"
  27482			  "\x37\x04\x65\x96\x99\x7a\x28\x0f"
  27483			  "\x07\x68\x4b\xc7\x52\x0a\x55\x35"
  27484			  "\x40\x19\x95\x61\xe8\x59\x40\x1f"
  27485			  "\x9d\xbf\x78\x7d\x8f\x84\xff\x6f"
  27486			  "\xd0\xd5\x63\xd2\x22\xbd\xc8\x4e"
  27487			  "\xfb\xe7\x9f\x06\xe6\xe7\x39\x6d"
  27488			  "\x6a\x96\x9f\xf0\x74\x7e\xc9\x35"
  27489			  "\xb7\x26\xb8\x1c\x0a\xa6\x27\x2c"
  27490			  "\xa2\x2b\xfe\xbe\x0f\x07\x73\xae"
  27491			  "\x7f\x7f\x54\xf5\x7c\x6a\x0a\x56"
  27492			  "\x49\xd4\x81\xe5\x85\x53\x99\x1f"
  27493			  "\x95\x05\x13\x58\x8d\x0e\x1b\x90"
  27494			  "\xc3\x75\x48\x64\x58\x98\x67\x84"
  27495			  "\xae\xe2\x21\xa2\x8a\x04\x0a\x0b"
  27496			  "\x61\xaa\xb0\xd4\x28\x60\x7a\xf8"
  27497			  "\xbc\x52\xfb\x24\x7f\xed\x0d\x2a"
  27498			  "\x0a\xb2\xf9\xc6\x95\xb5\x11\xc9"
  27499			  "\xf4\x0f\x26\x11\xcf\x2a\x57\x87"
  27500			  "\x7a\xf3\xe7\x94\x65\xc2\xb5\xb3"
  27501			  "\xab\x98\xe3\xc1\x2b\x59\x19\x7c"
  27502			  "\xd6\xf3\xf9\xbf\xff\x6d\xc6\x82"
  27503			  "\x13\x2f\x4a\x2e\xcd\x26\xfe\x2d"
  27504			  "\x01\x70\xf4\xc2\x7f\x1f\x4c\xcb"
  27505			  "\x47\x77\x0c\xa0\xa3\x03\xec\xda"
  27506			  "\xa9\xbf\x0d\x2d\xae\xe4\xb8\x7b"
  27507			  "\xa9\xbc\x08\xb4\x68\x2e\xc5\x60"
  27508			  "\x8d\x87\x41\x2b\x0f\x69\xf0\xaf"
  27509			  "\x5f\xba\x72\x20\x0f\x33\xcd\x6d"
  27510			  "\x36\x7d\x7b\xd5\x05\xf1\x4b\x05"
  27511			  "\xc4\xfc\x7f\x80\xb9\x4d\xbd\xf7"
  27512			  "\x7c\x84\x07\x01\xc2\x40\x66\x5b"
  27513			  "\x98\xc7\x2c\xe3\x97\xfa\xdf\x87"
  27514			  "\xa0\x1f\xe9\x21\x42\x0f\x3b\xeb"
  27515			  "\x89\x1c\x3b\xca\x83\x61\x77\x68"
  27516			  "\x84\xbb\x60\x87\x38\x2e\x25\xd5"
  27517			  "\x9e\x04\x41\x70\xac\xda\xc0\x9c"
  27518			  "\x9c\x69\xea\x8d\x4e\x55\x2a\x29"
  27519			  "\xed\x05\x4b\x7b\x73\x71\x90\x59"
  27520			  "\x4d\xc8\xd8\x44\xf0\x4c\xe1\x5e"
  27521			  "\x84\x47\x55\xcc\x32\x3f\xe7\x97"
  27522			  "\x42\xc6\x32\xac\x40\xe5\xa5\xc7"
  27523			  "\x8b\xed\xdb\xf7\x83\xd6\xb1\xc2"
  27524			  "\x52\x5e\x34\xb7\xeb\x6e\xd9\xfc"
  27525			  "\xe5\x93\x9a\x97\x3e\xb0\xdc\xd9"
  27526			  "\xd7\x06\x10\xb6\x1d\x80\x59\xdd"
  27527			  "\x0d\xfe\x64\x35\xcd\x5d\xec\xf0"
  27528			  "\xba\xd0\x34\xc9\x2d\x91\xc5\x17"
  27529			  "\x11",
  27530		.len	= 1281,
  27531	}, { /* test vector from https://tools.ietf.org/html/draft-arciszewski-xchacha-02#appendix-A.3.2 */
  27532		.key	= "\x80\x81\x82\x83\x84\x85\x86\x87"
  27533			  "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  27534			  "\x90\x91\x92\x93\x94\x95\x96\x97"
  27535			  "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f",
  27536		.klen	= 32,
  27537		.iv	= "\x40\x41\x42\x43\x44\x45\x46\x47"
  27538			  "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  27539			  "\x50\x51\x52\x53\x54\x55\x56\x58"
  27540			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  27541		.ptext	= "\x54\x68\x65\x20\x64\x68\x6f\x6c"
  27542			  "\x65\x20\x28\x70\x72\x6f\x6e\x6f"
  27543			  "\x75\x6e\x63\x65\x64\x20\x22\x64"
  27544			  "\x6f\x6c\x65\x22\x29\x20\x69\x73"
  27545			  "\x20\x61\x6c\x73\x6f\x20\x6b\x6e"
  27546			  "\x6f\x77\x6e\x20\x61\x73\x20\x74"
  27547			  "\x68\x65\x20\x41\x73\x69\x61\x74"
  27548			  "\x69\x63\x20\x77\x69\x6c\x64\x20"
  27549			  "\x64\x6f\x67\x2c\x20\x72\x65\x64"
  27550			  "\x20\x64\x6f\x67\x2c\x20\x61\x6e"
  27551			  "\x64\x20\x77\x68\x69\x73\x74\x6c"
  27552			  "\x69\x6e\x67\x20\x64\x6f\x67\x2e"
  27553			  "\x20\x49\x74\x20\x69\x73\x20\x61"
  27554			  "\x62\x6f\x75\x74\x20\x74\x68\x65"
  27555			  "\x20\x73\x69\x7a\x65\x20\x6f\x66"
  27556			  "\x20\x61\x20\x47\x65\x72\x6d\x61"
  27557			  "\x6e\x20\x73\x68\x65\x70\x68\x65"
  27558			  "\x72\x64\x20\x62\x75\x74\x20\x6c"
  27559			  "\x6f\x6f\x6b\x73\x20\x6d\x6f\x72"
  27560			  "\x65\x20\x6c\x69\x6b\x65\x20\x61"
  27561			  "\x20\x6c\x6f\x6e\x67\x2d\x6c\x65"
  27562			  "\x67\x67\x65\x64\x20\x66\x6f\x78"
  27563			  "\x2e\x20\x54\x68\x69\x73\x20\x68"
  27564			  "\x69\x67\x68\x6c\x79\x20\x65\x6c"
  27565			  "\x75\x73\x69\x76\x65\x20\x61\x6e"
  27566			  "\x64\x20\x73\x6b\x69\x6c\x6c\x65"
  27567			  "\x64\x20\x6a\x75\x6d\x70\x65\x72"
  27568			  "\x20\x69\x73\x20\x63\x6c\x61\x73"
  27569			  "\x73\x69\x66\x69\x65\x64\x20\x77"
  27570			  "\x69\x74\x68\x20\x77\x6f\x6c\x76"
  27571			  "\x65\x73\x2c\x20\x63\x6f\x79\x6f"
  27572			  "\x74\x65\x73\x2c\x20\x6a\x61\x63"
  27573			  "\x6b\x61\x6c\x73\x2c\x20\x61\x6e"
  27574			  "\x64\x20\x66\x6f\x78\x65\x73\x20"
  27575			  "\x69\x6e\x20\x74\x68\x65\x20\x74"
  27576			  "\x61\x78\x6f\x6e\x6f\x6d\x69\x63"
  27577			  "\x20\x66\x61\x6d\x69\x6c\x79\x20"
  27578			  "\x43\x61\x6e\x69\x64\x61\x65\x2e",
  27579		.ctext	= "\x45\x59\xab\xba\x4e\x48\xc1\x61"
  27580			  "\x02\xe8\xbb\x2c\x05\xe6\x94\x7f"
  27581			  "\x50\xa7\x86\xde\x16\x2f\x9b\x0b"
  27582			  "\x7e\x59\x2a\x9b\x53\xd0\xd4\xe9"
  27583			  "\x8d\x8d\x64\x10\xd5\x40\xa1\xa6"
  27584			  "\x37\x5b\x26\xd8\x0d\xac\xe4\xfa"
  27585			  "\xb5\x23\x84\xc7\x31\xac\xbf\x16"
  27586			  "\xa5\x92\x3c\x0c\x48\xd3\x57\x5d"
  27587			  "\x4d\x0d\x2c\x67\x3b\x66\x6f\xaa"
  27588			  "\x73\x10\x61\x27\x77\x01\x09\x3a"
  27589			  "\x6b\xf7\xa1\x58\xa8\x86\x42\x92"
  27590			  "\xa4\x1c\x48\xe3\xa9\xb4\xc0\xda"
  27591			  "\xec\xe0\xf8\xd9\x8d\x0d\x7e\x05"
  27592			  "\xb3\x7a\x30\x7b\xbb\x66\x33\x31"
  27593			  "\x64\xec\x9e\x1b\x24\xea\x0d\x6c"
  27594			  "\x3f\xfd\xdc\xec\x4f\x68\xe7\x44"
  27595			  "\x30\x56\x19\x3a\x03\xc8\x10\xe1"
  27596			  "\x13\x44\xca\x06\xd8\xed\x8a\x2b"
  27597			  "\xfb\x1e\x8d\x48\xcf\xa6\xbc\x0e"
  27598			  "\xb4\xe2\x46\x4b\x74\x81\x42\x40"
  27599			  "\x7c\x9f\x43\x1a\xee\x76\x99\x60"
  27600			  "\xe1\x5b\xa8\xb9\x68\x90\x46\x6e"
  27601			  "\xf2\x45\x75\x99\x85\x23\x85\xc6"
  27602			  "\x61\xf7\x52\xce\x20\xf9\xda\x0c"
  27603			  "\x09\xab\x6b\x19\xdf\x74\xe7\x6a"
  27604			  "\x95\x96\x74\x46\xf8\xd0\xfd\x41"
  27605			  "\x5e\x7b\xee\x2a\x12\xa1\x14\xc2"
  27606			  "\x0e\xb5\x29\x2a\xe7\xa3\x49\xae"
  27607			  "\x57\x78\x20\xd5\x52\x0a\x1f\x3f"
  27608			  "\xb6\x2a\x17\xce\x6a\x7e\x68\xfa"
  27609			  "\x7c\x79\x11\x1d\x88\x60\x92\x0b"
  27610			  "\xc0\x48\xef\x43\xfe\x84\x48\x6c"
  27611			  "\xcb\x87\xc2\x5f\x0a\xe0\x45\xf0"
  27612			  "\xcc\xe1\xe7\x98\x9a\x9a\xa2\x20"
  27613			  "\xa2\x8b\xdd\x48\x27\xe7\x51\xa2"
  27614			  "\x4a\x6d\x5c\x62\xd7\x90\xa6\x63"
  27615			  "\x93\xb9\x31\x11\xc1\xa5\x5d\xd7"
  27616			  "\x42\x1a\x10\x18\x49\x74\xc7\xc5",
  27617		.len	= 304,
  27618	}
  27619};
  27620
  27621/*
  27622 * Same as XChaCha20 test vectors above, but recomputed the ciphertext with
  27623 * XChaCha12, using a modified libsodium.
  27624 */
  27625static const struct cipher_testvec xchacha12_tv_template[] = {
  27626	{
  27627		.key	= "\x79\xc9\x97\x98\xac\x67\x30\x0b"
  27628			  "\xbb\x27\x04\xc9\x5c\x34\x1e\x32"
  27629			  "\x45\xf3\xdc\xb2\x17\x61\xb9\x8e"
  27630			  "\x52\xff\x45\xb2\x4f\x30\x4f\xc4",
  27631		.klen	= 32,
  27632		.iv	= "\xb3\x3f\xfd\x30\x96\x47\x9b\xcf"
  27633			  "\xbc\x9a\xee\x49\x41\x76\x88\xa0"
  27634			  "\xa2\x55\x4f\x8d\x95\x38\x94\x19"
  27635			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  27636		.ptext	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  27637			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27638			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27639			  "\x00\x00\x00\x00\x00",
  27640		.ctext	= "\x1b\x78\x7f\xd7\xa1\x41\x68\xab"
  27641			  "\x3d\x3f\xd1\x7b\x69\x56\xb2\xd5"
  27642			  "\x43\xce\xeb\xaf\x36\xf0\x29\x9d"
  27643			  "\x3a\xfb\x18\xae\x1b",
  27644		.len	= 29,
  27645	}, {
  27646		.key	= "\x9d\x23\xbd\x41\x49\xcb\x97\x9c"
  27647			  "\xcf\x3c\x5c\x94\xdd\x21\x7e\x98"
  27648			  "\x08\xcb\x0e\x50\xcd\x0f\x67\x81"
  27649			  "\x22\x35\xea\xaf\x60\x1d\x62\x32",
  27650		.klen	= 32,
  27651		.iv	= "\xc0\x47\x54\x82\x66\xb7\xc3\x70"
  27652			  "\xd3\x35\x66\xa2\x42\x5c\xbf\x30"
  27653			  "\xd8\x2d\x1e\xaf\x52\x94\x10\x9e"
  27654			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  27655		.ptext	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  27656			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27657			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27658			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27659			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27660			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27661			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27662			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27663			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27664			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27665			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27666			  "\x00\x00\x00",
  27667		.ctext	= "\xfb\x32\x09\x1d\x83\x05\xae\x4c"
  27668			  "\x13\x1f\x12\x71\xf2\xca\xb2\xeb"
  27669			  "\x5b\x83\x14\x7d\x83\xf6\x57\x77"
  27670			  "\x2e\x40\x1f\x92\x2c\xf9\xec\x35"
  27671			  "\x34\x1f\x93\xdf\xfb\x30\xd7\x35"
  27672			  "\x03\x05\x78\xc1\x20\x3b\x7a\xe3"
  27673			  "\x62\xa3\x89\xdc\x11\x11\x45\xa8"
  27674			  "\x82\x89\xa0\xf1\x4e\xc7\x0f\x11"
  27675			  "\x69\xdd\x0c\x84\x2b\x89\x5c\xdc"
  27676			  "\xf0\xde\x01\xef\xc5\x65\x79\x23"
  27677			  "\x87\x67\xd6\x50\xd9\x8d\xd9\x92"
  27678			  "\x54\x5b\x0e",
  27679		.len	= 91,
  27680	}, {
  27681		.key	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  27682			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27683			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27684			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  27685		.klen	= 32,
  27686		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  27687			  "\x00\x00\x00\x00\x67\xc6\x69\x73"
  27688			  "\x51\xff\x4a\xec\x29\xcd\xba\xab"
  27689			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  27690		.ptext	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  27691			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27692			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27693			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27694			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27695			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27696			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27697			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  27698		.ctext	= "\xdf\x2d\xc6\x21\x2a\x9d\xa1\xbb"
  27699			  "\xc2\x77\x66\x0c\x5c\x46\xef\xa7"
  27700			  "\x79\x1b\xb9\xdf\x55\xe2\xf9\x61"
  27701			  "\x4c\x7b\xa4\x52\x24\xaf\xa2\xda"
  27702			  "\xd1\x8f\x8f\xa2\x9e\x53\x4d\xc4"
  27703			  "\xb8\x55\x98\x08\x7c\x08\xd4\x18"
  27704			  "\x67\x8f\xef\x50\xb1\x5f\xa5\x77"
  27705			  "\x4c\x25\xe7\x86\x26\x42\xca\x44",
  27706		.len	= 64,
  27707	}, {
  27708		.key	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  27709			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27710			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  27711			  "\x00\x00\x00\x00\x00\x00\x00\x01",
  27712		.klen	= 32,
  27713		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  27714			  "\x00\x00\x00\x02\xf2\xfb\xe3\x46"
  27715			  "\x7c\xc2\x54\xf8\x1b\xe8\xe7\x8d"
  27716			  "\x01\x00\x00\x00\x00\x00\x00\x00",
  27717		.ptext	= "\x41\x6e\x79\x20\x73\x75\x62\x6d"
  27718			  "\x69\x73\x73\x69\x6f\x6e\x20\x74"
  27719			  "\x6f\x20\x74\x68\x65\x20\x49\x45"
  27720			  "\x54\x46\x20\x69\x6e\x74\x65\x6e"
  27721			  "\x64\x65\x64\x20\x62\x79\x20\x74"
  27722			  "\x68\x65\x20\x43\x6f\x6e\x74\x72"
  27723			  "\x69\x62\x75\x74\x6f\x72\x20\x66"
  27724			  "\x6f\x72\x20\x70\x75\x62\x6c\x69"
  27725			  "\x63\x61\x74\x69\x6f\x6e\x20\x61"
  27726			  "\x73\x20\x61\x6c\x6c\x20\x6f\x72"
  27727			  "\x20\x70\x61\x72\x74\x20\x6f\x66"
  27728			  "\x20\x61\x6e\x20\x49\x45\x54\x46"
  27729			  "\x20\x49\x6e\x74\x65\x72\x6e\x65"
  27730			  "\x74\x2d\x44\x72\x61\x66\x74\x20"
  27731			  "\x6f\x72\x20\x52\x46\x43\x20\x61"
  27732			  "\x6e\x64\x20\x61\x6e\x79\x20\x73"
  27733			  "\x74\x61\x74\x65\x6d\x65\x6e\x74"
  27734			  "\x20\x6d\x61\x64\x65\x20\x77\x69"
  27735			  "\x74\x68\x69\x6e\x20\x74\x68\x65"
  27736			  "\x20\x63\x6f\x6e\x74\x65\x78\x74"
  27737			  "\x20\x6f\x66\x20\x61\x6e\x20\x49"
  27738			  "\x45\x54\x46\x20\x61\x63\x74\x69"
  27739			  "\x76\x69\x74\x79\x20\x69\x73\x20"
  27740			  "\x63\x6f\x6e\x73\x69\x64\x65\x72"
  27741			  "\x65\x64\x20\x61\x6e\x20\x22\x49"
  27742			  "\x45\x54\x46\x20\x43\x6f\x6e\x74"
  27743			  "\x72\x69\x62\x75\x74\x69\x6f\x6e"
  27744			  "\x22\x2e\x20\x53\x75\x63\x68\x20"
  27745			  "\x73\x74\x61\x74\x65\x6d\x65\x6e"
  27746			  "\x74\x73\x20\x69\x6e\x63\x6c\x75"
  27747			  "\x64\x65\x20\x6f\x72\x61\x6c\x20"
  27748			  "\x73\x74\x61\x74\x65\x6d\x65\x6e"
  27749			  "\x74\x73\x20\x69\x6e\x20\x49\x45"
  27750			  "\x54\x46\x20\x73\x65\x73\x73\x69"
  27751			  "\x6f\x6e\x73\x2c\x20\x61\x73\x20"
  27752			  "\x77\x65\x6c\x6c\x20\x61\x73\x20"
  27753			  "\x77\x72\x69\x74\x74\x65\x6e\x20"
  27754			  "\x61\x6e\x64\x20\x65\x6c\x65\x63"
  27755			  "\x74\x72\x6f\x6e\x69\x63\x20\x63"
  27756			  "\x6f\x6d\x6d\x75\x6e\x69\x63\x61"
  27757			  "\x74\x69\x6f\x6e\x73\x20\x6d\x61"
  27758			  "\x64\x65\x20\x61\x74\x20\x61\x6e"
  27759			  "\x79\x20\x74\x69\x6d\x65\x20\x6f"
  27760			  "\x72\x20\x70\x6c\x61\x63\x65\x2c"
  27761			  "\x20\x77\x68\x69\x63\x68\x20\x61"
  27762			  "\x72\x65\x20\x61\x64\x64\x72\x65"
  27763			  "\x73\x73\x65\x64\x20\x74\x6f",
  27764		.ctext	= "\xe4\xa6\xc8\x30\xc4\x23\x13\xd6"
  27765			  "\x08\x4d\xc9\xb7\xa5\x64\x7c\xb9"
  27766			  "\x71\xe2\xab\x3e\xa8\x30\x8a\x1c"
  27767			  "\x4a\x94\x6d\x9b\xe0\xb3\x6f\xf1"
  27768			  "\xdc\xe3\x1b\xb3\xa9\x6d\x0d\xd6"
  27769			  "\xd0\xca\x12\xef\xe7\x5f\xd8\x61"
  27770			  "\x3c\x82\xd3\x99\x86\x3c\x6f\x66"
  27771			  "\x02\x06\xdc\x55\xf9\xed\xdf\x38"
  27772			  "\xb4\xa6\x17\x00\x7f\xef\xbf\x4f"
  27773			  "\xf8\x36\xf1\x60\x7e\x47\xaf\xdb"
  27774			  "\x55\x9b\x12\xcb\x56\x44\xa7\x1f"
  27775			  "\xd3\x1a\x07\x3b\x00\xec\xe6\x4c"
  27776			  "\xa2\x43\x27\xdf\x86\x19\x4f\x16"
  27777			  "\xed\xf9\x4a\xf3\x63\x6f\xfa\x7f"
  27778			  "\x78\x11\xf6\x7d\x97\x6f\xec\x6f"
  27779			  "\x85\x0f\x5c\x36\x13\x8d\x87\xe0"
  27780			  "\x80\xb1\x69\x0b\x98\x89\x9c\x4e"
  27781			  "\xf8\xdd\xee\x5c\x0a\x85\xce\xd4"
  27782			  "\xea\x1b\x48\xbe\x08\xf8\xe2\xa8"
  27783			  "\xa5\xb0\x3c\x79\xb1\x15\xb4\xb9"
  27784			  "\x75\x10\x95\x35\x81\x7e\x26\xe6"
  27785			  "\x78\xa4\x88\xcf\xdb\x91\x34\x18"
  27786			  "\xad\xd7\x8e\x07\x7d\xab\x39\xf9"
  27787			  "\xa3\x9e\xa5\x1d\xbb\xed\x61\xfd"
  27788			  "\xdc\xb7\x5a\x27\xfc\xb5\xc9\x10"
  27789			  "\xa8\xcc\x52\x7f\x14\x76\x90\xe7"
  27790			  "\x1b\x29\x60\x74\xc0\x98\x77\xbb"
  27791			  "\xe0\x54\xbb\x27\x49\x59\x1e\x62"
  27792			  "\x3d\xaf\x74\x06\xa4\x42\x6f\xc6"
  27793			  "\x52\x97\xc4\x1d\xc4\x9f\xe2\xe5"
  27794			  "\x38\x57\x91\xd1\xa2\x28\xcc\x40"
  27795			  "\xcc\x70\x59\x37\xfc\x9f\x4b\xda"
  27796			  "\xa0\xeb\x97\x9a\x7d\xed\x14\x5c"
  27797			  "\x9c\xb7\x93\x26\x41\xa8\x66\xdd"
  27798			  "\x87\x6a\xc0\xd3\xc2\xa9\x3e\xae"
  27799			  "\xe9\x72\xfe\xd1\xb3\xac\x38\xea"
  27800			  "\x4d\x15\xa9\xd5\x36\x61\xe9\x96"
  27801			  "\x6c\x23\xf8\x43\xe4\x92\x29\xd9"
  27802			  "\x8b\x78\xf7\x0a\x52\xe0\x19\x5b"
  27803			  "\x59\x69\x5b\x5d\xa1\x53\xc4\x68"
  27804			  "\xe1\xbb\xac\x89\x14\xe2\xe2\x85"
  27805			  "\x41\x18\xf5\xb3\xd1\xfa\x68\x19"
  27806			  "\x44\x78\xdc\xcf\xe7\x88\x2d\x52"
  27807			  "\x5f\x40\xb5\x7e\xf8\x88\xa2\xae"
  27808			  "\x4a\xb2\x07\x35\x9d\x9b\x07\x88"
  27809			  "\xb7\x00\xd0\x0c\xb6\xa0\x47\x59"
  27810			  "\xda\x4e\xc9\xab\x9b\x8a\x7b",
  27811
  27812		.len	= 375,
  27813
  27814	}, {
  27815		.key	= "\x1c\x92\x40\xa5\xeb\x55\xd3\x8a"
  27816			  "\xf3\x33\x88\x86\x04\xf6\xb5\xf0"
  27817			  "\x47\x39\x17\xc1\x40\x2b\x80\x09"
  27818			  "\x9d\xca\x5c\xbc\x20\x70\x75\xc0",
  27819		.klen	= 32,
  27820		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  27821			  "\x00\x00\x00\x02\x76\x5a\x2e\x63"
  27822			  "\x33\x9f\xc9\x9a\x66\x32\x0d\xb7"
  27823			  "\x2a\x00\x00\x00\x00\x00\x00\x00",
  27824		.ptext	= "\x27\x54\x77\x61\x73\x20\x62\x72"
  27825			  "\x69\x6c\x6c\x69\x67\x2c\x20\x61"
  27826			  "\x6e\x64\x20\x74\x68\x65\x20\x73"
  27827			  "\x6c\x69\x74\x68\x79\x20\x74\x6f"
  27828			  "\x76\x65\x73\x0a\x44\x69\x64\x20"
  27829			  "\x67\x79\x72\x65\x20\x61\x6e\x64"
  27830			  "\x20\x67\x69\x6d\x62\x6c\x65\x20"
  27831			  "\x69\x6e\x20\x74\x68\x65\x20\x77"
  27832			  "\x61\x62\x65\x3a\x0a\x41\x6c\x6c"
  27833			  "\x20\x6d\x69\x6d\x73\x79\x20\x77"
  27834			  "\x65\x72\x65\x20\x74\x68\x65\x20"
  27835			  "\x62\x6f\x72\x6f\x67\x6f\x76\x65"
  27836			  "\x73\x2c\x0a\x41\x6e\x64\x20\x74"
  27837			  "\x68\x65\x20\x6d\x6f\x6d\x65\x20"
  27838			  "\x72\x61\x74\x68\x73\x20\x6f\x75"
  27839			  "\x74\x67\x72\x61\x62\x65\x2e",
  27840		.ctext	= "\xb9\x68\xbc\x6a\x24\xbc\xcc\xd8"
  27841			  "\x9b\x2a\x8d\x5b\x96\xaf\x56\xe3"
  27842			  "\x11\x61\xe7\xa7\x9b\xce\x4e\x7d"
  27843			  "\x60\x02\x48\xac\xeb\xd5\x3a\x26"
  27844			  "\x9d\x77\x3b\xb5\x32\x13\x86\x8e"
  27845			  "\x20\x82\x26\x72\xae\x64\x1b\x7e"
  27846			  "\x2e\x01\x68\xb4\x87\x45\xa1\x24"
  27847			  "\xe4\x48\x40\xf0\xaa\xac\xee\xa9"
  27848			  "\xfc\x31\xad\x9d\x89\xa3\xbb\xd2"
  27849			  "\xe4\x25\x13\xad\x0f\x5e\xdf\x3c"
  27850			  "\x27\xab\xb8\x62\x46\x22\x30\x48"
  27851			  "\x55\x2c\x4e\x84\x78\x1d\x0d\x34"
  27852			  "\x8d\x3c\x91\x0a\x7f\x5b\x19\x9f"
  27853			  "\x97\x05\x4c\xa7\x62\x47\x8b\xc5"
  27854			  "\x44\x2e\x20\x33\xdd\xa0\x82\xa9"
  27855			  "\x25\x76\x37\xe6\x3c\x67\x5b",
  27856		.len	= 127,
  27857	}, {
  27858		.key	= "\x1c\x92\x40\xa5\xeb\x55\xd3\x8a"
  27859			  "\xf3\x33\x88\x86\x04\xf6\xb5\xf0"
  27860			  "\x47\x39\x17\xc1\x40\x2b\x80\x09"
  27861			  "\x9d\xca\x5c\xbc\x20\x70\x75\xc0",
  27862		.klen	= 32,
  27863		.iv	= "\x00\x00\x00\x00\x00\x00\x00\x00"
  27864			  "\x00\x00\x00\x01\x31\x58\xa3\x5a"
  27865			  "\x25\x5d\x05\x17\x58\xe9\x5e\xd4"
  27866			  "\x1c\x00\x00\x00\x00\x00\x00\x00",
  27867		.ptext	= "\x49\xee\xe0\xdc\x24\x90\x40\xcd"
  27868			  "\xc5\x40\x8f\x47\x05\xbc\xdd\x81"
  27869			  "\x47\xc6\x8d\xe6\xb1\x8f\xd7\xcb"
  27870			  "\x09\x0e\x6e\x22\x48\x1f\xbf\xb8"
  27871			  "\x5c\xf7\x1e\x8a\xc1\x23\xf2\xd4"
  27872			  "\x19\x4b\x01\x0f\x4e\xa4\x43\xce"
  27873			  "\x01\xc6\x67\xda\x03\x91\x18\x90"
  27874			  "\xa5\xa4\x8e\x45\x03\xb3\x2d\xac"
  27875			  "\x74\x92\xd3\x53\x47\xc8\xdd\x25"
  27876			  "\x53\x6c\x02\x03\x87\x0d\x11\x0c"
  27877			  "\x58\xe3\x12\x18\xfd\x2a\x5b\x40"
  27878			  "\x0c\x30\xf0\xb8\x3f\x43\xce\xae"
  27879			  "\x65\x3a\x7d\x7c\xf4\x54\xaa\xcc"
  27880			  "\x33\x97\xc3\x77\xba\xc5\x70\xde"
  27881			  "\xd7\xd5\x13\xa5\x65\xc4\x5f\x0f"
  27882			  "\x46\x1a\x0d\x97\xb5\xf3\xbb\x3c"
  27883			  "\x84\x0f\x2b\xc5\xaa\xea\xf2\x6c"
  27884			  "\xc9\xb5\x0c\xee\x15\xf3\x7d\xbe"
  27885			  "\x9f\x7b\x5a\xa6\xae\x4f\x83\xb6"
  27886			  "\x79\x49\x41\xf4\x58\x18\xcb\x86"
  27887			  "\x7f\x30\x0e\xf8\x7d\x44\x36\xea"
  27888			  "\x75\xeb\x88\x84\x40\x3c\xad\x4f"
  27889			  "\x6f\x31\x6b\xaa\x5d\xe5\xa5\xc5"
  27890			  "\x21\x66\xe9\xa7\xe3\xb2\x15\x88"
  27891			  "\x78\xf6\x79\xa1\x59\x47\x12\x4e"
  27892			  "\x9f\x9f\x64\x1a\xa0\x22\x5b\x08"
  27893			  "\xbe\x7c\x36\xc2\x2b\x66\x33\x1b"
  27894			  "\xdd\x60\x71\xf7\x47\x8c\x61\xc3"
  27895			  "\xda\x8a\x78\x1e\x16\xfa\x1e\x86"
  27896			  "\x81\xa6\x17\x2a\xa7\xb5\xc2\xe7"
  27897			  "\xa4\xc7\x42\xf1\xcf\x6a\xca\xb4"
  27898			  "\x45\xcf\xf3\x93\xf0\xe7\xea\xf6"
  27899			  "\xf4\xe6\x33\x43\x84\x93\xa5\x67"
  27900			  "\x9b\x16\x58\x58\x80\x0f\x2b\x5c"
  27901			  "\x24\x74\x75\x7f\x95\x81\xb7\x30"
  27902			  "\x7a\x33\xa7\xf7\x94\x87\x32\x27"
  27903			  "\x10\x5d\x14\x4c\x43\x29\xdd\x26"
  27904			  "\xbd\x3e\x3c\x0e\xfe\x0e\xa5\x10"
  27905			  "\xea\x6b\x64\xfd\x73\xc6\xed\xec"
  27906			  "\xa8\xc9\xbf\xb3\xba\x0b\x4d\x07"
  27907			  "\x70\xfc\x16\xfd\x79\x1e\xd7\xc5"
  27908			  "\x49\x4e\x1c\x8b\x8d\x79\x1b\xb1"
  27909			  "\xec\xca\x60\x09\x4c\x6a\xd5\x09"
  27910			  "\x49\x46\x00\x88\x22\x8d\xce\xea"
  27911			  "\xb1\x17\x11\xde\x42\xd2\x23\xc1"
  27912			  "\x72\x11\xf5\x50\x73\x04\x40\x47"
  27913			  "\xf9\x5d\xe7\xa7\x26\xb1\x7e\xb0"
  27914			  "\x3f\x58\xc1\x52\xab\x12\x67\x9d"
  27915			  "\x3f\x43\x4b\x68\xd4\x9c\x68\x38"
  27916			  "\x07\x8a\x2d\x3e\xf3\xaf\x6a\x4b"
  27917			  "\xf9\xe5\x31\x69\x22\xf9\xa6\x69"
  27918			  "\xc6\x9c\x96\x9a\x12\x35\x95\x1d"
  27919			  "\x95\xd5\xdd\xbe\xbf\x93\x53\x24"
  27920			  "\xfd\xeb\xc2\x0a\x64\xb0\x77\x00"
  27921			  "\x6f\x88\xc4\x37\x18\x69\x7c\xd7"
  27922			  "\x41\x92\x55\x4c\x03\xa1\x9a\x4b"
  27923			  "\x15\xe5\xdf\x7f\x37\x33\x72\xc1"
  27924			  "\x8b\x10\x67\xa3\x01\x57\x94\x25"
  27925			  "\x7b\x38\x71\x7e\xdd\x1e\xcc\x73"
  27926			  "\x55\xd2\x8e\xeb\x07\xdd\xf1\xda"
  27927			  "\x58\xb1\x47\x90\xfe\x42\x21\x72"
  27928			  "\xa3\x54\x7a\xa0\x40\xec\x9f\xdd"
  27929			  "\xc6\x84\x6e\xca\xae\xe3\x68\xb4"
  27930			  "\x9d\xe4\x78\xff\x57\xf2\xf8\x1b"
  27931			  "\x03\xa1\x31\xd9\xde\x8d\xf5\x22"
  27932			  "\x9c\xdd\x20\xa4\x1e\x27\xb1\x76"
  27933			  "\x4f\x44\x55\xe2\x9b\xa1\x9c\xfe"
  27934			  "\x54\xf7\x27\x1b\xf4\xde\x02\xf5"
  27935			  "\x1b\x55\x48\x5c\xdc\x21\x4b\x9e"
  27936			  "\x4b\x6e\xed\x46\x23\xdc\x65\xb2"
  27937			  "\xcf\x79\x5f\x28\xe0\x9e\x8b\xe7"
  27938			  "\x4c\x9d\x8a\xff\xc1\xa6\x28\xb8"
  27939			  "\x65\x69\x8a\x45\x29\xef\x74\x85"
  27940			  "\xde\x79\xc7\x08\xae\x30\xb0\xf4"
  27941			  "\xa3\x1d\x51\x41\xab\xce\xcb\xf6"
  27942			  "\xb5\xd8\x6d\xe0\x85\xe1\x98\xb3"
  27943			  "\x43\xbb\x86\x83\x0a\xa0\xf5\xb7"
  27944			  "\x04\x0b\xfa\x71\x1f\xb0\xf6\xd9"
  27945			  "\x13\x00\x15\xf0\xc7\xeb\x0d\x5a"
  27946			  "\x9f\xd7\xb9\x6c\x65\x14\x22\x45"
  27947			  "\x6e\x45\x32\x3e\x7e\x60\x1a\x12"
  27948			  "\x97\x82\x14\xfb\xaa\x04\x22\xfa"
  27949			  "\xa0\xe5\x7e\x8c\x78\x02\x48\x5d"
  27950			  "\x78\x33\x5a\x7c\xad\xdb\x29\xce"
  27951			  "\xbb\x8b\x61\xa4\xb7\x42\xe2\xac"
  27952			  "\x8b\x1a\xd9\x2f\x0b\x8b\x62\x21"
  27953			  "\x83\x35\x7e\xad\x73\xc2\xb5\x6c"
  27954			  "\x10\x26\x38\x07\xe5\xc7\x36\x80"
  27955			  "\xe2\x23\x12\x61\xf5\x48\x4b\x2b"
  27956			  "\xc5\xdf\x15\xd9\x87\x01\xaa\xac"
  27957			  "\x1e\x7c\xad\x73\x78\x18\x63\xe0"
  27958			  "\x8b\x9f\x81\xd8\x12\x6a\x28\x10"
  27959			  "\xbe\x04\x68\x8a\x09\x7c\x1b\x1c"
  27960			  "\x83\x66\x80\x47\x80\xe8\xfd\x35"
  27961			  "\x1c\x97\x6f\xae\x49\x10\x66\xcc"
  27962			  "\xc6\xd8\xcc\x3a\x84\x91\x20\x77"
  27963			  "\x72\xe4\x24\xd2\x37\x9f\xc5\xc9"
  27964			  "\x25\x94\x10\x5f\x40\x00\x64\x99"
  27965			  "\xdc\xae\xd7\x21\x09\x78\x50\x15"
  27966			  "\xac\x5f\xc6\x2c\xa2\x0b\xa9\x39"
  27967			  "\x87\x6e\x6d\xab\xde\x08\x51\x16"
  27968			  "\xc7\x13\xe9\xea\xed\x06\x8e\x2c"
  27969			  "\xf8\x37\x8c\xf0\xa6\x96\x8d\x43"
  27970			  "\xb6\x98\x37\xb2\x43\xed\xde\xdf"
  27971			  "\x89\x1a\xe7\xeb\x9d\xa1\x7b\x0b"
  27972			  "\x77\xb0\xe2\x75\xc0\xf1\x98\xd9"
  27973			  "\x80\x55\xc9\x34\x91\xd1\x59\xe8"
  27974			  "\x4b\x0f\xc1\xa9\x4b\x7a\x84\x06"
  27975			  "\x20\xa8\x5d\xfa\xd1\xde\x70\x56"
  27976			  "\x2f\x9e\x91\x9c\x20\xb3\x24\xd8"
  27977			  "\x84\x3d\xe1\x8c\x7e\x62\x52\xe5"
  27978			  "\x44\x4b\x9f\xc2\x93\x03\xea\x2b"
  27979			  "\x59\xc5\xfa\x3f\x91\x2b\xbb\x23"
  27980			  "\xf5\xb2\x7b\xf5\x38\xaf\xb3\xee"
  27981			  "\x63\xdc\x7b\xd1\xff\xaa\x8b\xab"
  27982			  "\x82\x6b\x37\x04\xeb\x74\xbe\x79"
  27983			  "\xb9\x83\x90\xef\x20\x59\x46\xff"
  27984			  "\xe9\x97\x3e\x2f\xee\xb6\x64\x18"
  27985			  "\x38\x4c\x7a\x4a\xf9\x61\xe8\x9a"
  27986			  "\xa1\xb5\x01\xa6\x47\xd3\x11\xd4"
  27987			  "\xce\xd3\x91\x49\x88\xc7\xb8\x4d"
  27988			  "\xb1\xb9\x07\x6d\x16\x72\xae\x46"
  27989			  "\x5e\x03\xa1\x4b\xb6\x02\x30\xa8"
  27990			  "\x3d\xa9\x07\x2a\x7c\x19\xe7\x62"
  27991			  "\x87\xe3\x82\x2f\x6f\xe1\x09\xd9"
  27992			  "\x94\x97\xea\xdd\x58\x9e\xae\x76"
  27993			  "\x7e\x35\xe5\xb4\xda\x7e\xf4\xde"
  27994			  "\xf7\x32\x87\xcd\x93\xbf\x11\x56"
  27995			  "\x11\xbe\x08\x74\xe1\x69\xad\xe2"
  27996			  "\xd7\xf8\x86\x75\x8a\x3c\xa4\xbe"
  27997			  "\x70\xa7\x1b\xfc\x0b\x44\x2a\x76"
  27998			  "\x35\xea\x5d\x85\x81\xaf\x85\xeb"
  27999			  "\xa0\x1c\x61\xc2\xf7\x4f\xa5\xdc"
  28000			  "\x02\x7f\xf6\x95\x40\x6e\x8a\x9a"
  28001			  "\xf3\x5d\x25\x6e\x14\x3a\x22\xc9"
  28002			  "\x37\x1c\xeb\x46\x54\x3f\xa5\x91"
  28003			  "\xc2\xb5\x8c\xfe\x53\x08\x97\x32"
  28004			  "\x1b\xb2\x30\x27\xfe\x25\x5d\xdc"
  28005			  "\x08\x87\xd0\xe5\x94\x1a\xd4\xf1"
  28006			  "\xfe\xd6\xb4\xa3\xe6\x74\x81\x3c"
  28007			  "\x1b\xb7\x31\xa7\x22\xfd\xd4\xdd"
  28008			  "\x20\x4e\x7c\x51\xb0\x60\x73\xb8"
  28009			  "\x9c\xac\x91\x90\x7e\x01\xb0\xe1"
  28010			  "\x8a\x2f\x75\x1c\x53\x2a\x98\x2a"
  28011			  "\x06\x52\x95\x52\xb2\xe9\x25\x2e"
  28012			  "\x4c\xe2\x5a\x00\xb2\x13\x81\x03"
  28013			  "\x77\x66\x0d\xa5\x99\xda\x4e\x8c"
  28014			  "\xac\xf3\x13\x53\x27\x45\xaf\x64"
  28015			  "\x46\xdc\xea\x23\xda\x97\xd1\xab"
  28016			  "\x7d\x6c\x30\x96\x1f\xbc\x06\x34"
  28017			  "\x18\x0b\x5e\x21\x35\x11\x8d\x4c"
  28018			  "\xe0\x2d\xe9\x50\x16\x74\x81\xa8"
  28019			  "\xb4\x34\xb9\x72\x42\xa6\xcc\xbc"
  28020			  "\xca\x34\x83\x27\x10\x5b\x68\x45"
  28021			  "\x8f\x52\x22\x0c\x55\x3d\x29\x7c"
  28022			  "\xe3\xc0\x66\x05\x42\x91\x5f\x58"
  28023			  "\xfe\x4a\x62\xd9\x8c\xa9\x04\x19"
  28024			  "\x04\xa9\x08\x4b\x57\xfc\x67\x53"
  28025			  "\x08\x7c\xbc\x66\x8a\xb0\xb6\x9f"
  28026			  "\x92\xd6\x41\x7c\x5b\x2a\x00\x79"
  28027			  "\x72",
  28028		.ctext	= "\xe1\xb6\x8b\x5c\x80\xb8\xcc\x08"
  28029			  "\x1b\x84\xb2\xd1\xad\xa4\x70\xac"
  28030			  "\x67\xa9\x39\x27\xac\xb4\x5b\xb7"
  28031			  "\x4c\x26\x77\x23\x1d\xce\x0a\xbe"
  28032			  "\x18\x9e\x42\x8b\xbd\x7f\xd6\xf1"
  28033			  "\xf1\x6b\xe2\x6d\x7f\x92\x0e\xcb"
  28034			  "\xb8\x79\xba\xb4\xac\x7e\x2d\xc0"
  28035			  "\x9e\x83\x81\x91\xd5\xea\xc3\x12"
  28036			  "\x8d\xa4\x26\x70\xa4\xf9\x71\x0b"
  28037			  "\xbd\x2e\xe1\xb3\x80\x42\x25\xb3"
  28038			  "\x0b\x31\x99\xe1\x0d\xde\xa6\x90"
  28039			  "\xf2\xa3\x10\xf7\xe5\xf3\x83\x1e"
  28040			  "\x2c\xfb\x4d\xf0\x45\x3d\x28\x3c"
  28041			  "\xb8\xf1\xcb\xbf\x67\xd8\x43\x5a"
  28042			  "\x9d\x7b\x73\x29\x88\x0f\x13\x06"
  28043			  "\x37\x50\x0d\x7c\xe6\x9b\x07\xdd"
  28044			  "\x7e\x01\x1f\x81\x90\x10\x69\xdb"
  28045			  "\xa4\xad\x8a\x5e\xac\x30\x72\xf2"
  28046			  "\x36\xcd\xe3\x23\x49\x02\x93\xfa"
  28047			  "\x3d\xbb\xe2\x98\x83\xeb\xe9\x8d"
  28048			  "\xb3\x8f\x11\xaa\x53\xdb\xaf\x2e"
  28049			  "\x95\x13\x99\x3d\x71\xbd\x32\x92"
  28050			  "\xdd\xfc\x9d\x5e\x6f\x63\x2c\xee"
  28051			  "\x91\x1f\x4c\x64\x3d\x87\x55\x0f"
  28052			  "\xcc\x3d\x89\x61\x53\x02\x57\x8f"
  28053			  "\xe4\x77\x29\x32\xaf\xa6\x2f\x0a"
  28054			  "\xae\x3c\x3f\x3f\xf4\xfb\x65\x52"
  28055			  "\xc5\xc1\x78\x78\x53\x28\xad\xed"
  28056			  "\xd1\x67\x37\xc7\x59\x70\xcd\x0a"
  28057			  "\xb8\x0f\x80\x51\x9f\xc0\x12\x5e"
  28058			  "\x06\x0a\x7e\xec\x24\x5f\x73\x00"
  28059			  "\xb1\x0b\x31\x47\x4f\x73\x8d\xb4"
  28060			  "\xce\xf3\x55\x45\x6c\x84\x27\xba"
  28061			  "\xb9\x6f\x03\x4a\xeb\x98\x88\x6e"
  28062			  "\x53\xed\x25\x19\x0d\x8f\xfe\xca"
  28063			  "\x60\xe5\x00\x93\x6e\x3c\xff\x19"
  28064			  "\xae\x08\x3b\x8a\xa6\x84\x05\xfe"
  28065			  "\x9b\x59\xa0\x8c\xc8\x05\x45\xf5"
  28066			  "\x05\x37\xdc\x45\x6f\x8b\x95\x8c"
  28067			  "\x4e\x11\x45\x7a\xce\x21\xa5\xf7"
  28068			  "\x71\x67\xb9\xce\xd7\xf9\xe9\x5e"
  28069			  "\x60\xf5\x53\x7a\xa8\x85\x14\x03"
  28070			  "\xa0\x92\xec\xf3\x51\x80\x84\xc4"
  28071			  "\xdc\x11\x9e\x57\xce\x4b\x45\xcf"
  28072			  "\x90\x95\x85\x0b\x96\xe9\xee\x35"
  28073			  "\x10\xb8\x9b\xf2\x59\x4a\xc6\x7e"
  28074			  "\x85\xe5\x6f\x38\x51\x93\x40\x0c"
  28075			  "\x99\xd7\x7f\x32\xa8\x06\x27\xd1"
  28076			  "\x2b\xd5\xb5\x3a\x1a\xe1\x5e\xda"
  28077			  "\xcd\x5a\x50\x30\x3c\xc7\xe7\x65"
  28078			  "\xa6\x07\x0b\x98\x91\xc6\x20\x27"
  28079			  "\x2a\x03\x63\x1b\x1e\x3d\xaf\xc8"
  28080			  "\x71\x48\x46\x6a\x64\x28\xf9\x3d"
  28081			  "\xd1\x1d\xab\xc8\x40\x76\xc2\x39"
  28082			  "\x4e\x00\x75\xd2\x0e\x82\x58\x8c"
  28083			  "\xd3\x73\x5a\xea\x46\x89\xbe\xfd"
  28084			  "\x4e\x2c\x0d\x94\xaa\x9b\x68\xac"
  28085			  "\x86\x87\x30\x7e\xa9\x16\xcd\x59"
  28086			  "\xd2\xa6\xbe\x0a\xd8\xf5\xfd\x2d"
  28087			  "\x49\x69\xd2\x1a\x90\xd2\x1b\xed"
  28088			  "\xff\x71\x04\x87\x87\x21\xc4\xb8"
  28089			  "\x1f\x5b\x51\x33\xd0\xd6\x59\x9a"
  28090			  "\x03\x0e\xd3\x8b\xfb\x57\x73\xfd"
  28091			  "\x5a\x52\x63\x82\xc8\x85\x2f\xcb"
  28092			  "\x74\x6d\x4e\xd9\x68\x37\x85\x6a"
  28093			  "\xd4\xfb\x94\xed\x8d\xd1\x1a\xaf"
  28094			  "\x76\xa7\xb7\x88\xd0\x2b\x4e\xda"
  28095			  "\xec\x99\x94\x27\x6f\x87\x8c\xdf"
  28096			  "\x4b\x5e\xa6\x66\xdd\xcb\x33\x7b"
  28097			  "\x64\x94\x31\xa8\x37\xa6\x1d\xdb"
  28098			  "\x0d\x5c\x93\xa4\x40\xf9\x30\x53"
  28099			  "\x4b\x74\x8d\xdd\xf6\xde\x3c\xac"
  28100			  "\x5c\x80\x01\x3a\xef\xb1\x9a\x02"
  28101			  "\x0c\x22\x8e\xe7\x44\x09\x74\x4c"
  28102			  "\xf2\x9a\x27\x69\x7f\x12\x32\x36"
  28103			  "\xde\x92\xdf\xde\x8f\x5b\x31\xab"
  28104			  "\x4a\x01\x26\xe0\xb1\xda\xe8\x37"
  28105			  "\x21\x64\xe8\xff\x69\xfc\x9e\x41"
  28106			  "\xd2\x96\x2d\x18\x64\x98\x33\x78"
  28107			  "\x24\x61\x73\x9b\x47\x29\xf1\xa7"
  28108			  "\xcb\x27\x0f\xf0\x85\x6d\x8c\x9d"
  28109			  "\x2c\x95\x9e\xe5\xb2\x8e\x30\x29"
  28110			  "\x78\x8a\x9d\x65\xb4\x8e\xde\x7b"
  28111			  "\xd9\x00\x50\xf5\x7f\x81\xc3\x1b"
  28112			  "\x25\x85\xeb\xc2\x8c\x33\x22\x1e"
  28113			  "\x68\x38\x22\x30\xd8\x2e\x00\x98"
  28114			  "\x85\x16\x06\x56\xb4\x81\x74\x20"
  28115			  "\x95\xdb\x1c\x05\x19\xe8\x23\x4d"
  28116			  "\x65\x5d\xcc\xd8\x7f\xc4\x2d\x0f"
  28117			  "\x57\x26\x71\x07\xad\xaa\x71\x9f"
  28118			  "\x19\x76\x2f\x25\x51\x88\xe4\xc0"
  28119			  "\x82\x6e\x08\x05\x37\x04\xee\x25"
  28120			  "\x23\x90\xe9\x4e\xce\x9b\x16\xc1"
  28121			  "\x31\xe7\x6e\x2c\x1b\xe1\x85\x9a"
  28122			  "\x0c\x8c\xbb\x12\x1e\x68\x7b\x93"
  28123			  "\xa9\x3c\x39\x56\x23\x3e\x6e\xc7"
  28124			  "\x77\x84\xd3\xe0\x86\x59\xaa\xb9"
  28125			  "\xd5\x53\x58\xc9\x0a\x83\x5f\x85"
  28126			  "\xd8\x47\x14\x67\x8a\x3c\x17\xe0"
  28127			  "\xab\x02\x51\xea\xf1\xf0\x4f\x30"
  28128			  "\x7d\xe0\x92\xc2\x5f\xfb\x19\x5a"
  28129			  "\x3f\xbd\xf4\x39\xa4\x31\x0c\x39"
  28130			  "\xd1\xae\x4e\xf7\x65\x7f\x1f\xce"
  28131			  "\xc2\x39\xd1\x84\xd4\xe5\x02\xe0"
  28132			  "\x58\xaa\xf1\x5e\x81\xaf\x7f\x72"
  28133			  "\x0f\x08\x99\x43\xb9\xd8\xac\x41"
  28134			  "\x35\x55\xf2\xb2\xd4\x98\xb8\x3b"
  28135			  "\x2b\x3c\x3e\x16\x06\x31\xfc\x79"
  28136			  "\x47\x38\x63\x51\xc5\xd0\x26\xd7"
  28137			  "\x43\xb4\x2b\xd9\xc5\x05\xf2\x9d"
  28138			  "\x18\xc9\x26\x82\x56\xd2\x11\x05"
  28139			  "\xb6\x89\xb4\x43\x9c\xb5\x9d\x11"
  28140			  "\x6c\x83\x37\x71\x27\x1c\xae\xbf"
  28141			  "\xcd\x57\xd2\xee\x0d\x5a\x15\x26"
  28142			  "\x67\x88\x80\x80\x1b\xdc\xc1\x62"
  28143			  "\xdd\x4c\xff\x92\x5c\x6c\xe1\xa0"
  28144			  "\xe3\x79\xa9\x65\x8c\x8c\x14\x42"
  28145			  "\xe5\x11\xd2\x1a\xad\xa9\x56\x6f"
  28146			  "\x98\xfc\x8a\x7b\x56\x1f\xc6\xc1"
  28147			  "\x52\x12\x92\x9b\x41\x0f\x4b\xae"
  28148			  "\x1b\x4a\xbc\xfe\x23\xb6\x94\x70"
  28149			  "\x04\x30\x9e\x69\x47\xbe\xb8\x8f"
  28150			  "\xca\x45\xd7\x8a\xf4\x78\x3e\xaa"
  28151			  "\x71\x17\xd8\x1e\xb8\x11\x8f\xbc"
  28152			  "\xc8\x1a\x65\x7b\x41\x89\x72\xc7"
  28153			  "\x5f\xbe\xc5\x2a\xdb\x5c\x54\xf9"
  28154			  "\x25\xa3\x7a\x80\x56\x9c\x8c\xab"
  28155			  "\x26\x19\x10\x36\xa6\xf3\x14\x79"
  28156			  "\x40\x98\x70\x68\xb7\x35\xd9\xb9"
  28157			  "\x27\xd4\xe7\x74\x5b\x3d\x97\xb4"
  28158			  "\xd9\xaa\xd9\xf2\xb5\x14\x84\x1f"
  28159			  "\xa9\xde\x12\x44\x5b\x00\xc0\xbc"
  28160			  "\xc8\x11\x25\x1b\x67\x7a\x15\x72"
  28161			  "\xa6\x31\x6f\xf4\x68\x7a\x86\x9d"
  28162			  "\x43\x1c\x5f\x16\xd3\xad\x2e\x52"
  28163			  "\xf3\xb4\xc3\xfa\x27\x2e\x68\x6c"
  28164			  "\x06\xe7\x4c\x4f\xa2\xe0\xe4\x21"
  28165			  "\x5d\x9e\x33\x58\x8d\xbf\xd5\x70"
  28166			  "\xf8\x80\xa5\xdd\xe7\x18\x79\xfa"
  28167			  "\x7b\xfd\x09\x69\x2c\x37\x32\xa8"
  28168			  "\x65\xfa\x8d\x8b\x5c\xcc\xe8\xf3"
  28169			  "\x37\xf6\xa6\xc6\x5c\xa2\x66\x79"
  28170			  "\xfa\x8a\xa7\xd1\x0b\x2e\x1b\x5e"
  28171			  "\x95\x35\x00\x76\xae\x42\xf7\x50"
  28172			  "\x51\x78\xfb\xb4\x28\x24\xde\x1a"
  28173			  "\x70\x8b\xed\xca\x3c\x5e\xe4\xbd"
  28174			  "\x28\xb5\xf3\x76\x4f\x67\x5d\x81"
  28175			  "\xb2\x60\x87\xd9\x7b\x19\x1a\xa7"
  28176			  "\x79\xa2\xfa\x3f\x9e\xa9\xd7\x25"
  28177			  "\x61\xe1\x74\x31\xa2\x77\xa0\x1b"
  28178			  "\xf6\xf7\xcb\xc5\xaa\x9e\xce\xf9"
  28179			  "\x9b\x96\xef\x51\xc3\x1a\x44\x96"
  28180			  "\xae\x17\x50\xab\x29\x08\xda\xcc"
  28181			  "\x1a\xb3\x12\xd0\x24\xe4\xe2\xe0"
  28182			  "\xc6\xe3\xcc\x82\xd0\xba\x47\x4c"
  28183			  "\x3f\x49\xd7\xe8\xb6\x61\xaa\x65"
  28184			  "\x25\x18\x40\x2d\x62\x25\x02\x71"
  28185			  "\x61\xa2\xc1\xb2\x13\xd2\x71\x3f"
  28186			  "\x43\x1a\xc9\x09\x92\xff\xd5\x57"
  28187			  "\xf0\xfc\x5e\x1c\xf1\xf5\xf9\xf3"
  28188			  "\x5b",
  28189		.len	= 1281,
  28190	}, {
  28191		.key	= "\x80\x81\x82\x83\x84\x85\x86\x87"
  28192			  "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  28193			  "\x90\x91\x92\x93\x94\x95\x96\x97"
  28194			  "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f",
  28195		.klen	= 32,
  28196		.iv	= "\x40\x41\x42\x43\x44\x45\x46\x47"
  28197			  "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  28198			  "\x50\x51\x52\x53\x54\x55\x56\x58"
  28199			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  28200		.ptext	= "\x54\x68\x65\x20\x64\x68\x6f\x6c"
  28201			  "\x65\x20\x28\x70\x72\x6f\x6e\x6f"
  28202			  "\x75\x6e\x63\x65\x64\x20\x22\x64"
  28203			  "\x6f\x6c\x65\x22\x29\x20\x69\x73"
  28204			  "\x20\x61\x6c\x73\x6f\x20\x6b\x6e"
  28205			  "\x6f\x77\x6e\x20\x61\x73\x20\x74"
  28206			  "\x68\x65\x20\x41\x73\x69\x61\x74"
  28207			  "\x69\x63\x20\x77\x69\x6c\x64\x20"
  28208			  "\x64\x6f\x67\x2c\x20\x72\x65\x64"
  28209			  "\x20\x64\x6f\x67\x2c\x20\x61\x6e"
  28210			  "\x64\x20\x77\x68\x69\x73\x74\x6c"
  28211			  "\x69\x6e\x67\x20\x64\x6f\x67\x2e"
  28212			  "\x20\x49\x74\x20\x69\x73\x20\x61"
  28213			  "\x62\x6f\x75\x74\x20\x74\x68\x65"
  28214			  "\x20\x73\x69\x7a\x65\x20\x6f\x66"
  28215			  "\x20\x61\x20\x47\x65\x72\x6d\x61"
  28216			  "\x6e\x20\x73\x68\x65\x70\x68\x65"
  28217			  "\x72\x64\x20\x62\x75\x74\x20\x6c"
  28218			  "\x6f\x6f\x6b\x73\x20\x6d\x6f\x72"
  28219			  "\x65\x20\x6c\x69\x6b\x65\x20\x61"
  28220			  "\x20\x6c\x6f\x6e\x67\x2d\x6c\x65"
  28221			  "\x67\x67\x65\x64\x20\x66\x6f\x78"
  28222			  "\x2e\x20\x54\x68\x69\x73\x20\x68"
  28223			  "\x69\x67\x68\x6c\x79\x20\x65\x6c"
  28224			  "\x75\x73\x69\x76\x65\x20\x61\x6e"
  28225			  "\x64\x20\x73\x6b\x69\x6c\x6c\x65"
  28226			  "\x64\x20\x6a\x75\x6d\x70\x65\x72"
  28227			  "\x20\x69\x73\x20\x63\x6c\x61\x73"
  28228			  "\x73\x69\x66\x69\x65\x64\x20\x77"
  28229			  "\x69\x74\x68\x20\x77\x6f\x6c\x76"
  28230			  "\x65\x73\x2c\x20\x63\x6f\x79\x6f"
  28231			  "\x74\x65\x73\x2c\x20\x6a\x61\x63"
  28232			  "\x6b\x61\x6c\x73\x2c\x20\x61\x6e"
  28233			  "\x64\x20\x66\x6f\x78\x65\x73\x20"
  28234			  "\x69\x6e\x20\x74\x68\x65\x20\x74"
  28235			  "\x61\x78\x6f\x6e\x6f\x6d\x69\x63"
  28236			  "\x20\x66\x61\x6d\x69\x6c\x79\x20"
  28237			  "\x43\x61\x6e\x69\x64\x61\x65\x2e",
  28238		.ctext	= "\x9f\x1a\xab\x8a\x95\xf4\x7e\xcd"
  28239			  "\xee\x34\xc0\x39\xd6\x23\x43\x94"
  28240			  "\xf6\x01\xc1\x7f\x60\x91\xa5\x23"
  28241			  "\x4a\x8a\xe6\xb1\x14\x8b\xd7\x58"
  28242			  "\xee\x02\xad\xab\xce\x1e\x7d\xdf"
  28243			  "\xf9\x49\x27\x69\xd0\x8d\x0c\x20"
  28244			  "\x6e\x17\xc4\xae\x87\x7a\xc6\x61"
  28245			  "\x91\xe2\x8e\x0a\x1d\x61\xcc\x38"
  28246			  "\x02\x64\x43\x49\xc6\xb2\x59\x59"
  28247			  "\x42\xe7\x9d\x83\x00\x60\x90\xd2"
  28248			  "\xb9\xcd\x97\x6e\xc7\x95\x71\xbc"
  28249			  "\x23\x31\x58\x07\xb3\xb4\xac\x0b"
  28250			  "\x87\x64\x56\xe5\xe3\xec\x63\xa1"
  28251			  "\x71\x8c\x08\x48\x33\x20\x29\x81"
  28252			  "\xea\x01\x25\x20\xc3\xda\xe6\xee"
  28253			  "\x6a\x03\xf6\x68\x4d\x26\xa0\x91"
  28254			  "\x9e\x44\xb8\xc1\xc0\x8f\x5a\x6a"
  28255			  "\xc0\xcd\xbf\x24\x5e\x40\x66\xd2"
  28256			  "\x42\x24\xb5\xbf\xc1\xeb\x12\x60"
  28257			  "\x56\xbe\xb1\xa6\xc4\x0f\xfc\x49"
  28258			  "\x69\x9f\xcc\x06\x5c\xe3\x26\xd7"
  28259			  "\x52\xc0\x42\xe8\xb4\x76\xc3\xee"
  28260			  "\xb2\x97\xe3\x37\x61\x29\x5a\xb5"
  28261			  "\x8e\xe8\x8c\xc5\x38\xcc\xcb\xec"
  28262			  "\x64\x1a\xa9\x12\x5f\xf7\x79\xdf"
  28263			  "\x64\xca\x77\x4e\xbd\xf9\x83\xa0"
  28264			  "\x13\x27\x3f\x31\x03\x63\x30\x26"
  28265			  "\x27\x0b\x3e\xb3\x23\x13\x61\x0b"
  28266			  "\x70\x1d\xd4\xad\x85\x1e\xbf\xdf"
  28267			  "\xc6\x8e\x4d\x08\xcc\x7e\x77\xbd"
  28268			  "\x1e\x18\x77\x38\x3a\xfe\xc0\x5d"
  28269			  "\x16\xfc\xf0\xa9\x2f\xe9\x17\xc7"
  28270			  "\xd3\x23\x17\x18\xa3\xe6\x54\x77"
  28271			  "\x6f\x1b\xbe\x8a\x6e\x7e\xca\x97"
  28272			  "\x08\x05\x36\x76\xaf\x12\x7a\x42"
  28273			  "\xf7\x7a\xc2\x35\xc3\xb4\x93\x40"
  28274			  "\x54\x14\x90\xa0\x4d\x65\x1c\x37"
  28275			  "\x50\x70\x44\x29\x6d\x6e\x62\x68",
  28276		.len	= 304,
  28277	}
  28278};
  28279
  28280/* Adiantum test vectors from https://github.com/google/adiantum */
  28281static const struct cipher_testvec adiantum_xchacha12_aes_tv_template[] = {
  28282	{
  28283		.key	= "\x9e\xeb\xb2\x49\x3c\x1c\xf5\xf4"
  28284			  "\x6a\x99\xc2\xc4\xdf\xb1\xf4\xdd"
  28285			  "\x75\x20\x57\xea\x2c\x4f\xcd\xb2"
  28286			  "\xa5\x3d\x7b\x49\x1e\xab\xfd\x0f",
  28287		.klen	= 32,
  28288		.iv	= "\xdf\x63\xd4\xab\xd2\x49\xf3\xd8"
  28289			  "\x33\x81\x37\x60\x7d\xfa\x73\x08"
  28290			  "\xd8\x49\x6d\x80\xe8\x2f\x62\x54"
  28291			  "\xeb\x0e\xa9\x39\x5b\x45\x7f\x8a",
  28292		.ptext	= "\x67\xc9\xf2\x30\x84\x41\x8e\x43"
  28293			  "\xfb\xf3\xb3\x3e\x79\x36\x7f\xe8",
  28294		.ctext	= "\x6d\x32\x86\x18\x67\x86\x0f\x3f"
  28295			  "\x96\x7c\x9d\x28\x0d\x53\xec\x9f",
  28296		.len	= 16,
  28297	}, {
  28298		.key	= "\x36\x2b\x57\x97\xf8\x5d\xcd\x99"
  28299			  "\x5f\x1a\x5a\x44\x1d\x92\x0f\x27"
  28300			  "\xcc\x16\xd7\x2b\x85\x63\x99\xd3"
  28301			  "\xba\x96\xa1\xdb\xd2\x60\x68\xda",
  28302		.klen	= 32,
  28303		.iv	= "\xef\x58\x69\xb1\x2c\x5e\x9a\x47"
  28304			  "\x24\xc1\xb1\x69\xe1\x12\x93\x8f"
  28305			  "\x43\x3d\x6d\x00\xdb\x5e\xd8\xd9"
  28306			  "\x12\x9a\xfe\xd9\xff\x2d\xaa\xc4",
  28307		.ptext	= "\x5e\xa8\x68\x19\x85\x98\x12\x23"
  28308			  "\x26\x0a\xcc\xdb\x0a\x04\xb9\xdf"
  28309			  "\x4d\xb3\x48\x7b\xb0\xe3\xc8\x19"
  28310			  "\x43\x5a\x46\x06\x94\x2d\xf2",
  28311		.ctext	= "\xc7\xc6\xf1\x73\x8f\xc4\xff\x4a"
  28312			  "\x39\xbe\x78\xbe\x8d\x28\xc8\x89"
  28313			  "\x46\x63\xe7\x0c\x7d\x87\xe8\x4e"
  28314			  "\xc9\x18\x7b\xbe\x18\x60\x50",
  28315		.len	= 31,
  28316	}, {
  28317		.key	= "\xa5\x28\x24\x34\x1a\x3c\xd8\xf7"
  28318			  "\x05\x91\x8f\xee\x85\x1f\x35\x7f"
  28319			  "\x80\x3d\xfc\x9b\x94\xf6\xfc\x9e"
  28320			  "\x19\x09\x00\xa9\x04\x31\x4f\x11",
  28321		.klen	= 32,
  28322		.iv	= "\xa1\xba\x49\x95\xff\x34\x6d\xb8"
  28323			  "\xcd\x87\x5d\x5e\xfd\xea\x85\xdb"
  28324			  "\x8a\x7b\x5e\xb2\x5d\x57\xdd\x62"
  28325			  "\xac\xa9\x8c\x41\x42\x94\x75\xb7",
  28326		.ptext	= "\x69\xb4\xe8\x8c\x37\xe8\x67\x82"
  28327			  "\xf1\xec\x5d\x04\xe5\x14\x91\x13"
  28328			  "\xdf\xf2\x87\x1b\x69\x81\x1d\x71"
  28329			  "\x70\x9e\x9c\x3b\xde\x49\x70\x11"
  28330			  "\xa0\xa3\xdb\x0d\x54\x4f\x66\x69"
  28331			  "\xd7\xdb\x80\xa7\x70\x92\x68\xce"
  28332			  "\x81\x04\x2c\xc6\xab\xae\xe5\x60"
  28333			  "\x15\xe9\x6f\xef\xaa\x8f\xa7\xa7"
  28334			  "\x63\x8f\xf2\xf0\x77\xf1\xa8\xea"
  28335			  "\xe1\xb7\x1f\x9e\xab\x9e\x4b\x3f"
  28336			  "\x07\x87\x5b\x6f\xcd\xa8\xaf\xb9"
  28337			  "\xfa\x70\x0b\x52\xb8\xa8\xa7\x9e"
  28338			  "\x07\x5f\xa6\x0e\xb3\x9b\x79\x13"
  28339			  "\x79\xc3\x3e\x8d\x1c\x2c\x68\xc8"
  28340			  "\x51\x1d\x3c\x7b\x7d\x79\x77\x2a"
  28341			  "\x56\x65\xc5\x54\x23\x28\xb0\x03",
  28342		.ctext	= "\x9e\x16\xab\xed\x4b\xa7\x42\x5a"
  28343			  "\xc6\xfb\x4e\x76\xff\xbe\x03\xa0"
  28344			  "\x0f\xe3\xad\xba\xe4\x98\x2b\x0e"
  28345			  "\x21\x48\xa0\xb8\x65\x48\x27\x48"
  28346			  "\x84\x54\x54\xb2\x9a\x94\x7b\xe6"
  28347			  "\x4b\x29\xe9\xcf\x05\x91\x80\x1a"
  28348			  "\x3a\xf3\x41\x96\x85\x1d\x9f\x74"
  28349			  "\x51\x56\x63\xfa\x7c\x28\x85\x49"
  28350			  "\xf7\x2f\xf9\xf2\x18\x46\xf5\x33"
  28351			  "\x80\xa3\x3c\xce\xb2\x57\x93\xf5"
  28352			  "\xae\xbd\xa9\xf5\x7b\x30\xc4\x93"
  28353			  "\x66\xe0\x30\x77\x16\xe4\xa0\x31"
  28354			  "\xba\x70\xbc\x68\x13\xf5\xb0\x9a"
  28355			  "\xc1\xfc\x7e\xfe\x55\x80\x5c\x48"
  28356			  "\x74\xa6\xaa\xa3\xac\xdc\xc2\xf5"
  28357			  "\x8d\xde\x34\x86\x78\x60\x75\x8d",
  28358		.len	= 128,
  28359	}, {
  28360		.key	= "\xd3\x81\x72\x18\x23\xff\x6f\x4a"
  28361			  "\x25\x74\x29\x0d\x51\x8a\x0e\x13"
  28362			  "\xc1\x53\x5d\x30\x8d\xee\x75\x0d"
  28363			  "\x14\xd6\x69\xc9\x15\xa9\x0c\x60",
  28364		.klen	= 32,
  28365		.iv	= "\x65\x9b\xd4\xa8\x7d\x29\x1d\xf4"
  28366			  "\xc4\xd6\x9b\x6a\x28\xab\x64\xe2"
  28367			  "\x62\x81\x97\xc5\x81\xaa\xf9\x44"
  28368			  "\xc1\x72\x59\x82\xaf\x16\xc8\x2c",
  28369		.ptext	= "\xc7\x6b\x52\x6a\x10\xf0\xcc\x09"
  28370			  "\xc1\x12\x1d\x6d\x21\xa6\x78\xf5"
  28371			  "\x05\xa3\x69\x60\x91\x36\x98\x57"
  28372			  "\xba\x0c\x14\xcc\xf3\x2d\x73\x03"
  28373			  "\xc6\xb2\x5f\xc8\x16\x27\x37\x5d"
  28374			  "\xd0\x0b\x87\xb2\x50\x94\x7b\x58"
  28375			  "\x04\xf4\xe0\x7f\x6e\x57\x8e\xc9"
  28376			  "\x41\x84\xc1\xb1\x7e\x4b\x91\x12"
  28377			  "\x3a\x8b\x5d\x50\x82\x7b\xcb\xd9"
  28378			  "\x9a\xd9\x4e\x18\x06\x23\x9e\xd4"
  28379			  "\xa5\x20\x98\xef\xb5\xda\xe5\xc0"
  28380			  "\x8a\x6a\x83\x77\x15\x84\x1e\xae"
  28381			  "\x78\x94\x9d\xdf\xb7\xd1\xea\x67"
  28382			  "\xaa\xb0\x14\x15\xfa\x67\x21\x84"
  28383			  "\xd3\x41\x2a\xce\xba\x4b\x4a\xe8"
  28384			  "\x95\x62\xa9\x55\xf0\x80\xad\xbd"
  28385			  "\xab\xaf\xdd\x4f\xa5\x7c\x13\x36"
  28386			  "\xed\x5e\x4f\x72\xad\x4b\xf1\xd0"
  28387			  "\x88\x4e\xec\x2c\x88\x10\x5e\xea"
  28388			  "\x12\xc0\x16\x01\x29\xa3\xa0\x55"
  28389			  "\xaa\x68\xf3\xe9\x9d\x3b\x0d\x3b"
  28390			  "\x6d\xec\xf8\xa0\x2d\xf0\x90\x8d"
  28391			  "\x1c\xe2\x88\xd4\x24\x71\xf9\xb3"
  28392			  "\xc1\x9f\xc5\xd6\x76\x70\xc5\x2e"
  28393			  "\x9c\xac\xdb\x90\xbd\x83\x72\xba"
  28394			  "\x6e\xb5\xa5\x53\x83\xa9\xa5\xbf"
  28395			  "\x7d\x06\x0e\x3c\x2a\xd2\x04\xb5"
  28396			  "\x1e\x19\x38\x09\x16\xd2\x82\x1f"
  28397			  "\x75\x18\x56\xb8\x96\x0b\xa6\xf9"
  28398			  "\xcf\x62\xd9\x32\x5d\xa9\xd7\x1d"
  28399			  "\xec\xe4\xdf\x1b\xbe\xf1\x36\xee"
  28400			  "\xe3\x7b\xb5\x2f\xee\xf8\x53\x3d"
  28401			  "\x6a\xb7\x70\xa9\xfc\x9c\x57\x25"
  28402			  "\xf2\x89\x10\xd3\xb8\xa8\x8c\x30"
  28403			  "\xae\x23\x4f\x0e\x13\x66\x4f\xe1"
  28404			  "\xb6\xc0\xe4\xf8\xef\x93\xbd\x6e"
  28405			  "\x15\x85\x6b\xe3\x60\x81\x1d\x68"
  28406			  "\xd7\x31\x87\x89\x09\xab\xd5\x96"
  28407			  "\x1d\xf3\x6d\x67\x80\xca\x07\x31"
  28408			  "\x5d\xa7\xe4\xfb\x3e\xf2\x9b\x33"
  28409			  "\x52\x18\xc8\x30\xfe\x2d\xca\x1e"
  28410			  "\x79\x92\x7a\x60\x5c\xb6\x58\x87"
  28411			  "\xa4\x36\xa2\x67\x92\x8b\xa4\xb7"
  28412			  "\xf1\x86\xdf\xdc\xc0\x7e\x8f\x63"
  28413			  "\xd2\xa2\xdc\x78\xeb\x4f\xd8\x96"
  28414			  "\x47\xca\xb8\x91\xf9\xf7\x94\x21"
  28415			  "\x5f\x9a\x9f\x5b\xb8\x40\x41\x4b"
  28416			  "\x66\x69\x6a\x72\xd0\xcb\x70\xb7"
  28417			  "\x93\xb5\x37\x96\x05\x37\x4f\xe5"
  28418			  "\x8c\xa7\x5a\x4e\x8b\xb7\x84\xea"
  28419			  "\xc7\xfc\x19\x6e\x1f\x5a\xa1\xac"
  28420			  "\x18\x7d\x52\x3b\xb3\x34\x62\x99"
  28421			  "\xe4\x9e\x31\x04\x3f\xc0\x8d\x84"
  28422			  "\x17\x7c\x25\x48\x52\x67\x11\x27"
  28423			  "\x67\xbb\x5a\x85\xca\x56\xb2\x5c"
  28424			  "\xe6\xec\xd5\x96\x3d\x15\xfc\xfb"
  28425			  "\x22\x25\xf4\x13\xe5\x93\x4b\x9a"
  28426			  "\x77\xf1\x52\x18\xfa\x16\x5e\x49"
  28427			  "\x03\x45\xa8\x08\xfa\xb3\x41\x92"
  28428			  "\x79\x50\x33\xca\xd0\xd7\x42\x55"
  28429			  "\xc3\x9a\x0c\x4e\xd9\xa4\x3c\x86"
  28430			  "\x80\x9f\x53\xd1\xa4\x2e\xd1\xbc"
  28431			  "\xf1\x54\x6e\x93\xa4\x65\x99\x8e"
  28432			  "\xdf\x29\xc0\x64\x63\x07\xbb\xea",
  28433		.ctext	= "\x15\x97\xd0\x86\x18\x03\x9c\x51"
  28434			  "\xc5\x11\x36\x62\x13\x92\xe6\x73"
  28435			  "\x29\x79\xde\xa1\x00\x3e\x08\x64"
  28436			  "\x17\x1a\xbc\xd5\xfe\x33\x0e\x0c"
  28437			  "\x7c\x94\xa7\xc6\x3c\xbe\xac\xa2"
  28438			  "\x89\xe6\xbc\xdf\x0c\x33\x27\x42"
  28439			  "\x46\x73\x2f\xba\x4e\xa6\x46\x8f"
  28440			  "\xe4\xee\x39\x63\x42\x65\xa3\x88"
  28441			  "\x7a\xad\x33\x23\xa9\xa7\x20\x7f"
  28442			  "\x0b\xe6\x6a\xc3\x60\xda\x9e\xb4"
  28443			  "\xd6\x07\x8a\x77\x26\xd1\xab\x44"
  28444			  "\x99\x55\x03\x5e\xed\x8d\x7b\xbd"
  28445			  "\xc8\x21\xb7\x21\x30\x3f\xc0\xb5"
  28446			  "\xc8\xec\x6c\x23\xa6\xa3\x6d\xf1"
  28447			  "\x30\x0a\xd0\xa6\xa9\x28\x69\xae"
  28448			  "\x2a\xe6\x54\xac\x82\x9d\x6a\x95"
  28449			  "\x6f\x06\x44\xc5\x5a\x77\x6e\xec"
  28450			  "\xf8\xf8\x63\xb2\xe6\xaa\xbd\x8e"
  28451			  "\x0e\x8a\x62\x00\x03\xc8\x84\xdd"
  28452			  "\x47\x4a\xc3\x55\xba\xb7\xe7\xdf"
  28453			  "\x08\xbf\x62\xf5\xe8\xbc\xb6\x11"
  28454			  "\xe4\xcb\xd0\x66\x74\x32\xcf\xd4"
  28455			  "\xf8\x51\x80\x39\x14\x05\x12\xdb"
  28456			  "\x87\x93\xe2\x26\x30\x9c\x3a\x21"
  28457			  "\xe5\xd0\x38\x57\x80\x15\xe4\x08"
  28458			  "\x58\x05\x49\x7d\xe6\x92\x77\x70"
  28459			  "\xfb\x1e\x2d\x6a\x84\x00\xc8\x68"
  28460			  "\xf7\x1a\xdd\xf0\x7b\x38\x1e\xd8"
  28461			  "\x2c\x78\x78\x61\xcf\xe3\xde\x69"
  28462			  "\x1f\xd5\x03\xd5\x1a\xb4\xcf\x03"
  28463			  "\xc8\x7a\x70\x68\x35\xb4\xf6\xbe"
  28464			  "\x90\x62\xb2\x28\x99\x86\xf5\x44"
  28465			  "\x99\xeb\x31\xcf\xca\xdf\xd0\x21"
  28466			  "\xd6\x60\xf7\x0f\x40\xb4\x80\xb7"
  28467			  "\xab\xe1\x9b\x45\xba\x66\xda\xee"
  28468			  "\xdd\x04\x12\x40\x98\xe1\x69\xe5"
  28469			  "\x2b\x9c\x59\x80\xe7\x7b\xcc\x63"
  28470			  "\xa6\xc0\x3a\xa9\xfe\x8a\xf9\x62"
  28471			  "\x11\x34\x61\x94\x35\xfe\xf2\x99"
  28472			  "\xfd\xee\x19\xea\x95\xb6\x12\xbf"
  28473			  "\x1b\xdf\x02\x1a\xcc\x3e\x7e\x65"
  28474			  "\x78\x74\x10\x50\x29\x63\x28\xea"
  28475			  "\x6b\xab\xd4\x06\x4d\x15\x24\x31"
  28476			  "\xc7\x0a\xc9\x16\xb6\x48\xf0\xbf"
  28477			  "\x49\xdb\x68\x71\x31\x8f\x87\xe2"
  28478			  "\x13\x05\x64\xd6\x22\x0c\xf8\x36"
  28479			  "\x84\x24\x3e\x69\x5e\xb8\x9e\x16"
  28480			  "\x73\x6c\x83\x1e\xe0\x9f\x9e\xba"
  28481			  "\xe5\x59\x21\x33\x1b\xa9\x26\xc2"
  28482			  "\xc7\xd9\x30\x73\xb6\xa6\x73\x82"
  28483			  "\x19\xfa\x44\x4d\x40\x8b\x69\x04"
  28484			  "\x94\x74\xea\x6e\xb3\x09\x47\x01"
  28485			  "\x2a\xb9\x78\x34\x43\x11\xed\xd6"
  28486			  "\x8c\x95\x65\x1b\x85\x67\xa5\x40"
  28487			  "\xac\x9c\x05\x4b\x57\x4a\xa9\x96"
  28488			  "\x0f\xdd\x4f\xa1\xe0\xcf\x6e\xc7"
  28489			  "\x1b\xed\xa2\xb4\x56\x8c\x09\x6e"
  28490			  "\xa6\x65\xd7\x55\x81\xb7\xed\x11"
  28491			  "\x9b\x40\x75\xa8\x6b\x56\xaf\x16"
  28492			  "\x8b\x3d\xf4\xcb\xfe\xd5\x1d\x3d"
  28493			  "\x85\xc2\xc0\xde\x43\x39\x4a\x96"
  28494			  "\xba\x88\x97\xc0\xd6\x00\x0e\x27"
  28495			  "\x21\xb0\x21\x52\xba\xa7\x37\xaa"
  28496			  "\xcc\xbf\x95\xa8\xf4\xd0\x91\xf6",
  28497		.len	= 512,
  28498	}, {
  28499		.key	= "\xeb\xe5\x11\x3a\x72\xeb\x10\xbe"
  28500			  "\x70\xcf\xe3\xea\xc2\x74\xa4\x48"
  28501			  "\x29\x0f\x8f\x3f\xcf\x4c\x28\x2a"
  28502			  "\x4e\x1e\x3c\xc3\x27\x9f\x16\x13",
  28503		.klen	= 32,
  28504		.iv	= "\x84\x3e\xa2\x7c\x06\x72\xb2\xad"
  28505			  "\x88\x76\x65\xb4\x1a\x29\x27\x12"
  28506			  "\x45\xb6\x8d\x0e\x4b\x87\x04\xfc"
  28507			  "\xb5\xcd\x1c\x4d\xe8\x06\xf1\xcb",
  28508		.ptext	= "\x8e\xb6\x07\x9b\x7c\xe4\xa4\xa2"
  28509			  "\x41\x6c\x24\x1d\xc0\x77\x4e\xd9"
  28510			  "\x4a\xa4\x2c\xb6\xe4\x55\x02\x7f"
  28511			  "\xc4\xec\xab\xc2\x5c\x63\x40\x92"
  28512			  "\x38\x24\x62\xdb\x65\x82\x10\x7f"
  28513			  "\x21\xa5\x39\x3a\x3f\x38\x7e\xad"
  28514			  "\x6c\x7b\xc9\x3f\x89\x8f\xa8\x08"
  28515			  "\xbd\x31\x57\x3c\x7a\x45\x67\x30"
  28516			  "\xa9\x27\x58\x34\xbe\xe3\xa4\xc3"
  28517			  "\xff\xc2\x9f\x43\xf0\x04\xba\x1e"
  28518			  "\xb6\xf3\xc4\xce\x09\x7a\x2e\x42"
  28519			  "\x7d\xad\x97\xc9\x77\x9a\x3a\x78"
  28520			  "\x6c\xaf\x7c\x2a\x46\xb4\x41\x86"
  28521			  "\x1a\x20\xf2\x5b\x1a\x60\xc9\xc4"
  28522			  "\x47\x5d\x10\xa4\xd2\x15\x6a\x19"
  28523			  "\x4f\xd5\x51\x37\xd5\x06\x70\x1a"
  28524			  "\x3e\x78\xf0\x2e\xaa\xb5\x2a\xbd"
  28525			  "\x83\x09\x7c\xcb\x29\xac\xd7\x9c"
  28526			  "\xbf\x80\xfd\x9d\xd4\xcf\x64\xca"
  28527			  "\xf8\xc9\xf1\x77\x2e\xbb\x39\x26"
  28528			  "\xac\xd9\xbe\xce\x24\x7f\xbb\xa2"
  28529			  "\x82\xba\xeb\x5f\x65\xc5\xf1\x56"
  28530			  "\x8a\x52\x02\x4d\x45\x23\x6d\xeb"
  28531			  "\xb0\x60\x7b\xd8\x6e\xb2\x98\xd2"
  28532			  "\xaf\x76\xf2\x33\x9b\xf3\xbb\x95"
  28533			  "\xc0\x50\xaa\xc7\x47\xf6\xb3\xf3"
  28534			  "\x77\x16\xcb\x14\x95\xbf\x1d\x32"
  28535			  "\x45\x0c\x75\x52\x2c\xe8\xd7\x31"
  28536			  "\xc0\x87\xb0\x97\x30\x30\xc5\x5e"
  28537			  "\x50\x70\x6e\xb0\x4b\x4e\x38\x19"
  28538			  "\x46\xca\x38\x6a\xca\x7d\xfe\x05"
  28539			  "\xc8\x80\x7c\x14\x6c\x24\xb5\x42"
  28540			  "\x28\x04\x4c\xff\x98\x20\x08\x10"
  28541			  "\x90\x31\x03\x78\xd8\xa1\xe6\xf9"
  28542			  "\x52\xc2\xfc\x3e\xa7\x68\xce\xeb"
  28543			  "\x59\x5d\xeb\xd8\x64\x4e\xf8\x8b"
  28544			  "\x24\x62\xcf\x17\x36\x84\xc0\x72"
  28545			  "\x60\x4f\x3e\x47\xda\x72\x3b\x0e"
  28546			  "\xce\x0b\xa9\x9c\x51\xdc\xa5\xb9"
  28547			  "\x71\x73\x08\x4e\x22\x31\xfd\x88"
  28548			  "\x29\xfc\x8d\x17\x3a\x7a\xe5\xb9"
  28549			  "\x0b\x9c\x6d\xdb\xce\xdb\xde\x81"
  28550			  "\x73\x5a\x16\x9d\x3c\x72\x88\x51"
  28551			  "\x10\x16\xf3\x11\x6e\x32\x5f\x4c"
  28552			  "\x87\xce\x88\x2c\xd2\xaf\xf5\xb7"
  28553			  "\xd8\x22\xed\xc9\xae\x68\x7f\xc5"
  28554			  "\x30\x62\xbe\xc9\xe0\x27\xa1\xb5"
  28555			  "\x57\x74\x36\x60\xb8\x6b\x8c\xec"
  28556			  "\x14\xad\xed\x69\xc9\xd8\xa5\x5b"
  28557			  "\x38\x07\x5b\xf3\x3e\x74\x48\x90"
  28558			  "\x61\x17\x23\xdd\x44\xbc\x9d\x12"
  28559			  "\x0a\x3a\x63\xb2\xab\x86\xb8\x67"
  28560			  "\x85\xd6\xb2\x5d\xde\x4a\xc1\x73"
  28561			  "\x2a\x7c\x53\x8e\xd6\x7d\x0e\xe4"
  28562			  "\x3b\xab\xc5\x3d\x32\x79\x18\xb7"
  28563			  "\xd6\x50\x4d\xf0\x8a\x37\xbb\xd3"
  28564			  "\x8d\xd8\x08\xd7\x7d\xaa\x24\x52"
  28565			  "\xf7\x90\xe3\xaa\xd6\x49\x7a\x47"
  28566			  "\xec\x37\xad\x74\x8b\xc1\xb7\xfe"
  28567			  "\x4f\x70\x14\x62\x22\x8c\x63\xc2"
  28568			  "\x1c\x4e\x38\xc3\x63\xb7\xbf\x53"
  28569			  "\xbd\x1f\xac\xa6\x94\xc5\x81\xfa"
  28570			  "\xe0\xeb\x81\xe9\xd9\x1d\x32\x3c"
  28571			  "\x85\x12\xca\x61\x65\xd1\x66\xd8"
  28572			  "\xe2\x0e\xc3\xa3\xff\x0d\xd3\xee"
  28573			  "\xdf\xcc\x3e\x01\xf5\x9b\x45\x5c"
  28574			  "\x33\xb5\xb0\x8d\x36\x1a\xdf\xf8"
  28575			  "\xa3\x81\xbe\xdb\x3d\x4b\xf6\xc6"
  28576			  "\xdf\x7f\xb0\x89\xbd\x39\x32\x50"
  28577			  "\xbb\xb2\xe3\x5c\xbb\x4b\x18\x98"
  28578			  "\x08\x66\x51\xe7\x4d\xfb\xfc\x4e"
  28579			  "\x22\x42\x6f\x61\xdb\x7f\x27\x88"
  28580			  "\x29\x3f\x02\xa9\xc6\x83\x30\xcc"
  28581			  "\x8b\xd5\x64\x7b\x7c\x76\x16\xbe"
  28582			  "\xb6\x8b\x26\xb8\x83\x16\xf2\x6b"
  28583			  "\xd1\xdc\x20\x6b\x42\x5a\xef\x7a"
  28584			  "\xa9\x60\xb8\x1a\xd3\x0d\x4e\xcb"
  28585			  "\x75\x6b\xc5\x80\x43\x38\x7f\xad"
  28586			  "\x9c\x56\xd9\xc4\xf1\x01\x74\xf0"
  28587			  "\x16\x53\x8d\x69\xbe\xf2\x5d\x92"
  28588			  "\x34\x38\xc8\x84\xf9\x1a\xfc\x26"
  28589			  "\x16\xcb\xae\x7d\x38\x21\x67\x74"
  28590			  "\x4c\x40\xaa\x6b\x97\xe0\xb0\x2f"
  28591			  "\xf5\x3e\xf6\xe2\x24\xc8\x22\xa4"
  28592			  "\xa8\x88\x27\x86\x44\x75\x5b\x29"
  28593			  "\x34\x08\x4b\xa1\xfe\x0c\x26\xe5"
  28594			  "\xac\x26\xf6\x21\x0c\xfb\xde\x14"
  28595			  "\xfe\xd7\xbe\xee\x48\x93\xd6\x99"
  28596			  "\x56\x9c\xcf\x22\xad\xa2\x53\x41"
  28597			  "\xfd\x58\xa1\x68\xdc\xc4\xef\x20"
  28598			  "\xa1\xee\xcf\x2b\x43\xb6\x57\xd8"
  28599			  "\xfe\x01\x80\x25\xdf\xd2\x35\x44"
  28600			  "\x0d\x15\x15\xc3\xfc\x49\xbf\xd0"
  28601			  "\xbf\x2f\x95\x81\x09\xa6\xb6\xd7"
  28602			  "\x21\x03\xfe\x52\xb7\xa8\x32\x4d"
  28603			  "\x75\x1e\x46\x44\xbc\x2b\x61\x04"
  28604			  "\x1b\x1c\xeb\x39\x86\x8f\xe9\x49"
  28605			  "\xce\x78\xa5\x5e\x67\xc5\xe9\xef"
  28606			  "\x43\xf8\xf1\x35\x22\x43\x61\xc1"
  28607			  "\x27\xb5\x09\xb2\xb8\xe1\x5e\x26"
  28608			  "\xcc\xf3\x6f\xb2\xb7\x55\x30\x98"
  28609			  "\x87\xfc\xe7\xa8\xc8\x94\x86\xa1"
  28610			  "\xd9\xa0\x3c\x74\x16\xb3\x25\x98"
  28611			  "\xba\xc6\x84\x4a\x27\xa6\x58\xfe"
  28612			  "\xe1\x68\x04\x30\xc8\xdb\x44\x52"
  28613			  "\x4e\xb2\xa4\x6f\xf7\x63\xf2\xd6"
  28614			  "\x63\x36\x17\x04\xf8\x06\xdb\xeb"
  28615			  "\x99\x17\xa5\x1b\x61\x90\xa3\x9f"
  28616			  "\x05\xae\x3e\xe4\xdb\xc8\x1c\x8e"
  28617			  "\x77\x27\x88\xdf\xd3\x22\x5a\xc5"
  28618			  "\x9c\xd6\x22\xf8\xc4\xd8\x92\x9d"
  28619			  "\x16\xcc\x54\x25\x3b\x6f\xdb\xc0"
  28620			  "\x78\xd8\xe3\xb3\x03\x69\xd7\x5d"
  28621			  "\xf8\x08\x04\x63\x61\x9d\x76\xf9"
  28622			  "\xad\x1d\xc4\x30\x9f\x75\x89\x6b"
  28623			  "\xfb\x62\xba\xae\xcb\x1b\x6c\xe5"
  28624			  "\x7e\xea\x58\x6b\xae\xce\x9b\x48"
  28625			  "\x4b\x80\xd4\x5e\x71\x53\xa7\x24"
  28626			  "\x73\xca\xf5\x3e\xbb\x5e\xd3\x1c"
  28627			  "\x33\xe3\xec\x5b\xa0\x32\x9d\x25"
  28628			  "\x0e\x0c\x28\x29\x39\x51\xc5\x70"
  28629			  "\xec\x60\x8f\x77\xfc\x06\x7a\x33"
  28630			  "\x19\xd5\x7a\x6e\x94\xea\xa3\xeb"
  28631			  "\x13\xa4\x2e\x09\xd8\x81\x65\x83"
  28632			  "\x03\x63\x8b\xb5\xc9\x89\x98\x73"
  28633			  "\x69\x53\x8e\xab\xf1\xd2\x2f\x67"
  28634			  "\xbd\xa6\x16\x6e\xd0\x8b\xc1\x25"
  28635			  "\x93\xd2\x50\x7c\x1f\xe1\x11\xd0"
  28636			  "\x58\x0d\x2f\x72\xe7\x5e\xdb\xa2"
  28637			  "\x55\x9a\xe0\x09\x21\xac\x61\x85"
  28638			  "\x4b\x20\x95\x73\x63\x26\xe3\x83"
  28639			  "\x4b\x5b\x40\x03\x14\xb0\x44\x16"
  28640			  "\xbd\xe0\x0e\xb7\x66\x56\xd7\x30"
  28641			  "\xb3\xfd\x8a\xd3\xda\x6a\xa7\x3d"
  28642			  "\x98\x09\x11\xb7\x00\x06\x24\x5a"
  28643			  "\xf7\x42\x94\xa6\x0e\xb1\x6d\x48"
  28644			  "\x74\xb1\xa7\xe6\x92\x0a\x15\x9a"
  28645			  "\xf5\xfa\x55\x1a\x6c\xdd\x71\x08"
  28646			  "\xd0\xf7\x8d\x0e\x7c\x67\x4d\xc6"
  28647			  "\xe6\xde\x78\x88\x88\x3c\x5e\x23"
  28648			  "\x46\xd2\x25\xa4\xfb\xa3\x26\x3f"
  28649			  "\x2b\xfd\x9c\x20\xda\x72\xe1\x81"
  28650			  "\x8f\xe6\xae\x08\x1d\x67\x15\xde"
  28651			  "\x86\x69\x1d\xc6\x1e\x6d\xb7\x5c"
  28652			  "\xdd\x43\x72\x5a\x7d\xa7\xd8\xd7"
  28653			  "\x1e\x66\xc5\x90\xf6\x51\x76\x91"
  28654			  "\xb3\xe3\x39\x81\x75\x08\xfa\xc5"
  28655			  "\x06\x70\x69\x1b\x2c\x20\x74\xe0"
  28656			  "\x53\xb0\x0c\x9d\xda\xa9\x5b\xdd"
  28657			  "\x1c\x38\x6c\x9e\x3b\xc4\x7a\x82"
  28658			  "\x93\x9e\xbb\x75\xfb\x19\x4a\x55"
  28659			  "\x65\x7a\x3c\xda\xcb\x66\x5c\x13"
  28660			  "\x17\x97\xe8\xbd\xae\x24\xd9\x76"
  28661			  "\xfb\x8c\x73\xde\xbd\xb4\x1b\xe0"
  28662			  "\xb9\x2c\xe8\xe0\x1d\x3f\xa8\x2c"
  28663			  "\x1e\x81\x5b\x77\xe7\xdf\x6d\x06"
  28664			  "\x7c\x9a\xf0\x2b\x5d\xfc\x86\xd5"
  28665			  "\xb1\xad\xbc\xa8\x73\x48\x61\x67"
  28666			  "\xd6\xba\xc8\xe8\xe2\xb8\xee\x40"
  28667			  "\x36\x22\x3e\x61\xf6\xc8\x16\xe4"
  28668			  "\x0e\x88\xad\x71\x53\x58\xe1\x6c"
  28669			  "\x8f\x4f\x89\x4b\x3e\x9c\x7f\xe9"
  28670			  "\xad\xc2\x28\xc2\x3a\x29\xf3\xec"
  28671			  "\xa9\x28\x39\xba\xc2\x86\xe1\x06"
  28672			  "\xf3\x8b\xe3\x95\x0c\x87\xb8\x1b"
  28673			  "\x72\x35\x8e\x8f\x6d\x18\xc8\x1c"
  28674			  "\xa5\x5d\x57\x9d\x73\x8a\xbb\x9e"
  28675			  "\x21\x05\x12\xd7\xe0\x21\x1c\x16"
  28676			  "\x3a\x95\x85\xbc\xb0\x71\x0b\x36"
  28677			  "\x6c\x44\x8d\xef\x3b\xec\x3f\x8e"
  28678			  "\x24\xa9\xe3\xa7\x63\x23\xca\x09"
  28679			  "\x62\x96\x79\x0c\x81\x05\x41\xf2"
  28680			  "\x07\x20\x26\xe5\x8e\x10\x54\x03"
  28681			  "\x05\x7b\xfe\x0c\xcc\x8c\x50\xe5"
  28682			  "\xca\x33\x4d\x48\x7a\x03\xd5\x64"
  28683			  "\x49\x09\xf2\x5c\x5d\xfe\x2b\x30"
  28684			  "\xbf\x29\x14\x29\x8b\x9b\x7c\x96"
  28685			  "\x47\x07\x86\x4d\x4e\x4d\xf1\x47"
  28686			  "\xd1\x10\x2a\xa8\xd3\x15\x8c\xf2"
  28687			  "\x2f\xf4\x3a\xdf\xd0\xa7\xcb\x5a"
  28688			  "\xad\x99\x39\x4a\xdf\x60\xbe\xf9"
  28689			  "\x91\x4e\xf5\x94\xef\xc5\x56\x32"
  28690			  "\x33\x86\x78\xa3\xd6\x4c\x29\x7c"
  28691			  "\xe8\xac\x06\xb5\xf5\x01\x5c\x9f"
  28692			  "\x02\xc8\xe8\xbf\x5c\x1a\x7f\x4d"
  28693			  "\x28\xa5\xb9\xda\xa9\x5e\xe7\x4b"
  28694			  "\xf4\x3d\xe9\x1d\x28\xaa\x1a\x8a"
  28695			  "\x76\xc8\x6c\x19\x61\x3c\x9e\x29"
  28696			  "\xcd\xbe\xff\xe0\x1c\xb8\x67\xb5"
  28697			  "\xa4\x46\xf8\xb9\x8a\xa2\xf6\x7c"
  28698			  "\xef\x23\x73\x0c\xe9\x72\x0a\x0d"
  28699			  "\x9b\x40\xd8\xfb\x0c\x9c\xab\xa8",
  28700		.ctext	= "\xcb\x78\x87\x9c\xc7\x13\xc1\x30"
  28701			  "\xdd\x2c\x7d\xb2\x97\xab\x06\x69"
  28702			  "\x47\x87\x8a\x12\x2b\x5d\x86\xd7"
  28703			  "\x2e\xe6\x7a\x0d\x58\x5d\xe7\x01"
  28704			  "\x78\x0e\xff\xc7\xc5\xd2\x94\xd6"
  28705			  "\xdd\x6b\x38\x1f\xa4\xe3\x3d\xe7"
  28706			  "\xc5\x8a\xb5\xbe\x65\x11\x2b\xe1"
  28707			  "\x2b\x8e\x84\xe8\xe0\x00\x7f\xdd"
  28708			  "\x15\x15\xab\xbd\x22\x94\xf7\xce"
  28709			  "\x99\x6f\xfd\x0e\x9b\x16\xeb\xeb"
  28710			  "\x24\xc7\xbb\xc6\xe1\x6c\x57\xba"
  28711			  "\x84\xab\x16\xf2\x57\xd6\x42\x9d"
  28712			  "\x56\x92\x5b\x44\x18\xd4\xa2\x1b"
  28713			  "\x1e\xa9\xdc\x7a\x16\x88\xc4\x4f"
  28714			  "\x6d\x77\x9a\x2e\x82\xa9\xc3\xee"
  28715			  "\xa4\xca\x05\x1b\x0e\xdc\x48\x96"
  28716			  "\xd0\x50\x21\x1f\x46\xc7\xc7\x70"
  28717			  "\x53\xcd\x1e\x4e\x5f\x2d\x4b\xb2"
  28718			  "\x86\xe5\x3a\xe6\x1d\xec\x7b\x9d"
  28719			  "\x8f\xd6\x41\xc6\xbb\x00\x4f\xe6"
  28720			  "\x02\x47\x07\x73\x50\x6b\xcf\xb2"
  28721			  "\x9e\x1c\x01\xc9\x09\xcc\xc3\x52"
  28722			  "\x27\xe6\x63\xe0\x5b\x55\x60\x4d"
  28723			  "\x72\xd0\xda\x4b\xec\xcb\x72\x5d"
  28724			  "\x37\x4a\xf5\xb8\xd9\xe2\x08\x10"
  28725			  "\xf3\xb9\xdc\x07\xc0\x02\x10\x14"
  28726			  "\x9f\xe6\x8f\xc4\xc4\xe1\x39\x7b"
  28727			  "\x47\xea\xae\x7c\xdd\x27\xa8\x4c"
  28728			  "\x6b\x0f\x4c\xf8\xff\x16\x4e\xcb"
  28729			  "\xec\x88\x33\x0d\x15\x10\x82\x66"
  28730			  "\xa7\x3d\x2c\xb6\xbc\x2e\xe4\xce"
  28731			  "\x4c\x2f\x4b\x46\x0f\x67\x78\xa5"
  28732			  "\xff\x6a\x7d\x0d\x5e\x6d\xab\xfb"
  28733			  "\x59\x99\xd8\x1f\x30\xd4\x33\xe8"
  28734			  "\x7d\x11\xae\xe3\xba\xd0\x3f\xa7"
  28735			  "\xa5\x5e\x43\xda\xf3\x0f\x3a\x5f"
  28736			  "\xba\xb0\x47\xb2\x08\x60\xf4\xed"
  28737			  "\x35\x23\x0c\xe9\x4f\x81\xc4\xc5"
  28738			  "\xa8\x35\xdc\x99\x52\x33\x19\xd4"
  28739			  "\x00\x01\x8d\x5a\x10\x82\x39\x78"
  28740			  "\xfc\x72\x24\x63\x4a\x38\xc5\x6f"
  28741			  "\xfe\xec\x2f\x26\x0c\x3c\x1c\xf6"
  28742			  "\x4d\x99\x7a\x77\x59\xfe\x10\xa5"
  28743			  "\xa1\x35\xbf\x2f\x15\xfa\x4e\x52"
  28744			  "\xe6\xd5\x1c\x88\x90\x75\xd5\xcc"
  28745			  "\xdb\x2a\xb1\xf0\x70\x54\x89\xc7"
  28746			  "\xeb\x1d\x6e\x61\x45\xa3\x50\x48"
  28747			  "\xcd\xdb\x32\xba\x7f\x6b\xaf\xef"
  28748			  "\x50\xcb\x0d\x36\xf7\x29\x3a\x10"
  28749			  "\x02\x73\xca\x8f\x3f\x5d\x82\x17"
  28750			  "\x91\x9a\xd8\x15\x15\xe3\xe1\x41"
  28751			  "\x43\xef\x85\xa6\xb0\xc7\x3b\x0f"
  28752			  "\xf0\xa5\xaa\x66\x77\x70\x5e\x70"
  28753			  "\xce\x17\x84\x68\x45\x39\x2c\x25"
  28754			  "\xc6\xc1\x5f\x7e\xe8\xfa\xe4\x3a"
  28755			  "\x47\x51\x7b\x9d\x54\x84\x98\x04"
  28756			  "\x5f\xf7\x5f\x3c\x34\xe7\xa3\x1d"
  28757			  "\xea\xb7\x6d\x05\xab\x28\xe4\x2c"
  28758			  "\xb1\x7f\x08\xa8\x5d\x07\xbf\xfe"
  28759			  "\x39\x72\x44\x87\x51\xc5\x73\xe4"
  28760			  "\x9a\x5f\xdd\x46\xbc\x4e\xb1\x39"
  28761			  "\xe4\x78\xb8\xbf\xdc\x5b\x88\x9b"
  28762			  "\xc1\x3f\xd9\xd0\xb3\x5a\xdf\xaa"
  28763			  "\x53\x6a\x91\x6d\x2a\x09\xf0\x0b"
  28764			  "\x5e\xe8\xb2\xa0\xb4\x73\x07\x1d"
  28765			  "\xc8\x33\x84\xe6\xda\xe6\xad\xd6"
  28766			  "\xad\x91\x01\x4e\x14\x42\x34\x2c"
  28767			  "\xe5\xf9\x99\x21\x56\x1f\x6c\x2b"
  28768			  "\x4c\xe3\xd5\x9e\x04\xdc\x9a\x16"
  28769			  "\xd1\x54\xe9\xc2\xf7\xc0\xd5\x06"
  28770			  "\x2f\xa1\x38\x2a\x55\x88\x23\xf8"
  28771			  "\xb0\xdb\x87\x32\xc9\x4e\xb0\x0c"
  28772			  "\xc5\x05\x78\x58\xa1\x2e\x75\x75"
  28773			  "\x68\xdc\xea\xdd\x0c\x33\x16\x5e"
  28774			  "\xe7\xdc\xfd\x42\x74\xbe\xae\x60"
  28775			  "\x3c\x37\x4b\x27\xf5\x2c\x5f\x55"
  28776			  "\x4a\x0b\x64\xfd\xa2\x01\x65\x9c"
  28777			  "\x27\x9f\x5e\x87\xd5\x95\x88\x66"
  28778			  "\x09\x84\x42\xab\x00\xe2\x58\xc3"
  28779			  "\x97\x45\xf1\x93\xe2\x34\x37\x3d"
  28780			  "\xfe\x93\x8c\x17\xb9\x79\x65\x06"
  28781			  "\xf7\x58\xe5\x1b\x3b\x4e\xda\x36"
  28782			  "\x17\xe3\x56\xec\x26\x0f\x2e\xfa"
  28783			  "\xd1\xb9\x2b\x3e\x7f\x1d\xe3\x4b"
  28784			  "\x67\xdf\x43\x53\x10\xba\xa3\xfb"
  28785			  "\x5d\x5a\xd8\xc4\xab\x19\x7e\x12"
  28786			  "\xaa\x83\xf1\xc0\xa1\xe0\xbf\x72"
  28787			  "\x5f\xe8\x68\x39\xef\x1a\xbe\xee"
  28788			  "\x6f\x47\x79\x19\xed\xf2\xa1\x4a"
  28789			  "\xe5\xfc\xb5\x58\xae\x63\x82\xcb"
  28790			  "\x16\x0b\x94\xbb\x3e\x02\x49\xc4"
  28791			  "\x3c\x33\xf1\xec\x1b\x11\x71\x9b"
  28792			  "\x5b\x80\xf1\x6f\x88\x1c\x05\x36"
  28793			  "\xa8\xd8\xee\x44\xb5\x18\xc3\x14"
  28794			  "\x62\xba\x98\xb9\xc0\x2a\x70\x93"
  28795			  "\xb3\xd8\x11\x69\x95\x1d\x43\x7b"
  28796			  "\x39\xc1\x91\x05\xc4\xe3\x1e\xc2"
  28797			  "\x1e\x5d\xe7\xde\xbe\xfd\xae\x99"
  28798			  "\x4b\x8f\x83\x1e\xf4\x9b\xb0\x2b"
  28799			  "\x66\x6e\x62\x24\x8d\xe0\x1b\x22"
  28800			  "\x59\xeb\xbd\x2a\x6b\x2e\x37\x17"
  28801			  "\x9e\x1f\x66\xcb\x66\xb4\xfb\x2c"
  28802			  "\x36\x22\x5d\x73\x56\xc1\xb0\x27"
  28803			  "\xe0\xf0\x1b\xe4\x47\x8b\xc6\xdc"
  28804			  "\x7c\x0c\x3d\x29\xcb\x33\x10\xfe"
  28805			  "\xc3\xc3\x1e\xff\x4c\x9b\x27\x86"
  28806			  "\xe2\xb0\xaf\xb7\x89\xce\x61\x69"
  28807			  "\xe7\x00\x3e\x92\xea\x5f\x9e\xc1"
  28808			  "\xfa\x6b\x20\xe2\x41\x23\x82\xeb"
  28809			  "\x07\x76\x4c\x4c\x2a\x96\x33\xbe"
  28810			  "\x89\xa9\xa8\xb9\x9a\x7d\x27\x18"
  28811			  "\x48\x23\x70\x46\xf3\x87\xa7\x91"
  28812			  "\x58\xb8\x74\xba\xed\xc6\xb2\xa1"
  28813			  "\x4d\xb6\x43\x9a\xe1\xa2\x41\xa5"
  28814			  "\x35\xd3\x90\x8a\xc7\x4d\xb7\x88"
  28815			  "\x0b\xe3\x74\x9f\x84\xfc\xd9\x73"
  28816			  "\xf2\x86\x0c\xad\xeb\x5d\x70\xac"
  28817			  "\x65\x07\x14\x8e\x57\xf6\xdc\xb4"
  28818			  "\xc2\x02\x7c\xd6\x89\xe2\x8a\x3e"
  28819			  "\x8e\x08\x3c\x12\x37\xaf\xe1\xa8"
  28820			  "\x04\x11\x5c\xae\x5a\x2b\x60\xa0"
  28821			  "\x03\x3c\x7a\xa2\x38\x92\xbe\xce"
  28822			  "\x09\xa2\x5e\x0f\xc2\xb2\xb5\x06"
  28823			  "\xc2\x97\x97\x9b\x09\x2f\x04\xfe"
  28824			  "\x2c\xe7\xa3\xc4\x42\xe9\xa3\x40"
  28825			  "\xa5\x52\x07\x2c\x3b\x89\x1a\xa5"
  28826			  "\x28\xb1\x93\x05\x98\x0c\x2f\x3d"
  28827			  "\xc6\xf5\x83\xac\x24\x1d\x28\x9f"
  28828			  "\x32\x66\x4d\x70\xb7\xe0\xab\xb8"
  28829			  "\x75\xc5\xf3\xd2\x7b\x26\x3e\xec"
  28830			  "\x64\xe6\xf7\x70\xe7\xf8\x10\x8e"
  28831			  "\x67\xd2\xb3\x87\x69\x40\x06\x9a"
  28832			  "\x2f\x6a\x1a\xfd\x62\x0c\xee\x31"
  28833			  "\x2e\xbe\x58\x97\x77\xd1\x09\x08"
  28834			  "\x1f\x8d\x42\x29\x34\xd5\xd8\xb5"
  28835			  "\x1f\xd7\x21\x18\xe3\xe7\x2e\x4a"
  28836			  "\x42\xfc\xdb\x19\xe9\xee\xb9\x22"
  28837			  "\xad\x5c\x07\xe9\xc8\x07\xe5\xe9"
  28838			  "\x95\xa2\x0d\x30\x46\xe2\x65\x51"
  28839			  "\x01\xa5\x74\x85\xe2\x52\x6e\x07"
  28840			  "\xc9\xf5\x33\x09\xde\x78\x62\xa9"
  28841			  "\x30\x2a\xd3\x86\xe5\x46\x2e\x60"
  28842			  "\xff\x74\xb0\x5f\xec\x76\xb7\xd1"
  28843			  "\x5e\x4d\x61\x97\x3c\x9c\x99\xc3"
  28844			  "\x41\x65\x21\x47\xf9\xb1\x06\xec"
  28845			  "\x18\xf8\x3f\xc7\x38\xfa\x7b\x14"
  28846			  "\x62\x79\x6a\x0b\x0c\xf5\x2c\xb7"
  28847			  "\xab\xcf\x63\x49\x6d\x1f\x46\xa8"
  28848			  "\xbc\x7d\x42\x53\x75\x6b\xca\x38"
  28849			  "\xac\x8b\xe7\xa1\xa1\x92\x19\x6b"
  28850			  "\x0d\x75\x80\x5b\x7d\x35\x86\x70"
  28851			  "\x12\x6b\xe5\x3e\xe5\x85\xa0\xa4"
  28852			  "\xd6\x77\x5e\x4d\x24\x57\x84\xa9"
  28853			  "\xe5\xa4\xbf\x25\xfb\x36\x65\x3b"
  28854			  "\x81\x39\x61\xec\x5e\x4a\x7e\x10"
  28855			  "\x58\x19\x13\x5c\x0f\x79\xec\xcf"
  28856			  "\xbb\x5f\x69\x21\xc3\xa7\x5a\xff"
  28857			  "\x3b\xc7\x85\x9b\x47\xbc\x3e\xad"
  28858			  "\xbf\x54\x60\xb6\x5b\x3f\xfc\x50"
  28859			  "\x68\x83\x76\x24\xb0\xc3\x3f\x93"
  28860			  "\x0d\xce\x36\x0a\x58\x9d\xcc\xe9"
  28861			  "\x52\xbb\xd0\x0b\x65\xe5\x0f\x62"
  28862			  "\x82\x16\xaa\xd2\xba\x5a\x4c\xd0"
  28863			  "\x67\xb5\x4e\x84\x1c\x02\x6e\xa3"
  28864			  "\xaa\x22\x54\x96\xc8\xd9\x9c\x58"
  28865			  "\x15\x63\xf4\x98\x1a\xa1\xd9\x11"
  28866			  "\x64\x25\x56\xb5\x03\x8e\x29\x85"
  28867			  "\x75\x88\xd1\xd2\xe4\xe6\x27\x48"
  28868			  "\x13\x9c\x2b\xaa\xfb\xd3\x6e\x2c"
  28869			  "\xe6\xd4\xe4\x8b\xd9\xf7\x01\x16"
  28870			  "\x46\xf9\x5c\x88\x7a\x93\x9e\x2d"
  28871			  "\xa6\xeb\x01\x2a\x72\xe4\x7f\xb4"
  28872			  "\x78\x0c\x50\x18\xd3\x8e\x65\xa7"
  28873			  "\x1b\xf9\x28\x5d\x89\x70\x96\x2f"
  28874			  "\xa1\xc2\x9b\x34\xfc\x7c\x27\x63"
  28875			  "\x93\xe6\xe3\xa4\x9d\x17\x97\x7e"
  28876			  "\x13\x79\x9c\x4b\x2c\x23\x91\x2c"
  28877			  "\x4f\xb1\x1d\x4b\xb4\x61\x6e\xe8"
  28878			  "\x32\x35\xc3\x41\x7a\x50\x60\xc8"
  28879			  "\x3e\xd8\x3f\x38\xfc\xc2\xa2\xe0"
  28880			  "\x3a\x21\x25\x8f\xc2\x22\xed\x04"
  28881			  "\x31\xb8\x72\x69\xaf\x6c\x6d\xab"
  28882			  "\x25\x16\x95\x87\x92\xc7\x46\x3f"
  28883			  "\x47\x05\x6c\xad\xa0\xa6\x1d\xf0"
  28884			  "\x66\x2e\x01\x1a\xc3\xbe\xe4\xf6"
  28885			  "\x51\xec\xa3\x95\x81\xe1\xcc\xab"
  28886			  "\xc1\x71\x65\x0a\xe6\x53\xfb\xb8"
  28887			  "\x53\x69\xad\x8b\xab\x8b\xa7\xcd"
  28888			  "\x8f\x15\x01\x25\xb1\x1f\x9c\x3b"
  28889			  "\x9b\x47\xad\x38\x38\x89\x6b\x1c"
  28890			  "\x8a\x33\xdd\x8a\x06\x23\x06\x0b"
  28891			  "\x7f\x70\xbe\x7e\xa1\x80\xbc\x7a",
  28892		.len	= 1536,
  28893	}, {
  28894		.key	= "\x60\xd5\x36\xb0\x8e\x5d\x0e\x5f"
  28895			  "\x70\x47\x8c\xea\x87\x30\x1d\x58"
  28896			  "\x2a\xb2\xe8\xc6\xcb\x60\xe7\x6f"
  28897			  "\x56\x95\x83\x98\x38\x80\x84\x8a",
  28898		.klen	= 32,
  28899		.iv	= "\x43\xfe\x63\x3c\xdc\x9e\x0c\xa6"
  28900			  "\xee\x9c\x0b\x97\x65\xc2\x56\x1d"
  28901			  "\x5d\xd0\xbf\xa3\x9f\x1e\xfb\x78"
  28902			  "\xbf\x51\x1b\x18\x73\x27\x27\x8c",
  28903		.ptext	= "\x0b\x77\xd8\xa3\x8c\xa6\xb2\x2d"
  28904			  "\x3e\xdd\xcc\x7c\x4a\x3e\x61\xc4"
  28905			  "\x9a\x7f\x73\xb0\xb3\x29\x32\x61"
  28906			  "\x13\x25\x62\xcc\x59\x4c\xf4\xdb"
  28907			  "\xd7\xf5\xf4\xac\x75\x51\xb2\x83"
  28908			  "\x64\x9d\x1c\x8b\xd1\x8b\x0c\x06"
  28909			  "\xf1\x9f\xba\x9d\xae\x62\xd4\xd8"
  28910			  "\x96\xbe\x3c\x4c\x32\xe4\x82\x44"
  28911			  "\x47\x5a\xec\xb8\x8a\x5b\xd5\x35"
  28912			  "\x57\x1e\x5c\x80\x6f\x77\xa9\xb9"
  28913			  "\xf2\x4f\x71\x1e\x48\x51\x86\x43"
  28914			  "\x0d\xd5\x5b\x52\x30\x40\xcd\xbb"
  28915			  "\x2c\x25\xc1\x47\x8b\xb7\x13\xc2"
  28916			  "\x3a\x11\x40\xfc\xed\x45\xa4\xf0"
  28917			  "\xd6\xfd\x32\x99\x13\x71\x47\x2e"
  28918			  "\x4c\xb0\x81\xac\x95\x31\xd6\x23"
  28919			  "\xa4\x2f\xa9\xe8\x5a\x62\xdc\x96"
  28920			  "\xcf\x49\xa7\x17\x77\x76\x8a\x8c"
  28921			  "\x04\x22\xaf\xaf\x6d\xd9\x16\xba"
  28922			  "\x35\x21\x66\x78\x3d\xb6\x65\x83"
  28923			  "\xc6\xc1\x67\x8c\x32\xd6\xc0\xc7"
  28924			  "\xf5\x8a\xfc\x47\xd5\x87\x09\x2f"
  28925			  "\x51\x9d\x57\x6c\x29\x0b\x1c\x32"
  28926			  "\x47\x6e\x47\xb5\xf3\x81\xc8\x82"
  28927			  "\xca\x5d\xe3\x61\x38\xa0\xdc\xcc"
  28928			  "\x35\x73\xfd\xb3\x92\x5c\x72\xd2"
  28929			  "\x2d\xad\xf6\xcd\x20\x36\xff\x49"
  28930			  "\x48\x80\x21\xd3\x2f\x5f\xe9\xd8"
  28931			  "\x91\x20\x6b\xb1\x38\x52\x1e\xbc"
  28932			  "\x88\x48\xa1\xde\xc0\xa5\x46\xce"
  28933			  "\x9f\x32\x29\xbc\x2b\x51\x0b\xae"
  28934			  "\x7a\x44\x4e\xed\xeb\x95\x63\x99"
  28935			  "\x96\x87\xc9\x34\x02\x26\xde\x20"
  28936			  "\xe4\xcb\x59\x0c\xb5\x55\xbd\x55"
  28937			  "\x3f\xa9\x15\x25\xa7\x5f\xab\x10"
  28938			  "\xbe\x9a\x59\x6c\xd5\x27\xf3\xf0"
  28939			  "\x73\x4a\xb3\xe4\x08\x11\x00\xeb"
  28940			  "\xf1\xae\xc8\x0d\xef\xcd\xb5\xfc"
  28941			  "\x0d\x7e\x03\x67\xad\x0d\xec\xf1"
  28942			  "\x9a\xfd\x31\x60\x3e\xa2\xfa\x1c"
  28943			  "\x93\x79\x31\x31\xd6\x66\x7a\xbd"
  28944			  "\x85\xfd\x22\x08\x00\xae\x72\x10"
  28945			  "\xd6\xb0\xf4\xb8\x4a\x72\x5b\x9c"
  28946			  "\xbf\x84\xdd\xeb\x13\x05\x28\xb7"
  28947			  "\x61\x60\xfd\x7f\xf0\xbe\x4d\x18"
  28948			  "\x7d\xc9\xba\xb0\x01\x59\x74\x18"
  28949			  "\xe4\xf6\xa6\x74\x5d\x3f\xdc\xa0"
  28950			  "\x9e\x57\x93\xbf\x16\x6c\xf6\xbd"
  28951			  "\x93\x45\x38\x95\xb9\x69\xe9\x62"
  28952			  "\x21\x73\xbd\x81\x73\xac\x15\x74"
  28953			  "\x9e\x68\x28\x91\x38\xb7\xd4\x47"
  28954			  "\xc7\xab\xc9\x14\xad\x52\xe0\x4c"
  28955			  "\x17\x1c\x42\xc1\xb4\x9f\xac\xcc"
  28956			  "\xc8\x12\xea\xa9\x9e\x30\x21\x14"
  28957			  "\xa8\x74\xb4\x74\xec\x8d\x40\x06"
  28958			  "\x82\xb7\x92\xd7\x42\x5b\xf2\xf9"
  28959			  "\x6a\x1e\x75\x6e\x44\x55\xc2\x8d"
  28960			  "\x73\x5b\xb8\x8c\x3c\xef\x97\xde"
  28961			  "\x24\x43\xb3\x0e\xba\xad\x63\x63"
  28962			  "\x16\x0a\x77\x03\x48\xcf\x02\x8d"
  28963			  "\x76\x83\xa3\xba\x73\xbe\x80\x3f"
  28964			  "\x8f\x6e\x76\x24\xc1\xff\x2d\xb4"
  28965			  "\x20\x06\x9b\x67\xea\x29\xb5\xe0"
  28966			  "\x57\xda\x30\x9d\x38\xa2\x7d\x1e"
  28967			  "\x8f\xb9\xa8\x17\x64\xea\xbe\x04"
  28968			  "\x84\xd1\xce\x2b\xfd\x84\xf9\x26"
  28969			  "\x1f\x26\x06\x5c\x77\x6d\xc5\x9d"
  28970			  "\xe6\x37\x76\x60\x7d\x3e\xf9\x02"
  28971			  "\xba\xa6\xf3\x7f\xd3\x95\xb4\x0e"
  28972			  "\x52\x1c\x6a\x00\x8f\x3a\x0b\xce"
  28973			  "\x30\x98\xb2\x63\x2f\xff\x2d\x3b"
  28974			  "\x3a\x06\x65\xaf\xf4\x2c\xef\xbb"
  28975			  "\x88\xff\x2d\x4c\xa9\xf4\xff\x69"
  28976			  "\x9d\x46\xae\x67\x00\x3b\x40\x94"
  28977			  "\xe9\x7a\xf7\x0b\xb7\x3c\xa2\x2f"
  28978			  "\xc3\xde\x5e\x29\x01\xde\xca\xfa"
  28979			  "\xc6\xda\xd7\x19\xc7\xde\x4a\x16"
  28980			  "\x93\x6a\xb3\x9b\x47\xe9\xd2\xfc"
  28981			  "\xa1\xc3\x95\x9c\x0b\xa0\x2b\xd4"
  28982			  "\xd3\x1e\xd7\x21\x96\xf9\x1e\xf4"
  28983			  "\x59\xf4\xdf\x00\xf3\x37\x72\x7e"
  28984			  "\xd8\xfd\x49\xd4\xcd\x61\x7b\x22"
  28985			  "\x99\x56\x94\xff\x96\xcd\x9b\xb2"
  28986			  "\x76\xca\x9f\x56\xae\x04\x2e\x75"
  28987			  "\x89\x4e\x1b\x60\x52\xeb\x84\xf4"
  28988			  "\xd1\x33\xd2\x6c\x09\xb1\x1c\x43"
  28989			  "\x08\x67\x02\x01\xe3\x64\x82\xee"
  28990			  "\x36\xcd\xd0\x70\xf1\x93\xd5\x63"
  28991			  "\xef\x48\xc5\x56\xdb\x0a\x35\xfe"
  28992			  "\x85\x48\xb6\x97\x97\x02\x43\x1f"
  28993			  "\x7d\xc9\xa8\x2e\x71\x90\x04\x83"
  28994			  "\xe7\x46\xbd\x94\x52\xe3\xc5\xd1"
  28995			  "\xce\x6a\x2d\x6b\x86\x9a\xf5\x31"
  28996			  "\xcd\x07\x9c\xa2\xcd\x49\xf5\xec"
  28997			  "\x01\x3e\xdf\xd5\xdc\x15\x12\x9b"
  28998			  "\x0c\x99\x19\x7b\x2e\x83\xfb\xd8"
  28999			  "\x89\x3a\x1c\x1e\xb4\xdb\xeb\x23"
  29000			  "\xd9\x42\xae\x47\xfc\xda\x37\xe0"
  29001			  "\xd2\xb7\x47\xd9\xe8\xb5\xf6\x20"
  29002			  "\x42\x8a\x9d\xaf\xb9\x46\x80\xfd"
  29003			  "\xd4\x74\x6f\x38\x64\xf3\x8b\xed"
  29004			  "\x81\x94\x56\xe7\xf1\x1a\x64\x17"
  29005			  "\xd4\x27\x59\x09\xdf\x9b\x74\x05"
  29006			  "\x79\x6e\x13\x29\x2b\x9e\x1b\x86"
  29007			  "\x73\x9f\x40\xbe\x6e\xff\x92\x4e"
  29008			  "\xbf\xaa\xf4\xd0\x88\x8b\x6f\x73"
  29009			  "\x9d\x8b\xbf\xe5\x8a\x85\x45\x67"
  29010			  "\xd3\x13\x72\xc6\x2a\x63\x3d\xb1"
  29011			  "\x35\x7c\xb4\x38\xbb\x31\xe3\x77"
  29012			  "\x37\xad\x75\xa9\x6f\x84\x4e\x4f"
  29013			  "\xeb\x5b\x5d\x39\x6d\xed\x0a\xad"
  29014			  "\x6c\x1b\x8e\x1f\x57\xfa\xc7\x7c"
  29015			  "\xbf\xcf\xf2\xd1\x72\x3b\x70\x78"
  29016			  "\xee\x8e\xf3\x4f\xfd\x61\x30\x9f"
  29017			  "\x56\x05\x1d\x7d\x94\x9b\x5f\x8c"
  29018			  "\xa1\x0f\xeb\xc3\xa9\x9e\xb8\xa0"
  29019			  "\xc6\x4e\x1e\xb1\xbc\x0a\x87\xa8"
  29020			  "\x52\xa9\x1e\x3d\x58\x8e\xc6\x95"
  29021			  "\x85\x58\xa3\xc3\x3a\x43\x32\x50"
  29022			  "\x6c\xb3\x61\xe1\x0c\x7d\x02\x63"
  29023			  "\x5f\x8b\xdf\xef\x13\xf8\x66\xea"
  29024			  "\x89\x00\x1f\xbd\x5b\x4c\xd5\x67"
  29025			  "\x8f\x89\x84\x33\x2d\xd3\x70\x94"
  29026			  "\xde\x7b\xd4\xb0\xeb\x07\x96\x98"
  29027			  "\xc5\xc0\xbf\xc8\xcf\xdc\xc6\x5c"
  29028			  "\xd3\x7d\x78\x30\x0e\x14\xa0\x86"
  29029			  "\xd7\x8a\xb7\x53\xa3\xec\x71\xbf"
  29030			  "\x85\xf2\xea\xbd\x77\xa6\xd1\xfd"
  29031			  "\x5a\x53\x0c\xc3\xff\xf5\x1d\x46"
  29032			  "\x37\xb7\x2d\x88\x5c\xeb\x7a\x0c"
  29033			  "\x0d\x39\xc6\x40\x08\x90\x1f\x58"
  29034			  "\x36\x12\x35\x28\x64\x12\xe7\xbb"
  29035			  "\x50\xac\x45\x15\x7b\x16\x23\x5e"
  29036			  "\xd4\x11\x2a\x8e\x17\x47\xe1\xd0"
  29037			  "\x69\xc6\xd2\x5c\x2c\x76\xe6\xbb"
  29038			  "\xf7\xe7\x34\x61\x8e\x07\x36\xc8"
  29039			  "\xce\xcf\x3b\xeb\x0a\x55\xbd\x4e"
  29040			  "\x59\x95\xc9\x32\x5b\x79\x7a\x86"
  29041			  "\x03\x74\x4b\x10\x87\xb3\x60\xf6"
  29042			  "\x21\xa4\xa6\xa8\x9a\xc9\x3a\x6f"
  29043			  "\xd8\x13\xc9\x18\xd4\x38\x2b\xc2"
  29044			  "\xa5\x7e\x6a\x09\x0f\x06\xdf\x53"
  29045			  "\x9a\x44\xd9\x69\x2d\x39\x61\xb7"
  29046			  "\x1c\x36\x7f\x9e\xc6\x44\x9f\x42"
  29047			  "\x18\x0b\x99\xe6\x27\xa3\x1e\xa6"
  29048			  "\xd0\xb9\x9a\x2b\x6f\x60\x75\xbd"
  29049			  "\x52\x4a\x91\xd4\x7b\x8f\x95\x9f"
  29050			  "\xdd\x74\xed\x8b\x20\x00\xdd\x08"
  29051			  "\x6e\x5b\x61\x7b\x06\x6a\x19\x84"
  29052			  "\x1c\xf9\x86\x65\xcd\x1c\x73\x3f"
  29053			  "\x28\x5c\x8a\x93\x1a\xf3\xa3\x6c"
  29054			  "\x6c\xa9\x7c\xea\x3c\xd4\x15\x45"
  29055			  "\x7f\xbc\xe3\xbb\x42\xf0\x2e\x10"
  29056			  "\xcd\x0c\x8b\x44\x1a\x82\x83\x0c"
  29057			  "\x58\xb1\x24\x28\xa0\x11\x2f\x63"
  29058			  "\xa5\x82\xc5\x9f\x86\x42\xf4\x4d"
  29059			  "\x89\xdb\x76\x4a\xc3\x7f\xc4\xb8"
  29060			  "\xdd\x0d\x14\xde\xd2\x62\x02\xcb"
  29061			  "\x70\xb7\xee\xf4\x6a\x09\x12\x5e"
  29062			  "\xd1\x26\x1a\x2c\x20\x71\x31\xef"
  29063			  "\x7d\x65\x57\x65\x98\xff\x8b\x02"
  29064			  "\x9a\xb5\xa4\xa1\xaf\x03\xc4\x50"
  29065			  "\x33\xcf\x1b\x25\xfa\x7a\x79\xcc"
  29066			  "\x55\xe3\x21\x63\x0c\x6d\xeb\x5b"
  29067			  "\x1c\xad\x61\x0b\xbd\xb0\x48\xdb"
  29068			  "\xb3\xc8\xa0\x87\x7f\x8b\xac\xfd"
  29069			  "\xd2\x68\x9e\xb4\x11\x3c\x6f\xb1"
  29070			  "\xfe\x25\x7d\x84\x5a\xae\xc9\x31"
  29071			  "\xc3\xe5\x6a\x6f\xbc\xab\x41\xd9"
  29072			  "\xde\xce\xf9\xfa\xd5\x7c\x47\xd2"
  29073			  "\x66\x30\xc9\x97\xf2\x67\xdf\x59"
  29074			  "\xef\x4e\x11\xbc\x4e\x70\xe3\x46"
  29075			  "\x53\xbe\x16\x6d\x33\xfb\x57\x98"
  29076			  "\x4e\x34\x79\x3b\xc7\x3b\xaf\x94"
  29077			  "\xc1\x87\x4e\x47\x11\x1b\x22\x41"
  29078			  "\x99\x12\x61\xe0\xe0\x8c\xa9\xbd"
  29079			  "\x79\xb6\x06\x4d\x90\x3b\x0d\x30"
  29080			  "\x1a\x00\xaa\x0e\xed\x7c\x16\x2f"
  29081			  "\x0d\x1a\xfb\xf8\xad\x51\x4c\xab"
  29082			  "\x98\x4c\x80\xb6\x92\x03\xcb\xa9"
  29083			  "\x99\x9d\x16\xab\x43\x8c\x3f\x52"
  29084			  "\x96\x53\x63\x7e\xbb\xd2\x76\xb7"
  29085			  "\x6b\x77\xab\x52\x80\x33\xe3\xdf"
  29086			  "\x4b\x3c\x23\x1a\x33\xe1\x43\x40"
  29087			  "\x39\x1a\xe8\xbd\x3c\x6a\x77\x42"
  29088			  "\x88\x9f\xc6\xaa\x65\x28\xf2\x1e"
  29089			  "\xb0\x7c\x8e\x10\x41\x31\xe9\xd5"
  29090			  "\x9d\xfd\x28\x7f\xfb\x61\xd3\x39"
  29091			  "\x5f\x7e\xb4\xfb\x9c\x7d\x98\xb7"
  29092			  "\x37\x2f\x18\xd9\x3b\x83\xaf\x4e"
  29093			  "\xbb\xd5\x49\x69\x46\x93\x3a\x21"
  29094			  "\x46\x1d\xad\x84\xb5\xe7\x8c\xff"
  29095			  "\xbf\x81\x7e\x22\xf6\x88\x8c\x82"
  29096			  "\xf5\xde\xfe\x18\xc9\xfb\x58\x07"
  29097			  "\xe4\x68\xff\x9c\xf4\xe0\x24\x20"
  29098			  "\x90\x92\x01\x49\xc2\x38\xe1\x7c"
  29099			  "\xac\x61\x0b\x96\x36\xa4\x77\xe9"
  29100			  "\x29\xd4\x97\xae\x15\x13\x7c\x6c"
  29101			  "\x2d\xf1\xc5\x83\x97\x02\xa8\x2e"
  29102			  "\x0b\x0f\xaf\xb5\x42\x18\x8a\x8c"
  29103			  "\xb8\x28\x85\x28\x1b\x2a\x12\xa5"
  29104			  "\x4b\x0a\xaf\xd2\x72\x37\x66\x23"
  29105			  "\x28\xe6\x71\xa0\x77\x85\x7c\xff"
  29106			  "\xf3\x8d\x2f\x0c\x33\x30\xcd\x7f"
  29107			  "\x61\x64\x23\xb2\xe9\x79\x05\xb8"
  29108			  "\x61\x47\xb1\x2b\xda\xf7\x9a\x24"
  29109			  "\x94\xf6\xcf\x07\x78\xa2\x80\xaa"
  29110			  "\x6e\xe9\x58\x97\x19\x0c\x58\x73"
  29111			  "\xaf\xee\x2d\x6e\x26\x67\x18\x8a"
  29112			  "\xc6\x6d\xf6\xbc\x65\xa9\xcb\xe7"
  29113			  "\x53\xf1\x61\x97\x63\x52\x38\x86"
  29114			  "\x0e\xdd\x33\xa5\x30\xe9\x9f\x32"
  29115			  "\x43\x64\xbc\x2d\xdc\x28\x43\xd8"
  29116			  "\x6c\xcd\x00\x2c\x87\x9a\x33\x79"
  29117			  "\xbd\x63\x6d\x4d\xf9\x8a\x91\x83"
  29118			  "\x9a\xdb\xf7\x9a\x11\xe1\xd1\x93"
  29119			  "\x4a\x54\x0d\x51\x38\x30\x84\x0b"
  29120			  "\xc5\x29\x8d\x92\x18\x6c\x28\xfe"
  29121			  "\x1b\x07\x57\xec\x94\x74\x0b\x2c"
  29122			  "\x21\x01\xf6\x23\xf9\xb0\xa0\xaf"
  29123			  "\xb1\x3e\x2e\xa8\x0d\xbc\x2a\x68"
  29124			  "\x59\xde\x0b\x2d\xde\x74\x42\xa1"
  29125			  "\xb4\xce\xaf\xd8\x42\xeb\x59\xbd"
  29126			  "\x61\xcc\x27\x28\xc6\xf2\xde\x3e"
  29127			  "\x68\x64\x13\xd3\xc3\xc0\x31\xe0"
  29128			  "\x5d\xf9\xb4\xa1\x09\x20\x46\x8b"
  29129			  "\x48\xb9\x27\x62\x00\x12\xc5\x03"
  29130			  "\x28\xfd\x55\x27\x1c\x31\xfc\xdb"
  29131			  "\xc1\xcb\x7e\x67\x91\x2e\x50\x0c"
  29132			  "\x61\xf8\x9f\x31\x26\x5a\x3d\x2e"
  29133			  "\xa0\xc7\xef\x2a\xb6\x24\x48\xc9"
  29134			  "\xbb\x63\x99\xf4\x7c\x4e\xc5\x94"
  29135			  "\x99\xd5\xff\x34\x93\x8f\x31\x45"
  29136			  "\xae\x5e\x7b\xfd\xf4\x81\x84\x65"
  29137			  "\x5b\x41\x70\x0b\xe5\xaa\xec\x95"
  29138			  "\x6b\x3d\xe3\xdc\x12\x78\xf8\x28"
  29139			  "\x26\xec\x3a\x64\xc4\xab\x74\x97"
  29140			  "\x3d\xcf\x21\x7d\xcf\x59\xd3\x15"
  29141			  "\x47\x94\xe4\xd9\x48\x4c\x02\x49"
  29142			  "\x68\x50\x22\x16\x96\x2f\xc4\x23"
  29143			  "\x80\x47\x27\xd1\xee\x10\x3b\xa7"
  29144			  "\x19\xae\xe1\x40\x5f\x3a\xde\x5d"
  29145			  "\x97\x1c\x59\xce\xe1\xe7\x32\xa7"
  29146			  "\x20\x89\xef\x44\x22\x38\x3c\x14"
  29147			  "\x99\x3f\x1b\xd6\x37\xfe\x93\xbf"
  29148			  "\x34\x13\x86\xd7\x9b\xe5\x2a\x37"
  29149			  "\x72\x16\xa4\xdf\x7f\xe4\xa4\x66"
  29150			  "\x9d\xf2\x0b\x29\xa1\xe2\x9d\x36"
  29151			  "\xe1\x9d\x56\x95\x73\xe1\x91\x58"
  29152			  "\x0f\x64\xf8\x90\xbb\x0c\x48\x0f"
  29153			  "\xf5\x52\xae\xd9\xeb\x95\xb7\xdd"
  29154			  "\xae\x0b\x20\x55\x87\x3d\xf0\x69"
  29155			  "\x3c\x0a\x54\x61\xea\x00\xbd\xba"
  29156			  "\x5f\x7e\x25\x8c\x3e\x61\xee\xb2"
  29157			  "\x1a\xc8\x0e\x0b\xa5\x18\x49\xf2"
  29158			  "\x6e\x1d\x3f\x83\xc3\xf1\x1a\xcb"
  29159			  "\x9f\xc9\x82\x4e\x7b\x26\xfd\x68"
  29160			  "\x28\x25\x8d\x22\x17\xab\xf8\x4e"
  29161			  "\x1a\xa9\x81\x48\xb0\x9f\x52\x75"
  29162			  "\xe4\xef\xdd\xbd\x5b\xbe\xab\x3c"
  29163			  "\x43\x76\x23\x62\xce\xb8\xc2\x5b"
  29164			  "\xc6\x31\xe6\x81\xb4\x42\xb2\xfd"
  29165			  "\xf3\x74\xdd\x02\x3c\xa0\xd7\x97"
  29166			  "\xb0\xe7\xe9\xe0\xce\xef\xe9\x1c"
  29167			  "\x09\xa2\x6d\xd3\xc4\x60\xd6\xd6"
  29168			  "\x9e\x54\x31\x45\x76\xc9\x14\xd4"
  29169			  "\x95\x17\xe9\xbe\x69\x92\x71\xcb"
  29170			  "\xde\x7c\xf1\xbd\x2b\xef\x8d\xaf"
  29171			  "\x51\xe8\x28\xec\x48\x7f\xf8\xfa"
  29172			  "\x9f\x9f\x5e\x52\x61\xc3\xfc\x9a"
  29173			  "\x7e\xeb\xe3\x30\xb6\xfe\xc4\x4a"
  29174			  "\x87\x1a\xff\x54\x64\xc7\xaa\xa2"
  29175			  "\xfa\xb7\xb2\xe7\x25\xce\x95\xb4"
  29176			  "\x15\x93\xbd\x24\xb6\xbc\xe4\x62"
  29177			  "\x93\x7f\x44\x40\x72\xcb\xfb\xb2"
  29178			  "\xbf\xe8\x03\xa5\x87\x12\x27\xfd"
  29179			  "\xc6\x21\x8a\x8f\xc2\x48\x48\xb9"
  29180			  "\x6b\xb6\xf0\xf0\x0e\x0a\x0e\xa4"
  29181			  "\x40\xa9\xd8\x23\x24\xd0\x7f\xe2"
  29182			  "\xf9\xed\x76\xf0\x91\xa5\x83\x3c"
  29183			  "\x55\xe1\x92\xb8\xb6\x32\x9e\x63"
  29184			  "\x60\x81\x75\x29\x9e\xce\x2a\x70"
  29185			  "\x28\x0c\x87\xe5\x46\x73\x76\x66"
  29186			  "\xbc\x4b\x6c\x37\xc7\xd0\x1a\xa0"
  29187			  "\x9d\xcf\x04\xd3\x8c\x42\xae\x9d"
  29188			  "\x35\x5a\xf1\x40\x4c\x4e\x81\xaa"
  29189			  "\xfe\xd5\x83\x4f\x29\x19\xf3\x6c"
  29190			  "\x9e\xd0\x53\xe5\x05\x8f\x14\xfb"
  29191			  "\x68\xec\x0a\x3a\x85\xcd\x3e\xb4"
  29192			  "\x4a\xc2\x5b\x92\x2e\x0b\x58\x64"
  29193			  "\xde\xca\x64\x86\x53\xdb\x7f\x4e"
  29194			  "\x54\xc6\x5e\xaa\xe5\x82\x3b\x98"
  29195			  "\x5b\x01\xa7\x1f\x7b\x3d\xcc\x19"
  29196			  "\xf1\x11\x02\x64\x09\x25\x7c\x26"
  29197			  "\xee\xad\x50\x68\x31\x26\x16\x0f"
  29198			  "\xb6\x7b\x6f\xa2\x17\x1a\xba\xbe"
  29199			  "\xc3\x60\xdc\xd2\x44\xe0\xb4\xc4"
  29200			  "\xfe\xff\x69\xdb\x60\xa6\xaf\x39"
  29201			  "\x0a\xbd\x6e\x41\xd1\x9f\x87\x71"
  29202			  "\xcc\x43\xa8\x47\x10\xbc\x2b\x7d"
  29203			  "\x40\x12\x43\x31\xb8\x12\xe0\x95"
  29204			  "\x6f\x9d\xf8\x75\x51\x3d\x61\xbe"
  29205			  "\xa0\xd1\x0b\x8d\x50\xc7\xb8\xe7"
  29206			  "\xab\x03\xda\x41\xab\xc5\x4e\x33"
  29207			  "\x5a\x63\x94\x90\x22\x72\x54\x26"
  29208			  "\x93\x65\x99\x45\x55\xd3\x55\x56"
  29209			  "\xc5\x39\xe4\xb4\xb1\xea\xd8\xf9"
  29210			  "\xb5\x31\xf7\xeb\x80\x1a\x9e\x8d"
  29211			  "\xd2\x40\x01\xea\x33\xb9\xf2\x7a"
  29212			  "\x43\x41\x72\x0c\xbf\x20\xab\xf7"
  29213			  "\xfa\x65\xec\x3e\x35\x57\x1e\xef"
  29214			  "\x2a\x81\xfa\x10\xb2\xdb\x8e\xfa"
  29215			  "\x7f\xe7\xaf\x73\xfc\xbb\x57\xa2"
  29216			  "\xaf\x6f\x41\x11\x30\xd8\xaf\x94"
  29217			  "\x53\x8d\x4c\x23\xa5\x20\x63\xcf"
  29218			  "\x0d\x00\xe0\x94\x5e\x92\xaa\xb5"
  29219			  "\xe0\x4e\x96\x3c\xf4\x26\x2f\xf0"
  29220			  "\x3f\xd7\xed\x75\x2c\x63\xdf\xc8"
  29221			  "\xfb\x20\xb5\xae\x44\x83\xc0\xab"
  29222			  "\x05\xf9\xbb\xa7\x62\x7d\x21\x5b"
  29223			  "\x04\x80\x93\x84\x5f\x1d\x9e\xcd"
  29224			  "\xa2\x07\x7e\x22\x2f\x55\x94\x23"
  29225			  "\x74\x35\xa3\x0f\x03\xbe\x07\x62"
  29226			  "\xe9\x16\x69\x7e\xae\x38\x0e\x9b"
  29227			  "\xad\x6e\x83\x90\x21\x10\xb8\x07"
  29228			  "\xdc\xc1\x44\x20\xa5\x88\x00\xdc"
  29229			  "\xe1\x82\x16\xf1\x0c\xdc\xed\x8c"
  29230			  "\x32\xb5\x49\xab\x11\x41\xd5\xd2"
  29231			  "\x35\x2c\x70\x73\xce\xeb\xe3\xd6"
  29232			  "\xe4\x7d\x2c\xe8\x8c\xec\x8a\x92"
  29233			  "\x50\x87\x51\xbd\x2d\x9d\xf2\xf0"
  29234			  "\x3c\x7d\xb1\x87\xf5\x01\xb0\xed"
  29235			  "\x02\x5a\x20\x4d\x43\x08\x71\x49"
  29236			  "\x77\x72\x9b\xe6\xef\x30\xc9\xa2"
  29237			  "\x66\x66\xb8\x68\x9d\xdf\xc6\x16"
  29238			  "\xa5\x78\xee\x3c\x47\xa6\x7a\x31"
  29239			  "\x07\x6d\xce\x7b\x86\xf8\xb2\x31"
  29240			  "\xa8\xa4\x77\x3c\x63\x36\xe8\xd3"
  29241			  "\x7d\x40\x56\xd8\x48\x56\x9e\x3e"
  29242			  "\x56\xf6\x3d\xd2\x12\x6e\x35\x29"
  29243			  "\xd4\x7a\xdb\xff\x97\x4c\xeb\x3c"
  29244			  "\x28\x2a\xeb\xe9\x43\x40\x61\x06"
  29245			  "\xb8\xa8\x6d\x18\xc8\xbc\xc7\x23"
  29246			  "\x53\x2b\x8b\xcc\xce\x88\xdf\xf8"
  29247			  "\xff\xf8\x94\xe4\x5c\xee\xcf\x39"
  29248			  "\xe0\xf6\x1a\xae\xf2\xd5\x41\x6a"
  29249			  "\x09\x5a\x50\x66\xc4\xf4\x66\xdc"
  29250			  "\x6a\x69\xee\xc8\x47\xe6\x87\x52"
  29251			  "\x9e\x28\xe4\x39\x02\x0d\xc4\x7e"
  29252			  "\x18\xe6\xc6\x09\x07\x03\x30\xb9"
  29253			  "\xd1\xb0\x48\xe6\x80\xe8\x8c\xe6"
  29254			  "\xc7\x2c\x33\xca\x64\xe5\xc0\x6e"
  29255			  "\xac\x14\x4b\xe1\xf6\xeb\xce\xe4"
  29256			  "\xc1\x8c\xea\x5b\x8d\x3c\x86\x91"
  29257			  "\xd1\xd7\x16\x9c\x09\x9c\x6a\x51"
  29258			  "\xe5\xcd\xe3\xb0\x33\x1f\x03\xcd"
  29259			  "\xe5\xd8\x40\x9b\xdc\x29\xbe\xfa"
  29260			  "\x24\xcc\xf1\x55\x68\x3a\x89\x0d"
  29261			  "\x08\x48\xfd\x9b\x47\x41\x10\xae"
  29262			  "\x53\x3a\x83\x87\xd4\x89\xe7\x38"
  29263			  "\x47\xee\xd7\xbe\xe2\x58\x37\xd2"
  29264			  "\xfc\x21\x1d\x20\xa5\x2d\x69\x0c"
  29265			  "\x36\x5b\x2f\xcd\xa1\xa6\xe4\xa1"
  29266			  "\x00\x4d\xf7\xc8\x2d\xc7\x16\x6c"
  29267			  "\x6d\xad\x32\x8c\x8f\x74\xf9\xfa"
  29268			  "\x78\x1c\x9a\x0f\x6e\x93\x9c\x20"
  29269			  "\x43\xb9\xe4\xda\xc4\xc7\x90\x47"
  29270			  "\x86\x68\xb7\x6f\x82\x59\x4a\x30"
  29271			  "\xf1\xfd\x31\x0f\xa1\xea\x9b\x6b"
  29272			  "\x18\x5c\x39\xb0\xc7\x80\x64\xff"
  29273			  "\x6d\x5b\xb4\x8b\xba\x90\xea\x4e"
  29274			  "\x9a\x04\xd2\x68\x18\x50\xb5\x91"
  29275			  "\x45\x4f\x58\x5a\xe5\xc6\x7c\xab"
  29276			  "\x61\x3e\x3d\xec\x18\x87\xfc\xea"
  29277			  "\x26\x35\x4c\x99\x8a\x3f\x00\x7b"
  29278			  "\xf5\x89\x62\xda\xdd\xf1\x43\xef"
  29279			  "\x2c\x1d\x92\xfa\x9a\xd0\x37\x03"
  29280			  "\x69\x9c\xd8\x1f\x41\x44\xb7\x73"
  29281			  "\x54\x14\x91\x12\x41\x41\x54\xa2"
  29282			  "\x91\x55\xb6\xf7\x23\x41\xc9\xc2"
  29283			  "\x5b\x53\xf2\x61\x63\x0d\xa9\x87"
  29284			  "\x1a\xbb\x11\x1f\x3c\xbb\xa8\x1f"
  29285			  "\xe2\x66\x56\x88\x06\x3c\xd2\x0f"
  29286			  "\x3b\xc4\xd6\x8c\xbe\x54\x9f\xa8"
  29287			  "\x9c\x89\xfb\x88\x05\xef\xcd\xe7"
  29288			  "\xc1\xc4\x21\x36\x22\x8d\x9a\x5d"
  29289			  "\x1b\x1e\x4a\xc0\x89\xdd\x76\x16"
  29290			  "\x5a\xce\xcd\x1e\x6a\x1f\xa0\x2b"
  29291			  "\x83\xf6\x5e\x28\x8e\x65\xb5\x86"
  29292			  "\x72\x8f\xc5\xf2\x54\x81\x10\x8d"
  29293			  "\x63\x7b\x42\x7d\x06\x08\x16\xb3"
  29294			  "\xb0\x60\x65\x41\x49\xdb\x0d\xc1"
  29295			  "\xe2\xef\x72\x72\x06\xe7\x60\x5c"
  29296			  "\x95\x1c\x7d\x52\xec\x82\xee\xd3"
  29297			  "\x5b\xab\x61\xa4\x1f\x61\x64\x0c"
  29298			  "\x28\x32\x21\x7a\x81\xe7\x81\xf3"
  29299			  "\xdb\xc0\x18\xd9\xae\x0b\x3c\x9a"
  29300			  "\x58\xec\x70\x4f\x40\x25\x2b\xba"
  29301			  "\x96\x59\xac\x34\x45\x29\xc6\x57"
  29302			  "\xc1\xc3\x93\x60\x77\x92\xbb\x83"
  29303			  "\x8a\xa7\x72\x45\x2a\xc9\x35\xe7"
  29304			  "\x66\xd6\xa9\xe9\x43\x87\x20\x11"
  29305			  "\x6a\x2f\x87\xac\xe0\x93\x82\xe5"
  29306			  "\x6c\x57\xa9\x4c\x9e\x56\x57\x33"
  29307			  "\x1c\xd8\x7e\x25\x27\x41\x89\x97"
  29308			  "\xea\xa5\x56\x02\x5b\x93\x13\x46"
  29309			  "\xdc\x53\x3d\x95\xef\xaf\x9f\xf0"
  29310			  "\x0a\x8a\xfe\x0c\xbf\xf0\x25\x5f"
  29311			  "\xb4\x9f\x1b\x72\x9c\x37\xba\x46"
  29312			  "\x4e\xcc\xcc\x02\x5c\xec\x3f\x98"
  29313			  "\xff\x56\x1a\xc2\x7a\x65\x8f\xf6"
  29314			  "\xd2\x81\x37\x7a\x0a\xfc\x79\xb9"
  29315			  "\xcb\x8c\xc8\x1a\xd0\xba\x5d\x55"
  29316			  "\xbc\x6d\x2e\xb2\x2f\x75\x29\x3f"
  29317			  "\x1a\x4b\xa8\xd7\xe8\xf6\xf4\x2a"
  29318			  "\xa5\xa1\x68\xec\xf3\xd5\xdd\x0f"
  29319			  "\xad\x57\xae\x98\x83\xd5\x92\x4e"
  29320			  "\x76\x86\x8e\x5e\x4b\x87\x7b\xf7"
  29321			  "\x2d\x79\x3f\x12\x6a\x24\x58\xc8"
  29322			  "\xab\x9a\x65\x75\x82\x6f\xa5\x39"
  29323			  "\x72\xb0\xdf\x93\xb5\xa2\xf3\xdd"
  29324			  "\x1f\x32\xfa\xdb\xfe\x1b\xbf\x0a"
  29325			  "\xd9\x95\xdd\x02\xf1\x23\x54\xb1"
  29326			  "\xa5\xbb\x24\x04\x5c\x2a\x97\x92"
  29327			  "\xe6\xe0\x10\x61\xe3\x46\xc7\x0c"
  29328			  "\xcb\xbc\x51\x9a\x35\x16\xd9\x42"
  29329			  "\x62\xb3\x5e\xa4\x3c\x84\xa0\x7f"
  29330			  "\xb8\x7f\x70\xd1\x8b\x03\xdf\x27"
  29331			  "\x32\x06\x3f\x12\x23\x19\x22\x82"
  29332			  "\x2d\x37\xa5\x00\x31\x9b\xa9\x21"
  29333			  "\x8e\x34\x8c\x8e\x4f\xe8\xd4\x63"
  29334			  "\x6c\xb2\xa9\x6e\xf6\x7c\x96\xf1"
  29335			  "\x0e\x64\xab\x14\x3d\x8f\x74\xb3"
  29336			  "\x35\x79\x84\x78\x06\x68\x97\x30"
  29337			  "\xe0\x22\x55\xd6\xc5\x5b\x38\xb2"
  29338			  "\x75\x24\x0c\x52\xb6\x57\xcc\x0a"
  29339			  "\xbd\x3c\xd0\x73\x47\xd1\x25\xd6"
  29340			  "\x1c\xfd\x27\x05\x3f\x70\xe1\xa7"
  29341			  "\x69\x3b\xee\xc9\x9f\xfd\x2a\x7e"
  29342			  "\xab\x58\xe6\x0b\x35\x5e\x52\xf9"
  29343			  "\xff\xac\x5b\x82\x88\xa7\x65\xbc"
  29344			  "\x61\x29\xdc\xa1\x94\x42\xd1\xd3"
  29345			  "\xa0\xd8\xba\x3b\x49\xc8\xa7\xce"
  29346			  "\x01\x6c\xb7\x3f\xe3\x98\x4d\xd1"
  29347			  "\x9f\x46\x0d\xb3\xf2\x43\x33\x49"
  29348			  "\xb7\x27\xbd\xba\xcc\x3f\x09\x56"
  29349			  "\xfa\x64\x18\xb8\x17\x28\xde\x0d"
  29350			  "\x29\xfa\x1f\xad\x60\x3b\x90\xa7"
  29351			  "\x05\x9f\x4c\xc4\xdc\x05\x3b\x17"
  29352			  "\x58\xea\x99\xfd\x6b\x8a\x93\x77"
  29353			  "\xa5\x44\xbd\x8d\x29\x44\x29\x89"
  29354			  "\x52\x1d\x89\x8b\x44\x8f\xb9\x68"
  29355			  "\xeb\x93\xfd\x92\xd9\x14\x35\x9c"
  29356			  "\x28\x3a\x9f\x1d\xd8\xe0\x2a\x76"
  29357			  "\x51\xc1\xf0\xa9\x1d\xb4\xf8\xb9"
  29358			  "\xfc\x14\x78\x5a\xa2\xb1\xdb\x94"
  29359			  "\xcb\x18\xb9\x34\xbd\x0c\x65\x1d"
  29360			  "\x64\xde\xd0\x3a\xe4\x68\x0e\xbc"
  29361			  "\x13\xa7\x47\x89\x62\xa3\x03\x19"
  29362			  "\x64\xa1\x02\x27\x3a\x8d\x43\xfa"
  29363			  "\x68\xff\xda\x8b\x40\xe9\x19\x8b"
  29364			  "\x56\xbe\x1c\x9b\xe6\xf6\x3f\x60"
  29365			  "\xdb\x7a\xd5\xab\x82\xd8\xd9\x99"
  29366			  "\xe3\x5b\x0c\x0c\x69\x18\x5c\xed"
  29367			  "\x03\xf9\xc1\x61\xc4\x7b\xd4\x90"
  29368			  "\x43\xc3\x39\xec\xac\xcb\x1f\x4b"
  29369			  "\x23\xf8\xa9\x98\x2f\xf6\x48\x90"
  29370			  "\x6c\x2b\x94\xad\x14\xdd\xcc\xa2"
  29371			  "\x3d\xc7\x86\x0f\x7f\x1c\x0b\x93"
  29372			  "\x4b\x74\x1f\x80\x75\xb4\x91\xdf"
  29373			  "\xa8\x26\xf9\x06\x2b\x3a\x2c\xfd"
  29374			  "\x3c\x31\x40\x1e\x5b\xa6\x86\x01"
  29375			  "\xc4\xa2\x80\x4f\xf5\xa2\xf4\xff"
  29376			  "\xf6\x07\x8c\x92\xf7\x74\xbd\x42"
  29377			  "\xb0\x3f\x6b\x05\xca\x40\xeb\x04"
  29378			  "\x20\xa9\x37\x78\x32\x03\x60\xcc"
  29379			  "\xf3\xec\xb2\x2d\xb5\x80\x7c\xe4"
  29380			  "\x37\x53\x25\xd1\xe8\x91\x6a\xe5"
  29381			  "\xdf\xdd\xb0\xab\x69\xc7\xa1\xb2"
  29382			  "\xfc\xb3\xd1\x9e\xda\xa8\x0d\x68"
  29383			  "\xfe\x7d\xdc\x56\x33\x65\x99\xd2"
  29384			  "\xec\xa5\xa0\xa1\x26\xc9\xec\xbd"
  29385			  "\x22\x20\x5e\x0d\xcb\x93\x64\x7a"
  29386			  "\x56\x75\xed\xe5\x45\xa2\xbd\x16"
  29387			  "\x59\xf7\x43\xd9\x5b\x2c\xdd\xb6"
  29388			  "\x1d\xa8\x05\x89\x2f\x65\x2e\x66"
  29389			  "\xfe\xad\x93\xeb\x85\x8f\xe8\x4c"
  29390			  "\x00\x44\x71\x03\x0e\x26\xaf\xfd"
  29391			  "\xfa\x56\x0f\xdc\x9c\xf3\x2e\xab"
  29392			  "\x88\x26\x61\xc6\x13\xfe\xba\xc1"
  29393			  "\xd8\x8a\x38\xc3\xb6\x4e\x6d\x80"
  29394			  "\x4c\x65\x93\x2f\xf5\x54\xff\x63"
  29395			  "\xbe\xdf\x9a\xe3\x4f\xca\xc9\x71"
  29396			  "\x12\xab\x95\x66\xec\x09\x64\xea"
  29397			  "\xdc\x9f\x01\x61\x24\x88\xd1\xa7"
  29398			  "\xd0\x69\x26\xf0\x80\xb0\xec\x86"
  29399			  "\xc2\x58\x2f\x6a\xc5\xfd\xfc\x2a"
  29400			  "\xf6\x3e\x23\x77\x3b\x7e\xc5\xc5"
  29401			  "\xe7\xf9\x4d\xcc\x68\x53\x11\xc8"
  29402			  "\x5b\x44\xbd\x48\x0f\xb3\x35\x1a"
  29403			  "\x93\x4a\x80\x16\xa3\x0d\x50\x85"
  29404			  "\xa6\xc4\xd4\x74\x4d\x87\x59\x51"
  29405			  "\xd7\xf7\x7d\xee\xd0\x9b\xd1\x83"
  29406			  "\x25\x2b\xc6\x39\x27\x6a\xb3\x41"
  29407			  "\x5f\xd2\x24\xd4\xd6\xfa\x8c\x3e"
  29408			  "\xb2\xf9\x11\x71\x7a\x9e\x5e\x7b"
  29409			  "\x5b\x9a\x47\x80\xca\x1c\xbe\x04"
  29410			  "\x5d\x34\xc4\xa2\x2d\x41\xfe\x73"
  29411			  "\x53\x15\x9f\xdb\xe7\x7d\x82\x19"
  29412			  "\x21\x1b\x67\x2a\x74\x7a\x21\x4a"
  29413			  "\xc4\x96\x6f\x00\x92\x69\xf1\x99"
  29414			  "\x50\xf1\x4a\x16\x11\xf1\x16\x51",
  29415		.ctext	= "\x57\xd1\xcf\x26\xe5\x07\x7a\x3f"
  29416			  "\xa5\x5e\xd4\xa8\x12\xe9\x4e\x36"
  29417			  "\x9c\x28\x65\xe0\xbd\xef\xf1\x49"
  29418			  "\x04\xd4\xd4\x01\x4d\xf5\xfc\x2a"
  29419			  "\x32\xd8\x19\x21\xcd\x58\x2a\x1a"
  29420			  "\x43\x78\xa4\x57\x69\xa0\x52\xeb"
  29421			  "\xcd\xa5\x9c\x4d\x03\x28\xef\x8b"
  29422			  "\x54\xc6\x6c\x31\xab\x3e\xaf\x6d"
  29423			  "\x0a\x87\x83\x3d\xb7\xea\x6b\x3d"
  29424			  "\x11\x58\x7d\x5f\xaf\xc9\xfc\x50"
  29425			  "\x58\x9a\x84\xa1\xcf\x76\xdc\x77"
  29426			  "\x83\x9a\x28\x74\x69\xc9\x0c\xc2"
  29427			  "\x7b\x1e\x4e\xe4\x25\x41\x23\x0d"
  29428			  "\x4e\x0e\x2d\x7a\x87\xaa\x0f\x7c"
  29429			  "\x98\xad\xf0\x6f\xbf\xcb\xd5\x1a"
  29430			  "\x3e\xcf\x0e\xc5\xde\xbd\x8d\xf1"
  29431			  "\xaa\x19\x16\xb8\xc5\x25\x02\x33"
  29432			  "\xbd\x5a\x85\xe2\xc0\x77\x71\xda"
  29433			  "\x12\x4c\xdf\x7f\xce\xc0\x32\x95"
  29434			  "\x1a\xde\xcb\x0a\x70\xd0\x9e\x89"
  29435			  "\xc5\x97\x18\x04\xab\x8c\x38\x56"
  29436			  "\x69\xe5\xf6\xa5\x76\x2c\x52\x7a"
  29437			  "\x49\xd2\x9a\x95\xa6\xa8\x82\x42"
  29438			  "\x20\x1f\x58\x57\x4e\x22\xdb\x92"
  29439			  "\xec\xbd\x4a\x21\x66\x9b\x7a\xcb"
  29440			  "\x73\xcd\x6d\x15\x07\xc9\x97\xb8"
  29441			  "\x11\x35\xee\x29\xa4\x90\xfc\x46"
  29442			  "\x0f\x39\x56\xc6\x4a\x3a\xcf\xcc"
  29443			  "\xb1\xbf\x62\x1c\x16\xc5\x12\x6c"
  29444			  "\x0e\x69\x89\xce\xcf\x11\x4e\xe5"
  29445			  "\x7e\x4e\x7c\x8f\xb4\xc9\xe6\x54"
  29446			  "\x42\x89\x28\x27\xe6\xec\x50\xb7"
  29447			  "\x69\x91\x44\x3e\x46\xd4\x64\xf6"
  29448			  "\x25\x4c\x4d\x2f\x60\xd9\x9a\xd3"
  29449			  "\x1c\x70\xf4\xd8\x24\x1e\xdb\xcf"
  29450			  "\xa8\xc0\x22\xe6\x82\x57\xf6\xf0"
  29451			  "\xe1\x1e\x38\x66\xec\xdc\x20\xdb"
  29452			  "\x6a\x57\x68\xb1\x43\x61\xe1\x12"
  29453			  "\x18\x5f\x31\x57\x39\xcb\xea\x3c"
  29454			  "\x6e\x5d\x9a\xe0\xa6\x70\x4d\xd8"
  29455			  "\xf9\x47\x4e\xef\x31\xa5\x66\x9b"
  29456			  "\xb7\xf1\xd9\x59\x85\xfc\xdb\x7e"
  29457			  "\xa2\x7a\x70\x25\x0c\xfd\x18\x0d"
  29458			  "\x00\x42\xc9\x48\x8a\xbd\x74\xc5"
  29459			  "\x3e\xe1\x20\x5a\x5d\x2e\xe5\x32"
  29460			  "\x1d\x1c\x08\x65\x80\x69\xae\x24"
  29461			  "\x80\xde\xb6\xdf\x97\xaa\x42\x8d"
  29462			  "\xce\x39\x07\xe6\x69\x94\x5a\x75"
  29463			  "\x39\xda\x5e\x1a\xed\x4a\x4c\x23"
  29464			  "\x66\x1f\xf3\xb1\x6e\x8f\x21\x94"
  29465			  "\x45\xc4\x63\xbd\x06\x93\x5e\x30"
  29466			  "\xe7\x8f\xcb\xe0\xbb\x2a\x27\xcf"
  29467			  "\x57\xa9\xa6\x28\xaf\xae\xcb\xa5"
  29468			  "\x7b\x36\x61\x77\x3a\x4f\xec\x51"
  29469			  "\x71\xfd\x52\x9e\x32\x7b\x98\x09"
  29470			  "\xae\x27\xbc\x93\x96\xab\xb6\x02"
  29471			  "\xf7\x21\xd3\x42\x00\x7e\x7a\x92"
  29472			  "\x17\xfe\x1b\x3d\xcf\xb6\xfe\x1e"
  29473			  "\x40\xc3\x10\x25\xac\x22\x9e\xcc"
  29474			  "\xc2\x02\x61\xf5\x0a\x4b\xc3\xec"
  29475			  "\xb1\x44\x06\x05\xb8\xd6\xcb\xd5"
  29476			  "\xf1\xf5\xb5\x65\xbc\x1a\x19\xa2"
  29477			  "\x7d\x60\x87\x11\x06\x83\x25\xe3"
  29478			  "\x5e\xf0\xeb\x15\x93\xb6\x8e\xab"
  29479			  "\x49\x52\xe8\xdb\xde\xd1\x8e\xa2"
  29480			  "\x3a\x64\x13\x30\xaa\x20\xaf\x81"
  29481			  "\x8d\x3c\x24\x2a\x76\x6d\xca\x32"
  29482			  "\x63\x51\x6b\x8e\x4b\xa7\xf6\xad"
  29483			  "\xa5\x94\x16\x82\xa6\x97\x3b\xe5"
  29484			  "\x41\xcd\x87\x33\xdc\xc1\x48\xca"
  29485			  "\x4e\xa2\x82\xad\x8e\x1b\xae\xcb"
  29486			  "\x12\x93\x27\xa3\x2b\xfa\xe6\x26"
  29487			  "\x43\xbd\xb0\x00\x01\x22\x1d\xd3"
  29488			  "\x28\x9d\x69\xe0\xd4\xf8\x5b\x01"
  29489			  "\x40\x7d\x54\xe5\xe2\xbd\x78\x5a"
  29490			  "\x0e\xab\x51\xfc\xd4\xde\xba\xbc"
  29491			  "\xa4\x7a\x74\x6d\xf8\x36\xc2\x70"
  29492			  "\x03\x27\x36\xa2\xc0\xde\xf2\xc7"
  29493			  "\x55\xd4\x66\xee\x9a\x9e\xaa\x99"
  29494			  "\x2b\xeb\xa2\x6f\x17\x80\x60\x64"
  29495			  "\xed\x73\xdb\xc1\x70\xda\xde\x67"
  29496			  "\xcd\x6e\xc9\xfa\x3f\xef\x49\xd9"
  29497			  "\x18\x42\xf1\x87\x6e\x2c\xac\xe1"
  29498			  "\x12\x26\x52\xbe\x3e\xf1\xcc\x85"
  29499			  "\x9a\xd1\x9e\xc1\x02\xd3\xca\x2b"
  29500			  "\x99\xe7\xe8\x95\x7f\x91\x4b\xc0"
  29501			  "\xab\xd4\x5a\xf7\x88\x1c\x7e\xea"
  29502			  "\xd3\x15\x38\x26\xb5\xa3\xf2\xfc"
  29503			  "\xc4\x12\x70\x5a\x37\x83\x49\xac"
  29504			  "\xf4\x5e\x4c\xc8\x64\x03\x98\xad"
  29505			  "\xd2\xbb\x8d\x90\x01\x80\xa1\x2a"
  29506			  "\x23\xd1\x8d\x26\x43\x7d\x2b\xd0"
  29507			  "\x87\xe1\x8e\x6a\xb3\x73\x9d\xc2"
  29508			  "\x66\x75\xee\x2b\x41\x1a\xa0\x3b"
  29509			  "\x1b\xdd\xb9\x21\x69\x5c\xef\x52"
  29510			  "\x21\x57\xd6\x53\x31\x67\x7e\xd1"
  29511			  "\xd0\x67\x8b\xc0\x97\x2c\x0a\x09"
  29512			  "\x1d\xd4\x35\xc5\xd4\x11\x68\xf8"
  29513			  "\x5e\x75\xaf\x0c\xc3\x9d\xa7\x09"
  29514			  "\x38\xf5\x77\xb9\x80\xa9\x6b\xbd"
  29515			  "\x0c\x98\xb4\x8d\xf0\x35\x5a\x19"
  29516			  "\x1d\xf8\xb3\x5b\x45\xad\x4e\x4e"
  29517			  "\xd5\x59\xf5\xd7\x53\x63\x3e\x97"
  29518			  "\x7f\x91\x50\x65\x61\x21\xa9\xb7"
  29519			  "\x65\x12\xdc\x01\x56\x40\xe0\xb1"
  29520			  "\xe1\x23\xba\x9d\xb9\xc4\x8b\x1f"
  29521			  "\xa6\xfe\x24\x19\xe9\x42\x9f\x9b"
  29522			  "\x02\x48\xaa\x60\x0b\xf5\x7f\x8f"
  29523			  "\x35\x70\xed\x85\xb8\xc4\xdc\xb7"
  29524			  "\x16\xb7\x03\xe0\x2e\xa0\x25\xab"
  29525			  "\x02\x1f\x97\x8e\x5a\x48\xb6\xdb"
  29526			  "\x25\x7a\x16\xf6\x4c\xec\xec\xa6"
  29527			  "\xc1\x4e\xe3\x4e\xe3\x27\x78\xc8"
  29528			  "\xb6\xd7\x01\x61\x98\x1b\x38\xaa"
  29529			  "\x36\x93\xac\x6d\x05\x61\x4d\x5a"
  29530			  "\xc9\xe5\x27\xa9\x22\xf2\x38\x5e"
  29531			  "\x9e\xe5\xf7\x4a\x64\xd2\x14\x15"
  29532			  "\x71\x7c\x65\x6e\x90\x31\xc7\x49"
  29533			  "\x25\xec\x9f\xf1\xb2\xd6\xbc\x20"
  29534			  "\x6a\x13\xd5\x70\x65\xfc\x8b\x66"
  29535			  "\x2c\xf1\x57\xc2\xe7\xb8\x89\xf7"
  29536			  "\x17\xb2\x45\x64\xe0\xb3\x8c\x0d"
  29537			  "\x69\x57\xf9\x5c\xff\xc2\x3c\x18"
  29538			  "\x1e\xfd\x4b\x5e\x0d\x20\x01\x1a"
  29539			  "\xa3\xa3\xb3\x76\x98\x9c\x92\x41"
  29540			  "\xb4\xcd\x9f\x8f\x88\xcb\xb1\xb5"
  29541			  "\x25\x87\x45\x4c\x07\xa7\x15\x99"
  29542			  "\x24\x85\x15\x9e\xfc\x28\x98\x2b"
  29543			  "\xd0\x22\x0a\xcc\x62\x12\x86\x0a"
  29544			  "\xa8\x0e\x7d\x15\x32\x98\xae\x2d"
  29545			  "\x95\x25\x55\x33\x41\x5b\x8d\x75"
  29546			  "\x46\x61\x01\xa4\xfb\xf8\x6e\xe5"
  29547			  "\xec\x24\xfe\xd2\xd2\x46\xe2\x3a"
  29548			  "\x77\xf3\xa1\x39\xd3\x39\x32\xd8"
  29549			  "\x2a\x6b\x44\xd7\x70\x36\x23\x89"
  29550			  "\x4f\x75\x85\x42\x70\xd4\x2d\x4f"
  29551			  "\xea\xfc\xc9\xfe\xb4\x86\xd8\x73"
  29552			  "\x1d\xeb\xf7\x54\x0a\x47\x7e\x2c"
  29553			  "\x04\x7b\x47\xea\x52\x8f\x13\x1a"
  29554			  "\xf0\x19\x65\xe2\x0a\x1c\xae\x89"
  29555			  "\xe1\xc5\x87\x6e\x5d\x7f\xf8\x79"
  29556			  "\x08\xbf\xd2\x7f\x2c\x95\x22\xba"
  29557			  "\x32\x78\xa9\xf6\x03\x98\x18\xed"
  29558			  "\x15\xbf\x49\xb0\x6c\xa1\x4b\xb0"
  29559			  "\xf3\x17\xd5\x35\x5d\x19\x57\x5b"
  29560			  "\xf1\x07\x1e\xaa\x4d\xef\xd0\xd6"
  29561			  "\x72\x12\x6b\xd9\xbc\x10\x49\xc5"
  29562			  "\x28\xd4\xec\xe9\x8a\xb1\x6d\x50"
  29563			  "\x4b\xf3\x44\xb8\x49\x04\x62\xe9"
  29564			  "\xa4\xd8\x5a\xe7\x90\x02\xb7\x1e"
  29565			  "\x66\x89\xbc\x5a\x71\x4e\xbd\xf8"
  29566			  "\x18\xfb\x34\x2f\x67\xa2\x65\x71"
  29567			  "\x00\x63\x22\xef\x3a\xa5\x18\x0e"
  29568			  "\x54\x76\xaa\x58\xae\x87\x23\x93"
  29569			  "\xb0\x3c\xa2\xa4\x07\x77\x3e\xd7"
  29570			  "\x1a\x9c\xfe\x32\xc3\x54\x04\x4e"
  29571			  "\xd6\x98\x44\xda\x98\xf8\xd3\xc8"
  29572			  "\x1c\x07\x4b\xcd\x97\x5d\x96\x95"
  29573			  "\x9a\x1d\x4a\xfc\x19\xcb\x0b\xd0"
  29574			  "\x6d\x43\x3a\x9a\x39\x1c\xa8\x90"
  29575			  "\x9f\x53\x8b\xc4\x41\x75\xb5\xb9"
  29576			  "\x91\x5f\x02\x0a\x57\x6c\x8f\xc3"
  29577			  "\x1b\x0b\x3a\x8b\x58\x3b\xbe\x2e"
  29578			  "\xdc\x4c\x23\x71\x2e\x14\x06\x21"
  29579			  "\x0b\x3b\x58\xb8\x97\xd1\x00\x62"
  29580			  "\x2e\x74\x3e\x6e\x21\x8a\xcf\x60"
  29581			  "\xda\x0c\xf8\x7c\xfd\x07\x55\x7f"
  29582			  "\xb9\x1d\xda\x34\xc7\x27\xbf\x2a"
  29583			  "\xd9\xba\x41\x9b\x37\xa1\xc4\x5d"
  29584			  "\x03\x01\xce\xbb\x58\xff\xee\x74"
  29585			  "\x08\xbd\x0b\x80\xb1\xd5\xf8\xb5"
  29586			  "\x92\xf9\xbb\xbe\x03\xb5\xec\xbe"
  29587			  "\x17\xee\xd7\x4e\x87\x2b\x61\x1b"
  29588			  "\x27\xc3\x51\x50\xa0\x02\x73\x00"
  29589			  "\x1a\xea\x2a\x2b\xf8\xf6\xe6\x96"
  29590			  "\x75\x00\x56\xcc\xcb\x7a\x24\x29"
  29591			  "\xe8\xdb\x95\xbf\x4e\x8f\x0a\x78"
  29592			  "\xb8\xeb\x5a\x90\x37\xd0\x21\x94"
  29593			  "\x6a\x89\x6b\x41\x3a\x1b\xa7\x20"
  29594			  "\x43\x37\xda\xad\x81\xdd\xb4\xfc"
  29595			  "\xe9\x60\x82\x77\x44\x3f\x89\x23"
  29596			  "\x35\x04\x8f\xa1\xe8\xc0\xb6\x9f"
  29597			  "\x56\xa7\x86\x3d\x65\x9c\x57\xbb"
  29598			  "\x27\xdb\xe1\xb2\x13\x07\x9c\xb1"
  29599			  "\x60\x8b\x38\x6b\x7f\x24\x28\x14"
  29600			  "\xfe\xbf\xc0\xda\x61\x6e\xc2\xc7"
  29601			  "\x63\x36\xa8\x02\x54\x93\xb0\xba"
  29602			  "\xbd\x4d\x29\x14\x5a\x8b\xbc\x78"
  29603			  "\xb3\xa6\xc5\x15\x5d\x36\x4d\x38"
  29604			  "\x20\x9c\x1e\x98\x2e\x16\x89\x33"
  29605			  "\x66\xa2\x54\x57\xcc\xde\x12\xa6"
  29606			  "\x3b\x44\xf1\xac\x36\x3b\x97\xc1"
  29607			  "\x96\x94\xf2\x67\x57\x23\x9c\x29"
  29608			  "\xcd\xb7\x24\x2a\x8c\x86\xee\xaa"
  29609			  "\x0f\xee\xaf\xa0\xec\x40\x8c\x08"
  29610			  "\x18\xa1\xb4\x2c\x09\x46\x11\x7e"
  29611			  "\x97\x84\xb1\x03\xa5\x3e\x59\x05"
  29612			  "\x07\xc5\xf0\xcc\xb6\x71\x72\x2a"
  29613			  "\xa2\x02\x78\x60\x0b\xc4\x47\x93"
  29614			  "\xab\xcd\x67\x2b\xf5\xc5\x67\xa0"
  29615			  "\xc0\x3c\x6a\xd4\x7e\xc9\x93\x0c"
  29616			  "\x02\xdc\x15\x87\x48\x16\x26\x18"
  29617			  "\x4e\x0b\x16\x0e\xb3\x02\x3e\x4b"
  29618			  "\xc2\xe4\x49\x08\x9f\xb9\x8b\x1a"
  29619			  "\xca\x10\xe8\x6c\x58\xa9\x7e\xb8"
  29620			  "\xbe\xff\x58\x0e\x8a\xfb\x35\x93"
  29621			  "\xcc\x76\x7d\xd9\x44\x7c\x31\x96"
  29622			  "\xc0\x29\x73\xd3\x91\x0a\xc0\x65"
  29623			  "\x5c\xbe\xe7\x4e\xda\x31\x85\xf2"
  29624			  "\x72\xee\x34\xbe\x41\x90\xd4\x07"
  29625			  "\x50\x64\x56\x81\xe3\x27\xfb\xcc"
  29626			  "\xb7\x5c\x36\xb4\x6e\xbd\x23\xf8"
  29627			  "\xe8\x71\xce\xa8\x73\x77\x82\x74"
  29628			  "\xab\x8d\x0e\xe5\x93\x68\xb1\xd2"
  29629			  "\x51\xc2\x18\x58\xd5\x3f\x29\x6b"
  29630			  "\x2e\xd0\x88\x7f\x4a\x9d\xa2\xb8"
  29631			  "\xae\x96\x09\xbf\x47\xae\x7d\x12"
  29632			  "\x70\x67\xf1\xdd\xda\xdf\x47\x57"
  29633			  "\xc9\x2c\x0f\xcb\xf3\x57\xd4\xda"
  29634			  "\x00\x2e\x13\x48\x8f\xc0\xaa\x46"
  29635			  "\xe1\xc1\x57\x75\x1e\xce\x74\xc2"
  29636			  "\x82\xef\x31\x85\x8e\x38\x56\xff"
  29637			  "\xcb\xab\xe0\x78\x40\x51\xd3\xc5"
  29638			  "\xc3\xb1\xee\x9b\xd7\x72\x7f\x13"
  29639			  "\x83\x7f\x45\x49\x45\xa1\x05\x8e"
  29640			  "\xdc\x83\x81\x3c\x24\x28\x87\x08"
  29641			  "\xa0\x70\x73\x80\x42\xcf\x5c\x26"
  29642			  "\x39\xa5\xc5\x90\x5c\x56\xda\x58"
  29643			  "\x93\x45\x5d\x45\x64\x59\x16\x3f"
  29644			  "\xf1\x20\xf7\xa8\x2a\xd4\x3d\xbd"
  29645			  "\x17\xfb\x90\x01\xcf\x1e\x71\xab"
  29646			  "\x22\xa2\x24\xb5\x80\xac\xa2\x9a"
  29647			  "\x9c\x2d\x85\x69\xa7\x87\x33\x55"
  29648			  "\x65\x72\xc0\x91\x2a\x3d\x05\x33"
  29649			  "\x25\x0d\x29\x25\x9f\x45\x4e\xfa"
  29650			  "\x5d\x90\x3f\x34\x08\x54\xdb\x7d"
  29651			  "\x94\x20\xa2\x3b\x10\x01\xa4\x89"
  29652			  "\x1e\x90\x4f\x36\x3f\xc2\x40\x07"
  29653			  "\x3f\xab\x2e\x89\xce\x80\xe1\xf5"
  29654			  "\xac\xaf\x17\x10\x18\x0f\x4d\xe3"
  29655			  "\xfc\x82\x2b\xbe\xe2\x91\xfa\x5b"
  29656			  "\x9a\x9b\x2a\xd7\x99\x8d\x8f\xdc"
  29657			  "\x54\x99\xc4\xa3\x97\xfd\xd3\xdb"
  29658			  "\xd1\x51\x7c\xce\x13\x5c\x3b\x74"
  29659			  "\xda\x9a\xe3\xdc\xdc\x87\x84\x98"
  29660			  "\x16\x6d\xb0\x3d\x65\x57\x0b\xb2"
  29661			  "\xb8\x04\xd4\xea\x49\x72\xc3\x66"
  29662			  "\xbc\xdc\x91\x05\x2b\xa6\x5e\xeb"
  29663			  "\x55\x72\x3e\x34\xd4\x28\x4b\x9c"
  29664			  "\x07\x51\xf7\x30\xf3\xca\x04\xc1"
  29665			  "\xd3\x69\x50\x2c\x27\x27\xc4\xb9"
  29666			  "\x56\xc7\xa2\xd2\x66\x29\xea\xe0"
  29667			  "\x25\xb8\x49\xd1\x60\xc9\x5e\xb5"
  29668			  "\xed\x87\xb8\x74\x98\x0d\x16\x86"
  29669			  "\x2a\x02\x24\xde\xb9\xa9\x5e\xf0"
  29670			  "\xdd\xf7\x55\xb0\x26\x7a\x93\xd4"
  29671			  "\xe6\x7d\xd2\x43\xb2\x8f\x7e\x9a"
  29672			  "\x5d\x81\xe6\x28\xe5\x96\x7d\xc8"
  29673			  "\x33\xe0\x56\x57\xe2\xa0\xf2\x1d"
  29674			  "\x61\x78\x60\xd5\x81\x70\xa4\x11"
  29675			  "\x43\x36\xe9\xd1\x68\x27\x21\x3c"
  29676			  "\xb2\xa2\xad\x5f\x04\xd4\x55\x00"
  29677			  "\x25\x71\x91\xed\x3a\xc9\x7b\x57"
  29678			  "\x7b\xd1\x8a\xfb\x0e\xf5\x7b\x08"
  29679			  "\xa9\x26\x4f\x24\x5f\xdd\x79\xed"
  29680			  "\x19\xc4\xe1\xd5\xa8\x66\x60\xfc"
  29681			  "\x5d\x48\x11\xb0\xa3\xc3\xe6\xc0"
  29682			  "\xc6\x16\x7d\x20\x3f\x7c\x25\x52"
  29683			  "\xdf\x05\xdd\xb5\x0b\x92\xee\xc5"
  29684			  "\xe6\xd2\x7c\x3e\x2e\xd5\xac\xda"
  29685			  "\xdb\x48\x31\xac\x87\x13\x8c\xfa"
  29686			  "\xac\x18\xbc\xd1\x7f\x2d\xc6\x19"
  29687			  "\x8a\xfa\xa0\x97\x89\x26\x50\x46"
  29688			  "\x9c\xca\xe1\x73\x97\x26\x0a\x50"
  29689			  "\x95\xec\x79\x19\xf6\xbd\x9a\xa1"
  29690			  "\xcf\xc9\xab\xf7\x85\x84\xb2\xf5"
  29691			  "\x2c\x7c\x73\xaa\xe2\xc2\xfb\xcd"
  29692			  "\x5f\x08\x46\x2f\x8e\xd9\xff\xfd"
  29693			  "\x19\xf6\xf4\x5d\x2b\x4b\x54\xe2"
  29694			  "\x27\xaa\xfd\x2c\x5f\x75\x7c\xf6"
  29695			  "\x2c\x95\x77\xcc\x90\xa2\xda\x1e"
  29696			  "\x85\x37\x18\x34\x1d\xcf\x1b\xf2"
  29697			  "\x86\xda\x71\xfb\x72\xab\x87\x0f"
  29698			  "\x1e\x10\xb3\xba\x51\xea\x29\xd3"
  29699			  "\x8c\x87\xce\x4b\x66\xbf\x60\x6d"
  29700			  "\x81\x7c\xb8\x9c\xcc\x2e\x35\x02"
  29701			  "\x02\x32\x4a\x7a\x24\xc4\x9f\xce"
  29702			  "\xf0\x8a\x85\x90\xf3\x24\x95\x02"
  29703			  "\xec\x13\xc1\xa4\xdd\x44\x01\xef"
  29704			  "\xf6\xaa\x30\x70\xbf\x4e\x1a\xb9"
  29705			  "\xc0\xff\x3b\x57\x5d\x12\xfe\xc3"
  29706			  "\x1d\x5c\x3f\x74\xf9\xd9\x64\x61"
  29707			  "\x20\xb2\x76\x79\x38\xd2\x21\xfb"
  29708			  "\xc9\x32\xe8\xcc\x8e\x5f\xd7\x01"
  29709			  "\x9e\x25\x76\x4d\xa7\xc1\x33\x21"
  29710			  "\xfa\xcf\x98\x40\xd2\x1d\x48\xbd"
  29711			  "\xd0\xc0\x38\x90\x27\x9b\x89\x4a"
  29712			  "\x10\x1e\xaf\xa0\x78\x7d\x87\x2b"
  29713			  "\x72\x10\x02\xf0\x5d\x22\x8b\x22"
  29714			  "\xd7\x56\x7c\xd7\x6d\xcd\x9b\xc6"
  29715			  "\xbc\xb2\xa6\x36\xde\xac\x87\x14"
  29716			  "\x92\x93\x47\xca\x7d\xf4\x0b\x88"
  29717			  "\xea\xbf\x3f\x2f\xa9\x94\x24\x13"
  29718			  "\xa1\x52\x29\xfd\x5d\xa9\x76\x85"
  29719			  "\x21\x62\x39\xa3\xf0\xf7\xb5\xa3"
  29720			  "\xe0\x6c\x1b\xcb\xdb\x41\x91\xc6"
  29721			  "\x4f\xaa\x26\x8b\x15\xd5\x84\x3a"
  29722			  "\xda\xd6\x05\xc8\x8c\x0f\xe9\x19"
  29723			  "\x00\x81\x38\xfb\x8f\xdf\xb0\x63"
  29724			  "\x75\xe0\xe8\x8f\xef\x4a\xe0\x83"
  29725			  "\x34\xe9\x4e\x06\xd7\xbb\xcd\xed"
  29726			  "\x70\x0c\x72\x80\x64\x94\x67\xad"
  29727			  "\x4a\xda\x82\xcf\x60\xfc\x92\x43"
  29728			  "\xe3\x2f\xd1\x1e\x81\x1d\xdc\x62"
  29729			  "\xec\xb1\xb0\xad\x4f\x43\x1d\x38"
  29730			  "\x4e\x0d\x90\x40\x29\x1b\x98\xf1"
  29731			  "\xbc\x70\x4e\x5a\x08\xbe\x88\x3a"
  29732			  "\x55\xfb\x8c\x33\x1f\x0a\x7d\x2d"
  29733			  "\xdc\x75\x03\xd2\x3b\xe8\xb8\x32"
  29734			  "\x13\xab\x04\xbc\xe2\x33\x44\xa6"
  29735			  "\xff\x6e\xba\xbd\xdc\xe2\xbf\x54"
  29736			  "\x99\x71\x76\x59\x3b\x7a\xbc\xde"
  29737			  "\xa1\x6e\x73\x62\x96\x73\x56\x66"
  29738			  "\xfb\x1a\x56\x91\x2a\x8b\x12\xb0"
  29739			  "\x82\x9f\x9b\x0c\x42\xc7\x22\x2c"
  29740			  "\xbc\x49\xc5\x3c\x3b\xbf\x52\x64"
  29741			  "\xd6\xd4\x03\x52\xf3\xfd\x13\x98"
  29742			  "\xcc\xd8\xaa\x3e\x1d\x1f\x04\x8a"
  29743			  "\x03\x41\x19\x5b\x31\xf3\x48\x83"
  29744			  "\x49\xa3\xdd\xc9\x7c\x01\x34\x64"
  29745			  "\xe5\xf3\xdf\xc9\x7f\x17\xa2\xf5"
  29746			  "\x9c\x21\x79\x93\x91\x93\xbf\x9b"
  29747			  "\xa5\xa5\xda\x1d\x55\x32\x72\x78"
  29748			  "\xa6\x45\x2d\x21\x97\x6b\xfe\xbc"
  29749			  "\xd0\xe7\x8e\x97\x66\x85\x9e\x41"
  29750			  "\xfa\x2c\x8a\xee\x0d\x5a\x18\xf2"
  29751			  "\x15\x89\x8f\xfb\xbc\xd8\xa6\x0c"
  29752			  "\x83\xcc\x20\x08\xce\x70\xe5\xe6"
  29753			  "\xbb\x7d\x9f\x11\x5f\x1e\x16\x68"
  29754			  "\x18\xad\xa9\x4b\x04\x97\x8c\x18"
  29755			  "\xed\x2a\x70\x79\x39\xcf\x36\x72"
  29756			  "\x1e\x3e\x6d\x3c\x19\xce\x13\x19"
  29757			  "\xb5\x13\xe7\x02\xd8\x5c\xec\x0c"
  29758			  "\x81\xc5\xe5\x86\x10\x83\x9e\x67"
  29759			  "\x3b\x74\x29\x63\xda\x23\xbc\x43"
  29760			  "\xe9\x73\xa6\x2d\x25\x77\x66\xd0"
  29761			  "\x2e\x05\x38\xae\x2e\x0e\x7f\xaf"
  29762			  "\x82\xed\xef\x28\x39\x4c\x4b\x6f"
  29763			  "\xdb\xa1\xb5\x79\xd0\x5b\x50\x77"
  29764			  "\x6d\x75\x9f\x3c\xcf\xde\x41\xb8"
  29765			  "\xa9\x13\x11\x60\x19\x23\xc7\x35"
  29766			  "\x48\xbc\x14\x08\xf9\x57\xfe\x15"
  29767			  "\xfd\xb2\xbb\x8c\x44\x3b\xf1\x62"
  29768			  "\xbc\x0e\x01\x45\x39\xc0\xbb\xce"
  29769			  "\xf5\xb7\xe1\x16\x7b\xcc\x8d\x7f"
  29770			  "\xd3\x15\x36\xef\x8e\x4b\xaa\xee"
  29771			  "\x49\x0c\x6e\x9b\x8c\x0e\x9f\xe0"
  29772			  "\xd5\x7b\xdd\xbc\xb3\x67\x53\x6d"
  29773			  "\x8b\xbe\xa3\xcd\x1e\x37\x9d\xc3"
  29774			  "\x61\x36\xf4\x77\xec\x2b\xc7\x8b"
  29775			  "\xd7\xad\x8d\x23\xdd\xf7\x9d\xf1"
  29776			  "\x61\x1c\xbf\x09\xa5\x5e\xb9\x14"
  29777			  "\xa6\x3f\x1a\xd9\x12\xb4\xef\x56"
  29778			  "\x20\xa0\x77\x3e\xab\xf1\xb9\x91"
  29779			  "\x5a\x92\x85\x5c\x92\x15\xb2\x1f"
  29780			  "\xaf\xb0\x92\x23\x2d\x27\x8b\x7e"
  29781			  "\x12\xcc\x56\xaa\x62\x85\x15\xd7"
  29782			  "\x41\x89\x62\xd6\xd9\xd0\x6d\xbd"
  29783			  "\x21\xa8\x49\xb6\x35\x40\x2f\x8d"
  29784			  "\x2e\xfa\x24\x1e\x30\x12\x9c\x05"
  29785			  "\x59\xfa\xe1\xad\xc0\x53\x09\xda"
  29786			  "\xc0\x2e\x9d\x24\x0e\x4b\x6e\xd7"
  29787			  "\x68\x32\x6a\xa0\x3c\x23\xb6\x5a"
  29788			  "\x90\xb1\x1f\x62\xc8\x37\x36\x88"
  29789			  "\xa4\x4d\x91\x12\x8d\x51\x8d\x81"
  29790			  "\x44\x21\xfe\xd3\x61\x8d\xea\x5b"
  29791			  "\x87\x24\xa9\xe9\x87\xde\x75\x77"
  29792			  "\xc6\xa0\xd3\xf6\x99\x8b\x32\x56"
  29793			  "\x47\xc6\x60\x65\xb6\x4f\xd1\x59"
  29794			  "\x08\xb2\xe0\x15\x3e\xcb\x2c\xd6"
  29795			  "\x8d\xc6\xbf\xda\x63\xe2\x04\x88"
  29796			  "\x30\x9f\x37\x38\x98\x1c\x3e\x7a"
  29797			  "\xa8\x8f\x3e\x2c\xcf\x90\x15\x6e"
  29798			  "\x5d\xe9\x76\xd5\xdf\xc6\x2f\xf6"
  29799			  "\xf5\x4a\x86\xbd\x36\x2a\xda\xdf"
  29800			  "\x2f\xd8\x6e\x15\x18\x6b\xe9\xdb"
  29801			  "\x26\x54\x6e\x60\x3b\xb8\xf9\x91"
  29802			  "\xc1\x1d\xc0\x4f\x26\x8b\xdf\x55"
  29803			  "\x47\x2f\xce\xdd\x4e\x93\x58\x3f"
  29804			  "\x70\xdc\xf9\x4e\x9b\x37\x5e\x4f"
  29805			  "\x39\xb9\x30\xe6\xce\xdb\xaf\x46"
  29806			  "\xca\xfa\x52\xc9\x75\x3e\xd6\x96"
  29807			  "\xe8\x97\xf1\xb1\x64\x31\x71\x1e"
  29808			  "\x9f\xb6\xff\x69\xd6\xcd\x85\x4e"
  29809			  "\x20\xf5\xfc\x84\x3c\xaf\xcc\x8d"
  29810			  "\x5b\x52\xb8\xa2\x1c\x38\x47\x82"
  29811			  "\x96\xff\x06\x4c\xaf\x8a\xf4\x8f"
  29812			  "\xf8\x15\x97\xf6\xc3\xbc\x8c\x9e"
  29813			  "\xc2\x06\xd9\x64\xb8\x1b\x0d\xd1"
  29814			  "\x53\x55\x83\x7d\xcb\x8b\x7d\x20"
  29815			  "\xa7\x70\xcb\xaa\x25\xae\x5a\x4f"
  29816			  "\xdc\x66\xad\xe4\x54\xff\x09\xef"
  29817			  "\x25\xcb\xac\x59\x89\x1d\x06\xcf"
  29818			  "\xc7\x74\xe0\x5d\xa6\xd0\x04\xb4"
  29819			  "\x41\x75\x34\x80\x6c\x4c\xc9\xd0"
  29820			  "\x51\x0c\x0f\x84\x26\x75\x69\x23"
  29821			  "\x81\x67\xde\xbf\x6c\x57\x8a\xc4"
  29822			  "\xba\x91\xba\x8c\x2c\x75\xeb\x55"
  29823			  "\xe5\x1b\x13\xbc\xaa\xec\x31\xdb"
  29824			  "\xcc\x00\x3b\xe6\x50\xd8\xc3\xcc"
  29825			  "\x9c\xb8\x6e\xb4\x9b\x16\xee\x74"
  29826			  "\x26\x51\xda\x39\xe6\x31\xa1\xb2"
  29827			  "\xd7\x6f\xcb\xae\x7d\x9f\x38\x7d"
  29828			  "\x86\x49\x2a\x16\x5c\xc0\x08\xea"
  29829			  "\x6b\x55\x85\x47\xbb\x90\xba\x69"
  29830			  "\x56\xa5\x44\x62\x5b\xe6\x3b\xcc"
  29831			  "\xe7\x6d\x1e\xca\x4b\xf3\x86\xe0"
  29832			  "\x09\x76\x51\x83\x0a\x46\x19\x61"
  29833			  "\xf0\xce\xe1\x06\x7d\x06\xb4\xfe"
  29834			  "\xd9\xd3\x64\x8e\x0f\xd9\x64\x9e"
  29835			  "\x74\x44\x97\x5d\x92\x7b\xe3\xcf"
  29836			  "\x51\x44\xe7\xf2\xe7\xc0\x0c\xc2"
  29837			  "\xf1\xf7\xa6\x36\x52\x2f\x7c\x09"
  29838			  "\xfe\x8c\x59\x77\x52\x6a\x7e\xb3"
  29839			  "\x2b\xb9\x17\x78\xe4\xf2\x82\x62"
  29840			  "\x7f\x68\x8e\x04\xb4\x8f\x60\xd2"
  29841			  "\xc6\x22\x1e\x0f\x3a\x8e\x3c\xb2"
  29842			  "\x60\xbc\xa9\xb3\xda\xbd\x50\xe4"
  29843			  "\x33\x98\xdd\x6f\xe9\x3b\x77\x57"
  29844			  "\xeb\x7c\x8f\xbc\xfc\x34\x34\xb9"
  29845			  "\x40\x31\x67\xcf\xfe\x22\x20\xa5"
  29846			  "\x97\xe8\x4c\xa2\xc3\x94\xc6\x28"
  29847			  "\xa6\x24\xe5\xa6\xb5\xd8\x24\xef"
  29848			  "\x16\xa1\xc9\xe5\x92\xe6\x8c\x45"
  29849			  "\x24\x24\x51\x22\x1e\xad\xef\x2f"
  29850			  "\xb6\xbe\xfc\x92\x20\xac\x45\xe6"
  29851			  "\xc0\xb0\xc8\xfb\x21\x34\xd4\x05"
  29852			  "\x54\xb3\x99\xa4\xfe\xa9\xd5\xb5"
  29853			  "\x3b\x72\x83\xf6\xe2\xf9\x88\x0e"
  29854			  "\x20\x80\x3e\x4e\x8f\xa1\x75\x69"
  29855			  "\x43\x5a\x7c\x38\x62\x51\xb5\xb7"
  29856			  "\x84\x95\x3f\x6d\x24\xcc\xfd\x4b"
  29857			  "\x4a\xaa\x97\x83\x6d\x16\xa8\xc5"
  29858			  "\x18\xd9\xb9\xfe\xe2\x3f\xe8\xbd"
  29859			  "\x37\x44\xdf\x79\x3b\x34\x19\x1a"
  29860			  "\x65\x5e\xc7\x61\x1f\x17\x5e\x84"
  29861			  "\x20\x72\x32\x98\x8c\x9e\xac\x1f"
  29862			  "\x6e\x32\xae\x86\x46\x4f\x0f\x64"
  29863			  "\x3f\xce\x96\xe6\x02\x41\x53\x1f"
  29864			  "\x35\x30\x57\x7f\xfe\xb7\x47\xb9"
  29865			  "\x0c\x2f\x14\x34\x9b\x1c\x88\x17"
  29866			  "\xb5\xe5\x94\x17\x3e\xdc\x4d\x49"
  29867			  "\xe1\x5d\x75\x3e\xa6\x16\x42\xd4"
  29868			  "\x59\xb5\x24\x7c\x4c\x54\x1c\xf9"
  29869			  "\xd6\xed\x69\x22\x5f\x74\xc9\xa9"
  29870			  "\x7c\xb8\x09\xa7\xf9\x2b\x0d\x5f"
  29871			  "\x42\xff\x4e\x57\xde\x0c\x67\x45"
  29872			  "\xa4\x6e\xa0\x7e\x28\x34\xc5\xfe"
  29873			  "\x58\x7e\xda\xec\x9f\x0b\x31\x2a"
  29874			  "\x1f\x1b\x98\xad\x14\xcf\x9f\x96"
  29875			  "\xf8\x87\x0e\x14\x19\x81\x23\x53"
  29876			  "\x5f\x38\x08\xd9\xc1\xcb\xb2\xc5"
  29877			  "\x19\x72\x75\x01\xd4\xcf\xd9\x91"
  29878			  "\xfc\x48\xcc\xa3\x3c\xe6\x4c\xc6"
  29879			  "\x73\xde\x5e\x90\xce\x6c\x85\x43"
  29880			  "\x0d\xdf\xe3\x8c\x02\x62\xef\xac"
  29881			  "\xb8\x05\x80\x81\xf6\x22\x30\xad"
  29882			  "\x30\xa8\xcb\x55\x1e\xe6\x05\x7f"
  29883			  "\xc5\x58\x1a\x78\xb7\x2f\x8e\x3c"
  29884			  "\x80\x09\xca\xa2\x9a\x72\xeb\x10"
  29885			  "\x84\x54\xaa\x98\x35\x5e\xb1\xc2"
  29886			  "\xb7\x73\x14\x69\xef\xf8\x28\x43"
  29887			  "\x36\xd3\x10\x0a\xd6\x69\xf8\xc8"
  29888			  "\xbb\xe9\xe9\xf9\x29\x52\xf8\x6f"
  29889			  "\x12\x78\xf9\xc6\xb2\x12\xfd\x39"
  29890			  "\xa9\xeb\xe2\x47\xb9\x22\xc5\x8f"
  29891			  "\x4d\xb1\x17\x40\x02\x84\xed\x53"
  29892			  "\xc5\xfa\xc1\xcd\x59\x56\x93\xaa"
  29893			  "\x3f\x23\x3f\x02\xb7\xe9\x6e\xa0"
  29894			  "\xbc\x96\xb8\xb2\xf8\x04\x19\x87"
  29895			  "\xe9\x4f\x29\xbf\x3a\xcb\x6d\x48"
  29896			  "\xc9\xe7\x1f\xb7\xa8\xf8\xd4\xb4"
  29897			  "\x6d\x0f\xb4\xf6\x44\x11\x0f\xf7"
  29898			  "\x3d\xd2\x36\x05\x67\xa1\x46\x81"
  29899			  "\x90\xe9\x60\x64\xfa\x52\x87\x37"
  29900			  "\x44\x01\xbd\x58\xe1\xda\xda\x1e"
  29901			  "\xa7\x09\xf7\x43\x31\x2b\x4b\x55"
  29902			  "\xbd\x0d\x53\x7f\x12\x6c\xf5\x07"
  29903			  "\xfc\x61\xda\xd6\x0a\xbd\x89\x5f"
  29904			  "\x2c\xf5\xa8\x1f\x0d\x60\xe4\x3c"
  29905			  "\x5d\x94\x8a\x1f\x64\xce\xd5\x16"
  29906			  "\x73\xbc\xbe\xb1\x85\x28\xcb\x0b"
  29907			  "\x47\x5c\x1f\x66\x25\x89\x61\x6a"
  29908			  "\xa7\xcd\xf8\x1b\x31\x88\x42\x71"
  29909			  "\x58\x65\x53\xd5\xc0\xa3\x56\x2e"
  29910			  "\xb6\x86\x9e\x13\x78\x34\x36\x85"
  29911			  "\xbb\xce\x6e\x54\x33\xb9\x97\xc5"
  29912			  "\x72\xb8\xe0\x13\x34\x04\xbf\x83"
  29913			  "\xbf\x78\x1d\x7c\x23\x34\x90\xe0"
  29914			  "\x57\xd4\x3f\xc6\x61\xe3\xca\x96"
  29915			  "\x13\xdd\x9e\x20\x51\x18\x73\x37"
  29916			  "\x69\x37\xfb\xe5\x60\x1f\xf2\xa1"
  29917			  "\xef\xa2\x6e\x16\x32\x8e\xc3\xb6"
  29918			  "\x21\x5e\xc2\x1c\xb6\xc6\x96\x72"
  29919			  "\x4f\xa6\x85\x69\xa9\x5d\xb2\x2e"
  29920			  "\xac\xfe\x6e\xc3\xe7\xb3\x51\x08"
  29921			  "\x66\x2a\xac\x59\xb3\x73\x86\xae"
  29922			  "\x6d\x85\x97\x37\x68\xef\xa7\x85"
  29923			  "\xb7\xdd\xdd\xd9\x85\xc9\x57\x01"
  29924			  "\x10\x2b\x9a\x1e\x44\x12\x87\xa5"
  29925			  "\x60\x1f\x88\xae\xbf\x14\x2d\x05"
  29926			  "\x4c\x60\x85\x8a\x45\xac\x0f\xc2",
  29927		.len	= 4096,
  29928	}
  29929};
  29930
  29931/* Adiantum with XChaCha20 instead of XChaCha12 */
  29932/* Test vectors from https://github.com/google/adiantum */
  29933static const struct cipher_testvec adiantum_xchacha20_aes_tv_template[] = {
  29934	{
  29935		.key	= "\x9e\xeb\xb2\x49\x3c\x1c\xf5\xf4"
  29936			  "\x6a\x99\xc2\xc4\xdf\xb1\xf4\xdd"
  29937			  "\x75\x20\x57\xea\x2c\x4f\xcd\xb2"
  29938			  "\xa5\x3d\x7b\x49\x1e\xab\xfd\x0f",
  29939		.klen	= 32,
  29940		.iv	= "\xdf\x63\xd4\xab\xd2\x49\xf3\xd8"
  29941			  "\x33\x81\x37\x60\x7d\xfa\x73\x08"
  29942			  "\xd8\x49\x6d\x80\xe8\x2f\x62\x54"
  29943			  "\xeb\x0e\xa9\x39\x5b\x45\x7f\x8a",
  29944		.ptext	= "\x67\xc9\xf2\x30\x84\x41\x8e\x43"
  29945			  "\xfb\xf3\xb3\x3e\x79\x36\x7f\xe8",
  29946		.ctext	= "\xf6\x78\x97\xd6\xaa\x94\x01\x27"
  29947			  "\x2e\x4d\x83\xe0\x6e\x64\x9a\xdf",
  29948		.len	= 16,
  29949	}, {
  29950		.key	= "\x36\x2b\x57\x97\xf8\x5d\xcd\x99"
  29951			  "\x5f\x1a\x5a\x44\x1d\x92\x0f\x27"
  29952			  "\xcc\x16\xd7\x2b\x85\x63\x99\xd3"
  29953			  "\xba\x96\xa1\xdb\xd2\x60\x68\xda",
  29954		.klen	= 32,
  29955		.iv	= "\xef\x58\x69\xb1\x2c\x5e\x9a\x47"
  29956			  "\x24\xc1\xb1\x69\xe1\x12\x93\x8f"
  29957			  "\x43\x3d\x6d\x00\xdb\x5e\xd8\xd9"
  29958			  "\x12\x9a\xfe\xd9\xff\x2d\xaa\xc4",
  29959		.ptext	= "\x5e\xa8\x68\x19\x85\x98\x12\x23"
  29960			  "\x26\x0a\xcc\xdb\x0a\x04\xb9\xdf"
  29961			  "\x4d\xb3\x48\x7b\xb0\xe3\xc8\x19"
  29962			  "\x43\x5a\x46\x06\x94\x2d\xf2",
  29963		.ctext	= "\x4b\xb8\x90\x10\xdf\x7f\x64\x08"
  29964			  "\x0e\x14\x42\x5f\x00\x74\x09\x36"
  29965			  "\x57\x72\xb5\xfd\xb5\x5d\xb8\x28"
  29966			  "\x0c\x04\x91\x14\x91\xe9\x37",
  29967		.len	= 31,
  29968	}, {
  29969		.key	= "\xa5\x28\x24\x34\x1a\x3c\xd8\xf7"
  29970			  "\x05\x91\x8f\xee\x85\x1f\x35\x7f"
  29971			  "\x80\x3d\xfc\x9b\x94\xf6\xfc\x9e"
  29972			  "\x19\x09\x00\xa9\x04\x31\x4f\x11",
  29973		.klen	= 32,
  29974		.iv	= "\xa1\xba\x49\x95\xff\x34\x6d\xb8"
  29975			  "\xcd\x87\x5d\x5e\xfd\xea\x85\xdb"
  29976			  "\x8a\x7b\x5e\xb2\x5d\x57\xdd\x62"
  29977			  "\xac\xa9\x8c\x41\x42\x94\x75\xb7",
  29978		.ptext	= "\x69\xb4\xe8\x8c\x37\xe8\x67\x82"
  29979			  "\xf1\xec\x5d\x04\xe5\x14\x91\x13"
  29980			  "\xdf\xf2\x87\x1b\x69\x81\x1d\x71"
  29981			  "\x70\x9e\x9c\x3b\xde\x49\x70\x11"
  29982			  "\xa0\xa3\xdb\x0d\x54\x4f\x66\x69"
  29983			  "\xd7\xdb\x80\xa7\x70\x92\x68\xce"
  29984			  "\x81\x04\x2c\xc6\xab\xae\xe5\x60"
  29985			  "\x15\xe9\x6f\xef\xaa\x8f\xa7\xa7"
  29986			  "\x63\x8f\xf2\xf0\x77\xf1\xa8\xea"
  29987			  "\xe1\xb7\x1f\x9e\xab\x9e\x4b\x3f"
  29988			  "\x07\x87\x5b\x6f\xcd\xa8\xaf\xb9"
  29989			  "\xfa\x70\x0b\x52\xb8\xa8\xa7\x9e"
  29990			  "\x07\x5f\xa6\x0e\xb3\x9b\x79\x13"
  29991			  "\x79\xc3\x3e\x8d\x1c\x2c\x68\xc8"
  29992			  "\x51\x1d\x3c\x7b\x7d\x79\x77\x2a"
  29993			  "\x56\x65\xc5\x54\x23\x28\xb0\x03",
  29994		.ctext	= "\xb1\x8b\xa0\x05\x77\xa8\x4d\x59"
  29995			  "\x1b\x8e\x21\xfc\x3a\x49\xfa\xd4"
  29996			  "\xeb\x36\xf3\xc4\xdf\xdc\xae\x67"
  29997			  "\x07\x3f\x70\x0e\xe9\x66\xf5\x0c"
  29998			  "\x30\x4d\x66\xc9\xa4\x2f\x73\x9c"
  29999			  "\x13\xc8\x49\x44\xcc\x0a\x90\x9d"
  30000			  "\x7c\xdd\x19\x3f\xea\x72\x8d\x58"
  30001			  "\xab\xe7\x09\x2c\xec\xb5\x44\xd2"
  30002			  "\xca\xa6\x2d\x7a\x5c\x9c\x2b\x15"
  30003			  "\xec\x2a\xa6\x69\x91\xf9\xf3\x13"
  30004			  "\xf7\x72\xc1\xc1\x40\xd5\xe1\x94"
  30005			  "\xf4\x29\xa1\x3e\x25\x02\xa8\x3e"
  30006			  "\x94\xc1\x91\x14\xa1\x14\xcb\xbe"
  30007			  "\x67\x4c\xb9\x38\xfe\xa7\xaa\x32"
  30008			  "\x29\x62\x0d\xb2\xf6\x3c\x58\x57"
  30009			  "\xc1\xd5\x5a\xbb\xd6\xa6\x2a\xe5",
  30010		.len	= 128,
  30011	}, {
  30012		.key	= "\xd3\x81\x72\x18\x23\xff\x6f\x4a"
  30013			  "\x25\x74\x29\x0d\x51\x8a\x0e\x13"
  30014			  "\xc1\x53\x5d\x30\x8d\xee\x75\x0d"
  30015			  "\x14\xd6\x69\xc9\x15\xa9\x0c\x60",
  30016		.klen	= 32,
  30017		.iv	= "\x65\x9b\xd4\xa8\x7d\x29\x1d\xf4"
  30018			  "\xc4\xd6\x9b\x6a\x28\xab\x64\xe2"
  30019			  "\x62\x81\x97\xc5\x81\xaa\xf9\x44"
  30020			  "\xc1\x72\x59\x82\xaf\x16\xc8\x2c",
  30021		.ptext	= "\xc7\x6b\x52\x6a\x10\xf0\xcc\x09"
  30022			  "\xc1\x12\x1d\x6d\x21\xa6\x78\xf5"
  30023			  "\x05\xa3\x69\x60\x91\x36\x98\x57"
  30024			  "\xba\x0c\x14\xcc\xf3\x2d\x73\x03"
  30025			  "\xc6\xb2\x5f\xc8\x16\x27\x37\x5d"
  30026			  "\xd0\x0b\x87\xb2\x50\x94\x7b\x58"
  30027			  "\x04\xf4\xe0\x7f\x6e\x57\x8e\xc9"
  30028			  "\x41\x84\xc1\xb1\x7e\x4b\x91\x12"
  30029			  "\x3a\x8b\x5d\x50\x82\x7b\xcb\xd9"
  30030			  "\x9a\xd9\x4e\x18\x06\x23\x9e\xd4"
  30031			  "\xa5\x20\x98\xef\xb5\xda\xe5\xc0"
  30032			  "\x8a\x6a\x83\x77\x15\x84\x1e\xae"
  30033			  "\x78\x94\x9d\xdf\xb7\xd1\xea\x67"
  30034			  "\xaa\xb0\x14\x15\xfa\x67\x21\x84"
  30035			  "\xd3\x41\x2a\xce\xba\x4b\x4a\xe8"
  30036			  "\x95\x62\xa9\x55\xf0\x80\xad\xbd"
  30037			  "\xab\xaf\xdd\x4f\xa5\x7c\x13\x36"
  30038			  "\xed\x5e\x4f\x72\xad\x4b\xf1\xd0"
  30039			  "\x88\x4e\xec\x2c\x88\x10\x5e\xea"
  30040			  "\x12\xc0\x16\x01\x29\xa3\xa0\x55"
  30041			  "\xaa\x68\xf3\xe9\x9d\x3b\x0d\x3b"
  30042			  "\x6d\xec\xf8\xa0\x2d\xf0\x90\x8d"
  30043			  "\x1c\xe2\x88\xd4\x24\x71\xf9\xb3"
  30044			  "\xc1\x9f\xc5\xd6\x76\x70\xc5\x2e"
  30045			  "\x9c\xac\xdb\x90\xbd\x83\x72\xba"
  30046			  "\x6e\xb5\xa5\x53\x83\xa9\xa5\xbf"
  30047			  "\x7d\x06\x0e\x3c\x2a\xd2\x04\xb5"
  30048			  "\x1e\x19\x38\x09\x16\xd2\x82\x1f"
  30049			  "\x75\x18\x56\xb8\x96\x0b\xa6\xf9"
  30050			  "\xcf\x62\xd9\x32\x5d\xa9\xd7\x1d"
  30051			  "\xec\xe4\xdf\x1b\xbe\xf1\x36\xee"
  30052			  "\xe3\x7b\xb5\x2f\xee\xf8\x53\x3d"
  30053			  "\x6a\xb7\x70\xa9\xfc\x9c\x57\x25"
  30054			  "\xf2\x89\x10\xd3\xb8\xa8\x8c\x30"
  30055			  "\xae\x23\x4f\x0e\x13\x66\x4f\xe1"
  30056			  "\xb6\xc0\xe4\xf8\xef\x93\xbd\x6e"
  30057			  "\x15\x85\x6b\xe3\x60\x81\x1d\x68"
  30058			  "\xd7\x31\x87\x89\x09\xab\xd5\x96"
  30059			  "\x1d\xf3\x6d\x67\x80\xca\x07\x31"
  30060			  "\x5d\xa7\xe4\xfb\x3e\xf2\x9b\x33"
  30061			  "\x52\x18\xc8\x30\xfe\x2d\xca\x1e"
  30062			  "\x79\x92\x7a\x60\x5c\xb6\x58\x87"
  30063			  "\xa4\x36\xa2\x67\x92\x8b\xa4\xb7"
  30064			  "\xf1\x86\xdf\xdc\xc0\x7e\x8f\x63"
  30065			  "\xd2\xa2\xdc\x78\xeb\x4f\xd8\x96"
  30066			  "\x47\xca\xb8\x91\xf9\xf7\x94\x21"
  30067			  "\x5f\x9a\x9f\x5b\xb8\x40\x41\x4b"
  30068			  "\x66\x69\x6a\x72\xd0\xcb\x70\xb7"
  30069			  "\x93\xb5\x37\x96\x05\x37\x4f\xe5"
  30070			  "\x8c\xa7\x5a\x4e\x8b\xb7\x84\xea"
  30071			  "\xc7\xfc\x19\x6e\x1f\x5a\xa1\xac"
  30072			  "\x18\x7d\x52\x3b\xb3\x34\x62\x99"
  30073			  "\xe4\x9e\x31\x04\x3f\xc0\x8d\x84"
  30074			  "\x17\x7c\x25\x48\x52\x67\x11\x27"
  30075			  "\x67\xbb\x5a\x85\xca\x56\xb2\x5c"
  30076			  "\xe6\xec\xd5\x96\x3d\x15\xfc\xfb"
  30077			  "\x22\x25\xf4\x13\xe5\x93\x4b\x9a"
  30078			  "\x77\xf1\x52\x18\xfa\x16\x5e\x49"
  30079			  "\x03\x45\xa8\x08\xfa\xb3\x41\x92"
  30080			  "\x79\x50\x33\xca\xd0\xd7\x42\x55"
  30081			  "\xc3\x9a\x0c\x4e\xd9\xa4\x3c\x86"
  30082			  "\x80\x9f\x53\xd1\xa4\x2e\xd1\xbc"
  30083			  "\xf1\x54\x6e\x93\xa4\x65\x99\x8e"
  30084			  "\xdf\x29\xc0\x64\x63\x07\xbb\xea",
  30085		.ctext	= "\xe0\x33\xf6\xe0\xb4\xa5\xdd\x2b"
  30086			  "\xdd\xce\xfc\x12\x1e\xfc\x2d\xf2"
  30087			  "\x8b\xc7\xeb\xc1\xc4\x2a\xe8\x44"
  30088			  "\x0f\x3d\x97\x19\x2e\x6d\xa2\x38"
  30089			  "\x9d\xa6\xaa\xe1\x96\xb9\x08\xe8"
  30090			  "\x0b\x70\x48\x5c\xed\xb5\x9b\xcb"
  30091			  "\x8b\x40\x88\x7e\x69\x73\xf7\x16"
  30092			  "\x71\xbb\x5b\xfc\xa3\x47\x5d\xa6"
  30093			  "\xae\x3a\x64\xc4\xe7\xb8\xa8\xe7"
  30094			  "\xb1\x32\x19\xdb\xe3\x01\xb8\xf0"
  30095			  "\xa4\x86\xb4\x4c\xc2\xde\x5c\xd2"
  30096			  "\x6c\x77\xd2\xe8\x18\xb7\x0a\xc9"
  30097			  "\x3d\x53\xb5\xc4\x5c\xf0\x8c\x06"
  30098			  "\xdc\x90\xe0\x74\x47\x1b\x0b\xf6"
  30099			  "\xd2\x71\x6b\xc4\xf1\x97\x00\x2d"
  30100			  "\x63\x57\x44\x1f\x8c\xf4\xe6\x9b"
  30101			  "\xe0\x7a\xdd\xec\x32\x73\x42\x32"
  30102			  "\x7f\x35\x67\x60\x0d\xcf\x10\x52"
  30103			  "\x61\x22\x53\x8d\x8e\xbb\x33\x76"
  30104			  "\x59\xd9\x10\xce\xdf\xef\xc0\x41"
  30105			  "\xd5\x33\x29\x6a\xda\x46\xa4\x51"
  30106			  "\xf0\x99\x3d\x96\x31\xdd\xb5\xcb"
  30107			  "\x3e\x2a\x1f\xc7\x5c\x79\xd3\xc5"
  30108			  "\x20\xa1\xb1\x39\x1b\xc6\x0a\x70"
  30109			  "\x26\x39\x95\x07\xad\x7a\xc9\x69"
  30110			  "\xfe\x81\xc7\x88\x08\x38\xaf\xad"
  30111			  "\x9e\x8d\xfb\xe8\x24\x0d\x22\xb8"
  30112			  "\x0e\xed\xbe\x37\x53\x7c\xa6\xc6"
  30113			  "\x78\x62\xec\xa3\x59\xd9\xc6\x9d"
  30114			  "\xb8\x0e\x69\x77\x84\x2d\x6a\x4c"
  30115			  "\xc5\xd9\xb2\xa0\x2b\xa8\x80\xcc"
  30116			  "\xe9\x1e\x9c\x5a\xc4\xa1\xb2\x37"
  30117			  "\x06\x9b\x30\x32\x67\xf7\xe7\xd2"
  30118			  "\x42\xc7\xdf\x4e\xd4\xcb\xa0\x12"
  30119			  "\x94\xa1\x34\x85\x93\x50\x4b\x0a"
  30120			  "\x3c\x7d\x49\x25\x01\x41\x6b\x96"
  30121			  "\xa9\x12\xbb\x0b\xc0\xd7\xd0\x93"
  30122			  "\x1f\x70\x38\xb8\x21\xee\xf6\xa7"
  30123			  "\xee\xeb\xe7\x81\xa4\x13\xb4\x87"
  30124			  "\xfa\xc1\xb0\xb5\x37\x8b\x74\xa2"
  30125			  "\x4e\xc7\xc2\xad\x3d\x62\x3f\xf8"
  30126			  "\x34\x42\xe5\xae\x45\x13\x63\xfe"
  30127			  "\xfc\x2a\x17\x46\x61\xa9\xd3\x1c"
  30128			  "\x4c\xaf\xf0\x09\x62\x26\x66\x1e"
  30129			  "\x74\xcf\xd6\x68\x3d\x7d\xd8\xb7"
  30130			  "\xe7\xe6\xf8\xf0\x08\x20\xf7\x47"
  30131			  "\x1c\x52\xaa\x0f\x3e\x21\xa3\xf2"
  30132			  "\xbf\x2f\x95\x16\xa8\xc8\xc8\x8c"
  30133			  "\x99\x0f\x5d\xfb\xfa\x2b\x58\x8a"
  30134			  "\x7e\xd6\x74\x02\x60\xf0\xd0\x5b"
  30135			  "\x65\xa8\xac\xea\x8d\x68\x46\x34"
  30136			  "\x26\x9d\x4f\xb1\x9a\x8e\xc0\x1a"
  30137			  "\xf1\xed\xc6\x7a\x83\xfd\x8a\x57"
  30138			  "\xf2\xe6\xe4\xba\xfc\xc6\x3c\xad"
  30139			  "\x5b\x19\x50\x2f\x3a\xcc\x06\x46"
  30140			  "\x04\x51\x3f\x91\x97\xf0\xd2\x07"
  30141			  "\xe7\x93\x89\x7e\xb5\x32\x0f\x03"
  30142			  "\xe5\x58\x9e\x74\x72\xeb\xc2\x38"
  30143			  "\x00\x0c\x91\x72\x69\xed\x7d\x6d"
  30144			  "\xc8\x71\xf0\xec\xff\x80\xd9\x1c"
  30145			  "\x9e\xd2\xfa\x15\xfc\x6c\x4e\xbc"
  30146			  "\xb1\xa6\xbd\xbd\x70\x40\xca\x20"
  30147			  "\xb8\x78\xd2\xa3\xc6\xf3\x79\x9c"
  30148			  "\xc7\x27\xe1\x6a\x29\xad\xa4\x03",
  30149		.len	= 512,
  30150	}, {
  30151		.key	= "\xeb\xe5\x11\x3a\x72\xeb\x10\xbe"
  30152			  "\x70\xcf\xe3\xea\xc2\x74\xa4\x48"
  30153			  "\x29\x0f\x8f\x3f\xcf\x4c\x28\x2a"
  30154			  "\x4e\x1e\x3c\xc3\x27\x9f\x16\x13",
  30155		.klen	= 32,
  30156		.iv	= "\x84\x3e\xa2\x7c\x06\x72\xb2\xad"
  30157			  "\x88\x76\x65\xb4\x1a\x29\x27\x12"
  30158			  "\x45\xb6\x8d\x0e\x4b\x87\x04\xfc"
  30159			  "\xb5\xcd\x1c\x4d\xe8\x06\xf1\xcb",
  30160		.ptext	= "\x8e\xb6\x07\x9b\x7c\xe4\xa4\xa2"
  30161			  "\x41\x6c\x24\x1d\xc0\x77\x4e\xd9"
  30162			  "\x4a\xa4\x2c\xb6\xe4\x55\x02\x7f"
  30163			  "\xc4\xec\xab\xc2\x5c\x63\x40\x92"
  30164			  "\x38\x24\x62\xdb\x65\x82\x10\x7f"
  30165			  "\x21\xa5\x39\x3a\x3f\x38\x7e\xad"
  30166			  "\x6c\x7b\xc9\x3f\x89\x8f\xa8\x08"
  30167			  "\xbd\x31\x57\x3c\x7a\x45\x67\x30"
  30168			  "\xa9\x27\x58\x34\xbe\xe3\xa4\xc3"
  30169			  "\xff\xc2\x9f\x43\xf0\x04\xba\x1e"
  30170			  "\xb6\xf3\xc4\xce\x09\x7a\x2e\x42"
  30171			  "\x7d\xad\x97\xc9\x77\x9a\x3a\x78"
  30172			  "\x6c\xaf\x7c\x2a\x46\xb4\x41\x86"
  30173			  "\x1a\x20\xf2\x5b\x1a\x60\xc9\xc4"
  30174			  "\x47\x5d\x10\xa4\xd2\x15\x6a\x19"
  30175			  "\x4f\xd5\x51\x37\xd5\x06\x70\x1a"
  30176			  "\x3e\x78\xf0\x2e\xaa\xb5\x2a\xbd"
  30177			  "\x83\x09\x7c\xcb\x29\xac\xd7\x9c"
  30178			  "\xbf\x80\xfd\x9d\xd4\xcf\x64\xca"
  30179			  "\xf8\xc9\xf1\x77\x2e\xbb\x39\x26"
  30180			  "\xac\xd9\xbe\xce\x24\x7f\xbb\xa2"
  30181			  "\x82\xba\xeb\x5f\x65\xc5\xf1\x56"
  30182			  "\x8a\x52\x02\x4d\x45\x23\x6d\xeb"
  30183			  "\xb0\x60\x7b\xd8\x6e\xb2\x98\xd2"
  30184			  "\xaf\x76\xf2\x33\x9b\xf3\xbb\x95"
  30185			  "\xc0\x50\xaa\xc7\x47\xf6\xb3\xf3"
  30186			  "\x77\x16\xcb\x14\x95\xbf\x1d\x32"
  30187			  "\x45\x0c\x75\x52\x2c\xe8\xd7\x31"
  30188			  "\xc0\x87\xb0\x97\x30\x30\xc5\x5e"
  30189			  "\x50\x70\x6e\xb0\x4b\x4e\x38\x19"
  30190			  "\x46\xca\x38\x6a\xca\x7d\xfe\x05"
  30191			  "\xc8\x80\x7c\x14\x6c\x24\xb5\x42"
  30192			  "\x28\x04\x4c\xff\x98\x20\x08\x10"
  30193			  "\x90\x31\x03\x78\xd8\xa1\xe6\xf9"
  30194			  "\x52\xc2\xfc\x3e\xa7\x68\xce\xeb"
  30195			  "\x59\x5d\xeb\xd8\x64\x4e\xf8\x8b"
  30196			  "\x24\x62\xcf\x17\x36\x84\xc0\x72"
  30197			  "\x60\x4f\x3e\x47\xda\x72\x3b\x0e"
  30198			  "\xce\x0b\xa9\x9c\x51\xdc\xa5\xb9"
  30199			  "\x71\x73\x08\x4e\x22\x31\xfd\x88"
  30200			  "\x29\xfc\x8d\x17\x3a\x7a\xe5\xb9"
  30201			  "\x0b\x9c\x6d\xdb\xce\xdb\xde\x81"
  30202			  "\x73\x5a\x16\x9d\x3c\x72\x88\x51"
  30203			  "\x10\x16\xf3\x11\x6e\x32\x5f\x4c"
  30204			  "\x87\xce\x88\x2c\xd2\xaf\xf5\xb7"
  30205			  "\xd8\x22\xed\xc9\xae\x68\x7f\xc5"
  30206			  "\x30\x62\xbe\xc9\xe0\x27\xa1\xb5"
  30207			  "\x57\x74\x36\x60\xb8\x6b\x8c\xec"
  30208			  "\x14\xad\xed\x69\xc9\xd8\xa5\x5b"
  30209			  "\x38\x07\x5b\xf3\x3e\x74\x48\x90"
  30210			  "\x61\x17\x23\xdd\x44\xbc\x9d\x12"
  30211			  "\x0a\x3a\x63\xb2\xab\x86\xb8\x67"
  30212			  "\x85\xd6\xb2\x5d\xde\x4a\xc1\x73"
  30213			  "\x2a\x7c\x53\x8e\xd6\x7d\x0e\xe4"
  30214			  "\x3b\xab\xc5\x3d\x32\x79\x18\xb7"
  30215			  "\xd6\x50\x4d\xf0\x8a\x37\xbb\xd3"
  30216			  "\x8d\xd8\x08\xd7\x7d\xaa\x24\x52"
  30217			  "\xf7\x90\xe3\xaa\xd6\x49\x7a\x47"
  30218			  "\xec\x37\xad\x74\x8b\xc1\xb7\xfe"
  30219			  "\x4f\x70\x14\x62\x22\x8c\x63\xc2"
  30220			  "\x1c\x4e\x38\xc3\x63\xb7\xbf\x53"
  30221			  "\xbd\x1f\xac\xa6\x94\xc5\x81\xfa"
  30222			  "\xe0\xeb\x81\xe9\xd9\x1d\x32\x3c"
  30223			  "\x85\x12\xca\x61\x65\xd1\x66\xd8"
  30224			  "\xe2\x0e\xc3\xa3\xff\x0d\xd3\xee"
  30225			  "\xdf\xcc\x3e\x01\xf5\x9b\x45\x5c"
  30226			  "\x33\xb5\xb0\x8d\x36\x1a\xdf\xf8"
  30227			  "\xa3\x81\xbe\xdb\x3d\x4b\xf6\xc6"
  30228			  "\xdf\x7f\xb0\x89\xbd\x39\x32\x50"
  30229			  "\xbb\xb2\xe3\x5c\xbb\x4b\x18\x98"
  30230			  "\x08\x66\x51\xe7\x4d\xfb\xfc\x4e"
  30231			  "\x22\x42\x6f\x61\xdb\x7f\x27\x88"
  30232			  "\x29\x3f\x02\xa9\xc6\x83\x30\xcc"
  30233			  "\x8b\xd5\x64\x7b\x7c\x76\x16\xbe"
  30234			  "\xb6\x8b\x26\xb8\x83\x16\xf2\x6b"
  30235			  "\xd1\xdc\x20\x6b\x42\x5a\xef\x7a"
  30236			  "\xa9\x60\xb8\x1a\xd3\x0d\x4e\xcb"
  30237			  "\x75\x6b\xc5\x80\x43\x38\x7f\xad"
  30238			  "\x9c\x56\xd9\xc4\xf1\x01\x74\xf0"
  30239			  "\x16\x53\x8d\x69\xbe\xf2\x5d\x92"
  30240			  "\x34\x38\xc8\x84\xf9\x1a\xfc\x26"
  30241			  "\x16\xcb\xae\x7d\x38\x21\x67\x74"
  30242			  "\x4c\x40\xaa\x6b\x97\xe0\xb0\x2f"
  30243			  "\xf5\x3e\xf6\xe2\x24\xc8\x22\xa4"
  30244			  "\xa8\x88\x27\x86\x44\x75\x5b\x29"
  30245			  "\x34\x08\x4b\xa1\xfe\x0c\x26\xe5"
  30246			  "\xac\x26\xf6\x21\x0c\xfb\xde\x14"
  30247			  "\xfe\xd7\xbe\xee\x48\x93\xd6\x99"
  30248			  "\x56\x9c\xcf\x22\xad\xa2\x53\x41"
  30249			  "\xfd\x58\xa1\x68\xdc\xc4\xef\x20"
  30250			  "\xa1\xee\xcf\x2b\x43\xb6\x57\xd8"
  30251			  "\xfe\x01\x80\x25\xdf\xd2\x35\x44"
  30252			  "\x0d\x15\x15\xc3\xfc\x49\xbf\xd0"
  30253			  "\xbf\x2f\x95\x81\x09\xa6\xb6\xd7"
  30254			  "\x21\x03\xfe\x52\xb7\xa8\x32\x4d"
  30255			  "\x75\x1e\x46\x44\xbc\x2b\x61\x04"
  30256			  "\x1b\x1c\xeb\x39\x86\x8f\xe9\x49"
  30257			  "\xce\x78\xa5\x5e\x67\xc5\xe9\xef"
  30258			  "\x43\xf8\xf1\x35\x22\x43\x61\xc1"
  30259			  "\x27\xb5\x09\xb2\xb8\xe1\x5e\x26"
  30260			  "\xcc\xf3\x6f\xb2\xb7\x55\x30\x98"
  30261			  "\x87\xfc\xe7\xa8\xc8\x94\x86\xa1"
  30262			  "\xd9\xa0\x3c\x74\x16\xb3\x25\x98"
  30263			  "\xba\xc6\x84\x4a\x27\xa6\x58\xfe"
  30264			  "\xe1\x68\x04\x30\xc8\xdb\x44\x52"
  30265			  "\x4e\xb2\xa4\x6f\xf7\x63\xf2\xd6"
  30266			  "\x63\x36\x17\x04\xf8\x06\xdb\xeb"
  30267			  "\x99\x17\xa5\x1b\x61\x90\xa3\x9f"
  30268			  "\x05\xae\x3e\xe4\xdb\xc8\x1c\x8e"
  30269			  "\x77\x27\x88\xdf\xd3\x22\x5a\xc5"
  30270			  "\x9c\xd6\x22\xf8\xc4\xd8\x92\x9d"
  30271			  "\x16\xcc\x54\x25\x3b\x6f\xdb\xc0"
  30272			  "\x78\xd8\xe3\xb3\x03\x69\xd7\x5d"
  30273			  "\xf8\x08\x04\x63\x61\x9d\x76\xf9"
  30274			  "\xad\x1d\xc4\x30\x9f\x75\x89\x6b"
  30275			  "\xfb\x62\xba\xae\xcb\x1b\x6c\xe5"
  30276			  "\x7e\xea\x58\x6b\xae\xce\x9b\x48"
  30277			  "\x4b\x80\xd4\x5e\x71\x53\xa7\x24"
  30278			  "\x73\xca\xf5\x3e\xbb\x5e\xd3\x1c"
  30279			  "\x33\xe3\xec\x5b\xa0\x32\x9d\x25"
  30280			  "\x0e\x0c\x28\x29\x39\x51\xc5\x70"
  30281			  "\xec\x60\x8f\x77\xfc\x06\x7a\x33"
  30282			  "\x19\xd5\x7a\x6e\x94\xea\xa3\xeb"
  30283			  "\x13\xa4\x2e\x09\xd8\x81\x65\x83"
  30284			  "\x03\x63\x8b\xb5\xc9\x89\x98\x73"
  30285			  "\x69\x53\x8e\xab\xf1\xd2\x2f\x67"
  30286			  "\xbd\xa6\x16\x6e\xd0\x8b\xc1\x25"
  30287			  "\x93\xd2\x50\x7c\x1f\xe1\x11\xd0"
  30288			  "\x58\x0d\x2f\x72\xe7\x5e\xdb\xa2"
  30289			  "\x55\x9a\xe0\x09\x21\xac\x61\x85"
  30290			  "\x4b\x20\x95\x73\x63\x26\xe3\x83"
  30291			  "\x4b\x5b\x40\x03\x14\xb0\x44\x16"
  30292			  "\xbd\xe0\x0e\xb7\x66\x56\xd7\x30"
  30293			  "\xb3\xfd\x8a\xd3\xda\x6a\xa7\x3d"
  30294			  "\x98\x09\x11\xb7\x00\x06\x24\x5a"
  30295			  "\xf7\x42\x94\xa6\x0e\xb1\x6d\x48"
  30296			  "\x74\xb1\xa7\xe6\x92\x0a\x15\x9a"
  30297			  "\xf5\xfa\x55\x1a\x6c\xdd\x71\x08"
  30298			  "\xd0\xf7\x8d\x0e\x7c\x67\x4d\xc6"
  30299			  "\xe6\xde\x78\x88\x88\x3c\x5e\x23"
  30300			  "\x46\xd2\x25\xa4\xfb\xa3\x26\x3f"
  30301			  "\x2b\xfd\x9c\x20\xda\x72\xe1\x81"
  30302			  "\x8f\xe6\xae\x08\x1d\x67\x15\xde"
  30303			  "\x86\x69\x1d\xc6\x1e\x6d\xb7\x5c"
  30304			  "\xdd\x43\x72\x5a\x7d\xa7\xd8\xd7"
  30305			  "\x1e\x66\xc5\x90\xf6\x51\x76\x91"
  30306			  "\xb3\xe3\x39\x81\x75\x08\xfa\xc5"
  30307			  "\x06\x70\x69\x1b\x2c\x20\x74\xe0"
  30308			  "\x53\xb0\x0c\x9d\xda\xa9\x5b\xdd"
  30309			  "\x1c\x38\x6c\x9e\x3b\xc4\x7a\x82"
  30310			  "\x93\x9e\xbb\x75\xfb\x19\x4a\x55"
  30311			  "\x65\x7a\x3c\xda\xcb\x66\x5c\x13"
  30312			  "\x17\x97\xe8\xbd\xae\x24\xd9\x76"
  30313			  "\xfb\x8c\x73\xde\xbd\xb4\x1b\xe0"
  30314			  "\xb9\x2c\xe8\xe0\x1d\x3f\xa8\x2c"
  30315			  "\x1e\x81\x5b\x77\xe7\xdf\x6d\x06"
  30316			  "\x7c\x9a\xf0\x2b\x5d\xfc\x86\xd5"
  30317			  "\xb1\xad\xbc\xa8\x73\x48\x61\x67"
  30318			  "\xd6\xba\xc8\xe8\xe2\xb8\xee\x40"
  30319			  "\x36\x22\x3e\x61\xf6\xc8\x16\xe4"
  30320			  "\x0e\x88\xad\x71\x53\x58\xe1\x6c"
  30321			  "\x8f\x4f\x89\x4b\x3e\x9c\x7f\xe9"
  30322			  "\xad\xc2\x28\xc2\x3a\x29\xf3\xec"
  30323			  "\xa9\x28\x39\xba\xc2\x86\xe1\x06"
  30324			  "\xf3\x8b\xe3\x95\x0c\x87\xb8\x1b"
  30325			  "\x72\x35\x8e\x8f\x6d\x18\xc8\x1c"
  30326			  "\xa5\x5d\x57\x9d\x73\x8a\xbb\x9e"
  30327			  "\x21\x05\x12\xd7\xe0\x21\x1c\x16"
  30328			  "\x3a\x95\x85\xbc\xb0\x71\x0b\x36"
  30329			  "\x6c\x44\x8d\xef\x3b\xec\x3f\x8e"
  30330			  "\x24\xa9\xe3\xa7\x63\x23\xca\x09"
  30331			  "\x62\x96\x79\x0c\x81\x05\x41\xf2"
  30332			  "\x07\x20\x26\xe5\x8e\x10\x54\x03"
  30333			  "\x05\x7b\xfe\x0c\xcc\x8c\x50\xe5"
  30334			  "\xca\x33\x4d\x48\x7a\x03\xd5\x64"
  30335			  "\x49\x09\xf2\x5c\x5d\xfe\x2b\x30"
  30336			  "\xbf\x29\x14\x29\x8b\x9b\x7c\x96"
  30337			  "\x47\x07\x86\x4d\x4e\x4d\xf1\x47"
  30338			  "\xd1\x10\x2a\xa8\xd3\x15\x8c\xf2"
  30339			  "\x2f\xf4\x3a\xdf\xd0\xa7\xcb\x5a"
  30340			  "\xad\x99\x39\x4a\xdf\x60\xbe\xf9"
  30341			  "\x91\x4e\xf5\x94\xef\xc5\x56\x32"
  30342			  "\x33\x86\x78\xa3\xd6\x4c\x29\x7c"
  30343			  "\xe8\xac\x06\xb5\xf5\x01\x5c\x9f"
  30344			  "\x02\xc8\xe8\xbf\x5c\x1a\x7f\x4d"
  30345			  "\x28\xa5\xb9\xda\xa9\x5e\xe7\x4b"
  30346			  "\xf4\x3d\xe9\x1d\x28\xaa\x1a\x8a"
  30347			  "\x76\xc8\x6c\x19\x61\x3c\x9e\x29"
  30348			  "\xcd\xbe\xff\xe0\x1c\xb8\x67\xb5"
  30349			  "\xa4\x46\xf8\xb9\x8a\xa2\xf6\x7c"
  30350			  "\xef\x23\x73\x0c\xe9\x72\x0a\x0d"
  30351			  "\x9b\x40\xd8\xfb\x0c\x9c\xab\xa8",
  30352		.ctext	= "\xfc\x02\x83\x13\x73\x06\x70\x3f"
  30353			  "\x71\x28\x98\x61\xe5\x2c\x45\x49"
  30354			  "\x18\xa2\x0e\x17\xc9\xdb\x4d\xf6"
  30355			  "\xbe\x05\x02\x35\xc1\x18\x61\x28"
  30356			  "\xff\x28\x0a\xd9\x00\xb8\xed\xec"
  30357			  "\x14\x80\x88\x56\xcf\x98\x32\xcc"
  30358			  "\xb0\xee\xb4\x5e\x2d\x61\x59\xcb"
  30359			  "\x48\xc9\x25\xaa\x7e\x5f\xe5\x4f"
  30360			  "\x95\x8f\x5d\x47\xe8\xc3\x09\xb4"
  30361			  "\xce\xe7\x74\xcd\xc6\x09\x5c\xfc"
  30362			  "\xc7\x79\xc9\x39\xe4\xe3\x9b\x59"
  30363			  "\x67\x61\x10\xc9\xb7\x7a\xa8\x11"
  30364			  "\x59\xf6\x7a\x67\x1c\x3a\x70\x76"
  30365			  "\x2e\x0e\xbd\x10\x93\x01\x06\xea"
  30366			  "\x51\xc6\x5c\xa7\xda\xd1\x7d\x06"
  30367			  "\x8b\x1d\x5b\xb6\x87\xf0\x32\xbe"
  30368			  "\xff\x55\xaa\x58\x5a\x28\xd1\x64"
  30369			  "\x45\x3b\x0b\x5c\xee\xc4\x12\x2d"
  30370			  "\x1f\xb7\xa5\x73\xf5\x20\xf5\xa8"
  30371			  "\x10\x9d\xd8\x16\xd2\x05\x4d\x49"
  30372			  "\x99\x4a\x71\x56\xec\xa3\xc7\x27"
  30373			  "\xb0\x98\xcd\x59\x3c\x8a\xd1\x9e"
  30374			  "\x33\xa5\x92\xf2\xb7\x87\x23\x5d"
  30375			  "\x53\x9a\x8e\x7c\x63\x57\x5e\x9a"
  30376			  "\x21\x54\x7a\x3c\x5a\xd5\x68\x69"
  30377			  "\x35\x17\x51\x06\x19\x82\x9d\x44"
  30378			  "\x9e\x8a\x75\xc5\x16\x55\xa4\x78"
  30379			  "\x95\x63\xc3\xf0\x91\x73\x77\x44"
  30380			  "\x0c\xff\xb9\xb3\xa7\x5f\xcf\x2a"
  30381			  "\xa2\x54\x9c\xe3\x8b\x7e\x9d\x65"
  30382			  "\xe5\x64\x8b\xbe\x06\x3a\x90\x31"
  30383			  "\xdb\x42\x78\xe9\xe6\x8a\xae\xba"
  30384			  "\x8f\xfb\xc9\x3d\xd9\xc2\x3e\x57"
  30385			  "\xd5\x58\xfe\x70\x44\xe5\x2a\xd5"
  30386			  "\x87\xcf\x9f\x6a\x02\xde\x48\xe9"
  30387			  "\x13\xed\x8d\x2b\xf2\xa1\x56\x07"
  30388			  "\x36\x2d\xcf\xc3\x5c\xd4\x4b\x20"
  30389			  "\xb0\xdf\x1a\x70\xed\x0a\xe4\x2e"
  30390			  "\x9a\xfc\x88\xa1\xc4\x2d\xd6\xb8"
  30391			  "\xf1\x6e\x2c\x5c\xdc\x0e\xb0\x21"
  30392			  "\x2d\x76\xb8\xc3\x05\x4c\xf5\xc5"
  30393			  "\x9a\x14\xab\x08\xc2\x67\x59\x30"
  30394			  "\x7a\xef\xd8\x4a\x89\x49\xd4\xf0"
  30395			  "\x22\x39\xf2\x61\xaa\x70\x36\xcf"
  30396			  "\x65\xee\x43\x83\x2e\x32\xe4\xc9"
  30397			  "\xc2\xf1\xc7\x08\x28\x59\x10\x6f"
  30398			  "\x7a\xeb\x8f\x78\x9e\xdf\x07\x0f"
  30399			  "\xca\xc7\x02\x6a\x2e\x2a\xf0\x64"
  30400			  "\xfa\x4c\x8c\x4c\xfc\x13\x23\x63"
  30401			  "\x54\xeb\x1d\x41\xdf\x88\xd6\x66"
  30402			  "\xae\x5e\x31\x74\x5d\x84\x65\xb8"
  30403			  "\x61\x1c\x88\x1b\x8f\xb6\x14\x4e"
  30404			  "\x73\x23\x27\x71\x85\x04\x07\x59"
  30405			  "\x18\xa3\x2b\x69\x2a\x42\x81\xbf"
  30406			  "\x40\xf4\x40\xdf\x04\xb8\x6c\x2e"
  30407			  "\x21\x5b\x22\x25\x61\x01\x96\xce"
  30408			  "\xfb\xbc\x75\x25\x2c\x03\x55\xea"
  30409			  "\xb6\x56\x31\x03\xc8\x98\x77\xd6"
  30410			  "\x30\x19\x9e\x45\x05\xfd\xca\xdf"
  30411			  "\xae\x89\x30\xa3\xc1\x65\x41\x67"
  30412			  "\x12\x8e\xa4\x61\xd0\x87\x04\x0a"
  30413			  "\xe6\xf3\x43\x3a\x38\xce\x22\x36"
  30414			  "\x41\xdc\xe1\x7d\xd2\xa6\xe2\x66"
  30415			  "\x21\x8d\xc9\x59\x73\x52\x34\xd8"
  30416			  "\x1f\xf1\x87\x00\x9b\x12\x74\xeb"
  30417			  "\xbb\xa9\x34\x0c\x8e\x79\x74\x64"
  30418			  "\xbf\x94\x97\xe4\x94\xda\xf0\x39"
  30419			  "\x66\xa8\xd9\x82\xe3\x11\x3d\xe7"
  30420			  "\xb3\x9a\x40\x7a\x6f\x71\xc7\x0f"
  30421			  "\x7b\x6d\x59\x79\x18\x2f\x11\x60"
  30422			  "\x1e\xe0\xae\x1b\x1b\xb4\xad\x4d"
  30423			  "\x63\xd9\x3e\xa0\x8f\xe3\x66\x8c"
  30424			  "\xfe\x5a\x73\x07\x95\x27\x1a\x07"
  30425			  "\x6e\xd6\x14\x3f\xbe\xc5\x99\x94"
  30426			  "\xcf\x40\xf4\x39\x1c\xf2\x99\x5b"
  30427			  "\xb7\xfb\xb4\x4e\x5f\x21\x10\x04"
  30428			  "\x24\x08\xd4\x0d\x10\x7a\x2f\x52"
  30429			  "\x7d\x91\xc3\x38\xd3\x16\xf0\xfd"
  30430			  "\x53\xba\xda\x88\xa5\xf6\xc7\xfd"
  30431			  "\x63\x4a\x9f\x48\xb5\x31\xc2\xe1"
  30432			  "\x7b\x3e\xac\x8d\xc9\x95\x02\x92"
  30433			  "\xcc\xbd\x0e\x15\x2d\x97\x08\x82"
  30434			  "\xa6\x99\xbc\x2c\x96\x91\xde\xa4"
  30435			  "\x9c\xf5\x2c\xef\x12\x29\xb0\x72"
  30436			  "\x5f\x60\x5d\x3d\xf3\x85\x59\x79"
  30437			  "\xac\x06\x63\x74\xcc\x1a\x8d\x0e"
  30438			  "\xa7\x5f\xd9\x3e\x84\xf7\xbb\xde"
  30439			  "\x06\xd9\x4b\xab\xee\xb2\x03\xbe"
  30440			  "\x68\x49\x72\x84\x8e\xf8\x45\x2b"
  30441			  "\x59\x99\x17\xd3\xe9\x32\x79\xc3"
  30442			  "\x83\x4c\x7a\x6c\x71\x53\x8c\x09"
  30443			  "\x76\xfb\x3e\x80\x99\xbc\x2c\x7d"
  30444			  "\x42\xe5\x70\x08\x80\xc7\xaf\x15"
  30445			  "\x90\xda\x98\x98\x81\x04\x1c\x4d"
  30446			  "\x78\xf1\xf3\xcc\x1b\x3a\x7b\xef"
  30447			  "\xea\xe1\xee\x0e\xd2\x32\xb6\x63"
  30448			  "\xbf\xb2\xb5\x86\x8d\x16\xd3\x23"
  30449			  "\x04\x59\x51\xbb\x17\x03\xc0\x07"
  30450			  "\x93\xbf\x72\x58\x30\xf2\x0a\xa2"
  30451			  "\xbc\x60\x86\x3b\x68\x91\x67\x14"
  30452			  "\x10\x76\xda\xa3\x98\x2d\xfc\x8a"
  30453			  "\xb8\x95\xf7\xd2\x8b\x97\x8b\xfc"
  30454			  "\xf2\x9e\x86\x20\xb6\xdf\x93\x41"
  30455			  "\x06\x5e\x37\x3e\xe2\xb8\xd5\x06"
  30456			  "\x59\xd2\x8d\x43\x91\x5a\xed\x94"
  30457			  "\x54\xc2\x77\xbc\x0b\xb4\x29\x80"
  30458			  "\x22\x19\xe7\x35\x1f\x29\x4f\xd8"
  30459			  "\x02\x98\xee\x83\xca\x4c\x94\xa3"
  30460			  "\xec\xde\x4b\xf5\xca\x57\x93\xa3"
  30461			  "\x72\x69\xfe\x27\x7d\x39\x24\x9a"
  30462			  "\x60\x19\x72\xbe\x24\xb2\x2d\x99"
  30463			  "\x8c\xb7\x32\xf8\x74\x77\xfc\x8d"
  30464			  "\xb2\xc1\x7a\x88\x28\x26\xea\xb7"
  30465			  "\xad\xf0\x38\x49\x88\x78\x73\xcd"
  30466			  "\x01\xef\xb9\x30\x1a\x33\xa3\x24"
  30467			  "\x9b\x0b\xc5\x89\x64\x3f\xbe\x76"
  30468			  "\xd5\xa5\x28\x74\xa2\xc6\xa0\xa0"
  30469			  "\xdd\x13\x81\x64\x2f\xd1\xab\x15"
  30470			  "\xab\x13\xb5\x68\x59\xa4\x9f\x0e"
  30471			  "\x1e\x0a\xaf\xf7\x0b\x6e\x6b\x0b"
  30472			  "\xf7\x95\x4c\xbc\x1d\x40\x6d\x9c"
  30473			  "\x08\x42\xef\x07\x03\xb7\xa3\xea"
  30474			  "\x2a\x5f\xec\x41\x3c\x72\x31\x9d"
  30475			  "\xdc\x6b\x3a\x5e\x35\x3d\x12\x09"
  30476			  "\x27\xe8\x63\xbe\xcf\xb3\xbc\x01"
  30477			  "\x2d\x0c\x86\xb2\xab\x4a\x69\xe5"
  30478			  "\xf8\x45\x97\x76\x0e\x31\xe5\xc6"
  30479			  "\x4c\x4f\x94\xa5\x26\x19\x9f\x1b"
  30480			  "\xe1\xf4\x79\x04\xb4\x93\x92\xdc"
  30481			  "\xa5\x2a\x66\x25\x0d\xb2\x9e\xea"
  30482			  "\xa8\xf6\x02\x77\x2d\xd1\x3f\x59"
  30483			  "\x5c\x04\xe2\x36\x52\x5f\xa1\x27"
  30484			  "\x0a\x07\x56\xb6\x2d\xd5\x90\x32"
  30485			  "\x64\xee\x3f\x42\x8f\x61\xf8\xa0"
  30486			  "\xc1\x8b\x1e\x0b\xa2\x73\xa9\xf3"
  30487			  "\xc9\x0e\xb1\x96\x3a\x67\x5f\x1e"
  30488			  "\xd1\x98\x57\xa2\xba\xb3\x23\x9d"
  30489			  "\xa3\xc6\x3c\x7d\x5e\x3e\xb3\xe8"
  30490			  "\x80\xae\x2d\xda\x85\x90\x69\x3c"
  30491			  "\xf0\xe7\xdd\x9e\x20\x10\x52\xdb"
  30492			  "\xc3\xa0\x15\x73\xee\xb1\xf1\x0f"
  30493			  "\xf1\xf8\x3f\x40\xe5\x17\x80\x4e"
  30494			  "\x91\x95\xc7\xec\xd1\x9c\xd9\x1a"
  30495			  "\x8b\xac\xec\xc9\x0c\x07\xf4\xdc"
  30496			  "\x77\x2d\xa2\xc4\xf8\x27\xb5\x41"
  30497			  "\x2f\x85\xa6\x48\xad\x2a\x58\xc5"
  30498			  "\xea\xfa\x1c\xdb\xfd\xb7\x70\x45"
  30499			  "\xfc\xad\x11\xaf\x05\xed\xbf\xb6"
  30500			  "\x3c\xe1\x57\xb8\x72\x4a\xa0\x6b"
  30501			  "\x40\xd3\xda\xa9\xbc\xa5\x02\x95"
  30502			  "\x8c\xf0\x4e\x67\xb2\x58\x66\xea"
  30503			  "\x58\x0e\xc4\x88\xbc\x1d\x3b\x15"
  30504			  "\x17\xc8\xf5\xd0\x69\x08\x0a\x01"
  30505			  "\x80\x2e\x9e\x69\x4c\x37\x0b\xba"
  30506			  "\xfb\x1a\xa9\xc3\x5f\xec\x93\x7c"
  30507			  "\x4f\x72\x68\x1a\x05\xa1\x32\xe1"
  30508			  "\x16\x57\x9e\xa6\xe0\x42\xfa\x76"
  30509			  "\xc2\xf6\xd3\x9b\x37\x0d\xa3\x58"
  30510			  "\x30\x27\xe7\xea\xb1\xc3\x43\xfb"
  30511			  "\x67\x04\x70\x86\x0a\x71\x69\x34"
  30512			  "\xca\xb1\xe3\x4a\x56\xc9\x29\xd1"
  30513			  "\x12\x6a\xee\x89\xfd\x27\x83\xdf"
  30514			  "\x32\x1a\xc2\xe9\x94\xcc\x44\x2e"
  30515			  "\x0f\x3e\xc8\xc1\x70\x5b\xb0\xe8"
  30516			  "\x6d\x47\xe3\x39\x75\xd5\x45\x8a"
  30517			  "\x48\x4c\x64\x76\x6f\xae\x24\x6f"
  30518			  "\xae\x77\x33\x5b\xf5\xca\x9c\x30"
  30519			  "\x2c\x27\x15\x5e\x9c\x65\xad\x2a"
  30520			  "\x88\xb1\x36\xf6\xcd\x5e\x73\x72"
  30521			  "\x99\x5c\xe2\xe4\xb8\x3e\x12\xfb"
  30522			  "\x55\x86\xfa\xab\x53\x12\xdc\x6a"
  30523			  "\xe3\xfe\x6a\xeb\x9b\x5d\xeb\x72"
  30524			  "\x9d\xf1\xbb\x80\x80\x76\x2d\x57"
  30525			  "\x11\xde\xcf\xae\x46\xad\xdb\xcd"
  30526			  "\x62\x66\x3d\x7b\x7f\xcb\xc4\x43"
  30527			  "\x81\x0c\x7e\xb9\xb7\x47\x1a\x40"
  30528			  "\xfd\x08\x51\xbe\x01\x1a\xd8\x31"
  30529			  "\x43\x5e\x24\x91\xa2\x53\xa1\xc5"
  30530			  "\x8a\xe4\xbc\x00\x8e\xf7\x0c\x30"
  30531			  "\xdf\x03\x34\x2f\xce\xe4\x2e\xda"
  30532			  "\x2b\x87\xfc\xf8\x9b\x50\xd5\xb0"
  30533			  "\x5b\x08\xc6\x17\xa0\xae\x6b\x24"
  30534			  "\xe2\x1d\xd0\x47\xbe\xc4\x8f\x62"
  30535			  "\x1d\x12\x26\xc7\x78\xd4\xf2\xa3"
  30536			  "\xea\x39\x8c\xcb\x54\x3e\x2b\xb9"
  30537			  "\x9a\x8f\x97\xcf\x68\x53\x40\x02"
  30538			  "\x56\xac\x52\xbb\x62\x3c\xc6\x3f"
  30539			  "\x3a\x53\x3c\xe8\x21\x9a\x60\x65"
  30540			  "\x10\x6e\x59\xc3\x4f\xc3\x07\xc8"
  30541			  "\x61\x1c\xea\x62\x6e\xa2\x5a\x12"
  30542			  "\xd6\x10\x91\xbe\x5e\x58\x73\xbe"
  30543			  "\x77\xb8\xb7\x98\xc7\x7e\x78\x9a",
  30544		.len	= 1536,
  30545	}, {
  30546		.key	= "\x60\xd5\x36\xb0\x8e\x5d\x0e\x5f"
  30547			  "\x70\x47\x8c\xea\x87\x30\x1d\x58"
  30548			  "\x2a\xb2\xe8\xc6\xcb\x60\xe7\x6f"
  30549			  "\x56\x95\x83\x98\x38\x80\x84\x8a",
  30550		.klen	= 32,
  30551		.iv	= "\x43\xfe\x63\x3c\xdc\x9e\x0c\xa6"
  30552			  "\xee\x9c\x0b\x97\x65\xc2\x56\x1d"
  30553			  "\x5d\xd0\xbf\xa3\x9f\x1e\xfb\x78"
  30554			  "\xbf\x51\x1b\x18\x73\x27\x27\x8c",
  30555		.ptext	= "\x0b\x77\xd8\xa3\x8c\xa6\xb2\x2d"
  30556			  "\x3e\xdd\xcc\x7c\x4a\x3e\x61\xc4"
  30557			  "\x9a\x7f\x73\xb0\xb3\x29\x32\x61"
  30558			  "\x13\x25\x62\xcc\x59\x4c\xf4\xdb"
  30559			  "\xd7\xf5\xf4\xac\x75\x51\xb2\x83"
  30560			  "\x64\x9d\x1c\x8b\xd1\x8b\x0c\x06"
  30561			  "\xf1\x9f\xba\x9d\xae\x62\xd4\xd8"
  30562			  "\x96\xbe\x3c\x4c\x32\xe4\x82\x44"
  30563			  "\x47\x5a\xec\xb8\x8a\x5b\xd5\x35"
  30564			  "\x57\x1e\x5c\x80\x6f\x77\xa9\xb9"
  30565			  "\xf2\x4f\x71\x1e\x48\x51\x86\x43"
  30566			  "\x0d\xd5\x5b\x52\x30\x40\xcd\xbb"
  30567			  "\x2c\x25\xc1\x47\x8b\xb7\x13\xc2"
  30568			  "\x3a\x11\x40\xfc\xed\x45\xa4\xf0"
  30569			  "\xd6\xfd\x32\x99\x13\x71\x47\x2e"
  30570			  "\x4c\xb0\x81\xac\x95\x31\xd6\x23"
  30571			  "\xa4\x2f\xa9\xe8\x5a\x62\xdc\x96"
  30572			  "\xcf\x49\xa7\x17\x77\x76\x8a\x8c"
  30573			  "\x04\x22\xaf\xaf\x6d\xd9\x16\xba"
  30574			  "\x35\x21\x66\x78\x3d\xb6\x65\x83"
  30575			  "\xc6\xc1\x67\x8c\x32\xd6\xc0\xc7"
  30576			  "\xf5\x8a\xfc\x47\xd5\x87\x09\x2f"
  30577			  "\x51\x9d\x57\x6c\x29\x0b\x1c\x32"
  30578			  "\x47\x6e\x47\xb5\xf3\x81\xc8\x82"
  30579			  "\xca\x5d\xe3\x61\x38\xa0\xdc\xcc"
  30580			  "\x35\x73\xfd\xb3\x92\x5c\x72\xd2"
  30581			  "\x2d\xad\xf6\xcd\x20\x36\xff\x49"
  30582			  "\x48\x80\x21\xd3\x2f\x5f\xe9\xd8"
  30583			  "\x91\x20\x6b\xb1\x38\x52\x1e\xbc"
  30584			  "\x88\x48\xa1\xde\xc0\xa5\x46\xce"
  30585			  "\x9f\x32\x29\xbc\x2b\x51\x0b\xae"
  30586			  "\x7a\x44\x4e\xed\xeb\x95\x63\x99"
  30587			  "\x96\x87\xc9\x34\x02\x26\xde\x20"
  30588			  "\xe4\xcb\x59\x0c\xb5\x55\xbd\x55"
  30589			  "\x3f\xa9\x15\x25\xa7\x5f\xab\x10"
  30590			  "\xbe\x9a\x59\x6c\xd5\x27\xf3\xf0"
  30591			  "\x73\x4a\xb3\xe4\x08\x11\x00\xeb"
  30592			  "\xf1\xae\xc8\x0d\xef\xcd\xb5\xfc"
  30593			  "\x0d\x7e\x03\x67\xad\x0d\xec\xf1"
  30594			  "\x9a\xfd\x31\x60\x3e\xa2\xfa\x1c"
  30595			  "\x93\x79\x31\x31\xd6\x66\x7a\xbd"
  30596			  "\x85\xfd\x22\x08\x00\xae\x72\x10"
  30597			  "\xd6\xb0\xf4\xb8\x4a\x72\x5b\x9c"
  30598			  "\xbf\x84\xdd\xeb\x13\x05\x28\xb7"
  30599			  "\x61\x60\xfd\x7f\xf0\xbe\x4d\x18"
  30600			  "\x7d\xc9\xba\xb0\x01\x59\x74\x18"
  30601			  "\xe4\xf6\xa6\x74\x5d\x3f\xdc\xa0"
  30602			  "\x9e\x57\x93\xbf\x16\x6c\xf6\xbd"
  30603			  "\x93\x45\x38\x95\xb9\x69\xe9\x62"
  30604			  "\x21\x73\xbd\x81\x73\xac\x15\x74"
  30605			  "\x9e\x68\x28\x91\x38\xb7\xd4\x47"
  30606			  "\xc7\xab\xc9\x14\xad\x52\xe0\x4c"
  30607			  "\x17\x1c\x42\xc1\xb4\x9f\xac\xcc"
  30608			  "\xc8\x12\xea\xa9\x9e\x30\x21\x14"
  30609			  "\xa8\x74\xb4\x74\xec\x8d\x40\x06"
  30610			  "\x82\xb7\x92\xd7\x42\x5b\xf2\xf9"
  30611			  "\x6a\x1e\x75\x6e\x44\x55\xc2\x8d"
  30612			  "\x73\x5b\xb8\x8c\x3c\xef\x97\xde"
  30613			  "\x24\x43\xb3\x0e\xba\xad\x63\x63"
  30614			  "\x16\x0a\x77\x03\x48\xcf\x02\x8d"
  30615			  "\x76\x83\xa3\xba\x73\xbe\x80\x3f"
  30616			  "\x8f\x6e\x76\x24\xc1\xff\x2d\xb4"
  30617			  "\x20\x06\x9b\x67\xea\x29\xb5\xe0"
  30618			  "\x57\xda\x30\x9d\x38\xa2\x7d\x1e"
  30619			  "\x8f\xb9\xa8\x17\x64\xea\xbe\x04"
  30620			  "\x84\xd1\xce\x2b\xfd\x84\xf9\x26"
  30621			  "\x1f\x26\x06\x5c\x77\x6d\xc5\x9d"
  30622			  "\xe6\x37\x76\x60\x7d\x3e\xf9\x02"
  30623			  "\xba\xa6\xf3\x7f\xd3\x95\xb4\x0e"
  30624			  "\x52\x1c\x6a\x00\x8f\x3a\x0b\xce"
  30625			  "\x30\x98\xb2\x63\x2f\xff\x2d\x3b"
  30626			  "\x3a\x06\x65\xaf\xf4\x2c\xef\xbb"
  30627			  "\x88\xff\x2d\x4c\xa9\xf4\xff\x69"
  30628			  "\x9d\x46\xae\x67\x00\x3b\x40\x94"
  30629			  "\xe9\x7a\xf7\x0b\xb7\x3c\xa2\x2f"
  30630			  "\xc3\xde\x5e\x29\x01\xde\xca\xfa"
  30631			  "\xc6\xda\xd7\x19\xc7\xde\x4a\x16"
  30632			  "\x93\x6a\xb3\x9b\x47\xe9\xd2\xfc"
  30633			  "\xa1\xc3\x95\x9c\x0b\xa0\x2b\xd4"
  30634			  "\xd3\x1e\xd7\x21\x96\xf9\x1e\xf4"
  30635			  "\x59\xf4\xdf\x00\xf3\x37\x72\x7e"
  30636			  "\xd8\xfd\x49\xd4\xcd\x61\x7b\x22"
  30637			  "\x99\x56\x94\xff\x96\xcd\x9b\xb2"
  30638			  "\x76\xca\x9f\x56\xae\x04\x2e\x75"
  30639			  "\x89\x4e\x1b\x60\x52\xeb\x84\xf4"
  30640			  "\xd1\x33\xd2\x6c\x09\xb1\x1c\x43"
  30641			  "\x08\x67\x02\x01\xe3\x64\x82\xee"
  30642			  "\x36\xcd\xd0\x70\xf1\x93\xd5\x63"
  30643			  "\xef\x48\xc5\x56\xdb\x0a\x35\xfe"
  30644			  "\x85\x48\xb6\x97\x97\x02\x43\x1f"
  30645			  "\x7d\xc9\xa8\x2e\x71\x90\x04\x83"
  30646			  "\xe7\x46\xbd\x94\x52\xe3\xc5\xd1"
  30647			  "\xce\x6a\x2d\x6b\x86\x9a\xf5\x31"
  30648			  "\xcd\x07\x9c\xa2\xcd\x49\xf5\xec"
  30649			  "\x01\x3e\xdf\xd5\xdc\x15\x12\x9b"
  30650			  "\x0c\x99\x19\x7b\x2e\x83\xfb\xd8"
  30651			  "\x89\x3a\x1c\x1e\xb4\xdb\xeb\x23"
  30652			  "\xd9\x42\xae\x47\xfc\xda\x37\xe0"
  30653			  "\xd2\xb7\x47\xd9\xe8\xb5\xf6\x20"
  30654			  "\x42\x8a\x9d\xaf\xb9\x46\x80\xfd"
  30655			  "\xd4\x74\x6f\x38\x64\xf3\x8b\xed"
  30656			  "\x81\x94\x56\xe7\xf1\x1a\x64\x17"
  30657			  "\xd4\x27\x59\x09\xdf\x9b\x74\x05"
  30658			  "\x79\x6e\x13\x29\x2b\x9e\x1b\x86"
  30659			  "\x73\x9f\x40\xbe\x6e\xff\x92\x4e"
  30660			  "\xbf\xaa\xf4\xd0\x88\x8b\x6f\x73"
  30661			  "\x9d\x8b\xbf\xe5\x8a\x85\x45\x67"
  30662			  "\xd3\x13\x72\xc6\x2a\x63\x3d\xb1"
  30663			  "\x35\x7c\xb4\x38\xbb\x31\xe3\x77"
  30664			  "\x37\xad\x75\xa9\x6f\x84\x4e\x4f"
  30665			  "\xeb\x5b\x5d\x39\x6d\xed\x0a\xad"
  30666			  "\x6c\x1b\x8e\x1f\x57\xfa\xc7\x7c"
  30667			  "\xbf\xcf\xf2\xd1\x72\x3b\x70\x78"
  30668			  "\xee\x8e\xf3\x4f\xfd\x61\x30\x9f"
  30669			  "\x56\x05\x1d\x7d\x94\x9b\x5f\x8c"
  30670			  "\xa1\x0f\xeb\xc3\xa9\x9e\xb8\xa0"
  30671			  "\xc6\x4e\x1e\xb1\xbc\x0a\x87\xa8"
  30672			  "\x52\xa9\x1e\x3d\x58\x8e\xc6\x95"
  30673			  "\x85\x58\xa3\xc3\x3a\x43\x32\x50"
  30674			  "\x6c\xb3\x61\xe1\x0c\x7d\x02\x63"
  30675			  "\x5f\x8b\xdf\xef\x13\xf8\x66\xea"
  30676			  "\x89\x00\x1f\xbd\x5b\x4c\xd5\x67"
  30677			  "\x8f\x89\x84\x33\x2d\xd3\x70\x94"
  30678			  "\xde\x7b\xd4\xb0\xeb\x07\x96\x98"
  30679			  "\xc5\xc0\xbf\xc8\xcf\xdc\xc6\x5c"
  30680			  "\xd3\x7d\x78\x30\x0e\x14\xa0\x86"
  30681			  "\xd7\x8a\xb7\x53\xa3\xec\x71\xbf"
  30682			  "\x85\xf2\xea\xbd\x77\xa6\xd1\xfd"
  30683			  "\x5a\x53\x0c\xc3\xff\xf5\x1d\x46"
  30684			  "\x37\xb7\x2d\x88\x5c\xeb\x7a\x0c"
  30685			  "\x0d\x39\xc6\x40\x08\x90\x1f\x58"
  30686			  "\x36\x12\x35\x28\x64\x12\xe7\xbb"
  30687			  "\x50\xac\x45\x15\x7b\x16\x23\x5e"
  30688			  "\xd4\x11\x2a\x8e\x17\x47\xe1\xd0"
  30689			  "\x69\xc6\xd2\x5c\x2c\x76\xe6\xbb"
  30690			  "\xf7\xe7\x34\x61\x8e\x07\x36\xc8"
  30691			  "\xce\xcf\x3b\xeb\x0a\x55\xbd\x4e"
  30692			  "\x59\x95\xc9\x32\x5b\x79\x7a\x86"
  30693			  "\x03\x74\x4b\x10\x87\xb3\x60\xf6"
  30694			  "\x21\xa4\xa6\xa8\x9a\xc9\x3a\x6f"
  30695			  "\xd8\x13\xc9\x18\xd4\x38\x2b\xc2"
  30696			  "\xa5\x7e\x6a\x09\x0f\x06\xdf\x53"
  30697			  "\x9a\x44\xd9\x69\x2d\x39\x61\xb7"
  30698			  "\x1c\x36\x7f\x9e\xc6\x44\x9f\x42"
  30699			  "\x18\x0b\x99\xe6\x27\xa3\x1e\xa6"
  30700			  "\xd0\xb9\x9a\x2b\x6f\x60\x75\xbd"
  30701			  "\x52\x4a\x91\xd4\x7b\x8f\x95\x9f"
  30702			  "\xdd\x74\xed\x8b\x20\x00\xdd\x08"
  30703			  "\x6e\x5b\x61\x7b\x06\x6a\x19\x84"
  30704			  "\x1c\xf9\x86\x65\xcd\x1c\x73\x3f"
  30705			  "\x28\x5c\x8a\x93\x1a\xf3\xa3\x6c"
  30706			  "\x6c\xa9\x7c\xea\x3c\xd4\x15\x45"
  30707			  "\x7f\xbc\xe3\xbb\x42\xf0\x2e\x10"
  30708			  "\xcd\x0c\x8b\x44\x1a\x82\x83\x0c"
  30709			  "\x58\xb1\x24\x28\xa0\x11\x2f\x63"
  30710			  "\xa5\x82\xc5\x9f\x86\x42\xf4\x4d"
  30711			  "\x89\xdb\x76\x4a\xc3\x7f\xc4\xb8"
  30712			  "\xdd\x0d\x14\xde\xd2\x62\x02\xcb"
  30713			  "\x70\xb7\xee\xf4\x6a\x09\x12\x5e"
  30714			  "\xd1\x26\x1a\x2c\x20\x71\x31\xef"
  30715			  "\x7d\x65\x57\x65\x98\xff\x8b\x02"
  30716			  "\x9a\xb5\xa4\xa1\xaf\x03\xc4\x50"
  30717			  "\x33\xcf\x1b\x25\xfa\x7a\x79\xcc"
  30718			  "\x55\xe3\x21\x63\x0c\x6d\xeb\x5b"
  30719			  "\x1c\xad\x61\x0b\xbd\xb0\x48\xdb"
  30720			  "\xb3\xc8\xa0\x87\x7f\x8b\xac\xfd"
  30721			  "\xd2\x68\x9e\xb4\x11\x3c\x6f\xb1"
  30722			  "\xfe\x25\x7d\x84\x5a\xae\xc9\x31"
  30723			  "\xc3\xe5\x6a\x6f\xbc\xab\x41\xd9"
  30724			  "\xde\xce\xf9\xfa\xd5\x7c\x47\xd2"
  30725			  "\x66\x30\xc9\x97\xf2\x67\xdf\x59"
  30726			  "\xef\x4e\x11\xbc\x4e\x70\xe3\x46"
  30727			  "\x53\xbe\x16\x6d\x33\xfb\x57\x98"
  30728			  "\x4e\x34\x79\x3b\xc7\x3b\xaf\x94"
  30729			  "\xc1\x87\x4e\x47\x11\x1b\x22\x41"
  30730			  "\x99\x12\x61\xe0\xe0\x8c\xa9\xbd"
  30731			  "\x79\xb6\x06\x4d\x90\x3b\x0d\x30"
  30732			  "\x1a\x00\xaa\x0e\xed\x7c\x16\x2f"
  30733			  "\x0d\x1a\xfb\xf8\xad\x51\x4c\xab"
  30734			  "\x98\x4c\x80\xb6\x92\x03\xcb\xa9"
  30735			  "\x99\x9d\x16\xab\x43\x8c\x3f\x52"
  30736			  "\x96\x53\x63\x7e\xbb\xd2\x76\xb7"
  30737			  "\x6b\x77\xab\x52\x80\x33\xe3\xdf"
  30738			  "\x4b\x3c\x23\x1a\x33\xe1\x43\x40"
  30739			  "\x39\x1a\xe8\xbd\x3c\x6a\x77\x42"
  30740			  "\x88\x9f\xc6\xaa\x65\x28\xf2\x1e"
  30741			  "\xb0\x7c\x8e\x10\x41\x31\xe9\xd5"
  30742			  "\x9d\xfd\x28\x7f\xfb\x61\xd3\x39"
  30743			  "\x5f\x7e\xb4\xfb\x9c\x7d\x98\xb7"
  30744			  "\x37\x2f\x18\xd9\x3b\x83\xaf\x4e"
  30745			  "\xbb\xd5\x49\x69\x46\x93\x3a\x21"
  30746			  "\x46\x1d\xad\x84\xb5\xe7\x8c\xff"
  30747			  "\xbf\x81\x7e\x22\xf6\x88\x8c\x82"
  30748			  "\xf5\xde\xfe\x18\xc9\xfb\x58\x07"
  30749			  "\xe4\x68\xff\x9c\xf4\xe0\x24\x20"
  30750			  "\x90\x92\x01\x49\xc2\x38\xe1\x7c"
  30751			  "\xac\x61\x0b\x96\x36\xa4\x77\xe9"
  30752			  "\x29\xd4\x97\xae\x15\x13\x7c\x6c"
  30753			  "\x2d\xf1\xc5\x83\x97\x02\xa8\x2e"
  30754			  "\x0b\x0f\xaf\xb5\x42\x18\x8a\x8c"
  30755			  "\xb8\x28\x85\x28\x1b\x2a\x12\xa5"
  30756			  "\x4b\x0a\xaf\xd2\x72\x37\x66\x23"
  30757			  "\x28\xe6\x71\xa0\x77\x85\x7c\xff"
  30758			  "\xf3\x8d\x2f\x0c\x33\x30\xcd\x7f"
  30759			  "\x61\x64\x23\xb2\xe9\x79\x05\xb8"
  30760			  "\x61\x47\xb1\x2b\xda\xf7\x9a\x24"
  30761			  "\x94\xf6\xcf\x07\x78\xa2\x80\xaa"
  30762			  "\x6e\xe9\x58\x97\x19\x0c\x58\x73"
  30763			  "\xaf\xee\x2d\x6e\x26\x67\x18\x8a"
  30764			  "\xc6\x6d\xf6\xbc\x65\xa9\xcb\xe7"
  30765			  "\x53\xf1\x61\x97\x63\x52\x38\x86"
  30766			  "\x0e\xdd\x33\xa5\x30\xe9\x9f\x32"
  30767			  "\x43\x64\xbc\x2d\xdc\x28\x43\xd8"
  30768			  "\x6c\xcd\x00\x2c\x87\x9a\x33\x79"
  30769			  "\xbd\x63\x6d\x4d\xf9\x8a\x91\x83"
  30770			  "\x9a\xdb\xf7\x9a\x11\xe1\xd1\x93"
  30771			  "\x4a\x54\x0d\x51\x38\x30\x84\x0b"
  30772			  "\xc5\x29\x8d\x92\x18\x6c\x28\xfe"
  30773			  "\x1b\x07\x57\xec\x94\x74\x0b\x2c"
  30774			  "\x21\x01\xf6\x23\xf9\xb0\xa0\xaf"
  30775			  "\xb1\x3e\x2e\xa8\x0d\xbc\x2a\x68"
  30776			  "\x59\xde\x0b\x2d\xde\x74\x42\xa1"
  30777			  "\xb4\xce\xaf\xd8\x42\xeb\x59\xbd"
  30778			  "\x61\xcc\x27\x28\xc6\xf2\xde\x3e"
  30779			  "\x68\x64\x13\xd3\xc3\xc0\x31\xe0"
  30780			  "\x5d\xf9\xb4\xa1\x09\x20\x46\x8b"
  30781			  "\x48\xb9\x27\x62\x00\x12\xc5\x03"
  30782			  "\x28\xfd\x55\x27\x1c\x31\xfc\xdb"
  30783			  "\xc1\xcb\x7e\x67\x91\x2e\x50\x0c"
  30784			  "\x61\xf8\x9f\x31\x26\x5a\x3d\x2e"
  30785			  "\xa0\xc7\xef\x2a\xb6\x24\x48\xc9"
  30786			  "\xbb\x63\x99\xf4\x7c\x4e\xc5\x94"
  30787			  "\x99\xd5\xff\x34\x93\x8f\x31\x45"
  30788			  "\xae\x5e\x7b\xfd\xf4\x81\x84\x65"
  30789			  "\x5b\x41\x70\x0b\xe5\xaa\xec\x95"
  30790			  "\x6b\x3d\xe3\xdc\x12\x78\xf8\x28"
  30791			  "\x26\xec\x3a\x64\xc4\xab\x74\x97"
  30792			  "\x3d\xcf\x21\x7d\xcf\x59\xd3\x15"
  30793			  "\x47\x94\xe4\xd9\x48\x4c\x02\x49"
  30794			  "\x68\x50\x22\x16\x96\x2f\xc4\x23"
  30795			  "\x80\x47\x27\xd1\xee\x10\x3b\xa7"
  30796			  "\x19\xae\xe1\x40\x5f\x3a\xde\x5d"
  30797			  "\x97\x1c\x59\xce\xe1\xe7\x32\xa7"
  30798			  "\x20\x89\xef\x44\x22\x38\x3c\x14"
  30799			  "\x99\x3f\x1b\xd6\x37\xfe\x93\xbf"
  30800			  "\x34\x13\x86\xd7\x9b\xe5\x2a\x37"
  30801			  "\x72\x16\xa4\xdf\x7f\xe4\xa4\x66"
  30802			  "\x9d\xf2\x0b\x29\xa1\xe2\x9d\x36"
  30803			  "\xe1\x9d\x56\x95\x73\xe1\x91\x58"
  30804			  "\x0f\x64\xf8\x90\xbb\x0c\x48\x0f"
  30805			  "\xf5\x52\xae\xd9\xeb\x95\xb7\xdd"
  30806			  "\xae\x0b\x20\x55\x87\x3d\xf0\x69"
  30807			  "\x3c\x0a\x54\x61\xea\x00\xbd\xba"
  30808			  "\x5f\x7e\x25\x8c\x3e\x61\xee\xb2"
  30809			  "\x1a\xc8\x0e\x0b\xa5\x18\x49\xf2"
  30810			  "\x6e\x1d\x3f\x83\xc3\xf1\x1a\xcb"
  30811			  "\x9f\xc9\x82\x4e\x7b\x26\xfd\x68"
  30812			  "\x28\x25\x8d\x22\x17\xab\xf8\x4e"
  30813			  "\x1a\xa9\x81\x48\xb0\x9f\x52\x75"
  30814			  "\xe4\xef\xdd\xbd\x5b\xbe\xab\x3c"
  30815			  "\x43\x76\x23\x62\xce\xb8\xc2\x5b"
  30816			  "\xc6\x31\xe6\x81\xb4\x42\xb2\xfd"
  30817			  "\xf3\x74\xdd\x02\x3c\xa0\xd7\x97"
  30818			  "\xb0\xe7\xe9\xe0\xce\xef\xe9\x1c"
  30819			  "\x09\xa2\x6d\xd3\xc4\x60\xd6\xd6"
  30820			  "\x9e\x54\x31\x45\x76\xc9\x14\xd4"
  30821			  "\x95\x17\xe9\xbe\x69\x92\x71\xcb"
  30822			  "\xde\x7c\xf1\xbd\x2b\xef\x8d\xaf"
  30823			  "\x51\xe8\x28\xec\x48\x7f\xf8\xfa"
  30824			  "\x9f\x9f\x5e\x52\x61\xc3\xfc\x9a"
  30825			  "\x7e\xeb\xe3\x30\xb6\xfe\xc4\x4a"
  30826			  "\x87\x1a\xff\x54\x64\xc7\xaa\xa2"
  30827			  "\xfa\xb7\xb2\xe7\x25\xce\x95\xb4"
  30828			  "\x15\x93\xbd\x24\xb6\xbc\xe4\x62"
  30829			  "\x93\x7f\x44\x40\x72\xcb\xfb\xb2"
  30830			  "\xbf\xe8\x03\xa5\x87\x12\x27\xfd"
  30831			  "\xc6\x21\x8a\x8f\xc2\x48\x48\xb9"
  30832			  "\x6b\xb6\xf0\xf0\x0e\x0a\x0e\xa4"
  30833			  "\x40\xa9\xd8\x23\x24\xd0\x7f\xe2"
  30834			  "\xf9\xed\x76\xf0\x91\xa5\x83\x3c"
  30835			  "\x55\xe1\x92\xb8\xb6\x32\x9e\x63"
  30836			  "\x60\x81\x75\x29\x9e\xce\x2a\x70"
  30837			  "\x28\x0c\x87\xe5\x46\x73\x76\x66"
  30838			  "\xbc\x4b\x6c\x37\xc7\xd0\x1a\xa0"
  30839			  "\x9d\xcf\x04\xd3\x8c\x42\xae\x9d"
  30840			  "\x35\x5a\xf1\x40\x4c\x4e\x81\xaa"
  30841			  "\xfe\xd5\x83\x4f\x29\x19\xf3\x6c"
  30842			  "\x9e\xd0\x53\xe5\x05\x8f\x14\xfb"
  30843			  "\x68\xec\x0a\x3a\x85\xcd\x3e\xb4"
  30844			  "\x4a\xc2\x5b\x92\x2e\x0b\x58\x64"
  30845			  "\xde\xca\x64\x86\x53\xdb\x7f\x4e"
  30846			  "\x54\xc6\x5e\xaa\xe5\x82\x3b\x98"
  30847			  "\x5b\x01\xa7\x1f\x7b\x3d\xcc\x19"
  30848			  "\xf1\x11\x02\x64\x09\x25\x7c\x26"
  30849			  "\xee\xad\x50\x68\x31\x26\x16\x0f"
  30850			  "\xb6\x7b\x6f\xa2\x17\x1a\xba\xbe"
  30851			  "\xc3\x60\xdc\xd2\x44\xe0\xb4\xc4"
  30852			  "\xfe\xff\x69\xdb\x60\xa6\xaf\x39"
  30853			  "\x0a\xbd\x6e\x41\xd1\x9f\x87\x71"
  30854			  "\xcc\x43\xa8\x47\x10\xbc\x2b\x7d"
  30855			  "\x40\x12\x43\x31\xb8\x12\xe0\x95"
  30856			  "\x6f\x9d\xf8\x75\x51\x3d\x61\xbe"
  30857			  "\xa0\xd1\x0b\x8d\x50\xc7\xb8\xe7"
  30858			  "\xab\x03\xda\x41\xab\xc5\x4e\x33"
  30859			  "\x5a\x63\x94\x90\x22\x72\x54\x26"
  30860			  "\x93\x65\x99\x45\x55\xd3\x55\x56"
  30861			  "\xc5\x39\xe4\xb4\xb1\xea\xd8\xf9"
  30862			  "\xb5\x31\xf7\xeb\x80\x1a\x9e\x8d"
  30863			  "\xd2\x40\x01\xea\x33\xb9\xf2\x7a"
  30864			  "\x43\x41\x72\x0c\xbf\x20\xab\xf7"
  30865			  "\xfa\x65\xec\x3e\x35\x57\x1e\xef"
  30866			  "\x2a\x81\xfa\x10\xb2\xdb\x8e\xfa"
  30867			  "\x7f\xe7\xaf\x73\xfc\xbb\x57\xa2"
  30868			  "\xaf\x6f\x41\x11\x30\xd8\xaf\x94"
  30869			  "\x53\x8d\x4c\x23\xa5\x20\x63\xcf"
  30870			  "\x0d\x00\xe0\x94\x5e\x92\xaa\xb5"
  30871			  "\xe0\x4e\x96\x3c\xf4\x26\x2f\xf0"
  30872			  "\x3f\xd7\xed\x75\x2c\x63\xdf\xc8"
  30873			  "\xfb\x20\xb5\xae\x44\x83\xc0\xab"
  30874			  "\x05\xf9\xbb\xa7\x62\x7d\x21\x5b"
  30875			  "\x04\x80\x93\x84\x5f\x1d\x9e\xcd"
  30876			  "\xa2\x07\x7e\x22\x2f\x55\x94\x23"
  30877			  "\x74\x35\xa3\x0f\x03\xbe\x07\x62"
  30878			  "\xe9\x16\x69\x7e\xae\x38\x0e\x9b"
  30879			  "\xad\x6e\x83\x90\x21\x10\xb8\x07"
  30880			  "\xdc\xc1\x44\x20\xa5\x88\x00\xdc"
  30881			  "\xe1\x82\x16\xf1\x0c\xdc\xed\x8c"
  30882			  "\x32\xb5\x49\xab\x11\x41\xd5\xd2"
  30883			  "\x35\x2c\x70\x73\xce\xeb\xe3\xd6"
  30884			  "\xe4\x7d\x2c\xe8\x8c\xec\x8a\x92"
  30885			  "\x50\x87\x51\xbd\x2d\x9d\xf2\xf0"
  30886			  "\x3c\x7d\xb1\x87\xf5\x01\xb0\xed"
  30887			  "\x02\x5a\x20\x4d\x43\x08\x71\x49"
  30888			  "\x77\x72\x9b\xe6\xef\x30\xc9\xa2"
  30889			  "\x66\x66\xb8\x68\x9d\xdf\xc6\x16"
  30890			  "\xa5\x78\xee\x3c\x47\xa6\x7a\x31"
  30891			  "\x07\x6d\xce\x7b\x86\xf8\xb2\x31"
  30892			  "\xa8\xa4\x77\x3c\x63\x36\xe8\xd3"
  30893			  "\x7d\x40\x56\xd8\x48\x56\x9e\x3e"
  30894			  "\x56\xf6\x3d\xd2\x12\x6e\x35\x29"
  30895			  "\xd4\x7a\xdb\xff\x97\x4c\xeb\x3c"
  30896			  "\x28\x2a\xeb\xe9\x43\x40\x61\x06"
  30897			  "\xb8\xa8\x6d\x18\xc8\xbc\xc7\x23"
  30898			  "\x53\x2b\x8b\xcc\xce\x88\xdf\xf8"
  30899			  "\xff\xf8\x94\xe4\x5c\xee\xcf\x39"
  30900			  "\xe0\xf6\x1a\xae\xf2\xd5\x41\x6a"
  30901			  "\x09\x5a\x50\x66\xc4\xf4\x66\xdc"
  30902			  "\x6a\x69\xee\xc8\x47\xe6\x87\x52"
  30903			  "\x9e\x28\xe4\x39\x02\x0d\xc4\x7e"
  30904			  "\x18\xe6\xc6\x09\x07\x03\x30\xb9"
  30905			  "\xd1\xb0\x48\xe6\x80\xe8\x8c\xe6"
  30906			  "\xc7\x2c\x33\xca\x64\xe5\xc0\x6e"
  30907			  "\xac\x14\x4b\xe1\xf6\xeb\xce\xe4"
  30908			  "\xc1\x8c\xea\x5b\x8d\x3c\x86\x91"
  30909			  "\xd1\xd7\x16\x9c\x09\x9c\x6a\x51"
  30910			  "\xe5\xcd\xe3\xb0\x33\x1f\x03\xcd"
  30911			  "\xe5\xd8\x40\x9b\xdc\x29\xbe\xfa"
  30912			  "\x24\xcc\xf1\x55\x68\x3a\x89\x0d"
  30913			  "\x08\x48\xfd\x9b\x47\x41\x10\xae"
  30914			  "\x53\x3a\x83\x87\xd4\x89\xe7\x38"
  30915			  "\x47\xee\xd7\xbe\xe2\x58\x37\xd2"
  30916			  "\xfc\x21\x1d\x20\xa5\x2d\x69\x0c"
  30917			  "\x36\x5b\x2f\xcd\xa1\xa6\xe4\xa1"
  30918			  "\x00\x4d\xf7\xc8\x2d\xc7\x16\x6c"
  30919			  "\x6d\xad\x32\x8c\x8f\x74\xf9\xfa"
  30920			  "\x78\x1c\x9a\x0f\x6e\x93\x9c\x20"
  30921			  "\x43\xb9\xe4\xda\xc4\xc7\x90\x47"
  30922			  "\x86\x68\xb7\x6f\x82\x59\x4a\x30"
  30923			  "\xf1\xfd\x31\x0f\xa1\xea\x9b\x6b"
  30924			  "\x18\x5c\x39\xb0\xc7\x80\x64\xff"
  30925			  "\x6d\x5b\xb4\x8b\xba\x90\xea\x4e"
  30926			  "\x9a\x04\xd2\x68\x18\x50\xb5\x91"
  30927			  "\x45\x4f\x58\x5a\xe5\xc6\x7c\xab"
  30928			  "\x61\x3e\x3d\xec\x18\x87\xfc\xea"
  30929			  "\x26\x35\x4c\x99\x8a\x3f\x00\x7b"
  30930			  "\xf5\x89\x62\xda\xdd\xf1\x43\xef"
  30931			  "\x2c\x1d\x92\xfa\x9a\xd0\x37\x03"
  30932			  "\x69\x9c\xd8\x1f\x41\x44\xb7\x73"
  30933			  "\x54\x14\x91\x12\x41\x41\x54\xa2"
  30934			  "\x91\x55\xb6\xf7\x23\x41\xc9\xc2"
  30935			  "\x5b\x53\xf2\x61\x63\x0d\xa9\x87"
  30936			  "\x1a\xbb\x11\x1f\x3c\xbb\xa8\x1f"
  30937			  "\xe2\x66\x56\x88\x06\x3c\xd2\x0f"
  30938			  "\x3b\xc4\xd6\x8c\xbe\x54\x9f\xa8"
  30939			  "\x9c\x89\xfb\x88\x05\xef\xcd\xe7"
  30940			  "\xc1\xc4\x21\x36\x22\x8d\x9a\x5d"
  30941			  "\x1b\x1e\x4a\xc0\x89\xdd\x76\x16"
  30942			  "\x5a\xce\xcd\x1e\x6a\x1f\xa0\x2b"
  30943			  "\x83\xf6\x5e\x28\x8e\x65\xb5\x86"
  30944			  "\x72\x8f\xc5\xf2\x54\x81\x10\x8d"
  30945			  "\x63\x7b\x42\x7d\x06\x08\x16\xb3"
  30946			  "\xb0\x60\x65\x41\x49\xdb\x0d\xc1"
  30947			  "\xe2\xef\x72\x72\x06\xe7\x60\x5c"
  30948			  "\x95\x1c\x7d\x52\xec\x82\xee\xd3"
  30949			  "\x5b\xab\x61\xa4\x1f\x61\x64\x0c"
  30950			  "\x28\x32\x21\x7a\x81\xe7\x81\xf3"
  30951			  "\xdb\xc0\x18\xd9\xae\x0b\x3c\x9a"
  30952			  "\x58\xec\x70\x4f\x40\x25\x2b\xba"
  30953			  "\x96\x59\xac\x34\x45\x29\xc6\x57"
  30954			  "\xc1\xc3\x93\x60\x77\x92\xbb\x83"
  30955			  "\x8a\xa7\x72\x45\x2a\xc9\x35\xe7"
  30956			  "\x66\xd6\xa9\xe9\x43\x87\x20\x11"
  30957			  "\x6a\x2f\x87\xac\xe0\x93\x82\xe5"
  30958			  "\x6c\x57\xa9\x4c\x9e\x56\x57\x33"
  30959			  "\x1c\xd8\x7e\x25\x27\x41\x89\x97"
  30960			  "\xea\xa5\x56\x02\x5b\x93\x13\x46"
  30961			  "\xdc\x53\x3d\x95\xef\xaf\x9f\xf0"
  30962			  "\x0a\x8a\xfe\x0c\xbf\xf0\x25\x5f"
  30963			  "\xb4\x9f\x1b\x72\x9c\x37\xba\x46"
  30964			  "\x4e\xcc\xcc\x02\x5c\xec\x3f\x98"
  30965			  "\xff\x56\x1a\xc2\x7a\x65\x8f\xf6"
  30966			  "\xd2\x81\x37\x7a\x0a\xfc\x79\xb9"
  30967			  "\xcb\x8c\xc8\x1a\xd0\xba\x5d\x55"
  30968			  "\xbc\x6d\x2e\xb2\x2f\x75\x29\x3f"
  30969			  "\x1a\x4b\xa8\xd7\xe8\xf6\xf4\x2a"
  30970			  "\xa5\xa1\x68\xec\xf3\xd5\xdd\x0f"
  30971			  "\xad\x57\xae\x98\x83\xd5\x92\x4e"
  30972			  "\x76\x86\x8e\x5e\x4b\x87\x7b\xf7"
  30973			  "\x2d\x79\x3f\x12\x6a\x24\x58\xc8"
  30974			  "\xab\x9a\x65\x75\x82\x6f\xa5\x39"
  30975			  "\x72\xb0\xdf\x93\xb5\xa2\xf3\xdd"
  30976			  "\x1f\x32\xfa\xdb\xfe\x1b\xbf\x0a"
  30977			  "\xd9\x95\xdd\x02\xf1\x23\x54\xb1"
  30978			  "\xa5\xbb\x24\x04\x5c\x2a\x97\x92"
  30979			  "\xe6\xe0\x10\x61\xe3\x46\xc7\x0c"
  30980			  "\xcb\xbc\x51\x9a\x35\x16\xd9\x42"
  30981			  "\x62\xb3\x5e\xa4\x3c\x84\xa0\x7f"
  30982			  "\xb8\x7f\x70\xd1\x8b\x03\xdf\x27"
  30983			  "\x32\x06\x3f\x12\x23\x19\x22\x82"
  30984			  "\x2d\x37\xa5\x00\x31\x9b\xa9\x21"
  30985			  "\x8e\x34\x8c\x8e\x4f\xe8\xd4\x63"
  30986			  "\x6c\xb2\xa9\x6e\xf6\x7c\x96\xf1"
  30987			  "\x0e\x64\xab\x14\x3d\x8f\x74\xb3"
  30988			  "\x35\x79\x84\x78\x06\x68\x97\x30"
  30989			  "\xe0\x22\x55\xd6\xc5\x5b\x38\xb2"
  30990			  "\x75\x24\x0c\x52\xb6\x57\xcc\x0a"
  30991			  "\xbd\x3c\xd0\x73\x47\xd1\x25\xd6"
  30992			  "\x1c\xfd\x27\x05\x3f\x70\xe1\xa7"
  30993			  "\x69\x3b\xee\xc9\x9f\xfd\x2a\x7e"
  30994			  "\xab\x58\xe6\x0b\x35\x5e\x52\xf9"
  30995			  "\xff\xac\x5b\x82\x88\xa7\x65\xbc"
  30996			  "\x61\x29\xdc\xa1\x94\x42\xd1\xd3"
  30997			  "\xa0\xd8\xba\x3b\x49\xc8\xa7\xce"
  30998			  "\x01\x6c\xb7\x3f\xe3\x98\x4d\xd1"
  30999			  "\x9f\x46\x0d\xb3\xf2\x43\x33\x49"
  31000			  "\xb7\x27\xbd\xba\xcc\x3f\x09\x56"
  31001			  "\xfa\x64\x18\xb8\x17\x28\xde\x0d"
  31002			  "\x29\xfa\x1f\xad\x60\x3b\x90\xa7"
  31003			  "\x05\x9f\x4c\xc4\xdc\x05\x3b\x17"
  31004			  "\x58\xea\x99\xfd\x6b\x8a\x93\x77"
  31005			  "\xa5\x44\xbd\x8d\x29\x44\x29\x89"
  31006			  "\x52\x1d\x89\x8b\x44\x8f\xb9\x68"
  31007			  "\xeb\x93\xfd\x92\xd9\x14\x35\x9c"
  31008			  "\x28\x3a\x9f\x1d\xd8\xe0\x2a\x76"
  31009			  "\x51\xc1\xf0\xa9\x1d\xb4\xf8\xb9"
  31010			  "\xfc\x14\x78\x5a\xa2\xb1\xdb\x94"
  31011			  "\xcb\x18\xb9\x34\xbd\x0c\x65\x1d"
  31012			  "\x64\xde\xd0\x3a\xe4\x68\x0e\xbc"
  31013			  "\x13\xa7\x47\x89\x62\xa3\x03\x19"
  31014			  "\x64\xa1\x02\x27\x3a\x8d\x43\xfa"
  31015			  "\x68\xff\xda\x8b\x40\xe9\x19\x8b"
  31016			  "\x56\xbe\x1c\x9b\xe6\xf6\x3f\x60"
  31017			  "\xdb\x7a\xd5\xab\x82\xd8\xd9\x99"
  31018			  "\xe3\x5b\x0c\x0c\x69\x18\x5c\xed"
  31019			  "\x03\xf9\xc1\x61\xc4\x7b\xd4\x90"
  31020			  "\x43\xc3\x39\xec\xac\xcb\x1f\x4b"
  31021			  "\x23\xf8\xa9\x98\x2f\xf6\x48\x90"
  31022			  "\x6c\x2b\x94\xad\x14\xdd\xcc\xa2"
  31023			  "\x3d\xc7\x86\x0f\x7f\x1c\x0b\x93"
  31024			  "\x4b\x74\x1f\x80\x75\xb4\x91\xdf"
  31025			  "\xa8\x26\xf9\x06\x2b\x3a\x2c\xfd"
  31026			  "\x3c\x31\x40\x1e\x5b\xa6\x86\x01"
  31027			  "\xc4\xa2\x80\x4f\xf5\xa2\xf4\xff"
  31028			  "\xf6\x07\x8c\x92\xf7\x74\xbd\x42"
  31029			  "\xb0\x3f\x6b\x05\xca\x40\xeb\x04"
  31030			  "\x20\xa9\x37\x78\x32\x03\x60\xcc"
  31031			  "\xf3\xec\xb2\x2d\xb5\x80\x7c\xe4"
  31032			  "\x37\x53\x25\xd1\xe8\x91\x6a\xe5"
  31033			  "\xdf\xdd\xb0\xab\x69\xc7\xa1\xb2"
  31034			  "\xfc\xb3\xd1\x9e\xda\xa8\x0d\x68"
  31035			  "\xfe\x7d\xdc\x56\x33\x65\x99\xd2"
  31036			  "\xec\xa5\xa0\xa1\x26\xc9\xec\xbd"
  31037			  "\x22\x20\x5e\x0d\xcb\x93\x64\x7a"
  31038			  "\x56\x75\xed\xe5\x45\xa2\xbd\x16"
  31039			  "\x59\xf7\x43\xd9\x5b\x2c\xdd\xb6"
  31040			  "\x1d\xa8\x05\x89\x2f\x65\x2e\x66"
  31041			  "\xfe\xad\x93\xeb\x85\x8f\xe8\x4c"
  31042			  "\x00\x44\x71\x03\x0e\x26\xaf\xfd"
  31043			  "\xfa\x56\x0f\xdc\x9c\xf3\x2e\xab"
  31044			  "\x88\x26\x61\xc6\x13\xfe\xba\xc1"
  31045			  "\xd8\x8a\x38\xc3\xb6\x4e\x6d\x80"
  31046			  "\x4c\x65\x93\x2f\xf5\x54\xff\x63"
  31047			  "\xbe\xdf\x9a\xe3\x4f\xca\xc9\x71"
  31048			  "\x12\xab\x95\x66\xec\x09\x64\xea"
  31049			  "\xdc\x9f\x01\x61\x24\x88\xd1\xa7"
  31050			  "\xd0\x69\x26\xf0\x80\xb0\xec\x86"
  31051			  "\xc2\x58\x2f\x6a\xc5\xfd\xfc\x2a"
  31052			  "\xf6\x3e\x23\x77\x3b\x7e\xc5\xc5"
  31053			  "\xe7\xf9\x4d\xcc\x68\x53\x11\xc8"
  31054			  "\x5b\x44\xbd\x48\x0f\xb3\x35\x1a"
  31055			  "\x93\x4a\x80\x16\xa3\x0d\x50\x85"
  31056			  "\xa6\xc4\xd4\x74\x4d\x87\x59\x51"
  31057			  "\xd7\xf7\x7d\xee\xd0\x9b\xd1\x83"
  31058			  "\x25\x2b\xc6\x39\x27\x6a\xb3\x41"
  31059			  "\x5f\xd2\x24\xd4\xd6\xfa\x8c\x3e"
  31060			  "\xb2\xf9\x11\x71\x7a\x9e\x5e\x7b"
  31061			  "\x5b\x9a\x47\x80\xca\x1c\xbe\x04"
  31062			  "\x5d\x34\xc4\xa2\x2d\x41\xfe\x73"
  31063			  "\x53\x15\x9f\xdb\xe7\x7d\x82\x19"
  31064			  "\x21\x1b\x67\x2a\x74\x7a\x21\x4a"
  31065			  "\xc4\x96\x6f\x00\x92\x69\xf1\x99"
  31066			  "\x50\xf1\x4a\x16\x11\xf1\x16\x51",
  31067		.ctext	= "\x2c\xf5\x4c\xc9\x99\x19\x83\x84"
  31068			  "\x09\xbc\xe6\xad\xbe\xb6\x6b\x1b"
  31069			  "\x75\x0b\x3d\x33\x10\xb4\x8b\xf7"
  31070			  "\xa7\xc7\xba\x9f\x6e\xd7\xc7\xfd"
  31071			  "\x58\xef\x24\xf4\xdc\x26\x3f\x35"
  31072			  "\x02\x98\xf2\x8c\x96\xca\xfc\xca"
  31073			  "\xca\xfa\x27\xe6\x23\x1f\xf0\xc7"
  31074			  "\xe3\x46\xbf\xca\x7b\x4e\x24\xcd"
  31075			  "\xd0\x13\x3f\x80\xd6\x5b\x0b\xdc"
  31076			  "\xad\xc6\x49\x77\xd7\x58\xf5\xfd"
  31077			  "\x58\xba\x72\x0d\x9e\x0b\x63\xc3"
  31078			  "\x86\xac\x06\x97\x70\x42\xec\x3a"
  31079			  "\x0d\x53\x27\x17\xbd\x3e\xcb\xe0"
  31080			  "\xaa\x19\xb4\xfe\x5d\x1b\xcb\xd7"
  31081			  "\x99\xc3\x19\x45\x6f\xdf\x64\x44"
  31082			  "\x9f\xf8\x55\x1b\x72\x8d\x78\x51"
  31083			  "\x3c\x83\x48\x8f\xaf\x05\x60\x7d"
  31084			  "\x22\xce\x07\x53\xfd\x91\xcf\xfa"
  31085			  "\x5f\x86\x66\x3e\x72\x67\x7f\xc1"
  31086			  "\x49\x82\xc7\x1c\x91\x1e\x48\xcd"
  31087			  "\x5e\xc6\x5f\xd9\xc9\x43\x88\x35"
  31088			  "\x80\xba\x91\xe1\x54\x4b\x14\xbe"
  31089			  "\xbd\x75\x48\xb8\xde\x22\x64\xb5"
  31090			  "\x8c\xcb\x5e\x92\x99\x8f\x4a\xab"
  31091			  "\x00\x6c\xb4\x2e\x03\x3b\x0e\xee"
  31092			  "\x4d\x39\x05\xbc\x94\x80\xbb\xb2"
  31093			  "\x36\x16\xa3\xd9\x8f\x61\xd7\x67"
  31094			  "\xb5\x90\x46\x85\xe1\x4e\x71\x84"
  31095			  "\xd0\x84\xc0\xc0\x8f\xad\xdb\xeb"
  31096			  "\x44\xf4\x66\x35\x3f\x92\xa2\x05"
  31097			  "\xa4\x9c\xb8\xdc\x77\x6c\x85\x34"
  31098			  "\xd2\x6a\xea\x32\xb8\x08\xf6\x13"
  31099			  "\x78\x1e\x29\xef\x12\x54\x16\x28"
  31100			  "\x25\xf8\x32\x0e\x4f\x94\xe6\xb3"
  31101			  "\x0b\x97\x79\x97\xb3\xb0\x37\x61"
  31102			  "\xa4\x10\x6f\x15\x9c\x7d\x22\x41"
  31103			  "\xe2\xd7\xa7\xa0\xfc\xc5\x62\x55"
  31104			  "\xed\x68\x39\x7b\x09\xd2\x17\xaa"
  31105			  "\xf2\xb8\xc9\x1d\xa2\x23\xfd\xaa"
  31106			  "\x9c\x57\x16\x0d\xe3\x63\x3c\x2b"
  31107			  "\x13\xdd\xa2\xf0\x8e\xd3\x02\x81"
  31108			  "\x09\xba\x80\x02\xdb\x97\xfe\x0f"
  31109			  "\x77\x8d\x18\xf1\xf4\x59\x27\x79"
  31110			  "\xa3\x46\x88\xda\x51\x67\xd0\xe9"
  31111			  "\x5d\x22\x98\xc1\xe4\xea\x08\xda"
  31112			  "\xf7\xb9\x16\x71\x36\xbd\x43\x8a"
  31113			  "\x4b\x6e\xf3\xaa\xb0\xba\x1a\xbc"
  31114			  "\xaa\xca\xde\x5c\xc0\xa5\x11\x6d"
  31115			  "\x8a\x8f\xcc\x04\xfc\x6c\x89\x75"
  31116			  "\x4b\x2c\x29\x6f\x41\xc7\x6e\xda"
  31117			  "\xea\xa6\xaf\xb0\xb1\x46\x9e\x30"
  31118			  "\x5e\x11\x46\x07\x3b\xd6\xaa\x36"
  31119			  "\xa4\x01\x84\x1d\xb9\x8e\x58\x9d"
  31120			  "\xa9\xb6\x1c\x56\x5c\x5a\xde\xfa"
  31121			  "\x66\x96\xe6\x29\x26\xd4\x68\xd0"
  31122			  "\x1a\xcb\x98\xbb\xce\x19\xbb\x87"
  31123			  "\x00\x6c\x59\x17\xe3\xd1\xe6\x5c"
  31124			  "\xd0\x98\xe1\x91\xc4\x28\xaf\xbf"
  31125			  "\xbb\xdf\x75\x4e\xd9\x9d\x99\x0f"
  31126			  "\xc6\x0c\x03\x24\x3e\xb6\xd7\x3f"
  31127			  "\xd5\x43\x4a\x47\x26\xab\xf6\x3f"
  31128			  "\x7f\xf1\x15\x0c\xde\x68\xa0\x5f"
  31129			  "\x63\xf9\xe2\x5e\x5d\x42\xf1\x36"
  31130			  "\x38\x90\x06\x18\x84\xf2\xfa\x81"
  31131			  "\x36\x33\x29\x18\xaa\x8c\x49\x0e"
  31132			  "\xda\x27\x38\x9c\x12\x8b\x83\xfa"
  31133			  "\x40\xd0\xb6\x0a\x72\x85\xf0\xc7"
  31134			  "\xaa\x5f\x30\x1a\x6f\x45\xe4\x35"
  31135			  "\x4c\xf3\x4c\xe4\x1c\xd7\x48\x77"
  31136			  "\xdd\x3e\xe4\x73\x44\xb1\xb8\x1c"
  31137			  "\x42\x40\x90\x61\xb1\x6d\x8b\x20"
  31138			  "\x2d\x30\x63\x01\x26\x71\xbc\x5a"
  31139			  "\x76\xce\xc1\xfb\x13\xf9\x4c\x6e"
  31140			  "\x7a\x16\x8a\x53\xcb\x07\xaa\xa1"
  31141			  "\xba\xd0\x68\x7a\x2d\x25\x48\x85"
  31142			  "\xb7\x6b\x0a\x05\xf2\xdf\x0e\x46"
  31143			  "\x4e\xc8\xcd\x59\x5b\x9a\x2e\x9e"
  31144			  "\xdb\x4a\xf6\xfd\x7b\xa4\x5c\x4d"
  31145			  "\x78\x8d\xe7\xb0\x84\x3f\xf0\xc1"
  31146			  "\x47\x39\xbf\x1e\x8c\xc2\x11\x0d"
  31147			  "\x90\xd1\x17\x42\xb3\x50\xeb\xaa"
  31148			  "\xcd\xc0\x98\x36\x84\xd0\xfe\x75"
  31149			  "\xf8\x8f\xdc\xa0\xa1\x53\xe5\x8c"
  31150			  "\xf2\x0f\x4a\x31\x48\xae\x3d\xaf"
  31151			  "\x19\x4b\x75\x2e\xc1\xe3\xcd\x4d"
  31152			  "\x2c\xa4\x54\x7b\x4d\x5e\x93\xa2"
  31153			  "\xe7\x1f\x34\x19\x9f\xb2\xbf\x22"
  31154			  "\x65\x1a\x03\x48\x12\x66\x50\x3e"
  31155			  "\x0e\x5d\x60\x29\x44\x69\x90\xee"
  31156			  "\x9d\x8b\x55\x78\xdf\x63\x31\xc3"
  31157			  "\x1b\x21\x7d\x06\x21\x86\x60\xb0"
  31158			  "\x9d\xdb\x3d\xcc\xe2\x20\xf4\x88"
  31159			  "\x20\x62\x2e\xe8\xa9\xea\x42\x41"
  31160			  "\xb0\xab\x73\x61\x40\x39\xac\x11"
  31161			  "\x55\x27\x51\x5f\x11\xef\xb1\x23"
  31162			  "\xff\x81\x99\x86\x0c\x6f\x16\xaf"
  31163			  "\xf6\x89\x86\xd8\xf6\x41\xc2\x80"
  31164			  "\x21\xf4\xd5\x6d\xef\xa3\x0c\x4d"
  31165			  "\x59\xfd\xdc\x93\x1a\x4f\xe6\x22"
  31166			  "\x83\x40\x0c\x98\x67\xba\x7c\x93"
  31167			  "\x0b\xa9\x89\xfc\x3e\xff\x84\x12"
  31168			  "\x3e\x27\xa3\x8a\x48\x17\xd6\x08"
  31169			  "\x85\x2f\xf1\xa8\x90\x90\x71\xbe"
  31170			  "\x44\xd6\x34\xbf\x74\x52\x0a\x17"
  31171			  "\x39\x64\x78\x1a\xbc\x81\xbe\xc8"
  31172			  "\xea\x7f\x0b\x5a\x2c\x77\xff\xac"
  31173			  "\xdd\x37\x35\x78\x09\x28\x29\x4a"
  31174			  "\xd1\xd6\x6c\xc3\xd5\x70\xdd\xfc"
  31175			  "\x21\xcd\xce\xeb\x51\x11\xf7\xbc"
  31176			  "\x12\x43\x1e\x6c\xa1\xa3\x79\xe6"
  31177			  "\x1d\x63\x52\xff\xf0\xbb\xcf\xec"
  31178			  "\x56\x58\x63\xe2\x21\x0b\x2d\x5c"
  31179			  "\x64\x09\xf3\xee\x05\x42\x34\x93"
  31180			  "\x38\xa8\x60\xea\x1d\x95\x90\x65"
  31181			  "\xad\x2f\xda\x1d\xdd\x21\x1a\xf1"
  31182			  "\x94\xe0\x6a\x81\xa1\xd3\x63\x31"
  31183			  "\x45\x73\xce\x54\x4e\xb1\x75\x26"
  31184			  "\x59\x18\xc2\x31\x73\xe6\xf5\x7d"
  31185			  "\x06\x5b\x65\x67\xe5\x69\x90\xdf"
  31186			  "\x27\x6a\xbf\x81\x7d\x92\xbe\xd1"
  31187			  "\x4e\x0b\xa8\x18\x94\x72\xe1\xd0"
  31188			  "\xb6\x2a\x16\x08\x7a\x34\xb8\xf2"
  31189			  "\xe1\xac\x08\x66\xe6\x78\x66\xfd"
  31190			  "\x36\xbd\xee\xc6\x71\xa4\x09\x4e"
  31191			  "\x3b\x09\xf2\x8e\x3a\x90\xba\xa0"
  31192			  "\xc2\x1d\x9f\xad\x52\x0e\xc9\x10"
  31193			  "\x99\x40\x90\xd5\x7d\x73\x56\xef"
  31194			  "\x48\x1e\x56\x5c\x7d\x3c\xcb\x84"
  31195			  "\x10\x0a\xcc\xda\xce\xad\xd8\xa8"
  31196			  "\x79\xc7\x29\x95\x31\x3b\xd9\x9b"
  31197			  "\xb6\x84\x3e\x03\x74\xc5\x76\xba"
  31198			  "\x4b\xd9\x4f\x7c\xc4\x5f\x7f\x70"
  31199			  "\xc5\xe3\x6e\xd0\x14\x32\xec\x60"
  31200			  "\xb0\x69\x78\xb7\xef\xda\x5a\xe7"
  31201			  "\x4e\x50\x97\xd4\x94\x58\x67\x57"
  31202			  "\x4e\x7c\x75\xe0\xcf\x8d\xe1\x78"
  31203			  "\x97\x52\xc8\x73\x81\xf9\xb6\x02"
  31204			  "\x54\x72\x6d\xc0\x70\xff\xe2\xeb"
  31205			  "\x6c\xe1\x30\x0a\x94\xd0\x55\xec"
  31206			  "\xed\x61\x9c\x6d\xd9\xa0\x92\x62"
  31207			  "\x4e\xfd\xd8\x79\x27\x02\x4e\x13"
  31208			  "\xb2\x04\xba\x00\x9a\x77\xed\xc3"
  31209			  "\x5b\xa4\x22\x02\xa9\xed\xaf\xac"
  31210			  "\x4f\xe1\x74\x73\x51\x36\x78\x8b"
  31211			  "\xdb\xf5\x32\xfd\x0d\xb9\xcb\x15"
  31212			  "\x4c\xae\x43\x72\xeb\xbe\xc0\xf8"
  31213			  "\x91\x67\xf1\x4f\x5a\xd4\xa4\x69"
  31214			  "\x8f\x3e\x16\xd2\x09\x31\x72\x5a"
  31215			  "\x5e\x0a\xc4\xbc\x44\xd4\xbb\x82"
  31216			  "\x7a\xdf\x52\x25\x8c\x45\xdc\xe4"
  31217			  "\xe0\x71\x84\xe4\xe0\x3d\x59\x30"
  31218			  "\x5b\x94\x12\x33\x78\x85\x90\x84"
  31219			  "\x52\x05\x33\xa7\xa7\x16\xe0\x4d"
  31220			  "\x6a\xf7\xfa\x03\x98\x6c\x4f\xb0"
  31221			  "\x06\x66\x06\xa1\xdd\x3c\xbe\xbb"
  31222			  "\xb2\x62\xab\x64\xd3\xbf\x2c\x30"
  31223			  "\x0e\xfc\xd9\x95\x32\x32\xf3\x3b"
  31224			  "\x39\x7e\xda\x62\x62\x0f\xc3\xfe"
  31225			  "\x55\x76\x09\xf5\x8a\x09\x91\x93"
  31226			  "\x32\xea\xbc\x2b\x0b\xcf\x1d\x65"
  31227			  "\x48\x33\xba\xeb\x0f\xd4\xf9\x3b"
  31228			  "\x1e\x90\x74\x6d\x93\x52\x61\x81"
  31229			  "\xa3\xf2\xb5\xea\x1d\x61\x86\x68"
  31230			  "\x00\x40\xcc\x58\xdd\xf2\x64\x01"
  31231			  "\xab\xfd\x94\xc0\xa3\x83\x83\x33"
  31232			  "\xa4\xb0\xb8\xd3\x9d\x08\x3c\x7f"
  31233			  "\x8e\xa8\xaf\x87\xa5\xe7\xcd\x36"
  31234			  "\x92\x96\xdc\xa1\xf2\xea\xe6\xd1"
  31235			  "\x1e\xe9\x65\xa4\xff\xda\x17\x96"
  31236			  "\xad\x91\x4a\xc5\x26\xb4\x1d\x1c"
  31237			  "\x2b\x50\x48\x26\xc8\x86\x3f\x05"
  31238			  "\xb8\x87\x1b\x3f\xee\x2e\x55\x61"
  31239			  "\x0d\xdc\xcf\x56\x0e\xe2\xcc\xda"
  31240			  "\x87\xee\xc5\xcd\x0e\xf4\xa4\xaf"
  31241			  "\x8a\x02\xee\x16\x0b\xc4\xdd\x6d"
  31242			  "\x80\x3e\xf3\xfe\x95\xb4\xfe\x97"
  31243			  "\x0d\xe2\xab\xbb\x27\x84\xee\x25"
  31244			  "\x39\x74\xb0\xfb\xdc\x5a\x0f\x65"
  31245			  "\x31\x2a\x89\x08\xa4\x8c\x9f\x25"
  31246			  "\x5f\x93\x83\x39\xda\xb4\x22\x17"
  31247			  "\xbd\xd2\x0d\xfc\xde\xf8\x00\x34"
  31248			  "\xc2\x48\x55\x06\x4c\x8b\x79\xe5"
  31249			  "\xba\x0c\x50\x4f\x98\xa3\x59\x3d"
  31250			  "\xc4\xec\xd1\x85\xf3\x60\x41\x16"
  31251			  "\x0a\xe2\xf4\x38\x33\x24\xc1\xe0"
  31252			  "\x0d\x86\x1f\x5a\xd2\xba\x7c\x5f"
  31253			  "\x97\x60\x54\xa3\x52\x31\x78\x57"
  31254			  "\x7a\xc0\xc7\x1e\xd4\x11\x8f\xef"
  31255			  "\x86\x0a\x60\x26\x4a\x8f\x06\xf7"
  31256			  "\x1f\x47\x45\x6e\x87\x13\x15\xf3"
  31257			  "\x91\x08\xbf\x2a\x6e\x71\x21\x8e"
  31258			  "\x92\x90\xde\x01\x97\x81\x46\x87"
  31259			  "\x8a\xfc\xab\x12\x0c\x60\x3e\x9d"
  31260			  "\xbd\x40\x0a\x45\x3f\x5b\x83\x04"
  31261			  "\xb5\x8f\x42\x78\x68\xfe\x3a\xd1"
  31262			  "\x59\xf7\x12\xaa\x86\x86\x1c\x77"
  31263			  "\xfc\xc6\x64\x47\x0f\x7e\xd3\xbc"
  31264			  "\x95\x90\x23\xb3\x60\xdc\x0d\xf4"
  31265			  "\x67\xe6\x32\xee\xad\xbf\x60\x07"
  31266			  "\xbd\xdb\x6e\x3f\x55\x88\xdb\x93"
  31267			  "\x62\x41\xd6\xeb\x34\xd6\xa3\x96"
  31268			  "\xd2\xbc\x29\xaa\x75\x65\x41\x9f"
  31269			  "\x70\x43\xbb\x6d\xd9\xa5\x95\x22"
  31270			  "\x3e\xf9\x07\xa0\x7d\x75\xba\xb8"
  31271			  "\xcd\x81\x3b\x94\x01\x19\xc3\x67"
  31272			  "\x9d\xa4\x7f\xa0\x99\xcc\x4a\xc4"
  31273			  "\xfa\x76\x3f\xab\x5c\xea\x26\xdf"
  31274			  "\xa2\x4c\x5b\x11\x55\xa3\x6a\x70"
  31275			  "\xcb\xbc\x93\x11\x48\x38\x73\x7a"
  31276			  "\x40\xbf\xbc\x04\x05\xb0\x2d\x9b"
  31277			  "\x9a\x23\x57\xa5\xf6\x63\xfa\xc7"
  31278			  "\xd8\x4d\xc2\xc0\xf8\xbd\xfb\x7d"
  31279			  "\xea\x20\xa2\xe0\x4d\xaa\x63\x1e"
  31280			  "\x9a\xa2\xed\x54\xe6\x49\xaf\x52"
  31281			  "\xaf\x7e\x94\x57\x19\x07\x06\x74"
  31282			  "\x57\x5b\x62\x61\x99\x20\xe7\x95"
  31283			  "\x14\x19\xcf\x42\x83\x6a\x94\xf5"
  31284			  "\xab\xa7\xf2\x48\xf6\x0b\x40\x3d"
  31285			  "\x93\x8d\x3d\x14\x5d\xf2\x45\x2c"
  31286			  "\xac\x1c\x0b\x12\xc9\x56\x3f\x7c"
  31287			  "\x17\xeb\x1d\xed\x7e\x5c\xaa\x37"
  31288			  "\xe3\xb4\x56\xf9\x0e\xb9\x8e\xc8"
  31289			  "\x16\x70\x3e\xff\x95\xb9\x89\x9c"
  31290			  "\x19\x0d\x0d\x48\xbd\xb9\xe3\x73"
  31291			  "\xdf\x4e\x67\x9d\x93\x6c\x0b\x75"
  31292			  "\x8a\x2d\x89\x5c\x32\x9d\x75\x05"
  31293			  "\xd9\x13\xbe\x14\x5f\xf0\xb7\xb4"
  31294			  "\xd9\x2c\x02\x22\x41\xf2\x9c\x1f"
  31295			  "\xc1\x8c\xf5\x6a\x8c\xd5\xa5\x6b"
  31296			  "\x54\x47\xec\x3a\x76\x08\xf6\xf7"
  31297			  "\xed\x7c\x7e\x3b\x55\xb8\xa9\x20"
  31298			  "\xa6\xec\x2d\x8c\x03\x38\x9d\x74"
  31299			  "\xe9\x36\xe7\x05\x40\xec\xf4\xa1"
  31300			  "\xa7\x70\xa7\x6f\x1f\x93\xc2\x1d"
  31301			  "\x2c\x4e\x5f\xe8\x04\x6d\x91\x67"
  31302			  "\x23\xd9\x47\xb4\xf6\xbc\x35\x25"
  31303			  "\x1b\xa8\xe1\x17\xa8\x21\x38\xd8"
  31304			  "\x7a\x55\xd9\xc6\x6f\x0a\x1b\xcb"
  31305			  "\xde\xf8\x1e\x20\x8c\xa1\x14\x49"
  31306			  "\x49\x00\x00\x31\x0f\xa8\x24\x67"
  31307			  "\x97\x7a\x1f\x04\xb9\x6b\x60\xd0"
  31308			  "\x32\xc3\xf4\xf9\x4f\xb2\xfd\x7b"
  31309			  "\xf9\xb3\x43\xd8\x23\xaa\x21\x37"
  31310			  "\x9e\x91\xc5\xa4\xce\xd8\xe4\xf5"
  31311			  "\x55\x3e\xc9\xe4\xc5\x51\xd3\x4d"
  31312			  "\xc6\x83\xe9\x23\x8e\x3e\x21\xe0"
  31313			  "\x40\x23\x4e\x2b\x2d\x89\xc4\x5d"
  31314			  "\x58\xdc\x43\x03\x8e\x9a\xfb\xef"
  31315			  "\x76\xac\x78\x57\xc3\xb8\xf7\x9f"
  31316			  "\xf5\xb1\xc2\xa4\x0c\xee\x58\x52"
  31317			  "\x45\xdf\x1a\xd9\x0e\xe0\x56\x1f"
  31318			  "\x23\x79\x99\x5f\x34\xad\x9f\x41"
  31319			  "\x67\x2a\xc7\x8b\xe7\x82\x6e\x67"
  31320			  "\x58\xb5\xae\x18\xd7\x2f\x8f\x57"
  31321			  "\x0e\xa4\x21\x3c\x84\x21\x05\x50"
  31322			  "\x57\xb0\xd1\xb1\xc8\x9d\xd4\x44"
  31323			  "\x25\x40\x6b\xd5\x6f\x18\x92\x89"
  31324			  "\x6d\x5b\xe9\x5a\x3c\x74\xc0\x33"
  31325			  "\x2c\x7a\xa7\x99\x71\x4e\x9d\x1b"
  31326			  "\xe1\x1d\xcb\x62\x8b\x3c\x07\x07"
  31327			  "\x67\xf6\xa6\x54\x10\x72\x3f\xea"
  31328			  "\xe5\xcd\xe6\xf1\xeb\x3d\x43\x0b"
  31329			  "\xfe\x4b\xc7\x1d\x3d\xd9\xa3\xe2"
  31330			  "\x9b\x79\x47\xc7\xab\x28\xcc\x4d"
  31331			  "\xa8\x77\x9c\xec\xef\x56\xf8\x92"
  31332			  "\x07\x48\x1b\x21\x04\xa8\x24\xb0"
  31333			  "\x82\x7d\xd1\x17\xa4\xaf\x5f\xfa"
  31334			  "\x92\xbf\x6a\xb7\x7e\xc7\xb7\x75"
  31335			  "\x40\x3c\x14\x09\x57\xae\xe0\x4e"
  31336			  "\xf8\xc9\xda\x1e\x5d\x27\xc4\x8c"
  31337			  "\x27\xe3\x4d\xe3\x55\x8c\xd2\xef"
  31338			  "\x0c\xab\x67\x53\x96\xd3\x48\xfb"
  31339			  "\x75\x4f\x74\x9e\xcb\x82\xa4\x96"
  31340			  "\x91\x41\x48\xaa\x65\xdb\x34\x72"
  31341			  "\xc9\xee\xa2\x77\x8b\x6e\x44\x12"
  31342			  "\x4e\x51\x51\xc3\xf5\xef\x6a\x50"
  31343			  "\x99\x26\x41\x1e\x66\xa4\x2b\xb9"
  31344			  "\x21\x15\x38\xc2\x0b\x7f\x37\xb6"
  31345			  "\x89\x8b\x27\x70\xae\xa1\x90\x28"
  31346			  "\x04\xe7\xd5\x17\xcb\x60\x99\xb4"
  31347			  "\xe2\xd7\x04\xd3\x11\x27\x86\xe4"
  31348			  "\xd0\x0d\x36\x04\x68\xe0\xb4\x71"
  31349			  "\xe8\x86\x4b\x9f\xa3\xd2\xda\x87"
  31350			  "\xc2\x2c\xad\x66\xfa\x53\x18\xf8"
  31351			  "\xec\x10\x74\xc5\xb6\x53\x09\x93"
  31352			  "\x21\x09\xbd\x77\x2d\x2a\x12\x4c"
  31353			  "\x86\xfe\x50\x8e\xd1\x16\xab\xb1"
  31354			  "\xfd\xd7\x87\xde\xc3\x6f\x7c\x16"
  31355			  "\xe2\x88\x3d\x41\xac\x36\x7e\xf8"
  31356			  "\xc2\x3b\x46\xd5\x44\x3d\x9d\xe8"
  31357			  "\xe9\x0c\xb7\xb3\xc6\xb9\xe5\xe7"
  31358			  "\x27\x17\x78\x03\xd4\xda\xe4\x73"
  31359			  "\x38\x34\xe7\x53\x29\xc4\xcb\x93"
  31360			  "\xc9\xa1\x10\x8a\xb2\xfc\x0b\x07"
  31361			  "\x47\xb8\xb1\x13\x49\x86\x24\x8b"
  31362			  "\x10\xb1\xd9\x5f\xbb\xd8\x90\x37"
  31363			  "\x06\x03\xe0\x76\xff\x19\x1a\x16"
  31364			  "\xd8\x2d\xa7\x4a\xea\x22\x64\xbe"
  31365			  "\xed\x1c\xc8\x33\xb4\xf4\xb1\x48"
  31366			  "\x95\xb5\x2f\xaa\x05\xc7\x03\xa0"
  31367			  "\xf1\xa4\xf3\x63\x4b\xbe\x79\xb9"
  31368			  "\x4b\x67\x7e\x4e\x3e\x81\x8f\xef"
  31369			  "\xe9\x55\x99\x30\xd0\x26\xec\x5d"
  31370			  "\x89\xb6\x3f\x28\x38\x81\x7a\x00"
  31371			  "\x89\x85\xb8\xff\x19\x0f\x8f\x5d"
  31372			  "\x5c\x6d\x6a\x3d\x6c\xb9\xfb\x7c"
  31373			  "\x0c\x4b\x7e\xbc\x0c\xc4\xad\xbb"
  31374			  "\x0a\x8b\xc8\x48\xb7\xfa\x4d\x53"
  31375			  "\x82\x10\xd6\x29\x58\x83\x50\x3c"
  31376			  "\xd4\x5a\xfd\x14\xa3\xb5\x88\xfb"
  31377			  "\x23\xee\xc9\xcc\xab\x92\x52\xb3"
  31378			  "\x0b\x07\xf3\x1e\x9a\x2a\x2e\x35"
  31379			  "\x32\x37\xa5\x86\xd0\xe5\x5f\xdd"
  31380			  "\x3d\x67\x70\xb4\x9a\xc9\x93\xdc"
  31381			  "\x31\x33\xe3\x3a\xc5\xcf\xd9\x44"
  31382			  "\x2f\x3f\x87\xb2\x0c\x36\x55\x17"
  31383			  "\xa9\xda\xb1\xca\x00\x09\x87\xe6"
  31384			  "\x66\x34\xb3\x9f\x52\x37\x98\x10"
  31385			  "\x2e\x5d\xa4\x14\x7f\x63\xa6\xcd"
  31386			  "\x6c\x2d\x7c\x74\x4c\xae\x9c\x65"
  31387			  "\xe0\x79\xc0\xd6\xc3\xfe\xa8\xf4"
  31388			  "\x1a\x4f\xf5\xbc\xea\x7a\x92\x40"
  31389			  "\x51\xa7\x05\x45\x40\xd8\x9c\x3c"
  31390			  "\xde\x5f\x0b\x6e\x10\x5c\x1c\xdc"
  31391			  "\xd2\x65\x60\xbb\x70\x68\x5c\xa9"
  31392			  "\x59\x25\x0e\x4e\x93\xb8\x49\x89"
  31393			  "\xf6\xae\xeb\x1f\x8b\x56\xc8\x56"
  31394			  "\xb0\xb5\xc9\xee\xa5\x15\x07\x4d"
  31395			  "\x8a\xcc\xad\x04\x4d\x99\x8c\x49"
  31396			  "\x8d\x7c\xe0\xa5\x7d\x7f\x33\x61"
  31397			  "\xf2\xfc\xe7\x88\x3f\x2b\x73\xab"
  31398			  "\x2e\x38\x17\x48\xa9\x86\xdd\x81"
  31399			  "\x21\x45\xbc\x98\x1d\xe5\xa5\xbc"
  31400			  "\x0d\x0b\x18\x8e\x86\x1e\x76\x0a"
  31401			  "\x30\x12\x21\xf0\x51\xed\xc1\xcd"
  31402			  "\x9a\xf1\x7e\x7e\x64\xb2\xa3\xd6"
  31403			  "\x37\xe7\xc6\xde\x97\xb9\x5d\x05"
  31404			  "\xf5\x50\xe2\x0a\xaa\x68\x16\xa6"
  31405			  "\x26\x9c\x7d\xff\x4c\x05\xce\x48"
  31406			  "\xa7\xff\x10\x19\x5e\xef\x46\x54"
  31407			  "\xec\xe4\x7b\xb6\x12\x23\xae\x93"
  31408			  "\x4f\x79\xf8\x3c\x1c\x07\x15\x66"
  31409			  "\x07\xc1\x52\xde\x7f\xda\x51\x7b"
  31410			  "\xfe\x13\x67\xab\x8d\x56\xdc\xc1"
  31411			  "\x70\x4b\x13\xd2\x30\x00\xc1\x97"
  31412			  "\x22\xa7\x83\xf8\x18\xd9\x6d\x40"
  31413			  "\x54\xe0\xc1\xdb\x3e\x83\x73\x12"
  31414			  "\xe1\x48\x49\xb9\xd4\x20\x0c\x06"
  31415			  "\x1c\x82\xb5\xbe\x5a\xae\x60\x5e"
  31416			  "\xe2\x09\xba\x05\xbb\x9a\x80\x63"
  31417			  "\xf2\xc4\x4b\x41\x39\x16\x76\x26"
  31418			  "\xb1\x03\x06\x23\x65\x37\x33\x92"
  31419			  "\xca\xf9\x72\xf5\xcd\x95\xc1\xc0"
  31420			  "\x91\x5a\xfd\x28\xb9\x62\x59\x84"
  31421			  "\x87\x9d\x82\xcb\xe0\x67\x7c\x26"
  31422			  "\xb8\x00\x16\xd9\x5d\xb4\x74\xd4"
  31423			  "\x75\x8c\x75\xf8\x87\x3b\xa8\x77"
  31424			  "\xcd\x82\x3d\x7b\xb9\x63\x44\x0f"
  31425			  "\x44\x83\x55\x5b\xc7\xdc\x18\x0b"
  31426			  "\x8c\x36\xb3\x59\xeb\x58\x13\x38"
  31427			  "\x4b\x8a\xb7\xa3\x9a\xa2\xf3\xeb"
  31428			  "\xc6\x30\x84\x86\x0a\xcf\x8b\xfa"
  31429			  "\x36\x66\x26\xbc\xd0\x96\xa3\xb4"
  31430			  "\x8d\x6b\xf7\x5b\x75\x59\xbb\xd3"
  31431			  "\x14\x78\x57\x2f\x27\xa8\x95\xcf"
  31432			  "\xa2\xa5\x76\x28\xbd\xab\x8b\x59"
  31433			  "\x04\x91\x8a\xc5\x3c\xc3\xa7\xcf"
  31434			  "\xe0\xfb\xdd\x7a\xbb\x10\xde\x36"
  31435			  "\x43\x1c\x59\xf7\x41\xb6\xa5\x80"
  31436			  "\x72\x7b\xe3\x7a\xa3\x01\xc3\x8c"
  31437			  "\x7e\xf3\xf2\x42\x1a\x0c\x7e\xf3"
  31438			  "\xfc\x5b\x6e\x1f\x20\xf1\x32\x76"
  31439			  "\x83\x71\x36\x3e\x7e\xa7\xf7\xdd"
  31440			  "\x25\x2e\xe6\x04\xe2\x5b\x44\xb5"
  31441			  "\x16\xfb\xdf\x9b\x46\x2a\xa8\x81"
  31442			  "\x89\x15\x3e\xb5\xb0\x09\x40\x33"
  31443			  "\x60\xc7\x37\x63\x14\x09\xc1\x6e"
  31444			  "\x56\x52\xbe\xe4\x88\xe0\x75\xbc"
  31445			  "\x49\x62\x8c\xf1\xdf\x62\xe6\xac"
  31446			  "\xd5\x87\xf7\xc9\x92\x52\x36\x59"
  31447			  "\x22\x6f\x31\x99\x76\xdb\x41\xb6"
  31448			  "\x26\x91\x79\x7e\xd2\x78\xaf\x07"
  31449			  "\x78\x4b\xed\x54\x30\xb2\xff\xbc"
  31450			  "\x2c\x0a\x1a\xbe\xbf\xd5\x5a\x4d"
  31451			  "\xd1\xbc\x30\xc2\xf4\xf1\xc1\x9e"
  31452			  "\x9a\x96\x89\x00\x50\xfc\xf6\xaf"
  31453			  "\xfa\x60\xbf\x1a\x32\x8f\x57\x36"
  31454			  "\x2f\x02\xb7\x28\x50\xc3\xd3\xfd"
  31455			  "\x6b\xc4\xe6\xbb\xc9\xec\xed\x86"
  31456			  "\xdf\x27\x45\x2c\x0c\x6d\x65\x3b"
  31457			  "\x6e\x63\x96\xc7\xd6\xb5\xb2\x05"
  31458			  "\x8b\xe0\x02\x2a\xfa\x20\x0c\x82"
  31459			  "\xa5\x45\x75\x12\x01\x40\xff\x3e"
  31460			  "\xfd\xfc\xfb\xbc\x30\x49\xe8\x99"
  31461			  "\x8d\x48\x8e\x49\x65\x2a\xe3\xa5"
  31462			  "\x06\xe3\x22\x68\x3b\xd9\xa4\xcf"
  31463			  "\x84\x6f\xfa\x2b\xb1\xd8\x8c\x30"
  31464			  "\xd5\x5d\x0c\x63\x32\x59\x28\x6e"
  31465			  "\x2a\x60\xa4\x57\x12\xf8\xc2\x95"
  31466			  "\x0a\xf6\xc6\x48\x23\xce\x72\x40"
  31467			  "\x0d\x75\xa0\xd4\x48\x03\xf5\xc4"
  31468			  "\xcd\x26\xe7\x83\xcc\x0d\xcf\x7f"
  31469			  "\x22\x5f\x91\xb3\x42\x02\x9a\x26"
  31470			  "\x12\x26\x68\x12\x25\x0b\x08\x61"
  31471			  "\xcb\x25\x86\x95\xfc\x57\x4d\xb6"
  31472			  "\x36\x6c\xb4\xdc\xa9\x2d\x76\x7f"
  31473			  "\x25\x06\xa2\x08\x69\x09\xd9\x09"
  31474			  "\x3c\x40\xe1\xfd\x30\x8f\xc2\x13"
  31475			  "\x92\xd4\xb5\x3b\x0c\xb2\x32\x4f"
  31476			  "\x10\xc9\x1a\x41\xa6\xb2\x11\xf6"
  31477			  "\x3b\x1b\x88\x56\xbf\x61\x3c\xb2"
  31478			  "\xe6\xdb\x24\x9a\x55\x7e\x35\xf8"
  31479			  "\x82\x5e\x52\xe3\xf2\xb3\x40\x1c"
  31480			  "\xdd\xe3\x29\x37\xe0\x85\x08\x8b"
  31481			  "\xb2\x8b\x09\x38\xac\xa9\x85\xe5"
  31482			  "\x9e\x36\xb8\x95\x0b\x84\x9d\x10"
  31483			  "\xcc\xae\xe2\x06\x56\x3c\x85\xce"
  31484			  "\xc0\xdc\x36\x59\x17\xf9\x48\xf4"
  31485			  "\x5b\x08\x8e\x86\x00\xa0\xf5\xdd"
  31486			  "\x0c\xb6\x63\xfd\x5a\xe5\x1e\xa6"
  31487			  "\x0a\xef\x76\xc2\xc7\x9b\x96\x2f"
  31488			  "\x66\x2b\x7d\x50\xa6\x0c\x42\xc6"
  31489			  "\xa5\x05\x05\x10\xeb\xd8\xda\x15"
  31490			  "\x03\xbe\x2f\x24\x34\x8f\x84\xd8"
  31491			  "\x58\xb8\xa3\xf2\x63\xc8\xc3\xf6"
  31492			  "\xc2\xde\x27\x58\x69\xf9\x07\xca"
  31493			  "\x12\x3e\xe2\xf4\xc8\x29\x60\x30"
  31494			  "\x2f\x87\xf4\x50\xc2\x25\xcc\xfd"
  31495			  "\xdc\x76\x4f\x56\x1c\xb2\xd9\x78"
  31496			  "\x11\x6b\x6e\xb4\x67\xbf\x25\xc4"
  31497			  "\xae\x7d\x50\x7f\xb2\x5c\x69\x26"
  31498			  "\xed\x6b\xd2\x3b\x42\x64\xe3\x0c"
  31499			  "\x15\xa6\xd1\xb6\x3e\x23\x76\x09"
  31500			  "\x48\xd2\x08\x41\x76\xc9\x7d\x5f"
  31501			  "\x50\x5d\x8e\xf9\x04\x96\xed\x3a"
  31502			  "\xf8\x7c\x3b\x7d\x84\xba\xea\xe6"
  31503			  "\x24\xd2\x0f\x7f\x5a\x0b\x6f\xd9"
  31504			  "\x33\x14\x67\xfb\x9f\xe7\x44\x4e"
  31505			  "\x3b\x4b\x06\xaa\xb4\x7a\x8b\x83"
  31506			  "\x82\x74\xa6\x5e\x10\xea\xd6\x4b"
  31507			  "\x56\x32\xd7\x79\x7c\x05\xf4\x64"
  31508			  "\x9c\x64\x25\x9c\xc2\xda\x21\x9a"
  31509			  "\xd8\xde\x37\x83\x3f\xd8\x83\xa2"
  31510			  "\x1e\x3c\x1e\x41\x7e\xf2\x97\x84"
  31511			  "\xe5\xa2\x02\x2b\x6e\xc5\xd7\x91"
  31512			  "\x24\x66\xc1\xf0\x05\x1c\x0f\x3d"
  31513			  "\xcf\x63\x94\x10\x2e\x0e\x89\xda"
  31514			  "\x0d\xe9\x58\x2a\x48\x0c\xc8\x36"
  31515			  "\xc4\x7b\xf0\xd3\xe2\x5b\xf1\xf6"
  31516			  "\xad\x3d\xe7\x25\x6b\x83\x08\x5c"
  31517			  "\xd9\x79\xde\x93\x37\x93\x92\x46"
  31518			  "\xe7\xf4\x1c\x9e\x94\x91\x30\xd9"
  31519			  "\xb6\x57\xf1\x04\xb5\x2f\xe3\xb9"
  31520			  "\x0a\x78\xfe\xcb\xb5\x31\xc1\xc6"
  31521			  "\x99\xb3\xaf\x73\xfb\x69\xcb\x49"
  31522			  "\xd2\xec\xea\xd3\x0f\x45\x13\x23"
  31523			  "\xc8\xae\x92\x29\xce\x71\xd0\xba"
  31524			  "\xcf\xfd\xb2\x14\x61\xfd\xf6\x7b"
  31525			  "\xdf\x05\xe5\xbb\x58\xf7\x41\x3b"
  31526			  "\x6e\xd2\x14\x28\x7c\x15\xb7\x70"
  31527			  "\xca\xc7\x7a\xd7\x4e\x4b\x35\x6e"
  31528			  "\x9e\x09\x24\x33\xaf\xca\x41\x1f"
  31529			  "\x0d\xe3\xf1\x7c\x35\xcb\xe2\x0a"
  31530			  "\xb2\xeb\x94\x7a\xbc\x53\xd7\xe1"
  31531			  "\x5e\xbc\xa1\x55\xef\x3c\x37\xef"
  31532			  "\x6d\xfe\x3a\xcd\xcf\x48\x36\x26"
  31533			  "\xdb\x3e\x44\xdd\xc8\x03\xa6\xa6"
  31534			  "\x85\xb5\xfe\xf3\xec\x44\xb3\x22"
  31535			  "\x9d\x21\x82\xc6\x0b\x1a\x7c\xc6"
  31536			  "\xf7\xa9\x8e\x7e\x13\x1a\x85\x1f"
  31537			  "\x93\x81\x38\x47\xc0\x83\x21\xa3"
  31538			  "\xde\xec\xc0\x8f\x4c\x3b\x57\x2f"
  31539			  "\x92\xbb\x66\xe3\x24\xeb\xae\x1e"
  31540			  "\xb3\x18\x57\xf2\xf3\x4a\x50\x52"
  31541			  "\xe9\x91\x08\x1f\x85\x44\xc1\x07"
  31542			  "\xa1\xd3\x62\xe9\xe0\x82\x38\xfd"
  31543			  "\x27\x3f\x7e\x10\x7d\xaf\xa1\x7a"
  31544			  "\xf0\xaa\x79\xee\x6e\xa2\xc0\xbb"
  31545			  "\x01\xda\xfb\xc4\x85\x26\x85\x31"
  31546			  "\x15\xf4\x3c\xe0\x96\x79\x0e\xd7"
  31547			  "\x50\x68\x37\x57\xb5\x31\xf7\x3c"
  31548			  "\xbd\xaa\xcc\x2c\x8f\x57\x59\xa5"
  31549			  "\xd4\x4b\xc6\x45\xc0\x32\x3d\x85"
  31550			  "\x6d\xee\xf4\x6b\x63\xf9\x3a\xfb"
  31551			  "\x2f\xdb\xb8\x42\x19\x8e\x88\x1f"
  31552			  "\xfd\x7d\x0b\x69\x14\x8f\x36\xb2"
  31553			  "\xd9\x27\x34\x53\x9c\x52\x00\x94"
  31554			  "\xcc\x8b\x37\x82\xaf\x8e\xb3\xc0"
  31555			  "\x8a\xcf\x44\xc6\x3a\x19\xbe\x1f"
  31556			  "\x23\x33\x68\xc4\xb6\xbb\x13\x20"
  31557			  "\xec\x6a\x87\x5b\xc2\x7c\xd3\x04"
  31558			  "\x34\x97\x32\xd5\x11\x02\x06\x45"
  31559			  "\x98\x0b\xaa\xab\xbe\xfb\xd0\x2c"
  31560			  "\x0e\xf1\x8b\x7f\x1c\x70\x85\x67"
  31561			  "\x60\x50\x66\x79\xbb\x45\x21\xc4"
  31562			  "\xb5\xd3\xb9\x4f\xe5\x41\x49\x86"
  31563			  "\x6b\x20\xef\xac\x16\x74\xe9\x23"
  31564			  "\xa5\x2d\x5c\x2b\x85\xb2\x33\xe8"
  31565			  "\x2a\xd1\x24\xd1\x5b\x9b\x7f\xfc"
  31566			  "\x2f\x3b\xf7\x6a\x8b\xde\x55\x7e"
  31567			  "\xda\x13\x1b\xd6\x90\x74\xb0\xbe"
  31568			  "\x46\x0d\xcf\xc7\x78\x33\x31\xdc"
  31569			  "\x6a\x6a\x50\x3e\x4c\xe2\xab\x48"
  31570			  "\xbc\x4e\x7d\x62\xb9\xfc\xdd\x85"
  31571			  "\x1c\x5d\x93\x15\x5e\x01\xd9\x2b"
  31572			  "\x48\x71\x82\xd6\x44\xd6\x0e\x92"
  31573			  "\x6e\x75\xc9\x3c\x1d\x31\x18\x6f"
  31574			  "\x8b\xd7\x18\xf3\x09\x08\x45\xb1"
  31575			  "\x3e\xa4\x25\xc6\x34\x48\xaf\x42"
  31576			  "\x77\x33\x03\x65\x3e\x2f\xff\x8f"
  31577			  "\xe9\xe1\xa0\xfe\xb2\xc3\x80\x77"
  31578			  "\x20\x05\xe4\x9b\x47\x3b\xb2\xbd",
  31579		.len	= 4096,
  31580	}
  31581};
  31582
  31583/*
  31584 * CTS (Cipher Text Stealing) mode tests
  31585 */
  31586static const struct cipher_testvec cts_mode_tv_template[] = {
  31587	{ /* from rfc3962 */
  31588		.klen	= 16,
  31589		.key    = "\x63\x68\x69\x63\x6b\x65\x6e\x20"
  31590			  "\x74\x65\x72\x69\x79\x61\x6b\x69",
  31591		.ptext	= "\x49\x20\x77\x6f\x75\x6c\x64\x20"
  31592			  "\x6c\x69\x6b\x65\x20\x74\x68\x65"
  31593			  "\x20",
  31594		.len	= 17,
  31595		.ctext	= "\xc6\x35\x35\x68\xf2\xbf\x8c\xb4"
  31596			  "\xd8\xa5\x80\x36\x2d\xa7\xff\x7f"
  31597			  "\x97",
  31598	}, {
  31599		.klen	= 16,
  31600		.key    = "\x63\x68\x69\x63\x6b\x65\x6e\x20"
  31601			  "\x74\x65\x72\x69\x79\x61\x6b\x69",
  31602		.ptext	= "\x49\x20\x77\x6f\x75\x6c\x64\x20"
  31603			  "\x6c\x69\x6b\x65\x20\x74\x68\x65"
  31604			  "\x20\x47\x65\x6e\x65\x72\x61\x6c"
  31605			  "\x20\x47\x61\x75\x27\x73\x20",
  31606		.len	= 31,
  31607		.ctext	= "\xfc\x00\x78\x3e\x0e\xfd\xb2\xc1"
  31608			  "\xd4\x45\xd4\xc8\xef\xf7\xed\x22"
  31609			  "\x97\x68\x72\x68\xd6\xec\xcc\xc0"
  31610			  "\xc0\x7b\x25\xe2\x5e\xcf\xe5",
  31611	}, {
  31612		.klen	= 16,
  31613		.key    = "\x63\x68\x69\x63\x6b\x65\x6e\x20"
  31614			  "\x74\x65\x72\x69\x79\x61\x6b\x69",
  31615		.ptext	= "\x49\x20\x77\x6f\x75\x6c\x64\x20"
  31616			  "\x6c\x69\x6b\x65\x20\x74\x68\x65"
  31617			  "\x20\x47\x65\x6e\x65\x72\x61\x6c"
  31618			  "\x20\x47\x61\x75\x27\x73\x20\x43",
  31619		.len	= 32,
  31620		.ctext	= "\x39\x31\x25\x23\xa7\x86\x62\xd5"
  31621			  "\xbe\x7f\xcb\xcc\x98\xeb\xf5\xa8"
  31622			  "\x97\x68\x72\x68\xd6\xec\xcc\xc0"
  31623			  "\xc0\x7b\x25\xe2\x5e\xcf\xe5\x84",
  31624	}, {
  31625		.klen	= 16,
  31626		.key    = "\x63\x68\x69\x63\x6b\x65\x6e\x20"
  31627			  "\x74\x65\x72\x69\x79\x61\x6b\x69",
  31628		.ptext	= "\x49\x20\x77\x6f\x75\x6c\x64\x20"
  31629			  "\x6c\x69\x6b\x65\x20\x74\x68\x65"
  31630			  "\x20\x47\x65\x6e\x65\x72\x61\x6c"
  31631			  "\x20\x47\x61\x75\x27\x73\x20\x43"
  31632			  "\x68\x69\x63\x6b\x65\x6e\x2c\x20"
  31633			  "\x70\x6c\x65\x61\x73\x65\x2c",
  31634		.len	= 47,
  31635		.ctext	= "\x97\x68\x72\x68\xd6\xec\xcc\xc0"
  31636			  "\xc0\x7b\x25\xe2\x5e\xcf\xe5\x84"
  31637			  "\xb3\xff\xfd\x94\x0c\x16\xa1\x8c"
  31638			  "\x1b\x55\x49\xd2\xf8\x38\x02\x9e"
  31639			  "\x39\x31\x25\x23\xa7\x86\x62\xd5"
  31640			  "\xbe\x7f\xcb\xcc\x98\xeb\xf5",
  31641	}, {
  31642		.klen	= 16,
  31643		.key    = "\x63\x68\x69\x63\x6b\x65\x6e\x20"
  31644			  "\x74\x65\x72\x69\x79\x61\x6b\x69",
  31645		.ptext	= "\x49\x20\x77\x6f\x75\x6c\x64\x20"
  31646			  "\x6c\x69\x6b\x65\x20\x74\x68\x65"
  31647			  "\x20\x47\x65\x6e\x65\x72\x61\x6c"
  31648			  "\x20\x47\x61\x75\x27\x73\x20\x43"
  31649			  "\x68\x69\x63\x6b\x65\x6e\x2c\x20"
  31650			  "\x70\x6c\x65\x61\x73\x65\x2c\x20",
  31651		.len	= 48,
  31652		.ctext	= "\x97\x68\x72\x68\xd6\xec\xcc\xc0"
  31653			  "\xc0\x7b\x25\xe2\x5e\xcf\xe5\x84"
  31654			  "\x9d\xad\x8b\xbb\x96\xc4\xcd\xc0"
  31655			  "\x3b\xc1\x03\xe1\xa1\x94\xbb\xd8"
  31656			  "\x39\x31\x25\x23\xa7\x86\x62\xd5"
  31657			  "\xbe\x7f\xcb\xcc\x98\xeb\xf5\xa8",
  31658	}, {
  31659		.klen	= 16,
  31660		.key    = "\x63\x68\x69\x63\x6b\x65\x6e\x20"
  31661			  "\x74\x65\x72\x69\x79\x61\x6b\x69",
  31662		.ptext	= "\x49\x20\x77\x6f\x75\x6c\x64\x20"
  31663			  "\x6c\x69\x6b\x65\x20\x74\x68\x65"
  31664			  "\x20\x47\x65\x6e\x65\x72\x61\x6c"
  31665			  "\x20\x47\x61\x75\x27\x73\x20\x43"
  31666			  "\x68\x69\x63\x6b\x65\x6e\x2c\x20"
  31667			  "\x70\x6c\x65\x61\x73\x65\x2c\x20"
  31668			  "\x61\x6e\x64\x20\x77\x6f\x6e\x74"
  31669			  "\x6f\x6e\x20\x73\x6f\x75\x70\x2e",
  31670		.len	= 64,
  31671		.ctext	= "\x97\x68\x72\x68\xd6\xec\xcc\xc0"
  31672			  "\xc0\x7b\x25\xe2\x5e\xcf\xe5\x84"
  31673			  "\x39\x31\x25\x23\xa7\x86\x62\xd5"
  31674			  "\xbe\x7f\xcb\xcc\x98\xeb\xf5\xa8"
  31675			  "\x48\x07\xef\xe8\x36\xee\x89\xa5"
  31676			  "\x26\x73\x0d\xbc\x2f\x7b\xc8\x40"
  31677			  "\x9d\xad\x8b\xbb\x96\xc4\xcd\xc0"
  31678			  "\x3b\xc1\x03\xe1\xa1\x94\xbb\xd8",
  31679	}
  31680};
  31681
  31682/*
  31683 * Compression stuff.
  31684 */
  31685#define COMP_BUF_SIZE           512
  31686
  31687struct comp_testvec {
  31688	int inlen, outlen;
  31689	char input[COMP_BUF_SIZE];
  31690	char output[COMP_BUF_SIZE];
  31691};
  31692
  31693/*
  31694 * Deflate test vectors (null-terminated strings).
  31695 * Params: winbits=-11, Z_DEFAULT_COMPRESSION, MAX_MEM_LEVEL.
  31696 */
  31697
  31698static const struct comp_testvec deflate_comp_tv_template[] = {
  31699	{
  31700		.inlen	= 70,
  31701		.outlen	= 38,
  31702		.input	= "Join us now and share the software "
  31703			"Join us now and share the software ",
  31704		.output	= "\xf3\xca\xcf\xcc\x53\x28\x2d\x56"
  31705			  "\xc8\xcb\x2f\x57\x48\xcc\x4b\x51"
  31706			  "\x28\xce\x48\x2c\x4a\x55\x28\xc9"
  31707			  "\x48\x55\x28\xce\x4f\x2b\x29\x07"
  31708			  "\x71\xbc\x08\x2b\x01\x00",
  31709	}, {
  31710		.inlen	= 191,
  31711		.outlen	= 122,
  31712		.input	= "This document describes a compression method based on the DEFLATE"
  31713			"compression algorithm.  This document defines the application of "
  31714			"the DEFLATE algorithm to the IP Payload Compression Protocol.",
  31715		.output	= "\x5d\x8d\x31\x0e\xc2\x30\x10\x04"
  31716			  "\xbf\xb2\x2f\xc8\x1f\x10\x04\x09"
  31717			  "\x89\xc2\x85\x3f\x70\xb1\x2f\xf8"
  31718			  "\x24\xdb\x67\xd9\x47\xc1\xef\x49"
  31719			  "\x68\x12\x51\xae\x76\x67\xd6\x27"
  31720			  "\x19\x88\x1a\xde\x85\xab\x21\xf2"
  31721			  "\x08\x5d\x16\x1e\x20\x04\x2d\xad"
  31722			  "\xf3\x18\xa2\x15\x85\x2d\x69\xc4"
  31723			  "\x42\x83\x23\xb6\x6c\x89\x71\x9b"
  31724			  "\xef\xcf\x8b\x9f\xcf\x33\xca\x2f"
  31725			  "\xed\x62\xa9\x4c\x80\xff\x13\xaf"
  31726			  "\x52\x37\xed\x0e\x52\x6b\x59\x02"
  31727			  "\xd9\x4e\xe8\x7a\x76\x1d\x02\x98"
  31728			  "\xfe\x8a\x87\x83\xa3\x4f\x56\x8a"
  31729			  "\xb8\x9e\x8e\x5c\x57\xd3\xa0\x79"
  31730			  "\xfa\x02",
  31731	},
  31732};
  31733
  31734static const struct comp_testvec deflate_decomp_tv_template[] = {
  31735	{
  31736		.inlen	= 122,
  31737		.outlen	= 191,
  31738		.input	= "\x5d\x8d\x31\x0e\xc2\x30\x10\x04"
  31739			  "\xbf\xb2\x2f\xc8\x1f\x10\x04\x09"
  31740			  "\x89\xc2\x85\x3f\x70\xb1\x2f\xf8"
  31741			  "\x24\xdb\x67\xd9\x47\xc1\xef\x49"
  31742			  "\x68\x12\x51\xae\x76\x67\xd6\x27"
  31743			  "\x19\x88\x1a\xde\x85\xab\x21\xf2"
  31744			  "\x08\x5d\x16\x1e\x20\x04\x2d\xad"
  31745			  "\xf3\x18\xa2\x15\x85\x2d\x69\xc4"
  31746			  "\x42\x83\x23\xb6\x6c\x89\x71\x9b"
  31747			  "\xef\xcf\x8b\x9f\xcf\x33\xca\x2f"
  31748			  "\xed\x62\xa9\x4c\x80\xff\x13\xaf"
  31749			  "\x52\x37\xed\x0e\x52\x6b\x59\x02"
  31750			  "\xd9\x4e\xe8\x7a\x76\x1d\x02\x98"
  31751			  "\xfe\x8a\x87\x83\xa3\x4f\x56\x8a"
  31752			  "\xb8\x9e\x8e\x5c\x57\xd3\xa0\x79"
  31753			  "\xfa\x02",
  31754		.output	= "This document describes a compression method based on the DEFLATE"
  31755			"compression algorithm.  This document defines the application of "
  31756			"the DEFLATE algorithm to the IP Payload Compression Protocol.",
  31757	}, {
  31758		.inlen	= 38,
  31759		.outlen	= 70,
  31760		.input	= "\xf3\xca\xcf\xcc\x53\x28\x2d\x56"
  31761			  "\xc8\xcb\x2f\x57\x48\xcc\x4b\x51"
  31762			  "\x28\xce\x48\x2c\x4a\x55\x28\xc9"
  31763			  "\x48\x55\x28\xce\x4f\x2b\x29\x07"
  31764			  "\x71\xbc\x08\x2b\x01\x00",
  31765		.output	= "Join us now and share the software "
  31766			"Join us now and share the software ",
  31767	},
  31768};
  31769
  31770static const struct comp_testvec zlib_deflate_comp_tv_template[] = {
  31771	{
  31772		.inlen	= 70,
  31773		.outlen	= 44,
  31774		.input	= "Join us now and share the software "
  31775			"Join us now and share the software ",
  31776		.output	= "\x78\x5e\xf3\xca\xcf\xcc\x53\x28"
  31777			  "\x2d\x56\xc8\xcb\x2f\x57\x48\xcc"
  31778			  "\x4b\x51\x28\xce\x48\x2c\x4a\x55"
  31779			  "\x28\xc9\x48\x55\x28\xce\x4f\x2b"
  31780			  "\x29\x07\x71\xbc\x08\x2b\x01\x00"
  31781			  "\x7c\x65\x19\x3d",
  31782	}, {
  31783		.inlen	= 191,
  31784		.outlen	= 129,
  31785		.input	= "This document describes a compression method based on the DEFLATE"
  31786			"compression algorithm.  This document defines the application of "
  31787			"the DEFLATE algorithm to the IP Payload Compression Protocol.",
  31788		.output	= "\x78\x5e\x5d\xce\x41\x0a\xc3\x30"
  31789			  "\x0c\x04\xc0\xaf\xec\x0b\xf2\x87"
  31790			  "\xd2\xa6\x50\xe8\xc1\x07\x7f\x40"
  31791			  "\xb1\x95\x5a\x60\x5b\xc6\x56\x0f"
  31792			  "\xfd\x7d\x93\x1e\x42\xe8\x51\xec"
  31793			  "\xee\x20\x9f\x64\x20\x6a\x78\x17"
  31794			  "\xae\x86\xc8\x23\x74\x59\x78\x80"
  31795			  "\x10\xb4\xb4\xce\x63\x88\x56\x14"
  31796			  "\xb6\xa4\x11\x0b\x0d\x8e\xd8\x6e"
  31797			  "\x4b\x8c\xdb\x7c\x7f\x5e\xfc\x7c"
  31798			  "\xae\x51\x7e\x69\x17\x4b\x65\x02"
  31799			  "\xfc\x1f\xbc\x4a\xdd\xd8\x7d\x48"
  31800			  "\xad\x65\x09\x64\x3b\xac\xeb\xd9"
  31801			  "\xc2\x01\xc0\xf4\x17\x3c\x1c\x1c"
  31802			  "\x7d\xb2\x52\xc4\xf5\xf4\x8f\xeb"
  31803			  "\x6a\x1a\x34\x4f\x5f\x2e\x32\x45"
  31804			  "\x4e",
  31805	},
  31806};
  31807
  31808static const struct comp_testvec zlib_deflate_decomp_tv_template[] = {
  31809	{
  31810		.inlen	= 128,
  31811		.outlen	= 191,
  31812		.input	= "\x78\x9c\x5d\x8d\x31\x0e\xc2\x30"
  31813			  "\x10\x04\xbf\xb2\x2f\xc8\x1f\x10"
  31814			  "\x04\x09\x89\xc2\x85\x3f\x70\xb1"
  31815			  "\x2f\xf8\x24\xdb\x67\xd9\x47\xc1"
  31816			  "\xef\x49\x68\x12\x51\xae\x76\x67"
  31817			  "\xd6\x27\x19\x88\x1a\xde\x85\xab"
  31818			  "\x21\xf2\x08\x5d\x16\x1e\x20\x04"
  31819			  "\x2d\xad\xf3\x18\xa2\x15\x85\x2d"
  31820			  "\x69\xc4\x42\x83\x23\xb6\x6c\x89"
  31821			  "\x71\x9b\xef\xcf\x8b\x9f\xcf\x33"
  31822			  "\xca\x2f\xed\x62\xa9\x4c\x80\xff"
  31823			  "\x13\xaf\x52\x37\xed\x0e\x52\x6b"
  31824			  "\x59\x02\xd9\x4e\xe8\x7a\x76\x1d"
  31825			  "\x02\x98\xfe\x8a\x87\x83\xa3\x4f"
  31826			  "\x56\x8a\xb8\x9e\x8e\x5c\x57\xd3"
  31827			  "\xa0\x79\xfa\x02\x2e\x32\x45\x4e",
  31828		.output	= "This document describes a compression method based on the DEFLATE"
  31829			"compression algorithm.  This document defines the application of "
  31830			"the DEFLATE algorithm to the IP Payload Compression Protocol.",
  31831	}, {
  31832		.inlen	= 44,
  31833		.outlen	= 70,
  31834		.input	= "\x78\x9c\xf3\xca\xcf\xcc\x53\x28"
  31835			  "\x2d\x56\xc8\xcb\x2f\x57\x48\xcc"
  31836			  "\x4b\x51\x28\xce\x48\x2c\x4a\x55"
  31837			  "\x28\xc9\x48\x55\x28\xce\x4f\x2b"
  31838			  "\x29\x07\x71\xbc\x08\x2b\x01\x00"
  31839			  "\x7c\x65\x19\x3d",
  31840		.output	= "Join us now and share the software "
  31841			"Join us now and share the software ",
  31842	},
  31843};
  31844
  31845/*
  31846 * LZO test vectors (null-terminated strings).
  31847 */
  31848static const struct comp_testvec lzo_comp_tv_template[] = {
  31849	{
  31850		.inlen	= 70,
  31851		.outlen	= 57,
  31852		.input	= "Join us now and share the software "
  31853			"Join us now and share the software ",
  31854		.output	= "\x00\x0d\x4a\x6f\x69\x6e\x20\x75"
  31855			  "\x73\x20\x6e\x6f\x77\x20\x61\x6e"
  31856			  "\x64\x20\x73\x68\x61\x72\x65\x20"
  31857			  "\x74\x68\x65\x20\x73\x6f\x66\x74"
  31858			  "\x77\x70\x01\x32\x88\x00\x0c\x65"
  31859			  "\x20\x74\x68\x65\x20\x73\x6f\x66"
  31860			  "\x74\x77\x61\x72\x65\x20\x11\x00"
  31861			  "\x00",
  31862	}, {
  31863		.inlen	= 159,
  31864		.outlen	= 131,
  31865		.input	= "This document describes a compression method based on the LZO "
  31866			"compression algorithm.  This document defines the application of "
  31867			"the LZO algorithm used in UBIFS.",
  31868		.output	= "\x00\x2c\x54\x68\x69\x73\x20\x64"
  31869			  "\x6f\x63\x75\x6d\x65\x6e\x74\x20"
  31870			  "\x64\x65\x73\x63\x72\x69\x62\x65"
  31871			  "\x73\x20\x61\x20\x63\x6f\x6d\x70"
  31872			  "\x72\x65\x73\x73\x69\x6f\x6e\x20"
  31873			  "\x6d\x65\x74\x68\x6f\x64\x20\x62"
  31874			  "\x61\x73\x65\x64\x20\x6f\x6e\x20"
  31875			  "\x74\x68\x65\x20\x4c\x5a\x4f\x20"
  31876			  "\x2a\x8c\x00\x09\x61\x6c\x67\x6f"
  31877			  "\x72\x69\x74\x68\x6d\x2e\x20\x20"
  31878			  "\x2e\x54\x01\x03\x66\x69\x6e\x65"
  31879			  "\x73\x20\x74\x06\x05\x61\x70\x70"
  31880			  "\x6c\x69\x63\x61\x74\x76\x0a\x6f"
  31881			  "\x66\x88\x02\x60\x09\x27\xf0\x00"
  31882			  "\x0c\x20\x75\x73\x65\x64\x20\x69"
  31883			  "\x6e\x20\x55\x42\x49\x46\x53\x2e"
  31884			  "\x11\x00\x00",
  31885	},
  31886};
  31887
  31888static const struct comp_testvec lzo_decomp_tv_template[] = {
  31889	{
  31890		.inlen	= 133,
  31891		.outlen	= 159,
  31892		.input	= "\x00\x2b\x54\x68\x69\x73\x20\x64"
  31893			  "\x6f\x63\x75\x6d\x65\x6e\x74\x20"
  31894			  "\x64\x65\x73\x63\x72\x69\x62\x65"
  31895			  "\x73\x20\x61\x20\x63\x6f\x6d\x70"
  31896			  "\x72\x65\x73\x73\x69\x6f\x6e\x20"
  31897			  "\x6d\x65\x74\x68\x6f\x64\x20\x62"
  31898			  "\x61\x73\x65\x64\x20\x6f\x6e\x20"
  31899			  "\x74\x68\x65\x20\x4c\x5a\x4f\x2b"
  31900			  "\x8c\x00\x0d\x61\x6c\x67\x6f\x72"
  31901			  "\x69\x74\x68\x6d\x2e\x20\x20\x54"
  31902			  "\x68\x69\x73\x2a\x54\x01\x02\x66"
  31903			  "\x69\x6e\x65\x73\x94\x06\x05\x61"
  31904			  "\x70\x70\x6c\x69\x63\x61\x74\x76"
  31905			  "\x0a\x6f\x66\x88\x02\x60\x09\x27"
  31906			  "\xf0\x00\x0c\x20\x75\x73\x65\x64"
  31907			  "\x20\x69\x6e\x20\x55\x42\x49\x46"
  31908			  "\x53\x2e\x11\x00\x00",
  31909		.output	= "This document describes a compression method based on the LZO "
  31910			"compression algorithm.  This document defines the application of "
  31911			"the LZO algorithm used in UBIFS.",
  31912	}, {
  31913		.inlen	= 46,
  31914		.outlen	= 70,
  31915		.input	= "\x00\x0d\x4a\x6f\x69\x6e\x20\x75"
  31916			  "\x73\x20\x6e\x6f\x77\x20\x61\x6e"
  31917			  "\x64\x20\x73\x68\x61\x72\x65\x20"
  31918			  "\x74\x68\x65\x20\x73\x6f\x66\x74"
  31919			  "\x77\x70\x01\x01\x4a\x6f\x69\x6e"
  31920			  "\x3d\x88\x00\x11\x00\x00",
  31921		.output	= "Join us now and share the software "
  31922			"Join us now and share the software ",
  31923	},
  31924};
  31925
  31926static const struct comp_testvec lzorle_comp_tv_template[] = {
  31927	{
  31928		.inlen	= 70,
  31929		.outlen	= 59,
  31930		.input	= "Join us now and share the software "
  31931			"Join us now and share the software ",
  31932		.output	= "\x11\x01\x00\x0d\x4a\x6f\x69\x6e"
  31933			  "\x20\x75\x73\x20\x6e\x6f\x77\x20"
  31934			  "\x61\x6e\x64\x20\x73\x68\x61\x72"
  31935			  "\x65\x20\x74\x68\x65\x20\x73\x6f"
  31936			  "\x66\x74\x77\x70\x01\x32\x88\x00"
  31937			  "\x0c\x65\x20\x74\x68\x65\x20\x73"
  31938			  "\x6f\x66\x74\x77\x61\x72\x65\x20"
  31939			  "\x11\x00\x00",
  31940	}, {
  31941		.inlen	= 159,
  31942		.outlen	= 133,
  31943		.input	= "This document describes a compression method based on the LZO "
  31944			"compression algorithm.  This document defines the application of "
  31945			"the LZO algorithm used in UBIFS.",
  31946		.output	= "\x11\x01\x00\x2c\x54\x68\x69\x73"
  31947			  "\x20\x64\x6f\x63\x75\x6d\x65\x6e"
  31948			  "\x74\x20\x64\x65\x73\x63\x72\x69"
  31949			  "\x62\x65\x73\x20\x61\x20\x63\x6f"
  31950			  "\x6d\x70\x72\x65\x73\x73\x69\x6f"
  31951			  "\x6e\x20\x6d\x65\x74\x68\x6f\x64"
  31952			  "\x20\x62\x61\x73\x65\x64\x20\x6f"
  31953			  "\x6e\x20\x74\x68\x65\x20\x4c\x5a"
  31954			  "\x4f\x20\x2a\x8c\x00\x09\x61\x6c"
  31955			  "\x67\x6f\x72\x69\x74\x68\x6d\x2e"
  31956			  "\x20\x20\x2e\x54\x01\x03\x66\x69"
  31957			  "\x6e\x65\x73\x20\x74\x06\x05\x61"
  31958			  "\x70\x70\x6c\x69\x63\x61\x74\x76"
  31959			  "\x0a\x6f\x66\x88\x02\x60\x09\x27"
  31960			  "\xf0\x00\x0c\x20\x75\x73\x65\x64"
  31961			  "\x20\x69\x6e\x20\x55\x42\x49\x46"
  31962			  "\x53\x2e\x11\x00\x00",
  31963	},
  31964};
  31965
  31966static const struct comp_testvec lzorle_decomp_tv_template[] = {
  31967	{
  31968		.inlen	= 133,
  31969		.outlen	= 159,
  31970		.input	= "\x00\x2b\x54\x68\x69\x73\x20\x64"
  31971			  "\x6f\x63\x75\x6d\x65\x6e\x74\x20"
  31972			  "\x64\x65\x73\x63\x72\x69\x62\x65"
  31973			  "\x73\x20\x61\x20\x63\x6f\x6d\x70"
  31974			  "\x72\x65\x73\x73\x69\x6f\x6e\x20"
  31975			  "\x6d\x65\x74\x68\x6f\x64\x20\x62"
  31976			  "\x61\x73\x65\x64\x20\x6f\x6e\x20"
  31977			  "\x74\x68\x65\x20\x4c\x5a\x4f\x2b"
  31978			  "\x8c\x00\x0d\x61\x6c\x67\x6f\x72"
  31979			  "\x69\x74\x68\x6d\x2e\x20\x20\x54"
  31980			  "\x68\x69\x73\x2a\x54\x01\x02\x66"
  31981			  "\x69\x6e\x65\x73\x94\x06\x05\x61"
  31982			  "\x70\x70\x6c\x69\x63\x61\x74\x76"
  31983			  "\x0a\x6f\x66\x88\x02\x60\x09\x27"
  31984			  "\xf0\x00\x0c\x20\x75\x73\x65\x64"
  31985			  "\x20\x69\x6e\x20\x55\x42\x49\x46"
  31986			  "\x53\x2e\x11\x00\x00",
  31987		.output	= "This document describes a compression method based on the LZO "
  31988			"compression algorithm.  This document defines the application of "
  31989			"the LZO algorithm used in UBIFS.",
  31990	}, {
  31991		.inlen	= 59,
  31992		.outlen	= 70,
  31993		.input	= "\x11\x01\x00\x0d\x4a\x6f\x69\x6e"
  31994			  "\x20\x75\x73\x20\x6e\x6f\x77\x20"
  31995			  "\x61\x6e\x64\x20\x73\x68\x61\x72"
  31996			  "\x65\x20\x74\x68\x65\x20\x73\x6f"
  31997			  "\x66\x74\x77\x70\x01\x32\x88\x00"
  31998			  "\x0c\x65\x20\x74\x68\x65\x20\x73"
  31999			  "\x6f\x66\x74\x77\x61\x72\x65\x20"
  32000			  "\x11\x00\x00",
  32001		.output	= "Join us now and share the software "
  32002			"Join us now and share the software ",
  32003	},
  32004};
  32005
  32006/*
  32007 * Michael MIC test vectors from IEEE 802.11i
  32008 */
  32009#define MICHAEL_MIC_TEST_VECTORS 6
  32010
  32011static const struct hash_testvec michael_mic_tv_template[] = {
  32012	{
  32013		.key = "\x00\x00\x00\x00\x00\x00\x00\x00",
  32014		.ksize = 8,
  32015		.plaintext = zeroed_string,
  32016		.psize = 0,
  32017		.digest = "\x82\x92\x5c\x1c\xa1\xd1\x30\xb8",
  32018	},
  32019	{
  32020		.key = "\x82\x92\x5c\x1c\xa1\xd1\x30\xb8",
  32021		.ksize = 8,
  32022		.plaintext = "M",
  32023		.psize = 1,
  32024		.digest = "\x43\x47\x21\xca\x40\x63\x9b\x3f",
  32025	},
  32026	{
  32027		.key = "\x43\x47\x21\xca\x40\x63\x9b\x3f",
  32028		.ksize = 8,
  32029		.plaintext = "Mi",
  32030		.psize = 2,
  32031		.digest = "\xe8\xf9\xbe\xca\xe9\x7e\x5d\x29",
  32032	},
  32033	{
  32034		.key = "\xe8\xf9\xbe\xca\xe9\x7e\x5d\x29",
  32035		.ksize = 8,
  32036		.plaintext = "Mic",
  32037		.psize = 3,
  32038		.digest = "\x90\x03\x8f\xc6\xcf\x13\xc1\xdb",
  32039	},
  32040	{
  32041		.key = "\x90\x03\x8f\xc6\xcf\x13\xc1\xdb",
  32042		.ksize = 8,
  32043		.plaintext = "Mich",
  32044		.psize = 4,
  32045		.digest = "\xd5\x5e\x10\x05\x10\x12\x89\x86",
  32046	},
  32047	{
  32048		.key = "\xd5\x5e\x10\x05\x10\x12\x89\x86",
  32049		.ksize = 8,
  32050		.plaintext = "Michael",
  32051		.psize = 7,
  32052		.digest = "\x0a\x94\x2b\x12\x4e\xca\xa5\x46",
  32053	}
  32054};
  32055
  32056/*
  32057 * CRC32 test vectors
  32058 */
  32059static const struct hash_testvec crc32_tv_template[] = {
  32060	{
  32061		.psize = 0,
  32062		.digest = "\x00\x00\x00\x00",
  32063	},
  32064	{
  32065		.plaintext = "abcdefg",
  32066		.psize = 7,
  32067		.digest = "\xd8\xb5\x46\xac",
  32068	},
  32069	{
  32070		.key = "\x87\xa9\xcb\xed",
  32071		.ksize = 4,
  32072		.psize = 0,
  32073		.digest = "\x87\xa9\xcb\xed",
  32074	},
  32075	{
  32076		.key = "\xff\xff\xff\xff",
  32077		.ksize = 4,
  32078		.plaintext = "\x01\x02\x03\x04\x05\x06\x07\x08"
  32079			     "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10"
  32080			     "\x11\x12\x13\x14\x15\x16\x17\x18"
  32081			     "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20"
  32082			     "\x21\x22\x23\x24\x25\x26\x27\x28",
  32083		.psize = 40,
  32084		.digest = "\x3a\xdf\x4b\xb0",
  32085	},
  32086	{
  32087		.key = "\xff\xff\xff\xff",
  32088		.ksize = 4,
  32089		.plaintext = "\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30"
  32090			     "\x31\x32\x33\x34\x35\x36\x37\x38"
  32091			     "\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40"
  32092			     "\x41\x42\x43\x44\x45\x46\x47\x48"
  32093			     "\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50",
  32094		.psize = 40,
  32095		.digest = "\xa9\x7a\x7f\x7b",
  32096	},
  32097	{
  32098		.key = "\xff\xff\xff\xff",
  32099		.ksize = 4,
  32100		.plaintext = "\x51\x52\x53\x54\x55\x56\x57\x58"
  32101			     "\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60"
  32102			     "\x61\x62\x63\x64\x65\x66\x67\x68"
  32103			     "\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70"
  32104			     "\x71\x72\x73\x74\x75\x76\x77\x78",
  32105		.psize = 40,
  32106		.digest = "\xba\xd3\xf8\x1c",
  32107	},
  32108	{
  32109		.key = "\xff\xff\xff\xff",
  32110		.ksize = 4,
  32111		.plaintext = "\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80"
  32112			     "\x81\x82\x83\x84\x85\x86\x87\x88"
  32113			     "\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90"
  32114			     "\x91\x92\x93\x94\x95\x96\x97\x98"
  32115			     "\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0",
  32116		.psize = 40,
  32117		.digest = "\xa8\xa9\xc2\x02",
  32118	},
  32119	{
  32120		.key = "\xff\xff\xff\xff",
  32121		.ksize = 4,
  32122		.plaintext = "\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8"
  32123			     "\xa9\xaa\xab\xac\xad\xae\xaf\xb0"
  32124			     "\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8"
  32125			     "\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0"
  32126			     "\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8",
  32127		.psize = 40,
  32128		.digest = "\x27\xf0\x57\xe2",
  32129	},
  32130	{
  32131		.key = "\xff\xff\xff\xff",
  32132		.ksize = 4,
  32133		.plaintext = "\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0"
  32134			     "\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8"
  32135			     "\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0"
  32136			     "\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8"
  32137			     "\xe9\xea\xeb\xec\xed\xee\xef\xf0",
  32138		.psize = 40,
  32139		.digest = "\x49\x78\x10\x08",
  32140	},
  32141	{
  32142		.key = "\x80\xea\xd3\xf1",
  32143		.ksize = 4,
  32144		.plaintext = "\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30"
  32145			     "\x31\x32\x33\x34\x35\x36\x37\x38"
  32146			     "\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40"
  32147			     "\x41\x42\x43\x44\x45\x46\x47\x48"
  32148			     "\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50",
  32149		.psize = 40,
  32150		.digest = "\x9a\xb1\xdc\xf0",
  32151	},
  32152	{
  32153		.key = "\xf3\x4a\x1d\x5d",
  32154		.ksize = 4,
  32155		.plaintext = "\x51\x52\x53\x54\x55\x56\x57\x58"
  32156			     "\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60"
  32157			     "\x61\x62\x63\x64\x65\x66\x67\x68"
  32158			     "\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70"
  32159			     "\x71\x72\x73\x74\x75\x76\x77\x78",
  32160		.psize = 40,
  32161		.digest = "\xb4\x97\xcc\xd4",
  32162	},
  32163	{
  32164		.key = "\x2e\x80\x04\x59",
  32165		.ksize = 4,
  32166		.plaintext = "\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80"
  32167			     "\x81\x82\x83\x84\x85\x86\x87\x88"
  32168			     "\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90"
  32169			     "\x91\x92\x93\x94\x95\x96\x97\x98"
  32170			     "\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0",
  32171		.psize = 40,
  32172		.digest = "\x67\x9b\xfa\x79",
  32173	},
  32174	{
  32175		.key = "\xa6\xcc\x19\x85",
  32176		.ksize = 4,
  32177		.plaintext = "\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8"
  32178			     "\xa9\xaa\xab\xac\xad\xae\xaf\xb0"
  32179			     "\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8"
  32180			     "\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0"
  32181			     "\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8",
  32182		.psize = 40,
  32183		.digest = "\x24\xb5\x16\xef",
  32184	},
  32185	{
  32186		.key = "\x41\xfc\xfe\x2d",
  32187		.ksize = 4,
  32188		.plaintext = "\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0"
  32189			     "\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8"
  32190			     "\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0"
  32191			     "\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8"
  32192			     "\xe9\xea\xeb\xec\xed\xee\xef\xf0",
  32193		.psize = 40,
  32194		.digest = "\x15\x94\x80\x39",
  32195	},
  32196	{
  32197		.key = "\xff\xff\xff\xff",
  32198		.ksize = 4,
  32199		.plaintext = "\x01\x02\x03\x04\x05\x06\x07\x08"
  32200			     "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10"
  32201			     "\x11\x12\x13\x14\x15\x16\x17\x18"
  32202			     "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20"
  32203			     "\x21\x22\x23\x24\x25\x26\x27\x28"
  32204			     "\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30"
  32205			     "\x31\x32\x33\x34\x35\x36\x37\x38"
  32206			     "\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40"
  32207			     "\x41\x42\x43\x44\x45\x46\x47\x48"
  32208			     "\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50"
  32209			     "\x51\x52\x53\x54\x55\x56\x57\x58"
  32210			     "\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60"
  32211			     "\x61\x62\x63\x64\x65\x66\x67\x68"
  32212			     "\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70"
  32213			     "\x71\x72\x73\x74\x75\x76\x77\x78"
  32214			     "\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80"
  32215			     "\x81\x82\x83\x84\x85\x86\x87\x88"
  32216			     "\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90"
  32217			     "\x91\x92\x93\x94\x95\x96\x97\x98"
  32218			     "\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0"
  32219			     "\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8"
  32220			     "\xa9\xaa\xab\xac\xad\xae\xaf\xb0"
  32221			     "\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8"
  32222			     "\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0"
  32223			     "\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8"
  32224			     "\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0"
  32225			     "\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8"
  32226			     "\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0"
  32227			     "\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8"
  32228			     "\xe9\xea\xeb\xec\xed\xee\xef\xf0",
  32229		.psize = 240,
  32230		.digest = "\x6c\xc6\x56\xde",
  32231	}, {
  32232		.key = "\xff\xff\xff\xff",
  32233		.ksize = 4,
  32234		.plaintext =	"\x6e\x05\x79\x10\xa7\x1b\xb2\x49"
  32235				"\xe0\x54\xeb\x82\x19\x8d\x24\xbb"
  32236				"\x2f\xc6\x5d\xf4\x68\xff\x96\x0a"
  32237				"\xa1\x38\xcf\x43\xda\x71\x08\x7c"
  32238				"\x13\xaa\x1e\xb5\x4c\xe3\x57\xee"
  32239				"\x85\x1c\x90\x27\xbe\x32\xc9\x60"
  32240				"\xf7\x6b\x02\x99\x0d\xa4\x3b\xd2"
  32241				"\x46\xdd\x74\x0b\x7f\x16\xad\x21"
  32242				"\xb8\x4f\xe6\x5a\xf1\x88\x1f\x93"
  32243				"\x2a\xc1\x35\xcc\x63\xfa\x6e\x05"
  32244				"\x9c\x10\xa7\x3e\xd5\x49\xe0\x77"
  32245				"\x0e\x82\x19\xb0\x24\xbb\x52\xe9"
  32246				"\x5d\xf4\x8b\x22\x96\x2d\xc4\x38"
  32247				"\xcf\x66\xfd\x71\x08\x9f\x13\xaa"
  32248				"\x41\xd8\x4c\xe3\x7a\x11\x85\x1c"
  32249				"\xb3\x27\xbe\x55\xec\x60\xf7\x8e"
  32250				"\x02\x99\x30\xc7\x3b\xd2\x69\x00"
  32251				"\x74\x0b\xa2\x16\xad\x44\xdb\x4f"
  32252				"\xe6\x7d\x14\x88\x1f\xb6\x2a\xc1"
  32253				"\x58\xef\x63\xfa\x91\x05\x9c\x33"
  32254				"\xca\x3e\xd5\x6c\x03\x77\x0e\xa5"
  32255				"\x19\xb0\x47\xde\x52\xe9\x80\x17"
  32256				"\x8b\x22\xb9\x2d\xc4\x5b\xf2\x66"
  32257				"\xfd\x94\x08\x9f\x36\xcd\x41\xd8"
  32258				"\x6f\x06\x7a\x11\xa8\x1c\xb3\x4a"
  32259				"\xe1\x55\xec\x83\x1a\x8e\x25\xbc"
  32260				"\x30\xc7\x5e\xf5\x69\x00\x97\x0b"
  32261				"\xa2\x39\xd0\x44\xdb\x72\x09\x7d"
  32262				"\x14\xab\x1f\xb6\x4d\xe4\x58\xef"
  32263				"\x86\x1d\x91\x28\xbf\x33\xca\x61"
  32264				"\xf8\x6c\x03\x9a\x0e\xa5\x3c\xd3"
  32265				"\x47\xde\x75\x0c\x80\x17\xae\x22"
  32266				"\xb9\x50\xe7\x5b\xf2\x89\x20\x94"
  32267				"\x2b\xc2\x36\xcd\x64\xfb\x6f\x06"
  32268				"\x9d\x11\xa8\x3f\xd6\x4a\xe1\x78"
  32269				"\x0f\x83\x1a\xb1\x25\xbc\x53\xea"
  32270				"\x5e\xf5\x8c\x00\x97\x2e\xc5\x39"
  32271				"\xd0\x67\xfe\x72\x09\xa0\x14\xab"
  32272				"\x42\xd9\x4d\xe4\x7b\x12\x86\x1d"
  32273				"\xb4\x28\xbf\x56\xed\x61\xf8\x8f"
  32274				"\x03\x9a\x31\xc8\x3c\xd3\x6a\x01"
  32275				"\x75\x0c\xa3\x17\xae\x45\xdc\x50"
  32276				"\xe7\x7e\x15\x89\x20\xb7\x2b\xc2"
  32277				"\x59\xf0\x64\xfb\x92\x06\x9d\x34"
  32278				"\xcb\x3f\xd6\x6d\x04\x78\x0f\xa6"
  32279				"\x1a\xb1\x48\xdf\x53\xea\x81\x18"
  32280				"\x8c\x23\xba\x2e\xc5\x5c\xf3\x67"
  32281				"\xfe\x95\x09\xa0\x37\xce\x42\xd9"
  32282				"\x70\x07\x7b\x12\xa9\x1d\xb4\x4b"
  32283				"\xe2\x56\xed\x84\x1b\x8f\x26\xbd"
  32284				"\x31\xc8\x5f\xf6\x6a\x01\x98\x0c"
  32285				"\xa3\x3a\xd1\x45\xdc\x73\x0a\x7e"
  32286				"\x15\xac\x20\xb7\x4e\xe5\x59\xf0"
  32287				"\x87\x1e\x92\x29\xc0\x34\xcb\x62"
  32288				"\xf9\x6d\x04\x9b\x0f\xa6\x3d\xd4"
  32289				"\x48\xdf\x76\x0d\x81\x18\xaf\x23"
  32290				"\xba\x51\xe8\x5c\xf3\x8a\x21\x95"
  32291				"\x2c\xc3\x37\xce\x65\xfc\x70\x07"
  32292				"\x9e\x12\xa9\x40\xd7\x4b\xe2\x79"
  32293				"\x10\x84\x1b\xb2\x26\xbd\x54\xeb"
  32294				"\x5f\xf6\x8d\x01\x98\x2f\xc6\x3a"
  32295				"\xd1\x68\xff\x73\x0a\xa1\x15\xac"
  32296				"\x43\xda\x4e\xe5\x7c\x13\x87\x1e"
  32297				"\xb5\x29\xc0\x57\xee\x62\xf9\x90"
  32298				"\x04\x9b\x32\xc9\x3d\xd4\x6b\x02"
  32299				"\x76\x0d\xa4\x18\xaf\x46\xdd\x51"
  32300				"\xe8\x7f\x16\x8a\x21\xb8\x2c\xc3"
  32301				"\x5a\xf1\x65\xfc\x93\x07\x9e\x35"
  32302				"\xcc\x40\xd7\x6e\x05\x79\x10\xa7"
  32303				"\x1b\xb2\x49\xe0\x54\xeb\x82\x19"
  32304				"\x8d\x24\xbb\x2f\xc6\x5d\xf4\x68"
  32305				"\xff\x96\x0a\xa1\x38\xcf\x43\xda"
  32306				"\x71\x08\x7c\x13\xaa\x1e\xb5\x4c"
  32307				"\xe3\x57\xee\x85\x1c\x90\x27\xbe"
  32308				"\x32\xc9\x60\xf7\x6b\x02\x99\x0d"
  32309				"\xa4\x3b\xd2\x46\xdd\x74\x0b\x7f"
  32310				"\x16\xad\x21\xb8\x4f\xe6\x5a\xf1"
  32311				"\x88\x1f\x93\x2a\xc1\x35\xcc\x63"
  32312				"\xfa\x6e\x05\x9c\x10\xa7\x3e\xd5"
  32313				"\x49\xe0\x77\x0e\x82\x19\xb0\x24"
  32314				"\xbb\x52\xe9\x5d\xf4\x8b\x22\x96"
  32315				"\x2d\xc4\x38\xcf\x66\xfd\x71\x08"
  32316				"\x9f\x13\xaa\x41\xd8\x4c\xe3\x7a"
  32317				"\x11\x85\x1c\xb3\x27\xbe\x55\xec"
  32318				"\x60\xf7\x8e\x02\x99\x30\xc7\x3b"
  32319				"\xd2\x69\x00\x74\x0b\xa2\x16\xad"
  32320				"\x44\xdb\x4f\xe6\x7d\x14\x88\x1f"
  32321				"\xb6\x2a\xc1\x58\xef\x63\xfa\x91"
  32322				"\x05\x9c\x33\xca\x3e\xd5\x6c\x03"
  32323				"\x77\x0e\xa5\x19\xb0\x47\xde\x52"
  32324				"\xe9\x80\x17\x8b\x22\xb9\x2d\xc4"
  32325				"\x5b\xf2\x66\xfd\x94\x08\x9f\x36"
  32326				"\xcd\x41\xd8\x6f\x06\x7a\x11\xa8"
  32327				"\x1c\xb3\x4a\xe1\x55\xec\x83\x1a"
  32328				"\x8e\x25\xbc\x30\xc7\x5e\xf5\x69"
  32329				"\x00\x97\x0b\xa2\x39\xd0\x44\xdb"
  32330				"\x72\x09\x7d\x14\xab\x1f\xb6\x4d"
  32331				"\xe4\x58\xef\x86\x1d\x91\x28\xbf"
  32332				"\x33\xca\x61\xf8\x6c\x03\x9a\x0e"
  32333				"\xa5\x3c\xd3\x47\xde\x75\x0c\x80"
  32334				"\x17\xae\x22\xb9\x50\xe7\x5b\xf2"
  32335				"\x89\x20\x94\x2b\xc2\x36\xcd\x64"
  32336				"\xfb\x6f\x06\x9d\x11\xa8\x3f\xd6"
  32337				"\x4a\xe1\x78\x0f\x83\x1a\xb1\x25"
  32338				"\xbc\x53\xea\x5e\xf5\x8c\x00\x97"
  32339				"\x2e\xc5\x39\xd0\x67\xfe\x72\x09"
  32340				"\xa0\x14\xab\x42\xd9\x4d\xe4\x7b"
  32341				"\x12\x86\x1d\xb4\x28\xbf\x56\xed"
  32342				"\x61\xf8\x8f\x03\x9a\x31\xc8\x3c"
  32343				"\xd3\x6a\x01\x75\x0c\xa3\x17\xae"
  32344				"\x45\xdc\x50\xe7\x7e\x15\x89\x20"
  32345				"\xb7\x2b\xc2\x59\xf0\x64\xfb\x92"
  32346				"\x06\x9d\x34\xcb\x3f\xd6\x6d\x04"
  32347				"\x78\x0f\xa6\x1a\xb1\x48\xdf\x53"
  32348				"\xea\x81\x18\x8c\x23\xba\x2e\xc5"
  32349				"\x5c\xf3\x67\xfe\x95\x09\xa0\x37"
  32350				"\xce\x42\xd9\x70\x07\x7b\x12\xa9"
  32351				"\x1d\xb4\x4b\xe2\x56\xed\x84\x1b"
  32352				"\x8f\x26\xbd\x31\xc8\x5f\xf6\x6a"
  32353				"\x01\x98\x0c\xa3\x3a\xd1\x45\xdc"
  32354				"\x73\x0a\x7e\x15\xac\x20\xb7\x4e"
  32355				"\xe5\x59\xf0\x87\x1e\x92\x29\xc0"
  32356				"\x34\xcb\x62\xf9\x6d\x04\x9b\x0f"
  32357				"\xa6\x3d\xd4\x48\xdf\x76\x0d\x81"
  32358				"\x18\xaf\x23\xba\x51\xe8\x5c\xf3"
  32359				"\x8a\x21\x95\x2c\xc3\x37\xce\x65"
  32360				"\xfc\x70\x07\x9e\x12\xa9\x40\xd7"
  32361				"\x4b\xe2\x79\x10\x84\x1b\xb2\x26"
  32362				"\xbd\x54\xeb\x5f\xf6\x8d\x01\x98"
  32363				"\x2f\xc6\x3a\xd1\x68\xff\x73\x0a"
  32364				"\xa1\x15\xac\x43\xda\x4e\xe5\x7c"
  32365				"\x13\x87\x1e\xb5\x29\xc0\x57\xee"
  32366				"\x62\xf9\x90\x04\x9b\x32\xc9\x3d"
  32367				"\xd4\x6b\x02\x76\x0d\xa4\x18\xaf"
  32368				"\x46\xdd\x51\xe8\x7f\x16\x8a\x21"
  32369				"\xb8\x2c\xc3\x5a\xf1\x65\xfc\x93"
  32370				"\x07\x9e\x35\xcc\x40\xd7\x6e\x05"
  32371				"\x79\x10\xa7\x1b\xb2\x49\xe0\x54"
  32372				"\xeb\x82\x19\x8d\x24\xbb\x2f\xc6"
  32373				"\x5d\xf4\x68\xff\x96\x0a\xa1\x38"
  32374				"\xcf\x43\xda\x71\x08\x7c\x13\xaa"
  32375				"\x1e\xb5\x4c\xe3\x57\xee\x85\x1c"
  32376				"\x90\x27\xbe\x32\xc9\x60\xf7\x6b"
  32377				"\x02\x99\x0d\xa4\x3b\xd2\x46\xdd"
  32378				"\x74\x0b\x7f\x16\xad\x21\xb8\x4f"
  32379				"\xe6\x5a\xf1\x88\x1f\x93\x2a\xc1"
  32380				"\x35\xcc\x63\xfa\x6e\x05\x9c\x10"
  32381				"\xa7\x3e\xd5\x49\xe0\x77\x0e\x82"
  32382				"\x19\xb0\x24\xbb\x52\xe9\x5d\xf4"
  32383				"\x8b\x22\x96\x2d\xc4\x38\xcf\x66"
  32384				"\xfd\x71\x08\x9f\x13\xaa\x41\xd8"
  32385				"\x4c\xe3\x7a\x11\x85\x1c\xb3\x27"
  32386				"\xbe\x55\xec\x60\xf7\x8e\x02\x99"
  32387				"\x30\xc7\x3b\xd2\x69\x00\x74\x0b"
  32388				"\xa2\x16\xad\x44\xdb\x4f\xe6\x7d"
  32389				"\x14\x88\x1f\xb6\x2a\xc1\x58\xef"
  32390				"\x63\xfa\x91\x05\x9c\x33\xca\x3e"
  32391				"\xd5\x6c\x03\x77\x0e\xa5\x19\xb0"
  32392				"\x47\xde\x52\xe9\x80\x17\x8b\x22"
  32393				"\xb9\x2d\xc4\x5b\xf2\x66\xfd\x94"
  32394				"\x08\x9f\x36\xcd\x41\xd8\x6f\x06"
  32395				"\x7a\x11\xa8\x1c\xb3\x4a\xe1\x55"
  32396				"\xec\x83\x1a\x8e\x25\xbc\x30\xc7"
  32397				"\x5e\xf5\x69\x00\x97\x0b\xa2\x39"
  32398				"\xd0\x44\xdb\x72\x09\x7d\x14\xab"
  32399				"\x1f\xb6\x4d\xe4\x58\xef\x86\x1d"
  32400				"\x91\x28\xbf\x33\xca\x61\xf8\x6c"
  32401				"\x03\x9a\x0e\xa5\x3c\xd3\x47\xde"
  32402				"\x75\x0c\x80\x17\xae\x22\xb9\x50"
  32403				"\xe7\x5b\xf2\x89\x20\x94\x2b\xc2"
  32404				"\x36\xcd\x64\xfb\x6f\x06\x9d\x11"
  32405				"\xa8\x3f\xd6\x4a\xe1\x78\x0f\x83"
  32406				"\x1a\xb1\x25\xbc\x53\xea\x5e\xf5"
  32407				"\x8c\x00\x97\x2e\xc5\x39\xd0\x67"
  32408				"\xfe\x72\x09\xa0\x14\xab\x42\xd9"
  32409				"\x4d\xe4\x7b\x12\x86\x1d\xb4\x28"
  32410				"\xbf\x56\xed\x61\xf8\x8f\x03\x9a"
  32411				"\x31\xc8\x3c\xd3\x6a\x01\x75\x0c"
  32412				"\xa3\x17\xae\x45\xdc\x50\xe7\x7e"
  32413				"\x15\x89\x20\xb7\x2b\xc2\x59\xf0"
  32414				"\x64\xfb\x92\x06\x9d\x34\xcb\x3f"
  32415				"\xd6\x6d\x04\x78\x0f\xa6\x1a\xb1"
  32416				"\x48\xdf\x53\xea\x81\x18\x8c\x23"
  32417				"\xba\x2e\xc5\x5c\xf3\x67\xfe\x95"
  32418				"\x09\xa0\x37\xce\x42\xd9\x70\x07"
  32419				"\x7b\x12\xa9\x1d\xb4\x4b\xe2\x56"
  32420				"\xed\x84\x1b\x8f\x26\xbd\x31\xc8"
  32421				"\x5f\xf6\x6a\x01\x98\x0c\xa3\x3a"
  32422				"\xd1\x45\xdc\x73\x0a\x7e\x15\xac"
  32423				"\x20\xb7\x4e\xe5\x59\xf0\x87\x1e"
  32424				"\x92\x29\xc0\x34\xcb\x62\xf9\x6d"
  32425				"\x04\x9b\x0f\xa6\x3d\xd4\x48\xdf"
  32426				"\x76\x0d\x81\x18\xaf\x23\xba\x51"
  32427				"\xe8\x5c\xf3\x8a\x21\x95\x2c\xc3"
  32428				"\x37\xce\x65\xfc\x70\x07\x9e\x12"
  32429				"\xa9\x40\xd7\x4b\xe2\x79\x10\x84"
  32430				"\x1b\xb2\x26\xbd\x54\xeb\x5f\xf6"
  32431				"\x8d\x01\x98\x2f\xc6\x3a\xd1\x68"
  32432				"\xff\x73\x0a\xa1\x15\xac\x43\xda"
  32433				"\x4e\xe5\x7c\x13\x87\x1e\xb5\x29"
  32434				"\xc0\x57\xee\x62\xf9\x90\x04\x9b"
  32435				"\x32\xc9\x3d\xd4\x6b\x02\x76\x0d"
  32436				"\xa4\x18\xaf\x46\xdd\x51\xe8\x7f"
  32437				"\x16\x8a\x21\xb8\x2c\xc3\x5a\xf1"
  32438				"\x65\xfc\x93\x07\x9e\x35\xcc\x40"
  32439				"\xd7\x6e\x05\x79\x10\xa7\x1b\xb2"
  32440				"\x49\xe0\x54\xeb\x82\x19\x8d\x24"
  32441				"\xbb\x2f\xc6\x5d\xf4\x68\xff\x96"
  32442				"\x0a\xa1\x38\xcf\x43\xda\x71\x08"
  32443				"\x7c\x13\xaa\x1e\xb5\x4c\xe3\x57"
  32444				"\xee\x85\x1c\x90\x27\xbe\x32\xc9"
  32445				"\x60\xf7\x6b\x02\x99\x0d\xa4\x3b"
  32446				"\xd2\x46\xdd\x74\x0b\x7f\x16\xad"
  32447				"\x21\xb8\x4f\xe6\x5a\xf1\x88\x1f"
  32448				"\x93\x2a\xc1\x35\xcc\x63\xfa\x6e"
  32449				"\x05\x9c\x10\xa7\x3e\xd5\x49\xe0"
  32450				"\x77\x0e\x82\x19\xb0\x24\xbb\x52"
  32451				"\xe9\x5d\xf4\x8b\x22\x96\x2d\xc4"
  32452				"\x38\xcf\x66\xfd\x71\x08\x9f\x13"
  32453				"\xaa\x41\xd8\x4c\xe3\x7a\x11\x85"
  32454				"\x1c\xb3\x27\xbe\x55\xec\x60\xf7"
  32455				"\x8e\x02\x99\x30\xc7\x3b\xd2\x69"
  32456				"\x00\x74\x0b\xa2\x16\xad\x44\xdb"
  32457				"\x4f\xe6\x7d\x14\x88\x1f\xb6\x2a"
  32458				"\xc1\x58\xef\x63\xfa\x91\x05\x9c"
  32459				"\x33\xca\x3e\xd5\x6c\x03\x77\x0e"
  32460				"\xa5\x19\xb0\x47\xde\x52\xe9\x80"
  32461				"\x17\x8b\x22\xb9\x2d\xc4\x5b\xf2"
  32462				"\x66\xfd\x94\x08\x9f\x36\xcd\x41"
  32463				"\xd8\x6f\x06\x7a\x11\xa8\x1c\xb3"
  32464				"\x4a\xe1\x55\xec\x83\x1a\x8e\x25"
  32465				"\xbc\x30\xc7\x5e\xf5\x69\x00\x97"
  32466				"\x0b\xa2\x39\xd0\x44\xdb\x72\x09"
  32467				"\x7d\x14\xab\x1f\xb6\x4d\xe4\x58"
  32468				"\xef\x86\x1d\x91\x28\xbf\x33\xca"
  32469				"\x61\xf8\x6c\x03\x9a\x0e\xa5\x3c"
  32470				"\xd3\x47\xde\x75\x0c\x80\x17\xae"
  32471				"\x22\xb9\x50\xe7\x5b\xf2\x89\x20"
  32472				"\x94\x2b\xc2\x36\xcd\x64\xfb\x6f"
  32473				"\x06\x9d\x11\xa8\x3f\xd6\x4a\xe1"
  32474				"\x78\x0f\x83\x1a\xb1\x25\xbc\x53"
  32475				"\xea\x5e\xf5\x8c\x00\x97\x2e\xc5"
  32476				"\x39\xd0\x67\xfe\x72\x09\xa0\x14"
  32477				"\xab\x42\xd9\x4d\xe4\x7b\x12\x86"
  32478				"\x1d\xb4\x28\xbf\x56\xed\x61\xf8"
  32479				"\x8f\x03\x9a\x31\xc8\x3c\xd3\x6a"
  32480				"\x01\x75\x0c\xa3\x17\xae\x45\xdc"
  32481				"\x50\xe7\x7e\x15\x89\x20\xb7\x2b"
  32482				"\xc2\x59\xf0\x64\xfb\x92\x06\x9d"
  32483				"\x34\xcb\x3f\xd6\x6d\x04\x78\x0f"
  32484				"\xa6\x1a\xb1\x48\xdf\x53\xea\x81"
  32485				"\x18\x8c\x23\xba\x2e\xc5\x5c\xf3"
  32486				"\x67\xfe\x95\x09\xa0\x37\xce\x42"
  32487				"\xd9\x70\x07\x7b\x12\xa9\x1d\xb4"
  32488				"\x4b\xe2\x56\xed\x84\x1b\x8f\x26"
  32489				"\xbd\x31\xc8\x5f\xf6\x6a\x01\x98",
  32490		.psize = 2048,
  32491		.digest = "\xfb\x3a\x7a\xda",
  32492	}
  32493};
  32494
  32495/*
  32496 * CRC32C test vectors
  32497 */
  32498static const struct hash_testvec crc32c_tv_template[] = {
  32499	{
  32500		.psize = 0,
  32501		.digest = "\x00\x00\x00\x00",
  32502	},
  32503	{
  32504		.plaintext = "abcdefg",
  32505		.psize = 7,
  32506		.digest = "\x41\xf4\x27\xe6",
  32507	},
  32508	{
  32509		.key = "\x87\xa9\xcb\xed",
  32510		.ksize = 4,
  32511		.psize = 0,
  32512		.digest = "\x78\x56\x34\x12",
  32513	},
  32514	{
  32515		.key = "\xff\xff\xff\xff",
  32516		.ksize = 4,
  32517		.plaintext = "\x01\x02\x03\x04\x05\x06\x07\x08"
  32518			     "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10"
  32519			     "\x11\x12\x13\x14\x15\x16\x17\x18"
  32520			     "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20"
  32521			     "\x21\x22\x23\x24\x25\x26\x27\x28",
  32522		.psize = 40,
  32523		.digest = "\x7f\x15\x2c\x0e",
  32524	},
  32525	{
  32526		.key = "\xff\xff\xff\xff",
  32527		.ksize = 4,
  32528		.plaintext = "\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30"
  32529			     "\x31\x32\x33\x34\x35\x36\x37\x38"
  32530			     "\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40"
  32531			     "\x41\x42\x43\x44\x45\x46\x47\x48"
  32532			     "\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50",
  32533		.psize = 40,
  32534		.digest = "\xf6\xeb\x80\xe9",
  32535	},
  32536	{
  32537		.key = "\xff\xff\xff\xff",
  32538		.ksize = 4,
  32539		.plaintext = "\x51\x52\x53\x54\x55\x56\x57\x58"
  32540			     "\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60"
  32541			     "\x61\x62\x63\x64\x65\x66\x67\x68"
  32542			     "\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70"
  32543			     "\x71\x72\x73\x74\x75\x76\x77\x78",
  32544		.psize = 40,
  32545		.digest = "\xed\xbd\x74\xde",
  32546	},
  32547	{
  32548		.key = "\xff\xff\xff\xff",
  32549		.ksize = 4,
  32550		.plaintext = "\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80"
  32551			     "\x81\x82\x83\x84\x85\x86\x87\x88"
  32552			     "\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90"
  32553			     "\x91\x92\x93\x94\x95\x96\x97\x98"
  32554			     "\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0",
  32555		.psize = 40,
  32556		.digest = "\x62\xc8\x79\xd5",
  32557	},
  32558	{
  32559		.key = "\xff\xff\xff\xff",
  32560		.ksize = 4,
  32561		.plaintext = "\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8"
  32562			     "\xa9\xaa\xab\xac\xad\xae\xaf\xb0"
  32563			     "\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8"
  32564			     "\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0"
  32565			     "\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8",
  32566		.psize = 40,
  32567		.digest = "\xd0\x9a\x97\xba",
  32568	},
  32569	{
  32570		.key = "\xff\xff\xff\xff",
  32571		.ksize = 4,
  32572		.plaintext = "\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0"
  32573			     "\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8"
  32574			     "\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0"
  32575			     "\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8"
  32576			     "\xe9\xea\xeb\xec\xed\xee\xef\xf0",
  32577		.psize = 40,
  32578		.digest = "\x13\xd9\x29\x2b",
  32579	},
  32580	{
  32581		.key = "\x80\xea\xd3\xf1",
  32582		.ksize = 4,
  32583		.plaintext = "\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30"
  32584			     "\x31\x32\x33\x34\x35\x36\x37\x38"
  32585			     "\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40"
  32586			     "\x41\x42\x43\x44\x45\x46\x47\x48"
  32587			     "\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50",
  32588		.psize = 40,
  32589		.digest = "\x0c\xb5\xe2\xa2",
  32590	},
  32591	{
  32592		.key = "\xf3\x4a\x1d\x5d",
  32593		.ksize = 4,
  32594		.plaintext = "\x51\x52\x53\x54\x55\x56\x57\x58"
  32595			     "\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60"
  32596			     "\x61\x62\x63\x64\x65\x66\x67\x68"
  32597			     "\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70"
  32598			     "\x71\x72\x73\x74\x75\x76\x77\x78",
  32599		.psize = 40,
  32600		.digest = "\xd1\x7f\xfb\xa6",
  32601	},
  32602	{
  32603		.key = "\x2e\x80\x04\x59",
  32604		.ksize = 4,
  32605		.plaintext = "\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80"
  32606			     "\x81\x82\x83\x84\x85\x86\x87\x88"
  32607			     "\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90"
  32608			     "\x91\x92\x93\x94\x95\x96\x97\x98"
  32609			     "\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0",
  32610		.psize = 40,
  32611		.digest = "\x59\x33\xe6\x7a",
  32612	},
  32613	{
  32614		.key = "\xa6\xcc\x19\x85",
  32615		.ksize = 4,
  32616		.plaintext = "\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8"
  32617			     "\xa9\xaa\xab\xac\xad\xae\xaf\xb0"
  32618			     "\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8"
  32619			     "\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0"
  32620			     "\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8",
  32621		.psize = 40,
  32622		.digest = "\xbe\x03\x01\xd2",
  32623	},
  32624	{
  32625		.key = "\x41\xfc\xfe\x2d",
  32626		.ksize = 4,
  32627		.plaintext = "\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0"
  32628			     "\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8"
  32629			     "\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0"
  32630			     "\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8"
  32631			     "\xe9\xea\xeb\xec\xed\xee\xef\xf0",
  32632		.psize = 40,
  32633		.digest = "\x75\xd3\xc5\x24",
  32634	},
  32635	{
  32636		.key = "\xff\xff\xff\xff",
  32637		.ksize = 4,
  32638		.plaintext = "\x01\x02\x03\x04\x05\x06\x07\x08"
  32639			     "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10"
  32640			     "\x11\x12\x13\x14\x15\x16\x17\x18"
  32641			     "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20"
  32642			     "\x21\x22\x23\x24\x25\x26\x27\x28"
  32643			     "\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30"
  32644			     "\x31\x32\x33\x34\x35\x36\x37\x38"
  32645			     "\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40"
  32646			     "\x41\x42\x43\x44\x45\x46\x47\x48"
  32647			     "\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50"
  32648			     "\x51\x52\x53\x54\x55\x56\x57\x58"
  32649			     "\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60"
  32650			     "\x61\x62\x63\x64\x65\x66\x67\x68"
  32651			     "\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70"
  32652			     "\x71\x72\x73\x74\x75\x76\x77\x78"
  32653			     "\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80"
  32654			     "\x81\x82\x83\x84\x85\x86\x87\x88"
  32655			     "\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90"
  32656			     "\x91\x92\x93\x94\x95\x96\x97\x98"
  32657			     "\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0"
  32658			     "\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8"
  32659			     "\xa9\xaa\xab\xac\xad\xae\xaf\xb0"
  32660			     "\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8"
  32661			     "\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0"
  32662			     "\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8"
  32663			     "\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0"
  32664			     "\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8"
  32665			     "\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0"
  32666			     "\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8"
  32667			     "\xe9\xea\xeb\xec\xed\xee\xef\xf0",
  32668		.psize = 240,
  32669		.digest = "\x75\xd3\xc5\x24",
  32670	}, {
  32671		.key = "\xff\xff\xff\xff",
  32672		.ksize = 4,
  32673		.plaintext =	"\x6e\x05\x79\x10\xa7\x1b\xb2\x49"
  32674				"\xe0\x54\xeb\x82\x19\x8d\x24\xbb"
  32675				"\x2f\xc6\x5d\xf4\x68\xff\x96\x0a"
  32676				"\xa1\x38\xcf\x43\xda\x71\x08\x7c"
  32677				"\x13\xaa\x1e\xb5\x4c\xe3\x57\xee"
  32678				"\x85\x1c\x90\x27\xbe\x32\xc9\x60"
  32679				"\xf7\x6b\x02\x99\x0d\xa4\x3b\xd2"
  32680				"\x46\xdd\x74\x0b\x7f\x16\xad\x21"
  32681				"\xb8\x4f\xe6\x5a\xf1\x88\x1f\x93"
  32682				"\x2a\xc1\x35\xcc\x63\xfa\x6e\x05"
  32683				"\x9c\x10\xa7\x3e\xd5\x49\xe0\x77"
  32684				"\x0e\x82\x19\xb0\x24\xbb\x52\xe9"
  32685				"\x5d\xf4\x8b\x22\x96\x2d\xc4\x38"
  32686				"\xcf\x66\xfd\x71\x08\x9f\x13\xaa"
  32687				"\x41\xd8\x4c\xe3\x7a\x11\x85\x1c"
  32688				"\xb3\x27\xbe\x55\xec\x60\xf7\x8e"
  32689				"\x02\x99\x30\xc7\x3b\xd2\x69\x00"
  32690				"\x74\x0b\xa2\x16\xad\x44\xdb\x4f"
  32691				"\xe6\x7d\x14\x88\x1f\xb6\x2a\xc1"
  32692				"\x58\xef\x63\xfa\x91\x05\x9c\x33"
  32693				"\xca\x3e\xd5\x6c\x03\x77\x0e\xa5"
  32694				"\x19\xb0\x47\xde\x52\xe9\x80\x17"
  32695				"\x8b\x22\xb9\x2d\xc4\x5b\xf2\x66"
  32696				"\xfd\x94\x08\x9f\x36\xcd\x41\xd8"
  32697				"\x6f\x06\x7a\x11\xa8\x1c\xb3\x4a"
  32698				"\xe1\x55\xec\x83\x1a\x8e\x25\xbc"
  32699				"\x30\xc7\x5e\xf5\x69\x00\x97\x0b"
  32700				"\xa2\x39\xd0\x44\xdb\x72\x09\x7d"
  32701				"\x14\xab\x1f\xb6\x4d\xe4\x58\xef"
  32702				"\x86\x1d\x91\x28\xbf\x33\xca\x61"
  32703				"\xf8\x6c\x03\x9a\x0e\xa5\x3c\xd3"
  32704				"\x47\xde\x75\x0c\x80\x17\xae\x22"
  32705				"\xb9\x50\xe7\x5b\xf2\x89\x20\x94"
  32706				"\x2b\xc2\x36\xcd\x64\xfb\x6f\x06"
  32707				"\x9d\x11\xa8\x3f\xd6\x4a\xe1\x78"
  32708				"\x0f\x83\x1a\xb1\x25\xbc\x53\xea"
  32709				"\x5e\xf5\x8c\x00\x97\x2e\xc5\x39"
  32710				"\xd0\x67\xfe\x72\x09\xa0\x14\xab"
  32711				"\x42\xd9\x4d\xe4\x7b\x12\x86\x1d"
  32712				"\xb4\x28\xbf\x56\xed\x61\xf8\x8f"
  32713				"\x03\x9a\x31\xc8\x3c\xd3\x6a\x01"
  32714				"\x75\x0c\xa3\x17\xae\x45\xdc\x50"
  32715				"\xe7\x7e\x15\x89\x20\xb7\x2b\xc2"
  32716				"\x59\xf0\x64\xfb\x92\x06\x9d\x34"
  32717				"\xcb\x3f\xd6\x6d\x04\x78\x0f\xa6"
  32718				"\x1a\xb1\x48\xdf\x53\xea\x81\x18"
  32719				"\x8c\x23\xba\x2e\xc5\x5c\xf3\x67"
  32720				"\xfe\x95\x09\xa0\x37\xce\x42\xd9"
  32721				"\x70\x07\x7b\x12\xa9\x1d\xb4\x4b"
  32722				"\xe2\x56\xed\x84\x1b\x8f\x26\xbd"
  32723				"\x31\xc8\x5f\xf6\x6a\x01\x98\x0c"
  32724				"\xa3\x3a\xd1\x45\xdc\x73\x0a\x7e"
  32725				"\x15\xac\x20\xb7\x4e\xe5\x59\xf0"
  32726				"\x87\x1e\x92\x29\xc0\x34\xcb\x62"
  32727				"\xf9\x6d\x04\x9b\x0f\xa6\x3d\xd4"
  32728				"\x48\xdf\x76\x0d\x81\x18\xaf\x23"
  32729				"\xba\x51\xe8\x5c\xf3\x8a\x21\x95"
  32730				"\x2c\xc3\x37\xce\x65\xfc\x70\x07"
  32731				"\x9e\x12\xa9\x40\xd7\x4b\xe2\x79"
  32732				"\x10\x84\x1b\xb2\x26\xbd\x54\xeb"
  32733				"\x5f\xf6\x8d\x01\x98\x2f\xc6\x3a"
  32734				"\xd1\x68\xff\x73\x0a\xa1\x15\xac"
  32735				"\x43\xda\x4e\xe5\x7c\x13\x87\x1e"
  32736				"\xb5\x29\xc0\x57\xee\x62\xf9\x90"
  32737				"\x04\x9b\x32\xc9\x3d\xd4\x6b\x02"
  32738				"\x76\x0d\xa4\x18\xaf\x46\xdd\x51"
  32739				"\xe8\x7f\x16\x8a\x21\xb8\x2c\xc3"
  32740				"\x5a\xf1\x65\xfc\x93\x07\x9e\x35"
  32741				"\xcc\x40\xd7\x6e\x05\x79\x10\xa7"
  32742				"\x1b\xb2\x49\xe0\x54\xeb\x82\x19"
  32743				"\x8d\x24\xbb\x2f\xc6\x5d\xf4\x68"
  32744				"\xff\x96\x0a\xa1\x38\xcf\x43\xda"
  32745				"\x71\x08\x7c\x13\xaa\x1e\xb5\x4c"
  32746				"\xe3\x57\xee\x85\x1c\x90\x27\xbe"
  32747				"\x32\xc9\x60\xf7\x6b\x02\x99\x0d"
  32748				"\xa4\x3b\xd2\x46\xdd\x74\x0b\x7f"
  32749				"\x16\xad\x21\xb8\x4f\xe6\x5a\xf1"
  32750				"\x88\x1f\x93\x2a\xc1\x35\xcc\x63"
  32751				"\xfa\x6e\x05\x9c\x10\xa7\x3e\xd5"
  32752				"\x49\xe0\x77\x0e\x82\x19\xb0\x24"
  32753				"\xbb\x52\xe9\x5d\xf4\x8b\x22\x96"
  32754				"\x2d\xc4\x38\xcf\x66\xfd\x71\x08"
  32755				"\x9f\x13\xaa\x41\xd8\x4c\xe3\x7a"
  32756				"\x11\x85\x1c\xb3\x27\xbe\x55\xec"
  32757				"\x60\xf7\x8e\x02\x99\x30\xc7\x3b"
  32758				"\xd2\x69\x00\x74\x0b\xa2\x16\xad"
  32759				"\x44\xdb\x4f\xe6\x7d\x14\x88\x1f"
  32760				"\xb6\x2a\xc1\x58\xef\x63\xfa\x91"
  32761				"\x05\x9c\x33\xca\x3e\xd5\x6c\x03"
  32762				"\x77\x0e\xa5\x19\xb0\x47\xde\x52"
  32763				"\xe9\x80\x17\x8b\x22\xb9\x2d\xc4"
  32764				"\x5b\xf2\x66\xfd\x94\x08\x9f\x36"
  32765				"\xcd\x41\xd8\x6f\x06\x7a\x11\xa8"
  32766				"\x1c\xb3\x4a\xe1\x55\xec\x83\x1a"
  32767				"\x8e\x25\xbc\x30\xc7\x5e\xf5\x69"
  32768				"\x00\x97\x0b\xa2\x39\xd0\x44\xdb"
  32769				"\x72\x09\x7d\x14\xab\x1f\xb6\x4d"
  32770				"\xe4\x58\xef\x86\x1d\x91\x28\xbf"
  32771				"\x33\xca\x61\xf8\x6c\x03\x9a\x0e"
  32772				"\xa5\x3c\xd3\x47\xde\x75\x0c\x80"
  32773				"\x17\xae\x22\xb9\x50\xe7\x5b\xf2"
  32774				"\x89\x20\x94\x2b\xc2\x36\xcd\x64"
  32775				"\xfb\x6f\x06\x9d\x11\xa8\x3f\xd6"
  32776				"\x4a\xe1\x78\x0f\x83\x1a\xb1\x25"
  32777				"\xbc\x53\xea\x5e\xf5\x8c\x00\x97"
  32778				"\x2e\xc5\x39\xd0\x67\xfe\x72\x09"
  32779				"\xa0\x14\xab\x42\xd9\x4d\xe4\x7b"
  32780				"\x12\x86\x1d\xb4\x28\xbf\x56\xed"
  32781				"\x61\xf8\x8f\x03\x9a\x31\xc8\x3c"
  32782				"\xd3\x6a\x01\x75\x0c\xa3\x17\xae"
  32783				"\x45\xdc\x50\xe7\x7e\x15\x89\x20"
  32784				"\xb7\x2b\xc2\x59\xf0\x64\xfb\x92"
  32785				"\x06\x9d\x34\xcb\x3f\xd6\x6d\x04"
  32786				"\x78\x0f\xa6\x1a\xb1\x48\xdf\x53"
  32787				"\xea\x81\x18\x8c\x23\xba\x2e\xc5"
  32788				"\x5c\xf3\x67\xfe\x95\x09\xa0\x37"
  32789				"\xce\x42\xd9\x70\x07\x7b\x12\xa9"
  32790				"\x1d\xb4\x4b\xe2\x56\xed\x84\x1b"
  32791				"\x8f\x26\xbd\x31\xc8\x5f\xf6\x6a"
  32792				"\x01\x98\x0c\xa3\x3a\xd1\x45\xdc"
  32793				"\x73\x0a\x7e\x15\xac\x20\xb7\x4e"
  32794				"\xe5\x59\xf0\x87\x1e\x92\x29\xc0"
  32795				"\x34\xcb\x62\xf9\x6d\x04\x9b\x0f"
  32796				"\xa6\x3d\xd4\x48\xdf\x76\x0d\x81"
  32797				"\x18\xaf\x23\xba\x51\xe8\x5c\xf3"
  32798				"\x8a\x21\x95\x2c\xc3\x37\xce\x65"
  32799				"\xfc\x70\x07\x9e\x12\xa9\x40\xd7"
  32800				"\x4b\xe2\x79\x10\x84\x1b\xb2\x26"
  32801				"\xbd\x54\xeb\x5f\xf6\x8d\x01\x98"
  32802				"\x2f\xc6\x3a\xd1\x68\xff\x73\x0a"
  32803				"\xa1\x15\xac\x43\xda\x4e\xe5\x7c"
  32804				"\x13\x87\x1e\xb5\x29\xc0\x57\xee"
  32805				"\x62\xf9\x90\x04\x9b\x32\xc9\x3d"
  32806				"\xd4\x6b\x02\x76\x0d\xa4\x18\xaf"
  32807				"\x46\xdd\x51\xe8\x7f\x16\x8a\x21"
  32808				"\xb8\x2c\xc3\x5a\xf1\x65\xfc\x93"
  32809				"\x07\x9e\x35\xcc\x40\xd7\x6e\x05"
  32810				"\x79\x10\xa7\x1b\xb2\x49\xe0\x54"
  32811				"\xeb\x82\x19\x8d\x24\xbb\x2f\xc6"
  32812				"\x5d\xf4\x68\xff\x96\x0a\xa1\x38"
  32813				"\xcf\x43\xda\x71\x08\x7c\x13\xaa"
  32814				"\x1e\xb5\x4c\xe3\x57\xee\x85\x1c"
  32815				"\x90\x27\xbe\x32\xc9\x60\xf7\x6b"
  32816				"\x02\x99\x0d\xa4\x3b\xd2\x46\xdd"
  32817				"\x74\x0b\x7f\x16\xad\x21\xb8\x4f"
  32818				"\xe6\x5a\xf1\x88\x1f\x93\x2a\xc1"
  32819				"\x35\xcc\x63\xfa\x6e\x05\x9c\x10"
  32820				"\xa7\x3e\xd5\x49\xe0\x77\x0e\x82"
  32821				"\x19\xb0\x24\xbb\x52\xe9\x5d\xf4"
  32822				"\x8b\x22\x96\x2d\xc4\x38\xcf\x66"
  32823				"\xfd\x71\x08\x9f\x13\xaa\x41\xd8"
  32824				"\x4c\xe3\x7a\x11\x85\x1c\xb3\x27"
  32825				"\xbe\x55\xec\x60\xf7\x8e\x02\x99"
  32826				"\x30\xc7\x3b\xd2\x69\x00\x74\x0b"
  32827				"\xa2\x16\xad\x44\xdb\x4f\xe6\x7d"
  32828				"\x14\x88\x1f\xb6\x2a\xc1\x58\xef"
  32829				"\x63\xfa\x91\x05\x9c\x33\xca\x3e"
  32830				"\xd5\x6c\x03\x77\x0e\xa5\x19\xb0"
  32831				"\x47\xde\x52\xe9\x80\x17\x8b\x22"
  32832				"\xb9\x2d\xc4\x5b\xf2\x66\xfd\x94"
  32833				"\x08\x9f\x36\xcd\x41\xd8\x6f\x06"
  32834				"\x7a\x11\xa8\x1c\xb3\x4a\xe1\x55"
  32835				"\xec\x83\x1a\x8e\x25\xbc\x30\xc7"
  32836				"\x5e\xf5\x69\x00\x97\x0b\xa2\x39"
  32837				"\xd0\x44\xdb\x72\x09\x7d\x14\xab"
  32838				"\x1f\xb6\x4d\xe4\x58\xef\x86\x1d"
  32839				"\x91\x28\xbf\x33\xca\x61\xf8\x6c"
  32840				"\x03\x9a\x0e\xa5\x3c\xd3\x47\xde"
  32841				"\x75\x0c\x80\x17\xae\x22\xb9\x50"
  32842				"\xe7\x5b\xf2\x89\x20\x94\x2b\xc2"
  32843				"\x36\xcd\x64\xfb\x6f\x06\x9d\x11"
  32844				"\xa8\x3f\xd6\x4a\xe1\x78\x0f\x83"
  32845				"\x1a\xb1\x25\xbc\x53\xea\x5e\xf5"
  32846				"\x8c\x00\x97\x2e\xc5\x39\xd0\x67"
  32847				"\xfe\x72\x09\xa0\x14\xab\x42\xd9"
  32848				"\x4d\xe4\x7b\x12\x86\x1d\xb4\x28"
  32849				"\xbf\x56\xed\x61\xf8\x8f\x03\x9a"
  32850				"\x31\xc8\x3c\xd3\x6a\x01\x75\x0c"
  32851				"\xa3\x17\xae\x45\xdc\x50\xe7\x7e"
  32852				"\x15\x89\x20\xb7\x2b\xc2\x59\xf0"
  32853				"\x64\xfb\x92\x06\x9d\x34\xcb\x3f"
  32854				"\xd6\x6d\x04\x78\x0f\xa6\x1a\xb1"
  32855				"\x48\xdf\x53\xea\x81\x18\x8c\x23"
  32856				"\xba\x2e\xc5\x5c\xf3\x67\xfe\x95"
  32857				"\x09\xa0\x37\xce\x42\xd9\x70\x07"
  32858				"\x7b\x12\xa9\x1d\xb4\x4b\xe2\x56"
  32859				"\xed\x84\x1b\x8f\x26\xbd\x31\xc8"
  32860				"\x5f\xf6\x6a\x01\x98\x0c\xa3\x3a"
  32861				"\xd1\x45\xdc\x73\x0a\x7e\x15\xac"
  32862				"\x20\xb7\x4e\xe5\x59\xf0\x87\x1e"
  32863				"\x92\x29\xc0\x34\xcb\x62\xf9\x6d"
  32864				"\x04\x9b\x0f\xa6\x3d\xd4\x48\xdf"
  32865				"\x76\x0d\x81\x18\xaf\x23\xba\x51"
  32866				"\xe8\x5c\xf3\x8a\x21\x95\x2c\xc3"
  32867				"\x37\xce\x65\xfc\x70\x07\x9e\x12"
  32868				"\xa9\x40\xd7\x4b\xe2\x79\x10\x84"
  32869				"\x1b\xb2\x26\xbd\x54\xeb\x5f\xf6"
  32870				"\x8d\x01\x98\x2f\xc6\x3a\xd1\x68"
  32871				"\xff\x73\x0a\xa1\x15\xac\x43\xda"
  32872				"\x4e\xe5\x7c\x13\x87\x1e\xb5\x29"
  32873				"\xc0\x57\xee\x62\xf9\x90\x04\x9b"
  32874				"\x32\xc9\x3d\xd4\x6b\x02\x76\x0d"
  32875				"\xa4\x18\xaf\x46\xdd\x51\xe8\x7f"
  32876				"\x16\x8a\x21\xb8\x2c\xc3\x5a\xf1"
  32877				"\x65\xfc\x93\x07\x9e\x35\xcc\x40"
  32878				"\xd7\x6e\x05\x79\x10\xa7\x1b\xb2"
  32879				"\x49\xe0\x54\xeb\x82\x19\x8d\x24"
  32880				"\xbb\x2f\xc6\x5d\xf4\x68\xff\x96"
  32881				"\x0a\xa1\x38\xcf\x43\xda\x71\x08"
  32882				"\x7c\x13\xaa\x1e\xb5\x4c\xe3\x57"
  32883				"\xee\x85\x1c\x90\x27\xbe\x32\xc9"
  32884				"\x60\xf7\x6b\x02\x99\x0d\xa4\x3b"
  32885				"\xd2\x46\xdd\x74\x0b\x7f\x16\xad"
  32886				"\x21\xb8\x4f\xe6\x5a\xf1\x88\x1f"
  32887				"\x93\x2a\xc1\x35\xcc\x63\xfa\x6e"
  32888				"\x05\x9c\x10\xa7\x3e\xd5\x49\xe0"
  32889				"\x77\x0e\x82\x19\xb0\x24\xbb\x52"
  32890				"\xe9\x5d\xf4\x8b\x22\x96\x2d\xc4"
  32891				"\x38\xcf\x66\xfd\x71\x08\x9f\x13"
  32892				"\xaa\x41\xd8\x4c\xe3\x7a\x11\x85"
  32893				"\x1c\xb3\x27\xbe\x55\xec\x60\xf7"
  32894				"\x8e\x02\x99\x30\xc7\x3b\xd2\x69"
  32895				"\x00\x74\x0b\xa2\x16\xad\x44\xdb"
  32896				"\x4f\xe6\x7d\x14\x88\x1f\xb6\x2a"
  32897				"\xc1\x58\xef\x63\xfa\x91\x05\x9c"
  32898				"\x33\xca\x3e\xd5\x6c\x03\x77\x0e"
  32899				"\xa5\x19\xb0\x47\xde\x52\xe9\x80"
  32900				"\x17\x8b\x22\xb9\x2d\xc4\x5b\xf2"
  32901				"\x66\xfd\x94\x08\x9f\x36\xcd\x41"
  32902				"\xd8\x6f\x06\x7a\x11\xa8\x1c\xb3"
  32903				"\x4a\xe1\x55\xec\x83\x1a\x8e\x25"
  32904				"\xbc\x30\xc7\x5e\xf5\x69\x00\x97"
  32905				"\x0b\xa2\x39\xd0\x44\xdb\x72\x09"
  32906				"\x7d\x14\xab\x1f\xb6\x4d\xe4\x58"
  32907				"\xef\x86\x1d\x91\x28\xbf\x33\xca"
  32908				"\x61\xf8\x6c\x03\x9a\x0e\xa5\x3c"
  32909				"\xd3\x47\xde\x75\x0c\x80\x17\xae"
  32910				"\x22\xb9\x50\xe7\x5b\xf2\x89\x20"
  32911				"\x94\x2b\xc2\x36\xcd\x64\xfb\x6f"
  32912				"\x06\x9d\x11\xa8\x3f\xd6\x4a\xe1"
  32913				"\x78\x0f\x83\x1a\xb1\x25\xbc\x53"
  32914				"\xea\x5e\xf5\x8c\x00\x97\x2e\xc5"
  32915				"\x39\xd0\x67\xfe\x72\x09\xa0\x14"
  32916				"\xab\x42\xd9\x4d\xe4\x7b\x12\x86"
  32917				"\x1d\xb4\x28\xbf\x56\xed\x61\xf8"
  32918				"\x8f\x03\x9a\x31\xc8\x3c\xd3\x6a"
  32919				"\x01\x75\x0c\xa3\x17\xae\x45\xdc"
  32920				"\x50\xe7\x7e\x15\x89\x20\xb7\x2b"
  32921				"\xc2\x59\xf0\x64\xfb\x92\x06\x9d"
  32922				"\x34\xcb\x3f\xd6\x6d\x04\x78\x0f"
  32923				"\xa6\x1a\xb1\x48\xdf\x53\xea\x81"
  32924				"\x18\x8c\x23\xba\x2e\xc5\x5c\xf3"
  32925				"\x67\xfe\x95\x09\xa0\x37\xce\x42"
  32926				"\xd9\x70\x07\x7b\x12\xa9\x1d\xb4"
  32927				"\x4b\xe2\x56\xed\x84\x1b\x8f\x26"
  32928				"\xbd\x31\xc8\x5f\xf6\x6a\x01\x98",
  32929		.psize = 2048,
  32930		.digest = "\xec\x26\x4d\x95",
  32931	}
  32932};
  32933
  32934static const struct hash_testvec xxhash64_tv_template[] = {
  32935	{
  32936		.psize = 0,
  32937		.digest = "\x99\xe9\xd8\x51\x37\xdb\x46\xef",
  32938	},
  32939	{
  32940		.plaintext = "\x40",
  32941		.psize = 1,
  32942		.digest = "\x20\x5c\x91\xaa\x88\xeb\x59\xd0",
  32943	},
  32944	{
  32945		.plaintext = "\x40\x8b\xb8\x41\xe4\x42\x15\x2d"
  32946			     "\x88\xc7\x9a\x09\x1a\x9b",
  32947		.psize = 14,
  32948		.digest = "\xa8\xe8\x2b\xa9\x92\xa1\x37\x4a",
  32949	},
  32950	{
  32951		.plaintext = "\x40\x8b\xb8\x41\xe4\x42\x15\x2d"
  32952		             "\x88\xc7\x9a\x09\x1a\x9b\x42\xe0"
  32953			     "\xd4\x38\xa5\x2a\x26\xa5\x19\x4b"
  32954			     "\x57\x65\x7f\xad\xc3\x7d\xca\x40"
  32955			     "\x31\x65\x05\xbb\x31\xae\x51\x11"
  32956			     "\xa8\xc0\xb3\x28\x42\xeb\x3c\x46"
  32957			     "\xc8\xed\xed\x0f\x8d\x0b\xfa\x6e"
  32958			     "\xbc\xe3\x88\x53\xca\x8f\xc8\xd9"
  32959			     "\x41\x26\x7a\x3d\x21\xdb\x1a\x3c"
  32960			     "\x01\x1d\xc9\xe9\xb7\x3a\x78\x67"
  32961			     "\x57\x20\x94\xf1\x1e\xfd\xce\x39"
  32962			     "\x99\x57\x69\x39\xa5\xd0\x8d\xd9"
  32963			     "\x43\xfe\x1d\x66\x04\x3c\x27\x6a"
  32964			     "\xe1\x0d\xe7\xc9\xfa\xc9\x07\x56"
  32965			     "\xa5\xb3\xec\xd9\x1f\x42\x65\x66"
  32966			     "\xaa\xbf\x87\x9b\xc5\x41\x9c\x27"
  32967			     "\x3f\x2f\xa9\x55\x93\x01\x27\x33"
  32968			     "\x43\x99\x4d\x81\x85\xae\x82\x00"
  32969			     "\x6c\xd0\xd1\xa3\x57\x18\x06\xcc"
  32970			     "\xec\x72\xf7\x8e\x87\x2d\x1f\x5e"
  32971			     "\xd7\x5b\x1f\x36\x4c\xfa\xfd\x18"
  32972			     "\x89\x76\xd3\x5e\xb5\x5a\xc0\x01"
  32973			     "\xd2\xa1\x9a\x50\xe6\x08\xb4\x76"
  32974			     "\x56\x4f\x0e\xbc\x54\xfc\x67\xe6"
  32975			     "\xb9\xc0\x28\x4b\xb5\xc3\xff\x79"
  32976			     "\x52\xea\xa1\x90\xc3\xaf\x08\x70"
  32977			     "\x12\x02\x0c\xdb\x94\x00\x38\x95"
  32978			     "\xed\xfd\x08\xf7\xe8\x04",
  32979		.psize = 222,
  32980		.digest = "\x41\xfc\xd4\x29\xfe\xe7\x85\x17",
  32981	},
  32982	{
  32983		.psize = 0,
  32984		.key = "\xb1\x79\x37\x9e\x00\x00\x00\x00",
  32985		.ksize = 8,
  32986		.digest = "\xef\x17\x9b\x92\xa2\xfd\x75\xac",
  32987	},
  32988
  32989	{
  32990		.plaintext = "\x40",
  32991		.psize = 1,
  32992		.key = "\xb1\x79\x37\x9e\x00\x00\x00\x00",
  32993		.ksize = 8,
  32994		.digest = "\xd1\x70\x4f\x14\x02\xc4\x9e\x71",
  32995	},
  32996	{
  32997		.plaintext = "\x40\x8b\xb8\x41\xe4\x42\x15\x2d"
  32998			     "\x88\xc7\x9a\x09\x1a\x9b",
  32999		.psize = 14,
  33000		.key = "\xb1\x79\x37\x9e\x00\x00\x00\x00",
  33001		.ksize = 8,
  33002		.digest = "\xa4\xcd\xfe\x8e\x37\xe2\x1c\x64"
  33003	},
  33004	{
  33005		.plaintext = "\x40\x8b\xb8\x41\xe4\x42\x15\x2d"
  33006		             "\x88\xc7\x9a\x09\x1a\x9b\x42\xe0"
  33007			     "\xd4\x38\xa5\x2a\x26\xa5\x19\x4b"
  33008			     "\x57\x65\x7f\xad\xc3\x7d\xca\x40"
  33009			     "\x31\x65\x05\xbb\x31\xae\x51\x11"
  33010			     "\xa8\xc0\xb3\x28\x42\xeb\x3c\x46"
  33011			     "\xc8\xed\xed\x0f\x8d\x0b\xfa\x6e"
  33012			     "\xbc\xe3\x88\x53\xca\x8f\xc8\xd9"
  33013			     "\x41\x26\x7a\x3d\x21\xdb\x1a\x3c"
  33014			     "\x01\x1d\xc9\xe9\xb7\x3a\x78\x67"
  33015			     "\x57\x20\x94\xf1\x1e\xfd\xce\x39"
  33016			     "\x99\x57\x69\x39\xa5\xd0\x8d\xd9"
  33017			     "\x43\xfe\x1d\x66\x04\x3c\x27\x6a"
  33018			     "\xe1\x0d\xe7\xc9\xfa\xc9\x07\x56"
  33019			     "\xa5\xb3\xec\xd9\x1f\x42\x65\x66"
  33020			     "\xaa\xbf\x87\x9b\xc5\x41\x9c\x27"
  33021			     "\x3f\x2f\xa9\x55\x93\x01\x27\x33"
  33022			     "\x43\x99\x4d\x81\x85\xae\x82\x00"
  33023			     "\x6c\xd0\xd1\xa3\x57\x18\x06\xcc"
  33024			     "\xec\x72\xf7\x8e\x87\x2d\x1f\x5e"
  33025			     "\xd7\x5b\x1f\x36\x4c\xfa\xfd\x18"
  33026			     "\x89\x76\xd3\x5e\xb5\x5a\xc0\x01"
  33027			     "\xd2\xa1\x9a\x50\xe6\x08\xb4\x76"
  33028			     "\x56\x4f\x0e\xbc\x54\xfc\x67\xe6"
  33029			     "\xb9\xc0\x28\x4b\xb5\xc3\xff\x79"
  33030			     "\x52\xea\xa1\x90\xc3\xaf\x08\x70"
  33031			     "\x12\x02\x0c\xdb\x94\x00\x38\x95"
  33032			     "\xed\xfd\x08\xf7\xe8\x04",
  33033		.psize = 222,
  33034		.key = "\xb1\x79\x37\x9e\x00\x00\x00\x00",
  33035		.ksize = 8,
  33036		.digest = "\x58\xbc\x55\xf2\x42\x81\x5c\xf0"
  33037	},
  33038};
  33039
  33040static const struct comp_testvec lz4_comp_tv_template[] = {
  33041	{
  33042		.inlen	= 255,
  33043		.outlen	= 218,
  33044		.input	= "LZ4 is lossless compression algorithm, providing"
  33045			 " compression speed at 400 MB/s per core, scalable "
  33046			 "with multi-cores CPU. It features an extremely fast "
  33047			 "decoder, with speed in multiple GB/s per core, "
  33048			 "typically reaching RAM speed limits on multi-core "
  33049			 "systems.",
  33050		.output	= "\xf9\x21\x4c\x5a\x34\x20\x69\x73\x20\x6c\x6f\x73\x73"
  33051			  "\x6c\x65\x73\x73\x20\x63\x6f\x6d\x70\x72\x65\x73\x73"
  33052			  "\x69\x6f\x6e\x20\x61\x6c\x67\x6f\x72\x69\x74\x68\x6d"
  33053			  "\x2c\x20\x70\x72\x6f\x76\x69\x64\x69\x6e\x67\x21\x00"
  33054			  "\xf0\x21\x73\x70\x65\x65\x64\x20\x61\x74\x20\x34\x30"
  33055			  "\x30\x20\x4d\x42\x2f\x73\x20\x70\x65\x72\x20\x63\x6f"
  33056			  "\x72\x65\x2c\x20\x73\x63\x61\x6c\x61\x62\x6c\x65\x20"
  33057			  "\x77\x69\x74\x68\x20\x6d\x75\x6c\x74\x69\x2d\x1a\x00"
  33058			  "\xf0\x00\x73\x20\x43\x50\x55\x2e\x20\x49\x74\x20\x66"
  33059			  "\x65\x61\x74\x75\x11\x00\xf2\x0b\x61\x6e\x20\x65\x78"
  33060			  "\x74\x72\x65\x6d\x65\x6c\x79\x20\x66\x61\x73\x74\x20"
  33061			  "\x64\x65\x63\x6f\x64\x65\x72\x2c\x3d\x00\x02\x67\x00"
  33062			  "\x22\x69\x6e\x46\x00\x5a\x70\x6c\x65\x20\x47\x6c\x00"
  33063			  "\xf0\x00\x74\x79\x70\x69\x63\x61\x6c\x6c\x79\x20\x72"
  33064			  "\x65\x61\x63\x68\xa7\x00\x33\x52\x41\x4d\x38\x00\x83"
  33065			  "\x6c\x69\x6d\x69\x74\x73\x20\x6f\x3f\x00\x01\x85\x00"
  33066			  "\x90\x20\x73\x79\x73\x74\x65\x6d\x73\x2e",
  33067
  33068	},
  33069};
  33070
  33071static const struct comp_testvec lz4_decomp_tv_template[] = {
  33072	{
  33073		.inlen	= 218,
  33074		.outlen	= 255,
  33075		.input	= "\xf9\x21\x4c\x5a\x34\x20\x69\x73\x20\x6c\x6f\x73\x73"
  33076			  "\x6c\x65\x73\x73\x20\x63\x6f\x6d\x70\x72\x65\x73\x73"
  33077			  "\x69\x6f\x6e\x20\x61\x6c\x67\x6f\x72\x69\x74\x68\x6d"
  33078			  "\x2c\x20\x70\x72\x6f\x76\x69\x64\x69\x6e\x67\x21\x00"
  33079			  "\xf0\x21\x73\x70\x65\x65\x64\x20\x61\x74\x20\x34\x30"
  33080			  "\x30\x20\x4d\x42\x2f\x73\x20\x70\x65\x72\x20\x63\x6f"
  33081			  "\x72\x65\x2c\x20\x73\x63\x61\x6c\x61\x62\x6c\x65\x20"
  33082			  "\x77\x69\x74\x68\x20\x6d\x75\x6c\x74\x69\x2d\x1a\x00"
  33083			  "\xf0\x00\x73\x20\x43\x50\x55\x2e\x20\x49\x74\x20\x66"
  33084			  "\x65\x61\x74\x75\x11\x00\xf2\x0b\x61\x6e\x20\x65\x78"
  33085			  "\x74\x72\x65\x6d\x65\x6c\x79\x20\x66\x61\x73\x74\x20"
  33086			  "\x64\x65\x63\x6f\x64\x65\x72\x2c\x3d\x00\x02\x67\x00"
  33087			  "\x22\x69\x6e\x46\x00\x5a\x70\x6c\x65\x20\x47\x6c\x00"
  33088			  "\xf0\x00\x74\x79\x70\x69\x63\x61\x6c\x6c\x79\x20\x72"
  33089			  "\x65\x61\x63\x68\xa7\x00\x33\x52\x41\x4d\x38\x00\x83"
  33090			  "\x6c\x69\x6d\x69\x74\x73\x20\x6f\x3f\x00\x01\x85\x00"
  33091			  "\x90\x20\x73\x79\x73\x74\x65\x6d\x73\x2e",
  33092		.output	= "LZ4 is lossless compression algorithm, providing"
  33093			 " compression speed at 400 MB/s per core, scalable "
  33094			 "with multi-cores CPU. It features an extremely fast "
  33095			 "decoder, with speed in multiple GB/s per core, "
  33096			 "typically reaching RAM speed limits on multi-core "
  33097			 "systems.",
  33098	},
  33099};
  33100
  33101static const struct comp_testvec lz4hc_comp_tv_template[] = {
  33102	{
  33103		.inlen	= 255,
  33104		.outlen	= 216,
  33105		.input	= "LZ4 is lossless compression algorithm, providing"
  33106			 " compression speed at 400 MB/s per core, scalable "
  33107			 "with multi-cores CPU. It features an extremely fast "
  33108			 "decoder, with speed in multiple GB/s per core, "
  33109			 "typically reaching RAM speed limits on multi-core "
  33110			 "systems.",
  33111		.output = "\xf9\x21\x4c\x5a\x34\x20\x69\x73\x20\x6c\x6f\x73\x73"
  33112			  "\x6c\x65\x73\x73\x20\x63\x6f\x6d\x70\x72\x65\x73\x73"
  33113			  "\x69\x6f\x6e\x20\x61\x6c\x67\x6f\x72\x69\x74\x68\x6d"
  33114			  "\x2c\x20\x70\x72\x6f\x76\x69\x64\x69\x6e\x67\x21\x00"
  33115			  "\xf0\x21\x73\x70\x65\x65\x64\x20\x61\x74\x20\x34\x30"
  33116			  "\x30\x20\x4d\x42\x2f\x73\x20\x70\x65\x72\x20\x63\x6f"
  33117			  "\x72\x65\x2c\x20\x73\x63\x61\x6c\x61\x62\x6c\x65\x20"
  33118			  "\x77\x69\x74\x68\x20\x6d\x75\x6c\x74\x69\x2d\x1a\x00"
  33119			  "\xf0\x00\x73\x20\x43\x50\x55\x2e\x20\x49\x74\x20\x66"
  33120			  "\x65\x61\x74\x75\x11\x00\xf2\x0b\x61\x6e\x20\x65\x78"
  33121			  "\x74\x72\x65\x6d\x65\x6c\x79\x20\x66\x61\x73\x74\x20"
  33122			  "\x64\x65\x63\x6f\x64\x65\x72\x2c\x3d\x00\x02\x67\x00"
  33123			  "\x22\x69\x6e\x46\x00\x5a\x70\x6c\x65\x20\x47\x6c\x00"
  33124			  "\xf0\x00\x74\x79\x70\x69\x63\x61\x6c\x6c\x79\x20\x72"
  33125			  "\x65\x61\x63\x68\xa7\x00\x33\x52\x41\x4d\x38\x00\x97"
  33126			  "\x6c\x69\x6d\x69\x74\x73\x20\x6f\x6e\x85\x00\x90\x20"
  33127			  "\x73\x79\x73\x74\x65\x6d\x73\x2e",
  33128
  33129	},
  33130};
  33131
  33132static const struct comp_testvec lz4hc_decomp_tv_template[] = {
  33133	{
  33134		.inlen	= 216,
  33135		.outlen	= 255,
  33136		.input	= "\xf9\x21\x4c\x5a\x34\x20\x69\x73\x20\x6c\x6f\x73\x73"
  33137			  "\x6c\x65\x73\x73\x20\x63\x6f\x6d\x70\x72\x65\x73\x73"
  33138			  "\x69\x6f\x6e\x20\x61\x6c\x67\x6f\x72\x69\x74\x68\x6d"
  33139			  "\x2c\x20\x70\x72\x6f\x76\x69\x64\x69\x6e\x67\x21\x00"
  33140			  "\xf0\x21\x73\x70\x65\x65\x64\x20\x61\x74\x20\x34\x30"
  33141			  "\x30\x20\x4d\x42\x2f\x73\x20\x70\x65\x72\x20\x63\x6f"
  33142			  "\x72\x65\x2c\x20\x73\x63\x61\x6c\x61\x62\x6c\x65\x20"
  33143			  "\x77\x69\x74\x68\x20\x6d\x75\x6c\x74\x69\x2d\x1a\x00"
  33144			  "\xf0\x00\x73\x20\x43\x50\x55\x2e\x20\x49\x74\x20\x66"
  33145			  "\x65\x61\x74\x75\x11\x00\xf2\x0b\x61\x6e\x20\x65\x78"
  33146			  "\x74\x72\x65\x6d\x65\x6c\x79\x20\x66\x61\x73\x74\x20"
  33147			  "\x64\x65\x63\x6f\x64\x65\x72\x2c\x3d\x00\x02\x67\x00"
  33148			  "\x22\x69\x6e\x46\x00\x5a\x70\x6c\x65\x20\x47\x6c\x00"
  33149			  "\xf0\x00\x74\x79\x70\x69\x63\x61\x6c\x6c\x79\x20\x72"
  33150			  "\x65\x61\x63\x68\xa7\x00\x33\x52\x41\x4d\x38\x00\x97"
  33151			  "\x6c\x69\x6d\x69\x74\x73\x20\x6f\x6e\x85\x00\x90\x20"
  33152			  "\x73\x79\x73\x74\x65\x6d\x73\x2e",
  33153		.output	= "LZ4 is lossless compression algorithm, providing"
  33154			 " compression speed at 400 MB/s per core, scalable "
  33155			 "with multi-cores CPU. It features an extremely fast "
  33156			 "decoder, with speed in multiple GB/s per core, "
  33157			 "typically reaching RAM speed limits on multi-core "
  33158			 "systems.",
  33159	},
  33160};
  33161
  33162static const struct comp_testvec zstd_comp_tv_template[] = {
  33163	{
  33164		.inlen	= 68,
  33165		.outlen	= 39,
  33166		.input	= "The algorithm is zstd. "
  33167			  "The algorithm is zstd. "
  33168			  "The algorithm is zstd.",
  33169		.output	= "\x28\xb5\x2f\xfd\x00\x50\xf5\x00\x00\xb8\x54\x68\x65"
  33170			  "\x20\x61\x6c\x67\x6f\x72\x69\x74\x68\x6d\x20\x69\x73"
  33171			  "\x20\x7a\x73\x74\x64\x2e\x20\x01\x00\x55\x73\x36\x01"
  33172			  ,
  33173	},
  33174	{
  33175		.inlen	= 244,
  33176		.outlen	= 151,
  33177		.input	= "zstd, short for Zstandard, is a fast lossless "
  33178			  "compression algorithm, targeting real-time "
  33179			  "compression scenarios at zlib-level and better "
  33180			  "compression ratios. The zstd compression library "
  33181			  "provides in-memory compression and decompression "
  33182			  "functions.",
  33183		.output	= "\x28\xb5\x2f\xfd\x00\x50\x75\x04\x00\x42\x4b\x1e\x17"
  33184			  "\x90\x81\x31\x00\xf2\x2f\xe4\x36\xc9\xef\x92\x88\x32"
  33185			  "\xc9\xf2\x24\x94\xd8\x68\x9a\x0f\x00\x0c\xc4\x31\x6f"
  33186			  "\x0d\x0c\x38\xac\x5c\x48\x03\xcd\x63\x67\xc0\xf3\xad"
  33187			  "\x4e\x90\xaa\x78\xa0\xa4\xc5\x99\xda\x2f\xb6\x24\x60"
  33188			  "\xe2\x79\x4b\xaa\xb6\x6b\x85\x0b\xc9\xc6\x04\x66\x86"
  33189			  "\xe2\xcc\xe2\x25\x3f\x4f\x09\xcd\xb8\x9d\xdb\xc1\x90"
  33190			  "\xa9\x11\xbc\x35\x44\x69\x2d\x9c\x64\x4f\x13\x31\x64"
  33191			  "\xcc\xfb\x4d\x95\x93\x86\x7f\x33\x7f\x1a\xef\xe9\x30"
  33192			  "\xf9\x67\xa1\x94\x0a\x69\x0f\x60\xcd\xc3\xab\x99\xdc"
  33193			  "\x42\xed\x97\x05\x00\x33\xc3\x15\x95\x3a\x06\xa0\x0e"
  33194			  "\x20\xa9\x0e\x82\xb9\x43\x45\x01",
  33195	},
  33196};
  33197
  33198static const struct comp_testvec zstd_decomp_tv_template[] = {
  33199	{
  33200		.inlen	= 43,
  33201		.outlen	= 68,
  33202		.input	= "\x28\xb5\x2f\xfd\x04\x50\xf5\x00\x00\xb8\x54\x68\x65"
  33203			  "\x20\x61\x6c\x67\x6f\x72\x69\x74\x68\x6d\x20\x69\x73"
  33204			  "\x20\x7a\x73\x74\x64\x2e\x20\x01\x00\x55\x73\x36\x01"
  33205			  "\x6b\xf4\x13\x35",
  33206		.output	= "The algorithm is zstd. "
  33207			  "The algorithm is zstd. "
  33208			  "The algorithm is zstd.",
  33209	},
  33210	{
  33211		.inlen	= 155,
  33212		.outlen	= 244,
  33213		.input	= "\x28\xb5\x2f\xfd\x04\x50\x75\x04\x00\x42\x4b\x1e\x17"
  33214			  "\x90\x81\x31\x00\xf2\x2f\xe4\x36\xc9\xef\x92\x88\x32"
  33215			  "\xc9\xf2\x24\x94\xd8\x68\x9a\x0f\x00\x0c\xc4\x31\x6f"
  33216			  "\x0d\x0c\x38\xac\x5c\x48\x03\xcd\x63\x67\xc0\xf3\xad"
  33217			  "\x4e\x90\xaa\x78\xa0\xa4\xc5\x99\xda\x2f\xb6\x24\x60"
  33218			  "\xe2\x79\x4b\xaa\xb6\x6b\x85\x0b\xc9\xc6\x04\x66\x86"
  33219			  "\xe2\xcc\xe2\x25\x3f\x4f\x09\xcd\xb8\x9d\xdb\xc1\x90"
  33220			  "\xa9\x11\xbc\x35\x44\x69\x2d\x9c\x64\x4f\x13\x31\x64"
  33221			  "\xcc\xfb\x4d\x95\x93\x86\x7f\x33\x7f\x1a\xef\xe9\x30"
  33222			  "\xf9\x67\xa1\x94\x0a\x69\x0f\x60\xcd\xc3\xab\x99\xdc"
  33223			  "\x42\xed\x97\x05\x00\x33\xc3\x15\x95\x3a\x06\xa0\x0e"
  33224			  "\x20\xa9\x0e\x82\xb9\x43\x45\x01\xaa\x6d\xda\x0d",
  33225		.output	= "zstd, short for Zstandard, is a fast lossless "
  33226			  "compression algorithm, targeting real-time "
  33227			  "compression scenarios at zlib-level and better "
  33228			  "compression ratios. The zstd compression library "
  33229			  "provides in-memory compression and decompression "
  33230			  "functions.",
  33231	},
  33232};
  33233
  33234/* based on aes_cbc_tv_template */
  33235static const struct cipher_testvec essiv_aes_cbc_tv_template[] = {
  33236	{
  33237		.key    = "\x06\xa9\x21\x40\x36\xb8\xa1\x5b"
  33238			  "\x51\x2e\x03\xd5\x34\x12\x00\x06",
  33239		.klen   = 16,
  33240		.iv	= "\x3d\xaf\xba\x42\x9d\x9e\xb4\x30"
  33241			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  33242		.ptext	= "Single block msg",
  33243		.ctext	= "\xfa\x59\xe7\x5f\x41\x56\x65\xc3"
  33244			  "\x36\xca\x6b\x72\x10\x9f\x8c\xd4",
  33245		.len	= 16,
  33246	}, {
  33247		.key    = "\xc2\x86\x69\x6d\x88\x7c\x9a\xa0"
  33248			  "\x61\x1b\xbb\x3e\x20\x25\xa4\x5a",
  33249		.klen   = 16,
  33250		.iv     = "\x56\x2e\x17\x99\x6d\x09\x3d\x28"
  33251			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  33252		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  33253			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  33254			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  33255			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f",
  33256		.ctext	= "\xc8\x59\x9a\xfe\x79\xe6\x7b\x20"
  33257			  "\x06\x7d\x55\x0a\x5e\xc7\xb5\xa7"
  33258			  "\x0b\x9c\x80\xd2\x15\xa1\xb8\x6d"
  33259			  "\xc6\xab\x7b\x65\xd9\xfd\x88\xeb",
  33260		.len	= 32,
  33261	}, {
  33262		.key	= "\x8e\x73\xb0\xf7\xda\x0e\x64\x52"
  33263			  "\xc8\x10\xf3\x2b\x80\x90\x79\xe5"
  33264			  "\x62\xf8\xea\xd2\x52\x2c\x6b\x7b",
  33265		.klen	= 24,
  33266		.iv	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  33267			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  33268		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
  33269			  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
  33270			  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
  33271			  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
  33272			  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
  33273			  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
  33274			  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
  33275			  "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
  33276		.ctext	= "\x96\x6d\xa9\x7a\x42\xe6\x01\xc7"
  33277			  "\x17\xfc\xa7\x41\xd3\x38\x0b\xe5"
  33278			  "\x51\x48\xf7\x7e\x5e\x26\xa9\xfe"
  33279			  "\x45\x72\x1c\xd9\xde\xab\xf3\x4d"
  33280			  "\x39\x47\xc5\x4f\x97\x3a\x55\x63"
  33281			  "\x80\x29\x64\x4c\x33\xe8\x21\x8a"
  33282			  "\x6a\xef\x6b\x6a\x8f\x43\xc0\xcb"
  33283			  "\xf0\xf3\x6e\x74\x54\x44\x92\x44",
  33284		.len	= 64,
  33285	}, {
  33286		.key	= "\x60\x3d\xeb\x10\x15\xca\x71\xbe"
  33287			  "\x2b\x73\xae\xf0\x85\x7d\x77\x81"
  33288			  "\x1f\x35\x2c\x07\x3b\x61\x08\xd7"
  33289			  "\x2d\x98\x10\xa3\x09\x14\xdf\xf4",
  33290		.klen	= 32,
  33291		.iv	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  33292			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  33293		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
  33294			  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
  33295			  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
  33296			  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
  33297			  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
  33298			  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
  33299			  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
  33300			  "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
  33301		.ctext	= "\x24\x52\xf1\x48\x74\xd0\xa7\x93"
  33302			  "\x75\x9b\x63\x46\xc0\x1c\x1e\x17"
  33303			  "\x4d\xdc\x5b\x3a\x27\x93\x2a\x63"
  33304			  "\xf7\xf1\xc7\xb3\x54\x56\x5b\x50"
  33305			  "\xa3\x31\xa5\x8b\xd6\xfd\xb6\x3c"
  33306			  "\x8b\xf6\xf2\x45\x05\x0c\xc8\xbb"
  33307			  "\x32\x0b\x26\x1c\xe9\x8b\x02\xc0"
  33308			  "\xb2\x6f\x37\xa7\x5b\xa8\xa9\x42",
  33309		.len	= 64,
  33310	}, {
  33311		.key	= "\xC9\x83\xA6\xC9\xEC\x0F\x32\x55"
  33312			  "\x0F\x32\x55\x78\x9B\xBE\x78\x9B"
  33313			  "\xBE\xE1\x04\x27\xE1\x04\x27\x4A"
  33314			  "\x6D\x90\x4A\x6D\x90\xB3\xD6\xF9",
  33315		.klen	= 32,
  33316		.iv	= "\xE7\x82\x1D\xB8\x53\x11\xAC\x47"
  33317			  "\x00\x00\x00\x00\x00\x00\x00\x00",
  33318		.ptext	= "\x50\xB9\x22\xAE\x17\x80\x0C\x75"
  33319			  "\xDE\x47\xD3\x3C\xA5\x0E\x9A\x03"
  33320			  "\x6C\xF8\x61\xCA\x33\xBF\x28\x91"
  33321			  "\x1D\x86\xEF\x58\xE4\x4D\xB6\x1F"
  33322			  "\xAB\x14\x7D\x09\x72\xDB\x44\xD0"
  33323			  "\x39\xA2\x0B\x97\x00\x69\xF5\x5E"
  33324			  "\xC7\x30\xBC\x25\x8E\x1A\x83\xEC"
  33325			  "\x55\xE1\x4A\xB3\x1C\xA8\x11\x7A"
  33326			  "\x06\x6F\xD8\x41\xCD\x36\x9F\x08"
  33327			  "\x94\xFD\x66\xF2\x5B\xC4\x2D\xB9"
  33328			  "\x22\x8B\x17\x80\xE9\x52\xDE\x47"
  33329			  "\xB0\x19\xA5\x0E\x77\x03\x6C\xD5"
  33330			  "\x3E\xCA\x33\x9C\x05\x91\xFA\x63"
  33331			  "\xEF\x58\xC1\x2A\xB6\x1F\x88\x14"
  33332			  "\x7D\xE6\x4F\xDB\x44\xAD\x16\xA2"
  33333			  "\x0B\x74\x00\x69\xD2\x3B\xC7\x30"
  33334			  "\x99\x02\x8E\xF7\x60\xEC\x55\xBE"
  33335			  "\x27\xB3\x1C\x85\x11\x7A\xE3\x4C"
  33336			  "\xD8\x41\xAA\x13\x9F\x08\x71\xFD"
  33337			  "\x66\xCF\x38\xC4\x2D\x96\x22\x8B"
  33338			  "\xF4\x5D\xE9\x52\xBB\x24\xB0\x19"
  33339			  "\x82\x0E\x77\xE0\x49\xD5\x3E\xA7"
  33340			  "\x10\x9C\x05\x6E\xFA\x63\xCC\x35"
  33341			  "\xC1\x2A\x93\x1F\x88\xF1\x5A\xE6"
  33342			  "\x4F\xB8\x21\xAD\x16\x7F\x0B\x74"
  33343			  "\xDD\x46\xD2\x3B\xA4\x0D\x99\x02"
  33344			  "\x6B\xF7\x60\xC9\x32\xBE\x27\x90"
  33345			  "\x1C\x85\xEE\x57\xE3\x4C\xB5\x1E"
  33346			  "\xAA\x13\x7C\x08\x71\xDA\x43\xCF"
  33347			  "\x38\xA1\x0A\x96\xFF\x68\xF4\x5D"
  33348			  "\xC6\x2F\xBB\x24\x8D\x19\x82\xEB"
  33349			  "\x54\xE0\x49\xB2\x1B\xA7\x10\x79"
  33350			  "\x05\x6E\xD7\x40\xCC\x35\x9E\x07"
  33351			  "\x93\xFC\x65\xF1\x5A\xC3\x2C\xB8"
  33352			  "\x21\x8A\x16\x7F\xE8\x51\xDD\x46"
  33353			  "\xAF\x18\xA4\x0D\x76\x02\x6B\xD4"
  33354			  "\x3D\xC9\x32\x9B\x04\x90\xF9\x62"
  33355			  "\xEE\x57\xC0\x29\xB5\x1E\x87\x13"
  33356			  "\x7C\xE5\x4E\xDA\x43\xAC\x15\xA1"
  33357			  "\x0A\x73\xFF\x68\xD1\x3A\xC6\x2F"
  33358			  "\x98\x01\x8D\xF6\x5F\xEB\x54\xBD"
  33359			  "\x26\xB2\x1B\x84\x10\x79\xE2\x4B"
  33360			  "\xD7\x40\xA9\x12\x9E\x07\x70\xFC"
  33361			  "\x65\xCE\x37\xC3\x2C\x95\x21\x8A"
  33362			  "\xF3\x5C\xE8\x51\xBA\x23\xAF\x18"
  33363			  "\x81\x0D\x76\xDF\x48\xD4\x3D\xA6"
  33364			  "\x0F\x9B\x04\x6D\xF9\x62\xCB\x34"
  33365			  "\xC0\x29\x92\x1E\x87\xF0\x59\xE5"
  33366			  "\x4E\xB7\x20\xAC\x15\x7E\x0A\x73"
  33367			  "\xDC\x45\xD1\x3A\xA3\x0C\x98\x01"
  33368			  "\x6A\xF6\x5F\xC8\x31\xBD\x26\x8F"
  33369			  "\x1B\x84\xED\x56\xE2\x4B\xB4\x1D"
  33370			  "\xA9\x12\x7B\x07\x70\xD9\x42\xCE"
  33371			  "\x37\xA0\x09\x95\xFE\x67\xF3\x5C"
  33372			  "\xC5\x2E\xBA\x23\x8C\x18\x81\xEA"
  33373			  "\x53\xDF\x48\xB1\x1A\xA6\x0F\x78"
  33374			  "\x04\x6D\xD6\x3F\xCB\x34\x9D\x06"
  33375			  "\x92\xFB\x64\xF0\x59\xC2\x2B\xB7"
  33376			  "\x20\x89\x15\x7E\xE7\x50\xDC\x45"
  33377			  "\xAE\x17\xA3\x0C\x75\x01\x6A\xD3"
  33378			  "\x3C\xC8\x31\x9A\x03\x8F\xF8\x61"
  33379			  "\xED\x56\xBF\x28\xB4\x1D\x86\x12",
  33380		.ctext	= "\x97\x7f\x69\x0f\x0f\x34\xa6\x33"
  33381			  "\x66\x49\x7e\xd0\x4d\x1b\xc9\x64"
  33382			  "\xf9\x61\x95\x98\x11\x00\x88\xf8"
  33383			  "\x2e\x88\x01\x0f\x2b\xe1\xae\x3e"
  33384			  "\xfe\xd6\x47\x30\x11\x68\x7d\x99"
  33385			  "\xad\x69\x6a\xe8\x41\x5f\x1e\x16"
  33386			  "\x00\x3a\x47\xdf\x8e\x7d\x23\x1c"
  33387			  "\x19\x5b\x32\x76\x60\x03\x05\xc1"
  33388			  "\xa0\xff\xcf\xcc\x74\x39\x46\x63"
  33389			  "\xfe\x5f\xa6\x35\xa7\xb4\xc1\xf9"
  33390			  "\x4b\x5e\x38\xcc\x8c\xc1\xa2\xcf"
  33391			  "\x9a\xc3\xae\x55\x42\x46\x93\xd9"
  33392			  "\xbd\x22\xd3\x8a\x19\x96\xc3\xb3"
  33393			  "\x7d\x03\x18\xf9\x45\x09\x9c\xc8"
  33394			  "\x90\xf3\x22\xb3\x25\x83\x9a\x75"
  33395			  "\xbb\x04\x48\x97\x3a\x63\x08\x04"
  33396			  "\xa0\x69\xf6\x52\xd4\x89\x93\x69"
  33397			  "\xb4\x33\xa2\x16\x58\xec\x4b\x26"
  33398			  "\x76\x54\x10\x0b\x6e\x53\x1e\xbc"
  33399			  "\x16\x18\x42\xb1\xb1\xd3\x4b\xda"
  33400			  "\x06\x9f\x8b\x77\xf7\xab\xd6\xed"
  33401			  "\xa3\x1d\x90\xda\x49\x38\x20\xb8"
  33402			  "\x6c\xee\xae\x3e\xae\x6c\x03\xb8"
  33403			  "\x0b\xed\xc8\xaa\x0e\xc5\x1f\x90"
  33404			  "\x60\xe2\xec\x1b\x76\xd0\xcf\xda"
  33405			  "\x29\x1b\xb8\x5a\xbc\xf4\xba\x13"
  33406			  "\x91\xa6\xcb\x83\x3f\xeb\xe9\x7b"
  33407			  "\x03\xba\x40\x9e\xe6\x7a\xb2\x4a"
  33408			  "\x73\x49\xfc\xed\xfb\x55\xa4\x24"
  33409			  "\xc7\xa4\xd7\x4b\xf5\xf7\x16\x62"
  33410			  "\x80\xd3\x19\x31\x52\x25\xa8\x69"
  33411			  "\xda\x9a\x87\xf5\xf2\xee\x5d\x61"
  33412			  "\xc1\x12\x72\x3e\x52\x26\x45\x3a"
  33413			  "\xd8\x9d\x57\xfa\x14\xe2\x9b\x2f"
  33414			  "\xd4\xaa\x5e\x31\xf4\x84\x89\xa4"
  33415			  "\xe3\x0e\xb0\x58\x41\x75\x6a\xcb"
  33416			  "\x30\x01\x98\x90\x15\x80\xf5\x27"
  33417			  "\x92\x13\x81\xf0\x1c\x1e\xfc\xb1"
  33418			  "\x33\xf7\x63\xb0\x67\xec\x2e\x5c"
  33419			  "\x85\xe3\x5b\xd0\x43\x8a\xb8\x5f"
  33420			  "\x44\x9f\xec\x19\xc9\x8f\xde\xdf"
  33421			  "\x79\xef\xf8\xee\x14\x87\xb3\x34"
  33422			  "\x76\x00\x3a\x9b\xc7\xed\xb1\x3d"
  33423			  "\xef\x07\xb0\xe4\xfd\x68\x9e\xeb"
  33424			  "\xc2\xb4\x1a\x85\x9a\x7d\x11\x88"
  33425			  "\xf8\xab\x43\x55\x2b\x8a\x4f\x60"
  33426			  "\x85\x9a\xf4\xba\xae\x48\x81\xeb"
  33427			  "\x93\x07\x97\x9e\xde\x2a\xfc\x4e"
  33428			  "\x31\xde\xaa\x44\xf7\x2a\xc3\xee"
  33429			  "\x60\xa2\x98\x2c\x0a\x88\x50\xc5"
  33430			  "\x6d\x89\xd3\xe4\xb6\xa7\xf4\xb0"
  33431			  "\xcf\x0e\x89\xe3\x5e\x8f\x82\xf4"
  33432			  "\x9d\xd1\xa9\x51\x50\x8a\xd2\x18"
  33433			  "\x07\xb2\xaa\x3b\x7f\x58\x9b\xf4"
  33434			  "\xb7\x24\x39\xd3\x66\x2f\x1e\xc0"
  33435			  "\x11\xa3\x56\x56\x2a\x10\x73\xbc"
  33436			  "\xe1\x23\xbf\xa9\x37\x07\x9c\xc3"
  33437			  "\xb2\xc9\xa8\x1c\x5b\x5c\x58\xa4"
  33438			  "\x77\x02\x26\xad\xc3\x40\x11\x53"
  33439			  "\x93\x68\x72\xde\x05\x8b\x10\xbc"
  33440			  "\xa6\xd4\x1b\xd9\x27\xd8\x16\x12"
  33441			  "\x61\x2b\x31\x2a\x44\x87\x96\x58",
  33442		.len	= 496,
  33443	},
  33444};
  33445
  33446/* based on hmac_sha256_aes_cbc_tv_temp */
  33447static const struct aead_testvec essiv_hmac_sha256_aes_cbc_tv_temp[] = {
  33448	{
  33449#ifdef __LITTLE_ENDIAN
  33450		.key    = "\x08\x00"		/* rta length */
  33451			  "\x01\x00"		/* rta type */
  33452#else
  33453		.key    = "\x00\x08"		/* rta length */
  33454			  "\x00\x01"		/* rta type */
  33455#endif
  33456			  "\x00\x00\x00\x10"	/* enc key length */
  33457			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  33458			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  33459			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  33460			  "\x00\x00\x00\x00\x00\x00\x00\x00"
  33461			  "\x06\xa9\x21\x40\x36\xb8\xa1\x5b"
  33462			  "\x51\x2e\x03\xd5\x34\x12\x00\x06",
  33463		.klen   = 8 + 32 + 16,
  33464		.iv     = "\xb3\x0c\x5a\x11\x41\xad\xc1\x04"
  33465			  "\xbc\x1e\x7e\x35\xb0\x5d\x78\x29",
  33466		.assoc	= "\x3d\xaf\xba\x42\x9d\x9e\xb4\x30"
  33467			  "\xb4\x22\xda\x80\x2c\x9f\xac\x41",
  33468		.alen	= 16,
  33469		.ptext	= "Single block msg",
  33470		.plen	= 16,
  33471		.ctext	= "\xe3\x53\x77\x9c\x10\x79\xae\xb8"
  33472			  "\x27\x08\x94\x2d\xbe\x77\x18\x1a"
  33473			  "\xcc\xde\x2d\x6a\xae\xf1\x0b\xcc"
  33474			  "\x38\x06\x38\x51\xb4\xb8\xf3\x5b"
  33475			  "\x5c\x34\xa6\xa3\x6e\x0b\x05\xe5"
  33476			  "\x6a\x6d\x44\xaa\x26\xa8\x44\xa5",
  33477		.clen	= 16 + 32,
  33478	}, {
  33479#ifdef __LITTLE_ENDIAN
  33480		.key    = "\x08\x00"		/* rta length */
  33481			  "\x01\x00"		/* rta type */
  33482#else
  33483		.key    = "\x00\x08"		/* rta length */
  33484			  "\x00\x01"		/* rta type */
  33485#endif
  33486			  "\x00\x00\x00\x10"	/* enc key length */
  33487			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  33488			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  33489			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  33490			  "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  33491			  "\xc2\x86\x69\x6d\x88\x7c\x9a\xa0"
  33492			  "\x61\x1b\xbb\x3e\x20\x25\xa4\x5a",
  33493		.klen   = 8 + 32 + 16,
  33494		.iv     = "\x56\xe8\x14\xa5\x74\x18\x75\x13"
  33495			  "\x2f\x79\xe7\xc8\x65\xe3\x48\x45",
  33496		.assoc	= "\x56\x2e\x17\x99\x6d\x09\x3d\x28"
  33497			  "\xdd\xb3\xba\x69\x5a\x2e\x6f\x58",
  33498		.alen	= 16,
  33499		.ptext	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  33500			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  33501			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  33502			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f",
  33503		.plen	= 32,
  33504		.ctext	= "\xd2\x96\xcd\x94\xc2\xcc\xcf\x8a"
  33505			  "\x3a\x86\x30\x28\xb5\xe1\xdc\x0a"
  33506			  "\x75\x86\x60\x2d\x25\x3c\xff\xf9"
  33507			  "\x1b\x82\x66\xbe\xa6\xd6\x1a\xb1"
  33508			  "\xf5\x33\x53\xf3\x68\x85\x2a\x99"
  33509			  "\x0e\x06\x58\x8f\xba\xf6\x06\xda"
  33510			  "\x49\x69\x0d\x5b\xd4\x36\x06\x62"
  33511			  "\x35\x5e\x54\x58\x53\x4d\xdf\xbf",
  33512		.clen	= 32 + 32,
  33513	}, {
  33514#ifdef __LITTLE_ENDIAN
  33515		.key    = "\x08\x00"		/* rta length */
  33516			  "\x01\x00"            /* rta type */
  33517#else
  33518		.key    = "\x00\x08"		/* rta length */
  33519			  "\x00\x01"		/* rta type */
  33520#endif
  33521			  "\x00\x00\x00\x10"	/* enc key length */
  33522			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  33523			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  33524			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  33525			  "\xaa\xbb\xcc\xdd\xee\xff\x11\x22"
  33526			  "\x6c\x3e\xa0\x47\x76\x30\xce\x21"
  33527			  "\xa2\xce\x33\x4a\xa7\x46\xc2\xcd",
  33528		.klen   = 8 + 32 + 16,
  33529		.iv     = "\x1f\x6b\xfb\xd6\x6b\x72\x2f\xc9"
  33530			  "\xb6\x9f\x8c\x10\xa8\x96\x15\x64",
  33531		.assoc	= "\xc7\x82\xdc\x4c\x09\x8c\x66\xcb"
  33532			  "\xd9\xcd\x27\xd8\x25\x68\x2c\x81",
  33533		.alen	= 16,
  33534		.ptext	= "This is a 48-byte message (exactly 3 AES blocks)",
  33535		.plen	= 48,
  33536		.ctext	= "\xd0\xa0\x2b\x38\x36\x45\x17\x53"
  33537			  "\xd4\x93\x66\x5d\x33\xf0\xe8\x86"
  33538			  "\x2d\xea\x54\xcd\xb2\x93\xab\xc7"
  33539			  "\x50\x69\x39\x27\x67\x72\xf8\xd5"
  33540			  "\x02\x1c\x19\x21\x6b\xad\x52\x5c"
  33541			  "\x85\x79\x69\x5d\x83\xba\x26\x84"
  33542			  "\x68\xb9\x3e\x90\x38\xa0\x88\x01"
  33543			  "\xe7\xc6\xce\x10\x31\x2f\x9b\x1d"
  33544			  "\x24\x78\xfb\xbe\x02\xe0\x4f\x40"
  33545			  "\x10\xbd\xaa\xc6\xa7\x79\xe0\x1a",
  33546		.clen	= 48 + 32,
  33547	}, {
  33548#ifdef __LITTLE_ENDIAN
  33549		.key    = "\x08\x00"		/* rta length */
  33550			  "\x01\x00"		/* rta type */
  33551#else
  33552		.key    = "\x00\x08"		/* rta length */
  33553			  "\x00\x01"            /* rta type */
  33554#endif
  33555			  "\x00\x00\x00\x10"	/* enc key length */
  33556			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  33557			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  33558			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  33559			  "\xaa\xbb\xcc\xdd\xee\xff\x11\x22"
  33560			  "\x56\xe4\x7a\x38\xc5\x59\x89\x74"
  33561			  "\xbc\x46\x90\x3d\xba\x29\x03\x49",
  33562		.klen   = 8 + 32 + 16,
  33563		.iv     = "\x13\xe5\xf2\xef\x61\x97\x59\x35"
  33564			  "\x9b\x36\x84\x46\x4e\x63\xd1\x41",
  33565		.assoc	= "\x8c\xe8\x2e\xef\xbe\xa0\xda\x3c"
  33566			  "\x44\x69\x9e\xd7\xdb\x51\xb7\xd9",
  33567		.alen	= 16,
  33568		.ptext	= "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  33569			  "\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  33570			  "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  33571			  "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  33572			  "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  33573			  "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  33574			  "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  33575			  "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf",
  33576		.plen	= 64,
  33577		.ctext	= "\xc3\x0e\x32\xff\xed\xc0\x77\x4e"
  33578			  "\x6a\xff\x6a\xf0\x86\x9f\x71\xaa"
  33579			  "\x0f\x3a\xf0\x7a\x9a\x31\xa9\xc6"
  33580			  "\x84\xdb\x20\x7e\xb0\xef\x8e\x4e"
  33581			  "\x35\x90\x7a\xa6\x32\xc3\xff\xdf"
  33582			  "\x86\x8b\xb7\xb2\x9d\x3d\x46\xad"
  33583			  "\x83\xce\x9f\x9a\x10\x2e\xe9\x9d"
  33584			  "\x49\xa5\x3e\x87\xf4\xc3\xda\x55"
  33585			  "\x7a\x1b\xd4\x3c\xdb\x17\x95\xe2"
  33586			  "\xe0\x93\xec\xc9\x9f\xf7\xce\xd8"
  33587			  "\x3f\x54\xe2\x49\x39\xe3\x71\x25"
  33588			  "\x2b\x6c\xe9\x5d\xec\xec\x2b\x64",
  33589		.clen	= 64 + 32,
  33590	}, {
  33591#ifdef __LITTLE_ENDIAN
  33592		.key    = "\x08\x00"		/* rta length */
  33593			  "\x01\x00"            /* rta type */
  33594#else
  33595		.key    = "\x00\x08"		/* rta length */
  33596			  "\x00\x01"            /* rta type */
  33597#endif
  33598			  "\x00\x00\x00\x10"	/* enc key length */
  33599			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  33600			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  33601			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  33602			  "\xaa\xbb\xcc\xdd\xee\xff\x11\x22"
  33603			  "\x90\xd3\x82\xb4\x10\xee\xba\x7a"
  33604			  "\xd9\x38\xc4\x6c\xec\x1a\x82\xbf",
  33605		.klen   = 8 + 32 + 16,
  33606		.iv     = "\xe4\x13\xa1\x15\xe9\x6b\xb8\x23"
  33607			  "\x81\x7a\x94\x29\xab\xfd\xd2\x2c",
  33608		.assoc  = "\x00\x00\x43\x21\x00\x00\x00\x01"
  33609			  "\xe9\x6e\x8c\x08\xab\x46\x57\x63"
  33610			  "\xfd\x09\x8d\x45\xdd\x3f\xf8\x93",
  33611		.alen   = 24,
  33612		.ptext	= "\x08\x00\x0e\xbd\xa7\x0a\x00\x00"
  33613			  "\x8e\x9c\x08\x3d\xb9\x5b\x07\x00"
  33614			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  33615			  "\x10\x11\x12\x13\x14\x15\x16\x17"
  33616			  "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  33617			  "\x20\x21\x22\x23\x24\x25\x26\x27"
  33618			  "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  33619			  "\x30\x31\x32\x33\x34\x35\x36\x37"
  33620			  "\x01\x02\x03\x04\x05\x06\x07\x08"
  33621			  "\x09\x0a\x0b\x0c\x0d\x0e\x0e\x01",
  33622		.plen	= 80,
  33623		.ctext	= "\xf6\x63\xc2\x5d\x32\x5c\x18\xc6"
  33624			  "\xa9\x45\x3e\x19\x4e\x12\x08\x49"
  33625			  "\xa4\x87\x0b\x66\xcc\x6b\x99\x65"
  33626			  "\x33\x00\x13\xb4\x89\x8d\xc8\x56"
  33627			  "\xa4\x69\x9e\x52\x3a\x55\xdb\x08"
  33628			  "\x0b\x59\xec\x3a\x8e\x4b\x7e\x52"
  33629			  "\x77\x5b\x07\xd1\xdb\x34\xed\x9c"
  33630			  "\x53\x8a\xb5\x0c\x55\x1b\x87\x4a"
  33631			  "\xa2\x69\xad\xd0\x47\xad\x2d\x59"
  33632			  "\x13\xac\x19\xb7\xcf\xba\xd4\xa6"
  33633			  "\xbb\xd4\x0f\xbe\xa3\x3b\x4c\xb8"
  33634			  "\x3a\xd2\xe1\x03\x86\xa5\x59\xb7"
  33635			  "\x73\xc3\x46\x20\x2c\xb1\xef\x68"
  33636			  "\xbb\x8a\x32\x7e\x12\x8c\x69\xcf",
  33637		.clen	= 80 + 32,
  33638       }, {
  33639#ifdef __LITTLE_ENDIAN
  33640		.key    = "\x08\x00"            /* rta length */
  33641			  "\x01\x00"		/* rta type */
  33642#else
  33643		.key    = "\x00\x08"		/* rta length */
  33644			  "\x00\x01"            /* rta type */
  33645#endif
  33646			  "\x00\x00\x00\x18"	/* enc key length */
  33647			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  33648			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  33649			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  33650			  "\xaa\xbb\xcc\xdd\xee\xff\x11\x22"
  33651			  "\x8e\x73\xb0\xf7\xda\x0e\x64\x52"
  33652			  "\xc8\x10\xf3\x2b\x80\x90\x79\xe5"
  33653			  "\x62\xf8\xea\xd2\x52\x2c\x6b\x7b",
  33654		.klen   = 8 + 32 + 24,
  33655		.iv     = "\x49\xca\x41\xc9\x6b\xbf\x6c\x98"
  33656			  "\x38\x2f\xa7\x3d\x4d\x80\x49\xb0",
  33657		.assoc	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  33658			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  33659		.alen   = 16,
  33660		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
  33661			  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
  33662			  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
  33663			  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
  33664			  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
  33665			  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
  33666			  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
  33667			  "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
  33668		.plen	= 64,
  33669		.ctext	= "\x4f\x02\x1d\xb2\x43\xbc\x63\x3d"
  33670			  "\x71\x78\x18\x3a\x9f\xa0\x71\xe8"
  33671			  "\xb4\xd9\xad\xa9\xad\x7d\xed\xf4"
  33672			  "\xe5\xe7\x38\x76\x3f\x69\x14\x5a"
  33673			  "\x57\x1b\x24\x20\x12\xfb\x7a\xe0"
  33674			  "\x7f\xa9\xba\xac\x3d\xf1\x02\xe0"
  33675			  "\x08\xb0\xe2\x79\x88\x59\x88\x81"
  33676			  "\xd9\x20\xa9\xe6\x4f\x56\x15\xcd"
  33677			  "\x2f\xee\x5f\xdb\x66\xfe\x79\x09"
  33678			  "\x61\x81\x31\xea\x5b\x3d\x8e\xfb"
  33679			  "\xca\x71\x85\x93\xf7\x85\x55\x8b"
  33680			  "\x7a\xe4\x94\xca\x8b\xba\x19\x33",
  33681		.clen	= 64 + 32,
  33682	}, {
  33683#ifdef __LITTLE_ENDIAN
  33684		.key    = "\x08\x00"		/* rta length */
  33685			  "\x01\x00"		/* rta type */
  33686#else
  33687		.key    = "\x00\x08"		/* rta length */
  33688			  "\x00\x01"            /* rta type */
  33689#endif
  33690			  "\x00\x00\x00\x20"	/* enc key length */
  33691			  "\x11\x22\x33\x44\x55\x66\x77\x88"
  33692			  "\x99\xaa\xbb\xcc\xdd\xee\xff\x11"
  33693			  "\x22\x33\x44\x55\x66\x77\x88\x99"
  33694			  "\xaa\xbb\xcc\xdd\xee\xff\x11\x22"
  33695			  "\x60\x3d\xeb\x10\x15\xca\x71\xbe"
  33696			  "\x2b\x73\xae\xf0\x85\x7d\x77\x81"
  33697			  "\x1f\x35\x2c\x07\x3b\x61\x08\xd7"
  33698			  "\x2d\x98\x10\xa3\x09\x14\xdf\xf4",
  33699		.klen   = 8 + 32 + 32,
  33700		.iv     = "\xdf\xab\xf2\x7c\xdc\xe0\x33\x4c"
  33701			  "\xf9\x75\xaf\xf9\x2f\x60\x3a\x9b",
  33702		.assoc	= "\x00\x01\x02\x03\x04\x05\x06\x07"
  33703			  "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f",
  33704		.alen   = 16,
  33705		.ptext	= "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
  33706			  "\xe9\x3d\x7e\x11\x73\x93\x17\x2a"
  33707			  "\xae\x2d\x8a\x57\x1e\x03\xac\x9c"
  33708			  "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51"
  33709			  "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11"
  33710			  "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef"
  33711			  "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17"
  33712			  "\xad\x2b\x41\x7b\xe6\x6c\x37\x10",
  33713		.plen	= 64,
  33714		.ctext	= "\xf5\x8c\x4c\x04\xd6\xe5\xf1\xba"
  33715			  "\x77\x9e\xab\xfb\x5f\x7b\xfb\xd6"
  33716			  "\x9c\xfc\x4e\x96\x7e\xdb\x80\x8d"
  33717			  "\x67\x9f\x77\x7b\xc6\x70\x2c\x7d"
  33718			  "\x39\xf2\x33\x69\xa9\xd9\xba\xcf"
  33719			  "\xa5\x30\xe2\x63\x04\x23\x14\x61"
  33720			  "\xb2\xeb\x05\xe2\xc3\x9b\xe9\xfc"
  33721			  "\xda\x6c\x19\x07\x8c\x6a\x9d\x1b"
  33722			  "\x24\x29\xed\xc2\x31\x49\xdb\xb1"
  33723			  "\x8f\x74\xbd\x17\x92\x03\xbe\x8f"
  33724			  "\xf3\x61\xde\x1c\xe9\xdb\xcd\xd0"
  33725			  "\xcc\xce\xe9\x85\x57\xcf\x6f\x5f",
  33726		.clen	= 64 + 32,
  33727	},
  33728};
  33729
  33730static const char blake2_ordered_sequence[] =
  33731	"\x00\x01\x02\x03\x04\x05\x06\x07"
  33732	"\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
  33733	"\x10\x11\x12\x13\x14\x15\x16\x17"
  33734	"\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f"
  33735	"\x20\x21\x22\x23\x24\x25\x26\x27"
  33736	"\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f"
  33737	"\x30\x31\x32\x33\x34\x35\x36\x37"
  33738	"\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f"
  33739	"\x40\x41\x42\x43\x44\x45\x46\x47"
  33740	"\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f"
  33741	"\x50\x51\x52\x53\x54\x55\x56\x57"
  33742	"\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f"
  33743	"\x60\x61\x62\x63\x64\x65\x66\x67"
  33744	"\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f"
  33745	"\x70\x71\x72\x73\x74\x75\x76\x77"
  33746	"\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f"
  33747	"\x80\x81\x82\x83\x84\x85\x86\x87"
  33748	"\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f"
  33749	"\x90\x91\x92\x93\x94\x95\x96\x97"
  33750	"\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f"
  33751	"\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"
  33752	"\xa8\xa9\xaa\xab\xac\xad\xae\xaf"
  33753	"\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
  33754	"\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf"
  33755	"\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7"
  33756	"\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf"
  33757	"\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7"
  33758	"\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf"
  33759	"\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7"
  33760	"\xe8\xe9\xea\xeb\xec\xed\xee\xef"
  33761	"\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7"
  33762	"\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff";
  33763
  33764static const struct hash_testvec blake2b_160_tv_template[] = {{
  33765	.digest = (u8[]){ 0x33, 0x45, 0x52, 0x4a, 0xbf, 0x6b, 0xbe, 0x18,
  33766			  0x09, 0x44, 0x92, 0x24, 0xb5, 0x97, 0x2c, 0x41,
  33767			  0x79, 0x0b, 0x6c, 0xf2, },
  33768}, {
  33769	.plaintext = blake2_ordered_sequence,
  33770	.psize = 64,
  33771	.digest = (u8[]){ 0x11, 0xcc, 0x66, 0x61, 0xe9, 0x22, 0xb0, 0xe4,
  33772			  0x07, 0xe0, 0xa5, 0x72, 0x49, 0xc3, 0x8d, 0x4f,
  33773			  0xf7, 0x6d, 0x8e, 0xc8, },
  33774}, {
  33775	.ksize = 32,
  33776	.key = blake2_ordered_sequence,
  33777	.plaintext = blake2_ordered_sequence,
  33778	.psize = 1,
  33779	.digest = (u8[]){ 0x31, 0xe3, 0xd9, 0xd5, 0x4e, 0x72, 0xd8, 0x0b,
  33780			  0x2b, 0x3b, 0xd7, 0x6b, 0x82, 0x7a, 0x1d, 0xfb,
  33781			  0x56, 0x2f, 0x79, 0x4c, },
  33782}, {
  33783	.ksize = 64,
  33784	.key = blake2_ordered_sequence,
  33785	.plaintext = blake2_ordered_sequence,
  33786	.psize = 7,
  33787	.digest = (u8[]){ 0x28, 0x20, 0xd1, 0xbe, 0x7f, 0xcc, 0xc1, 0x62,
  33788			  0xd9, 0x0d, 0x9a, 0x4b, 0x47, 0xd1, 0x5e, 0x04,
  33789			  0x74, 0x2a, 0x53, 0x17, },
  33790}, {
  33791	.ksize = 1,
  33792	.key = "B",
  33793	.plaintext = blake2_ordered_sequence,
  33794	.psize = 15,
  33795	.digest = (u8[]){ 0x45, 0xe9, 0x95, 0xb6, 0xc4, 0xe8, 0x22, 0xea,
  33796			  0xfe, 0xd2, 0x37, 0xdb, 0x46, 0xbf, 0xf1, 0x25,
  33797			  0xd5, 0x03, 0x1d, 0x81, },
  33798}, {
  33799	.ksize = 32,
  33800	.key = blake2_ordered_sequence,
  33801	.plaintext = blake2_ordered_sequence,
  33802	.psize = 247,
  33803	.digest = (u8[]){ 0x7e, 0xb9, 0xf2, 0x9b, 0x2f, 0xc2, 0x01, 0xd4,
  33804			  0xb0, 0x4f, 0x08, 0x2b, 0x8e, 0xbd, 0x06, 0xef,
  33805			  0x1c, 0xc4, 0x25, 0x95, },
  33806}, {
  33807	.ksize = 64,
  33808	.key = blake2_ordered_sequence,
  33809	.plaintext = blake2_ordered_sequence,
  33810	.psize = 256,
  33811	.digest = (u8[]){ 0x6e, 0x35, 0x01, 0x70, 0xbf, 0xb6, 0xc4, 0xba,
  33812			  0x33, 0x1b, 0xa6, 0xd3, 0xc2, 0x5d, 0xb4, 0x03,
  33813			  0x95, 0xaf, 0x29, 0x16, },
  33814}};
  33815
  33816static const struct hash_testvec blake2b_256_tv_template[] = {{
  33817	.plaintext = blake2_ordered_sequence,
  33818	.psize = 7,
  33819	.digest = (u8[]){ 0x9d, 0xf1, 0x4b, 0x72, 0x48, 0x76, 0x4a, 0x86,
  33820			  0x91, 0x97, 0xc3, 0x5e, 0x39, 0x2d, 0x2a, 0x6d,
  33821			  0x6f, 0xdc, 0x5b, 0x79, 0xd5, 0x97, 0x29, 0x79,
  33822			  0x20, 0xfd, 0x3f, 0x14, 0x91, 0xb4, 0x42, 0xd2, },
  33823}, {
  33824	.plaintext = blake2_ordered_sequence,
  33825	.psize = 256,
  33826	.digest = (u8[]){ 0x39, 0xa7, 0xeb, 0x9f, 0xed, 0xc1, 0x9a, 0xab,
  33827			  0xc8, 0x34, 0x25, 0xc6, 0x75, 0x5d, 0xd9, 0x0e,
  33828			  0x6f, 0x9d, 0x0c, 0x80, 0x49, 0x64, 0xa1, 0xf4,
  33829			  0xaa, 0xee, 0xa3, 0xb9, 0xfb, 0x59, 0x98, 0x35, },
  33830}, {
  33831	.ksize = 1,
  33832	.key = "B",
  33833	.digest = (u8[]){ 0xc3, 0x08, 0xb1, 0xbf, 0xe4, 0xf9, 0xbc, 0xb4,
  33834			  0x75, 0xaf, 0x3f, 0x59, 0x6e, 0xae, 0xde, 0x6a,
  33835			  0xa3, 0x8e, 0xb5, 0x94, 0xad, 0x30, 0xf0, 0x17,
  33836			  0x1c, 0xfb, 0xd8, 0x3e, 0x8a, 0xbe, 0xed, 0x9c, },
  33837}, {
  33838	.ksize = 64,
  33839	.key = blake2_ordered_sequence,
  33840	.plaintext = blake2_ordered_sequence,
  33841	.psize = 1,
  33842	.digest = (u8[]){ 0x34, 0x75, 0x8b, 0x64, 0x71, 0x35, 0x62, 0x82,
  33843			  0x97, 0xfb, 0x09, 0xc7, 0x93, 0x0c, 0xd0, 0x4e,
  33844			  0x95, 0x28, 0xe5, 0x66, 0x91, 0x12, 0xf5, 0xb1,
  33845			  0x31, 0x84, 0x93, 0xe1, 0x4d, 0xe7, 0x7e, 0x55, },
  33846}, {
  33847	.ksize = 32,
  33848	.key = blake2_ordered_sequence,
  33849	.plaintext = blake2_ordered_sequence,
  33850	.psize = 15,
  33851	.digest = (u8[]){ 0xce, 0x74, 0xa9, 0x2e, 0xe9, 0x40, 0x3d, 0xa2,
  33852			  0x11, 0x4a, 0x99, 0x25, 0x7a, 0x34, 0x5d, 0x35,
  33853			  0xdf, 0x6a, 0x48, 0x79, 0x2a, 0x93, 0x93, 0xff,
  33854			  0x1f, 0x3c, 0x39, 0xd0, 0x71, 0x1f, 0x20, 0x7b, },
  33855}, {
  33856	.ksize = 1,
  33857	.key = "B",
  33858	.plaintext = blake2_ordered_sequence,
  33859	.psize = 64,
  33860	.digest = (u8[]){ 0x2e, 0x84, 0xdb, 0xa2, 0x5f, 0x0e, 0xe9, 0x52,
  33861			  0x79, 0x50, 0x69, 0x9f, 0xf1, 0xfd, 0xfc, 0x9d,
  33862			  0x89, 0x83, 0xa9, 0xb6, 0xa4, 0xd5, 0xfa, 0xb5,
  33863			  0xbe, 0x35, 0x1a, 0x17, 0x8a, 0x2c, 0x7f, 0x7d, },
  33864}, {
  33865	.ksize = 64,
  33866	.key = blake2_ordered_sequence,
  33867	.plaintext = blake2_ordered_sequence,
  33868	.psize = 247,
  33869	.digest = (u8[]){ 0x2e, 0x26, 0xf0, 0x09, 0x02, 0x65, 0x90, 0x09,
  33870			  0xcc, 0xf5, 0x4c, 0x44, 0x74, 0x0e, 0xa0, 0xa8,
  33871			  0x25, 0x4a, 0xda, 0x61, 0x56, 0x95, 0x7d, 0x3f,
  33872			  0x6d, 0xc0, 0x43, 0x17, 0x95, 0x89, 0xcd, 0x9d, },
  33873}};
  33874
  33875static const struct hash_testvec blake2b_384_tv_template[] = {{
  33876	.plaintext = blake2_ordered_sequence,
  33877	.psize = 1,
  33878	.digest = (u8[]){ 0xcc, 0x01, 0x08, 0x85, 0x36, 0xf7, 0x84, 0xf0,
  33879			  0xbb, 0x76, 0x9e, 0x41, 0xc4, 0x95, 0x7b, 0x6d,
  33880			  0x0c, 0xde, 0x1f, 0xcc, 0x8c, 0xf1, 0xd9, 0x1f,
  33881			  0xc4, 0x77, 0xd4, 0xdd, 0x6e, 0x3f, 0xbf, 0xcd,
  33882			  0x43, 0xd1, 0x69, 0x8d, 0x14, 0x6f, 0x34, 0x8b,
  33883			  0x2c, 0x36, 0xa3, 0x39, 0x68, 0x2b, 0xec, 0x3f, },
  33884}, {
  33885	.plaintext = blake2_ordered_sequence,
  33886	.psize = 247,
  33887	.digest = (u8[]){ 0xc8, 0xf8, 0xf0, 0xa2, 0x69, 0xfa, 0xcc, 0x4d,
  33888			  0x32, 0x5f, 0x13, 0x88, 0xca, 0x71, 0x99, 0x8f,
  33889			  0xf7, 0x30, 0x41, 0x5d, 0x6e, 0x34, 0xb7, 0x6e,
  33890			  0x3e, 0xd0, 0x46, 0xb6, 0xca, 0x30, 0x66, 0xb2,
  33891			  0x6f, 0x0c, 0x35, 0x54, 0x17, 0xcd, 0x26, 0x1b,
  33892			  0xef, 0x48, 0x98, 0xe0, 0x56, 0x7c, 0x05, 0xd2, },
  33893}, {
  33894	.ksize = 32,
  33895	.key = blake2_ordered_sequence,
  33896	.digest = (u8[]){ 0x15, 0x09, 0x7a, 0x90, 0x13, 0x23, 0xab, 0x0c,
  33897			  0x0b, 0x43, 0x21, 0x9a, 0xb5, 0xc6, 0x0c, 0x2e,
  33898			  0x7c, 0x57, 0xfc, 0xcc, 0x4b, 0x0f, 0xf0, 0x57,
  33899			  0xb7, 0x9c, 0xe7, 0x0f, 0xe1, 0x57, 0xac, 0x37,
  33900			  0x77, 0xd4, 0xf4, 0x2f, 0x03, 0x3b, 0x64, 0x09,
  33901			  0x84, 0xa0, 0xb3, 0x24, 0xb7, 0xae, 0x47, 0x5e, },
  33902}, {
  33903	.ksize = 1,
  33904	.key = "B",
  33905	.plaintext = blake2_ordered_sequence,
  33906	.psize = 7,
  33907	.digest = (u8[]){ 0x0b, 0x82, 0x88, 0xca, 0x05, 0x2f, 0x1b, 0x15,
  33908			  0xdc, 0xbb, 0x22, 0x27, 0x11, 0x6b, 0xf4, 0xd1,
  33909			  0xe9, 0x8f, 0x1b, 0x0b, 0x58, 0x3f, 0x5e, 0x86,
  33910			  0x80, 0x82, 0x6f, 0x8e, 0x54, 0xc1, 0x9f, 0x12,
  33911			  0xcf, 0xe9, 0x56, 0xc1, 0xfc, 0x1a, 0x08, 0xb9,
  33912			  0x4a, 0x57, 0x0a, 0x76, 0x3c, 0x15, 0x33, 0x18, },
  33913}, {
  33914	.ksize = 64,
  33915	.key = blake2_ordered_sequence,
  33916	.plaintext = blake2_ordered_sequence,
  33917	.psize = 15,
  33918	.digest = (u8[]){ 0x4a, 0x81, 0x55, 0xb9, 0x79, 0x42, 0x8c, 0xc6,
  33919			  0x4f, 0xfe, 0xca, 0x82, 0x3b, 0xb2, 0xf7, 0xbc,
  33920			  0x5e, 0xfc, 0xab, 0x09, 0x1c, 0xd6, 0x3b, 0xe1,
  33921			  0x50, 0x82, 0x3b, 0xde, 0xc7, 0x06, 0xee, 0x3b,
  33922			  0x29, 0xce, 0xe5, 0x68, 0xe0, 0xff, 0xfa, 0xe1,
  33923			  0x7a, 0xf1, 0xc0, 0xfe, 0x57, 0xf4, 0x60, 0x49, },
  33924}, {
  33925	.ksize = 32,
  33926	.key = blake2_ordered_sequence,
  33927	.plaintext = blake2_ordered_sequence,
  33928	.psize = 64,
  33929	.digest = (u8[]){ 0x34, 0xbd, 0xe1, 0x99, 0x43, 0x9f, 0x82, 0x72,
  33930			  0xe7, 0xed, 0x94, 0x9e, 0xe1, 0x84, 0xee, 0x82,
  33931			  0xfd, 0x26, 0x23, 0xc4, 0x17, 0x8d, 0xf5, 0x04,
  33932			  0xeb, 0xb7, 0xbc, 0xb8, 0xf3, 0x68, 0xb7, 0xad,
  33933			  0x94, 0x8e, 0x05, 0x3f, 0x8a, 0x5d, 0x8d, 0x81,
  33934			  0x3e, 0x88, 0xa7, 0x8c, 0xa2, 0xd5, 0xdc, 0x76, },
  33935}, {
  33936	.ksize = 1,
  33937	.key = "B",
  33938	.plaintext = blake2_ordered_sequence,
  33939	.psize = 256,
  33940	.digest = (u8[]){ 0x22, 0x14, 0xf4, 0xb0, 0x4c, 0xa8, 0xb5, 0x7d,
  33941			  0xa7, 0x5c, 0x04, 0xeb, 0xd8, 0x8d, 0x04, 0x71,
  33942			  0xc7, 0x3c, 0xc7, 0x6e, 0x8b, 0x20, 0x36, 0x40,
  33943			  0x9d, 0xd0, 0x60, 0xc6, 0xe3, 0x0b, 0x6e, 0x50,
  33944			  0xf5, 0xaf, 0xf5, 0xc6, 0x3b, 0xe3, 0x84, 0x6a,
  33945			  0x93, 0x1b, 0x12, 0xd6, 0x18, 0x27, 0xba, 0x36, },
  33946}};
  33947
  33948static const struct hash_testvec blake2b_512_tv_template[] = {{
  33949	.plaintext = blake2_ordered_sequence,
  33950	.psize = 15,
  33951	.digest = (u8[]){ 0x44, 0x4b, 0x24, 0x0f, 0xe3, 0xed, 0x86, 0xd0,
  33952			  0xe2, 0xef, 0x4c, 0xe7, 0xd8, 0x51, 0xed, 0xde,
  33953			  0x22, 0x15, 0x55, 0x82, 0xaa, 0x09, 0x14, 0x79,
  33954			  0x7b, 0x72, 0x6c, 0xd0, 0x58, 0xb6, 0xf4, 0x59,
  33955			  0x32, 0xe0, 0xe1, 0x29, 0x51, 0x68, 0x76, 0x52,
  33956			  0x7b, 0x1d, 0xd8, 0x8f, 0xc6, 0x6d, 0x71, 0x19,
  33957			  0xf4, 0xab, 0x3b, 0xed, 0x93, 0xa6, 0x1a, 0x0e,
  33958			  0x2d, 0x2d, 0x2a, 0xea, 0xc3, 0x36, 0xd9, 0x58, },
  33959}, {
  33960	.ksize = 64,
  33961	.key = blake2_ordered_sequence,
  33962	.digest = (u8[]){ 0x10, 0xeb, 0xb6, 0x77, 0x00, 0xb1, 0x86, 0x8e,
  33963			  0xfb, 0x44, 0x17, 0x98, 0x7a, 0xcf, 0x46, 0x90,
  33964			  0xae, 0x9d, 0x97, 0x2f, 0xb7, 0xa5, 0x90, 0xc2,
  33965			  0xf0, 0x28, 0x71, 0x79, 0x9a, 0xaa, 0x47, 0x86,
  33966			  0xb5, 0xe9, 0x96, 0xe8, 0xf0, 0xf4, 0xeb, 0x98,
  33967			  0x1f, 0xc2, 0x14, 0xb0, 0x05, 0xf4, 0x2d, 0x2f,
  33968			  0xf4, 0x23, 0x34, 0x99, 0x39, 0x16, 0x53, 0xdf,
  33969			  0x7a, 0xef, 0xcb, 0xc1, 0x3f, 0xc5, 0x15, 0x68, },
  33970}, {
  33971	.ksize = 1,
  33972	.key = "B",
  33973	.plaintext = blake2_ordered_sequence,
  33974	.psize = 1,
  33975	.digest = (u8[]){ 0xd2, 0x11, 0x31, 0x29, 0x3f, 0xea, 0xca, 0x72,
  33976			  0x21, 0xe4, 0x06, 0x65, 0x05, 0x2a, 0xd1, 0x02,
  33977			  0xc0, 0x8d, 0x7b, 0xf1, 0x09, 0x3c, 0xef, 0x88,
  33978			  0xe1, 0x68, 0x0c, 0xf1, 0x3b, 0xa4, 0xe3, 0x03,
  33979			  0xed, 0xa0, 0xe3, 0x60, 0x58, 0xa0, 0xdb, 0x52,
  33980			  0x8a, 0x66, 0x43, 0x09, 0x60, 0x1a, 0xbb, 0x67,
  33981			  0xc5, 0x84, 0x31, 0x40, 0xfa, 0xde, 0xc1, 0xd0,
  33982			  0xff, 0x3f, 0x4a, 0x69, 0xd9, 0x92, 0x26, 0x86, },
  33983}, {
  33984	.ksize = 32,
  33985	.key = blake2_ordered_sequence,
  33986	.plaintext = blake2_ordered_sequence,
  33987	.psize = 7,
  33988	.digest = (u8[]){ 0xa3, 0x3e, 0x50, 0xbc, 0xfb, 0xd9, 0xf0, 0x82,
  33989			  0xa6, 0xd1, 0xdf, 0xaf, 0x82, 0xd0, 0xcf, 0x84,
  33990			  0x9a, 0x25, 0x3c, 0xae, 0x6d, 0xb5, 0xaf, 0x01,
  33991			  0xd7, 0xaf, 0xed, 0x50, 0xdc, 0xe2, 0xba, 0xcc,
  33992			  0x8c, 0x38, 0xf5, 0x16, 0x89, 0x38, 0x86, 0xce,
  33993			  0x68, 0x10, 0x63, 0x64, 0xa5, 0x79, 0x53, 0xb5,
  33994			  0x2e, 0x8e, 0xbc, 0x0a, 0xce, 0x95, 0xc0, 0x1e,
  33995			  0x69, 0x59, 0x1d, 0x3b, 0xd8, 0x19, 0x90, 0xd7, },
  33996}, {
  33997	.ksize = 64,
  33998	.key = blake2_ordered_sequence,
  33999	.plaintext = blake2_ordered_sequence,
  34000	.psize = 64,
  34001	.digest = (u8[]){ 0x65, 0x67, 0x6d, 0x80, 0x06, 0x17, 0x97, 0x2f,
  34002			  0xbd, 0x87, 0xe4, 0xb9, 0x51, 0x4e, 0x1c, 0x67,
  34003			  0x40, 0x2b, 0x7a, 0x33, 0x10, 0x96, 0xd3, 0xbf,
  34004			  0xac, 0x22, 0xf1, 0xab, 0xb9, 0x53, 0x74, 0xab,
  34005			  0xc9, 0x42, 0xf1, 0x6e, 0x9a, 0xb0, 0xea, 0xd3,
  34006			  0x3b, 0x87, 0xc9, 0x19, 0x68, 0xa6, 0xe5, 0x09,
  34007			  0xe1, 0x19, 0xff, 0x07, 0x78, 0x7b, 0x3e, 0xf4,
  34008			  0x83, 0xe1, 0xdc, 0xdc, 0xcf, 0x6e, 0x30, 0x22, },
  34009}, {
  34010	.ksize = 1,
  34011	.key = "B",
  34012	.plaintext = blake2_ordered_sequence,
  34013	.psize = 247,
  34014	.digest = (u8[]){ 0xc2, 0x96, 0x2c, 0x6b, 0x84, 0xff, 0xee, 0xea,
  34015			  0x9b, 0xb8, 0x55, 0x2d, 0x6b, 0xa5, 0xd5, 0xe5,
  34016			  0xbd, 0xb1, 0x54, 0xb6, 0x1e, 0xfb, 0x63, 0x16,
  34017			  0x6e, 0x22, 0x04, 0xf0, 0x82, 0x7a, 0xc6, 0x99,
  34018			  0xf7, 0x4c, 0xff, 0x93, 0x71, 0x57, 0x64, 0xd0,
  34019			  0x08, 0x60, 0x39, 0x98, 0xb8, 0xd2, 0x2b, 0x4e,
  34020			  0x81, 0x8d, 0xe4, 0x8f, 0xb2, 0x1e, 0x8f, 0x99,
  34021			  0x98, 0xf1, 0x02, 0x9b, 0x4c, 0x7c, 0x97, 0x1a, },
  34022}, {
  34023	.ksize = 32,
  34024	.key = blake2_ordered_sequence,
  34025	.plaintext = blake2_ordered_sequence,
  34026	.psize = 256,
  34027	.digest = (u8[]){ 0x0f, 0x32, 0x05, 0x09, 0xad, 0x9f, 0x25, 0xf7,
  34028			  0xf2, 0x00, 0x71, 0xc9, 0x9f, 0x08, 0x58, 0xd1,
  34029			  0x67, 0xc3, 0xa6, 0x2c, 0x0d, 0xe5, 0x7c, 0x15,
  34030			  0x35, 0x18, 0x5a, 0x68, 0xc1, 0xca, 0x1c, 0x6e,
  34031			  0x0f, 0xc4, 0xf6, 0x0c, 0x43, 0xe1, 0xb4, 0x3d,
  34032			  0x28, 0xe4, 0xc7, 0xa1, 0xcf, 0x6b, 0x17, 0x4e,
  34033			  0xf1, 0x5b, 0xb5, 0x53, 0xd4, 0xa7, 0xd0, 0x5b,
  34034			  0xae, 0x15, 0x81, 0x15, 0xd0, 0x88, 0xa0, 0x3c, },
  34035}};
  34036
  34037static const struct hash_testvec blakes2s_128_tv_template[] = {{
  34038	.digest = (u8[]){ 0x64, 0x55, 0x0d, 0x6f, 0xfe, 0x2c, 0x0a, 0x01,
  34039			  0xa1, 0x4a, 0xba, 0x1e, 0xad, 0xe0, 0x20, 0x0c, },
  34040}, {
  34041	.plaintext = blake2_ordered_sequence,
  34042	.psize = 64,
  34043	.digest = (u8[]){ 0xdc, 0x66, 0xca, 0x8f, 0x03, 0x86, 0x58, 0x01,
  34044			  0xb0, 0xff, 0xe0, 0x6e, 0xd8, 0xa1, 0xa9, 0x0e, },
  34045}, {
  34046	.ksize = 16,
  34047	.key = blake2_ordered_sequence,
  34048	.plaintext = blake2_ordered_sequence,
  34049	.psize = 1,
  34050	.digest = (u8[]){ 0x88, 0x1e, 0x42, 0xe7, 0xbb, 0x35, 0x80, 0x82,
  34051			  0x63, 0x7c, 0x0a, 0x0f, 0xd7, 0xec, 0x6c, 0x2f, },
  34052}, {
  34053	.ksize = 32,
  34054	.key = blake2_ordered_sequence,
  34055	.plaintext = blake2_ordered_sequence,
  34056	.psize = 7,
  34057	.digest = (u8[]){ 0xcf, 0x9e, 0x07, 0x2a, 0xd5, 0x22, 0xf2, 0xcd,
  34058			  0xa2, 0xd8, 0x25, 0x21, 0x80, 0x86, 0x73, 0x1c, },
  34059}, {
  34060	.ksize = 1,
  34061	.key = "B",
  34062	.plaintext = blake2_ordered_sequence,
  34063	.psize = 15,
  34064	.digest = (u8[]){ 0xf6, 0x33, 0x5a, 0x2c, 0x22, 0xa0, 0x64, 0xb2,
  34065			  0xb6, 0x3f, 0xeb, 0xbc, 0xd1, 0xc3, 0xe5, 0xb2, },
  34066}, {
  34067	.ksize = 16,
  34068	.key = blake2_ordered_sequence,
  34069	.plaintext = blake2_ordered_sequence,
  34070	.psize = 247,
  34071	.digest = (u8[]){ 0x72, 0x66, 0x49, 0x60, 0xf9, 0x4a, 0xea, 0xbe,
  34072			  0x1f, 0xf4, 0x60, 0xce, 0xb7, 0x81, 0xcb, 0x09, },
  34073}, {
  34074	.ksize = 32,
  34075	.key = blake2_ordered_sequence,
  34076	.plaintext = blake2_ordered_sequence,
  34077	.psize = 256,
  34078	.digest = (u8[]){ 0xd5, 0xa4, 0x0e, 0xc3, 0x16, 0xc7, 0x51, 0xa6,
  34079			  0x3c, 0xd0, 0xd9, 0x11, 0x57, 0xfa, 0x1e, 0xbb, },
  34080}};
  34081
  34082static const struct hash_testvec blakes2s_160_tv_template[] = {{
  34083	.plaintext = blake2_ordered_sequence,
  34084	.psize = 7,
  34085	.digest = (u8[]){ 0xb4, 0xf2, 0x03, 0x49, 0x37, 0xed, 0xb1, 0x3e,
  34086			  0x5b, 0x2a, 0xca, 0x64, 0x82, 0x74, 0xf6, 0x62,
  34087			  0xe3, 0xf2, 0x84, 0xff, },
  34088}, {
  34089	.plaintext = blake2_ordered_sequence,
  34090	.psize = 256,
  34091	.digest = (u8[]){ 0xaa, 0x56, 0x9b, 0xdc, 0x98, 0x17, 0x75, 0xf2,
  34092			  0xb3, 0x68, 0x83, 0xb7, 0x9b, 0x8d, 0x48, 0xb1,
  34093			  0x9b, 0x2d, 0x35, 0x05, },
  34094}, {
  34095	.ksize = 1,
  34096	.key = "B",
  34097	.digest = (u8[]){ 0x50, 0x16, 0xe7, 0x0c, 0x01, 0xd0, 0xd3, 0xc3,
  34098			  0xf4, 0x3e, 0xb1, 0x6e, 0x97, 0xa9, 0x4e, 0xd1,
  34099			  0x79, 0x65, 0x32, 0x93, },
  34100}, {
  34101	.ksize = 32,
  34102	.key = blake2_ordered_sequence,
  34103	.plaintext = blake2_ordered_sequence,
  34104	.psize = 1,
  34105	.digest = (u8[]){ 0x1c, 0x2b, 0xcd, 0x9a, 0x68, 0xca, 0x8c, 0x71,
  34106			  0x90, 0x29, 0x6c, 0x54, 0xfa, 0x56, 0x4a, 0xef,
  34107			  0xa2, 0x3a, 0x56, 0x9c, },
  34108}, {
  34109	.ksize = 16,
  34110	.key = blake2_ordered_sequence,
  34111	.plaintext = blake2_ordered_sequence,
  34112	.psize = 15,
  34113	.digest = (u8[]){ 0x36, 0xc3, 0x5f, 0x9a, 0xdc, 0x7e, 0xbf, 0x19,
  34114			  0x68, 0xaa, 0xca, 0xd8, 0x81, 0xbf, 0x09, 0x34,
  34115			  0x83, 0x39, 0x0f, 0x30, },
  34116}, {
  34117	.ksize = 1,
  34118	.key = "B",
  34119	.plaintext = blake2_ordered_sequence,
  34120	.psize = 64,
  34121	.digest = (u8[]){ 0x86, 0x80, 0x78, 0xa4, 0x14, 0xec, 0x03, 0xe5,
  34122			  0xb6, 0x9a, 0x52, 0x0e, 0x42, 0xee, 0x39, 0x9d,
  34123			  0xac, 0xa6, 0x81, 0x63, },
  34124}, {
  34125	.ksize = 32,
  34126	.key = blake2_ordered_sequence,
  34127	.plaintext = blake2_ordered_sequence,
  34128	.psize = 247,
  34129	.digest = (u8[]){ 0x2d, 0xd8, 0xd2, 0x53, 0x66, 0xfa, 0xa9, 0x01,
  34130			  0x1c, 0x9c, 0xaf, 0xa3, 0xe2, 0x9d, 0x9b, 0x10,
  34131			  0x0a, 0xf6, 0x73, 0xe8, },
  34132}};
  34133
  34134static const struct hash_testvec blakes2s_224_tv_template[] = {{
  34135	.plaintext = blake2_ordered_sequence,
  34136	.psize = 1,
  34137	.digest = (u8[]){ 0x61, 0xb9, 0x4e, 0xc9, 0x46, 0x22, 0xa3, 0x91,
  34138			  0xd2, 0xae, 0x42, 0xe6, 0x45, 0x6c, 0x90, 0x12,
  34139			  0xd5, 0x80, 0x07, 0x97, 0xb8, 0x86, 0x5a, 0xfc,
  34140			  0x48, 0x21, 0x97, 0xbb, },
  34141}, {
  34142	.plaintext = blake2_ordered_sequence,
  34143	.psize = 247,
  34144	.digest = (u8[]){ 0x9e, 0xda, 0xc7, 0x20, 0x2c, 0xd8, 0x48, 0x2e,
  34145			  0x31, 0x94, 0xab, 0x46, 0x6d, 0x94, 0xd8, 0xb4,
  34146			  0x69, 0xcd, 0xae, 0x19, 0x6d, 0x9e, 0x41, 0xcc,
  34147			  0x2b, 0xa4, 0xd5, 0xf6, },
  34148}, {
  34149	.ksize = 16,
  34150	.key = blake2_ordered_sequence,
  34151	.digest = (u8[]){ 0x32, 0xc0, 0xac, 0xf4, 0x3b, 0xd3, 0x07, 0x9f,
  34152			  0xbe, 0xfb, 0xfa, 0x4d, 0x6b, 0x4e, 0x56, 0xb3,
  34153			  0xaa, 0xd3, 0x27, 0xf6, 0x14, 0xbf, 0xb9, 0x32,
  34154			  0xa7, 0x19, 0xfc, 0xb8, },
  34155}, {
  34156	.ksize = 1,
  34157	.key = "B",
  34158	.plaintext = blake2_ordered_sequence,
  34159	.psize = 7,
  34160	.digest = (u8[]){ 0x73, 0xad, 0x5e, 0x6d, 0xb9, 0x02, 0x8e, 0x76,
  34161			  0xf2, 0x66, 0x42, 0x4b, 0x4c, 0xfa, 0x1f, 0xe6,
  34162			  0x2e, 0x56, 0x40, 0xe5, 0xa2, 0xb0, 0x3c, 0xe8,
  34163			  0x7b, 0x45, 0xfe, 0x05, },
  34164}, {
  34165	.ksize = 32,
  34166	.key = blake2_ordered_sequence,
  34167	.plaintext = blake2_ordered_sequence,
  34168	.psize = 15,
  34169	.digest = (u8[]){ 0x16, 0x60, 0xfb, 0x92, 0x54, 0xb3, 0x6e, 0x36,
  34170			  0x81, 0xf4, 0x16, 0x41, 0xc3, 0x3d, 0xd3, 0x43,
  34171			  0x84, 0xed, 0x10, 0x6f, 0x65, 0x80, 0x7a, 0x3e,
  34172			  0x25, 0xab, 0xc5, 0x02, },
  34173}, {
  34174	.ksize = 16,
  34175	.key = blake2_ordered_sequence,
  34176	.plaintext = blake2_ordered_sequence,
  34177	.psize = 64,
  34178	.digest = (u8[]){ 0xca, 0xaa, 0x39, 0x67, 0x9c, 0xf7, 0x6b, 0xc7,
  34179			  0xb6, 0x82, 0xca, 0x0e, 0x65, 0x36, 0x5b, 0x7c,
  34180			  0x24, 0x00, 0xfa, 0x5f, 0xda, 0x06, 0x91, 0x93,
  34181			  0x6a, 0x31, 0x83, 0xb5, },
  34182}, {
  34183	.ksize = 1,
  34184	.key = "B",
  34185	.plaintext = blake2_ordered_sequence,
  34186	.psize = 256,
  34187	.digest = (u8[]){ 0x90, 0x02, 0x26, 0xb5, 0x06, 0x9c, 0x36, 0x86,
  34188			  0x94, 0x91, 0x90, 0x1e, 0x7d, 0x2a, 0x71, 0xb2,
  34189			  0x48, 0xb5, 0xe8, 0x16, 0xfd, 0x64, 0x33, 0x45,
  34190			  0xb3, 0xd7, 0xec, 0xcc, },
  34191}};
  34192
  34193static const struct hash_testvec blakes2s_256_tv_template[] = {{
  34194	.plaintext = blake2_ordered_sequence,
  34195	.psize = 15,
  34196	.digest = (u8[]){ 0xd9, 0x7c, 0x82, 0x8d, 0x81, 0x82, 0xa7, 0x21,
  34197			  0x80, 0xa0, 0x6a, 0x78, 0x26, 0x83, 0x30, 0x67,
  34198			  0x3f, 0x7c, 0x4e, 0x06, 0x35, 0x94, 0x7c, 0x04,
  34199			  0xc0, 0x23, 0x23, 0xfd, 0x45, 0xc0, 0xa5, 0x2d, },
  34200}, {
  34201	.ksize = 32,
  34202	.key = blake2_ordered_sequence,
  34203	.digest = (u8[]){ 0x48, 0xa8, 0x99, 0x7d, 0xa4, 0x07, 0x87, 0x6b,
  34204			  0x3d, 0x79, 0xc0, 0xd9, 0x23, 0x25, 0xad, 0x3b,
  34205			  0x89, 0xcb, 0xb7, 0x54, 0xd8, 0x6a, 0xb7, 0x1a,
  34206			  0xee, 0x04, 0x7a, 0xd3, 0x45, 0xfd, 0x2c, 0x49, },
  34207}, {
  34208	.ksize = 1,
  34209	.key = "B",
  34210	.plaintext = blake2_ordered_sequence,
  34211	.psize = 1,
  34212	.digest = (u8[]){ 0x22, 0x27, 0xae, 0xaa, 0x6e, 0x81, 0x56, 0x03,
  34213			  0xa7, 0xe3, 0xa1, 0x18, 0xa5, 0x9a, 0x2c, 0x18,
  34214			  0xf4, 0x63, 0xbc, 0x16, 0x70, 0xf1, 0xe7, 0x4b,
  34215			  0x00, 0x6d, 0x66, 0x16, 0xae, 0x9e, 0x74, 0x4e, },
  34216}, {
  34217	.ksize = 16,
  34218	.key = blake2_ordered_sequence,
  34219	.plaintext = blake2_ordered_sequence,
  34220	.psize = 7,
  34221	.digest = (u8[]){ 0x58, 0x5d, 0xa8, 0x60, 0x1c, 0xa4, 0xd8, 0x03,
  34222			  0x86, 0x86, 0x84, 0x64, 0xd7, 0xa0, 0x8e, 0x15,
  34223			  0x2f, 0x05, 0xa2, 0x1b, 0xbc, 0xef, 0x7a, 0x34,
  34224			  0xb3, 0xc5, 0xbc, 0x4b, 0xf0, 0x32, 0xeb, 0x12, },
  34225}, {
  34226	.ksize = 32,
  34227	.key = blake2_ordered_sequence,
  34228	.plaintext = blake2_ordered_sequence,
  34229	.psize = 64,
  34230	.digest = (u8[]){ 0x89, 0x75, 0xb0, 0x57, 0x7f, 0xd3, 0x55, 0x66,
  34231			  0xd7, 0x50, 0xb3, 0x62, 0xb0, 0x89, 0x7a, 0x26,
  34232			  0xc3, 0x99, 0x13, 0x6d, 0xf0, 0x7b, 0xab, 0xab,
  34233			  0xbd, 0xe6, 0x20, 0x3f, 0xf2, 0x95, 0x4e, 0xd4, },
  34234}, {
  34235	.ksize = 1,
  34236	.key = "B",
  34237	.plaintext = blake2_ordered_sequence,
  34238	.psize = 247,
  34239	.digest = (u8[]){ 0x2e, 0x74, 0x1c, 0x1d, 0x03, 0xf4, 0x9d, 0x84,
  34240			  0x6f, 0xfc, 0x86, 0x32, 0x92, 0x49, 0x7e, 0x66,
  34241			  0xd7, 0xc3, 0x10, 0x88, 0xfe, 0x28, 0xb3, 0xe0,
  34242			  0xbf, 0x50, 0x75, 0xad, 0x8e, 0xa4, 0xe6, 0xb2, },
  34243}, {
  34244	.ksize = 16,
  34245	.key = blake2_ordered_sequence,
  34246	.plaintext = blake2_ordered_sequence,
  34247	.psize = 256,
  34248	.digest = (u8[]){ 0xb9, 0xd2, 0x81, 0x0e, 0x3a, 0xb1, 0x62, 0x9b,
  34249			  0xad, 0x44, 0x05, 0xf4, 0x92, 0x2e, 0x99, 0xc1,
  34250			  0x4a, 0x47, 0xbb, 0x5b, 0x6f, 0xb2, 0x96, 0xed,
  34251			  0xd5, 0x06, 0xb5, 0x3a, 0x7c, 0x7a, 0x65, 0x1d, },
  34252}};
  34253
  34254#endif	/* _CRYPTO_TESTMGR_H */