crypto: testmgr - Add mcgrew test vectors for rfc4106
authorHerbert Xu <herbert@gondor.apana.org.au>
Tue, 16 Jun 2015 05:54:26 +0000 (13:54 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 17 Jun 2015 07:35:10 +0000 (15:35 +0800)
This patch adds rfc4106 test vectors sourced from
draft-mcgrew-gcm-test-01.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/testmgr.h

index 110142c8efa993deb8d35823009245514dfa886d..56f8a8ef4862c8e1432d30529889b1e4cdec75d5 100644 (file)
@@ -13963,8 +13963,8 @@ static struct cipher_testvec cast6_xts_dec_tv_template[] = {
 #define AES_CTR_3686_DEC_TEST_VECTORS 6
 #define AES_GCM_ENC_TEST_VECTORS 9
 #define AES_GCM_DEC_TEST_VECTORS 8
-#define AES_GCM_4106_ENC_TEST_VECTORS 7
-#define AES_GCM_4106_DEC_TEST_VECTORS 7
+#define AES_GCM_4106_ENC_TEST_VECTORS 23
+#define AES_GCM_4106_DEC_TEST_VECTORS 23
 #define AES_GCM_4543_ENC_TEST_VECTORS 1
 #define AES_GCM_4543_DEC_TEST_VECTORS 2
 #define AES_CCM_ENC_TEST_VECTORS 8
@@ -20123,6 +20123,428 @@ static struct aead_testvec aes_gcm_rfc4106_enc_tv_template[] = {
                          "\x37\x08\x1C\xCF\xBA\x5D\x71\x46"
                          "\x80\x72\xB0\x4C\x82\x0D\x60\x3C",
                .rlen   = 208,
+       }, { /* From draft-mcgrew-gcm-test-01 */
+               .key    = "\x4C\x80\xCD\xEF\xBB\x5D\x10\xDA"
+                         "\x90\x6A\xC7\x3C\x36\x13\xA6\x34"
+                         "\x2E\x44\x3B\x68",
+               .klen   = 20,
+               .iv     = "\x49\x56\xED\x7E\x3B\x24\x4C\xFE",
+               .input  = "\x45\x00\x00\x48\x69\x9A\x00\x00"
+                         "\x80\x11\x4D\xB7\xC0\xA8\x01\x02"
+                         "\xC0\xA8\x01\x01\x0A\x9B\xF1\x56"
+                         "\x38\xD3\x01\x00\x00\x01\x00\x00"
+                         "\x00\x00\x00\x00\x04\x5F\x73\x69"
+                         "\x70\x04\x5F\x75\x64\x70\x03\x73"
+                         "\x69\x70\x09\x63\x79\x62\x65\x72"
+                         "\x63\x69\x74\x79\x02\x64\x6B\x00"
+                         "\x00\x21\x00\x01\x01\x02\x02\x01",
+               .ilen   = 72,
+               .assoc  = "\x00\x00\x43\x21\x87\x65\x43\x21"
+                         "\x00\x00\x00\x00",
+               .alen   = 12,
+               .result = "\xFE\xCF\x53\x7E\x72\x9D\x5B\x07"
+                         "\xDC\x30\xDF\x52\x8D\xD2\x2B\x76"
+                         "\x8D\x1B\x98\x73\x66\x96\xA6\xFD"
+                         "\x34\x85\x09\xFA\x13\xCE\xAC\x34"
+                         "\xCF\xA2\x43\x6F\x14\xA3\xF3\xCF"
+                         "\x65\x92\x5B\xF1\xF4\xA1\x3C\x5D"
+                         "\x15\xB2\x1E\x18\x84\xF5\xFF\x62"
+                         "\x47\xAE\xAB\xB7\x86\xB9\x3B\xCE"
+                         "\x61\xBC\x17\xD7\x68\xFD\x97\x32"
+                         "\x45\x90\x18\x14\x8F\x6C\xBE\x72"
+                         "\x2F\xD0\x47\x96\x56\x2D\xFD\xB4",
+               .rlen   = 88,
+       }, {
+               .key    = "\xFE\xFF\xE9\x92\x86\x65\x73\x1C"
+                         "\x6D\x6A\x8F\x94\x67\x30\x83\x08"
+                         "\xCA\xFE\xBA\xBE",
+               .klen   = 20,
+               .iv     = "\xFA\xCE\xDB\xAD\xDE\xCA\xF8\x88",
+               .input  = "\x45\x00\x00\x3E\x69\x8F\x00\x00"
+                         "\x80\x11\x4D\xCC\xC0\xA8\x01\x02"
+                         "\xC0\xA8\x01\x01\x0A\x98\x00\x35"
+                         "\x00\x2A\x23\x43\xB2\xD0\x01\x00"
+                         "\x00\x01\x00\x00\x00\x00\x00\x00"
+                         "\x03\x73\x69\x70\x09\x63\x79\x62"
+                         "\x65\x72\x63\x69\x74\x79\x02\x64"
+                         "\x6B\x00\x00\x01\x00\x01\x00\x01",
+               .ilen   = 64,
+               .assoc  = "\x00\x00\xA5\xF8\x00\x00\x00\x0A",
+               .alen   = 8,
+               .result = "\xDE\xB2\x2C\xD9\xB0\x7C\x72\xC1"
+                         "\x6E\x3A\x65\xBE\xEB\x8D\xF3\x04"
+                         "\xA5\xA5\x89\x7D\x33\xAE\x53\x0F"
+                         "\x1B\xA7\x6D\x5D\x11\x4D\x2A\x5C"
+                         "\x3D\xE8\x18\x27\xC1\x0E\x9A\x4F"
+                         "\x51\x33\x0D\x0E\xEC\x41\x66\x42"
+                         "\xCF\xBB\x85\xA5\xB4\x7E\x48\xA4"
+                         "\xEC\x3B\x9B\xA9\x5D\x91\x8B\xD1"
+                         "\x83\xB7\x0D\x3A\xA8\xBC\x6E\xE4"
+                         "\xC3\x09\xE9\xD8\x5A\x41\xAD\x4A",
+               .rlen   = 80,
+       }, {
+               .key    = "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
+                         "\x34\x45\x56\x67\x78\x89\x9A\xAB"
+                         "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
+                         "\x34\x45\x56\x67\x78\x89\x9A\xAB"
+                         "\x11\x22\x33\x44",
+               .klen   = 36,
+               .iv     = "\x01\x02\x03\x04\x05\x06\x07\x08",
+               .input  = "\x45\x00\x00\x30\x69\xA6\x40\x00"
+                         "\x80\x06\x26\x90\xC0\xA8\x01\x02"
+                         "\x93\x89\x15\x5E\x0A\x9E\x00\x8B"
+                         "\x2D\xC5\x7E\xE0\x00\x00\x00\x00"
+                         "\x70\x02\x40\x00\x20\xBF\x00\x00"
+                         "\x02\x04\x05\xB4\x01\x01\x04\x02"
+                         "\x01\x02\x02\x01",
+               .ilen   = 52,
+               .assoc  = "\x4A\x2C\xBF\xE3\x00\x00\x00\x02",
+               .alen   = 8,
+               .result = "\xFF\x42\x5C\x9B\x72\x45\x99\xDF"
+                         "\x7A\x3B\xCD\x51\x01\x94\xE0\x0D"
+                         "\x6A\x78\x10\x7F\x1B\x0B\x1C\xBF"
+                         "\x06\xEF\xAE\x9D\x65\xA5\xD7\x63"
+                         "\x74\x8A\x63\x79\x85\x77\x1D\x34"
+                         "\x7F\x05\x45\x65\x9F\x14\xE9\x9D"
+                         "\xEF\x84\x2D\x8E\xB3\x35\xF4\xEE"
+                         "\xCF\xDB\xF8\x31\x82\x4B\x4C\x49"
+                         "\x15\x95\x6C\x96",
+               .rlen   = 68,
+       }, {
+               .key    = "\x00\x00\x00\x00\x00\x00\x00\x00"
+                         "\x00\x00\x00\x00\x00\x00\x00\x00"
+                         "\x00\x00\x00\x00",
+               .klen   = 20,
+               .iv     = "\x00\x00\x00\x00\x00\x00\x00\x00",
+               .input  = "\x45\x00\x00\x3C\x99\xC5\x00\x00"
+                         "\x80\x01\xCB\x7A\x40\x67\x93\x18"
+                         "\x01\x01\x01\x01\x08\x00\x07\x5C"
+                         "\x02\x00\x44\x00\x61\x62\x63\x64"
+                         "\x65\x66\x67\x68\x69\x6A\x6B\x6C"
+                         "\x6D\x6E\x6F\x70\x71\x72\x73\x74"
+                         "\x75\x76\x77\x61\x62\x63\x64\x65"
+                         "\x66\x67\x68\x69\x01\x02\x02\x01",
+               .ilen   = 64,
+               .assoc  = "\x00\x00\x00\x00\x00\x00\x00\x01",
+               .alen   = 8,
+               .result = "\x46\x88\xDA\xF2\xF9\x73\xA3\x92"
+                         "\x73\x29\x09\xC3\x31\xD5\x6D\x60"
+                         "\xF6\x94\xAB\xAA\x41\x4B\x5E\x7F"
+                         "\xF5\xFD\xCD\xFF\xF5\xE9\xA2\x84"
+                         "\x45\x64\x76\x49\x27\x19\xFF\xB6"
+                         "\x4D\xE7\xD9\xDC\xA1\xE1\xD8\x94"
+                         "\xBC\x3B\xD5\x78\x73\xED\x4D\x18"
+                         "\x1D\x19\xD4\xD5\xC8\xC1\x8A\xF3"
+                         "\xF8\x21\xD4\x96\xEE\xB0\x96\xE9"
+                         "\x8A\xD2\xB6\x9E\x47\x99\xC7\x1D",
+               .rlen   = 80,
+       }, {
+               .key    = "\x3D\xE0\x98\x74\xB3\x88\xE6\x49"
+                         "\x19\x88\xD0\xC3\x60\x7E\xAE\x1F"
+                         "\x57\x69\x0E\x43",
+               .klen   = 20,
+               .iv     = "\x4E\x28\x00\x00\xA2\xFC\xA1\xA3",
+               .input  = "\x45\x00\x00\x3C\x99\xC3\x00\x00"
+                         "\x80\x01\xCB\x7C\x40\x67\x93\x18"
+                         "\x01\x01\x01\x01\x08\x00\x08\x5C"
+                         "\x02\x00\x43\x00\x61\x62\x63\x64"
+                         "\x65\x66\x67\x68\x69\x6A\x6B\x6C"
+                         "\x6D\x6E\x6F\x70\x71\x72\x73\x74"
+                         "\x75\x76\x77\x61\x62\x63\x64\x65"
+                         "\x66\x67\x68\x69\x01\x02\x02\x01",
+               .ilen   = 64,
+               .assoc  = "\x42\xF6\x7E\x3F\x10\x10\x10\x10"
+                         "\x10\x10\x10\x10",
+               .alen   = 12,
+               .result = "\xFB\xA2\xCA\xA4\x85\x3C\xF9\xF0"
+                         "\xF2\x2C\xB1\x0D\x86\xDD\x83\xB0"
+                         "\xFE\xC7\x56\x91\xCF\x1A\x04\xB0"
+                         "\x0D\x11\x38\xEC\x9C\x35\x79\x17"
+                         "\x65\xAC\xBD\x87\x01\xAD\x79\x84"
+                         "\x5B\xF9\xFE\x3F\xBA\x48\x7B\xC9"
+                         "\x17\x55\xE6\x66\x2B\x4C\x8D\x0D"
+                         "\x1F\x5E\x22\x73\x95\x30\x32\x0A"
+                         "\xE0\xD7\x31\xCC\x97\x8E\xCA\xFA"
+                         "\xEA\xE8\x8F\x00\xE8\x0D\x6E\x48",
+               .rlen   = 80,
+       }, {
+               .key    = "\x3D\xE0\x98\x74\xB3\x88\xE6\x49"
+                         "\x19\x88\xD0\xC3\x60\x7E\xAE\x1F"
+                         "\x57\x69\x0E\x43",
+               .klen   = 20,
+               .iv     = "\x4E\x28\x00\x00\xA2\xFC\xA1\xA3",
+               .input  = "\x45\x00\x00\x1C\x42\xA2\x00\x00"
+                         "\x80\x01\x44\x1F\x40\x67\x93\xB6"
+                         "\xE0\x00\x00\x02\x0A\x00\xF5\xFF"
+                         "\x01\x02\x02\x01",
+               .ilen   = 28,
+               .assoc  = "\x42\xF6\x7E\x3F\x10\x10\x10\x10"
+                         "\x10\x10\x10\x10",
+               .alen   = 12,
+               .result = "\xFB\xA2\xCA\x84\x5E\x5D\xF9\xF0"
+                         "\xF2\x2C\x3E\x6E\x86\xDD\x83\x1E"
+                         "\x1F\xC6\x57\x92\xCD\x1A\xF9\x13"
+                         "\x0E\x13\x79\xED\x36\x9F\x07\x1F"
+                         "\x35\xE0\x34\xBE\x95\xF1\x12\xE4"
+                         "\xE7\xD0\x5D\x35",
+               .rlen   = 44,
+       }, {
+               .key    = "\xFE\xFF\xE9\x92\x86\x65\x73\x1C"
+                         "\x6D\x6A\x8F\x94\x67\x30\x83\x08"
+                         "\xFE\xFF\xE9\x92\x86\x65\x73\x1C"
+                         "\xCA\xFE\xBA\xBE",
+               .klen   = 28,
+               .iv     = "\xFA\xCE\xDB\xAD\xDE\xCA\xF8\x88",
+               .input  = "\x45\x00\x00\x28\xA4\xAD\x40\x00"
+                         "\x40\x06\x78\x80\x0A\x01\x03\x8F"
+                         "\x0A\x01\x06\x12\x80\x23\x06\xB8"
+                         "\xCB\x71\x26\x02\xDD\x6B\xB0\x3E"
+                         "\x50\x10\x16\xD0\x75\x68\x00\x01",
+               .ilen   = 40,
+               .assoc  = "\x00\x00\xA5\xF8\x00\x00\x00\x0A",
+               .alen   = 8,
+               .result = "\xA5\xB1\xF8\x06\x60\x29\xAE\xA4"
+                         "\x0E\x59\x8B\x81\x22\xDE\x02\x42"
+                         "\x09\x38\xB3\xAB\x33\xF8\x28\xE6"
+                         "\x87\xB8\x85\x8B\x5B\xFB\xDB\xD0"
+                         "\x31\x5B\x27\x45\x21\x44\xCC\x77"
+                         "\x95\x45\x7B\x96\x52\x03\x7F\x53"
+                         "\x18\x02\x7B\x5B\x4C\xD7\xA6\x36",
+               .rlen   = 56,
+       }, {
+               .key    = "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
+                         "\x34\x45\x56\x67\x78\x89\x9A\xAB"
+                         "\xDE\xCA\xF8\x88",
+               .klen   = 20,
+               .iv     = "\xCA\xFE\xDE\xBA\xCE\xFA\xCE\x74",
+               .input  = "\x45\x00\x00\x49\x33\xBA\x00\x00"
+                         "\x7F\x11\x91\x06\xC3\xFB\x1D\x10"
+                         "\xC2\xB1\xD3\x26\xC0\x28\x31\xCE"
+                         "\x00\x35\xDD\x7B\x80\x03\x02\xD5"
+                         "\x00\x00\x4E\x20\x00\x1E\x8C\x18"
+                         "\xD7\x5B\x81\xDC\x91\xBA\xA0\x47"
+                         "\x6B\x91\xB9\x24\xB2\x80\x38\x9D"
+                         "\x92\xC9\x63\xBA\xC0\x46\xEC\x95"
+                         "\x9B\x62\x66\xC0\x47\x22\xB1\x49"
+                         "\x23\x01\x01\x01",
+               .ilen   = 76,
+               .assoc  = "\x00\x00\x01\x00\x00\x00\x00\x00"
+                         "\x00\x00\x00\x01",
+               .alen   = 12,
+               .result = "\x18\xA6\xFD\x42\xF7\x2C\xBF\x4A"
+                         "\xB2\xA2\xEA\x90\x1F\x73\xD8\x14"
+                         "\xE3\xE7\xF2\x43\xD9\x54\x12\xE1"
+                         "\xC3\x49\xC1\xD2\xFB\xEC\x16\x8F"
+                         "\x91\x90\xFE\xEB\xAF\x2C\xB0\x19"
+                         "\x84\xE6\x58\x63\x96\x5D\x74\x72"
+                         "\xB7\x9D\xA3\x45\xE0\xE7\x80\x19"
+                         "\x1F\x0D\x2F\x0E\x0F\x49\x6C\x22"
+                         "\x6F\x21\x27\xB2\x7D\xB3\x57\x24"
+                         "\xE7\x84\x5D\x68\x65\x1F\x57\xE6"
+                         "\x5F\x35\x4F\x75\xFF\x17\x01\x57"
+                         "\x69\x62\x34\x36",
+               .rlen   = 92,
+       }, {
+               .key    = "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
+                         "\x34\x45\x56\x67\x78\x89\x9A\xAB"
+                         "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
+                         "\x34\x45\x56\x67\x78\x89\x9A\xAB"
+                         "\x73\x61\x6C\x74",
+               .klen   = 36,
+               .iv     = "\x61\x6E\x64\x01\x69\x76\x65\x63",
+               .input  = "\x45\x08\x00\x28\x73\x2C\x00\x00"
+                         "\x40\x06\xE9\xF9\x0A\x01\x06\x12"
+                         "\x0A\x01\x03\x8F\x06\xB8\x80\x23"
+                         "\xDD\x6B\xAF\xBE\xCB\x71\x26\x02"
+                         "\x50\x10\x1F\x64\x6D\x54\x00\x01",
+               .ilen   = 40,
+               .assoc  = "\x17\x40\x5E\x67\x15\x6F\x31\x26"
+                         "\xDD\x0D\xB9\x9B",
+               .alen   = 12,
+               .result = "\xF2\xD6\x9E\xCD\xBD\x5A\x0D\x5B"
+                         "\x8D\x5E\xF3\x8B\xAD\x4D\xA5\x8D"
+                         "\x1F\x27\x8F\xDE\x98\xEF\x67\x54"
+                         "\x9D\x52\x4A\x30\x18\xD9\xA5\x7F"
+                         "\xF4\xD3\xA3\x1C\xE6\x73\x11\x9E"
+                         "\x45\x16\x26\xC2\x41\x57\x71\xE3"
+                         "\xB7\xEE\xBC\xA6\x14\xC8\x9B\x35",
+               .rlen   = 56,
+       }, {
+               .key    = "\x3D\xE0\x98\x74\xB3\x88\xE6\x49"
+                         "\x19\x88\xD0\xC3\x60\x7E\xAE\x1F"
+                         "\x57\x69\x0E\x43",
+               .klen   = 20,
+               .iv     = "\x4E\x28\x00\x00\xA2\xFC\xA1\xA3",
+               .input  = "\x45\x00\x00\x49\x33\x3E\x00\x00"
+                         "\x7F\x11\x91\x82\xC3\xFB\x1D\x10"
+                         "\xC2\xB1\xD3\x26\xC0\x28\x31\xCE"
+                         "\x00\x35\xCB\x45\x80\x03\x02\x5B"
+                         "\x00\x00\x01\xE0\x00\x1E\x8C\x18"
+                         "\xD6\x57\x59\xD5\x22\x84\xA0\x35"
+                         "\x2C\x71\x47\x5C\x88\x80\x39\x1C"
+                         "\x76\x4D\x6E\x5E\xE0\x49\x6B\x32"
+                         "\x5A\xE2\x70\xC0\x38\x99\x49\x39"
+                         "\x15\x01\x01\x01",
+               .ilen   = 76,
+               .assoc  = "\x42\xF6\x7E\x3F\x10\x10\x10\x10"
+                         "\x10\x10\x10\x10",
+               .alen   = 12,
+               .result = "\xFB\xA2\xCA\xD1\x2F\xC1\xF9\xF0"
+                         "\x0D\x3C\xEB\xF3\x05\x41\x0D\xB8"
+                         "\x3D\x77\x84\xB6\x07\x32\x3D\x22"
+                         "\x0F\x24\xB0\xA9\x7D\x54\x18\x28"
+                         "\x00\xCA\xDB\x0F\x68\xD9\x9E\xF0"
+                         "\xE0\xC0\xC8\x9A\xE9\xBE\xA8\x88"
+                         "\x4E\x52\xD6\x5B\xC1\xAF\xD0\x74"
+                         "\x0F\x74\x24\x44\x74\x7B\x5B\x39"
+                         "\xAB\x53\x31\x63\xAA\xD4\x55\x0E"
+                         "\xE5\x16\x09\x75\xCD\xB6\x08\xC5"
+                         "\x76\x91\x89\x60\x97\x63\xB8\xE1"
+                         "\x8C\xAA\x81\xE2",
+               .rlen   = 92,
+       }, {
+               .key    = "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
+                         "\x34\x45\x56\x67\x78\x89\x9A\xAB"
+                         "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
+                         "\x34\x45\x56\x67\x78\x89\x9A\xAB"
+                         "\x73\x61\x6C\x74",
+               .klen   = 36,
+               .iv     = "\x61\x6E\x64\x01\x69\x76\x65\x63",
+               .input  = "\x63\x69\x73\x63\x6F\x01\x72\x75"
+                         "\x6C\x65\x73\x01\x74\x68\x65\x01"
+                         "\x6E\x65\x74\x77\x65\x01\x64\x65"
+                         "\x66\x69\x6E\x65\x01\x74\x68\x65"
+                         "\x74\x65\x63\x68\x6E\x6F\x6C\x6F"
+                         "\x67\x69\x65\x73\x01\x74\x68\x61"
+                         "\x74\x77\x69\x6C\x6C\x01\x64\x65"
+                         "\x66\x69\x6E\x65\x74\x6F\x6D\x6F"
+                         "\x72\x72\x6F\x77\x01\x02\x02\x01",
+               .ilen   = 72,
+               .assoc  = "\x17\x40\x5E\x67\x15\x6F\x31\x26"
+                         "\xDD\x0D\xB9\x9B",
+               .alen   = 12,
+               .result = "\xD4\xB7\xED\x86\xA1\x77\x7F\x2E"
+                         "\xA1\x3D\x69\x73\xD3\x24\xC6\x9E"
+                         "\x7B\x43\xF8\x26\xFB\x56\x83\x12"
+                         "\x26\x50\x8B\xEB\xD2\xDC\xEB\x18"
+                         "\xD0\xA6\xDF\x10\xE5\x48\x7D\xF0"
+                         "\x74\x11\x3E\x14\xC6\x41\x02\x4E"
+                         "\x3E\x67\x73\xD9\x1A\x62\xEE\x42"
+                         "\x9B\x04\x3A\x10\xE3\xEF\xE6\xB0"
+                         "\x12\xA4\x93\x63\x41\x23\x64\xF8"
+                         "\xC0\xCA\xC5\x87\xF2\x49\xE5\x6B"
+                         "\x11\xE2\x4F\x30\xE4\x4C\xCC\x76",
+               .rlen   = 88,
+       }, {
+               .key    = "\x7D\x77\x3D\x00\xC1\x44\xC5\x25"
+                         "\xAC\x61\x9D\x18\xC8\x4A\x3F\x47"
+                         "\xD9\x66\x42\x67",
+               .klen   = 20,
+               .iv     = "\x43\x45\x7E\x91\x82\x44\x3B\xC6",
+               .input  = "\x01\x02\x02\x01",
+               .ilen   = 4,
+               .assoc  = "\x33\x54\x67\xAE\xFF\xFF\xFF\xFF",
+               .alen   = 8,
+               .result = "\x43\x7F\x86\x6B\xCB\x3F\x69\x9F"
+                         "\xE9\xB0\x82\x2B\xAC\x96\x1C\x45"
+                         "\x04\xBE\xF2\x70",
+               .rlen   = 20,
+       }, {
+               .key    = "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
+                         "\x34\x45\x56\x67\x78\x89\x9A\xAB"
+                         "\xDE\xCA\xF8\x88",
+               .klen   = 20,
+               .iv     = "\xCA\xFE\xDE\xBA\xCE\xFA\xCE\x74",
+               .input  = "\x74\x6F\x01\x62\x65\x01\x6F\x72"
+                         "\x01\x6E\x6F\x74\x01\x74\x6F\x01"
+                         "\x62\x65\x00\x01",
+               .ilen   = 20,
+               .assoc  = "\x00\x00\x01\x00\x00\x00\x00\x00"
+                         "\x00\x00\x00\x01",
+               .alen   = 12,
+               .result = "\x29\xC9\xFC\x69\xA1\x97\xD0\x38"
+                         "\xCC\xDD\x14\xE2\xDD\xFC\xAA\x05"
+                         "\x43\x33\x21\x64\x41\x25\x03\x52"
+                         "\x43\x03\xED\x3C\x6C\x5F\x28\x38"
+                         "\x43\xAF\x8C\x3E",
+               .rlen   = 36,
+       }, {
+               .key    = "\x6C\x65\x67\x61\x6C\x69\x7A\x65"
+                         "\x6D\x61\x72\x69\x6A\x75\x61\x6E"
+                         "\x61\x61\x6E\x64\x64\x6F\x69\x74"
+                         "\x62\x65\x66\x6F\x72\x65\x69\x61"
+                         "\x74\x75\x72\x6E",
+               .klen   = 36,
+               .iv     = "\x33\x30\x21\x69\x67\x65\x74\x6D",
+               .input  = "\x45\x00\x00\x30\xDA\x3A\x00\x00"
+                         "\x80\x01\xDF\x3B\xC0\xA8\x00\x05"
+                         "\xC0\xA8\x00\x01\x08\x00\xC6\xCD"
+                         "\x02\x00\x07\x00\x61\x62\x63\x64"
+                         "\x65\x66\x67\x68\x69\x6A\x6B\x6C"
+                         "\x6D\x6E\x6F\x70\x71\x72\x73\x74"
+                         "\x01\x02\x02\x01",
+               .ilen   = 52,
+               .assoc  = "\x79\x6B\x69\x63\xFF\xFF\xFF\xFF"
+                         "\xFF\xFF\xFF\xFF",
+               .alen   = 12,
+               .result = "\xF9\x7A\xB2\xAA\x35\x6D\x8E\xDC"
+                         "\xE1\x76\x44\xAC\x8C\x78\xE2\x5D"
+                         "\xD2\x4D\xED\xBB\x29\xEB\xF1\xB6"
+                         "\x4A\x27\x4B\x39\xB4\x9C\x3A\x86"
+                         "\x4C\xD3\xD7\x8C\xA4\xAE\x68\xA3"
+                         "\x2B\x42\x45\x8F\xB5\x7D\xBE\x82"
+                         "\x1D\xCC\x63\xB9\xD0\x93\x7B\xA2"
+                         "\x94\x5F\x66\x93\x68\x66\x1A\x32"
+                         "\x9F\xB4\xC0\x53",
+               .rlen   = 68,
+       }, {
+               .key    = "\x3D\xE0\x98\x74\xB3\x88\xE6\x49"
+                         "\x19\x88\xD0\xC3\x60\x7E\xAE\x1F"
+                         "\x57\x69\x0E\x43",
+               .klen   = 20,
+               .iv     = "\x4E\x28\x00\x00\xA2\xFC\xA1\xA3",
+               .input  = "\x45\x00\x00\x30\xDA\x3A\x00\x00"
+                         "\x80\x01\xDF\x3B\xC0\xA8\x00\x05"
+                         "\xC0\xA8\x00\x01\x08\x00\xC6\xCD"
+                         "\x02\x00\x07\x00\x61\x62\x63\x64"
+                         "\x65\x66\x67\x68\x69\x6A\x6B\x6C"
+                         "\x6D\x6E\x6F\x70\x71\x72\x73\x74"
+                         "\x01\x02\x02\x01",
+               .ilen   = 52,
+               .assoc  = "\x3F\x7E\xF6\x42\x10\x10\x10\x10"
+                         "\x10\x10\x10\x10",
+               .alen   = 12,
+               .result = "\xFB\xA2\xCA\xA8\xC6\xC5\xF9\xF0"
+                         "\xF2\x2C\xA5\x4A\x06\x12\x10\xAD"
+                         "\x3F\x6E\x57\x91\xCF\x1A\xCA\x21"
+                         "\x0D\x11\x7C\xEC\x9C\x35\x79\x17"
+                         "\x65\xAC\xBD\x87\x01\xAD\x79\x84"
+                         "\x5B\xF9\xFE\x3F\xBA\x48\x7B\xC9"
+                         "\x63\x21\x93\x06\x84\xEE\xCA\xDB"
+                         "\x56\x91\x25\x46\xE7\xA9\x5C\x97"
+                         "\x40\xD7\xCB\x05",
+               .rlen   = 68,
+       }, {
+               .key    = "\x4C\x80\xCD\xEF\xBB\x5D\x10\xDA"
+                         "\x90\x6A\xC7\x3C\x36\x13\xA6\x34"
+                         "\x22\x43\x3C\x64",
+               .klen   = 20,
+               .iv     = "\x48\x55\xEC\x7D\x3A\x23\x4B\xFD",
+               .input  = "\x08\x00\xC6\xCD\x02\x00\x07\x00"
+                         "\x61\x62\x63\x64\x65\x66\x67\x68"
+                         "\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70"
+                         "\x71\x72\x73\x74\x01\x02\x02\x01",
+               .ilen   = 32,
+               .assoc  = "\x00\x00\x43\x21\x87\x65\x43\x21"
+                         "\x00\x00\x00\x07",
+               .alen   = 12,
+               .result = "\x74\x75\x2E\x8A\xEB\x5D\x87\x3C"
+                         "\xD7\xC0\xF4\xAC\xC3\x6C\x4B\xFF"
+                         "\x84\xB7\xD7\xB9\x8F\x0C\xA8\xB6"
+                         "\xAC\xDA\x68\x94\xBC\x61\x90\x69"
+                         "\xEF\x9C\xBC\x28\xFE\x1B\x56\xA7"
+                         "\xC4\xE0\xD5\x8C\x86\xCD\x2B\xC0",
+               .rlen   = 48,
        }
 };
 
@@ -20298,7 +20720,428 @@ static struct aead_testvec aes_gcm_rfc4106_dec_tv_template[] = {
                           "\xff\xff\xff\xff\xff\xff\xff\xff"
                           "\xff\xff\xff\xff\xff\xff\xff\xff",
                 .rlen   = 192,
-
+       }, {
+               .key    = "\x4C\x80\xCD\xEF\xBB\x5D\x10\xDA"
+                         "\x90\x6A\xC7\x3C\x36\x13\xA6\x34"
+                         "\x2E\x44\x3B\x68",
+               .klen   = 20,
+               .iv     = "\x49\x56\xED\x7E\x3B\x24\x4C\xFE",
+               .result = "\x45\x00\x00\x48\x69\x9A\x00\x00"
+                         "\x80\x11\x4D\xB7\xC0\xA8\x01\x02"
+                         "\xC0\xA8\x01\x01\x0A\x9B\xF1\x56"
+                         "\x38\xD3\x01\x00\x00\x01\x00\x00"
+                         "\x00\x00\x00\x00\x04\x5F\x73\x69"
+                         "\x70\x04\x5F\x75\x64\x70\x03\x73"
+                         "\x69\x70\x09\x63\x79\x62\x65\x72"
+                         "\x63\x69\x74\x79\x02\x64\x6B\x00"
+                         "\x00\x21\x00\x01\x01\x02\x02\x01",
+               .rlen   = 72,
+               .assoc  = "\x00\x00\x43\x21\x87\x65\x43\x21"
+                         "\x00\x00\x00\x00",
+               .alen   = 12,
+               .input  = "\xFE\xCF\x53\x7E\x72\x9D\x5B\x07"
+                         "\xDC\x30\xDF\x52\x8D\xD2\x2B\x76"
+                         "\x8D\x1B\x98\x73\x66\x96\xA6\xFD"
+                         "\x34\x85\x09\xFA\x13\xCE\xAC\x34"
+                         "\xCF\xA2\x43\x6F\x14\xA3\xF3\xCF"
+                         "\x65\x92\x5B\xF1\xF4\xA1\x3C\x5D"
+                         "\x15\xB2\x1E\x18\x84\xF5\xFF\x62"
+                         "\x47\xAE\xAB\xB7\x86\xB9\x3B\xCE"
+                         "\x61\xBC\x17\xD7\x68\xFD\x97\x32"
+                         "\x45\x90\x18\x14\x8F\x6C\xBE\x72"
+                         "\x2F\xD0\x47\x96\x56\x2D\xFD\xB4",
+               .ilen   = 88,
+       }, {
+               .key    = "\xFE\xFF\xE9\x92\x86\x65\x73\x1C"
+                         "\x6D\x6A\x8F\x94\x67\x30\x83\x08"
+                         "\xCA\xFE\xBA\xBE",
+               .klen   = 20,
+               .iv     = "\xFA\xCE\xDB\xAD\xDE\xCA\xF8\x88",
+               .result = "\x45\x00\x00\x3E\x69\x8F\x00\x00"
+                         "\x80\x11\x4D\xCC\xC0\xA8\x01\x02"
+                         "\xC0\xA8\x01\x01\x0A\x98\x00\x35"
+                         "\x00\x2A\x23\x43\xB2\xD0\x01\x00"
+                         "\x00\x01\x00\x00\x00\x00\x00\x00"
+                         "\x03\x73\x69\x70\x09\x63\x79\x62"
+                         "\x65\x72\x63\x69\x74\x79\x02\x64"
+                         "\x6B\x00\x00\x01\x00\x01\x00\x01",
+               .rlen   = 64,
+               .assoc  = "\x00\x00\xA5\xF8\x00\x00\x00\x0A",
+               .alen   = 8,
+               .input  = "\xDE\xB2\x2C\xD9\xB0\x7C\x72\xC1"
+                         "\x6E\x3A\x65\xBE\xEB\x8D\xF3\x04"
+                         "\xA5\xA5\x89\x7D\x33\xAE\x53\x0F"
+                         "\x1B\xA7\x6D\x5D\x11\x4D\x2A\x5C"
+                         "\x3D\xE8\x18\x27\xC1\x0E\x9A\x4F"
+                         "\x51\x33\x0D\x0E\xEC\x41\x66\x42"
+                         "\xCF\xBB\x85\xA5\xB4\x7E\x48\xA4"
+                         "\xEC\x3B\x9B\xA9\x5D\x91\x8B\xD1"
+                         "\x83\xB7\x0D\x3A\xA8\xBC\x6E\xE4"
+                         "\xC3\x09\xE9\xD8\x5A\x41\xAD\x4A",
+               .ilen   = 80,
+       }, {
+               .key    = "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
+                         "\x34\x45\x56\x67\x78\x89\x9A\xAB"
+                         "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
+                         "\x34\x45\x56\x67\x78\x89\x9A\xAB"
+                         "\x11\x22\x33\x44",
+               .klen   = 36,
+               .iv     = "\x01\x02\x03\x04\x05\x06\x07\x08",
+               .result = "\x45\x00\x00\x30\x69\xA6\x40\x00"
+                         "\x80\x06\x26\x90\xC0\xA8\x01\x02"
+                         "\x93\x89\x15\x5E\x0A\x9E\x00\x8B"
+                         "\x2D\xC5\x7E\xE0\x00\x00\x00\x00"
+                         "\x70\x02\x40\x00\x20\xBF\x00\x00"
+                         "\x02\x04\x05\xB4\x01\x01\x04\x02"
+                         "\x01\x02\x02\x01",
+               .rlen   = 52,
+               .assoc  = "\x4A\x2C\xBF\xE3\x00\x00\x00\x02",
+               .alen   = 8,
+               .input  = "\xFF\x42\x5C\x9B\x72\x45\x99\xDF"
+                         "\x7A\x3B\xCD\x51\x01\x94\xE0\x0D"
+                         "\x6A\x78\x10\x7F\x1B\x0B\x1C\xBF"
+                         "\x06\xEF\xAE\x9D\x65\xA5\xD7\x63"
+                         "\x74\x8A\x63\x79\x85\x77\x1D\x34"
+                         "\x7F\x05\x45\x65\x9F\x14\xE9\x9D"
+                         "\xEF\x84\x2D\x8E\xB3\x35\xF4\xEE"
+                         "\xCF\xDB\xF8\x31\x82\x4B\x4C\x49"
+                         "\x15\x95\x6C\x96",
+               .ilen   = 68,
+       }, {
+               .key    = "\x00\x00\x00\x00\x00\x00\x00\x00"
+                         "\x00\x00\x00\x00\x00\x00\x00\x00"
+                         "\x00\x00\x00\x00",
+               .klen   = 20,
+               .iv     = "\x00\x00\x00\x00\x00\x00\x00\x00",
+               .result = "\x45\x00\x00\x3C\x99\xC5\x00\x00"
+                         "\x80\x01\xCB\x7A\x40\x67\x93\x18"
+                         "\x01\x01\x01\x01\x08\x00\x07\x5C"
+                         "\x02\x00\x44\x00\x61\x62\x63\x64"
+                         "\x65\x66\x67\x68\x69\x6A\x6B\x6C"
+                         "\x6D\x6E\x6F\x70\x71\x72\x73\x74"
+                         "\x75\x76\x77\x61\x62\x63\x64\x65"
+                         "\x66\x67\x68\x69\x01\x02\x02\x01",
+               .rlen   = 64,
+               .assoc  = "\x00\x00\x00\x00\x00\x00\x00\x01",
+               .alen   = 8,
+               .input  = "\x46\x88\xDA\xF2\xF9\x73\xA3\x92"
+                         "\x73\x29\x09\xC3\x31\xD5\x6D\x60"
+                         "\xF6\x94\xAB\xAA\x41\x4B\x5E\x7F"
+                         "\xF5\xFD\xCD\xFF\xF5\xE9\xA2\x84"
+                         "\x45\x64\x76\x49\x27\x19\xFF\xB6"
+                         "\x4D\xE7\xD9\xDC\xA1\xE1\xD8\x94"
+                         "\xBC\x3B\xD5\x78\x73\xED\x4D\x18"
+                         "\x1D\x19\xD4\xD5\xC8\xC1\x8A\xF3"
+                         "\xF8\x21\xD4\x96\xEE\xB0\x96\xE9"
+                         "\x8A\xD2\xB6\x9E\x47\x99\xC7\x1D",
+               .ilen   = 80,
+       }, {
+               .key    = "\x3D\xE0\x98\x74\xB3\x88\xE6\x49"
+                         "\x19\x88\xD0\xC3\x60\x7E\xAE\x1F"
+                         "\x57\x69\x0E\x43",
+               .klen   = 20,
+               .iv     = "\x4E\x28\x00\x00\xA2\xFC\xA1\xA3",
+               .result = "\x45\x00\x00\x3C\x99\xC3\x00\x00"
+                         "\x80\x01\xCB\x7C\x40\x67\x93\x18"
+                         "\x01\x01\x01\x01\x08\x00\x08\x5C"
+                         "\x02\x00\x43\x00\x61\x62\x63\x64"
+                         "\x65\x66\x67\x68\x69\x6A\x6B\x6C"
+                         "\x6D\x6E\x6F\x70\x71\x72\x73\x74"
+                         "\x75\x76\x77\x61\x62\x63\x64\x65"
+                         "\x66\x67\x68\x69\x01\x02\x02\x01",
+               .rlen   = 64,
+               .assoc  = "\x42\xF6\x7E\x3F\x10\x10\x10\x10"
+                         "\x10\x10\x10\x10",
+               .alen   = 12,
+               .input  = "\xFB\xA2\xCA\xA4\x85\x3C\xF9\xF0"
+                         "\xF2\x2C\xB1\x0D\x86\xDD\x83\xB0"
+                         "\xFE\xC7\x56\x91\xCF\x1A\x04\xB0"
+                         "\x0D\x11\x38\xEC\x9C\x35\x79\x17"
+                         "\x65\xAC\xBD\x87\x01\xAD\x79\x84"
+                         "\x5B\xF9\xFE\x3F\xBA\x48\x7B\xC9"
+                         "\x17\x55\xE6\x66\x2B\x4C\x8D\x0D"
+                         "\x1F\x5E\x22\x73\x95\x30\x32\x0A"
+                         "\xE0\xD7\x31\xCC\x97\x8E\xCA\xFA"
+                         "\xEA\xE8\x8F\x00\xE8\x0D\x6E\x48",
+               .ilen   = 80,
+       }, {
+               .key    = "\x3D\xE0\x98\x74\xB3\x88\xE6\x49"
+                         "\x19\x88\xD0\xC3\x60\x7E\xAE\x1F"
+                         "\x57\x69\x0E\x43",
+               .klen   = 20,
+               .iv     = "\x4E\x28\x00\x00\xA2\xFC\xA1\xA3",
+               .result = "\x45\x00\x00\x1C\x42\xA2\x00\x00"
+                         "\x80\x01\x44\x1F\x40\x67\x93\xB6"
+                         "\xE0\x00\x00\x02\x0A\x00\xF5\xFF"
+                         "\x01\x02\x02\x01",
+               .rlen   = 28,
+               .assoc  = "\x42\xF6\x7E\x3F\x10\x10\x10\x10"
+                         "\x10\x10\x10\x10",
+               .alen   = 12,
+               .input  = "\xFB\xA2\xCA\x84\x5E\x5D\xF9\xF0"
+                         "\xF2\x2C\x3E\x6E\x86\xDD\x83\x1E"
+                         "\x1F\xC6\x57\x92\xCD\x1A\xF9\x13"
+                         "\x0E\x13\x79\xED\x36\x9F\x07\x1F"
+                         "\x35\xE0\x34\xBE\x95\xF1\x12\xE4"
+                         "\xE7\xD0\x5D\x35",
+               .ilen   = 44,
+       }, {
+               .key    = "\xFE\xFF\xE9\x92\x86\x65\x73\x1C"
+                         "\x6D\x6A\x8F\x94\x67\x30\x83\x08"
+                         "\xFE\xFF\xE9\x92\x86\x65\x73\x1C"
+                         "\xCA\xFE\xBA\xBE",
+               .klen   = 28,
+               .iv     = "\xFA\xCE\xDB\xAD\xDE\xCA\xF8\x88",
+               .result = "\x45\x00\x00\x28\xA4\xAD\x40\x00"
+                         "\x40\x06\x78\x80\x0A\x01\x03\x8F"
+                         "\x0A\x01\x06\x12\x80\x23\x06\xB8"
+                         "\xCB\x71\x26\x02\xDD\x6B\xB0\x3E"
+                         "\x50\x10\x16\xD0\x75\x68\x00\x01",
+               .rlen   = 40,
+               .assoc  = "\x00\x00\xA5\xF8\x00\x00\x00\x0A",
+               .alen   = 8,
+               .input  = "\xA5\xB1\xF8\x06\x60\x29\xAE\xA4"
+                         "\x0E\x59\x8B\x81\x22\xDE\x02\x42"
+                         "\x09\x38\xB3\xAB\x33\xF8\x28\xE6"
+                         "\x87\xB8\x85\x8B\x5B\xFB\xDB\xD0"
+                         "\x31\x5B\x27\x45\x21\x44\xCC\x77"
+                         "\x95\x45\x7B\x96\x52\x03\x7F\x53"
+                         "\x18\x02\x7B\x5B\x4C\xD7\xA6\x36",
+               .ilen   = 56,
+       }, {
+               .key    = "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
+                         "\x34\x45\x56\x67\x78\x89\x9A\xAB"
+                         "\xDE\xCA\xF8\x88",
+               .klen   = 20,
+               .iv     = "\xCA\xFE\xDE\xBA\xCE\xFA\xCE\x74",
+               .result = "\x45\x00\x00\x49\x33\xBA\x00\x00"
+                         "\x7F\x11\x91\x06\xC3\xFB\x1D\x10"
+                         "\xC2\xB1\xD3\x26\xC0\x28\x31\xCE"
+                         "\x00\x35\xDD\x7B\x80\x03\x02\xD5"
+                         "\x00\x00\x4E\x20\x00\x1E\x8C\x18"
+                         "\xD7\x5B\x81\xDC\x91\xBA\xA0\x47"
+                         "\x6B\x91\xB9\x24\xB2\x80\x38\x9D"
+                         "\x92\xC9\x63\xBA\xC0\x46\xEC\x95"
+                         "\x9B\x62\x66\xC0\x47\x22\xB1\x49"
+                         "\x23\x01\x01\x01",
+               .rlen   = 76,
+               .assoc  = "\x00\x00\x01\x00\x00\x00\x00\x00"
+                         "\x00\x00\x00\x01",
+               .alen   = 12,
+               .input  = "\x18\xA6\xFD\x42\xF7\x2C\xBF\x4A"
+                         "\xB2\xA2\xEA\x90\x1F\x73\xD8\x14"
+                         "\xE3\xE7\xF2\x43\xD9\x54\x12\xE1"
+                         "\xC3\x49\xC1\xD2\xFB\xEC\x16\x8F"
+                         "\x91\x90\xFE\xEB\xAF\x2C\xB0\x19"
+                         "\x84\xE6\x58\x63\x96\x5D\x74\x72"
+                         "\xB7\x9D\xA3\x45\xE0\xE7\x80\x19"
+                         "\x1F\x0D\x2F\x0E\x0F\x49\x6C\x22"
+                         "\x6F\x21\x27\xB2\x7D\xB3\x57\x24"
+                         "\xE7\x84\x5D\x68\x65\x1F\x57\xE6"
+                         "\x5F\x35\x4F\x75\xFF\x17\x01\x57"
+                         "\x69\x62\x34\x36",
+               .ilen   = 92,
+       }, {
+               .key    = "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
+                         "\x34\x45\x56\x67\x78\x89\x9A\xAB"
+                         "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
+                         "\x34\x45\x56\x67\x78\x89\x9A\xAB"
+                         "\x73\x61\x6C\x74",
+               .klen   = 36,
+               .iv     = "\x61\x6E\x64\x01\x69\x76\x65\x63",
+               .result = "\x45\x08\x00\x28\x73\x2C\x00\x00"
+                         "\x40\x06\xE9\xF9\x0A\x01\x06\x12"
+                         "\x0A\x01\x03\x8F\x06\xB8\x80\x23"
+                         "\xDD\x6B\xAF\xBE\xCB\x71\x26\x02"
+                         "\x50\x10\x1F\x64\x6D\x54\x00\x01",
+               .rlen   = 40,
+               .assoc  = "\x17\x40\x5E\x67\x15\x6F\x31\x26"
+                         "\xDD\x0D\xB9\x9B",
+               .alen   = 12,
+               .input  = "\xF2\xD6\x9E\xCD\xBD\x5A\x0D\x5B"
+                         "\x8D\x5E\xF3\x8B\xAD\x4D\xA5\x8D"
+                         "\x1F\x27\x8F\xDE\x98\xEF\x67\x54"
+                         "\x9D\x52\x4A\x30\x18\xD9\xA5\x7F"
+                         "\xF4\xD3\xA3\x1C\xE6\x73\x11\x9E"
+                         "\x45\x16\x26\xC2\x41\x57\x71\xE3"
+                         "\xB7\xEE\xBC\xA6\x14\xC8\x9B\x35",
+               .ilen   = 56,
+       }, {
+               .key    = "\x3D\xE0\x98\x74\xB3\x88\xE6\x49"
+                         "\x19\x88\xD0\xC3\x60\x7E\xAE\x1F"
+                         "\x57\x69\x0E\x43",
+               .klen   = 20,
+               .iv     = "\x4E\x28\x00\x00\xA2\xFC\xA1\xA3",
+               .result = "\x45\x00\x00\x49\x33\x3E\x00\x00"
+                         "\x7F\x11\x91\x82\xC3\xFB\x1D\x10"
+                         "\xC2\xB1\xD3\x26\xC0\x28\x31\xCE"
+                         "\x00\x35\xCB\x45\x80\x03\x02\x5B"
+                         "\x00\x00\x01\xE0\x00\x1E\x8C\x18"
+                         "\xD6\x57\x59\xD5\x22\x84\xA0\x35"
+                         "\x2C\x71\x47\x5C\x88\x80\x39\x1C"
+                         "\x76\x4D\x6E\x5E\xE0\x49\x6B\x32"
+                         "\x5A\xE2\x70\xC0\x38\x99\x49\x39"
+                         "\x15\x01\x01\x01",
+               .rlen   = 76,
+               .assoc  = "\x42\xF6\x7E\x3F\x10\x10\x10\x10"
+                         "\x10\x10\x10\x10",
+               .alen   = 12,
+               .input  = "\xFB\xA2\xCA\xD1\x2F\xC1\xF9\xF0"
+                         "\x0D\x3C\xEB\xF3\x05\x41\x0D\xB8"
+                         "\x3D\x77\x84\xB6\x07\x32\x3D\x22"
+                         "\x0F\x24\xB0\xA9\x7D\x54\x18\x28"
+                         "\x00\xCA\xDB\x0F\x68\xD9\x9E\xF0"
+                         "\xE0\xC0\xC8\x9A\xE9\xBE\xA8\x88"
+                         "\x4E\x52\xD6\x5B\xC1\xAF\xD0\x74"
+                         "\x0F\x74\x24\x44\x74\x7B\x5B\x39"
+                         "\xAB\x53\x31\x63\xAA\xD4\x55\x0E"
+                         "\xE5\x16\x09\x75\xCD\xB6\x08\xC5"
+                         "\x76\x91\x89\x60\x97\x63\xB8\xE1"
+                         "\x8C\xAA\x81\xE2",
+               .ilen   = 92,
+       }, {
+               .key    = "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
+                         "\x34\x45\x56\x67\x78\x89\x9A\xAB"
+                         "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
+                         "\x34\x45\x56\x67\x78\x89\x9A\xAB"
+                         "\x73\x61\x6C\x74",
+               .klen   = 36,
+               .iv     = "\x61\x6E\x64\x01\x69\x76\x65\x63",
+               .result = "\x63\x69\x73\x63\x6F\x01\x72\x75"
+                         "\x6C\x65\x73\x01\x74\x68\x65\x01"
+                         "\x6E\x65\x74\x77\x65\x01\x64\x65"
+                         "\x66\x69\x6E\x65\x01\x74\x68\x65"
+                         "\x74\x65\x63\x68\x6E\x6F\x6C\x6F"
+                         "\x67\x69\x65\x73\x01\x74\x68\x61"
+                         "\x74\x77\x69\x6C\x6C\x01\x64\x65"
+                         "\x66\x69\x6E\x65\x74\x6F\x6D\x6F"
+                         "\x72\x72\x6F\x77\x01\x02\x02\x01",
+               .rlen   = 72,
+               .assoc  = "\x17\x40\x5E\x67\x15\x6F\x31\x26"
+                         "\xDD\x0D\xB9\x9B",
+               .alen   = 12,
+               .input  = "\xD4\xB7\xED\x86\xA1\x77\x7F\x2E"
+                         "\xA1\x3D\x69\x73\xD3\x24\xC6\x9E"
+                         "\x7B\x43\xF8\x26\xFB\x56\x83\x12"
+                         "\x26\x50\x8B\xEB\xD2\xDC\xEB\x18"
+                         "\xD0\xA6\xDF\x10\xE5\x48\x7D\xF0"
+                         "\x74\x11\x3E\x14\xC6\x41\x02\x4E"
+                         "\x3E\x67\x73\xD9\x1A\x62\xEE\x42"
+                         "\x9B\x04\x3A\x10\xE3\xEF\xE6\xB0"
+                         "\x12\xA4\x93\x63\x41\x23\x64\xF8"
+                         "\xC0\xCA\xC5\x87\xF2\x49\xE5\x6B"
+                         "\x11\xE2\x4F\x30\xE4\x4C\xCC\x76",
+               .ilen   = 88,
+       }, {
+               .key    = "\x7D\x77\x3D\x00\xC1\x44\xC5\x25"
+                         "\xAC\x61\x9D\x18\xC8\x4A\x3F\x47"
+                         "\xD9\x66\x42\x67",
+               .klen   = 20,
+               .iv     = "\x43\x45\x7E\x91\x82\x44\x3B\xC6",
+               .result = "\x01\x02\x02\x01",
+               .rlen   = 4,
+               .assoc  = "\x33\x54\x67\xAE\xFF\xFF\xFF\xFF",
+               .alen   = 8,
+               .input  = "\x43\x7F\x86\x6B\xCB\x3F\x69\x9F"
+                         "\xE9\xB0\x82\x2B\xAC\x96\x1C\x45"
+                         "\x04\xBE\xF2\x70",
+               .ilen   = 20,
+       }, {
+               .key    = "\xAB\xBC\xCD\xDE\xF0\x01\x12\x23"
+                         "\x34\x45\x56\x67\x78\x89\x9A\xAB"
+                         "\xDE\xCA\xF8\x88",
+               .klen   = 20,
+               .iv     = "\xCA\xFE\xDE\xBA\xCE\xFA\xCE\x74",
+               .result = "\x74\x6F\x01\x62\x65\x01\x6F\x72"
+                         "\x01\x6E\x6F\x74\x01\x74\x6F\x01"
+                         "\x62\x65\x00\x01",
+               .rlen   = 20,
+               .assoc  = "\x00\x00\x01\x00\x00\x00\x00\x00"
+                         "\x00\x00\x00\x01",
+               .alen   = 12,
+               .input  = "\x29\xC9\xFC\x69\xA1\x97\xD0\x38"
+                         "\xCC\xDD\x14\xE2\xDD\xFC\xAA\x05"
+                         "\x43\x33\x21\x64\x41\x25\x03\x52"
+                         "\x43\x03\xED\x3C\x6C\x5F\x28\x38"
+                         "\x43\xAF\x8C\x3E",
+               .ilen   = 36,
+       }, {
+               .key    = "\x6C\x65\x67\x61\x6C\x69\x7A\x65"
+                         "\x6D\x61\x72\x69\x6A\x75\x61\x6E"
+                         "\x61\x61\x6E\x64\x64\x6F\x69\x74"
+                         "\x62\x65\x66\x6F\x72\x65\x69\x61"
+                         "\x74\x75\x72\x6E",
+               .klen   = 36,
+               .iv     = "\x33\x30\x21\x69\x67\x65\x74\x6D",
+               .result = "\x45\x00\x00\x30\xDA\x3A\x00\x00"
+                         "\x80\x01\xDF\x3B\xC0\xA8\x00\x05"
+                         "\xC0\xA8\x00\x01\x08\x00\xC6\xCD"
+                         "\x02\x00\x07\x00\x61\x62\x63\x64"
+                         "\x65\x66\x67\x68\x69\x6A\x6B\x6C"
+                         "\x6D\x6E\x6F\x70\x71\x72\x73\x74"
+                         "\x01\x02\x02\x01",
+               .rlen   = 52,
+               .assoc  = "\x79\x6B\x69\x63\xFF\xFF\xFF\xFF"
+                         "\xFF\xFF\xFF\xFF",
+               .alen   = 12,
+               .input  = "\xF9\x7A\xB2\xAA\x35\x6D\x8E\xDC"
+                         "\xE1\x76\x44\xAC\x8C\x78\xE2\x5D"
+                         "\xD2\x4D\xED\xBB\x29\xEB\xF1\xB6"
+                         "\x4A\x27\x4B\x39\xB4\x9C\x3A\x86"
+                         "\x4C\xD3\xD7\x8C\xA4\xAE\x68\xA3"
+                         "\x2B\x42\x45\x8F\xB5\x7D\xBE\x82"
+                         "\x1D\xCC\x63\xB9\xD0\x93\x7B\xA2"
+                         "\x94\x5F\x66\x93\x68\x66\x1A\x32"
+                         "\x9F\xB4\xC0\x53",
+               .ilen   = 68,
+       }, {
+               .key    = "\x3D\xE0\x98\x74\xB3\x88\xE6\x49"
+                         "\x19\x88\xD0\xC3\x60\x7E\xAE\x1F"
+                         "\x57\x69\x0E\x43",
+               .klen   = 20,
+               .iv     = "\x4E\x28\x00\x00\xA2\xFC\xA1\xA3",
+               .result = "\x45\x00\x00\x30\xDA\x3A\x00\x00"
+                         "\x80\x01\xDF\x3B\xC0\xA8\x00\x05"
+                         "\xC0\xA8\x00\x01\x08\x00\xC6\xCD"
+                         "\x02\x00\x07\x00\x61\x62\x63\x64"
+                         "\x65\x66\x67\x68\x69\x6A\x6B\x6C"
+                         "\x6D\x6E\x6F\x70\x71\x72\x73\x74"
+                         "\x01\x02\x02\x01",
+               .rlen   = 52,
+               .assoc  = "\x3F\x7E\xF6\x42\x10\x10\x10\x10"
+                         "\x10\x10\x10\x10",
+               .alen   = 12,
+               .input  = "\xFB\xA2\xCA\xA8\xC6\xC5\xF9\xF0"
+                         "\xF2\x2C\xA5\x4A\x06\x12\x10\xAD"
+                         "\x3F\x6E\x57\x91\xCF\x1A\xCA\x21"
+                         "\x0D\x11\x7C\xEC\x9C\x35\x79\x17"
+                         "\x65\xAC\xBD\x87\x01\xAD\x79\x84"
+                         "\x5B\xF9\xFE\x3F\xBA\x48\x7B\xC9"
+                         "\x63\x21\x93\x06\x84\xEE\xCA\xDB"
+                         "\x56\x91\x25\x46\xE7\xA9\x5C\x97"
+                         "\x40\xD7\xCB\x05",
+               .ilen   = 68,
+       }, {
+               .key    = "\x4C\x80\xCD\xEF\xBB\x5D\x10\xDA"
+                         "\x90\x6A\xC7\x3C\x36\x13\xA6\x34"
+                         "\x22\x43\x3C\x64",
+               .klen   = 20,
+               .iv     = "\x48\x55\xEC\x7D\x3A\x23\x4B\xFD",
+               .result = "\x08\x00\xC6\xCD\x02\x00\x07\x00"
+                         "\x61\x62\x63\x64\x65\x66\x67\x68"
+                         "\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70"
+                         "\x71\x72\x73\x74\x01\x02\x02\x01",
+               .rlen   = 32,
+               .assoc  = "\x00\x00\x43\x21\x87\x65\x43\x21"
+                         "\x00\x00\x00\x07",
+               .alen   = 12,
+               .input  = "\x74\x75\x2E\x8A\xEB\x5D\x87\x3C"
+                         "\xD7\xC0\xF4\xAC\xC3\x6C\x4B\xFF"
+                         "\x84\xB7\xD7\xB9\x8F\x0C\xA8\xB6"
+                         "\xAC\xDA\x68\x94\xBC\x61\x90\x69"
+                         "\xEF\x9C\xBC\x28\xFE\x1B\x56\xA7"
+                         "\xC4\xE0\xD5\x8C\x86\xCD\x2B\xC0",
+               .ilen   = 48,
        }
 };