shithub: mc

Download patch

ref: 47faa09b2507bdfb2e3dd983f9aeb1ab54b2f2ef
parent: 601f0b7368ff5970f7e2cdeb88d339586c857cf8
parent: fd036db6e4ce777897bccd90daa813c119ecb326
author: S. Gilles <sgilles@math.umd.edu>
date: Sun May 13 02:46:40 EDT 2018

Merge remote-tracking branch 'ori/libmath-merge' into libmath

--- a/6/blob.c
+++ b/6/blob.c
@@ -205,7 +205,7 @@
 		sz = tysize(tybase(exprtype(base))->sub[0]);
 		lbl = htget(globls, base);
 		slbase = mkblobref(lbl, loval*sz, 1);
-	} else if (exprop(base) == Olit) {
+	} else if (exprop(base) == Olit || exprop(base) == Oarr) {
 		slbase = mkblobi(Bti64, getintlit(base, "invalid base expr"));
 	} else {
 		fatal(base, "slice base is not a constant value");
--- a/6/gengas.c
+++ b/6/gengas.c
@@ -247,7 +247,7 @@
 
 	switch (asmsyntax) {
 	case Gnugaself:
-		fprintf(fd, ".section .text.%s,\"ax\",@progbits\n", fn->name);
+		//fprintf(fd, ".section .text.%s,\"ax\",@progbits\n", fn->name);
 		fprintf(fd, ".type %s, @function\n", fn->name);
 		break;
 	case Gnugasmacho:
@@ -428,7 +428,7 @@
 		writeblob(fd, b);
 		blobfree(b);
 	} else {
-		fprintf(fd, ".comm %s,%zd,5\n", lbl, size(blob));
+		fprintf(fd, ".comm %s,%zd\n", lbl, size(blob));
 	}
 }
 
--- a/6/simp.c
+++ b/6/simp.c
@@ -1479,6 +1479,7 @@
 	switch (exprop(e)) {
 	case Oslice:
 		sub = e->expr.args[0];
+		extractsub(s, sub);
 		if (exprop(sub) == Oarr) {
 			if (sub->expr.nargs > 0) {
 				e->expr.args[0] = simpblob(s, e->expr.args[0]);
--- a/genbootstrap.sh
+++ b/genbootstrap.sh
@@ -18,6 +18,22 @@
 cp obj/mbld/mbld xmbld
 ./xmbld -o '' clean
 
+tags(){
+	case `uname` in
+	*Linux*)	echo -Tposixy -Tlinux;;
+	*Darwin*)	echo -Tposixy -Tosx;;
+	*FreeBSD*)	echo -Tposixy -Tfreebsd;;
+	*NetBSD*)	echo -Tposixy -Tnetbsd;;
+	*OpenBSD*)	echo -Tposixy -Topenbsd:6.2;;
+	*Plan9*)	echo -Tplan9;;
+	esac
+	case `uname -m` in
+	*amd64*)	echo -Tx64	;;
+	*x86_64*)	echo -Tx64	;;
+	esac
+}
+
+
 bootscript=mk/bootstrap/bootstrap+`uname -s`-`uname -m`.sh
 echo '#!/bin/sh' > $bootscript
 echo '# This script is generated by genbootstrap.sh' >> $bootscript
@@ -27,7 +43,7 @@
 echo 'set -x' >> $bootscript
 # mbld needs to be run without an output dir so we dont
 # run into mkdir issues.
-./xmbld -o '' -j1 -Bnone mbld:mbld | \
+./xmbld -o '' -j1 -Bnone mbld:mbld `tags` | \
     grep '^	' | \
     sed "s:`pwd`:\$pwd:g" | \
     tee -a $bootscript
--- /dev/null
+++ b/lib/crypto/aesgcm.myr
@@ -1,0 +1,219 @@
+use std
+
+use "aes"
+use "ct"
+
+pkg crypto =
+	type aesgcmctx = struct
+		aes	: aesctx
+		ctr	: byte[16]
+		j0	: byte[16]
+		/* FIXME: constant time gfmul needed here. */
+		M	: uint32[4][256][16]
+		H	: uint32[4]
+	;;
+	const aesgcminit	: (c : aesgcmctx#, key : byte[:], iv : byte[:] -> void)
+	const aesgcmfin		: (c : aesgcmctx# -> void)
+	const aesgcmencrypt	: (c : aesgcmctx#, buf : byte[:], aad : byte[:], tag : byte[:] -> void)
+	const aesgcmdecrypt	: (c : aesgcmctx#, buf : byte[:], aad : byte[:], tag : byte[:] -> bool)
+;;
+
+const aesgcminit = {c, key, iv
+	var X, L, Y, b : byte[16]
+
+	/* Set up H for ghash */
+	std.slfill(b[:], 0)
+	aeskeysched(&c.aes, key)
+	aesencrypt(&c.aes, b[:], b[:])
+	load128(b[:], c.H[:])
+
+	/* Init M table. TODO: constant time gfmul */
+	for var i=0; i < 16; i++
+		for var j=0; j < 256; j++
+			X = [0, 0, 0, 0]
+			X[i>>2] = j<<((i&3)<<3)
+			gfmul(X, c.H[:], c.M[i][j][:])
+		;;
+	;;
+
+	/* Set up iv */
+	if iv.len == (96/8)
+		std.slcp(c.ctr[:96/8], iv)
+		std.slfill(c.ctr[96/8:], 0)
+		inc(c)
+	else
+		L = [0,0,0,0]
+		Y = [0,0,0,0]
+		ghash(c, iv, Y[:])
+		L[0] = (iv.len << 3 : uint32)
+		L[1] = (iv.len >> 29 : uint32)
+		L[2] = 0
+		L[3] = 0
+		ghash1(c, L[:], Y[:])
+		store128(Y[:], c.ctr[:])
+	;;
+
+	/* set up J0 */
+	aesencrypt(&c.aes, c.ctr[:], c.j0[:])
+}
+
+const aesgcmfin = {c
+	std.slfill(c.ctr[:], 0)
+}
+
+const aesgcmencrypt = {c, buf, aad, tag
+	var L, Y
+
+	L = [0,0,0,0]
+	Y = [0,0,0,0]
+	ghash(c, aad, Y[:])
+	aesctr(c, buf)
+	ghash(c, buf, Y[:])
+	L[0] = buf.len << 3
+	L[1] = buf.len >> 29
+	L[2] = aad.len << 3
+	L[3] = aad.len >> 29
+	ghash1(c, L[:], Y[:])
+	store128(Y[:], tag)
+	for var i = 0; i < 16; i++
+		tag[i] ^= c.j0[i]
+	;;
+}
+
+const aesgcmdecrypt = {c, buf, aad, tag
+	-> false
+}
+
+const ghash = {c, buf, Y
+	var tmp : byte[16]
+	var X : uint32[4]
+	var len, off
+
+	len = buf.len
+	off = 0
+	while len >= 16
+		load128(buf[off:off+16], X[:])
+		ghash1(c, X[:], Y[:])
+		off += 16
+		len -= 16
+	;;
+	if len > 0
+		std.slcp(tmp[:len], buf[off:off+len])
+		std.slfill(tmp[len:], 0)
+		load128(tmp[:], X[:])
+		ghash1(c, X[:], Y[:])
+	;;
+}
+
+const ghash1 = {c, X, Y
+	var Xi
+
+	X[0] ^= Y[0]
+	X[1] ^= Y[1]
+	X[2] ^= Y[2]
+	X[3] ^= Y[3]
+	Y[0] = 0
+	Y[1] = 0
+	Y[2] = 0
+	Y[3] = 0
+	for var i=0; i<16; i++
+		Xi = c.M[i][(X[i>>2]>>((i&3)<<3))&0xFF];
+		Y[0] ^= Xi[0];
+		Y[1] ^= Xi[1];
+		Y[2] ^= Xi[2];
+		Y[3] ^= Xi[3];
+	;;
+}
+
+const aesctr = {c, buf
+	var tmp : byte[16]
+	var o, r
+
+	for var i = 0; i + 16 <= buf.len; i += 16
+		inc(c)
+		aesencrypt(&c.aes, c.ctr[:], tmp[:])
+		for var j = 0; j < 16; j++
+			buf[i+j] ^= tmp[j]
+		;;
+	;;
+
+	r = buf.len & 0xf
+	if r != 0
+		inc(c)
+		o = buf.len & ~0xf
+		aesencrypt(&c.aes, c.ctr[:], tmp[:])
+		for var i = 0; i < r; i++
+			buf[o++] ^= tmp[i]
+		;;
+	;;
+}
+
+const inc = {c
+	var ctr
+
+	ctr = std.getbe32(c.ctr[12:16]) + 1
+	std.putbe32(c.ctr[12:16], ctr)
+}
+
+const gfmul = {X, Y, Z
+	var m : int32, i : int32
+
+	Z[0] = 0
+	Z[1] = 0
+	Z[2] = 0
+	Z[3] = 0
+	for var i=127; i >= 0; i--
+		m = ((Y[i>>5]:int32) << (31-(i&31))) >> 31
+		Z[0] ^= X[0] & (m : uint32)
+		Z[1] ^= X[1] & (m : uint32)
+		Z[2] ^= X[2] & (m : uint32)
+		Z[3] ^= X[3] & (m : uint32)
+		m = ((X[0]:int32)<<31) >> 31
+		X[0] = X[0]>>1 | X[1]<<31
+		X[1] = X[1]>>1 | X[2]<<31
+		X[2] = X[2]>>1 | X[3]<<31
+		X[3] = X[3]>>1 ^ (0xE1000000 & m : uint32)
+	;;
+}
+
+const load128 = {b, B
+	B[0] = \
+		(b[15] : uint32) <<  0 | \
+		(b[14] : uint32) <<  8 | \
+		(b[13] : uint32) << 16 | \
+		(b[12] : uint32) << 24
+	B[1] = \
+		(b[11] : uint32) <<  0 | \
+		(b[10] : uint32) <<  8 | \
+		(b[ 9] : uint32) << 16 | \
+		(b[ 8] : uint32) << 24
+	B[2] = \
+		(b[ 7] : uint32) <<  0 | \
+		(b[ 6] : uint32) <<  8 | \
+		(b[ 5] : uint32) << 16 | \
+		(b[ 4] : uint32) << 24
+	B[3] = \
+		(b[ 3] : uint32) <<  0 | \
+		(b[ 2] : uint32) <<  8 | \
+		(b[ 1] : uint32) << 16 | \
+		(b[ 0] : uint32) << 24
+}
+
+const store128 = {B : uint32[:], b : byte[:]
+	b[15] = (B[0] >>  0 : byte)
+	b[14] = (B[0] >>  8 : byte)
+	b[13] = (B[0] >> 16 : byte)
+	b[12] = (B[0] >> 24 : byte)
+	b[11] = (B[1] >>  0 : byte)
+	b[10] = (B[1] >>  8 : byte)
+	b[ 9] = (B[1] >> 16 : byte)
+	b[ 8] = (B[1] >> 24 : byte)
+	b[ 7] = (B[2] >>  0 : byte)
+	b[ 6] = (B[2] >>  8 : byte)
+	b[ 5] = (B[2] >> 16 : byte)
+	b[ 4] = (B[2] >> 24 : byte)
+	b[ 3] = (B[3] >>  0 : byte)
+	b[ 2] = (B[3] >>  8 : byte)
+	b[ 1] = (B[3] >> 16 : byte)
+	b[ 0] = (B[3] >> 24 : byte)
+}
--- a/lib/crypto/bld.sub
+++ b/lib/crypto/bld.sub
@@ -15,6 +15,7 @@
 	# symmetric ciphers
 	chacha20.myr
 	aes.myr
+	aesgcm.myr
 
 	# public key ciphers
 	rsa.myr
--- /dev/null
+++ b/lib/crypto/test/aesgcm.myr
@@ -1,0 +1,10957 @@
+use std
+use iter
+use crypto
+use testr
+
+type testgroup = struct
+	name	: byte[:]
+	keylen	: std.size
+	ivlen	: std.size
+	ptlen	: std.size
+	aadlen	: std.size
+	taglen	: std.size
+	cases	: testcase[:]
+;;
+type testcase = struct
+	count	: uint32
+	iv	: byte[:]
+	key	: byte[:]
+	pt	: byte[:]
+	aad	: byte[:]
+	ct	: byte[:]
+	tag	: byte[:]
+;;
+
+const main = {
+	for g : iter.byref(testgroups)
+		testr.run([
+			[.name=g.name, .fn={ctx
+				for c : g.cases
+					test(ctx, g, c)
+				;;
+			}]
+		][:])
+	;;
+}
+
+const test = {tc, g, c
+	var tag : byte[16]
+	var ctx, iv, key
+	var pt, aad//, ct
+	var ect, etag	/* expected */ 
+
+	key = unhex(c.key)
+	aad = unhex(c.aad)
+	iv = unhex(c.iv)
+	pt = unhex(c.pt)
+	ect = unhex(c.ct)
+	etag = unhex(c.tag)
+	/* a tad hacky, but we need to set the count somehow. */
+	std.putle32(ctx.ctr[12:16], c.count + 1)
+
+	crypto.aesgcminit(&ctx, key, iv)
+	crypto.aesgcmencrypt(&ctx, pt, aad, tag[:])
+	crypto.aesgcmfin(&ctx)
+
+	testr.eq(tc, pt, ect)
+	testr.eq(tc, tag[:], etag)
+
+	std.slfree(key)
+	std.slfree(aad)
+	std.slfree(iv)
+	std.slfree(pt)
+	std.slfree(ect)
+}
+
+const unhex = {s
+	var bb, o
+
+	o = 0
+	bb = std.slalloc(s.len / 2)
+	for c : iter.bychunk(s, 2)
+		bb[o++] = \
+			std.charval((c[0] : char), 16)*16 + \
+			std.charval((c[1] : char), 16)
+	;;
+	-> bb
+}
+
+
+/* 10,000 lines of test data. No code of interest lives below here */
+const testgroups : testgroup[:] = [
+	[
+		.name="aesgcm-iv96-pt0-aad0-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=0,
+		.aadlen=0,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "11754cd72aec309bf52f7687212e8957",
+				.iv = "3c819d9a9bed087615030b65",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "250327c674aaf477aef2675748cf6971",
+			],
+			[
+				.count = 1,
+				.key = "ca47248ac0b6f8372a97ac43508308ed",
+				.iv = "ffd2b598feabc9019262d2be",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "60d20404af527d248d893ae495707d1a",
+			],
+			[
+				.count = 2,
+				.key = "db1ad0bd1cf6db0b5d86efdd8914b218",
+				.iv = "36fad6acb3c98e0138aeb9b1",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "5ee2ba737d3f2a944b335a81f6653cce",
+			],
+			[
+				.count = 3,
+				.key = "1c7135af627c04c32957f33f9ac08590",
+				.iv = "355c094fa09c8e9281178d34",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "b6ab2c7d906c9d9ec4c1498d2cbb5029",
+			],
+			[
+				.count = 4,
+				.key = "6ca2c11205a6e55ab504dbf3491f8bdc",
+				.iv = "b1008b650a2fee642175c60d",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "7a9a225d5f9a0ebfe0e69f371871a672",
+			],
+			[
+				.count = 5,
+				.key = "69f2ca78bb5690acc6587302628828d5",
+				.iv = "701da282cb6b6018dabd00d3",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "ab1d40dda1798d56687892e2159decfd",
+			],
+			[
+				.count = 6,
+				.key = "dcf4e339c487b6797aaca931725f7bbd",
+				.iv = "2c1d955e35366760ead8817c",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "32b542c5f344cceceb460a02938d6b0c",
+			],
+			[
+				.count = 7,
+				.key = "7658cdbb81572a23a78ee4596f844ee9",
+				.iv = "1c3baae9b9065961842cbe52",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "70c7123fc819aa060ed2d3c159b6ea41",
+			],
+			[
+				.count = 8,
+				.key = "281a570b1e8f265ee09303ecae0cc46d",
+				.iv = "8c2941f73cf8713ad5bc13df",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "a42e5e5f6fb00a9f1206b302edbfd87c",
+			],
+			[
+				.count = 9,
+				.key = "cd332a986f82d98c215278131ad387b7",
+				.iv = "1d12b259f44b873d3942bc11",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "34238023648185d7ef0cfcf5836e93cc",
+			],
+			[
+				.count = 10,
+				.key = "80e1d98d10b27237386f029189ec0448",
+				.iv = "239ebab2f524fd62c554a190",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "4c0f29d963f0ed68dccf34496cf43d00",
+			],
+			[
+				.count = 11,
+				.key = "40650cdb61e3e19a1a98fb4e05377d35",
+				.iv = "69f0a81aaf6bb8486282f1b9",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "2657e12dec21c3ecf071af6179529fb4",
+			],
+			[
+				.count = 12,
+				.key = "1e89a6cd7528cce1e2b2b5f7fd2b6b52",
+				.iv = "e11fd427a782d543f78efc60",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "eeedff874c8edeea53e8be2a13afd81b",
+			],
+			[
+				.count = 13,
+				.key = "2a7ad6146676057db777dea4683d0d45",
+				.iv = "ed721ea67456d4594aafbd51",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "ee3cab5778888439d90fa718b75738ad",
+			],
+			[
+				.count = 14,
+				.key = "a364f494a4cd0147c34731074dc1a85b",
+				.iv = "4aa8470dd404e4054b30093a",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "d8a7bba3a451902e3adc01060c3c91a7",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt0-aad128-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=0,
+		.aadlen=128,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "77be63708971c4e240d1cb79e8d77feb",
+				.iv = "e0e00f19fed7ba0136a797f3",
+				.pt = "",
+				.aad = "7a43ec1d9c0a5a78a0b16533a6213cab",
+				.ct = "",
+				.tag = "209fcc8d3675ed938e9c7166709dd946",
+			],
+			[
+				.count = 1,
+				.key = "7680c5d3ca6154758e510f4d25b98820",
+				.iv = "f8f105f9c3df4965780321f8",
+				.pt = "",
+				.aad = "c94c410194c765e3dcc7964379758ed3",
+				.ct = "",
+				.tag = "94dca8edfcf90bb74b153c8d48a17930",
+			],
+			[
+				.count = 2,
+				.key = "a82bb1edc7c01a3689006f34bfed783e",
+				.iv = "963836b67b188becf9ba1411",
+				.pt = "",
+				.aad = "9d115bb9bbd119fb777b6316065a9ac8",
+				.ct = "",
+				.tag = "c491889fa3eca4544ba0d51b8e0f3837",
+			],
+			[
+				.count = 3,
+				.key = "b9782d0a5986c63f352d3bc4c7ecc96d",
+				.iv = "4541e15b92edea44eceb1f2a",
+				.pt = "",
+				.aad = "f1a9f0723429c5b26185ac3ea7e13d7a",
+				.ct = "",
+				.tag = "74d0d36949f0276670f9ddc579e94f3a",
+			],
+			[
+				.count = 4,
+				.key = "59b95785b30f205679fc4f3f9a90102f",
+				.iv = "1908787cc1e1880a6ef5dd17",
+				.pt = "",
+				.aad = "39852d3182944a5177db277b63910702",
+				.ct = "",
+				.tag = "8f9a96c013992485b43e2b62745ad173",
+			],
+			[
+				.count = 5,
+				.key = "34dd7926ab13d4078160d87de2e3c724",
+				.iv = "c11ccdaf798ab03af2d97ef9",
+				.pt = "",
+				.aad = "af698717a6d790b3bfc39195857bb5ff",
+				.ct = "",
+				.tag = "48116050bbd9118270d0be252d29d5d4",
+			],
+			[
+				.count = 6,
+				.key = "8ec86fab55aaab0e77455e9cd3dbc78e",
+				.iv = "15fd90a9867e14f0d63b53b9",
+				.pt = "",
+				.aad = "e7509e276209a6d3ecfabb53ccdcd236",
+				.ct = "",
+				.tag = "d96d6ac0d309cebedeba2af9f262132f",
+			],
+			[
+				.count = 7,
+				.key = "66b2473d9e0121666d47633f7008eb1c",
+				.iv = "c1716c68a24d57770b867e51",
+				.pt = "",
+				.aad = "c20f686317d67e53dd79bae5c46dc111",
+				.ct = "",
+				.tag = "9a08616809cf15247dfeb9756ba4f609",
+			],
+			[
+				.count = 8,
+				.key = "5b262a9d00904d30a2587caade091381",
+				.iv = "f7bc154ca562e8f2c1845598",
+				.pt = "",
+				.aad = "23112d078c9914fa3dfe5218cd191016",
+				.ct = "",
+				.tag = "98854d193a06dbe32ce4497eec5c9a8b",
+			],
+			[
+				.count = 9,
+				.key = "2e4fb9cc320188a6f1fa89a7a252273a",
+				.iv = "7a6d4ee69c7256c14fba8f5e",
+				.pt = "",
+				.aad = "80ba4a202a68c3590d6557912c6f878e",
+				.ct = "",
+				.tag = "9280313273befb8afa0bceca5a966d85",
+			],
+			[
+				.count = 10,
+				.key = "5ea94973d8616dafa7f31db0716d1729",
+				.iv = "a05b62669d250e61b077d28a",
+				.pt = "",
+				.aad = "9620baf2f58d013f8a4c4871989c1b17",
+				.ct = "",
+				.tag = "7e550398dee728256d6928cdaac43b73",
+			],
+			[
+				.count = 11,
+				.key = "910385f6f07f9e57e483c47dd5206bcc",
+				.iv = "518f56e33658df311d42d9fe",
+				.pt = "",
+				.aad = "5d157909a2a4607117e77da0e4493b88",
+				.ct = "",
+				.tag = "a7041ea4a1d74d9e66b9571b59b6a1d8",
+			],
+			[
+				.count = 12,
+				.key = "cab3af7a15b430e034e793bb30db8ab2",
+				.iv = "963a56e2e12f387062e18498",
+				.pt = "",
+				.aad = "a094a1dd1121d3aa52c81e8f10bf9f0c",
+				.ct = "",
+				.tag = "1a31d295601eb3c82a54b234984ffdf5",
+			],
+			[
+				.count = 13,
+				.key = "89c949e9c804af014d5604b39459f2c8",
+				.iv = "d1b104c815bf1e94e28c8f16",
+				.pt = "",
+				.aad = "82adcd638d3fa9d9f3e84100d61e0777",
+				.ct = "",
+				.tag = "88db9d62172ed043aa10f16d227dc41b",
+			],
+			[
+				.count = 14,
+				.key = "a4d994c4ac5ac0f02913245714fbe235",
+				.iv = "a9472dadcca8d7e0e3b8084d",
+				.pt = "",
+				.aad = "eb318b9e17575203dd29ebed20ec82f9",
+				.ct = "",
+				.tag = "323df7f33694106f56739de0973216a3",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt0-aad160-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=0,
+		.aadlen=160,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "2fb45e5b8f993a2bfebc4b15b533e0b4",
+				.iv = "5b05755f984d2b90f94b8027",
+				.pt = "",
+				.aad = "e85491b2202caf1d7dce03b97e09331c32473941",
+				.ct = "",
+				.tag = "c75b7832b2a2d9bd827412b6ef5769db",
+			],
+			[
+				.count = 1,
+				.key = "952117048f77e276c2ef6580537c1403",
+				.iv = "070b8fb46a7ad52885be1b26",
+				.pt = "",
+				.aad = "34b088f982818b5f07dabe2b62f9547f4ed09912",
+				.ct = "",
+				.tag = "bedd4cf30fd7a4abc49bdcc3f3b248b1",
+			],
+			[
+				.count = 2,
+				.key = "7f6453b39bde018560a16a2704217543",
+				.iv = "0f3eecf48d68353226a77fe4",
+				.pt = "",
+				.aad = "11e4ecb256ebff56453fa2e75e43eb9d641049e6",
+				.ct = "",
+				.tag = "b512623a12d5492b7d76d39be0df5777",
+			],
+			[
+				.count = 3,
+				.key = "9332e433bf6100c6cc23b08710627c40",
+				.iv = "aab3db3015b29d24f329beb4",
+				.pt = "",
+				.aad = "bd843a08f0a822f8f4f76c3648380aab7622e719",
+				.ct = "",
+				.tag = "e54f1d18c61d8be15484727605b5a5dc",
+			],
+			[
+				.count = 4,
+				.key = "5773750a493096a99d84c0563fc293e9",
+				.iv = "c390ed70dc9497234413ad52",
+				.pt = "",
+				.aad = "6012517258716c1f0035efa60a0f36b5c65e7379",
+				.ct = "",
+				.tag = "b011b264610e58082705476f040b8c86",
+			],
+			[
+				.count = 5,
+				.key = "41b0d0fce5d31359cfd5db4064e2d46b",
+				.iv = "b903e9d0cea25795a82e73e3",
+				.pt = "",
+				.aad = "4cba501876f33e1fda9cd456e3180683e3863bd9",
+				.ct = "",
+				.tag = "18bc39d0b95cf059cd8c25004f5e507c",
+			],
+			[
+				.count = 6,
+				.key = "4748b782e3fe5e4effeb7c67232d2b07",
+				.iv = "c5e4dcf18f86076b88a5d5e9",
+				.pt = "",
+				.aad = "3b2fcad8739ed87e1d02e80845f120e249ea92b1",
+				.ct = "",
+				.tag = "b8ae718e2879c9cb658d5d1122e69bb7",
+			],
+			[
+				.count = 7,
+				.key = "e30cc22077d5951216d07f37c51b58f9",
+				.iv = "fc583ad159b52e0b6378157e",
+				.pt = "",
+				.aad = "c3cb7be8888ef44ca5aa93dde26d2751288e1f5a",
+				.ct = "",
+				.tag = "a8ce25b5dc8f84e2f5dae5f085aaccd4",
+			],
+			[
+				.count = 8,
+				.key = "7c8b10ba75ee6ab4a997d3f598b79d40",
+				.iv = "6fb55188ddf00dde09596587",
+				.pt = "",
+				.aad = "2ddc0acf9705f8d18f905b8f9d472e7dbf6b91e3",
+				.ct = "",
+				.tag = "5791d3805109c5e18adff4e80906a018",
+			],
+			[
+				.count = 9,
+				.key = "72c7db6ca29f83641c3fff5b71c4bc30",
+				.iv = "f2000742e249ac56d5b2f65f",
+				.pt = "",
+				.aad = "cd994d2d08232770927d854ef2b6ca2f087370cf",
+				.ct = "",
+				.tag = "a5966df39feeba0336f0b9a3f4ffe6c3",
+			],
+			[
+				.count = 10,
+				.key = "2833cc10195030e4a1155532666cb049",
+				.iv = "ad802b9a5c9409fa3e7dcfcc",
+				.pt = "",
+				.aad = "b3ecbea2797d006c07b8ce621be3b0eccd37c3ec",
+				.ct = "",
+				.tag = "81deab8bdee0d391495eed4029a6d205",
+			],
+			[
+				.count = 11,
+				.key = "d8985bb5ac0258adad86660ebbc6d19f",
+				.iv = "b5ee26f8c463bbfc27115b0a",
+				.pt = "",
+				.aad = "613f51f832fbf434b8e3fe9454ae46a862d831f0",
+				.ct = "",
+				.tag = "fe9f0b1bdc68dee6e8dc2ce12665d336",
+			],
+			[
+				.count = 12,
+				.key = "9b8f6924dc22f1073c1a38448a2f0447",
+				.iv = "09cdabf87d82828eca1c0c7f",
+				.pt = "",
+				.aad = "69210e4e0a1cfd5038756652790b9a8cfbbd943d",
+				.ct = "",
+				.tag = "a60c104a6fb4638427a88a86c04923bd",
+			],
+			[
+				.count = 13,
+				.key = "72132213d5d95309bf7e10f8318d7c20",
+				.iv = "fb90bf283c5411230355d7a1",
+				.pt = "",
+				.aad = "a30bb17c8089c6f5f61b250a94cbbbfdf5f2a3e6",
+				.ct = "",
+				.tag = "09191af418949fe6be8dbf13e006527a",
+			],
+			[
+				.count = 14,
+				.key = "652ffbad4e1fcbe75564395e6c1c3924",
+				.iv = "111349636d106fd5f6a1e088",
+				.pt = "",
+				.aad = "5f52aa85dc3ac042647e32ada050d67e59b519aa",
+				.ct = "",
+				.tag = "28d980d7bfd878c227c140de3482765b",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt0-aad384-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=0,
+		.aadlen=384,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "99e3e8793e686e571d8285c564f75e2b",
+				.iv = "c2dd0ab868da6aa8ad9c0d23",
+				.pt = "",
+				.aad = "b668e42d4e444ca8b23cfdd95a9fedd5178aa521144890b093733cf5cf22526c5917ee476541809ac6867a8c399309fc",
+				.ct = "",
+				.tag = "3f4fba100eaf1f34b0baadaae9995d85",
+			],
+			[
+				.count = 1,
+				.key = "f8e29efd00a423c4ea9456863f83c54f",
+				.iv = "2d3cf67cbce69d639bd1c092",
+				.pt = "",
+				.aad = "02c70fc8a2544619c1c3e9fce6b3c6c3bc24643e0f140e6b48ac505ea666cd9a2010c3a8e2f5f10437887fe803b54db3",
+				.ct = "",
+				.tag = "963cb50aca3e09dd0d9a013c8734155f",
+			],
+			[
+				.count = 2,
+				.key = "00e3491dfcf3bec39c89ccfd80a5a896",
+				.iv = "29f6ff4edc4ac3e97ffb1680",
+				.pt = "",
+				.aad = "73813351b39f5e4000a9ee8d2b85f131634acaede0dd25d691a2b829ad4fe9ea699f12242519847cb083b0b4d3d8b3bc",
+				.ct = "",
+				.tag = "01b2e9ba719ad77c753b364ecc5aabeb",
+			],
+			[
+				.count = 3,
+				.key = "0ad06f4c19af1d5f602b38f86e56291c",
+				.iv = "0b235c6a75cecdfcba9001ce",
+				.pt = "",
+				.aad = "7d4f26f7895b2ef3da2e4f93e411cdb74025c7759c038d872344a45ce56d92a581862c3bace039090a2ccfa43b623dcb",
+				.ct = "",
+				.tag = "b4bc9ce1475d0c93dfd5a5d8d45bd8e5",
+			],
+			[
+				.count = 4,
+				.key = "eeeb33e0c8a406ea236a075cdbe9d6f9",
+				.iv = "b935e8eed66227836ede189a",
+				.pt = "",
+				.aad = "9a4291acb9924bba4241b0c9c3c2e1262b25a7c7f02c92adeadf92254d618ab59388aa30b47eafa58899c357cf281e31",
+				.ct = "",
+				.tag = "143d6954eb6fe70aff70da978ccd4509",
+			],
+			[
+				.count = 5,
+				.key = "600b5442a0b550a38f85d2fb0acc9c96",
+				.iv = "5e65dd6e8b20d6b2931fe6c2",
+				.pt = "",
+				.aad = "461e54a092f8392466849fb0370ae30c14c1bf3987ab2ebbe98e18d13f041d09d043f7aea78bfcc42f864a9fb40f0031",
+				.ct = "",
+				.tag = "2cd626f9a0686300cf23c0bc597c63b4",
+			],
+			[
+				.count = 6,
+				.key = "ce8d1103100fa290f953fbb439efdee4",
+				.iv = "4874c6f8082366fc7e49b933",
+				.pt = "",
+				.aad = "d69d033c32029789263c689e11ff7e9e8eefc48ddbc4e10eeae1c9edbb44f04e7cc6471501eadda3940ab433d0a8c210",
+				.ct = "",
+				.tag = "a5964b77af0b8aecd844d6adec8b7b1c",
+			],
+			[
+				.count = 7,
+				.key = "ae7114c09ffa04298834412f6a8de453",
+				.iv = "f380c2d860be2af41e1be5c6",
+				.pt = "",
+				.aad = "7e16082f689c63e8adddd5cb2da610bbfb88d073cf8b204384a937aab0376523a50d3d5f1392978f79609f12df8fc288",
+				.ct = "",
+				.tag = "40d3a36358a6f6caaa6af92cfd874a22",
+			],
+			[
+				.count = 8,
+				.key = "d8f520b6f3cf6b835ce4cce48f4cb033",
+				.iv = "019a55c98615c022afff9644",
+				.pt = "",
+				.aad = "c3fb518ddb2d73417e243359a0ed8c126750eb163e7bd845637159397075e3db1db72fe2f0e13b599c333c473feb2245",
+				.ct = "",
+				.tag = "467cfad5af11852d6eca289c86f967ad",
+			],
+			[
+				.count = 9,
+				.key = "13ba95606b01af035bf961e39852e34b",
+				.iv = "9ec9cf3b002cfed9e761934f",
+				.pt = "",
+				.aad = "bb9de563836d1f1b1de964514ecebb8ad10501db562280b7bd98804814735817908b2856cafadecd40b04832fbde2bfb",
+				.ct = "",
+				.tag = "172a3bcbc5001dfd3815175a88f7056c",
+			],
+			[
+				.count = 10,
+				.key = "1c97da5fc5a9640f289622842408cba2",
+				.iv = "6d765a988e934588163e29b7",
+				.pt = "",
+				.aad = "1026a590816d2e1aa67aa0d13d50a8413af4d8ee9b1fa5ceb8deacc9f41e8e764b3ac15f98295e8800adf6a7175448cd",
+				.ct = "",
+				.tag = "4945a79d5edbb934c5cf94395c359deb",
+			],
+			[
+				.count = 11,
+				.key = "8dd46f271a201cc21ca0823248157e6b",
+				.iv = "1821b310ce2dba999cdf7576",
+				.pt = "",
+				.aad = "34ba409997ceba065f4a5457078a9e232a84f594011aecfdbfbd24a802ca129e01cb1327e265b4a9004fb4c5003fffd3",
+				.ct = "",
+				.tag = "304cc2cd2fcdd4abc844bc9c1cbe0241",
+			],
+			[
+				.count = 12,
+				.key = "0c545d95333b6acf8b2928f3efd083de",
+				.iv = "31de89d07e7577956fa95ef3",
+				.pt = "",
+				.aad = "5574d65f5afffb2d31cca8f58cf5945b83553cd45d2dba0e05fa54e42aa3f5a051e1624de16d4b93cbab7988c6d95f8c",
+				.ct = "",
+				.tag = "4ed91cfe90a49900e0565697bc82b659",
+			],
+			[
+				.count = 13,
+				.key = "790b39f301383a82b377f585d3bf0f26",
+				.iv = "2fd9c142b5fc62e87efff1fd",
+				.pt = "",
+				.aad = "45634e0afc59ae9f6e30f7f5fe43cf5a4e1f78d0aebb9e5a7ad9d86f25278e521f4845d49d6cb533cac6439839647fd0",
+				.ct = "",
+				.tag = "69637c3f9233da23f8df7b09e8cfb252",
+			],
+			[
+				.count = 14,
+				.key = "8f63652632d07b2a4a83c26dedd32657",
+				.iv = "747bee0e1d462a9016f1468d",
+				.pt = "",
+				.aad = "9c00ff969b55a497dc523fa0cedaa339dc3c6ce18e61c7bf800c361201351bc49728c3bb15067e906162ee791b8d333a",
+				.ct = "",
+				.tag = "bd5a0cbf859a6133a7f2d504d97cae05",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt0-aad720-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=0,
+		.aadlen=720,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "20b5b6b854e187b058a84d57bc1538b6",
+				.iv = "94c1935afc061cbf254b936f",
+				.pt = "",
+				.aad = "ca418e71dbf810038174eaa3719b3fcb80531c7110ad9192d105eeaafa15b819ac005668752b344ed1b22faf77048baf03dbddb3b47d6b00e95c4f005e0cc9b7627ccafd3f21b3312aa8d91d3fa0893fe5bff7d44ca46f23afe0",
+				.ct = "",
+				.tag = "b37286ebaf4a54e0ffc2a1deafc9f6db",
+			],
+			[
+				.count = 1,
+				.key = "7aa53188a9c597126a10d248603ebb62",
+				.iv = "aa45ca5dac41a825c45d36bf",
+				.pt = "",
+				.aad = "417fd5147d56de0c74329597824ec2788a344fb60b403edf0187afa12e72a05009bb70f83ccad11efa487c1965cf84feac067c1ffdbf531fca97c554f875c4a1a1d3ab3c53c8a74ef3ee9415a87e231699c82d764debeda18132",
+				.ct = "",
+				.tag = "997bf84654bb9616c0cc9b45f82c7673",
+			],
+			[
+				.count = 2,
+				.key = "72b5848ed1d2badbd427e16fc3b3e44d",
+				.iv = "a84c7e928dc6e6379a513a20",
+				.pt = "",
+				.aad = "1c0dfcecbd7bb0e680ce042d08b2d9a741267bd1da768df2ba08379233a9973f14928e9da6353768b9b2601c033fd964b16a16daaa3ea35ad7cef7e31eb1f7340aa34e8bfc08b0a6e6205292570ced43316876d0d499d9192e6b",
+				.ct = "",
+				.tag = "270cd786b95e6820cdb65a231b7530ed",
+			],
+			[
+				.count = 3,
+				.key = "6d0512ebf2e73d63f42849c57f073fd0",
+				.iv = "c1c46927c74c03f19342c33a",
+				.pt = "",
+				.aad = "28bf8903b2dfb7e69f1a735121c7efe9a4c42b6a295327bceb0246c85d782ce62bf075dbdf6e8ec6589c26d30696ccceef03870bd0abfd26d30600eafc65613740b54d777d379e8aacf241ecfba11b060186ac065db171aab099",
+				.ct = "",
+				.tag = "a686f5941ceb510e126a6316e3404dc0",
+			],
+			[
+				.count = 4,
+				.key = "6438bc79520def5db58e49639774687a",
+				.iv = "d682b47418ceb5bc09c713c2",
+				.pt = "",
+				.aad = "d252b164ae559ed155c8417b96652529df151f24ccf1ce98d0c7ddf293f4f1236630a19b24dc23978d3377a099065d0ba71d4bb8a7dc0cb76760ca7c4a0e12c8cb56c6102646323c08c4f4f56226fd5b71a84590913ad20da287",
+				.ct = "",
+				.tag = "04e78796dbf42e9ffa6bb9e346581f13",
+			],
+			[
+				.count = 5,
+				.key = "117a0aa592fff17ae36c94917db16c65",
+				.iv = "c3537be6029d54ffefab2730",
+				.pt = "",
+				.aad = "29e959b96817547ae06bf85fe164e82a2693f82a7aeb66d535f0d2c3bffd1ba18e94ef457939f0c0733eda4738d136380fc876075c4943220237a5929b01b32da2bc2a6afd6ae1d89fd470093835962ff6708bb39ba365202f56",
+				.ct = "",
+				.tag = "b87fcc4d5c484e68ea52c01b55ffa438",
+			],
+			[
+				.count = 6,
+				.key = "5d995a338ed60f8ab0b59da6c9a40c52",
+				.iv = "2723c54e31c5c57f0236e816",
+				.pt = "",
+				.aad = "239c80683feb6afd38f8759a27cb5f350fbc2f757838c40858c9d08f699cc56c4236f4a77bd80df0e8e41d5f9ba732db2e0a3a5e952ede7bfdd5fcbebd23d07271134db5b82461537c47e2ca51b348b0830f5ee575ad4b4414dc",
+				.ct = "",
+				.tag = "94356a3bfaf07f2ef0ebe3a507076b16",
+			],
+			[
+				.count = 7,
+				.key = "c8a863a1ebaf10c0fc0e80df12444e6e",
+				.iv = "c3e8cdf086827fee7095d0ea",
+				.pt = "",
+				.aad = "9927da88c5d336256699c76845e946dc53c87bf0e11e4bec9450981602b32010d2b52bfc91283a6329d455598998ede2e61e352e553110154b4da5ce668d664b83f671c010bf220b7d32b34f4ca69b66cc87233d792337cb2bff",
+				.ct = "",
+				.tag = "098837de27707ea3593e31ceb8276732",
+			],
+			[
+				.count = 8,
+				.key = "69cc28b161f214a580e6ba4bc2e3de9d",
+				.iv = "f2a566f9cf83fd280c8fe08e",
+				.pt = "",
+				.aad = "f8c5263a4e06b49e184589a1e071978643c353aa27b4817fe39e45abc442e22ab5d683bcee5dbbd589fa583f171bb59536addd2b6cefd49823413005efb2a665e26a6029c927d3891cb0d4f23e8ccc60cfd02ce8978c451ddc11",
+				.ct = "",
+				.tag = "c9c806cb8b1a889809695c2ec5a7a86e",
+			],
+			[
+				.count = 9,
+				.key = "bbf35920fcab2cedaafdf3f00321f544",
+				.iv = "2c7ee3ff1df84f3650bc9298",
+				.pt = "",
+				.aad = "a75f50ba9a50f48799594b6195b3125ed92df73144bfcb624ce67323d834ba1afaf0df4c6c022c11d48bd75c86675a5927ac1250030f720f97498d4fe0787bae655dc5537ac1bcac198a893f9af7c2ef9b971dd64f7e7b62603e",
+				.ct = "",
+				.tag = "c7cd3f938f4ab18642d86234edfc17ed",
+			],
+			[
+				.count = 10,
+				.key = "9690de669702ba72aeb934f5ac50e03c",
+				.iv = "da8713fe2b2058c438aff260",
+				.pt = "",
+				.aad = "f30ee950da37c7224b5c93e9a29cafdbf8e2070f65c226244b1a683459e0c5c11c9b77c8fc286d4298a5b9cd1fee3e13d4690a88780d35b558b5d9e52b1a67fc8857076691dca7f5fe8ef22065cc5d9c003ffd25ebe23e61440e",
+				.ct = "",
+				.tag = "7f92914518ddbe842b06771f64c40f59",
+			],
+			[
+				.count = 11,
+				.key = "e5d8c6e2ac6935c85e81ee0ef723eacf",
+				.iv = "c73140ee90cc1dcf88457da2",
+				.pt = "",
+				.aad = "f6c267a6ae5ce3cf4bcdf59cfd1f777c66133e0ec4772785f33e5fa800d310b24b5773bc603a76b30fc32328a8e40f02f823a813a9e4b4fac726e992c183bd0815111c1d3a35884a4eff32027ba60dba679b469af31bc50c0591",
+				.ct = "",
+				.tag = "f938fd0d8c148d81765109df66dac9aa",
+			],
+			[
+				.count = 12,
+				.key = "e23458f6b304c2d8feb3dedd3741bc24",
+				.iv = "4619036b50ba012fe50be1d7",
+				.pt = "",
+				.aad = "74bfdc6bc4bfc38d666b985cfe043c67798b2db98f149268dba24436cab83e9a91f244ffc5748c93f8df339ae24ba4318c50da011ab368d3167c16e503309b01351a11f14d067cc6769b9989c7d952e3315011ee2ea034db8cb8",
+				.ct = "",
+				.tag = "6053ab80c746821ec50c97e5a1424a85",
+			],
+			[
+				.count = 13,
+				.key = "5372ac5d3b08d860919110bdeb7f31df",
+				.iv = "06ca979d8c250d9b7be45573",
+				.pt = "",
+				.aad = "e1f958834e63c75c8c758bafaa2f257ea5689d0d55b877b4d67b8b73c25ce24e9b094b976db920a159968da9d33c511aa8999aba42b8bb886e6545dd108693150af357496bb5898b4e8f725d50ef474afb836a3358da2217bb93",
+				.ct = "",
+				.tag = "9338e14fe0b08a969a104c828528a6a4",
+			],
+			[
+				.count = 14,
+				.key = "bf1cb49e980cec0b153fe3573875ac6c",
+				.iv = "5426669d25524036fbe81e89",
+				.pt = "",
+				.aad = "b336949766e9948a7e6f36a2d377b84a25c4b4988794f3deab7af4b14a12dac641e25fe2ae9ff53450ace1513acd0b284a490b455f04f40af94418c8792ec1a0983fb1d9a31d93dc3ed2c75e6a6ce092111eabad039bac2a49f6",
+				.ct = "",
+				.tag = "e2996a2b3b6bf52217cfc4d0f5bb351b",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt128-aad0-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=128,
+		.aadlen=0,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "7fddb57453c241d03efbed3ac44e371c",
+				.iv = "ee283a3fc75575e33efd4887",
+				.pt = "d5de42b461646c255c87bd2962d3b9a2",
+				.aad = "",
+				.ct = "2ccda4a5415cb91e135c2a0f78c9b2fd",
+				.tag = "b36d1df9b9d5e596f83e8b7f52971cb3",
+			],
+			[
+				.count = 1,
+				.key = "ab72c77b97cb5fe9a382d9fe81ffdbed",
+				.iv = "54cc7dc2c37ec006bcc6d1da",
+				.pt = "007c5e5b3e59df24a7c355584fc1518d",
+				.aad = "",
+				.ct = "0e1bde206a07a9c2c1b65300f8c64997",
+				.tag = "2b4401346697138c7a4891ee59867d0c",
+			],
+			[
+				.count = 2,
+				.key = "77b0a58a1e60541e5ea3d4d42007940e",
+				.iv = "ae7a27904d95fe800e83b345",
+				.pt = "6931a3ea07a9e95207334f0274a454dd",
+				.aad = "",
+				.ct = "76e39fad4000a07d35d879b785bd7fca",
+				.tag = "5cb3724712f129f86b7927f13b45c835",
+			],
+			[
+				.count = 3,
+				.key = "caaa3f6fd31822ed2d2125f225b0169f",
+				.iv = "7f6d9041483e8c1412fa552a",
+				.pt = "84c907b11ae3b79fc4451d1bf17f4a99",
+				.aad = "",
+				.ct = "fdb4aafa3519d3c055be8b347764ea33",
+				.tag = "89e43bfead01692c4ebe656586e3fbe3",
+			],
+			[
+				.count = 4,
+				.key = "02c8e81debc563e99cd262bfc64b0e11",
+				.iv = "b49057c9778d8c02fe00d029",
+				.pt = "ca2a51e9d05e96e6f1d14ced36811c5c",
+				.aad = "",
+				.ct = "5db602fb31bb9268d233bee0dd6b87ae",
+				.tag = "789d2be2cc70b7c389b31912e1c0a041",
+			],
+			[
+				.count = 5,
+				.key = "4e625a3edc61f0cb2f002da8f8a70245",
+				.iv = "66d632dd5ca10b08d4d8f97b",
+				.pt = "0b76d498add6e09c96d7694e5d620bd5",
+				.aad = "",
+				.ct = "17bdc7ef5649bec9cf6c565ce33cf889",
+				.tag = "3f7944bad062605f937ff6d6598a7651",
+			],
+			[
+				.count = 6,
+				.key = "41ab3fc488f8d4a820e65b9d41a87de3",
+				.iv = "9b5d27d75a0571e93f581885",
+				.pt = "5ed0836e0a52777599800d4fe754ccbe",
+				.aad = "",
+				.ct = "88c0eb8c33a10a22e7561866566b191f",
+				.tag = "83e885802a594a8b008a94aa7ef06907",
+			],
+			[
+				.count = 7,
+				.key = "0047184240a5948ed55701eac2c4c26c",
+				.iv = "a3ab8da22648c2453cdef55b",
+				.pt = "89ee9502871be15ee4a8c47ab123bfc9",
+				.aad = "",
+				.ct = "8b5cb59e7ad2e15c40d5fbcde28a0d17",
+				.tag = "538e79f880e2f65c72148f5ade4080a1",
+			],
+			[
+				.count = 8,
+				.key = "735c5a4ff2438852df3530c23590ac28",
+				.iv = "7bee7c6938f1ae59671e2ddb",
+				.pt = "479e8d3bf0de4ce7cd4377d2ed3925cd",
+				.aad = "",
+				.ct = "2ca09b58178fbbfb82556599b92329a3",
+				.tag = "2e3cf2895f111ec2a86508c36a24e45d",
+			],
+			[
+				.count = 9,
+				.key = "016dbb38daa76dfe7da384ebf1240364",
+				.iv = "0793ef3ada782f78c98affe3",
+				.pt = "4b34a9ec5763524b191d5616c547f6b7",
+				.aad = "",
+				.ct = "609aa3f4541bc0fe9931daad2ee15d0c",
+				.tag = "33afec59c45baf689a5e1b13ae423619",
+			],
+			[
+				.count = 10,
+				.key = "2d176607883aface75011d14818f1be6",
+				.iv = "02162c3635bf6d543e1cc148",
+				.pt = "71905ad5df601d056effd80dd7333662",
+				.aad = "",
+				.ct = "1b68598e1676d2cfd37aa00396fa9676",
+				.tag = "5d060aa8a729774da001aa9fdef2b3d2",
+			],
+			[
+				.count = 11,
+				.key = "94fd0269a0ce813133626f93c4af7e6f",
+				.iv = "11fc3928028dfa34db06a1bc",
+				.pt = "a1aefec976cd87cf8a4c21bbe902f7b4",
+				.aad = "",
+				.ct = "b1baf8c58cdec88238b1b0ab0b40337d",
+				.tag = "882f865df7da529f768d4944e8387f69",
+			],
+			[
+				.count = 12,
+				.key = "a7bec5e24f0db2629a257d02fdfaea02",
+				.iv = "9d2ec94b927327793583b818",
+				.pt = "a17bc5d428700f94c641e74aaacf2c5d",
+				.aad = "",
+				.ct = "d460fda5b24425b5caa8176c8c67b3a9",
+				.tag = "0df724340b8ca56e8dea6bbeb4b55c35",
+			],
+			[
+				.count = 13,
+				.key = "39d945a00e05d70a16e61334d2010209",
+				.iv = "1f931448e9013ec4ec61af0c",
+				.pt = "9dd90ebfc054da214cbb30db7f75c692",
+				.aad = "",
+				.ct = "e4cb765408697cf85917a7a9264086e4",
+				.tag = "fe9a1fe7a58d66e3b922693a163c1ff4",
+			],
+			[
+				.count = 14,
+				.key = "6620ca65f72de7b865de731928a4723e",
+				.iv = "e6428b6b77e9b6993b809aef",
+				.pt = "7044f7c27d776f6a7d43abea35908de4",
+				.aad = "",
+				.ct = "a1c5634a07d05ca909dba87bf02228e4",
+				.tag = "d8b40a60a65237337db05b045de8074c",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt128-aad128-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=128,
+		.aadlen=128,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "c939cc13397c1d37de6ae0e1cb7c423c",
+				.iv = "b3d8cc017cbb89b39e0f67e2",
+				.pt = "c3b3c41f113a31b73d9a5cd432103069",
+				.aad = "24825602bd12a984e0092d3e448eda5f",
+				.ct = "93fe7d9e9bfd10348a5606e5cafa7354",
+				.tag = "0032a1dc85f1c9786925a2e71d8272dd",
+			],
+			[
+				.count = 1,
+				.key = "599eb65e6b2a2a7fcc40e51c4f6e3257",
+				.iv = "d407301cfa29af8525981c17",
+				.pt = "a6c9e0f248f07a3046ece12125666921",
+				.aad = "10e72efe048648d40139477a2016f8ce",
+				.ct = "1be9359a543fd7ec3c4bc6f3c9395e89",
+				.tag = "e2e9c07d4c3c10a6137ca433da42f9a8",
+			],
+			[
+				.count = 2,
+				.key = "2d265491712fe6d7087a5545852f4f44",
+				.iv = "c59868b8701fbf88e6343262",
+				.pt = "301873be69f05a84f22408aa0862d19a",
+				.aad = "67105634ac9fbf849970dc416de7ad30",
+				.ct = "98b03c77a67831bcf16b1dd96c324e1c",
+				.tag = "39152e26bdc4d17e8c00493fa0be92f2",
+			],
+			[
+				.count = 3,
+				.key = "1fd1e536a1c39c75fd583bc8e3372029",
+				.iv = "281f2552f8c34fb9b3ec85aa",
+				.pt = "f801e0839619d2c1465f0245869360da",
+				.aad = "bf12a140d86727f67b860bcf6f34e55f",
+				.ct = "35371f2779f4140dfdb1afe79d563ed9",
+				.tag = "cc2b0b0f1f8b3db5dc1b41ce73f5c221",
+			],
+			[
+				.count = 4,
+				.key = "7b0345f6dcf469ecf9b17efa39de5359",
+				.iv = "b15d6fcde5e6cf1fa99ba145",
+				.pt = "822ae01a0372b6aa46c2e5bf19db92f2",
+				.aad = "72e9cb26885154d4629e7bc91279bb19",
+				.ct = "382e440694b0c93be8dd438e37635194",
+				.tag = "2fa042bff9a9cd35e343b520017841bb",
+			],
+			[
+				.count = 5,
+				.key = "9db91a40020cdb07f88769309a6ac40b",
+				.iv = "f89e1b7e598cc2535a5c8659",
+				.pt = "f4a5003db4a4ebbc2fdb8c6756830391",
+				.aad = "70910598e7abd4f0503ecd9e21bdafb5",
+				.ct = "40d7fc4ccc8147581f40655a07f23ee9",
+				.tag = "243331b48404859c66af4d7b2ee44109",
+			],
+			[
+				.count = 6,
+				.key = "e2f483989b349efb59ae0a7cadc74b7a",
+				.iv = "3338343f9b97ebb784e75027",
+				.pt = "14d80ad66e8f5f2e6c43c3109e023a93",
+				.aad = "8b12987e600ff58df54f1f5e62e59e61",
+				.ct = "43c2d68384d486e9788950bbb8cd8fd1",
+				.tag = "47d7e9144ff0ed4aa3300a944a007882",
+			],
+			[
+				.count = 7,
+				.key = "5c1155084cc0ede76b3bc22e9f7574ef",
+				.iv = "9549e4ba69a61cad7856efc1",
+				.pt = "d1448fa852b84408e2dad8381f363de7",
+				.aad = "e98e9d9c618e46fef32660976f854ee3",
+				.ct = "f78b60ca125218493bea1c50a2e12ef4",
+				.tag = "d72da7f5c6cf0bca7242c71835809449",
+			],
+			[
+				.count = 8,
+				.key = "2352503740a4e1b22dcc9c002f53bd11",
+				.iv = "474ecccc3182e03c80a7be74",
+				.pt = "dc1c35bc78b985f2d2b1a13ce635dd69",
+				.aad = "a1bc98dacec4b6aa7fee6dfa0802f21a",
+				.ct = "3f6f4daf6d07743b9bd2a069d3710834",
+				.tag = "b9c2b319adbd743f5e4ffd44304a1b5f",
+			],
+			[
+				.count = 9,
+				.key = "fc1f971b514a167865341b828a4295d6",
+				.iv = "8851ea68d20ce0beff1e3a98",
+				.pt = "2fec17b1a9570f6651bbe9a657d82bce",
+				.aad = "ece8d5f63aebda80ebde4b750637f654",
+				.ct = "2d27e5fa08e218f02b2e36dfad87a50e",
+				.tag = "eb9966774c588a31b71c4d8daa495e9e",
+			],
+			[
+				.count = 10,
+				.key = "00ef3c6762be3fbab38154d902ff43b5",
+				.iv = "c3c1c3079cda49a75a53b3cc",
+				.pt = "be425e008e9b0c083b19a2d945c2ede9",
+				.aad = "714fa1d6904187b3c5c08a30dffc86e8",
+				.ct = "c961a1758dcf91e539658372db18968e",
+				.tag = "eaf9bda9b3322f501f7329cb61c1c428",
+			],
+			[
+				.count = 11,
+				.key = "2d70b9569943cc49cdef8495bdb6f0e6",
+				.iv = "b401d0f50880a6211fde9d9c",
+				.pt = "47a87a387944f739bd3cb03e0e8be499",
+				.aad = "592e7276bda066327f2b3cd8cc39f571",
+				.ct = "c1b2af4d273231e71e7e066c206bf567",
+				.tag = "c68d8d3cf8b89e6b15f623d60fef60bd",
+			],
+			[
+				.count = 12,
+				.key = "775cb7f8dc73f04fe4f9d22126bb7b57",
+				.iv = "81ceb17deee19b8153ff927c",
+				.pt = "8242c6c0eed6d5d1ab69cd11dbe361d0",
+				.aad = "97e07cd65065d1edc863192de98bc62c",
+				.ct = "580f063ab1a4801d279e4ee773200abe",
+				.tag = "29e4d7e054a6b0a4e01133573fbe632b",
+			],
+			[
+				.count = 13,
+				.key = "58ba3cb7c0a0cf5775002bf3b112d051",
+				.iv = "bb923c93ddca303ab131238d",
+				.pt = "6b93d2d92de05b53769ec398ab8097dc",
+				.aad = "0898ea55c0ca0594806e2dc78be15c27",
+				.ct = "d0564006b1897bf21922fef4f6386fd4",
+				.tag = "3a92f3c9e3ae6b0c69dcb8868d4de27c",
+			],
+			[
+				.count = 14,
+				.key = "955b761de8e98f37acb41259fa308442",
+				.iv = "a103db8a0825e606b70427fc",
+				.pt = "d18344c86caffc4237d2daae47817b13",
+				.aad = "c2d0d8b77a6fd03ced080e0f89de8a4b",
+				.ct = "065d228c1289007a682aa847a36b6f30",
+				.tag = "fb367f47922d67c84bf47aabb2b98421",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt128-aad160-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=128,
+		.aadlen=160,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "d4a22488f8dd1d5c6c19a7d6ca17964c",
+				.iv = "f3d5837f22ac1a0425e0d1d5",
+				.pt = "7b43016a16896497fb457be6d2a54122",
+				.aad = "f1c5d424b83f96c6ad8cb28ca0d20e475e023b5a",
+				.ct = "c2bd67eef5e95cac27e3b06e3031d0a8",
+				.tag = "f23eacf9d1cdf8737726c58648826e9c",
+			],
+			[
+				.count = 1,
+				.key = "e8899345e4d89b76f7695ddf2a24bb3c",
+				.iv = "9dfaeb5d73372ceb06ca7bbe",
+				.pt = "c2807e403e9babf645268c92bc9d1de6",
+				.aad = "fed0b45a9a7b07c6da5474907f5890e317e74a42",
+				.ct = "8e44bf07454255aa9e36eb34cdfd0036",
+				.tag = "2f501e5249aa595a53e1985e90346a22",
+			],
+			[
+				.count = 2,
+				.key = "c1629d6320b9da80a23c81be53f0ef57",
+				.iv = "b8615f6ffa30668947556cd8",
+				.pt = "65771ab52532c9cdfcb3a9eb7b8193df",
+				.aad = "5f2955e4301852a70684f978f89e7a61531f0861",
+				.ct = "c2a72d693181c819f69b42b52088d3a2",
+				.tag = "cadaee305d8bb6d70259a6503280d99a",
+			],
+			[
+				.count = 3,
+				.key = "196ed78281bb7543d60e68cca2aaa941",
+				.iv = "6e7d2c8f135715532a075c50",
+				.pt = "15b42e7ea21a8ad5dcd7a9bba0253d44",
+				.aad = "d6fc98c632d2e2641041ff7384d92a8358ae9abe",
+				.ct = "06e5cc81c2d022cb2b5de5a881c62d09",
+				.tag = "28e8cad3346ce583d5eebaa796e50974",
+			],
+			[
+				.count = 4,
+				.key = "55fe8a1bdc6806ed2f4a84891db943a0",
+				.iv = "af4d0ba0a90f1e713d71ae94",
+				.pt = "81315972f0b1aeaa005363e9eca09d7a",
+				.aad = "677cd4e6c0a67913085dba4cc2a778b894e174ad",
+				.ct = "c47bcb27c5a8d9beb19fee38b90861b7",
+				.tag = "e061ee4868edf2d969e875b8685ca8a9",
+			],
+			[
+				.count = 5,
+				.key = "6d86a855508657f804091be2290a17e0",
+				.iv = "65dce18a4461afd83f1480f5",
+				.pt = "0423bd1c8aea943637c7c3b0ca61d54b",
+				.aad = "e0ef8f0e1f442a2c090568d2af336ec59f57c896",
+				.ct = "53505d449369c9bcd8a138740ea6602e",
+				.tag = "86f928b4532825af9cac3820234afe73",
+			],
+			[
+				.count = 6,
+				.key = "66bd7b5dfd0aaaed8bb8890eee9b9c9a",
+				.iv = "6e92bf7e8fd0fb932451fdf2",
+				.pt = "8005865c8794b79612447f5ef33397d0",
+				.aad = "60459c681bda631ece1aacca4a7b1b369c56d2bb",
+				.ct = "83b99253de05625aa8e68490bb368bb9",
+				.tag = "65d444b02a23e854a85423217562d07f",
+			],
+			[
+				.count = 7,
+				.key = "e7e825707c5b7ccf6cfc009dd134f166",
+				.iv = "dd0c7a9c68d14e073f16a7a0",
+				.pt = "88b1b11e47dfe2f81096c360cf1e30e7",
+				.aad = "11c69ed187f165160683e7f0103038b77512460b",
+				.ct = "550fa499a7cb4783c1957288a5cc557f",
+				.tag = "5d2c2f71a2e6ad9b3001bdbf04690093",
+			],
+			[
+				.count = 8,
+				.key = "92591b15e28ce471316c575f3963103a",
+				.iv = "2c30d215e5c950f1fe9184f6",
+				.pt = "dc8842b3c146678627600742126ea714",
+				.aad = "46e1bd5fa646e4605e2fbec700fa592a714bc7ef",
+				.ct = "a541d3d8f079bfe053ba8835e02b349d",
+				.tag = "d322a924bf44809cb8cfe8c4b972a307",
+			],
+			[
+				.count = 9,
+				.key = "74f08353d4139ddad46691da888ee897",
+				.iv = "e2619217dc8b093e2c7c5b78",
+				.pt = "1690d6c8f95ef5ac35c56e3129717b44",
+				.aad = "92277cf78abe24720ce219bba3a7a339a2e011b2",
+				.ct = "b413557c0df29e3072bb1b326e2002dc",
+				.tag = "3bb6273687ec6a3f4a0366f1b54bd318",
+			],
+			[
+				.count = 10,
+				.key = "5c951cd038a3c65cd65325bfdde86964",
+				.iv = "3bf5623fd1155f1036ea893f",
+				.pt = "b609ec6673e394176dd982b981a5436b",
+				.aad = "dc34014513fd0eede8e9ca44a16e400a5f89cdd0",
+				.ct = "009cf623e57a3129626a30489b730607",
+				.tag = "1d202825db813c0fc521c284dd543fff",
+			],
+			[
+				.count = 11,
+				.key = "72301c093ba804671c44a6bf52839d9c",
+				.iv = "87cc7e6579cc92822f5744f6",
+				.pt = "d59bbae4ff3e3755c0a61a9b6d3e234c",
+				.aad = "f461946c4feba79c18366555d85311248d269c87",
+				.ct = "ee743d29dcbaa084fda91eb48b3be961",
+				.tag = "07934a5372d41928f2ee7d4bb8c18982",
+			],
+			[
+				.count = 12,
+				.key = "39b4f826b520830941b3b1bcd57e41d5",
+				.iv = "ca32ac523fe7dfefe415cba1",
+				.pt = "aa2b7a6c918ed6715441d046858b525f",
+				.aad = "c586cd939b27821695b4ee4dd799fb0e3449a80e",
+				.ct = "8b64f5ea9a8cb521c66df9c74d4b7ecd",
+				.tag = "3db56a792b67ac6d0c4001e17f446111",
+			],
+			[
+				.count = 13,
+				.key = "79449e5f670d55ee2d91ca994a267a8c",
+				.iv = "c779da00d672811d8a5124f1",
+				.pt = "767e120debd8a1dc8d2db8b7f4750741",
+				.aad = "54780846dc3df77c8d90c9f2decb0738da36fbda",
+				.ct = "eb864412add08abb4f89d72d412d0085",
+				.tag = "494a547f617840267d3fed5280e3eb30",
+			],
+			[
+				.count = 14,
+				.key = "cc90c2f37f970f97ac97e3e3b88e8ae3",
+				.iv = "67bcc08f223f12107e4d9122",
+				.pt = "b0fe0dcdcd526017f551da1f73ef9fe1",
+				.aad = "065acdc19233af4be7c067744aabab024c677c5e",
+				.ct = "501cda2c954f830e8922c3d7405b5ee1",
+				.tag = "9deee5d0e4778a9f770367f19c74daef",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt128-aad384-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=128,
+		.aadlen=384,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "89850dd398e1f1e28443a33d40162664",
+				.iv = "e462c58482fe8264aeeb7231",
+				.pt = "2805cdefb3ef6cc35cd1f169f98da81a",
+				.aad = "d74e99d1bdaa712864eec422ac507bddbe2b0d4633cd3dff29ce5059b49fe868526c59a2a3a604457bc2afea866e7606",
+				.ct = "ba80e244b7fc9025cd031d0f63677e06",
+				.tag = "d84a8c3eac57d1bb0e890a8f461d1065",
+			],
+			[
+				.count = 1,
+				.key = "cdb850da94d3b56563897c5961ef3ad8",
+				.iv = "841587b7174fb38fb7b3626e",
+				.pt = "c16837cb486c04bd30dcae4bcd0bc098",
+				.aad = "de33e6d20c14796484293dff48caffc784367f4bd7b957512ec026c0abc4a39217af0db35be154c45833b97a0b6454df",
+				.ct = "f41a9ba9ff296ebdbe3fdd8b1c27dcdb",
+				.tag = "506cc2136c15238b0f24f61b520fb5e6",
+			],
+			[
+				.count = 2,
+				.key = "45551710464a9ea105a30e056167cfb0",
+				.iv = "5727688c9e74bcd23c14a345",
+				.pt = "6adeaaa151b58c337471653c99affbdc",
+				.aad = "3eebcdc5c5e9970b3fca94bd0d28ead70d1f36a94f27780472bc3cc9ff39dd7b7e3a76ebce967d6ae5724ad904dc5548",
+				.ct = "ec18f1d675dd056baeb374829ce45a33",
+				.tag = "378bdc4c34753a1284b654af049b853a",
+			],
+			[
+				.count = 3,
+				.key = "c8650e8695396b84a3fdeea8f95c8215",
+				.iv = "5a1c26d3848910137df9f76c",
+				.pt = "88aecd97435d97e2dff8763f640a5640",
+				.aad = "3dace39b7284ea2786a6bc670ced1c7cc0c28c4ae4e7494a6d834eb09260b68898b914d5a6b0b5334eff9669f233aeb8",
+				.ct = "49a9398c70a89c0e43ce7a7bd7a90c58",
+				.tag = "8509ef5fa8046a48a5f081e5215db2eb",
+			],
+			[
+				.count = 4,
+				.key = "76470ff92aaeeeb24172b823fce630b1",
+				.iv = "c70088e92633688bebe3265b",
+				.pt = "ff4f74af151c292a0b35ba7049c9a5ad",
+				.aad = "a262fc02a3d0db113493d4179cc9ec806825f20f5864bb105c6116ea72f0284950ecc8a05dc548023853a657b67ce01e",
+				.ct = "2404868e6bfee5ffe6ec851785618aab",
+				.tag = "b338a9ccf10d45dfd4e0ccb8a87b3c1a",
+			],
+			[
+				.count = 5,
+				.key = "247b0330aa35a8a855142f933d182581",
+				.iv = "6df7990b60e41f1fac5f283f",
+				.pt = "fa979c20be9f7f7e802fd5ca55c14618",
+				.aad = "0cec69d6f6532bf781f5b0fe70e33e1cd68f8b2019aa73951baf978bc1141b51083a8e5c785c994b12ffeca01b6c94f4",
+				.ct = "ca4b66a09606caae8a100ce994da9452",
+				.tag = "534188f439b929183d21109d962145ea",
+			],
+			[
+				.count = 6,
+				.key = "1ea5cdfe206130596b655bc6fb935fad",
+				.iv = "0ec93072e726ec58352d5a90",
+				.pt = "1ac044b5f8b693fa236986ad1621edd8",
+				.aad = "d9da4741fda4821eb391a23f7f6b377bed923260b6f8c8ac9bbca4edef1bc2a48a45c8676cb598a668e28fe1103efa23",
+				.ct = "33d387a3b73a590bfd78320ddad8c169",
+				.tag = "ef36d6c01b5a54bf06ba218aa237fa54",
+			],
+			[
+				.count = 7,
+				.key = "d5a707d2e3163fbd9fba2f12e8dd980c",
+				.iv = "4a4ed3d33e5a1dd6befdb382",
+				.pt = "639331ff4efaadc93e92e58de9e886ee",
+				.aad = "f5392e014cbe2d33cd0a0497cf0398883338748491a8543991990f9958e4a827e190e6f5ce89baac5f3bef91dcb5858b",
+				.ct = "c986c4c805092a51103176b56507dd95",
+				.tag = "5da4fe4e281e995d0c75587b4945ca85",
+			],
+			[
+				.count = 8,
+				.key = "3d2c604398c247e3ae7d90cc1e11f6cf",
+				.iv = "5dfafa52cbb52f57ac304381",
+				.pt = "9c12cb73902608e7b2ea30da7397b66a",
+				.aad = "53e050b559308705376a23ee2b22b7642f06ab77a00259bf7bf28cf6665912af4b8901f8af76e982a8bcbafe5ea1aaf6",
+				.ct = "7fe6b5a881c8a6b8e3e29f1a3819383b",
+				.tag = "c528fddf8166a5c0ec3f0295b2c3d7a6",
+			],
+			[
+				.count = 9,
+				.key = "a335f0577c876e61d94522d526159f57",
+				.iv = "6ea85a74513f664a907fef80",
+				.pt = "db38cf3bb14825a6c11ac978fb516647",
+				.aad = "038af270aece9687e34c55ec30494e9f72b6a90ac43280a9b8e958353d8c02a83ed163c6924b7201759615779cd5661e",
+				.ct = "7e81df8bf0b671e89a639d6432d44952",
+				.tag = "2180e6c8fe8fbb3394f9dfdc1c439d80",
+			],
+			[
+				.count = 10,
+				.key = "afb3ab51cf05e0cfa2ccc2c3c8f4b67f",
+				.iv = "26a5d1667feae062c14663bc",
+				.pt = "26821b2fe21c26d20843af266fce1f16",
+				.aad = "130b15bde79749d0577bff6c98ab50f035abae041b0d5f666db27c262c0ed2a801c24feffcfe248cf3af5afcb6b0dd1a",
+				.ct = "c5317ad695606124662453dbfb96a26d",
+				.tag = "2ace2fa75daa31fe4f2020cea9e71ec6",
+			],
+			[
+				.count = 11,
+				.key = "0b4d033bf0182bb06f8b9714d525ee74",
+				.iv = "f0807dcca355aa339febada2",
+				.pt = "7c90709d6ea3e586bbf11913bb2b5261",
+				.aad = "9cb373a8b7cc61eb382dfe1ea17d78877e9366207c3a5161a1f34b75ac503dc20e4af9d9962b7d4fb0f39ac9666c660c",
+				.ct = "bfdde06e311240348f04277504fd75fb",
+				.tag = "1dc5898c49e2dab4ae1a599547a76ab1",
+			],
+			[
+				.count = 12,
+				.key = "d32b7c3cb327780d1422116c40470ab0",
+				.iv = "fcc79573051011685ee0d9e1",
+				.pt = "f015f4ab3bc159db9cf6b4bb6750db46",
+				.aad = "cdaae988d8bf01e24a4baf489893ee329b7d0dcfdef684fe3e382b200cbd5a7ea3e46be281b0c6cc00417d67f4d3db02",
+				.ct = "48bec210f66942f877993e9486a678e7",
+				.tag = "e4a3821709626cc3006c805a75f067cc",
+			],
+			[
+				.count = 13,
+				.key = "086a0cdd8d520a8a695d17e869e03efc",
+				.iv = "f0a463c0d1e28633da98b1e2",
+				.pt = "ad6fbcf714ab893455eddb3c5fb406dc",
+				.aad = "aa7ebac61f7e0b9da0d941e801730a393b2728476dfd065e2f6ef4b343bc2ba6e17c59a2e5381597948a73ff25493f8e",
+				.ct = "f0b1a368b832ed35d54c80067a06a2ae",
+				.tag = "e3c80910db9ce1f3ad2519fe1ee2dfd7",
+			],
+			[
+				.count = 14,
+				.key = "e47e1e3a95627418ed659452a3c92d45",
+				.iv = "78adcf3f732dd3787cb5490b",
+				.pt = "801efcab1e329a536a7b506c4a7509ec",
+				.aad = "41913a6c5c4dddae06f3c0f68e8ece139ca902fe340a820e7c40d895b35e8f4cba7809c7eed0b2b7ad45c6d152ec3053",
+				.ct = "6751a4a5e0cc3c0f46cb5540937efde8",
+				.tag = "7b07d21a4cbadeedcadce817d9ab81be",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt128-aad720-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=128,
+		.aadlen=720,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "bd7c5c63b7542b56a00ebe71336a1588",
+				.iv = "87721f23ba9c3c8ea5571abc",
+				.pt = "de15ddbb1e202161e8a79af6a55ac6f3",
+				.aad = "a6ec8075a0d3370eb7598918f3b93e48444751624997b899a87fa6a9939f844e008aa8b70e9f4c3b1a19d3286bf543e7127bfecba1ad17a5ec53fccc26faecacc4c75369498eaa7d706aef634d0009279b11e4ba6c993e5e9ed9",
+				.ct = "41eb28c0fee4d762de972361c863bc80",
+				.tag = "9cb567220d0b252eb97bff46e4b00ff8",
+			],
+			[
+				.count = 1,
+				.key = "11f47551416154006bf89e7594ea2082",
+				.iv = "d546fcd3ff2a6a17461e9e94",
+				.pt = "d3783a3d7a1e091f9cb647bf45604457",
+				.aad = "49efdce48e821eb14eca5f1dd661f8b6b9a5a6917b08ec9486c29124ef1e7a9af2217494eecad3d8eef9fc22d29ce18d92006de1588c3b06f8db9fe809bede40908cef4f46d2c4b6f92ff5a8304362749143dab266de45bf5b4a",
+				.ct = "e97988a6645b93a32e8296bb1dbcb8f9",
+				.tag = "399345f974a82a2a75007c84aa08dc1a",
+			],
+			[
+				.count = 2,
+				.key = "0736a1f074919dfe23bf2a828eac2b26",
+				.iv = "5b2105166bcb15efc07f1c03",
+				.pt = "402b5b45dbbef7f1d955423e95cda404",
+				.aad = "f331a6f6d31de69f116b27fcd7f914aa0b2c3a09490360e7863417a2346030cc99b6ba389e65e0f10fe0815d383e6f98dd8bb97d29908560ce98e4bf177e42e14a7137cfd30b7dcb4d8655b3c03514e95adf698645584475865a",
+				.ct = "6e9e79e29f3085183e0a7ac7f6ba1d67",
+				.tag = "84434e0c82b858ec27e61c54ecf6cd94",
+			],
+			[
+				.count = 3,
+				.key = "a3929d753fe45a6f326a85bb9f1e777f",
+				.iv = "aed85f89844f061113004d2c",
+				.pt = "f024e796f449712b70d5c7fe5be5fe14",
+				.aad = "ecef72a7ae9e6bd15e63c8e9fb2a3a7c53eb9a88bc05296ff6f25544f681fff5289a099d38abb68316eed8215ead9ca0462065bee79fdb63b4405384053fdc68fe4124a883f50a2b4bc4df6e29383c2ceea424e4ac539b26c9ce",
+				.ct = "349e770a7f7dc2fb41fa089bf723f6b6",
+				.tag = "26f12bc8777d724fe59ad4fe2b9757f4",
+			],
+			[
+				.count = 4,
+				.key = "85abd6c7b90314b29bbd293ff113637e",
+				.iv = "f48f4ed2eb7b7aaeb017ee72",
+				.pt = "542c6fa7e7cdaf21e6f6b34517f26ab5",
+				.aad = "2b825d477eb96e0d8d787ee4f284eca567fb5214b47e26705389cf9fce4b8dbc49a152df5e4accb0adaa19b37c90fe7d6eb456a067f1c2b63b61f6d596209f7ee96c85aa48f1870e9338743edff1d8ffb61dbdab88b6755fa135",
+				.ct = "8374f96f03780724a8e8d1f11768d44f",
+				.tag = "b41b53c46ae76eff505cfee47a8daaa3",
+			],
+			[
+				.count = 5,
+				.key = "0a2f29710feb7c86175a37c41e32fadd",
+				.iv = "b190fdb91061a08ef82100b8",
+				.pt = "dfb6284ffd6cc195ed75db0c9faf5559",
+				.aad = "0af4d5c1ec517a1fc104aea7d513b591b603634fc558007e06d6cd22997407eb8281a742aef6e88ba08f10c64b423121d898bcd04c1f1d6c7c12d673aa1abb004a8525f1d7abc23c8724885179e292c0565a39d9f5c6d2369e37",
+				.ct = "fb6cb6527b92dc2ef6a227e8067879aa",
+				.tag = "e01037f6e9d62c18b163a714f85a92cc",
+			],
+			[
+				.count = 6,
+				.key = "470d577137c5014b78137dc6b24efa6d",
+				.iv = "4afa7f5766f8345a1b12042b",
+				.pt = "4745cb9a3ee3a76ae166dad5a1b62b1c",
+				.aad = "cfdd5d42e0d0127a1c0d3c4bad302ef23ab63d879fad71109f4792e5b21156dafdcec022fc323028a9fbcafe0c3606ed61b582bfa00ba6e5c9a1b13b976d67c14c79905a769399d967b0dd45f0e74967b67d7bb67d9466618fa1",
+				.ct = "ca58ced863696bf80ae0191de1252333",
+				.tag = "246d451faab88511467e38b60c5b46c7",
+			],
+			[
+				.count = 7,
+				.key = "5cf9cfa4d367752f1354037e132bc948",
+				.iv = "13e6a286a6c7b189974d7ea3",
+				.pt = "c7ef33e7abc8f298b2f224cf5218661d",
+				.aad = "65da4dbd6cef7fc8a09a766a6f5b474e9711a2d40faf841c467a8838e5c8cada3f1cca74ed3b4cdda6d5d334c91763e798b9c7891b291dbf46d89ddc728d72f93c95e081bc340448519aeccc6d105bf1696b7ff9c0b7c006444c",
+				.ct = "ad88f4e7b980be05b3df0fc05a49d1eb",
+				.tag = "0ad15378f18f4338966e8e17951d8dad",
+			],
+			[
+				.count = 8,
+				.key = "d1dafd9e07ab0f903a9b00d6e353d67f",
+				.iv = "8a96a0fe88f0c7e3077c38f4",
+				.pt = "bbe4ccbd26522d35ca0d483341385e2b",
+				.aad = "d3e1ecd06f79e6839767d957c4d715b4228f4cbca7afa429d860c5db2a6bf4a3ade2d00b91875fedbf9b09e9ee5e69182f326fb36fcc35475efb32e5eada3a6fa6046c8d0c0ee933b0e7f37c87b3eb8b9c0c2b457f8695d25875",
+				.ct = "9d016cd94933c07c10b92af40eafac7d",
+				.tag = "022e2dd58ac862962e7fa0536bad87cb",
+			],
+			[
+				.count = 9,
+				.key = "da5236b254ee2ff5d7e73d7a09574177",
+				.iv = "d2d91f5c302212557fd62bce",
+				.pt = "3aaa2a7b2605686c3444bb16df8c57a5",
+				.aad = "9ddfa05290e228e5eceb7e96de3a097afaa96d8d3e0d5ffc0e0116f43814f5b0947919267c2dbf0e5f52a97296e7826f2891dd4a043c845046c9ab9ae8327346c7695a72875b9062dd5578be8985edf9faa4917981aacc6f112f",
+				.ct = "202a8e67d7f22ff83757fc9ef9b20a0f",
+				.tag = "a55bab242a4ebe73b52cc7202f5cdd57",
+			],
+			[
+				.count = 10,
+				.key = "c3e577da2a2b7fdd05c99dc6fc81ccdd",
+				.iv = "dfa747b08f536915345766f0",
+				.pt = "b863120426d4cbd5c73124c7b0342fa7",
+				.aad = "872a6d0e3a0a3b32f4c92a4e5baf7efb7270a9ab9cfcd3c1173a2fcb2c155a923f9d8b8e35a965b11d15e2e0cc591e953da81c172b8882344cff7b40eeaa30d4793900dd85cb65fbeae9d1d3b2a62c66cb932dac1e6806ab6150",
+				.ct = "43da888047cb1cfc7dd42329310c8234",
+				.tag = "f8267635aa7b51b89c80fa979861eb3f",
+			],
+			[
+				.count = 11,
+				.key = "69e1c0917ca8d49aa69f38cf9c66eb4d",
+				.iv = "0c55672336d219e64c60e15d",
+				.pt = "7dac3e31269dd79399c94798f4bbc640",
+				.aad = "c1b423f27d794e947bc56aace3995065279221f5b8bef6568b5b2882209bf0dd7776e9ae6eb1a1eda0b768aeaaed9e3884cc3968b6d179e9e5abf08df8261c3ee54f8b0eaf2646cb221288a879c5ea4e9183805dc1da8a636a58",
+				.ct = "37d215a13362bf087bcba8f95901eb05",
+				.tag = "1b3eecb7ae9386dbc1409e70f5827f58",
+			],
+			[
+				.count = 12,
+				.key = "08818d516558631161e49eebd621f78d",
+				.iv = "f1f855eb8aeccc9ddf7aa80e",
+				.pt = "1a89c9c9623a26b7c8062c5f6a5f7f98",
+				.aad = "68fedf6a42b780eeb011aa0b242636668e5c8941d6045b05c948f82c5db3977831435ab4049895b607e854f710e3d8b7a26afaa2e7913093313e93c3e106a8356d6c44579398ce4341aacb3b726e7f42fab75934920df230cb4b",
+				.ct = "9e12e3842ff7f5c25a171cc4c5a3dfa8",
+				.tag = "01cd4980d92df6739bedf22201a2cc12",
+			],
+			[
+				.count = 13,
+				.key = "bfa4a12b357605b11e65fa92b90d22fc",
+				.iv = "9aeb721b698db40dc9080e23",
+				.pt = "9383358a4065f3e365924f7fa664012b",
+				.aad = "53bc66164811866e12ebcd64447c999777378119a257fe00d45b5c9392d5618f2c2c784696f5a9fea85d0f8c9cb5438b15b3f5661d49e0b0980ff61aeee0cdf650ab4fa82bcb0d0390f99daf02d8561bf5bca5627e3b194951ae",
+				.ct = "df469d986744c33244682184912cdd68",
+				.tag = "8c12f8338ffb7840e085fdedaa6ab3cc",
+			],
+			[
+				.count = 14,
+				.key = "e16a57c83f230c368a0f599a7ebf3f5e",
+				.iv = "2631b811ea57cb7d58fa232a",
+				.pt = "2a37e380f575e4365116fe89a58ee8dc",
+				.aad = "d5bc101ad26f7d03999eac122f4e060f20a402ff8a2a0324a77754e1eb8b7a65f78743ac2ee34b5429ec9fd6120fe6d17e71f738cebf0ae39a5be5a4dde85384d98cd90d218785b08daa662f24187156118fba981b9691cf12f8",
+				.ct = "9278d1eab07dc7fa68742059d9fdbe60",
+				.tag = "27a474294ff811db4f6e0c88b1a86b0c",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt104-aad0-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=104,
+		.aadlen=0,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "fe9bb47deb3a61e423c2231841cfd1fb",
+				.iv = "4d328eb776f500a2f7fb47aa",
+				.pt = "f1cc3818e421876bb6b8bbd6c9",
+				.aad = "",
+				.ct = "b88c5c1977b35b517b0aeae967",
+				.tag = "43fd4727fe5cdb4b5b42818dea7ef8c9",
+			],
+			[
+				.count = 1,
+				.key = "6703df3701a7f54911ca72e24dca046a",
+				.iv = "12823ab601c350ea4bc2488c",
+				.pt = "793cd125b0b84a043e3ac67717",
+				.aad = "",
+				.ct = "b2051c80014f42f08735a7b0cd",
+				.tag = "38e6bcd29962e5f2c13626b85a877101",
+			],
+			[
+				.count = 2,
+				.key = "5bd7362f38bafd33ff4068860eb35c27",
+				.iv = "6064368166c48633b090cb9a",
+				.pt = "634852a6b68543ead889aa19ef",
+				.aad = "",
+				.ct = "3a44f911376c371e6d597539d3",
+				.tag = "452b67e9d36a9ec5a893272b4d2f2103",
+			],
+			[
+				.count = 3,
+				.key = "2591360228dd945aae8fba95dc2725c5",
+				.iv = "2adabc15c16e5c5954c8ab01",
+				.pt = "c580b051600dd902b273e26677",
+				.aad = "",
+				.ct = "9ac66aa93d7547bc0a45baf5ac",
+				.tag = "a609413c9c13817287f39cfcf4da2e6e",
+			],
+			[
+				.count = 4,
+				.key = "3c85f64e35953f2caded63f987592611",
+				.iv = "7ad13cb40e21ee633251968f",
+				.pt = "7bddb4037c2be00f4ef6f85ccd",
+				.aad = "",
+				.ct = "9c2030e3e19e490c309610d889",
+				.tag = "b0e4080a8dae54a6770f4e21d5324e90",
+			],
+			[
+				.count = 5,
+				.key = "7b8d32382d29c00198f1d41fc6b52b8c",
+				.iv = "bd65d7281a9a6aa9fc268f61",
+				.pt = "10f27dabb9c9e9facbd21b13cd",
+				.aad = "",
+				.ct = "707efbd54aabbecc22ee6b5304",
+				.tag = "ca35f5dea869508653ce556c9c05d32e",
+			],
+			[
+				.count = 6,
+				.key = "dd95a8ca25883353aff5c414ad9ac5c0",
+				.iv = "be2ed3a4d38fa65cf341e5ee",
+				.pt = "5b0c29c8bef219d52932b33041",
+				.aad = "",
+				.ct = "4918ace25961fae06dbd891d16",
+				.tag = "ae6f069accfacba61a38323dd65f4c02",
+			],
+			[
+				.count = 7,
+				.key = "4db01983f6ad9e39385070b810c26c80",
+				.iv = "2342dc3fb660e3925509b6ed",
+				.pt = "5cef6c4f05073ae39e05356dc5",
+				.aad = "",
+				.ct = "12e41f4373f1e5dcfcf758e2c8",
+				.tag = "36fe1b8981946fd16cf12ad80f04d59e",
+			],
+			[
+				.count = 8,
+				.key = "8d59f931d4cf8a2683e269008ee86062",
+				.iv = "7ac862a09c3408b667e8cd38",
+				.pt = "2c47413a8256f25677b1de8ef1",
+				.aad = "",
+				.ct = "284ff4dfe4255f56b4a56585a7",
+				.tag = "16c0a4a5826e291d4b3f7ead6892c392",
+			],
+			[
+				.count = 9,
+				.key = "01c681e2cf1d7c8484c3811201376187",
+				.iv = "56a8f48a3198b977f5064d02",
+				.pt = "37dc0f572c9e51c6fc18642d7f",
+				.aad = "",
+				.ct = "54922c65023605c1eba146d448",
+				.tag = "dddbf654030e73be0dd6d26b67efd0e6",
+			],
+			[
+				.count = 10,
+				.key = "dae6cfda8979801d9399006797a2366b",
+				.iv = "1cb41dac13ffa72e72a405d0",
+				.pt = "9f43ac53d4cec80dd29a902d86",
+				.aad = "",
+				.ct = "e156a5f0711096cadd489937a7",
+				.tag = "dfa2d2a342b78ac6e7276365f2fa6dc0",
+			],
+			[
+				.count = 11,
+				.key = "5146ebe3d1fdf166ffa4099b638c5b64",
+				.iv = "10014449817d881328c2b882",
+				.pt = "700af6989527eb16ffab6634d2",
+				.aad = "",
+				.ct = "8ab35c288f09084da3c0cbd240",
+				.tag = "eec8232f2907b2e1cb2c940622530d25",
+			],
+			[
+				.count = 12,
+				.key = "cd70f86fc0a1780740fefef5742e4398",
+				.iv = "c2abd119f22d310b34f41c5c",
+				.pt = "39fb497a2691264f02fcba4887",
+				.aad = "",
+				.ct = "01339a3a9119836f6b038a1a50",
+				.tag = "e45a0a12c84ebaaf1885f457507b9a5e",
+			],
+			[
+				.count = 13,
+				.key = "8828454ceefd9004e30ae8a03d71f9d1",
+				.iv = "8d9e3c61aa687a8f2b9ee30a",
+				.pt = "a94b020f4724178a3f4f9137c5",
+				.aad = "",
+				.ct = "c4a94f89e03305aa415c7b350c",
+				.tag = "1acc1c75b9fc826af2e950cc7be6cf64",
+			],
+			[
+				.count = 14,
+				.key = "47982f133cb72342dd642f3475bde634",
+				.iv = "8304304acea2def778f2bf9e",
+				.pt = "2c97a5fb6df85153a5c3bf414c",
+				.aad = "",
+				.ct = "37e0962960edcf0a09a8538cac",
+				.tag = "07459fa438e1f159a6649a8ed6f934b8",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt104-aad128-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=104,
+		.aadlen=128,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "dfefde23c6122bf0370ab5890e804b73",
+				.iv = "92d6a8029990670f16de79e2",
+				.pt = "64260a8c287de978e96c7521d0",
+				.aad = "a2b16d78251de6c191ce350e5c5ef242",
+				.ct = "bf78de948a847c173649d4b4d0",
+				.tag = "9da3829968cdc50794d1c30d41cd4515",
+			],
+			[
+				.count = 1,
+				.key = "3016620015db1d85eef09bbce50ae294",
+				.iv = "eb481db3a52201173e2d4ad7",
+				.pt = "38b57c0d4151d7ee57e032829f",
+				.aad = "fa3d95b81a619638cea3f68dfbc02133",
+				.ct = "7738601ab14748223164d1f69d",
+				.tag = "63ca9e8c27d9fa837ca4a0bb7039e390",
+			],
+			[
+				.count = 2,
+				.key = "b3ba382909e94ef5d318ee32cb54a33e",
+				.iv = "3cf10b1700711486119cfd9e",
+				.pt = "4a90ad3f97c9c7e82efcbb318b",
+				.aad = "d1e17c0189b04561699bd2f791d69491",
+				.ct = "bdf6a8a11288e83126932cd946",
+				.tag = "ca7ff7458c3adf388eef7e0e32d6b2c4",
+			],
+			[
+				.count = 3,
+				.key = "0a8fc9e07eb50b092cd9fccb3db2373e",
+				.iv = "371d0af80bb20f2ead09dc22",
+				.pt = "7826bf01e962a201f5c8e7f742",
+				.aad = "9f42976847531ddfe428694f61260b2a",
+				.ct = "665cdb3e2568ee1157d877dd25",
+				.tag = "c66fc129ecb30ea0d54b6d6932d9d7a8",
+			],
+			[
+				.count = 4,
+				.key = "3d1fc93233e86cb882e4cd754df63754",
+				.iv = "1ede8cadc78bb4733c341bac",
+				.pt = "74232bfedc377efd5a63ab77cc",
+				.aad = "5807c856944fee1e6c2e70ad9a08de00",
+				.ct = "ff3e09311d59bf1f3dff474fd4",
+				.tag = "7dbaf75ab6084504e080460ebfd255af",
+			],
+			[
+				.count = 5,
+				.key = "936ba9fc715c6e2d70a7986b14b82ce6",
+				.iv = "45b3239d045bd56ea5a0e77f",
+				.pt = "941255369704ec192bab1cf039",
+				.aad = "a2570d9548bd6c05f824577871784ee4",
+				.ct = "b3ead079446053a8206f4a37a6",
+				.tag = "fa5d98f053e8520f45e1597ee38b3751",
+			],
+			[
+				.count = 6,
+				.key = "96a05889a7591c1918472fd26977451a",
+				.iv = "7d80492afefce80da6689ffc",
+				.pt = "b09b2dc5c5463a03dd5c9b0ecf",
+				.aad = "f4ffa36a478c795e0d28d37fa9e6fcc2",
+				.ct = "f7cb053d447dddcb6e3a2d891f",
+				.tag = "2a38f63a1b7cdccec426683b34a44ff5",
+			],
+			[
+				.count = 7,
+				.key = "7c98567fb5ae9601fca412e72dc9fe2f",
+				.iv = "1218ce69073eefd25a7944e6",
+				.pt = "0df75d39d8facc3accbdefc87c",
+				.aad = "df4203c3402d2b328bcb44e7683e08ab",
+				.ct = "7e5ca0d1c1ff83bc3633f2301c",
+				.tag = "7ea717458ca93d8844da5df7ef74005a",
+			],
+			[
+				.count = 8,
+				.key = "4e1b199c12f12b591c051c7edc608d11",
+				.iv = "a4bd3af7f35d0fa21f73641e",
+				.pt = "051ed5d700a7e59990f0358928",
+				.aad = "dae2cd749195bcfb67a663789e85995e",
+				.ct = "ae50359f104ba2089ae98eb45a",
+				.tag = "c08a7cce7c38626604032d2be9bd519c",
+			],
+			[
+				.count = 9,
+				.key = "9491cb5d4f2b94cc5a50dc67bfedd074",
+				.iv = "8377399607418e8d51dac5ea",
+				.pt = "2a1e50ccb5a52be3d338e8f0a6",
+				.aad = "972d9c486961334afc104765c2863253",
+				.ct = "afe759b51318f67d872a1dfdae",
+				.tag = "77a4493aed7e3a6e014d0a1a314c3f86",
+			],
+			[
+				.count = 10,
+				.key = "0993571183089c4a7bd8e8789854c265",
+				.iv = "d72ce6db33b33e2a2d430d2e",
+				.pt = "daf7f3ec2e2592c65847734f40",
+				.aad = "e47252d2a8ef5190faf328176588609b",
+				.ct = "c6fadec0c7520f717144f0104a",
+				.tag = "6670c8cbf7e9eb431e899f61acccf456",
+			],
+			[
+				.count = 11,
+				.key = "d45b6c85293d609310eb3179cfbac4fb",
+				.iv = "b02328302cc469cda1c7eb48",
+				.pt = "70f5af8c1da987f6ab5dea31de",
+				.aad = "74ca5b46ab31a11b4b4c253666844b32",
+				.ct = "da6b359072accf5f036c85600d",
+				.tag = "d8e496c53797b124e356967ee525c0ca",
+			],
+			[
+				.count = 12,
+				.key = "9326155a9b81013c1edb143f9f5ae9d2",
+				.iv = "c95383eb3050ebea4deb80e9",
+				.pt = "aa80cbebfb01b035a4e1e50e35",
+				.aad = "64a73f0497746436ac94c3c18e1ef6e1",
+				.ct = "45ec8de633c7bb585c0a7fea1f",
+				.tag = "537b6103b0f7c5dce82bfa37c2734877",
+			],
+			[
+				.count = 13,
+				.key = "9192ce4d383752e9d9c66b93ef7f05ab",
+				.iv = "adabd3baa4374697c53b4289",
+				.pt = "c55b5d16e3cee22bad1f5420ba",
+				.aad = "14cad0cb1736ccde73f86897ea017570",
+				.ct = "3aa22a57646229fd33bbfae6ce",
+				.tag = "5ce7cd439823538fbc194886348ff029",
+			],
+			[
+				.count = 14,
+				.key = "3dd104297e803dc22b8f11f1951c8508",
+				.iv = "8abd1fd8cd88ef848e8ce082",
+				.pt = "e1eb53704ccd5d7992f1c91097",
+				.aad = "96f6c82aa93ccca47056efc3ac971613",
+				.ct = "8e4125514870003f0b0e8044a8",
+				.tag = "d951047cd8d50ca5f7ffdebf78725c56",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt104-aad160-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=104,
+		.aadlen=160,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "fe0121f42e599f88ff02a985403e19bb",
+				.iv = "3bb9eb7724cbe1943d43de21",
+				.pt = "fd331ca8646091c29f21e5f0a1",
+				.aad = "2662d895035b6519f3510eae0faa3900ad23cfdf",
+				.ct = "59fe29b07b0de8d869efbbd9b4",
+				.tag = "d24c3e9c1c73c0af1097e26061c857de",
+			],
+			[
+				.count = 1,
+				.key = "544ec82f837fbe561f371b266cc52ed5",
+				.iv = "b756952a0e98cf4cb024a499",
+				.pt = "a2e81f78b8e3e39e6cdf2f2982",
+				.aad = "cd0a24fd0f6a693a1578b9dfd2a212e990aa662b",
+				.ct = "a4f08997e2d93c3c622137f9a8",
+				.tag = "059cf266240236fd3f41a3f4fabb36bf",
+			],
+			[
+				.count = 2,
+				.key = "91b73e2061b02b1e5e4c150ce1df4d27",
+				.iv = "8b15597c84db62e2d8b03857",
+				.pt = "21e1b4b405050408b08e5e2a97",
+				.aad = "eba7f1a060e81f4ae7a77346d74dae9263ec284c",
+				.ct = "0f819b25fc683c182533503ad8",
+				.tag = "5a1da6290fef801f2131614f7cd2d0bf",
+			],
+			[
+				.count = 3,
+				.key = "e6a1e4260efb2bb3073a1ab475e901b9",
+				.iv = "be445fbabc3866d702965b08",
+				.pt = "2897d77c7f20679cbf27181aca",
+				.aad = "9452137225de644f94556b382ac13915e8261913",
+				.ct = "d56e2d6d52923205291fffa50a",
+				.tag = "a6acf19c5434f95e333827ed9c7b88ec",
+			],
+			[
+				.count = 4,
+				.key = "49c18bed9412346a8ef02351cd4680d6",
+				.iv = "7b5a7e9beec5b627f78bfd1d",
+				.pt = "bafe851c800f6df67e941fb496",
+				.aad = "251b9e935d72c1ed05795c74c88b6d4a03bd729b",
+				.ct = "6f0c2eeb0a37d51d78314c3414",
+				.tag = "1a75d962d34205d60f79e4de87381046",
+			],
+			[
+				.count = 5,
+				.key = "ed0334239eb6f1ee1d686df163d219b7",
+				.iv = "6146338e40fcd8bf264bc83b",
+				.pt = "954ddf553bf66473657110a028",
+				.aad = "cdba8eb5713075497eb5abf1434045a010f81832",
+				.ct = "3eb76dfd40c5ebc840951d1b28",
+				.tag = "5d5aa1dc4a663eeb847e540f9a468155",
+			],
+			[
+				.count = 6,
+				.key = "14ab4d3a91e8f8320edba5b045b9474a",
+				.iv = "83c6ac97704afdd24fbe3eba",
+				.pt = "de5f1521ce9423526932917863",
+				.aad = "e3981ea2e7468973a6a998deb7676d06630bad47",
+				.ct = "19936ae7d6620899649a5c7887",
+				.tag = "66a805353bde0b1315f772d49eeaf8f2",
+			],
+			[
+				.count = 7,
+				.key = "f822c39eaba3ebb3d8b58cff3845ac59",
+				.iv = "1f5d11c469e9fb74f19d8581",
+				.pt = "c0fac87ca518ab22853c8fa02b",
+				.aad = "b33871f65233bb2ba773cd8fedb517179a2a24a5",
+				.ct = "a072381956210925148e3bc55d",
+				.tag = "f716ec012f7f9be988a9e450da7aa2fe",
+			],
+			[
+				.count = 8,
+				.key = "c566e9995c03a777f9999446382ef2fc",
+				.iv = "4f343477387f48b9c6d15e69",
+				.pt = "a9eafd8903c71862c7c99cf068",
+				.aad = "c2b73bf0d1abd6d484df725a760f184bc315e0ba",
+				.ct = "9f9551a3ad017c3fa518964704",
+				.tag = "15383fb8ace2e001c194474031c14e87",
+			],
+			[
+				.count = 9,
+				.key = "fa2fe01b7cb4ca24aba5880da268398a",
+				.iv = "93f19d0a8edf1f29364743f2",
+				.pt = "006c3b0681f21ad705cf94d070",
+				.aad = "e80f337eb56c336d1e928db3b7eeee968e2f75bd",
+				.ct = "a73b314c7f0bbd79ee56bd77bb",
+				.tag = "d2f9ecc80a5ae2e1d2735b9fbf01be25",
+			],
+			[
+				.count = 10,
+				.key = "77b34970d4300069e0092cd64ad17305",
+				.iv = "d88e76814f3cf7a2f887e371",
+				.pt = "4e65a46a4579f08130272e5c83",
+				.aad = "7c772010e83befec22f6aebe8e18a0437f50a573",
+				.ct = "d2d8ffd3f841e6039f1d551905",
+				.tag = "ee2c73c455081d84a631b18a7fe5f789",
+			],
+			[
+				.count = 11,
+				.key = "3c1c2aae3954d6f645ce2a697a4f3af8",
+				.iv = "04b54f6447ebbcfbda57445a",
+				.pt = "f73e226b50a75558a389ccd738",
+				.aad = "e7a9d5c8328278311dca3e84da2bf0f573198d4f",
+				.ct = "770e4b798b91850ec4e90136ca",
+				.tag = "8cb9ce2c90417f1c49a235de9b2ada2d",
+			],
+			[
+				.count = 12,
+				.key = "15ca2910df4e43c44a7c01d485b99157",
+				.iv = "4a65ca77dde14bbf131dd597",
+				.pt = "786744b394e40bfe5db938c0ad",
+				.aad = "f9011e2cfb9c82d37f6b3f2af730a2e28c036f2c",
+				.ct = "43c00fac7c11c3273078f09fe2",
+				.tag = "955beaa87737d3094bacc42a15986d83",
+			],
+			[
+				.count = 13,
+				.key = "998990fe4a9a6c56efdf1deac41a1ef5",
+				.iv = "1b7a766436f4a674b5ed86ab",
+				.pt = "e53a9954c3943691dee5b17991",
+				.aad = "2eba6f2c61704917434507f4a2db16c4906bb4e5",
+				.ct = "e5682045f438f4a96ac870690b",
+				.tag = "1afddc03809e565321ea66d8c83a324a",
+			],
+			[
+				.count = 14,
+				.key = "268ba76816d00e20997da268bd8faa18",
+				.iv = "21cd5d21ed193612fd6db854",
+				.pt = "16339986d092027e7cbece0fb6",
+				.aad = "1971b90da0554ee7b6b0a5e9a782f05d511c1b99",
+				.ct = "7cfd53b8c3c834c213d9860499",
+				.tag = "1f8522bfab97bec436d768332ae37c20",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt104-aad384-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=104,
+		.aadlen=384,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "cbd3b8dbfcfb11ce345706e6cd73881a",
+				.iv = "dc62bb68d0ec9a5d759d6741",
+				.pt = "85f83bf598dfd55bc8bfde2a64",
+				.aad = "0944b661fe6294f3c92abb087ec1b259b032dc4e0c5f28681cbe6e63c2178f474326f35ad3ca80c28e3485e7e5b252c8",
+				.ct = "206f6b3bb032dfecd39f8340b1",
+				.tag = "425a21b2ea90580c889134032b914bb5",
+			],
+			[
+				.count = 1,
+				.key = "a78f34cd0cac70aab64acae18e3cbeee",
+				.iv = "3c88570498da96e7b52c7929",
+				.pt = "bf61b1fb3b24506cc8c730d399",
+				.aad = "36b66ff81ec23a28944c98d2834cc764bb70703f0b26e079b6eb008ec11ccfb54a189ad393878f0824436ae69e7e2d8c",
+				.ct = "f72057f873ad12b5e19ce433e0",
+				.tag = "1fea5b4176464b1f5dce11558a75ec21",
+			],
+			[
+				.count = 2,
+				.key = "0e038a1368999e2e70b6e350e01684bd",
+				.iv = "a58952b8135420cd0f61be18",
+				.pt = "801bbabf908ff04d5856cadc2b",
+				.aad = "765203b3d61537be2883fba9899c3f3eff60cb9714e54de3a78a96dbf29cf53d82112e19b10141f13b11627a8fa55026",
+				.ct = "7f0f35cb15fb4e7e3820d9ab1f",
+				.tag = "8dce643720d9d6f90f13a155e0be5936",
+			],
+			[
+				.count = 3,
+				.key = "b69d82e78b22a473af6234066b891778",
+				.iv = "0415ab2f32d2a15006c3bdd5",
+				.pt = "d4ab346edaca5c84d45b45c6fe",
+				.aad = "f0be65105e1cd4fd1a272f7f6db958040b44edd0608b2225789cf34217cfcd6a5879b8e79dfa7d24345ad20f0c4f9a1c",
+				.ct = "ad77c91c6ba6cb29eb5e4f6071",
+				.tag = "f67061dbded1a8df55fe9fcd68f61168",
+			],
+			[
+				.count = 4,
+				.key = "78faf937758f34b6d314e2fa30f60c2e",
+				.iv = "85c9ef0e17ebcbb7227ba4c1",
+				.pt = "0ad91a8be4ccd6ee0ce75413a3",
+				.aad = "70fec6e608b6264228b822e7490e5e76398494c6489de5e839fb80513442cd0dfcf883000995185213e283f49234280b",
+				.ct = "4298d0a1ea4c54950021d91921",
+				.tag = "19893b83fd24a8c21bb4ff14612cdb27",
+			],
+			[
+				.count = 5,
+				.key = "f812627cb6dc5921d3567dd17f1f3b9a",
+				.iv = "37beb9c060f240d9ff78c844",
+				.pt = "dbce5235bccd0bc6249b30e9b1",
+				.aad = "a27fd811330efa672bbfa1cb2a221fa45bab88c5183eed6383e34c7e7450fd577f6c783c75d9ecaf74bb2ad2b2e8c143",
+				.ct = "100ab04960a762db73174666b4",
+				.tag = "122172ee3093b8cb238a7c991da3b94f",
+			],
+			[
+				.count = 6,
+				.key = "a495f82751bf7781fee36d265607aa6b",
+				.iv = "729a513baf1ccd1c97311700",
+				.pt = "0ac413fa533b01be459e95d784",
+				.aad = "3a44a7ea6d3ed13005d46c19f5ec7d2f7e50e8a268fc49e3c6fe15b41b6f6ea7245d88cb358e53cdba82cf297ea0ea97",
+				.ct = "d05f52a875f56d3a6971495b7b",
+				.tag = "14ae378a5f75b386202194c677377803",
+			],
+			[
+				.count = 7,
+				.key = "63eed2623c80ea1c5d06a0003c4b3065",
+				.iv = "3a276f4361cc6d7bdb340986",
+				.pt = "65067b281d5aafc0146d206fe2",
+				.aad = "d484646fdca9f5d3d4fa2c85ed145f99e3c73f4d81f6c08eadf318694bd7cc94382cc73a5610f9cbfd9987dc167d670c",
+				.ct = "4cf2ff71e44a39eb6a9611e150",
+				.tag = "113e7d239946d784c331bccd5e098194",
+			],
+			[
+				.count = 8,
+				.key = "3ad85304b4267dd603070c1a999eb658",
+				.iv = "2a02a6220d395dc91fa0d220",
+				.pt = "e0620a9e28ad8dba32b601c662",
+				.aad = "7a1511cab8aa9f7277f7b26cdee602e4a608b5565a20eedd66d70507a90e79da6521cae1e2ca810771392567af51d883",
+				.ct = "cf38f7abaf4f92414ecb7021a8",
+				.tag = "8bebb0b62c81a4a3ae765dbc7c8747a8",
+			],
+			[
+				.count = 9,
+				.key = "63010b75ada3ccd0c1338613d57e3f53",
+				.iv = "9898b912da0a2f169c3bf907",
+				.pt = "fc10d85cb5485be263374aaadf",
+				.aad = "565e1e581089098451ccaf1d594d1b4edbdcd5cb00ba4b2e08e4db780ce8258df41d01dbdd50521b75a72a8259f70321",
+				.ct = "8f2390e88bc6f18ecdc1a1b9d2",
+				.tag = "15c40e98b6bd5b07d4757727ad6b7b71",
+			],
+			[
+				.count = 10,
+				.key = "d2a18188bb88312ec18916431b6dd880",
+				.iv = "aedf2efb80b633d7afbe5a51",
+				.pt = "343f8363662077fb0ab50ba284",
+				.aad = "52492921f6b76e888baa5a4cb391af04faeb31bf00e8ed4363482fa95148f573b9adbebabf48d3ad33cb5ed3c0d6df61",
+				.ct = "97a6f44a04055850779bc70842",
+				.tag = "5ffb75b58b4572366fb006455f692f93",
+			],
+			[
+				.count = 11,
+				.key = "7b3b81fa87f6fc20795e5fe33fe0d1e8",
+				.iv = "b858127e11ea0d5ba523f7ce",
+				.pt = "e574920cdba3524bac8c2294bf",
+				.aad = "c23d4cf74bd76adee0973e4b3ac31a96fdeb0f2455e044d2d1b82ebd1937e09623921c81b6a1b9698b5b097b7c5c483d",
+				.ct = "016a7b57db778fd019628016f6",
+				.tag = "e8035022b05e4c10792321d195b75854",
+			],
+			[
+				.count = 12,
+				.key = "852c34591e7ffef09259a9edf25020e1",
+				.iv = "9e4243f5356d48f853cc3acb",
+				.pt = "c991389c242c48e31a9ae00d59",
+				.aad = "8a4514a5e7d4e2e036490b541206bfe6471c14bb50af6fc869048bae954b5dd813429359ee5eef23ee42ea35e0c36bb8",
+				.ct = "5c319983e5e276658f10a58edb",
+				.tag = "5343086d4ac0e45e4adc6dc27d566296",
+			],
+			[
+				.count = 13,
+				.key = "b9840f1c04f7c9e9b2c9bec0c6176738",
+				.iv = "7af462cc891270fe78566890",
+				.pt = "c9171685284b205bf4fd9d3f45",
+				.aad = "493ef83c18389c1e52050d2569f0d6f955cf8e76cf0a1697ffcb1665e285fe6e3595f456cff7f32feb7bde4cc82d4ebb",
+				.ct = "988c2c3df37c68fc8bc7a29b11",
+				.tag = "d81b0bc3543fef4a929867bff63a1c17",
+			],
+			[
+				.count = 14,
+				.key = "9449043071de904f5e6e7922b263f122",
+				.iv = "39f0713e60cbc8e41e4d7328",
+				.pt = "869a917e056f4460d6c2076d10",
+				.aad = "0b7a25e3e3027095772f3f8b8336813b607031eddd6f354a171e4b585504952cb51326c3edf4c48e41498da441cc090f",
+				.ct = "cc878c8f760961e4ad08ad09a5",
+				.tag = "c303c9680b673c049e9b7bec8c28428b",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt104-aad720-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=104,
+		.aadlen=720,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "e5b1e7a94e9e1fda0873571eec713429",
+				.iv = "5ddde829a81713346af8e5b7",
+				.pt = "850069e5ed768b5dc9ed7ad485",
+				.aad = "b0ce75da427fba93da6d3455b2b440a877599a6d8d6d2d66ee90b5cf9a33baaa8329a9ffaac290e8e33f2af2548c2a8a181b3d4d9f8fac860cc26b0d26b9cc53bc9f405afa73605ebeb376f2d1d7fcb065bab92f20f295556ade",
+				.ct = "c211d9079d5562659db01e17d1",
+				.tag = "884893fb035d3d7237d47c363de62bb3",
+			],
+			[
+				.count = 1,
+				.key = "1b96a8699f84058591f28590a5e63c0e",
+				.iv = "d437b28673240ddc63d22d2b",
+				.pt = "802192b9c2d78e1df9ac223598",
+				.aad = "0f985a66d350c153a4882d0a4fc6e1b8b8450cd0825182358521b1be5fc734338af72a48170fde7512a8a92ac81d12e3a7fdcf7d98933732a9893d92d9435fcaee6033b726d28f73c5f76fd6b93d13bc8904d11cd4a713cd353f",
+				.ct = "8c13cded61d08c1f2db878378e",
+				.tag = "43ee877c121d4a329e81e51d68a9d845",
+			],
+			[
+				.count = 2,
+				.key = "94874b6f3738d963577553a19155f4fa",
+				.iv = "8e9f61edc853db24fb162062",
+				.pt = "ab5fa8933bf8b4b6eb8fd4a0f6",
+				.aad = "d30b11456b68d89dfecc00930c5102cabdb207abadfc7e26286e822a14c6e723ea5492ef53cc2206dbe9860583e2fd2a8ed26fcf5dba8914cae4829ff83745bcf203c2c9729ec5f635d368f8697139b18f1c39ea4e3e849f4b3f",
+				.ct = "e359459af9418493dd8af46d27",
+				.tag = "4dd94f3b128f34ddd4036886fa084506",
+			],
+			[
+				.count = 3,
+				.key = "7434e4ec0aa26aa89f7a025b7cabee6b",
+				.iv = "ed9fa99d2a22cb4fcb2d25ee",
+				.pt = "fd53183688a51d4bcbe52f6d37",
+				.aad = "ec9bad331852febf4ee1928c65d57df5eea95caf852fbb821c022978d33d07fec1ced606caed13624bb6d08a22da7e23e39298e10395b29d91a46220f64ca4d7d333d93ddec412322b67d5e101784e0a65088779b8c44f7cd05d",
+				.ct = "97f74cd6ff2ea7d43262fe6f19",
+				.tag = "7ed5bcf0ce0448fa661d0c0fbcd36578",
+			],
+			[
+				.count = 4,
+				.key = "72a565d3b3b6814bea37db7f659ba1d2",
+				.iv = "6f975cfb8f0973eba7cff602",
+				.pt = "46a9956585a9c06507ec073e2c",
+				.aad = "bac017084cdd4c035a1917de4abc453e875d1ec9f7d603683cccdd64e6273eaf11619acbef407fed03ff3e76373132c5bd680f7645e4fcdb09ccc60ce65584f607a090426f660df5bf4daba95e7cfb3f30e4197218f8decf0dca",
+				.ct = "a657482d12377846ebe3ca6f66",
+				.tag = "0f10964e776b25ae079b357e199c8cd0",
+			],
+			[
+				.count = 5,
+				.key = "a85a8e0f16c7af9e7f32c817611a0249",
+				.iv = "12b4a1c1bed206c426c1d977",
+				.pt = "4544079578dc90631c616a89cb",
+				.aad = "40741eac93ba6f3b60fdf1ac1b17fa3dd70d1ad4755f5a6bbd59c9c5aa99bb65bf7e077e5863b1d0b93104dea7b8e455d7bc149668822dc788b46980b2b439c33e10cc7c17415529c942e9eaf33eaeb627bc4cffc35cae4d37c9",
+				.ct = "b0be95166bf557bae6152b360b",
+				.tag = "46391f35d73901732a7b9c7eb976aed9",
+			],
+			[
+				.count = 6,
+				.key = "96c837ca5294446d389a6f06cb42e737",
+				.iv = "b37ce0928e17982ef783b2b8",
+				.pt = "8b77fe7aac6a70fcae1ee74157",
+				.aad = "8f67abbb7a9394821c7196349262c589d5e1c156d6126fb3da0562bf403e733508f1f1926d6c9045350cad3d1243504dc70aa17a4de748e4a1fd804ae262c8ad557adaf799466434266b91d2c083f96218473adfc9dd2e8c3700",
+				.ct = "d950ab8631a66c313d6801977d",
+				.tag = "31e109753cbb651ed194369f00840323",
+			],
+			[
+				.count = 7,
+				.key = "fad699fe2dfb8a2b955708ff97b15892",
+				.iv = "61d9979bb5dd655e826abf68",
+				.pt = "ca88d99b2c88b078a9878fcfde",
+				.aad = "7c02b7f2e7be357843a86596d7ba3a87e922bb0a982c32a20e809491c6343cfee2ee92fa2b6f898ee5b77a9ec5719de356c5e7507b1cac49b06e6fd5311eb9cf7a0c42b5252ca90632296d12ff5316a56253cc6666fb4d0a38f2",
+				.ct = "bfa286323d4904de8cd21389c0",
+				.tag = "cf3af80df6bde595d6b5a28d6b7112f1",
+			],
+			[
+				.count = 8,
+				.key = "ca83a1109cf5bfb7d24d6ba72c6c1a74",
+				.iv = "ee40762d9a5fcdb41438ce05",
+				.pt = "53c7fa9eba69541113c1998c46",
+				.aad = "f54c4418df498c782ed61ccba4e657c8de9032231fd6a98c718063600d96f0e5f17fa73b9492faa264b5b9706e0d096386983694fb41b904c109b32b67c4e472e2a416fdd8f2a41fbfb1c5ecdf5be97fcd347c2541c1e50cfe18",
+				.ct = "8cedd6149a203beb47d78489ff",
+				.tag = "00906817785539306d07775e215bfb4b",
+			],
+			[
+				.count = 9,
+				.key = "65a467d5e8d503a0916e5ccaaf240b20",
+				.iv = "0cc6f2f2a5cf96ce6adc2c5e",
+				.pt = "b619af43215d41b1b0650bbe0d",
+				.aad = "ae98d8e675bca2cd4bf8f0860d46bd2c18f2d15dd431c51fe63c878cc9b1cf47a3b84cf1e9a02a4f0a8940008b72f4f1ed9cb5aae670899705573a8045008cad1284cddd1532791d38c8067694669d8b7d06a46969c413e6e35c",
+				.ct = "6c24bd0ecc97873f0f7c8802c5",
+				.tag = "03168a06b495f3f31d46f0de87d5471a",
+			],
+			[
+				.count = 10,
+				.key = "4cf328e1f2f180c2dd9e6d703cae188f",
+				.iv = "35b7cfe65331e520265d6657",
+				.pt = "9c1a195735a84e6491a8ac07ff",
+				.aad = "72a6a4f43598b91169a834d906cbe4cb40da1a41502a7f4bc80265a239330a9102de94a7fe8d57d28dc125aa5e6d061e7d2a90cdad8406ee899687d02f780f0c1ae8e944b300b61cd3489852d61eb2349a447be85d25d3cdde0e",
+				.ct = "eb4d38c23be97445c25e8bf2f4",
+				.tag = "b005f424f77a81f4a965aa7a1bf8cfe5",
+			],
+			[
+				.count = 11,
+				.key = "7d62b16a551c12ac2102472492a4d3af",
+				.iv = "d464c988013cfee4bafd7a9b",
+				.pt = "6de52d4b0878c26b0d8a6ff127",
+				.aad = "12a9155e72f6c19a9f00a651fe52d6dac331cac06b3ba594e24021900cdaa7d73a75a0968dd5d7d2f16ebab2197c620a1768bbc0839e21c8a37203af4c2ba146fdcac2b48701cc4bb5863f514c6562e01e807cd5308c9274ad9e",
+				.ct = "a6dd42b752cacb47f1de9adaa1",
+				.tag = "c6472e722a39ae44be5e4242cc58e046",
+			],
+			[
+				.count = 12,
+				.key = "ef6c85fa490919d342734357fe3656bd",
+				.iv = "7790d3a8deb8712c68ddae80",
+				.pt = "bf45d58e3cf0cd47bfe90814ea",
+				.aad = "fb04ccc1d78523c9aef6e8285fa991026c5aa4cbc8c37f9e0969d74c571e2409775d116c4a55b03f029842d7e3a53df8f7ceb9469b4461649dfb4183e57ebea8971bd967ee95d5f656873368a83313fa31cf6ab11d7b2c77d20d",
+				.ct = "7cf1afa60d3428c8fd25d9479b",
+				.tag = "63e3a5eebcd72468e8ffab55e3caefe7",
+			],
+			[
+				.count = 13,
+				.key = "ac5b4ad09c73ed0b80931b920ceb0fad",
+				.iv = "1c0ab2941025ce7f084b8509",
+				.pt = "bf64de420133b29d1d50f4757d",
+				.aad = "e8cb8547ac67dccb3cb88e0443f9566944a79adaed7680b9e174080751d91e4d83357f28802a576e0fb53fb32e8d4d879d55aa9e79e201be363f4ddb16dad35e058a7d69e262c359c036f0d72151aa0bf04fbef5c4c3f7e91d05",
+				.ct = "3761f611ec3ff853c915e61ef6",
+				.tag = "bf906c3dabd785968ba5c7abd4a1eceb",
+			],
+			[
+				.count = 14,
+				.key = "35818c93c54a321f2ccc28e967d22ce1",
+				.iv = "18dfcc73829a3c13287a6112",
+				.pt = "6f32f25bfc511e8a7c60854944",
+				.aad = "09be731cd52fe4f7c6dd9aef978f8f117c358997842ffbb2df96727625669b58513e2bc97ef9c7119afa6b088a4f9312bebebfa6e71080a6e7f369207f3396f9c240a13143d7bfc5cad5049cb067ce4f57876d883bc8283fed87",
+				.ct = "9553eb0378229fdb213fd46002",
+				.tag = "ec228ec0fc273b67d922c2ba3dde5bdf",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt256-aad0-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=256,
+		.aadlen=0,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "9971071059abc009e4f2bd69869db338",
+				.iv = "07a9a95ea3821e9c13c63251",
+				.pt = "f54bc3501fed4f6f6dfb5ea80106df0bd836e6826225b75c0222f6e859b35983",
+				.aad = "",
+				.ct = "0556c159f84ef36cb1602b4526b12009c775611bffb64dc0d9ca9297cd2c6a01",
+				.tag = "7870d9117f54811a346970f1de090c41",
+			],
+			[
+				.count = 1,
+				.key = "f0a551c56973e1cfdfe2d353aad66c2a",
+				.iv = "94e95e0544ab0b0b9997aee3",
+				.pt = "734c0907ef49a1d86bc665bb9da9cedeeecd2abfed7f591c201ac360ca42f941",
+				.aad = "",
+				.ct = "f2c2f0c35e0bf6c5f5c24d8aadba19ed35848959b9c586604c396428493418d0",
+				.tag = "8855aecbe9604a839fa5d481f8760ffc",
+			],
+			[
+				.count = 2,
+				.key = "c635775fa1416abe375c792ea7a486ac",
+				.iv = "5b9f038596f55115986a3109",
+				.pt = "54172156fcb2c40392009807bd3ec4a11c2c1b6d69ad20c773df3d9e7cf35e3d",
+				.aad = "",
+				.ct = "73a9d9de0a3dcdc52dd9745fdf12353f4d63d0c7646443f5206883f6b7da2b94",
+				.tag = "11970a60855b0fe890d4f5988f6cafae",
+			],
+			[
+				.count = 3,
+				.key = "43d0651aa5d06f2846fed833fbb72241",
+				.iv = "2ae626772b73c7cd25dab014",
+				.pt = "cec1607ccdc6332e5371766190cc7b03a09fb814b3d2afc52edc747d70b7fff4",
+				.aad = "",
+				.ct = "ea742cc41afac5ffbfa81e89bad82f1f8a07eca281fc253b533cc157eceec4e0",
+				.tag = "db1e19fb545ae218f4ad3c9a6da64997",
+			],
+			[
+				.count = 4,
+				.key = "defa2f0eba651799c6041e6f28a0db3b",
+				.iv = "102158d6ed54ecc7efdeba7a",
+				.pt = "67844577a198b456fa410afcede8fc24fb970459096ebae03bfe1dd32a6b9665",
+				.aad = "",
+				.ct = "4d87782c99ea2b18c58393eef975007b9019f42667b98098404137dc085d631b",
+				.tag = "fbdf857c1bff89bd725b8ca90d643e5b",
+			],
+			[
+				.count = 5,
+				.key = "f098deb1e8149b3c88320efbfea087e2",
+				.iv = "8146393ed0dd09d89d1ae7e5",
+				.pt = "8ee6f4c01e98b501a9914f57239bda7d5831ac147c320651863e06db60c1a02d",
+				.aad = "",
+				.ct = "122309ab94c98901104bda0488efb563959da64979653ee4f8e658a3ea8a3c9c",
+				.tag = "93e3d93d0580c5567ecfac274da211e2",
+			],
+			[
+				.count = 6,
+				.key = "63b28aec8f7dd44af269e48e35294a34",
+				.iv = "4c3d88500f6a483b63ba1139",
+				.pt = "5b86eb718b3917537d4ef51b6c74a85cc9a90002410d8f346cbe56c86ac72d4d",
+				.aad = "",
+				.ct = "d0281117e29fbf9676f7887811b010a19a34475ad9e4516cd8424d0b9e5a2c3c",
+				.tag = "904ba928205fdda9e2674805be07e93e",
+			],
+			[
+				.count = 7,
+				.key = "765ed884a7554c792cc671e93c02433f",
+				.iv = "667467b168db56adf48a26e2",
+				.pt = "b941bb1f73980b0d76324a49a6c33623d4a1063b05c82cb43e4b0cdd4f913860",
+				.aad = "",
+				.ct = "84906e78ac79df67a0fb4ccf4c8da439094339adc92d98abbe032cdf4f5d92ec",
+				.tag = "750a89a842a6dd7d1317f561b9038402",
+			],
+			[
+				.count = 8,
+				.key = "816ed7edadca9e8fa2b2b9f9ebd14d51",
+				.iv = "7da514e274b5b812722b5c3f",
+				.pt = "c76908234954ff939ba2293fa1ac654a4bee41a574f2694d090980481a08083f",
+				.aad = "",
+				.ct = "b59a50e4414b4903c195ff47e8f9028d77b7e73a9a54e1ced9ebb1636b123864",
+				.tag = "007af223e7ac139eafd78d0a2c87ca25",
+			],
+			[
+				.count = 9,
+				.key = "f7b38d0d340373b98b89725fd889be49",
+				.iv = "bc2b87a883af1c0bff8388fb",
+				.pt = "0a8de4df6e01bc7b2a36e4a123af8ce6240bec42cd4e4f09aa92520c1658103c",
+				.aad = "",
+				.ct = "65ee08ab751bef3720db313491fca20a87cdfd6b8b028f53bf352304da504911",
+				.tag = "abbc81ca718fcbc6a75c85ada74e466f",
+			],
+			[
+				.count = 10,
+				.key = "dc662c77a2d520a067cbd6bd7e119696",
+				.iv = "23aa76d1e8c3a72be862a5eb",
+				.pt = "5fb66e144d2564e096832065647dae768659d6dcd10a1dbe00858ce4f5148912",
+				.aad = "",
+				.ct = "612713f9e6bd8017f61410c10ba1bd21adc87565bafbd1839d9572e270e94210",
+				.tag = "9d7616c3b486107cc74a8a2aa9c65209",
+			],
+			[
+				.count = 11,
+				.key = "5c5b3799a19098b9c5737783ef0c80e9",
+				.iv = "34fb9e101915639def30f40e",
+				.pt = "05f15cd45a82f36bc4e5e3d6db7a60640faa0e929c00f0354e913bcb02d83118",
+				.aad = "",
+				.ct = "ad60f53d51b6b00fc3366a4b4bc16b678ecd12473e8bd55c363bc0d94a844b70",
+				.tag = "1a528398ee2c9f436743d1a08602c5b4",
+			],
+			[
+				.count = 12,
+				.key = "3a541317198a2fb1b90470e90d6d7f38",
+				.iv = "dfa6eb2b53177ff5d0924295",
+				.pt = "3ac18af46d3fb15d477b849fe1ead087840742cbd8b2ec31b45b8ac2e4a53975",
+				.aad = "",
+				.ct = "66755e7ec710a8ed7c776521f214ceb54e550220177eb89fe3949c9e74e2e108",
+				.tag = "20425ac5f07868b49edf9896af64396a",
+			],
+			[
+				.count = 13,
+				.key = "8f85d36616a95fc10586c316b3053770",
+				.iv = "d320b500269609ace1be67ce",
+				.pt = "3a758ee072fc70a64275b56e72cb23a15904589cefbeeb5848ec53ffc06c7a5d",
+				.aad = "",
+				.ct = "fb2fe3eb40edfbd22a516bec359d4bb4238a0700a46fee1136a0618540229c41",
+				.tag = "42269316cece7d882cc68c3ed9d2f0ae",
+			],
+			[
+				.count = 14,
+				.key = "5fe2650c0598d918e49bb33e3c31d5b4",
+				.iv = "dd9501aa9c0e452f6786ebef",
+				.pt = "5a6b60ec0ac23f6d63ff2b1919ba6382927ef6de693a855f3e3efd49bd4453d8",
+				.aad = "",
+				.ct = "f0ac2d9153f00be3fce82d24fd3df3ea49f8265137417468724ae1342c6d9f00",
+				.tag = "6bab3332c8d370fa31634c6908a4b080",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt256-aad128-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=256,
+		.aadlen=128,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "298efa1ccf29cf62ae6824bfc19557fc",
+				.iv = "6f58a93fe1d207fae4ed2f6d",
+				.pt = "cc38bccd6bc536ad919b1395f5d63801f99f8068d65ca5ac63872daf16b93901",
+				.aad = "021fafd238463973ffe80256e5b1c6b1",
+				.ct = "dfce4e9cd291103d7fe4e63351d9e79d3dfd391e3267104658212da96521b7db",
+				.tag = "542465ef599316f73a7a560509a2d9f2",
+			],
+			[
+				.count = 1,
+				.key = "9b2ddd1af666b91e052d624b04e6b042",
+				.iv = "4ee12e62899c61f9520a13c1",
+				.pt = "01e5dc87a242782ca3156a27446f386bd9a060ffef1f63c3bc11a93ce305175d",
+				.aad = "e591e6ee094981b0e383429a31cceaaa",
+				.ct = "87b976488ac07750aa529e1602290db36f4d38d5c5ccb41292b66c3139617ebe",
+				.tag = "c4e7ea53efd59354ec6b4b8d9f8b237c",
+			],
+			[
+				.count = 2,
+				.key = "8737490bdc02e3543c312e081e2785cd",
+				.iv = "cf3460b8010d410fd5524720",
+				.pt = "aa0acbbf2b847910d56ee4da8a9f40973f85d6cce1d6326a777eff01173e66d0",
+				.aad = "eba8c1ca49e977cf26eb52325e59afa8",
+				.ct = "893902594834c3a72da17bd73ccd53238a581a3e33edf8b9b901662b5f7e1d3a",
+				.tag = "36a3a106d3c10a65da7d81942c98b349",
+			],
+			[
+				.count = 3,
+				.key = "f7fc73fc1c428e56af92e6b2870845e3",
+				.iv = "375b1a84fefaaa807ffeba18",
+				.pt = "f871a9a695b74f9501942f99a3489d4befec6768d7c17d1c38f51fd6cd16adc4",
+				.aad = "0d668901163a08a338c427342d31e799",
+				.ct = "ef65290d220227147154f66a12004ce292507527f17c5119c69fa4f81e56d0a1",
+				.tag = "2d48c8b198610cdea73965f6ab1d9a12",
+			],
+			[
+				.count = 4,
+				.key = "e522d6715bb408401c5a7af3ef190caa",
+				.iv = "1a3b2a313418ed26de8ddf57",
+				.pt = "d3f10233505f524ffb8d961d8321be88c975704bdd9df958f3795adf0085aaa7",
+				.aad = "b993eb193e9d59382919ebbc9e3ad829",
+				.ct = "e1519156cc27905b8da24d29fb502d54042eb6fab10c5f6a99d1ef54c92c555d",
+				.tag = "7fd04f637b748db17da7ee34099a112a",
+			],
+			[
+				.count = 5,
+				.key = "55190de13cfbbedf4a0787f9ecc34e45",
+				.iv = "87803bcf6a69962abae929e5",
+				.pt = "ee5da0026ce103140873226149b75fa734888b00518aeac0224466bbb0d23d0c",
+				.aad = "067c3857cc240c6bb5f628bcc7cf5559",
+				.ct = "06362d236e9618037d31d4f1ea0df6064e0bf06b6c5904530e1002e8479c16fb",
+				.tag = "342a27aea0ef0aa26ad92ea3a92afa37",
+			],
+			[
+				.count = 6,
+				.key = "65f7a5ff7feaa8d50736dce3c8524cf9",
+				.iv = "dfa0822065b1ed4987685217",
+				.pt = "a32d3aed1371cfcddf5e735a9d95b96d1ac59c3ab784be8364cc1cf3b71bf70e",
+				.aad = "cc4fd4d82584059b5a165d632d56fe1e",
+				.ct = "bdf356a54a5cfa281edbe7e35966b5b8a68894f282cd7a734d502dfee6dcb1f5",
+				.tag = "4ff05b2898df6edc27574a2eb395ffc8",
+			],
+			[
+				.count = 7,
+				.key = "df0ceb73dfbd06782f69cd51cc4fc1fb",
+				.iv = "c5fb4bf0b40477e10e5d15d4",
+				.pt = "fa9da35d8d812585322fa1c0cf4633b06424272cfac1c5a51138b0b9b91d443d",
+				.aad = "f292c4c2a2356e70feb0003a28708ed8",
+				.ct = "e81cd00a96dcb719fc2c3af7b5420cb5667fed53af8f561dc216fc7215ab16a1",
+				.tag = "60848116706be55b4ea939ba899eb2b7",
+			],
+			[
+				.count = 8,
+				.key = "72205e651f03e2c16eea7689af43bc4a",
+				.iv = "42c47b2f95b0ec02652f1fff",
+				.pt = "7fbe781650c396ca8cdc6b2efddae0007cb008c4fc7310fa17ec5ae060171391",
+				.aad = "7f978fc1f1b2f9f37b88b96b8c14ebec",
+				.ct = "b3f3a8bfe2906ac1bbc93ddc701a5529c2cb156354cedf85928f605ed6005bdc",
+				.tag = "9151c8000dc25eba4a57908b238afb21",
+			],
+			[
+				.count = 9,
+				.key = "a2c96c0b051c633ec10b2fccb43f4517",
+				.iv = "c4c13fc9f15f482bf6bd8d0b",
+				.pt = "5f0a50d976eb2048bc481d7bca9b3e7367c3b12c9e98ac8521f45c715ae3bfff",
+				.aad = "94afc74a7040c47705722627e05f159c",
+				.ct = "2bde225ca63b40ce64500c40c00fa5c50086c431e95d1f99678cb9a90bda2502",
+				.tag = "6a296aa47e52737304eaafec0c3d0c65",
+			],
+			[
+				.count = 10,
+				.key = "108146de148bd4dba69c4ad2c11a35c0",
+				.iv = "9dfbe2fa46a46c3ebaf31c48",
+				.pt = "0104c3da4cbe50f31ccfcc426d634d8d39686444a3b75bfb54d67349fb7e7017",
+				.aad = "bc83808f9e884967c84d28ce981dfd1b",
+				.ct = "3f4424912dfaafd8f8b08ba7baea95effb3e4571720a2626b92ad8f7a69d4477",
+				.tag = "eedec85ed9e14a5fcc2cd0ce50ff00a4",
+			],
+			[
+				.count = 11,
+				.key = "37b9352444bcaa9624b267566a59095a",
+				.iv = "d7a72473b99b2890ef7c4928",
+				.pt = "93037b2b4814541f425ea0bcc88ce1486632919cef443a5374d9944edc7e42ed",
+				.aad = "f7751af2dcbf5a7eb81d6bd73ced1220",
+				.ct = "491e0893a652a5975d3db72868b5619311a9cddad11c5522e95893c42e3b63a9",
+				.tag = "fcd8120512eb3f14295efd3b045b0868",
+			],
+			[
+				.count = 12,
+				.key = "dd1332f17e62b2be889e9a399fb0d3fe",
+				.iv = "3f0028cb7cb8f1091a4e2f4a",
+				.pt = "9c2e07683c6ca06d012708ad6dae95082eebd36261ccc874226ad354cc8ba82e",
+				.aad = "2f33c5f85f976811ef67533f488917fa",
+				.ct = "a4fa9311e3c02c3b068a3f11ae7657efc3a3e69991251280503940ac4a7e8950",
+				.tag = "0e5e77baa0f36db11cc5bfc27ffc7a49",
+			],
+			[
+				.count = 13,
+				.key = "39e215f1a2572257efd939ac0365ec97",
+				.iv = "e1f4da712c4c1eb31027352c",
+				.pt = "21f7d62bb2918dde6acf9b6c9b7afed4be7d623c3e2070444b087fb40de7e6f1",
+				.aad = "9368e8d525e77707d316542dcd735c6e",
+				.ct = "3c93eb8df00556e3f42d54acfd635fbffc0f77f868a68f738ec2918213ba9a22",
+				.tag = "0dd8352d507e5253ee0849688d2ee86d",
+			],
+			[
+				.count = 14,
+				.key = "06f36f4939473b540e71db35f398a53d",
+				.iv = "13efe211cb6ef3a374f4da85",
+				.pt = "a5aafedc4c1ddb7f6b38f7974d16a1c88cf7ef1ebe5027ea4fb55db16101fc20",
+				.aad = "8cbe3e3eb19818db197901bd4ee42de2",
+				.ct = "7d21fb06002d19f40741b275b72cdbabbe032460ecf13d98f1cafcb30f704af0",
+				.tag = "dd4beca1670cf437372aba77bc3e9261",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt256-aad160-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=256,
+		.aadlen=160,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "fedc7155192d00b23cdd98750db9ebba",
+				.iv = "a76b74f55c1a1756a08338b1",
+				.pt = "6831435b8857daf1c513b148820d13b5a72cc490bda79a98a6f520d8763c39d1",
+				.aad = "2ad206c4176e7e552aa08836886816fafa77e759",
+				.ct = "15823805da89a1923bfc1d6f87784d56bad1128b4dffdbdeefbb2fa562c35e68",
+				.tag = "d23dc455ced49887c717e8eabeec2984",
+			],
+			[
+				.count = 1,
+				.key = "8bdec458a733c52cd994b7c2a37947d9",
+				.iv = "bf8d954df5f1ee51fc3f1890",
+				.pt = "9d5f1c905df900111f2052a60913d8a9d83cd40e43ba88203b05e3dbf0e37fbe",
+				.aad = "ffe26874a54bd38a026c5c729e2852a748457412",
+				.ct = "f056cf8ea6c4f353f08d54c27a8ef3324ab927a641563f9f5dc5f02c3b2204b1",
+				.tag = "2f8b9351426363f09f5d17f634a381a9",
+			],
+			[
+				.count = 2,
+				.key = "0a651f95b6fe5d9442fd311cee245229",
+				.iv = "b7b2349b60ac5cf09885ef4e",
+				.pt = "1cd7be7611d8f7c9d75fdf3f53d28172ae4d462c06da56cb386687f2c098e28b",
+				.aad = "725a089a37ba50e53143722140ce5c37bc0a48e7",
+				.ct = "e2926f34c30883a3b7eb0dc47627aad090111654a4980fc4fc952fe7a7b6b60a",
+				.tag = "617345dab8973c21ad711c2a51885f83",
+			],
+			[
+				.count = 3,
+				.key = "fec2452d0883a54c0e33fccc092ddcf6",
+				.iv = "9e3e354d30c2c77cd0d9a0fe",
+				.pt = "95b9c5e6adb7fcce212abf535095bd955c3aa0f7ac2428841f4de9035263446a",
+				.aad = "6c12b112110ebf36930910f1bfc9ed49e14440b1",
+				.ct = "a85754f451b40f3ab576327b4b99fa09adc95380299f61c5c7a8e28188d2a40b",
+				.tag = "94b979f7718ec13412e03f3461440100",
+			],
+			[
+				.count = 4,
+				.key = "e5f6d9f2c8ad08a1500157e027b92219",
+				.iv = "94358eeb6829f1be4de3abfc",
+				.pt = "3204856040edd9401a890769875cc252e5dcb4a77e951e6eaef6d7318a06bcf4",
+				.aad = "b3b860929cdc3fb0e393f21287f3dddc4a1c927a",
+				.ct = "b1ba514ae4c41270d7beafaa1bac2fa993cf5af3607a008c6bb4aee2a1212dd4",
+				.tag = "7e0f5aa40553128f2c15cb9567c950e1",
+			],
+			[
+				.count = 5,
+				.key = "aeccfc65063c3fccfc5a0b29193d1ef4",
+				.iv = "70649c9d2848d21c575d6914",
+				.pt = "46ac375da56527c3c6fd5f28f33c63b1ffaf06c33b8f329eae37f8579a62291b",
+				.aad = "637dc392cfe3a8e2fe5e871799a46dbe38f59610",
+				.ct = "7f8841d3c82907596c4aa6ed433b9eb33b24d66f0a0cdd846d5ea51668975d9d",
+				.tag = "dfbab7a42d60cda73b03189034e44ff5",
+			],
+			[
+				.count = 6,
+				.key = "1dbaf0bdd974b48ae373f686a961aeba",
+				.iv = "a3a6454d17ac622248ae9857",
+				.pt = "83a131f7737b4e881fb255ab9225f7faba96476626ed27168d6342ccca8d3e75",
+				.aad = "393843360c388a6e2f83c7202e8da6fa7041a6be",
+				.ct = "2471d23957d6305a86520b757c54890a57f665a44a19af2f8d55e6833659e730",
+				.tag = "4693b10c8998580e986be0bb26a22e3f",
+			],
+			[
+				.count = 7,
+				.key = "540f40fe8ac2e506b69bb2ba356ff8db",
+				.iv = "0502e51ac42f641d7a0176b0",
+				.pt = "910a000c5e99245870f08dd658b648f944d04426a70d6d46d8e88ec8eddfb324",
+				.aad = "9b1f2b2fd7265792852628df926abc5609aaa762",
+				.ct = "9381d4b72d740b58c3f27f8dff01d8bef45e769b834539a439173c88a6d18e62",
+				.tag = "7c678893a122a50f777dfcebf514f81d",
+			],
+			[
+				.count = 8,
+				.key = "55d0e0560a2027bb873d84a39ff87046",
+				.iv = "616d61ba94216c9c7c0903b0",
+				.pt = "1610431777c01136c0a0073f5c114c357f0216d5eaa31cd40b8cd605ac56dfab",
+				.aad = "a0203e1f31f66bfdc819d086a48b705d1eb7721b",
+				.ct = "5d846a8dfe02cf2454e11075a236b2a6acc59819e9ca6af580690664c195edd3",
+				.tag = "24cd0dd950859ab9d1ae654ef7174f98",
+			],
+			[
+				.count = 9,
+				.key = "b7ff8402f1325d945c98662003323db7",
+				.iv = "6b6163fb2d1641bce33459e6",
+				.pt = "a2a653ee98df41fe873bc036a5fa7ddfea8d63ff0949ae8e1489cdb0c3a80c7f",
+				.aad = "50a7649f5ac25f110f9408ecf3289d978a55620a",
+				.ct = "820a373f446a8341c8d928d223a5aea854b643ff07902b0c5bd0c6319b42d855",
+				.tag = "764c69deed533ab29bd85dd35d4dcf9a",
+			],
+			[
+				.count = 10,
+				.key = "48c901ba4e905bd68afdaec739ae00c2",
+				.iv = "5bbe3dede5ebbd8cb845a9b6",
+				.pt = "80b845888bd2f25defcd62b72b6bdeebd6152b3aa6b006891b0d69769fcc06d3",
+				.aad = "0c0cbcdcdbb35a35116b12b62715df4b647d78c5",
+				.ct = "512779582d1fe1831f333bb563634acef8021c3c76b06beb6c7da98daac4c229",
+				.tag = "15fd32f96a4b9505bc1373525d40eeb7",
+			],
+			[
+				.count = 11,
+				.key = "c82cc4d9ff0681968839991afd0dfc2a",
+				.iv = "26a95931946fd2118ccd01cb",
+				.pt = "7516c4a781be02cafc36df4a07d2c9ffb978fdecf5217240097d5c26ff1e77bd",
+				.aad = "8bbe80d4f4cd6c61b4fe3d24e98853acd4dd83fc",
+				.ct = "f98436fe4bf6e5993adab0f0001bebfb449735eb365b9e7ce4b151f82005c5c7",
+				.tag = "c83be461e1fedbb4ddf3ee72b9debe20",
+			],
+			[
+				.count = 12,
+				.key = "748a88bf4e264a1180bfd665072aba65",
+				.iv = "b0a768b62de3cbbc1bcfe93f",
+				.pt = "1e1df61a9f10c7b4057d684ccef74e09f2a87f7e4aed393a451461d574c8ddbc",
+				.aad = "f4b102d885495fb893189aa216d8ab653bb97b99",
+				.ct = "5e1af9511989069a615a6850402547ef4788197452461f1241e24be674c60074",
+				.tag = "734e1cc937ca384e282410fd9fc4bff2",
+			],
+			[
+				.count = 13,
+				.key = "2393180bb81320965a58424b287c9b3e",
+				.iv = "480053c69ac54b93f5e81338",
+				.pt = "d46fcbf950bfcfca3906769f922821473d3005d5a1d81278622d4d3cd9721a33",
+				.aad = "f6a2a3ac8e462fb01bbedcc9b0f8686ad4477929",
+				.ct = "125874ff5a7f8936a76b11587bbebd461e27638bff5a1e993465c9cde82f2bd4",
+				.tag = "9b625b4c2f66cf2fc88043b9b4c6f2fa",
+			],
+			[
+				.count = 14,
+				.key = "d651166baf42b75adb26e370b76016e5",
+				.iv = "4af70e3be1357501cbb16bca",
+				.pt = "21d76d04488d4c33a7e8822797f785b43540bd374206966c9ef7832c51cc009f",
+				.aad = "2c1072d5df5306e20d323a9897abac120bfb4d04",
+				.ct = "bc557572490f4d63811f8d83e58214ba4d8d24290264381838328a2962f010b2",
+				.tag = "8bd1f65c551c4affa517a8b03b6337e2",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt256-aad384-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=256,
+		.aadlen=384,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "48b7f337cdf9252687ecc760bd8ec184",
+				.iv = "3e894ebb16ce82a53c3e05b2",
+				.pt = "bb2bac67a4709430c39c2eb9acfabc0d456c80d30aa1734e57997d548a8f0603",
+				.aad = "7d924cfd37b3d046a96eb5e132042405c8731e06509787bbeb41f258275746495e884d69871f77634c584bb007312234",
+				.ct = "d263228b8ce051f67e9baf1ce7df97d10cd5f3bc972362055130c7d13c3ab2e7",
+				.tag = "71446737ca1fa92e6d026d7d2ed1aa9c",
+			],
+			[
+				.count = 1,
+				.key = "35a7eabe7de2d176e97cdb905c0b7f17",
+				.iv = "2fa0cfef89fd9849df559c98",
+				.pt = "08f23fc6fde45fe044cc2c397390bb362524bb16cfab7c548de89faf3ad98947",
+				.aad = "314e0423ac429f43ed90d731fcb5bdc7849595ee16553a1b7f91412bf98ac4cb052ca91c62a33b3928ee2887ebc273b7",
+				.ct = "cf040174f8e280d10aa65eb59db8bf3e4e2a8aa01b1f320564314946b3749af2",
+				.tag = "94f78c8ab96107437826050e1a89b9e2",
+			],
+			[
+				.count = 2,
+				.key = "23c31e0e50ed44fae7e6df38abf0b16a",
+				.iv = "779034aee3e3b1942ef3e713",
+				.pt = "681d498d7e85684c5996ce27270fe8065089e58617cc6deae49cceb27dc1e967",
+				.aad = "6a7877001fb018519c7f660d77cae7bd892af075ae2d68940071f9156bda7010eb25d57885913544d4922a21347c808e",
+				.ct = "7b14a15674755b66af08d581ee6f8b98691927cb1f5c43e5589de61c1b3883c9",
+				.tag = "2fa40d9c65eed28a99f95af468293006",
+			],
+			[
+				.count = 3,
+				.key = "4b4f9155d8db85e0e2b36bf3aa981e6c",
+				.iv = "7c8d933778e1414e7338d934",
+				.pt = "f8a26c7a9a614a17151fcd54406891adf34e31a0d55046e1b413195b44113bb7",
+				.aad = "43b6c54526318efaa8f0a4979ccfa0f299f5d9889433b19971f60a663e359d1f2c1af393928c9b4165c07d7536c910de",
+				.ct = "3f9bdea3c3561ad417c205887aea6ca1ee070057388dc80226f331ffb0017de5",
+				.tag = "e8ea1d3077df2c3d20f02a5046fdae73",
+			],
+			[
+				.count = 4,
+				.key = "4148dd87bc6aaa908a0dbe1e5d2f6cc7",
+				.iv = "d01ffa7787117f8cb0b4014b",
+				.pt = "bf1968a91d5da5c9e42ffb5cdf11e0d31b69935b22958c149c005d52576b262b",
+				.aad = "fdeceb385ed6de0d2d15453f022dd455b8db3bd9f13e44f085722a6935ea6631058e0cb5fcbd3b9e97db339b529de123",
+				.ct = "bfc9ecbbaf49371107cec37f80171f94141e25a486e1b42d8258208a6038fa34",
+				.tag = "f2dad0b16bb728cb957ad9ab0716d195",
+			],
+			[
+				.count = 5,
+				.key = "5d50961aa7fad7cae9a8d043e191c9c6",
+				.iv = "263f4dc6464e89110a77f24f",
+				.pt = "0fed89fa86e5fbc4bf2e352caf8e1e8910f106db7b5092feec9fff5f4f768ae4",
+				.aad = "e74cd8621c2db03d6b47cda4ae0671dfe8bb62f26715bd4397adc679c987016bf305a1e555ebc91a048e2a7bdc7cb8b9",
+				.ct = "2190380bee10ade973aea0db269835649f4e53e4724598e1a935704a40411b16",
+				.tag = "0aa3d68d90ef3d329ff394451db0a2c2",
+			],
+			[
+				.count = 6,
+				.key = "c2428b54a781242f896bbc8816e8176b",
+				.iv = "715d8c8397ee55eb53f86a2a",
+				.pt = "0088129bb514a66d5a208838e20c7978ea6389cbd56e85de87e0db0608d8c1a4",
+				.aad = "435bb2a96fae0ab64c0a499d6e50bf2e5560643338aadabaa795f82d6503588d6522a70e4e475297aa9c5bbca7138b05",
+				.ct = "a9fb750c009ffd7fe76703e3588f747fa58cef68b1d9dd2f953bbf3ab6da2b59",
+				.tag = "613bb91239aafdced8fb87b6ba0f9e5d",
+			],
+			[
+				.count = 7,
+				.key = "6a3408481a54a1d9231142ffb9fd354f",
+				.iv = "bb2fdedd1a33321ace0a5c66",
+				.pt = "63c934eeea0dca9732734d800034e57616f4d339aedefd515a829300937e6d5f",
+				.aad = "448f17c604cb976cb527b3b1f8d40350420c94545d73ab72a3dc10a32cec537d78a17d32fe073b329e25bb2d538b5bc1",
+				.ct = "b413a9c842fa51001b8949aa81dfc10408391892eda84785e725745378536d24",
+				.tag = "1e323d12856a644a86f394f96185a07a",
+			],
+			[
+				.count = 8,
+				.key = "c5a7ef970a7f42b83194bfaa62dc092c",
+				.iv = "9505924d0b11200db3c40529",
+				.pt = "84ba18d1e1503d1c512e0956380811bc70f2d97f65269712431a3720ddac91b3",
+				.aad = "c2b989d3d56d6dc0c3e846631e11f096a1c3f016984a2a60f593f5b45acd28319ac9828773c6d1e043c6213ce970e749",
+				.ct = "b07c02dabffaa8f7b11f644e547f887f78bdc9babbaa0ca66e350e2b5a293b35",
+				.tag = "11393df432636dc7d7a3f183f531166a",
+			],
+			[
+				.count = 9,
+				.key = "3f45c5c7d042ee34e8257bf83a46144e",
+				.iv = "0c732f208ec1f8e0e0de0eb0",
+				.pt = "d46fafdf04468e91b9b87a84f71261bcd44b438e3a943590c6d1990786909ec1",
+				.aad = "991c82c9e48dc887f054bc0b45979dd8d244954ea910e30139da9dad476843691f32c7b494114e058d2b27284ea13a62",
+				.ct = "54cbb18328682037bdddb8c585b731b18b5cfc495d9b899c9b8db8a11d9e46e9",
+				.tag = "289349ea094839dc6e9570c1d7d62a91",
+			],
+			[
+				.count = 10,
+				.key = "10f0569b4e6c441858f8053a646b775f",
+				.iv = "863dbdc9eb8a9c1ac1af6ac9",
+				.pt = "f99eead51bb2a17f370a50079d93167179af5c49965af2d3f06d211fd96d6ba0",
+				.aad = "41d372deba9b25bb982d8c4662f063f95d1859640550ee6177862644b028f42c435636cdc0cdc57509a5fcb75657e581",
+				.ct = "566f59cf4fe7b14dca35575743867351f18b1fa7e39417f8e7fe4e8bf1052ca4",
+				.tag = "df39c291b26f8ca2557abc6074694070",
+			],
+			[
+				.count = 11,
+				.key = "66f958e09896ab2b21eb36fc36fbfcad",
+				.iv = "371a4dbdf80e6d46508a9621",
+				.pt = "c0458f59bac039a4349e39c259edf6cf62fbd87910064409c64d8f6ef55d96ef",
+				.aad = "19f19eafb6191fb0452807ba2ba6ae4ac36b37138f092cba1a63be58e4f8b994f2f6958799446b5d226fd23a95fe793b",
+				.ct = "192474ad795e3e3e36abcef2d42c038d39ece8119fb058a752b7959fe46703f5",
+				.tag = "d17dc61d1513fc1cc2df45283afeb556",
+			],
+			[
+				.count = 12,
+				.key = "0f46ef6999a3cbcc2e539a8952a7fbcc",
+				.iv = "ff8829c2fb56cdf74914ad2d",
+				.pt = "37401d56052412f91aa9398f3ab3afe68ae500aaf40f7941c8a82ae56379fd5d",
+				.aad = "fc9a1c16b0f4cf133843a7664a17e97c02e7aa360153f5b4b881ed3825f7b2a414adae94c9a6479a9eeaaa206f99c3db",
+				.ct = "6866aa7699a8ce2c747880001987c28393fea80acb7b24a9e6e61086df68f5b6",
+				.tag = "c996fc3e44887ad4d703b72dc2ecb1b8",
+			],
+			[
+				.count = 13,
+				.key = "90838209bbc8d07846127667564dd696",
+				.iv = "febfb4dd04eb313933b9c278",
+				.pt = "cec0527329847a7eece6afa65c7f50ff2d7df4bc4e8d2990c41bf42aa9bda615",
+				.aad = "01cbb3a7a70001027b064c337260ddde8cd07fc786d71e293fe0bd44c794dbf7b054114bcd259e115e3acc98cd2ed7b1",
+				.ct = "e6275470454a9e0b6f6ea2a4d64cb93462a6cddc69e80f338098fe8b1d4bc364",
+				.tag = "50ddc254d7504590c938a503048cc8fe",
+			],
+			[
+				.count = 14,
+				.key = "f94e9d80b48dc5bdca82f14daa46be16",
+				.iv = "29bf1931f0dc4fe3c807e234",
+				.pt = "64971fdf74f93f8aae32a998e5acf2b09623795a77cb9ad888abe6c7756b0a9d",
+				.aad = "449e68d78fcaa2e0f2811a87a9c48a3cd18e4d644eb88ef05b91f4528e35c713f4df2ff97de251bc5b04a177d2e29299",
+				.ct = "f317607d97ed51fcc2f6ff7b394470758df772abb33b7ba049c6748b39fc4005",
+				.tag = "6c473bbc8881239f85eddc79f5daa0b9",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt256-aad720-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=256,
+		.aadlen=720,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "8fbf7ca12fd525dde91e625873fe51c2",
+				.iv = "200bea517b9790a1cfadaf5e",
+				.pt = "39d3e6277c4b4963840d1642e6faae0a5be2da97f61c4e55bb57ce021903d4c4",
+				.aad = "a414c07fe2e60bec9ccc409e9e899c6fe60580bb2607c861f7f08523e69cda1b9c3a711d1d9c35091771e4c950b9996d0ad04f2e00d1b3105853542a96e09ffffc2ec80f8cf88728f594f0aeb14f98a688234e8bfbf70327b364",
+				.ct = "fe678ef76f69ac95db553b6dadd5a07a9dc8e151fe6a9fa3a1cd621636b87868",
+				.tag = "7c860774f88332b9a7ce6bbd0272a727",
+			],
+			[
+				.count = 1,
+				.key = "93a45b16f2c06a487218d761eabf1873",
+				.iv = "f658ed7ce508e710d5815f18",
+				.pt = "b6a2afb916a235c7fac5cd6a8e9057c2fff437b7544532a296a3c80c35f47c99",
+				.aad = "33156a775586e8c92c7e99c467a840281abc19483b9a320e707bf1ffe856ff1c473bb52f5b940e44df2c2f766cbe9ed360d844283f8daa3ef68def4bf5f2c3aae3028c2d348ca1963e9227cdfa6f6205dbd9f3832e46a4f552ec",
+				.ct = "6564e15287e995886395353c65c830e6fdd295c7ec2633c7f8d280f2340cdd15",
+				.tag = "e4f4dfef764270a068a9095b9618ffef",
+			],
+			[
+				.count = 2,
+				.key = "5015f6b267f7ba8f83b46ef9440a0083",
+				.iv = "b66dd42e69f8a614516ab6cf",
+				.pt = "d1207549cc831a4afc7e82415776a5a42664bc33833d061da409fbe1fb1e84df",
+				.aad = "f06fe187ad55df4c1575043afb490c117c66e631b6a026ac8b3663d65f4e605b57f467ed6c0a3fde03db61f82d98a238955a3e0f51bac78d14b94a0b75057a432ff375a09b0a41def3c887fcb103ee99f4b9f4474a64600b87eb",
+				.ct = "9600b7aa6f5d8e30d3bbca6800643ee764b59bcb83de3dfd03364bbc9a48252e",
+				.tag = "49a0ad2dfbb49e8acc6ad1de4d9311d7",
+			],
+			[
+				.count = 3,
+				.key = "408722e80d9cae213180efc0f2675f32",
+				.iv = "e9ed15b1942f1ab5e9cf9421",
+				.pt = "39ed45bdd73f72aa16ae833d05c6d9ab1fca2b5ea478db553027787857fc9fcd",
+				.aad = "19fb7034ac4f57035cf19f68d76c4581054edbabe884e076a0498542d42f0412f5eb87c2cafbe13b9936c6fcee4c7bb46df2274306fb1a86bae4660290c13eddeb8cfe8de585e415563bc1a6ca9823b66c8f2da5da5df8f41677",
+				.ct = "9241526c638c2f0a2d1e52bb049f71039565bba5c59876eb136f92ac68ac7f6c",
+				.tag = "a6a9b62c36b156ad4024e705c1d78360",
+			],
+			[
+				.count = 4,
+				.key = "678c4bf414452f1c5a659669646d4161",
+				.iv = "295d2762261d1a536e1c057c",
+				.pt = "53f4ab78c16a20c07095afa50f7e96d66bdb5da90e7e3a8a49fac34652726edd",
+				.aad = "bc84743a0c42bb3423032a89857de5a9355ed7821980bf18379ae503b69da35601608f62bbfcb2e2ad9eff7e03fcb4b6d1768ad3a4d92831c5b2e3fc0eea3ab7b874f64e84c376a8f9e15b9aeb5392de10122605699f7d03a999",
+				.ct = "2c821a0eb61cbdb09f84f086f69652b38ac9d07a90985f3ef36482a9ef8edbb2",
+				.tag = "e6e042fe0894df45b7d9898e96e9b906",
+			],
+			[
+				.count = 5,
+				.key = "8df843ad9376d7326114143899b4ca6f",
+				.iv = "cdf3b88613e485fe6886e720",
+				.pt = "c1fcfda327533d17e1a6ac7e25cca02546c66635a115cf3f6d008eba55947d60",
+				.aad = "e5bd7fa8a56f3c155120f3bccb0fa557063e7bb9517cd04d9996533ef3924ee6197ee7512c6ef09d2177e75b4909c6cff0e86cdadce20e279a0503956f4c2196391a8ffec2d17a1d6614be7847cd114df70b93959f1765826592",
+				.ct = "71b822b6d39c9a801a4c2a2c9173b0f3d9b50cf18e8e95291136527a9778edc2",
+				.tag = "b584a7e51d40ab28732c11ed602730a5",
+			],
+			[
+				.count = 6,
+				.key = "64b43dfcdcf30dfb97373d75d09ab733",
+				.iv = "9359d85361a3e4c110d715f4",
+				.pt = "7c5c94ac7b138273de768d2bda16bef0774799df333fdd1a756e344ec35f2844",
+				.aad = "01acee6296478134999280ed47a5bc65dd5122c5d35092df54718900d04cfb81457ba9ec9d01e55dd8a65d6b3865fa0e7a45382f287c688c51ffcc951945e3e9c87b03c5545cec0d966926b8ee0453b69f25ce9fdf0a3065c81e",
+				.ct = "5f9aa615e13b7b585bdc2d4c3a83d1304d6f78ebba0d5b329d86ca730a515702",
+				.tag = "3cbf9fa530b049e067868433307425db",
+			],
+			[
+				.count = 7,
+				.key = "93a951295d4428902a5cce8fe2068763",
+				.iv = "8aed35ae4ae714cf756e686b",
+				.pt = "0029b749b4db477dcf47d0296eb88806ef0b56060d598e48c9b5a6f9d046404d",
+				.aad = "8186788a93a764a866944a2056279ad7f1d2083a96ce224fe6de60e70b17db18022a1504e1bf45c326c6d6992d8c005b675715016e00ec965b398b2ea4ab09cca2ac4ac312e6840ce00a36f6467028328fa30d4086e5bcb677ba",
+				.ct = "792cd1a143304fc737d0739be52b2e61841a908963832cff06ab6ec585be6467",
+				.tag = "e1bb3eac7f570055fc2d2f0588c4935e",
+			],
+			[
+				.count = 8,
+				.key = "4f3114710c0e7f393b91c982beb3cfcc",
+				.iv = "03994d0b244f94d13cedce90",
+				.pt = "36831744fd1c17a5df65a63d6642502075a0109f0f0c093ff33505140371136c",
+				.aad = "d294f939361af1bff5674a5235ba3e79bf30a5341b8634b5dac613e9a567ccce01b0596282ea584e579719206b2313f6675e7834f8a6d941e164169e97648ce77968ab4ecdfb3d639898468a1e8d285a9327dc958093eb33f8b1",
+				.ct = "557e78350ebe53d1b7c1652669621db7a71a8fe2c0a84e61badf2dd9f034b91b",
+				.tag = "bc6c1f1322064eab75737067973d56a7",
+			],
+			[
+				.count = 9,
+				.key = "f00a034ea2f732863f9030257c8dcbf9",
+				.iv = "2bd288fc2fabba6c44a04705",
+				.pt = "85472091a37ec5f37d50fc09fb6b9d803577227b4c079ae64a9264e7a784c4fc",
+				.aad = "312de02725a53b8a3dca7f02876dd9a4665de7a3f3dab7e4ac37b71d9d02478829ca38d3ec76d7792eb32478b92552e90154cf5608dcad4f33496061161af933d066e146888d1b7fa9b0c5255d59a8fdd88da638d06ee6d16d93",
+				.ct = "9aa27810c3761ae175560340144610c7d263ad35234ecc55feed1c5dd3a4dadf",
+				.tag = "02724d14a7dcb5ef81ce8aa937f1419d",
+			],
+			[
+				.count = 10,
+				.key = "49dfbd368a541721d6cd5b2513ec6087",
+				.iv = "8b0214ec3a6a6af65be84ceb",
+				.pt = "ef6cff08cbcb63a72e841340513f4e289ad34e89733731456cbfbc9a87b20f9b",
+				.aad = "6d3dc86af4bb9e92af0dec8cea981481341f37be457093d98a818d8cb4b68b9f7197b1fa310147701f047949af41d0b226af4a3b0b92e5342224766dab7830e1687aa3918a89d4d3b50d69595944f492d3d68b3609ca594e7f26",
+				.ct = "e0802e60f73aa2fd669cf5870e963b1f33707ad4cc551f658b18bb72fd7cd9e3",
+				.tag = "cd6d9a33458ac709385acfbcffa457e5",
+			],
+			[
+				.count = 11,
+				.key = "3c0f57982449fad339c7ac5f6501b9ec",
+				.iv = "4db6301b638bab6a833001eb",
+				.pt = "d1d5e1f3d8b491b2345d4a020add93e31596a5a204045f75fad53305d6b5aab5",
+				.aad = "ea3872b0d48dad649a876a6b3672e9c7ffcd69695a4d2eb1853ed5c26eca0e8f21385563d42dfef2e1430e06561b8e0b73b5f62ba51a4aca78c56c06c479961c3d21c1fa3823cf80145f7b24e4740127e9e9960fa2480e36e4c4",
+				.ct = "32c508251494d05ed9413b0011a028a1bb9bf7e18f72de4b750cc7ab96ec034d",
+				.tag = "27c994680810f7b538c37b551b2f17df",
+			],
+			[
+				.count = 12,
+				.key = "8bb2aa3219c604544b4187d491586d9f",
+				.iv = "341d76da6e3094fc3570ae78",
+				.pt = "274a2097708c53fd2a81444e13285691eec192c223b84dc9824c67ed3a050ba9",
+				.aad = "69c5e98cad9aa3327444b9625eabcd086367e64170d35c4586fa385a396b159425f8dd3969446529d651ce5a3b6432529487f91d193d05d2e345a28b50dffccc0396f76e418086e1fe2768e340c1fcffdb29e9514829548823f3",
+				.ct = "ed8775001f33bafdb1ef577698116e9ae656085fca8b969740c7c697450f9879",
+				.tag = "6c8936c42dc46321695d3af2a33ada14",
+			],
+			[
+				.count = 13,
+				.key = "4d8154426d1b12eaf98d09ac05b1f9e4",
+				.iv = "23e3916b9d64f98d122e6be6",
+				.pt = "d8a69c57969c6551c328675f7d772faad6c2c6843bf4b209e483fbdfc5efcaa4",
+				.aad = "2355631b9d487f4a7ec98d497f251cb79acfc58c0517d5e7b92a1abbae6ae7353b874d02faaf6410438539e02710e4d7cdada686871fef7582d562f384a571ce1edc68effdb932462e648c712b4e1d4e2e46718abd3cc5973aa0",
+				.ct = "2fa53c6fd1846db81002e9c14da634480b352225e9190ab03d2598ef49a3b2b8",
+				.tag = "a4023fd8d0f076eed5992f680b154433",
+			],
+			[
+				.count = 14,
+				.key = "2c14b55dc1f8e3acf85258a12360053f",
+				.iv = "5b5930a7f63b1a8ec445dfa0",
+				.pt = "41a7569d5f3f39ae06547d0ed681e8922382cfc940bc7e55da200ebf905bf476",
+				.aad = "dc8fb70d3afd3c67c9a86b3467ddfa23298c6523ebe7ef17b7bcdb2ef130c61bd5adca2eebc897fd4126470e0a9088e8ee4a60939024b9abc7ed551d0e79214edea566ca4d970198f9b3a20b6822f4e30fc2cbe76596a01817ff",
+				.ct = "f64364ee15acf049d8bf90aaa914bffae9ac6073b8d56122276efe04b202d0f9",
+				.tag = "fa09390c1ce9ec97fc10c55ef2da2425",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt408-aad0-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=408,
+		.aadlen=0,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "594157ec4693202b030f33798b07176d",
+				.iv = "49b12054082660803a1df3df",
+				.pt = "3feef98a976a1bd634f364ac428bb59cd51fb159ec1789946918dbd50ea6c9d594a3a31a5269b0da6936c29d063a5fa2cc8a1c",
+				.aad = "",
+				.ct = "c1b7a46a335f23d65b8db4008a49796906e225474f4fe7d39e55bf2efd97fd82d4167de082ae30fa01e465a601235d8d68bc69",
+				.tag = "ba92d3661ce8b04687e8788d55417dc2",
+			],
+			[
+				.count = 1,
+				.key = "7e6a5b6d296ac7a7494b72c93bad15ce",
+				.iv = "5225c255bc82949a1cdb86c8",
+				.pt = "8bd452633f9dae0639fe0e67e36401adf65b3edf6799ff9eec80d85c13c85e0ee09491d4f5acaf8ae920281801a2f5d12c9370",
+				.aad = "",
+				.ct = "2348f512a3a8501be9eaa41d8a127fcd8f0368d5053981a5626f85405363d218af7ba52a2bdb87a1ff07329f21792f4c64fc39",
+				.tag = "8753cee020ac668e9e1a37f63231543e",
+			],
+			[
+				.count = 2,
+				.key = "0d54e78be0eba65446682721368567f2",
+				.iv = "aefce9f80307fbff0965881b",
+				.pt = "5b335be97a86c8c1a29b7408833f752c8c5d4c912e7f26c73b909239e1222fc851b4e3c0accc5148cc60af2f019f9ee0060131",
+				.aad = "",
+				.ct = "7277aebd1beb239a3a610587b0d7cd71640291a4e4d6dca73a5d0e05f058e7a0e151a0d087ff256d08876e1fc3e0e5e69c72b0",
+				.tag = "bda879404fc226cfad834a3e85e04415",
+			],
+			[
+				.count = 3,
+				.key = "0bdbb7986a6026d17a9ded7700831f59",
+				.iv = "e3bdba2fe3b5cad727071202",
+				.pt = "77ec68b51f5eb0f2d80d3af696627f365b6e83e69f105c7bad8e4869b228a0c496aa05c96e97a6bfcb33aa172f22c6bf3d5116",
+				.aad = "",
+				.ct = "e7a5a701e950ca26987e1c40c889b475dba50cea13f09e9d3bc3cf4c84382c15bde4c34ff05eb278b4b745e51cbf4f12c12689",
+				.tag = "b794991a8a4a9f3d59d9987e9fb7ac30",
+			],
+			[
+				.count = 4,
+				.key = "823e852ef0b9551b2700bed65edcc808",
+				.iv = "85798ee5fd33ef752a363d85",
+				.pt = "c1ebd968d861fddffab41857de7049bdee73acfea5564cf44ce40d75b960ca5453cda093a55c5527687f25433bd6dcde443030",
+				.aad = "",
+				.ct = "e8e976e8175a41ec6a629a225cf277a1a7e2b839b2f581c88698a39300e4a54ef381f7b433e0ea9acffe59801d516cd4c61135",
+				.tag = "ccfdc010bd16ddd651d0a189255a7035",
+			],
+			[
+				.count = 5,
+				.key = "99c0001a7c12f331e7b3b164daf4616f",
+				.iv = "383e8df9db398c5e9842257c",
+				.pt = "9d8ab6774cbf486fc4378a05a7aabba7ba7ff4a0f5eeb51c54c2ae9a5dd829d2735089955d5ae240d28da8b79994cd72234ee6",
+				.aad = "",
+				.ct = "23c5e30b40b0946cf5b4df15407ff2d973397a10e94a303b71a4a5de074644006a10fcab198f86c4156c59e28900b958efcb8a",
+				.tag = "8ecd6196137905263729dafc06860720",
+			],
+			[
+				.count = 6,
+				.key = "6fa5f5b79f6f2fa7c1051d2a374db822",
+				.iv = "d466bfcf72789143eade1e84",
+				.pt = "d9528856db087849264ac811689420ef2beea9c6767644f3ca8bfc6345a3e2e5c49e7e0fd9b1c2e1671bd1b6275b0bd43306c5",
+				.aad = "",
+				.ct = "1128b1da86b71d3c0cb9904f2513d2329c033754fc0d40f87cdfc7ee53dbe3ab565719c8d1dc5d3314123bc9e096fc8509b85d",
+				.tag = "19092b9776c4a1f6e30354fa5115dc04",
+			],
+			[
+				.count = 7,
+				.key = "bce7d033f24ba8fbc237f06f40c6ae25",
+				.iv = "c0d68906e987fe22344cae52",
+				.pt = "e533180c0c73d75799025303d660e43d5795ad46b84a05741b441f855eeea299a6484c17f39e884aee28b7d384afb49c134c73",
+				.aad = "",
+				.ct = "4723daa516b920ec039dd8c0704a37f0bbad9340a7e987888db120459c39cc069554638ab6b32cff585ed58e2d7c1808229776",
+				.tag = "1ae612e476f5beb99f65aa9b5f02b3db",
+			],
+			[
+				.count = 8,
+				.key = "f78a05cd2621e9385ca111f3a168fdab",
+				.iv = "a16aef83dbbd5f69c2569103",
+				.pt = "9e761d4b7bdce2b851e508f77faf447ff83505755494f1bb5169dc23bb02d9ba8fb8b4878c8a47dfd14ea0dcef3e83c688e597",
+				.aad = "",
+				.ct = "7ead6bde964c35fcf5de23f19725387601f705ac11c5fe1fc531746bf2d871fda54264a623c70e72b5b5ecadc4434f9e696ffc",
+				.tag = "2f13e4bd9883c747f0c79c91e661aa8f",
+			],
+			[
+				.count = 9,
+				.key = "dc1b8569a8046e3f294c3cca018f6613",
+				.iv = "5b3cbbe0e948db8efe42062e",
+				.pt = "6a3a1a9815690106d1908bc7e63e25bfd801900e94a9fbc28b6d52b8f9b4de7003b066bbb18bba33da83c67809e3bcf98b5cbc",
+				.aad = "",
+				.ct = "b02a253a17fb9248277cae0305473870c19e70b7930a0be9be905423479413dbe3702f42024d69476415290b1422f2c030e99e",
+				.tag = "f0fb85e3d6b3a5ddc5da3ec797f758dd",
+			],
+			[
+				.count = 10,
+				.key = "cebef154b3ca2167230daf3b8205f11e",
+				.iv = "e0dc23aa50a52cae644874b0",
+				.pt = "b8cb070ebf5b27a51f14f22c6b38fc29d04c431c484c117ad250ec4f97fc4df44b0ec847b69a363963d419ce9ad11a321686b0",
+				.aad = "",
+				.ct = "4c0918e86b152be2c4dfe36c78b8a559c2c7f83fa7776d0341318a065c2a2f1b2678aaaff76cad30ccaa1dcd03a5bb16d00f3f",
+				.tag = "79267bdf70e74eaa011e889369f5831d",
+			],
+			[
+				.count = 11,
+				.key = "d7e95109127e83b4d43c81d7ef6d5972",
+				.iv = "43ac0d8895ed785e2cb69d48",
+				.pt = "b2601f216b5e6f60c518dc817c38be940ac03babf2e6f5ddca0874e819f9aabe046460e3ccf6511566bbde2d9b191fc16ac4b6",
+				.aad = "",
+				.ct = "957e712dc34ad891cdb3adcce62b0454eae9c792e64eb4e08624de103089cc19499749e8ae6d8c92e2c04c5cb36ef097bb00dd",
+				.tag = "f569562cb94828fe71fbddcfd984bae5",
+			],
+			[
+				.count = 12,
+				.key = "39ab7819dbf944cccd2648445337158f",
+				.iv = "4594840e05c33bdbc0187174",
+				.pt = "834cb05681e9a7876bca891eb7824392c7ac29d4ff4c9a8ad96447d2cc5f0ff218043d3510201452ba5c789ba2a667bcf79b9c",
+				.aad = "",
+				.ct = "362acf79df28c3c858e92c0c5f0a323b3ea2e81be67cfd903a627ed163c06393287b73fe33a435b96672b9bf1a5a2c2cff4a15",
+				.tag = "e58a30e2c91e6d25f423abde987cf2f7",
+			],
+			[
+				.count = 13,
+				.key = "73388f83e409ea236129e46dc9a9b20b",
+				.iv = "a9069b00e1cd29a2b07b8db6",
+				.pt = "a2e138d5611c5043214f7d9f9c87aab94e0b8e99b311d0cae90829078c3898c8fffa7de9789af0a6c05f375b2f710dd4ba2610",
+				.aad = "",
+				.ct = "77e0fa6b2765428ae418b57ecf5a392230fa2a9bd1686b91df69845cfa0a2dd9add219229e65ff6a2f887b78ebe8c0c5d1be21",
+				.tag = "32385ced195a16dad5eea5a19fd0fa43",
+			],
+			[
+				.count = 14,
+				.key = "d590e53b695315cc0b917d9fa0aac643",
+				.iv = "102de7df461a5578e75c4975",
+				.pt = "7ee631fb685d4a94563e01480ec5526d04a4035d1f615fdbad6656e2495fe5d7f0d6c40dff659fc85f4ccd78433a192313c3d4",
+				.aad = "",
+				.ct = "e1322d0c9265cd774d2e9d9b6771799600b79ba38374ee1756aa6871e204e5f6871cd50db15225ded64a9c8899bab37288a792",
+				.tag = "13e606a9a4c786b65e2260cdda4b1843",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt408-aad128-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=408,
+		.aadlen=128,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "b61553bb854895b929751cd0c5f80384",
+				.iv = "8863f999ae64e55d0bbd7457",
+				.pt = "9b1b113217d0c4ea7943cf123c69c6ad2e3c97368c51c9754145d155dde1ee8640c8cafff17a5c9737d26a137eee4bf369096d",
+				.aad = "d914b5f2d1b08ce53ea59cb310587245",
+				.ct = "acfab4632b8a25805112f13d85e082bc89dc49bd92164fa8a2dad242c3a1b2f2696f2fdff579025f3f146ea97da3e47dc34b65",
+				.tag = "5d9b5f4a9868c1c69cbd6fd851f01340",
+			],
+			[
+				.count = 1,
+				.key = "4324c97ba8c9f2a1bd447bde5e75938d",
+				.iv = "bcac68106a3fc22048462bc9",
+				.pt = "789fc14b7d4ec83ec783c0ef38faa6706031ade4e65ae91f0e1c579b8c8652e94e04c4ee5d85d23d0525c133a93a9539448ca1",
+				.aad = "2a893eec2eeef4c2e9c305428b9e3293",
+				.ct = "2ba721de1aa7afba69cd0fa492fcad5fe639d855c1f280802b9cd5dff37f4bf54a117b8f400cb63906a3c78cdc1ae98b0c30d1",
+				.tag = "171df263a72252f2c44f5a63f089adb1",
+			],
+			[
+				.count = 2,
+				.key = "51e42ceb83175d1df09b8385a84fbdef",
+				.iv = "ec6b7f21db6eb16ce87f89b0",
+				.pt = "4c5a34b0acc8745f45c04d6c82716b83ec6be5146d1272835ea642b49f55353fbc72a3acd16624e5377cbab54e356e3af6be01",
+				.aad = "3a081b5734537305222f314ef39a8d20",
+				.ct = "1b4bb70f3ed38f378e29edb7e65081f794725a0340daec5708a163a3a81272ac2bd4b3e3db8f8ad57d571b5eb24af652e3c87e",
+				.tag = "6a9f2a4b73290fc566f37c286887eded",
+			],
+			[
+				.count = 3,
+				.key = "9280e05a614d452f407aab696afad52f",
+				.iv = "099ef02922592254e44517cd",
+				.pt = "db91108d47f266dd9371698b194b3a183f2936782be417cf1a048c6504162d37e11a41e3bbfeb98f995ec8e35de94bffe0a363",
+				.aad = "12dc4da623d082c767a3f7efe9a6ebc9",
+				.ct = "8ac070ab975218af0c22435174abcab01af5db9917095e67140b31feeb78b7d5be3186b4fc41f106303a519b5a32399d2de77b",
+				.tag = "7811b48513d9bcf1999b52304492b0ad",
+			],
+			[
+				.count = 4,
+				.key = "89be3c09ae7e2eff5b63f913aa8b575c",
+				.iv = "449d852d65585185bc4298f2",
+				.pt = "93ccf5d907dea9b0fed5507f8a26400d0a568c0ef53b9fa6bf9d6802b20fe672c9a9536fc75b85f08e4d2c45cf032422f30ea9",
+				.aad = "d232713c2b024b5affd4a15050dcba41",
+				.ct = "5b38069d695b76a609318e93cde6e239465ac52264017c3e5169bddbda0d2ac76ef0451a3a39d07e8e8da3b0cd2ee808912b4c",
+				.tag = "e316e6032fff56e5242caa1b4ef2bb6e",
+			],
+			[
+				.count = 5,
+				.key = "04cbf7dbeba906e1d0e8a98d796e8613",
+				.iv = "b58059139429a6a6a38ccb07",
+				.pt = "8890c63ab730d9135e19ca3ada35b34a2d5bd9f4968d60e8c65bf43f0d6def7de472c26b89af9e5d6e48c125d84b0fef7d194e",
+				.aad = "7532c6237ba1da8b99c4a091c5159eb4",
+				.ct = "52bc0be1920a4f1fb3ba3f9fc3e7969c75e40fade163897428f49fc52b6feffb61b65344ab3ac995e07dd5f615c24b447df9a7",
+				.tag = "239b60518f3c35b24c2557549179fd36",
+			],
+			[
+				.count = 6,
+				.key = "8f1c70136852dc27ae5162b8743c90ea",
+				.iv = "d372f92b0cf030aab042a6fa",
+				.pt = "0b6446af88c455d7f1ff5116c7af949803cc50bcf1ecfc81c6627141a42b363f7eb7fc628503bb6f037dae843fd2d319b61118",
+				.aad = "7eeff5d17e79f00d68e26cb7e6bee76c",
+				.ct = "4f235f6cc2c0474ab50557e2cf612ab09ffc85975de082b9cb9649a522b8a47f24e1b2c48f3cd57dce49542bd3560fe5e44bca",
+				.tag = "c541b78244efd2b9e61e75296f164aad",
+			],
+			[
+				.count = 7,
+				.key = "1ac69a35f749c65d5d27ec109b58f336",
+				.iv = "f0b9c6e8cfc7ba4c880d99a8",
+				.pt = "9695507b944865587f27395c74468af6a845716b34db61e437b77d0107387b3fda581c466b6df40948da35906b77ff8ed09402",
+				.aad = "251d75d69ab64f1363efeaa771f3dc01",
+				.ct = "f41dc7402768705dbe3bf7cdbeb4fc672d3a6c3d65520dab3082727dff084b6e0bab17f96c2b137a4bd564a13f77ee37347383",
+				.tag = "022edf7437b41653db3bf2479a9e74a1",
+			],
+			[
+				.count = 8,
+				.key = "16cbfdc8f9900f6702a430b0d8b624cf",
+				.iv = "28dd5c46e03680f2c01a7bba",
+				.pt = "e1562d6e6a469cfd9f0a6a15be9a033cd454959ef8b37b2da58164fff1d8dbd3fac2b97bf1b503046fd9cc68bc942d0f727a3c",
+				.aad = "b1bcbdd27c0ef4de462fce0be8855a36",
+				.ct = "10915ff87b80e42d548950e53ff6642ad44afa695175d24c9b5197f64c15570ebe0bc969c0251be940b42889464cf562c3e1a4",
+				.tag = "f9606f7a0e41153a1b45c25f1784cace",
+			],
+			[
+				.count = 9,
+				.key = "4c12a54aa7bb7a0c0c798834f39b3fa8",
+				.iv = "e5854fac9adca3bb1bc549b7",
+				.pt = "7e7fe58f9f13907a694b47f053c9270c2e4d73b52642a71446943a5c5f3e2fcd554b376dd2f549aa7e0737b62c6414f542bba2",
+				.aad = "7f42a7791e705345888f00573be98980",
+				.ct = "df46d7519910899b7c3d9e7d0dab82c93b7d8ee03f4f5aa82ecf64cacf3c9fb58f17a021536028744e412770e57562249e5f09",
+				.tag = "2823d4b59cf8f8837bebd5efdfb92929",
+			],
+			[
+				.count = 10,
+				.key = "32aced5414e267cf77844c0acbb8872c",
+				.iv = "3d108e912d53b88e0dff9d6c",
+				.pt = "c7fcf53c93a521c6e244f203cfc40b80bd8ab1e4e54cdb581fc14c31dc6a93805edbba32a729acf1a7c04c8b0366c2035c65b3",
+				.aad = "7be4c5df7935453d50f1c6c79ae6c13a",
+				.ct = "80beec8c20c7e9514c38ac6e3775de206754433cb1d7c89bbefb33b1b41245e0d1baf7cc870b1f1ec387f2dded3e0f479ef160",
+				.tag = "d97f7d82b3ff97f2f6c652194c004748",
+			],
+			[
+				.count = 11,
+				.key = "6275270952263f5f008b16f2456c7ddc",
+				.iv = "1d1837ea4cb3732a6ea6487d",
+				.pt = "fd4de28a18a3de3b9660acf08eeac40e192b77c5264c80651c28628e61c3916f7ac03d849ae39c981a2808866a8292746a4793",
+				.aad = "6ee8ed2ed241f1d7cee55ca67001729b",
+				.ct = "d69490708893f1638ad594c3a0ad8eb4f17da3203b18aced930976ee1abf4df1ae8a768ddc9df6ccdca2d579165023e52bb9d7",
+				.tag = "aa47cda3928f7a2ea42feae4dfb0800f",
+			],
+			[
+				.count = 12,
+				.key = "7796d479bcb213f19e2ed73ef1069fe6",
+				.iv = "f0ebb6fb1df60069b00a34c7",
+				.pt = "f72603b6e74bafc20f423bea2a1036ab44461b5e5a5631b013573d953e1fb073b855511860d1782c1f3b146b5c41eb946e2fca",
+				.aad = "87563b4d72e2f2c0094bff678e3b7975",
+				.ct = "44c4d7ba2af1be22daa6352b58bf8cda28999bc33c420f8881001719fe639a9e9e5c48df120f7cbe73af4c1513a637b9de33e8",
+				.tag = "8b7002219f586318150132e0e5cbf2e9",
+			],
+			[
+				.count = 13,
+				.key = "f7c50f29479ff0f9945ab9df56872eaa",
+				.iv = "1bb94d7b399eb7a9a0efaf6e",
+				.pt = "fa86691b746424b3426dd9ce8cf0f132de5c575e001701324ca7ce474d5813a19904591055fc7f343e20d0f4c92118b14ce774",
+				.aad = "88a9f81078d6a0820c56c582a30333b9",
+				.ct = "55024fc5e95e5f7c33bf948c167b13382236b2cf187cc09e37dce043f6293fe457a1dde728cf407c702d75a670397ffe28e8ba",
+				.tag = "645ca60cfc8046a0253f438e69b8e47c",
+			],
+			[
+				.count = 14,
+				.key = "f3e302a1568a5340b5745ae87f5a5bea",
+				.iv = "ce41f436f2e84643f673603e",
+				.pt = "e4abaa66875bd8d45b6ed5e7671b03e09423ea41b7d89039da92728151bd690ccdef4fa16392a7f85efc0bc2b1664bd3f15e77",
+				.aad = "87ba36d234ec508b308ff258c6bd427b",
+				.ct = "123b69b2d0f10934da3fdb5c1b96b4ffc8ffc1446088b634b38e145e6dd98e8fea17214b5c9136f039577d4493b8bcf935ae19",
+				.tag = "97ca8cf064a408c7b764cf32d3b79c0a",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt408-aad160-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=408,
+		.aadlen=160,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "fe47fcce5fc32665d2ae399e4eec72ba",
+				.iv = "5adb9609dbaeb58cbd6e7275",
+				.pt = "7c0e88c88899a779228465074797cd4c2e1498d259b54390b85e3eef1c02df60e743f1b840382c4bccaf3bafb4ca8429bea063",
+				.aad = "88319d6e1d3ffa5f987199166c8a9b56c2aeba5a",
+				.ct = "98f4826f05a265e6dd2be82db241c0fbbbf9ffb1c173aa83964b7cf5393043736365253ddbc5db8778371495da76d269e5db3e",
+				.tag = "291ef1982e4defedaa2249f898556b47",
+			],
+			[
+				.count = 1,
+				.key = "ec0c2ba17aa95cd6afffe949da9cc3a8",
+				.iv = "296bce5b50b7d66096d627ef",
+				.pt = "b85b3753535b825cbe5f632c0b843c741351f18aa484281aebec2f45bb9eea2d79d987b764b9611f6c0f8641843d5d58f3a242",
+				.aad = "f8d00f05d22bf68599bcdeb131292ad6e2df5d14",
+				.ct = "a7443d31c26bdf2a1c945e29ee4bd344a99cfaf3aa71f8b3f191f83c2adfc7a07162995506fde6309ffc19e716eddf1a828c5a",
+				.tag = "890147971946b627c40016da1ecf3e77",
+			],
+			[
+				.count = 2,
+				.key = "d441280905a33bcf02ac16f8cabe97cc",
+				.iv = "53294f8b440c82dbd9bd7543",
+				.pt = "5cd42b150db7d0bd6556e37e386dfafafabe2aefed2823be932f9daf1234aa0402bead485ebda3a0a6e392d5b0e603ae2dfca5",
+				.aad = "aecd49cb8890806d47a950c8e92ab294f325961d",
+				.ct = "3ae74193c94ebb96fbb1bc5ecd180b2c0efa1ef4a9ecb6959631f8554f0eb237893476cc0d4fb55fa1880989c1616dd32b964f",
+				.tag = "0eae01a8473a8f603c6ae6b637e4aeba",
+			],
+			[
+				.count = 3,
+				.key = "4f66f21817d1865c2fb62d4de344e085",
+				.iv = "4c780a2707f56747b24a4aa0",
+				.pt = "04eade2d68dc3c5d83f2d3f1c44240bf86127c9f6b3966085ef41ef50107d042b18bbe80bd43cdd1585fc5a99df8271b9b8767",
+				.aad = "4c0ec2531542bc801b3ddf593c2e1ba4afeb603e",
+				.ct = "dcdf8d2b0d388072ce273ad3502dea5122bac0020a7ae3b97705d3a2bb49a5cb4f95e6cbd74183758c2eabc9ea38155c7ef647",
+				.tag = "2558c59cc7d71a2fcedd13f1c6659a63",
+			],
+			[
+				.count = 4,
+				.key = "638276070f70a48dfdd3074905f4dd8b",
+				.iv = "08aa05eee9be39f28f61299c",
+				.pt = "bca63b1fd480b7c682f992b3ac40712cd412e5bd5141126311ea3c5cd91ff8d75b7ad7be0ac7f61d41292e673177e55e148b8c",
+				.aad = "7e3ef6f9d9d33a6bc5904b1317d235ce1a99ffb3",
+				.ct = "fab16aaf8cce26586b50e794e889839e0edb63f14f927f353569cac1694604de593d72c52977bf7fe2b6fcecb2d8918d0de8e9",
+				.tag = "bd97aacdb02b80a01487d690b5e905bb",
+			],
+			[
+				.count = 5,
+				.key = "dc7fa9348b7fe1b3befa5a09b2dc0f7a",
+				.iv = "51e208cfa9b9d990013f50f3",
+				.pt = "0b65800b4dc2aaafbc837f9ece7a9111f3ba0309196babaa6b63ef0fedab779e0d352933536520e4ff1c7f079505ead882adf0",
+				.aad = "b7219b5b1801457d71cfbe342148849622592c40",
+				.ct = "2caae5923cad79802d682172f58191349240a24e25891461ae65394b95413b34e03f3551baf1a055d22a53a8a38f8ef78f6d40",
+				.tag = "10769ae854f8298cd94c28c3e28e94e3",
+			],
+			[
+				.count = 6,
+				.key = "eaf1659e08d0f22a7042358ab0ee0f0d",
+				.iv = "d6911b68856038ef9dec1215",
+				.pt = "0e71b3765f17e016c3024be23d0af6cf50ce98d86943b38cbbe8f3dcb540dda64b77bf73c7cda108e1a5c4bdb590a7f747ecfd",
+				.aad = "433ae638214c48207fe9cdc76ef99e28913d6a8c",
+				.ct = "bf4aff65fb7df0858962474bee9fbf95b0f06637c7d72bb1cbabe46662f455d3813665477b4badfb206a4d8f01346119e559ec",
+				.tag = "866f204b04a309d45e65ea890a17ed0d",
+			],
+			[
+				.count = 7,
+				.key = "382697fc2ca220a5d6a700f7fadbaae5",
+				.iv = "3fe9d400d10dc33545d6cc5c",
+				.pt = "7d187a1fd4d518197c1e843d613797d4a9fa9da6fe9f773b947dcc0023c43e917df575baadea90237d95f88c54692ef8be672e",
+				.aad = "a3cd4b0216378918a46252ca16f2ac9775e993f9",
+				.ct = "8e640b879d473d7ce6689175808b925b6ba1177ad8b0c53208e1b7c6303844f52c8cae5791d0aeceea028dac107fad5e80866c",
+				.tag = "3849e4fefcecb108f83ddc039a21dd91",
+			],
+			[
+				.count = 8,
+				.key = "186f6a73ac82e33f69c5b158c7ee1cbe",
+				.iv = "bad41bfe8b67151131e85b2b",
+				.pt = "cc4d9dc2df86165343aada60cb5c1d9f991331d530d860dbf9166907d394721b2a22b53a6b070c5cb32ba3788ff55bc6a0d5f3",
+				.aad = "dab496ae14125af2fef47ee3b226a6c92e99b9e0",
+				.ct = "41a17c3b18e67d84bfab344bff1429a87c3076879ea42383d1e622e710a60612eecf2fae8a56a95a08c958a52f873ecb303785",
+				.tag = "335015e14d2cd8eb9813799c5c703a89",
+			],
+			[
+				.count = 9,
+				.key = "14ba3901daf9db40d5dfbd828a361ab8",
+				.iv = "af37192707a3804beb57c836",
+				.pt = "85f016f83ceba76a068e5def3ed5ebac85e203c69e32676550c6ed864edfd2ccb2c8da415a42cc6ead791e869296091efe7ca0",
+				.aad = "1ac4a38e83649004727d2b2b71075264cfcade09",
+				.ct = "2a682e5579d7f801fdbdddb2b5f8564c9e91c39cde47c48ac1dffdf7ef1674ed937e77215691110ab730af97349f84128eed56",
+				.tag = "b1b50298f48b96e679c3d71f3d17d623",
+			],
+			[
+				.count = 10,
+				.key = "c0552b2f54f4e8292119dbf61285fecd",
+				.iv = "b5a580ec23753690d6c7392f",
+				.pt = "88c04f3421de415f9ee9b47e033666c0d182d04f38e6faff5fee5ec89d1bd391079e90fb22c537efe4561718588eab313cfd5c",
+				.aad = "46cad83fbea4c47b9374bacb072472edcece9acf",
+				.ct = "2ca83a4a63de404ad2306a4918420fe3105cf7f9a52d16aa610e3b69a0fed246da41768c801c19d7502ccccd5ba0a1bc0b50f6",
+				.tag = "8c03304e8a74dd52d4e3baec89cd397d",
+			],
+			[
+				.count = 11,
+				.key = "c6efbeedca979cb2c4fa5d6454a77dc1",
+				.iv = "4e57df4988d93d13dc512487",
+				.pt = "a52077491b20ac65eff89bd0bdb6150ca755cf469c42ebbc5c95bbcf3aba91a9002bf386fc9a126fae73dbb2daa7ceb79d0b5f",
+				.aad = "9e65d0542711fe57abfda27587ef4161eb3fe32e",
+				.ct = "4dd803cf6c99d2ce3ee8a1996f52837e52c3bb386cfc2792318e1ba64c35b638c9508b2e21d1da6e635e59e37c02c0b0a2529d",
+				.tag = "af847ce419fa54045a8bf31062f6d349",
+			],
+			[
+				.count = 12,
+				.key = "3d68401d7c5f5c0a2529ede00724be14",
+				.iv = "3f3eaf76e786e8af54baa56f",
+				.pt = "8bfeae1dadfc55baca191a6a3f54ab721862c51ce684e4aea6e9a3e2f3d2aac14af1cb0252f29a4c8c0984ce867acebc7596c7",
+				.aad = "6a6e3ea815e01cda78a76b0fb8bdafb8a25a6b7e",
+				.ct = "8a62b81a69e6e104dc075cc32730ffcb419b9f41711e06d7c2d9e891a88dc6e88817cf5bc2b87e95c4678daf0ca4b8f1e03927",
+				.tag = "9eebbcee46565fd4c34b8f47bcd94b31",
+			],
+			[
+				.count = 13,
+				.key = "0657bb596cc28eafd51cc09a3e6ec1f6",
+				.iv = "8e11a0625fba51698614f8f9",
+				.pt = "435f16f56aa71734dc6571e2714207f7ff85c7eeaa1879901f2ffa00ea45038db54329f0a2e78ac58a5d76314788d8351777fa",
+				.aad = "cf73715474e49d71f4f5ad08e209ff9774ae9639",
+				.ct = "d876339f0db3bff022cb4504fe0a8ae26040102f575ecd4e4583b04959976254d07384141ba5748d3579815e3b5e1d1e8fddaa",
+				.tag = "7e6f7096e425911fe739ac90cca05fda",
+			],
+			[
+				.count = 14,
+				.key = "b2c645e0f2dd0d21e9511364f9355919",
+				.iv = "91f6f089f5e828d6fdf12510",
+				.pt = "3c01159e4787a74a707b4ead3be126b819831296821f1add394762ac97599cc810bd97205d0743548e7150bfbe6d9c1ba5d581",
+				.aad = "e6781ff89032df5e5398108f1d569d7f8327b25c",
+				.ct = "1a06dec18eb4c9b361f1f2ec6391daf275f15d97a7f1a73fbe1d144bc1e1018200f725d52400c693a438edb595fd4558c4227a",
+				.tag = "451783874f9d925328208bc4c56eed33",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt408-aad384-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=408,
+		.aadlen=384,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "3c50622868f450aa0928990c15e1eb36",
+				.iv = "811d5290768d57e7d87bb6c7",
+				.pt = "edd0a8f82833e919740fe2bf9edecf4ac86c72dc89490cef7b6983aaaf99fc856c5cc87d63f98a7c861bf3271fea6da86a15ab",
+				.aad = "dae2c7e0a3d3fd2bc04eca19b15178a003b5cf84890c28c2a615f20f8adb427f70698c12b2ef87780c1193fbb8cd1674",
+				.ct = "a51425b0608d3b4b46d4ec05ca1ddaf02bdd2089ae0554ecfb2a1c84c63d82dc71ddb9ab1b1f0b49de2ad27c2b5173e7000aa6",
+				.tag = "bd9b5efca48008cd973a4f7d2c723844",
+			],
+			[
+				.count = 1,
+				.key = "a7268c7ef7bbc2be4a3ffc282019fba6",
+				.iv = "df2c5bd03f2cc45a07173144",
+				.pt = "f88beae931a68ed813a35bef54bd9999fd23ce4a1d258e34fac184ba799132a408bde4ced23748db5b35ea9692f4e1561d4cdc",
+				.aad = "445b4ec6c505f132d3b012df624fe8f6e9cda0d8ec5e1ef7cde8b89259e167d68c1fb4dc4a78e5c59377f32ef5cea4b9",
+				.ct = "ea53e264e1b0f67ee37c81234d3b9c253ab1a94a4ad17779efcbeef0526129b0fd224b5884eb8b38e35ce0bdda222e30f576f3",
+				.tag = "38b5ef8d660f856d495db50f702bb462",
+			],
+			[
+				.count = 2,
+				.key = "183dc6bc9a497304011e5aa41dc575b4",
+				.iv = "0f4e2961d8ac4f81f559de7c",
+				.pt = "aaad38b847c7a6fce801ff4ba62639592c487382e7e3ab0f29d0dde432f31028c0b14c67c15cc3664c660c197b4792433924d4",
+				.aad = "8ade36c0d68fa431838beb9f1d6a422365024bd5019979fa9b09b7c44b785e051dded5c9e21f342cf376e72cdae95207",
+				.ct = "38e09d7612a536a80d2e32a46b0e1e4ab1e1022e854461aa7e695d7aa4a003e379c0e270face29e19d74d40a60fb2e8c726aca",
+				.tag = "4004e9763f4a7d0fcb0ba57c7611f281",
+			],
+			[
+				.count = 3,
+				.key = "047dcb88c16bd0d32d9a6272b079e379",
+				.iv = "d174ed8d60c0d5c814dad4f6",
+				.pt = "f957104f1fd87e9e1d6d35171a1cbe8fb22cb4ea7aba31e763e77c6f291db81c63c910cf9b8d37bf93fa28fd4e2808480b5836",
+				.aad = "c6567022bdb5f2f3a1e3d78e0202a5f6b457c0ebf46a4b0620afa2b5ba706f1a37f932058afdb8cf4eb9a3815ecad445",
+				.ct = "b7f83cb77ef93895a6721dfafde8930090d2a9f39a1d605bbb8d7fe0f0fa838fc6d1f0e5e532592d0c688231e24139e635b502",
+				.tag = "452368d42f8a1211b4a018ad1acf837d",
+			],
+			[
+				.count = 4,
+				.key = "7286fe98ac0c03252f3ab7eabb8988eb",
+				.iv = "e32e708c6302ce26902bd599",
+				.pt = "58fad037e6efa65630ca14698725538c686ced497c584afad218fa3b753beaa7a72fab9c4c108ad14bf5f024613f91a1155679",
+				.aad = "4b9003a0259ed70aebfabc90abe750b888e9db453d9f95790d752d4ab9f208ee478046abaa9b2bf24564216071613297",
+				.ct = "ead0bc4e5902600598f9ca9e91cf4543420cd64e281a710fe890e0cffefa803d8c046390da6f50fd44b7e87861ac4088b5266d",
+				.tag = "970659d5170d654b55ca5f79a9e06957",
+			],
+			[
+				.count = 5,
+				.key = "0dc3090d2786eff167b291e895ac2261",
+				.iv = "6ac8f3a8a61448e1fec06d6d",
+				.pt = "3017261d20002fafdae4252dcc9b1214e9a9ee959533d34aab136249ca4ef52ab205ea69efe6fd21ed3c90f8933593fc63454c",
+				.aad = "a85588d465b1ec2d935ce1ba5d6397bd57055915329830b1aa4a934f2080ecf48ab5f6269ccaaed8a10f398be64cdb8b",
+				.ct = "1fd7efc41a54374048e5d2a196bbb5b78452639db232c4c106fa8da6b1471ac14aaf2328e959a9c55f201d7271451151bfb48d",
+				.tag = "be7ff0322d4d42009dadf48e5aa939d5",
+			],
+			[
+				.count = 6,
+				.key = "d169282809ddae3384a10b908b8526c3",
+				.iv = "c9448a902e05f8ab10ad92e8",
+				.pt = "490b469f84939d62e00fdef53430232e5b0ef130d586bbfa8a3d3ba30d91614b64e0da092f16b83a46c9386ebed0bf9e863950",
+				.aad = "71b1efec4e50041d0446e03b07ffdff05c6259d90aa7b33189e95360bfeba23afe914d0f17db6ba47ea165cc06d501e7",
+				.ct = "ca693b2350d23808840870c2371f49eda453f2e189c70b975af2531b9e8b0d8c262829e61f8990804844ac941b2fe47399a88d",
+				.tag = "8bc9e25a568987b427cfc5b42e412d7a",
+			],
+			[
+				.count = 7,
+				.key = "93814839da20b560268ad8fe257a9372",
+				.iv = "f157ac4a83a7b73b8085085d",
+				.pt = "bbad922de6dea7153724a333554e1aaf2e37aecd182b45885d04f3d11c3763fe59c26828d30c9da95adb75fbd5fbd2e6ece12c",
+				.aad = "9b422e74f2109925264c1c0dda2b68c979afdac110e42b81afd2c59e2df3ff3f93832552b626b3821212a3e20c401949",
+				.ct = "be069b414d93d4f641b053f1ee7a61e23bf287a63b1d06c05393e8faa5856d22724bfc511a306ae4ba12c0a051b479e35c229a",
+				.tag = "53a62f9431b8e6124c9bf6298f1b2880",
+			],
+			[
+				.count = 8,
+				.key = "3262f2442b89a3641456cfa3d4d186fc",
+				.iv = "d0fc4f8f7bb74a1763862407",
+				.pt = "fcdd7cd83a366f94289d8b470345fccea2aff778edd9f60c6d8273b3277a843965f0d4ff8be1e61ee82caae8754b87e747b2d5",
+				.aad = "bee1c8ed52bf347431babccac2a64275224045d5c1122eb8c2ac3d8791a5a9c37abf050c406ebeb947428bb60d58d062",
+				.ct = "d0e5cecf32ef65035546cf8a99dc7e6f4320376f8e16a51958dc796c9b9a37a0d74e7b9979a0ab5b88ad92988dc184b964a11f",
+				.tag = "37c52cd41ee2d519aa8363b186aadcc4",
+			],
+			[
+				.count = 9,
+				.key = "fc937348a4468afaa629f158dcff5a6e",
+				.iv = "783aa881ba0938ed8fe8ea30",
+				.pt = "0db6285ed23143762d6e9b708f0c84ed3f48d51e8b3da549f1ce130bd434d0c38238d0e2c6e2b7f6a35eba2cd84d28781dff19",
+				.aad = "31b2892a669cce974c2b467d84c45189b335a5943d43b2f158d5c173be4fe31f8142f1b697c772f175a65dd87ae5fb52",
+				.ct = "29d665791fac09a72dd2178d69de16a5ea3432bf70acfaa174ec4cc93df7efff5f3c057c1ffacc80eb2991b1c79ab565c1f97a",
+				.tag = "113a2dd0be60dd45ea4f3d8b90c1122c",
+			],
+			[
+				.count = 10,
+				.key = "a9a33b71eb81d091ac1d15e48a19a067",
+				.iv = "bb86b999753142de6573e863",
+				.pt = "910246d2435786fdc8f950a0e3a79d081ea1c41eebb875de2eee9daaa8250850f636522cc953419767ad24982bf14427243971",
+				.aad = "7a4ba8b30eeee2f457b74699d2ff77d8f9912f09757972bf8e5e8ec37684a8e1523b0afec0aeb5fababdd945fb55eac4",
+				.ct = "a4cb039956e398846bac343db72b72ded486f64fc58c8b3c3d8fbf1f91b00f4c7c2a560f88f73b7eda4bf2bcc9d4f7a6c62f9f",
+				.tag = "dd594f34a29fa02af3accf567d7c5206",
+			],
+			[
+				.count = 11,
+				.key = "7cb2f97b5609e76040712a95bfe84fad",
+				.iv = "1c2398ea67c1246540c469ab",
+				.pt = "ede4b5732c8fa7bebc87f72da2e243dd4173ddad700bef65adeeaa0c570392fc477b3d2b7d404bea40074a6d58a00f2466c1bc",
+				.aad = "add3e89872e09f64d828463d5df7519de1a9db7639229b67901bd27ac3c3ea61ac1612067d72037adadd2e14475584a8",
+				.ct = "6c6dd8a691eb22294818e61e33afea9e49353d1bb6f645e821d7c4c31fb440dd8cc2651450a764a22038978651ffd33d4be108",
+				.tag = "ea246bb5e2ab3282c27927cd983a7297",
+			],
+			[
+				.count = 12,
+				.key = "402fc879126ff144792af40975f0a24c",
+				.iv = "bdbf6e81feff5a11df17e205",
+				.pt = "8c60dce80b0a5ef578d680d1c811967265cc7664c751faf4d1472dac5b96e26e3be439b19e3da83b1a19dc82ba00d435e03342",
+				.aad = "de8443df44d93b3734d8820b9a26010d6ce09c1bb9a02260235a40299d38330f67792d0f54c0c0fb35ef9febcbccd02b",
+				.ct = "8753e01ee5c088bcae1309b2e4269d9fb15491831a1e17140808f30aee4fa528020a7fc7df8627cda9b7401c44b15aa1e7c644",
+				.tag = "0f457c92a99ac1eba1b6105d6d23ce53",
+			],
+			[
+				.count = 13,
+				.key = "ca5549614dc0324564002139fd6a360e",
+				.iv = "8a4de31b0ddc6d2a3570fac0",
+				.pt = "37610c187d287982e9afc15a9250aeb91933369dedc5910e4de584d70c27b7e4e0a7b02869299100fd8ef75bc66ae4bed2a853",
+				.aad = "6b88709627c28825569d60772b6642a9dadbf3ea9904b290dc632a837d579d2e81284bf4350923c1863e0e8d5894a34b",
+				.ct = "29505af512768c89d84054cce8f8889e9b4a095098b9cec7e26a6afcf7aee5132fb43caf7edc068fb6aea3570ad9310a5c3329",
+				.tag = "d0918033b6db5f999f26bed94d352af6",
+			],
+			[
+				.count = 14,
+				.key = "a68b64267d0d1bc2d94b9f691ff8e9e4",
+				.iv = "a27706bd8eae8bb3dc95a1b9",
+				.pt = "4a99ab41c604d7210069d9228dd3223b6f7da215ddda16cf93bf6658784cbbfe08ef6a0152cef368415dff9f8d1d05ead043f9",
+				.aad = "8734fa3cecb5793b2b7bcb4fcde7808303c27c2c002a27e0dbaa378b3df4909e37c238a24faf49b6cd134419948bdec6",
+				.ct = "43aa0432a1b468bec64de45b66b5fb3e8b2bd9277801ef53a1cd6757bfd45aab9c6b23f0a1f4b30fa33fe52fabe7bb86281964",
+				.tag = "fd39ef2e94707a1aba57ff2de7c17927",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv96-pt408-aad720-tag128-key128",
+		.keylen=128,
+		.ivlen=96,
+		.ptlen=408,
+		.aadlen=720,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "2c1f21cf0f6fb3661943155c3e3d8492",
+				.iv = "23cb5ff362e22426984d1907",
+				.pt = "42f758836986954db44bf37c6ef5e4ac0adaf38f27252a1b82d02ea949c8a1a2dbc0d68b5615ba7c1220ff6510e259f06655d8",
+				.aad = "5d3624879d35e46849953e45a32a624d6a6c536ed9857c613b572b0333e701557a713e3f010ecdf9a6bd6c9e3e44b065208645aff4aabee611b391528514170084ccf587177f4488f33cfb5e979e42b6e1cfc0a60238982a7aec",
+				.ct = "81824f0e0d523db30d3da369fdc0d60894c7a0a20646dd015073ad2732bd989b14a222b6ad57af43e1895df9dca2a5344a62cc",
+				.tag = "57a3ee28136e94c74838997ae9823f3a",
+			],
+			[
+				.count = 1,
+				.key = "d9f7d2411091f947b4d6f1e2d1f0fb2e",
+				.iv = "e1934f5db57cc983e6b180e7",
+				.pt = "73ed042327f70fe9c572a61545eda8b2a0c6e1d6c291ef19248e973aee6c312012f490c2c6f6166f4a59431e182663fcaea05a",
+				.aad = "0a8a18a7150e940c3d87b38e73baee9a5c049ee21795663e264b694a949822b639092d0e67015e86363583fcf0ca645af9f43375f05fdb4ce84f411dcbca73c2220dea03a20115d2e51398344b16bee1ed7c499b353d6c597af8",
+				.ct = "aaadbd5c92e9151ce3db7210b8714126b73e43436d242677afa50384f2149b831f1d573c7891c2a91fbc48db29967ec9542b23",
+				.tag = "21b51ca862cb637cdd03b99a0f93b134",
+			],
+			[
+				.count = 2,
+				.key = "b818752aa4452120808c3d211d57c224",
+				.iv = "d679a0be22c2daf619b11463",
+				.pt = "7ccdecf13130c20f67dd6f47adec33dfb52bc84a7700431b7fd398d652a123f086ae197328cfaed127a91866c95bdfdb4849ce",
+				.aad = "bb853b60b5fd8bd24acc9db9dd3de48b775d4a5cb2a879c1dd78bde94cafee06db12a1574eade205dfd3a8c6f68599e120ec73b6b4559cd03d3118b2b1bbe340bb15320c6bf8d8a1c3c1247b4023ba2949ba6a5ab13f2d85b93b",
+				.ct = "bc1a886c9e5accc34f0c237f7ed996e940e4b0ec882638e69866ed24d86467f5433aee23448df39565a0ecfff2c40e6857f725",
+				.tag = "5ff9c449d0bfa870ebefe78d519a8d12",
+			],
+			[
+				.count = 3,
+				.key = "528b8948b534d5f780ae3f1e23a47a25",
+				.iv = "fec5eaf0a6d6f5c4adec9618",
+				.pt = "9c5280591311dc212d6ee2ad8b83dedf03b91e244d8a42690c9a5821ab971453c8b4f63e15bb8af96aeb4a3e35515b651bc68d",
+				.aad = "d5134d84a96921537a17869c3ed08c55c29e0a67a30943cb248849843794c1c6fefc98659da9b0f505bdefc2e4ebe9523d2a165b63b5e3b2ba9535821d62aaf95b9c7e6ff1f8807a13e79b9fe589c0d9febbabf9372b01ac2051",
+				.ct = "bdf0b752160e64b626d5c543954570169e28b033f77b6ef8a37bcbae2a294a9e7060c3235b290f79c69c39a66b0d5ecc81d02a",
+				.tag = "f93768c97781ad0486f2f9e8210f2a22",
+			],
+			[
+				.count = 4,
+				.key = "824ca85e2e4b2a6c6e6a65ef8616c57b",
+				.iv = "d2bf92e7dc53676aac4e6d1d",
+				.pt = "cd4828e5977d7fc5bbf7f6d1870bf6333c204087639a3b494a4037170b73fc6b32c4555d1a02a8837441734d6835a54bf35a44",
+				.aad = "465afd08d7260308d8d21025f31570e5dcd6bcbd6520ecb6ff85de58378d5af6eaf7cb2f1242c0c47b759c58dbc6e4b45c8b993514f14b82eda3fcb6a0df2075a0ab76fa0c5b6cb37d1d28f773dac591790887d2d72f03bcc5ae",
+				.ct = "4da02474ef189de863d53323ff6737c12efb3d60a890a8d53991de57ffc6cafd44c429a762a2154c5a937120db2161f2cf2ea1",
+				.tag = "949d399a7e2567b275c6f842de602605",
+			],
+			[
+				.count = 5,
+				.key = "4f60b753a36b4b1f2e4d8300ddc667a5",
+				.iv = "35fa2551581f8592134bba45",
+				.pt = "83807c042900611f50fd42557b7cf66315872225143d2cdf8c05ccf688ff21da8f6a2556b0051285b8e7cb8aee05b72816abd5",
+				.aad = "9a006b7cea27f3b4a305ffb0c5bec7e3582c6a3be028ebf44bb2496dae1f492f765cc66c82d3a2212abd6142524e0727dab8ae506e6d5b9dd361e3a37df3bec95b14f1174e7f25c656aabb42981b91950755281c5ef8f52e57bf",
+				.ct = "cd2291ac182ab6d0f7b6b93e67abc4228ab63a4c1b214caa11698d40d2a8aa10164b48624d39dd967f4c35eebf09acdfe59f45",
+				.tag = "b231bb4e63dda90a11700f204dc2b175",
+			],
+			[
+				.count = 6,
+				.key = "07b122a618bb54b8c39d579fe5518a5c",
+				.iv = "26fa33d4c5b37f0c5d07e2d0",
+				.pt = "06cf2fa1c9057d4974ae9048b4878d75b0b4720ed2d7c340e6d983a7cf08d20013abeef881cc3213fe25b3f6ac1e17fe1c2e11",
+				.aad = "20966308f57d3a3e7a4ea149cc1f3edeaef11e8af780a16534472d8df7f706152ee376614426094fd745d77cdca28682d0d2e689d28a50610168d638b23cb4dffa95dd260bc72e0098722cd00126a07fd23ffba1d10a3ce46b85",
+				.ct = "61a69d35967c85dd5e0741a9b88152c3b04b1824930cf6c03f1cb44c1258b71fa3f5233d2f4ee256353c0b8f6d470b53d7811a",
+				.tag = "e98a7a33748de95e22b520ba2254bce3",
+			],
+			[
+				.count = 7,
+				.key = "288e7efe62b93b990f2398c2460e415d",
+				.iv = "c7ebc0cd756d9501faf71a7d",
+				.pt = "5fafe873b9d30771f2ef8dad397a8b42af3fc8f7ebbea80d0132e1af14269a463dbd87e3e01a58c2d991eb3badcf156fe8260d",
+				.aad = "fcb20124c58b29ef7e39800d1e11c4063774dd2c462dd9e07d140d9f4b5ebe4cba7bb8cc03bf357b22096c9897cdcdf112b7a5f7d1e38d5c74c16924522cbe2443c157cc93146c12bae4da2b2f1df07f334aa1cc99fd7f7e2899",
+				.ct = "e5e69100c77d57e05a41b28be74b1c8542fd1f15e73fc589535ea1fac2d263fd92cdaa9908eab6ffd9194586aa3fed5fcd109f",
+				.tag = "537516fb827cbf6ce0500c6feff4db34",
+			],
+			[
+				.count = 8,
+				.key = "f66c5b44e7a9dade5765c3f64fb2bab9",
+				.iv = "3482a46c8d4f173e62ce1dc5",
+				.pt = "80501408e23e2a656720b32b9f41f542fc64e9e8d824af115ece88d551a5f5d5f7fdb67e2339fc263dfdb18a78d423fd868caf",
+				.aad = "1e77645efa4419b2c9696b8f989051929ad6a01fe2223ae68325f8176cc467fffbd198e008904b82af6469a3bbb095c4d00cfed143723ed6cf6ba4198c40eabd05c03e0260f8b2f55038e5c382690886280f6989357c50f74fe5",
+				.ct = "e778a946529444e2656505e4f5f6519d3ecad5458f8f1a04f31a8af97ca185ff717764bca6e99258a24dc97c322ac1c7f54fba",
+				.tag = "c5b2cb532cd05b162b47e94f6d79cb8e",
+			],
+			[
+				.count = 9,
+				.key = "41e8af55426edbe8f0339d0fba400497",
+				.iv = "07eb87d42e90a075d4b34911",
+				.pt = "adc5504d0a9735d7b73fc53bd0ff60f2c881394fdecfcce3483efe126bf148e48db9c0fd356f82e62d743ec09f8906431eb5e0",
+				.aad = "bb2e5c52f2eacc9b7706a2efe4b607858922fd6914a1e22dfbecab2a06464942f769a9c544f046b88a7570e2cf6fd8146c86b2b4decb934f04a81e6d48affbce1f5381ab31a9736b63f5a4e744731726a36357e858c0980d3732",
+				.ct = "040d99698b2a5e0169f6f94e61159c135fb19c5917c015aaf8ebb4a451ffd8347428ebfdd80c83841d299318084c779dc91b0c",
+				.tag = "a16d6267efaeec13d6bc281316ab8be7",
+			],
+			[
+				.count = 10,
+				.key = "bbf947c0e805ac0641d540b471eb9d26",
+				.iv = "b57daf0004f43821f1ba86de",
+				.pt = "1211e9224ebb862f2d27de692362324942da12da441176c4742a228d7928d3c1fb3e83c66d68c619a10911fc2ed90226d4ae48",
+				.aad = "e18d861dc9bb35a9efa63c7c1deaf53910256809a477f1c3db893b2389f1d137659033a5841b888cd6491bb574b782dec2c840f6350825406387d71340d275e62af3cc070c1389375d81ce98ad37c7afcadcd79f1c520a462e7d",
+				.ct = "a6f6aa1750118b402ee1b5f025d29007e3cb162ad9e363efb9ef2d24c850f62db925bbb7e9a83ca6cd6f74251db72622857b29",
+				.tag = "a72dcc29d358f794361f84202c9832f9",
+			],
+			[
+				.count = 11,
+				.key = "a56f4de6772b1242f1dff344ec9b512d",
+				.iv = "94d228087e821e301409f305",
+				.pt = "af537682c419eb7ca3fed65bcc364b01efc2455ff65128dedc88f2224603ef3d7246622269a12b269bbf6ac9d2d3b81abd366f",
+				.aad = "6a9c61dbbfaa20a13320a5f1dead28bfbe5dcbe84fe0a3617c348bd702fbe746f439dfcabdad22ac2fa629793f545bc68459f1c0462453b5b31b747c3d29614f0ccd0745fbaa4b204d47d5cc7db35d6bc44bfcecdfae910faa72",
+				.ct = "55b60587eb879105ce4a36555d8f799618238bf1f7fd4df622662bd07f450a18375ab7eef02a8036470428c4834f881bf05cd4",
+				.tag = "8cbe48d46b5c1296b05b2b6f4b24f7c6",
+			],
+			[
+				.count = 12,
+				.key = "766067fa8f0dc348b77d55ab5317a609",
+				.iv = "8716219953becc2d8918f3aa",
+				.pt = "ab910f7300ec6bf57d7baf2b4474a26a7d7dfcd6b1044cd0b0b32995029a70627f8d2554429e13d14d78950fb1c79ed1f48c32",
+				.aad = "8106f9cacb894dc2f0c93c67cc06cd54af6c6d94193bd0bd9673fc702fc6b995941476f2dc584ff753cdf24517c2153f1e1c6e37fe6d86c1e4fc63bceb25749f9372d62a1932749dd21ef6010b2942bd0464bd64171063a778a0",
+				.ct = "8bc822183f9e42f05429e064934d9f84dfe1713d71690e68981f94256fa4a60736607c5864e3b05e3730caed80004a9bb3adb6",
+				.tag = "439b0bcdd24a87429a4098fd8a05514c",
+			],
+			[
+				.count = 13,
+				.key = "557ef21e91f108f6ab451980837cf029",
+				.iv = "ac1010f6dcec713cba17cb13",
+				.pt = "a2ae838532cebfc9ff8fb62242b84df706ad1777a62f54c64d9b1777bdc0819438d34aa4c1906e0fae1e845b32d8fb65763dc6",
+				.aad = "5d09aa2a302e3ec2bd71b25d52053463c9c38a3b460f7b980aad6c91d5011570be8c23b4db518701f4c5a157882695ba4ac140f94bda13d9824a8976d436492baaae6c4f8367683199695a1f6bcda2f645b188aa5c286fb91c8a",
+				.ct = "94c1941887ff94f34cb96cff2b6a25f660ce9b3ac54963960e70ee49500dae6a20d3307393f37d3a4a35c13b58f7bff0f5de7b",
+				.tag = "95e574f70f5efa14b8ee21961972ee3c",
+			],
+			[
+				.count = 14,
+				.key = "55c8bcb0021090e4b2c785c79cb966b8",
+				.iv = "5e9f1313282f73d7ffb92837",
+				.pt = "2d7c1b689189bbfa2be26ad5c1f296dee4c0f61456ffc94cf8e70aad0f09d0608c4115aa6ed5eba93ed5820b3f3426bbf4d64a",
+				.aad = "f7e14a57e3bb6b99866b90573d7bc355baeb7ac347e43d0b65d97ecc2eb9c772401a8e3c7e9e2871c2b79579d44c139e62c33b42a9e0c87686960009d659d5e3874e168c334b6650c6d36168633757a7c20764232ce94a0de1a5",
+				.ct = "ba59002df3394c5b80983519dc163eca5c44df80f8c4c4e15d3ff73f13c170c80a59d87a2165a7b450be01031a8e41c505c89f",
+				.tag = "28418c564731bddf3d504d8ed32e66ee",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt0-aad0-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=0,
+		.aadlen=0,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "1672c3537afa82004c6b8a46f6f0d026",
+				.iv = "05",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "8e2ad721f9455f74d8b53d3141f27e8e",
+			],
+			[
+				.count = 1,
+				.key = "b52a836c7bd7729360727e438f08e590",
+				.iv = "32",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "7c875d19739f139471d4b1421e2a0b5b",
+			],
+			[
+				.count = 2,
+				.key = "bec9d506bffa40c1d348fcd260b97c00",
+				.iv = "fa",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "fdf0f354702fb3a3334fe431ca0445fe",
+			],
+			[
+				.count = 3,
+				.key = "ff3c6d091a0eaa80b49a9ed18e8e140e",
+				.iv = "50",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "04e4bc9b7ea39fd5433041663b06cf77",
+			],
+			[
+				.count = 4,
+				.key = "878d37c59cebd2ef93a473f1b21eca2f",
+				.iv = "4f",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "ef125fa7ab7324d2e7fd31b655fc1627",
+			],
+			[
+				.count = 5,
+				.key = "1cd7e45b54dc2967de9f756321356a3a",
+				.iv = "7f",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "e953f25cf6b0d35c4ad08cc596746c9d",
+			],
+			[
+				.count = 6,
+				.key = "2b2ec92d6612cf96ade63dd5fd6032c6",
+				.iv = "19",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "3f30855a1e60ca0326a61496ba8ce923",
+			],
+			[
+				.count = 7,
+				.key = "d0130ce305f7460356686f5825ff02fe",
+				.iv = "47",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "2ddad504b1479602adb36028b7f123e8",
+			],
+			[
+				.count = 8,
+				.key = "983d123f9a62ce7e40e1fead07f1c74e",
+				.iv = "72",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "4fde5ca103f6e821ec575741d82dfa51",
+			],
+			[
+				.count = 9,
+				.key = "dda59aed7a4ac477a934d5aac995f26f",
+				.iv = "43",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "3caa4efc194e899a6a54a95b2484d9e1",
+			],
+			[
+				.count = 10,
+				.key = "25b49a48fc90dac6438bc6516d1a506e",
+				.iv = "1f",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "cf535e4dc23688de775d1a0c432f45f5",
+			],
+			[
+				.count = 11,
+				.key = "d8ecc3977c5bae2c2135ece74892dbd1",
+				.iv = "84",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "687c52643af83d6599add66c6af9eddd",
+			],
+			[
+				.count = 12,
+				.key = "41dfa8f85ce259580f9e4e8283d61176",
+				.iv = "c5",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "28e5da003db32ff45d0f1c482e8b6c24",
+			],
+			[
+				.count = 13,
+				.key = "66a664de68ca4e70132d160911334c63",
+				.iv = "2a",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "fe42d432c736c60596ae0b7b9c55556a",
+			],
+			[
+				.count = 14,
+				.key = "bb4ac12fab3eb207eb5cac90918e4ec0",
+				.iv = "0c",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "34af827ef84cd4da7611ca929fe4f2a4",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt0-aad128-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=0,
+		.aadlen=128,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "0bf79b6712d27951b712239ee6698eca",
+				.iv = "e9",
+				.pt = "",
+				.aad = "86ffca2e414e9f1fff80c3decf95a5ae",
+				.ct = "",
+				.tag = "a00003e30d07ce07b45ce19420596e1a",
+			],
+			[
+				.count = 1,
+				.key = "07133dc2b3a59819674b9f2c8a907672",
+				.iv = "b6",
+				.pt = "",
+				.aad = "549e310ef87b2101e6536933555e89f6",
+				.ct = "",
+				.tag = "b4a0d4ae81eaeb323d4782c1d8096a76",
+			],
+			[
+				.count = 2,
+				.key = "ec10b4517e3b8cbade6efd5e8ebb6f13",
+				.iv = "ec",
+				.pt = "",
+				.aad = "538b21670797dd791e5cbd7543673651",
+				.ct = "",
+				.tag = "5a778f02343521a3f182cb5d11e184bf",
+			],
+			[
+				.count = 3,
+				.key = "be95e8ff9688979356aff9b7262c6f82",
+				.iv = "ba",
+				.pt = "",
+				.aad = "1ce96fcb4b0d73ef0e2274b629e9ea66",
+				.ct = "",
+				.tag = "5936e5d6b0c39e56fb5dc14b5be8dc4b",
+			],
+			[
+				.count = 4,
+				.key = "5d511ee879bf16d78dff3daeec50a8b4",
+				.iv = "67",
+				.pt = "",
+				.aad = "9fae5a19d759ec2a5c650cc914203f37",
+				.ct = "",
+				.tag = "07461f59c489b3c800d8ba3a8c18eb31",
+			],
+			[
+				.count = 5,
+				.key = "ba86e856e7bf696c1edd3fc1003d08ab",
+				.iv = "06",
+				.pt = "",
+				.aad = "df78ed8e3291de5c59196e526816799a",
+				.ct = "",
+				.tag = "ad85eb46b72d58cfbdae0e70d7804ab0",
+			],
+			[
+				.count = 6,
+				.key = "8977a14ea23a23a46c64cc80c1c46f73",
+				.iv = "4a",
+				.pt = "",
+				.aad = "47aa2b478a027096ac9ca46c0fc2f636",
+				.ct = "",
+				.tag = "330e739f14e4cf73072f73f1688cb648",
+			],
+			[
+				.count = 7,
+				.key = "a9f737d5b0a329d03c2766a6fd3f8550",
+				.iv = "68",
+				.pt = "",
+				.aad = "d381dcbf123e13eea47e11d9d288a1d4",
+				.ct = "",
+				.tag = "cf6dc5731a7df52c58baf0054523e36f",
+			],
+			[
+				.count = 8,
+				.key = "2db3d1c349394505ceca8d499872c825",
+				.iv = "e5",
+				.pt = "",
+				.aad = "cd1a563f9d3be792096480a5363b92d7",
+				.ct = "",
+				.tag = "7580cfe9fa92c803e9f83854544066e9",
+			],
+			[
+				.count = 9,
+				.key = "47bd463b56841357d8fce84a717bca45",
+				.iv = "90",
+				.pt = "",
+				.aad = "64cb90f62139d97529ddffde257de0a6",
+				.ct = "",
+				.tag = "5082edd2b3d7462ace723667969446fa",
+			],
+			[
+				.count = 10,
+				.key = "12b4244731aa12a8bb944b6d5245947c",
+				.iv = "a1",
+				.pt = "",
+				.aad = "da24d793f39f474d70b91836304879da",
+				.ct = "",
+				.tag = "7734de9961faa5e2e3727aaa3ead1230",
+			],
+			[
+				.count = 11,
+				.key = "bf577d2529ed1a767454b79cfb19ebde",
+				.iv = "00",
+				.pt = "",
+				.aad = "f5cfb28335d1466ddf54628261cc80e2",
+				.ct = "",
+				.tag = "d163bd2bb378de730aaca55e10f7c1d5",
+			],
+			[
+				.count = 12,
+				.key = "a2e4556170ce679f24098eb480a0b307",
+				.iv = "46",
+				.pt = "",
+				.aad = "f86b7eefa3887126b32a9630f76615ec",
+				.ct = "",
+				.tag = "18fdedab96cc96995c0964b1e29df369",
+			],
+			[
+				.count = 13,
+				.key = "e0cbd20d6748f16603ae1fa936b7b854",
+				.iv = "fb",
+				.pt = "",
+				.aad = "13df70b71b4a7026e918c8e124b6fa56",
+				.ct = "",
+				.tag = "9adb67d03c8525f91eaf4ceeead4cfaa",
+			],
+			[
+				.count = 14,
+				.key = "a5c252b819634cbecb2b676da0e8572e",
+				.iv = "26",
+				.pt = "",
+				.aad = "c2d0ad3f6bc17aca28012c6e841b6555",
+				.ct = "",
+				.tag = "b306379671013049be1c089e56511601",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt0-aad160-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=0,
+		.aadlen=160,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "3a087944c5803b9153c6646aa9a8a8c8",
+				.iv = "c3",
+				.pt = "",
+				.aad = "55fe72708217df916429f1412c65e1f7b0613c10",
+				.ct = "",
+				.tag = "de5397caefb946bae7371ef46e7409d6",
+			],
+			[
+				.count = 1,
+				.key = "1f78771bd4b1dbc28f4f58ac9029e895",
+				.iv = "3e",
+				.pt = "",
+				.aad = "088d63f29fd4796714d43b720b35ad5b98a6f8f7",
+				.ct = "",
+				.tag = "dd3f1a398af192f6a614ea01880103dc",
+			],
+			[
+				.count = 2,
+				.key = "a144644f00eedc3d16febc8b7cac83cd",
+				.iv = "2a",
+				.pt = "",
+				.aad = "27f6bf82c3a3550623883c2cb1e184f74f4a9c21",
+				.ct = "",
+				.tag = "cb671ee5c30ccdd67d761e422a20a6b8",
+			],
+			[
+				.count = 3,
+				.key = "bc13921a5bc35db4d8083789ab4bc901",
+				.iv = "3a",
+				.pt = "",
+				.aad = "9768755bb32912cf28c75642e2811fb67e66e7cb",
+				.ct = "",
+				.tag = "e6dba5bf5f32684ffb54b928794c83ff",
+			],
+			[
+				.count = 4,
+				.key = "00d4fdae7d6469ec20c5f66d907b73f3",
+				.iv = "f3",
+				.pt = "",
+				.aad = "022074d43fe01d8f27e59fbf177f737e78514490",
+				.ct = "",
+				.tag = "9d69350e27aa0e1e864a218c7f1ca6e7",
+			],
+			[
+				.count = 5,
+				.key = "f0ba2d1c512a201d6f6b86c94fee4819",
+				.iv = "56",
+				.pt = "",
+				.aad = "eb9e2ed4c88430a01234fe1b78dc976993c28dfc",
+				.ct = "",
+				.tag = "c50378aee3dc98866950133cfb8b9e80",
+			],
+			[
+				.count = 6,
+				.key = "48fd869810b5605a247cf52a818042dc",
+				.iv = "61",
+				.pt = "",
+				.aad = "c39c6471f6f2573d2959b783475588486fa337b6",
+				.ct = "",
+				.tag = "3537f31a93973518678b1d18e1603144",
+			],
+			[
+				.count = 7,
+				.key = "38ffb329a72467411954382d22f7838e",
+				.iv = "34",
+				.pt = "",
+				.aad = "c772240514405d04080284403daf9a6db47d82c3",
+				.ct = "",
+				.tag = "bb2c3f8265dcf65d7656b55f77bbf2d5",
+			],
+			[
+				.count = 8,
+				.key = "0881fb32cf5dc7bf8b0c93be0739fc22",
+				.iv = "e3",
+				.pt = "",
+				.aad = "6092d47feb258629a1c6c9fffb77b40e1a2d5a6e",
+				.ct = "",
+				.tag = "59ace4defb8950a48e16ee10d00724df",
+			],
+			[
+				.count = 9,
+				.key = "4394512bd6694d2319bc7cc096392d07",
+				.iv = "e6",
+				.pt = "",
+				.aad = "9dfd3c6c685bc7b3f1f0e049907b29bf0304a5b8",
+				.ct = "",
+				.tag = "c842fc94828fc232d484a62d87c636f2",
+			],
+			[
+				.count = 10,
+				.key = "ad02bef68786aaf947a84642148ce780",
+				.iv = "25",
+				.pt = "",
+				.aad = "921f91ff0564ace670941ced7bd5178049da0e1e",
+				.ct = "",
+				.tag = "560e0e78d718661d986256b3c431d533",
+			],
+			[
+				.count = 11,
+				.key = "1465aa294aa53b0d03f5c8225ea51154",
+				.iv = "93",
+				.pt = "",
+				.aad = "6ff7eb9dc2b9b2983f05f2cc89256d204937e783",
+				.ct = "",
+				.tag = "d14991e1777fc89a90a284f617a77da6",
+			],
+			[
+				.count = 12,
+				.key = "d882bb6bda900d77467a4beb68c715e5",
+				.iv = "59",
+				.pt = "",
+				.aad = "da66b47a098b53ade8d6d15151f5f2aade1caead",
+				.ct = "",
+				.tag = "36c903e81f6df9cc93d121d0187a0efb",
+			],
+			[
+				.count = 13,
+				.key = "e1edded3dd94297f19ee3fd1e8774682",
+				.iv = "41",
+				.pt = "",
+				.aad = "94a4b4f898987781876d6521495a6c77f0d7eeda",
+				.ct = "",
+				.tag = "a7181c5f3c8d2ab6b01d85f3a6d5d80f",
+			],
+			[
+				.count = 14,
+				.key = "cbbed19450716e10ada4fcdd8c14ea8f",
+				.iv = "90",
+				.pt = "",
+				.aad = "31e23e2cf675815fc1b6490f5e3ff034bd4b0c0d",
+				.ct = "",
+				.tag = "69aadddc3393e6ddfa1d6055f03c9111",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt0-aad384-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=0,
+		.aadlen=384,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "b325b6be22fcb1e9123d8273b50af264",
+				.iv = "8b",
+				.pt = "",
+				.aad = "eadb98e5db850954e90fa3d4998f7385442c0b94a2b0348a9d63fddef78cbe9117306d5514c0fb551b4e839660c06d6f",
+				.ct = "",
+				.tag = "5a527c760275be8fd11583717992beeb",
+			],
+			[
+				.count = 1,
+				.key = "f8c9e5a522217584b98ca2fe29157ea3",
+				.iv = "f4",
+				.pt = "",
+				.aad = "3cc209f28aa1a3dd21fd18c7a2ce18269a9d288123c6e0ef24de6a50d72decf9806f2783ac80457501cde895b36dfea5",
+				.ct = "",
+				.tag = "1374bdd0b84f8d295096fdb7bb612fd8",
+			],
+			[
+				.count = 2,
+				.key = "d0011f937650d55afb91e9f75e035087",
+				.iv = "69",
+				.pt = "",
+				.aad = "23e520b6fd2fd4a5fb68d40ee850bb1fef38d813b1e3457e44dd938ba69e8aebf5308858eb7f7f4fae5e8e5973cfbc72",
+				.ct = "",
+				.tag = "e11e67e19934ce8cb7f774ad97c63f8f",
+			],
+			[
+				.count = 3,
+				.key = "4d816219ac1c23380609e5c63e39a52b",
+				.iv = "82",
+				.pt = "",
+				.aad = "4a8730344cace8f0a7eee678c1d4e2e042b947ed3ea88d478611c4cceb34689b68a3ee4755eb31a68930ad9e4a865022",
+				.ct = "",
+				.tag = "b901036238d65d2123240cc13dab53a7",
+			],
+			[
+				.count = 4,
+				.key = "9cf94c3d3a02a07dbe4e6fc4009d86d7",
+				.iv = "dc",
+				.pt = "",
+				.aad = "0aa2bf9faf6a49fb8d4fae3b66a96f44ca431865a2cd7a8c6529117a5bd5bd71aa29314686eef1d661a85b5650e6b525",
+				.ct = "",
+				.tag = "8e5ff5d807a60fa2e0412328cbaf079f",
+			],
+			[
+				.count = 5,
+				.key = "22865886f2855c12844ef0ce5da8d5b7",
+				.iv = "1e",
+				.pt = "",
+				.aad = "008e410db7e81dea6bc472512f06837c2504d7c16953abce085af605a075a5b90b57379a2f96155eb4167a4db28f1cec",
+				.ct = "",
+				.tag = "2dae94de1dd8bc3f8a5faf8224ce7310",
+			],
+			[
+				.count = 6,
+				.key = "28387dad747a8ee2badf48ce2d41458e",
+				.iv = "13",
+				.pt = "",
+				.aad = "986668b73c6802990983688cd5aa897cb7f65486762820fc123f29e014671259b87982e4a0fe5e58fabd4ad48be87fb2",
+				.ct = "",
+				.tag = "4251960f1ebba480543bad3a971e5f82",
+			],
+			[
+				.count = 7,
+				.key = "3ec5bfedd8c7cc01f0969fedeb268514",
+				.iv = "9f",
+				.pt = "",
+				.aad = "d5f7dcbf775d15ec47d61bfbb91e3a6caac54852c9272a9b504f6ce57066d2e5f918b7ecb8338d6f564e896637d19f6b",
+				.ct = "",
+				.tag = "381f89236d338047359ea89564d9723f",
+			],
+			[
+				.count = 8,
+				.key = "d6de21c4d876fbb693939e7e8ebe9259",
+				.iv = "8d",
+				.pt = "",
+				.aad = "7ef90bb90edcd265dff11a6d7ff97d32c18720d3b386b409a6b55344a23b8b0fa0f909fb490294ddf52d61b88dffc599",
+				.ct = "",
+				.tag = "980e013ad516e01f1e9469982ac48fba",
+			],
+			[
+				.count = 9,
+				.key = "26de2198bfc5ab854c6b6182d6205134",
+				.iv = "a0",
+				.pt = "",
+				.aad = "5a23d71e4c6b2b002b63349216692c570ed035e589c420c650a0c98d4da1b19665b80aecb4daa39a516036c7a696614a",
+				.ct = "",
+				.tag = "3f190313012870dddecba04dd82f64c8",
+			],
+			[
+				.count = 10,
+				.key = "5dddf18f2db817e2d2bd4b22ce84575c",
+				.iv = "fc",
+				.pt = "",
+				.aad = "3685c4d38a2c327cd067bc4630c242bc2f8c74072840624c2ad100b5f2d037dbb62f8c59e58cd73e64f0d1d3a757c818",
+				.ct = "",
+				.tag = "807338b70e1b01919058b82f40fe01a6",
+			],
+			[
+				.count = 11,
+				.key = "c133d3f109dac50158119e72738820a0",
+				.iv = "7e",
+				.pt = "",
+				.aad = "0d9437b49902ead09ab45204d3433e7748837ff7aae5c7ce1736835ac6e4a1c41ec75df26660a84cd5f544c2699b8724",
+				.ct = "",
+				.tag = "4a1851debc414718c36314328bdc3e1b",
+			],
+			[
+				.count = 12,
+				.key = "3136b3af8296177e17f2557663a2626d",
+				.iv = "5d",
+				.pt = "",
+				.aad = "74f602d41e3780b3ac2251a64e826c53ee9963f4af4d458f08d154ebed61642bf5d7b08feecda8f649b997cc980dc6d5",
+				.ct = "",
+				.tag = "3c9063d145fb74ff9914c9a06d5f2ec6",
+			],
+			[
+				.count = 13,
+				.key = "fb90dc4819110f95c634ebd25bf258df",
+				.iv = "4a",
+				.pt = "",
+				.aad = "2cbf7f24ee5f0281362a806938d5d7e1d79a214527600f520933ebd6f08f5ecdb2adbbe6703b293cf27cccfa3ea57127",
+				.ct = "",
+				.tag = "6bad15f34bb8db31d110f062ab0166cc",
+			],
+			[
+				.count = 14,
+				.key = "34e97642d2363ee7d9541d90dac0bdb3",
+				.iv = "a1",
+				.pt = "",
+				.aad = "06fa356cfa3bc37c8648a3be6d6afc8b5fdd8a39e50643ca9919da393b72b9aabe1e69becbe7a1c97233fc7c071d55e1",
+				.ct = "",
+				.tag = "4280941c84b779f68f717cd56c6d9b07",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt0-aad720-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=0,
+		.aadlen=720,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "ef2d34aac1379529c46246464fe45060",
+				.iv = "e6",
+				.pt = "",
+				.aad = "f5067660484bc84f90b02bd112936144c06a1310178533d4ab1b0a4d8e99574fbd54b136f7e806acbb6225b03c0a972c64ad1a9797c802fbab13ae580c9aaac28405bb16ff0dc22ec331127c5d0080c5adc09bcc972984b53432",
+				.ct = "",
+				.tag = "82213b4c67cb04351fb1af1f051f6360",
+			],
+			[
+				.count = 1,
+				.key = "ce38135282c01438dedacc8bacaa7ba6",
+				.iv = "42",
+				.pt = "",
+				.aad = "2131a58f4aa1287a5bd43a072a8320b87dd916b7beeccb754ee1516a7029d21c78cf3c8261f1f9327319316b40f053000c4cb20cf9f3cfdd4f25fbeee703ef11765d617bf307cdbf4299aef0a921bc5a84f57fddd926b161ba7e",
+				.ct = "",
+				.tag = "afe35ac7549c62be52a65e4f3a50fba7",
+			],
+			[
+				.count = 2,
+				.key = "1bba03f0f74209bb08fd950037305168",
+				.iv = "0a",
+				.pt = "",
+				.aad = "5e7664cf1b509ffe84eb71e9e136ea9d205b93db309c9126bf6fea7ab9a518ee5840d7c2a94c90537d9f1c42eb2982015766c348a4ccfa0e2ece86284188df9c6501e630acaee0f80a4ae7722f809df029d5b538b7cb49f0de3d",
+				.ct = "",
+				.tag = "42d14cb29884044af933e750a0fc36f8",
+			],
+			[
+				.count = 3,
+				.key = "b8c70a302e0674664a598fc7defbd4a4",
+				.iv = "c7",
+				.pt = "",
+				.aad = "8864a722350ad51ab49398154140ba97f1183f426dd1348d91b7088ac5f46b495ef8ad85f7877502ac722da82da51121d0363ae6d6a37260a20aeec70d46647c486cfffd18679912d63f2775c90e57bcac4886e002bb1d502183",
+				.ct = "",
+				.tag = "d2840e25d135d3f8aa01acf60b058bee",
+			],
+			[
+				.count = 4,
+				.key = "be455e8f159d585e794ef9c13e9bbcb9",
+				.iv = "df",
+				.pt = "",
+				.aad = "3e0f7ed0c381184d51a40b6976b8c5e91e95f07f9b5188d0945d5fed4fc936673fbc1a654550057c8e68643941cc4b550988635461a506864d4a382e1886662c2be7968d10729db52ad92c2339003afdb2dc63adb12b57f5b8e3",
+				.ct = "",
+				.tag = "ab2b1a61ba85e776b71d22c24ce272ac",
+			],
+			[
+				.count = 5,
+				.key = "3b45d6c2da11194dce63e5e05ffadfe7",
+				.iv = "af",
+				.pt = "",
+				.aad = "1b76edbbfad8ad12b8572a04c6cd6283c58a30dfaf5813bd4d0095124eb1da1f5d39888f853630a0d5ef7651d0191ffdea5eca4b502e53c94080a0819cd8f3d009de6f8a421c3021297ca1c9650d69e5dec18f9f229d264db5e0",
+				.ct = "",
+				.tag = "ab142a871b3b4c078af4180c0cc87fde",
+			],
+			[
+				.count = 6,
+				.key = "a845bc25e2370a1622b900eb4c764bbd",
+				.iv = "15",
+				.pt = "",
+				.aad = "870d7bc40614c49a4dea65bf3b6f2c7a41ecdd4f7d1e2eacaa7ff23cc0b02c0db5f49b44e0db9929e0040b2023d47205eb6110cb97cc79f53d307e2feb56d9ceaad69e4b45dada491ab23498ddabf1da464cea61334fa1bc0995",
+				.ct = "",
+				.tag = "098e16bdbbf9b04ad06cb65a7d43ac47",
+			],
+			[
+				.count = 7,
+				.key = "b633d3143c513b7f7651a4671d0a958a",
+				.iv = "60",
+				.pt = "",
+				.aad = "2f9aef154fdb4718465d1fed3dac5e603f43c125db2a60fdfcd008b6ecfe7d2bc2eba3db7ff19d714a1430238b960d20241f91b55740949bcdcc99c405664bbb9765c8acc8e3065376a261d76e970132c02c56f6e7127803c770",
+				.ct = "",
+				.tag = "5d855e86f9d853b9a683778052a73d4f",
+			],
+			[
+				.count = 8,
+				.key = "e4b5f77fb7a806ea96f4dc17e4f97603",
+				.iv = "f5",
+				.pt = "",
+				.aad = "497d71dadf7268c0439b8c7c83b61d4f3f78880a181993607f65e364e0370f71add8dc91fee63928e5dd222079547982723ae7a6d1d4edd8e837bb13d1a5ae0821b5f209555d2590b4301f3c9ba6a374e819f0d3acf7f338ed25",
+				.ct = "",
+				.tag = "087a2c4f43aab8577ece772170e7822f",
+			],
+			[
+				.count = 9,
+				.key = "82ffbc1229c2f285fb19477f1b47ad61",
+				.iv = "1c",
+				.pt = "",
+				.aad = "418b5aff1e85637806b68e888ee25dc011cc9ad396180e0bc428665612fabdbfdc0fbaf988d682024f51a925bdd8d7c2c9b9c0a0472ddd669df20efefc0776739457bce3495f1e01c6812dbc3f8b65c9885fc83cfdfd771ac317",
+				.ct = "",
+				.tag = "4bf7f977d65fd24a6d95dbbd60015a69",
+			],
+			[
+				.count = 10,
+				.key = "40eee89696f1453786f10b453c255e60",
+				.iv = "9e",
+				.pt = "",
+				.aad = "c71562e99f13f3dcab7d549ba2c106c20711626e2130060e74a35c0ee06ae13721ffbf79b72abcf74f979d1d9a4c26c441e3256efec2b6ccb8df8d2dbb471829c2b1bcfc00ea42eeb7b49fbcda3c64acb8fed54ef8c0c2a3036d",
+				.ct = "",
+				.tag = "c8ec65d08aaae9e1dcdc60576df04ec1",
+			],
+			[
+				.count = 11,
+				.key = "e8a221c93d9d0f56dc0f7880a410b4d4",
+				.iv = "81",
+				.pt = "",
+				.aad = "32c05c4cc84096904b587c2725a8610d69a5f012eb41add56422fdb49daa178477ea8df380a15390b2bfe913e443488f1873e5dd64307a949d72fe70bcb7621786d05d303adb66578cba918553a9c409f0a5bae297dd350594ea",
+				.ct = "",
+				.tag = "c615edb822f8017c9a48de9073acc954",
+			],
+			[
+				.count = 12,
+				.key = "69c54d746b5c0088491d3dbdb86a698e",
+				.iv = "ef",
+				.pt = "",
+				.aad = "b3677bae53e7ef9964624c6f4d8de6a55b3908363a35eb1790fc7cd121505057d8adfd6de5d8d04fc3f75e23768d4464e8fc443efb1dc2d7bb0fbc6eb87d8d43b1dd244175549f147f9836e5de34071e30dbba358d235505adbd",
+				.ct = "",
+				.tag = "b9459cd89701374a6ef3df6757cb86e3",
+			],
+			[
+				.count = 13,
+				.key = "3b7172d91b27af362577682ccae25a84",
+				.iv = "d6",
+				.pt = "",
+				.aad = "37e803721995ae886f7d94f84ea3e801e850ca28bea2b6c3179c6bc0b6d8272f72850ae760d2154786eebfd3ca6c108b682708998c3cbe6e80701f414f151fc8dbab913b3e273313918715ec4c75f0d3fb02d22b99fb0682ea34",
+				.ct = "",
+				.tag = "5fd7c550e55bb968dbc2bfbbf19cfcba",
+			],
+			[
+				.count = 14,
+				.key = "dec0ac310a6d6182e2cbdae84a60f2c0",
+				.iv = "c5",
+				.pt = "",
+				.aad = "61d17296646b41b9429f1269ff73525327a26e685bc520e9ab6e6ee34ef7f5d4ce644cbde4d7f8ed2d1138973e707fa063150a4f2e1048fe4e48b26977ac99e273251b5b677f9237ec8d44e9d0fa8fc32840a787984bfc758eb8",
+				.ct = "",
+				.tag = "a736f0c7fd88b0700934c69d95963127",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt128-aad0-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=128,
+		.aadlen=0,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "15b2d414826453f9e1c7dd0b69d8d1eb",
+				.iv = "b6",
+				.pt = "8cfa255530c6fbc19d51bd4aeb39c91b",
+				.aad = "",
+				.ct = "4822cb98bd5f5d921ee19285c9032375",
+				.tag = "8a40670ebac98cf4e9cc1bf8f803167d",
+			],
+			[
+				.count = 1,
+				.key = "681587d2e2760cc7d3f1a1043a8ba2f2",
+				.iv = "1d",
+				.pt = "9e04a8f52e8d5c41c890a9cdaf7ec304",
+				.aad = "",
+				.ct = "59b4e8151db527408d0c8494e86738ea",
+				.tag = "17295fcdc04abc7b68a6f2bf3a8d92f1",
+			],
+			[
+				.count = 2,
+				.key = "14d180509e6294b6734613725e240923",
+				.iv = "9b",
+				.pt = "4edf637ede22007565e086e13f6ee692",
+				.aad = "",
+				.ct = "945e8eb1f5c1fb22b6b849ca4460e965",
+				.tag = "59098fc7400f337db33cbe4a280b0739",
+			],
+			[
+				.count = 3,
+				.key = "ced47484ce3614ccf9ee673e4f5fcec4",
+				.iv = "cd",
+				.pt = "526606bb5a17af08572d45e713e059d6",
+				.aad = "",
+				.ct = "13f2810b327323c0c801c06e3ea943a6",
+				.tag = "5bc4f30dca6d7717fa058ce64d368a8c",
+			],
+			[
+				.count = 4,
+				.key = "c91ee6e2ccc0cdcab41808f5c91a3d8c",
+				.iv = "22",
+				.pt = "4b9422ab9895e9eb142d93b7734431df",
+				.aad = "",
+				.ct = "45ee703bf4a6a86f478172f1f9285dab",
+				.tag = "903b4b6ad2decfc0391e8d1db95e90de",
+			],
+			[
+				.count = 5,
+				.key = "1fe9357738b4aec49c26cc1a7af32f09",
+				.iv = "8a",
+				.pt = "a64667cf3ff109c36b5d5e79225107bf",
+				.aad = "",
+				.ct = "c32bee8d8e94ec9d8534a97aab58cdf4",
+				.tag = "756ba80da7fe45b1d6e01762732851a1",
+			],
+			[
+				.count = 6,
+				.key = "0f7775020865ed0d4359f89cb8988689",
+				.iv = "69",
+				.pt = "f7233ebd0d9272468eac9f8a9817b73e",
+				.aad = "",
+				.ct = "3b07493962c1acc382a34dfa48f08b20",
+				.tag = "9f9aed78b6f3da7adcacddb69c1eed95",
+			],
+			[
+				.count = 7,
+				.key = "eb870e3373d91d9fe5dd364f5f59eca8",
+				.iv = "fa",
+				.pt = "cb7a497241eb8366cdd130bf539be1bf",
+				.aad = "",
+				.ct = "08ea5f96bd894c6510f1370856ee145e",
+				.tag = "3a680d627ef43b32945f58e0caa30aec",
+			],
+			[
+				.count = 8,
+				.key = "acf28c4136d0c8919ed8b7fa1ba2c10a",
+				.iv = "16",
+				.pt = "c5b561c65bec254a6cdcaa3be7f7c925",
+				.aad = "",
+				.ct = "575a0f7701cf35169d19c3f3edff9613",
+				.tag = "e6e289a0de6ef8f42eebb44bd05717b0",
+			],
+			[
+				.count = 9,
+				.key = "2d4e6274df83b030601bb8ecbed1d9ed",
+				.iv = "77",
+				.pt = "6be60d84882677f6675708cad0b112c5",
+				.aad = "",
+				.ct = "70452f7b75a98984ee81d95dea8d1689",
+				.tag = "2bd52848469a32ce8f342af5d669f268",
+			],
+			[
+				.count = 10,
+				.key = "8a3842e10f429f5bfabd3af585a194fa",
+				.iv = "87",
+				.pt = "7a83197164f255ed6b80f8fc8d97bd4b",
+				.aad = "",
+				.ct = "f83b3d6e1316fab382297d675773a4f5",
+				.tag = "d09ccf4b4fe21311930ba7373040736b",
+			],
+			[
+				.count = 11,
+				.key = "0ebb2609be634e502536b79b0f833a98",
+				.iv = "59",
+				.pt = "3c6661ab8a990eed815a0e2fbe333c1f",
+				.aad = "",
+				.ct = "013b511b22ef841a85551f9b462f66b5",
+				.tag = "4cf586bc158e74699236e809df304925",
+			],
+			[
+				.count = 12,
+				.key = "91a47fbfe50fd83e8af33a1a1290576b",
+				.iv = "8f",
+				.pt = "6aff1768f3f5230fe398212ac82875a1",
+				.aad = "",
+				.ct = "3b6c1259f16837db37c8c456905b806b",
+				.tag = "c4ac527966500eb5f24f3ecf8cf99468",
+			],
+			[
+				.count = 13,
+				.key = "e6f0b9bef50e10829ead3ea25b435355",
+				.iv = "49",
+				.pt = "075acaa225cce6354deb1050cae7f354",
+				.aad = "",
+				.ct = "5425599a990383043ed3c7ed93ce769f",
+				.tag = "4f58d892498303c688bd3ce8f97f7d75",
+			],
+			[
+				.count = 14,
+				.key = "998358d1ba5f9779d062d2d8cb8cb4bd",
+				.iv = "7e",
+				.pt = "0f8e2927228c35762e63e8d28016fafa",
+				.aad = "",
+				.ct = "825b5b9ab590e751451064bf6df4d41f",
+				.tag = "6f0cfa26212902f58c4279eabb91d151",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt128-aad128-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=128,
+		.aadlen=128,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "83f9d97d4ab759fddcc3ef54a0e2a8ec",
+				.iv = "cf",
+				.pt = "77e6329cf9424f71c808df9170bfd298",
+				.aad = "6dd49eaeb4103dac8f97e3234946dd2d",
+				.ct = "50de86a7a92a8a5ea33db5696b96cd77",
+				.tag = "aa181e84bc8b4bf5a68927c409d422cb",
+			],
+			[
+				.count = 1,
+				.key = "5dfc8a45f7531ca9a1d1145b333ba49c",
+				.iv = "73",
+				.pt = "abf37de1ddffe3b6db6381279ae4fd3e",
+				.aad = "c0685a55c8379d43e393da0cfc81d1a7",
+				.ct = "50e14d76167fa88591c269e2f52ad4c8",
+				.tag = "321f975b408ec5f2c2c354147334c140",
+			],
+			[
+				.count = 2,
+				.key = "53dbca8df067caa9e5deb2a2d7d61503",
+				.iv = "c8",
+				.pt = "cc8e30e6d4068cdf6f34c6e8227c1226",
+				.aad = "cd9056670383e4972f12176563570493",
+				.ct = "83144076b56a0dc590a5959f10c6892b",
+				.tag = "9901b36fd734251a56d0d0dc9d42c219",
+			],
+			[
+				.count = 3,
+				.key = "c8a17065f738b3ffd2e67ca84c5766cc",
+				.iv = "f7",
+				.pt = "a585ba29ec5494385f9120cdd0d662b2",
+				.aad = "54d74304e63211fed975799039fd7369",
+				.ct = "d8dfc6a3e22041ad239e1aea0deedacc",
+				.tag = "2b9eedc15596563d40ea16aa98bf3019",
+			],
+			[
+				.count = 4,
+				.key = "d9b386a4c89f8724d2b04a6427a22b10",
+				.iv = "02",
+				.pt = "c0df9214fb5a0138fab27f85bfabae7c",
+				.aad = "62a8ac9406e13361290599c3f33097b3",
+				.ct = "efcd742d3fb3a92416eb861f1689a12e",
+				.tag = "6b3570f1ac29133bb2d0d3914345d75c",
+			],
+			[
+				.count = 5,
+				.key = "9ae2d3eb74487ccef2c3c88ccc939db5",
+				.iv = "a9",
+				.pt = "3115bac4435b59cf8b6ade74c8a50315",
+				.aad = "636d00444b9e810ec88260fee267a931",
+				.ct = "a453f194fa2d8ef18afca29c26dd5556",
+				.tag = "166bdd4834c7e6cb78eaa9a83a92d9f9",
+			],
+			[
+				.count = 6,
+				.key = "d4c3592364bd2f771ff3a9a05125ec19",
+				.iv = "87",
+				.pt = "e68114efd826e2b0f2d39cc349782084",
+				.aad = "a7bd58a238cdde80be3b661bf2205bf9",
+				.ct = "d5c276af62fb6d390589c3873dd55862",
+				.tag = "c99cbd69772c4bbb6287d28163e36915",
+			],
+			[
+				.count = 7,
+				.key = "d19263ab069fd04c003ab69c80d5e5f1",
+				.iv = "2e",
+				.pt = "2abaf0307e3bbeb4012ea73f2fd18dc8",
+				.aad = "262400ca5360e162c1b250becbd1ca14",
+				.ct = "49b3df329053e929e58f887ed498b911",
+				.tag = "d9431235eba58c58398e4fd5c763097f",
+			],
+			[
+				.count = 8,
+				.key = "4c2b727027cd75dcd21ee339723f15b8",
+				.iv = "80",
+				.pt = "8ddefbeb98d041ea788a698ddeab6cc4",
+				.aad = "458d2c1641be18571fbc4d1a51c99d54",
+				.ct = "f8d4f72503cdb7dac18c17ec2711899e",
+				.tag = "4d863a549812002c632bb24403259a9e",
+			],
+			[
+				.count = 9,
+				.key = "b4bf2d98b4a0b27a3846a616c7c82336",
+				.iv = "1f",
+				.pt = "7df37feb453e3305cbe17fca5a096cb6",
+				.aad = "f988119abb47b24c3484615b8e479d8b",
+				.ct = "c1b1231dd3ea71f090c085586fae1532",
+				.tag = "f44a7e989b1e2513f1c27768a13706e5",
+			],
+			[
+				.count = 10,
+				.key = "6ee26006f04f2ab4c55552bf4bf1d2a7",
+				.iv = "08",
+				.pt = "9811333cc20949c7d15e9802b7fd81aa",
+				.aad = "d7f5329a216dfcc37746a4d2b9dd49cd",
+				.ct = "6a4caedc2ec8701c3f0f992a394f7d5e",
+				.tag = "b553f9e04fb450f3581fab551b4f025f",
+			],
+			[
+				.count = 11,
+				.key = "10054a3aa8d0927ca40995ad664e299c",
+				.iv = "e7",
+				.pt = "29bcb48618ad0dbcbece764b534c2a6e",
+				.aad = "826dbbda4eb3ff2cc3f23847c4a6ed8b",
+				.ct = "d09a116fb45aa72491ee919594006c02",
+				.tag = "d47a02da533e542335c8f42406ca9d66",
+			],
+			[
+				.count = 12,
+				.key = "5524795cb41cca9919f11e4c9aafa78f",
+				.iv = "45",
+				.pt = "b6b014d092943dd9515c3f3f56c685e1",
+				.aad = "c6208978f975861cf001f671b12ee50e",
+				.ct = "b05addd447f1c44e49a4c57763f335d0",
+				.tag = "cd6fe0e0e709402453b9eae67369336c",
+			],
+			[
+				.count = 13,
+				.key = "6f29fc51ea43562d1b2bfebb3962d4ad",
+				.iv = "f9",
+				.pt = "50c8ee4a7842b5a274b8ee02c8e2b44c",
+				.aad = "e7227f19bf0c86627b22ab2a77499169",
+				.ct = "24dddb6387e2fcf1f2fd612db8bf73ce",
+				.tag = "478b7715514b4595f50e7850d60d9d1c",
+			],
+			[
+				.count = 14,
+				.key = "0df8aabea3e8287b26bd1ae24c8a75c3",
+				.iv = "11",
+				.pt = "a3b0184accff60e175c650851432bbec",
+				.aad = "746ab2a8135805999fe1b0b55c36bb4d",
+				.ct = "fe8e421b4324d1c280870ea730c9f7f2",
+				.tag = "c513421378f9dfd88f54d41c2ff5c680",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt128-aad160-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=128,
+		.aadlen=160,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "6dba65dba3312e9b907a49bc46902317",
+				.iv = "39",
+				.pt = "ef7e921f46624c693e0f8d908b8b980a",
+				.aad = "4ef6b550ad8682873ad29b5304d348d30a3623b0",
+				.ct = "b7618956d40f9abc28e83504402a4a76",
+				.tag = "c0a45a7b3984d9b9a512091ad74d2d8a",
+			],
+			[
+				.count = 1,
+				.key = "fbaafb739a15115e1be603d9a64ef045",
+				.iv = "ad",
+				.pt = "04c7cbf45766b200ad0f3f514f0491b8",
+				.aad = "69d0767a89d13442abd729fb7b84d5fa699ef90e",
+				.ct = "e031826e2a7e93ef8001dd20e1582112",
+				.tag = "9fd676cd0077787a6fdd1b997a56214c",
+			],
+			[
+				.count = 2,
+				.key = "0bc2822441c185d7439c2f55792bd56e",
+				.iv = "68",
+				.pt = "cce20c39c5490682f0dbae1ddd76fd8c",
+				.aad = "ffd2aa0e82aeffcd326819b173c912a6be399a39",
+				.ct = "037414cd4a794dbfef7b4caf487e478b",
+				.tag = "0b93840655340ee6387ce4489c88f69d",
+			],
+			[
+				.count = 3,
+				.key = "e467ad4c9b7ca179a498f3c9a2c9a851",
+				.iv = "7e",
+				.pt = "6afe65803124d6b95f97d8566c69065c",
+				.aad = "4003f29a037230d6760abef81acef9f0071dd0c2",
+				.ct = "3a1fecd369a288f6834afb367008967a",
+				.tag = "5eea1c1a0aad7f7e5157b9041963108a",
+			],
+			[
+				.count = 4,
+				.key = "71653c03c5717919f360e51ee5e222c2",
+				.iv = "57",
+				.pt = "96e4e1e4a7828c67866ef733d7292df6",
+				.aad = "516a61d11b349afd5cf9e571617a02054b886048",
+				.ct = "d7e623e9aae540bf1ecf97fb6f47b9df",
+				.tag = "7a46f0a655df0ef3ea7bb8308ff6dd9f",
+			],
+			[
+				.count = 5,
+				.key = "de2833d18edabce1923fc2f98fee9afd",
+				.iv = "e8",
+				.pt = "e9a4fd572110401aae130ca76e9f6920",
+				.aad = "c746c793013033125e58a029a5cc92d04ee1c03e",
+				.ct = "bd3b95a197de598a765e575987cec2e0",
+				.tag = "f28982f251e30c0859446cb5c9b34bd7",
+			],
+			[
+				.count = 6,
+				.key = "839be2ae9cbce8c00e2ec39a48bdd92a",
+				.iv = "60",
+				.pt = "0401969728f7f98371f90e7b385906d3",
+				.aad = "4cf57a7692a87de08572ff70679cb663ccc3c7be",
+				.ct = "ed36e1bf9063ba5d51ffc02ac257275b",
+				.tag = "3a33e68a103eeb8cb9ea981b2dd78e32",
+			],
+			[
+				.count = 7,
+				.key = "098053bd337028e0934429b6b08e92af",
+				.iv = "dd",
+				.pt = "f365ce496c21f7eb4616a1327a38f7e5",
+				.aad = "c443c4113f7290f9e1a6ca2f74fe4fde0e70c2e2",
+				.ct = "98695bb10ad06034086949bc1ab3dc8f",
+				.tag = "e685b8d4c52338bccc46695b754107b8",
+			],
+			[
+				.count = 8,
+				.key = "092f0a4e43c679589b99f6b23c4f279a",
+				.iv = "94",
+				.pt = "b49874a5c673a09a7fef37446c5d46ff",
+				.aad = "b89cd73ecb3a13876f8325cbd573d62536fbe67e",
+				.ct = "7c0571ffa2a0c0f8b1036037be1fa6aa",
+				.tag = "299c1b83c0ad81fee296c1bfd216c89f",
+			],
+			[
+				.count = 9,
+				.key = "ba9f4134909d65cd4656d469feac9719",
+				.iv = "70",
+				.pt = "ffb7e66f73b709a9046e9e55ea41b56a",
+				.aad = "a7f927751e73b733d219bf23d69cb03902fcabaf",
+				.ct = "9235345a26a558f89b6b2316b72af5b3",
+				.tag = "e86b1227defb5787776eeeb0784703bc",
+			],
+			[
+				.count = 10,
+				.key = "fbdf4da9da95b7fb7ae51af026d0702b",
+				.iv = "0e",
+				.pt = "85c45ad3a85781b6fd39c8722ad26c53",
+				.aad = "47d1163b6f1cb2b418ae43720d1fa91793969dc7",
+				.ct = "c48cb4b360dacfd3df9854da7dd43dd6",
+				.tag = "79d50006b5c9d4e445d133ca861b3ee5",
+			],
+			[
+				.count = 11,
+				.key = "1a9c71e1e1f3796d45ac0722f153c1f9",
+				.iv = "a6",
+				.pt = "0f4372953a65b4eae47fcc5382ad1bac",
+				.aad = "b3c28dd870d5c064f1298f206136dba888c53fc1",
+				.ct = "1578c8d608dd1abeba15b1c8614113ac",
+				.tag = "cd49e0da77ea030b9b43becaeaddcf60",
+			],
+			[
+				.count = 12,
+				.key = "18f6d817262bd40a696f7da48795b5c1",
+				.iv = "7b",
+				.pt = "c7a816175742a9b7e03f56a8aafc46bd",
+				.aad = "0fac5808e1832ce5651948ef9246ee1f3f207929",
+				.ct = "8d9e4ceab3bfd830f7f91d8334df092b",
+				.tag = "f3faabbdee8548ab933158fab20a5b80",
+			],
+			[
+				.count = 13,
+				.key = "189acd7b7da151ceee56069d9bb46c63",
+				.iv = "c1",
+				.pt = "88d60be44f26758ca309a269ebc7e495",
+				.aad = "97aaad394394c250cb3cc9b4b9345c617ff93a22",
+				.ct = "b3b0de73f8e53260b3e1f5fa51cbba88",
+				.tag = "ad32636eeca98719d5b25ae2efcae690",
+			],
+			[
+				.count = 14,
+				.key = "715c1bc82e4347ce99426a29bd4769e0",
+				.iv = "0d",
+				.pt = "4e1f044b7b36290e4963d302ef57bb60",
+				.aad = "d73c0ee2c7a0ddc60aab7de4b1525ff6d874148b",
+				.ct = "b447f8157db38eb0bc1ae3cef9431f17",
+				.tag = "99b4389ab6305c213db6fc32a7da1d5f",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt128-aad384-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=128,
+		.aadlen=384,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "9a65c2160b7cc5623e0440343099af3c",
+				.iv = "9f",
+				.pt = "5023dee83c0cd76a564bf040e67a3a9f",
+				.aad = "d984d8d9733b32ff4b24a118e27652fc5eae299f96391fb7401583b1c5bbd7fc596ae747653abf2d832f1c2a58eecdf4",
+				.ct = "98cf22940d78d3906780ad990350116b",
+				.tag = "e425fa2f0b86daefa350a13e841ce5e5",
+			],
+			[
+				.count = 1,
+				.key = "c695b8ab08d7edf5f24698d480d2bc85",
+				.iv = "f9",
+				.pt = "04fd2fe1ba049499e7332c4a7f55cf2a",
+				.aad = "5a3b61c091c10011a50418d4f177f5a7534f25ddc90ccf681f993f504646df571a2b630359860061135079ef502693a9",
+				.ct = "0019f73155062e5e0a6c15fa91a38f1b",
+				.tag = "14a8e777f5f9c9abaa5f816f62360fe7",
+			],
+			[
+				.count = 2,
+				.key = "9354e3671f246e78adbb2a29bb7ce0d1",
+				.iv = "49",
+				.pt = "9aa697a09e89ac0391d6a7e3cb9240e2",
+				.aad = "084594970dc45f8255aad767d75feaca0750afbf36752b1ec9c78c72c756066db0e23455eb6e4bb573f567c2ed73119e",
+				.ct = "8464fb692b51bd0a90c3d38d3725f629",
+				.tag = "3e0d0b5f4d4429b4ad28edb998f8310b",
+			],
+			[
+				.count = 3,
+				.key = "681cb37e9cfb1f7599bd8ae4e33e5b0b",
+				.iv = "c5",
+				.pt = "4c6ea1fa812471e2e9618504c59a1095",
+				.aad = "eba0a85b8b8a43be23bf5bd3533488c3c07a360a33936863e281967cafaa7555cabb58d914c1d99644412e69c865c807",
+				.ct = "547f303076aee7af7e6d28a5a57c1c6c",
+				.tag = "f8dc1b50b8995ba1ba2ca1d0575ab8d6",
+			],
+			[
+				.count = 4,
+				.key = "080c326c74a1365c5eafcbd8e2bf741e",
+				.iv = "52",
+				.pt = "aedf833a9d17fa628393cf0785003f0b",
+				.aad = "a6a7309a438b12305cf7e291ddf2cf1eadeff01510a37ac7aeee637044f4ccb56b59ff5ac834377ce514d7693adec282",
+				.ct = "6724909aa0818511979230b11768fb95",
+				.tag = "ec78322927a03e31f3249a532be0805b",
+			],
+			[
+				.count = 5,
+				.key = "40bdb9a4e3f6283407339dc6ff065560",
+				.iv = "5e",
+				.pt = "8d9bfdcc5a66263018e660ca05c5efa7",
+				.aad = "6a86a7f19446abdd9b15772fde7160ef4dc84f3800e5a6ab238faf5b2ae434588e46d44376e018c6a0b8cfefcf5e00a7",
+				.ct = "63cad251189a43a3c8ce940e34d52521",
+				.tag = "263e94f4cd86b485c11f23ae7ecb7845",
+			],
+			[
+				.count = 6,
+				.key = "1b10cc640fab802009d9d92758f8e1f5",
+				.iv = "b6",
+				.pt = "659270dc6fb735bee74eaab326f8751c",
+				.aad = "4fc15fe3743007d3c55265925e888e317d4a7fd3d9f9936cfbeef3830d025576409cb0b21a3c2de8ad7fe387f85df44e",
+				.ct = "0e5ae4b4560bcbbc0830bfb85b07b665",
+				.tag = "2a68a4efcab54771455c3b668df20476",
+			],
+			[
+				.count = 7,
+				.key = "a2642af393cdc18969e5dfdecbd558d0",
+				.iv = "21",
+				.pt = "954eae11680d457d4ba2ba2b33b5765b",
+				.aad = "0fc1298e776c608b84079fc2c25ba5a0cdc987b90c3dc8df7fc8371584cb2f0dfc9d92709c87d3e45c491d6a3ce71c96",
+				.ct = "59d9b2dff83896bfae2a41fb481444ae",
+				.tag = "71064f43f36aaab7f0d4c4cad9f17f04",
+			],
+			[
+				.count = 8,
+				.key = "c99f00828bcb0ddfe0d930f1fea7ed28",
+				.iv = "f3",
+				.pt = "e3cc87c8550b89fa42bec5c68a21fcc5",
+				.aad = "918b0156fcd301c72dfb4011f9b16ab6f62639c94785b087fa708b47f55e40d94718a4c4034e1b0c0be196a12a676069",
+				.ct = "4b75142897c92523c387783a15f5a9e6",
+				.tag = "3b150a27f149d67bb62ae33414c51606",
+			],
+			[
+				.count = 9,
+				.key = "d6f7a6fc7b910e7ed8f4aec6cf2fb0c4",
+				.iv = "fd",
+				.pt = "b4413cf2e63dff93bab1feb34663fd48",
+				.aad = "737c2a36010e3ced5b4426571747706f2ef379bb1d1a75d16d75de20ee943ab18952b4d4b0f0dfa7dae1f5965bc6dd33",
+				.ct = "d7b1ef9e40fa69351f0724517ba187c1",
+				.tag = "a717e78affa036877e51b7a009e9911f",
+			],
+			[
+				.count = 10,
+				.key = "dde7f7c4e5c7eda1c5dc6f814fa30135",
+				.iv = "95",
+				.pt = "ed6750453b194afde21cb384350120d3",
+				.aad = "352dc9630200d02620daf2a46e6e76cbbc2a5e3570a64986f6a4649c75c526bca184f8a7e3e994abe29da6c085892306",
+				.ct = "0b168ebfa964ccb7bacd8fbaca1f7473",
+				.tag = "b5188c55344b7b83184d739ecfeea3cf",
+			],
+			[
+				.count = 11,
+				.key = "2a287eb6e6aa9fe38ec8a5c6e2b4ec17",
+				.iv = "5b",
+				.pt = "567c9dc1630b3ab339c45381a93e0d97",
+				.aad = "5de60dd3c96e7b5a63087571ea076bba7f658a8a2e9156316b0e8f334c4a0c3efabae6e1678fd9d27d6e79cca116ec85",
+				.ct = "6eb7e6f3b293233a9c0a50d07821e00f",
+				.tag = "2546d038924a2d422b0199d4d06824ec",
+			],
+			[
+				.count = 12,
+				.key = "7d9a1b91a1839e5024d78f0b9fdce4b7",
+				.iv = "d4",
+				.pt = "2987be230a72b0f26383618b8abfaca6",
+				.aad = "7fc7034865c70e57b4cf7da0ce170a8a9d6e83bd1a7a7eb33aa6ad08a39d3145d30e3115ceb410179f372db1ccad13da",
+				.ct = "3c9730b693ab4a539fd8bd233954e808",
+				.tag = "6726a07462f41cbfd7811454aa5f8315",
+			],
+			[
+				.count = 13,
+				.key = "5e55a20a8cd90d36dd13eb1bfb76ae25",
+				.iv = "d5",
+				.pt = "29ab3283d9f1655c2374572b0b4c053f",
+				.aad = "6cba49f97db371e3824d3984ed2467931b159ba350038c50557d64fcd842f76d9a8c124a56c6d212d20df195676f4158",
+				.ct = "1b7073d5c6a65c717ed201af200dd201",
+				.tag = "f2878e1c87e2f0f7e7d49d1e1871a7a2",
+			],
+			[
+				.count = 14,
+				.key = "ff49f886123949e015705e0f634d6541",
+				.iv = "c9",
+				.pt = "543ffe63f16e3e43e7fbcc0fb38d10d6",
+				.aad = "b841e4c5a982ceb9f79c38c776fe264704d5da1bec889a635746d71995ebcdaa743702a1f172ddc04a5285b8e5ed63c9",
+				.ct = "4cc8713324065625aaf2ea823fc2035b",
+				.tag = "d0f2525debbd03f8bcb7c2c3245243bb",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt128-aad720-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=128,
+		.aadlen=720,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "fa8c946ca8194795f4c41675f8711a6f",
+				.iv = "d8",
+				.pt = "204fdb9e281a7032bf059ef8fb0a812c",
+				.aad = "01a35f9018178feb6979d68c8b156a9df8b66bb9f8e2ae1a3d8bedbcecbda35f28b46a05c1de802d4f8516494af23af710bc41d916d527d019a0ab72b542e12d7ae1636a70d3ca0f98f78c1acd490a6fb51d1ceb0c9c7210b687",
+				.ct = "c5cbab590a3bf2109609c5bb82271ef5",
+				.tag = "fa40b8a8e5752498c63a4a59fd491c08",
+			],
+			[
+				.count = 1,
+				.key = "43675d215370c3f2c5da0aa58a41a92c",
+				.iv = "31",
+				.pt = "24c25202dfe9c4650d2ea34f789d975a",
+				.aad = "3aa2d547bb035bb412a493008853d4969c905f052dc0eea9a722936d5d37b5aa6378db0b77829e131b3546fee253eb36c22ae97e65f541f8a94d2decb1cf1a587a1b23beee95bcdf5617ce8712f4bf820a7bf1372f80f1987dd9",
+				.ct = "1f4723cad96d3ffc09bd209e2bc54cd5",
+				.tag = "09856700b811f31bb9b3f65177d3e9bb",
+			],
+			[
+				.count = 2,
+				.key = "05740cae43485a7325d9297c698ce29c",
+				.iv = "dc",
+				.pt = "d973bf4346e75bd5886419b18ee44019",
+				.aad = "df8d03a729f46a813c70b82926bf3e1d6d1fc4738bede99daaeecd042ca321ded8f90f717e4fa4ab6ac01fa32100671e75594f4545f1a1896b4aa6169051b95cb3921556cadba543a79f78dd1e547a0debd4c3ed9e4c0a991657",
+				.ct = "dbd6da69b271802154ffdeefdccd093d",
+				.tag = "fda35092adaebdb6e1fc14f5608fb503",
+			],
+			[
+				.count = 3,
+				.key = "3bc60ede1e77cc82523a6c6849c0f5c4",
+				.iv = "d1",
+				.pt = "ad666f4ac6a8bd092ec26a5d50c3309f",
+				.aad = "205ccec96eaf67f7beeef6bd10603c010e259529b1614d12c5fd654273d6130e8c295e7580973b5a3fbc4bbc2134f7311ba11b85ff51daa500dcfb5c6216cee20b58e3b1c82797025ee4fb3466b860533d4db5fb60d9f86c4ebb",
+				.ct = "3c191a307a5eec47f92f6acaa192d050",
+				.tag = "843ae7b01e565975bb79a0bcc0a4bc94",
+			],
+			[
+				.count = 4,
+				.key = "88ca5f3649e6c9bfda17101ad59ace19",
+				.iv = "a0",
+				.pt = "3217df9673c84d81922ba2ba228402a8",
+				.aad = "5d7d8e075620b512ae42d2fa5284ca4af8e7125bcc3aa9efb875f8dce40f786a582ddbc6124e5f9a5f0c8193fde49dd25e1dcc6310393046d167b0141a5fe0c70a63e92b9ef542378c58c51197219e0ad207135e9aca171d5086",
+				.ct = "6581134f8461ee86dd38dc2bb2f9d052",
+				.tag = "a5b426070c69221306d6ced29819af24",
+			],
+			[
+				.count = 5,
+				.key = "7c7a07b3e79d44d558d4ca5d3f8de87a",
+				.iv = "e9",
+				.pt = "2b6e070ca78cb9702a3f40224a8cc775",
+				.aad = "18402743e17a1ac96e0a78ba43b7873b9700a3eb758143993a29ddddc526b3143e45550687407b54a43e2eb685b3ad4b4e6919be3483508ae563f3d8ca72d50a516d699080426c38e2e056b20d2e8b15fbb84efcf81135b4cd92",
+				.ct = "79a1a33fdd8d1aa96adfcb51c1e89fbb",
+				.tag = "c50be964cd9e78f28eec24b5ea315f11",
+			],
+			[
+				.count = 6,
+				.key = "827a45469e176d5a4f90964a12861d9b",
+				.iv = "c1",
+				.pt = "515ae3ed00c9684893de1386ced71899",
+				.aad = "d2853287da7507dad12faf7579a796bef2a5cb0300b75a41b209da6066ece1faa44979ad8ed0ece6455642ff31285aa57a6f1756cab164495c344995a7460d027c2c5f8a53dcefa91c718a58af2ef1bb1e8ef1a607db5730cf09",
+				.ct = "1af324d08a77d663ec63c673a6ebb98a",
+				.tag = "2624e820ec8a73a7384fc03fd4278ae0",
+			],
+			[
+				.count = 7,
+				.key = "c2ba0f5f3ba0b41d716ca0ba7ce8a511",
+				.iv = "1c",
+				.pt = "0d9447b98b4efd814eee9430b807e12d",
+				.aad = "c7c46dec6267fabf835ee6118774e3993d905ae986b2f21524db7e6b32010e891b419d5ebaf63ab930b614e032d182b2c35485955fd8c2a0ad9845500a7a193d6b8252ccc69ddf61b2cbd62950822380c4c3f6ddda13fb87bf54",
+				.ct = "140c2fb15c00745f51547248334fbcf0",
+				.tag = "766f0030a70b1d6443ab246d9811cf96",
+			],
+			[
+				.count = 8,
+				.key = "0c04f087b148fce9d421997331c6d719",
+				.iv = "19",
+				.pt = "b7e1d3818b1dbeb088286ce6b36de910",
+				.aad = "e8463afb611ab24b18d7fe208e2626876f2306379a3d27045d40de81b0a8e9ac79e96c26086bc935af2d819d121ab8f18e312f1bc584c508ec229e2d2a21c1cdaab08e1713e9c13c8938021ec4888c96ea5bd461f756d4f6201b",
+				.ct = "6c5d3fc156dbcf77dc8705f80e45c74d",
+				.tag = "54797c7c81940e2679e5e27af2e0c2da",
+			],
+			[
+				.count = 9,
+				.key = "4f3dec21eb25c69dfe2f017dd441cf3b",
+				.iv = "23",
+				.pt = "740e8bbc85c2fc6953824247c1535f1b",
+				.aad = "59ccae8b63370390dea4482b589b5fccc6258fc68bbc66740b221860e61559df0effce1097b99086b09d156ab53c65f96a0e29925c988e515370c6fb6d3d0a9641e60ca8f456d330b77fc7e63311dd573842cc9fd9eb4a47bc70",
+				.ct = "244704a3bcb46492b58dfa1f563ddfa4",
+				.tag = "2a6525849e000bfba8234ac9506b4b03",
+			],
+			[
+				.count = 10,
+				.key = "267560342f447932117da8cb83c3c6cf",
+				.iv = "50",
+				.pt = "aecc4e6a36ee191451920b6e9a715e3b",
+				.aad = "fa2d5ea2c7b1d51cd578d48b5aa5ff75f6f59e254fc372ad9855bfe28f8c6c273e4a365cdfe28b0ca1e473e9a1e58a5e9827a75383cf601369dfa4e5de70800449a2765ef2bd46d5c67f4e247c039ae81224aac725896a87b5c4",
+				.ct = "00f738a99a0d22d6bbbe58f3858a3bb5",
+				.tag = "14257278f94dd7bc87d327817f82b5aa",
+			],
+			[
+				.count = 11,
+				.key = "a7a0a0959289eecd4af2a78b9be24a33",
+				.iv = "09",
+				.pt = "f1870698c23412053be39f6e4537253a",
+				.aad = "f961398e9cf254f53fb2992c2cb0b66f88687ddc0731febb7cc8c7de1a8def5ab692ba1f18ff6b1017029dc497136c8b2f50c276b49b83cd1c8e1403318cb8f4f99c113ede960a314906820412f93f4e6cc3fab02d0675dfc655",
+				.ct = "9cb91a1fa785e19ab2a5ed9e32351937",
+				.tag = "0e1bac571f609b796b45cc03ec0beb03",
+			],
+			[
+				.count = 12,
+				.key = "487fc2837b56122362a693eb6235d8a9",
+				.iv = "51",
+				.pt = "cbd0eadc04e1664f7c4d40bffa474659",
+				.aad = "c937b9a8922c67d9a43e603009f9fa53a27fe19ad41b7cce46769065d7350a1c20aca26fc91c7f2598a06c106cb6da82a4c10dcba6cd6adc80aa1c6e6b6cf6836879aabcd9d1ceba4f2ff8bcacd899806a443978e352c8e6ad3a",
+				.ct = "95522fdf56bea4ab2a5ecd0f741d8e10",
+				.tag = "45ab61e88c12a1032ad0c5b651dfb831",
+			],
+			[
+				.count = 13,
+				.key = "93e0720f074bdce675dd99ec32517a22",
+				.iv = "66",
+				.pt = "37a9df2f91d99dfd7380b57e9ea86ae8",
+				.aad = "8b64e6d4cae0f44b0bd8545ae9eeba542f031a9c8f8644e0c0c772191eb3274e1b356ebf53a6d42c90b39cdd4db0c4ee842df4bf37f3bf7ead3b3c1348dc20f929cf853cc125cf11126bd78c2149ec48985bd19e4d41d56bdd0d",
+				.ct = "94b70a74669a7bed66b11e9f8b1ff2b0",
+				.tag = "04a3d863bc6b2f0fc35d3e644cd67132",
+			],
+			[
+				.count = 14,
+				.key = "66ddd9476cdc165d45384a4e8532f5c2",
+				.iv = "d0",
+				.pt = "0d9b1a62200422c1bbcea1dd9d6ab1d0",
+				.aad = "fefedc0bb451c09c27874cab3850eaeb05b125851d336bb2eeef471fe23cab12a50d5b9c0aa4df48425611071c49013354af9f7f9eb43a2d3633d6348fbefc1ad2227c3c5f1f8e1032faea1b3803b61bc1d2c8a72b5378e39ccd",
+				.ct = "7caf822e114ca19d1e348167526d394c",
+				.tag = "63928e3f6f82575fe5aaf52b0a9c120f",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt104-aad0-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=104,
+		.aadlen=0,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "82a0f8f40ca814a2f09e2ae733a584d1",
+				.iv = "9e",
+				.pt = "a08b16565d3092abfac4374d84",
+				.aad = "",
+				.ct = "a2ae9041f9c5e738e5250e32c9",
+				.tag = "062c67c023745657b8063f8450ebedb3",
+			],
+			[
+				.count = 1,
+				.key = "b590beab55054b43ba8f24fe352f71c8",
+				.iv = "64",
+				.pt = "917051a1eaa7b6f647566d3761",
+				.aad = "",
+				.ct = "bb97db25626b44ebdfc04bce80",
+				.tag = "2bc9efe50c231ed6efd1c9d1159dd202",
+			],
+			[
+				.count = 2,
+				.key = "ec70efd219c24a9f23d05863ab4b915a",
+				.iv = "c6",
+				.pt = "c88faf3a77657bb0ba8044692c",
+				.aad = "",
+				.ct = "c915bc2a82af82fd81df8f1031",
+				.tag = "d616760edeb15f7ed6e26350138925a3",
+			],
+			[
+				.count = 3,
+				.key = "f2c6fcc5c4b77228d0c68a8512d3f292",
+				.iv = "9e",
+				.pt = "7f0f2d33ce32116ad7b1d95cad",
+				.aad = "",
+				.ct = "eed23ee2973831bffe76f9b8ae",
+				.tag = "8503b0a259535bf644b299452b5f9822",
+			],
+			[
+				.count = 4,
+				.key = "21681a39d18c39d24cd30eb2efeedb56",
+				.iv = "62",
+				.pt = "9690eb783fcc83a7e9da522b89",
+				.aad = "",
+				.ct = "441c1c631a00dda57c89b2701b",
+				.tag = "4ee8a5f8506bf8ad995e72813821a423",
+			],
+			[
+				.count = 5,
+				.key = "752888a9139a574596f2814a84b2a28b",
+				.iv = "19",
+				.pt = "6106654c0169530d0d7d7cbd5f",
+				.aad = "",
+				.ct = "ca8941478a1496be58cb702382",
+				.tag = "f625bc05cd60174cc202c11fc37d428c",
+			],
+			[
+				.count = 6,
+				.key = "e3da7159a4a768d098687ba94ba0edf1",
+				.iv = "32",
+				.pt = "2a4750625d90601268a56858b0",
+				.aad = "",
+				.ct = "b10d1a297f16876bcce6817cc6",
+				.tag = "055884f34b10f37875b655a741cb884e",
+			],
+			[
+				.count = 7,
+				.key = "84e4f27113a557b4c8a590831c44ca7a",
+				.iv = "c2",
+				.pt = "d7896f0515c26bb04580a03cb4",
+				.aad = "",
+				.ct = "0d858df0b6f9fc221d7bb50772",
+				.tag = "e27e8660e2041a2291b61bb118744c32",
+			],
+			[
+				.count = 8,
+				.key = "f2611426aa1d4d42ff42159136148059",
+				.iv = "00",
+				.pt = "419967760dc312059c25f5d516",
+				.aad = "",
+				.ct = "72c2ce34292343e748fcd269e5",
+				.tag = "a471e24045fe7c7e78757b2820aa0f6f",
+			],
+			[
+				.count = 9,
+				.key = "e99fe92562494a6ed5f7799a650f11bc",
+				.iv = "f5",
+				.pt = "6354260926a06bfaff3986eb84",
+				.aad = "",
+				.ct = "a330866c607f7dd97128b166ba",
+				.tag = "54acf9f30e0b008533533e8aa54a0eda",
+			],
+			[
+				.count = 10,
+				.key = "4f7a7a175f5ced7354e9337249fc8e99",
+				.iv = "46",
+				.pt = "ff8a0c139a98d95e1671a5b09a",
+				.aad = "",
+				.ct = "ec5bbcd9e73e15fe295349b644",
+				.tag = "8407037f1e391c4a25255dfb705f1123",
+			],
+			[
+				.count = 11,
+				.key = "9ac8a938c481e8a2a6afa55bead07cad",
+				.iv = "de",
+				.pt = "286ef28c153520bca89b898998",
+				.aad = "",
+				.ct = "992c6aa1d3c9019f111c0d73ba",
+				.tag = "ce6d37ffb87508246bb1a9b851d3ce0e",
+			],
+			[
+				.count = 12,
+				.key = "3e6903c8713e53f790e8df706a430059",
+				.iv = "a0",
+				.pt = "287749604c2ebbc7ff14e012b9",
+				.aad = "",
+				.ct = "8984a2e72e9c0689fc64450e25",
+				.tag = "635c6a7eea542d9aaec8efd40dd124df",
+			],
+			[
+				.count = 13,
+				.key = "f253d1fdbfb559eb17fdae1b886723e5",
+				.iv = "63",
+				.pt = "b07d22a155a5b01b62372b28ab",
+				.aad = "",
+				.ct = "d6176712272c43ab581db3927c",
+				.tag = "d74999e009e63022f29cb0c7669eb954",
+			],
+			[
+				.count = 14,
+				.key = "7249717c3598a22c3752db0a706b9ffe",
+				.iv = "78",
+				.pt = "c9b71ac6cd0a4eff5f31939e8d",
+				.aad = "",
+				.ct = "9e9bce1eaf1535eb7ae1fc5392",
+				.tag = "d616451bd9c53ea2dce468e2807b4ec9",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt104-aad128-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=104,
+		.aadlen=128,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "b0bf1fbff0006793781e08f4edbbbf18",
+				.iv = "d7",
+				.pt = "afb4dab4310dd94e9c69725dfb",
+				.aad = "2510573bcdcdd8da5c573a5580c26d0a",
+				.ct = "329ed915f9ccad9fddf7b54f9d",
+				.tag = "f0987d96afc8f0924109325cefa59866",
+			],
+			[
+				.count = 1,
+				.key = "e83737adf020d187b3433b81e7b6e0cf",
+				.iv = "bc",
+				.pt = "d752e7a3bab119597908a13455",
+				.aad = "f5cae11ff681b9bacbf19c35086d72de",
+				.ct = "01d30be0e92b3c812e5530882f",
+				.tag = "b31ccf7161b55040171ef2a088567d6a",
+			],
+			[
+				.count = 2,
+				.key = "fc93e4da05ec7bffab2bd37a1a85b945",
+				.iv = "77",
+				.pt = "e087825449f99d57186e522dfa",
+				.aad = "e25da3ee4722ff36eac9d28db795f6d0",
+				.ct = "9fc3c1f3715f335860ea293fa8",
+				.tag = "522d54824b3c6b4e76955fcf680891c0",
+			],
+			[
+				.count = 3,
+				.key = "cf86fe69bbd8acf8314d31bbd0c934be",
+				.iv = "5b",
+				.pt = "bdc73105facb02077af349c428",
+				.aad = "c30d298e22afe4e9c9d2b897ee2380d2",
+				.ct = "037b0d767b1a03ccec3161e78a",
+				.tag = "b87177c5cdc3db26f5deb0199ac92a1b",
+			],
+			[
+				.count = 4,
+				.key = "7a5f037d2cd6c24d675080e4f7b885a5",
+				.iv = "19",
+				.pt = "f34e833319b9031d8a4af12a2a",
+				.aad = "1f8d4d6d6de060131b79774e784f5c86",
+				.ct = "afe926d4f1e3fb1f40173857ae",
+				.tag = "2cffb05f50788b12f34746a85c006fea",
+			],
+			[
+				.count = 5,
+				.key = "3e9c2bf000e37ac207fdc1223d01e743",
+				.iv = "81",
+				.pt = "84ae99008f6b200ec3d5ffd3f5",
+				.aad = "215973bc789d4f332ba051e7fda217cb",
+				.ct = "3b7f4ca711bb1f84ce2ee9bd0e",
+				.tag = "f00fa35472464e8385470add8eac463d",
+			],
+			[
+				.count = 6,
+				.key = "eeaa73387f5b1ea16c679af468b1e0ee",
+				.iv = "91",
+				.pt = "bb26b50e8092e23f626b066b68",
+				.aad = "3c3fb02ee23fd8db604768b995ba3972",
+				.ct = "c6ec14ebff58e5e032babcbcdd",
+				.tag = "e5896b305ac14c121e7abd7e49631f66",
+			],
+			[
+				.count = 7,
+				.key = "fc717d24210cd49065d54e48e040b789",
+				.iv = "94",
+				.pt = "8070f087a0807a0042a87a9b80",
+				.aad = "a277dc2fdb1f3b6ebf47fd6cf0c150dc",
+				.ct = "f08912047363dc2542f681329a",
+				.tag = "a68a36fff8ef87dc2f009eb6acb6c917",
+			],
+			[
+				.count = 8,
+				.key = "79ce32bacbb6cc4f53c0248c561f0bdc",
+				.iv = "94",
+				.pt = "e4f3998dbd678187a8b60aab1c",
+				.aad = "b026bee3f3bf2a758a25c82f9f011df5",
+				.ct = "5c625dd9951fc9123ce201f438",
+				.tag = "d7536b50c7dcadbea2dfb31e9b068719",
+			],
+			[
+				.count = 9,
+				.key = "d9587556ee190dcb55e5183fb2db8917",
+				.iv = "4f",
+				.pt = "908fd19d8bac0507e395f29ec9",
+				.aad = "51b660a8575de21c1bbbaf4ad6284e8c",
+				.ct = "eb86a5eadde908c3d0a4193204",
+				.tag = "902d4d2c9c8f10beb066f34f170c0e77",
+			],
+			[
+				.count = 10,
+				.key = "03590dd413499eb9f68e0abccc7b8c37",
+				.iv = "71",
+				.pt = "a40c0d5977b7ea522034fbc29b",
+				.aad = "665622c9f74d108bef51a4443ec2e57a",
+				.ct = "56f019a36537b33c9bb031f7b4",
+				.tag = "d2ddc6807c5e25fab0efd6c7da3db158",
+			],
+			[
+				.count = 11,
+				.key = "07fc6b802cfda82575d3d48d5d7ec851",
+				.iv = "56",
+				.pt = "8d5ff0afcd4299d574e1268f51",
+				.aad = "c56333983cc7f2776d4b6e4f20a8b607",
+				.ct = "496ca7f49f94921ad98acd30a8",
+				.tag = "fd682981c8620fed4cf3a10e9bffa984",
+			],
+			[
+				.count = 12,
+				.key = "d134bb4d23467e4d0910fba14c588929",
+				.iv = "93",
+				.pt = "a4dc84cfc5319aee8dc1cca1af",
+				.aad = "2f7d0bd3e06f44bb6cb9284059e0b6c0",
+				.ct = "6ff5a192d2169a5703d5ef0dfc",
+				.tag = "c9f30272f9fed885ee66af98a8dc4f61",
+			],
+			[
+				.count = 13,
+				.key = "98cbf2f385fb9acf62c95af4e2afa705",
+				.iv = "c7",
+				.pt = "e938488c7b575f61cc7c1c9bb7",
+				.aad = "15927b229ef33a549f756f6cfabe5eae",
+				.ct = "faa22443abd03c822a3018b0cf",
+				.tag = "e8501fcfdf6fa03e3423c62e0ca999b7",
+			],
+			[
+				.count = 14,
+				.key = "fa6ba60a3f904a6e14f37f55374d5fdf",
+				.iv = "68",
+				.pt = "fb58ab70d47f0f9d45dbc58d3d",
+				.aad = "065590b8024b3079e51226645ea4d155",
+				.ct = "2b21820303b2c2eb1b7988a79f",
+				.tag = "24bccd6a56c014a986bba33e81986217",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt104-aad160-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=104,
+		.aadlen=160,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "a5a10d0f6d323ca2b39596036afcdf7d",
+				.iv = "52",
+				.pt = "f85be0138fb4c19717633a5f37",
+				.aad = "1b5f6c949cc5be523ae4732d12bb189ffaeadd91",
+				.ct = "4ed45067f32cc97836908c6925",
+				.tag = "80359250836667494cd27631de910bfa",
+			],
+			[
+				.count = 1,
+				.key = "af9778662beb8d2e0e24353f874c6701",
+				.iv = "d6",
+				.pt = "1b09e2e181e856a1614eb30c85",
+				.aad = "e6974ff9fb6ffae4ddb9d2e2431931f227b3980a",
+				.ct = "765ba42925df6463ead7f0b8bf",
+				.tag = "ab192e9d7ce36dd10979f367840f7b1e",
+			],
+			[
+				.count = 2,
+				.key = "ec43f4ad905006a33f58b2fa63bf42f1",
+				.iv = "2a",
+				.pt = "d5a83f532054d7f6fd69c45da9",
+				.aad = "71030575042cb569ee627fd95e7c9caff479ebe9",
+				.ct = "5e15f31094a1864a7c21207686",
+				.tag = "8e0009fa13cd29d6aa9a7586f8ee364e",
+			],
+			[
+				.count = 3,
+				.key = "9b0402593184edb88c68f2be8271a022",
+				.iv = "d1",
+				.pt = "0f884a7a144b5f95db607a562d",
+				.aad = "ff3fa5097ec55443b1cad96a1b0311fb8ca5525d",
+				.ct = "08b6643ef559dbb0706ea1c4da",
+				.tag = "2537a458f18c5a17f3952036f805a791",
+			],
+			[
+				.count = 4,
+				.key = "8f46654ab9c66f1b70bcb03d61b92199",
+				.iv = "c5",
+				.pt = "23c806ba72bddce96811940a52",
+				.aad = "8b17d38c4f0c3f678402ef08a59ef582539d1509",
+				.ct = "e9110111ca019fc7b36db9f91b",
+				.tag = "e3f38cea4fc55b11d2500599ecf03d42",
+			],
+			[
+				.count = 5,
+				.key = "e6ce794c66fc9efaeea6e74ac07293de",
+				.iv = "d2",
+				.pt = "e33bc31c366ef61df6ebfada55",
+				.aad = "196031e3910b1159677fb2eda65a40905aa8341e",
+				.ct = "0fca51e9071ad1f3ea5bbddc1f",
+				.tag = "e0e6ca80158072eb0509081cccdbb53b",
+			],
+			[
+				.count = 6,
+				.key = "7425e15b2144cfb44e7febdfd98c15e6",
+				.iv = "5f",
+				.pt = "1b5ac8d2e073f4f2cc4c720857",
+				.aad = "84af865f7e3946bcb2654e3fe374df752a568c2e",
+				.ct = "b223469bf9aff3ccfd6e983eea",
+				.tag = "4c01af8084c01b2571f7b8af291818ea",
+			],
+			[
+				.count = 7,
+				.key = "5391962025817408835255dda9be503e",
+				.iv = "53",
+				.pt = "3f32a5451808782f2499790aa8",
+				.aad = "8fcb76b8758ccb2cee4118bdba2eb36a868618bb",
+				.ct = "10ea6138f2c4696809b6abc70f",
+				.tag = "9f7794591a1071ada7f0322d08083936",
+			],
+			[
+				.count = 8,
+				.key = "d77e26be8dabffd99943528d924c22e8",
+				.iv = "eb",
+				.pt = "a4c9852ebe60a218eedb9d0f37",
+				.aad = "5808875ea084f4e03115bafc100795af12ed5e4d",
+				.ct = "cde9e7d22a46f406f89c7580be",
+				.tag = "e7632d8b4f557a2eae308bed8c063d84",
+			],
+			[
+				.count = 9,
+				.key = "717e31eabf691fa0ead4e772cac7c968",
+				.iv = "ac",
+				.pt = "6d7742c4b2398ddad917b998b6",
+				.aad = "b623f5718a64747da992d04ce45a55de5b2c6375",
+				.ct = "b20d11ad451ea33649e8b502bb",
+				.tag = "4ba120fddc4f89c9a1443a354d302d65",
+			],
+			[
+				.count = 10,
+				.key = "babd431f665a5bf7775341702d9103ac",
+				.iv = "79",
+				.pt = "7cd35ceeff6b9bb38371418732",
+				.aad = "8aa2e7be208663fee00e79e7b1c7fe1837ce71d4",
+				.ct = "bb09b25ac2d1fa1f270dd11c67",
+				.tag = "276a0489b221c3e9b3aa83261056b412",
+			],
+			[
+				.count = 11,
+				.key = "3aae9a3c7e64a8afed78106f83e741cd",
+				.iv = "f4",
+				.pt = "ec1d86209a048c387cb382bc59",
+				.aad = "41bd7dfdf47ebae98726defc5e78bcd68053a97e",
+				.ct = "1f5efde9a849dcaf0e8604ebef",
+				.tag = "1f4fd604c0456ed817211697d3c0989d",
+			],
+			[
+				.count = 12,
+				.key = "ed35485409aaa2552107b816d60e148e",
+				.iv = "1a",
+				.pt = "e669ee1ed1b744e7979e5c01e8",
+				.aad = "609a2095426d903cea7e4e27dd749aff88631653",
+				.ct = "ff296f723a237923c9249b21aa",
+				.tag = "98b7ec8d8b154f8c3dc13d7c9f92ecc5",
+			],
+			[
+				.count = 13,
+				.key = "d6533a010167ef58dd10184b3971f7f3",
+				.iv = "5a",
+				.pt = "518d10a0a7792542caac74195e",
+				.aad = "d4116e24584889a8962b0791fb2caed2c4fb190f",
+				.ct = "a93c0ebc58284f5e20f0ba3645",
+				.tag = "2bd7cbab94e334ef77c7d8afbec49ef0",
+			],
+			[
+				.count = 14,
+				.key = "84bc0690bcd4634e159bcb0bcd822419",
+				.iv = "2c",
+				.pt = "1e1ada7e310472a8782193be1c",
+				.aad = "23fff2b60d3595dd74810b5f22a09f748e5bae75",
+				.ct = "b2492755526fe62ab806328c38",
+				.tag = "b44dd18cb3cf3a656e1daeabffc65416",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt104-aad384-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=104,
+		.aadlen=384,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "8524ebe1ef4aa9aa8c51a1dfdea5b028",
+				.iv = "ba",
+				.pt = "cf638c6f90bea30f6b7e7d6f96",
+				.aad = "babb862a2ea791978e48398f4a373cd8f32da709859587bc4953c0b2f993f23793ae569db39faae5c4e7380c1c646243",
+				.ct = "420d6da6aa35984eb929b89a76",
+				.tag = "e7d5155703bc275faad08018927945a5",
+			],
+			[
+				.count = 1,
+				.key = "71403b1e9c0cbb611961b44005fab9d5",
+				.iv = "83",
+				.pt = "c6935b7542150c71ddec4fefc5",
+				.aad = "4fb4460a56177a78fcf29d0c54505c2874bac15a27ae8090bb2a5d1debfaa78a149d533597f47309b005c961161c1871",
+				.ct = "90884c8d0e3b3fcea15ad8d761",
+				.tag = "dea368c587de601d5fe4b5c291b8be33",
+			],
+			[
+				.count = 2,
+				.key = "838073bdb503dcbaec2fb0eff6d07bf7",
+				.iv = "e4",
+				.pt = "3519cdce14ffd66c12712ca950",
+				.aad = "afc55d530b80e786ed3afdecbf4ba0fa16ac039e4d3375a662d1e0f013496be31ed3abe5933152cf070736f7821076e2",
+				.ct = "3a7d63563007cc66ca3f6fc43e",
+				.tag = "90a38505e2f8a168c4fd6066dcb4117c",
+			],
+			[
+				.count = 3,
+				.key = "e50682bd8c5e7efbd40f537096111831",
+				.iv = "54",
+				.pt = "9da75348c169d9afa64a118b93",
+				.aad = "aad6c102c79d22d085d05c106e1a6c65a20c9d531491efbde01a4c79ab1514483c9153ce7e75b49c211ead8273d31238",
+				.ct = "31d1662f74f5284d0243ccd1ed",
+				.tag = "b49252941029f9956d4be60f3e25e772",
+			],
+			[
+				.count = 4,
+				.key = "2bbb6f5e928d82f6bff53801b40f1540",
+				.iv = "1b",
+				.pt = "d9b4143799a7f471bb5738fb44",
+				.aad = "04a31342c5d000d9d566c0809acdc0af37ce60f1fc5395bc3d7a314dc8a17e7529bb91c40f6ec2691fcc45ae9a30c688",
+				.ct = "9c74c113e4ca9e7a6c208196ce",
+				.tag = "46b54ac6b0d1538baeb00640d2ef245d",
+			],
+			[
+				.count = 5,
+				.key = "47475afdca20459985148091b13a9872",
+				.iv = "aa",
+				.pt = "63c9ac921d3f52806c021ba8f7",
+				.aad = "909e93e108071968a77ec3608ebaff4d758d5ad6de5a55c35e4d33252a583c33335460b48925f62d1d250f05ed680b5a",
+				.ct = "3eb52e40fad0d5023b2b16c31b",
+				.tag = "b13d24f76da67b0167f2c74b741ffe4f",
+			],
+			[
+				.count = 6,
+				.key = "6971dc07b71d0857b11eaa541a7ef9bb",
+				.iv = "34",
+				.pt = "7a6633ea0a3e3e928e2a49ef78",
+				.aad = "b5cc2d54aae59058d1c7d9a15078b210aa1a5004b744fe92b76d3a468e744d8ef2a091919a5c6cb88c4b9934b184550a",
+				.ct = "cd7ca9b8a6a41141afbb41ff3c",
+				.tag = "c4f44e6ea7170584d29819ea0c4495cf",
+			],
+			[
+				.count = 7,
+				.key = "1bc5e7bb5e153d832b69ca0f4d92cfb3",
+				.iv = "43",
+				.pt = "ec0864cdf97b898d1fea5486c8",
+				.aad = "265693f080343a7489022dc2c66b83b8104e9e62d77c5baa1374aade0086fb030e4a3f83050d293d975bca10617560de",
+				.ct = "d888ad5bccdd50fe34cf51baa8",
+				.tag = "0db6aa4a37fa64b7957b59047f0a904a",
+			],
+			[
+				.count = 8,
+				.key = "cef6618d5a7ad888814fb1ef49e65492",
+				.iv = "85",
+				.pt = "c066ff8cd54e2fe2ab6bfa7e36",
+				.aad = "80d56beb46ebe9d2f3939e5ab39fc97567160616723feffad0c6f59d52e09723f23334ce6dd988decddfe2c0ed694923",
+				.ct = "1d7b1991ccf1cd23a6751a7ac8",
+				.tag = "ea76a54a8d1d7a1f6121314ffb6ea8f7",
+			],
+			[
+				.count = 9,
+				.key = "789793fcb2c8bc6c902e97c9c5450046",
+				.iv = "ed",
+				.pt = "68a4300d91a3c06abe08ee643f",
+				.aad = "98c1d04cc56ffa95d6b708ecfec8f5c761354626984e4245832d6c0498323221ed834d13102d0efb18c665dff486ae26",
+				.ct = "5b37d48331d9bb68d025684983",
+				.tag = "b2645816934e4873da44c7566db6dd98",
+			],
+			[
+				.count = 10,
+				.key = "80054cb0bcf4d4d507277178e4cedc9a",
+				.iv = "1b",
+				.pt = "c4769a85a30d04d52b81fe278b",
+				.aad = "5cea3692f8a41eba8375e56bd527d4fb76a73798ea42b184e41a588776383321f846890bf637219251d445b2e8831ee6",
+				.ct = "7852f061e49e3398cc2be5730d",
+				.tag = "6b0ab3a988563854adb16d3bdf96b753",
+			],
+			[
+				.count = 11,
+				.key = "b24d4d3cf572512b67bc949b08e34ce8",
+				.iv = "f2",
+				.pt = "5a0682de68b017c35a2ac8abb9",
+				.aad = "6cb768cc0cb61fb168bf071dee6a896fa536c6eefdcad4d0fc2e213280cb6be025331a888bda70d189788a2c1c7718b4",
+				.ct = "0aa207c14a9864f4c5a5ce8f18",
+				.tag = "ad19eebd61635b2874bf0b36aa4a0ec5",
+			],
+			[
+				.count = 12,
+				.key = "940f52461ece018c6aa68b0f4ad8f435",
+				.iv = "23",
+				.pt = "da7c549f3c715df4035d3207c6",
+				.aad = "07e469a4ffcd15e1f41213a686b7e3435c86fb0a866643e43ad7ad9ed3710e13f8b166e912e531727f15987a52e05dc9",
+				.ct = "1474f47e538d2119a3369ff7fb",
+				.tag = "c0ada58828e98c63417d728f1ea5687f",
+			],
+			[
+				.count = 13,
+				.key = "a3fd5d1f614d84933b76258190b7a42a",
+				.iv = "70",
+				.pt = "68421313b3037a9e391ccc7224",
+				.aad = "1dfa90d68cc0164163d2cecb385879069c4a2062b4d753140c3a89f61af7c22ca741f5ef589e37d06a12f0b852457b89",
+				.ct = "89db4d305308b3dac2e0f0a180",
+				.tag = "f22226f8d199f14da8c8d8af77589717",
+			],
+			[
+				.count = 14,
+				.key = "a29054d33f7605b9085f5e13714ea67c",
+				.iv = "94",
+				.pt = "7ade71439a389caa6ca29a0fea",
+				.aad = "059d3d9056bc3534c6167a537d5e649aef02761c1428d4d84a355bf4adfae0900b5f68275e79f34546dfe2d93bd04565",
+				.ct = "495b6782dceb7ed385a5d81985",
+				.tag = "8befaf90644b45bb07e700df0952c20c",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt104-aad720-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=104,
+		.aadlen=720,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "9f79239f0904eace50784b863e723f6b",
+				.iv = "d9",
+				.pt = "bdb0bb10c87965acd34d146171",
+				.aad = "44db436089327726c5f01139e1f339735c9e85514ccc2f167bad728010fb34a9072a9794c8a5e7361b1d0dbcdc9ac4091e354bb2896561f0486645252e9c78c86beece91bfa4f7cc4a8794ce1f305b1b735efdbf1ed1563c0be0",
+				.ct = "7e5a7c8dadb3f0c7335b4d9d8d",
+				.tag = "6b6ef1f53723a89f3bb7c6d043840717",
+			],
+			[
+				.count = 1,
+				.key = "3ae0b7b666f663268ecf522502629738",
+				.iv = "b1",
+				.pt = "bed2355a6f47a9d08a2405512c",
+				.aad = "8d77d5ec22e7af9448f719d8aab9d0b9bf1244d842dd5eddec682376cf5d7c54c8e8e2385c88a17fb5ec38f22c803bf4170d2e0099509b76ad6081bcf5aac289390c5549d22107d36e9efe5982be7bad461aeb079635b54b3a14",
+				.ct = "a6c68158335453d3bdf908d96c",
+				.tag = "1dcef8f74797310710b21d51ae4c6545",
+			],
+			[
+				.count = 2,
+				.key = "458c9fa077b9a13aa3c1968035d91dc4",
+				.iv = "ff",
+				.pt = "bc9de1e8440ea08a0e6e1b1cd9",
+				.aad = "67df86691eb37f20c768e26289876ced4a0954a71db645321dc5f4404603ee292315d644b98bdfdb4403bcfc82d7ff735db201fb39cb64d7e742978355e030e96b1e6e82ff6c79491f5795d31be6ad33385cd14b1d481addedd6",
+				.ct = "c07b0356c4af1dd706c61692fd",
+				.tag = "746a6ce151ee8d5ac56f7fdebdfa5708",
+			],
+			[
+				.count = 3,
+				.key = "c75ffbb6dea872ac43fb2cefd6b2ea98",
+				.iv = "57",
+				.pt = "9ab840c0a6bd32eea49509c65f",
+				.aad = "b7c9f90af65226ce75367b23a75b25849851c3fd932bc7966d5385af1cdd064079bd34cea4a0fa023a8b89e6cd31bcf76f238d26998d0774fcf35513b730497bd6c5a46525c8e8b50d832fb3ad4a54c2c66adf76c999b4bc4682",
+				.ct = "c698a2c08902a5f8dd380623ad",
+				.tag = "a0febed792d39e75152f402bda227f28",
+			],
+			[
+				.count = 4,
+				.key = "0bdf11c8dda2541a06a9cd487dee73b7",
+				.iv = "8a",
+				.pt = "2bdf8e412a56a4454cccedbc64",
+				.aad = "3b17edadac83c6a74ce5c6270cc36ecbef5cfa246cd54882cb6b052aa2b77b4d99f503d3a38586bec465fd8bb8fe7a6d92a935cda0b65b0f787241c76dccaba8e8c8d9935308afee701fb00399be0cd6258659d8f0061311b758",
+				.ct = "1096b5bbff807b06bd06c29f89",
+				.tag = "f7a0a1da1758364aff477d56ae8e8b8f",
+			],
+			[
+				.count = 5,
+				.key = "d86363773fe07aec4e1b58dec75f0201",
+				.iv = "b7",
+				.pt = "e0583d2fd3e44d30dea4a11939",
+				.aad = "208d58f0b7e6edbc278e4c80ab40756183c9267eb50d71aac4eae354e6c5661016bad13f42ebad28dc064096ad5414c45378c56c1e5386869c4da9d8c19afde1d753fbbda395cab0179f9a8a1e7c153da0f9574e2ff1e559f4c4",
+				.ct = "afc16d7b0376224049d76219de",
+				.tag = "0df0410bc3460ff18bed923cbc600245",
+			],
+			[
+				.count = 6,
+				.key = "8e310b7c2e04bf60e36a8dcac86d9c01",
+				.iv = "0e",
+				.pt = "f99c8d00e469f2bf791a66f6b5",
+				.aad = "720c63e6dfa66c1d93abba93722ec602da6bee5eae46db37198e386fa3e79762e18f3432944ed87d0e28a128838be803b6986ed8612d64d888439c21569a3014eca3a70505ff40780a0c59111b77c419afa3f48fd117b75d3537",
+				.ct = "d06f08edd603dd4d3f6434101d",
+				.tag = "c1e34a90b02ef493a209030b191eca47",
+			],
+			[
+				.count = 7,
+				.key = "a29d1cca3c1b5f097b0b9f72ca61dfeb",
+				.iv = "5c",
+				.pt = "7f6ac585247c875daf85356507",
+				.aad = "076bf364bbdaeeacae1ebaec132303978f16dbbcad5efb90f030fd4c18fb01fdbb6b8021fcd1fcb771f51de004a5d28ae5d4a554fe8ad90a4aaddbf84bf9ff2a9683d7b8e0f5c0b5ce4775fe565408af12f6a0de6f2b4e4b0e34",
+				.ct = "c09a683cbedeb60a0054d1b126",
+				.tag = "d00571f498d7f05bf73dcc38042ef43c",
+			],
+			[
+				.count = 8,
+				.key = "9712b4d434f45c282c5a2db6c4406c01",
+				.iv = "ba",
+				.pt = "e501069953fb79bee89be4f176",
+				.aad = "fb1e5e5b604e4c606c89b20289edefd32cf8c0fe297a902cecf9130a261dd43b4f675f37a4bb18a364a7f55f0aac801c4faa45937e15140eb8df5260c7c7315cfa9201af6250bbfd521bb5aa092017d770055670b5528619bceb",
+				.ct = "e2f9a7f15a21c4ece24b47ede2",
+				.tag = "7a43c524c68a38cc5a923edb65aa10fe",
+			],
+			[
+				.count = 9,
+				.key = "c0329f800a5b593308be1737206a8807",
+				.iv = "ee",
+				.pt = "6c2d3ac2b91945a0a4b05d7c6d",
+				.aad = "4566b9b8e3ec76285ff8df2837449a37ba6a05327450eea72150e20d7d31adb9c5b402baf8410e27467a362f9e3f3e571b869df915259f5fb23af5ecf701aafaf85b8e65d29fc91e38406d31a1bd4b60435f8130ceea1b7b1cad",
+				.ct = "a80b9df975e75f42f464cf6dd2",
+				.tag = "d6bb8b36e286686cba9ba1b01ad4e726",
+			],
+			[
+				.count = 10,
+				.key = "9ae929530c7468631725620774c09ca3",
+				.iv = "cd",
+				.pt = "880a9deed84888a043b24df8e2",
+				.aad = "e1efcc5d4c677a8a8d12bdc0dc34ffb451a3a23f47326ce5512bce798a3546fec0a9bb9779bd941f7bac95fc8e312fbe9fd48b75f190cf02b6f8afa6a3b5dc02c3bb483ff5c4b935ea820f80b48779649ac99836c6774c8824e5",
+				.ct = "609322c1e54377bde37e28fd48",
+				.tag = "0a48b31ec0735f22d50bb0063e87f596",
+			],
+			[
+				.count = 11,
+				.key = "26d784278f3a9251e3e3b09e49c04011",
+				.iv = "a6",
+				.pt = "77cbd6120563979484d83a2bdd",
+				.aad = "8bc7f974f81589b2e36131ce4508402b6d1f24f84070c64e56c0d0032bd4639e27a84e7568acbd634814bb4d407601288d574e78d411235f4d9710c08fec6600d1fbda0c6f7687b2357f753c785bc7b29ad9eca4c2d5d1f8fd33",
+				.ct = "3bdd9372f426d68f2db770d266",
+				.tag = "315ced410acfd2999a4b2a3b3b000c7c",
+			],
+			[
+				.count = 12,
+				.key = "b28c5f9ffcadb2e1635afd4adf0bf636",
+				.iv = "bc",
+				.pt = "b0a26e49d73d64f2973328c857",
+				.aad = "3799852ce80627091132d5033f926e179ac9fad64f944257295532bbfae8568bc0ae0b03c3f90ac7281e9f62c8629754ccf425022ae3525a6c852404d7a2c188678f7fa8b4749f899189df749e178b036b4735ec7e506fe97176",
+				.ct = "269554f0f388f5c7a5a0106526",
+				.tag = "4885793d7163f496ed9d4662807d14c8",
+			],
+			[
+				.count = 13,
+				.key = "210d2d23df0101085aa34e498006c942",
+				.iv = "c1",
+				.pt = "0dcbee829904f21ddb47a98721",
+				.aad = "eec8f9a1916136c25d6c2764c7f7821e11cd7c452c4ae8c3597ca0f16aa33920c898df3811536fd4f76da4b7b66c8905533a158cbbb1ca6adeaf4fd6b640a4ee16242fde0779d131d897e0fd7ad2bf6780127f1c032d2c823dab",
+				.ct = "4a5a62d93489e6e9c38bbec60a",
+				.tag = "0ad208e9bdaa5b64233844ccbd66156e",
+			],
+			[
+				.count = 14,
+				.key = "9d2b9f40fbb7a5c3f595cadd157d106c",
+				.iv = "a9",
+				.pt = "435a1d3054129d43d99012fd73",
+				.aad = "6c514df3568b5e18394d3587158c9a48d4fa6af95160cb074400e5ae48258cdbc78f2b05d9609fb2a488fddf4707622231caee9998d2176ccae9fbe18dae405a4ccf7f51ca926532bce73af46c82c39270dd5bedb02f9b04a49e",
+				.ct = "57fd669f2565ca7c8a1e2cd449",
+				.tag = "f7a3043ae87b7e821eae47f35b368c34",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt256-aad0-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=256,
+		.aadlen=0,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "0d2d48af1de12eae099ad1de2351a603",
+				.iv = "60",
+				.pt = "7980e625031e4d769d4ae90727e65f58945fb72f04013cf1556ebf4b5123f523",
+				.aad = "",
+				.ct = "d45d35a8e3497c0aaa3ffcf361ec000c81b4dcc26ad2b0b16a176150abf4ca7f",
+				.tag = "dda4b1d6d28b7c7d9c231710d77a27f9",
+			],
+			[
+				.count = 1,
+				.key = "f74c65d66bd2b691b68065bcbc7a9b1e",
+				.iv = "b8",
+				.pt = "7a7c0b416e4aab2ec0aa317994147960fdad68428d760c3fa1fb4b7d0cbab2d1",
+				.aad = "",
+				.ct = "7f1895b667ec2f5ccbf8b8a67eb077e09b5f0325918da2246db9fbc067308bb2",
+				.tag = "6d1e52fba568ba416d694ff048be911e",
+			],
+			[
+				.count = 2,
+				.key = "c621ec2b5bb971a1ad7899bb04afa92c",
+				.iv = "2b",
+				.pt = "b392fa6a4caa01d7bcf40c11a518a428e02821413a2487d9f7cb28cd4ac98828",
+				.aad = "",
+				.ct = "4326e38a9c05b9df9f96ac578e80e5bd48256189616167e307fa8b2aa5983d80",
+				.tag = "8be73c10313f11d9ab3e60172dd48569",
+			],
+			[
+				.count = 3,
+				.key = "5395e70c74ff37bd9eb2b3d9f94f32c0",
+				.iv = "3b",
+				.pt = "f23d1759bc5bb5b36162ec8b48e6d80c5e999856149eb60d08c0948aeaba2c0e",
+				.aad = "",
+				.ct = "71810cb8a6a914dd811dc1417ccbcbda9815a24a3f854a47f454ea315b49f22a",
+				.tag = "d2497c61447596b2bd4bbe4a52fdd5bc",
+			],
+			[
+				.count = 4,
+				.key = "2a3d9e46551855edce82b725974cbe55",
+				.iv = "31",
+				.pt = "82d4f026895e841ec94005068c081192747216d625709db1aa9386b627263071",
+				.aad = "",
+				.ct = "642c1b93df7b62142874e19f95562e976808f04ace95bcdc1433b15b9a3f7eed",
+				.tag = "dada0dbea51507a9df0e041536602d62",
+			],
+			[
+				.count = 5,
+				.key = "c6030ce99d498992f5c73002cf4d3f4e",
+				.iv = "01",
+				.pt = "9b76a26a19ffd8858b682bc893a2563f7d39774140eb7eba47b44b231aa20e6d",
+				.aad = "",
+				.ct = "976f95244301fb9332993912c8877328015b027c035dcd201d572091d5d32c73",
+				.tag = "86fd5ce3ccea780153dc9a75e1fb9825",
+			],
+			[
+				.count = 6,
+				.key = "e932e1bf6e41c47df840823fa67422c5",
+				.iv = "ce",
+				.pt = "dad1b4b346bdd21abb8210f7cbc249f59695a6e2a44fd54e6a9af3e2e42ac493",
+				.aad = "",
+				.ct = "272d65d69d649b4e852eb9ddc6a2cc70adb93c81aaf613d8e2c4d5df141ca7fc",
+				.tag = "f245f9a4fa7578da9fb0bc2a4c475c45",
+			],
+			[
+				.count = 7,
+				.key = "2541bb3b213108bace2c885399b3901c",
+				.iv = "bc",
+				.pt = "e997965a18c0d950c14c05c06d7f2ae787e67b16158bf2b049a4308c534c4a1d",
+				.aad = "",
+				.ct = "e94e8f8b0cfc931a9566ddc03d93081165ac976b5ad1a6c38cc48a0e876dae9e",
+				.tag = "3e8f481753f0859cd35d99c8f3917715",
+			],
+			[
+				.count = 8,
+				.key = "330555124359e1b8f6a1a814ec02860a",
+				.iv = "2b",
+				.pt = "17191f20befe422175a258049f4da0df89b2e4e3590ea1f3f149c0d3133e7bb4",
+				.aad = "",
+				.ct = "ea995bc4ecf018a01b32e871ff820d2d234e2ee413fcf35acf92664020be622a",
+				.tag = "47613309549d9710a0ef53e6f2a21f8c",
+			],
+			[
+				.count = 9,
+				.key = "9a369bad156b02449dea2e355e31700e",
+				.iv = "9a",
+				.pt = "b32dfd0454197f13f4f156e9126d58c8dca0dae113138969e26ee6a010dd1d01",
+				.aad = "",
+				.ct = "c87911c510222dcaf5c68226dc6d574dabd55cd9c8b1e7fa7ed523e55a147fe5",
+				.tag = "ae0f1e45d8a7b8dcedc8910b96e55c59",
+			],
+			[
+				.count = 10,
+				.key = "ed8b3b47c7202760b301a196e3ef9dce",
+				.iv = "8b",
+				.pt = "b94774ac7461c065b11bfaed90cb8bab4ec5865bcc945f52941b1f299bd2983b",
+				.aad = "",
+				.ct = "e6ddb654cdce5cb8ff2cce1f12fd5af191f22082faec984beb4d930aa31f4e46",
+				.tag = "dd7f6563a878737590babf990eb1ddfc",
+			],
+			[
+				.count = 11,
+				.key = "7778f741ace5b3a71efead7d0e4cae45",
+				.iv = "ae",
+				.pt = "7ef717b98c1e538fc75b54a55334e96e1c6a807128e71b2b2a90e8f1cc76bf1b",
+				.aad = "",
+				.ct = "55f2366d94d213302e6a397916b8972d465eafc791379b13da5ddc6175d308e0",
+				.tag = "915e3f248cb916d4f9d0ea93b4ffbb45",
+			],
+			[
+				.count = 12,
+				.key = "8a9abcf28a3e30dc366541757c5fdddd",
+				.iv = "3d",
+				.pt = "e6ba8140c8c3206bfeac88439efe1b32da53e988cf071f204167fc5ea28190bd",
+				.aad = "",
+				.ct = "9653091f6e8091e91656e798d4f728460a52e39bd9f8feb3939e2e5887b6d89a",
+				.tag = "fdd6bf781b0f01a4250df9dfecacbdc9",
+			],
+			[
+				.count = 13,
+				.key = "2c345a727c9b86f1bf35ac39598a45f1",
+				.iv = "43",
+				.pt = "04d10a1e0d06190224eeb19fa337ed392b807f1118570bddcc33a6cd1fe9cb13",
+				.aad = "",
+				.ct = "96367315173466925dd5812c4b0ae585d8ab2b33c8b1e0cf62241a00ca76315e",
+				.tag = "b20ebe72ea828a6b7acf14236263ab15",
+			],
+			[
+				.count = 14,
+				.key = "b065c4e9dbda0a9f82da5ad07b64547c",
+				.iv = "21",
+				.pt = "9593c9645dbbf8f87ec6397c9b0705e76ea193b9e579ccccf8caf18273fd2f06",
+				.aad = "",
+				.ct = "1191d086130310391d531d8e8affe1781ae5f5b8b1413ab0233b3bbfd2b29b46",
+				.tag = "4c6656312dab78b48312f19a1ee377ac",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt256-aad128-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=256,
+		.aadlen=128,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "9d09dff3dc09ffea55ee6463abbdc4d4",
+				.iv = "32",
+				.pt = "c6b97a952abfc47685372f3ce5d400508ffc523aaa99cba1007ccc5ec89c7db0",
+				.aad = "391e8ca473b9d115c66927aacc7702e4",
+				.ct = "31766730d5032406d246d337f0d9652f4605e0f59e5acbd9c3cd22422ccbca31",
+				.tag = "98d36398ab454617e68fe85c78da0143",
+			],
+			[
+				.count = 1,
+				.key = "5275c868c8d1ea80acfe1bbec223884b",
+				.iv = "37",
+				.pt = "cbe02fa7e3f30c24191a36ba6468b859813a15b1e57628f5a22238b6c6d0287c",
+				.aad = "491a1ef5be2b2a59c6cd76f48c5bc72e",
+				.ct = "219dff98719a8c8a6b5f08d3f023ffda91bc4cea04640cfe507b67556ab57eb6",
+				.tag = "ad80c486ac6acf85207c2b6369fde16d",
+			],
+			[
+				.count = 2,
+				.key = "07496ed7991eb529605ebdd24f9553f1",
+				.iv = "47",
+				.pt = "3a4ec7ae95eda4af3107c351cf9c26047efad45adcebe5d41d9165386203be02",
+				.aad = "3521c5f6de4cc201f40dc8bdb56f6077",
+				.ct = "c405d65bfd02582851ef014cb9603dcf0c644715fc9ad14d60f48ca2aa123e58",
+				.tag = "59a850e7f23c91870f17217eb7f937ad",
+			],
+			[
+				.count = 3,
+				.key = "3b6c5c3d14a463e23ae69a0a13706348",
+				.iv = "a1",
+				.pt = "72dd25741c8dd392c553a19b37fd1a7338ebccb3a5a2d37825d737ad2c33c71f",
+				.aad = "e8469e2e19e8b4cd2379091e3ba0f2d6",
+				.ct = "8d41fab638ad523c14649c1407a1fbbd4294f6a837378ccbdc2912fd65af4745",
+				.tag = "3cc9f27134b2446ba0df1f44c76bd98b",
+			],
+			[
+				.count = 4,
+				.key = "f77b249e8d3ea9f14cf8a68cf1506667",
+				.iv = "97",
+				.pt = "333561257bcfd5259a7d6c07229081be6fa7d68737e782b34f2f93eb0eaa737c",
+				.aad = "d2382a48074222af450eb9aea42de2b9",
+				.ct = "27d50a61c55f761bf2d3b35b761b0fc512aafa6fcc5355088a4ed04326439053",
+				.tag = "4252a1724ae5f872268bc45e3f2f72af",
+			],
+			[
+				.count = 5,
+				.key = "aacdb995f58d0f1e66e4c1515c9997bd",
+				.iv = "22",
+				.pt = "44ba4ca547df9ab836be9a39a8decbdba11055f011bcde29e3ecca1fb6bc0acd",
+				.aad = "5fe17f9232f0f8c26ae1acd3257364f5",
+				.ct = "93f2d2372324719d8d5a2faad982920653be27569a73274da00d9da11b90c3d8",
+				.tag = "9c27065b0da791831f2d5ae00024f81d",
+			],
+			[
+				.count = 6,
+				.key = "74a0926ff2fd14632e38e194e7832421",
+				.iv = "ee",
+				.pt = "40851415b0316260856415632367a290f8fb89cafa88055e5d9357627d1488e4",
+				.aad = "524071cd5a0c6ee4ee6ac2098482dc7d",
+				.ct = "c3e17b876ef7161fa6f95031d7daf299cd49f05d1a195fec616c32585efc2883",
+				.tag = "5e627409cc40779a2e0a198f648f77b1",
+			],
+			[
+				.count = 7,
+				.key = "cdda4bcd4df849d5f6ac5725aeb69053",
+				.iv = "38",
+				.pt = "7cc0d70fdb1474b0c32c482394b1cb1bafc12836ba0db00f93e46550b6b4f329",
+				.aad = "a8777e76c682b41cb49f4e6dd18d7300",
+				.ct = "630052531f86ab065913ed6bc30d5ce39a21e159678a19e698ceeffa2533dec2",
+				.tag = "985f998a2dc24ee334e1a7272084d939",
+			],
+			[
+				.count = 8,
+				.key = "4b820ee3cd689c69020029124cbdda61",
+				.iv = "3c",
+				.pt = "7296b1f28c6a99774e21c206b07707eafa99f54fe2f25ce98927e00ff2492ec0",
+				.aad = "1e0044fd8443e1eb24450dd61df7fe37",
+				.ct = "0d2b0dd27752d0e9c07ad3fe3bec4b21d9624c13d75ed404f8080bd8a226ef0d",
+				.tag = "b6b86e030da1049c48205fd9f3481048",
+			],
+			[
+				.count = 9,
+				.key = "802f8743bb02baf8fcab6240ab5c2e70",
+				.iv = "40",
+				.pt = "6d56002ed5c10cc24d39f86f6c6991185dba79d6d94ac977c7a91509cd958c20",
+				.aad = "694043c8031cc2f87c085a51ac9187f4",
+				.ct = "e20c3ea1b8d27d8c57a344cb86b56ba6897b8b8bfafd73ec5d7a0735523908e8",
+				.tag = "11566fbae3bdc0b8de45e04c42694b04",
+			],
+			[
+				.count = 10,
+				.key = "24a53512a176d7d2778c54fa9499d4e5",
+				.iv = "58",
+				.pt = "cb5fd7d57e6b46ac8a3e0c91be73c25cd17949160806aaece087f565987206f6",
+				.aad = "72d2ec19b5038cedfd6129862b616817",
+				.ct = "52dda95c8afd22cdf386a885070bd20ca5cc4503964ec4a5b307f83668d750b0",
+				.tag = "481a0baace924526298ff5947d7fc622",
+			],
+			[
+				.count = 11,
+				.key = "d625a03e3ada2a12364aa0ef4ef723aa",
+				.iv = "57",
+				.pt = "156e856e9e5e83e7e3961d79fcc0322c2734343ed8851d7e2dbac63220db332b",
+				.aad = "e4f611cd30169367bd02ed347520e279",
+				.ct = "86814c967b97ce9f2323f0f599f85230fd5655d3d6b97b7300433f2585f873e5",
+				.tag = "0ce97210bdb11752b2c4cce22e9ec55b",
+			],
+			[
+				.count = 12,
+				.key = "fcc69df54012e64121fb9b307e6cecca",
+				.iv = "65",
+				.pt = "0611b159cda2604e5d15cefadd08590b5a7c0ab6e04387f94e5350c1a45c3173",
+				.aad = "78118396cee6a3fed09b290ceca77bc3",
+				.ct = "6f89ea622ad04e411a2666dc0189e6ebbcb78e8b7ee65041b995c5d435d04d0a",
+				.tag = "2f828f176b8a44c410da5a671993e542",
+			],
+			[
+				.count = 13,
+				.key = "76b743420a09eedc39d9385fb3024ca0",
+				.iv = "fb",
+				.pt = "bfb36ae05569de237f9f377d17c3ea6254a88aab8c158068b744f67ca3d302c8",
+				.aad = "42a40fd561a749226c6de97a5e89edc0",
+				.ct = "26153d5a121dbd75403781b176212df0cd44aa581e32248e47e8a5c3e0847427",
+				.tag = "36243e59fac730f07f5c2c9584085356",
+			],
+			[
+				.count = 14,
+				.key = "ef7ba6d991e526c606c9e0bbff77c330",
+				.iv = "ec",
+				.pt = "432197fb40dee278ec1c06f8f9fa594bbc546cb3015047e1f63a863314aa55bf",
+				.aad = "7b90d5780f365b91399ae2ad5d6e232d",
+				.ct = "6ba044abec7ba4ec8bf37885483b7439930967d3b595e8209f572656cec61b40",
+				.tag = "371348734292e2ae7464616d6570412c",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt256-aad160-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=256,
+		.aadlen=160,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "b7035c3fdf04ed91b3bc0839d0b3339f",
+				.iv = "b3",
+				.pt = "77fb4ba866ce765ab32c2094a8855057773a189be9f91247c012cf6e196cfb38",
+				.aad = "2cbe6dcba5430b331189d5f70d91fbb43282255e",
+				.ct = "083fe0b797ad750d2f900966a002f3a5a9042e7377ea13474dae2369535019dd",
+				.tag = "a67d8e6b0c039fe6ed8e1f7e7ada4a9f",
+			],
+			[
+				.count = 1,
+				.key = "383b4c58c61d1de4adebac18b4a61093",
+				.iv = "bf",
+				.pt = "36463680f82ca31cf7614e2c02ea21ee1f5cb18e643ad5bebe8de6c541e20b9a",
+				.aad = "e65238ef2ec7a18d1e3c00fd8d25f5452b9697eb",
+				.ct = "f24f6fed0636053d2a587bda42ef8646a0bf8d50a09fb8b11050034dc9c24292",
+				.tag = "381c9cb5e132029656a615607f321c9f",
+			],
+			[
+				.count = 2,
+				.key = "9a4fea86a621a91ab371e492457796c0",
+				.iv = "75",
+				.pt = "ca6131faf0ff210e4e693d6c31c109fc5b6f54224eb120f37de31dc59ec669b6",
+				.aad = "4f6e2585c161f05a9ae1f2f894e9f0ab52b45d0f",
+				.ct = "5698c0a384241d30004290aac56bb3ece6fe8eacc5c4be98954deb9c3ff6aebf",
+				.tag = "5d50e1af100509e1fba2a5e8a0af9670",
+			],
+			[
+				.count = 3,
+				.key = "aa66eeda0ab3efa01c8dd2e57791b0ae",
+				.iv = "c7",
+				.pt = "e3873c005db90bfea55854d24b9f38fdd9f822348886c9b64bb1c050479a22c4",
+				.aad = "29cb424f569af1ea505bfae5bce3b2c44397c31f",
+				.ct = "775645d467b7d1364773c03d65a1daa3d3e547e014153158b186365e6aed62e9",
+				.tag = "e8686d39a6af961e37960fabfce6646c",
+			],
+			[
+				.count = 4,
+				.key = "74011bff1ec9c5525bebb1918dd4437e",
+				.iv = "05",
+				.pt = "31b264d2683fcf7b9fa6d9ce0eb7f6cd3ae9a39628ea3f35caf4fd72f0e5f8b1",
+				.aad = "c8b2053b07ba8399569b1ee63397e65d28da1e30",
+				.ct = "9586f0c54a79a0f16ff8dd19c19a73134d7ab2e57a0fc7151210972f9986609f",
+				.tag = "cf0ea4039cb4932bb1e46e557e735603",
+			],
+			[
+				.count = 5,
+				.key = "2ad735f61fb10ad27b1c9036c2cfec5a",
+				.iv = "f0",
+				.pt = "99e689cd97c2a14e46dd84359f710b4ab173bc8761c4a5f117cac00620291492",
+				.aad = "93a8d57590c1a5a0b26b7fde29e064b9b3920348",
+				.ct = "6abe66930bb57788f1a983df5c8adee083120033c4bd638d46e78e21df3ff740",
+				.tag = "6cb01ef3771a810464647c8a5df03917",
+			],
+			[
+				.count = 6,
+				.key = "5789fc78554b449474372b0c62a6c870",
+				.iv = "21",
+				.pt = "b8327c9be4b5a6b3d639752c7a625deeeb7472ea26a93b86c94387f215bd804a",
+				.aad = "6692e8ec95601f2f374a1d95d8c843da519673ae",
+				.ct = "ee76235f5e16e24d46df8812c51749cc1d753667615e43564771409cc63e8b48",
+				.tag = "c4d306603bb4ca325663639b8f3c4b40",
+			],
+			[
+				.count = 7,
+				.key = "4899af7b483c563bcebf7a9b9a61ecef",
+				.iv = "61",
+				.pt = "c0cba953402934e329261c43ae2f5a55a39f61089c2204c627d09c05c2ee2005",
+				.aad = "78c9d161e836591ed721d805a752def89ba824fb",
+				.ct = "d129378a3b8e6631b273a81c5b86f65a17488c64adb65fb590502fecc56a77bc",
+				.tag = "2374a7e46a815404a81f67dbefbeac21",
+			],
+			[
+				.count = 8,
+				.key = "0d9f7be0b736513e98adab64a89fd203",
+				.iv = "ca",
+				.pt = "eeffb2cf5ac258118f4e2c4225625b8aecd982210ed90803cd825f02a1c9fb62",
+				.aad = "2ec17b1d6e6e4d687f94783d89181f8fca8f70f7",
+				.ct = "f932effa059e6cd48f9e615f25f2fed2bb5c775a3e5e0e9db0492fccd80907e9",
+				.tag = "63d076487e98e6082db5e77f8cc5a4b8",
+			],
+			[
+				.count = 9,
+				.key = "ca2f952e4bc9c5e7f1b1c5ae25bd875d",
+				.iv = "8e",
+				.pt = "415829f0cfbbe1c6fd31374d857bece5cdf029bfbeccf0a1c28dc4388bd4eb6f",
+				.aad = "d710d43faf13d7b0366cd4696cbc8981dbce9e52",
+				.ct = "35595ea973c5278ad98a77ca4f12155ba70a5725527a0b4572e377fdd253eb34",
+				.tag = "905d53af72e0a3e50c3f8951658f9123",
+			],
+			[
+				.count = 10,
+				.key = "591c0914c123768c2c2e1e573c91a25d",
+				.iv = "bb",
+				.pt = "ac2bfb34f43231345029738d1e2485d23e3d74c9d8c1c389dd3b42ccd2b650fa",
+				.aad = "79a7e33ede987f87bc117c6005fb355578695f66",
+				.ct = "07df283fd2d60180e4477c5c989ff135a744258e6d4eea0100d3778fa13c4b60",
+				.tag = "d61eba8b810ab29ad5a12186d940af28",
+			],
+			[
+				.count = 11,
+				.key = "b21daec6da747b84ceb2d77cc11367c6",
+				.iv = "d1",
+				.pt = "2da69ea4e120305b38c81bc8be699415610b9bac342970a83b4b295376cb9674",
+				.aad = "4aa43d5dfdc68aa0ee040843c6db732c7957daec",
+				.ct = "c1db396d67a2801d3df8a4418bff5350491c46e80cd3c0444f5286d2a51d6081",
+				.tag = "d7075faa7cbd7ef68ba9e5bbbd551a40",
+			],
+			[
+				.count = 12,
+				.key = "540a65a2b8d5192ee5264605e81d1a3e",
+				.iv = "e7",
+				.pt = "707b1db0beae6133d312c741dc7475ba94126d2af45e50d1933131866c418227",
+				.aad = "fe2d754fbf9e3542b9cd4b63e1ac43b10c5650a9",
+				.ct = "09cb2fc8272861b411790844c57033beada150ee3ef618763df45dbe83d6692b",
+				.tag = "9c2f534c7b64ed1268ab26ac442a8a0f",
+			],
+			[
+				.count = 13,
+				.key = "a401109bf4554809f9e16d36966750eb",
+				.iv = "c3",
+				.pt = "aa708fbd92701e25379fbe70cb1b5d7388a8029f9d830530831f9b91ebcb61cb",
+				.aad = "343a3c39262c3b64584b520ec65eccdee3b4a01d",
+				.ct = "32f2c171560cae595c3dd1d913b4843afe01a43bc492617e6fe13ecc5c888da1",
+				.tag = "82ebdf4755a735c59b2e4d82e877f167",
+			],
+			[
+				.count = 14,
+				.key = "676cbc9dccdd2ef803479e1d0bdefcee",
+				.iv = "e7",
+				.pt = "1f5a7e9baaee63327f00ec3fae332bec520365e6ac97f187c94e7965db471246",
+				.aad = "872ba132e63b3ff70e2d080d8b42a85002614fa1",
+				.ct = "e4768be23f350f199fe450921f43942f5e7fb8cf49e1b47a97c8bda27953d24e",
+				.tag = "269b4af1a43347891e6d4d133ee42255",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt256-aad384-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=256,
+		.aadlen=384,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "9852fa03ac796ae41d8e3201de476534",
+				.iv = "d7",
+				.pt = "34ec937029cefea99d276859b1b673b4870e94d7eb80f7093b53d27795973de3",
+				.aad = "b1c055de4d0c2cfffe4e09b57a4676301305d343589f34d40cdc1d43ad9268b49b114a732fdf7828f199f8ea46b96cf7",
+				.ct = "1ac8a1433a81b18166786d15e12d515319933747ff9dbfbad16729f596974d97",
+				.tag = "4c6cb9f809974730ecbde6a1ff5510cb",
+			],
+			[
+				.count = 1,
+				.key = "cb6d95d4dbc99fce92f9405c95f138b8",
+				.iv = "80",
+				.pt = "b96e1602dc3abd79589f2bb14ef748374cc194fd2f77195d5e5a946b4e856a6c",
+				.aad = "18912a63e8d04273bc1302e1f995cf0d51e48312a666eac6286a221a220f85ddd99790158ef936a1669cfba8486345b3",
+				.ct = "879b26335a6c35ac3c5809b85a06b9246b6e4f314a04f9fe9d0754cfbada2a5b",
+				.tag = "eb70bf89a398f78687b7d7ebd536e649",
+			],
+			[
+				.count = 2,
+				.key = "063c19ff86d6bd5578da76d194dc0fb6",
+				.iv = "68",
+				.pt = "87966b48d08b8b23d0a241766d04dba91a0036821fdc31f29635e7a6a35058e0",
+				.aad = "380041236a192caf92477d3f292b9e8fc3246db592a811127c88f29eea5d8ec93008a7927b015430f9317a6638da2241",
+				.ct = "5a21aead5310f6abffda1ffa1ef760db3e75a335ae623617be4ec080b8501483",
+				.tag = "1b2248930aa25a5d1e8b978f8f0c7efc",
+			],
+			[
+				.count = 3,
+				.key = "2e5820ca01e5f197a108a06e1621caea",
+				.iv = "86",
+				.pt = "b995211e09d72fad8fca73e2add51dda3e7ef62d0081232da9b8e6f43407aa0a",
+				.aad = "9975da361889e79ad09fdb3018a6df3d4bb25a48b23dd8861829e6217ea3d2caaca0ae6ad6ef2e82c6dab26516c0215e",
+				.ct = "eeafda164ab5c28ed419aa2de299e074f71f9a5ad64bca7a3b830bdce50c3b3b",
+				.tag = "d03d77f78c190971a7aa6c29c0c89e96",
+			],
+			[
+				.count = 4,
+				.key = "5d672d1bac4aae5f91f8e9c611e1010f",
+				.iv = "cc",
+				.pt = "d1690f720bb5f6727720bcb3bbb3bb28bbf3417a88f02f7ba35c6eb0ba111e25",
+				.aad = "98b7596652553f1f0bf9f708d85cfadce8ff960738c608621fdc7cea2da3762581b2d53b4f28bed2c84e76c1f5c79de3",
+				.ct = "bceddcdc33cb7d5e31fdfa5785db4ca92f864b4d002ebe256fb35db7855b98dd",
+				.tag = "9d201b5f6efa03663add368a688ab683",
+			],
+			[
+				.count = 5,
+				.key = "28c0140943f0fd61f062df91e039b6f9",
+				.iv = "44",
+				.pt = "0a6edc2d84a434e66f7c0b1f77edd903dada0d58ad824959725cdc513423bbec",
+				.aad = "88c4d899e5cf8f0fde81889bdca350249cbe5764016886622c69a39aaa21242aa46314312f4a49ffaa03278f727ea592",
+				.ct = "72ed21fe6d64702ddc5d0f4033b7cfb39285f1eb0388db6d2fe6b409b20285d8",
+				.tag = "fea1a737390632aa117ced92baa2189d",
+			],
+			[
+				.count = 6,
+				.key = "469b47084bcfcb1d553ef16c51f0c547",
+				.iv = "71",
+				.pt = "cac7ed6feaec6d5aec9514938d9eaa7a0bd849887ef356ca1c20be8ebd6c0fa5",
+				.aad = "e4ca60caf9444292bee0a2c75190c0689ec4166beafaf1acc72e4ddf06d716fb62d993c4787fbdb5a386d76147f6bef9",
+				.ct = "8639fe350717dd2a5e2f01c0862fdd3a3937795e535cfd163ceecb3b1c9da41d",
+				.tag = "5ed0bac0bd7dee0ff1a6fdea56b4b6db",
+			],
+			[
+				.count = 7,
+				.key = "02240480cc7c3f9f02737b9142879f08",
+				.iv = "5d",
+				.pt = "e8f15238a3e284ff5c64c3a7fbaa634ba4af42a8146cc46137bc3550826835de",
+				.aad = "3dba536f561bac24b6720037d2f3574bf256bf9c69146699f38e14a79eb8b775794fb29a0e60d668de01ef1c15289bb9",
+				.ct = "9bdb98234df6f45608b6f3be720f386104e37736ffff2d9b41f393a7af8d3916",
+				.tag = "8798df4307287b70ff3424a8ad8e95ae",
+			],
+			[
+				.count = 8,
+				.key = "e88454dc9c31c2280d91a045db38ae78",
+				.iv = "95",
+				.pt = "5dbac5c9feb1458e9351bbce31f208aa6990b0f44c2c9929838e38e781259aa7",
+				.aad = "0936e80c33d857d8d8daee98313ec1f94cc1cb00b3a5a91be953739e5c50ca480a5df2b6c2967cc4229b6f2cba7bf6eb",
+				.ct = "ea6963dd9e2f61cadedef3c7bddb4a5401b53344ee8a9d833c6ba990af022740",
+				.tag = "5a84c4fb0993c1ee0fed3a322c8ed9fc",
+			],
+			[
+				.count = 9,
+				.key = "0ef0ac231518c602d6a9ead5da37d836",
+				.iv = "25",
+				.pt = "fcf0287e53aea288a2d84828bd2f8abf94ab587db9b28a956013863552e5c522",
+				.aad = "d2b4624189e83632e9166f7d27e51c43ff3ea852b140842b607cd9b210133235bfc34bec3dbc97016d208bcc166bf276",
+				.ct = "d84a2cf002a8f7d86b0ec802a3889ca486824889f2b749e5fb14f649f0020dab",
+				.tag = "a682a30bd96cb49c0fb234efff120cbe",
+			],
+			[
+				.count = 10,
+				.key = "4b8d5ef24549d9c2b3052787ae988466",
+				.iv = "e8",
+				.pt = "f5030c43da6c1ee28893dc47ecc0c13de36f2c98da54fb2090ae1a73cf9ac7a8",
+				.aad = "889c5a3d793a1cd7cf470411b642176487c01a3b894f3dad5d336e57cd61000e64da33b4542164c4e639dec2e2b18a80",
+				.ct = "74852950ae1ad7b107017d69b7668cdfe36549aee34c28eb1b724027ee478106",
+				.tag = "dd4b739338b44178fb373e54901bc6e0",
+			],
+			[
+				.count = 11,
+				.key = "d61c4d67d5cf2f087cf8360f612f3711",
+				.iv = "69",
+				.pt = "15284ee25ddc6435f80cead70aedb6c8abcfb80c3873a71f9d880f8c5017da7e",
+				.aad = "73b8cfb8ce6739efc8cb4f63305841be46ac4c34a7503c1762a6463534d30b6531a4dc54f005caf550d95c710678ef5f",
+				.ct = "377e5dacc82e7afbe30214fbf65be4d4d73003390f6a68500a58bafd65e42688",
+				.tag = "1f5f50111053a52711acb9a081f1cd24",
+			],
+			[
+				.count = 12,
+				.key = "50c8541bd87ac603f4f702997bded015",
+				.iv = "9c",
+				.pt = "dbd3db5555800226f9aefd1532840baee23e90ab49c6a00818c7add3e6d8f29d",
+				.aad = "751dda803098bbb0e08efeede2ac4027390b68ec1d90de9a7903abfff380ccfc18db51310c5a95b5c6d324732cb4ff17",
+				.ct = "9cf09e97f6faab8e8b4b1ccd832bf528d482bfd42ef66ff2323f22390f9c9ebc",
+				.tag = "6194287d3254ff6bbcb79047873aaa0b",
+			],
+			[
+				.count = 13,
+				.key = "077ef8c28f67ba740e75ab348ae2c9a8",
+				.iv = "c7",
+				.pt = "38a49bfd29dc6c36b130460e98fd9b47cc1b5f2f07d083c0cf9f40b63a097351",
+				.aad = "511221fe3e7b319a0a8145247aa8af84127212b0c8e4d7524d37a57f9bb056a8fd6d3a7f8b1ebd66f09f4ef7ba3640aa",
+				.ct = "2dcac32b3a87d6c48aa2759d547148b087787ec70564a95b0d53f404ef803758",
+				.tag = "43e919eafca6b77c498f36a46a914269",
+			],
+			[
+				.count = 14,
+				.key = "3d62b477c2ef679cc94548e568322cbc",
+				.iv = "86",
+				.pt = "4af948049376449d527a4498c38fb3389d14d05fc0cc9fe8bad7490b27dfe313",
+				.aad = "fe63d241032d462af3f2ba877f15c7d4be573d0443b60f6492812b6c2d5ad2f3850340e2541ff68b718630aebac39b24",
+				.ct = "343a5b2b4d2101441f237a9e0f9cc2e94e1b58b946dd25177937a34c70b43d06",
+				.tag = "b3043f69aa88ba47f3e0e90ca3d7ae6c",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt256-aad720-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=256,
+		.aadlen=720,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "bce96a9991e1d9b4b9899063453a7877",
+				.iv = "d9",
+				.pt = "d7b3207aecb89ff38d84c023ace05ea5320e754f585b8cc56acd06b55a0f6fba",
+				.aad = "7690deec4091150ec040dbc1896e142f799f4a498c103c259d9b859c126af8db145dc5597bb528f03d8537a33eb9dd74a6f1fdb33cf4ff165552290a1f4c1f3272fe66d083bc7d5829fb7237a16dc3957180d88e75775d0f684b",
+				.ct = "78629b55e76195c08a84f78485a04f27e957892ff31625b18f9baf57b6de0837",
+				.tag = "d37805d9a9ed62f18efd7432e3d35fc6",
+			],
+			[
+				.count = 1,
+				.key = "ac518a3541994768130fa8d83b0a961d",
+				.iv = "2f",
+				.pt = "d86e36201581c23e1c270b7a30778a8aeb0e30370fc0e74efe129473e05b2a40",
+				.aad = "b314f36c3f18ca53277790202615268a3c6639be60990ad8c1789508d80b0fd830f36d9c5f449c9ab24da526b1ee51359f871d47aa10338cf62890621671bdfd4ccaa4c69d134cde5b53ec9c7d036a5e06d44981ae807bb4d13a",
+				.ct = "bf6d9a617edff397210d5dc53654c9b4d6b5713c0a21a424b1f01c4b69cf24fd",
+				.tag = "af802322b7cf41c805ca85f44dfe148c",
+			],
+			[
+				.count = 2,
+				.key = "5004635486fc283848b8188f867f03c4",
+				.iv = "2f",
+				.pt = "c6664e2f4425cfdd30a6ae9750b47cb0cceb930f8c2ab5c9c39bf0859c805e68",
+				.aad = "0e350e2b781df53296bbf84198ae9074ebcfd687b6a02a58006dc49ed2e83f3845a5d9188efe71fd5f95aeb76b2d3e501d3f23bebb0576fa9da97d07ad6c6adb593e19620df87f64b2e6ca8c0c3e2cb765b449ada9cccc48b6eb",
+				.ct = "84e6de0ae1a818971e3a8f42a9e7f98e03d63f47d1f6009cf7fd368ad2963977",
+				.tag = "8d9e47d74c535b446022ff1fd1e9b011",
+			],
+			[
+				.count = 3,
+				.key = "f49a97af82f9f962647668c7ff55c343",
+				.iv = "2d",
+				.pt = "5c464a56c8babf4bac16b750b28abbb0e9b4e252adb83ebf787889454afabcf6",
+				.aad = "530b6f364cd372c77fc7991e771fdb0fc99a8ec2a16feeee5c588ff399e1af7bbbd08777260be52039ab1235b81d8cac6ab7fe8a6733574c73763d37094078b5a1ad52312e42899289375be7f14b6aade7a3edc4b10eb22a80fb",
+				.ct = "37238ce1457705d001c3fb9b2d64b6a6b86cb8f02db1972b750ed965f783a37b",
+				.tag = "c25324eca6bc42c6c5e9852fbbb0a712",
+			],
+			[
+				.count = 4,
+				.key = "ba15212a14d4feda281ca17c20c2518b",
+				.iv = "aa",
+				.pt = "ae0e2829bd5b63651724242598088295885891a658af9b13e2753a7a73ae98fa",
+				.aad = "8709bfd637d1950d15473e46fc1b0a6849889b1f6906604a89800ed2359cd55ac255f590721373ed27f8b10f70bcba3fbf0b69b2d82a64926292ee50545e87382e235af2bbe25970e86a2947fa3cddac711af597c778dc700c35",
+				.ct = "267afcaa402b1b9ce4444f7a5e7482823615dad917afdcc55ea092e1fa5fd820",
+				.tag = "9327d3a739d662affe458dde350bc59e",
+			],
+			[
+				.count = 5,
+				.key = "b7206481763e2aa5e5191e95815da0ef",
+				.iv = "3d",
+				.pt = "b7644929ff9360182007b81b9aef89d95ae120c13c23ead447a42726eab2242f",
+				.aad = "7bbc014807e5069e3ec1ebe4560b0da145465d52bcd89b86626d0c4fae3f1cae1152c2a821e33e7b64e095e64e573d96c89435778f8800b91c3b7e6f06ee1252168e8affba37b2d93e8e7b669cc179c29b7440c6bdf8ec4a774c",
+				.ct = "e86489b9dff6d5dc40b1d6a08d794d71acf5254c14bc72841f3ae5b4b3472099",
+				.tag = "68f81b490cc65b88e930f1f0031d6750",
+			],
+			[
+				.count = 6,
+				.key = "29043f62262b509e096921b76baa621c",
+				.iv = "f9",
+				.pt = "de3b85ce873d5203c949ec38bef4084d24dc418e5d245e169501c035dc187af0",
+				.aad = "d7e193ee611a3b03d2573041dd7801ac73fce9b1d7aa8bd02f0f3f73e9e3348743e125d3086b411022cc82804e2a38feddd123d7dd81c7b02aa1ba047c7c1d8cf68902ccafab852f3548215f562743b7e357f71ad6f9da8e8f24",
+				.ct = "f7e6966c64d02100824022ff2f6fc49834ebf3a96e17674430be01fecea201bc",
+				.tag = "e74d34422eee788d4cc818781c82b266",
+			],
+			[
+				.count = 7,
+				.key = "1a3ce592f8c54cd02b2cf9671682a7b9",
+				.iv = "2e",
+				.pt = "cf612928658b733382a54890c80ddd4f05d829ca634de82050c6cbec04663539",
+				.aad = "3c029ffa242b94dcdc6a71eb7d9f967aa9084d34912795777b1af2bd7db0f47c78c033cab7e95424a34f5a820aa9f64e8bc340eb4bfa6e9bf4274f8845db5449cce3ec2348d7c05910716fafa59a1ec426c160aea2504a830104",
+				.ct = "2328279870fe52151302a3bb27769df2c01dee1621517341e26c89d9270e1fcd",
+				.tag = "8bb1a8d4f4927b813d250d4f1e5e48f9",
+			],
+			[
+				.count = 8,
+				.key = "1d20cace523a37ff4b15d6281434091b",
+				.iv = "e2",
+				.pt = "260f3c0c529dfe44682836e1b4c40bf5ab158969d083e8bb1d96fd50f64edb02",
+				.aad = "77a28a2bf8a86965f7dc6eafdbe64bbb7d9958497a81f263fcc8e4cdf65801a8c75481bee23696d50a510b14294e13a1218209289f3d1410a283fc4a80b9785fce1129f8fcc4eaed8ee8cb9d4a13fb6e2d3cae9dc5510fe4586f",
+				.ct = "1edf417c9481128978db8ec0c7dac8e5d95781eb44b995e51837b1464ba615b9",
+				.tag = "7f37ffaf7ca406b7f240e3e72a283b23",
+			],
+			[
+				.count = 9,
+				.key = "7f8bdd23eec8296904e5f6dc6cbe15f4",
+				.iv = "58",
+				.pt = "3b30fb9d17b0da1a48be6f208c279234ca10ab267b3f530c663f0ab3a6d67ae8",
+				.aad = "76410b71ce2be479ec0346d62337a638366233b9f2a31aac0bdc988b2c3b5bbc1d28e465f3ce84c1b202cef20f8840fdfe49c8d35ad05aa7d9f456678a441106c1202e350feb6354c9e22cf39db49292d7e1867adad08d1c84cd",
+				.ct = "1850da280b2fe53f2548fbd624294d0caacb5ee921aa27e7e74c103b8ebfc335",
+				.tag = "4b75b40ccd850ac20b52a48442d1e22d",
+			],
+			[
+				.count = 10,
+				.key = "65712c75b05225311a530ab34c358f89",
+				.iv = "f5",
+				.pt = "85649d55d93aad67937259688b4662a1bb0a61e88affaffc931b0446dd6c4fca",
+				.aad = "80dd2fd1359a0ffeeb7aea18a210f41dce187db916fc7beae245f64fa4f0408c72649a8316fcaf7b3ca13f8ba493955fa9a44492160bcb05e43862f2645487e513aef4c841a66dce051973b41d9aea512db9af3605af551d3683",
+				.ct = "769f81bfd8c51d871ba692ef2fe1b98427e9d01a06bcd5b2febee48eab9b591e",
+				.tag = "686a5109394c69d48b0ea70467b6db5e",
+			],
+			[
+				.count = 11,
+				.key = "9b2e599d7f4c24ac17a25300a9698879",
+				.iv = "71",
+				.pt = "f2fe81aea66298ca0caf3fd8ca40ceb9646fcc92ad935b6878ba40f2eab40dbe",
+				.aad = "bdef947db1c526dd06703bb210f66ad22836717816e418157a409c598e48d94f5aa9b17dcb23a17322a9dcf82c9ff35cd627e14ce9b7f87cba11ce300b2579d467dd9f9aab3fd87319e1e780f5916033018e628d38fb5a82151a",
+				.ct = "1b1a3532808abe077850f48cad850f516594ad5c9bfab0b724b196348ebf3745",
+				.tag = "52188edfe2ba5d0ed757434694e015bb",
+			],
+			[
+				.count = 12,
+				.key = "82f8c320b257d9aea6b9ab267ff2b4ee",
+				.iv = "0b",
+				.pt = "0c0c62b7453ca698e254ba8db3e27556c10eefed7b14014ff2ab036dab9f49db",
+				.aad = "2858a5251ce0839eae99d66be3ad98417afeb05504c5c76ef673e2d35de1a657e140fe2374b66afb1fa39d697df6097242157c35362925d6bdd164bd1cf71534de34b4d1177ce4fd40a9d079344cf38b6c2da0de749096343fed",
+				.ct = "533d6109a2b9180608559a001cb1958a5e08dfc87202ec9d4384d095da01c041",
+				.tag = "fb91ad2c83dd2289dc74f622c89a7c21",
+			],
+			[
+				.count = 13,
+				.key = "f5b618e92972c328f6cb64c942228919",
+				.iv = "33",
+				.pt = "748ccbcfa7bdd2fe1a31d6c9234875ff43ef838c3cad9a02f2e2aa3aba3ba4f3",
+				.aad = "9f644e1a4c2f5ef1754ce7c54c41b80a1ae8ee37f85d60490abca93b3676f50d9e3dacc82d089979100d4c0fe4843ce47d9e903d09db6ff96b9d6e1476ec581e7a6ffb065a19968690012e738c78bc11ee0740204dd7019c39ac",
+				.ct = "5dc94ee53a3e3f7989b6dfa35f6ac8cfc50e8a952cc5060570c56e54d2bd62c3",
+				.tag = "7174613ec3ffb2bf06a9d1d386aa6639",
+			],
+			[
+				.count = 14,
+				.key = "4920bd144c9cb8091209d506e1ff07f5",
+				.iv = "5c",
+				.pt = "55ac39c5bc9acd69ab231c8af7f61cf82735c9bf40c3250c69ec4661270d8482",
+				.aad = "7c530c83821792caa40d444f31991109dac5b2626ce7de4889361a4e88af5f84ca4036fcdc0eb59ee33d53119ccafe629c977566bb14c73b0b59720f33613cceeb438e9cd9e32ade2bfecf3f1d8e191d99ff9c17cd5a6367363f",
+				.ct = "2a89736e8bee6511050b8bc9eb9076b7a34f02885ca246119f204ce3916b7286",
+				.tag = "5c1c6b13e28b1472bf9bd61e898f6c37",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt408-aad0-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=408,
+		.aadlen=0,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "effebcbeacf4a97ca217d6ec39e2182b",
+				.iv = "00",
+				.pt = "2ad27f9a94f1385e5ef2f56019fa5a8d19998370183aff6cb4c9859e8c3b23277493485e27158abc183790652d1ceecbf0bbbf",
+				.aad = "",
+				.ct = "039865e7df43efb57207ed9f796dd9dc95be55dd8b754dc0f554baa4491c5a0b1749b8c4aa99eae210c43b1576f8ad297e189f",
+				.tag = "5a69a006b3285aa78878c6531e3aed2f",
+			],
+			[
+				.count = 1,
+				.key = "b5550c5904e46ec2917249503bf7e208",
+				.iv = "64",
+				.pt = "cdbd923cff2611041e5ac1b887d961c9ce078c360f125d68d2099b99a63696ea2b1e64a9ff3118a14371b076bdcd9c1d01080a",
+				.aad = "",
+				.ct = "98872c92b2224900fe1d8ceaa9b6162c11c64487a24bdf5c31675f14584a164aae7e9799cb596fb8fee103bccb584ef14a83f1",
+				.tag = "c05dbfdc0cd1f424e65a333769a3479e",
+			],
+			[
+				.count = 2,
+				.key = "a24f340bc16fb9ba89314ff3a0f6e027",
+				.iv = "07",
+				.pt = "3867bc2c9b5af78a4c9531fa5a273c6f329a19d65280f5c6d515db851a74a17b071ba117b4f9b70421883b57aa4d8b70befbd4",
+				.aad = "",
+				.ct = "a9987fa73389b9254eaa506a4239a0016f76236c91c587eb196b790792dbe86cf424e758fd35669cf591e51659bc072ca0aa0d",
+				.tag = "5a9e485c3a6c7fed5434c75f4cd7243a",
+			],
+			[
+				.count = 3,
+				.key = "44e31d6dd4b19858257173cc7ce4c3fa",
+				.iv = "2f",
+				.pt = "cb86c7d4f57a2eb1deff089dce1116dc4815e902549121ed03f01e38fe18f3ac6efc772f558d74ee0efb590280a614d499633f",
+				.aad = "",
+				.ct = "ec6935239a45815398a58621490449237376068f24cbd685314a30fd975f5f7e3cbe48dbbe871d86a284ecc5ebd9fd20853f9e",
+				.tag = "14b678bcc85197379503f9aa9df1cd9a",
+			],
+			[
+				.count = 4,
+				.key = "700d70d91e2fde6627f16260d507a618",
+				.iv = "a0",
+				.pt = "95578e7d05d4c8776bb21dda5001cfa044866509e1824241a5a21874b6c690af4eed192fcabc0baf47a542e7dae22eca9e2236",
+				.aad = "",
+				.ct = "1efca5bfe13888816b0bef83ffa748de9bb678e0b96b692bd5decd1de06763a5bad7e57e418c19fad235b84cbb93d796c4957f",
+				.tag = "63fa403b5a111653e636f454bde7ef89",
+			],
+			[
+				.count = 5,
+				.key = "8b3e298ac0e857862db33a7d1ddb9526",
+				.iv = "75",
+				.pt = "705779e7e8574269fe120df6d10dd00933131e929c0e5f9e0cbd32b7788c4b9177cca19e0adbea867fe3253faf819e17e967c9",
+				.aad = "",
+				.ct = "5f39e89ac0e73aff8352bef9a72bf721360371d7ab76bd83887c5672c969665f379171e49e5b893f08c989d77dd4fbc395d063",
+				.tag = "bca4806b9ccdd2b65b2aaa94df88b0e2",
+			],
+			[
+				.count = 6,
+				.key = "905a1bb960e7a01e5d0016bf5d1ba3f6",
+				.iv = "d7",
+				.pt = "202ee659dc844bfeec3be792f26d384d99452a9b68d402f37e77036900b71ce75fbf02e9495c72eeb3ab1064ffdbd8d6f3c963",
+				.aad = "",
+				.ct = "9a315340414cc779e5c9ad0b7f7f2790a37d95bbe20accdefed027d21e0e690d0d625b062f5b5d0f559c3943af40fbb9cfeef6",
+				.tag = "e4c2255fb1cf89a36a8386a8b38894cd",
+			],
+			[
+				.count = 7,
+				.key = "edd4464d416337795db5e5f24594ae12",
+				.iv = "a4",
+				.pt = "b100a5cb5e79b41c8c330855932f403aec5d373b0c9b58a692deef8357f9ce4123c229d33d6a47beabe030f20507d271247fa8",
+				.aad = "",
+				.ct = "91b14abaa4ada7c235b1a937c006c0f99e439c77a3c3476138615b359b85217f12c30d4fd6055f0a8b410062dcbf708f0f76bd",
+				.tag = "f4bf66f022123a74c81215fb2e41afa1",
+			],
+			[
+				.count = 8,
+				.key = "d4148731a24b4c24951c45b5b327ede1",
+				.iv = "d0",
+				.pt = "ab7f5059c2fc078088f2c7b324ab3782de1fcb5292f8720f1b2d19791c2a6668c4c753e0855b9a6bb12044faebf7d751b6826b",
+				.aad = "",
+				.ct = "64c9bdc1ea9da822f6a6cf77a275232a367ff887b127af77d72128fd96cfd70a56f32361c6cfa56d5bd9e66acd83f6b4a56295",
+				.tag = "ca63873fb00c46e1ded61bf3b7089500",
+			],
+			[
+				.count = 9,
+				.key = "75afd1d56674bc575e4b749a67bd0d1e",
+				.iv = "fe",
+				.pt = "6e865b1c1d2dd0e6378c4eac23a613da9e42e70dfd48aa8ff0fc0918c01c5b8f26e505c66676dec6ac07d7a148edaaee0e8dd3",
+				.aad = "",
+				.ct = "53af00e13ef6ba7871c5fc17d4cd5367c62fffd4fe100d09dd0c881bef599e84acb97f90103a3a36130368b299c16768648fae",
+				.tag = "5a4b2170150c3c0a1ac7578547086c40",
+			],
+			[
+				.count = 10,
+				.key = "d1bda2719fe0eca4530cf2aa8e7f1463",
+				.iv = "fc",
+				.pt = "7920d62d593f7e268ac5534f6e6580f50b8ab4ebce0306cba69d954ea75117463602a2f290e443b1adbbc6f3b47f0c056c9022",
+				.aad = "",
+				.ct = "edd00779e2fe8393eed4b92108a0e2402a76bdda09cd39efc13981d02bff686c66afec653bd99b473d56302d22ec18835502ac",
+				.tag = "cf3265111b4c73b7dffabfa4c7935bf6",
+			],
+			[
+				.count = 11,
+				.key = "0fa2c5e2efc6124bba000fdd8937616f",
+				.iv = "3e",
+				.pt = "045b6d738ae8e4da7fba5086566584a55c2f6a22b3cdf4b8be13a675a56d9359bcfe4f8ae3664f8c9328b5171138d95564062c",
+				.aad = "",
+				.ct = "e7798d1942183e83a2146e473a7dcd9ca4212ae3521a5cf95ff3ffb7069bd590824fc189a76b66d3809860230fcd0be0c77d76",
+				.tag = "8349b1f639b2d55d99d538057aac262b",
+			],
+			[
+				.count = 12,
+				.key = "770b6262dcc03549e0808e18316e6efb",
+				.iv = "12",
+				.pt = "7bde38ea0b736e243e18678b9b4f5b300d3e322df9a0b87838afb474fd6aadbdd3f97df207e45baf337ca70f5ae820353a0015",
+				.aad = "",
+				.ct = "582f1fb24211501b82cbc652c54de5dc60e60cdc81e777923dc85252df5b1bc41ed55a320a81f646a0fc677149561497b863dc",
+				.tag = "7bf68ac8e3025d497cb4b75871cd7ff7",
+			],
+			[
+				.count = 13,
+				.key = "4401b38c6283ec1b909060f7c4659876",
+				.iv = "09",
+				.pt = "91cd1fd4aa862ad58f8af6879738052dc6d7f9c4f1813524a8f33187cbc1d5141b16da82fc84eacc9e4ece0feb716666a7f5dc",
+				.aad = "",
+				.ct = "9239fb9de32f24efcb5b7c88cbfdd81f27b3a5ee676462ba4add0f54c79d911bbc7c93232118622984b62af441d1d348698403",
+				.tag = "03c5610e1247c951ec2d36b7b4e174f2",
+			],
+			[
+				.count = 14,
+				.key = "7c52843e1efd6bbf79fb21ea1dca3099",
+				.iv = "41",
+				.pt = "8383e059092d6343ed1da6bd4d1f03cf5d64a92bceffa9c1b513b361c16296a2ecf7f2e2481d5a76957c062049eca11f3e029a",
+				.aad = "",
+				.ct = "f766702eecfc2298423331de4aeabe743a715d2acf92872763adc33da87b7e10f4417ae6b1adfdb7a624ef0af70ccbe6a8ef08",
+				.tag = "45b1019e7fbd64640070a98c0706d472",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt408-aad128-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=408,
+		.aadlen=128,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "d7b4d10c23438fec93edb68143cd7f4d",
+				.iv = "6d",
+				.pt = "bf6cbc9b8140d3780da275a8c92403037cf64dd6fafdcb6f2689e9a26c9bfd1bf68e1739a8ac632f26cb790ece56648b38ca91",
+				.aad = "cdcdb1e24381632d9441cbc6f6cc18e6",
+				.ct = "c19a8a33c75b884b02b901cef46cdd64d0579b670e69a180c0b83f782091312820513a12c80080a42d9ffbbd476a3e7f3a5da3",
+				.tag = "bf6a596556174fd468a65989360b8da3",
+			],
+			[
+				.count = 1,
+				.key = "44badbc62a264c64c2d1987354ef3464",
+				.iv = "6c",
+				.pt = "4b775fb9d8b5b243fa52e0ef524a6989c5a8a2d0b6b131d27d8572938597a54326910f9e375b3a3b3fbf1f244ede788a7aff4f",
+				.aad = "d89ac98f0c27d2b328ea65173031a409",
+				.ct = "92cc021a730e7574c8a8098f69627c6ac25470a62f58c5bb3897fcbe5cf9cd25c4b4e489649461d71b3baf33f945a76ab148da",
+				.tag = "73a6eb11d8a4730a8df186dc49bc4d14",
+			],
+			[
+				.count = 2,
+				.key = "a2eb962f20058bf6eabaa35a175666e0",
+				.iv = "e4",
+				.pt = "afba8b7b3f2a653a3d0658f4c906e0f89a71baa4120976f04d778842c99c3777700f3c83c4fc4af2a73aaccc627c90f0e17e86",
+				.aad = "a1625dadb406964735ede1f4a503abe4",
+				.ct = "bb783bd13d554f1d598affe938909f356d39fa4d084265f2473fc5713d5106d266d244a7c40f6e82ddfb61e075460ee37e7231",
+				.tag = "b82817c165b8f5b61a5dba80e7d36d9e",
+			],
+			[
+				.count = 3,
+				.key = "0be0aae3d3d158ae9a7b95aae4ca91e8",
+				.iv = "00",
+				.pt = "317722023d958106c906496b5d9be87445596ad52c5dff639c9a68991d861259b39638641dc26d96374beac53fc045730ce246",
+				.aad = "700aef74ffb8fa554536e58d204d6f2c",
+				.ct = "aa5a08506138e028c181a7fb34defdba67f2936c3f776625941d21f1ce09932ea0a02ceea70bccb1a320679ca124202de7ee0f",
+				.tag = "5c1c7638621e6a9d8a4415abc2aa981f",
+			],
+			[
+				.count = 4,
+				.key = "f46bf7d15affab4322483590352855fd",
+				.iv = "95",
+				.pt = "0090b514784fc79b313e6e12f806f2e02f4546268d5b088280f5bb512fcde28c3e4385813b976d9676b7322fec500cdbc709e2",
+				.aad = "7ca22351226de0c8a5144b915541765f",
+				.ct = "69e1a82b68577f62a32f17ed727cc32cade58dc2e50cfbc7c0a68e1de908ae240f1954b60daf5fc9aa3696defd785c57e72bc4",
+				.tag = "10dd85f16be1795b0b4f60c9ba921683",
+			],
+			[
+				.count = 5,
+				.key = "ff3789a239c705f5afb26f0b7b04bbab",
+				.iv = "0e",
+				.pt = "8cc4d1d79a1c75f52a6d1bf139564947579a8ae64b0900ed9059533ddb25eafd3b95f2a73df727cf467d90cf4e14a47843044a",
+				.aad = "ae50eecac79510befb065797f0876d60",
+				.ct = "1e51beb86752e7958ad218411a942787a8bff1dbeb8a51bc9e0603672a4a2481a218a889df6ca0e5a1c60d3aa757d479a941b1",
+				.tag = "bd6e1e52cd4785594cdd98817ac54147",
+			],
+			[
+				.count = 6,
+				.key = "c5e157ea66a30c71392a66f59bcf0a9e",
+				.iv = "55",
+				.pt = "869409ab988d6607c383baed11bdde9d596094b050741043c4d8a94b1b0f4ab5101a7348634c937a8b2fa0b2e4eee167da836a",
+				.aad = "e0828b49fdde4c0d00a193be8ed4ef2e",
+				.ct = "cf41b2c4e416e63c4f9fece5e54836156a1a7757cabe5d5a74ecae2c783facf81ba6dc698fde53876bebe3e734c2a751e42a91",
+				.tag = "b7ded4403906027f538238ea05676a34",
+			],
+			[
+				.count = 7,
+				.key = "252778954a6629f44a4ce7733fd0bb1f",
+				.iv = "95",
+				.pt = "5268d0174ca98a6dbec44e6254c524df1299a2a714cbea540a313ae57f4e7cfb305d32dd747d536a130127579f4df25ad3b7a1",
+				.aad = "51fe5a16e1c932c2d8f9c80968d1bfa4",
+				.ct = "1b2d432bf9e99b96e9b327715d7cc9303b985e88b1744a31b97d6c2f715eba36220fee6817c066fff868edc5ecca65cab3f165",
+				.tag = "d7e31d72bf78678d7ed80ac06dbed97a",
+			],
+			[
+				.count = 8,
+				.key = "e544373aeee4ce779fd5ca71ad7e30f1",
+				.iv = "3f",
+				.pt = "b673b04293ca9ccfce4674975438ea1513cfaaede98643acbf410e20a36f5ab9bb035740e629104143f9f026a55315d2fe4048",
+				.aad = "c543b44339f78a79b7b05ffb4cb7b43e",
+				.ct = "038ce1d1feafce804fcc9b64c3d737be56e01e8e44df1e8a55c89e610bd2028ae673a0a484b739b5b2b1e42cffafc5ceda0c60",
+				.tag = "9e865fd5f034aa8007725056ea91a8ec",
+			],
+			[
+				.count = 9,
+				.key = "8b1c042158f6f72cc6248ce55fe85d57",
+				.iv = "74",
+				.pt = "3a6d044f0a402ca32d6c58e71110b01146a04057ded575e6cc92c5e288117e897c819ca041891d6a3763f7f706fa2689dd05fd",
+				.aad = "9b70740e6ef8b03079bfa3259868ba26",
+				.ct = "471f88ebe7b4fcbc47027965b7845d89a40eb0e274cff50186c1e5196515318f0321c88bd030f21d75302e35e6146eaaddb9a9",
+				.tag = "99c35aaea05ee045079a87ee0f7fae1d",
+			],
+			[
+				.count = 10,
+				.key = "3eb63a5b3b7fd84ce8e037ee7f36e5da",
+				.iv = "d4",
+				.pt = "d1a25d1d7fa8d044fceff1eebe09aab2969cf31c13fd5e0542deb2356f8b082f3f71832724e8c46c61b93e87d69db2f6620e6d",
+				.aad = "2cc07e768a4f469f34aae6692606ae4f",
+				.ct = "3ac61bb050b950043ad4abd21ffaaf3dd17719e27f448342af544b7adbc045076a62a52f1aabedc24d8ace82d028231387664e",
+				.tag = "7ab616289ee43b7005e85cbdc2e30301",
+			],
+			[
+				.count = 11,
+				.key = "6e19716e2dc3e30be0f9cffe925ade48",
+				.iv = "0d",
+				.pt = "50c9cf35cf2cfeb1caeb41fcf3dff114f8964e94c2fc9401f34a4843fe3eb43099a4ce8283f7b03298dd43700980703e56eb6b",
+				.aad = "c8c1a9af8aa9da2ceee7e307d6a47891",
+				.ct = "925cb24f3c3fa7ccf00841623835b8e26b12124c6ef8dba240a901a5fcb592622d3af92583ea01f6fe923a7bb24e210565629a",
+				.tag = "bb61a30d25823fc712144506dd60af69",
+			],
+			[
+				.count = 12,
+				.key = "e9e836d497e6931cb514b9c3f76aace3",
+				.iv = "a1",
+				.pt = "0cf50dfa3c2ac683c66c0658d8072a5e63d5cb8eb884e0f7fdf3769e3d2a3d67702f2841ec138c308ba9741f613fd4b3849efc",
+				.aad = "4c9f0fb6837d4da0ec6ff82e298c2ac1",
+				.ct = "c16ff8c9ea6d4f43500e67ee4a9351d487954fed1d6ac2622f0ecd66af9e5c9b67366a53fa309bbf45f2917c198ba4cb1774c7",
+				.tag = "c239b79c67391c2f6eecab2074377806",
+			],
+			[
+				.count = 13,
+				.key = "b622748faf03d581cfae2a8eec7c46b3",
+				.iv = "db",
+				.pt = "3d80f861a1994f9f82dbe4f2021ac6d3a6c672d884db0d39f57456254b686df9ac67b3537b1fe63699ee3cb55e2bbc487baea4",
+				.aad = "572e1b6da2737aa42089744b24194bd2",
+				.ct = "b5bf73ea55c5c6bac3cb4de7d07c5fea9f9448cec028cee173cf175bd081636a62e306fea07aff26ade18a4c8e94e02c6a1847",
+				.tag = "9f01427d0fe5ec73230b14cb2350cd3d",
+			],
+			[
+				.count = 14,
+				.key = "60655f5a946c0b5501d665a4c4e44c3e",
+				.iv = "d0",
+				.pt = "3e25e05c6bb1a5351c5bd39b483427abc46545b65d399be918745d3a95ece32704930cd956fde545cbd5c5a51ee24808c5e49a",
+				.aad = "cb082156199dd2805979a7816018c220",
+				.ct = "649ed2f4525d1b40cd27a2543fe8a0af48446d06b8f0531b6de26ccf3f19255e68bb4f1ae81066cb287c869f1191ee25de273c",
+				.tag = "04ba828969ed194bdb3754ec7523a676",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt408-aad160-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=408,
+		.aadlen=160,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "f51cc8fac3fd1f633f40a0e1257065ef",
+				.iv = "04",
+				.pt = "5324b6cd24d40977f0db1ce4f66bb9353d57cb231b61e2c6cfea55d7a15717bf407c09511df414656aa7d5c014bf6dce5d1d6f",
+				.aad = "6289b938982b5273190ee6efdbd139f63d3d302a",
+				.ct = "727a9e9cb895a37b6f50e0715fec00c4df0d509d97c2dabb1271324e882678facbddbf06ca14015b2a44be110daa9ed96b7651",
+				.tag = "3b9c859dc422f6338ad6c402b88793c1",
+			],
+			[
+				.count = 1,
+				.key = "7efa93fbe39969d5189b3688af64fe7c",
+				.iv = "04",
+				.pt = "b3ff41c6a3d69a150054d1aab1fcb01c1f69fdc9b4cd756e103b3a4724296dd9402dbd382b0efb77d86028f33a39ff0178f16e",
+				.aad = "58d17f5985b680cec4cc0e86440f922d2544f577",
+				.ct = "0c4e9daa242cfca43b46921a58abbf90798ed4211a3a6f540659399423fc06e47274d81dda294d7d6a4b71d12349fd2090ad2e",
+				.tag = "02cb2c35da2e837816474e88d197093d",
+			],
+			[
+				.count = 2,
+				.key = "e3d512aaba1b35f0d98cdb8a3d493895",
+				.iv = "19",
+				.pt = "c15a373021de5ce4eaa6351270d60eefbf3cac18ba0b2cf13550f00891d18a3d3021efbf0245af07969bc4f198f8791d85b004",
+				.aad = "986c70a09ff6fbb2b0c4b873ad68bea4f07b23f0",
+				.ct = "3514b8771ec3d92be1936b26e2b2b4aa08de56c731946245793989cf14e6aaae14bc931217addfa2a5aa30b637eb36ea29523a",
+				.tag = "663e84135404d37b11fe2e4219d2ac4e",
+			],
+			[
+				.count = 3,
+				.key = "f228e9d9cdb2afa141f00b820f9bc9cb",
+				.iv = "a7",
+				.pt = "b1a97966eacd2d8e4a5fdec6887cac03fba64281ad0783540b5fca034c09105b0d560509085128ab3caac7780875409385afee",
+				.aad = "b5bc461587916ac51b17dfadd3dd10c6e18ba589",
+				.ct = "9b6dc0cb6fa42055cfa297664cf0ab31b3fff6314a79325b6000f0efe92f24e0975143c61f477bf5e31d44ce2da5bcf71fb341",
+				.tag = "33c753075a6e46fe152f0f3fd74bf296",
+			],
+			[
+				.count = 4,
+				.key = "7119b7cbed44020f36c2d27a458eb29d",
+				.iv = "c2",
+				.pt = "e7b7150518d41c86e315232916c37d1bdddc13c130880bc36465145e0dbae48e85f1f97b3c94066f901766b7c1424204279fb4",
+				.aad = "01706c583877fe65e682d63020e8f7d4e8851f4d",
+				.ct = "efb44dd27a14e41599c6a744f46f2f5f3c1ef6ca34e0ac81a4ce61a08cb648813cfba3b2f395a0df5ffe1118dd87a91d6b4552",
+				.tag = "2ff3d2a61e86fa865f02329edfd2d840",
+			],
+			[
+				.count = 5,
+				.key = "f68d92716be94ad2188782c5b2d70c8f",
+				.iv = "9a",
+				.pt = "c53cc0ea05a6957a845610109665ab240d951e64ed3ce8ee8afe1ef80a710331dc1ac20b0af0d1ef8c7b7554d0d86e6696502a",
+				.aad = "f8d317fa82c5491a810051f789a38475e9583506",
+				.ct = "562c3f571470e956ec15b284c14c55a8f05ec1dec1f9099d1e85ad30cf9874cc52c7542d429cf57a49404039766cd974257b4b",
+				.tag = "f36de05aa136f4fa0b48974ba47f948c",
+			],
+			[
+				.count = 6,
+				.key = "7e625ba3d70f6eb83c310da3b2a41649",
+				.iv = "ce",
+				.pt = "2f386da3196fc2032efe6acf2b388b0ccf88635346772188acdba13ff568e02e0c6249302188137708a0b7180d84d3c8bf49e3",
+				.aad = "aa367c1f74dbe4fdeda31312f7770b3075bd3e01",
+				.ct = "209bc47330233d451ed1f40fa2a8e4bcaca73ffc5931f5aeaa12a27c75ee215618d3a861392c78e36c5cb25e1b0c7aff67c4a4",
+				.tag = "778177fa6d67a26cb98edaf744ca33f0",
+			],
+			[
+				.count = 7,
+				.key = "5411710f4c11533f5d3880c587a1cad1",
+				.iv = "26",
+				.pt = "38638abaf95341232d4a909f205dd1a8c86df6781e9f245b2da315c4990bc35af1b584020c969724945376ce4eee8383f7a82e",
+				.aad = "48872b4798e75aeac078a33592c3d7b0cb8ded4c",
+				.ct = "2d1d034f3ff5bb13576b638513caed74123a246ca386ec4143da9aa0ce5c9c763d58287a2ddef7e73b4d639fe0268c161c1662",
+				.tag = "dc20dbc73575d3bab992a36e816cbada",
+			],
+			[
+				.count = 8,
+				.key = "11b279a0a77709a1c10ba480cf91635d",
+				.iv = "e2",
+				.pt = "ab6c3baf044bb95c886c11bc028ea586a79a06f7593bc73341a3eab1367a9873ec12e159f22dc804bcc431a7b0740f34c94fcc",
+				.aad = "bd124923f92dd31fe3dcafabdc7b4cc1eb80428f",
+				.ct = "de33afb9e21be7f82e0182a1c4f5e8b66d5e7c6a8a036f79a584246889703c851d88e52fc636a4362fda95041be8d057479cdf",
+				.tag = "1069e117bd826e80c957c095e6782d28",
+			],
+			[
+				.count = 9,
+				.key = "7224c8779d4dee45d981d9f9734cab3f",
+				.iv = "16",
+				.pt = "6515a6aa78e6fe40f3146ccc0ad4a9e7fb22d3b6a6c9d3b1e58473efa87d2aac19f43f866450bc78a2f37a92276fff6f83361f",
+				.aad = "7bca717633137efd37404a5b14c4fb59438436d7",
+				.ct = "04c00432cada7755619602637935486b0ca1337455d9751116fd07e3edb0440007607f1e5a4ffa5d61c033f2abf2c0eead6c5e",
+				.tag = "e9680ceddafea3dda3b3af928622ba4d",
+			],
+			[
+				.count = 10,
+				.key = "bcc92510a31f81f6f90eb1468e69bdbc",
+				.iv = "92",
+				.pt = "c1853a6691209c913e5d0cd06c4d2c57d0c1f7c0cac776a4d9ce9d6b626276b238cfa3ad2e1210af1dbb63bb30960c5a92300d",
+				.aad = "9446d4dd7def86e836daeb86d0a1f56a98c7e1ff",
+				.ct = "3ae06d8643c07da694a118180b5fb9866737a952394683d42919e3d1fc79181ed3ca4f9cd777455ff683a4d92d698696fdb1d1",
+				.tag = "131394e1d8b6f2075e509c20dbd21d64",
+			],
+			[
+				.count = 11,
+				.key = "cbca064fa6f728a7844f95a6baf21bcf",
+				.iv = "e4",
+				.pt = "9af765ffa0694288c9bc12ce3f80cf2de86d98a630bf3100c7ce83fc65bb0e1d365a55f4f274ae81465553ddf62651ce1d94a6",
+				.aad = "72983a8bb1df02d645fc53d7166a64920ed568d7",
+				.ct = "b4f8d83d15720f6f4eece7e9632cad6f1b5c11fcdba22eb91418cbe0ba65ca0777c5116d108f591a1ddb03b85e0acb2c864890",
+				.tag = "ccfc05b2622374417324d1c824031921",
+			],
+			[
+				.count = 12,
+				.key = "f6488715b88338e804ac15930a354a7b",
+				.iv = "0d",
+				.pt = "ad6682e11a715d379898dd82a9d352a695af0e38fddaf65352f099ba10c88c91c0ab81fa9269d38c29548dc51bc8e1189abb40",
+				.aad = "9412137a7fdd59920bd3909dc7ba043e142668df",
+				.ct = "b2d8547fe6ad14ae1065eee73f164a0a52e27fa3bd5bfa79796f14ccaee1eebad0f031826c1f61cf145d859e4bd27a58807ac5",
+				.tag = "4abb09e018956d0d20488dc62594492f",
+			],
+			[
+				.count = 13,
+				.key = "baa68d523ab89a70632e5573f6593679",
+				.iv = "ee",
+				.pt = "13b8feb1f6c23ab4a952434a24f3910613013c3a9331c7a7740da658e98ee8d6e68d345380a845dec04b1dab84ecd1a9aeb3cf",
+				.aad = "d99c3383e4dc18ff5ae2e4262010a41c83786af5",
+				.ct = "ed59faf66460314775480862ae595b4d07637fa35a231a593df59c5ebf83682aa1a945e4015a307d479799c1be6727d8dbcccd",
+				.tag = "fffe1795259c9434ccea61f0e9c9922c",
+			],
+			[
+				.count = 14,
+				.key = "3bf11306ecec4f7b27e9d7b0cb6a5bff",
+				.iv = "39",
+				.pt = "f6febfb6c6ab7a2ce315be95de93799ad8f016415118a33548e327eb184620392e6378747b338ed50a83e6f58153c7e4fb33f1",
+				.aad = "b09440b35e85283a61635e45433b66918e911de5",
+				.ct = "a86a20713383d690cd421f0fc6bb87b15eafa4047fba365c59679d0f03440c53e1a39025c4e773fbd363e3c6998893a507b7e9",
+				.tag = "7e64e5e336c500709c3c5a7dc604e100",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt408-aad384-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=408,
+		.aadlen=384,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "f8d6868a7250f76e85de2e9f813edfc2",
+				.iv = "0a",
+				.pt = "81e562083769c8ae8dfda00f192396a504b70dcea2c25ed0b89012ab9ebffbdad8f227d98951e75685b16bac064ceebd6b1840",
+				.aad = "30307aef4c3b7fa25ac7b181999851717f703a481bf59b16546bf2df7fc7d81677de6989cc64140470ab8b86a42ae498",
+				.ct = "d1c2fa6ba5b29cb95f7819b2e6f2a7dbc0d8a58828f7e8528451633385afe0730921d08b50b7e0fa3be469cc72ff0e3226fb54",
+				.tag = "b96cb72d696ad2325c36a55634a21d0f",
+			],
+			[
+				.count = 1,
+				.key = "3b5cdb426a96eb3a178e1d9033476757",
+				.iv = "32",
+				.pt = "2f676dccdf864213672dcaca0aec433fe74ab9b0b16ccba392d52458cd6af9ed4eecceb10f02dfbb5e40303da0484ea9fd256c",
+				.aad = "01f24a7b668729cc052120049e5122fcf90dda63ac10ee1b584000d71ce237c4e1d60b6b03dbfa6809c648bafa7e2581",
+				.ct = "b08a463016fb2a0adc43f8d94c2d15aea42ea8c972700b65b14330667e50f5e42a99cec601cebdcc30248aef5c7e688daf185a",
+				.tag = "1742df70ec809f2eee64d615aceea4f7",
+			],
+			[
+				.count = 2,
+				.key = "8192e518e2b4cd47fc64968b8fdbe522",
+				.iv = "cc",
+				.pt = "9a1bb6a40f5681c05d4beba13cc42f17603bde7171f73fdc11f1d22566b625ce876d36588291540b6da97e370b06af57eb6a2f",
+				.aad = "7436cdc88dc1d9fba15879556b0c64522d2439822ad457c876909059b4c78369f400cbc45d8efe64ce2a664d5c262060",
+				.ct = "e1016395fb497d31bb74673ae9df3e2a2db8a2f43f113ea1a3199268c70af9dc0ca6872e845a7b291b45dd2dfe3ee3d33885f6",
+				.tag = "013e6db1981fb70d856871e44a836902",
+			],
+			[
+				.count = 3,
+				.key = "a9e344bbca03de830df6c23c90ba8a4a",
+				.iv = "67",
+				.pt = "13decc38d55f4c94c10d3b03672f6ee6ee069df6b7a946287c3ffe01cf81d8ee708f8e8ca1a89c1e84ab491ecefa811b829ddd",
+				.aad = "e35454af106fd9dba988d4a97ea469aa9e7ea63270a9ce69d8152fc7277b01b900677268547c9eb1ecbd70643b8a3218",
+				.ct = "002e96cb7ad82367a35eca4e55862fe9db008fd949312bc2481f64fd7c771d49866b7d17847bcb74d7ed6d85f3ba302c228888",
+				.tag = "2c195a9846405074c8ddd8ae82dbb038",
+			],
+			[
+				.count = 4,
+				.key = "0a1a4fe99b86c462094de9a6ade07cce",
+				.iv = "97",
+				.pt = "f1de79c946538dbc21b56d6497a291e234307e79cd023c136841b2b8ad438c705d05a9c9d5dbc5492b5d3792c67cb7f17430d7",
+				.aad = "11bcb5d207f05c674b32f80185eba739a4bc30ac0a21e3ce99784d2126e5a4f11dddfd35a229b1f3ab3540ab6003263b",
+				.ct = "1d98f7bb990f2e52b7446b33d3273fe8e122c5914ca53671a4fc66497d560043f8ef41738bba232ea742cbe35c6172b9a8a233",
+				.tag = "58fe64f7be3bd4974f5ac59a482ff0da",
+			],
+			[
+				.count = 5,
+				.key = "1eda7ff448525c3e7534e1780e9a5a7b",
+				.iv = "b6",
+				.pt = "3c0ff1279e66566d26d5ed05d799f3e628fc6977c9692430c2beedfd3ca667432f1317fe4e7d8bd5d3d8e29c408371924119da",
+				.aad = "f3453118f48feace2fec78b58ce37a0bd567aa1bba6ef791272bb51fa131fb67be567685d77dc911f4879022eefd1eef",
+				.ct = "c74746fdc9dd2d67c8297ad62b20c430ac6f187e878f2b07bcfd6829ca956c355a99e609bdece5f0d5f20c4170473f452d8ff2",
+				.tag = "e10d57184ad4ba1a32abed1ff65ae5ba",
+			],
+			[
+				.count = 6,
+				.key = "fe85a865b5b9d97717ae4da549db10b2",
+				.iv = "2a",
+				.pt = "4d576b10643f5c08e39342a98f17fd7c6eb33c88a14d330c0125d9609caacae8a2ede468a1aee68ce4e78799cc9de2c6718bd5",
+				.aad = "cf6b8845774a4abe70bc8988474d4e2dad8b38810700ccbe5b243ec0b45c38bc26bfcf0f8adb557abf1a95501f2fab05",
+				.ct = "569818db270ef2bfc963bcc63a8eeb02d097b84274aa241d702188678023b407c1121b174160ec2e79321855d45b88854d7837",
+				.tag = "0758576e1f52a3ff802dda6e0b70476c",
+			],
+			[
+				.count = 7,
+				.key = "b81233370fc03f6db7a608adce2ae43f",
+				.iv = "ab",
+				.pt = "4a6a44e6046cdaf5fd4f93b3217a4327c7305638bc34b6681876f973378824650fb52cc9a744a11129b7c3593da4da447364b0",
+				.aad = "ee4a9ecd882a0f840e06bccc261a0a12ac7dc7408c2a881c0756cbad010c5e1f3f6c138c3461e482792836f08b2deb4b",
+				.ct = "f5a8fedb5320187fb00642e18258bf0c0e71869aba07ecf0880fb08b5e7f76b776d6a3b082c03e6d8c0c0347814fc4dd5b1c8a",
+				.tag = "ca280a1835d749239467a6aa57c0e1e0",
+			],
+			[
+				.count = 8,
+				.key = "b5160d957964aed417c1a4a526d8e4da",
+				.iv = "57",
+				.pt = "faff73fa134ed74843d15a7f95669a511cd17cc2089e3d1d6fff0e0b41a072d7651576ca6f332a76c8f3500ddb7285121a7385",
+				.aad = "14407ef55574bb3390ad0ced26ffa4c32ec15219d6f48501e7a6112f536ca9464612fa06982c7d2b01181fdb915c5397",
+				.ct = "d48597e19358b3515f01f5bb3a8f445594eb127d17a9bbecd00a2f86b7bb82a28ab412ac9c84661b163280e4dd56f5f41d5846",
+				.tag = "ca66827fac066ea7c395a899e90cffd1",
+			],
+			[
+				.count = 9,
+				.key = "2fbd292c8a55e13771f821e4a39a9cb2",
+				.iv = "c4",
+				.pt = "69f44c8aa5852f95b89f2c2a8b5ab54c80105663f0ff3065e131c379353ef82b47a0118d5797a73d1828fae583663230af16d4",
+				.aad = "b310b0c9adda18f4ff77c5028f4b26885244e24f57a9770f5dec8d51f92cce643ca9b4443e6bd58ba2956a3b0a8c46c7",
+				.ct = "323515921b3ad18c91500d0e49cb15837074822fc4f752755136653a9b5c1467ae6391422a31f923049e73752e6232ed93a6b6",
+				.tag = "1761520f04f9733c1f863dc14e6ed783",
+			],
+			[
+				.count = 10,
+				.key = "94ce15ab5d9c735dd78507f1a18ef43a",
+				.iv = "0a",
+				.pt = "2b3a15a97d156350daa02c94ffcdd72129201b47c869cfbb28ca9ed4c1ecad3453b46a659cf3aba92257b126eec2f4e9e5d609",
+				.aad = "bd896ccf5a48a1dd3b618f480f3e92b010b7c8adfd756d39b405e7eedb675366b543350315ce762e8e5fc11ec441b4d2",
+				.ct = "a570a70687605e12ff7c08530a4fc7eb004e242eb4639caf9bbcc5f00eb814de4e8f39243a05f58449cca02b1250863c588239",
+				.tag = "2e93aba852b3e62a4b9cc097f247bd2e",
+			],
+			[
+				.count = 11,
+				.key = "68c0fdf0aba38e63ce55dda70803fd3b",
+				.iv = "26",
+				.pt = "0208e77042fae8328d5362248892f52c15f36b71cf7bd2a87c9047beb5b4f5130202ed227fc1d7ec9af4a969e3561ba4a00cfb",
+				.aad = "1fe98e2022bf5ddff19c885095489790973001ae162de30aba620153fc91772e0ff3e7bee8e8fd4bc82ff93c884a499d",
+				.ct = "01fb6ef7ff711c1b366fd0be8d31821bb8c23778608b77732148cb99574ed31d397f3aca5452ba9ec90a867cb78b096a797eeb",
+				.tag = "8917385b0bb787d0c523e269195317fc",
+			],
+			[
+				.count = 12,
+				.key = "ca41cd1d5823dd555fa0d00bddb03314",
+				.iv = "7e",
+				.pt = "019acec5aaa7c5a1d45bed92e9e3429803c6a869cf5ebcf266cd2a7417b94d77c66a1f5aa45eff893ec053cd1bd66f8b41a89a",
+				.aad = "ffc0e25649afc5b05953e4ba49380ead90df309cc22b2efa61fedaa54348798f33660dba8e33fed056343459ebe5befd",
+				.ct = "a37d7322c5e5711835341758cae227d751d5e93448049096bfaea391e7b9f7389b96897d52bae014a96b2d4306ed06779d3d7b",
+				.tag = "86494b96e90967e96eb0480347d8ebcd",
+			],
+			[
+				.count = 13,
+				.key = "5a2b111971d8cb2244e608961771c95a",
+				.iv = "bc",
+				.pt = "6adbf04ff277f4229717a4592e85a3283ae6d7e208818c0cb2c157c8f715d0e69e4460cf2a90a317087342f33e3eb60a1707b0",
+				.aad = "ba5309b67e461fb796818bad42b24ffa274118423fad4960b35135fde8d7f427b81f067f1a8b8f65dd223a70dba17374",
+				.ct = "4398549aa9a9391979a053bd9c11ba05e1e314063bcaa66bdb56efd44d0d5f6b8aea788d89daffba9f3ab4d5eb371d4756510f",
+				.tag = "b122958830ea1a27f866b90dcef09bfc",
+			],
+			[
+				.count = 14,
+				.key = "35183d44958af39a5190aed1e165f77b",
+				.iv = "11",
+				.pt = "ac56dc95ec27fb0e632390d0c8a4ade78ae6e7e4c6641f3a132cc5d08407545189abba3eaef8d9aa4d65f40fa838cc1d645144",
+				.aad = "efde3eaf09d6ba83f3b22d70c87e446fe6b7049be995f9d6f8c9eb659be7cd3d48d4a9dac56b8cd1b74cc28006cfae36",
+				.ct = "68c21f5f1c8c22d9152a8c8c1e9020a836469e4269a3ba2b3e03769ea883a36416118facd9d76d3d6ebe8bb8049029f434d079",
+				.tag = "3db64e70ddf56eefb7693149bb162e59",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv8-pt408-aad720-tag128-key128",
+		.keylen=128,
+		.ivlen=8,
+		.ptlen=408,
+		.aadlen=720,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "f9866e39f8a7194c59920e0e22f9331d",
+				.iv = "6d",
+				.pt = "9a2f28fcd60940fccef34053c1abc7664ba67a667f2f3b3b6b75fe1ed559bdbc8dc671c4b7d0356a3133aaa74d58f0c67bb630",
+				.aad = "8b7f344dc3ce1d37f389db0b89849fb810a12955cfca330eb0eed5531c3e2afed52cb209c93609815dbe08abb5bb78cf47ba75e0865f1ee2a086fd5191f297fc99a30fa17342335e53437e6ae0d3a7404a620dd42453d952391a",
+				.ct = "e456a42f7825d524ac2fe6fbaf8b42a7af5bb23bfebfeb22513a2e5d1b61aa532dd6df5c0f4c729eb721f519cc2994c785343d",
+				.tag = "8f606edf67b468e157af78e4ac8181da",
+			],
+			[
+				.count = 1,
+				.key = "fe8aa3618a77fcb1fd8c7ad66ac90567",
+				.iv = "14",
+				.pt = "9109b4437a36cb38d7b0d45aa7ab7380ece15484b27d8dbc02a1a337d29b05fcda2859bfe2fb7a4020863df6636f52146dc7f6",
+				.aad = "6f03989c95b989586abf03f7667f5c539ae6fb530954dff550d8521d36f5990b90bfb97f7a2a8356e1410d32f07145bd2ade1488dc1d08189b0f05ad22af73345cbed9ceb06c0883dd0cbe781a5f737c2fc54c12ea9f58e18231",
+				.ct = "bf55bcc5dda5b71e88159d9443d37fce89612d164e35486bb2ca047ead81fb78eb7acdf064f5d77da2ab34f34631b10e712c13",
+				.tag = "adc2e4c10109cf3b3fe54cef531a12ff",
+			],
+			[
+				.count = 2,
+				.key = "4d9e92f65bb611d8dabf408bc7b2e76a",
+				.iv = "e3",
+				.pt = "f124c9be02d58a07025b0d40fd2d80aa78d4fb5de6d1c0fe9b6cc12ed4349391272dc4b02c80536043a1bdde1d407d24c51c6e",
+				.aad = "74b5233be2a334e6085b22cf1d162870331800f5e618c5fe4de2c0c52a307a9b3fa668a237c408d45b49c6dd522af6992290ae6fe75be373e888558ac8f0528733b6331487155a6ee6f445c30adc848c06abd80c087902705de2",
+				.ct = "079e1f97505e67feadd3ba8f89dba61d79a705d8f940aa086cc627474cfe2ae14d3c6577598d76210d62ee4620a22e4a6aff64",
+				.tag = "879cf0aefa4cf6dc68f01376f7efe095",
+			],
+			[
+				.count = 3,
+				.key = "82d6dda31de9387c53f83e053d1574a7",
+				.iv = "06",
+				.pt = "087c598fc44a71fe36f60b43c55a74bb584258b841e07111ab9ce57abd504971515ed651ff9466b1acdaa8cf90fb86f2e3535f",
+				.aad = "3cf2b226a0e12666d8506e1f5490229cff787ad88f217460d64a37caabd492ac3fb97eefe5099b1e8a19893f6b6ae9bb66153c1f70bf5f5d678ab70662c9da139291b695b495d5955636fe9b5a44d558af3085685020bc61818b",
+				.ct = "062b1fa3b720258e0f7075b46983c445bd8ae25804c1912f9b8a841d6f1bfdd5c78bf4ec83be8a3f9669ead19b8a7a47c8be4b",
+				.tag = "b3a91030886af0f84a31696bc8211f51",
+			],
+			[
+				.count = 4,
+				.key = "53b11495e7c1e8688ef314d18a0cc675",
+				.iv = "2c",
+				.pt = "1148b2ef7083300adb416b3fb4174be89079a9be6da4916a733b39233bd1986323df760ecf1b5e940a6aea7f114ddc6482a50e",
+				.aad = "b799fa238ce0bc5a758796eec14d0da7ecd20fd75c4d03ce318c8a2098bb176ac1edc403ee8f1c51f85f5503c1f8ff5d98744ccfd2098e1aa6d39905f56d830761670ba45a619d47c1d404b06e55c9237b4e1ecde3bace7808bf",
+				.ct = "07ec84e02eb82a041d115083850c68b87261d62687906fe54b015bb26dbc1833ff637cc77ab8ed9b24f1ea0a3e9bf05a906812",
+				.tag = "099a607d7af15e35c3aa154253e10a36",
+			],
+			[
+				.count = 5,
+				.key = "e47908276d3f94f11203fb3ffa9fe3e3",
+				.iv = "20",
+				.pt = "7ab1cf7ad084cc3eab368f135acdbf8d51af62a15a960786b31f4e5587673fbc3eaaa14180bd0ad3569a6c9cdb9cd5998ab722",
+				.aad = "6a880ded142c7b08b514aabe9cd8e6967efcafc10da6dc5c637d19d02a81e3cfc009238354f5e7cb5b949faddcb27c7ebd56d05ae3bf45bff2236380c69fc196f9accf30922337fd54781f7fa5a6f820b8527bafd5ec04308fc2",
+				.ct = "251fe8a642f3685ade462bcb278a76280808bb5bf0f6bdc1fc9b2e40599be089a73e906006dfa3342e93a3b52ae371e8ce98d9",
+				.tag = "2dcf81fcfa4f95c81dba0d845e052965",
+			],
+			[
+				.count = 6,
+				.key = "0bff0c7e488a34aa49e25555167e729c",
+				.iv = "be",
+				.pt = "c597559979c0d753c457aea9b1dfc37a3a3e9dc4f593cfe392f5b35ad2b3908430ec7fc032f6f2079ba847ca9853c56a85d2ec",
+				.aad = "401926e92980f384c59ff1be0b3d6f85f69fdabec2d02bff8c5ee53c4d7739397970962259b06b5d7946c40f4a934f688946de65cb554722b3529e2a44f1294e55ac3eeacc401eeb60063a541d049d72e45d8277f3497aeb2c6b",
+				.ct = "2cef4bff20d6d2ffc1248dc94e9bfba9f01a31c3f3bfeb56c9859db77d14590c992ecac2877ca4bc38ca44c3bb45e8f81722cb",
+				.tag = "5b43c07112129454ab3620e305b361cb",
+			],
+			[
+				.count = 7,
+				.key = "62f2c2c333fe814c79095984cd920b23",
+				.iv = "f1",
+				.pt = "5b35edb98ccac530df092163872be090fa670893914a3cd3681f4787af419df1cd533123d21deb2a3208d1a43f3f4eb88c7431",
+				.aad = "f66a7a934e8df7dfe09d830f90ebce44fd0bacc7b1a8106ca3b12101e0ac3bd7a1d5b1f19513ae7f550119efffd084c94ab3b212cbf289571c89e36d72538dd29982d3725c5ccd2ac4df09c61dcae41579798d879dab424906c3",
+				.ct = "8794e031653706fd18cfdfcd5d8bf8756f31f78cf84ac3a84c68a06c7e03ff35b719012b5569f97bf1e30b33fdcf57eebe705f",
+				.tag = "ad405035fdada6217f3be159de629c4f",
+			],
+			[
+				.count = 8,
+				.key = "71ec6b47a9ffbf029954639e9afd87d1",
+				.iv = "ce",
+				.pt = "e50a45fbea6a3acbb5dc8ab2ddaa6d1d6249f339e1ef8484dbcb0c1cb63277322e60ff9d2416b7782f03eb7e3835042e3fae7f",
+				.aad = "a4ec7b8f76d03bd91b34b0626f41df0750aff0b46d63946c05b51698232583e68db0fa25aef9b44eea774d3c9041013dcc5c753905fd068753ce36d34624d7dd100984c1668b8e19fca7dfbfee2262a25788660ce18b1acba8c5",
+				.ct = "74a26e7c3af4c329629c54827ff6469401d642b426fb52a5ca7342c7874a69dbe2b9ff035d599c9d3cf1a0c0885bd6113a6b47",
+				.tag = "cff5c6af208bc567ab8e5408c9edbbaa",
+			],
+			[
+				.count = 9,
+				.key = "c581c7f46db32bc857c66004bbf3f70a",
+				.iv = "d1",
+				.pt = "331e2e20655a304981cd7d6ddd1e8305f50e1a03d054dff0aa8daa6babef032964ef826a0b4f38b28ac229a06883c6ab15a340",
+				.aad = "a14afff7e8312f5a6be89e0d1b3cb793dc65b6f08d282d43e9fa16cbbb934e4095e697b846cced8cc79a8a03aae6015a99645fcb909afb89b1f32cc2f2bf6e63fa663a45a8c854e3e2f4e10edabbf47d38f43912ff9b1ab643a8",
+				.ct = "53e1dbfc203a42cde939358ab57d6ee9f3963aa5019d163ec7e92cc7db46da32327c86905116a7b767965c4500d86e4ec0ae56",
+				.tag = "ccc573ebc47eceacccebe3d882c42120",
+			],
+			[
+				.count = 10,
+				.key = "35a97f24b4628f34be1a86c2cc1b604e",
+				.iv = "ba",
+				.pt = "bafadf825fea6a40e2ceb393f68bd5d26b24121f7fc76ea4c6b5569511b47e5bca593982d111afdabab07eb8ee9e684e417e60",
+				.aad = "43bb55d4aa70397d98803e7958fbb6b8c564d8a7489fcdc92441245a0634ff46ca62f9b5e681455ecf99da34b524f56432e7e6ede6ca44b37425c5489c07879762fbcc6f69ec04cfaf3ca753cea61d5babf1e9cececf2f3263ea",
+				.ct = "4160c2088926f8d6d78ff2baf7302c0ac811848d0d26899b50e529d963cc4f9f35fa540641bda487c77d80900c84f254ca27e1",
+				.tag = "48054a32384441601c921c4a08eec0f9",
+			],
+			[
+				.count = 11,
+				.key = "ede32d2cb92f3419a86b9a31ad56d0d4",
+				.iv = "0e",
+				.pt = "30a2c5c0f633b651b920116f270954c63a6064a71cbe3f0a7163753f7c6ab3671ad399e4ec0cef4e0f6a881babb26e200f20f5",
+				.aad = "ff3e810fe7048452d82d24f070bf4cb5da9213b50c9c51afbed4a9058414985c31defe9de5e6c91c7d1624c346c61f4c30696e42349ac3c8d51152551b1d8af551f50b2295fcbe266bfebbdc367a171d4a3a5623f77ea1d75bd1",
+				.ct = "e365e0a95ae4657ac0da225f3b6d9f7f84e92543d236d2b64c4d39d68954612290b4eccac1a3132a786960524038be4c9da569",
+				.tag = "ac19366bfd5d1e71c51cf3d06c9c17a7",
+			],
+			[
+				.count = 12,
+				.key = "523e41f73d8974fc830c624d19a40641",
+				.iv = "bf",
+				.pt = "aff50d776e30418f5b3e2967c423de4129170be0ce82099a8fb2de65b19bca671ec2d5a910a87583416003fa875d53f235d693",
+				.aad = "ec463f9832495b18287b8d36e57f6ee6be05b84505640810069200f0ec806bd1fa85af441011deebd98d409468f674ad72cb501b7630dd7cb16d47b241240651c7c6b14ab045c3614174a40fcd2c4eb0c8233e17ae9e20cce5bc",
+				.ct = "500c59bdc3f0504aa91a185151ea85d5e01321265dc85d5e4e66b8298f29e2ebbc2b0ee2bee74c34da94b61d55ab9e46dec7b8",
+				.tag = "156ce89e9002c363c8e451985f80e416",
+			],
+			[
+				.count = 13,
+				.key = "06dee37bbe6634010161cc13fb1fd5fd",
+				.iv = "a0",
+				.pt = "fdc49b07d32d05b7822c2cb70f48e0a028dff7542f26a2649ef71747472805b2256b8e7442d3fccd919a53aa22cd5113e8bc75",
+				.aad = "585df31a0a5704fb489974846700c4b75a21f6afa2e36c75d55800413aa4e248b40da91f355150a332083c09f802d2d5cb344a7d81021f86f05c0793f4bf409be5e56872af46079749e9fda01534fdb0e83780137ff6e3cf92da",
+				.ct = "b2b53b4fd7bac32e05125b86dcc6b28777a8787f9c9136197690190e930b3f29c94c6268065a08c475df645a19b434422d8d9b",
+				.tag = "12eab24c06351fe0cd58aec04adc7855",
+			],
+			[
+				.count = 14,
+				.key = "0c9fcecd5799cc7d32a06a40c6d61a50",
+				.iv = "07",
+				.pt = "53d8eed567f1235642f61ee496747a40ca9aaa96f38f251c45c0cc5792958aa46227ed01f5eebb6feebb228bcd41a1763e98a6",
+				.aad = "3f6ef56d456b95f985aa9b507de81def3913d3d2a1c7bbce75caa487cfd0d168297239726f7907a6e9983dafcfe745f6e2bd0c1c18c18f27206496ad7dfbb1f8e79ab67548449ca480fe49cba5130f83d543f93edacc75370c0f",
+				.ct = "70924a287c6c848e273fe23df17547b1de6628057abc898907767b94732e850781341ffdab1d7b0441827b44b3c0dcc70c2559",
+				.tag = "0c7f835182decd4217f188bd50d0ae81",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt0-aad0-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=0,
+		.aadlen=0,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "d0f1f4defa1e8c08b4b26d576392027c",
+				.iv = "42b4f01eb9f5a1ea5b1eb73b0fb0baed54f387ecaa0393c7d7dffc6af50146ecc021abf7eb9038d4303d91f8d741a11743166c0860208bcc02c6258fd9511a2fa626f96d60b72fcff773af4e88e7a923506e4916ecbd814651e9f445adef4ad6a6b6c7290cc13b956130eef5b837c939fcac0cbbcc9656cd75b13823ee5acdac",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "7ab49b57ddf5f62c427950111c5c4f0d",
+			],
+			[
+				.count = 1,
+				.key = "81d898349f3571891f10ff6f89497283",
+				.iv = "33fbf5041554a778ed9f1a35d6d1049e3ca4c81c6adf0a4c22a8ccd3c4147f8b7314f05df65721f497a0bea27bbf28ec2a282e23642f7088bc7cb42fa4a4221412439801cbf54a93259e03fb85a3f1ffcd7030e33b383ea9e7b20ac6edd36cc22fd3f2f3db315e0ee7a444e332138aa4bb960d9080a7a89067ea155c8c609948",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "2b1f4f4c75ea66914754f4a129b6edf1",
+			],
+			[
+				.count = 2,
+				.key = "e6f5b9f9fbae7577645dc79e578f7f83",
+				.iv = "7237a14a7bf091b120c8067a6481d2b8e4c453e29474e737253fe0b70b0c0ad6745c636d3da3dcfcbca02647e0ce407b383f74019ed9bdd9daaa4a1fe17c6e456de68a740ab91aef39fe45ec37fe4e68a8b5ae87d373b658a6e80bcf7c18bf79f456f907aa1282b4162b972aef31af7573a8945a8dbac96085c07f24402409f6",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "fd61bd58578377474edd2d471d03321f",
+			],
+			[
+				.count = 3,
+				.key = "ba246b6823b48a6fe72bf3d67aa111ac",
+				.iv = "0050ea2984383f61400657ed0ad648b09155c51ae85771f045d3ab58d49f45891123a793b6616dccd25b2b98c5e0903f7fe899288bc08f15e806a9a61bffda86bcc175fea545833a53a44a375d9c918e0d4ad5251a4e1512848ad159397394282c6d60c04366b82cac1a161f81a8b27232b9dcc86c85b80c9ae04d3154a0fa6b",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "3dd723f6c96554ad29b1bec31426f295",
+			],
+			[
+				.count = 4,
+				.key = "da970ac00ba47e528b30499b2c87bf6f",
+				.iv = "3e6d2f7b9d6a9b686b00c08533a1542cbe1144d15dc2f468b76d57f150c5d616604a4d5c8341cd46c92afe809da7113a9fae38430834228fb0804c0a1e9fdf8aefa6a3fad6fe831490bd1fbe147ad1ee08e8b5d0d1f6a065edbc1a888e301992d6a12c0ce33e6be9b620adbda386a3be75c9c10e59e186b4ba8286c02862b635",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "69842232150aec5d4ffb7a730c804b7d",
+			],
+			[
+				.count = 5,
+				.key = "e24dcdf432ef047eabaef88fd1607a60",
+				.iv = "998be39f623aef8e6c02761c54ac886eacf9443690049724d60daf7ad32c2eb25063b7b3bce26c0a04fca434bd9ee6fa1160cf102237fc66f48a7dfff420427fe8413f0f9c16e386952384b783c093f328c94e8a15f4183aafc21dd0d58b9e7c45376ea8480a5e2f5e4867742d4ffc62bdae98935e866c018221f3ddfbffcc8e",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "f77a5269e5c0c5478c72bd941591fbe0",
+			],
+			[
+				.count = 6,
+				.key = "07521580752817899895b4571228fb67",
+				.iv = "63fb6f667bd00cafafaf9da2e99d79efa6f0965b638aa78bece4f0fa652fbef31b6796c467b02686df9b8c8d5db9f03ca66953e78c291af472d404f138f718707d13a1649b0d27a6cb662fb543f493f812810253209bb71b94fe56019a24562dced6cc7cf1dec8a31fa41324edba232dec12a291d33ad6f8a006e19590da5bcc",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "f1c71d92d3e4a8b4177c913bfca9e968",
+			],
+			[
+				.count = 7,
+				.key = "60bae31150c850b4b553e96f807ffd99",
+				.iv = "50155300054d5a5c026f15f8ca119cad56a29585f5754018dc66a64ecc9ad1235e516f9a6bdf048891db7d818e0cfdc82e476b2c027c677666f9b3ef9800261e24ba98e2fdb3b6e8d127580264930232f57f865973486f387467bbdab80a80d5d28c93ee97c3e66f2652e220730cb4962ded21b1b3441399cbdffb90f61ed7d3",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "f1f52b6d9cf12b58a57a377c28802e33",
+			],
+			[
+				.count = 8,
+				.key = "f7927d61320ac11e05b3226c91ae13c7",
+				.iv = "15ca880c8bc3d26930b9d7cd6aa0864c50f35e972d24bd43c3b8d30a72ab350f264882a97b05b352803508783997e206e47265aacc0910801b7cf41e38f45417c3ee1178e3370f7d856bd313bb2488e9039c9828b560959bb7c57e672856a6261ee343cf907b5b3af0c06b5374aff9c5d28b8259fc4f9ca8a95ce0ac1fd75f0c",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "3248e4ecb790785112c26f1c4975b318",
+			],
+			[
+				.count = 9,
+				.key = "af98f18e0ddbf879d3d6f01c4e1eec74",
+				.iv = "72e26640393294839295fffe200c4506ddc923699c876e1204cc6228cb478f9ed5a1e6cc16d3ded654995b676a26764b8040a765205bc42b9b12f163647573facec91a8869b8cc754c5d4b6fb871dee4ad6343ceb842d7621e039adf19c385ea34b858f0448ed22454251a27a21f93c1cd703b49ddef56349983a10e83a805cf",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "ac7d1752dccb595015bb0b1d6529617e",
+			],
+			[
+				.count = 10,
+				.key = "ce8ee7639326ad6b7b965c993489d53d",
+				.iv = "2961b0f801ff84887262592ee4bfe2a718bcaeb0c541d3382bc384b5e7fcce67c961143b571e9cbee9f6255d32879ab2d5e319a7fc68d0c59f269de854df8fb2b26dc59a014d0c7e60ac8a4874fc022b6656bc16250361eec086ec34015cdb4915d99bbcc400a3386b537349898b6851869e8b271b2049d585ff9a77a0d4f233",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "0fbc2d165d3fa18c2bfa99c65156d54c",
+			],
+			[
+				.count = 11,
+				.key = "25b23381c90b02a1807b9860901f8751",
+				.iv = "9d70d5a08040249f53c945ab6abb1c8accf8347c79ca3e6e54712bad67cbaed5db4a6971cb5f3ec362637612cfd7bd591db345e8b9000129e18de00f090df625c5ea50324bd99baab621d6aff85fa3275d9e317517b96cc257def2e234718a18e9868f0a138c5699b3530b08b723af2fc161a020bdfaefa42856f80d90abaaf8",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "19e9a242afc078970c364f95f9ad6bbd",
+			],
+			[
+				.count = 12,
+				.key = "89532d2dc48077fc4a709628bb2bdcac",
+				.iv = "953971a3c2a81995c0ec1e84baf920163317e5f2ad14ebaabf9a18435678f7618c5c3a185915222a81e2a92e4086f3c4b4d5c0a95ea36ea49d33e16f6232de94269aa3ce43456daec4e4d08e1ea8d79a50c097b6799e28f2abe1d26dd9b58657305f2b600c7ca689744afa65a98bc15f59f396d4bc096a3ff584e4ce04bc174a",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "633a9aaebd1bfae50cf262d2615b4980",
+			],
+			[
+				.count = 13,
+				.key = "4a6fddec2e8acfffa511e37608bba5ee",
+				.iv = "391d779b15c195c9cbb7f9d730529d6efb1b38196bca0a7ad6454050b70495d56bc1a906ca42f838de7463f30b001e17b31ca6f936e4a172153bb29e597bbc4d4e5fd1502f4fa02ee020c366c272550f5a735426a2b53f15ea53ce0276d3dfa49fc480c6b1be8793debf330f3963bbde7c5fbe4b3330dd4bfd237e572cfb7e30",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "9c3602fe372123ae41a4fa78b06e72e5",
+			],
+			[
+				.count = 14,
+				.key = "df77958534680ccea792dd1482745409",
+				.iv = "f5593fbe4e5a315b369f9fdb0ff473cab1f492f577ee3f1317116364e6e762050d0636abfe884b3dbb08f1adb6856c957338ba81633632360640ec63495dc3334801ca9ca9323491f64c14f77ff52fbf08cc62564014ed0209aef3b3c2963b7c3ecb2a35ea064c429c397b98dccf0d0193b2878db2b2f9930a2f64a49b357428",
+				.pt = "",
+				.aad = "",
+				.ct = "",
+				.tag = "8a321184ee246c4a4aec30741f203708",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt0-aad128-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=0,
+		.aadlen=128,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "ce0f07629d8eb6714c32b5e5d681a227",
+				.iv = "21e610cedeb1cac8f6709c20f225f5b4af70c3bab5d5c7efc391316a4a208f5acb0870f3cec2ec19a22b9dc4e3cea1d3761b6b83366edec8328f128091ded4e0c0ce9cd3e20904b8d01c0a2eec248ad688564f3a57dce97ec0f87b09a01b55fe4f09b39370c854eabfc5fc5983e368844c6c93b252ca8c500aa5f8924e7e2468",
+				.pt = "",
+				.aad = "3c6ef2cfa387ee7ef39c930113a13f54",
+				.ct = "",
+				.tag = "2148a5ddbe3384a007f95132d1cbf237",
+			],
+			[
+				.count = 1,
+				.key = "78c0b684436b7581fedfb3b188e0104a",
+				.iv = "6304de3df65c22ae9bfbc576129d3a17f6eb684fd1737ed69b16953975ff424e84774fa952d1ca810ea5554c0c2e9c75f54c40bc2f050fa37b720f6aef1d8cb9b986340d2d50bf1c1131ac161872634d3adb613f33319234019c7821f3a1f100dce0cea58edfbf536bc9a0da0bd10f5cd70baa4ab5345eec9a7dd9e76c06b1c2",
+				.pt = "",
+				.aad = "50c26f9e1c53f2ac4eb514557037188e",
+				.ct = "",
+				.tag = "6e36d4c59859a159e38ee33efa7093a5",
+			],
+			[
+				.count = 2,
+				.key = "c03eb47c35d580fb2f278b83c19528d1",
+				.iv = "4ecc744f3e09ffd11b890263908cfc255cb68440127038d9bb33d220f34989c277547150b2261efa088403284cc55ca5eecaf47720cbb2483dfaf5f3bec093c5593cbad7c33ba5a17f36e02630a3ff4be7e500ec55f5437a78439aba44b1155fded4a2808021d6886d55b7b3b01391fa13d2c93c6544023e1c7b9b7cce57865a",
+				.pt = "",
+				.aad = "9cd5b125888010462514f78c0c41a935",
+				.ct = "",
+				.tag = "3e1b357aae50afd499c1c85775024d8c",
+			],
+			[
+				.count = 3,
+				.key = "e434b45cbc39944cb7560c2e422905f8",
+				.iv = "d5d03aa59c79ee14ae4ba5a669e4d6534b07cefa60aa85a2bdddfb6ca00a152177c1ecf3229f69125354977a5d011862375918f865f36a1ffcbc3bf549aa20887fa3c9de75332149c6202aa3a240421d6b8a50385d17ec37781758cd19a34b1ce035d5e1a7cf10ffb2a6d47c3f17fd5a90d1edb6b95c8b2bbeb8ac20603a35b1",
+				.pt = "",
+				.aad = "32a8f90fc15193803e1d8add3a7597ab",
+				.ct = "",
+				.tag = "4c90de322138b37301be26a435476c16",
+			],
+			[
+				.count = 4,
+				.key = "6aae1dafffb31dbb16e913d9d024db79",
+				.iv = "b749498eb58234df5d221f280bf0f2c5489fc673e915256154cf9cc9669a6ee6f124da9eb910485882a471bb703b468b15fc533dad55168849321d218abaeaced9c5c0729f8de9578debe1d62ed72e40d816bc38eeef565be28085e8c75a5d26fa9170b4cfee72030d9a4ba24cdfde333c0631d9ab6ba84f03b526e9be06f3f0",
+				.pt = "",
+				.aad = "15e2c405e4df2e30c4bff660b1b169fe",
+				.ct = "",
+				.tag = "3810aa41580ac158265911f14c1d35fa",
+			],
+			[
+				.count = 5,
+				.key = "61b83637934d6e9843ce176add2e4110",
+				.iv = "dc843fdc5e0d2fbd4b1500c1fe9c3401248376ffeb4dacd22e443fd67f26e2859efc2a5a0b0a8736bb6e45b916c3b42a499cd9d3397aa30a7f93e6a9925b173531c39ac3c41aa19f9011c4f52c4564494bae0ace8161691e544e4ef4f2fdf8b854fc78cddb3899cb831682d191b09e06ea39e38e1546f24a7f1472a357d435fd",
+				.pt = "",
+				.aad = "0a298115e6ea9685eb147a88a72737e0",
+				.ct = "",
+				.tag = "e765fecdc557e0c3cab0d1b2a6e76e1e",
+			],
+			[
+				.count = 6,
+				.key = "926571df6c3aa98fe0f80cf9838cbe9d",
+				.iv = "6db9d0bc946c49080cd04608e26c3d42c41bec37f1252b5ef027eccdc585ca59e8738c776dfb81371ff3b8e8087ed5860af940f0c3dbc67b582e47fd48a3f1142587186c602795f42109a6ff5971c09c220b8fc93e108ce2bbe2237dd5c6298d7128afe8142fff54eac2015fcfa82a930b23182a04d6130c5924c54c2d45eb91",
+				.pt = "",
+				.aad = "136dc47de093673f51977eba0ba9dfa3",
+				.ct = "",
+				.tag = "6e0f911d5d43093ca81232f84f6a946b",
+			],
+			[
+				.count = 7,
+				.key = "e86ec1746e115bc20e0a4aa156f60717",
+				.iv = "79af88bdcf11d6889d32dfb997118baa27ead095cd1df506348bea8b7a05835b122fe01105ac206c264e307a4db5ae331f5c20409d1b1b03e26a179493821c50e9803bd2ba142d4166eaeb3f672779ba0e43af724bec59f7e32b53ee9b9721ca02031efdcf1c4da0a477c9bd0f8e2b47a1df4f693d4c807484373fb1f1f44d5b",
+				.pt = "",
+				.aad = "fce99816b2c5e54db362e85537f74167",
+				.ct = "",
+				.tag = "01ee327c84be817239fbe8584b2d4e5c",
+			],
+			[
+				.count = 8,
+				.key = "9237e6f2e4a76d6d658eed415dfa8e75",
+				.iv = "2420eaa46dd80b0f8b217514404bb88ff6c288d6c6111460834df4e3ae1116121c709281576fb87e748c4042062f732ae7f707b6b90a723835c848f4330ca6d3f976ea7a54cedc5fc4f0350769b971c531894eed74bbe8cbae082a3f6cac180890ebb4c9f157cd5a1813fa37f85992c380170f6cadaf4dbc44e70623674b71d3",
+				.pt = "",
+				.aad = "5702249b027b0914b52d0dbcfdf220c6",
+				.ct = "",
+				.tag = "ad37ad7ccce5c90c5bb448fc6a44dc11",
+			],
+			[
+				.count = 9,
+				.key = "9c2a6d65681dcfb6a3af938d4e97c2e3",
+				.iv = "38199d1291a3973a05cefaecd40c0da10059ba56a3c9cd971184f3b6bf5cf8948b432ade0d011a1508cf0759b7cbb25b4c23685b8f0f60c2bde8fc7504d2bae28d2af68aa8ce9f6ff4d95f2f032b1fd50f60552699b3becd8f7f9c8f6387003b239d83718d7236b0925e82ebfa1518d4045128a92b7def130dc9e17abcb4b4a6",
+				.pt = "",
+				.aad = "473243ef38a6c3fe16a5ba46ce44d2d3",
+				.ct = "",
+				.tag = "cb6910daef3b98d53d411ca966ca80df",
+			],
+			[
+				.count = 10,
+				.key = "2912fa5be862e90b131c57a98b32d27b",
+				.iv = "3034cddb2939567b9363ee8f3b70470fad465943ab83d7e41ad80b704bc92796ea4b73b2c3e3905df8eaff27d993102bfccb989831badbb71b5ef4f9baf406c38d79faeec966dd6884a914ee9f117f00c56d22f7892c47707574e3fea9b2cd678ae7e1349cfb2285c84c3bb03cf4cd802ff3bd9eac4cfde8bbe157720a2657ee",
+				.pt = "",
+				.aad = "819e2fc33ca1aae9f9d2849ff46b04e5",
+				.ct = "",
+				.tag = "87b0eb9d8a2a328fef5b7ecccf69b08b",
+			],
+			[
+				.count = 11,
+				.key = "9c126122b6c63fef82825ae1218b48b6",
+				.iv = "11db4ad0020e603eb70e13f2c13e35f324f211a3734ba99d08917feed83ce6c34fb83fb3f339faff355926ef5eb8a9cbb50db19a205b2cc64466c0e424f4a005200b39f09857440c3ccc7e97dcddd874830526d526ec6d8820b00d8dada195496d091d190ee71094ffe914a4d5c44352d1039b4a232fc6f3556c439053d29a7e",
+				.pt = "",
+				.aad = "42725ec6be9eed943ba8c52f7b703dcf",
+				.ct = "",
+				.tag = "895f2554f7ed223df06424399e7e3c31",
+			],
+			[
+				.count = 12,
+				.key = "3dac58400c86d4e2a9983b5fcb50139a",
+				.iv = "01fc39f05d6d211d7c92dffedce6a646c3f3f93a31fb72802da697fb49d79ad4d6a116c5debd1aba1bbd62d734ef1aec01516584ce806b14d05ddf7f9a111d5c39fa342fb71f636c8f756db95072d96c3c629c1026965437c7d3e5e5d9117a3d40407fef57c225aefca9c510e94d2c740165f95e6cb1bcde6c24e16f2587cc5b",
+				.pt = "",
+				.aad = "e0b266313f1727beb613a1b337cd8bd1",
+				.ct = "",
+				.tag = "04dabcdbbcebb3817cbdfcae6e4a9db3",
+			],
+			[
+				.count = 13,
+				.key = "1fb4e94c4788b8948ee7454423a3acf7",
+				.iv = "5fbda549f1d239ce2157f19ce857d84a275becfc2b5a4102f690593186e78e30bec0d5bf94034f0503c979a8cb00104079e13904977c7f7400101ece349a53267d8c03eb8159430da4600e70afa2dd8e9cc9a4e81e458a9424e08e948fdeabf2a62464bb274a22c74c33437b7c2ce00dd28d90314f6637fbcc9b18fc37cf0929",
+				.pt = "",
+				.aad = "d26a2505b93dd51a605525ee2e8fb63a",
+				.ct = "",
+				.tag = "2c0707b9cca31169c75d894be6bf2071",
+			],
+			[
+				.count = 14,
+				.key = "400b7b43dab94859da7463d26ab6233c",
+				.iv = "c1b7b223a0c9911f662783036556aca90c65e15270b165a621fd3b1e7a3dd6018556b2178cab3a9936d0a7f0712e850745df3b9f79aaebd182c52a3790e63aefb2607c6be37278f1436a209c86e6866d3b547e36f9791131c4bdc16ed1856a61734013c079c2c1899f21daa00251b564696b2e0567e60ae68925b447ba75e421",
+				.pt = "",
+				.aad = "77c8f89b4df8669059988f159bb06578",
+				.ct = "",
+				.tag = "fd3d5dd9c7b1030cafde066d004e13bf",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt0-aad160-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=0,
+		.aadlen=160,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "5c784fe519ccd294e99b5c4f1127db2e",
+				.iv = "959345fa5b2e0e76232b2f7df50752921a38be3a25badf6b576820d93a0d4e428f2ee2899495ca492142ba4e2c144f9f92a0d4f17fa9baed7f495b2000fbcbe37f5b8873ccd16f7d14fef90a7cff7ea24eb7b543f780ef8453095deaea842a95450340d5944c3255cbe020ece99cb7f3ef03d1bb02515d425561ada524b70ab6",
+				.pt = "",
+				.aad = "46a661feb4a1ad607dcf752e7f3f089c3c33208f",
+				.ct = "",
+				.tag = "a7d4f4b1fca67d7f0e6367b58c273610",
+			],
+			[
+				.count = 1,
+				.key = "df23295f1bd5589a2ede29772d7f88f4",
+				.iv = "bc50e6a5ebba3aaa7599e224496e77d7feacd1a85acc5c940dc9e7076eb84b2f19cc3217905122dd71bd3ecda4fc44bc39510f6d80977f1a996d75a189d0e9bc0ce46af42e6972b8a95e2bf82e3b26c3c17cd28363fe00f9872be96add9d658c8fa249d3e17e571aeae25661ba7ed24b4148f5f43524efb41f52c5ac2f503efa",
+				.pt = "",
+				.aad = "4d2cfa137e6930f8392c552fca870ae4432df120",
+				.ct = "",
+				.tag = "064f3163d6b556f7e79e7f4b23260c03",
+			],
+			[
+				.count = 2,
+				.key = "8ab90841078ecd51bbc05f4fdb15f41e",
+				.iv = "e6b0b7a214392ef4086a9f128ed8a9dd16f5921f69908888554fbdf3826df4c327e7759a75c2e8535fe739589b6f8e48361f9007573c516e99430a2de2752828ef644119314a4804f62fc856df8c22dc4c8c14b79b64f767ef2ecbf86a339b433d3f02896222aaecebfe028f7def17a2404df56f7f6eabc283b545779203acdc",
+				.pt = "",
+				.aad = "aaeb51b72695c75be07e5053ec3ef78138f1a32f",
+				.ct = "",
+				.tag = "5d0a8368d986b0a374db167f41554af1",
+			],
+			[
+				.count = 3,
+				.key = "7001c0504321e3f3cc1a91b88cc4ff25",
+				.iv = "e46d335a6ef99ce5265fe8ed38c59a0555b3e6c1e1494364abe6a231ebcc4da652de241840a29d50935abb77507e956fe6afca109bd4bf44df4aa43f822ab022697803dc0223303269c173644360acc1e9ac815cfcdfe114b8ab5c449972c7321053d95ceaba19b18aed2fc067a23bbc5fe9214c243241fcf6b2badf368659f0",
+				.pt = "",
+				.aad = "9efb7c05a960b084a1426c16caec359477fd458d",
+				.ct = "",
+				.tag = "a3686066a550d45c38f708cbacc98397",
+			],
+			[
+				.count = 4,
+				.key = "dfb27ce277d69f0e590960aa2fb8211c",
+				.iv = "3dc7aa20cbeaf2d7e9c8787f3a5172c36d007c381779a4e2b5f52454fd727b757b816217c8ce3cbe3053cb5a7e4c33b8cde672ad64f1026f51539ab6090d7f6da6860633b1e35e9809aefe53e7b2eef3945d7049ab674e6ca4dfb208ffd1f22a289e92336d1d7c3958efc39fe9e9a56468eff01ee0d89f18de52546a1e5b83d1",
+				.pt = "",
+				.aad = "3e818f6d87586d259e17430b9cd83429cfd52dd2",
+				.ct = "",
+				.tag = "e8b59e3b19ac323d1c2f6e7dd708ade7",
+			],
+			[
+				.count = 5,
+				.key = "b2706a0e6d1d49917f20a8cebf1939a4",
+				.iv = "7c9a0ff9231cf454b23b925aa5c8cce8424d35edf2d4928659be6c35b3ee147a8e12af33514da69049e3780dcf872a9bc89824ba8a939eed56fe9edf9e651d268d22d13215e7a4276e2f108725e488c6f8584601c7d343c4d5619d0f4ff54be6f105bbdd33e839c86a9a236db3a401d3fbadea1e6d62263e91af923725224fb3",
+				.pt = "",
+				.aad = "43102bd33c60a61ae32166143be3922969d1af16",
+				.ct = "",
+				.tag = "036bcb6d062ef80657563a847300355f",
+			],
+			[
+				.count = 6,
+				.key = "76e9766cd5890e58c74dfc64a7b8c0b7",
+				.iv = "3732a2936c598c44bcc45f426db92a4be9d319f8fa444cda2623e4613777badb04e1c0e88694b07989569173518f4ce94e5ba7d246df953cf96da87df3b8294c2c72427a60dcb11dca3b0ea61a3beaa197897d9f29f500ca19c74fccd21df50a5daed425c075fec158dcafdf5b0a3ee2972ea0b6ad3055b52119c8dbdc16ee55",
+				.pt = "",
+				.aad = "ea71a61aa584d89dd77568c883bc4a8b823575a7",
+				.ct = "",
+				.tag = "80130a9c169bb6d7ac102b76932c808d",
+			],
+			[
+				.count = 7,
+				.key = "108cdebe2463149794f67f6271a445f6",
+				.iv = "8f7d9c03a4700d48771e07eab27428c7dc273fa2b2fb7f1f49deb9dfff22140021f84d0fc24afe3d5832c18414f904297850bc19b0768f22d64160020e0518db4c27294333595bb56af3846a87ecd5e143d28327a52d862efa2142fb713d4158a8b9419e171a04a440cf6daa894a20f7b031ab4d0e45f4f807703bec017ae53b",
+				.pt = "",
+				.aad = "68473251511ffacef412da36898b43a804fa9196",
+				.ct = "",
+				.tag = "200d1e1c28d99c8d30d7cfdaa7e50ece",
+			],
+			[
+				.count = 8,
+				.key = "1aae99d6779e9185b0558c3f41ac15fb",
+				.iv = "aea883a4c67cea426fff5d5a0fe85ad00ec6a427ef7a4bbee1f8dede721a80c426363d3241dd09c9efc4538a3522b13effb1c35ff400ec7593e94e4ac4714a354c5a7616aa6d70f80e148ac1f2c7d3da16cec22e76b58b9e4e1d638d82085d1990fa4aa0ae4496fcaefd3fae9ae3d107227ed1a4d08478d5d6873b867c3a5b70",
+				.pt = "",
+				.aad = "581134b0f6e1b4bff8c54c9135ac844da513a8be",
+				.ct = "",
+				.tag = "5224ad01ac0edd6b15d258ea84deb5b8",
+			],
+			[
+				.count = 9,
+				.key = "e362d70a47cdb6fc4625456e6a0934f7",
+				.iv = "a3998c27867c98a3b8c917028bec0fc9eaf50614ed900666354f2a5ea82ecca27019adf54ea12face92460499977ff0b63647848935f40daf28a6486f9782b53a17317d62ec1bc27f04c026b4cb4c16c7a69ec318860aea00d35b99e1c9315d857c5ccdcf89b77c31aa0bbdfe0e05ab2e31e107c91d49032af6a438b89b4bb59",
+				.pt = "",
+				.aad = "392ceb734bb870cd2a2ba6e9810b78eed7f37e7a",
+				.ct = "",
+				.tag = "5bd6aacf9f9f8ec6933df4c93cae8988",
+			],
+			[
+				.count = 10,
+				.key = "94f36c8a7c615b50bb02dac0d9afacb0",
+				.iv = "f9a23e20304eb725f2e3acc9e73ab331fe104a61882bc31748adb3322404167eb5afe14c7afb17bf68ce1cff136143afe0ad4c5dd417ad4b153c88c01cd7a599139739172561da7c16cde76cb647f576b432b648e433bd51e834a3b9265e9fd03fbc20649289734c0bc4c6b6a9eab016bb72c2a214365ebbbe2d26b2bba40446",
+				.pt = "",
+				.aad = "0acea7a62eafb33d14186c28048a260c0fcd0852",
+				.ct = "",
+				.tag = "27b2f5c557ea79fb795c84c351812c96",
+			],
+			[
+				.count = 11,
+				.key = "74d6f18829904ce49c8ba653dfbf7956",
+				.iv = "67f0b49db343e5bf6b3ebca8fda7568592b2c99eede0eff085a3464defbba8ec84966842fec2188f32b7a5bd7ab0c9bed8465e2158052dca8ff8bf12700e059b162567ab96106c2a80a19d9fcf761e5b4431cca3f795f4ab7ea19f5edfc830d65497e435e58d3676b09d5a8ce9d2a34b47c4322fc2633e5d444c75f04aa1a338",
+				.pt = "",
+				.aad = "3aaf4bb62d9f8858cfaa047f31df4bab5eabe11b",
+				.ct = "",
+				.tag = "27d854c085548a383ec890100e14450b",
+			],
+			[
+				.count = 12,
+				.key = "7d1cd4266a36b1ac64712d3e6c8b28c6",
+				.iv = "3a64d9749437fc3bd8523bbe11f433624eb4967f0ec5ff7f22c002c942c9b71e9f81734df2e3244378978a757f56fcb2fa8b102ebdf5a7700af269e9ba44b6f965675d44c2761e8a63c9e0aa482a233e675fe3352b3f6c41a500e0dad98ffb77691517d192a72748f371c491fa0781feab17371942874d25d47872b9f66262dc",
+				.pt = "",
+				.aad = "47b46c6e9bd07e15b212519ecd91b9b9f2119ddd",
+				.ct = "",
+				.tag = "386d341b0e4a6481626b84bd4d996d7d",
+			],
+			[
+				.count = 13,
+				.key = "e5de2fa5ff9bd1697d4ff4d0e4f21e10",
+				.iv = "ba60ffd545a01b40e27504bcf3fa713332e325330a2f2ee47b45c9bc4b7329da57ca39463ba661e4b5125e0d90b4301c64d4354ab40efb5cdecee22005ffb86a0d9853f79d1a9ef177e3eea460f2df72737dd96fa2e45a12d9d129a200053c88a5640575bc6426511cbd9bbe093cb8603b6c3628713c8c354675b17765a5ffbd",
+				.pt = "",
+				.aad = "c97c563033d96e1cb0f0cf013ceacbe5363bb227",
+				.ct = "",
+				.tag = "6b630c6c9716371dbb63273c6535c92c",
+			],
+			[
+				.count = 14,
+				.key = "43ca61aaa85c5f0b788d558dfb1f02a5",
+				.iv = "d31131dabc11973eb8775a4ff2dd0b02927c7d8dc2f77dbb1ff7a65817955589316612788dc73bb22c5be3d22dbd3e188734510d38415db93def9e08a5e424afbe875fe21cd1c4c6da1c548fbc80a765621708f286bcdc0879ecbea29cf8c32d4146df593304bf995d0fec1657c732e762b58bf86d90a7d6d27d87da2baee899",
+				.pt = "",
+				.aad = "f3572b045ac8a4c90610c3b4d243d66def903ca3",
+				.ct = "",
+				.tag = "e5defb7764f97c33bec737762f6737e6",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt0-aad384-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=0,
+		.aadlen=384,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "27e03057b4e9824613ae1d5f4159c1c5",
+				.iv = "013104638cd54694ef2e411caa2e2977b932d9d8c990cf096e382c2d4c836956b0953a2098dc04feb9952f98cf4d0c972744688e48d95209fcdfd6210929b04503a8d78fa37ee40140f6227e46772dfc4f54b3f02c4af914d9163db47f8312d21f9c599b91d3f089739384a48bed771743c3d6fa2bc7cdc6631636611ccc8d73",
+				.pt = "",
+				.aad = "a2ccc7679f51803fc04f4b6c3f0074ce80491ff4cd929e10af867807770ff63af453302b1b028c59797c156f4db7b5dd",
+				.ct = "",
+				.tag = "8c33440597b3b19e768d0384f446538e",
+			],
+			[
+				.count = 1,
+				.key = "fe57870926bb9615fd91219405f16e36",
+				.iv = "4e65ac0ff52f80272f0a86f83ea83542999235ceda9be88a76617850659db1e270793897274e592571e36b4693eba2a9751f63de38e40ff61cb03e70bfc6f516419a56d6fde30e515326b49883e517a85d3b296077f155a60b5951db868047602c3c915ad64ac3702e3aac9633136c87780e0e3d5e5455ddea1737479793522d",
+				.pt = "",
+				.aad = "f62129fcc71943566cb78ce51247a0adbc842127a8404944e3f907f38451587844e50cebf69f08290f9f2afa10ade46e",
+				.ct = "",
+				.tag = "7bfa2cfa0c1cbb5ee83f94323edce963",
+			],
+			[
+				.count = 2,
+				.key = "640800f0e029606142a7981c276c2259",
+				.iv = "3160b914bcf3852760cfbd7f5a299e9a6afd4e327f655bfa258fc20e1b41ebd0010bcdb4b71bd5da8fa63aeb211b824810c44032a5940e2ee976bd3d977b3a2f116074b09327eac7a7ebc081693ae6870c790641b71e25063a60c6bd7a741e24ec24fca66b91813135b4148c82c885d8089492970a5e91c479335727bb90ae52",
+				.pt = "",
+				.aad = "b7ef8aa83e14a71400485bfe34a9d2f4be9f2c5f13946d553500c19af6801b2d921497e5d1ff90719964cc893a95a3ed",
+				.ct = "",
+				.tag = "954a48368aae6c64614951f2ab5f5ef9",
+			],
+			[
+				.count = 3,
+				.key = "774c313173140ec24fb877279233e849",
+				.iv = "d670ca71a233cbfbb24a0bf2d265b9aa716a91bca70594603837c84ef70c35d1755a2727b50c84fa1f06d3b827653dcee0de6b36781a5f9de163d39b372e62c9430d0f6eb439af7988502f4bab60b01ff4b87051a8acee4f95d5686a1e9164299dea4c7a17ce3f1b7867130e8df8255e7fd25cc88afb19ed34ec3688887caf69",
+				.pt = "",
+				.aad = "08bedc054a42e24cc4231589e73879f1a6dc8be967ca4a735f52029ef76a483d2c4c865805e9db22d6ad1b7ebf369110",
+				.ct = "",
+				.tag = "28035f35eb057305988cf25c6f2c140f",
+			],
+			[
+				.count = 4,
+				.key = "04364e5e83af35edf07dfd5c22f6d962",
+				.iv = "67537b31d4e27e6a96bd91f95a6279292c507ea37c2a0d67c7306299297d9467da025a390267f30a612e28b7872647694477268a610798dbae7aeef65c0140a060c874a78d5a27713974d4492c7c3ef8d2d4182ce23d8b4832c4b1f92d4484062dbb1a0959724d181615be9bf3735fa1a412eb7e305abbb18caad87de09dea59",
+				.pt = "",
+				.aad = "3c1b388b08cfd6b19643e564ccb235427bb15956851cced6da8eadd96b054712747cbda116315cc66af1f94523622f07",
+				.ct = "",
+				.tag = "52ef142a13727877d62a26f9f5d0daea",
+			],
+			[
+				.count = 5,
+				.key = "77658f9c8ab726b234363efaec49594e",
+				.iv = "b2c09b0b5ef3522f7bb419a6c65506fdf0475895a7f192e20ed332dba43a68db22e352f5ea2d28397b4e8e68a15a8e23bb419fb0af0e46187fd9bc1e12406fd7a9a750fe6361890eef351276aa7d4622a26f82a2aa9f18db4075fb67c354872c1f903e2838001d92a3c8ef52e67e33baefc97591256961be36df8f7cf9948bc7",
+				.pt = "",
+				.aad = "143ddd571fd80c567522eeab78458dcde0b2fcdf1e59da8f8ee36994afcba6a42fc4b9e16c466e1acc92b2f6c2bc9279",
+				.ct = "",
+				.tag = "b7729de93f77daaff002efdc234758e4",
+			],
+			[
+				.count = 6,
+				.key = "baa37e6b8ace3162bc8049479baccb08",
+				.iv = "7058128082d270e44f1cf1401fda20e40a1c1a24fac600cf05723ac19b06dcd7f217454164fd48cf53ff8d707d9eff36c1d8f187016c57ac68c0268d393155a1876f75e0f693fd6716d806c00a8c360c296415ce8474e9ac0966e20b8672ae86288c56af31e578d118a1ec8426420f90bf100becdcde2869c2b19b645ca2325d",
+				.pt = "",
+				.aad = "4a4304cf32fc9ed7a17cd39ce800ff20c19c281651876dc3264789bace0158372491cfcb62865fc43b4f01820978138e",
+				.ct = "",
+				.tag = "510d770a044ddf1d30c0461ead25daf7",
+			],
+			[
+				.count = 7,
+				.key = "dc9da8e74a222e18a9f2b920083f7f70",
+				.iv = "d0489a9c9cbb8819ace8dd6f3b2cd105815239f3e4cdf0c457bfb7d95d0e7def81bc0c0979ed3d1e73048e95b3d952b0de6e109b6c1580e762ed1695a135f2abf8a5531ef5b79691c5d1ea2c525a5a19df239fad046fa7ec02c25d8ba2e5163751725bcbc4ae51a0945d73b54c8dac7ffe25c7d318c0074c0f46c1db7e9e198a",
+				.pt = "",
+				.aad = "f5f9e08bb9ec6058716d2acb5305de2ba67c26d9e420f99801163a65b508605c9059a2c15c834cf6d71229a05b77ebe6",
+				.ct = "",
+				.tag = "d3ad6a3f9211caa1a2c10ad169708f2e",
+			],
+			[
+				.count = 8,
+				.key = "931f7f50cf8a84cea1a85105fbeb5b96",
+				.iv = "7e23f568ccbfa1812e1a6224f23107dc573e2d8eb455e716d35292f3a705f9c94fdf76c543389b752173657c0031f02d05926d8d3994c191a56421a2937b8bae30b8d47f47d5cce36f92e0f76c563fd28cf984a255e511d7d67bdf42c62a5e60e1a41f251a55479895138359f9cb11e10bf46aa6b3ab2bb1d4c7caeebdddb2a8",
+				.pt = "",
+				.aad = "fad7cea82416a9d781d8115ebf16768229e8adb693e832870f3978a2156015e380c7b0d1c72e8957963a236a4533011c",
+				.ct = "",
+				.tag = "3417d03674ba6600886772e8419f386c",
+			],
+			[
+				.count = 9,
+				.key = "3a79234186fa98f807a2620637a20d5b",
+				.iv = "fc273612d38bcb59092d6de68c2f81b4bf63e76a51308313d11dbe6f683fc6ab122b6270981ce89fc37bd2e593599dfe2c1a4d26e60349b68885ec9387c6d240cffc00ae895a98755082b47300c65adff52e1bbdab865a53342e6807e91caa34aa87e50ec9e6d22f60593dec8b7243b0a994b44734594a1d5a1ed7d859b0d640",
+				.pt = "",
+				.aad = "a3dc5d81519b3502afc7942dd19c1df1d1e90843ae084b191672795dd5e2028ec9b587454fd66bfe1c4cf48968dc389e",
+				.ct = "",
+				.tag = "e8f4a9ea8c044d80f6b67cbaac978541",
+			],
+			[
+				.count = 10,
+				.key = "7e1b72f7e1ad45ed4ac924b0d7f940c2",
+				.iv = "edbb17172fcd2823de0a33b2069c5e48b85b8a1078564f9d24918ef60f0401ae3b7b1ae31892bb28277ef65b683769f6f230f0455398f5efc095be25e870039efb3ef9e8c68fc84a5adab565fb989d4ff940cc380d6652b4fcfd32c81ddb96c2aec00152d2e4d47adb95d3d6552d82fa445f981a11201127843cc865e6a26741",
+				.pt = "",
+				.aad = "8651104a865ddc6a2dc2d9c002f2c081366829084235e5af80b41a21c835e4c32be420a4d11ae52ccad99fb835517ac4",
+				.ct = "",
+				.tag = "78fb25d0aa442485eba376b50c9dd3e1",
+			],
+			[
+				.count = 11,
+				.key = "24a92d3f74bd5c4d5263ca450e747fc8",
+				.iv = "10c4cfc2b9791147fbcd886e88f40f069bac7b382b9125f003da6a781b67e7e15ecffa04d145d4b89d15575cde3969be78c0b2319b69649cee876b14934345474735672389e3d86890e6e659a1df14d26f01b5e3bd566ca1f3fbafcb1ae0b53b066f8a4de2912d198fe610eeb8e9daa84c27aa53b2807d7888e409fae2b3249a",
+				.pt = "",
+				.aad = "9ba3a94ec2fe89e59b8e046f112817d63faa251fc3fb7a7dac6684d6582e231e605fea90b3d1aafa0db3e5be45ec3ff0",
+				.ct = "",
+				.tag = "1616575ffaf38380a6491f56165d043f",
+			],
+			[
+				.count = 12,
+				.key = "43b9f53fb682c3c459b1f8f83f8500e2",
+				.iv = "60f7272ad65ad2e7ad21cd72268941d5943df57b572597ed47cd4e59d0847dfa3e55851cdb9c759561e770d4a03f02f9e9a22bab413f3dbc01fe95346cef575b1ec7a569a0b7af2ae6b4f366957ab15c958bc487687a93e8e67a1a47d6b236f72464496e4cf70e1e878ce49eeb9be00f4687a6c1b730be62dfa2905129d15fbe",
+				.pt = "",
+				.aad = "4cea9fe110be3196863bb0ea3aa4a10c5141594f9eb4bdbf178a2ce65ca2cc4b25a33f3845001ab4698099b9cd89a0b7",
+				.ct = "",
+				.tag = "723320d2319551d6a140734007717407",
+			],
+			[
+				.count = 13,
+				.key = "5c779632a859aa4e17af5949b844a577",
+				.iv = "2d09956986ad86874ef7842d9b4acfacd6504bd75546b550b1edfb6f59ca342665882b9b0ed311999a865da0ad2d6ecc1854c369553066391c4b3bdc0ad5b41aeab261e32703fe99b969f16f44dfce53e0da7afbe2948c6f8575e268ce40e371a5c6d9b215b08414d2553f31e362a0a1f0b2c657a32a6d1e8e1670123b8a2fff",
+				.pt = "",
+				.aad = "6eca11ee44c7e80a8b02a9d9fbac062ba8271249094a8f52751358dc20dfe17f0f1dc46e5ab15513e87d5383ceaeeecb",
+				.ct = "",
+				.tag = "6998e5b1d85bbe630c595b0587251806",
+			],
+			[
+				.count = 14,
+				.key = "20bf535ced3cbbb1aa6d4576ae4583ad",
+				.iv = "9c9f0ba26e8a410dbf33aaccd91f2d46ac828a569dc159506ad1b79cea612b35eadf80c1c63e7e897026e5a76cb326a4a1b994272e4b8ea29d0b200fc889aeb605d73cc6f9f7ffe0dc9fe7b8e946fe44cb1e1c032d2758141575c9f6aea5ea89cbcd21d6b2272af4725415dc0537914d3f2cb00b24fd2e6e7fad1504a9e82158",
+				.pt = "",
+				.aad = "6679b7abaf04d1a3964ec0189e1a7e19c44381f7229dc5624052cf5a77397e085e3d1d281a248558836d1e94f6288608",
+				.ct = "",
+				.tag = "f52948fb841a13cfca54db7d0f8909e8",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt0-aad720-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=0,
+		.aadlen=720,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "67debc1559c528df51728174d31798a5",
+				.iv = "34777c1e5b8f9041069efea4654b59019669c5de0eab8944dbaa0cf3dec64348cd5c98c17dd93ba51b495c0fc0776b0ff37cbbe667bddde5b241158c113b6311eafe9314e33acdc7ba9014e1ce2aa99af75593e2dfdf00513e1cec83341fd27c437723d52fa191caf526fa926cf95ecdc0a26691744a5ea97e06d276f6ad8bf2",
+				.pt = "",
+				.aad = "8d34d688111eb7e13f3b03ef1fb81b9441a7f6622a004e13965366c951a0152ab62c394504b2f3889c745d7676f8641f490f6c15445ef0f9b9ca7479da9ae9d35c581936fa400d28f828f1f08eb8187a5ef16734885a4a4d42e7",
+				.ct = "",
+				.tag = "3c125dad456ab0a5830fba027690c68b",
+			],
+			[
+				.count = 1,
+				.key = "72a8998427aeef22855631bad2f4ef35",
+				.iv = "6eb5effb95b901369e9813f78d00b0e84e6dca7082c93e59ce0a3aaa0250c5690eba3be464b06eea105f031f4de607eeb236a562c6b92ba2d9b70faad30e5d9b9d623fe48040d26805560915fe3d3742341e5504da195f5d73f57f0c5f5f035c1236050b5baef6bb391ec332be526069fc9d9339e09942eda2b90f1a4a0c153c",
+				.pt = "",
+				.aad = "e74208fe7b5f3a58e8928583ee00a59b57f9cc0dc47dcfe30133611f870d0e5ad6b43684b85be855051d11d74bfa79f8f0e71e40e310bf590d85abe62d8f71d8a55d6cb0630cd820ea8049c03931dcedfcb170694e87256808e9",
+				.ct = "",
+				.tag = "84bf1eabae6b99f3216c97aa82f80504",
+			],
+			[
+				.count = 2,
+				.key = "0f3b17deae621364554ae539db09de11",
+				.iv = "a7f6074cda561cd2aa15ba8c2fa63942593e7ccf45c29a57dad8a6e2ea6354ce8ade39ddde4ac45bbdc663f0a537c94818235a73d8a08bd898abd099e15c088c6e21175af4e9a499701282ed328150a6d990e8ec8785ce261be1b83fd8591e57765f3dc1113fd02a40f5016ad0d0edc4929a02e017b2c5f418d296abd6c2ea2e",
+				.pt = "",
+				.aad = "2b63266429674ab5e2eaff639c2314662f92574b298f577acf7d6f991a87921fc232eafcc7b1464896632d6c8abe88c2cca404dbf87c206a19d373ed9950173469134d7c14c2847df24a88c1c53b4de49db366392b6dc651276e",
+				.ct = "",
+				.tag = "ffb0bb6dfc2358754f1778485b59657f",
+			],
+			[
+				.count = 3,
+				.key = "3fa19ff81916c6dfb18a94ccab2bbb41",
+				.iv = "10af1bc18d22c9565adf6e3a14e6d76220bd756943f056b8ef2c44cfdf6dab0277db7543d8fafba4ebd1d04764bd025a7c7743b3015d77188ad5b48aa5559ba6468ea0d197578fc4b4597df1c50570ef5086582685d8aca015d8ab83ab69694e376c7e1701eb7e5dc7345a657dd61cecefc3f551c8328ee817b750a2cedaca42",
+				.pt = "",
+				.aad = "d18684f098ef8361262521af18fc4e996e4dd537a8c63a3137a079915760b618b69a6cc4a3599bcf99ff5f77625c39407f9412d5d075fbea80dcbafe782800b583267fefc56f613713cee8118bd7848a79aa229b25e2bf288f9e",
+				.ct = "",
+				.tag = "21c4efc2785a1fe7e25d79625bdacc1b",
+			],
+			[
+				.count = 4,
+				.key = "ade8e017abb7a8f93af27dd72cc599b3",
+				.iv = "251237056406e57d99bb45b84cffdada91e9b5da0fc4dbe8fd8279a0616dd412bb6ad6da84218531a8db4676090ccb0667ed76d5396234342677495a9ee2cb1a199d5f990d74e54919f0229d9855f03096f20c86a0f8fac5007e99566b02dfd97970baec94e31cb2e7fec09d8660c24d0d734770448731d807d5dd1627244fc7",
+				.pt = "",
+				.aad = "bdc596a70802604f1f495fa37bbfe915a80669d45421fee2d18e4515fd342db4b780afaf243b51addfb219167b7993aa478c4340232c6da35f91050b7379587a353bde89ead0dcf6be671d2c1d0f13771c632031cdbc2ad9df14",
+				.ct = "",
+				.tag = "7262aca429caf4e418de9b87b7d477fd",
+			],
+			[
+				.count = 5,
+				.key = "04f55b04cee0eaa11aa8a17fa7cc58ae",
+				.iv = "d7fdb36fa8ce0b5d6af2c82146bb714baf4a95160095e262343c9fe6e3c839f3353c78957092d3098df50b50dc0058b923377f7e99e60cbe4a1d49e8462dc8d7d4cd9817f640f4d128f22737ec96e5cd2362b1ef3f320b96643c6ec7dc34def2d55d06623739513a55a6898a9a39979bae912fcc5c3b6eb8cfb620c30686ed2c",
+				.pt = "",
+				.aad = "4bdb9be50a45ed18bdfb1f870e6093285d6f09ff7200b8003f69675698925f64f6cd3e889bcd5064d187393999529ec9750b4e082210dde6c47e80d01baa7747bc4eeb27d0fd9d8787d153a06f5ef8e841c13181b64b11cf498c",
+				.ct = "",
+				.tag = "8e623fd1e1b6f04272b75fdedd56f09d",
+			],
+			[
+				.count = 6,
+				.key = "8f728e1ffc02cd78fd5771cb740567d9",
+				.iv = "d071c50a5e887258b6be3b2c0e9d6ffcf35283fb63c4b1bba7f40c2459d482350b8e6665dfcb4760b53c98b8a4365942791869fdc09e8ca4b1ae74b924e8ed5de2c2221325568a06aae278df12f4a94cc00072941e174a1f4561b75da0029b737e4a12d08c6ca6fdcbc136a6199c499cbb00bed2316a79d4533b4fce11556478",
+				.pt = "",
+				.aad = "9656dffdd2f263fd37f962fae93e8b6972358cbea8a3d32672282a8a0e1bbd4de496015fad113afa54c7cd1f551f9a3111c71561e4287309c8ed228c3cd6a33c5e1339dd39ab64da1e1f5b1d17adc2fca9d93753ff6b2f4e2f07",
+				.ct = "",
+				.tag = "78f55313a67326820288a52274744482",
+			],
+			[
+				.count = 7,
+				.key = "b8840e2f2e4b0c10f778061e3cdbb972",
+				.iv = "f2bea4b44993314298d80abe30ca0e8a64a3a93a0341d64770f9b764807b4185cae05f59e3820380e5061d7e0a9d37a3c695c40d46fe5ee2671e158cd7e27afdfb78b05746dd6c6c07294f1f2cf83f56c9bde0ef5f71b9973fe14b716588c5591fb0b435bafbc97434540d43642b02f81bcb64c1f1b99c241fd6e9777f026fa5",
+				.pt = "",
+				.aad = "cee7f1da070a7ea5d845e88619e1906b52a46683460131f7fd715e600dfd8b6eb5ce3902f053ada47d83ffb957dfe26520dd86ba88a8a055702c200c4bed2f8d5dda64c8ed4f42e52dfda6969125ab23e15af93a40aedccd9ac4",
+				.ct = "",
+				.tag = "2d9d00da16c5144856d771c58cad37ea",
+			],
+			[
+				.count = 8,
+				.key = "995c836e8332c28428949377302caf52",
+				.iv = "f6ceeaa4f429271d4772a403aa6d20f40943714b63834917badffbf8c7b1ff7208eeed2d60d74b02dd4875f647e2125098c3709005b8efbff049a743b8ec700b145be748650db9d8bcb020654015cfdeaa81f342f5a99a6b021e643f955be9f108989ba75a2953bea9120b3dba19b56fa19ace92ddb1417a82faf2f04b8c614f",
+				.pt = "",
+				.aad = "b21b040dbabb1cc1a93b66dd234c5ac32fcd233f066368008c030dfcb287860f16d9b53cf9af1957d29f7b8a1780756fd18c7d5088d314d43ddbcbd3b6c4e3ea6316c1a707cb6cd4b12a1c194abd9c7a7a37c8d8617cced81e8f",
+				.ct = "",
+				.tag = "d7ab70d80a144b09edeb0869e96d676a",
+			],
+			[
+				.count = 9,
+				.key = "c78a23d492b4c8056769903c8238b7b5",
+				.iv = "901658d1d84c6c37b70af1b6a216cf154126f68e11ca4457f570ce23292dcd44d31ecfe9727468bbe9b55185d2464cac442b686d1edb568c4dafcb66bf50aea6759f3051b9baf822d9b07e87462a0552231eede429544ca882776a8363243412a864975aebde5f224b506229bbbce1cb3688a98fb965e1b73de3752c87be2858",
+				.pt = "",
+				.aad = "ec56c1ce2abdd3c116fd66c9522fbab8c953a1405fb8c133239c8e93bc1d372c318855bd3f451a9c30f8f2c89a5b03644fbe8ba1cf6d17f543286aa3d3a10fc57fad408f8e0eab4d7b5b89abe8465acb3b7cebc0ca06922f0a32",
+				.ct = "",
+				.tag = "212726a82d9f252eeb8de65bcf0ac77c",
+			],
+			[
+				.count = 10,
+				.key = "8fb8849ffaa82ba63727fa4eb4f49399",
+				.iv = "a60448604a2961872eed974c7a069cfc6670c99e5a3d53755d07c648e637585e1cb0622ad20c7bda79e6a9d5bef9004f05b200d3bca8da29abf73bc072814c6873f2a9c894089a32913bfc42722e679546437fc9d2fc4bab61f2e8751c8fd6b2582df631cf45d97ed971a0001292c651e50d1361475835fb083d16918fc7bbb8",
+				.pt = "",
+				.aad = "44244ec9773f36130a6f0bb85fba3cccc0c621cb6656862b23f1e1ba50023cba96d503e32656d9a3d1b28ae93a8f1a96d4e1a0af6a53d5c699a9e774f860d5ac75570cd16a906409febfc325c0f5807f80f0288605545b9585d4",
+				.ct = "",
+				.tag = "48d58030520eed44670597784d5186cc",
+			],
+			[
+				.count = 11,
+				.key = "e84854ec0b52468c79a45d5710059352",
+				.iv = "f48b082bdb5c4152488b8656960dc2653ea4ef3a6c93520b89244216ba8577eebb714a98aac1d5d1706ac1649fa6ba3dded11891b02cfa29846399e610c362b22159b04b5b81a21c140d50c1f06158c8d06f94644457e5e359abd81cd39725933b7c695bce42b24281d88586585b124b55f3074d765a3ae604598ce6a4e9ab7f",
+				.pt = "",
+				.aad = "5782d2a42cd0fa969427dc306257e78500f4ba9f697caa383009cde7e749f35c865b58309a8bf64e0f922cb8f1501fb185ebd8fab117d01c44bd7f8263397b71e7f644ae84b7775a9d586d3d0f29a3986b22f60b22391df927f9",
+				.ct = "",
+				.tag = "ca9601901581f643618e9b9d9b219f0c",
+			],
+			[
+				.count = 12,
+				.key = "e0c824ef14bb87b8104dd15413f55c73",
+				.iv = "505eaa1ad859465cb8790795e8216a9475d6550b1e9921fcb74a516f64a04b19291dfe0cc0befc23a9a25343735dc612e4096f38ffe9b802f7610a12cd659dc6fc77eb44873ad3e2de7286f080cd2c4aa9a739c4a71841250d2f026cc42d7240309df30f508cfa19f23da67bc67dba898e1927819e384f1b0aaaa4167f6b487a",
+				.pt = "",
+				.aad = "b9991ca19d9844938d72ae81fa126d7e0cf18c97a428c19499f0450d618b361ce2bba0f024589a032af318fdda91d4fcd962a2f46311aef2f25ce2692b24cc3ee308e7416730953e4702ebfa0fac2104cffcba7aed657afd11e9",
+				.ct = "",
+				.tag = "e49ef1bf3d4073d6dcf8a2decf0085b3",
+			],
+			[
+				.count = 13,
+				.key = "670e7ad6a96b723005322dd6efcc0c50",
+				.iv = "cc9c3a222dc9df83593d59e0d19d13608c4e559bbd0bd22e81ef6508f86e744a02b8edadb73ae3b0f1b5f0635fba56f20eeae749729876a04efc9e02ceb46bedcf1cd37271275b31084c359dc0328f929d7ea79c3f979260b5b33669d543b1bd10c5101be9c5bd7462897adba650367d57a0db62cf0e0364671cae679fd3fa75",
+				.pt = "",
+				.aad = "0c9de8a25405fbbb02cafed3999c620409ed3c2775169de4da2bff8203abbaed8e5a3be9f77a7c3bfb01683a7028c866994f6d53b05e0468f09e195c7e7008fcc107ed78f05621b9fa1472db91ab91a4fc799e4788b226bfecce",
+				.ct = "",
+				.tag = "ee3f71ba2ed12503d0307be7ba6160e2",
+			],
+			[
+				.count = 14,
+				.key = "d9048e1fd59fc6764d7084cc91f48622",
+				.iv = "8055ebd707e4fa9816f5cb6594e0496eb2d64bacb469cc220047cb10b524c3e8b0a119a939ba06df4e27090c70e2f8dbfee177707349c4185146b68f41183940a998adfd921ae3c5be0913e18eb739dc9b5d700732bb2ffbec920494fa91932a8637c1cc1fd1c8599e25c08f9eeedebf25804a97de3fb3767ecdbc72b8f71ebc",
+				.pt = "",
+				.aad = "1151cb53c3cda640fcf5c8660db9cca9acf0eb1aabed8fa45c366234dac0bd4adaaf12cb3f642b6ca948979ffe20485d13a21302dc68f4916828ffb9b951c0f6c9e61982f3128558ef3ddd2689d349ae46e5c5891a385f64f55e",
+				.ct = "",
+				.tag = "66d8b296c4a8f0e98630d725d7ae0fd5",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt128-aad0-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=128,
+		.aadlen=0,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "71eebc49c8fb773b2224eaff3ad68714",
+				.iv = "07e961e67784011f72faafd95b0eb64089c8de15ad685ec57e63d56e679d3e202b18b75fcbbec3185ffc41653bc2ac4ae6ae8be8c85636f353a9d19a86100d0bd035cc6bdefcab4318ac7b1a08b819427ad8f6abc782466c6ebd4d6a0dd76e78389b0a2a66506bb85f038ffc1da220c24f3817c7b2d02c5e8fc5e7e3be5074bc",
+				.pt = "705da82292143d2c949dc4ba014f6396",
+				.aad = "",
+				.ct = "032363cf0828a03553478bec0f51f372",
+				.tag = "c681b2c568feaa21900bc44b86aeb946",
+			],
+			[
+				.count = 1,
+				.key = "da8a753ac3cb367e938abf49f8836217",
+				.iv = "ff15e888eeff3fe4e358b1b9035f2a89a76f8a1e8da38c54b7c78a8556c2cc3b7845d2ea156afd9e875d1526e02caa867be836acd76aa998dce342cda1cd7f51f99344c2bb2adfc4e0c2ce1f000e6f2a741c6c4df739bab58c9bccfe1c3d61b96571cfe52cd706ffaf451c767c6488b281773afdf2563722f121e68ede20ee5a",
+				.pt = "f798f0923a8f523c4bbb4bf448fe475d",
+				.aad = "",
+				.ct = "b2d94c51d5697081af634519dda46b66",
+				.tag = "4b4ea5f6d9f424a509227c96d6e77cb8",
+			],
+			[
+				.count = 2,
+				.key = "e9813f3a7446cbde3f2444fff33d2bbe",
+				.iv = "b689a9595f80d5d30320a3f4822560aee6dc0d6f093c8a574656a74a0d722ab152e682439cc89f597e0960a28ddba7952784cf33363931949f50180012c3498327868e93876c34cbcc48e840b0738399b3c0b5135ea589b2a5a792b7a46b12b2256e1fb417fbe5b392d05c81c862f1b030c53b78f8b09b0c6d48bb43781b0a76",
+				.pt = "50b438fcc94d292811912205049ff007",
+				.aad = "",
+				.ct = "f0787db998ea3c71fb7267ce22ef0b36",
+				.tag = "1410a1b1ca4bc4333424b34c539d7cb6",
+			],
+			[
+				.count = 3,
+				.key = "43ea3c6792453631d7b3219bdf0d01c4",
+				.iv = "521f9bacc737e0c8b03d8e970ef5d6680cd73a6aea3161b26d6e87bca6701f3122eeadb69f5e181910f41cc11e8e483b24569f6e4dc23ac9232b83d4d13f8593dafb7cd4048dfa21c373fe44e82c9f1d0f8fe1668d75c9897f994e668a002787a3d3ffc93ed5ae10bf79367a95f97cb0357b69fec7d44b968801bd5a61ea4aea",
+				.pt = "51944a082449ca3bde5415e56ad4c45f",
+				.aad = "",
+				.ct = "8da1b7172c55a1ac63c811331156eae1",
+				.tag = "7995756cd471f7062f1c852e70e55029",
+			],
+			[
+				.count = 4,
+				.key = "6e5f61857ac9a35a973161fa7c040941",
+				.iv = "f4ea39c67195750144846b09335a751108151f32506cd2b75a3a3d737d4b79eb2211e586ad02c4691a42f1b59c18ed2d496a2577e02c97f6d19361d279df3f90ad1a6eee4b6ddc6e81760e40726256599f1a1fb9c1f2285a4206e1237f02f2fad976af7185b8dcb4d876a88c2f8e51264ae770cf4576eb7651ec79ed07f310dd",
+				.pt = "81a99ea178e9068ea3dd9fc750b6f012",
+				.aad = "",
+				.ct = "db9157c426b76affd875aea0ac25b6c3",
+				.tag = "f043d0984f1a0801a41fad037938d19f",
+			],
+			[
+				.count = 5,
+				.key = "a8bf215efaaa9723049912035b49453e",
+				.iv = "3a267d24443d7163b5b74d7fe749ce234f5836e3d16e431c91ad2c1764169ae2744e49e3752c5886a497519d7513eeae55c2b2b564371271ad9556783912d22004f59feb745bec7a81dca2be5a2c03138a14ecf62bf20dbda801bb283a23cc7e083a7dd84f2a6a9245730957e86ff59903eec4196367c11fc8deb19a9a431391",
+				.pt = "2e31e0ff9e4f456d3a5b500948d307a4",
+				.aad = "",
+				.ct = "086f227bff85ecf10361d3972049e136",
+				.tag = "e5722aa73d3e2b5e342e4ff4e98fa426",
+			],
+			[
+				.count = 6,
+				.key = "5251cca8a67cf738e8a7d6af04372a9e",
+				.iv = "b3fbedbb303dc352c3ed9d802737d7a6c2298dcd1a78a032fb8e14ba8db98f3b56ccb03ff6a82011e0f8e5d3f9ea5ad01d82f964bbfbff3076584caec505265f490ccd1a38fe49a32e4868a7713a8a805f86422b954fe65bd3c2da5113745de9ef0521f7bcc3ccb780f9e8cba393153318b7c771e1e32eabe7c7e445593765d6",
+				.pt = "bf39383a6117cd47347c62fa9d98f47e",
+				.aad = "",
+				.ct = "6240c87bc54728b10b18ca9c355340c4",
+				.tag = "53b1e74c22ef05641a6917a8137ee5a4",
+			],
+			[
+				.count = 7,
+				.key = "918ddb38897837051dc4be342e7f4d3c",
+				.iv = "d57836c1215249c051c2a3f38d3d04a4444f2eeac7b378fe300b297b98849ee2cde877e0fb0f273f891385f6a8677574290fae98e3e5cc48ee177be7065adcc00f9a15b2c80f7ac8d08a01363f559ff5bd8c96b802092236f02a32de59287284e85895d6ced8f6b893cbcc4a34c3999803fe3496df80a250933de0d5e314f7bc",
+				.pt = "1523e1b6994a7be4a66e4be3e0936670",
+				.aad = "",
+				.ct = "85f9749d7646a7109416f73c461691b6",
+				.tag = "a4fe95598b5b41cdbe75199cc96c23cf",
+			],
+			[
+				.count = 8,
+				.key = "5b2bbf3716470a651b503a25485a2866",
+				.iv = "2a3b24c634469290587245e80f087ff453ccbe5b6559d0a614a53f81209b0e29fd5f9e29950170b18b297be39bc30da1d2ca4305a182150ba61c67f2e09efd23669a062fe54b237e78d5aa020659dcac7cf4c1be926be419ca957f00041783d68e884d9edea18330ec9f25434dfb86458f482f09b6a7f51f20e2e9cce54d7836",
+				.pt = "36753c80ed86e31482bf4ef3bf2f6aae",
+				.aad = "",
+				.ct = "d31ad08d530f47e771a589433ef20c14",
+				.tag = "2dbaf8204ff64964e5ace5081641a24f",
+			],
+			[
+				.count = 9,
+				.key = "81cc1fd70951b529b95199fae6356052",
+				.iv = "576bb20cab13416ce0cafe3798f86f7c0c0cfd09a8188a9c867e0544bc48911561633068228bdc777a84314a44cfef75e2be6afe0b621a4066c8e1de1bc6490fe5edd50be3465e5b8461a3073d0a8a0e42af960280fa41fbfa9e90cdee640f8105d44d611a62d537ad2a765cb0476f296c21db049be34568032790cf33efd68a",
+				.pt = "2c873763db7c329b347d5a593a8b8e2d",
+				.aad = "",
+				.ct = "abe99c87198a94875ef8665906c05142",
+				.tag = "ce8fc23b76b705f64d8a349d146d6637",
+			],
+			[
+				.count = 10,
+				.key = "5ce74768a2d5275617ff1805c1021345",
+				.iv = "434bd2e078987c74a094b74b28243ab2673001c254ea6f1a0d490f463b50dda1b008231d386c2e93c9ca1e28aaddebc7636dd5a03e5772a5663648af499320dd7232f38214d0e7f5210baee301d40741fceb2e685011b70cfe34f1d523b0ba694ab29793ffce63c47b545a7b843a6448e9d3c5da34bfaf7811252ce6df334105",
+				.pt = "250bed01e93c6f9ddcd637215142bd11",
+				.aad = "",
+				.ct = "52ee2c398771600fa6c2d78019aae69b",
+				.tag = "74bfd467246f57a538f21469ea899271",
+			],
+			[
+				.count = 11,
+				.key = "d63f3ac5dde4d17bdaab2b2be09a1b89",
+				.iv = "bd606b82bfb70e2e9b11e23901f3e2dbe196307e22d2ed862a0a12e6fa59a80bb8ee08276bbfc2daf708b71d163a8e0753e7f7a7c3d9f5f30c858a30f905bb7d3491353fdf07497e1c3af26a446e04708f277d3c45d54dc499ebd8a91ab102ad18dfbb5db8137d5671e0e6a84593fbc8f48d3f78bcdd3dbbd65181b370701946",
+				.pt = "ef10486c90b98106eb2716588fc6c982",
+				.aad = "",
+				.ct = "ac1d01e872acd38a43be473350128c5f",
+				.tag = "8354daa5ed0c64a81b8ed0265d48851e",
+			],
+			[
+				.count = 12,
+				.key = "924b5685bf9c2c170d9262f96cca1c2c",
+				.iv = "4ebd83735d8b80e2a1c8ce0e723b7021366d1ad4d59d110516cff145dd1ac8a8d81c0801312663209538acccf4c5b2b67994ffee46454914a897d8ec3628dc273ed848aa9ae32a2b9fe530a66341bc8a477d934c2c68e23e639a73ae00c179cb2d17dc8395c9abc5d5e7bd8b1c0d2c118fa014205b7952f3f20644e5aa6cd20c",
+				.pt = "f9ce189d7240fdea1057d2d85b84d7a0",
+				.aad = "",
+				.ct = "db9845e106eed76510486235faae05c2",
+				.tag = "20c0da8c4c97595a80752a416ab1b307",
+			],
+			[
+				.count = 13,
+				.key = "60f2bba5585b902af4f472d28115e6d9",
+				.iv = "cf4946f97ca0b9c4448efa723825b0718505c7f12375fabf40e4416e93ad2e06da8359ed00980a895be9eab1e0b2fc7866cf1d81146f1184f616bd48217d7fba59f4c994621ed4b214320498758ebdf8327c3916c8cd20153b3464c7148ab1e66c4bc9b331e96632793de38dd320befe9fda4228e691a335607e873f86a52eb4",
+				.pt = "09a12ba4f7abeec32572dac8175e3ffc",
+				.aad = "",
+				.ct = "dbce2a56ba79e79b93f67dace85f0bc8",
+				.tag = "82e988e8af52f5c973097917ad6cb9f2",
+			],
+			[
+				.count = 14,
+				.key = "8dc3043ce29973770a44c4ffac704cb5",
+				.iv = "38674159381a900196d7cddbc91949c5331b555803857c7df98bf80c3a596e0719f76a0ab2ef9f02371057e0ab294c43d7763cf480ad4920981a85038b603eb9835bb9adeb442fa73499f0f45b5dcae1cea78d058e8e2d1b628cb3f267d76e1d9eea60624ba89ad9d1ff14e4413e20315ed2a2b0dcfecd199ccb84d00adaf14f",
+				.pt = "e3586341642d124405f5cc73a83f9a95",
+				.aad = "",
+				.ct = "4e17057a7571d72847d805c1400a935e",
+				.tag = "828a224b680158b934ed3625972860e2",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt128-aad128-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=128,
+		.aadlen=128,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "ca91e2414409a439b06573d772f90afb",
+				.iv = "177008f920a06169ccdf753a338553fefd46845869c9244da44997f83d4ce805a18707c84d114f9c68427b22841591e6caecf5c3e72a25167aa860c51bdc1aa56dcd69f29a2f35e70a322b9eba092a98d66a956b4d294383a0ebab26f7c4df1a5d4060dfc45a14155100ea7d9e32debb6537406b757291710505142e7659fc77",
+				.pt = "28003e30c4a4ca9e41aafefac1e1c3de",
+				.aad = "bfeb15fcf7b15f0e14c04439b67950bd",
+				.ct = "00e472971f3a7770aa7158fd92f17bb7",
+				.tag = "16661b85eb51646c94cf2be4e42d7a8e",
+			],
+			[
+				.count = 1,
+				.key = "c9194bcad95c3738390d423ef7290795",
+				.iv = "63ef44a79d08539d27165d9ff75f40dc52eeaa270be05f9977c1063b42b3a2ddc515d4b198dfa6549da511f75c6140d36dc0e46a31fc3b7bc6546d604af5679dd431f21aba8eea62d3a340f2ddca3e3e27f703226a47517889b536cf13b72e87e1548c60c09b78607ffc7bfdbe6d21234f05a1d46778352da7862cc36c340d28",
+				.pt = "028e616f18b7bd55a45381979388ea92",
+				.aad = "b35959db522dc00dd4d57c5441c51dc9",
+				.ct = "442cb11fd9a5fd93ac3fff43af36a417",
+				.tag = "539120008e56f3cb80e9dd5244813744",
+			],
+			[
+				.count = 2,
+				.key = "2e4dd01d24d557ebf5cd4aa842ac6c67",
+				.iv = "91aa215ddbc19ff53f4bf2926ede825f10733d760b46deeeee07ea0d763377cc51da7c8d54d460907f12fec8c9c1b09de9a36b4401cd0466f268e4f1cb371d100d55f9e27b4671aaeb5d5ef9ee59ccfc28c268edf00eb9a6a9ece93040c2df5830e96eaba7163cbba8004b36dc6b5057aeea15fadecaa6d9c38959244dd03afc",
+				.pt = "5cd8e0ac13a96068d3196e67e9a3fdab",
+				.aad = "acfa0a1fc4ffd9fb26add7404590862c",
+				.ct = "2ebfc1f9ea97bd89a5b61d2750e96bce",
+				.tag = "305f4b1714bfe1a2186f3ca68eda2821",
+			],
+			[
+				.count = 3,
+				.key = "5a84dc5d5aee6741ac972e09d8a8f9c4",
+				.iv = "4915927b010fa5b0fcf1b9ec8b0a755d9fdefde311a68ad29c322692242eb097640682c0e6ea6e853faeca6995e8dbe8e1dd66b71597e585522ad752c6af457f4d70fd7d18241ab3e3f133ee4bd0ee823affaa5e55ac3c9087a3a2ee1b87944c6e0f5f53ba70b32b5cc137851eae570a8cbde107ca6eaa081d62a809760cbb7e",
+				.pt = "ff57934fd931d1141ac984118bbcee69",
+				.aad = "3566bd219355ee81e015e1702d07a4a4",
+				.ct = "4133a2b721af48b199a910185f8e2601",
+				.tag = "f16c9f0d470e8a7abefd6d72a298b1e3",
+			],
+			[
+				.count = 4,
+				.key = "7e86dff04bfdfc17ba47af5006c23563",
+				.iv = "db20e49dc8495701a6de6bce8769a50cd83076c110a0fef56fed16f6a823cfb76864e67a80530f34fb9c0a3e46fdde387f8e12e702377ff77688963076a800735efae3be2ca5c287415759a2f6557b4571db768c9c97acb9b53f8ca79ae6710b622fd04fffa363c5c704379613f9813799756dac2f881825ce6830920d5285ea",
+				.pt = "736b634323168fc76d1eb2cdec97be4e",
+				.aad = "88f3b440e3504f581522760c075cab14",
+				.ct = "57d0125fb7eb56fadee02faac9b4ae86",
+				.tag = "c20a4647d0f4cddf3d0b168553f1928e",
+			],
+			[
+				.count = 5,
+				.key = "58a0d6bb5fecd661bdcf02d08731155b",
+				.iv = "059f6d91966d038191821d3bcac657efd3dfe251a7cc350c26fbde2ff8d69a65859bd9e4635956a2145d9c3c6967506138568cd65ee8ed84e924aec7cf642218969a0f2b8860fdadc677ef4729657fabb4f76cba669e7080e8dbbabca5e9175640c90a75388129a23e65b1a2809c7ea6ccc62a7f282bce0af356cf653710718d",
+				.pt = "8198a7a095e4ecb42e574b43116b8739",
+				.aad = "3333e5c9520acdfbf42d53a8bf565020",
+				.ct = "ff058c9eb1a911cf08d5f2ac7f316657",
+				.tag = "43d8d2cb3b1c0917feb2fdc8025c95c9",
+			],
+			[
+				.count = 6,
+				.key = "81dfe892672527fcbf1d38a4be73f6bd",
+				.iv = "fa138fff985c36f9c7ee3f577f7d048aff4a2f5e1b9424fddbaa252dda2fa9ec02eb25edf238286b2e5aa8ec39453a8bfde7e1678d997a7446dd3ec9185f7576faea28a59d9d2f542427c20bb037183b549e153c746a14bc1e4ec1e53d022e1ae03779125e084785e17418a3ee531b5909d804ee7d3e39f825b91ab00bed6a79",
+				.pt = "daced60adf953175dd9b3363cc50cee1",
+				.aad = "6975f2409d9c53f97f75d05adb4dbb42",
+				.ct = "7b2d5854cfb62b043a84095e62a2e551",
+				.tag = "c92f40a5caca387c21c7450562498f6d",
+			],
+			[
+				.count = 7,
+				.key = "e3225338754b011e18e2595aaab3e60c",
+				.iv = "c1ef5170b12a22fa62eb5e39d52db5a510b00ffa9d4325f9fadf3f4546d815257af8a1f4ed64b79ea49c3209e4cadf6aabc8ff141a90c091dc4bf6d5cbc9aaea9224e6dc0f33a217c778cf63d0d960cdc687ad95d490209a6fce82dd4af7071094079649f6a4c996e69b4103e7879a09731367f13bb4c1704f8737c6334d1f01",
+				.pt = "63770aeeeb2b43f5b16030a8894ab589",
+				.aad = "80c66835c76dc4d08cc55b2bcd6e8079",
+				.ct = "6d1892ff982000b5ead00decca8b0117",
+				.tag = "40ac92b608b088e175bf808b24ffd721",
+			],
+			[
+				.count = 8,
+				.key = "14ecb13cbcbd4be410780f27605b99d0",
+				.iv = "a227184ebe2fd236cfa811d128dee5b884ab3f6eba77751813c3d456c7778d58b5a8d20f2d81aed3232755885ff86ec62ec6627935d5e7563609cba64ba32856908dbc78c48a0cfaa20c506f190f84039408f751a0d23769eb4c2abd287321e7b09764eb7e30e2cc08fa5d1a9a9cce962d7ce06d76587dde35cedaf977bbf685",
+				.pt = "ad0aa76950022740fa6821409dea8fbf",
+				.aad = "ff7131e6bff32b6c68d35c41c5fb9abe",
+				.ct = "aa81570c13892c202204d6866f3fc66a",
+				.tag = "297403765a552f738ae00fc44b75ab3e",
+			],
+			[
+				.count = 9,
+				.key = "52375ea74a044b92437570587689681b",
+				.iv = "80a69ef25ba2b96e60cc2397feb5f60eb658d4f7531b80f5dbd3cc6f6621bbdd394115a6e4b4235fa0e66b20913422d5a87498d81e3d1468bf5feb1cd7c81b1c56f4e138982eab2d80af371b2600bc82e1990bd4c6636e2473533e2238fa242230f1e831d95e43128c29a1011115e554f2649fd4f6f0754f6a4a7aabe085aa4d",
+				.pt = "fa71fd113f322b4c6fad31cca4180bcf",
+				.aad = "73e942b2c8461909939993f171ce6fe1",
+				.ct = "054052f96a0040e7ec18ca36f8f7c30e",
+				.tag = "d84c2e369138d40374d2142a1800c95f",
+			],
+			[
+				.count = 10,
+				.key = "dc33dfcf6bcdab770c93bebeb26bb980",
+				.iv = "22fb435eb85fcf0c57c5fc7e158eb8bc3b61ecf8490f73ef5d154a014dbcae8cd658ba044e0d01102cf9deace25ab91ebbafa16d7b201423b0c89668bb3bf557faea354439e9b66e9b71c55e9f70bbebce1bb2b677cec4ea0f8178199c360d6aae53a29f1f823104a64504d478eccf57519015b44a78970c52ef0ac669f7ceb0",
+				.pt = "d30d7e8ed221c49f10746424e803da09",
+				.aad = "8176fc9a88aa9bd98f05eb234cfbc817",
+				.ct = "15c00bf29a3c8d09cba93ad5e37497df",
+				.tag = "097c48bf69bd7bb5980c30dc980cc5b4",
+			],
+			[
+				.count = 11,
+				.key = "f9dc9575741865e9468020624955b39c",
+				.iv = "28f9c9b48b23e448292558e42d34bc5cdb2a7efb162d01427d1d9e41ab79b34b402f15c94f283177e424b3424f278214cf79935813b60e137c2a84cca3eebaf3b306c007c71f41a1a09f0e3149f8fb2fa165e1bed2f0f23ad16f77f483ca9c2e40c5f1c1a1653cea5db77674d7766a93bb01e5fc7c9713d786379482e9f6cd02",
+				.pt = "a2008d1ae2476598bce929ac4f09a54b",
+				.aad = "b5412557998812ee49a02ff502a2d03e",
+				.ct = "78f6d2cb69f9c038fee79742431dab52",
+				.tag = "2731a7ce99be72c5e881386661befd08",
+			],
+			[
+				.count = 12,
+				.key = "75100ffac9d7625c332d12c280572f33",
+				.iv = "1ceffd613e1908354e94815da664a70b5bc84c47659df924ae93df681ec865a1d0672be2dc4d27c2c05415d15604da8821976a212fb488c14c26f8025a0608736eb8425f5063508151db6b7115419c5297966a2ba1d118cb11c3eb451e41425622ca5e9387607d5aa87f997f8418a32f0efe54c167b0c7f0913efafa03646b71",
+				.pt = "b844222dff289246744b449f0726d882",
+				.aad = "6722379b26e9accc56e1635e7fa21673",
+				.ct = "2ca8b8db80f994ed23cd38134def881e",
+				.tag = "728d8fbeeefc4ec4daa5ddfbc9b6f71c",
+			],
+			[
+				.count = 13,
+				.key = "ec9afbfd37c273d7d931d9468baccd88",
+				.iv = "3fdf3c97af15780137a0c6416864137a873f2e6d6141033a53073fb95aa564d1fcd4b9f35c4f1d287e667ea655e8c12cfb88cf1ba8d617d38b0adf6e23b0d906d78f4d034856b45019034a50090fa44600bb25a068a1d27dbb722b9af3cedf0815b451689df42b3a936d3bc3ab3306174b855b4bb8a12a23250511d12d726b6d",
+				.pt = "c284a9a08fb5d4de51ee7e7054ea96bc",
+				.aad = "e44c1feaaf12eb84907bf18d00592863",
+				.ct = "b5187fe0d06e46afe59b21bfc4ee01a0",
+				.tag = "5db6b977c2d5669acf6125f0beac6c89",
+			],
+			[
+				.count = 14,
+				.key = "ea8f625df1c82c983642570e90599f55",
+				.iv = "1dc4fa6c5b2d40d07ccba558fe9328450664f446a55167ed8ae96549ec2a30299c9d7e472361049b21e411505a1073ceebaafb249d3ef3c85cad2e07fe7ebde5ab2613887f05ca471df9ceeb871555849cee9176eb8d5d0b345a2aa6f8b9f0a0063bb56daf199c3791419bbb0c6e11c5f62d36c6557f04c12d082ae1f9ed7220",
+				.pt = "4f8f281cfe10b1edf7610f2d63fa831f",
+				.aad = "423403cb40258bb2998d436f3570b344",
+				.ct = "2a70acd12eceadff4719688b006c2677",
+				.tag = "66322a8709a5c998bd26c18f0bc26787",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt128-aad160-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=128,
+		.aadlen=160,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "f43378edf8b810602b753d647a40ccea",
+				.iv = "ab59967fc21429d7f4fa5dbc1ade96e7d3ea347c87f15b604b395ea78feb1872ba245c591e270d93d3d806e29eb9ed723399f5b382e96ac0f2c53fa64663eb2701fc39fd4433eed05fc3f55fabd30ca4161b296913ecb32fdac9272a20206c846fed470173ae1b2d45b9c4fc76b0ff1a5d35ae1906ae65963f66c2d3f9f1a771",
+				.pt = "8d15a1eacb0790c032ff7adcffc77046",
+				.aad = "a6984e7895dce7746d79c97aab83aa6de7b2efaa",
+				.ct = "f7c16036cf00fb3016561c5e01391446",
+				.tag = "66f0e9f65356cc789cc32919b168dff1",
+			],
+			[
+				.count = 1,
+				.key = "e9bcb3fb2f7560cc6459b1b3e799354d",
+				.iv = "9823edaf9f9a7bdea8b14f33303fe4536ab0d13be44f03d4c93209bf5a84dc53c119114c6b975ab8ea383c5932049570b3cc6ea3699c0afe951110d112fe5a78d05cf9de9aa28b7c887b388343a3f3bd2a20dcd18156769b82b9ad384c0c4c1b28bf9a60e7cd8a1f3e9c1181367e81908568a0c5b6d5787dd2990c1bbac4c4d9",
+				.pt = "e2607e6b8e40a9205f64ee9a64c13ba9",
+				.aad = "f8793a271a3ce73865fbc9fe6d3dfb2d1e700cd7",
+				.ct = "2ec146750592ad852c72a7333ade44af",
+				.tag = "eaa35f90e107240ef3c746f53fa0038b",
+			],
+			[
+				.count = 2,
+				.key = "8d1f39067c36737d2b1ca9a78064a82a",
+				.iv = "87af3b0f2deaab44937bada66c0913c9ff4175f4a4276c5a6f68beff1038565fe7d242057731336281d7ac68b14dfd5791f052f343aa087685a0de36d6fd91d26af1ce47deaadf7e3c04c31078cbf2b4a70a4a1f430bd673d036e26a91d4099087391d0b09412d84ccc5a19e236d8645f103986c7b85fe459ed90eea42e550f0",
+				.pt = "3d6ac1d409a24778965add4c8c320ee0",
+				.aad = "f7c915b2ad318e2c95211e76b00713ceff296b58",
+				.ct = "a2c108c68732b1e839853f5dec8502ff",
+				.tag = "6907c8c67f8045bd04263529a8269fc5",
+			],
+			[
+				.count = 3,
+				.key = "c2ab2883aee91d26567b3c045f5ca749",
+				.iv = "25e5a355d76587483f1b5f650767508d2e6db09aed5b516cb8bc27aed787f7addc3cf27e3f50b96f372510088d1870ec61548f86e07e3afdb538947bb57c772424b600fcda6d015d0a4cc5b2efb19c545b8dd01fe96868fe0cc18e939bdeb693eb5d476bdaa51b4a389e6bc3b7483a5e35dad58a595efcb0b06d606c70709e07",
+				.pt = "1b08ae5b7d1e831dacac6d5613d811b7",
+				.aad = "0db4d469b4016f29364eff13b83d98d7d1576ac3",
+				.ct = "5ff776b783447c932358d63ff06508f4",
+				.tag = "879205ae7ef47615ba42b14ca0514757",
+			],
+			[
+				.count = 4,
+				.key = "ef0c3c0362cf7dab8f5822279256d7d6",
+				.iv = "48cb938801e2d668afde036bb844d6c88b3a218adfeffa883ab33d9143b586dbaf4cd20e0adfe5c93b1e89e100927179fbf94ab452d7d3588c9dded50c6889e737e0fd136e3d0399912bbadb259c161808020dfff1e7ea53f0e5407f14e5e2b3f5ea8fe65dfcd0375ba2ece6c2af1ea13cae4098bef40d530c7a7289a273d62f",
+				.pt = "7a49dd3b5304cf85a494f406abf25268",
+				.aad = "298caf3ed08a8cf0357c0f2a28bbef8c26efec39",
+				.ct = "35b421c0e6366711649374df3f6fdabc",
+				.tag = "1a6fdeb2b44da772999bd63948d6cdd9",
+			],
+			[
+				.count = 5,
+				.key = "2be9cddaba701db98295fdff8291de97",
+				.iv = "d452fd18ea54c37b851661b3712a7f3c9edbe60e348bc97a7a3942b8b8694ea391b78585edebfa817fa0285b5a92fef451fc950c203eb2cad33b9f0a2ac25ade1a6e7cafd085d6689bf4497c2968844cc9c5f89222ddeb89039218fd9e5619ff5a83e9f06fa21795e436ae1208aeaf771b0d003ae53cb100a35d716577f7cbad",
+				.pt = "145b290e4e6563dbc1126b67bf9c209b",
+				.aad = "3a25b06796e364387523a7c2947787c33eebb7c3",
+				.ct = "8549bd49d14459a21bfaa9dc5ecc31c6",
+				.tag = "3d5489870532a0823a2be0c25f175c94",
+			],
+			[
+				.count = 6,
+				.key = "47556bfe1af810c45cc17e240a02e414",
+				.iv = "6c1b80f937d0e4f29a928da82bd4184d935d14568da57699f028a4485f55a3fb380998e4a5e923d31d5511dc6802e0a82e8e30c1b8d6d06f1ffbdf93a39df854e5877ea811ace228298f80f972555942082007a464dfc9d63c54afbb3b1fa68ed888d339e33b959e69a2134f460e00fec6a0ffd8a84780e403853eeb9fc46266",
+				.pt = "73ae28b3d790ecd6aed7f634c471571a",
+				.aad = "35728eda89d47115f18edbc4f42258fcc141ded1",
+				.ct = "ee35b098558f4cc9da03d8f3e05e6aff",
+				.tag = "072303ad6abc235176a85f1b826ca187",
+			],
+			[
+				.count = 7,
+				.key = "10ad98d3c61167422ef6574eff5a0362",
+				.iv = "df6bbd43d771f982adc7fb5e3cfe99733a14edc56aa35abb687abdbf34337b262a366e88985bad59ee9a874c71775894e1c0b0002c5b44dd917a7bc38c3f4819a7f3c502bfd1a6d91da19f5930b70f2e7cc6c62595bb542f568f248256f8d9451c399e08e7126ea604486fd5a1e1ec2834345c8c8c57b8a7f444dc104e64938e",
+				.pt = "7003b71adad3edc2cb51f34eca805b8e",
+				.aad = "9a62355e0fd4d3a16b3066db0d72956ab39dd4ed",
+				.ct = "241274f184783646a2fcb9e77fdf18c8",
+				.tag = "64c64b146f4773d428f0e760b2a07859",
+			],
+			[
+				.count = 8,
+				.key = "c44b83d8feaadfe57885efe51289f96c",
+				.iv = "06280a07a8b24d6a165f4b59d4ce39258a3c0eb5d0f8026f1c48ff4717859d9235d8670a9724d34b2888b8639c4b40b3f27a1def1249c4552f250393f56fc098e16f15cb7c4f0053b5d567f19554a2d9b4173651bf3bf9afe37cbeae51481bb15c551f63cf1688df7c33a3f91e9ce8310e452e49ebc3fddc7fa4156f718395e3",
+				.pt = "a8b2e7f9d35abef54fb3961c243b2554",
+				.aad = "f82fe942865b2c33162b8282ce37d97fc99dcdaa",
+				.ct = "81d1668f5f7ba137bf3bcbfb1f68a87f",
+				.tag = "6452fbec7d75b12b37736205e09eaca4",
+			],
+			[
+				.count = 9,
+				.key = "069576bf63ac0c9643f6d1941cf5e998",
+				.iv = "c587ee1e1b4a9f14d4b865de41069e92d6caae850a3f71e7f2ef78805aed1bed5e34fc5825677bc3bc182ff34df0dd28ef331b2d922f9c5f47637c9e477671122afa82e26932e7551781f6fb73f71dc4639bf59ec58199bee638f85a7f8822c6ae1890ef9a4c079d0bd4768cb177d37a0dbb237f0f176eb85641d839df18bca9",
+				.pt = "f5e892d487fc5b5c66aa5c247b8ac598",
+				.aad = "f3246b2d723b0ba795dfdf84f58d370bdd0a1584",
+				.ct = "845528efec4327069897aae6ce607eeb",
+				.tag = "8846e747009e8b22575bb958133d5b08",
+			],
+			[
+				.count = 10,
+				.key = "f29b4007fffa888e178346dd1a388c49",
+				.iv = "0ce98e92e80b8c967ab6405734f0651b815742f25f4840a905e213b9efef53d636cd73d7a4280bfa9a22706fb52157e57cbaedbbed25131d2ea80025e083de4f2b55f927c459dc4187953470519b886efe91846c84120433959eb82ea18034618a0a71093c43ea81d3b088db1810b84c763ccc85c9407eff63211fc420d3e77c",
+				.pt = "2ae130b0ea0123d8909dc23730a58eb2",
+				.aad = "cb2e901422cf139dcc754fb0484f2c3d6c9ea187",
+				.ct = "748ec075eb13e5175b8a2a9b5040409a",
+				.tag = "f3f916386f0ffb8f7ce839aa958839f1",
+			],
+			[
+				.count = 11,
+				.key = "b13ed84e7f8cb378ab17c2900932ef48",
+				.iv = "5dbf371f8677d2980b8aa19519d0ca6fcb4fd62c60ba8cf43cb2dec8f51ef6c27b3fce032cb0b3de3fe6f35f2a8db7ab21a484f3231041d3ad49f53042195216dfb78d2fc5a066832b073de23a8aac5bac7d62a96d079cdb9dafe32b968dd5c1d97da7618c3cb8d5a8895ca1c652268b6942dea04686c83e9ed2575e9536f757",
+				.pt = "d6cf4da9f7b3c86d194de04296ef731b",
+				.aad = "8029006c1d993886e5767e18fe8aea3a2dc7fda7",
+				.ct = "af3f3499fd8f67f75efda2a24399b162",
+				.tag = "c1c1466eebb95b8abc76ad77602033ab",
+			],
+			[
+				.count = 12,
+				.key = "308bd2feee8b8d7cdae85839443738fb",
+				.iv = "a7b68c8491fc6903916e939720c0018d63a70bfb685c0e6c5a3b1ccfd36b9f8ed0b40f8df5c5ef0b460e9ec20c45d5164c2b55c3212201c53db5ee014824d8601deeec6932a3f64c6e0728899f5e112ef5c74ee5b56a93cd1cadb732033f2c24b3ced6019f9321da4cccaa871e73ba12273071631565c23fe353f6a2790bd062",
+				.pt = "5de77edeb9ba84b746496aa210e8907d",
+				.aad = "2274c6028b5f6986445ea7367de1589e6b42c0bd",
+				.ct = "768dac2656562e99d165aa5731b5ef5d",
+				.tag = "56802213f610b19c23d48fbe41b00867",
+			],
+			[
+				.count = 13,
+				.key = "6f978221f445d0ee73e863e244c5ce9c",
+				.iv = "aac46381696e78e0e0811e9ba0a8fce3bf655bfa038c962a3972d2d3bdc75e96f8010d34f5d68114198c17dafebaff72d3dadb821c134ba5313f0c5c6c6c6b5ae2e3aa91ce9c2e93868ec1b6448990a21e961b9fcd0c393d2fa8f4d55fae1ab589ef75f698e36c8535b20d8e2cf333a7a0624c8c95f434d5d732b824e5bb20fc",
+				.pt = "abe0a4e80e1cfb0cfeb00e753c40bf69",
+				.aad = "fdc0b1545e98f194d947e500a4682bd27520cb26",
+				.ct = "4d2321616a3398723b25d5e3b87e687e",
+				.tag = "1f7051e4ce760b278124d059bc8f484e",
+			],
+			[
+				.count = 14,
+				.key = "582852124b2b7e4cfc654e355b3c2bd6",
+				.iv = "daa938dece40bbe3f0b28a8b3533b52e57cc2ae780967fe22db6d0943b8d8216cafe870661a8d4832673f4c7319fb7e49b41f0e0a05bd6ec1a2b9e29e7fb1868b6dc21826a90d7a2407a5226e80ab41482cf371892335bdfd0bd82b9de2c65bd572d9d5a03951bb5b020e9e8b20b6412cdbaf4efa1e832a1bbe865859fc6f62e",
+				.pt = "735519a3f923d194db26c4ae90c04255",
+				.aad = "aa2db227922e706564879adf4373e02419f037c8",
+				.ct = "414c1bf480110fec1c6668759842c16e",
+				.tag = "ab3b314e5cd83521c2ff22ec54e7e0a8",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt128-aad384-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=128,
+		.aadlen=384,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "e3fb54ff1c14588895083c08d5c07abc",
+				.iv = "de7c6589ee977d92cfe895dc04b58035fe963a1520cf35758c5597f38e87068b08a3175d63716c9949d2e202b0f662c29a532e425e3534f200f64b6652c0908579907df7d54d697345d216646844da5001f541c8d663493b4c17ae9f41ba7d5ce53e6a0ee321a4e0fa2da9420b5d15093457532876188f3a1c562cc608771cc4",
+				.pt = "2635bf05d60c27c8024325af70189f0d",
+				.aad = "f9929747a4a85be8e2105fb24923ec5e2ec92f9d6b55eca6d7b428dd136d1dc94862f851ac8eecc6f7a197a4b8a80bd5",
+				.ct = "c14e0a7ccacd08775f0d56ba26049206",
+				.tag = "025415309e510a5c852cfddfa134f094",
+			],
+			[
+				.count = 1,
+				.key = "06eb86dce0cb5f1eae878fb483420511",
+				.iv = "2e0094043000fcf83c5df2d5885e25e0259d7ff3e52b3d66ab788fe09d177d6522c3c79b5a773e9677e1f7cb2a5adbc1cdca96f34db8a4c5c8abf0a49602c44ae0c7cc569f26fe7c5014f54812dafe9c59e81ade2547a15a7bb9f2bf3a1196e8df1d0fbb61c93dbafc0dc20104cc723fa816eafb54ed3624011b1b12e9fdfeb7",
+				.pt = "4390950df5e6b4f3cfee9e573f431f14",
+				.aad = "ecdc5793c368fb9ca512a6e21218650c0a653005d031bf2799ad6e575ecfbd2f81bb420c3e8fd602d169dac50aba29ed",
+				.ct = "01cecd4f6338f6c331b580c7dc672f17",
+				.tag = "7253949120f06c3457e0aee37976c507",
+			],
+			[
+				.count = 2,
+				.key = "fdca75f753ecb4b6525c388c499b80f2",
+				.iv = "dffde2f6d003df2f8f4ad43b0af3b8ec1a41efe155388e61b5582e9ac187e858270cf422f072ab3522fb1b5e8472aa3cc0cc0cc58cbaf1991c0ceb3693409ee11668c70e30c38fce8975415c3fd7c151728229b7a94d4b2de7814aa9fa32c3b38b7c1ccb04388ae4b65e24a7610bb5f46ae09313ad678bf52ac09b48450bf433",
+				.pt = "27b9ba9eda6bfa206dad4503cf741acb",
+				.aad = "ba5c36fc08b11bff10188052bf24b9354077fab7098beb83a37f2ec7d9d89bd28f0ac60a52295cfe5c8424a943cdadb2",
+				.ct = "6412c5789cff009ff93b6ee4b34438f3",
+				.tag = "f98a51408b85174e8e02b7d2ba1a4abb",
+			],
+			[
+				.count = 3,
+				.key = "61d30969b601608b420f3e0450b21107",
+				.iv = "77142546925f241b308e599503edc4b412d520a182db102c75014b5a0028eccf58af3b0ae232a4303cf599a5f1b0cb7a74847587ac303acc41fa2aea770067d4a95fb73ceea9c86228e75dd46a00ed61d42293f510c6d768c4f2af58ab20af50ce1196ac589a6bd7f6fa180f6b23441bd64ebd3a1a9689958b61e73a66a118fc",
+				.pt = "edac1d28fc72ad8bb66b98a4fee5dd66",
+				.aad = "290c598b6c3cf442d17689e719f24988593df35cbb473d11d4b2ce698ed16ad43e1da7d2781f3e2847af09a72d829d7d",
+				.ct = "80f6b5ac90cfe52cb6c34969556417a6",
+				.tag = "bb06153747e147891ae888c19df0be41",
+			],
+			[
+				.count = 4,
+				.key = "f00c95f61588addca0c50dd70e06a473",
+				.iv = "d683664ea8cabcbb3915ad1d854a68e2afac558c60cc7064850336e4b0d4f00c6ffe32adf53414694c8051f3fddba07a3dbb66fa9b215d9732129931c417970dc28c21e26ff87fc9718944fb2433df5b7365661926b2b2af61d6c62314fee7a8502e6a316e3623c87b88745a7d2bbd5872ca682d4d614170475084ab981bed0f",
+				.pt = "a846e21db2125443fe06e2f5cc42d090",
+				.aad = "35b79d7ed84fede868bc140250f6f0956ec9f19a87bd45e42bfaf6db228dfcd770038e605eeb74f7136e87c246a93af2",
+				.ct = "0f4c6d7bc4077cc94cfc45b60589e3f0",
+				.tag = "95c290b464a39f4135c872a4f3b3e4ac",
+			],
+			[
+				.count = 5,
+				.key = "f7e419529931455e7f332900ef9a45a7",
+				.iv = "ee91edbeaef5ff28f0a73f9df1a99e5a16b4f3144f5aa2f735d7c33a789c06947d8692e1491c97b559bb75f73ce4ddc2e1723e887951cd644d090d1b9cc8d268dbcd4faa2c37d5b294053549bcec626e7ae20460a0fedaf767875e8c8f12fa96d10e83c4a7e890f06dc103c7001a298574d7c08ffa1bec3648de33f0c6ee85dd",
+				.pt = "47c62bcd4aea8ce678d28b878ab6822a",
+				.aad = "a37f505333120390a6f15e8e814425fb245d964c2dad1c9abf32eea36711e7cd4f3e019d9efee1b8d60b9089047a44e8",
+				.ct = "0393372715250c0957300ab406b31d7c",
+				.tag = "192ef8f3934cafa54256ba72bf622e3b",
+			],
+			[
+				.count = 6,
+				.key = "8d7789ad3a57d1fd9bd74c4575afcd99",
+				.iv = "262cd2d3665257d0bd78f46f45939da4c3a6a24d012c69fe0ce96511551bd4a066cbc2bc3d89a103ad0a075a8c2bbd920be1db218fa053738e675ee3f0a17cd8dd7a955fc395e29bbf5026ed1a155d7d6d255e04e5ad261ee5199744866697b683ffaa0e93d0af84886e54066476896119b6251c73061416cf2593905465cb68",
+				.pt = "060d96b10f56e57686cc58414099c3fa",
+				.aad = "f5e3d2a6f93457d96c2c7f60097736897f7a050c8792334ce45edeabf56e575ad1c162d56c182d1cb187b0595921a61f",
+				.ct = "06818523c2b9b4ed0c314611267a0321",
+				.tag = "cf268c83f41898d74dc75d4e68a6e333",
+			],
+			[
+				.count = 7,
+				.key = "3e515484e6f96f37e7922b3e611fe5ab",
+				.iv = "439e89b5360e5302fcfd4aa3a2cc845f3471f88250d4ba5c3bb196255ddd54ac8d37e3fd448eb0f5a3dfd623a238aaaee1ced636059b47ec931fbe4b86c1972aee391b4cd77019d75cf32b8ca28b5ec9170597287420ab72bfb4349192217197fa245f9a441c30f0916ffae2b0088a779c6a243194fa44b8b87cb4d7f5f05b52",
+				.pt = "5265fc0a302dea573bbfe24878e9b19c",
+				.aad = "3914c4387a0967949a829404ed604cf94474cfccde487a4a1eeb5fadc4ad32c43d0d44c58cc3a377e65826d64d77cb63",
+				.ct = "45bb9ae245581c6542291d332f4998e6",
+				.tag = "19692c851803bd531e119be6775e302c",
+			],
+			[
+				.count = 8,
+				.key = "0d80390803334a0bef756acbecde550c",
+				.iv = "56d1d6f1f42c5d37ea7b0c90848de5ed97b18f9afcfb5e1c6898c39e17490f03844f45437a3afcaeb1cb33f0c6863c857ca9bcb9249943a46928cacddb725ab135936b15472acf9a9e066f29c9b912feba026cd6fd933bef5779794f55377119d68e7abae028e9ab7baa54e4ab3f39c7ce66bf9b42c0a8805dbbb1c41a7ce6f9",
+				.pt = "9dcaee281632c19c147dd8ef0b8e0abe",
+				.aad = "c1799bd3c4dc2c79b0131b0e6cf6c69e975a0c6f522a806ef312d2c5e9d6fafae617d4f5fb499f419ea8e60b4058bf41",
+				.ct = "ac158e43ef63ef4fb87df45312476082",
+				.tag = "8e9c38d0ba4e581da367b20967ed97ed",
+			],
+			[
+				.count = 9,
+				.key = "2954cac26438ef31d806040573eb815b",
+				.iv = "40121dc80df7a968ea9761e5053c55df76f37387def693b4f7292a144b5c25e16db5d2e21aa797490e4308a5a589163475388eceb5d0280eef357b3bc64a2bc4b646523aaf185fb8c43fdfad4515f81bfa76213a5ed644f17bef5db6e2bbe882e8d46ffed96e26fcb9717dea9a52f6ef42dee84ef37c05111889e76e0a6ef87f",
+				.pt = "5212860f3b053e6aca741ddb9499ed22",
+				.aad = "0cdbd1297a5ca559c78b38178417d7bfe0a84785ffab6ca6e7e83efba0fc596e41f0f16a623363004c1930295a296f47",
+				.ct = "ea8bcc4edeb0fec7be444af10a748215",
+				.tag = "4bfd04d1b56d057af64f7cf95101e9f4",
+			],
+			[
+				.count = 10,
+				.key = "0e8a65fcfc56c49e6b686125aeb2b4e5",
+				.iv = "f2bdf82241d071b3475e1cbb02edc5cc3062bcb0c6ad735d6773e2c7b56e18a3751f403b3a77d8042f23144e312a9fe4490dcb3378bd5a40ccde6481df41d7e28e5e2565672c5b75987a85e4f174b1c13e6e76b2845025c9136ea6ea539c23b6bdb08c38736310adb86c3b3bfbad29b215339fa1d50b488d23557bab8a4970ad",
+				.pt = "d833db142971a6c0a77ad0a3b6c3a026",
+				.aad = "a3f334f7e4f717380d96d1624729c839aaf0aa7c33b7583397d34b5a42bbac7c4a08763ba550eb8eb360b71b4890baf5",
+				.ct = "2a92f9bd67d9ec0c2f6e1b22b93ddfe1",
+				.tag = "2e1f81fe0d3310c3f96cb1d90724697a",
+			],
+			[
+				.count = 11,
+				.key = "c65ba2a47fcd963c8973a7ccb9d704e6",
+				.iv = "63a61cb6b114a351dafe7c8ca8cdc9ac5f0f7c2c897a6690c5e33984607416b34f96ceebc433c4f2380c485433881fa9f0bdd1e0cafa2fe22e7c44d45bc91406efec7ffba67974aa3dd842a1b04ffd512f8731ee359011f7aea3008085dbd5ac54ec56027c152e14cc7e472d6da21ea3b32ba53249d69b94ed9672fb6e6d33eb",
+				.pt = "6925ba440c6876c00371f0d465d0b61f",
+				.aad = "d6f8561c41a2fab60fc3ffc0b81d773644ae0b66b47973a34174ba205f9fd7f6691b3ac8380582f02b381f8ee9db93f5",
+				.ct = "84bb9616219d0ba22ff4a175877c8c62",
+				.tag = "2e9cb8dc939d0c7bca444493890509ab",
+			],
+			[
+				.count = 12,
+				.key = "5ca498717a06113152b47f3c7a0d77d5",
+				.iv = "dd86c2457bf61ac9c1b9312d2eb1f2f2f7ff05fdd29b1ad27327493e8357dbf172c2659b57c68bc4399b444fc14b89564d7b406b3fbbd1055314c70768ffdb47cbd954b96e1eec73d30c7da0d0c6042f004f5cf5626b02d381a2109b21ef820dd7196623fbd232e7c0073a4e5eca5482bf7d1828a93acb13c667ffe7bb7d5986",
+				.pt = "19b3196beb87b6888698c1d2bb30259e",
+				.aad = "e69fb841869ede2727f6969c9affba7880af66812dec20e69c548741f7bcabbcc94d0528ea016b4c94a1fc290d6889b8",
+				.ct = "fc4e9e55f9647030440c8bf98b186b3a",
+				.tag = "e80a71dc3689a403d027faac8631254b",
+			],
+			[
+				.count = 13,
+				.key = "075461e7afff41f2a139868bc5ec8929",
+				.iv = "6d208f70673ac88307dbdba05de560be8eb1b17d7ed03a571a60ec68f7fe68602692d5aae83475a679faccb384bc8cb0cf365fe550bd2762dd8eb1a5850024c1045ce36c50c7c1bbcfc499ae5a722c46b684c4ad2da1608c7c799e8cf1d175c8f9e9125cfdadfd1d75d7c0be642327dbcf3f8ee15112b56cf3678e2fe586f155",
+				.pt = "0b2f984b8da2f7824b697f4a0c44524c",
+				.aad = "a76c59306c56a0ca190f25bce6fdf50dab7ae3e8ac9890bed4a7072c8bce226066e1822d3e8249014798bc267d8a4d27",
+				.ct = "fb483dc63ddb1a504b0ab0797f15364f",
+				.tag = "6a7d2bb481c79d6a4bc6904248a22c15",
+			],
+			[
+				.count = 14,
+				.key = "961cacc48abf8760655272b041c5375a",
+				.iv = "b73fd1796819a583dd4c8ffd7f93092015acc85c1d172f06eab7924a19540279c5ad03897dd3254a4ee60699f1e0e8e2dc4113e4dd9409310a4c59a9c2d44e9f73df29d80f874e83d3bece0beba7eabf19f25fd4cdf610b617355c2588fa6604d4df2c4ea2a0d086fb0c807b0a660632ed7cf7fe5c36be76fe0fcaeffbdad515",
+				.pt = "77caffda692d4e793183006dcaa94848",
+				.aad = "475cf0140f6102a37ea36bde7e8dd0cb73f8c5a49cfd03895a42e73478a86b57ef2d81f4732ab626751d2b93a69fd3c1",
+				.ct = "6e31dd8df13d1431614269f2d181568b",
+				.tag = "7607f7f9be99b5512fae9a8f13f4e178",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt128-aad720-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=128,
+		.aadlen=720,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "826d70b7e43d170e46577c12329c30f7",
+				.iv = "4d7199fd548b1f84a223db8b58ee08285f13a470bf4365d2fdcc561667804236bd8019febfffe6b82866f6075c67ecaa11f6f1c8b15a7e3926b8a1dd23fe1af90b17c920dc08cf4b7524a48de53a01aa6f865a042bdfb304c2fc8d201d300184a3ad7e74311d45ac7d0f20a9453c658eff9b3e198263011a67cba5bfdb750e8f",
+				.pt = "555259676e676ad6e930d59ec435a60d",
+				.aad = "19b24f6637acb67c072a6c1033c55dc15f0425b310a279f4ab7ca9962d49291ebf8754b24004ce2f006b2123697694c07f0318eaadf13c7610fda5db9694f4313fb5f5e74eaf29696fab4dfa3917c89e225de5cd64a6fd556478",
+				.ct = "2431447ec4127b056bf8fc95fa0e3899",
+				.tag = "b305a02a48109e50f22cc4c280669a30",
+			],
+			[
+				.count = 1,
+				.key = "772c1a891b75e1fa855f25276787168a",
+				.iv = "cdd8e8f6aa5da419c17e9b8d2f6652c17de46fc2d905efc39e50e8520bf2717ae31220583164976621a7243e5587091e1ae97bf3f253b24176866ef8c33383264ee12b4d08aaad07128db1c64de049e8a47aff2b6f6cd2cb4f94b373b5148a4811533da247dad9ea214d2e110783aa340139768145e63293746cde5e6b7b4bc9",
+				.pt = "e9f4bc89ce408eeecf8370dc292719e6",
+				.aad = "ad328a31f87d2010eb0b231dc412f6a7e4144867d1c62277eec410b27f842b76bed8e48e5d5515438cb345a028fea53c1e49ea8b71d7ed38582328e8e4bfbc02f5aafb3b20dec6debf20da704235cbb82c6e8c24ebdbe8a9b657",
+				.ct = "fef33a7f1550f5be65625e461a1ad42f",
+				.tag = "eab9b8b152b195870a9c216378bc2071",
+			],
+			[
+				.count = 2,
+				.key = "19e73d61afc24d54c7fc7b0ae105a8ca",
+				.iv = "6dca21dadc1cca8e0fcc0f002cff11a232db623db1d8d0135a32d6b78dac34b8a9ca1c413e1aab499d75b8488561c3551f5b4be19ba01e6f8a242aacb0abf5e6538c4936764fbf7364d6eb00a9692e3db02a282649735a7bd582ca49253393d8839223e0a977cddb07f644c83ef41a1516815107c6d1143545a150039cdf19f7",
+				.pt = "4c8b2bd92ec23cbd1e99f0801ea45309",
+				.aad = "668d1102ad995760fe9b484b3707066a069e2bb8c2c00bd7aa3e7d604410ca0a3d78dab808068d9fc835dc0f99d8537c14681f03bb12c9c5b55338236a7def432c12fe26fca88c4fbc093afa0104bfd4719a612d7e87f70a039e",
+				.ct = "bcfc8b75531f64a7445b7e00634c8fed",
+				.tag = "836cdc33ef5c4d184c26f9f49d6fc4d7",
+			],
+			[
+				.count = 3,
+				.key = "24d459e6b6a384d238de7d7f75fe9d08",
+				.iv = "32bb296ad6765d370f4ea5a71899d59c906afb291e6e07d056777a90b358c7162d05663dc45b32b1019b5431df9e43dad23ac7e700dd1899d506d71a3c76439ff7cf9cb2f76d01266c3efc489c7cc46da9ac998987bf9b17bd91a8eef7103e24dc768875734504fba567f22666e2ddfe7c8007dbac8c9aa4c7d11266a2290494",
+				.pt = "7ea694d8bb743266ceb889ae5d20f07d",
+				.aad = "7381a95942c2d50b4bb084b888c3efa6dd497f3c0d42059e521eb506d2772bb533263264d1635b1528da013a8a4387108bf544a40e02faca21567d75890fb7f71a3ac93252c0d57ce5c2d6f8cab2258ae81bdda4aaa6c77f02c7",
+				.ct = "57d55df9006b484b02295547c5048279",
+				.tag = "077099da5fdd7d44ba82da217f1aad31",
+			],
+			[
+				.count = 4,
+				.key = "e4ffeaed95a9ef858dc97a95f74668dc",
+				.iv = "d49827c5e3654b321dc7570597b4ba35f4e02da72a8b66e3f92deca8051e44c76ffc9ae3ff8449b1d8906ed4240edd53a6e0ddc70ff5c2538cbe4e885407af4dff0ecd9f490f0fd538677aeb3a7724357bd4fb7e8b0b44bfb858d587b9ec8eb451b21766b4e6d411d15ac33a06a9de8cc385274d9c9585dac8dda87fb9951b9e",
+				.pt = "f2187c4c3cc5a0c52293bf56b7bc2ba7",
+				.aad = "a0efe5ebef80e19303bafa628cb10641671145cc157fefd98b7e045d903d2367988a31d070e5c8bb8ecaaee1521af7fc4f7aab0ce4d8d7684ddf43037066e8afa7058ebd423dd202c057809a2e62275f6193e15eabb7bcdec042",
+				.ct = "d98d5a6fa189801b77b36a0f7d90a2c8",
+				.tag = "7b1b26d668b2f6e6b01be03d945c805b",
+			],
+			[
+				.count = 5,
+				.key = "c3e9999555399af5515ba53412644916",
+				.iv = "8e71701dc0992c099af8503b1a1417e72429d5f74b6e1dfd38b7bb6bc583f256ff76ea3a47e61beb2cdb24dd90b7de08340d049614ac7c96284cdfe781343abec8bcef483acba538ce82b074008d0480a40a074a9f6c1af03c91676cde2191cf2cec5c556793e816ad2b896780cb7b04d15ae58ce1b19500b1f64fd97794dcee",
+				.pt = "3ba0948393f88845a9334e96db8c0351",
+				.aad = "2c59f6a51e6b905558d0cba1af4f58741fdbd9483f306d22b44dac9e4b9aa0f7dde6f52b54d69e0d77962b131f8baf85e759d106e4c294db4dd078ec5b001afbfea209b6c9b41d160ecf20a5314e7fd5381959ae4c8869e88667",
+				.ct = "f1f00ea8eb50d7f1f6fa595ec4a07a6b",
+				.tag = "5e576d2a7d17aee3ec23a9703ae65287",
+			],
+			[
+				.count = 6,
+				.key = "bf3ef93c8b1b7e0183399c7ffe9de3a3",
+				.iv = "cc5d919714051ef00ee7be92ad14bb40a447bca3e9313e3a3508af9078a2ff13517d36fc8ebb8d12ba09c31ad96eb57bba141bd2c3ea1aa77e88fa9752ba0e1fdde5643cb6dc508c98ae9bce567de870744552308a827d76c96d56a4948ac78575529a2ac91fef6a9b9c204544eb331b3996da19acaac9e67e92f8b9e5e8082b",
+				.pt = "00c7068b884e1b5b92fa586ab8055f12",
+				.aad = "a1c43e48f38fc3a54053e4dd6d35a68929ac959fe844e4b7d5f90a5b4a65036fd445c5effeed93678c046875b6e904c144faa238c482466a5d9d27abdd033d19859a880b33145d2c291d6d724eac02a845c11179a0acc07c3369",
+				.ct = "2d70a23f2b1959e36c6272e8c93f657d",
+				.tag = "2c63129773842111b4cf61c6de00c364",
+			],
+			[
+				.count = 7,
+				.key = "e06903d08dadf3a48338dfea872e50cd",
+				.iv = "de949abb2ce25fb1fda463c0de56211ce9adff3030edb9b2edd6af20b0a69c6a1dda0dac6968e7116ad71896541445a689e532213853aeb5094028b52cddbf355e364f98b4688d63b100cca9193e277dae86ba507c42376e0d1645c8925ac8480a6bac35a25a10c03aadc77a7c1c34e881fea396165477b0dfb3ead77214f461",
+				.pt = "1de9c0e5920593ab4c212b1f28efd92d",
+				.aad = "e1ad95300c866be2fd25f219059fb89b88e4d39c71d4a9866c9c7e5d7c3b13a5e0c968b9af2991071ced63719b2830ad4e8839b6955dd7a29a74781a1cfca48da3eca401d7dd22b87cef0aa4dbaf4dcf5c2387a9651fc5418e11",
+				.ct = "a468497d8f73298d351072f80588bf7c",
+				.tag = "8ae9b51f39befe7d1fd02392a6ca4b76",
+			],
+			[
+				.count = 8,
+				.key = "b0dc7ede51cfc74a81a5611cc81338e8",
+				.iv = "7d30f68778fb9e47beeb9a70af0cb87fc2ae09d044200dbd47db254ac6115e707b38fa03195575b4f4e5b9294c3fdee69427e461f806c1eb301343e17070decac7492c78915d4b450418303e5194c61ceaa26c9318faaf6090922152c82949ba5823024a710e32810bf5c092d2c6bcbf55800945c1fe7bba3b26e3ba2b7f847a",
+				.pt = "8793004b8523966396c3c5e8af0f0261",
+				.aad = "b469c9430f975bd4ed0e305e00f56840440485f4ee01f0f7381b36bf111e9615f45025299a3535abcac87af2bbe9bbb74430dac032d10df0cad42df6a88764f48f1e791a9ced3b1d5ed097a172fa8ac6cc02e4fa2d957ef252a8",
+				.ct = "243ae94667a85ddc2f07122509d006b5",
+				.tag = "d85dc251fde27d792ba10f2d6242d4c3",
+			],
+			[
+				.count = 9,
+				.key = "eba3b2a97a08a578516551c78ec5e4d8",
+				.iv = "6e4afaeb98923bceef1c745acd3ee17baff51b4d50f1ea4030a3c9e59fdc17fae5def607acbf78dffcb2f3243f723f84db77b795574833b4dd37c7b83241ef2837c11598369e633628cd2fce4b8deef7b6a9b18fa634b15022c55acd517bab6c1dabe596470005f8bf667aaf4a816433844c153bd8dd10f149e5fc0be57a4b5c",
+				.pt = "25bc1042cd1072cb65215bf6ff6c3c89",
+				.aad = "06f0ccab1ed91e9f5cd843f65f53ee3f5593f72abc6e8d9a600312c46edb7bb0fe3874a7ce9800d6a1ef1fa1bfca40599e07b1b1c68a1d7a263e83c51f461bd321d5f1c3626b77969e84245a99b669ab0066b5f219fb776c58ac",
+				.ct = "64fdaab2ddf219791eaa50fe3063f354",
+				.tag = "139be070c65e869ef8912880fe726794",
+			],
+			[
+				.count = 10,
+				.key = "784c6409fc5eab0e82430cb92a6fe3bb",
+				.iv = "62ba2f72cec1d638889a4f30f81fc365b4550990aa6ec41d48bce7c477a3c31a918a75af88f4a990117b28f9afa1a09f5ef925017a20e60accda0e79677199f43796aa73f497620cfe9fe17a1f1eed7eda53cc8d6c37b46ba8700825c68c184fe77ef1e38e2cb695504e854e9e1d2ebd276f95ad02a5904cae48035cab92dbd2",
+				.pt = "ddc0d20c70032cbf8a98b47377c6a1bf",
+				.aad = "80b92f9dbcec80cfaf76d9530f3660eb00e4906ff341d92b9f8682dd948ca4b2bb87083747a66bf600fd66481345f1a56e438d0630fed5ba58ae201172df57a7674c543612ec0d58f35eff9b2856566de1a2eaf7e3b9679d188d",
+				.ct = "73efe97442fcf31d119c1eb847ba0f8f",
+				.tag = "96d822374c0652f90558cfc4586a2526",
+			],
+			[
+				.count = 11,
+				.key = "c62acce0a01d46f9c40d13eda094743d",
+				.iv = "dc60e9b4e808790ed482e6f7883de35547c4c99544e7b6093003d84d7e5beece3a1dbb8907adc6cffe33acf7fb8b8e89c2e5f664af99c9a7d042b862c698497464ca20209b919d1fcd93e377168c38a1624c5c3aa6ee94b1248b7f87e74b8930c79db433f2ac491a93820454298e3707e8173758fbb3005e0c8b646761fbd490",
+				.pt = "9101404fbbb4dcfcd616dfa670b119b6",
+				.aad = "d50ce010fb6cf9b1c0a6fa1936f3e01bfb8fef5e23492b715e10df6e90439e1977e2872013efb4f6f13abf63d10fff0f3de7e069c0148d90109d6cd9b4be5ac46196931955d8b9051958b733612a85309385d09883817043acd8",
+				.ct = "34d9e363dde97537ff61ddeb611c23ab",
+				.tag = "7a97e7306e2c9247db5210f545c5b6fe",
+			],
+			[
+				.count = 12,
+				.key = "31075fdf470985635b385a97af878d8d",
+				.iv = "4487989e3ed267bda1b0bd1be8d33f51142ddb291a348f01e7a917f27704558c6c0d874f701e96b500327e4e06cc400e57fb90c9d92e026691983c6aa58bb8667710169bec3dafdd835131502305da39710e3300701930a6dfd30fa2351e58720d709b683e8350716b6b0f96ea41a7521b69cbe65f452e51fc27c22409c9a1ae",
+				.pt = "fff37ecbd564b9eb581f25dfff7ee41a",
+				.aad = "0c44ebdcfe9fb6b8d316dea8680bf07ea5ffc228db0a196c8872678cb29795ade9504578d7eeb6af5854b2b90b8b1800699af1f220f949aa9ffd620a948dc767d0a2637825c62b5ca8afbefaee7ee41ca83f761eb221b4101ea9",
+				.ct = "772737a39e1bd0060feca360d6b268f7",
+				.tag = "f279de5a3a307bbb62c0a525a082ffa3",
+			],
+			[
+				.count = 13,
+				.key = "3b72c36d119d57e044ba3d0b3318f327",
+				.iv = "83bccc417ffca80e4a5c80a458defa7705d9743d88d2e9cb94562d2802156564a8919ce2a0d607ec50ec80135cd54ae11fe1c28a86925828967de669de6843bdfacb5e3dac1ec2fee172916f65b4121628c9b70f38f45b8c7e1fe223b70a5672f73c42de342f54e99461c099fa9cbc77a748b742eca5939eefe395d1fd32df84",
+				.pt = "61febc305f0561ed051cf7a497c3c217",
+				.aad = "91b7fc19306e4c4ba18dc564361603197a0e3a51fff6c938732fd7840d03aa0dbd3ab15c29f3a7f374061f3e5aa1739260d5a527f66acd603cfb6bc6552dac0874f482d53ac5e8b125fa6d76e8ad6273ec571fc8a0cd2a43f37c",
+				.ct = "674404a88283d9c4f3baf94755ee37dc",
+				.tag = "f21f73c63a9f9a8a7aabfc1ccbcaf847",
+			],
+			[
+				.count = 14,
+				.key = "66bbadef259666cb3800267d52ce9070",
+				.iv = "c26a06675350e411359ba64a3de998885fe9e856e15f3d64cfb038f62287dd4d2f95fb9e968a6ea375ee9b8472861c9a958b9df74c13520c478bc74ce821efda7ea11b9a1cd4f1a74fc9c7c3613db80e989977612892d862f75519ea8bc6441f01c598ac98639bc4d1b09d11bf40c92e0dabfba4008e067e525840478456ebc4",
+				.pt = "8cfbc3c949d75f62e369dd88e6e33eb0",
+				.aad = "c27ca115cdcf014a0633fb2e7646b6ba84181f001fd94c2b8342d79d53d1049802eef973f5c40c0aafca8564fa820a7caa128792d20add75ee9b5c458e286d53c21fc6c129c21d9f51bbe8c2aa4374c4abeb9bba7290bdee60e7",
+				.ct = "be09fb3a97ae42c1172aaad7ac6b53ad",
+				.tag = "3facf16628d406423dc879e948cad068",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt104-aad0-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=104,
+		.aadlen=0,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "7cc48990da9aa2afae8db0508c197701",
+				.iv = "871144e7fa1e3b33544822707c86c9aa286ecbc588c1e6cb40ef4545ce524602c1c6242638e945cd5ea7e3ec68ed3949eeb7e230b0865f1e914410a9a31b855b51fdce9c43acf713089e2b441a980f6fd79a61cec3a23f01161c2dc78b3e536a798b3df75af37a68ea364a60793f4153dc54d7c3dddc83b5afa8621ce44ef9d8",
+				.pt = "99284284bc26f2eb69d4815e58",
+				.aad = "",
+				.ct = "d44966f882183f954c756d90b0",
+				.tag = "832e618200ab496b35d5dbdc301e7eab",
+			],
+			[
+				.count = 1,
+				.key = "a5f50ed6a1d7a45b1d6a58b53b725156",
+				.iv = "725a6b2b5f2977f234beea242c53042eed7bfb97b58ba8b9a0e950a8fb6a1d58396090d4ff7cde0f71d902f25c812c3dfa2a25fdb7062cef2c66a090ec10517f7ff3bb2f47f2e32e07847cb70d0145f3c3cf25ea4afcdd54a54ea30752415b2182cd0f1f51d963a7f7ec1238dcc52f77bb7eba221fde93dab873a67132ac67fb",
+				.pt = "5ff0c6d4fea494f9d59395d3f1",
+				.aad = "",
+				.ct = "8d7e976bf7e1832b993879c50b",
+				.tag = "dc1be5529513c62af82eca5fdaf8aae8",
+			],
+			[
+				.count = 2,
+				.key = "dbababce73d842b6d0b38d9c8284a3fa",
+				.iv = "408a39f4286eba33ff86c6bd40d9a9a1b13173991025ccfab7d2b2adf1065bf72ecf063c254a03e09ad9973dd812ed7550e7eb590c68bbd12fcfef3205e683dff9767f1da1a578a824d6e00fe7b2a1b2a88e14a344ad19043d02cf33529697423d5f1088c620f698483c4adae5e9ef645f331c6611e6b2adf035bba25ea77628",
+				.pt = "d0997084062d57a7e9b27663ed",
+				.aad = "",
+				.ct = "3d50e3ce144034d1d6776a4b3a",
+				.tag = "a57cba04ce293792f8daf72588cf307b",
+			],
+			[
+				.count = 3,
+				.key = "9bb8992a2494a4dc9c73f5f16e73e64c",
+				.iv = "448adb8cab7ad400338cc1427d65405e0839f587b0586014d40c407726b0256ddca754cc8f356bc368b7ba660c5ac5ef813a1750823251758e3a08db313d091acf8b239551d5f6adf2c9abab47480a58b06ebb9481452520e4c23b464e11af5bd914d77b9136f70299932213b4c0bf459a8c6bc97c887f015ef944ae9bc8d430",
+				.pt = "0f94f9e98509546a1e22471892",
+				.aad = "",
+				.ct = "34c432cb7f966608482205d6c5",
+				.tag = "3b64923ad1131d2ba68619dc8d24ca0c",
+			],
+			[
+				.count = 4,
+				.key = "ae09bfa31133ec1c4492904d127bc2a8",
+				.iv = "a2c8882bc2f8264db0c625fbcf7ca4b759d349214262d918c78be092e767766773fca2a2f9b672fa1764ea7dfb6234bce01c66e4e69a3f999c0e1f2f6b866241385d6469d5c654a121347126e231c077310dce27be3c142db79d6b18326c943598d32852a6ead85cd8d177ecc4f8d4deb8d94fd1e4d5f11a79aafaba7623f331",
+				.pt = "3f50e9bf24b5876474345d2234",
+				.aad = "",
+				.ct = "c3fa9808de28ace8ff7cdd7cce",
+				.tag = "c8f3ed9852a30d17e3e10be538a046ec",
+			],
+			[
+				.count = 5,
+				.key = "3042d7ea70b635c043778aa61adb97d2",
+				.iv = "260e30c5a7e2f1a17d4489cfa63edeee4a7e9fe74c7f9575063f6229c8c01c53596c5ef1ac800a76384bf6d0cb399a9218fdbd4974801c20abdde7a4fe9af1a89d98353fa5a74de009e231cb59a6d27a2800e26201df6ff14e1b07285d11f542da2a8e021ea9f39de95de2978bec3b8f53403d143f3c25b1de24b48d85d5e7a0",
+				.pt = "f20043418629facdbbede3d037",
+				.aad = "",
+				.ct = "4add3d10fef4c5271e8bb43a63",
+				.tag = "ea5bd5e8329fa3fe008910c176fa9abc",
+			],
+			[
+				.count = 6,
+				.key = "87e5b158b7201a78a0f44863b5c7909d",
+				.iv = "29e141122b7eb9f21678ce544c984af757830eb619d3a0d29748c7c13d67b39ebde1613705f9b9a153b4c6bd68dd224a00e420d6a9e1a05e8f2053aa4c2d4984c6c3ae7346c430d8aa8fabbc9cfb4328851b3bcaa1cde1cbf7d5516fc64d4e33322bccdfe061f1c73297a4323f8b55938831cd30103d7cdd9ba5a7ed0de94ee9",
+				.pt = "9093d3f2009bed9ac1139d8ea8",
+				.aad = "",
+				.ct = "68ad548959bf569ce0d2a91675",
+				.tag = "cb4b62062283bf6ea0ab0633fcf7a798",
+			],
+			[
+				.count = 7,
+				.key = "edec755ad970aa5f720fde8f8e8382c8",
+				.iv = "753407b03b024214349ed93a10d5623752fc3e945b430e9bb05dab16d55320011bec9bf2420f0fd6083b3ae196b3c2f97cebce5e18487b321b727e498c0ee669d8d5c2c04d3274060fa393f748f3408db5dfdbb17d03b6c9163a6db5af55962384a7954ae353e75cd556b70b0cda83c3d4c20b8f2f930c74daae13e263f600f5",
+				.pt = "2325b95284c7ec9bc98fef077c",
+				.aad = "",
+				.ct = "12935e16fd61e5e5db6d54b2e7",
+				.tag = "a4ee15f027d24cafd81c3d30dbeddf63",
+			],
+			[
+				.count = 8,
+				.key = "a4a8fbf79fd21c731d677b1f88a298c4",
+				.iv = "7db8a629f0404de400e06b235eea8c44368bf6544132302904c59bd8105c8cedfb61946817f678dd177a6b45bb5145381bf3eed725b3a9be8ca680d32a0892e393eff4c22e19d5bed7df7c38e3b5e3b74ea73ffb8462f75a3a5be05aed675cba414a656320a8930e910cbb5cd6eb5e543402e8bf42f67182daef5be3b77d9235",
+				.pt = "c9a0a1bf7fdcfe0d005cf45ccc",
+				.aad = "",
+				.ct = "5155c2f4e2bcef7854166fac6a",
+				.tag = "f7b752720f433b5c5cd76f10f6d5799a",
+			],
+			[
+				.count = 9,
+				.key = "71a2276613eec434a12fdffcdec6cee0",
+				.iv = "0776de768c513f12595e4fd2d505bc4f12e072941f7081e41cbeb39062088a1ff282817660dc23c8d91391c6eea4cb364e9abbb0a43617d17ab1b01db3328686d466953721895a51e991eb8cdd40818fc4637a92581f912962d82010bc36f9d5b6e7325a18f46755314e24be5db691f2b129ca48cb5b7f04a307d96a9ec7ee14",
+				.pt = "161488b071facd5c890977e5d7",
+				.aad = "",
+				.ct = "c98068b212772bc6fab9517e89",
+				.tag = "8d42ce08cdbadfc3a472615fd1403dcb",
+			],
+			[
+				.count = 10,
+				.key = "5249b055e4ef100559a1f1cdc1b84344",
+				.iv = "c5ab995cad9ba4025f9780e93ec59e18cfa1185161d48796932f3f5ee226ae1f33eea1bf8651e63645281962949432f2716fe753ef0dc68ac0ba7cc2fabbaa255956c170b452d7d3ff1ea4722b324f437e8dbc630228d4475fba6345ba77017474d430227f2a102b58e1ed63255c0c03df4c25eb6657921f99ab6ce75e631d70",
+				.pt = "e5e5311005f708cd589fad3573",
+				.aad = "",
+				.ct = "153a3997ede5ad6abdb19a505d",
+				.tag = "7c91837795aa9518277527d14878a0d3",
+			],
+			[
+				.count = 11,
+				.key = "ae80dac46471f542ef6f26cd3eac37bc",
+				.iv = "b55164c69c2877d7464988f44d8510afa2787131b099812267c95e3ad933e0796bc3afe53e7e8fdbb0ef3a78ce843bd2bec4811e1d77e9c201a6a242d7c56344dd0d41bff54e9fc10917332a16a9b1ba1a2f6daa1b167169b22d1bf92551b58a9178aa59132e4f37426119f8b07478bebbf7871bb3710f7fd644e54d52cced8f",
+				.pt = "6a1771bf6d327d1e3e98a7376a",
+				.aad = "",
+				.ct = "02be215647d1a328707d47a384",
+				.tag = "7454cca37ebd30c9369ce1ec05315255",
+			],
+			[
+				.count = 12,
+				.key = "b876ac7d0428b6af881667ee0b20a684",
+				.iv = "85fe5411e8edd9c98282f50bf81d0abb209f2220d20db8203aab7baa639e2f45cf68a53b081c515d5a083bb900b153336febbbe87e1db46168e62f63b3f2d146908c28276f5c6b62379643b3e77f13bdd45bf6caf049761755ed378513e370ed66d4bbb3fdf3c441379d119ad9294f492f0be54979c262731989ade215298d44",
+				.pt = "58895cc9c24a650bf2086e8779",
+				.aad = "",
+				.ct = "76e2b9fb564ca17a742b3823db",
+				.tag = "21db455bc51eae61eedaf3bfe26700d2",
+			],
+			[
+				.count = 13,
+				.key = "4fba74c0164a1c9efe9479ba6aa0f09a",
+				.iv = "7371cd355804e6cd2a950d952f3c47d0f7ab40779ff4803e2850239dff18dbae97ec2d5ed48b6039be49defdb5ae3538eee5ee1433414c758f9aa73279c9699fa47ec351003609f36d5eb32edf551c50ed587b0a239348d0a2f6a82302033c80cb6823f96d6470b5731f591480a129c55739236fed4070f888f1ce1fb8d4d467",
+				.pt = "0e3309aa5fa25ab7eec7a203ac",
+				.aad = "",
+				.ct = "f5ab3840f626ec499ed3f30d54",
+				.tag = "ea30948c403d38db59d018cb1f912986",
+			],
+			[
+				.count = 14,
+				.key = "f9557ced81b583ae08be9a8a688a8f2f",
+				.iv = "536908a474d72b79e0958e00ffc8aea52d1dbe9a7606b8d9edf3e6205522734a23f08245ee723c66ef045337b02cb2e0a82353efd73aea2c7d949999d3384d62ef3e79241191cfd210a8db09132b5cde7295f93d5cac3fda51b833d5aef4fc0ccf7cf8f8a4666f7c11e9b9293f07fdb68f5f745853b89bf55be7041ef04c28f1",
+				.pt = "2ee0f723356a6d42ce2bfc303d",
+				.aad = "",
+				.ct = "c5e6941d30f5aba47d42d71065",
+				.tag = "f4d85a1cea6bf6666eb882150df6baba",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt104-aad128-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=104,
+		.aadlen=128,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "2109d89ffc1c7d44f2fce0cced7399ca",
+				.iv = "08c565313fd670608a8d91d3cb44fdbb6f813a28eb2f8952e1b61ca152b9d34d557ddb1416ec6b1907ddd46713848d4f025e290dc99d664ee7370643048ee9b7b740b2da4ed995d4afd29f2740d4fd680c02f7c6b508ab377128470f40883084e57a36530b0e4a8ec812fd6669fb7bdb667c00c4973e98599120f0ef2593ed93",
+				.pt = "dff0b414f159c5e4aa632a854a",
+				.aad = "13bd1a2ce87dc1f4fbb409c5867539a8",
+				.ct = "aca41a44ef1c749c5ab1e758fe",
+				.tag = "5279d2f1a30816596d30957fb87d205d",
+			],
+			[
+				.count = 1,
+				.key = "4a0c00a3d284dea9d4bf8b8dde86685e",
+				.iv = "f8cbe82588e784bcacbe092cd9089b51e01527297f635bf294b3aa787d91057ef23869789698ac960707857f163ecb242135a228ad93964f5dc4a4d7f88fd7b3b07dd0a5b37f9768fb05a523639f108c34c661498a56879e501a2321c8a4a94d7e1b89db255ac1f685e185263368e99735ebe62a7f2931b47282be8eb165e4d7",
+				.pt = "6d4bf87640a6a48a50d28797b7",
+				.aad = "8d8c7ffc55086d539b5a8f0d1232654c",
+				.ct = "0d803ec309482f35b8e6226f2b",
+				.tag = "56303239298e06b281c2d51aaba3c125",
+			],
+			[
+				.count = 2,
+				.key = "fb97be8c785cfeeadb212a3908f53ceb",
+				.iv = "c35006f11dbfdf00533ecee296a2a088b9dbe845ade00e03a83aab2a9d2859c512f64dc0e2dd47c8867aa33d210439277cb0a5438c2fea962af2d479dfff90fe3ea452b551c5095edfb235da33deec7b02363f8c7acfae368996088b605cd116fbf59c642ea31a52a2f405aaa69c94c33f0b08af5f2dde40d1a4e4c238aca8bc",
+				.pt = "6caf4667817cda3ba5ecdc77e1",
+				.aad = "1b07a0ecf30d25a40d8457c49c72a328",
+				.ct = "b5b53b5ace04ac6dcad12e1c28",
+				.tag = "4ac51884a209857655a527ee90e296a9",
+			],
+			[
+				.count = 3,
+				.key = "b1f81ca2290f4fbc41a3d46f896ec923",
+				.iv = "90d65409efd2f5eeb9edc0d66ebd0765be71103673379e70bddc8811131774b989ac9951ecfcd25cb8a301988c92695015ab815ee7c6124683f6129bdea815be05686eeda1a09b6104abb917bca0bbd1def66f4ed23a95e900880580020cd48823d4be19bf82672e39eaee83f292028d039738694f90702f36aa38e765e5d5dd",
+				.pt = "02ceda49d61b92153950d61eb4",
+				.aad = "d0fe9977d14b1af9c6ebb61805604711",
+				.ct = "8a6abd544dd8fd86a0d3b8560c",
+				.tag = "aadefbbc614c7932e1e3d7b048ab8453",
+			],
+			[
+				.count = 4,
+				.key = "52d7444e83adc1ec7aa96d256a054bc8",
+				.iv = "5de24d31c6233f33b57016f29a758fc4d1fad0b0ef8cd11cd56c09937fc41f71ece87a8700be56819833d2bf66bdb38b1e7407625e24bf5208f7bb74966ae3e4d0d5e5e047780c538b05e61323005534144edbf54a48688d0db383b6b17b57d5284534b910d831946a255a78795e0c04a9cec1e5dca6142e619d201320f73e82",
+				.pt = "6e28ccd161895462ac5e67090b",
+				.aad = "ecc0cf069acb32174073f221e190536d",
+				.ct = "353268d0ead18f6cf77a470142",
+				.tag = "646dcd4b78b62fca85941440e90a099b",
+			],
+			[
+				.count = 5,
+				.key = "4084afe8e1ce9e37b7a15787087da434",
+				.iv = "028a05a6f9536316861e40cde25233206d6c6c3007c60ba747d68d1adda85fd410413871dd32bb72c44cb839d6d1a4a908da7d7ba6677523d244158da95ad041d80f263bfc0852bc9496fcbf3757b466eb81d2142bcd8555f2514ed5cf279a5827d24021fffea57305c9af3b2f55ef17d1fd2374356de0ebbb2e8c135b2a315e",
+				.pt = "9e7c7ba42a6cc167fa390cf139",
+				.aad = "13c89168d1af52c3b49a525b40a349b1",
+				.ct = "c30751124108a376cb84263090",
+				.tag = "9ddd7128d75725a58725a2a0ed2e7cfa",
+			],
+			[
+				.count = 6,
+				.key = "f279075e7f37c2cc0b2a2ce4bc91de09",
+				.iv = "c0c27fdc92c1dcafb4ab06317c4ccd83eacd9283314c6cd9f2ceab466459f06936222d044da3e0b3978e62d4d83a0f356b1a6d0862e36220f32db384aa75c4a6129d8134caf3becb1d0c720db4cd0fbaf01a5589061bfea6b8cbb3eac0793781203025a421758636873d45d4d76cbe5e48043499f98bff4fd034f5021a119343",
+				.pt = "39e5fdd1d2b8514121837de531",
+				.aad = "f0b3b63f7da01a55eb4ddfbc6be27d4d",
+				.ct = "f1fe7bff6415b097fc38e46ba8",
+				.tag = "0c0696e95b8d91c3f3e52e234485af0a",
+			],
+			[
+				.count = 7,
+				.key = "70d6672dcb24b4cd6e9d47d41b998a48",
+				.iv = "223ba3707703990f622b24bae0d49aab7a7c09fb03e05caf2af8c4f46a0f3886c6a098d2a53732facbca5d74adb4ed438b5010d447e05f498341db6653c831f06531dfe1f9f499344672267f817a135472250b9aada0b5eef6c879fb6f7f611af66f3778d746d3953d83759dedf4fd169509ae98bb0bc0f7b035952e33b1b87d",
+				.pt = "ff6afac2e643043d9a9c333b53",
+				.aad = "7dcac337958a357183f821a538d60264",
+				.ct = "02b626af9c6d2189bf7470c48c",
+				.tag = "d8dad246170bc2601cfb506a3830b6a1",
+			],
+			[
+				.count = 8,
+				.key = "eadefd234d32e4335387db9aade09dc6",
+				.iv = "9108b4e20ffdf35ba77632ae6bde90a39f31c9ab2001327f3552a39d8c4ac37b67f8d7e3603a4a1e9dc6b5874f49bec9922726afcac6cbd89903450008451e1bda66590b3541258473680816d22254427e10ac632dea572b30a2e1ab937fd18ced41d0009f797eb22b6b6b0e1e46492e56dc46c546bb265815c5417d5385038d",
+				.pt = "b5b1a3acb2e92a4c8a435c71d3",
+				.aad = "a6673a36f0cb413c0a7fad58867975c8",
+				.ct = "0610bd5d72899b1cee4eaa295f",
+				.tag = "0a99d4473a91e9623a4ad50253e8dd70",
+			],
+			[
+				.count = 9,
+				.key = "1348755ac474a8cd4069014ccfc935ef",
+				.iv = "8b8586028f29a728a8e21b94558e2e37cebdf0f264c42ead56a0008a539fcba6d5a8c38b342338ddf31e904062ba6d697e2485aaef91d9a5df1b43ae0fdef6678a7a6ef6e7016c92fdd41a3e26512a8f88664b60cb991c07087daabf68c6c6911d9808776eaf598c5e921bd79dbd5b47cec40d79c2e7b65a3a852a54a0829caa",
+				.pt = "d0d482216997c9134487d5d271",
+				.aad = "5baa6adf04f018fdbad1880df5fed2aa",
+				.ct = "47f21c4745293a688a5049aefd",
+				.tag = "5d4298b199938fe0ea2898413e06b0d5",
+			],
+			[
+				.count = 10,
+				.key = "e78a3e562d20a77bf65b3ad6d8563fbe",
+				.iv = "91be4ee62ce1ba5a56751e92398421cb8328ef6d6aa1da5731bcb75cc3d3aea88f9ac301cf6468eeb966ba7c99fc31172a2b2230f17221eed835566641aae51c68d8ad5d9d2c5bff5cdb3281f4f00c81f66c43423b4135f5ca7a03a94c5d21af34f4a94db0d5a39c9956bd9eeb0cc7ba4624193bb056f68c9d21b4fe341c1a1c",
+				.pt = "8db7cfba86ac404d50e647c078",
+				.aad = "e4f615011ce41fb3472b40e0b2e7fedf",
+				.ct = "b61d4560075c6fae8aaa20e74c",
+				.tag = "3f45e6080ac520d681746129db47de9a",
+			],
+			[
+				.count = 11,
+				.key = "db2095ad8d5af8c2d69efc58de953595",
+				.iv = "93faae14cc6e3141e47556f5933c0c0b06f09e2e8883a3507fe4f238853c0aa7a07431269dee758da56343a0801eb2e891926c4062563a75ee86c492a90ddf0d363b324b024762ae934d0b790a5b9bab03bf0fd4c5d52b4fbfb5a7b049fa3bdaa225cb5fd6d16b0472f9c6c7abc7e9d17e455e6b6973ab2b8c3bc188dfca4d8c",
+				.pt = "f36fda06c7e48e11b0e58c8a2f",
+				.aad = "8ef6385977840945954216e7adf57031",
+				.ct = "3bb5fdbca4d1569789deaf43fd",
+				.tag = "66e4adc176672a428f2a84258a179dc0",
+			],
+			[
+				.count = 12,
+				.key = "46b00a7b0629561c2c372fc39bc071aa",
+				.iv = "7dbaaffe86506ce4e7e4d7bf99aca6f5c15cc0e013ff302ce6bed9d0fcf5bc24698d5cc8a7f70e80579d82c06566fc2800d5e31ae15980190d90dfd6dac657163bccefdced559b0d8c3309e277e8917f48a68e4b992986101326e9f60c3874b7ad8d37c3fe85cb5cba7bc149997b8f24d21801a546ff0d74962422a3d0c3575f",
+				.pt = "f1c320006695af8cd1b140e2a8",
+				.aad = "78c87bab6595fd9fd93b3cc768183081",
+				.ct = "9ef011920c6536192c79feabe6",
+				.tag = "ae5692fdae51aa24d876b258169563e1",
+			],
+			[
+				.count = 13,
+				.key = "32c80c607c92cca5f87fa1fdae6de02b",
+				.iv = "09b331034b80f07889afc6ba296079369d086cf2cc0d2227f0536f62337a337fc28551f202435b99b3f8f13b5ef85f737a57590cd27a83c52ccea6415788636c7852e9d82e2578a7e58476e24492074cfdb5ac9e345b8efb2509344fec8bb5b17f77b7cb07f23e2ea38475705f05e1f75d9f47ab657bd006300b2d705376ebdd",
+				.pt = "77dad866d1ac776a1ea685ed0b",
+				.aad = "0f1152a4bbcbeb1b0ed2b751c72b09c9",
+				.ct = "8e14a090b404766ae2829d41ef",
+				.tag = "d4dc55a5e9219bdc436ee2f760211f77",
+			],
+			[
+				.count = 14,
+				.key = "d14bdb2888ef63304e2e7f290ca9ead0",
+				.iv = "6543107ea7e97ab3cce8b188b16dd89daf51b83ffa5301cc356653416abe3efb5f3ae4e5cde5cbba4377dd70a645882b7e3090de76d998d94d36d28716171f4217cc3b8f81b0329b10e05712801e2cbd2d800c190a22a0d5da50d8683b123b45fb86ec2d48dce1a1876e5fc887736e39613bacf99e05ece3dbaf30e961c4a90e",
+				.pt = "46f2f6d4c930a344e2ea2ff3ea",
+				.aad = "e2f24894fc1611a28e5017b2bb202531",
+				.ct = "6cfdf363fbef9ed16060a559d9",
+				.tag = "c29ee882bbe3aab2e6d28ecebed7c05a",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt104-aad160-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=104,
+		.aadlen=160,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "bdc157d675b1a426de1883e177ba9899",
+				.iv = "9c2df495ca15d6f2030c1a06ebe97fe6d67808aae1058b477b79750a7556884c04f4eb8461dc3ad2ffa709333c3dd80ba6c1f448f8961e43b4bd11ef57a70b3881a7e5ac0bd34f4de67348d188573f7b19fe0f3c9f21b413ab246f6c8d8f5a1ee76d6fa6fcda64ca1279a8dbca10ae63fc253728c381999a6e68263357d15612",
+				.pt = "803a30f71910e67ca3f3f677dc",
+				.aad = "44621d42ac532ea126a3be70890878b90ada5b80",
+				.ct = "df78ac9a299bcd3f27ab78c833",
+				.tag = "5fbf604c74fa0d520cdd37f494d07658",
+			],
+			[
+				.count = 1,
+				.key = "9eac1187aeefefc5b565becb971f3047",
+				.iv = "2a13efb56f5d4b90e80c8b0e1bc7d218f3013c7538850288f2ce17d268a35913e7183030caa8616035d0da57cba00f613b30c50cc51625feabb091e714f8203f084122eac5660cf3b76d86f7968ffee7512a045ee47a20271cff3236606d2afd785a771fadadf0dc3a2e9394b797f9b688d8a746f92d222c49e0b3d29a9fb80c",
+				.pt = "750830c23d20533c0b36b2830e",
+				.aad = "81cfff5d4d623e43ee9e4fe153c9d7ab027459c3",
+				.ct = "9e7ddbd9dc18caa4fc2d31b7a4",
+				.tag = "25ef83dbccbdf8a6553c34d56ec63334",
+			],
+			[
+				.count = 2,
+				.key = "418a43a41674cf36c88c955ad8353a37",
+				.iv = "111580ae399b077e16f76c2fa3fb7357a6b4e54cb2e4dbc05c5b8470f6d4fcb045062b584986e82275464b69a57f233711752d42ac629434c1c61caef07d0b43c17c9783922d1bf8176b164ec6cf805c997de4b3b2da4f7320b9534a86b11d426363042c666ae641bb68513d18ebd6a19f1f96d9effd45ad1109b6c35952f9fe",
+				.pt = "3919a74cf43dc731a635324ece",
+				.aad = "8d03e7d80e9d00c9c383ba53d57f70cff4cb193d",
+				.ct = "dd67127c5bb5b96e141d921bf3",
+				.tag = "e3cb65b6e0e6b4ec5b0dd14f0b99687d",
+			],
+			[
+				.count = 3,
+				.key = "bf64c9197a7666bb62449aff8b4b0a28",
+				.iv = "2e4c867f96e4091e07e61ca54eaa7fedab8e663098c6c1b77ac0428935980eafd12082b4192feeb40198d37e04a63ac786e0c212cf535fd57c4f49110e77da29fe482bd1f9d8d4280c656e390408715ec4ce197acd1ff7b282cee70b3b3b970ae4d54e95dc576cf57382638f2a4b43c7b432cdb873b12cfbe61503082ff25ac1",
+				.pt = "d191ed88ff7d732ca2c5ac0bbb",
+				.aad = "589ccdc3a65b9506ee6555879d52e43aaf432d14",
+				.ct = "ede9293e34aa3465be879cad38",
+				.tag = "a8525eb12a0260a7cf674a8e5b83b787",
+			],
+			[
+				.count = 4,
+				.key = "c1bfffc08f73e64b8241b65554f13628",
+				.iv = "e4ebad3a2feb6ad7e4bffa70f04d28c53a178bf63e2e4c29f0ba63d22c5cd37c0bf9b3bef1db97aff9dc7406d1a93d3a4eb0c6655fbdcc4c88f732a4db7f7a469a1a1c0d12655ba741e5340d5870a0b9eb944c698bdb7c6b6c4d4c4a4bfd832b2586ad4d317d594d2851cf4791e48b9b2f09dfbc52fa58c8093f1d750947b89f",
+				.pt = "a636b204b8f1326aa705bc9f11",
+				.aad = "118daded7524b8216e8f361378f055d24db29175",
+				.ct = "ca3b2c687e7203feba82e6d69d",
+				.tag = "b5b23606d32257e1dd0f81a48f9c6488",
+			],
+			[
+				.count = 5,
+				.key = "6d6e71f83838fea6824fd658ccf8c9c8",
+				.iv = "c6f9f7457282d4202e88623d93c17d46f8b9171728089af714e94f84b361635e6ff4d5d9379a4bdc5bb5541d467956e840b42df55013179a092d3c7293f140891fd2bfe27169d7301f6fdb228c2ea4117d70c057cc49c209c99e265a12221ea48a6c785893d7b4c2647ca1415ea6dca771652b9e7ad242f2e30ff0219a553db8",
+				.pt = "1016768c71561f460ceaa2ac05",
+				.aad = "22862ea1dfce4d5dd1d831975872ec651849bd54",
+				.ct = "72081ab4814722a897f8874b2f",
+				.tag = "242017eae0a846965fd33721316c743e",
+			],
+			[
+				.count = 6,
+				.key = "5cc3f516e5d515dde93b44592e45185c",
+				.iv = "17e43d8dc118e8a4c41af912704cadda987114f4cf936c09d1c68bd16bb93e2afeb6216c55bec949fedf86e20544d9ee332a3bce69b629292db29448efa0a53c89870923a77416d094e9c96e7cb0bda06c65817110ffc9a04daa97756d5849a59c09a50491ce69e039ef8d66d46e41e5677032d50e475b2f0f0d257fc39879cc",
+				.pt = "652ffd11172428cb3f12583f99",
+				.aad = "4e3a91d98d108cbf2c7d9a04ffb731596f58985c",
+				.ct = "7f64835e76efd4b6e4a6d64be6",
+				.tag = "b101c40fb58bd996cf15f16d1a42a581",
+			],
+			[
+				.count = 7,
+				.key = "d86968e1b0bfc7005bafe6073352a6da",
+				.iv = "5434b8972bcab946baf521eb5a549de03eb91d78eeb1fc8a5231bff91640e287578b573358563897e6549064a6f84cfc06d6de65e0609ac0d5433f790895f9415a0143d471625a53766a5dcea36dd4ac70cb056fef6f19047f97fe34c4e093f1d373407ec93ae67c3f99cdcd7482a6dadb177c9bd8d364d9c8747e106cd0b19a",
+				.pt = "76e01e50b3b87b37e5c1239b49",
+				.aad = "ba6ca437ebd09f1aaacb358ae7629dd642b0e1b5",
+				.ct = "91572d1c8c77ed77f72e2d22b6",
+				.tag = "3695a8f3ef7e89aefa466330f7893f89",
+			],
+			[
+				.count = 8,
+				.key = "ed88f3f92a6ee180732a9394e3d67ea6",
+				.iv = "c40a406e03aa36edd0ed5ab564af901210efe8c19e5fde2af13c1ed93ba519f86e4c0be30f59361f5b08d21921c888dcd6fb26cfb65f644d138266c95c5eeb504cf7b43be15d38e876ed6cd1c988080385f3f5f1390c6d901105805cfafaf1382da3f54738a6c1c6710bacda596e707f85c4218027f53d1151f0130485e27e2a",
+				.pt = "cb8daa1497e62f89e195e63888",
+				.aad = "5d1b3136da49c4c21facf0ba7e79bc59d5377b33",
+				.ct = "6d9b761bb24e8af8ba62081500",
+				.tag = "b1f552a40bb839716f14a4976990db26",
+			],
+			[
+				.count = 9,
+				.key = "fb870b3c04af3d70c5e69050fa7a8875",
+				.iv = "fbb735ac797e0af72fd525218b92c4eb122e409466a2acc1bbc85e96f435dced0846679ae1ae43984e9d9c1e640a59432d872814c36a04a4b770a7e6753f780d42323ad3be7777f204e4ad345dfa713a86cca61cb7aac0e623879414842061da6416a19b64a58c6e6f535b94d9fb767b6c462a9798cb91fb53cc60c477c2be83",
+				.pt = "cf2148f908123cfba53b90fbde",
+				.aad = "6073238c948e9e788bacff9e2abadb1ad55c974a",
+				.ct = "7121293d3cd54321b6d9417553",
+				.tag = "e9b1df5181f6590733cdb1e7e5bb8a29",
+			],
+			[
+				.count = 10,
+				.key = "7aa24965cea780b9a06499ce3f90a9b2",
+				.iv = "1c8afd16e718d844a8cb7520b99a191e4f4e18e2b3caee91e7c6341f47c799e5f2ea9594e9ac1837cdf3f737ecd75ec96beea461217d457518f2bcddc606ebcd54578811e8bc378caa7a658884fcc4fe4e8fb786e9011851e1a02ed70e7f1658bd890c93c44e39830a118a49579d445d9485cfe7f98ff2336ed8a8c51b120bfa",
+				.pt = "c11cb9f0a3d5ce35f1f23872a3",
+				.aad = "f6118d2dead4ca034fdaea53efc5960f7cca6917",
+				.ct = "571c1650f6ae778006c5bc2186",
+				.tag = "ae37abe5c65d6a07db4fb11081bedb2e",
+			],
+			[
+				.count = 11,
+				.key = "fb1c7cdd64b7ec89da43c29ebc6a89e2",
+				.iv = "caaf2c86b15bd3c5d57f7bbe5f96444e436cd5f47c4d3fcfc2c4e550dcbf341e998cdc0f6a5bdf711cd8f90011c26cd15cca45bd92f3d68fc2cdd80ca2830d6a883130696cf48cf31836176da89592788f36b97c91f6c89531d7f58c5555600b051409fc82c79485b1668a3fa8c96ec40e918ea0191e3eddf615dc3ebdceeed0",
+				.pt = "9a50c275ecab437cbb10676da3",
+				.aad = "c97e4668120ecf093807d7990827c7a856a23643",
+				.ct = "1a79fdab53dfa1d8c5f438e732",
+				.tag = "ae8bebdc940ed01aacf32019aac81f08",
+			],
+			[
+				.count = 12,
+				.key = "6c7d1bec16f03233d225fbf7542fde88",
+				.iv = "084bf4759ced0e035909691c35b6e51611d1b2ae23f4c5cb829fa2803aed278bdc232d692147e4502e4a04252b493bf59db3ae773cd83e34462b583eb4c53764b6ae42d7017c05a6ee1c799aa907b0238ec24979e9ceda9f897707e37bd03061c8cb446c52553fdd1b6e274faf6ce2ba341ca5d0b7588dd73c765d611983a1f2",
+				.pt = "cef2f6953a10c310f61618e0b2",
+				.aad = "e8e5d1c3811177944cdf4535bf8a25ff96a12c7a",
+				.ct = "ac91111029095c6bc1fac92ac5",
+				.tag = "c942efdd496137c2b972e8d912c9ea03",
+			],
+			[
+				.count = 13,
+				.key = "c9ead487165be774b81a6d49de171964",
+				.iv = "1d7503b66126d0f4ac73a9b9ab03bf34ed5d9ab3cfbfb8d605818ef53ad13419f530d83277dcce70a7f35cbb518537a7eae6317dbf4824c188473fc0f4cc4104539ac3920916cb9cfbc424876faff55578ed322bc8411bffdb085ab84a11d8738777290c32898fc05e1964bef3615cc911c4ee7f750d771851dbf06c25ab2af6",
+				.pt = "7ca24249fa6b4cd96cf40cc3f6",
+				.aad = "cdc56596f02849a063905f3e8cf39d978f46e063",
+				.ct = "02ebeda05ab22f81e36bc56bd7",
+				.tag = "4e58879f077ec28cdff672e14a012f28",
+			],
+			[
+				.count = 14,
+				.key = "f172b77cc03eb2c0724acd8c8c864892",
+				.iv = "a7bb9144152576506cbe36802f9afb02c7fae24c248d228198c20542d55b84fff8bf446af9ee6436bc192fbc7c53f43f007dcb64d7506699cf31d590657e882776885e28988757bc92f3685eb8191dc956747d4fb5807c06ec75a37792decc6b3bdcd89b6d3eebe78f7756fe0b92c08a58be076dc0cf177023994d8d0ae80a72",
+				.pt = "2049b66ba7a3345ad254eed546",
+				.aad = "5559c03e592b85e76ae4d1c5104acab7687a5e5d",
+				.ct = "e5c315f29809044285b7dcfe4c",
+				.tag = "9b0d5d464d1c1c153651b4ed8c55c734",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt104-aad384-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=104,
+		.aadlen=384,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "830bb5e7c36a38a6f4baf198ebbc8d36",
+				.iv = "c3f269fc4925b98c3f5af5609fc27e9d87e97f0d4900f626e0befdd7a2864ba97459a2c9cc84ff682cc778d05274ec82c7c4d90191c10a819c014bb800fe4e275ffce91ebff2f6f840cad3b0c10e62547075692f3800f0b9c6f2630533bc493c691b99bc4ed7776cd283760a4c60e51f3c628ca237c73e0ee9f29f9c6e5a562b",
+				.pt = "47c4065249b9ebccb5e6e4eae8",
+				.aad = "0c1b37ed338e52ab2f3c1e9ed40e5c8a2c0562c000a437b484c11cb3379f54b72a72598cc23659d402bcf75e99107e4f",
+				.ct = "797d38a87a78e11b0d0505f9b8",
+				.tag = "e002fc74fb911bd22e43b058a9550adb",
+			],
+			[
+				.count = 1,
+				.key = "f36b2b8ba3ec266911307f0d1e2c77d3",
+				.iv = "9cc51bef84b90b40e000a7b0d734f3e9c11a13efefac98ef506e9fb43e6bd4d31f12a251ff3c31669b0045a57381f56fc36d22b57c7dd0c1e7a5af05f2f9618d5e2216121f96f50465659b619ca1d97b19ce008833022f365ccbed96d7b806cd8261241c2e2b948aecd52816656f0004214b5a883e559e0cfb6f5ca94e1d2bb9",
+				.pt = "d7791d3984c08b0d322237ad26",
+				.aad = "dad6cf78f7ac1e0d8d84d5ef34325061cc9da398ddd910ccb66c0b6776a76c43a185728a93679266fe142f113fe12463",
+				.ct = "7e7e96fcc9fb3a60c894023f47",
+				.tag = "edec55f88ee827275c34439e1e4f531d",
+			],
+			[
+				.count = 2,
+				.key = "4a76294e79f74b0c97e03054b2351dcb",
+				.iv = "95032833aa5aa8bb6a2376b76e5b9dde35f0d36a156787a4ef09fefe9af9cf395d2a6117a7dc6b99fae9382eec6b7d957de0e6913ce4ee3fdd170832c5c96d007c3be79f983f88d080a67ee59a90c1e9dc9a742de5095affddc37123cfc3e5ac3e4be65523f8219ed5979934a98e68aeeeef04850f2e6cb6f8132da756dbf2c4",
+				.pt = "60d94fce2b4d571d622ea0c492",
+				.aad = "04fed4983ae986ecfe084bc7919d0bebfd93ab9c89e69bd810aac2360f1ceb69e309698f40e78217b298860834780237",
+				.ct = "2238473dfc9a769667d313e3f2",
+				.tag = "5feffe4bcc96706d0687983333dc7f70",
+			],
+			[
+				.count = 3,
+				.key = "0df9f3b4afaaa70860af046cebc17ddb",
+				.iv = "5c54923ce67b1e899f8cf4242cb5d6ffd36e915461e2fba9d567fb3bc8121d69b939e12b1f818b3bf14345c2c01636d77b12efc924da4e23d633d4872c035e4b7ae7f041f01c2b3991b666be1f91c799b2782193b99457334324c8b69adb35d115b062033d1d371eedcb18eba2bb31050c92f3166ed47dc8845df38c86705684",
+				.pt = "ba1d7c130bf692c11c6e3ac0af",
+				.aad = "d4b6a727b51be7274afd35e643382369722493259e2d5c314f0bfa57830cf810320ae283b242c1b0c17cae4db94e4a96",
+				.ct = "6b2f463faace47ea30e698f571",
+				.tag = "c5a594c0c6982c9b88ff8fa8a7369203",
+			],
+			[
+				.count = 4,
+				.key = "c31d7e68a6ab3a715742044dcc00862c",
+				.iv = "26e3a3f523a42c3310b9b5d49f21952f62f9545c8332d881949afe0b5505f2b2804cb002c2d606523337648cb0e18f8f35bcc93fa1feacd1b2e59a1fd1028fec1489885afbb721c02e799ea86eb1e7fe3a0a958ba41e52ee0a43fecb28be1281e7641815e26281e30c26236cb13394a15967dc73d0bfa5e3d67a8b8b0c88668d",
+				.pt = "c9f61bf3655451b8a618809aa3",
+				.aad = "d708b116f2d97d8c58c874df7624c93609e7ecf11f51855ad6d0d88213681187980629ab510cb661fe5ff8afdfdd3601",
+				.ct = "856ca96249a35658d1a8655b6f",
+				.tag = "05f568cc248cedc42ee79675bfdb447e",
+			],
+			[
+				.count = 5,
+				.key = "2600015b7279926a83cbbb8a97daaa40",
+				.iv = "c300eed98b5466fb899f72f09674d12e0de0d32221e9d58cb18868b5a3ca874f0d955c3766cbc0cbee476b5acf62dd16afcd8043521777ea2e3522e198fc73d04a505d32a559d376899bef3a4273fde861de121195582ef897ba7d4b089809600d8bc0cfd993940f4eed1ab525ea95dac30bc3af80c3c7ca0bb5785c5f4f45a2",
+				.pt = "13ca5dcba8f5efe9a5f964a213",
+				.aad = "af93625d0eb08727c1f722970bfe77d93e99b9326d5a6849a0b3176408d6dd52c3e6ae3ac11a824d106834d5765e09c6",
+				.ct = "9a9edc72bfc7163f42ab01872d",
+				.tag = "d70d86d3bc21cfca4715cfd21f188b0f",
+			],
+			[
+				.count = 6,
+				.key = "883073f5f88c891afd61ed46b6276808",
+				.iv = "f9a5fabe6555edd83a6aac82f543d7ce24cda4cbc4b3e069672a13c0c1037ff7fe281c4b9a8f71981740f4c076175f0918b668f81e3d47a5dd3306064870cfc112dba02e0f1e0b598ff6f999bc8776c5808a17f54825ba2d5b17da0feb669c53bf8471736e339d3c132cef9b8d7a40b4876eafe2b4a1135b369044bf8195f6a6",
+				.pt = "d4113e99c6e37a3b1c3ea6a28f",
+				.aad = "55bcd4a159a9bb261b309ba91461f570ed4f8827659815a2734be901d9cef5975daaec4f2cc224b07a3bbf4a2cab7b1b",
+				.ct = "31be3174498824e50a580ff20c",
+				.tag = "c8b5185912d3420171fa9b422d68c1de",
+			],
+			[
+				.count = 7,
+				.key = "5c582bfe40cab62e3741d45509207ac3",
+				.iv = "5c97bc2a41c52211ebdad1ee1f6b9c61a07c1b5d4443e0cd01c410d5822f8580d71cff4ee870d4cc9bb3f490468e2b5be8ff6ad89cfb4d8ab8c94fa981e7e4661200c44f6fcf58b099ed6cd0c9308466860499d783334c497c0f22b05abe5010d829bcb000756686904a95958ecd72ff0e79a51e79b5c4054cba807d86f12947",
+				.pt = "d3b50a3ee9bf967267381a79bb",
+				.aad = "5b8d1c834b4955166633bcbea1be628520df02e3a0ef5489fb28894183abc8819055e6b9ead703011e93874811606a94",
+				.ct = "bedc19af6425d96739c9ebd6a7",
+				.tag = "6ce06319fdf7004d2989ef38d920b97a",
+			],
+			[
+				.count = 8,
+				.key = "9b75801f55953ffa1c3f459045d94ce2",
+				.iv = "28819a6ac3da0ea49680e6d60c25d612a267f67e0f03b051a77c2ef1a4c1268991c9d07266598724c9b0369b2430439045d251cbda74be7c7f87f992d63f31a9a9f1614dd0a48dec8c64acf417408eac593388b0f6f0096147fdc590bd69f554079470fac7f0be0d78f9cd67bb5780daae049fdb03e5bfdcc2f42de4db2835ee",
+				.pt = "73598104ca5b54687afb327b9c",
+				.aad = "59df4219f205202b50298a52c2f512c0381c5ace8ca91c3ed0b839c24138b11b67d4681e1de8d9f6e7aad5502e1f4f3a",
+				.ct = "4418f7835181b5e38d6e2d791f",
+				.tag = "b39eb79c02b4191e79a4fddc83a10d98",
+			],
+			[
+				.count = 9,
+				.key = "8d45f1f24b90aabf0c16e207e1c786ff",
+				.iv = "8501b1515168794a620066bb9bc250a10586ac608b76127163ecf1b351f7077eea83c2b8c263b963e7320634f31a0605293a71b4dc6dc699e76d494a6d48a165588fcd9111c29b77d8fd99de014b4d799fcf0542d976810b7af15920b8a709e4e2b7e6aeb4433ad21c5955a163cb9f50ecf13de19ecd085ab8cf88c8cefb58f8",
+				.pt = "021ab91dfe903377bd3001ecc7",
+				.aad = "6d8795f170be1cad737c1268ab424f51f8581caccff5b6cec5537661371c82a81667afce99cc0825bf91e30446a1316c",
+				.ct = "c01c6612d3d88fb87a5fb3fac7",
+				.tag = "56767333db80ba6ea6492fb5d3491c38",
+			],
+			[
+				.count = 10,
+				.key = "8a22791b6beb73dac7fbe2da9fcb62f4",
+				.iv = "8565c58902e18de9f29b502b136cd0154b70b76bc404cc04267c6121244fadd0c1513c789222058b9e1963ead176b1c50acf8bc6d9d05269a8a463baa2f8d4f4bd452a4beadc1fbdf24596ce2493876be85b8ccabd8c7c8f11238ae248dd4931738e48ac7169b24a8c7d77e3c3a91dadb0b40a954c6aade42e72544676284bd7",
+				.pt = "ee7a1f5aa16a7ac4ec1172623f",
+				.aad = "2b5e60aa8d558b51f4bc338c60dec87297d1d91cde1a496cc9a0eb7ae692c74096d3b44a6055b12907e5605e8a6e70fc",
+				.ct = "1f100fad23fdfaf66285d000e0",
+				.tag = "0f03f89a4d087c18f2161bbbfe97d8ad",
+			],
+			[
+				.count = 11,
+				.key = "7aded60fab62cb679dbeb594a107c610",
+				.iv = "aa164afa6a177ccb7294fd387f117c0993a4c52ee7be45c1202d6aec20021055f5741258f42a9177c32ef40ac743a433b9cd40753e28a7533b678afa55b71c0a14e576887e598d47932d233eae6110b4b1b5baa1fb520c9c86411e8709cdc29ca1a9ced9152ed5aeb04d9dd7a44d2cb944f791726c2925efcf1b8433b4165593",
+				.pt = "5540ca4a18f8b0fed372815818",
+				.aad = "9f47bc8962b48d95bbc839173a015df0ecdd914d77951cecbe5e55a5aca2ae8b7b58a41f9fe7a3aa3d38d63f1e07f438",
+				.ct = "74fa71c96f58ae114be5e5e7b1",
+				.tag = "fa5236864973c8712a6893a1706651dd",
+			],
+			[
+				.count = 12,
+				.key = "9b1e43bd37e3e7effc47732bc4eccc86",
+				.iv = "45bd3c013f9f39601381750596632ca5da6fcdcbb482e870989822c1d6132b3cc6e2d5858ec236f09d2ac732c3634a88ef8dc489f266ae44bfb3873848285ceb1787d540bb262eb2aad10568f60da31e6bd2bd0bc1b63cf9c9bbd7c62721f40fe47bd3bbc2d679e50a0d8dadfd76e1d9d9dd58bacf26d4eaf49744337b1b0801",
+				.pt = "11da6b4cb3419e6993d3eee206",
+				.aad = "05f1a4ef69a62cebc12a50615941bf82b9253c61920b86c18541c8e16e82ac82a68ac385569a07284d3ae662d9fc3c51",
+				.ct = "fb39528e77b979cf3c4a076c82",
+				.tag = "4071571cc9ced3b3efcddad245f42f49",
+			],
+			[
+				.count = 13,
+				.key = "14a410593d39a06ea1be871c1efd0d81",
+				.iv = "0346943f428dd7bd38e35d604d3ef813e8dfcf5d9b0b8d0674f0b1727d3bc7fbb89cd67528daff764936be9b6fb40c9c888752b107aa3f9c7d525d7bbffd371c7f9d75afd58478fe83f8d8b6fdeab83ed7d7483f0c009a2fa167f8972b2b621b7868bde9ce7d4c65d553760fd9c5e4ba8373776011f5405e3f62444fa06fa286",
+				.pt = "cae4f37667d43780547982ae7f",
+				.aad = "4d9a8df6bdacb82591348ebf3ba0ce0d8348c99cc845e6c8d93774d40155e239ff97ff85051431f85aafa687e28d08d1",
+				.ct = "7fdf9ccf0ffe340d7e56f8a0bb",
+				.tag = "d8eb5b9726adc161019105322e49a4cb",
+			],
+			[
+				.count = 14,
+				.key = "cc832192b43e9778c15a247aaee908f9",
+				.iv = "ac1b635bf9dcc73322cccb3f8fd19dd3686ac6bf2cf980bdbd445874e4c48b2decda0da29014e7f73c91ff9e0cf2c24365f5fe776789c00a27db34679721c3c111dc4dbcad5c253385e65473efa3749ec7eff3c5b7f4a33aa0b0332e9819f46ba810d72c010b7134f4cf7ec8a8124237a4ad4f1dce8f93f0f28dcad9725086c9",
+				.pt = "0b8133e29471ef5ed5b0fd7ee5",
+				.aad = "7fff15ef9db4be9c10e818443bc354b47647de45ef6a8282cb8066d161171e4a545f59de8629a172900e66fe5edfbfd6",
+				.ct = "08697310235989c925d6d5c59a",
+				.tag = "c4ac81b4a1e4f015fff8f60dd00554de",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt104-aad720-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=104,
+		.aadlen=720,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "059b008bdc461943e486bd1800dd6eaf",
+				.iv = "ddde5e8bd48974bba74290fd8be30be0d7071d37f344fb9dbe7542dbcf1d44eec6a0c25674bff71e8307bf10a3b54f4acaf4e90d6e8a227506db53c6af77a4d9821bd55ca048c837a746fdfabfba1962bb95cb4f2b9e652e6ab06efc583cf9427ce61109e54c1bb2ea461837915cad3bee909e9cf2625c3d593feea8acf6be72",
+				.pt = "4f9c13d39131a6c50092afe30b",
+				.aad = "191cb9c9509272ba0cc3613a9ee60b907ecbacc23c9a461e2aa1b460912930fcce6df11b658bd512b1586041f4f6fe0c9bed6270b4ecb510b72783678b7e81fadc006d442c6dfcb867b5c7281323e65e06b581d7027a1bc57b99",
+				.ct = "5b2e0e36b812c9a8149d47bade",
+				.tag = "5834c34d07d7da7cb24e6f55e209de1d",
+			],
+			[
+				.count = 1,
+				.key = "3d5d729b45483d6a510dc8138f790161",
+				.iv = "523212330f91b637686f6937b67bdb23d7f4c8af61c99d2a8a71398cf4c8049ae8883d73bb8c5041f9625e9e2c816285f2659621a1c695c2f1ec14ea2836ea657c7f96374513290a03dbb3e95683a7b1c9f30c3d175034a52a670a073909f923691627a7b449e89de51160d451ad4878e941d47a40f43378691ecf6ab98363cc",
+				.pt = "fa2ad1895f2a29d0abfcc41349",
+				.aad = "2e839c5e7be918d50c13b0714821cb00126723e19ab121aef592951c4de6136c10d20fd2336229a673b338e88b1fdd2dccfb92d1ba806137ad2202e4fb04a874524b71b95aa8dd7378bd92926b71186ce3c9f06903cb30a422c0",
+				.ct = "94d4865440660400fad2e42658",
+				.tag = "424e2f311abe4f0745823509c1f245aa",
+			],
+			[
+				.count = 2,
+				.key = "427a1bf710047fa87fe0b1f5a013b223",
+				.iv = "abd4f8a80cf9aa2808b4a3147d01b6594e690b9499525f87e22f7a736fe4bf2c54eae40cc34dcd4a80b7ee6226b8d5d2b8bb985ca6dcb25e925590edacf755992e8311cab79c7351cd800fd8548b3c38675b7103e4829e7b2f5f0046cceb9ad929814390f8f901faaca2c7d52eae289a1601d919e6154cdd7c5c8640f010b296",
+				.pt = "df549a00d7bbaf08d0e75c4da6",
+				.aad = "8e07ac5b48a714fe40d97bbca6deb9f0b526655c47761d6ecacfb28ff5de3477195808ca42ce4b7b4119f5bf8e02f4e3db22045e618d88ddf5b6705e824e2a6f434c64d9e1e50462a00c6b5cc998eec4e38e0610ac2513e6f23e",
+				.ct = "8751376d2595435ae4c793f77c",
+				.tag = "8edde685f2330b290d9df8694d9c8735",
+			],
+			[
+				.count = 3,
+				.key = "954e2c5a075dd4b076bb3180621b9275",
+				.iv = "6214fe34a4fcfdf766d2255e6ffb2e97951910ac6cdda98b840b6254018f0ad771be99be6522ba6b173f297c712cb302daa9457ba072e9deb170f4423403e2d1358dad74c559c434b3eafa8304a920cb7abd0e215c3b8dd76a5a597806617faa2de999d6976f89baafe3c2507c57dd7ed120e80b1f253ec2dfa14a2611a92e7e",
+				.pt = "3480f6c9cd483b7c90dd75d0d1",
+				.aad = "ba86ab19cd5d1fc70c11c0b9bd51c1ea3809a3961f3d5cfb2b270fd6f686feb7d185983a9ed89eee9c21eb6330456d174a4baab6d0754c5f3e4feeace978d06542896c4073f8fa50bdbd83560f9c306e0863c76af9209ef7e2d8",
+				.ct = "859f571f474cde6ae370ad79ed",
+				.tag = "108ba68c506e9a558a6418e0f232f6de",
+			],
+			[
+				.count = 4,
+				.key = "a012cb554e019e3e1a7302c0dabc37b9",
+				.iv = "96c3823e858c77e6692c171515178ebc1ce93073271cfd0f159339c5688e480c73489ad7b37992bfcec9a0dba92f6b11f4b96ba72f93aaa8095cb5f84f28bddb5cebc3896e58239e0c9599b3cc0e6ad072c41872eb8b783f3d8a3556b7fb800ddc102d6415200a631ca7a0cd87d28cf6680fe7e4b71ddbc97f8f7491b5786d3d",
+				.pt = "fada25475d7bd61a382f5d1dad",
+				.aad = "2eb23f721c3244057b6fd664ce274c8991bc67926ae702174102e2bcb8bc530d40fee371bea1b62ea67206189a899f8a188994c83903dc22644fc275a19ed2ffea74bb28eb6b4fd3488770be52a74eb7f2863877377c8e88ad57",
+				.ct = "158bbc822a3c2e595b391287e6",
+				.tag = "67a46fb14d6966a5da9b82483c030349",
+			],
+			[
+				.count = 5,
+				.key = "760107a87c071dac318a7ad5b6810a9d",
+				.iv = "61264546f8ae6585390f569b9d43d6ff693322a4b124d7cf5d26dd3103ef7b6cbe8473ba256cbbc1e3687d3d4afc5addc503bfd494620ecc605456f48ec03b7537ad0e974962e42e650b97a6d72a59e8ba3dff5d1e0df6d6414c23aa4a07f72a39b4c398891a849a08dbdb5576c562d8ca96e7cc7ad2ed1bccb73072ef367f8b",
+				.pt = "8729e8388ed0e832ae6dc83cca",
+				.aad = "18774eda6be48ffaaf93cba4a1cb56a91cbc4e8b2450d91794457cadda7a46400af294d8649b0fc2de8bc2831ddf9109eeba5a17807ebc014719a55bc991e8f64b2eced019f62b80f6af412a25a7235755a994ca344a9e2b70b1",
+				.ct = "ed391026eb0fc1723c50f02364",
+				.tag = "e8e50f67ac8b094f3bef1e415b8b1007",
+			],
+			[
+				.count = 6,
+				.key = "19521bb12c0c656c451f9c044fd2bb28",
+				.iv = "12f78ecc9ace2c0c5e947090f0d933a01bd6fd5c1428e511225c299cf20ad4aaddef60a6089b20733cb0f7dc39e24ac8c9d80f2b37e3126b5624fa51a67c0fd8080480d05929cd62b4e1a0aa36b0566c9aca8c16bbdaf4daf8cdadd4ba555182caf7a8a8e45fc11039ae228d89a68d7530568fa0a083e63a32d79edb08102516",
+				.pt = "35ab9e16178c92ef92306fe90b",
+				.aad = "79621f132c59f85a619e92763a0f30746c2795d1031cf161318247fa788e035b690fdd9fe36d2b8c6d62400ed9a10ac90f3b4a633fa965a1a05afe1c3e5a8b6a7280d88a891cac04e4c2f060dc9e802b2b2e3dbed7f28ddb9184",
+				.ct = "ea9ab25eeedcf86e9067512065",
+				.tag = "84da0263068ffca746b8d55a7f980e2a",
+			],
+			[
+				.count = 7,
+				.key = "091a1c16422058c9ea851461a6348461",
+				.iv = "b829f8e7f91afbee62c844d53b56989be8fc2453de2e7c1703623e8c9c47e43cd3aa40814b3e5ce832deecc3128f7de5af5241f11cd2de1d72bc92eef8cf36c2cb739e79adcdf313fb482cd70aafc2cfb8e4e1d8ea139d9b6d04de707564a1a10a91a3eee2a789b80a7c7811b8f568b14daf2b911bae05d39177b0a5bc33837b",
+				.pt = "c930bf3440c7a5ab6e15db99ae",
+				.aad = "f9eb7c1c5706d581c503c48ea30ff82a10a0ba572cd6db1a36812348f6596c8612466cf58d576c72000a95b66e276fa5644061af244fbd82fb4e2e5218d850006cd8824f15d5ede84417df16d24003633a936a4cf9841dbe9416",
+				.ct = "e02f80c606487f310e5d477796",
+				.tag = "2d7604c0367312f63afa010e664680ac",
+			],
+			[
+				.count = 8,
+				.key = "32eaa82cba74c43f20c7560f30b0918a",
+				.iv = "18d5a29966aea4d1a755246fad1138d24d922019ec1d8e71127616d75b62e6cf11b07728e93e4fc7e327fdf2f5f2fa43b7bd9752116bd69f9158354683a1b988fc020defe621544609f5a473892f2f49c8824dfe05b50a82f40800957e7d32da9e4d250c1bc86055bd410d32d156f803345688968a076012fd0ab3f5e79afeb1",
+				.pt = "8c449bc25efa51085309e103b0",
+				.aad = "a58dfcf44b653019be97ce3f9a99daf126a77d33b46c9d113bbf9e7ba4a0cf1b318af2733d851abe0bb61961284b786bd5bb197d961c527141203c86c9a60c97c677494211e0522ea4d0498e6e4bc9c7c6b62a0d0f79ac27a7fd",
+				.ct = "de3bf6ca151243960f15b2d49c",
+				.tag = "e595ccf285dae0faf0ae932cb2b9e76d",
+			],
+			[
+				.count = 9,
+				.key = "d3c31521db8d6988b9db9b2bd77a4246",
+				.iv = "23b8ccf01e21c5b1ef595ba2b5c0b412078703d393ba9569c540ac9066ebd3b112b28271b0490bd0d253bfe8e8c5152fdf5e4ebd1f8ba0bf7e7c02ec9ef2c1327a32427008927f516bb9e0137b488a02ea17d51be808a286ab7bd167dc1b8881e1b4fccd93c25e893719fbd193d59e5c197571f2c0b439f63f8e4306af69af23",
+				.pt = "b683d9d93a8f9c2f8ea0b09d26",
+				.aad = "a1ec5a6f9e7a305aa7830907e6a873529ec1f5d6ab86cfaaf852f170cfe7ad92c90b6adfed65a773efbda540351b4014be71d0beec650a13c4d554c98c8cc0b0fa962fff87483a34ebcf495dfad8f4c3b8f5e8f94c082aa888c3",
+				.ct = "022125128f900fe072faeefdd6",
+				.tag = "d904d8ec75cfbe890e807bdff5ac90ae",
+			],
+			[
+				.count = 10,
+				.key = "0a54c24c9b587f06b20b2d309102e37f",
+				.iv = "c0d59ad2028e26a60400cfe844421f737df82347b64fa510ad0818f3a48592fb7552d4e1b591456f76b1ad1690a05daaebc489c1a91483adfef6015e086c09a88c0dfcd2aa353a958c3b1be341468cf58e08b6ecd25ca17e30336595c1fbf67489ceefaa21ff50a42d56314ddc70c92ecc61a74332ee2b638e45492be4c063b5",
+				.pt = "50552c777cc1a033ffab26d976",
+				.aad = "df740772ebb7d755f34137a3c4474413b0c2cad0abba74890b8a751f05394ba2a02248ea1fdcce77568c21d32d313d3754a0ae0e761c597101501f0146e208010999bff891f9a3bd0b081112344de7da4d2dc8502fb85a9bf4ba",
+				.ct = "4d1b0d9bca6ccaaf219b69ca98",
+				.tag = "051f6056d0679a75d30442c81f3f9979",
+			],
+			[
+				.count = 11,
+				.key = "bd78c9bc1c52fb333376b057d4178170",
+				.iv = "d30ca22d3e41a9d462b8212149338a9912ee25e8f8449b677093d84f54275fc2aeb4d4388f08b43228530d3bb051358eedf28859e654b78c5f3c5b3dc1e80bcded9b1094454a05a05acbf7c57cf60d22a907814cbdd4cc042b6f3f39efbcba00bf7780357fb252c8f1e56d0bb9ae3202232e6d14eed9b66de7d338545d36bc00",
+				.pt = "496673d9f63eb9973d65f56f4e",
+				.aad = "2684c2dcf16cac055c574e113bc127c19d28267f5abc7accf0c30cee11a7204d8b7d50b11632401dac5e44e08eadfb74864a05aad03c9693af2a7fc94ff2ae8f7904bfdd5dd5e691c7358627ce677d03dfa66c1a36febcfeaf4b",
+				.ct = "ae124546dba040db72d11f0228",
+				.tag = "bd2f1c280c480b639c54e42107e9d7f6",
+			],
+			[
+				.count = 12,
+				.key = "76b9e99165da487c7c066a3e624bf9a9",
+				.iv = "caa4403c4823a1d8b3f91a08a16f3ed0ecf7d92b34a055e657021fb82c2c50982abe18161fca999d3c81ef26203bc1eccd068ce9360a77463ceb16373fba8cfd08d2d646f5489357b9ff4e006f8838705d14ea94475d5bb1a15529deeeaad864ae0f861278daf5b788dce7fd33bc5056e30d452092b07254f44c52c816adf763",
+				.pt = "233bdae30d088887bdd24734e2",
+				.aad = "12ab87c5158cd5e6919b220f0badad6a1d32279cd4076a9cf528a5129a430d85d78699878cf3a60a835eed7420ef5a93f0ad3a6fb27238d0071f266b6e28cc673d13c18047580c20b5834822d81d110e414e04bb80d64dc102c5",
+				.ct = "4683591d914250766598a107ae",
+				.tag = "eaec34b898a9f5e4afd4b2c6f38c9084",
+			],
+			[
+				.count = 13,
+				.key = "0366efec3e99b68e1a006a3fdffad3cb",
+				.iv = "64976328c4c3c0757e1517882dcb5a3495f6e13712f4553d35edc63c94da62b8be6047f75cf9bb8393a2d30150273a0ab4709a4ac608d5c9a7cf787c307bd5817fda1f26244c57ff7370c5cd9f83d55443b1da2d071819ba23f1ed2aa4b442ad26ef7269a0f4bdc93c2f40d3bc458aefad05273259fcfdd8f80cc5c3ecc2e4ba",
+				.pt = "a8253806355666271a25b2c1f1",
+				.aad = "d3bf2388407eec34e18ac90f29b7a77468567cf65c062eb1168469b7f50c1f897945e912a2bea6c61276f30e73ad6c5aede63a1bbe14d9573ce3e92283ef4695e4e2e8fb27e4b51f4d75a304e910c2b68ea7e35e96dcc5bff6b5",
+				.ct = "8e6637fde3771304a697313241",
+				.tag = "9bdfd03cfb679a9cf8cabfc96b751392",
+			],
+			[
+				.count = 14,
+				.key = "261540a0e73e6f00da9d92d9fc624ab0",
+				.iv = "c4705f3fbc060f5619ec9a679b6ebce55d078164e5a19871f6d255de79da7952917ac6ca30412bdf1bd28ee7ec80cb846b93b73ba7cf5d31e30b37e4fbe4b5b63ad010f933fa34c1460543330e4ed30096baa7dd4c99eeaed7899413baf6df0b945b06809529b1c9c7798cc8180f4393639379bd0b01da16d42f92987794f1b7",
+				.pt = "d2abb2041f5f1996b591343649",
+				.aad = "6592eed061b3d337f67e01a86f5ee386258198a37021410a5c5638c5931de692daadb9e830302079597fdc4d056532aac65f90dd2a308fff0cae1aa27f79bf0230d97b4f07751c8e94786573a2b6f8a896635cc09f082919777c",
+				.ct = "693f2a22199640946d9dcf8f24",
+				.tag = "cd7f1d02fa74b823945f9fe4a1feb92e",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt256-aad0-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=256,
+		.aadlen=0,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "98ce8656058946ba17080dca28663f20",
+				.iv = "324ae3834f58e8a2b3551e0e30b32e057e6fa17827739af118ff8d493df201f367e0406037f2ca7423b5144d49948e4406908e29e0552a8963ad22e2198c20d19bbe59cde29a786c52f2cfed124c2b093fce22503dbbb85047bf8e4b5bf6ffe45e38fc08c79073ea65f71e54318b5ac6c5d36de81945df4f3ffc270af53f92b8",
+				.pt = "89ff3a5d3f034ece813761c9306b2245a34d931cc56b846a12e04c1ec364dc2c",
+				.aad = "",
+				.ct = "e8057b920c7a625ffe8aafc15d8f238b7434ec5b211fdc03df31c0661b8a3e9e",
+				.tag = "27090e476bfb670762fa07fa3b7c5171",
+			],
+			[
+				.count = 1,
+				.key = "d1f1e535538a3faa6627d4d82261bcb7",
+				.iv = "973a2616b8ce6ea46e98625c9bda5d058bcbffa40cbe5c4d928d183f97cc972bd137869a1bf2e1edc9ea31f60f450207a424bc4e4f5c8d087aeeeba67b402f4411739a0fceb0c02f0ce11b15a3d76a945e065ce38eb8f3f63039f6bdf5b8357eeae10b86bd13c5883e4d650d40839b93835f6ea864a80d567e2bd2dc440c92af",
+				.pt = "4f31c3f7ddfdaf54540dc20d9509598ac9c40fb7f42fa92602455e2c3e306b69",
+				.aad = "",
+				.ct = "3cad8aafb9e9f4258aa738458b82f368cb56c6c04cf91c90a32240bfbf07a459",
+				.tag = "08526ec1e67baeab4f772d79b6822222",
+			],
+			[
+				.count = 2,
+				.key = "b1033ae0ea645c649583c335eeb8df8f",
+				.iv = "470b518789112103751442764f449fb57b2fb25942d3c3ff9e9b757afe0435107e615717411c35d6bd2e5680427eb1af4bc4d569b57bdb64965e1d1a8bd939a993fc0d9036ad54ecb2c833ac86c26de8224dc5304f9e8061a6ebfb859c529eccdff0eb06e2a2b63ecea4920e3443a4b6662968b7a3fca9dd2a3376eb30be1cb5",
+				.pt = "eeb79c63eec2ded6e901ec58cfb918c23c7731a2c36e88184b6f31d951698e98",
+				.aad = "",
+				.ct = "a73740c956afda35181cfc531d67dc8e97208c3ce92ab5eb40b201790d591bc0",
+				.tag = "beb62e21879b5e14853b6f3934e71be1",
+			],
+			[
+				.count = 3,
+				.key = "c6fc544728ae916ae27033b89341b674",
+				.iv = "5a12c4477bb4bf4db9fb7468764d447e29e1b29c216d9072ac80e9f593b971122936589fb2f36e41458a5d59e723324fbffbd3a139bd849fb5105005387010c8bc9f3e8de08b3523a02e8c289fd7d3f5df12896467fb1f6fdc7fc9ff38cd35a9c2af4af427f9a77b32ea816a038b94b3d0547d691fd322b1d2173eaa44ba7870",
+				.pt = "7c59dc287b05cc00656a69dbc6e492eae67a735192fe102b66b0f5aeb8580676",
+				.aad = "",
+				.ct = "871c0dd4001defbbf6cbe5adf091be651bdd65b5ec9bc9f15d51c1be1a1b7589",
+				.tag = "855fab52cc8a8068a3527ffbbccc1a5c",
+			],
+			[
+				.count = 4,
+				.key = "ca093e9f7cebc6fda6a8dfeaab3fca9e",
+				.iv = "6c900b7c982b56831a3e978ef5f877ab1f84acafe3d8a8c22e09453d812ba1a5be3b5cb129de279a77fcbc1933b6cdab3b863b62b54142ababb021853b3c5fa0e0c59e857c112571a5bcca9b4a883c3f771f3ef1341a23a72e31fcecc55259f19eddffcf17677e474b7ff4ae83ebaa49b01d630621940891972479012f7a370d",
+				.pt = "56520eba0519ed2ff93f8e87ea470416a1d1606ea7461e0e41f00b0259586e2c",
+				.aad = "",
+				.ct = "f7527149fe1e3a84407910025ed266960e9ef89301da43f426c2f0da478092d4",
+				.tag = "dd95eed5213134b4cdc8e33577ee3ca2",
+			],
+			[
+				.count = 5,
+				.key = "c06f60cabd7bdd80440175ab851b69c3",
+				.iv = "ebcc9dfaec449c6d67b367ccd1f50baf7db13139339d7044fb772993fdc4db6f1e297678db5abdb1613f34198602c9e4d69e16d8d3d9586d87969b0c41eb19b47dfe61c957d8cc16a088240066805ef0887325b6ca9b8fe0be90b2b10942861a19f8cd895f3b0b7049f5380247fdd801d574c5520b89d23663db94016b21692d",
+				.pt = "67cce68708bfb2891c5c918025865de6b01a6dbd7e01acdb3e7299f18702e952",
+				.aad = "",
+				.ct = "59a0be6e32d122a6e47d0bf238758073f1abf5deefd4deec93556f3e4b870a23",
+				.tag = "57c9a1c4c3e7064996ba6c2d0601f254",
+			],
+			[
+				.count = 6,
+				.key = "c426539ee675bd1fb75931e679994351",
+				.iv = "250e7e3dcfa7b2cdb1a9cf0ef6a8171d5242a52a431099dab369508c1f4f4462fcbb5ae55cb0b2514c1250a1d95bdc32eb3c7766f3a8964e241459355683cf078e2ae40b0c6d5fd8368b28e2fff58f25fdd1b8fd77f463d8c7b570950a98a8461791b5ae0ca4e678c5b04fc1f9100d6dea2964ba178b7d1f1cb756ee4ac05f54",
+				.pt = "140d8179a79913e0288bea1c46bf3a79f094013ed887e21b4f2b99ea308ca4eb",
+				.aad = "",
+				.ct = "c8c8ce4e4141efc216e74c0c6269977991f451f1da9051ac507a8a4c2643771a",
+				.tag = "b645ec537f4098f80f196833d92effb9",
+			],
+			[
+				.count = 7,
+				.key = "3c8df11b06121e753b9449268980afe0",
+				.iv = "f128d2c7fdb16a1f76f32f523650231c9a2de4cf318c4f20047405e1b47ce38629ce395e28e825432f42b77a98c695b19d324acc4e8494e0a78aa8fad30f8fe43adbf0b638117671d3a50764f84842570bd81321eae8899ab400357ab3cda930a19e69c932aeec26112a83dcf71df0f55a3f09835c97fab60a8d377684b1981b",
+				.pt = "2ef409afe881c0b1f6f488e9d1b3f618cf548e71eddc15bad6751e7b5409cf07",
+				.aad = "",
+				.ct = "8373651237e0e49f380e66ad2112ec8db5433097672a1a91c8be829bc185669e",
+				.tag = "90a6caa8d8acabcf106d6c36af29c1c2",
+			],
+			[
+				.count = 8,
+				.key = "2d6270f62c0fa060b24062ae8f482bfc",
+				.iv = "ed7405eff0e3f90e3f670fe7e13bc3a7e5556d83608894ad1e1cd0f3ef0797b80dcfed07e8a000873498dcd59ed6e4aa31ef6c3c2dc7d8f4243b9f69139901df11fc529a35ae4b3d0fef5ddc143327fecda6a79b8e551e58f3eee2496597ea3f53d3cc40c19f2e18671e8f2e247d2d731b0778847d3b243acd226ec5940c4cc7",
+				.pt = "506ee5442cc7051bffb06c2cd193bd7548cb1652b04850cbdb12a03cb85e0de5",
+				.aad = "",
+				.ct = "b997cd8be8f6b48cf3f1eb546aea669d6f3a80198c6ebdac92ad7d675390a09a",
+				.tag = "b0bf55fd21d466d474ce88fc85f12358",
+			],
+			[
+				.count = 9,
+				.key = "2474b313d10f2fe2952727f5a13d8c3b",
+				.iv = "8c95178fcfcef2658d20fc0447921d33c2ee9ea97a0b5ebb496a7d90be2cf1364c5516d8f34ccd03e0efbf7346a8d893312b8f3076ba0d58d505ca450e6d1b39b8f706861c909ae24ddda1611c8b3e01ee33612dae47792850e663331a3edabedea5a3718f21904184cb8683ebce6fd04b80e095c8f1590927e10d0a95c725c4",
+				.pt = "7490f23cbec0ad4905e159e594c7a083802c50ebe187d27a2a5e725e5a983881",
+				.aad = "",
+				.ct = "795535e318ebf3ac05ee14ba0b8b0edb9c8ea0f40d11456cf4e492e507ff215e",
+				.tag = "ed57b5c1144bbf34861436446c3a665b",
+			],
+			[
+				.count = 10,
+				.key = "fda4945c41da8feb607d9cef19aae179",
+				.iv = "c90ea0e3f1ad14f9ebb2cb0a40e51366b5b3417f0f5a362f7b84b030ded4f0bb9ce968ba2e2c8ae4e8a515e3eda054c6399fed49e7d830fcbf70712febea504fee2be0d172d166800b95d0e3f30e3bddbf22408771e1136bc5d40bc1ea5cfb61fe753813f9d326a86cdde384098f214bc78ed37ae3ed399e5b7859df9d32bd0b",
+				.pt = "52c2f83eb56c859a43654dba6f9bbe56578ed89bd9679a5175249eb5420c368f",
+				.aad = "",
+				.ct = "cb1a229490f33c18515ada43b663046c6cb0d011bc8af8f4626e6ff7c11943c7",
+				.tag = "926f70722d7b71689fb0a7bb06922598",
+			],
+			[
+				.count = 11,
+				.key = "e70cda4b2ebbab70a99f0f245afb940d",
+				.iv = "916d20109f17f455cd698937cdab3e748966ff58966b0965f71f27ec53e9283225c78d1dcaf934a6649cf10c30283c56fab31f90a76e87e67af1daa82bb356d6e33162d96387d646b3f33f2fe85bf3ff090859ef1a65f51887bcd4235e28359a24c2e6c12242fdea2e8afa2cca2a2ffcf50a39d5b0717b7ea4d08dd6df5c1482",
+				.pt = "02a96c3a6b46f403f5e8865556d374b1f0bcb2cad0afe70352a6648881761f32",
+				.aad = "",
+				.ct = "d73e1e5606c5f7108f640df1909e8db4a0b4f7820d50fc698700ab4be1ec768c",
+				.tag = "1112c18ed0ffde5fb3f2c642aeef0fe3",
+			],
+			[
+				.count = 12,
+				.key = "9b6ca198737761ff45ebd3b29137e2cf",
+				.iv = "c94edb15365d7e05c2762b3f428077e24c7de94545e87304bb41dc64ce4425dee4b7428f7cec5447130988bcd481023dfcf471798b3077511727b82cb73059526829c748f72223df381ead89a98acc6b08a0975a218f2c002067d4a90138dd1ef0535a89516809567757c832b1498e2fed18b16cad2725ddd960c690600792b8",
+				.pt = "349ddcc98453f1a052e891dd58fafb9be44b6f60a8149a82ad7e5546fd6696c0",
+				.aad = "",
+				.ct = "35716b030ca8ee99603bb08a619a0a51aeecc75d1116ee9f561e242b1945c639",
+				.tag = "1cf26ce7f2fa53c7a7ee8da6524abde7",
+			],
+			[
+				.count = 13,
+				.key = "1bc3d2dea6a0cd8b30e83f0baec214f8",
+				.iv = "ae60e8d14045b6b9e9c97131e8125bf880653c45df43071cfc0270a98c99a18521d0c9f1ef9eaf4067a9f5fd06723147c98d64909c64a53f4883550b891e732d95626efff0b12eb477011cd7cd9cd1999a276240f2a56109b2f29c94bfefe65e87488d2185f7ca1edb08697e464fdb54db6f8a95ca2da25e32e73a6754078575",
+				.pt = "b5eb64786c2b5d953c01c7d27db8acd8fec45304cba0302675815056a8df02ad",
+				.aad = "",
+				.ct = "0178e37acf11b8ce9e50b64c65aa71c69c08d3d8cd41b67baf78232090c0b045",
+				.tag = "c17ae7990a1d9b8b2e48c15c21496447",
+			],
+			[
+				.count = 14,
+				.key = "ebfcc9cd94429ee001d59cb2ca595bbc",
+				.iv = "bee6875cff31f08fab6e11ab209dda8dc0528542c895ca421d5a3923b9ae4795f0ef58959869abd70aba4bce6cc06b1e8600805792c739e651b33fecb8e4b8908f652fb8089a7b531c141fd8e3b8fd7f70267132feaaa8d1f5de832e75290cca5ffa93d76d17c41daa97c4b0733c9ea14b8c277fd165091e265391dd9fc1c01d",
+				.pt = "344e95bbd3a726c705d2dc68ceaec692968609ec3d0d7b941a2d74bb1293f77c",
+				.aad = "",
+				.ct = "c4ea772981c8c8d89d8da215a848fb7dc305b6db8bfffc0d5aa6841073fc6de4",
+				.tag = "f067176a657cc94767fb19a7fcd32ac8",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt256-aad128-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=256,
+		.aadlen=128,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "3fb73b7d7c98759acdea9e75f3cb2d2e",
+				.iv = "9a9a29c68e786049f47d4a2ad56bc95eff503988d461eefea6d98dd6d21e1439951f0116bb3824e946ce0404d7bfbf36702663cc3a5564fd82f8f9ef141b2b3be72618f10203e1614a7850642c1055da103d41aa47991e64f621f4438273e12814ac0139d725a8925634f509a2907e7e8e9c27f07751ebf616b42b4f4fa2079f",
+				.pt = "075077b7bd10422b156515beb320b85404640e7da2a541b7ac27b0795f029450",
+				.aad = "bb9bae29ea2fa69495f0430a89bb40e6",
+				.ct = "0b7fb0209ae1aec31dc38c7c48ccd0096682161e56a2e2a23348c5846c665ec8",
+				.tag = "a9a89b186aaf547b9769f697edabab54",
+			],
+			[
+				.count = 1,
+				.key = "9d8dc03b2246d250acef501ddabf7701",
+				.iv = "38517212f94da6d6886c23216ccb0a6c1a4299cfeb44c416e254172041fd1e78e31f50d59591cd7749e4d1ccd0bb186a33cafe1096b82206f04fe4207750f0d1bfcf439849dd99d50d44fc7c810c75e91780795510096b8aec5ff866e3ddd3878930b237f97cffe76bc231c2de20cdd8ac1e920b47733fe05f90a494d8f5fc70",
+				.pt = "4fe39928c40dfcf342e53bb69736c9fad2f45344eb54fe2551cd33928212bcbf",
+				.aad = "5b77335d9ffc333c788d4767cfa8dbe7",
+				.ct = "2328f557f068cb671cfbd48f52f2a9696c22a76e5e8d5e18dbeb730f7151fcc0",
+				.tag = "e475ec6743844cb27aa869d7d2ff587a",
+			],
+			[
+				.count = 2,
+				.key = "9ffbe0b6ad2abe5777f904718328f16d",
+				.iv = "cbfc25ad96f9f992c24bdc20f77d2892cbb16d76f5b3bb189895e03f39147f0e38afc4e0dcf9b68b65e44bc8bcd883dbccabe0c13371caf9c93bed8fb7a16abd7e11003b248b14d0e08b1eee96645cf5cc46d2b82a0219190a1efb59a21e9e5c4327f6dca8664389955f5301fa99e928b9f4d04f8606d19ab10cc71667236ee4",
+				.pt = "40361bb911b62a0dfc8c81e815c409d905ce69e5e00573a5f6640104dbbbf528",
+				.aad = "afed5d0da01df260638c21c1789804f7",
+				.ct = "ed73a36c2eb7789068e455a6c1efb390d510b72089adc1a227bb4196b7683936",
+				.tag = "f149ef8c0f91d21c25ad1e07ed94818e",
+			],
+			[
+				.count = 3,
+				.key = "bb10ec8dc68be52a5b83980a5924441a",
+				.iv = "d70e3e2fb60f5ea58c7c0d08eebca1e3f4757ff4e91926f533286709a2d1cb740d2fc445154745cb3b6c2cc89a9974590c6d3212b9242518857b3b0a74b2d15ec7aa29767852cd02f8227f164e5baa3c1007e9db1b65c8e49ce3400e409304ac2bcd27e80387e81322d90eb5f51643cfcbeb8bd1b49129406ed452fe0327edf2",
+				.pt = "b4490d38df0013b83fb306159b6a5d3a61065e05f1b2da8229465ca8f39558bf",
+				.aad = "519d337aa7c64675136bb610736c4a4b",
+				.ct = "57d8f9d76e648c44ab333c10166bc1e039e3b374ced1f287dca7290d5166a641",
+				.tag = "e3296a4d83679559dfb2a24f88b83fff",
+			],
+			[
+				.count = 4,
+				.key = "f9fce91e438301db6234b51689acc11f",
+				.iv = "40375d657e617848d13c9bc11ade06da0c3ba39de8419e258690adf864d46ea445e1a41704c00c46490a91f64c1438670ae940b98df13446a66bd2a904107b70460e0a3ea8d2ed355ddccc775c8fb36c05b16fc689dfbde8b8a818a378ea3a567b82bd09609feac2f8d98c996f9c8f3c49208c3d9a219bbd1e2a418b10580ed7",
+				.pt = "a89481f96dc8e44096f084930948364b1798adb6c115e863918d78438edd7f5d",
+				.aad = "be778c09c87c9217ccfd094f9dd16be3",
+				.ct = "4c469228d0209ed1b3b31be9579e348f32a0081e47f8805f713105bbe267f850",
+				.tag = "084cdb4942f752a2a0069719ae462ce6",
+			],
+			[
+				.count = 5,
+				.key = "b8168c50e6a1fd9d1414485dba395512",
+				.iv = "15b57f51afc3135de146798917af8ae2ea0385b20f9a425a9a84e54e189732804a4616eec50882db36fcaf7656ae24b34fe3b851264b178f78119f910022aed5ae09947ac7798e4906b7fe32ea5bd080988397c8f921803942a44fbce5d649e38306ee54fceb27b8f267205592a9defa16ebe419c5b48b2bba57c66897c23420",
+				.pt = "1356ac421a095fd223018312662f65db5b3b0bc2d0103a4dd5da245e4b5f324d",
+				.aad = "92f06026c5d04789af37ff21c2a1159f",
+				.ct = "15f04e76c7c645f9db7799f15d89040f8314b988c628ca3df41350d3e0fae225",
+				.tag = "847068f09e853b9a4a5e55f50056f9ce",
+			],
+			[
+				.count = 6,
+				.key = "fa14af79fa899dc3a871a0c1bd540d62",
+				.iv = "19cbdd686c7cf333c64d7619f80a19b1e61cec9db75f8584d9477dcb6e9d32b965b29d847e7eefb5cff4963f1556f637375d29d4965c86e391fd92f627a1d7f8a68c6ebb93718f681bbae7386df3f036f9bcb4c1d86a7a8f4ced98b242c5b40dadc2d5616464dedb763da9eb319d1f351fa2765e297c3198a1d348b1dbe0a7ea",
+				.pt = "2685db5a8700095cf11e8f636650550023abfa416d970267e27bf076057739ad",
+				.aad = "e5728ddb6aa2508ab3895569251f734a",
+				.ct = "21f1bcbf73d707386f97735cb98810ed219cc47a6380bb3ff1652d9bcfad7622",
+				.tag = "218775fcc04c823df0c76cf27d0e0b69",
+			],
+			[
+				.count = 7,
+				.key = "1bcc81a490beebe51daaaa35567d1827",
+				.iv = "cd8ecc8f99b22fa06e791ea39691326063b56aa032c2b9c5134cd1c3dcb792ac827ce412d4977933352dbaaeaf25bdbbf2a0a1c8d36241baf08b15fdeae8d90b9a31c6d19346cc377c83529d790d0d6be455d4d5aa54abed69e5a096dd5de3b58a9a91363d596747f1aaa5351dc55741e106f1798a257a18c5224527a6a6155e",
+				.pt = "6f019a8c7bd3c2db2d12175d22a1fc16b4c086743b9ae63944fd17a4835f22ed",
+				.aad = "234db2dae5b065bfb4752c6405efd783",
+				.ct = "68a9c94dccada0748ad650044f6f55f48f8a9787215b4ca53bb55c502d89a8a3",
+				.tag = "633e5e4bb89c8654eefaa6de6d49aad6",
+			],
+			[
+				.count = 8,
+				.key = "98403aec5d419b0796c89335ce97439b",
+				.iv = "9e2c3d5e94bf2fdbf147f8950cbe495bbf4b097386464c0fc0a386a91164f90d2a870e0f838935c4a0e4dd4c087468053e5fcf5eac70d2b0d7638e297cc9d5e1ce41b0f1c8da54cbff1f020672704c883621fd6e86501f97dc1d0c4762b645b6830d63e892f746078d5f4f867c6c8907cd52f6b441cd67d11fd818ee51c65e34",
+				.pt = "8dc8f911b49a1777c276538b9240281cf305c06d2f22082f9102fd433afd2ba1",
+				.aad = "d4591ec49eacc9b1ada75a92d0dbd523",
+				.ct = "459b2353638d67e101eaf4b21d82e5e364bee0c959d4fe81a773cfc59aae15fa",
+				.tag = "b4bbca77ea137feefdcbafddf0a511df",
+			],
+			[
+				.count = 9,
+				.key = "857a4ca48071b59625f7fdec89510287",
+				.iv = "0b244bb89b2d0365b453d20f3f33b0639a394ed15b163a5714947a7349b27480faa1de398bac758efff9de3e963a9fae91e3791423a3ba1c6ec2177e27f57a1dd35b5fe98a6982f80f161171b81bdfdffc6265b81441f6ce3cb7c85041df0233453001e309316a7aa4ce66d2e0a52962c2027b21fdfb31ef96b8397455647484",
+				.pt = "a0c085577100c5f4652773d6251aa79a54b6297093f0ba0e0b662393b627d6ab",
+				.aad = "730adbfbe7dc28c938b9cfb576f09366",
+				.ct = "c20b9a2c6734b7d0e85ec7a2f64b40935705ba555d3fbbd1bc5aeb8598fe3863",
+				.tag = "53307c78c59f40f2330198bea868048c",
+			],
+			[
+				.count = 10,
+				.key = "5e4619a35ef49fa6d9eb6376862c2362",
+				.iv = "f680a9a0579901bf9da5e210cbb6eea77be69d512e3c75c2dae44f2309d3c4e14a0138ef1b55b89c77088220255756932e9a8264a131905adecb521af07a105fb730e2abfab3165b4d25cfec83273d0e67bfd26f7cb13aa4cc9ceb5bcfe5cb32f64a857b2b6ac3851e403d9c2d0756c016b9357cacdc67d61d6cf2d46f1249b1",
+				.pt = "5072e256a93ea5e4ab650e47fe63dc6fa2b6998488645145bdd670b262a84a18",
+				.aad = "0b9c6d06d14b6269e83497e0b15712c5",
+				.ct = "332e6052081072c7bb19f912262da21eaf6a4ceab6d29d344942996cebb87d1a",
+				.tag = "9ce460b05fe8ca82ae3f24aa4a7c1fc2",
+			],
+			[
+				.count = 11,
+				.key = "eef733d29ad2b2bccad69adc219b592e",
+				.iv = "ee44507d4dce8e43f268b6d7f51b3be962f14f60fc7bf7fb8459adcb8b8bd83772e03a0cc4c9c25c04527a3a6b956b50124e41fe7b6601b2db81ad51cf7ae07166f3aac48dffb48db50bf85e7da1c487a7dbb50954d389932b2138de9c7e996a87c6f85eb14a2a4be25757688789350c5e373f7f314cb3cefa0db787ae0ba395",
+				.pt = "0bf596ebe042cf5aadec4218675b2ba328a0b2d45c9e04c637eab55ebf478ff2",
+				.aad = "2c490f2f1ad490784b3ab21c6db84201",
+				.ct = "1eee783bd9a227bef30a2c4f17eb06eb1fda0fae6b14fe051e5b285ae655cf6a",
+				.tag = "116d8517dc8c7468c85798dcf5d32191",
+			],
+			[
+				.count = 12,
+				.key = "64440b20fb9da0c8544a0cf98b38e7b6",
+				.iv = "4d2f58c3c9075aece0a5813ec99c23364ab8832608e67120c258f28079cf9aa2d9d880b79c666305644047e753efce81efd53945d430d7eea8ad7def321a7b81c62987f55680b175f74a5bf7654aa41d89fa08834e9a0faf4cd502f0310e9540c91ce2ac9370d0e24eea4bee20cfa8dfbc806e4e6280ffa9757ed3d477b4fce4",
+				.pt = "accb5b4542eeb1c33fc98e8c24762dfb852173c928a03ad1d042a53e01e228c0",
+				.aad = "20b7e59ee17b744a0dfa3018c10a9b3e",
+				.ct = "849efe1a7c2840c2b238a8ec057d3332d7525fca32c79de80290598a7f11b4b8",
+				.tag = "43baf54cd6a417c5aa24f18bcdf9e14f",
+			],
+			[
+				.count = 13,
+				.key = "a4f609687b64cef60fe7c54dd0b93f6f",
+				.iv = "fe8b285c36af0b8f8b4a1c16ae2be9b107e07e728305cc8bffb88d1441a3b83f6d32082d1da6a41ba8791a5d83126f48a310746cb72ac7072cb7faad5472151005b88d020eb92f03a7b333f8b3ff06c48514c7cdbc92ab1d07b5d8fb737c57ebbd0db93b3490d1eef46ac417422daed2813c6821fc20d51455e15b7e4728e4fc",
+				.pt = "893fc8308a16f79cd099f3cf30f543bc4ebb07804ccc3472e3dbbce180067d49",
+				.aad = "65daf70d340dc716bd5f3d45edb7ac64",
+				.ct = "2d490dbc690bb5d5ca6926c62bbbe623486da1418a7a3958c2bbd32d73bb21c5",
+				.tag = "632ce306b1d55100d964fa8ed6d826f8",
+			],
+			[
+				.count = 14,
+				.key = "fdabd14cc9b26cacd8575b3f97e72e00",
+				.iv = "ce71b18d7a79b427f08476461e4e96168bae9575133f0e89a526abdf8ccf88120ec4fc5a11fe6abd9f34a101e2fb9b5fd0a893d40da1e8c8168bf606e406fef72e5adfcba7f511ac42e41dc6fa2f8e8ab98105f9309b1aab15292dd57f2b0b139d8f955f96145a3ec9973acc2f6cf3704f7455002ad8cd8810bda38580d8bc89",
+				.pt = "33a73618fc93822e054ac1c28f4da6056b4450d38699a3cfc0819bea2c79bdb6",
+				.aad = "3d196362170e7b7b9444976b8591b94c",
+				.ct = "702feae6e7d1e01c787cc84be199d6f2d8ccd120c62dfdd03532cc827189d8c2",
+				.tag = "223e0addca728c088534cb057e8a409f",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt256-aad160-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=256,
+		.aadlen=160,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "709aa4857ed67b465981770fe053d968",
+				.iv = "08fd6a21f9f5815ba5d2785c27bfad3f6d697aa8d1d7557c5b590c9373ee43e05a4c9ffafaab7d3b91e95e01b17e04a013e5fb5a629c1864d4a680a34f7a6452e24a597ad06c4a374e192b756d1ecd9ab1a2ca24068258bedb01fd6e0a02050ac9f1f18f829bab91c9612e2fd9fe6f7c5ecfd0198c145d291906328b7743ce43",
+				.pt = "1bbf8f33801d83d3de1c1c358c83987033342078b62c332a34e71d2970bdc7dc",
+				.aad = "36fe569aae9b339440ec8ea8c846dd22d47037f7",
+				.ct = "eae0a6f3f717ffb7a8f4f647c7b129feebdc047a29428492b43bc3092d0c51c9",
+				.tag = "0354c2903d4a3a0bc08b597a46dabb94",
+			],
+			[
+				.count = 1,
+				.key = "aa198d0e6d5d9cee230095d83a80f83a",
+				.iv = "f630ddca297a961cae2f478b8735a1eb2d91f52dc74c7ca08a39c8e1430aaac518cf03ecb35de5100b599297380e8a9cbb99c2774c9ed8c2f607ab05db4aea81363facad340171dfdb52c106528cd8fd38d771dff07339b19c63e8310d393b9da3364ed02d68218cbb5af78e732423e9486bd32bff16ecce2ca3eafe63f6933a",
+				.pt = "f8b7af366937ad04134e00990c42eac88010d8d4204991d0a41fa11f890365de",
+				.aad = "ce842d66f1d04de0bfe093c330a5939d2db96288",
+				.ct = "322d65fbf574ae04019109171d545d833bda13ec51fbc19bb565cc7cbde1c06f",
+				.tag = "d5cd64cfe9a6d2bb9118a78774a35535",
+			],
+			[
+				.count = 2,
+				.key = "f6d178f6c0979ca313e22c9232c4257a",
+				.iv = "a21b62440249568a06fd2481e307b31d1663a30d9fbf082963c86e53afb8c75cdabd1e79b20bfd35cade5d715af9776e7b8dd196d066e52e758a9d2a3cfd863739d74488e71c921ef5d4e6d61abaf377356375c3274c14521f06769e6b336f299856d687a2a23ccbe3b327a050831ffcc29a36c27b685edb9431bc6ed509a9f8",
+				.pt = "1c09a203ef4820191fef6055abe0a9271cc21a115c6af3f2c07fac205fe79aad",
+				.aad = "137445b7e02ccd34d5204736c4334f0b62f18758",
+				.ct = "f187955c6fc7e8be234e12d990f974ea52f0cc6bf51c7506f6db8df7d0d96da3",
+				.tag = "f781e9f050debd1fda8a8c649b8c7429",
+			],
+			[
+				.count = 3,
+				.key = "417e631af63173864d8eda423d9f9373",
+				.iv = "7fc4068805a19645656f134bfb19d992c0c42687fad131c69ce32816d00487a2ac084fd8daed64f646daabf9aeef9937fc16f4d1eec7b132d8e266fffd1dd2c16e9edd36be7dafb140e3b4a30a807b71e0e5a186780bc3c6eb6106e1a69c0747d44287fdf16606874d40e1ebf894498e5dc557a43f955b390eb3501289850689",
+				.pt = "9bbb5677e6a6c5636108fcafa66a537e5dcd415997f1612419c128369f4ebcc0",
+				.aad = "58eaa3a99d037dc068086e714e1fc9cdab942abd",
+				.ct = "9acb20c12683ff5c553d6ee1c7771c55b425b69af0bfe9129a16355eb23f0363",
+				.tag = "0b83470b81973a4d52234bef038bb5e4",
+			],
+			[
+				.count = 4,
+				.key = "eabb0f1811ebe07f830d73c8dc012bfe",
+				.iv = "9fa3f5e63cdb73c3f6d7d717a24b0efa43c72925469efc37e6d5fb3d19d72baab0641cc4c6cf00fe58f570acdd3e5ef8896bfdf3a8929f2af3a98d0b613aa470ce091d4c7b29bdfc8d116d5d7f320ec45eaaa19db2613846254c8048785ddcbb5e66f9921c5070898cac7881e981f735abb2a0fbe334f880d476f549b97dbc87",
+				.pt = "4c623f9f067ef11e55f80ca819107746ef6b1157bdd801155108adf8da9a80e3",
+				.aad = "0c54b22ec23c57ab725cedd517b20ab429875a0a",
+				.ct = "e93b466c05236e48e9ef37b6e971b2fc6a16f6a3cab5bcbbc3480aa0e30f9741",
+				.tag = "74f75283d95509f430f38c2ab45f4012",
+			],
+			[
+				.count = 5,
+				.key = "ca065e7d1c813c0d66650ed0f604b1f6",
+				.iv = "fb9f06c32311ca3bfb3b9ab77c9d3f4d0cb9c98ed4d3b1bac9f8610cb9524ccd5f85fbcc3fa4a4d32e622eeadc70d25309efc446be15b8cde200340fce9519e3f81804161bd41e772101bc8479e13c8f9b4524d381378d3f34e75d405219b5b8b7a7399014896175697707d62f15838d9c800f8358484d45ad2e151bccd23308",
+				.pt = "6410835b336fcc35d1f9dbc0a470730b8c106a973eb20dd9cb549fef07b3399e",
+				.aad = "3d4d308f13b9c758dbed9d6828d5027598233783",
+				.ct = "501cf9f4630a10cbe5ff79701bb0e9130571b5a0783489e3b6a525d3e9141531",
+				.tag = "0e128b30edbca7bd7910d5b004f223e3",
+			],
+			[
+				.count = 6,
+				.key = "095e6eb3d7f4b8a47d589e7f4414e570",
+				.iv = "142f207b4c0767039617f0c64ed19372b499398eec1fbdf0bce55544a99b4f71d0947ffd26c4a9b42bb055d7882e870fb6dd3b4004c53a2b5daf794570c848d0648e44d78363497e41fbed010cfae2535c3e42bc6ddc91f2b872bcbc06d82430beb8520ec3fd2df5af1ed794645ece545004e30dbbb617f7b4d073dfe735d40b",
+				.pt = "e964e10831fc94cb402b24ab793b9ca9b4fe853e02a44ea5a9bd15d15e80ee77",
+				.aad = "bae4cd51b6e3ee0d506202e94d8d9ba65f9d0f89",
+				.ct = "f6fcbe35683b98cff8f1819e70c4a6e9f5431ac271f3ad743a06e143063c2a1f",
+				.tag = "bd8a00dd30f130d62913617a6a107251",
+			],
+			[
+				.count = 7,
+				.key = "4ca7ac9ffb8b7b6332fcfffe8645b230",
+				.iv = "9f2f8703069181c54803b67df478981dd676429dd76baef092459c61a7f1012c7e9ff057829d75c5f90a4c5b28ea3918c4e408ab17e64034235d700ed74056f1baf8dcbd5d32f1b367794f87a8f9fa649ecf98d9c9bbcc7af56fc57592bbcf740998d7d194f3112405538fc49e0286468ec8d8e0a732e4cf5fc35e4caff05e0b",
+				.pt = "0c85caf967f2b4ea1efd2e10aef18e98c348abe2d01e5eb86b9eed5485e6dcdb",
+				.aad = "040e9c7a9d32fa9bc5a902860a388a5e5f1453b2",
+				.ct = "78a6c607f1f9852889c341ff38e90d8715bdbd922ae693602438c94147ca02ed",
+				.tag = "565aa41437fcf7ec4b659f1d7d86a5d8",
+			],
+			[
+				.count = 8,
+				.key = "582df5b472c0aa741cff81346b019a08",
+				.iv = "9ea4348bcb1fca5c1ad337e29c4643d9910135718a0baf2b299738cb7b942811dfecd702d6309f0a337826d7b5e9f13988a574e08f55d72915b816e595d18960221293d76df81a46e80ca0e6682c8d39137a04bc4ed9c73217525fedd2f431e57933755e4e2159553759b98f054f7c343c9280a63eae4d0bed389ab22f3d5d67",
+				.pt = "866879190038fa8a1f192f320c2eb69f5ff15152eeedf9d6f1aa250ac9e5c624",
+				.aad = "ac8dca1264e8a5aa9459e1dbe26208cbeeb51eec",
+				.ct = "a8687ed0ba4fe26d69118a76a99d6776f1aaec0b49aa55288406e173be73e21a",
+				.tag = "2f25b3307bafe43b8dc011ebcf914bf3",
+			],
+			[
+				.count = 9,
+				.key = "3117f752dffbe9fbcb97f2c856763a51",
+				.iv = "4fe85afb7c3a7f29b3b3cb874124234743ae9f28f0e58a0bbfbe72a231a4fd769d0ca346d2d71c8ce2def3616b73ff6e75cc51a7d4aa97a308b944862f54e5f892c2d167acbc44f9d335068f0d7132b809028374376eea798cf24da5cf7135bb0ee98301d41e4fa9d110116509b598f5e168ac852a11eed6bfd2fe30479f592a",
+				.pt = "ea50ada59b2984b31927425046f886f4c643a7948e639ea67fb41a5a5a3058b3",
+				.aad = "bb2e1d75f6d8714c3e4d4fddb2544570c1e92eff",
+				.ct = "7fe6d0d87baa2848ca0e051d482fb902630cd97d60dd8f836bce72ad633a83c0",
+				.tag = "bda3667d315a9e7bec9aecb81c8a10f9",
+			],
+			[
+				.count = 10,
+				.key = "d5b674a78437e9f10453106b59e1886b",
+				.iv = "5d733737fd08da31b81d754a12feff61d4528172397a8abbc3e0cfc6f796b1d232c2c62e614fb0c797a58d47791685647d1fdae40118e648e03d56234caa5d8951e5e01f3c2d80ac83fa6e76404cc71f7ccca32442b50d25271250c45f2db768b43b9b99d9b3ce63568e28765f730434a1edb9dd330f8b48bc3cf80e3b86e667",
+				.pt = "fa673f19fe3da77adb1c2a119e73068f6c5e2656f8cb4448014f1e5e84a0def7",
+				.aad = "c7d50a26843336fecb248c31441cd60574f66cce",
+				.ct = "b21c7d6109d86a64d6b530f56b9fbf6670929d725ef4f23fc3b18b8211c47206",
+				.tag = "599b473e5917d6a81a60a58dd8ed804e",
+			],
+			[
+				.count = 11,
+				.key = "19f4920c49c001cc1f22698d5d6b37db",
+				.iv = "9debec0d85865efbb87cc75c6386ad0ad2b43ae9d9ced38a58cc679466233e816eab01f139b9dd45c82df4b6846b12be6feb91171b79012cdb415d78dca8f03260532076b11c229d8190082638e99d1c6bba374e05a0923b898283a340663b73233f93c2bef6dd6c16d410a18d5e0b602f35b6765e25d9f92dda6bf3bf39bd4e",
+				.pt = "cd89b3d83ec3124f4c85cec747f350252301900e2b7056755ad450edbcad0d4f",
+				.aad = "42dfdc5f44aa1134e38c8297940dc8fd37aff4d2",
+				.ct = "afcdd6c4f79a1dbbd0196167fa7285c74c4c47166d14e7f4a61214ee67476f54",
+				.tag = "0e8236bf292b880df94da5b397dc7b81",
+			],
+			[
+				.count = 12,
+				.key = "894bc10bfca90a41272e7c7252cd75cf",
+				.iv = "db80226c606efad7ae18831b4440ee0d9ba760d1306fd7d0e9ede7dca7ea56abed1596ca1ff2e0998b52781bd3dadef3834f1637d7cc6477ef07edf55ae33f9e55f6583b8788796ad1563e0dbb4a1ca75bdb12012b7316703ac0a4c55835c02c440290b7f086e3da1a400ade6061bd319b5cb05df0592e8347bce54063a4bb3a",
+				.pt = "c6895dc44946bf06b8ff251b930766e92c0e1739d8efa44b21d40d3a325a1fe4",
+				.aad = "630486c3e6851115b1f3dc5ba55c69bc8a04ebfe",
+				.ct = "b18a4050c66b39d46d99a4ed85287958a162f266e4f49506e6d34d625adb496b",
+				.tag = "1997833a1c9e3cbf38662f4ca737b242",
+			],
+			[
+				.count = 13,
+				.key = "b5c18a2a802b007b986344ec8a186da7",
+				.iv = "4db2a6fb5fa8b844b6a83678dc75ef448c3c9a8c83410039455944ca2b7f9c0e5cd9c507e236858c96f5af6cc1caedbfdd349424958f42f581c2f277333a77941015e062d272e440b0c0a1291ebc31333ca677f0e21aeed01b98d5457f9aea68cb51b49c6c9d757f6ed4afbbd31c6e6579ee9c49942c54a451fcb650dd6b4cad",
+				.pt = "287a119814c60fce6f45f3f603474c89dc0467d0f1ea5c734ee7f994aeeacfef",
+				.aad = "021e3510702068d7393ec4aa723dbe1e112150cd",
+				.ct = "90b106b0fe544889cfe436321aaf7976f7124a86141bebfc2a6cca1df3fa59ce",
+				.tag = "8b3eb43b67f55f73f0bc4b4e36d1292b",
+			],
+			[
+				.count = 14,
+				.key = "0bc5e75b2fe39eb2cd0987dbae8850fc",
+				.iv = "b19b9b2b1bf7dcb6372a11d2539055cf8cf39bc5cdbcdf4466440bf7405fd87aa9faac6c1e5e73ff74649ed035c45cee5605172116571a283eb8fd269ddac572f010804e23c4e60cff2abf9d2ff595040af33695465160c74617a1887b2ba503f563ec056e8d17cecb9031e236005b709b508182b8e8cb9ef725e6aa4c08b4f3",
+				.pt = "24b601c3dbc68f34eac3e77c2fda322076e81041e414b0dfe4f1c43278af2a54",
+				.aad = "9a82d4624b9e6befe401d00764a835cad7dc0bcf",
+				.ct = "d1e8420a11365fac59accaaf584db56cf73f8fe502a049537a3e440fcb26bc6b",
+				.tag = "74973961f35ab52be0933e270549492d",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt256-aad384-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=256,
+		.aadlen=384,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "e5f537055daeb4f4d72be9e0951a3ed4",
+				.iv = "282dc76630ab4d24586fc163dc1edbd4b88ee447d525cd1971e5940177834a057fda1ee18bca23473bac4f46715ae6f07fb2ea141f3c73df732eaa9a2fb587e0fb9d8a7cbb8a0ad527e75180ebdb287316a9dd196979e75268ecd0bd35da4ed17385fa76add170a388377e41103c93c83e467814d26adf54ebe2fea0a4770504",
+				.pt = "3dd60cfeb2ad20482440380dd4d29a014c4e401b849b3003820a94b784fbdcf9",
+				.aad = "3a315586b9ddcfeddf85b69c489adff8b256e3e80dd7f48183f03911cf8a192c7242129408636410d7b51bcd5ddb18d4",
+				.ct = "3cbfe122fbd796175f19c24fe893f0c3da03b406c1da6b1fb4b584c460b77f33",
+				.tag = "65de25a09a8e73accbd5d7bb68f1654c",
+			],
+			[
+				.count = 1,
+				.key = "94e9918ceea46563d822993f512019e6",
+				.iv = "7166a0d4690b745fc47107b6d45b2f5664f3bf32d6fabe85613680c634569c42b4fff722fe0a6a9d29747df7e3fa925724dbac72ee07ca6968ea96809d07eff3b4a4fd3bebe70c04b7664d14409e8b3a0055fae79f611d9f0c44b0cdd3018fc6f1ce3c0e4ba9feee967d4f24d0969b6eadfb89ee48902929d7525e5fae84ba22",
+				.pt = "8df29c59816e3351500f04b7056f832ec6e31346d716d1621a0efd2aa0585eb1",
+				.aad = "1355d3e89f257829d0ca8a5a4a2ee2e6573f0da07a61351c0a204c9ab4ec077b8b177fe0bab9943855a65f819c5f4ddb",
+				.ct = "59e25d3963b588e9fbc6e7abcc08874e745cfa419d765d65f30ea7aff5e1c53b",
+				.tag = "e7071662e03cd15a73e52e4e3ed33580",
+			],
+			[
+				.count = 2,
+				.key = "63c7db3e165add2fcc0b6a24d45a5b7f",
+				.iv = "dcc777ffcdefbab810430c3b155213d9be10ecd6f3bbb547d470004aaeb971b0f3b4ee237fcd869ba9c499afd29a5c2aacea1ab03cc0ff64fb2c1ce2b6cd5e8e8317871aea5346a221b5a4885d7d0d077eb9f6e53aabe39fb38d9d9c3d4c44b8cfc4ffea3882e16a5d99ae49d53c30f3812269592ffb942491bb34916e999349",
+				.pt = "cd6e13cfdc865507e667efdeb8af81a37e84d01f3d4737d7ab71d007e2645ee2",
+				.aad = "4143647b29e46485a9384b00311c6786931581ee655412bd0c3713bfc064ead87fdb5a5562bd847f53b8485d42ab3bc9",
+				.ct = "9632044a9a38b95307ebd042a8ef9d85bf2feca41c917eb0817117c4248793e5",
+				.tag = "9674d2d40fa9c8f94757d7b23a16433e",
+			],
+			[
+				.count = 3,
+				.key = "45934802dce24041b85fb53fae5fd73a",
+				.iv = "b12ad12af186189b43bbc66c5f335034fbcceb8bc991b6451adb1c9f09d0ef9063b63f1becf0fd2042ae0633eb4802c729dae0aa4fd4da4b3514694055b618c6ec84240643fb0708e58aee3c2f254849103f03491fd35b466cca93b475b2cd0885e7f4c63a71bfcf1794f8f1315890f71e47ee001203c69d7471aa68098ccd32",
+				.pt = "53b3b216aa1597fc13e3784b8a2d4382c079fac501d061572ac53cf13a0dfaa6",
+				.aad = "0894afc9060d9ee1614a43af16e26a55e6868d1c63696621ac26459d4038426f2ca34b546332bd5ed55600bc8bcf4e57",
+				.ct = "f41973a1849c09bcd1ecaa0b09d32ffa249cd8d0f3cf7305ec474aa7cb90b3ea",
+				.tag = "b037e739a3263387e4081c8d56b65a71",
+			],
+			[
+				.count = 4,
+				.key = "54711eb4e630f10cd400795f61cc2b83",
+				.iv = "8d21c81df50c0cce9d7e190f96ef48df88f196ffc5f7388e28208cef6cd9fe96bfc9b216fa28708324e2b214ca0afb1b13ae5aab5db95f3d5eda75618a0be9cf4a9e7c920d45bad3e26e6e44a50369f69a04e18844b9ad0e87fa5b03fd0e9c93d7faf4de4b85dcc3996d9efb05a19e05ea70a21343acae81100fc18838541797",
+				.pt = "21d66827ab10acd9a9e367c12691fd62b514af3d5953099cbb35cb0ec0d2e62f",
+				.aad = "303b313077cd12b9c10b3aa1299eb2b9ca89650b981c5fac18f8d61e125da84e46af5005190c45a0b1cefd56cf60a3b4",
+				.ct = "eb18df1eef90fa3afaa25f7ac4df8213cc1004dffe3d6017fc961a9111ea44e7",
+				.tag = "0c090eccf4f7c56c19ab0a6c19a42872",
+			],
+			[
+				.count = 5,
+				.key = "402b3d2be0f28f2f8364f9abffaeea86",
+				.iv = "2cf445fe0e793b00a87271c4fed400050f4f4534a6dd91bb946bd6fc167b25ddc1ec171d1b829d22862b887da1151f7bb4383c8a6091e4ffc1ca238255b6d47f9eeb812764a20b2d975a85657854613040e59af62269375c278872633c3fe1e695e22237308ea87b745e8178ce7cf3448b9b99c9e8e00845cd8638b7c8c9f61c",
+				.pt = "547bbd81af5db799c243ad08cdb7ba01d79c7cf1625d9482caf90c2ffa414652",
+				.aad = "9810c6a92fa4d3dca78b1fdc5b967ee5d55079ebed1ed8ccb4b41c10c98dce37687c29bf385fc6a023b55073cddd6896",
+				.ct = "70178913794104a57e498028e42cf64d3cd4ce7a69d64d23c8c4594e7e4408ef",
+				.tag = "b69cd65b1aec81055b1cd5119a8bf95a",
+			],
+			[
+				.count = 6,
+				.key = "f3c31556f71a125715362917f0695a4e",
+				.iv = "969e7032ec17e8d2689e961675b403b6f519b36f56a8fc647e3824e2ba6cb3d374d2b6f150c8500b825cb7c11910c479be7f0c09c305adaae226900db531e5294239c65e83e37da6bc1a9c4990a21b87a6c337c4af620aebce24a6f383e39be4c8efe46ab2fd39989b4fe834ac2e183c63bc1f8f02178fdbcb5581e519c6bb4a",
+				.pt = "f69056d82d7c4a276be1925c69bc87f9b827fc59b8a902b1e489f72c60188a42",
+				.aad = "711ac6ae09b3e073bc98d3e9125ff018c13d22d741ec9a08c96420eccc36aa464301c6d6f8d7a337db5b62e391536c6d",
+				.ct = "9b2ba5654e95250577eddce01bcfb6477658e930f9d65c34727d3780cc8502ef",
+				.tag = "9167ea69ed25d2ea11dd515446c3454d",
+			],
+			[
+				.count = 7,
+				.key = "9bbb6af36adb976f6ac08c354c90a336",
+				.iv = "da8cbf0753bfbedd425e8161cd25f223b9a6678610ff68f52684843e1976b846f541384f197b4173f2a03ebd1c6c0e03135fac2928358c581ddfddc838c79fef5dc66a298e48017edc8f5b0774ca3296bc4645004c34fef019d0cba410da8fc2cdb5dde5e8e54ee530dd301b37aaa98328dfe73c4d6fc2235df2afa1d2f2ee8e",
+				.pt = "79cb41bb0d7f464c3b6bca090baeda5e8c1ed69d9ca58a93748caf4a704fd30d",
+				.aad = "7a1c2c877c9178f4e56fd51ee432aebba2346cc69b5483bb45ceecd5807339c53bb926ba03e2b14e2b0fc4054ed85067",
+				.ct = "2223b6a70d3bf7cdbb0154cce4bc4221b7022162b688425a014c82f09f820505",
+				.tag = "b2805b685fd0d43b840590fc944c654f",
+			],
+			[
+				.count = 8,
+				.key = "4e5379de94d9377ce755a138f7b346a9",
+				.iv = "7a5bbdc7edc27e2a4dc300488520ce6b169fa156069daeba0a057d334a89f3edac328f874e259ceee6aff26b9b8000cbf3c91cbf18a8fa6804c9bc40fd919d353510ca4590dd6a19a7d5a510d11ff7443a92d70b88457d3538aaea6fb6193333b00b1f3e1bf2f0a709baea369510e0a99b17c12f459cd96f5ec17f80cd4aa256",
+				.pt = "aa4bb2f87c199ef4d3fe092a31d83a9bf40cc3369e0729016d937e22051f2476",
+				.aad = "c0db06860caedd0e3c7331d49350159e5d86e22c09dae1beedf00695973dbc3220bc64c9732c3c6d201fe43ae18245d0",
+				.ct = "18660fb02313104bca3df961dd297ccaf3256adc242743842535428aaebc86b6",
+				.tag = "3c9ccca04ce8d3aedf88fcf890820256",
+			],
+			[
+				.count = 9,
+				.key = "212b768119d585420544e58b37e70afd",
+				.iv = "76427dac990e1fb19852d3d140b94ac09d64fcf82b1ddd31649e393fe7a6027eac3102bbadb1da28d8f8d505ad5b3c1f534a0b1e98813f6e894c559641cad08367624fa719f046d21e22cbd915cf1a7991d8bfee0c8d4fdb63b45cc0fa28ff1139c77d1139d2f34eb20e384b5cf7cd9cb5147b3d05f0dea56c8dae76b42bd5a2",
+				.pt = "68351fd01206e465c5d5a8501b27817ff99e3263c5c88245cb42f7fd61c3910c",
+				.aad = "a9862bbb1f4f7bab5bff6ba8b0eea61554d4dbc60638b0c33f527fb741af8ce15436ba2e8df46de99957431e0966a4b3",
+				.ct = "2f1d716514c63785f5dd2732e7a48d610bb724f5e6aeb1f121b980859f4a637b",
+				.tag = "45a344dc7b4ec502adaeade7af3f7601",
+			],
+			[
+				.count = 10,
+				.key = "38b06c420b8ce37dc34b3da2a266a040",
+				.iv = "adf7ba7cedc8deac4f0e322ac56cef292752ec0632963d70d5fcf2bb72424cc5b647c90751185f3de4e9d6eeb6b45ffd33eea3e6be314c936f24329e26758f4036d1d90e3b11adb026768f3e47cdb5f706279b55b2623622507e00258eb81b4dee9e928d410c5a0e9e575c4b1c1242bfbb32eaaab27f84ba6498592c80dfcbcf",
+				.pt = "a70d3165093db93037d4b1a7a3b21fee295da3a2c967920ce4aeda7392d4cca4",
+				.aad = "bf0c98203892f0795a2b75c87f1be824679e0d3615d456fbda36089dce43dfb6e1d3dc0f82413d87e80bd62768537523",
+				.ct = "564c646975c3c565e125fd49c337a1a0c4ca93f3645cb9e2673bc0e323eff612",
+				.tag = "d74db0d207fb62a073c7480d9c4cb520",
+			],
+			[
+				.count = 11,
+				.key = "060da1ad7d1de8a9daa8c5ff1a8c2773",
+				.iv = "645642b0dca311caeff55937c68bf29de7960758e48299fb05b4b7c40fde8f53644eca270c612924850182f06a0da648c2c6e037811b530ae66b8339d96fd75f8ccbf4ae509db2d73a471bc674a8ab0285a983f75e104aef537228a5b97340111a01f0771fda790597eac96e710ab37c2b77f5750f8a48ea927b76a0c622abd0",
+				.pt = "4478bd88f2a859a4b88bb84413fa34647301e766e38ce7b79cd6c7ed741f7c05",
+				.aad = "1cc1c9c5f780f753b69160befc4d7584b7c6fa70552ad2db36accff1f0c7d18d0b2193a63a7d3df2c2a07b4be2f03225",
+				.ct = "3f7f1f028ec784451e4cc4046f1e0d574e5fa5e0d26f02d4e2ed11245ffb9db5",
+				.tag = "b1c2b1545b3a6da55b488d7cb64bae3a",
+			],
+			[
+				.count = 12,
+				.key = "87962ac6f0a39aafc33d6edc2833e69d",
+				.iv = "413ac73410d4daeb18d0af9f5cebcb430536881e73ab2fce343a3a42205e93aa6d27ff718bb7f81d20c6cfb626a71ba189b0210d38038d258fb0ad81aadc1fbcc04cf9edb4d87f1e27dd9020605a18f3af2476be916d5a1537f2c89792eecdb405f432a15f19f60d52c99e7c7ee67e88d25347fffe7529e1a19bf7d7e5dfedd5",
+				.pt = "edc49523d1d333381a0781e354d3e2d686683bc1afe2ca9bc10349f0ea090762",
+				.aad = "868a1897dd55cbbe6e2bdab32d3e472c02c4d00c6ad8d4e18e4665ce8898e604ee6d90b2b6ce61320a1e89e89415b7ef",
+				.ct = "e74235ae8c89aa92497ce2a99d5dad7d270c87dc4733954f50363b8e6829f09b",
+				.tag = "8ddb9c60e60e85d3e94d1b3b12c52bbe",
+			],
+			[
+				.count = 13,
+				.key = "ce7875a8cab4ea295849208c6c2d7f7c",
+				.iv = "e4b4e19f28fb7e02409d7e33762ad0e7baa2e0cf0cd0b94226323a156902d7cb0cdd34dc367148649615a672518957f097195981e48dbbf3cab70106a63c47e3f46bc2dd9826959aa37ab74443eeb2bb270092d08636f2227cf396e2a7d4c68f87c18afbdbcfe6d6a7aca4fa5199e0ca6aa1f771279dd59a0d63d200c8830da5",
+				.pt = "82cf71cc4461f3dc5c718f95beaf20eba2fd2ece008ce44224b1fccd8b4bd4a0",
+				.aad = "4859c60e23a9a0597a764a9f883dfb603a32e1891b2e45548d7d47e9c25fa9a9c9b3017d86c0b74ea490aada314f14f1",
+				.ct = "9e3ffa8a9e80b7e25a1a3275d01ecba656d1ac4cd1f0a672725c23250ba8b973",
+				.tag = "4357a2765c6e21ded004e596bdc15d15",
+			],
+			[
+				.count = 14,
+				.key = "8c6eccf721a7ea09d106b1aac5d7cf7f",
+				.iv = "1a2052bb5b2944ae854e1909fe8a698588685fa1b045afa6e5f329cae1fdf53d3d99f700b051b88cf99680240681f94315179e58b11c3e2fbd5a49328ff98cb119264267075c9f32774805eb06806c5097d43b3455bcb639cdf9dbb8a7e337769d9c30dd43ac2a5bd6f88a3e76aa985a1ef55e86d184ebbfac946c4e40481059",
+				.pt = "4353d2c60ef4399813e939c41e486c59d014da53eee1591d5b930a2e5ba9d6cb",
+				.aad = "8cc7b28d6e93859d1d24374ed8c7ee3a11ca9cf1d009009be9f74f72ee20d426e7d7e1df024c7da57bd0342a13608fb7",
+				.ct = "8d1e8c65492caa8237e9f2d3692385c6099cdaaec94d170991fe8394d7974e55",
+				.tag = "0c87529fb94f9e6d7c6d46d8c5d66f4e",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt256-aad720-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=256,
+		.aadlen=720,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "2f1b35e2b94ce7176545f0cb6201a179",
+				.iv = "a0934b654c35a52c2c2b6d654915a87a8d9fd6e0fdc791c8dceebdc5d13f7fab5a8016f8273299047eea4a473b80b83dbe3a9c9a72664e8a6dd4e30456b745f86c48390ad7ae9274910966b26e5b76d4b32f59e20b4a5a068bd03dc7bf80aba5c381a38891aa94b39e8c474c14126bcc43998f3d23cb492ede7d6a62bd7840f3",
+				.pt = "73c4e60a588dfe352f7719ed196744ece713d3249efc8c2d928d90a7a877eb4d",
+				.aad = "8db80ecd10de97c1214f1837f83df9eb07feb42e8d8023a47219ad6c0b8fb8f71741e1d764724b7d645eca4eb689ba525e3ca689ccd9871491bc1feed4a0b7fff88c16282607953e26da03d4e978e78e0995e1c007f9a4e17779",
+				.ct = "4160cbe90452711403b2579d3248f4d058bbabc31d656687c040faaebf4165b0",
+				.tag = "f4f9bb3e4e342921e95605cdd782daef",
+			],
+			[
+				.count = 1,
+				.key = "bd1fde6b5a3184d779331058bd253d3c",
+				.iv = "128ca91d8aa93dc8d06b1e9d7bfdfcc4a78398db5d0d97bb2ea1494ff0be84ebd9bf579e8470b110deb3acd1217f4df6c168093bc01cf5fcb6176a9c579157624aaa0a0aadf0ffffad9b03e21547fedef35eec5057bc7fe99d36c1cfe9491eaee481a965d79d6617bd28acf5e83b7cb9175b65702abf0b648e4079cc4cc22fbb",
+				.pt = "ba561bc23bb2ff8b6ba2b06b088e459966fc916fc5c9284c3c2c9cff44c5f015",
+				.aad = "90c3dacf95ea83336a794efde4ced5c414126e1f52eb3f5399ef44f8b07ce8636db1420c9cdeef871c4f4ac8f727962b6642190cd5b55bb116583cd456f229bda53e7d208d3ebf916445d1f045eff501e413f8e48d75242d06ce",
+				.ct = "b1066c3b02f71e1701676db30f3eea2e86bc3869f64bdb551eadc9c01f7c7ee6",
+				.tag = "a03da0d7c125c4777bff43b047bbe1e0",
+			],
+			[
+				.count = 2,
+				.key = "692ed91284c2d4dee62fa752af9d3c3f",
+				.iv = "17749a7050b13545bf38f86099a52a1b2dbb91075af9df352f41483e333fd888000f4702fa128aa7a9f7fb3261473009c51d02e25f809969e83d65157911cc233cfa73dfd34f763097475fc657e570cf439f15ade9dc51e4d625a8042f87197a5d31f213f792d990f70c5bbd364f297adb0435a231af5654c74fea14354275b4",
+				.pt = "0c68e83d667c8377e591f6cbbf7294685ba3214c524df1a4e76853e9720eedb5",
+				.aad = "5cfe9e9ea1d8abd33a99bfebae842633d1ccc9810270165c1539a6f06a8024ce5a7e2eaa5d2ba1ab8ee5a57ffceb59fd8165bd108da1a6748aa205fd692390c21d967744b95d3beeebc596adfa5e3f09ca0619b54067df7ab86f",
+				.ct = "5dcd5db6971577278e4b4c5ac791a94837c7ccb6b3daf9cb511499e82c92b0e3",
+				.tag = "e3e22674953eba4c116d70503ec04cde",
+			],
+			[
+				.count = 3,
+				.key = "f4463f1bc404ea4331b49befed41b2e6",
+				.iv = "859c5c95a4b62e739e413c21c5a2d3ac74a5fd3cdb3513d4391b99f082ae7e32b6da9927e52230d55aeff2c1b2215d190525eff322d5f3af941d296836c84dcd00ab54835a23f42ada25f2767528876419051aa60b8d478db9c6da90a4a32599eac8626845f7d80cfd5da7a7b86d4cb9452954616adc6ee0c8586d4b2150bbe4",
+				.pt = "a8861d6c2501033c4cdfc9a1def9c70be01c457d45bf8e70c6f6aaac0cfdb751",
+				.aad = "05facd178190bbce7cbafdb23fb5dd519390bd97705dff20831223b7c71f2503877697619b655714d836d1dcbab24a232743b9173d6f771a3bbb767d620b7a369a6b782c9429a45d4b06b488ac918a01203c7c2ec9d9df4ed289",
+				.ct = "a3ddce75793bf1dbd9c6c77fa96c508a015872163f4949293a8546000d5ab65e",
+				.tag = "2d45064f9a125f3a0db991db490c12e5",
+			],
+			[
+				.count = 4,
+				.key = "e91cc9a2feeeffa0b98141bd8bb6cd32",
+				.iv = "72c79ebfe4b7dda9e9be6c4217356ac70db4eb1a2b81d9d148510ebf1eb61e81b244cf33808764d0fa9dca76eff3174c56e1597485f1cd172ee278e289cb4c5f18492908aab7c77d711e173f45fbe7616f03eed21f28d644867cb8f8834fd23114a53b35ee9f5fd413cc0b3cf6362e2d16345daafd4ad8a8ab11c41a6cfc563f",
+				.pt = "9682777b08fa1610243807a37bd052017d4c51c52f209d10eaf7cd416ce6090e",
+				.aad = "c13d646686cafb506e8f29c84cb7faaf5fb3df9dd0496cc94236cfb60531d0496ccbc6097f6a62f86ce815a81e3cf7c6161bd0c5ae4d26ee6e6cc718953001148715976eaee97075384332039725c334ca8ef730e2e47f6b913c",
+				.ct = "f4999d31303defe1f0e49c9413124250bf869653bed76f36eff2014b508885b3",
+				.tag = "747f8486e619c1b17da7c2afdde75bd2",
+			],
+			[
+				.count = 5,
+				.key = "a21e29fd9480f7230ac4d649cdc9a8ae",
+				.iv = "60b57403ac1fed4b81e7bb0879cb7436d4b177373a123fb0f310d4b4a443139cec34adf18e0ddff243f0310ab3c31d2902e58594813ca92c80a3eb61ca5eceb02acb7673e31c6672f94cdb608b0f901450715a3554ce231f10eac5bb1f83d837bc2c84a73fc67bca80f8ffa89250a8a08cf4a97ff6c52e8a2125db002a173a16",
+				.pt = "37b9fba0e2077a072d9cb807a23abc6a02d7388ba60c77aea334be7f8196ee36",
+				.aad = "fa6cda7fd2e25c88992a8910c228bafa17400fba1b46c346526d5d3f86bd5bd51d23e38a39278ceaab23218088523985f8eed1eaf58ae66c467bb58e28c5addfa2966f95703068e79ab6c5499af6d252e8010a99292b293b7b8f",
+				.ct = "dca42f81e59fa84051b36279ee4c6179afce150c59ff4ac0b33db4f5ae3814b6",
+				.tag = "36608fbb75de5d896ad13cb1f5a7d35d",
+			],
+			[
+				.count = 6,
+				.key = "b6f1f444bd7d08cf1882413f27aebed1",
+				.iv = "6d89f0499f79f650711d78e893437299b4a6e3cba897b9bb4117fb26d2dc75d718edfbe69bfa69770e8d89b6a72633b78453342b9b6719b941d6cc8129c8082ae1312828d82b77d72e7d518ad3bfc028ea7d1c8b8960e5c18adac0e9fbe4fed4b3f0aa079ae001830be48e3cd6866470f8b5839130e036c9e9b58f60952816ee",
+				.pt = "a49275e27e5120c80e60db21a8ae9caebd8471beab2a19fde07dafb3e5c3e026",
+				.aad = "f7a2cbf15b927a1a8a7473ce0204630487a0a8ea9f84da68772f0f3a387dbb8e237e8f56bde3b7d1f48e9255644f76bedc5497e3a2365f5338eff81cbdcbf2574acac22784ca2ecc7afba34e21c1a7de8e66b91105336738ce9b",
+				.ct = "ea6ad3fac73fc0f3a792c57d6c7688969659f3b9afbe563bab8cd6d79c2bbef8",
+				.tag = "03e973813e52052c0718d68362f03137",
+			],
+			[
+				.count = 7,
+				.key = "c0a5d9786632b42e575182f2c029639d",
+				.iv = "37e59521d253017f0b415b16d2b7418cceca4be1aca24332fbe8ec360ccf151d35aae56d99a9e723dba3061efb31c5d15da0f7ba14f01978f34b899f17ac1b34c12394994494f0fae81aaa9bf4b6e162bd2a9027a2d70b6d7235d8863de8d35e6c57c30f2a2a5fae9e91b37d672cd8a91f5b8e1cdbaa46553f50dca728a7b3ce",
+				.pt = "ec8115e360671858eeafadd51247ec034436d3b51dbdec1f9b5c588c3a5c9204",
+				.aad = "dfe8abd8144ccc11cc6999b2ddc848277ea4fa0604ce77854d6225ab352a8cb3b95344c25043877a975b8537b26bb35c712d41922dc47ccf0f845685c8720a6d96a163ee13bff7fc7f79309e6649d94dc66a26b0fab50472c107",
+				.ct = "248754c9e1c184ccba9e2cef7310cc5ab4d01c42f38b44e15043fe5663d64ec5",
+				.tag = "1124e9a78b205ae3a5542b8d862a5ace",
+			],
+			[
+				.count = 8,
+				.key = "380aa40cc3cb14dfe42afdba0e7aabfa",
+				.iv = "00853cd2674be0aaedbfea497ed7631a51b2d58f0bc4d4330410bf22e20f1b273fe169ad651f4203bd5748d2aed216f8ffc455f20d2a4327f481db0f551cd4c56d81ce1c433f42320621eb58863410ccb312b2b01aced83077952e70904b5b09b6249a5c110251ffdd92c36de0fc5db630a26cd37854a6c6e7bac53aa90db36f",
+				.pt = "7c4bce9c8bb5c1bcaa7462ae8850f8c67a14f5096491e03a77b221f4a38a7c75",
+				.aad = "da2cb9708b9751755accfaffd7c4e424f57c635972987a3889de57cc4891ed61b9b1b5f0050438381c6cff71a0f9bf3d359008da9a0e63c5262c68b08863545f5b62142f605d7aa5d977a7bcfed66d6b5739171e20daf974a827",
+				.ct = "5aae80cbc167a6f323cb7c9f1fa50ef42715d8060a853b6c1122b7e19f31529b",
+				.tag = "5c9b396ac0bc3a59689c6fa0522de7ab",
+			],
+			[
+				.count = 9,
+				.key = "9ff79059f68eb398b573559219c8f19d",
+				.iv = "8ff6711dedbc99e5324be67e2d9d055c12a4a51391ae1bc9c9728675a0904405f983d40737067ef014a55d48e1602665715e2d31affce525606d89ef0198d0ece264c70cd7f508e830ff4dd850fcb0d85d7d51e8a2d93df86b50390971a0d5c16e6c126504859ac1c147d72234892ee1f8455c54f7ac2a85a57733cc8500e048",
+				.pt = "f7de3cadf7c03f1b01586ee1bc32cc91ea2e8e8a9c0daa3732aa5db9e16ef044",
+				.aad = "853615cb837e99b0852971cf865ce9e93584386022cb3148f62eb70bd923e00e577d2c9a03ddf1952e7eb223c6cb2252aebd07dd939c47d81066962a9e6ef6535eb958a3faf3faa51c767c19e3a68771ab025762dd33b9f7c4f8",
+				.ct = "2d2dd8d91c9a746e88b43919613844b84cc638ab199258755c8e00ea0314b1e0",
+				.tag = "29e848ff6d7a4d6cd34efda4d8d93193",
+			],
+			[
+				.count = 10,
+				.key = "bd89b78403d239f119872fa8054dd7bb",
+				.iv = "8db67ac17af2deeafa1a9d6bcde12b8dac49747a26f29d17bc3daba86be09199a4b5b43b9938583b3e006503426c7dfa8c8887104640b3406fe6d311083d03c443587a1776c61fd54aa60d4f337f9d82dc3fde93af9207a4573728bbfc590a685abb9a4be2316b9e052e68cba3dbf36122edd7e66bfd0cccfe23e4dc3ab68551",
+				.pt = "5f08a7b3de336d20792dad13f4d9708fd219ceed1fa2a0658ad7542353bd81a6",
+				.aad = "2867e9fbe5f2c5ecd0fff775a59cb95a006e0466b3c884b752361008647d33c8e30f7dcd1092b21463fd6de0f769bcbc30ea9ab3cf7db7f2d15042bf9b346fb79ccad2a8054400b8126640a2b2ed40b6d25e4c405f15ac855db6",
+				.ct = "207c6a910d8dd1f6f64037eaf165632c0363981a19369ad3ea9fbb85722d1159",
+				.tag = "cfaf1c7fd9a41b6e6bf632096fbdff8b",
+			],
+			[
+				.count = 11,
+				.key = "500ed4ebabe46f13865f23e6fa75461a",
+				.iv = "a527bb8b14631f0f427a8a2de1e28de9f2f7e13619c2ab738741df750f605a898fcdb600ebce59e5dca77e41373b5044bbdc4c717a2ffa9319e29c3fb1399fca9dff98b795aaf0144462f9ea69bc7ea4b8c69ca1d137ce708e544ef87e2aed0bb9215ea14446d3fe8731cf63c26180dcffead5a2a70b8e46f6c136a7b3b8b598",
+				.pt = "0a77f9d364bebd94d925b6cc2e9eb9319676ac2cd4b8c0092addd5b8ed9cd8e5",
+				.aad = "5d2356338066631a23bd76ea73153f3c187d652c237bdc0babc871672dc6a3fc0701cc9a66c561412fe8306a43b3878be611d9cc1efa24908fea924d7e4cc8123846a9a495b61dcc95c9fcaf5ed6205e18cc0f9b32ce1a28643a",
+				.ct = "e689700c1de3b639962f511f0e72f4fa17d8999d4a943b46c2d66be1caa99b3d",
+				.tag = "35d9b62668dd2aede74bc6a15e17ecf2",
+			],
+			[
+				.count = 12,
+				.key = "38fb973bde6ccde74c45cc2b215b6b9c",
+				.iv = "f48c499e0c88fc2b36f81b0d4b1fde82172f7f2e5889c7339f8e2d313094ca928132b3cc531ec0aca132aa716ea37b396acc6be1d6e982fd413bc369b5a6150e68b6aaf5fb41d9cc4342350f530b19f21da0527c3c65498e84ac1858fdc338dc9fd17daeeca8f6121a6d685f1a2801f4b857f2f1349aafbf8ecb816f0fad7f4f",
+				.pt = "1eb4e10318e6335ed4d4dbef9b0f9e851bfe5a420033ad18081ee54f0ccfd17d",
+				.aad = "63c62bb7747e60791bd88a4b4f0f9999d100f7ae1de5c1c348a6a174f56c4a7717882e4accf2febb7f5dfb064efc14ab2a4d4517843e36c3f9d4e111a7cb7966fa3769f68b03313311fe31f1c2fe3463a22d1a8315390d672844",
+				.ct = "7ede76d67d883bc6d588253c6fb6e97dcf15313c1991f91be5c17dc0a445247d",
+				.tag = "3fcf5354adc866712b91d3c8b9452693",
+			],
+			[
+				.count = 13,
+				.key = "d677adf26ae9cf6f170a7dcf96a87c02",
+				.iv = "96030cb2589dd61ca8f0c6074c5398687a78869a543bb3e26a925dd5f0aae6456495de3fbb06bc6381eb71fd3976f50fc632897e296d5b0e29ba94378d5f2e867817f99066447819c95b467cf3253f2104368ac094acc0864cabe552a62e1260581a83a40beeedc03a674433c06130e0157884edde5172670cf8caae4faff587",
+				.pt = "7af226176fb4dfd9e226d356ce800e978bab04a80f8f1667eeeeac6d09a71b27",
+				.aad = "c2379181c6f5f170a8f9f2795432d875ec4267fa550315dfbe967a47ade93560b2f3fc4f4dd35394585c9a2d336745bce94cae831a9dcb18417d3059ce8ff018b771aaa753f68f9381a3c2db91ee275bd2868aef84ac065047c6",
+				.ct = "b1b80196f3c90db9c47ed647aa0c61b1a7dc20b8ad982bf2817e05dd59aeb5db",
+				.tag = "e57906fe1e22196e1c23437957222286",
+			],
+			[
+				.count = 14,
+				.key = "bca8d8e29f2cb98800686455759f7081",
+				.iv = "4342e3ff54b3b78d7ffc3ef8ca9e44e202d0b07d71a2272485a8d56d23a6a0bf1ab666599710933d62c2ebb21bbd3278c5e90f1413c95397e8cf5ac75b0d4591c8da21d7ceea630277a8503386acadd38c05a88d382a40cb537af8c3d25df284eb4d96092cdd055cd294259e9cac2040e7decdf5a3948190be012d80d699bb2e",
+				.pt = "de88cdb7ff20b94c910b7faf29e4da9c3351dfa434ac9cfcce7bad4de5ff1251",
+				.aad = "e13f57eb5394f32f2dc0c0fcad0c5a9304793699e7d38f9410008831efce6c0dee6ca1d4b18146090374d98bf517ed5cf592b387c02871462cbb112937c6833244f314e273450c02b0f7573761d69a58ba7dd8bbf9537a7b973c",
+				.ct = "d19583c3cef82756f14b2417ca091e7f76a85bf37506cb206501ec3c63df4f40",
+				.tag = "f8f8f24874477a5d6aa941fbb8cabe54",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt408-aad0-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=408,
+		.aadlen=0,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "705f69e89bcaba68c4c26a9f7bf6944c",
+				.iv = "15b3bea26780db690eb2f78354207209c6c6f70a1d18cb5ed654a81a6da3300d653cfb54b5ce8c324f5e78474d80de9380ca77a8037c2a7a160ff38a8b23a20a688fd8a5d1ffce5af7ba371e94de38b6658471d2ccaf684fad7aeae8b80df1a0956b1c767de3d686ef56ab7741b5f15bbf7bb0024b362ea97940d69378a9b1e4",
+				.pt = "6a0006a35f11510d13fee5822bda908576ee9743b95eea9eaba2c457a8a5838e56f6ea6b85d332849dc66a02dec292556428af",
+				.aad = "",
+				.ct = "8cfaaf97ff27aa73fdbabd03879b937f668dba79ed9d73c7ca46317516617c9b384d9338b1a087b2688765a0dde6387f6350c0",
+				.tag = "17cf37639932f4ce0e42df066353756c",
+			],
+			[
+				.count = 1,
+				.key = "54043f9804b0398127128e51f3b5922f",
+				.iv = "76351b77e6d50b43671953b684d0ed4ce52a4c027f8cc0a18316f68673f704476461eabf4d41e652e15818a1b153fa5e4dd63f6afeea0c898c7db7e9375af458d727a8691bdd1cdb59caef53f7b63b48ac290d2541a5aba8b8ff28adb1aa798791bb997a3eee7a079ce74faaa47124f12df9e9cefbe006b7a17adf08531b1e68",
+				.pt = "e2e217ec7c6de831e73b05f026a9164845640fc93eb802599d0fc0b398fd224011384ed5d0a92a8cebc7a837b117473dfad34a",
+				.aad = "",
+				.ct = "fd6068e17e889f2e679e3bf1a3b1c40098625c6393afeface2b74f84a2bf7bbfd1dabeed517c4adc487bbcada01059665335d6",
+				.tag = "a913b38aa1d1334d29ce48607975ad60",
+			],
+			[
+				.count = 2,
+				.key = "f3dfcffcb36a2a7af790680fa6343d4e",
+				.iv = "ce3d268aadac2d86c46a1d1c1b95c121eb7347509328149e9243a4504f068db46147078b5e064b894ae3c73ed536e5d23bcadceba84b265992fb33d2a566f411dd222bcc53ab00257f36d93ad62baf292ffd432dd5dd8b466250cb999b584e409db91d3baab0f48358f63d93ad89473923348dfddc9936e822688581e994c8e2",
+				.pt = "b7b414d1b661baaaaa9b718d26501757a481e555a26d1e560780bd7e2e6f3fdb2f5f8fae09044043111c1fdbbe063046eb5180",
+				.aad = "",
+				.ct = "b235e86c4d6cfcd80a2df270ad2da79233e9629ca43515b1eb36d218f09f8e17e9beb6f6042b04b6e97602031db875e6c70801",
+				.tag = "44bfb9bd63bb60b86e4da0364ac98d48",
+			],
+			[
+				.count = 3,
+				.key = "3e4060764145a0500c0d3daef16b1b3d",
+				.iv = "ba4cd8b75d32a320841e3d49e465d01efe01a6673f5ca32e56aefad231e97e9924781259981b549e26cec3dc0ddb94812b3b6c972b49da5c78240d93df80ab5597cd12f8e25a5d469d5cb465aea51dbdb71e51e11a3d17bac94a3cf4b8f05cb13074cd2f5adf4e18b26224bebaa4513c9d149c871e07a562a340645bd4671fb2",
+				.pt = "e723e69fe162f022ee401fce2d7fd74206b428328ae802b7a30187229227c6489bbd0bd59f2796845ffb528cbe0331b60e00f8",
+				.aad = "",
+				.ct = "66b44bcc0458705c1447928439f1542d73b7983bf6b22380241e8ade82041c7482fc147a5c0bbe9eca92c33a0202432b074ca3",
+				.tag = "423e4b8a3402c38ffea9bc7afa3b8d5f",
+			],
+			[
+				.count = 4,
+				.key = "cc6460926da2ea87c0046206d6dc734a",
+				.iv = "bb3c48290bc87a1c880034f0c1c048f398f21cb40f0031973466c27370ba3dac5ad6590909f4b55cb9277630454e16c920b7a989a059bc939ccbe617223ce42dbe8d72df87e3803b3c53a33fbef42b1cad35b8fdc2dee15e0153607017ccba6bf32bdd14f649dff4f0ce8dad37f4d4fb925d3c5f9617741e74d3befd34addc64",
+				.pt = "eb3dbb22ff526ea8358aaa010d5068484fcf9e3ad6a3ff3f2d2b11bdf9b9b38d46f894968b9e2236f1d182f6ceee49daed02ea",
+				.aad = "",
+				.ct = "4dcec66721d6f445a542a43f166ec5b77ad66e059e625c203baef938a942b0c941a99813937aa0a9f6175aa1a93407e2190cc9",
+				.tag = "7dc88852cbca1a612b84ef2043359d10",
+			],
+			[
+				.count = 5,
+				.key = "67a15edd89fc2774544678fe7bf4c537",
+				.iv = "a1412ad98b46234642891300858ffded72fff3c9fe65031f0fe84396bd9949dc755920ee8fab787cc9045ae5dac4bebb15d5e879bd54b9f2dba8a34c60c59594af0b64e3ec1b73c23e24a0981f64bdc95d85582931e0e6f143356abef3e32caceb218fd0e65e030b223dbdf67c47cd4689967da606bc8bfa57c62a703beb4514",
+				.pt = "2a42729bd1d31c14f8bb91e6d23ac3c5bb99246d097ff01d719fe501523e014e8cf84a22e30d975934230be460f90854336a8b",
+				.aad = "",
+				.ct = "730dc5187f38123c479843251e956634ffe80a4ae484c25e9bb84f6cc1fe7ea9120c3fbea72fc90cf676ffd7879690fb3776d1",
+				.tag = "05b7e54fe6e5454b6f2109155b0e23b8",
+			],
+			[
+				.count = 6,
+				.key = "bf883fca0cdbc272a030f6a9be383959",
+				.iv = "e844a3fe28668decebd39d595deb8e6f2bd76cfd95735f45657d9a2327e5dc794b621fc5fa591987e1d8611211ab10de408c1b943e97a6a10bfb6def14fcce718925ebc3b9f44555122c20a0ed719f8cfdd7e0ee232eea72fc73cdd9e8feba07657d6004278016eb8a46804c95fc0069ace895db7a4c9ec6b810f88a78a41c3a",
+				.pt = "e947fcf5fde073ea2f3da75b3e5fccd6b068043f3cf51b539dadac6d18b1694fe5a200ce0f4f3eb4f0b4d314534dc9a956d2bd",
+				.aad = "",
+				.ct = "137946a8efff0c2ab35562f0a27d0b764fb577dec92ff9da3e1a5a69dceb0013172983016c69f4139ea10f7676e2b9776cd30e",
+				.tag = "89d3d8711d1deb6b6c12a31407e8c4fb",
+			],
+			[
+				.count = 7,
+				.key = "dcdc8e30bbb5e95614a8da3a7be587bf",
+				.iv = "ce68c3f59b81139a819de30830d09a19d286f58fbf065e34d3be42734ef2d576764bcf6dc510b97494a18da28988ce9e1fc49955753a515843b60bd2e64a2e61042b61e1e6b890014e8e9fcedb009f993abbeb5b521d2e0ae90c6e07f70ede1e379c7ee1fe9d40066ace3bd3e737663e1a279b661ad63cce73eb70240707002a",
+				.pt = "034eee26c123ff07ec7c0afb86c95bb1ace0bed552e93a9e795bc8b5d1000c5991dc2dd5256e6e92525e344f0985c9ae272f2b",
+				.aad = "",
+				.ct = "f97504e8e8806f2112a0a6d0947f8f1d5ab1226cc7c933c0cac089903d6d524b392facb0d2511552126d15fa59feaa48849587",
+				.tag = "97754ceaa5d113d58ca5380cf6d00187",
+			],
+			[
+				.count = 8,
+				.key = "82d395b60d00a07b23fc4b146f9e8e1c",
+				.iv = "0d7f6271df5818db9bb4d565577cbd033d326280bd9d236c245f0889d346f16225982c833009159feb39e255beacb36729b4a4b6bdc0934ba6e72a00b09677de14476f228b9d906a0b3a8cbc6d687004c40f2a494cec22ce894bcce41a8c8a2d8217e9eb373e72bcf30dfbae9cf2650334ec8b667dc85c4ad14e3377f760165b",
+				.pt = "03928310ff98c96a811a35ccb6268da5045347dfa993d15ed16a7be894b207ff29c8b820af4c857dfc575c8dd124e9215cad42",
+				.aad = "",
+				.ct = "e5a1c1e93b7ef8a5cc1cf6c6c3311b5f1ce0b2057dfdc8e2844d911f2476d0c0c6b3f0d651511cdf9bfc2edc5f6c799cfe6a67",
+				.tag = "ad65154b0a0f8d87e26a8fb25003d5cf",
+			],
+			[
+				.count = 9,
+				.key = "19088050ca6f0106fa7f0d739bb62c16",
+				.iv = "16f0aff079184bd8391a46ff3a8c8e9b39bf83becf29c4d5b954f1239704f99bcd0d40bc8d507a56d193373fff758e8ef1ee5b3859da9793300ea4b7e5fb24cbdf60d36eb32e7f5d233619018fb9d53ab0fad6c3a4272a64bcb28ba429fa1ed7b888e9a842772cb4f39af0a94b81bcbdc06744b68d83d556e893bbe606ca4858",
+				.pt = "58cfa7300304427a25dfb4d181c4a9af8b5531184770305dd3eb8ee2267c3935bc543c3384b7c501b433d1ab3ee4981d30fee6",
+				.aad = "",
+				.ct = "a09ad94240b0f2ca621a2a99d79de092fde4ee56e70f4cf637b35fb4292cd4981a8d09b4afdb8d9535dbade061ea32e166156d",
+				.tag = "04c085b56f74c94b488c910c7dd5663c",
+			],
+			[
+				.count = 10,
+				.key = "c4ca6e45eb4369b3b75b79a5620114e0",
+				.iv = "047fa3a51b481e278728eec236b653aab211821960e78211cea394434f02e626f220d517ecc8931a54cf745440c5b99d768257fef690af6f915a270a2c5559e94444aab1f796cb6997ba2d1982e5cfb64fb03ec8e12b6497d40377db8e4397bae38b9ac8be9f0bcae24355b980bfbf70847d799a160f726e7faf1f9be4c1faa0",
+				.pt = "8f2e7bdd16bc0fb0d5a0ee4c5febbf6a52291395c9b6f3b0d6b1eed43de5d1af67f18e336d8d8cc960b877635e818af48f4107",
+				.aad = "",
+				.ct = "88056bc8d56c1e73ea7514ec509f5eb46e660a1e60ea01c3f6b16c51b1dd79d351ba206c3ad9acd55efdcfe3dff878c84dbf38",
+				.tag = "5149779552eea7ffaaf0bd17636c848a",
+			],
+			[
+				.count = 11,
+				.key = "88c81827cb514632c8b0c76b7ecbd1cc",
+				.iv = "b3632bb439c8811f1454e6a368c4c9d0bbd3d9507ed1050cac3f19ba085063af9d162eb1c02077a51bad143be939d32c685b6fb3f330b8b382cc6567c55f2f4ecfeff88ff281e1e5ee1cfc813a13c9e69096761f58d13b9cad6221b5aaee03e40ad56f1a61c250ef57f94985ab6a603ded02b513e035ac8b2e3c3b69d35d2918",
+				.pt = "e254bf464879b4c48200541d359ecce478c67a62f4f5aaaa047d8e4a4ad6adff19da9a535a0be0758d5e7e992ccbb936d3c496",
+				.aad = "",
+				.ct = "453ca80e69d37a6c8338da0deabb5ed1d5f8c006e67aca5d0bfbcd3aa32290521e91f379b7db57764c2755bf8691451e72a295",
+				.tag = "01485fb4f9675740b354bf7557f0f23a",
+			],
+			[
+				.count = 12,
+				.key = "ea6e84947696128c865295ce7e6e83ef",
+				.iv = "5cc1973174cca4aab3c0adf82044a9745127ccccec157dca6356217895b4d9b9e2720a67504d2b0a0eb0a18e72f660ce51677ad9e855846ab4601b1a5d28f7341f54b2a6b9f3812a484ab9a90c76c3295cccfc33604e8af1057337f7a69cce0148c2e4fca0cedf8ab269314a7244accac2886a3fbd4e02177783d609bfbace79",
+				.pt = "357ed55b7f2a50da5c86067ee1025e501e37e1ce30f3de81a3c832ab2a45606090ef4e3c902b8b597620be12cba5785d0250be",
+				.aad = "",
+				.ct = "b6192c139bd83fc4f66e60e0e092326fec8f4d6529883aa9e02aa9f8e663524a74fb978718cf800fb92af3997833cf4fca3471",
+				.tag = "ab729a242c5ed444272723c8a6bf7fd3",
+			],
+			[
+				.count = 13,
+				.key = "d71df7a6f33637a57c037f910e53360e",
+				.iv = "253afe37397d07456e46156812f480f9952d0835c47e6c6ab61eaa501b7a50b94c6e4ab02d20341c513da22b3805b7579f4b11276a954301ba086ac03513d7779fe447bcfad0f4e3ab82e0d1973012ea0c48f1b0814caf11c1b8ade7e91d1d589b563ac50315a0aca7c1dd21c88ce9a437da5d0872bb289c4527ef152f3b6a4a",
+				.pt = "36ee2d54f826032f3336b2a8d08808dc4243cf923069c1739cd55dd266ec3391a94b0b1a3e734cb5555fc6a3928deeac8c8e7a",
+				.aad = "",
+				.ct = "6bbe6de0c2365c8c61d58f81328f30c1731c5a2608dbdf6877d21042d631b9bc5377d1913c5ad74e5713bbf0e6756c5141353e",
+				.tag = "a833e539c74334ca275d17820b99fb28",
+			],
+			[
+				.count = 14,
+				.key = "862ddc1919a772f8b68cb60ba68b194d",
+				.iv = "3f90a0ee6a58733cfec2f745ac4116a1734e1f13123435f96271c68a510ae2f9031f0acf998b3521a77ae53e1084f3d916b4726c850956d48a5fb9fd4c1f0fb33c91d2d0a633d881d5ecf981b23bc8d57fb598fcefb42fa13abe62edbcbb37ed798289b311166d921233b2084e7222e40799626cc7204d2891bc07a56d6c9964",
+				.pt = "ff30ed15518ea1720d87066b139cde4d538fe09b711aba341ab48f9a66bd9b03fba9a1bf6bf59e2328d4575babc9f134f1769d",
+				.aad = "",
+				.ct = "c2e5c99aa3468c7781c5beec7d5b02821296fb5b1982d8a0bb99302137e5f8e60f53ccb73ee490fe87dc2ef95eaf698851724e",
+				.tag = "5ce651c21c3ca63811194646fa5142f2",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt408-aad128-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=408,
+		.aadlen=128,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "8703ff9a71800c22ac8551940360c422",
+				.iv = "b54448e0f3427b652cf8a2f086202a744fc79b023bd5f8d8b9527703b21c1f58cb798e03b84a7a8d198512456900b6089824dafac86520397f5eefdb1a5d395aef5f84d3a6d4006dcaf397d95cfa39faa49bcb4c0fda07d19b98ecf2d127795f11669635e216a590716f92098fb4e42d384cb5eab6e568b414f5a264d6dda6b5",
+				.pt = "cc327cbdb10169d34bdd84265ae8cf72b9011ef26ed440837c42bebe5d16595155e9e48d813631a343ca397df4ed9b114b8dae",
+				.aad = "e473246e084b49d1af480bbdffc1b9db",
+				.ct = "7600a2746bca6bbab99c02d37c4d74fbb4a02b9ec46eab154dc4bf1f7eea8a1b337346be9315883d497baf19376a01982954ed",
+				.tag = "6708a7a87218374907ef15eed1ddaabb",
+			],
+			[
+				.count = 1,
+				.key = "a3ea0cf52998900e418ddc32fce71ca4",
+				.iv = "4ef5b622c6bec26eec89b1d9db6007d26d49618ae998875f0ab32d6244a9b913ce7d7b965847db5bec0d156d21a4b06b7ba480466256fbe776d098bc37b7a45998d85fb1d4ab47eef69e93832c1f69f003cc8a75afd1c32b727d18051fc7a1c3488467c33252adec5b13ec382223af322fc35a1da1a8876b2845009fe0854636",
+				.pt = "8dc7efa13c9c7e79af72e26c7491ef2fea5d4e414e608b5e618840939f6383e5a3c4a48155222b008e560d9e1673675cfcc598",
+				.aad = "ebe402d89da738d63218e4c3c8b10762",
+				.ct = "3769c7392e0631165fa5612c482aad4cccb8cb1852add533dca70a3e055734a1391f61275f51e29b6eff63795479cc9e2a8c63",
+				.tag = "75d889886dc3eeda901223a497f66b7a",
+			],
+			[
+				.count = 2,
+				.key = "cc1399e0fdcc259a59f50516a511bb04",
+				.iv = "5d4075eb198a0965ba8396a89144e829b2c175265098193f872efd377aaaed47b8d40b1b2e83c52b9bb0d1e537af05b5f9c2922a2d2e8799e603048de0b4497a819cd31e01fba69b228d10c8c0edb8a98657a84f56528921d0caefd793b551394a73ce0d3e86a06f4e1ebb3be92e07ebcd2512124c5d58701241f75a905e34bc",
+				.pt = "a45fb210bff364570ed836eed4479ba12898abd12d908d31fc2a9db50233c775ab061b381b529a1e6a65f54692f22bb9bbfaa1",
+				.aad = "be3d56d7885ec581b6a1aaba60ed207b",
+				.ct = "02785398425916afd10a2d83ece9600ef10392c3b5bb43e3868c7663de01d1fd5fdaa03a7f241a857a2f9d722b68ceeb31d966",
+				.tag = "0c18263efc3a921cedfe7b2a7d140994",
+			],
+			[
+				.count = 3,
+				.key = "363e9a480d97d95b7fd337671ed8c3d0",
+				.iv = "08de1c0733a8d85ee6ddd15b6360d95c161f78a6f9f9e8f70907d8c6602e70abbc88a853bde0871a351b20f8b61a34fcec60cce3632ee4ef39ee42cb65e0edcc97b1de309583bbdadc648e8be203ea482fad48e0f80c50e993c8fbad07c92102433f26d893e89bdb3ebd44ab90de6454b5a938a5654697ceec2168c53a24a00a",
+				.pt = "bfb62f3825a8d790b11016f02c35457e632525da651ff9674cae04b3d459784a79ee6fbb859c0a7db29882ee2b53a576bc9661",
+				.aad = "fd9c39222daf236583a6a23aa8dd6277",
+				.ct = "a1c9e350fabc2312a88cb9a05672ededaff373b8e84d1b7b9b0d6a727e08394a70479f9fa5ca90bba938946e7144487bda324e",
+				.tag = "6b16fd4c6b53d50159fc89d8234bc36f",
+			],
+			[
+				.count = 4,
+				.key = "0a272779cd5d7e7c5324aafc1e4515b2",
+				.iv = "1e941cabea2e1f660135d4b83197539646aa010881a2324e69c4adea180c649a882d3655912c1243548161b2c7d6e70bd93662a0e38b33409df596ad19c754bf20d93511caa94fad091b90de2a7b8ee6696838b3cb0f3e4758c3f87f158ba23962659d1a6a6ae13ab3ec2c2f8a0532122ab0b20e8a407ea52a4350985b00f93c",
+				.pt = "a89f29af3b298d9d48da4e55da5e599f0e191ac370da7dda46382962286d7c5533857db8e6f50646a5b50545357a73084702df",
+				.aad = "0005ad891dc332a29ce43d737a24e550",
+				.ct = "26e3e8a9965891582a9b69afcc95bdb8f8c9cf1fe3a5823e9863b4dee7dd382010aa2b53cfbc97428974a0aacd0250f9b4e642",
+				.tag = "7f00585f6d2e6b30f1656b4cacb4fa30",
+			],
+			[
+				.count = 5,
+				.key = "2a00b16f25135b1b58a88dfc7d5a11d8",
+				.iv = "f31fc39223b7d776effbe9c8322db6a5ca7a0c6418d0310aef8fc3db7614d1913edbf1a2c83ebcb7d982dbcd7d4a5879079c7f717d82fb7441d076d9642435538c6b3a071aacad1ee190b8c087632de766fb8da841e50c1aa4bc681efa0395d5e4635b0f79cfd10d7f26d46426935fb43d10ef0b60de95e20b756a02be9e9bf2",
+				.pt = "593253b4a6c6fe55fef174eed8ce8d9ba40c02159deebc5e29d81fcb6ae0e454a133837203d1db08f1a5eea54f223e0a96d8ab",
+				.aad = "da323b5989373ccaabbf85e331b495f1",
+				.ct = "ff9848482639a9ab69a2398866df9f1251ac7a81b767dfc9a222c8e810677f076a0c185fa7436fff8fa3b35021063969c49095",
+				.tag = "23a642f4bdcb848f0e86ab3776ed4fca",
+			],
+			[
+				.count = 6,
+				.key = "36146a31b5ac0a97e9487fcdff4bdec9",
+				.iv = "1fa44788068b64f97c4f1c01284839c1fe148670c2b90537f5ede5dac3386b3633de92cc215d22f2fa136839086c248d1be8085a2a155c536427df49532a79f042b2e256949549eb173bda1510ab55d0b7964d257a176e39f336738c2434a45ea719d6a25b4be7597679b9e692045652ab9b8521ec630267dfc462c94c81f7a0",
+				.pt = "30c5b50dba76f3d3b74178996b492f0825f6aa8e56b2c3d4d2c86c2f18e8c79f5e5a7fc4237782eb33aeda8a929c5d4646172f",
+				.aad = "d11ad642ee2d54e4f825650aa620b2e0",
+				.ct = "3b0e3918f9d8a5aead894fb38ca1c3c25b32966ba4931c489435aea1c48e8a1aa0990d69e507b8958d1a396acb8ec4b1cd8b4d",
+				.tag = "e2d2ef8b38f559847fcef66687fb8110",
+			],
+			[
+				.count = 7,
+				.key = "1e58a3e8bcbcd8df6a787895637db3ee",
+				.iv = "71a0fb800f947f77147ca29a2318320beac421a0d8aafa9ce07104da8a8e280f32e90f06d8de358e2abea46f5b3d39f1ba457330b3d55711cded89605ef76bb4203dd65bd45e71605e2ec344efccd06fdebac8b4d9fc676f0c4c0da914a39e22bbbaafca90f92356f0cbbd019aa27faa5b8a31d5844bd05a3ad841478ba81c1e",
+				.pt = "206bc0428f9ec1b6dce07e5d0c563c9d98be8831057bb74957314d20422b4d362b16c12a626e412797aaf49ab4b72d6ede7646",
+				.aad = "9f8f336b72737547073ad040e684b8c6",
+				.ct = "c006f3c1c075532cc11676a83f98759476ec581314f0dc2ee841fcacb2a23be636a2420a782de985e787540393c55ae6e2038e",
+				.tag = "71bfa57329728baabae5bf1b7d1f025a",
+			],
+			[
+				.count = 8,
+				.key = "168189d0e3ce46f11c9294c9556e4dfe",
+				.iv = "434164d42e07ebf25fc2aab6d3f31ffc0d36be21812bdc796a08ee6ed370c9f30fcb7d23c7c5c901776f472e9904262d0a9f25a24f6d4263b22526ddd9d175a3f1fbc36881d638ef4e7ff3753a8d8c388095093f04207c3ece6dddc3aacc5e0c6f4432b6ff1fd2063462b752e9782c0f91780684ce9dd797285a3fb06d25cbd5",
+				.pt = "e66692c507200c19b97e2e3b2ca494541f964c5f422d6e5dda3c40bdbc131c84a8b074a48c37c00b95f32e8070a00344b77dcc",
+				.aad = "1c17da802d2be4b6f199ad93347e8e9b",
+				.ct = "992f21af126377fded37400ee829c9fa0444b2ff8cd619a5b2103791c30f5e9b4477fdfd36c09d9ffb30dad6caed917476e07d",
+				.tag = "1b15da5cb37a832731da52ce38d11ccd",
+			],
+			[
+				.count = 9,
+				.key = "410ba67e507f999df7a68c54277af203",
+				.iv = "7fe6fe7132a0dc2000599bae39704ad998a59c40b74691fd645a333683edb53caacd169711777c4fcdbc018c408ba9afe9e0876e42db3b2552969810cece8dde9145b417e2d54bba23fbe7eafa25c4fb19b2451b2957b1236e9ffe30d6182a5bf5b98fe24567e51f299ea1647f39cd2100e9bb0a4eab7e5685cabb7efbfd63d9",
+				.pt = "79ef72f769a16af441c63a2bc46d951c3fe4f6a864d9a171eb6f5015132191c80bf5f945b8ba6162feba77ed19ef31626a25ec",
+				.aad = "4e92c92c1a15993283dce816bb917ff3",
+				.ct = "c3b1a1ceb2237546f1f2b539ccb6fdf3717346305c8e479d893be83aec423cd9fcfc253893828f2d2e22ebe009eb897a0619d8",
+				.tag = "a1ca984f1f6ee4ca01fc3811ee94ff95",
+			],
+			[
+				.count = 10,
+				.key = "4f317748e8d510327fd906d18c7ddaf9",
+				.iv = "ec3591c17b119c9121f9f38f01b659c848c4e9c4be562560529e2370cdbf9b49534975e6947d6dc2cde926cc070dfd0c0638429c9eb4fc957a777fa20537e67f5cf860bd8522dd0d51c0abda5a438b7e91d57327117558f4b17b594f892241d350e46ad08df6c13bb11387dbd98c34c5b067b8b66675eba4e6e0be10a529e954",
+				.pt = "ff090622a5ccea836fc2edaed5b8e467764008b286d6e201da8abfe448819671c3daf56b98b14180df87b19f840d939e26d670",
+				.aad = "26234b3da00cc48881cafcbb1eb1829a",
+				.ct = "3913a0c52202932a2a77d98eea4670c91c6ee18b5b6afc126adfb06cfb0efedc7e49effd6b249c9faa151ba74c9aea9578cd8c",
+				.tag = "028db9653fd58eb8eba50330dc33ee66",
+			],
+			[
+				.count = 11,
+				.key = "4da3b6571e0f326351aaa3beb1bb5aed",
+				.iv = "d60bcddfc28c906ac6910ea05764d52b963d6149e1638cf9de47c6cbd2b66b11394516d37c5b75d5c3fa3c16ea1bde05d028105e1d005f5bbece593770aebee14099ff89c3f7cc2dd3e46c56a67e8e8c379371370ce799c918374fc12d9cc8d0284d066ad81bc3afa98707e24b9573389d2748c991f72509d4b101aea61e9f27",
+				.pt = "c1b956ea06845cbf8a11b348074bfdb259a36a00b8a0687183d1d11890e0764d4d49e1a9ad04d4afeb3ca9d9758c8f6b9e4d39",
+				.aad = "c3ea120a78d8229a825e1822cfc452af",
+				.ct = "7e9f694d6e62fd2d0f349d6d97f81ab05d5ecea9938c9a22622deea8cacdb6655db9dab34f965c41f8599139742c5d3d20b02c",
+				.tag = "5838bcfcbb024d3d4932d34b4b4b2fb5",
+			],
+			[
+				.count = 12,
+				.key = "37b5e555b7a1078d8a4c9d98b9f49abc",
+				.iv = "66cb663606d26b916144b731fc416695c9fc21089fc6d5107e883aff523ec7210705ef09a40d862f46c9b6303a32bd6750025600b1fcff8d5c0ebe747fcd63db01ef0f178ee346e215a7bc0c8eadea7b7a9a43cb128d386e3d15ad083ed02cfa3b3dd9ca1c9e48e743b8fa1eee89347308086bf3cda0837724ca0b920ce3e63f",
+				.pt = "50a8de7912bd1fef39a70ca0ebdc8dd8ac27ff4aeaba5c945eb7fe5d83bc03d87c29b80675ccf0c999501d47cf42c7056eb4f2",
+				.aad = "91244a991102667d51029900b091a2eb",
+				.ct = "cd799d1f2cb5712cc286212e988a1b303691ddde748b4a64c17bfee755e159906810630cc9939cfad2f813dbe13e4ca2ef401b",
+				.tag = "84cf8d7682e7def49276a6080fc36f1c",
+			],
+			[
+				.count = 13,
+				.key = "3dcb27f1f77d8ccdbbb343ade1154ede",
+				.iv = "d65dabaf7b81b080f804c3677bc1965358d77ceb0c51620328644e5bf6a6a67e40bb8539182e4c0ee1a307a0713ab6784a734ea32b02e9120b79a0bd17c8175e286a0de0cfd1c16a0ea5d505a7ef4e9079ee174f7013ce3d8abf4e9ce891ae0fac9d63897048c848192db7576345430d4d27d2c39894d9dc490ecebc3fc118e0",
+				.pt = "a0653aacdf4130dc84535be046469d2bff230b3867f8f80f1fd1f96f842425e1196bf6a200abf57a3cf0ce80e1ddc3fb12dbd9",
+				.aad = "34efae05adfc277b8e336fa7fd53450c",
+				.ct = "be283a87bb80fdad43f2b0dc7d5346a19da416494b64f6f9ddb732ec1529c30b42d96e78e9694ed2e970a7590d751cb2d6466b",
+				.tag = "a347950372cce882bc4a0645a3537581",
+			],
+			[
+				.count = 14,
+				.key = "5679e65f6982eca8bc5f11070be451ee",
+				.iv = "920fffd4db64cb65732793ee5b951588f2582091bc3e7f39c07698295c59204028da920a972361f53a865630b1af3b7fa9f1eca889afc42668648302c21982fb3a89a95d2001986d1a23b65726c88fedcbe8a5be2892a7b55a19516b1355fc67e8f3d4620b722e7d5e3c7f3d8772bd8634d3603f6abc394acb5268f0d23b0f93",
+				.pt = "8678178df5d9b2e3a63e59598ab591173d9b004a22f82f3cc490b3aefe605584ff07f4d6cf12b87f7cd3bc30fdffab5fcecc94",
+				.aad = "fd61835157e960bb624cd4f6cb04fa8c",
+				.ct = "5171497f2969598027ce85132e14edf7a91c5c75006010ff549cb71feaa3b5971a0e784834e1229b09856f61b65d399f86cdab",
+				.tag = "09b34df844ec5b717531115d22bf2770",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt408-aad160-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=408,
+		.aadlen=160,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "c115a649eb2a502fce0a7f551d0200b7",
+				.iv = "8962e4fec5f0321384ba4e23cca35a045ba2e69c11640fbd0ad699a1fca522bdb8b81495d2a1f57fbf9c520cd3ec9aebf3e43b02d9784a532a97faa6d0ed17a1b9096ee047f0eae50414966b8cd6071236d7059a34c8dd1d9ba8ac73d5d93040ef6ae64fa9f5786d4ba7189b1ba89d74aeaf5e65600f06c5d9fcf7c6e3d76ec9",
+				.pt = "0962e13f76e281942aec8c9d7bf59ccaf702dea49de484280e4cc07bf44355624d262e5b42eeff46a06eb798c0dcd748aaeb66",
+				.aad = "2ab286756824c7c2d53f98ef7075fae4181bf741",
+				.ct = "8fe59aa7c112e4b5000fd82f194f0f9b15218f072630df5870d1c8ca81d7d66ccf95ddd3ab3c603af2fc2bb9edca00c7bdab94",
+				.tag = "9eab1e037e703a777b76306d8aa660d3",
+			],
+			[
+				.count = 1,
+				.key = "1bb1b9eba461433a4f2d74ac7d63209c",
+				.iv = "9be9f6fa0c5daaccb26de49156fdc5e1cdb4a03c8edba66829f0e597174a57abb81554d8905c3f32e4d12d72e34dfe029380303ced9b107e3f39106f2c1e4eb010ff5015f1166896ebb530950afed34b48be39b4404b0793d4462c3c373812e212437152a1966faf5b5e75d7dbb8a328e5350709055141003d5f723a02344520",
+				.pt = "7d4061a240655071ce3af2eb90062e3ef10996b26c1bb1e007ec07409f54722eb45b0ea9cdf4770016eae55b3c4f9466255a82",
+				.aad = "e34766f7e41ca7ec790739e6058a94c3f5144ebd",
+				.ct = "0d27c1158a2ca08897cad3063a54c54ea91b091a5983cb86cf6768848efb9c11e9fb3b002ef8500fa0bad1403ee1dd1e61357f",
+				.tag = "d7537fd9df928ce64b8a825ce499eedf",
+			],
+			[
+				.count = 2,
+				.key = "b1f07f5120c153eff2f179ebcea79736",
+				.iv = "21fde08f16d407e6b3a0e267b1e46846ac584ad3ab4eddb9b0dc40d41677ba39f141976cbc271e901fb26188d3b7d2b95fc8a1db6facac52e5e7514799f34a067dac4e4813b08b3b47672694494c99e62179ee7e943e0431c8f478e82687b6aa34e7075c26e70acda7960fff319d65bc9bb5e729990cb4cc7ba078f30f6769a8",
+				.pt = "2446466edf2dfebcbbf66946e9a66bf55e90ff50bb172ccc1f2dc49899a77b11f08fc07e9c8abaed3ebf0253c492e98fcbd229",
+				.aad = "dde5ba2adb28e880229ec1f822492dd44b4801a9",
+				.ct = "0c7e55971012842a469a88b137a7ea6d68ab993a19d54668cc5ebc72ffb527dbc2dbb02f4ca14e4f8daff08f4c5c02af9ed3ae",
+				.tag = "ca65cb2282f89ed06f52f219bc04b38c",
+			],
+			[
+				.count = 3,
+				.key = "8c5cc57fd55ab3097baf3351b333590b",
+				.iv = "bb09f0ac7291825f51bf7e1518f7db551bc0ca0adb7f9396cb47e146a4cbd2a659301113eb15be719ceaf8accc5408ee379fef309651d5c0b949d3bba0ce42929dcfc7e7a938281892bed3770070f03884e2c2c678b363a27303de328a544abd5eae30670820985feb9de64aecaec2c070885e79ee59449e11a7137b68346350",
+				.pt = "4839e248e352b71ff012ad6698787b6a5aee9d26a2a867e3ee16db47fe2baccdc86e32dae428bdd192687fc10fc7a1859a6761",
+				.aad = "1df727b4f00a905512ee334e85601bc10b8a6d1f",
+				.ct = "63c067c3d684fce1927768a412af0e87874777e0ca71e4c71380d653ba94f802d27de69d882d7f539e90a884321152abbfd054",
+				.tag = "e949ec14e08d57e64901d401b68537dc",
+			],
+			[
+				.count = 4,
+				.key = "23951c5c8d7c9939298b4135d2a53308",
+				.iv = "6b8666e9c6486c636f8c95c3cc68b594f36aae5398a1bdfb495d2ddff1fd142395ddf2851132db270cafe5fe9a95041e250a701d3c869f6ca54e3e56792b7acd925371669753391c5ebf7e6a7f73b2e12a48d013f69d8f9fa578daee90c234a2cdcf46240e8d4dc453fd7b1d7168489825f172e1cca424e4f36c5aa50c9332a8",
+				.pt = "7bf0a2967377fe4b6c4861e2eebdff17875a3d300bac851420a2b654e8c9789db980f4f462afcddf7ba49652f833c491035b3b",
+				.aad = "f6df1126d3399dd364a3e9fa9c2a1a2d7f82cd66",
+				.ct = "446b2218e525a73df55abb0557c8e30e87a6221c1564ad10548392943db67417ff51a2e70f242d3bc7ae1e9b0c958676c6ca2c",
+				.tag = "89d11b4c4bdea96d94aba5a0ccbfedb0",
+			],
+			[
+				.count = 5,
+				.key = "815820981e091d4f6c7353e25e4b4a24",
+				.iv = "506782f582301d9650790011099e6d655d8bf2ceb99befdd14c3a118febcbb25293b5a3e9de83cdb0910198975aa247c407b3582eeaf48fdc2186aad8b8ca9fbea2d9593e023e4afce476db5ffff1a5c84742d17cbebfd1c3eb868c39a77cd6b1af6f2b52bef8c772d95cc9454baed57b3b229b63c525e0f5f1cfebb89b3c5c7",
+				.pt = "d100203b16d41d72f416bbe113f215a9d107d2eef9e9d8ab42599899c2a00a97aec1bb3acd9147f7f6c30a5d16bd9fdf81c1b5",
+				.aad = "2758a29bd9ffd639386e2bf0c1f7a89787248cc5",
+				.ct = "c9c5a639396d703c4d99f2bf20bd8145fb7d0c8e2799e45e8c349501d897a4267bc8e7b842ce6e7ef2b4e895d30dbf3f591aee",
+				.tag = "16f788784c34e7635418541d1f5fd260",
+			],
+			[
+				.count = 6,
+				.key = "6ddacfbe58bc66091b6498e7696134bc",
+				.iv = "a4dae0d14ba6ec670947f34e329374467dc0686ae84b969dde4a00301e7090e4915af2b71c9bfad05b7264b637592414f37407dd5b715deb53f115bd12ade348d21abfde35e955d1acad72b608ebdc8d291e99ad8fd498afbe5d4ecb9f1e10e4ca4058daed9166514b5fdf176c0788504762168f13c99bceabdfbeaf03e4f0f4",
+				.pt = "a4e21642d3cb76d5d5aea209b13cea5b2436b678457ed69dc52234297f844ef4cc7edf367a186dad74ceb218fe66ec3a1a6fd2",
+				.aad = "f369065f15e6b5c8163223ec12f4ba76b719228d",
+				.ct = "6cdbfcbb48461025e3eaee1a06e4c15832c34d05d44dfbf1b31a46bb6a2f65d84b0d60f03fadffdcc4349f91e640cc28587915",
+				.tag = "abe5cb79b2dd09c6ced4e25c2292b202",
+			],
+			[
+				.count = 7,
+				.key = "20d47a260104ce3abe76fbaeb498362d",
+				.iv = "21cf043b1ca344b504a430f8a6fb87e4549e5d6a649e8d8906961e19dc11ad49b495627b93bc493dc5ec00ae2ec229836eec83326c8ae029beb4eb5c151447c5cead583bddd1e62cca1c86951cb9fc52d06dacbcbfd3dacc0a78058bf2c40e08285bdeaf06cc89d6b73672d218afff697dbd3db2231f3dcf1aef38b8fa947c15",
+				.pt = "8461081c2a7f4b425a217bb5c9089e4a0e8af809e69e390083a64d918cd8a88e0cb59553eb5ef01673450575655d5f3cc0dbc7",
+				.aad = "155931bb72928729377b76a994eb7be26f2e9c71",
+				.ct = "2ba0a5f44e78c47519b2a0418534b222503d5e1226a2561769532f82c27dea92078b9cd38098a61284ddd36d1e88183462910b",
+				.tag = "d283f26c15a3d2d201989495e95d0f4a",
+			],
+			[
+				.count = 8,
+				.key = "1a65736d0357f7dc89f6ec338bff56a8",
+				.iv = "88313b702bbd43007b343a96f2cfe9f05f9b82854ac70a4378ac167d3de9135e8f04cf5976d04b7fd7802da4b96fc7463f082ab3bd5fb23e70b65afa2607fbd68376011195771bf47bfc0ba1ff2693c117be55d02ca480925055f241ce9aca218f379f22e96172b0c125136c1569df61ac38da2f20c9bc73208b57372f33a4f6",
+				.pt = "14c8c171b73313e6035377b5782de7f05aa03f9561d0f893df10495dd45a078fd79e1635cac2f498ef362c01c4276fd899fca4",
+				.aad = "fda877ad0bfe7ba47c0009f37f93933c700c8f8a",
+				.ct = "7283cadd8b8a712b7fa3edbb5d81225f03b0a10bf5ed9f488756b053b57870f23c2a2c17acfddf047e51f3e4f7000bee396e6a",
+				.tag = "f061738f0a64e414241958032db6cf02",
+			],
+			[
+				.count = 9,
+				.key = "c907189f227f0c520d302c87ad640251",
+				.iv = "a0e6f3d94483c1e1c931d87e89bc035bcc717183270dd8c05186dd69f72ccf9c93f3bf2d21ba95fbdc851852d13fbd586411fd7a07dce4a467d0fcb23ba60f81efea4225d76002a81f3dae5fb6e164502da4137c296047dd27e3a34f7b64a8ec7b9fecaf56c8514a16753f4170ef222999e811c2e344d4cc5dd315c57b8d955a",
+				.pt = "0e893ab81d44e060e4f31daf5a073b61f05f4bcaf3446cff39fffe5397ceb638e4f38f451ca7c9f0480bc54777e4f081e07b3f",
+				.aad = "eb70e2a170f5f6060d13ff659ec99671a55d18f7",
+				.ct = "44035b4cfc672f13463683b19bdf00a8965101ce1d0bacd74ce64072476142d0173cbb8dc4e77bf4e19fd31115c8f7d9cb404a",
+				.tag = "bb80fa7ccc3b35bdd6d8d00b68b7515f",
+			],
+			[
+				.count = 10,
+				.key = "caf492887729e5b88d87c207bffc82b1",
+				.iv = "c2ad4b6629d0294f1067500839366a1664344590f00e0eb1b6158b93f9f4d694cfca7c0e24d331924737fe7aab4bb69b72c6eeba3b3a2ba2d5448e2ff774495a058c50851fba51c713f82754d13b23ec7b956218e2441ffb6f419d0297ae1b93367598fe0e470cd51308e967dd222a8dbc9f96ef5235b9fa1c3750015415381e",
+				.pt = "460cdc1560eb9fa5a5e5adec561f90afb6ec25527a194c3f62bb8a0d0c8d0af5df6e509240e673065583a02d06809dbb8d5111",
+				.aad = "b3e7cd3a9c929539ba1839bc4c10975a338764db",
+				.ct = "90ba807fbb0d32453e766f35d3591f4928709f8c9f9d644b4b9f93fb885905cae6e54f52671baee9796d20e3493c7d3dd4a896",
+				.tag = "1016be04a039829ac3ab552b07f00068",
+			],
+			[
+				.count = 11,
+				.key = "7f09b5a024aaddb6b341abd71d63a00f",
+				.iv = "70f309ab17f9ee4962c9acd551f3dd559905ed120e081100cfc0113c375a2e3eee12c210210f086679ea9a11630bcef2f427cd7c0cff0e603610f57d45b63610287910d380f9ea25de01bec52d21ba4f7991f29ac46b1004e68f6ee2da008e6eed0f0ee25455845112e5798a5e9ddb9631b6208f4b0b58501806a444ffee94ce",
+				.pt = "9811918fb14813d12e66517f4e2231c6abdb693ecd16103ed653cbe9228aed5408143566be2f59715c5ff61e21942635561c17",
+				.aad = "f8bbfc5d4e61dc0576dea471effe90318cdc6a7f",
+				.ct = "abb1136789cb2887793dbd81376ec72529811e7626b02dd1f1132189cd6ffd674905218ad4b5ff5d7688c0fd31a4f8704975e1",
+				.tag = "804710f130a2d056dfad65c4a34ed527",
+			],
+			[
+				.count = 12,
+				.key = "bfad153c9e9caff0402d09d666aa5ab3",
+				.iv = "1bdb71cb4afa6e8c4922c1c6e975e6ab3df27d8e2b0c1f5171e03ff4338a2b2f73c169e05726db1ebd221594ae45e48368e83055033c9aa7d5c703f494ce6717ed5807bb758529dc73edc11de83b03b8d3641e594cd4318d164ec8051aaae1fe51d283307d24ad2656818792a146edd5880732eb5a9e7c7ccde3fd038697748c",
+				.pt = "6fb01486e4a6bd96018b7506de8cde6507e6da23983b8b640d418a7c134c9fb204f2accf605c4be3efb67c2e2a3243f93f6c8a",
+				.aad = "a64ec686498ad4bbaab5be1cc1fd54a001faf610",
+				.ct = "d5ca5dd7cb9e2095984e486839d0441a90c8b6ac4f6e8ea54ea2aba6a45bb9a50085b1096c1a16465df6ced2e8754e1c410e0e",
+				.tag = "0cfd3e3ed40816fa4938e874f2222b2c",
+			],
+			[
+				.count = 13,
+				.key = "eb59faed15da028b0d61078c8490ff6b",
+				.iv = "0bcbcd4ab9c8b26233e836ac545c947bfb8251941ab3828e9714bc7b1715a6827cc3b3494e4cfef9db799feba959195659dde3baecb3e907c664cbf402e572dd237279247a51b2b6866d8d0d72e30f0fddaee6b3e56add84bcdbe3a2f4fa9fe77656d41557cd6fd3e25b37f717d5a1b2596cdb586f2c3d4e5502104faef777ed",
+				.pt = "0bdb9a555938b3553f6befd3d983ba55d9dce963b07f6c9f1387e1f88c7fc86876448d5b4ed791e92a6c34ea65cdb39c5d2ccd",
+				.aad = "ba4b99e7b5b7fab864013d5ce7485608b65ab5e2",
+				.ct = "e6b1e72805d041278ee391db9d9bc5c6ab72f2e14039b908e716cc484fc8e962b1800d8da55992db600060e231ee25e33c060c",
+				.tag = "c40f8ef6756ac90aedc9706312602a27",
+			],
+			[
+				.count = 14,
+				.key = "0be9c0513cc0be24b12f2aaf633df452",
+				.iv = "05f9a532f28f1456e04b5f6e69d1c3ed482f39952cc54717bde0b2731458577ae61c5f28a18ce09739889de830d5316b1c29dfe0a7acca883799be1e70b56fbdecad55229c188ff630ef2359fcc7de9d163ed7df0da65821d27c3274d98c10ef3e0a2316e2ec1a1468eb5dc63afcaad85efeb006444424f5aba4154e7cb37763",
+				.pt = "f94f8c70c5d1fbb6a9a34b8bf9766184c4181ab2acc30a79ba611e4401bf1f82d1a1f0c1bc044d41b59a953361c63e1376fe99",
+				.aad = "46543d54522ff0c9402bf1f4db591c3e1911074b",
+				.ct = "3027c733c4f8414ef7955d59be843ef6f3b8a96ab72d3c97c432a5a19cbd2f833a450e0940a75c7ea49f016d5ca7192b4ce40e",
+				.tag = "8430d2794852cd43b5cbe039c1b14486",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt408-aad384-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=408,
+		.aadlen=384,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "141f1ce91989b07e7eb6ae1dbd81ea5e",
+				.iv = "49451da24bd6074509d3cebc2c0394c972e6934b45a1d91f3ce1d3ca69e194aa1958a7c21b6f21d530ce6d2cc5256a3f846b6f9d2f38df0102c4791e57df038f6e69085646007df999751e248e06c47245f4cd3b8004585a7470dee1690e9d2d63169a58d243c0b57b3e5b4a481a3e4e8c60007094ef3adea2e8f05dd3a1396f",
+				.pt = "d384305af2388699aa302f510913fed0f2cb63ba42efa8c5c9de2922a2ec2fe87719dadf1eb0aef212b51e74c9c5b934104a43",
+				.aad = "630cf18a91cc5a6481ac9eefd65c24b1a3c93396bd7294d6b8ba323951727666c947a21894a079ef061ee159c05beeb4",
+				.ct = "f4c34e5fbe74c0297313268296cd561d59ccc95bbfcdfcdc71b0097dbd83240446b28dc088abd42b0fc687f208190ff24c0548",
+				.tag = "dbb93bbb56d0439cd09f620a57687f5d",
+			],
+			[
+				.count = 1,
+				.key = "65ee743d83c3d41d7ff51ed26ced48ef",
+				.iv = "a4d84c097499ac28bd0ae927f3600a4e88f190728ecc7f9fa3060d121b02d2be335608f1aa8dd12119c335618218a30bd467c9f8428814a58e44ac76db7cc369d3416f70cf56f7b1b04b322b58c9b8ef89a8c75ab221bf4e70cb1a4ac13986bcb10ff1f534da6f01b06c3387b21242d6cc8f91f0aec3d383d7785e30bae72002",
+				.pt = "f91f43bb44b13c087a93e8c47fb762cfcc5ec3bdaf2a3d6a6203c150d1a2b6c37fd65c0448157536def88f43aa2a208efb0ad8",
+				.aad = "6b04b8cddd750b4679be77f3afe91ec5b8a4e6d51e1ee527b53b3d10e272accb6cada940c2033875d0ef296b0763144d",
+				.ct = "4d0f43110b8b13f20e486d96914137c315ae83a55111a9138386f595ee4b4dc5eb827e6be04a6d489166e3d845dc567af21222",
+				.tag = "8fd5464d7dc7e4d5a0a8b0ddb409ba80",
+			],
+			[
+				.count = 2,
+				.key = "95c7b86ef875ea1900b3bb9cf5eba7fe",
+				.iv = "9ee0f70a7c128a195509cf3984fbbdc4d79332b06f4677633f98ad496e495b6edf81c942670e35991e31fc23eb20468e5a285d7409e459399b92a838c07b65c6ace103260fe6c3d6d972baac78364d7a3f777b462f74038e92d4a290a0c5a0d94a9b722e2ba1a5c4359d084429954357d25afe7ebc71ab31f83456f667ba127b",
+				.pt = "b10666e5c9da4678be04c32255fe971eb25b2fc3ddad9e601dc3f70ed4da800b8a46334fca37c8693575f3e18cd9310b9870c4",
+				.aad = "cfbff356efa1ff3a9d521e19671129b9c255f5495a20bd50ce337b643c96f1ee76bf26b8f384f75ee48fcdb65a8e75fc",
+				.ct = "fe8da6943c92925d4e963c5923821bc62ee864cc965b478cb9b885b346f85897a9b200bf706c0cb23ef8106feee0eeb3518473",
+				.tag = "b769c4f50fd0aa1014c380fa3485e550",
+			],
+			[
+				.count = 3,
+				.key = "4fae5ffe6ed9a73b1ba43771f1296b01",
+				.iv = "1f5f1e39968c93d2935fbe5f90c1cf508b51981176a30acf0a3b761fc14ca19da3dbfdfaa555ae85315671da9a8eabee75d68038a5b812acde393fe80d2a305b8ba9f12c5527bf3aa316914a4c393796557f9833f0011ce632bfbfc0881da2021ecec819a100a9eb4b1ad965d9c175c22e8ad9ce97bc93ebe7a3a081af927879",
+				.pt = "ab6864c8a01b90fd0bb9d37f6ecaea6cfc876ff1ec3b2dd01b6647d72836db093e0ee705ebb307d334b53c80072ef7a732b1f1",
+				.aad = "1995b7599284de78695666a01571c29e9b42d29d5c98b9a357d996dc6f2fc77494169944e90fcffff9bc490797021744",
+				.ct = "99ad0b09883139bdeb42b9a438c509fa74b7a150eb52009f8a05014d74f05e66f13a1cc9cb5b165970cacd1c481f4e8047288d",
+				.tag = "d119a563e61c8690835dd40ad8f26bcf",
+			],
+			[
+				.count = 4,
+				.key = "09d3e7ff8199146a9bac54e83eb41000",
+				.iv = "c5117fd64b28bffdc3a57b554cb44559f90aefc05c189676b225c9700bd847465a763241b9211ad080dace086019c0c6a9a1e97a30e050691db64ec742d44dce2c7404d9e34521fca76d721f10c95e76b04a838f8c29c5fae7ef5f9a3268d97cce3f153b13e753765709ca4cd97cf1cf8510668e404bd5b5316188ffa40f733f",
+				.pt = "aa2b6fdc8ad18faddd2b1cfd8d33a2634971ac51d834a130cc50bf7c3c78ebe486664b46844a88710e5762eee358ebe72da88e",
+				.aad = "887d8b1ff14adad745ba57a8be1b37b7d836b9b6d2a05083c786104a41a82c4e72fd343314d543ffe43880e6337ea469",
+				.ct = "e9b6b61f79ca5aa2e405649738e844891ebda39848415773b8e0f09e711f34dcb3f3595da0a930d96fa18e6cf3aa35e1f71306",
+				.tag = "d3760892661caa97fbf829fa42c979d9",
+			],
+			[
+				.count = 5,
+				.key = "b1969ad8675e5d4ec7c2376408a3bccb",
+				.iv = "911af11b991ff3cca96f85c288321fa973fe5cec4e0935cf0afb1bf5d1aa3d1189443858c41a54e3c0cd6715468176e636c4ea415bc0eb4dd2c8c59f2c998b34b1c01b840439fd6c82281f264939524b0ef05852627cb7aba22cb112f5c0c813a30544a7e8a3acf19d3f37e6b6a1e998cfec40653092a2074d04970004136709",
+				.pt = "7cba0d5d60c284e16d62618cb4240c07edb0043d9a96950f7605661f9107962938d9d8661d2f20756aeea80c4179c517ddcb89",
+				.aad = "c0a768672e5b5cb2e5ad60cba0d7c8dbfa4d415a8f200039c33f36cf4829261f3eba915080a4d0fb42d2fff6e84d3e82",
+				.ct = "a32d55bda05c0e20205c9eb8c84babb93193cfdeed49bd198c9d37afcf828afeaa654488ddfd12b50278d7532d3fd04ec80b43",
+				.tag = "2a17f739a2613008348bda9a07eac15f",
+			],
+			[
+				.count = 6,
+				.key = "0102fbb09f6156ba825e326d8157418c",
+				.iv = "31e72cc50c270513b67909cd7f7808a79143afdbc531f0e2ad38709dd30f2c74594ab02df567dc57d41562c6b24817a910f3c564790744ca898cba3ba8d84db773783df09b8c60fe37703df1a066ba68249796a23bc5d7a156f9bfffc97a9f2b079422ebdb3db2355240d6f29df035b1cbc79fca28b76664b0c2a1761d74e40b",
+				.pt = "76d14c408c1f909923a353f360bde98872aa3ab0e276e7d4aeb3d6acfedf3137cba67e28e68c6199727664c8100f0e010318b9",
+				.aad = "b7722e85d216030335a8c26f8a9eb662690d4d8599e6aa68195d9eed1c2ea4ee8226fcc5fbfa7c4d2b8e5607581956c5",
+				.ct = "5ed38e44e2ce1b8ae130ff05f1e9ba6b5fb7e33c1a78b370c5d5e18eeadff4347633971332bd17e48bf17803c7f39698c47192",
+				.tag = "b1ebb82b3c1a44b13347cb48a8ca491a",
+			],
+			[
+				.count = 7,
+				.key = "205611cd7d7ed6e6d45889705b3fef3f",
+				.iv = "82a0c18e861c566b4e70a1c7d2de4b586d417ae26f3a00eaea3ad7481915563d775ba48a03ade5b526bb44cf808a1691978a485dd2bdf9f349fe717387d0d7c6861589deec2d1fbf509deb9ead45e1deffa0f77a4e47564fe275ac2a33d110e63e848598a15377320da944b1ab8a7340fa3cbf75f0d129c93d0bc69cd1338879",
+				.pt = "59a864c85a9e30d82f48461f1751adacf9ca6b8583c35cfb8ab58a023a3b9fa81b09e93bb22ed4f9f2526cd74d887e678788f6",
+				.aad = "c85a92a2f25bb1617e7880875a3d7992d76ddc0798a2ab8b569490a09e84cefb1a2cc31ec14dd366282d46b1eae8df0e",
+				.ct = "d57df58ff9d27f6a8b38b129a0f1f9c73311c7e9bee13ffc15dab462d0b97a39e19f299143f5049b943a65cbb6ac3e40b9c531",
+				.tag = "eca8045bba685345c37a784b43dcd60e",
+			],
+			[
+				.count = 8,
+				.key = "954975d7569071a516604f77fb35e395",
+				.iv = "c8fd2ffc2f93b9c85b8c78e8eee4ee1c5683ab248054f1aa03f3f997409a88beeffdb66d12a325c0492f98a4da69833253060fa1a6a60c83dc66ff5dfe1339c390f8189c22548fabf427bf52be6d8eee93c7417fd024d21c7b18bcb78de13666760d34cf13d4339154cef4860ecb69a02f1cf31397ec9463c71d832d34eb75ad",
+				.pt = "28bb377f6386446056d7d5309cbb43670e5c93f26d359b4c251d4c593c5a562620b96b5bfd68032e5c3de2fb129c0ca943a856",
+				.aad = "147968688a11bb52c151777127293a85eb15953580b0d918be6e5482d88a897601dd3a58984d02a794c5775bc82f530a",
+				.ct = "7a3b6e12a59a836d2b7d4b546782ddcaf6874c1d4fe312223b3613144addc511479c7cf2308f7df9e0ec3fa3c8ff8b941960b8",
+				.tag = "daa1f01d82377d03f2213bc0a5b496f6",
+			],
+			[
+				.count = 9,
+				.key = "a5e21b1ce6ebccb2f052fedfcb975523",
+				.iv = "3e9e37a11a5ac7e22110f1605d4d73538b4c2d22f715d0ddba7a5f36127f5e3b7973073b3e66cb52ee551bbc26ce424f306908eaa4d7ee3d053d561171c2aa6fb899dc781f7056c64ef1f34c4e35a73724df0e183efe11b3b1b32f173931c7d73ac67bd220893d63df95fb787ab8092531006f82f835d8955b6bdcbeb97da244",
+				.pt = "712d40a284a0e26e2bc9f4c7842c0330f3ba0f46615fda947f548c21c4a407b09e94f00c5e237e43d4b7bab73aaf9550f30123",
+				.aad = "a71f7b504349fbf2ef80d2d89a5d81caa7bb7df13ad7849be3585366ce8049371bbb1891014dd1c1031229e0c65e1797",
+				.ct = "b71d370418eae071832c021d12063e3a9f02f81f2b938e8d9d926a203eb21aa5e49b128cb75f18741cb156d2cda1429c97d6cc",
+				.tag = "79b8f032972361e9ba07c7961274bdf7",
+			],
+			[
+				.count = 10,
+				.key = "662b44ed323e59de7d3da21c4b47d9ef",
+				.iv = "d55cedae2cbc424a20f8845cad3109c85d258dcaebe4f1c66c1e78c323a21df0f499e4a89fc1e2b1168eb9ee5c6d584ebb04bfe52d7ec5396778c0034e89ff0e56072d4165253d90b02e6d1ad46a17668c2d372048430f74a78c6eaec4c08f1414b204331c4caa40a39373d1b097cdb22018926f0a2fdc2d27d8bbe419896054",
+				.pt = "06cbde660652afec340c30ea2bdeb7e25f3e727d566496fe536f86ef32b4e75aebd33d4b14c36f996f981be6b4e99290a813e6",
+				.aad = "53616ec55defaadb4a25ff2457addff3bc744f48703f8e797f81109e4b04685752751323fe8bae537c1ece1ea02d5a91",
+				.ct = "a75efde86c8a2ec00046c7e0cf231d575860f6ab5aada37db9ec9d73544567195d779d8ebbbdb81d0397cedfe341bf78e4a2b7",
+				.tag = "8eb6f3677c88d9368c2d7d582ecc877e",
+			],
+			[
+				.count = 11,
+				.key = "bd3e58519c954040176fc9ac6c722c27",
+				.iv = "b3f59eb240e26b788996582e004cdaeaba1b55135bf70c114ea0492ab57a42259dd93a0e7b6c466ad1ac4e9a13430aaa671c79a75fd9667b9cd44ab5e01672c4d1ae97c1147bdb507018738b4136c8e6f79f36bceb42ffcfd98d59527c355cfb206c8d111d379dce98ae6dc8a7a5f391aba420586f0d9d63a26cf35c24e449fc",
+				.pt = "e5c572b410418276338c39e8a9e38a7128b2bd3ed872e45849d6b7a4bd51e98925b0fd2ca9dab6778fb8e9180c9ff84d260774",
+				.aad = "e32c4dfea611ffd381dc756c6c5322a91a68d7307ce3c411f8cbee141f1edc5c84f3627b753a0ca8aaf7c67e6bf58cc1",
+				.ct = "7e26796d15a71f14cc0cb86f13276d70af84b872b26a2a2496f1144bcd6a9757576383cdfb30ea4e29f3184b1e378493514644",
+				.tag = "0424f42b6460ef71c3967a7a8d283ab0",
+			],
+			[
+				.count = 12,
+				.key = "7d36401baac257138960193604f52e24",
+				.iv = "b6844f78e2b185c7ba519591fc984025bdab9c76ecdb5b32682b5c69f23a55c385424935f0ded71605c4120839f8e8e421e5f8bd4c99208c53ced717384f09015b6e7942864384e39648bc2838657a80c69fa3d139da3b194cba7ef7f591249d98c980b90b948cb71430656d983cf42b07fd02a2c777eb98180bcc9dd49f71b0",
+				.pt = "f8598f903f7b9b4f6b0a1547c06c3ce51efad1f07f68cd38d8d4b13f76b16635c9896e3ed78dbd7827e0d0505a54334a23964a",
+				.aad = "1b252dba80d8dfa93ae08d5e191bd612e258a4e7491e2a849cc0b6d03fae18fd06e5db2865644c9f72fadec82abc2e1d",
+				.ct = "30d09ac7e77032b3b543496e4408c53eccd6a40c5b8237977bdb3a760f68460f31876ab67935eb9e1c5017c7737510bd56d816",
+				.tag = "e5dd06e8ecf8ff4505fd29e301ba6b6c",
+			],
+			[
+				.count = 13,
+				.key = "5278dea1475751b74278e4e5b73bf047",
+				.iv = "6f5f6ef1e59ec2b2e0b0a16adaed38590eb65674a3f2791748c4ed3c70a8e8e83eb1277cb94afb334af08899b50c8a994d96648002976fc67452de8c1fad601899778d565bd4d74c9d1f86c0f9a70ac534c36e4179c20ca44af5b42d1dde913677e0c277c527538090d01f73f9c03a1c4d8f61850f18e2dc11bdea6ececcbcfb",
+				.pt = "be42086e90c67081340229ce59f0ced04ae708c9994d0d6ac3a56c6460c9c89d659834962f4ada7b2c6732fe260fa9105bc44f",
+				.aad = "daaf7d9689fd9e1bfd9156f6d33914b83397bcc7d7b8c1d251d9caad3e29ee0d94caef82261fee5480fd5766a6cb4ee4",
+				.ct = "a7d7dcfafca6faf7fe9006036082cd430ea3140ca080f2605cfc4e0fc7fc7764ecf6e24cdfe139f750c3f6f7e3b1c967608093",
+				.tag = "b0c43dfa122597193b8644f03c019173",
+			],
+			[
+				.count = 14,
+				.key = "393834e2be65c3c8b713871c81770b3c",
+				.iv = "3a7b61408cdebd73511ff890487d7c838709fca66a84a292cbc9662d172274f9a3ccbd7a48f2da7babfda8f01c7f15a800343b5e907bcfc3899a30c107a2d4e8f0f7b0108d4a4d373bcb9cbd5c443b6c1b09a5d9d1aa294ed8de629ec3f71cec82428f1848e31b0434851d9481b0421254601790938d0e0d1330674b787835c4",
+				.pt = "e42c006ccaac22aef75a9f1b841da8243a6050ec109fd26ddfecfec8098b8da09469927b8fca1f57d0dcd38c71b7efaff51254",
+				.aad = "402fa442b43ac28e44424f18cc3779b2cf18bef48af0821f7896dc77e38b253c1fa5817f6cd5daea69d7c0d210c65580",
+				.ct = "e1da4770895174fcebbc7d2a1afb86b7c23e96a3c3af0538a7bfcf10ff5994a5aee3e029f499f91b68d76dceae9186dc05a971",
+				.tag = "882dc161662c1c50657c083965a4ea25",
+			],
+		][:]
+	],
+	[
+		.name="aesgcm-iv1024-pt408-aad720-tag128-key128",
+		.keylen=128,
+		.ivlen=1024,
+		.ptlen=408,
+		.aadlen=720,
+		.taglen=128,
+		.cases=[
+			[
+				.count = 0,
+				.key = "c7d9358af0fd737b118dbf4347fd252a",
+				.iv = "83de9fa52280522b55290ebe3b067286d87690560179554153cb3341a04e15c5f35390602fa07e5b5f16dc38cf082b11ad6dd3fab8552d2bf8d9c8981bbfc5f3b57e5e3066e3df23f078fa25bce63d3d6f86ce9fbc2c679655b958b09a991392eb93b453ba6e7bf8242f8f61329e3afe75d0f8536aa7e507d75891e540fb1d7e",
+				.pt = "422f46223fddff25fc7a6a897d20dc8af6cc8a37828c90bd95fa9b943f460eb0a26f29ffc483592efb64835774160a1bb5c0cd",
+				.aad = "5d2b9a4f994ffaa03000149956c8932e85b1a167294514e388b73b10808f509ea73c075ecbf43cecfec13c202afed62110dabf8026d237f4e765853bc078f3afe081d0a1f8d8f7556b8e42acc3cce888262185048d67c55b2df1",
+				.ct = "86eba4911578ac72ac30c25fe424da9ab625f29b5c00e36d2c24a2733dc40123dc57a8c9f17a24a26c09c73ad4efbcba3bab5b",
+				.tag = "492305190344618cab8b40f006a57186",
+			],
+			[
+				.count = 1,
+				.key = "c4f397611fb798a5f508e2fcaa329a87",
+				.iv = "86c87ef3f41c25df9eed5207a11aa5e620dcf371e8d337525fb3ab2a6751f4afffe9aa864952337095fbaa7e683a7770eea343d0decd7d338debfde65f3c857528f0d1bf82e5364b3156c60ef39ca3bde8d32efcd997835ecbe5d1076296b51a575a0d68331b1a192441caf1197f9f686e2ba9ac62be8495eaa8dd67ed086ced",
+				.pt = "58d82337ff0d3d0cc2f23db1cbdafda5a1788d7026c3f075b046103bd2e4566913c2d0ea782aeb5b49aa8640055007007bc746",
+				.aad = "5de8c0e7c18d05469e4ab368230cc9c34dd293622bcf47cc0542ca88445d7f56e36154439c5deb987b2cf1ce7ae9cab49db5fd691d3827a7757ad8ab64b37e25e41f3e7fe5e8442b69196fadeadeb3881a1dac3b7de909d36561",
+				.ct = "20da5c0890893eb2a4b00751db0138eaefc0bc80f20a0851146cbb79e862becf733da3073939c2419c58b293d3d1475c5cebdc",
+				.tag = "c730a942740866a16b129e28e9f8575a",
+			],
+			[
+				.count = 2,
+				.key = "9c56e1b18a1b99f3c0a2f10df7abb067",
+				.iv = "1b7bb8574c447d4f299a7602d5db83d8b944204d69d3803a54a04734b4e5e4b9164d54a0fb79327f63a44c5ea1044bfb5165c3c0af4039193d941ca125f5c6bab8ada12feb89c72dfccdfa0729e8d10c98a3cd815d572ddb50e8f181f397a0842cc9c3e95a8e8f8fb0cc7dffb5b36312b815c81da9abda70f9fff6583fca16c8",
+				.pt = "a8c93709e2e5563598966d5d92a885359780aafc68187409a42fc30876f643d9c8654a87e933a5c13fa01c3a9333cfc8272f1f",
+				.aad = "f509721cabaf88f029dab274b1fc39e38f35efba32b0ce0e2a9f15355bf6ad9bdd658a2ee61c6e5fe85423cfbc40f8b53f5307c83c254e9eae23c4a2840e50e9a1bd5bcc5ba1574bd181790d6824015c09e61a7ad2f4a260cd98",
+				.ct = "1707ae9117731266b69977a77c00e722948a9c6aa73dc118bc8c634e7ddc3a6119542babd277baa45f3c9497a188638763c2fa",
+				.tag = "c8a938ef213df6c92781c277b25e9e5f",
+			],
+			[
+				.count = 3,
+				.key = "cd9c3b46e82e4706e342dba9c33e9092",
+				.iv = "0d5fffd57dd1ee80d9b99d9eb5c2db3e03de71eedce45ca78807862002858f15bd393971a3f763f62ad5bf5c3c6145478167f4547ec812abdc185faba990c6c7f6060ec8d61f23af588a1195674665c50ba0ed3adb6ca4895c45611797e488c1498583b31ed35e2f6389401be8d2cdb00e370a6b1c567249de5d4191801ef845",
+				.pt = "6b90f6e09b2a6eafc5dc20f7f11c23a7b0a98253bd94ad2b62e7067e970c4a445352afadf03d33b0b8cc03905c9a6ab3e36022",
+				.aad = "6bec4e5eecbbe8ba354df84143c865583d3cf2913e79eea227c6c614827dd8f7143dc5efae04d1bd06098b6290a280f7f3fa1b299e7a1bd0852f456edc11a4d3537056939c8974143694e4f8b5f236d5e42e789347cb31aa080d",
+				.ct = "324bb92cda3101ad216fe383fffe165d30c34d1d43e129bf770c5559edc17008d5a177ca3c458df64e6a472de260d5e6c8c077",
+				.tag = "18bca32acf7d9b8c9fa7740de2b46f25",
+			],
+			[
+				.count = 4,
+				.key = "b0a1eb39e43186fe6b46ea88911274d7",
+				.iv = "486bb84fe50df501fad98bd3525c8efec7b0ea233688a396a7b6e97b35bef040c82e0e11a59149f546a5793746e9e4391c5229feb923f059a73108aa300cf59008e65437b1891112652ad627293f2cebac7f4210cbefe8e4b7acd9c481ce7528563c937f06f6eda6f88502f29f1c670807ca78ee5631d6c278c8a895324d06e7",
+				.pt = "31d758930ab0f9ecff1672494af6564a60a486e9ab718494fa1860103f214873c84604984a5554f742ef5173b2c0d161cd5d1a",
+				.aad = "97bf617eb34d413fd6737e7a594313d41f90e44bd32b2e23dc054b4e1b91c37199ef76b2269c036566e8f3b4033c83bcfe193c545eed2185957c1c2349a7f743820a241737203005da7970ef46c15ec43c7e9eb2a224f45ad915",
+				.ct = "26db60422d06e103e7c2001105bff2fc5c02df7b3795359fa842bfebc0823b0d9d8bf80663c797c3b4e48d7305a2b5d224290e",
+				.tag = "0f5a297316448ab5d801d1a616ba72ca",
+			],
+			[
+				.count = 5,
+				.key = "61bc1edaed596b4fdfafaffe948a8104",
+				.iv = "14cd822f04ae16c37543fafe32318e8459f8b1d809f0df400de6044e178d9a14da3af13d4c3a51653461fa2d73313a5da4ebcfcafcc66170d13c6f03c47bb1d06c60b27d691677e03d31891b15c5bdc8515591e46d8614e0f4982e3fb9bcd2312251583e42f8b97a57f521024568263b981b9744ea2ee79b481f15362c39d9f1",
+				.pt = "1159689e8011ad2cfdbbb2835d18d7449d7a893e9b76e0976c8f0a4b5aeef5822f39634201423341f8ed6fdf6961a61545ad3f",
+				.aad = "c6055770ab3364bf94e60237cf82d88ab22c8cb42cbd387281f154d3d183fe92874c121ad8259f9dffb65be9b7715592597686365d3d451d1fe00fe9169f2b3b003cd6ca25af823d134a6fade78df253b292f37d806c07bb3702",
+				.ct = "41bea03c6cfe4a5a1ef51c1a193f97097bdd615c4c2bda5bfed8bd5a6827420e75b2822385a575921ae4e3c59e85ac4be0cac8",
+				.tag = "04022f976cc621eb189e0b2142e73cb7",
+			],
+			[
+				.count = 6,
+				.key = "c4a51ffc9c57238468dda0d632a48164",
+				.iv = "f9a02ae22ba179e2726f081559b4f0d2a878f19a9414831b0c2b784c2c8792e12eee3d349a22b28d5afd87749adb6dc93d6450c651a124d0b682fc58a90f471d9a5a3e1d7149bb197925c09371bb93c1e3dd9b30497851f7957e98831af36fcde32c493103913a6471b1e0db08165e7ffaf8e52f750c7c09bae848e703eb0ef2",
+				.pt = "dd2cc2dda129091c71f83ac2538253d9a94b65ccd06d26a4b0d825619110f6039d2bd69347192580361a66113d077e75723315",
+				.aad = "f5825044517147a2e64e9b00bb02b2c317f90093ed904ab01911889f8709194d08d6a35dde21e13cc922257f38f2a301801a9a41f8446c48e367f6b6f12f9413daf7fa1cb415a8c2009a7076d81750daf106da1027bda04ac3b8",
+				.ct = "2b6d3db806cbe6e5d51ed3f3b26e0a9f8c58d38d81882205bb058e529daa327ad6d26550916e0fbc67efd747db7e50d12ac3a0",
+				.tag = "117fc9fcaada6d3500e0f1a171441e32",
+			],
+			[
+				.count = 7,
+				.key = "403161e6d9ed23989e25de05c6513e83",
+				.iv = "a5e257ca75a31b17084f87773221b63594ef5aaff7153132eeb6d97c1d1932d01307bcd234af7af40626fbf12c3b6aa2e5fc47c5796ce5779c5e7bc19f3140772c6a893d24e355824b402ae46160ecada470e7394192209bacf68fb48303289fd494b6323ac5711ef518482f8275c78517dbd155784d4c64af85b97bc00a1591",
+				.pt = "bb8760afa6bc7240d65e5ca253b134fd37e953e8a5328ef82fc89ceb6e9f3faa3a9b98ce7a0d411c4af10707ff9676524ad63c",
+				.aad = "99097f0344f919292a4831a62e3bd5aff3b90b096b9204af5b1b38a55ac2ae41883204209e2393debb27d2634c075bc10c56ea6295d19cb6c55c7eb2bed6d1e1e5b92b1ac3e462fc2e6782f6a101476ca6565138aebc908eb47b",
+				.ct = "23b063dd11d8bb2b7bab3d299affd8ed33bb76ab810a957344bc5d78329c15533189ea70bfa140303f7986fb97b458254c4de4",
+				.tag = "919f5d2bbc58204ccf9071ce001511fc",
+			],
+			[
+				.count = 8,
+				.key = "f31928eb18a91a178fec9596e4d78ce4",
+				.iv = "edbd3f2face11e198f138cfc51f997c02fb680eb24eeb9542f701c2e80fcc23548240bbf39ee86f41006aed40802daca94e0bb7b07329fb3b16722af053969f69839005fcd19dc9267f2095e0f15732ee5b630e53994b8eb240a5efd1411fc3f19256b7045d0a1f786cd0beda19a8df7ddb61660bfc35470503ed6a04712cbd0",
+				.pt = "e729b3ee52d821f45c04fd0cf8b0d5c4d33eeb0bf98dc338bc3d80ff7015108ff4f2c3466dcb1ab7b3822ce5b67978e9dfd84d",
+				.aad = "3b2b1b2f40242ad583fb032627e6ef168321840533ca02042a223da8f2cbe22db26c055a67ceab715acead1dfc9ceb68803aead9e947a1f3cfab83ee8ccbd710c92c3eb38db99143782df41465bd0c9bb01928d77052e7f314a7",
+				.ct = "294c031c6038f72439cee3c8b0850787406274c8b0ef3e377dbfc74bbad687cfe74fcf5bfb8b333e13e4aa14de93b99e150183",
+				.tag = "1f4347dea41761df5fee4678daba99cc",
+			],
+			[
+				.count = 9,
+				.key = "62f4ad9f45b57a5d4aa25cb21c71331c",
+				.iv = "0a028ed629781f7e1fea2258c7973c89905641572fa9bd3c8d4db1919c39e2b0513e6bad4ee3105f3a63a29c86e892bc5dde27abfaac8e432160a94b546fc0be1ec4c8440df2330c843888cd820634f33c33d18fd5c97418a4687776c8e6d4a4a102e7ad89cb6a09aa5910a1fc963ac2bb3cacff5a7ffc3a95cd2b2a820635f2",
+				.pt = "428867e17f22964dccfe2b8b88f982e97f4ef4eb3fb3435a12c13d1fb5cf00501e06c80a66943dc5915c5f2e3b8db18c8e1884",
+				.aad = "df106c72a39d022facc3edde0f3a468d635f9d6a1a1cfbccdd95a47a8231fcc301eb8ebc872f51b4355a761a6867245fe6e05325af7e9156fb102246d291ea99da92936416c8a6a889695c8ec6bb9eb668ed34e65aeb62249b13",
+				.ct = "48a10e0f37be42e09d6ca7f9d3b61a58baa4339e2cdc14a826b0ec6353ad121f5309320483fe83e5f399b59b843a4c19a69797",
+				.tag = "cbf4afc83f0fed7bbc83f82aac85042c",
+			],
+			[
+				.count = 10,
+				.key = "3bdf310dc7b4ee8f481e2a8a88d82b90",
+				.iv = "94d8f239ae97c31f1b7fcc6b98ecfbb39f84da75de22a306e7535ac7728a18aa706ada071b5dac8bf940b761b81c715e93c742229e461e5eac474ccdd76bca05f4422e70a7112b76c900ab0dd294fef506e6d1f1a496a62d6bedafd27060948099595dfcd2be0083fed286d2133e94c24b492f1e75bdf2da49482d13d0717782",
+				.pt = "036f6996bbcfe6620a1fe067222ab1e200202b803368226c29cc0b9271c158860d646ee9cf78a001e15925bbde23a7a0806360",
+				.aad = "d919791c1427b94697fe3fa64a593a1f2fbc35dcf4c4ca31c5accd84adac79e11785df75f9c571ba7d8319ccf47ff3cd6036b362f7cd180970af345202ac92126f3fac579e00ae27e41fce462cf2d582e0737b1f1f3e63eedaef",
+				.ct = "7813d7c7c21b6342b4c686e3134ce8dd7eb152d5a9d7a2bdc8a6ff92c09cd4119354f4b432928e6a208c1b83c1de1cd38b49fb",
+				.tag = "e4ded1e1d206376bd3c1f020e01d80b3",
+			],
+			[
+				.count = 11,
+				.key = "37398fe3ce0ef337e136d1dce4eaf440",
+				.iv = "c343c3d4ed696a7a7027ead325ee5a6bb352217892ac0359dad2fe2d65bf6f6b6c5fd74cdb166f10e938cfafffc63bc4d1db57ffb5fa83b32006819090d1752713304aec0f5af6752f1bc16faf79a409b962c01e735feed7cf9a925e3d7c2e8d754db726fd082a5be7787abab773d034cec26e9d70c9e06970dbf96c1d5f1a18",
+				.pt = "b05425f4560032176eac286b6bb028d4882920660d3b9fe4269e5c95a99d7d03d1a269f974130d9784485e8b19cf15d00d9859",
+				.aad = "648ffdb325088997b9dce3aa6beb6af22279d78937671c0ab5cac082afe6c5152a4e52fc8269f423321e59f549300d1f33b526aeff16327e37ebb935b7381d1f06b45c1ad97762dadfae2757e373a60cd3f33586e389a17d90f4",
+				.ct = "34c47de8fc3726f1a8c2df06b1f564ecb50277082f6a498c30c0fc53af74d876b9d8b68aed9b77c3f5cffd0f6da3c74709c994",
+				.tag = "6da4d18255021e100f51e2934c5ccfcc",
+			],
+			[
+				.count = 12,
+				.key = "ace7dd87a645afbacfe67c4132ad27a0",
+				.iv = "95fdc46a1c9ae1ca57d910e50496eef0bbf3300261ed3b12d63601cfd4befdf5e70b43c317f816417341642ca44c153ab57089a31f19f0a2c88a77ae58c5afe421ab70801a3e25488e2a4905c0eca2f995aa5997aac5f7a745abe490c8d120720b0192e0914c0161bdfd8ac9e6250a81de78fb27341efff2d448248310eec2f1",
+				.pt = "ad0a921d951f13043820c7abe351900aa77aca44f8eab79765af83e66717ad27d2b410af361b8ee1b651eae1d4343735e7f26c",
+				.aad = "9932a558abe821ced56217ec133ce2f58c98afa9394801736fb860d866843ed06a2c1ce6199141561c019805e20cba4131bb73e7ebee87e239ac2f8174b14cf9b7f84bb6d6600d59a50fb69e0500adaf0ac1c224672eb2c0cc94",
+				.ct = "1009abf8c259c4df486563815e7477355369887d4fae0da7ded4d2e09c3c6f9185b73a090c6a47c5ea1a5195769dbcae977f4d",
+				.tag = "997a05688148e44b86a434ef64283156",
+			],
+			[
+				.count = 13,
+				.key = "c2c228b7d144aa4c393dff2359c3b532",
+				.iv = "32c8e1f9cae96d6b4cbdb96b578aa90e82269bddb91dffc0d368c0e438e07f48866df59f320498661b91b276b2c698fc1a83cc37e0801e0f892e51401c8ea9ce711727a8e4226eef085fea29ff966706c741d6ee774ae519c2321ea21137f27f80e21fe14c4137c8bf5961b07cabbdba403b873bde4dfbababf16d95ba24eb76",
+				.pt = "64c7f74ecf13e1f79c459f7f933ae313663cd1da2492681a7da557d131ac9a8ddb35add212861d990b9df848ab0fa0d1d0b61e",
+				.aad = "6c09106852ddf1be279760820c72c1d130f5cd6fbcba409797bdb347fd066e28032879f8162d60335e8c285a00d6796b59302c2ea421b26f97d54161800c3fdfab52567f5e76ea6f375e9aa09a7f780a9cb2be2cafd3a3b257bf",
+				.ct = "dcff48bb1e7ff820b6b4fe63b327fc7a3f9dfd6c41b5f04778842f2309717e02e46264280ae9bef3ba5f8f76d202ec8029d64e",
+				.tag = "b7f8e07e142c069332c93c1214f24b0b",
+			],
+			[
+				.count = 14,
+				.key = "ae30aaa1dace315f645b155f94b9fb13",
+				.iv = "31f6c6fddef5cbf7401a94b40d12998e612726b2854480fe16586e2ec9eb4c1d2169c9c56e8e7faee25961281cc71c4dfe2b9d150444a522ee28f7592d6172bcd1c478d26c105e77fead06b733c9e656903d369c6b081b3bd98fb24d48f9aa89597a2c871bb745b7f049f12279a4ef0203ad11397e9d612a49a9778a59e55d04",
+				.pt = "33346ed58dd2265df9b9247c38b4b04d8c32e6bedeee5a6f2613eb77d7544d001f4385a92120bfa9113e8d301cf7b9b1ab5e95",
+				.aad = "8683c57889cb638e234550ed5ac5eae6dbc8ad158d688966d5a49fb41e54d77f8e1070cc2322cb8af7a3611d84b5e904022b706b630c5a18a6b0750e12c8c7723f77026e711b975ffc86bc88292a843832de3e3846ab13086b8d",
+				.ct = "1ff700a4e182f4865f915f8a63f66cedf3dbe8ede9dc220cb58d260f33dfe127c0d1057b9760c23b043041e93fb13ae6312b2d",
+				.tag = "f4f5288be4136b9b46c75459a5415223",
+			],
+		][:]
+	],
+][:]
--- a/lib/http/server.myr
+++ b/lib/http/server.myr
@@ -87,7 +87,6 @@
 	;;
 }
 
-
 const ref = {srv
 	thread.xadd(&srv.refs, 1)
 }
--- a/lib/json/parse.myr
+++ b/lib/json/parse.myr
@@ -354,8 +354,8 @@
 
 const unescaped = {c
 	-> c == 0x20 || c == 0x21 || \
-		(c >= 0x23 && c < 0x5b) || \
-		(c > 0x5d && c <= 0x10ffff)
+		(c >= 0x23 && c <= 0x5b) || \
+		(c >= 0x5d && c <= 0x10ffff)
 }
 
 const takespace = {p
--- a/lib/std/fmt.myr
+++ b/lib/std/fmt.myr
@@ -111,16 +111,17 @@
 }
 
 const fputv = {fd, fmt, ap
-	var sb, s
+	var sb, s, nw
 
 	sb = mksb()
 	sbfmtv(sb, fmt, ap)
 	s = sbfin(sb)
 	match writeall(fd, s)
-	| (n, _):
-		slfree(s)
-		-> n
+	| `std.Ok n:		nw += n
+	| `std.Err (n, _):	nw += n
 	;;
+	slfree(s)
+	-> nw
 }
 
 const fmt = {fmt, args
--- a/lib/std/writeall.myr
+++ b/lib/std/writeall.myr
@@ -5,7 +5,7 @@
 use "types"
 
 pkg std =
-	const writeall : (fd : fd, src : byte[:] -> (size, option(errno)))
+	const writeall : (fd : fd, src : byte[:] -> std.result(size, (size, errno)))
 ;;
 
 const writeall = {fd, src
@@ -14,9 +14,10 @@
 	sz = src.len
 	while src.len != 0
 		match std.write(fd, src)
+		| `Err e:	-> `std.Err (sz, e)
+		| `Ok 0:	-> `std.Err (sz, 0)
 		| `Ok n:	src = src[n:]
-		| `Err e:	-> (sz - src.len, `Some e)
 		;;
 	;;
-	-> (sz, `None)
+	-> `std.Ok sz
 }
--- a/lib/sys/sys+openbsd:6.1-x64.myr
+++ b/lib/sys/sys+openbsd:6.1-x64.myr
@@ -272,6 +272,7 @@
 	const Mfixed	: mopt = 0x10
 	const Mfile	: mopt = 0x0
 	const Manon	: mopt = 0x1000
+	const Mstack	: mopt = 0x4000
 	const Mnoreplace	: mopt = 0x0800
 	
 	/* file types */
--- a/lib/testr/testr.myr
+++ b/lib/testr/testr.myr
@@ -59,14 +59,24 @@
 }
 
 generic eq = {ctx, a, b
+	var b0 : byte[128]
+	var b1 : byte[128]
+
 	if !std.eq(a, b)
-		fail(ctx, "{} != {}\n", a, b)
+		fail(ctx, "{e} != {e}\n",
+		     std.bfmt(b0[:], "{}", a),
+		     std.bfmt(b1[:], "{}", b))
 	;;
 }
 
 generic neq = {ctx, a, b
+	var b0 : byte[128]
+	var b1 : byte[128]
+
 	if std.eq(a, b)
-		fail(ctx, "{} != {}\n", a, b)
+		fail(ctx, "{e} != {e}\n",
+		     std.bfmt(b0[:], "{}", a),
+		     std.bfmt(b1[:], "{}", b))
 	;;
 }
 
--- a/lib/thread/exit+openbsd-x64.s
+++ b/lib/thread/exit+openbsd-x64.s
@@ -10,6 +10,13 @@
 	andq	$~0xfff,%rdi	/* align it */
 	addq	$0x1000,%rdi
 
+	/* 
+	  Because OpenBSD wants a valid stack whenever
+	  we enter the kernel, we need to toss a preallocated
+	  stack pointer into %rsp.
+	 */
+	movq	thread$exitstk,%rsp
+
 	/* munmap(base, size) */
 	movq	$73,%rax	/* munmap */
 	movq	-8(%rdi),%rsi	/* size */
--- a/lib/thread/spawn+openbsd.myr
+++ b/lib/thread/spawn+openbsd.myr
@@ -5,10 +5,20 @@
 	type tid = uint64
 
 	const spawn : (fn : (-> void) -> std.result(tid, byte[:]))
+	pkglocal var exitstk : byte#
 ;;
 
 const Stacksz = 8*std.MiB
 extern const exit : (-> void)
+
+var exitstk
+const __init__ = {
+	/* 
+	  We need a valid stack at all times, so we allocate one ahead of
+	  time to swap to before we invalidate a stack.
+	 */
+	exitstk = getstk(16)
+}
 
 const spawn = {fn;
 	-> spawnstk(fn, Stacksz)
--- a/lib/thread/test/spawn.myr
+++ b/lib/thread/test/spawn.myr
@@ -21,5 +21,6 @@
 	;;
 
 	std.assert(capture == 333, "capture wasn't written to correctly\n")
+	std.usleep(100_000)
 }
 
--- a/mbld/subtest.myr
+++ b/mbld/subtest.myr
@@ -191,7 +191,7 @@
 
 	p = std.pathcat(cmd, curtest#)
 	donetest(b, curtest, nresults)
-	mbldput("FAIL {}\n", msg)
+	mbldput("FAIL {e}\n", msg)
 	std.slpush(failed, p)
 }
 
--- a/mbld/syssel.myr
+++ b/mbld/syssel.myr
@@ -162,13 +162,13 @@
 		match opt_arch
 		| "x64":	
 			tag(b, "x64")
-			if opt_cpufeatures & CpuidSSE2 == CpuidSSE2
+			if supports(CpuidSSE2)
 				tag(b, "sse2")
 			;;
-			if opt_cpufeatures & CpuidSSE4 == CpuidSSE4
+			if supports(CpuidSSE4)
 				tag(b, "sse4")
 			;;
-			if opt_cpufeatures & CpuidFMA == CpuidFMA
+			if supports(CpuidFMA)
 				tag(b, "fma")
 			;;
 		| unknown:
@@ -182,6 +182,19 @@
 	;;
 }
 
+const supports = {feat
+	match (opt_sys, opt_cpufeatures & feat)
+	/* The version of gas that's shipped with openbsd is too old. */
+	| ("openbsd", CpuidSSE4):	-> false
+	| ("openbsd", CpuidFMA):	-> false
+	| ("freebsd", CpuidSSE4):	-> false
+	| ("freebsd", CpuidFMA):	-> false
+	| ("netbsd", CpuidSSE4):	-> false
+	| ("netbsd", CpuidFMA):	-> false
+	| (_, f):			-> f == feat
+	;;
+}
+
 const loadtagfile = {b, tagfile
 	var data, sp
 
@@ -199,6 +212,15 @@
 	std.slfree(data)
 }
 
-const tag  = {b, tag
-	std.htput(b.tags, std.sldup(tag), (-1, -1, -1))
+const tag  = {b, t
+	var v
+	match std.strfind(t, ":")
+	| `std.None:
+		std.htput(b.tags, std.sldup(t), (-1, -1, -1))
+	| `std.Some idx:
+		v = parseversion(t[idx+1:])
+		std.put("version: {} : {}\n", t[:idx], v)
+		std.htput(b.tags, std.sldup(t[:idx]), v)
+	;;
+
 }
--- a/mk/bootstrap/bootstrap+Darwin-x86_64.sh
+++ b/mk/bootstrap/bootstrap+Darwin-x86_64.sh
@@ -8,18 +8,17 @@
 	as -g -o lib/thread/start.o lib/thread/start+osx-x64.s
 	as -g -o lib/thread/atomic-impl.o lib/thread/atomic-impl+x64.s
 	as -g -o lib/std/getbp.o lib/std/getbp+posixy-x64.s
-	$pwd/6/6m -I . -I lib/sys lib/std/option.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/traits.myr
+	$pwd/6/6m -I lib/sys lib/std/option.myr
+	$pwd/6/6m -I lib/sys lib/std/traits.myr
 	as -g -o lib/std/memops-impl.o lib/std/memops-impl+posixy-x64.s
-	$pwd/6/6m -I . -I lib/sys lib/std/fltbits.myr
+	$pwd/6/6m -I lib/sys lib/std/fltbits.myr
 	as -g -o lib/std/sjlj-impl.o lib/std/sjlj-impl+posixy-x64.s
-	$pwd/6/6m -I . -I lib/sys lib/std/endian.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/extremum.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/sjlj.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/swap.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/slfill.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/clear.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/result.myr
+	$pwd/6/6m -I lib/sys lib/std/endian.myr
+	$pwd/6/6m -I lib/sys lib/std/extremum.myr
+	$pwd/6/6m -I lib/sys lib/std/sjlj+x64.myr
+	$pwd/6/6m -I lib/sys lib/std/swap.myr
+	$pwd/6/6m -I lib/sys lib/std/slfill.myr
+	$pwd/6/6m -I lib/sys lib/std/result.myr
 	as -g -o lib/sys/syscall.o lib/sys/syscall+osx-x64.s
 	$pwd/6/6m lib/sys/systypes.myr
 	$pwd/6/6m lib/sys/sys+osx-x64.myr
@@ -28,84 +27,86 @@
 	$pwd/6/6m lib/sys/syserrno+osx.myr
 	ar -rcs lib/sys/libsys.a lib/sys/sys.o lib/sys/syserrno.o lib/sys/util.o lib/sys/systypes.o lib/sys/ifreq.o lib/sys/syscall.o
 	$pwd/muse/muse -o lib/sys/libsys.use -p sys lib/sys/sys.use lib/sys/syserrno.use lib/sys/systypes.use lib/sys/ifreq.use
-	$pwd/6/6m -I . -I lib/sys lib/std/errno.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/types.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/strfind.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/memops.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/sleq.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/hassuffix.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/backtrace+x64.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/units.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/cstrconv.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/syswrap+posixy.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/mkpath.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/now.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/consts.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/die.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/slcp.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/syswrap-ss+osx.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/sleep.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/chartype.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/utf.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/cmp.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/sort.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/search.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/hasprefix.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/chomp.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/striter.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/intparse.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/strstrip.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/introspect.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/varargs.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/wait+posixy.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/threadhooks.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/bytealloc.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/alloc.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/slurp.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/mk.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/slput.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/htab.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/slpush.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/strsplit.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/strbuf.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/sldup.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/bigint.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/fltparse.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/fltfmt.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/dirname.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/dir+osx.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/diriter.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/fndup.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/strjoin.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/getcwd.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/slpop.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/sljoin.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/getint.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/hashfuncs.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/bitset.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/putint.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/readall.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/blat.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/writeall.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/fmt.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/env+posixy.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/execvp.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/spork.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/assert.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/rand.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/pathjoin.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/mktemp.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/optparse.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/netaddr.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/ipparse.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/fmtfuncs.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/resolve+posixy.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/dialparse+posixy.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/dial+posixy.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/listen+posixy.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/try.myr
-	ar -rcs lib/std/libstd.a lib/std/resolve.o lib/std/result.o lib/std/try.o lib/std/ipparse.o lib/std/alloc.o lib/std/sleq.o lib/std/putint.o lib/std/sljoin.o lib/std/slpop.o lib/std/syswrap.o lib/std/getint.o lib/std/strsplit.o lib/std/slfill.o lib/std/writeall.o lib/std/fltfmt.o lib/std/hasprefix.o lib/std/swap.o lib/std/fmt.o lib/std/netaddr.o lib/std/varargs.o lib/std/diriter.o lib/std/getcwd.o lib/std/blat.o lib/std/optparse.o lib/std/pathjoin.o lib/std/readall.o lib/std/strjoin.o lib/std/threadhooks.o lib/std/sjlj.o lib/std/extremum.o lib/std/endian.o lib/std/rand.o lib/std/sldup.o lib/std/sleep.o lib/std/wait.o lib/std/introspect.o lib/std/fltparse.o lib/std/fndup.o lib/std/strbuf.o lib/std/assert.o lib/std/spork.o lib/std/slpush.o lib/std/strstrip.o lib/std/htab.o lib/std/hashfuncs.o lib/std/slput.o lib/std/sjlj-impl.o lib/std/fltbits.o lib/std/striter.o lib/std/types.o lib/std/cstrconv.o lib/std/units.o lib/std/backtrace.o lib/std/syswrap-ss.o lib/std/die.o lib/std/mk.o lib/std/hassuffix.o lib/std/memops-impl.o lib/std/utf.o lib/std/slurp.o lib/std/dialparse.o lib/std/bytealloc.o lib/std/mktemp.o lib/std/consts.o lib/std/chomp.o lib/std/dir.o lib/std/search.o lib/std/memops.o lib/std/fmtfuncs.o lib/std/strfind.o lib/std/env.o lib/std/dirname.o lib/std/clear.o lib/std/listen.o lib/std/sort.o lib/std/cmp.o lib/std/now.o lib/std/intparse.o lib/std/traits.o lib/std/mkpath.o lib/std/option.o lib/std/dial.o lib/std/errno.o lib/std/chartype.o lib/std/bigint.o lib/std/bitset.o lib/std/getbp.o lib/std/slcp.o lib/std/execvp.o
-	$pwd/muse/muse -o lib/std/libstd.use -p std lib/std/resolve.use lib/std/result.use lib/std/try.use lib/std/ipparse.use lib/std/alloc.use lib/std/sleq.use lib/std/putint.use lib/std/sljoin.use lib/std/slpop.use lib/std/syswrap.use lib/std/getint.use lib/std/strsplit.use lib/std/slfill.use lib/std/writeall.use lib/std/fltfmt.use lib/std/hasprefix.use lib/std/swap.use lib/std/fmt.use lib/std/netaddr.use lib/std/varargs.use lib/std/diriter.use lib/std/getcwd.use lib/std/blat.use lib/std/optparse.use lib/std/pathjoin.use lib/std/readall.use lib/std/strjoin.use lib/std/threadhooks.use lib/std/sjlj.use lib/std/extremum.use lib/std/endian.use lib/std/rand.use lib/std/sldup.use lib/std/sleep.use lib/std/wait.use lib/std/introspect.use lib/std/fltparse.use lib/std/fndup.use lib/std/strbuf.use lib/std/assert.use lib/std/spork.use lib/std/slpush.use lib/std/strstrip.use lib/std/htab.use lib/std/hashfuncs.use lib/std/slput.use lib/std/fltbits.use lib/std/striter.use lib/std/types.use lib/std/cstrconv.use lib/std/units.use lib/std/backtrace.use lib/std/syswrap-ss.use lib/std/die.use lib/std/mk.use lib/std/hassuffix.use lib/std/utf.use lib/std/slurp.use lib/std/dialparse.use lib/std/bytealloc.use lib/std/mktemp.use lib/std/consts.use lib/std/chomp.use lib/std/dir.use lib/std/search.use lib/std/memops.use lib/std/fmtfuncs.use lib/std/strfind.use lib/std/env.use lib/std/dirname.use lib/std/clear.use lib/std/listen.use lib/std/sort.use lib/std/cmp.use lib/std/now.use lib/std/intparse.use lib/std/traits.use lib/std/mkpath.use lib/std/option.use lib/std/dial.use lib/std/errno.use lib/std/chartype.use lib/std/bigint.use lib/std/bitset.use lib/std/slcp.use lib/std/execvp.use
+	$pwd/6/6m -I lib/sys lib/std/errno.myr
+	$pwd/6/6m -I lib/sys lib/std/types.myr
+	$pwd/6/6m -I lib/sys lib/std/strfind.myr
+	$pwd/6/6m -I lib/sys lib/std/memops.myr
+	$pwd/6/6m -I lib/sys lib/std/clear.myr
+	$pwd/6/6m -I lib/sys lib/std/sleq.myr
+	$pwd/6/6m -I lib/sys lib/std/hassuffix.myr
+	$pwd/6/6m -I lib/sys lib/std/backtrace+x64.myr
+	$pwd/6/6m -I lib/sys lib/std/units.myr
+	$pwd/6/6m -I lib/sys lib/std/cstrconv.myr
+	$pwd/6/6m -I lib/sys lib/std/syswrap+posixy.myr
+	$pwd/6/6m -I lib/sys lib/std/mkpath.myr
+	$pwd/6/6m -I lib/sys lib/std/now.myr
+	$pwd/6/6m -I lib/sys lib/std/consts.myr
+	$pwd/6/6m -I lib/sys lib/std/die.myr
+	$pwd/6/6m -I lib/sys lib/std/slcp.myr
+	$pwd/6/6m -I lib/sys lib/std/syswrap-ss+osx.myr
+	$pwd/6/6m -I lib/sys lib/std/sleep.myr
+	$pwd/6/6m -I lib/sys lib/std/chartype.myr
+	$pwd/6/6m -I lib/sys lib/std/utf.myr
+	$pwd/6/6m -I lib/sys lib/std/cmp.myr
+	$pwd/6/6m -I lib/sys lib/std/sort.myr
+	$pwd/6/6m -I lib/sys lib/std/search.myr
+	$pwd/6/6m -I lib/sys lib/std/hasprefix.myr
+	$pwd/6/6m -I lib/sys lib/std/chomp.myr
+	$pwd/6/6m -I lib/sys lib/std/striter.myr
+	$pwd/6/6m -I lib/sys lib/std/intparse.myr
+	$pwd/6/6m -I lib/sys lib/std/strstrip.myr
+	$pwd/6/6m -I lib/sys lib/std/introspect.myr
+	$pwd/6/6m -I lib/sys lib/std/varargs.myr
+	$pwd/6/6m -I lib/sys lib/std/wait+posixy.myr
+	$pwd/6/6m -I lib/sys lib/std/threadhooks.myr
+	$pwd/6/6m -I lib/sys lib/std/bytealloc.myr
+	$pwd/6/6m -I lib/sys lib/std/alloc.myr
+	$pwd/6/6m -I lib/sys lib/std/slurp.myr
+	$pwd/6/6m -I lib/sys lib/std/mk.myr
+	$pwd/6/6m -I lib/sys lib/std/slput.myr
+	$pwd/6/6m -I lib/sys lib/std/htab.myr
+	$pwd/6/6m -I lib/sys lib/std/slpush.myr
+	$pwd/6/6m -I lib/sys lib/std/strsplit.myr
+	$pwd/6/6m -I lib/sys lib/std/strbuf.myr
+	$pwd/6/6m -I lib/sys lib/std/sldup.myr
+	$pwd/6/6m -I lib/sys lib/std/bigint.myr
+	$pwd/6/6m -I lib/sys lib/std/fltparse.myr
+	$pwd/6/6m -I lib/sys lib/std/fltfmt.myr
+	$pwd/6/6m -I lib/sys lib/std/dirname.myr
+	$pwd/6/6m -I lib/sys lib/std/dir+osx.myr
+	$pwd/6/6m -I lib/sys lib/std/diriter.myr
+	$pwd/6/6m -I lib/sys lib/std/fndup.myr
+	$pwd/6/6m -I lib/sys lib/std/strjoin.myr
+	$pwd/6/6m -I lib/sys lib/std/getcwd.myr
+	$pwd/6/6m -I lib/sys lib/std/slpop.myr
+	$pwd/6/6m -I lib/sys lib/std/sljoin.myr
+	$pwd/6/6m -I lib/sys lib/std/strreplace.myr
+	$pwd/6/6m -I lib/sys lib/std/getint.myr
+	$pwd/6/6m -I lib/sys lib/std/hashfuncs.myr
+	$pwd/6/6m -I lib/sys lib/std/bitset.myr
+	$pwd/6/6m -I lib/sys lib/std/putint.myr
+	$pwd/6/6m -I lib/sys lib/std/readall.myr
+	$pwd/6/6m -I lib/sys lib/std/blat.myr
+	$pwd/6/6m -I lib/sys lib/std/writeall.myr
+	$pwd/6/6m -I lib/sys lib/std/fmt.myr
+	$pwd/6/6m -I lib/sys lib/std/env+posixy.myr
+	$pwd/6/6m -I lib/sys lib/std/execvp.myr
+	$pwd/6/6m -I lib/sys lib/std/spork.myr
+	$pwd/6/6m -I lib/sys lib/std/assert.myr
+	$pwd/6/6m -I lib/sys lib/std/rand.myr
+	$pwd/6/6m -I lib/sys lib/std/pathjoin.myr
+	$pwd/6/6m -I lib/sys lib/std/mktemp.myr
+	$pwd/6/6m -I lib/sys lib/std/optparse.myr
+	$pwd/6/6m -I lib/sys lib/std/netaddr.myr
+	$pwd/6/6m -I lib/sys lib/std/ipparse.myr
+	$pwd/6/6m -I lib/sys lib/std/fmtfuncs.myr
+	$pwd/6/6m -I lib/sys lib/std/resolve+posixy.myr
+	$pwd/6/6m -I lib/sys lib/std/dialparse+posixy.myr
+	$pwd/6/6m -I lib/sys lib/std/dial+posixy.myr
+	$pwd/6/6m -I lib/sys lib/std/listen+posixy.myr
+	$pwd/6/6m -I lib/sys lib/std/try.myr
+	ar -rcs lib/std/libstd.a lib/std/resolve.o lib/std/result.o lib/std/try.o lib/std/ipparse.o lib/std/alloc.o lib/std/sleq.o lib/std/putint.o lib/std/sljoin.o lib/std/slpop.o lib/std/syswrap.o lib/std/getint.o lib/std/strsplit.o lib/std/slfill.o lib/std/writeall.o lib/std/fltfmt.o lib/std/hasprefix.o lib/std/swap.o lib/std/fmt.o lib/std/netaddr.o lib/std/varargs.o lib/std/diriter.o lib/std/getcwd.o lib/std/blat.o lib/std/optparse.o lib/std/pathjoin.o lib/std/readall.o lib/std/strjoin.o lib/std/threadhooks.o lib/std/sjlj.o lib/std/extremum.o lib/std/endian.o lib/std/rand.o lib/std/sldup.o lib/std/sleep.o lib/std/wait.o lib/std/introspect.o lib/std/fltparse.o lib/std/fndup.o lib/std/strbuf.o lib/std/strreplace.o lib/std/assert.o lib/std/spork.o lib/std/slpush.o lib/std/strstrip.o lib/std/htab.o lib/std/hashfuncs.o lib/std/slput.o lib/std/sjlj-impl.o lib/std/fltbits.o lib/std/striter.o lib/std/types.o lib/std/cstrconv.o lib/std/units.o lib/std/backtrace.o lib/std/syswrap-ss.o lib/std/die.o lib/std/mk.o lib/std/hassuffix.o lib/std/memops-impl.o lib/std/utf.o lib/std/slurp.o lib/std/dialparse.o lib/std/bytealloc.o lib/std/mktemp.o lib/std/consts.o lib/std/chomp.o lib/std/dir.o lib/std/search.o lib/std/memops.o lib/std/fmtfuncs.o lib/std/strfind.o lib/std/env.o lib/std/dirname.o lib/std/clear.o lib/std/listen.o lib/std/sort.o lib/std/cmp.o lib/std/now.o lib/std/intparse.o lib/std/traits.o lib/std/mkpath.o lib/std/option.o lib/std/dial.o lib/std/errno.o lib/std/chartype.o lib/std/bigint.o lib/std/bitset.o lib/std/getbp.o lib/std/slcp.o lib/std/execvp.o
+	$pwd/muse/muse -o lib/std/libstd.use -p std lib/std/resolve.use lib/std/result.use lib/std/try.use lib/std/ipparse.use lib/std/alloc.use lib/std/sleq.use lib/std/putint.use lib/std/sljoin.use lib/std/slpop.use lib/std/syswrap.use lib/std/getint.use lib/std/strsplit.use lib/std/slfill.use lib/std/writeall.use lib/std/fltfmt.use lib/std/hasprefix.use lib/std/swap.use lib/std/fmt.use lib/std/netaddr.use lib/std/varargs.use lib/std/diriter.use lib/std/getcwd.use lib/std/blat.use lib/std/optparse.use lib/std/pathjoin.use lib/std/readall.use lib/std/strjoin.use lib/std/threadhooks.use lib/std/sjlj.use lib/std/extremum.use lib/std/endian.use lib/std/rand.use lib/std/sldup.use lib/std/sleep.use lib/std/wait.use lib/std/introspect.use lib/std/fltparse.use lib/std/fndup.use lib/std/strbuf.use lib/std/strreplace.use lib/std/assert.use lib/std/spork.use lib/std/slpush.use lib/std/strstrip.use lib/std/htab.use lib/std/hashfuncs.use lib/std/slput.use lib/std/fltbits.use lib/std/striter.use lib/std/types.use lib/std/cstrconv.use lib/std/units.use lib/std/backtrace.use lib/std/syswrap-ss.use lib/std/die.use lib/std/mk.use lib/std/hassuffix.use lib/std/utf.use lib/std/slurp.use lib/std/dialparse.use lib/std/bytealloc.use lib/std/mktemp.use lib/std/consts.use lib/std/chomp.use lib/std/dir.use lib/std/search.use lib/std/memops.use lib/std/fmtfuncs.use lib/std/strfind.use lib/std/env.use lib/std/dirname.use lib/std/clear.use lib/std/listen.use lib/std/sort.use lib/std/cmp.use lib/std/now.use lib/std/intparse.use lib/std/traits.use lib/std/mkpath.use lib/std/option.use lib/std/dial.use lib/std/errno.use lib/std/chartype.use lib/std/bigint.use lib/std/bitset.use lib/std/slcp.use lib/std/execvp.use
 	$pwd/6/6m -I lib/sys -I lib/std -I lib/bio -I lib/regex -I lib/thread mbld/types.myr
 	$pwd/6/6m -I lib/sys -I lib/std lib/regex/types.myr
 	$pwd/6/6m -I lib/sys -I lib/std lib/regex/interp.myr
--- a/mk/bootstrap/bootstrap+FreeBSD-amd64.sh
+++ b/mk/bootstrap/bootstrap+FreeBSD-amd64.sh
@@ -142,5 +142,5 @@
 	$pwd/6/6m -I lib/sys -I lib/std -I lib/bio -I lib/regex -I lib/thread mbld/test.myr
 	$pwd/6/6m -I lib/sys -I lib/std -I lib/bio -I lib/regex -I lib/thread mbld/deps.myr
 	$pwd/6/6m -I lib/sys -I lib/std -I lib/bio -I lib/regex -I lib/thread mbld/main.myr
-	ld --gc-sections -o mbld/mbld $pwd/rt/_myrrt.o mbld/deps.o mbld/main.o mbld/util.o mbld/cpufeatures.o mbld/libs.o mbld/syssel.o mbld/config.o mbld/opts.o mbld/subtest.o mbld/types.o mbld/test.o mbld/install.o mbld/parse.o mbld/build.o -Llib/thread -lthread -Llib/bio -lbio -Llib/regex -lregex -Llib/std -lstd -Llib/sys -lsys
+	ld -o mbld/mbld $pwd/rt/_myrrt.o mbld/deps.o mbld/main.o mbld/util.o mbld/cpufeatures.o mbld/libs.o mbld/syssel.o mbld/config.o mbld/opts.o mbld/subtest.o mbld/types.o mbld/test.o mbld/install.o mbld/parse.o mbld/build.o -Llib/thread -lthread -Llib/bio -lbio -Llib/regex -lregex -Llib/std -lstd -Llib/sys -lsys
 true
--- a/mk/bootstrap/bootstrap+NetBSD-amd64.sh
+++ b/mk/bootstrap/bootstrap+NetBSD-amd64.sh
@@ -7,18 +7,17 @@
 	as -g -o mbld/cpufeatures.o mbld/cpufeatures+posixy-x64.s
 	as -g -o lib/thread/atomic-impl.o lib/thread/atomic-impl+x64.s
 	as -g -o lib/std/getbp.o lib/std/getbp+posixy-x64.s
-	$pwd/6/6m -I . -I lib/sys lib/std/option.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/traits.myr
+	$pwd/6/6m -I lib/sys lib/std/option.myr
+	$pwd/6/6m -I lib/sys lib/std/traits.myr
 	as -g -o lib/std/memops-impl.o lib/std/memops-impl+posixy-x64.s
-	$pwd/6/6m -I . -I lib/sys lib/std/fltbits.myr
+	$pwd/6/6m -I lib/sys lib/std/fltbits.myr
 	as -g -o lib/std/sjlj-impl.o lib/std/sjlj-impl+posixy-x64.s
-	$pwd/6/6m -I . -I lib/sys lib/std/endian.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/extremum.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/sjlj.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/swap.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/slfill.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/clear.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/result.myr
+	$pwd/6/6m -I lib/sys lib/std/endian.myr
+	$pwd/6/6m -I lib/sys lib/std/extremum.myr
+	$pwd/6/6m -I lib/sys lib/std/sjlj+x64.myr
+	$pwd/6/6m -I lib/sys lib/std/swap.myr
+	$pwd/6/6m -I lib/sys lib/std/slfill.myr
+	$pwd/6/6m -I lib/sys lib/std/result.myr
 	as -g -o lib/sys/syscall.o lib/sys/syscall+netbsd-x64.s
 	$pwd/6/6m lib/sys/ifreq+netbsd.myr
 	$pwd/6/6m lib/sys/systypes.myr
@@ -27,84 +26,86 @@
 	$pwd/6/6m lib/sys/syserrno+netbsd.myr
 	ar -rcs lib/sys/libsys.a lib/sys/sys.o lib/sys/syserrno.o lib/sys/util.o lib/sys/systypes.o lib/sys/ifreq.o lib/sys/syscall.o
 	$pwd/muse/muse -o lib/sys/libsys.use -p sys lib/sys/sys.use lib/sys/syserrno.use lib/sys/systypes.use lib/sys/ifreq.use
-	$pwd/6/6m -I . -I lib/sys lib/std/errno.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/types.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/strfind.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/memops.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/sleq.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/hassuffix.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/backtrace+x64.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/units.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/cstrconv.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/syswrap+posixy.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/mkpath.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/now.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/consts.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/die.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/slcp.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/syswrap-ss+netbsd.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/sleep.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/chartype.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/utf.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/cmp.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/sort.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/search.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/hasprefix.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/chomp.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/striter.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/intparse.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/strstrip.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/introspect.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/varargs.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/wait+posixy.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/threadhooks.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/bytealloc.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/alloc.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/slurp.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/mk.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/slput.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/htab.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/slpush.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/strsplit.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/strbuf.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/sldup.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/bigint.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/fltparse.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/fltfmt.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/dirname.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/dir+netbsd.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/diriter.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/fndup.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/strjoin.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/getcwd.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/slpop.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/sljoin.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/getint.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/hashfuncs.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/bitset.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/putint.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/readall.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/blat.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/writeall.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/fmt.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/env+posixy.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/execvp.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/spork.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/assert.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/rand.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/pathjoin.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/mktemp.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/optparse.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/netaddr.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/ipparse.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/fmtfuncs.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/resolve+posixy.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/dialparse+posixy.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/dial+posixy.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/listen+posixy.myr
-	$pwd/6/6m -I . -I lib/sys lib/std/try.myr
-	ar -rcs lib/std/libstd.a lib/std/resolve.o lib/std/result.o lib/std/try.o lib/std/ipparse.o lib/std/alloc.o lib/std/sleq.o lib/std/putint.o lib/std/sljoin.o lib/std/slpop.o lib/std/syswrap.o lib/std/getint.o lib/std/strsplit.o lib/std/slfill.o lib/std/writeall.o lib/std/fltfmt.o lib/std/hasprefix.o lib/std/swap.o lib/std/fmt.o lib/std/netaddr.o lib/std/varargs.o lib/std/diriter.o lib/std/getcwd.o lib/std/blat.o lib/std/optparse.o lib/std/pathjoin.o lib/std/readall.o lib/std/strjoin.o lib/std/threadhooks.o lib/std/sjlj.o lib/std/extremum.o lib/std/endian.o lib/std/rand.o lib/std/sldup.o lib/std/sleep.o lib/std/wait.o lib/std/introspect.o lib/std/fltparse.o lib/std/fndup.o lib/std/strbuf.o lib/std/assert.o lib/std/spork.o lib/std/slpush.o lib/std/strstrip.o lib/std/htab.o lib/std/hashfuncs.o lib/std/slput.o lib/std/sjlj-impl.o lib/std/fltbits.o lib/std/striter.o lib/std/types.o lib/std/cstrconv.o lib/std/units.o lib/std/backtrace.o lib/std/syswrap-ss.o lib/std/die.o lib/std/mk.o lib/std/hassuffix.o lib/std/memops-impl.o lib/std/utf.o lib/std/slurp.o lib/std/dialparse.o lib/std/bytealloc.o lib/std/mktemp.o lib/std/consts.o lib/std/chomp.o lib/std/dir.o lib/std/search.o lib/std/memops.o lib/std/fmtfuncs.o lib/std/strfind.o lib/std/env.o lib/std/dirname.o lib/std/clear.o lib/std/listen.o lib/std/sort.o lib/std/cmp.o lib/std/now.o lib/std/intparse.o lib/std/traits.o lib/std/mkpath.o lib/std/option.o lib/std/dial.o lib/std/errno.o lib/std/chartype.o lib/std/bigint.o lib/std/bitset.o lib/std/getbp.o lib/std/slcp.o lib/std/execvp.o
-	$pwd/muse/muse -o lib/std/libstd.use -p std lib/std/resolve.use lib/std/result.use lib/std/try.use lib/std/ipparse.use lib/std/alloc.use lib/std/sleq.use lib/std/putint.use lib/std/sljoin.use lib/std/slpop.use lib/std/syswrap.use lib/std/getint.use lib/std/strsplit.use lib/std/slfill.use lib/std/writeall.use lib/std/fltfmt.use lib/std/hasprefix.use lib/std/swap.use lib/std/fmt.use lib/std/netaddr.use lib/std/varargs.use lib/std/diriter.use lib/std/getcwd.use lib/std/blat.use lib/std/optparse.use lib/std/pathjoin.use lib/std/readall.use lib/std/strjoin.use lib/std/threadhooks.use lib/std/sjlj.use lib/std/extremum.use lib/std/endian.use lib/std/rand.use lib/std/sldup.use lib/std/sleep.use lib/std/wait.use lib/std/introspect.use lib/std/fltparse.use lib/std/fndup.use lib/std/strbuf.use lib/std/assert.use lib/std/spork.use lib/std/slpush.use lib/std/strstrip.use lib/std/htab.use lib/std/hashfuncs.use lib/std/slput.use lib/std/fltbits.use lib/std/striter.use lib/std/types.use lib/std/cstrconv.use lib/std/units.use lib/std/backtrace.use lib/std/syswrap-ss.use lib/std/die.use lib/std/mk.use lib/std/hassuffix.use lib/std/utf.use lib/std/slurp.use lib/std/dialparse.use lib/std/bytealloc.use lib/std/mktemp.use lib/std/consts.use lib/std/chomp.use lib/std/dir.use lib/std/search.use lib/std/memops.use lib/std/fmtfuncs.use lib/std/strfind.use lib/std/env.use lib/std/dirname.use lib/std/clear.use lib/std/listen.use lib/std/sort.use lib/std/cmp.use lib/std/now.use lib/std/intparse.use lib/std/traits.use lib/std/mkpath.use lib/std/option.use lib/std/dial.use lib/std/errno.use lib/std/chartype.use lib/std/bigint.use lib/std/bitset.use lib/std/slcp.use lib/std/execvp.use
+	$pwd/6/6m -I lib/sys lib/std/errno.myr
+	$pwd/6/6m -I lib/sys lib/std/types.myr
+	$pwd/6/6m -I lib/sys lib/std/strfind.myr
+	$pwd/6/6m -I lib/sys lib/std/memops.myr
+	$pwd/6/6m -I lib/sys lib/std/clear.myr
+	$pwd/6/6m -I lib/sys lib/std/sleq.myr
+	$pwd/6/6m -I lib/sys lib/std/hassuffix.myr
+	$pwd/6/6m -I lib/sys lib/std/backtrace+x64.myr
+	$pwd/6/6m -I lib/sys lib/std/units.myr
+	$pwd/6/6m -I lib/sys lib/std/cstrconv.myr
+	$pwd/6/6m -I lib/sys lib/std/syswrap+posixy.myr
+	$pwd/6/6m -I lib/sys lib/std/mkpath.myr
+	$pwd/6/6m -I lib/sys lib/std/now.myr
+	$pwd/6/6m -I lib/sys lib/std/consts.myr
+	$pwd/6/6m -I lib/sys lib/std/die.myr
+	$pwd/6/6m -I lib/sys lib/std/slcp.myr
+	$pwd/6/6m -I lib/sys lib/std/syswrap-ss+netbsd.myr
+	$pwd/6/6m -I lib/sys lib/std/sleep.myr
+	$pwd/6/6m -I lib/sys lib/std/chartype.myr
+	$pwd/6/6m -I lib/sys lib/std/utf.myr
+	$pwd/6/6m -I lib/sys lib/std/cmp.myr
+	$pwd/6/6m -I lib/sys lib/std/sort.myr
+	$pwd/6/6m -I lib/sys lib/std/search.myr
+	$pwd/6/6m -I lib/sys lib/std/hasprefix.myr
+	$pwd/6/6m -I lib/sys lib/std/chomp.myr
+	$pwd/6/6m -I lib/sys lib/std/striter.myr
+	$pwd/6/6m -I lib/sys lib/std/intparse.myr
+	$pwd/6/6m -I lib/sys lib/std/strstrip.myr
+	$pwd/6/6m -I lib/sys lib/std/introspect.myr
+	$pwd/6/6m -I lib/sys lib/std/varargs.myr
+	$pwd/6/6m -I lib/sys lib/std/wait+posixy.myr
+	$pwd/6/6m -I lib/sys lib/std/threadhooks.myr
+	$pwd/6/6m -I lib/sys lib/std/bytealloc.myr
+	$pwd/6/6m -I lib/sys lib/std/alloc.myr
+	$pwd/6/6m -I lib/sys lib/std/slurp.myr
+	$pwd/6/6m -I lib/sys lib/std/mk.myr
+	$pwd/6/6m -I lib/sys lib/std/slput.myr
+	$pwd/6/6m -I lib/sys lib/std/htab.myr
+	$pwd/6/6m -I lib/sys lib/std/slpush.myr
+	$pwd/6/6m -I lib/sys lib/std/strsplit.myr
+	$pwd/6/6m -I lib/sys lib/std/strbuf.myr
+	$pwd/6/6m -I lib/sys lib/std/sldup.myr
+	$pwd/6/6m -I lib/sys lib/std/bigint.myr
+	$pwd/6/6m -I lib/sys lib/std/fltparse.myr
+	$pwd/6/6m -I lib/sys lib/std/fltfmt.myr
+	$pwd/6/6m -I lib/sys lib/std/dirname.myr
+	$pwd/6/6m -I lib/sys lib/std/dir+netbsd.myr
+	$pwd/6/6m -I lib/sys lib/std/diriter.myr
+	$pwd/6/6m -I lib/sys lib/std/fndup.myr
+	$pwd/6/6m -I lib/sys lib/std/strjoin.myr
+	$pwd/6/6m -I lib/sys lib/std/getcwd.myr
+	$pwd/6/6m -I lib/sys lib/std/slpop.myr
+	$pwd/6/6m -I lib/sys lib/std/sljoin.myr
+	$pwd/6/6m -I lib/sys lib/std/strreplace.myr
+	$pwd/6/6m -I lib/sys lib/std/getint.myr
+	$pwd/6/6m -I lib/sys lib/std/hashfuncs.myr
+	$pwd/6/6m -I lib/sys lib/std/bitset.myr
+	$pwd/6/6m -I lib/sys lib/std/putint.myr
+	$pwd/6/6m -I lib/sys lib/std/readall.myr
+	$pwd/6/6m -I lib/sys lib/std/blat.myr
+	$pwd/6/6m -I lib/sys lib/std/writeall.myr
+	$pwd/6/6m -I lib/sys lib/std/fmt.myr
+	$pwd/6/6m -I lib/sys lib/std/env+posixy.myr
+	$pwd/6/6m -I lib/sys lib/std/execvp.myr
+	$pwd/6/6m -I lib/sys lib/std/spork.myr
+	$pwd/6/6m -I lib/sys lib/std/assert.myr
+	$pwd/6/6m -I lib/sys lib/std/rand.myr
+	$pwd/6/6m -I lib/sys lib/std/pathjoin.myr
+	$pwd/6/6m -I lib/sys lib/std/mktemp.myr
+	$pwd/6/6m -I lib/sys lib/std/optparse.myr
+	$pwd/6/6m -I lib/sys lib/std/netaddr.myr
+	$pwd/6/6m -I lib/sys lib/std/ipparse.myr
+	$pwd/6/6m -I lib/sys lib/std/fmtfuncs.myr
+	$pwd/6/6m -I lib/sys lib/std/resolve+posixy.myr
+	$pwd/6/6m -I lib/sys lib/std/dialparse+posixy.myr
+	$pwd/6/6m -I lib/sys lib/std/dial+posixy.myr
+	$pwd/6/6m -I lib/sys lib/std/listen+posixy.myr
+	$pwd/6/6m -I lib/sys lib/std/try.myr
+	ar -rcs lib/std/libstd.a lib/std/resolve.o lib/std/result.o lib/std/try.o lib/std/ipparse.o lib/std/alloc.o lib/std/sleq.o lib/std/putint.o lib/std/sljoin.o lib/std/slpop.o lib/std/syswrap.o lib/std/getint.o lib/std/strsplit.o lib/std/slfill.o lib/std/writeall.o lib/std/fltfmt.o lib/std/hasprefix.o lib/std/swap.o lib/std/fmt.o lib/std/netaddr.o lib/std/varargs.o lib/std/diriter.o lib/std/getcwd.o lib/std/blat.o lib/std/optparse.o lib/std/pathjoin.o lib/std/readall.o lib/std/strjoin.o lib/std/threadhooks.o lib/std/sjlj.o lib/std/extremum.o lib/std/endian.o lib/std/rand.o lib/std/sldup.o lib/std/sleep.o lib/std/wait.o lib/std/introspect.o lib/std/fltparse.o lib/std/fndup.o lib/std/strbuf.o lib/std/strreplace.o lib/std/assert.o lib/std/spork.o lib/std/slpush.o lib/std/strstrip.o lib/std/htab.o lib/std/hashfuncs.o lib/std/slput.o lib/std/sjlj-impl.o lib/std/fltbits.o lib/std/striter.o lib/std/types.o lib/std/cstrconv.o lib/std/units.o lib/std/backtrace.o lib/std/syswrap-ss.o lib/std/die.o lib/std/mk.o lib/std/hassuffix.o lib/std/memops-impl.o lib/std/utf.o lib/std/slurp.o lib/std/dialparse.o lib/std/bytealloc.o lib/std/mktemp.o lib/std/consts.o lib/std/chomp.o lib/std/dir.o lib/std/search.o lib/std/memops.o lib/std/fmtfuncs.o lib/std/strfind.o lib/std/env.o lib/std/dirname.o lib/std/clear.o lib/std/listen.o lib/std/sort.o lib/std/cmp.o lib/std/now.o lib/std/intparse.o lib/std/traits.o lib/std/mkpath.o lib/std/option.o lib/std/dial.o lib/std/errno.o lib/std/chartype.o lib/std/bigint.o lib/std/bitset.o lib/std/getbp.o lib/std/slcp.o lib/std/execvp.o
+	$pwd/muse/muse -o lib/std/libstd.use -p std lib/std/resolve.use lib/std/result.use lib/std/try.use lib/std/ipparse.use lib/std/alloc.use lib/std/sleq.use lib/std/putint.use lib/std/sljoin.use lib/std/slpop.use lib/std/syswrap.use lib/std/getint.use lib/std/strsplit.use lib/std/slfill.use lib/std/writeall.use lib/std/fltfmt.use lib/std/hasprefix.use lib/std/swap.use lib/std/fmt.use lib/std/netaddr.use lib/std/varargs.use lib/std/diriter.use lib/std/getcwd.use lib/std/blat.use lib/std/optparse.use lib/std/pathjoin.use lib/std/readall.use lib/std/strjoin.use lib/std/threadhooks.use lib/std/sjlj.use lib/std/extremum.use lib/std/endian.use lib/std/rand.use lib/std/sldup.use lib/std/sleep.use lib/std/wait.use lib/std/introspect.use lib/std/fltparse.use lib/std/fndup.use lib/std/strbuf.use lib/std/strreplace.use lib/std/assert.use lib/std/spork.use lib/std/slpush.use lib/std/strstrip.use lib/std/htab.use lib/std/hashfuncs.use lib/std/slput.use lib/std/fltbits.use lib/std/striter.use lib/std/types.use lib/std/cstrconv.use lib/std/units.use lib/std/backtrace.use lib/std/syswrap-ss.use lib/std/die.use lib/std/mk.use lib/std/hassuffix.use lib/std/utf.use lib/std/slurp.use lib/std/dialparse.use lib/std/bytealloc.use lib/std/mktemp.use lib/std/consts.use lib/std/chomp.use lib/std/dir.use lib/std/search.use lib/std/memops.use lib/std/fmtfuncs.use lib/std/strfind.use lib/std/env.use lib/std/dirname.use lib/std/clear.use lib/std/listen.use lib/std/sort.use lib/std/cmp.use lib/std/now.use lib/std/intparse.use lib/std/traits.use lib/std/mkpath.use lib/std/option.use lib/std/dial.use lib/std/errno.use lib/std/chartype.use lib/std/bigint.use lib/std/bitset.use lib/std/slcp.use lib/std/execvp.use
 	$pwd/6/6m -I lib/sys -I lib/std -I lib/bio -I lib/regex -I lib/thread mbld/types.myr
 	$pwd/6/6m -I lib/sys -I lib/std lib/regex/types.myr
 	$pwd/6/6m -I lib/sys -I lib/std lib/regex/interp.myr
--- a/mk/bootstrap/bootstrap+OpenBSD-amd64.sh
+++ b/mk/bootstrap/bootstrap+OpenBSD-amd64.sh
@@ -24,7 +24,7 @@
 	$pwd/6/6m lib/sys/systypes.myr
 	as -g -o lib/sys/util.o lib/sys/util+posixy-x64.s
 	$pwd/6/6m lib/sys/syserrno+openbsd.myr
-	$pwd/6/6m lib/sys/sys+openbsd:6.1-x64.myr
+	$pwd/6/6m lib/sys/sys+openbsd:6.2-x64.myr
 	ar -rcs lib/sys/libsys.a lib/sys/sys.o lib/sys/syserrno.o lib/sys/util.o lib/sys/systypes.o lib/sys/ifreq.o lib/sys/syscall.o
 	$pwd/muse/muse -o lib/sys/libsys.use -p sys lib/sys/sys.use lib/sys/syserrno.use lib/sys/systypes.use lib/sys/ifreq.use
 	$pwd/6/6m -I lib/sys lib/std/errno.myr
@@ -123,7 +123,7 @@
 	$pwd/6/6m -I lib/sys -I lib/std lib/thread/ncpu+openbsd.myr
 	$pwd/6/6m -I lib/sys -I lib/std lib/thread/common.myr
 	$pwd/6/6m -I lib/sys -I lib/std lib/thread/atomic.myr
-	$pwd/6/6m -I lib/sys -I lib/std lib/thread/mutex.myr
+	$pwd/6/6m -I lib/sys -I lib/std lib/thread/mutex+openbsd:6.2.myr
 	$pwd/6/6m -I lib/sys -I lib/std lib/thread/hookstd.myr
 	ar -rcs lib/thread/libthread.a lib/thread/mutex.o lib/thread/atomic.o lib/thread/atomic-impl.o lib/thread/hookstd.o lib/thread/common.o lib/thread/ncpu.o lib/thread/exit.o lib/thread/spawn.o
 	$pwd/muse/muse -o lib/thread/libthread.use -p thread lib/thread/mutex.use lib/thread/atomic.use lib/thread/hookstd.use lib/thread/common.use lib/thread/ncpu.use lib/thread/spawn.use