t_cgd_aes.c revision 314817
1/*	$NetBSD: t_cgd_aes.c,v 1.6 2017/01/13 21:30:39 christos Exp $	*/
2/*-
3 * Copyright (c) 2016 The NetBSD Foundation, Inc.
4 * Copyright (c) 2007 The Institute of Electrical and Electronics Engineers, Inc
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Alexander Nasonov.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 *
14 * 1. Redistributions of source code must retain the above copyright
15 *    notice, this list of conditions and the following disclaimer.
16 * 2. Redistributions in binary form must reproduce the above copyright
17 *    notice, this list of conditions and the following disclaimer in
18 *    the documentation and/or other materials provided with the
19 *    distribution.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
25 * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26 * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
27 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
29 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
31 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 * SUCH DAMAGE.
33 */
34
35#include <sys/types.h>
36#include <sys/ioctl.h>
37#include <sys/sysctl.h>
38
39#include <atf-c.h>
40#include <fcntl.h>
41#include <stdio.h>
42#include <stdlib.h>
43#include <string.h>
44#include <unistd.h>
45#include <util.h>
46
47#include <dev/cgdvar.h>
48
49#include <rump/rump.h>
50#include <rump/rump_syscalls.h>
51
52#include "h_macros.h"
53
54#define SECSIZE 512
55
56struct testvec {
57	unsigned int blkno;
58	const uint8_t *ptxt;	/* PlainText  */
59	const uint8_t *ctxt;	/* CipherText */
60};
61
62/*
63 * 128 bits CBC key, NUL terminated.
64 */
65static const char aes_cbc_128_key[17] = {
66	0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, /* 01234567 */
67	0x38, 0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, /* 89ABCDEF */
68	0
69};
70
71/*
72 * 192 bits CBC key, NUL terminated.
73 */
74static const char aes_cbc_192_key[25] = {
75	0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, /* ABCDEFGH */
76	0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, /* IJKLMNOP */
77	0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, /* QRSTUVWX */
78	0
79};
80
81/*
82 * 256 bits CBC key, NUL terminated.
83 */
84static const char aes_cbc_256_key[33] = {
85	0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, /* 01234567 */
86	0x38, 0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, /* 89ABCDEF */
87	0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, /* 01234567 */
88	0x38, 0x39, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, /* 89abcdef */
89	0
90};
91
92static const uint8_t aes_cbc_ptxt[SECSIZE] =
93	"                abcdefghijklmnop"
94	"                abcdefghijklmnop"
95	"                abcdefghijklmnop"
96	"                abcdefghijklmnop"
97	"                abcdefghijklmnop"
98	"                abcdefghijklmnop"
99	"                abcdefghijklmnop"
100	"                abcdefghijklmnop"
101	"                abcdefghijklmnop"
102	"                abcdefghijklmnop"
103	"                abcdefghijklmnop"
104	"                abcdefghijklmnop"
105	"                abcdefghijklmnop"
106	"                abcdefghijklmnop"
107	"                abcdefghijklmnop"
108	"                abcdefghijklmnop";
109
110/*
111 * IV method encblkno1, blkno 0.
112 */
113static const uint8_t aes_cbc_128_encblkno1_vec0_ctxt[SECSIZE] = {
114	0x1e, 0x95, 0x12, 0x15, 0xf6, 0xe0, 0xa7, 0x56,
115	0x95, 0xa0, 0xa7, 0x35, 0x77, 0xf4, 0xdd, 0xdc,
116	0x37, 0xc0, 0x28, 0x20, 0x00, 0x79, 0xa0, 0x35,
117	0xe0, 0x83, 0x23, 0x95, 0x4e, 0xea, 0x8d, 0xa2,
118	0x11, 0xbf, 0x9a, 0xd5, 0x21, 0x1e, 0x15, 0xb9,
119	0xd1, 0x2e, 0xd2, 0xd9, 0xa5, 0xcc, 0x26, 0x75,
120	0xba, 0x3e, 0x30, 0x11, 0xb2, 0x40, 0xdd, 0x1d,
121	0x07, 0x3b, 0xe6, 0x00, 0xa7, 0x31, 0x9e, 0x58,
122	0x41, 0xf3, 0x02, 0xf5, 0xad, 0x35, 0x79, 0x9a,
123	0x9e, 0x03, 0xc8, 0x7a, 0x9d, 0x1d, 0x58, 0x9f,
124	0x98, 0x67, 0xe2, 0x49, 0x81, 0x0c, 0x23, 0x90,
125	0xd8, 0xc6, 0xf0, 0xc5, 0x73, 0x46, 0xd5, 0x14,
126	0x1d, 0x78, 0x24, 0x7c, 0x9f, 0x5c, 0x8c, 0xe6,
127	0x5d, 0x85, 0x7a, 0x5f, 0x76, 0xcc, 0xd8, 0xe9,
128	0x03, 0xff, 0xfd, 0xd4, 0x12, 0x3f, 0xcb, 0xb0,
129	0xfe, 0xfd, 0x86, 0x00, 0x0c, 0xe3, 0xdd, 0xa6,
130	0x89, 0x92, 0xfe, 0xc8, 0x07, 0x5a, 0x94, 0x55,
131	0x75, 0xae, 0x68, 0x47, 0xba, 0x84, 0x75, 0x58,
132	0x33, 0x30, 0x2c, 0x16, 0x5b, 0xe9, 0x3f, 0x2a,
133	0x09, 0xf9, 0x69, 0x23, 0x77, 0xd7, 0x2b, 0x95,
134	0x4b, 0x78, 0x59, 0xcc, 0xfa, 0xf5, 0x79, 0xd2,
135	0x05, 0x87, 0x66, 0x57, 0x93, 0xbf, 0x05, 0x90,
136	0x4d, 0x6d, 0xd2, 0x72, 0x92, 0x24, 0xec, 0x14,
137	0xe7, 0xbf, 0x82, 0x57, 0xbb, 0x14, 0x51, 0xe6,
138	0xce, 0x3f, 0xa1, 0xfc, 0x63, 0x75, 0xee, 0xde,
139	0xf9, 0x31, 0xd3, 0xa0, 0x07, 0xcd, 0x4d, 0x8f,
140	0x83, 0x7d, 0x65, 0xe1, 0xc6, 0x60, 0x9e, 0x5c,
141	0x51, 0x76, 0xfa, 0x64, 0xdf, 0xdc, 0xaf, 0x38,
142	0xee, 0xe9, 0x8f, 0x4b, 0xa0, 0x3a, 0x21, 0xdf,
143	0x58, 0x3b, 0x73, 0xf5, 0x30, 0xbb, 0x29, 0xe0,
144	0xff, 0x60, 0xf0, 0x05, 0x5e, 0x37, 0xbc, 0x78,
145	0x95, 0x3f, 0xa8, 0xd4, 0xb4, 0x82, 0x0d, 0xe1,
146	0x10, 0xe3, 0xa7, 0x61, 0x37, 0x58, 0x28, 0x14,
147	0x22, 0x57, 0x32, 0x28, 0x80, 0x98, 0x3e, 0x5f,
148	0x71, 0xcf, 0x34, 0xb8, 0x6d, 0x6b, 0xc0, 0x23,
149	0xc1, 0x9e, 0x58, 0x4f, 0xd5, 0xa4, 0x14, 0x03,
150	0x2a, 0xed, 0xc4, 0xa7, 0x77, 0x7c, 0x4f, 0x94,
151	0x91, 0x1d, 0x47, 0x34, 0x82, 0xe8, 0x9d, 0x32,
152	0x5c, 0xc7, 0x38, 0xe9, 0x92, 0xcd, 0x35, 0xfd,
153	0x1c, 0xcc, 0x3c, 0x28, 0x75, 0x6f, 0xff, 0xd5,
154	0xe8, 0xbf, 0x90, 0x92, 0x34, 0x13, 0x11, 0x89,
155	0xe0, 0xa2, 0x25, 0xeb, 0x82, 0x63, 0x31, 0x80,
156	0x50, 0x6c, 0x99, 0xaa, 0x97, 0x0e, 0x59, 0x45,
157	0x64, 0xb8, 0x77, 0x78, 0x6b, 0x24, 0xac, 0xc0,
158	0xc9, 0xa9, 0xbc, 0x13, 0xd1, 0x5e, 0x50, 0x9a,
159	0x91, 0x1a, 0x08, 0xf7, 0xc5, 0x18, 0x9f, 0x87,
160	0x97, 0x9c, 0x0a, 0x27, 0xf1, 0x66, 0xf8, 0x09,
161	0x52, 0x09, 0x41, 0x07, 0xc1, 0xa1, 0x91, 0xa4,
162	0x59, 0x09, 0x75, 0x57, 0x5b, 0x53, 0x79, 0x58,
163	0xa2, 0x9e, 0x49, 0xa2, 0x5e, 0xf7, 0x28, 0x1c,
164	0x43, 0xa6, 0xcb, 0x88, 0x46, 0x84, 0xc9, 0x7f,
165	0x84, 0xdb, 0x45, 0x0c, 0xb3, 0x7f, 0x01, 0x40,
166	0x71, 0x3e, 0x48, 0x12, 0x1f, 0xbc, 0x1e, 0xdf,
167	0x41, 0x50, 0xb2, 0x11, 0x67, 0x83, 0x19, 0x04,
168	0x0e, 0x21, 0xd5, 0xf2, 0x54, 0x99, 0xfb, 0x47,
169	0xf2, 0x5e, 0x02, 0x4b, 0x61, 0x6d, 0xef, 0x78,
170	0x29, 0xe4, 0x3a, 0x56, 0x14, 0x20, 0x6f, 0x70,
171	0x82, 0xea, 0x5d, 0xbc, 0x48, 0x89, 0x34, 0x69,
172	0xdb, 0x4a, 0x06, 0xa7, 0xd6, 0xc7, 0xb7, 0x06,
173	0x8e, 0x64, 0x21, 0x3e, 0xa6, 0x32, 0x61, 0x59,
174	0x03, 0xea, 0xc3, 0x71, 0xf0, 0x26, 0x02, 0xe0,
175	0x71, 0x95, 0x38, 0x11, 0x32, 0xe6, 0x3b, 0x25,
176	0x53, 0x14, 0x24, 0x34, 0xe8, 0x8c, 0xa8, 0xef,
177	0x52, 0xfe, 0x06, 0x2c, 0x20, 0x88, 0x4f, 0xa6,
178};
179
180/*
181 * IV method encblkno1, blkno 1.
182 */
183static const uint8_t aes_cbc_128_encblkno1_vec1_ctxt[SECSIZE] = {
184	0x2f, 0x69, 0x3e, 0x95, 0x87, 0x91, 0x99, 0xd4,
185	0xd9, 0x5d, 0xf2, 0x52, 0x32, 0x54, 0x2a, 0x80,
186	0xa0, 0x77, 0x6e, 0x73, 0x15, 0xb4, 0xc9, 0x13,
187	0x85, 0xed, 0x79, 0x9b, 0x84, 0x0a, 0x7e, 0xdb,
188	0xee, 0x09, 0x78, 0x11, 0x28, 0xd5, 0x26, 0xec,
189	0x1d, 0x52, 0xba, 0x33, 0x26, 0xeb, 0x91, 0xc6,
190	0x4b, 0xf0, 0x38, 0xdf, 0x9f, 0x9d, 0x6c, 0xd8,
191	0x49, 0x83, 0x88, 0xbe, 0x62, 0x2d, 0x5e, 0x88,
192	0xc0, 0x35, 0xe4, 0xc3, 0xc9, 0x9f, 0x62, 0x59,
193	0x16, 0xa7, 0x2e, 0xc0, 0xda, 0x3c, 0x2e, 0x10,
194	0x53, 0xf0, 0x84, 0x27, 0x38, 0xd0, 0xf4, 0xb5,
195	0x7c, 0x4a, 0x63, 0x04, 0x51, 0x22, 0xae, 0xf3,
196	0xe7, 0x97, 0x53, 0xee, 0xe6, 0xaf, 0xc3, 0x49,
197	0x3a, 0x5a, 0x74, 0x83, 0x18, 0xa3, 0x6b, 0xf3,
198	0x6a, 0x3b, 0xe2, 0x1b, 0xd4, 0x64, 0x41, 0xdf,
199	0xd1, 0xd2, 0xdd, 0x22, 0xa8, 0x66, 0xbd, 0x8e,
200	0xc4, 0x9a, 0x6d, 0x15, 0x38, 0x5b, 0x50, 0x9a,
201	0x65, 0x48, 0x97, 0xf1, 0x04, 0x85, 0x8b, 0x5c,
202	0x44, 0x32, 0x15, 0xea, 0x28, 0x5f, 0x98, 0x53,
203	0xb4, 0x80, 0xd0, 0x2c, 0x59, 0x04, 0x08, 0xaf,
204	0xa4, 0xb7, 0x49, 0xd1, 0x98, 0x87, 0xb9, 0xb6,
205	0x3d, 0x89, 0xd1, 0xbe, 0xf4, 0x89, 0xec, 0xf9,
206	0x2d, 0xc7, 0xc6, 0xe9, 0xe6, 0xfa, 0x1e, 0x67,
207	0x68, 0xe7, 0xb7, 0x91, 0x55, 0x77, 0xf3, 0x27,
208	0x38, 0x23, 0xcf, 0x2e, 0x3e, 0x8b, 0xfd, 0xb3,
209	0x90, 0xd8, 0x6b, 0x1e, 0x93, 0x8f, 0xb6, 0xc1,
210	0x27, 0xc2, 0xb7, 0x76, 0x10, 0x69, 0xe8, 0x7f,
211	0xfc, 0x03, 0x59, 0xa4, 0xd3, 0x7f, 0x2f, 0x03,
212	0x1c, 0x21, 0x6d, 0x2e, 0xae, 0xba, 0xa2, 0x04,
213	0x67, 0xe9, 0x33, 0xc9, 0x3a, 0x96, 0xb6, 0x7c,
214	0xf6, 0x21, 0x6b, 0x34, 0x9a, 0x5b, 0xa0, 0x8b,
215	0x51, 0xf0, 0xd4, 0x3a, 0xa3, 0xcb, 0x22, 0xfb,
216	0x8a, 0x56, 0xab, 0x9a, 0x15, 0x75, 0x07, 0x87,
217	0x32, 0xa7, 0x15, 0xc7, 0xd9, 0x40, 0x95, 0xe5,
218	0xfb, 0xb0, 0xc5, 0xb1, 0x60, 0xf8, 0xcc, 0x8b,
219	0x30, 0x20, 0xd9, 0x84, 0x6f, 0xa2, 0xcb, 0x72,
220	0xf5, 0xa5, 0x2c, 0xa3, 0xc6, 0x1c, 0xd2, 0x74,
221	0x01, 0x74, 0xdd, 0xb4, 0x68, 0x3b, 0x3b, 0x3e,
222	0x4f, 0xb5, 0x67, 0x9a, 0x9c, 0x37, 0x3d, 0xbf,
223	0xd3, 0xab, 0xd7, 0x70, 0x03, 0x28, 0x5c, 0x3b,
224	0xb7, 0x08, 0x38, 0x3d, 0x69, 0xa9, 0xcb, 0x63,
225	0x04, 0x95, 0x8a, 0x16, 0x4c, 0xff, 0x9f, 0x0c,
226	0xe2, 0x51, 0x95, 0x44, 0x52, 0x3b, 0x59, 0x9d,
227	0x0b, 0x77, 0xa0, 0x39, 0x40, 0xea, 0x33, 0x25,
228	0xc8, 0xc5, 0x90, 0x47, 0x23, 0xe3, 0x03, 0x8c,
229	0x6a, 0xe0, 0x4f, 0x76, 0xe7, 0x72, 0x82, 0xcc,
230	0xb2, 0xfd, 0xfb, 0x82, 0x1a, 0x28, 0x30, 0x89,
231	0x0e, 0x25, 0xa7, 0x63, 0x85, 0x2e, 0x9b, 0xa6,
232	0x0b, 0xa0, 0xb5, 0x34, 0xa2, 0x2e, 0x7f, 0xd4,
233	0xe5, 0xd6, 0x95, 0xe8, 0x09, 0x3d, 0x4d, 0xdf,
234	0xd9, 0xc0, 0x63, 0x17, 0xa5, 0x9c, 0xf6, 0xa3,
235	0x59, 0x17, 0xc0, 0xf8, 0xa2, 0x11, 0x14, 0x88,
236	0xf0, 0x1e, 0x4a, 0x4b, 0x13, 0xf6, 0xd6, 0x09,
237	0xac, 0xf8, 0x39, 0x5d, 0x4c, 0x68, 0x69, 0x99,
238	0x08, 0xd4, 0xf5, 0x39, 0x6d, 0x78, 0xde, 0xb5,
239	0x6f, 0x34, 0xc4, 0x28, 0x73, 0x6c, 0x29, 0xa1,
240	0xef, 0xfe, 0xed, 0x56, 0xb2, 0x70, 0x7b, 0xd5,
241	0x5b, 0xd1, 0x09, 0x6a, 0x9a, 0x59, 0xe9, 0x79,
242	0xe9, 0xee, 0xa4, 0x03, 0xc1, 0x67, 0xce, 0x62,
243	0xf6, 0x4f, 0x04, 0xa5, 0x04, 0x71, 0x13, 0xeb,
244	0x3d, 0x0a, 0x65, 0x2f, 0x57, 0xb0, 0xc0, 0xa4,
245	0xf2, 0x8d, 0x78, 0x90, 0xeb, 0xc9, 0x5e, 0x8b,
246	0xd8, 0xfb, 0xbc, 0x74, 0x1a, 0x70, 0x94, 0x2c,
247	0xeb, 0xf2, 0x5e, 0x6d, 0xbb, 0x96, 0x7a, 0x2c,
248};
249
250/*
251 * IV method encblkno1, blkno 2.
252 */
253static const uint8_t aes_cbc_128_encblkno1_vec2_ctxt[SECSIZE] = {
254	0xbc, 0x49, 0x35, 0x2c, 0xe3, 0x10, 0x12, 0x65,
255	0x7a, 0xf4, 0xde, 0xd3, 0xf8, 0xe1, 0x49, 0x97,
256	0x0a, 0x07, 0x93, 0x6c, 0xf8, 0x0e, 0xb7, 0xdf,
257	0x53, 0xba, 0x1e, 0x8e, 0x14, 0xbd, 0xf6, 0x81,
258	0xd6, 0xf6, 0x3d, 0xb2, 0xe7, 0x6a, 0x9d, 0x50,
259	0x68, 0xc2, 0x75, 0x8e, 0xfb, 0x44, 0xfa, 0xc8,
260	0x9f, 0x30, 0x15, 0xd5, 0xbe, 0xce, 0x04, 0xc1,
261	0x99, 0xde, 0x3d, 0x2b, 0xc1, 0xc4, 0x8a, 0xb1,
262	0xc5, 0x54, 0x47, 0x52, 0xf6, 0x38, 0x11, 0xcb,
263	0x11, 0xf6, 0xb7, 0xbd, 0x4d, 0x24, 0xa1, 0xac,
264	0x04, 0x17, 0x7e, 0x3c, 0xbc, 0x3b, 0xa0, 0x8d,
265	0xfb, 0x22, 0x82, 0x56, 0xa2, 0xbe, 0xfe, 0xe7,
266	0xde, 0xa4, 0xe9, 0xeb, 0xa0, 0x7a, 0x45, 0xc9,
267	0x18, 0x0b, 0x14, 0xd5, 0xff, 0x4c, 0xe5, 0x86,
268	0xac, 0xac, 0xaa, 0xb4, 0x70, 0x0c, 0x4a, 0x20,
269	0xb6, 0xd8, 0x2d, 0xac, 0x09, 0xd8, 0xf6, 0x24,
270	0xdf, 0xa5, 0x62, 0xef, 0x8c, 0x01, 0xa8, 0x1d,
271	0x8f, 0x52, 0xee, 0xa6, 0x2f, 0x9b, 0x81, 0x18,
272	0x0e, 0x6b, 0xa3, 0xe5, 0x67, 0xb3, 0xd5, 0x30,
273	0xb1, 0x9f, 0x87, 0x05, 0xd0, 0x52, 0x62, 0x6f,
274	0xb9, 0x3b, 0xbc, 0x0c, 0x0c, 0xcb, 0x73, 0x55,
275	0x23, 0x83, 0x14, 0x78, 0x05, 0x5b, 0x05, 0xf5,
276	0x3e, 0xa7, 0xf3, 0x4d, 0x0d, 0x34, 0x6f, 0xe0,
277	0x58, 0x52, 0x0a, 0x82, 0xa7, 0x49, 0x8a, 0xd2,
278	0x23, 0xb1, 0xc5, 0x0d, 0xa7, 0x0f, 0x56, 0xfc,
279	0x7e, 0xf6, 0x19, 0x4b, 0xe7, 0x63, 0x72, 0x4c,
280	0xb8, 0x5c, 0x80, 0x54, 0xf5, 0x1f, 0xb0, 0x29,
281	0x40, 0x88, 0x75, 0x54, 0x42, 0xca, 0x2c, 0xc3,
282	0xcf, 0xd7, 0xc1, 0xb2, 0xd6, 0x90, 0x70, 0x5e,
283	0xf5, 0x58, 0x70, 0xe0, 0xff, 0x5a, 0xf5, 0xee,
284	0x32, 0x4f, 0x61, 0x1c, 0xf6, 0xbf, 0xd5, 0x7c,
285	0x73, 0xb9, 0x1d, 0x30, 0xc2, 0xfb, 0x2f, 0x9a,
286	0xf7, 0x57, 0x2e, 0x87, 0x7d, 0xcb, 0xdd, 0x7e,
287	0xda, 0xec, 0x47, 0x1a, 0x0e, 0x70, 0x2d, 0x6e,
288	0x18, 0x2b, 0x89, 0xc1, 0x85, 0x58, 0x6d, 0x4b,
289	0x45, 0x11, 0xcf, 0x82, 0x9f, 0x31, 0xd0, 0x42,
290	0x11, 0xca, 0xa8, 0x52, 0x66, 0xf7, 0xf1, 0x1d,
291	0x86, 0xe3, 0xb4, 0x41, 0xcb, 0x92, 0xb1, 0x9f,
292	0x8d, 0x8e, 0x08, 0xe9, 0xc4, 0x66, 0xce, 0x9d,
293	0xae, 0x91, 0xaf, 0xe6, 0xa6, 0x2e, 0x06, 0x3a,
294	0xf5, 0x27, 0x48, 0xe4, 0x31, 0x0f, 0xc5, 0xdf,
295	0x29, 0x56, 0xed, 0x62, 0xf3, 0xef, 0xca, 0xa6,
296	0x58, 0xd1, 0x84, 0x99, 0xd3, 0x34, 0x67, 0x92,
297	0x6a, 0xb2, 0xd1, 0xd1, 0x50, 0x1f, 0xe9, 0xd8,
298	0x3c, 0xbe, 0x12, 0x97, 0x7c, 0x4f, 0xc0, 0xbe,
299	0x91, 0x32, 0x15, 0xd5, 0xf2, 0x5e, 0xe6, 0x13,
300	0x86, 0xfa, 0xc6, 0xde, 0xd8, 0xe1, 0x70, 0xb4,
301	0xf7, 0x5b, 0x9f, 0x79, 0x55, 0x22, 0x7a, 0xe1,
302	0x54, 0x40, 0x39, 0x11, 0xe1, 0x78, 0x01, 0x01,
303	0xc0, 0x44, 0xeb, 0x92, 0xb9, 0x01, 0xdd, 0x56,
304	0xb9, 0x7e, 0xa0, 0x50, 0x41, 0x58, 0xb2, 0x13,
305	0x12, 0x44, 0xd2, 0x39, 0xf2, 0x76, 0x3c, 0x53,
306	0x36, 0xfe, 0x17, 0x74, 0x91, 0x8d, 0xbe, 0xc5,
307	0x40, 0xf7, 0xa2, 0xe9, 0x65, 0xd9, 0xdf, 0x80,
308	0x7b, 0xd9, 0xc3, 0x1f, 0xb4, 0xfc, 0x9f, 0x8d,
309	0x7a, 0x4e, 0x1e, 0x32, 0x6d, 0xb1, 0x82, 0x1e,
310	0x0c, 0xb6, 0x0b, 0xe6, 0x15, 0x82, 0x5c, 0xcc,
311	0xc8, 0x4a, 0x73, 0x56, 0x9d, 0x11, 0xfa, 0xcd,
312	0x21, 0x95, 0x23, 0x71, 0xe8, 0xfe, 0x06, 0x43,
313	0xf6, 0x17, 0x51, 0x28, 0x0d, 0xfb, 0x0a, 0x49,
314	0x1b, 0x35, 0x1e, 0x4a, 0x38, 0x08, 0x6b, 0xcd,
315	0x67, 0x21, 0x94, 0x09, 0x28, 0xca, 0x0a, 0x18,
316	0xdf, 0x6c, 0x86, 0x47, 0x10, 0x29, 0x81, 0x9a,
317	0x73, 0xba, 0x78, 0xbd, 0xc0, 0x61, 0xee, 0x23,
318};
319
320/*
321 * IV method encblkno1, blkno 3.
322 */
323static const uint8_t aes_cbc_128_encblkno1_vec3_ctxt[SECSIZE] = {
324	0x29, 0x9f, 0xb1, 0x0f, 0x7d, 0xb4, 0xd9, 0xbb,
325	0xf9, 0x06, 0x60, 0xdc, 0xb9, 0xeb, 0x73, 0x6e,
326	0xfe, 0xdb, 0x99, 0x29, 0xe8, 0x42, 0x46, 0xe7,
327	0x49, 0xcf, 0x90, 0x2d, 0x08, 0xd7, 0xd5, 0xbf,
328	0x0f, 0x4f, 0x66, 0xce, 0xcd, 0xb1, 0x8a, 0xc7,
329	0x47, 0xc9, 0x8e, 0xe3, 0x9f, 0x80, 0x79, 0xc6,
330	0xa8, 0xe5, 0x20, 0x66, 0x58, 0xde, 0xab, 0x87,
331	0x5e, 0x7e, 0xcd, 0x55, 0x81, 0x09, 0x40, 0xd9,
332	0x8b, 0x7e, 0xd3, 0xf9, 0x16, 0x55, 0x72, 0x7d,
333	0xe8, 0x36, 0x76, 0x06, 0x77, 0x47, 0xa5, 0xdc,
334	0x80, 0x33, 0x7d, 0x88, 0x5f, 0x56, 0x48, 0x0f,
335	0x66, 0xb5, 0x91, 0x9d, 0xf8, 0xdb, 0x83, 0x0d,
336	0xd4, 0xc6, 0x13, 0xfc, 0xd4, 0xe5, 0x34, 0x81,
337	0x70, 0x4d, 0x96, 0x82, 0x5d, 0xb2, 0x36, 0x37,
338	0xdf, 0xd2, 0x5e, 0x31, 0xf0, 0x9d, 0x6d, 0xb7,
339	0xf9, 0x2d, 0xcb, 0x77, 0xb8, 0x59, 0xa0, 0xbb,
340	0x4f, 0x8d, 0xa0, 0xd1, 0x49, 0x17, 0x93, 0x3c,
341	0xf0, 0x4e, 0x72, 0xdd, 0x99, 0x9a, 0x87, 0xf1,
342	0x01, 0x89, 0xdf, 0xef, 0xed, 0x04, 0x86, 0x3d,
343	0x9b, 0xab, 0x6c, 0xa7, 0xef, 0x1b, 0xbb, 0x24,
344	0xbc, 0x65, 0x01, 0x06, 0x12, 0x3f, 0x7e, 0x9f,
345	0x83, 0xf3, 0xd4, 0x43, 0x18, 0x03, 0xa3, 0x07,
346	0xbc, 0x85, 0xe8, 0xdb, 0x6c, 0x8f, 0xaf, 0x70,
347	0x71, 0x5d, 0xbc, 0x6d, 0x14, 0x05, 0xdf, 0xce,
348	0x9f, 0xe2, 0xa3, 0x51, 0x66, 0x92, 0x52, 0x19,
349	0x98, 0xbd, 0xb2, 0x68, 0x79, 0xf4, 0x5d, 0x71,
350	0xcb, 0xa0, 0x1b, 0x77, 0x34, 0x46, 0x69, 0x3c,
351	0xa4, 0x0f, 0x72, 0xf5, 0x73, 0xf6, 0xa0, 0xe9,
352	0x72, 0xef, 0xa1, 0xcc, 0x43, 0xfc, 0xb7, 0xf3,
353	0x59, 0xeb, 0x40, 0x61, 0x02, 0x26, 0x9b, 0x71,
354	0x57, 0x17, 0x36, 0xac, 0xc8, 0xd5, 0x9d, 0xcb,
355	0x4d, 0x4f, 0xf7, 0xc1, 0x58, 0xce, 0xbf, 0x73,
356	0xe7, 0xd0, 0x58, 0x0d, 0x08, 0x01, 0x8f, 0x68,
357	0x1b, 0x3f, 0x3a, 0x7b, 0xdb, 0x9e, 0xa7, 0x33,
358	0x59, 0x91, 0xa8, 0xe3, 0x58, 0x22, 0x3f, 0x97,
359	0xe1, 0xdb, 0xd6, 0x99, 0x0e, 0xdd, 0x76, 0xcd,
360	0x4d, 0x02, 0x28, 0x43, 0x8a, 0xdd, 0x10, 0xad,
361	0x55, 0xe0, 0x62, 0xf7, 0x44, 0xbc, 0x3f, 0x99,
362	0x3c, 0x09, 0x25, 0xfb, 0xfd, 0x1e, 0x4c, 0x45,
363	0x0e, 0x6e, 0x75, 0x15, 0x48, 0x19, 0x08, 0xc3,
364	0x2b, 0x81, 0x60, 0x5f, 0x19, 0x09, 0x74, 0x0a,
365	0xbd, 0x0d, 0x8d, 0x94, 0x55, 0x04, 0x2b, 0x8e,
366	0x0d, 0x10, 0x60, 0x64, 0x0d, 0x7f, 0x63, 0x2e,
367	0x89, 0x0b, 0xfc, 0x1c, 0xbc, 0xf3, 0x66, 0xc5,
368	0x80, 0x93, 0x3a, 0x74, 0x15, 0x11, 0xd5, 0xba,
369	0xbc, 0x06, 0x3f, 0x85, 0xcc, 0x6c, 0xd3, 0xf2,
370	0x74, 0xc6, 0x10, 0x15, 0x0a, 0x02, 0x66, 0xa4,
371	0xa8, 0x93, 0x0b, 0x5c, 0xe7, 0x13, 0x96, 0x90,
372	0xdd, 0xe3, 0x25, 0x22, 0x46, 0x7b, 0x49, 0xde,
373	0x72, 0x55, 0xf3, 0x30, 0x62, 0x5f, 0x7a, 0x2a,
374	0x37, 0x88, 0xea, 0x57, 0x99, 0x64, 0x50, 0x2d,
375	0xd3, 0x6a, 0x09, 0x4b, 0xd6, 0x61, 0xf2, 0x22,
376	0x53, 0x36, 0xf7, 0x42, 0x21, 0xde, 0xda, 0xcb,
377	0x8b, 0x6f, 0xf3, 0x4e, 0x2c, 0x16, 0xfb, 0xfc,
378	0x13, 0xa7, 0xd1, 0xd8, 0xfd, 0x16, 0x39, 0x20,
379	0xe0, 0xb2, 0xb4, 0xd5, 0x40, 0x93, 0x30, 0xf3,
380	0xab, 0x88, 0xe3, 0xfb, 0xbe, 0xb8, 0x02, 0x3a,
381	0x78, 0x2d, 0x56, 0x4b, 0x92, 0x5b, 0x0a, 0x8d,
382	0x18, 0xa4, 0x5b, 0x11, 0x60, 0x0b, 0x45, 0xad,
383	0x0b, 0x64, 0x96, 0x7d, 0x84, 0xf2, 0x20, 0xa8,
384	0x95, 0x78, 0xb3, 0xb5, 0x98, 0x1f, 0xa7, 0x3e,
385	0x30, 0x77, 0x43, 0xd2, 0x8c, 0x20, 0xc5, 0x5e,
386	0x76, 0xcd, 0x2c, 0x7c, 0xfa, 0x34, 0x36, 0xda,
387	0x39, 0x00, 0x2e, 0x69, 0x4a, 0xb3, 0x0f, 0x6f,
388};
389
390const struct testvec aes_cbc_128_1_vectors[] = {
391	{
392		.blkno = 0,
393		.ptxt = aes_cbc_ptxt,
394		.ctxt = aes_cbc_128_encblkno1_vec0_ctxt,
395	},
396	{
397		.blkno = 1,
398		.ptxt = aes_cbc_ptxt,
399		.ctxt = aes_cbc_128_encblkno1_vec1_ctxt,
400	},
401	{
402		.blkno = 2,
403		.ptxt = aes_cbc_ptxt,
404		.ctxt = aes_cbc_128_encblkno1_vec2_ctxt,
405	},
406	{
407		.blkno = 3,
408		.ptxt = aes_cbc_ptxt,
409		.ctxt = aes_cbc_128_encblkno1_vec3_ctxt,
410	},
411};
412
413/*
414 * IV method encblkno8, blkno 0.
415 */
416static const uint8_t aes_cbc_128_encblkno8_vec0_ctxt[SECSIZE] = {
417	0xa6, 0x64, 0xef, 0x0f, 0xc4, 0x45, 0xcc, 0x5e,
418	0xf8, 0x27, 0x42, 0x5e, 0xbd, 0x93, 0x99, 0xcd,
419	0x79, 0xa8, 0x7d, 0x72, 0xc4, 0x02, 0x99, 0xa6,
420	0xe4, 0x69, 0x57, 0x82, 0xdf, 0x32, 0x4e, 0x67,
421	0x2a, 0xd9, 0x58, 0x8c, 0x9f, 0xfc, 0x4d, 0xcf,
422	0x7b, 0xa4, 0xa1, 0xfa, 0xd9, 0x4d, 0xb5, 0x67,
423	0x06, 0x4a, 0x9e, 0x6d, 0xe8, 0xaa, 0xdd, 0xae,
424	0x8c, 0xda, 0xcf, 0x26, 0xd5, 0x94, 0x8d, 0x12,
425	0xf8, 0xdd, 0x21, 0x4c, 0xcb, 0xc8, 0x5d, 0xd1,
426	0x6a, 0x89, 0x37, 0xd0, 0x32, 0xe4, 0x87, 0xbc,
427	0x5d, 0xef, 0xca, 0x38, 0xd5, 0x08, 0xfb, 0xcf,
428	0xb7, 0x8d, 0x65, 0x52, 0x13, 0xea, 0x2d, 0x30,
429	0xd3, 0x9a, 0xe8, 0x9c, 0x76, 0x25, 0x44, 0x2a,
430	0xf1, 0xe1, 0xbb, 0xcd, 0xbc, 0x9c, 0xf5, 0xa3,
431	0xfb, 0x23, 0x53, 0x95, 0x61, 0xea, 0x46, 0x97,
432	0xf6, 0xbf, 0xdf, 0xf9, 0xb7, 0x94, 0x73, 0xa8,
433	0xc1, 0xaa, 0x64, 0xfb, 0x66, 0x26, 0x0f, 0x4c,
434	0xee, 0x3c, 0xb6, 0x3f, 0x13, 0x88, 0xaa, 0x7d,
435	0x91, 0x01, 0x1a, 0x95, 0x3b, 0xb5, 0x7e, 0x1f,
436	0xc1, 0x84, 0xa6, 0x83, 0x99, 0xe6, 0xaf, 0x21,
437	0x33, 0xff, 0x2e, 0xc9, 0xfe, 0xf2, 0xa1, 0x37,
438	0xed, 0x91, 0x73, 0x70, 0x4f, 0xb4, 0x69, 0x69,
439	0x98, 0x1d, 0x6d, 0xd4, 0xa4, 0xac, 0x73, 0x61,
440	0x04, 0xf5, 0x13, 0x50, 0x2a, 0xa9, 0xf7, 0x61,
441	0x78, 0xf5, 0x87, 0x26, 0xc5, 0x4a, 0x30, 0xbb,
442	0x94, 0x55, 0x51, 0xb4, 0xa0, 0x83, 0x30, 0xe6,
443	0xf7, 0xc7, 0x89, 0x61, 0x73, 0xd9, 0xbd, 0xe1,
444	0x4e, 0x14, 0x8a, 0x02, 0x3d, 0x7a, 0x58, 0x92,
445	0x41, 0xe7, 0x90, 0x8d, 0xd7, 0x67, 0x62, 0xf8,
446	0x99, 0xa7, 0x9d, 0x55, 0xec, 0x18, 0x6b, 0x42,
447	0xaf, 0x27, 0x97, 0xe5, 0x51, 0xa9, 0x10, 0x27,
448	0x5e, 0x3f, 0xac, 0xda, 0xd3, 0xb5, 0x2b, 0x43,
449	0x2e, 0x10, 0xdc, 0xd9, 0xe2, 0x2f, 0x4f, 0xfe,
450	0xf3, 0x0d, 0x06, 0x76, 0xf9, 0x25, 0xcd, 0x26,
451	0xef, 0x8e, 0x9b, 0xc2, 0xb3, 0x20, 0x2b, 0x00,
452	0xb6, 0xe6, 0x2e, 0xf7, 0x17, 0xc7, 0xa8, 0x3c,
453	0x00, 0xfc, 0x78, 0x8d, 0x10, 0x38, 0xd1, 0x11,
454	0x94, 0xed, 0xb4, 0x22, 0x13, 0xcb, 0x52, 0x0f,
455	0x0f, 0xd7, 0x33, 0x3b, 0xbd, 0x01, 0x04, 0x56,
456	0xfa, 0x2c, 0xaa, 0xaf, 0x2b, 0x93, 0xde, 0xf4,
457	0x31, 0x36, 0x13, 0x71, 0xef, 0x7a, 0xf0, 0xae,
458	0xbd, 0xa7, 0x4a, 0x57, 0xa5, 0xc5, 0xf3, 0x5c,
459	0x08, 0x2b, 0xe7, 0x12, 0x42, 0x4b, 0x4b, 0x12,
460	0x49, 0x3a, 0x2e, 0x26, 0x67, 0x67, 0xa1, 0xd5,
461	0x59, 0xa6, 0x18, 0x96, 0x22, 0x2b, 0xeb, 0x56,
462	0x1e, 0x0a, 0x08, 0x75, 0xb4, 0x2b, 0x5c, 0x0a,
463	0x4e, 0x9d, 0x17, 0xd4, 0x0c, 0xfe, 0x46, 0x60,
464	0x6d, 0xfa, 0xc0, 0xb9, 0x5e, 0x1f, 0x88, 0x0e,
465	0x08, 0x2c, 0xf3, 0xb4, 0x3a, 0x15, 0xc5, 0xf9,
466	0x5b, 0x85, 0x92, 0x94, 0xa8, 0x8f, 0x2c, 0x3a,
467	0x7e, 0x22, 0x86, 0x88, 0x51, 0x03, 0xee, 0xf9,
468	0x2e, 0x83, 0xce, 0x39, 0x0c, 0x76, 0x64, 0xe5,
469	0x5a, 0x88, 0xef, 0xc5, 0x06, 0xb2, 0xe4, 0x13,
470	0x82, 0xc9, 0xee, 0xba, 0x6d, 0x56, 0xa8, 0x87,
471	0x51, 0x69, 0x3b, 0x86, 0x29, 0x8e, 0xe8, 0xb4,
472	0x44, 0x42, 0x07, 0x5b, 0xff, 0x0e, 0x1e, 0x9f,
473	0x42, 0xb1, 0xc8, 0x5f, 0xab, 0x3b, 0xc7, 0xba,
474	0x75, 0x20, 0xe6, 0x9f, 0x93, 0xb5, 0xcf, 0x8f,
475	0x7c, 0x1c, 0xf3, 0xdb, 0x6a, 0xf4, 0xde, 0x00,
476	0xe9, 0xaf, 0xd5, 0xf4, 0x36, 0x98, 0x14, 0x2d,
477	0x53, 0x20, 0x74, 0xab, 0x0c, 0xf6, 0xcd, 0x15,
478	0x32, 0xa6, 0x01, 0x8d, 0x24, 0x1b, 0x4b, 0x1f,
479	0xa3, 0xfc, 0x38, 0x82, 0x3a, 0xa1, 0xb5, 0x52,
480	0x53, 0xc7, 0x2b, 0x30, 0x7c, 0x65, 0xb9, 0x7d,
481};
482
483/*
484 * IV method encblkno8, blkno 1.
485 */
486static const uint8_t aes_cbc_128_encblkno8_vec1_ctxt[SECSIZE] = {
487	0x63, 0x45, 0x16, 0x0c, 0xe4, 0x4f, 0x51, 0xde,
488	0x74, 0xf8, 0x7b, 0xf5, 0x05, 0x17, 0x13, 0x1e,
489	0xa5, 0x3d, 0x84, 0xfa, 0x35, 0x5a, 0x2d, 0x3c,
490	0xb7, 0x61, 0x68, 0xff, 0xcd, 0x33, 0x1f, 0x0b,
491	0x53, 0x79, 0xf2, 0x2f, 0xbc, 0x8d, 0xac, 0xb9,
492	0xf9, 0xb7, 0x9c, 0x0a, 0x9d, 0xa1, 0x4d, 0x78,
493	0x9e, 0x4e, 0xfa, 0xe8, 0xc8, 0x46, 0x4b, 0x99,
494	0x91, 0x7e, 0x33, 0x6e, 0x18, 0x24, 0x01, 0xc3,
495	0x9f, 0x8c, 0x43, 0xb5, 0x15, 0x7e, 0xdd, 0xf9,
496	0x1b, 0xb0, 0xf2, 0xc3, 0x97, 0x1f, 0x7c, 0x3f,
497	0x43, 0x4c, 0x9f, 0x93, 0x29, 0x83, 0x8f, 0xad,
498	0xd1, 0x5e, 0x92, 0x1a, 0x17, 0xd1, 0xa0, 0x05,
499	0x6e, 0x62, 0x59, 0x80, 0x50, 0x6d, 0xe3, 0x28,
500	0x9a, 0x43, 0xdc, 0x81, 0x4f, 0x49, 0xc4, 0x98,
501	0xcd, 0x6d, 0x28, 0xb4, 0x86, 0xe4, 0x83, 0x45,
502	0xd4, 0x43, 0x52, 0x8a, 0xd6, 0xc8, 0x1c, 0x90,
503	0xeb, 0xf0, 0xe7, 0x76, 0xb4, 0x43, 0x9b, 0x56,
504	0x48, 0x73, 0xdd, 0x01, 0x50, 0x1c, 0x61, 0xfc,
505	0x22, 0xac, 0xf4, 0x27, 0x94, 0x02, 0x54, 0xd3,
506	0x7d, 0x25, 0xf6, 0x14, 0x29, 0xbb, 0x2b, 0x22,
507	0xc8, 0xe8, 0x7f, 0xa1, 0xfe, 0x19, 0x79, 0x97,
508	0xb6, 0xa6, 0xba, 0x5b, 0x89, 0xdf, 0x73, 0x6d,
509	0x79, 0x38, 0x5b, 0xf8, 0x89, 0xa2, 0x95, 0x1d,
510	0xda, 0x38, 0x17, 0x4b, 0x01, 0xf1, 0x7d, 0x0a,
511	0xa2, 0x8f, 0x5a, 0x02, 0x51, 0xb0, 0x88, 0x10,
512	0x16, 0xc8, 0x82, 0xb9, 0x06, 0x9f, 0x01, 0x94,
513	0xf9, 0xe0, 0x2e, 0x86, 0x8a, 0xb1, 0x7f, 0x74,
514	0x22, 0xce, 0xee, 0xa6, 0x66, 0xee, 0xe2, 0x1d,
515	0x98, 0x1b, 0x46, 0x22, 0x7e, 0x89, 0x0c, 0xc4,
516	0x91, 0xfb, 0xe4, 0xd7, 0x36, 0x2a, 0xa9, 0x53,
517	0xe9, 0xaf, 0x6c, 0xc1, 0xdd, 0x69, 0x4f, 0xde,
518	0xd8, 0xd0, 0x7f, 0xc9, 0xf4, 0x8f, 0x84, 0xfe,
519	0x0f, 0x16, 0x36, 0x90, 0x09, 0xd6, 0x0f, 0xbc,
520	0x85, 0xad, 0xe9, 0xc3, 0xa1, 0x8d, 0x14, 0x5c,
521	0x40, 0x7d, 0x0f, 0x22, 0xfe, 0x5e, 0xaf, 0xd9,
522	0x0f, 0xe5, 0x2e, 0xa6, 0x04, 0xda, 0x35, 0x90,
523	0x7f, 0x9a, 0x1f, 0xb8, 0x34, 0x1c, 0xd0, 0xf5,
524	0x5c, 0x29, 0xce, 0xbe, 0x57, 0xd8, 0x55, 0x15,
525	0x2d, 0x4c, 0x3c, 0x16, 0x93, 0x96, 0x3c, 0xf3,
526	0xa8, 0x2f, 0x09, 0xb3, 0x8b, 0xe3, 0xce, 0xf7,
527	0x3e, 0x8e, 0xcf, 0x47, 0xe2, 0xf2, 0xad, 0x06,
528	0x00, 0x9a, 0x3a, 0x55, 0xf5, 0x9e, 0xbf, 0x5a,
529	0x2e, 0x5a, 0x6c, 0x2b, 0x8f, 0x33, 0x71, 0x2c,
530	0x56, 0x43, 0xd1, 0x8b, 0xd2, 0x98, 0x14, 0xb7,
531	0x5a, 0xdc, 0x8b, 0xbc, 0xfe, 0x50, 0x99, 0x84,
532	0x48, 0x5f, 0xcd, 0xed, 0xce, 0x61, 0x6f, 0xa6,
533	0x83, 0xa3, 0x34, 0xbe, 0xf2, 0x66, 0xf3, 0x09,
534	0xf3, 0xd3, 0x97, 0xd4, 0xee, 0x66, 0x9a, 0x81,
535	0x62, 0x84, 0x85, 0x7f, 0x79, 0x18, 0xd2, 0x82,
536	0xd6, 0x96, 0x09, 0x61, 0x1e, 0x53, 0x97, 0x80,
537	0x0a, 0x81, 0x4b, 0x93, 0xf0, 0x03, 0x65, 0x18,
538	0x93, 0x5b, 0x60, 0x2f, 0xb5, 0xfe, 0x82, 0xaf,
539	0x85, 0xb7, 0x79, 0x7c, 0xee, 0xad, 0xea, 0xfa,
540	0x9b, 0xad, 0xca, 0x38, 0x21, 0x3d, 0x46, 0x8a,
541	0x5b, 0xa7, 0x55, 0x3d, 0x88, 0x4a, 0x52, 0xdb,
542	0xf2, 0x07, 0xed, 0xd6, 0x3c, 0x9f, 0x1b, 0x42,
543	0xb4, 0x14, 0x12, 0xb7, 0x00, 0xfc, 0x6a, 0x79,
544	0x61, 0x0b, 0x43, 0xaa, 0x44, 0x48, 0x30, 0x15,
545	0x48, 0x76, 0x27, 0x32, 0x7a, 0x2e, 0x25, 0x6a,
546	0x8c, 0x8c, 0x64, 0x67, 0x86, 0x54, 0x4a, 0x93,
547	0x14, 0xfe, 0x81, 0xf5, 0xcf, 0x98, 0x92, 0xd3,
548	0x92, 0xf5, 0x6a, 0x74, 0x28, 0x10, 0x6b, 0xd4,
549	0x1d, 0x64, 0x7e, 0x05, 0x32, 0xba, 0xf7, 0x4c,
550	0xe9, 0xa8, 0xa9, 0xc5, 0x35, 0x34, 0x26, 0x41,
551};
552
553/*
554 * IV method encblkno8, blkno 2.
555 */
556static const uint8_t aes_cbc_128_encblkno8_vec2_ctxt[SECSIZE] = {
557	0x64, 0x7b, 0x62, 0x7a, 0xa6, 0xa9, 0xb3, 0x47,
558	0xbc, 0x03, 0x14, 0x3d, 0x9b, 0x56, 0xfc, 0x13,
559	0x08, 0x32, 0x81, 0xe3, 0x57, 0x3c, 0x0d, 0xbb,
560	0x85, 0x44, 0x47, 0x12, 0xc4, 0x80, 0x35, 0x37,
561	0xe1, 0xb4, 0x3f, 0x35, 0x98, 0x7c, 0xb0, 0x3b,
562	0x85, 0xab, 0x3d, 0x0b, 0xd3, 0x6f, 0xf9, 0x92,
563	0x00, 0x6b, 0x18, 0xe7, 0x31, 0x8b, 0x77, 0x4c,
564	0xd0, 0x7b, 0x1d, 0xfc, 0x95, 0xe6, 0x02, 0x01,
565	0x9c, 0x17, 0x4d, 0x9b, 0x3a, 0x1d, 0x12, 0x23,
566	0xd4, 0x24, 0xf8, 0x47, 0x5e, 0x2d, 0xfd, 0xc8,
567	0x74, 0x28, 0xb4, 0x3a, 0x99, 0x6b, 0xcc, 0xba,
568	0xe5, 0x51, 0x0b, 0xab, 0x4d, 0x63, 0xfc, 0x6d,
569	0x2d, 0xd9, 0x2b, 0x4f, 0xa4, 0x26, 0xc7, 0x8d,
570	0x9d, 0x12, 0x7f, 0xc7, 0x6b, 0x15, 0x8b, 0x4a,
571	0x41, 0xf8, 0x50, 0x32, 0x76, 0x10, 0xca, 0x8e,
572	0xfe, 0x08, 0x7d, 0x9a, 0xb5, 0x1a, 0xdb, 0x10,
573	0xb3, 0x6a, 0x5f, 0xd9, 0x0a, 0x5f, 0x31, 0x19,
574	0x3e, 0xa9, 0xa1, 0x72, 0x1f, 0x6c, 0x97, 0x20,
575	0xd4, 0xab, 0xb8, 0xad, 0xf7, 0x70, 0x12, 0xd0,
576	0x8f, 0x70, 0x24, 0x58, 0x2e, 0x99, 0xcd, 0xd4,
577	0xf4, 0xcd, 0xef, 0x93, 0xfb, 0x4f, 0x9a, 0x40,
578	0x46, 0x92, 0x6b, 0xd0, 0x25, 0x24, 0xec, 0x4d,
579	0x4c, 0x42, 0x50, 0x61, 0xb6, 0x21, 0xa6, 0x2e,
580	0xc1, 0x42, 0x9e, 0x86, 0x9f, 0x57, 0x2a, 0x2c,
581	0x82, 0xbd, 0xc2, 0x25, 0xb6, 0x9f, 0x2d, 0x9f,
582	0xba, 0xe0, 0xa6, 0x06, 0x04, 0x08, 0xc5, 0x1d,
583	0x8c, 0x0f, 0xbf, 0x21, 0x85, 0x6d, 0x61, 0x4d,
584	0x93, 0xc0, 0xa2, 0x8b, 0xca, 0x07, 0xd0, 0x88,
585	0x74, 0xf9, 0x42, 0x92, 0xd5, 0x0d, 0x0c, 0x34,
586	0xa6, 0xa5, 0x86, 0x51, 0xcf, 0x40, 0x36, 0x66,
587	0x35, 0x9f, 0xa8, 0x95, 0x0b, 0xfb, 0x0c, 0xe8,
588	0xdc, 0x12, 0x78, 0x4c, 0x52, 0xf4, 0xfc, 0x4a,
589	0x77, 0xdd, 0x77, 0x34, 0xf7, 0x35, 0x94, 0x7a,
590	0x31, 0x16, 0x86, 0x44, 0x50, 0x30, 0x1c, 0x6d,
591	0x9f, 0x66, 0x49, 0xb5, 0xe6, 0x71, 0x00, 0x83,
592	0xd1, 0xa0, 0x01, 0xff, 0xc3, 0x27, 0xaa, 0x9a,
593	0xdb, 0xad, 0x24, 0xdb, 0xbd, 0xde, 0xfd, 0xa6,
594	0xaa, 0x87, 0x98, 0x98, 0xde, 0x90, 0xd5, 0x40,
595	0x20, 0x8f, 0xe9, 0xdd, 0xa8, 0xec, 0xd3, 0x18,
596	0x20, 0x85, 0x5e, 0xd5, 0xe7, 0x50, 0x58, 0x15,
597	0x69, 0x03, 0xa5, 0xe8, 0xa9, 0x7a, 0x0f, 0xd1,
598	0x7d, 0x22, 0x8a, 0xe0, 0xc6, 0x17, 0x33, 0x00,
599	0x57, 0xcb, 0xf6, 0x8d, 0xf0, 0xc1, 0x7b, 0xb5,
600	0x96, 0x0f, 0x08, 0x84, 0x5b, 0x7e, 0xa6, 0x1e,
601	0xd8, 0x5e, 0x0c, 0xca, 0x30, 0x4b, 0xe0, 0x87,
602	0x2f, 0xbc, 0x07, 0x83, 0x35, 0x76, 0x36, 0x17,
603	0xcf, 0xdb, 0x27, 0x53, 0x43, 0xf5, 0x07, 0xd0,
604	0x91, 0x83, 0xa1, 0xaa, 0x8d, 0xdb, 0x00, 0x2b,
605	0xd1, 0x88, 0xe5, 0x59, 0x47, 0x17, 0xf0, 0xe8,
606	0xce, 0x3b, 0xa0, 0x73, 0x1f, 0x22, 0x9b, 0x1b,
607	0x59, 0x02, 0xe6, 0xaf, 0x3f, 0xdd, 0xfe, 0xba,
608	0xc3, 0x6b, 0xe5, 0x82, 0x02, 0x92, 0x0c, 0x5e,
609	0x5a, 0x87, 0x88, 0x91, 0x00, 0xb5, 0x30, 0x37,
610	0xf5, 0xc6, 0xdf, 0x0a, 0x7f, 0x03, 0x1c, 0x1f,
611	0x20, 0xf1, 0xd4, 0x5f, 0x94, 0xc3, 0x6f, 0x21,
612	0x5e, 0xf2, 0x77, 0x5a, 0x42, 0xfd, 0xd3, 0xc4,
613	0x31, 0xaf, 0xd6, 0x6c, 0x6c, 0xde, 0x8c, 0x50,
614	0x01, 0x8f, 0x57, 0x90, 0x88, 0x43, 0xf9, 0x44,
615	0x09, 0x4d, 0x27, 0x58, 0x9f, 0xae, 0x50, 0x28,
616	0x12, 0x47, 0x20, 0x79, 0x2b, 0xe4, 0x02, 0x97,
617	0xcd, 0xab, 0x53, 0x28, 0x8f, 0x8f, 0xe3, 0x3b,
618	0xd6, 0xc9, 0xc8, 0xff, 0xbf, 0x18, 0x3b, 0x75,
619	0xdb, 0xcf, 0x07, 0x8c, 0xfe, 0x58, 0xee, 0x75,
620	0x01, 0x98, 0x98, 0xe4, 0x60, 0xfe, 0xe6, 0x7f,
621};
622
623/*
624 * IV method encblkno8, blkno 3.
625 */
626static const uint8_t aes_cbc_128_encblkno8_vec3_ctxt[SECSIZE] = {
627	0x98, 0xae, 0x82, 0x1d, 0x76, 0x3a, 0xfe, 0x80,
628	0x04, 0xa3, 0x43, 0xf0, 0x06, 0x45, 0x83, 0xb7,
629	0xe2, 0xb5, 0x73, 0x46, 0x78, 0x01, 0x2f, 0xd6,
630	0x0d, 0x49, 0x64, 0x4c, 0xeb, 0x8d, 0xdc, 0xa9,
631	0xdc, 0xea, 0x22, 0x25, 0xd4, 0x8f, 0xba, 0x9f,
632	0xd4, 0x7a, 0x3c, 0x9e, 0xd0, 0xd9, 0xcd, 0xa4,
633	0x12, 0xdf, 0x8f, 0x50, 0x24, 0x18, 0xa2, 0x0b,
634	0xd9, 0x7f, 0xda, 0x78, 0xd6, 0x11, 0xf3, 0x99,
635	0xc4, 0xec, 0x95, 0xe2, 0x85, 0xe1, 0xa0, 0x0d,
636	0x07, 0x22, 0x56, 0xaf, 0x2f, 0xf5, 0x7d, 0x63,
637	0xf2, 0x90, 0x6c, 0x26, 0x4f, 0xa5, 0x47, 0xcd,
638	0x66, 0x2d, 0x4c, 0x4d, 0x94, 0x6a, 0x3c, 0x98,
639	0xe4, 0x5e, 0x3b, 0x42, 0x3a, 0x93, 0x02, 0xd0,
640	0x90, 0xc7, 0xcd, 0x87, 0x0e, 0x84, 0x82, 0xf5,
641	0x77, 0x7b, 0x29, 0xe4, 0xea, 0x5b, 0x60, 0x50,
642	0xf7, 0x60, 0x8d, 0xf7, 0xd8, 0xd7, 0x7d, 0x99,
643	0x8a, 0xdc, 0xe2, 0xb9, 0x40, 0xac, 0x4b, 0x9f,
644	0x55, 0x30, 0xcb, 0x5a, 0x73, 0x64, 0xf2, 0xca,
645	0x76, 0x88, 0xf7, 0x55, 0xb5, 0x33, 0xc0, 0x44,
646	0xdf, 0x42, 0xee, 0xc9, 0xc5, 0x2a, 0x47, 0x18,
647	0x8b, 0x74, 0xb9, 0x4f, 0x2c, 0xd8, 0x7a, 0xd1,
648	0x12, 0x19, 0xf9, 0x21, 0x8d, 0x21, 0x7e, 0x2a,
649	0xcf, 0xd5, 0xbb, 0x69, 0xaa, 0x20, 0x25, 0xe0,
650	0xf5, 0x3b, 0x33, 0x77, 0x63, 0xb2, 0x05, 0x5c,
651	0x10, 0x9c, 0x61, 0x48, 0xf5, 0xe6, 0x04, 0xd3,
652	0xc8, 0xb4, 0xf6, 0xcf, 0x22, 0x1c, 0xf6, 0xbb,
653	0x4b, 0xd7, 0x5d, 0x23, 0xfa, 0x0e, 0xc0, 0xac,
654	0x27, 0x38, 0x95, 0xd0, 0xdd, 0x83, 0xad, 0x9e,
655	0xcf, 0xde, 0x99, 0xe7, 0x04, 0xb7, 0x23, 0x9f,
656	0x46, 0x91, 0xb8, 0xcb, 0x18, 0xd0, 0xc5, 0xf8,
657	0xec, 0xfc, 0x33, 0xb7, 0xbe, 0x2d, 0xe9, 0x3a,
658	0x7f, 0x83, 0x5e, 0x44, 0x0f, 0x12, 0x6d, 0x05,
659	0xaa, 0xfb, 0x80, 0x7a, 0xf6, 0xdb, 0x25, 0xc6,
660	0x51, 0xf3, 0x5d, 0xf3, 0xa9, 0xb8, 0x34, 0x88,
661	0x88, 0x25, 0xd5, 0xa3, 0xe5, 0x8e, 0xb2, 0xc7,
662	0xdc, 0xd5, 0x2e, 0x99, 0xb9, 0xc5, 0x1d, 0x91,
663	0x49, 0x7b, 0xa3, 0x5e, 0x4b, 0xaf, 0x29, 0x7b,
664	0x37, 0xb5, 0x39, 0x2c, 0xdf, 0x3b, 0xb1, 0xd8,
665	0xba, 0x14, 0xc9, 0xd3, 0x6d, 0x67, 0x6a, 0x80,
666	0x89, 0x6f, 0x11, 0xc8, 0xbc, 0xd6, 0xc7, 0xab,
667	0x42, 0x1f, 0xf4, 0xa2, 0xc0, 0x9c, 0x2d, 0xca,
668	0x5f, 0xe6, 0x65, 0xfa, 0x28, 0x49, 0x99, 0xa3,
669	0x0b, 0x7b, 0x7d, 0x39, 0xaa, 0xa6, 0xd8, 0x0a,
670	0xfd, 0xde, 0x31, 0x86, 0x15, 0x95, 0x1e, 0x5c,
671	0x05, 0x4e, 0x3c, 0x18, 0xee, 0xa9, 0x56, 0x9c,
672	0x3c, 0xc3, 0x67, 0x84, 0x57, 0x77, 0x8d, 0xff,
673	0xea, 0x34, 0x3c, 0xf9, 0x58, 0xb8, 0xdc, 0x4e,
674	0xa1, 0x92, 0x2d, 0x9a, 0x91, 0x61, 0x23, 0x6a,
675	0xd9, 0xb7, 0x41, 0xc5, 0x0d, 0xb6, 0x57, 0x58,
676	0x42, 0x39, 0x4a, 0x86, 0x7e, 0x9d, 0xeb, 0x7d,
677	0xa8, 0x14, 0x1a, 0x5c, 0xa1, 0x54, 0x34, 0xb6,
678	0xb6, 0xbc, 0x1f, 0xf5, 0xe2, 0xb5, 0xe4, 0xa8,
679	0x42, 0xe3, 0x3d, 0x06, 0x6b, 0x50, 0xbb, 0xa1,
680	0x6b, 0x63, 0xe5, 0x60, 0x28, 0x07, 0x49, 0x06,
681	0x61, 0x0e, 0xa3, 0x6c, 0xc3, 0xc8, 0x3e, 0x5a,
682	0x9c, 0xa5, 0xb3, 0x9b, 0x8d, 0x46, 0xb9, 0xf5,
683	0x4a, 0x4d, 0xbe, 0xc0, 0xc1, 0x24, 0x92, 0x09,
684	0x7c, 0x9a, 0x21, 0x2c, 0x08, 0x8a, 0x0d, 0xfc,
685	0xff, 0xda, 0xdc, 0xf1, 0x45, 0x66, 0xf9, 0xcd,
686	0x64, 0x7c, 0x2f, 0x0e, 0x95, 0x5e, 0xec, 0x92,
687	0xd1, 0x03, 0x03, 0xa0, 0xcc, 0x73, 0x92, 0x15,
688	0x74, 0x42, 0x54, 0x48, 0x77, 0xbe, 0x96, 0xfb,
689	0x1f, 0x0c, 0x7a, 0x25, 0x67, 0x6b, 0x85, 0x71,
690	0x06, 0x15, 0xd3, 0x11, 0xfe, 0xf7, 0xa9, 0xb1,
691};
692
693const struct testvec aes_cbc_128_8_vectors[] = {
694	{
695		.blkno = 0,
696		.ptxt = aes_cbc_ptxt,
697		.ctxt = aes_cbc_128_encblkno8_vec0_ctxt,
698	},
699	{
700		.blkno = 1,
701		.ptxt = aes_cbc_ptxt,
702		.ctxt = aes_cbc_128_encblkno8_vec1_ctxt,
703	},
704	{
705		.blkno = 2,
706		.ptxt = aes_cbc_ptxt,
707		.ctxt = aes_cbc_128_encblkno8_vec2_ctxt,
708	},
709	{
710		.blkno = 3,
711		.ptxt = aes_cbc_ptxt,
712		.ctxt = aes_cbc_128_encblkno8_vec3_ctxt,
713	},
714};
715
716/*
717 * IV method encblkno1, blkno 0.
718 */
719static const uint8_t aes_cbc_192_encblkno1_vec0_ctxt[SECSIZE] = {
720	0x7c, 0xc4, 0xec, 0x89, 0x7c, 0x13, 0xac, 0x99,
721	0x49, 0xa9, 0x96, 0xe7, 0xb1, 0x1a, 0xd6, 0xb0,
722	0xeb, 0x89, 0x27, 0x0f, 0x8b, 0x1b, 0xab, 0x8e,
723	0x2c, 0xd4, 0x00, 0x66, 0x12, 0x3a, 0x9a, 0x03,
724	0xc4, 0x49, 0xa4, 0xf0, 0xc1, 0x90, 0xf9, 0x38,
725	0xb2, 0x5c, 0xa5, 0x0d, 0x1b, 0x60, 0x94, 0xf6,
726	0x31, 0x4a, 0x72, 0xdb, 0xfc, 0xe1, 0x3c, 0xd6,
727	0x9d, 0x03, 0x07, 0x45, 0xdb, 0xad, 0xdb, 0xb3,
728	0x86, 0xfa, 0xce, 0x2c, 0xeb, 0xa2, 0xac, 0x05,
729	0xd9, 0x52, 0xb8, 0xae, 0xa9, 0x91, 0x86, 0x4b,
730	0xbb, 0xf8, 0x03, 0xb0, 0x6c, 0x40, 0xcc, 0xbf,
731	0xa3, 0x76, 0x60, 0xf7, 0x29, 0x03, 0xe6, 0x44,
732	0xcc, 0x2a, 0xe7, 0x74, 0x8e, 0x62, 0xfe, 0x99,
733	0x6a, 0x6d, 0x04, 0x1b, 0xe7, 0xf7, 0x9f, 0x13,
734	0xa7, 0x1d, 0x93, 0x0e, 0x8f, 0xe0, 0x77, 0x9b,
735	0xe3, 0x91, 0x67, 0x12, 0x33, 0x12, 0x42, 0x55,
736	0x28, 0x04, 0x2d, 0x01, 0x2b, 0xd2, 0xda, 0xbe,
737	0x7c, 0x83, 0xf2, 0x87, 0x71, 0x67, 0xaf, 0x6b,
738	0x50, 0x6c, 0x8c, 0x9f, 0x48, 0xee, 0x90, 0x0c,
739	0x9a, 0x9e, 0x40, 0xa8, 0x13, 0x2f, 0x58, 0xfb,
740	0xdc, 0xb1, 0xda, 0xff, 0x06, 0x9c, 0xeb, 0x5e,
741	0x0f, 0xaf, 0xc0, 0x9a, 0x47, 0x88, 0x25, 0xfd,
742	0x19, 0x5e, 0xd4, 0xe0, 0x7f, 0xe0, 0x71, 0x7a,
743	0x60, 0x54, 0xe7, 0x0d, 0xfe, 0x11, 0x9d, 0x77,
744	0xbd, 0x9b, 0xd0, 0xf8, 0x77, 0xe4, 0x5b, 0x88,
745	0x90, 0x12, 0x29, 0x88, 0xb6, 0xd9, 0x1e, 0x6c,
746	0xbf, 0xa4, 0x18, 0xe1, 0xe0, 0x5e, 0xed, 0x48,
747	0x9b, 0x05, 0x13, 0x37, 0x0f, 0x41, 0x54, 0xc8,
748	0xe4, 0x25, 0x0e, 0x82, 0x5f, 0x81, 0xba, 0x5d,
749	0x79, 0x8f, 0x9c, 0x17, 0x4b, 0x59, 0xf4, 0x5d,
750	0xd6, 0x83, 0xfd, 0x44, 0xd0, 0xe1, 0x89, 0x09,
751	0xf9, 0xe2, 0xb6, 0x9c, 0x1c, 0xbd, 0x13, 0xaa,
752	0xa0, 0x43, 0xaa, 0xaf, 0x6d, 0x65, 0x73, 0xba,
753	0x3a, 0x55, 0x69, 0x51, 0xb9, 0x52, 0x09, 0xaa,
754	0x9f, 0x91, 0x3c, 0x65, 0xe2, 0x81, 0xdb, 0xe8,
755	0x5a, 0xe3, 0x74, 0x11, 0x7b, 0xec, 0x2f, 0x18,
756	0x8d, 0x4c, 0x8f, 0xf2, 0x06, 0x3d, 0x22, 0xc6,
757	0x43, 0xef, 0x42, 0x7d, 0xe1, 0xe7, 0xde, 0x4c,
758	0x58, 0xad, 0x40, 0xbb, 0x8b, 0xce, 0x1f, 0x57,
759	0x8e, 0x6a, 0x27, 0x43, 0x46, 0x7f, 0x94, 0xe5,
760	0x45, 0x67, 0x12, 0xc8, 0x99, 0x85, 0x08, 0x2a,
761	0x37, 0x40, 0x0b, 0xb5, 0xd9, 0xa3, 0xf7, 0xc8,
762	0x87, 0xb1, 0xe6, 0x87, 0x2f, 0x86, 0xd8, 0x9c,
763	0x7b, 0xec, 0xcf, 0xa4, 0xe5, 0xd5, 0x50, 0x3f,
764	0xdf, 0xc9, 0xb7, 0x29, 0x97, 0xd6, 0x33, 0xba,
765	0xf0, 0x72, 0xf0, 0x76, 0x12, 0xd3, 0x99, 0x4f,
766	0x1b, 0x36, 0xda, 0xa1, 0x83, 0xfe, 0xf5, 0x94,
767	0x9e, 0x61, 0x82, 0x62, 0xe0, 0x08, 0x3a, 0xbd,
768	0xba, 0x8b, 0x3d, 0xd6, 0xbd, 0x16, 0x5f, 0xd7,
769	0x1d, 0x6c, 0x0e, 0x92, 0x89, 0x8c, 0x38, 0x62,
770	0x80, 0xee, 0x7e, 0x63, 0x82, 0x88, 0x0b, 0xbf,
771	0xdd, 0x9f, 0xbc, 0xba, 0xa7, 0x5a, 0xc6, 0x0d,
772	0x87, 0x59, 0xbf, 0x0a, 0x85, 0x06, 0xa3, 0xb4,
773	0x66, 0x63, 0xda, 0x12, 0x29, 0x5f, 0x2e, 0x4d,
774	0x60, 0xfd, 0x85, 0x76, 0xaf, 0xf7, 0x87, 0xed,
775	0x1f, 0x46, 0xc2, 0xd6, 0x6c, 0x98, 0x6b, 0x4b,
776	0x60, 0x04, 0xed, 0x89, 0x3b, 0x85, 0x6c, 0xe9,
777	0x46, 0xd9, 0xfa, 0x35, 0x61, 0xe8, 0x0c, 0x84,
778	0x1b, 0x93, 0xc0, 0xfe, 0x5d, 0x29, 0x14, 0xe1,
779	0x1c, 0x66, 0x73, 0xc8, 0x0b, 0x98, 0xff, 0x1a,
780	0x78, 0x2b, 0x6a, 0x93, 0x7a, 0x29, 0xd8, 0x7b,
781	0xb1, 0x39, 0xf0, 0xad, 0x93, 0x4d, 0x2d, 0xab,
782	0x67, 0x3c, 0xa4, 0xa1, 0x08, 0x36, 0x0b, 0xe9,
783	0x77, 0xd0, 0xe3, 0x45, 0x7d, 0x99, 0x75, 0xc3,
784};
785
786/*
787 * IV method encblkno1, blkno 1.
788 */
789static const uint8_t aes_cbc_192_encblkno1_vec1_ctxt[SECSIZE] = {
790	0xe6, 0x41, 0x75, 0xd6, 0x80, 0xdf, 0x44, 0x37,
791	0xa7, 0xa2, 0xb2, 0x29, 0x0d, 0xf0, 0x02, 0x78,
792	0x92, 0xb2, 0x06, 0x5f, 0x86, 0xd3, 0x9c, 0xa3,
793	0xd0, 0xc5, 0x08, 0x03, 0x6d, 0x41, 0x9d, 0x61,
794	0xb4, 0xb9, 0xa1, 0x69, 0x6e, 0x3a, 0x78, 0xd7,
795	0x04, 0x94, 0xf2, 0x53, 0xed, 0xd1, 0xf6, 0xd8,
796	0x98, 0xe2, 0x49, 0x75, 0x15, 0x85, 0xe0, 0x78,
797	0x5b, 0x28, 0x5e, 0xe6, 0xfa, 0x60, 0x3d, 0x4b,
798	0x8c, 0xf1, 0x1a, 0xfd, 0x1f, 0xe8, 0xad, 0xb4,
799	0xa1, 0xe7, 0xd3, 0x71, 0x16, 0xdf, 0xc6, 0x95,
800	0xd4, 0x43, 0xaf, 0x92, 0xab, 0x74, 0x0f, 0x77,
801	0x75, 0x4d, 0xd7, 0x13, 0x97, 0x18, 0xea, 0x43,
802	0x92, 0x0d, 0x88, 0xc8, 0x41, 0xf7, 0x15, 0x34,
803	0x0f, 0x63, 0xbf, 0x50, 0x18, 0xbe, 0x9d, 0x3b,
804	0xfc, 0x17, 0x7d, 0x03, 0x39, 0xc2, 0x39, 0x28,
805	0xb2, 0x23, 0x1c, 0x7f, 0x3f, 0x19, 0x6c, 0x2f,
806	0x64, 0xbd, 0xc9, 0x7d, 0xbe, 0x98, 0xe0, 0x83,
807	0xa4, 0x48, 0xfc, 0x89, 0xe7, 0xe0, 0x93, 0x93,
808	0x7b, 0x15, 0x35, 0xaf, 0xf8, 0x00, 0x81, 0xcc,
809	0x04, 0x80, 0x8b, 0x20, 0xc8, 0x6a, 0xb7, 0x5e,
810	0x95, 0xce, 0x69, 0x50, 0x39, 0x88, 0x90, 0x41,
811	0x3f, 0xa8, 0x62, 0x42, 0xf1, 0xa9, 0x56, 0xce,
812	0x25, 0x53, 0x1d, 0x97, 0x5d, 0x3a, 0x4e, 0x6b,
813	0x1f, 0xd6, 0xea, 0x20, 0x81, 0x6c, 0xe5, 0xa1,
814	0x0d, 0x9a, 0xd9, 0x3c, 0xbb, 0xbc, 0xc1, 0x77,
815	0xe2, 0xf4, 0x9c, 0x11, 0x3a, 0x2f, 0xd0, 0x77,
816	0x10, 0xa6, 0x36, 0xd1, 0xbf, 0x3b, 0x50, 0x39,
817	0x4b, 0x2c, 0x62, 0x06, 0x1a, 0xe4, 0x18, 0xc0,
818	0x35, 0x7c, 0xc3, 0xd0, 0x22, 0xf8, 0xee, 0x19,
819	0xa5, 0x3d, 0x69, 0xa9, 0x34, 0xe6, 0x29, 0xf9,
820	0xf1, 0xff, 0x26, 0x7a, 0x66, 0x13, 0x1a, 0xa2,
821	0xc6, 0xac, 0x84, 0xf6, 0x6b, 0x09, 0xbd, 0x32,
822	0x6f, 0x26, 0x37, 0x7c, 0x7d, 0x74, 0xe4, 0xa0,
823	0xeb, 0x85, 0x7a, 0xa1, 0x92, 0x19, 0x2e, 0x64,
824	0x82, 0x7c, 0x89, 0x1b, 0x14, 0x92, 0xd1, 0xf4,
825	0x1f, 0x29, 0x84, 0x04, 0x70, 0x09, 0x13, 0x4c,
826	0x62, 0x9a, 0xb4, 0xf7, 0xc1, 0x7b, 0x83, 0xd1,
827	0x2d, 0x1a, 0xbe, 0x83, 0x9b, 0x73, 0xba, 0x8d,
828	0xbb, 0xb0, 0xf2, 0x5c, 0x72, 0x75, 0x01, 0x0b,
829	0xa6, 0x43, 0x6b, 0x76, 0x56, 0x4e, 0x71, 0x1b,
830	0xb2, 0x34, 0x1f, 0x70, 0x44, 0xe6, 0xfb, 0x67,
831	0xd1, 0x4d, 0x63, 0xce, 0x17, 0x46, 0x9b, 0x11,
832	0xda, 0x93, 0xf8, 0x03, 0x11, 0x8f, 0x90, 0xff,
833	0x80, 0x85, 0x02, 0x1f, 0xb6, 0x6a, 0x28, 0x3f,
834	0x01, 0xa8, 0x36, 0x2e, 0xc7, 0x42, 0xd4, 0x02,
835	0x26, 0xea, 0xb5, 0x84, 0x6c, 0x9f, 0xa0, 0x4a,
836	0x73, 0x49, 0xea, 0x91, 0x4d, 0x62, 0xf8, 0x23,
837	0xe4, 0x3d, 0x91, 0xfb, 0x53, 0x2c, 0x8c, 0xa4,
838	0xfe, 0x81, 0x05, 0x5d, 0x4b, 0x9a, 0x75, 0x29,
839	0xf8, 0xbe, 0x3f, 0x05, 0xb4, 0x8f, 0xdc, 0xcc,
840	0xfa, 0xcc, 0xd7, 0xb2, 0x06, 0x03, 0xd4, 0xf3,
841	0x8e, 0x09, 0x09, 0x80, 0xf8, 0xc3, 0x3b, 0x66,
842	0xe9, 0x9c, 0x5b, 0x16, 0xed, 0x2d, 0x35, 0x1c,
843	0x99, 0x3b, 0x1f, 0x0e, 0x04, 0x30, 0x23, 0x3a,
844	0x83, 0x0c, 0xec, 0x76, 0xf2, 0x5d, 0x13, 0x54,
845	0x15, 0x62, 0x36, 0x26, 0x6b, 0x21, 0x62, 0xdd,
846	0xb4, 0x1a, 0x57, 0x16, 0xfd, 0xa0, 0x9c, 0xfa,
847	0x37, 0xb3, 0xda, 0xe0, 0x46, 0x91, 0xb3, 0x20,
848	0xe7, 0xe2, 0xf3, 0x0e, 0x20, 0x3c, 0x98, 0x1b,
849	0xe4, 0xc2, 0xd3, 0xa9, 0x97, 0xaf, 0x12, 0x69,
850	0x23, 0x97, 0x62, 0x6e, 0xae, 0x54, 0x9c, 0x82,
851	0x92, 0x50, 0x74, 0x07, 0x4a, 0xb1, 0xdc, 0xcf,
852	0x53, 0x1d, 0xc8, 0x29, 0x1f, 0x6e, 0xf1, 0x13,
853	0xec, 0xb6, 0x60, 0xb1, 0x4c, 0x9d, 0xd7, 0x77,
854};
855
856/*
857 * IV method encblkno1, blkno 2.
858 */
859static const uint8_t aes_cbc_192_encblkno1_vec2_ctxt[SECSIZE] = {
860	0x33, 0xfd, 0xfa, 0x44, 0x64, 0x75, 0x22, 0x7e,
861	0xe3, 0xb3, 0xa0, 0x75, 0x99, 0x96, 0xc0, 0xec,
862	0x56, 0x06, 0x7d, 0x19, 0x0b, 0x66, 0x89, 0xe0,
863	0x69, 0x1d, 0x93, 0x91, 0xd7, 0x0f, 0xf8, 0xf5,
864	0x5a, 0x39, 0x30, 0xad, 0x64, 0x42, 0x06, 0xa3,
865	0xce, 0x3f, 0x67, 0xd6, 0x6e, 0xcd, 0x3b, 0xf5,
866	0x03, 0x2b, 0x07, 0x83, 0x18, 0x1a, 0x4f, 0x4c,
867	0xe7, 0x6b, 0xe8, 0xf9, 0x19, 0xa5, 0x23, 0x8f,
868	0x46, 0x35, 0x13, 0x7b, 0x61, 0x05, 0xfc, 0x7d,
869	0x17, 0x39, 0x03, 0xa8, 0xec, 0x7a, 0xd2, 0x5f,
870	0x91, 0xa7, 0x26, 0x07, 0x9d, 0xd7, 0x0c, 0xd7,
871	0xd4, 0x8e, 0x37, 0xf3, 0x1a, 0x3c, 0x04, 0x83,
872	0x04, 0x71, 0x06, 0xa6, 0x5f, 0x82, 0xe0, 0x6d,
873	0x87, 0x5c, 0x7c, 0x03, 0x25, 0x03, 0x4b, 0x24,
874	0x07, 0x40, 0xad, 0xe4, 0x1d, 0x1d, 0xcb, 0x34,
875	0xc2, 0x53, 0x1d, 0x13, 0xc5, 0x87, 0xab, 0xa7,
876	0x95, 0x11, 0x8b, 0xbb, 0xf0, 0xc3, 0x00, 0xeb,
877	0xe5, 0xb0, 0x9e, 0x88, 0x8b, 0xad, 0xca, 0xcb,
878	0x17, 0xf8, 0x92, 0x4d, 0x00, 0xb0, 0x08, 0x74,
879	0x08, 0xb9, 0x8b, 0x95, 0x96, 0xd9, 0x36, 0x35,
880	0x31, 0x92, 0x89, 0xf6, 0x35, 0x33, 0xfb, 0x18,
881	0x5b, 0x84, 0xa1, 0xfe, 0xe1, 0x62, 0x04, 0x6f,
882	0x3c, 0xc1, 0xd2, 0xc2, 0x10, 0xd7, 0x97, 0xba,
883	0x29, 0x7c, 0xe3, 0x85, 0xee, 0x59, 0x90, 0xaf,
884	0x7f, 0x6f, 0x97, 0x97, 0xa2, 0x41, 0x18, 0x7f,
885	0x2f, 0x06, 0x15, 0xb2, 0x46, 0x82, 0x49, 0x39,
886	0xd0, 0xfb, 0xa8, 0x48, 0x44, 0x28, 0x58, 0xff,
887	0xd8, 0xf2, 0x65, 0xf9, 0x4f, 0x2c, 0xbe, 0xec,
888	0xb6, 0xdf, 0x27, 0x1a, 0xf2, 0x05, 0x15, 0x5e,
889	0xe3, 0x2a, 0x98, 0x29, 0x92, 0x4a, 0x1b, 0x5d,
890	0x5c, 0x2c, 0x70, 0xf6, 0x41, 0xd4, 0xbe, 0x64,
891	0xa1, 0xd9, 0x79, 0xf1, 0x11, 0x16, 0xda, 0xa2,
892	0xaf, 0xdd, 0x4d, 0xa8, 0xed, 0xec, 0xbe, 0x7d,
893	0x49, 0x6c, 0x30, 0xf2, 0xf5, 0x36, 0x3c, 0xae,
894	0x4b, 0xa7, 0x77, 0xa3, 0xca, 0x22, 0xa5, 0xe2,
895	0x4d, 0x44, 0xcb, 0x36, 0xd5, 0x3f, 0x20, 0x13,
896	0xb6, 0xfb, 0xcd, 0x79, 0xd7, 0x42, 0xf9, 0x75,
897	0x09, 0x45, 0x28, 0x9e, 0xf2, 0xbd, 0x15, 0x57,
898	0xf8, 0x4b, 0xc0, 0xd3, 0xb3, 0xb8, 0xde, 0x55,
899	0x9e, 0x11, 0x67, 0xab, 0xc5, 0x5d, 0x58, 0xdb,
900	0x4d, 0x20, 0x34, 0x77, 0x33, 0x9c, 0x46, 0x76,
901	0x9b, 0x1e, 0x0e, 0x6b, 0x4e, 0xd9, 0x63, 0x68,
902	0x78, 0x5e, 0x7c, 0x52, 0xa2, 0x64, 0xa9, 0xfc,
903	0x21, 0x35, 0x17, 0x93, 0x18, 0x9e, 0x10, 0xcf,
904	0x95, 0x6b, 0xf0, 0x55, 0x46, 0xc3, 0x4b, 0xfc,
905	0x86, 0x8b, 0x0d, 0x3b, 0x5c, 0x30, 0xcc, 0xf1,
906	0x4c, 0x43, 0xf0, 0xd6, 0xf6, 0x3b, 0x0b, 0x68,
907	0x6f, 0x21, 0xd1, 0x61, 0xda, 0x35, 0x92, 0x94,
908	0xa5, 0x5d, 0x47, 0x39, 0x96, 0x50, 0x5f, 0xbd,
909	0x57, 0x22, 0xd2, 0x65, 0x73, 0x05, 0x8f, 0x2b,
910	0xf2, 0x96, 0x53, 0x6b, 0x8e, 0xd3, 0x1e, 0xe7,
911	0x92, 0xd4, 0xea, 0x41, 0xee, 0x92, 0x4d, 0x10,
912	0x9f, 0x68, 0xd8, 0xe9, 0xac, 0x1f, 0x38, 0x0b,
913	0x12, 0xa4, 0x1c, 0xb2, 0x63, 0x2b, 0x87, 0x07,
914	0xb8, 0x1e, 0x02, 0x2b, 0x4d, 0xad, 0x99, 0xdf,
915	0xe3, 0x98, 0x69, 0x29, 0x11, 0xe3, 0x77, 0x45,
916	0x9a, 0xe9, 0x6c, 0x47, 0x4e, 0xc0, 0x85, 0x15,
917	0x68, 0x58, 0x41, 0x37, 0xab, 0x96, 0x11, 0x94,
918	0x9e, 0xbb, 0xa8, 0x5d, 0x51, 0x05, 0x93, 0xdd,
919	0x2e, 0xb8, 0xdf, 0xcf, 0x83, 0xbc, 0xf6, 0x53,
920	0x95, 0x93, 0x27, 0xda, 0xa5, 0x20, 0x1b, 0x7d,
921	0x1d, 0xd9, 0x0c, 0xde, 0xe5, 0x3f, 0xc8, 0x60,
922	0x16, 0x32, 0x95, 0x24, 0xa7, 0x2b, 0x74, 0xf1,
923	0x67, 0xf9, 0xf2, 0x49, 0xda, 0x12, 0x97, 0xdd,
924};
925
926/*
927 * IV method encblkno1, blkno 3.
928 */
929static const uint8_t aes_cbc_192_encblkno1_vec3_ctxt[SECSIZE] = {
930	0xa5, 0x81, 0x86, 0x78, 0x4a, 0xd7, 0x5b, 0x83,
931	0xcf, 0xbf, 0x7e, 0x3c, 0xd7, 0xcd, 0xaf, 0xfa,
932	0x82, 0x18, 0xce, 0xbd, 0x8b, 0xe6, 0xd9, 0x39,
933	0x22, 0x2d, 0x1e, 0x75, 0x65, 0xee, 0x61, 0xf2,
934	0xc3, 0x8b, 0xf4, 0x40, 0x03, 0x73, 0x8a, 0x21,
935	0x9f, 0xf3, 0xcc, 0x93, 0x08, 0x3d, 0xff, 0x8a,
936	0xbc, 0x0f, 0x19, 0xa1, 0x9f, 0xc8, 0x73, 0xe8,
937	0xa6, 0x14, 0x2e, 0x43, 0x19, 0x79, 0x61, 0x35,
938	0x8d, 0x55, 0x06, 0xeb, 0x96, 0xe7, 0xf5, 0x4b,
939	0x95, 0x5f, 0x9b, 0xb2, 0x18, 0x0d, 0x13, 0xc2,
940	0x96, 0x79, 0x50, 0x78, 0x98, 0x50, 0x88, 0x2b,
941	0xab, 0x05, 0x66, 0xa1, 0x3a, 0x25, 0x85, 0xe2,
942	0xd0, 0xe2, 0xac, 0xb5, 0x26, 0xde, 0x95, 0x04,
943	0x45, 0xe7, 0x22, 0x71, 0x02, 0xb3, 0x84, 0x4c,
944	0xb5, 0xad, 0x64, 0x5c, 0x27, 0x5c, 0x71, 0xcd,
945	0x0b, 0x62, 0x91, 0xd6, 0x84, 0x00, 0x62, 0x52,
946	0x54, 0xbd, 0x22, 0xc8, 0x57, 0xa7, 0x41, 0xac,
947	0xc7, 0xa8, 0x56, 0x6f, 0x1b, 0x7e, 0xce, 0x02,
948	0x29, 0x3b, 0xc0, 0x5d, 0x8e, 0x11, 0xa9, 0x54,
949	0xc2, 0xf2, 0xf0, 0x81, 0x6c, 0x9a, 0x24, 0x5b,
950	0x81, 0x7d, 0xf3, 0x84, 0x93, 0xc6, 0x2a, 0xd4,
951	0xd3, 0x1a, 0x2f, 0x97, 0x2e, 0x31, 0x8a, 0x62,
952	0x43, 0xcb, 0xc7, 0x3d, 0x73, 0x8e, 0xd6, 0x86,
953	0x17, 0x8f, 0x63, 0xd4, 0xb1, 0x50, 0x92, 0xce,
954	0x90, 0x37, 0x91, 0xce, 0x37, 0x13, 0x8e, 0x61,
955	0x21, 0xd8, 0x1a, 0xbf, 0x42, 0x65, 0x1d, 0x86,
956	0x07, 0x04, 0x9b, 0xd1, 0xd3, 0x26, 0x6b, 0x7c,
957	0xa1, 0x77, 0x54, 0x5b, 0x9f, 0x95, 0x62, 0x43,
958	0xb3, 0x71, 0x1e, 0x4c, 0x32, 0xd1, 0x3e, 0xe8,
959	0x60, 0x9c, 0x0c, 0x15, 0x55, 0xf0, 0x38, 0xb7,
960	0x1e, 0x40, 0xe5, 0x26, 0x4e, 0x46, 0x49, 0x47,
961	0x59, 0x3d, 0x49, 0x76, 0x28, 0xd3, 0xed, 0x03,
962	0xdd, 0xf8, 0x1a, 0xf4, 0x1a, 0xfe, 0xe4, 0x03,
963	0xb9, 0xa5, 0x8e, 0x7c, 0x91, 0x7a, 0xb2, 0x17,
964	0x84, 0x97, 0x3f, 0x12, 0x68, 0xaa, 0xf5, 0x73,
965	0xbc, 0x84, 0xdd, 0x03, 0x4a, 0xc4, 0xcd, 0xdb,
966	0xb0, 0x8a, 0x3b, 0xac, 0xf1, 0xdd, 0x10, 0x20,
967	0x69, 0xee, 0x94, 0xcd, 0x60, 0x3f, 0x01, 0xcf,
968	0xf4, 0xff, 0xdb, 0x91, 0x8a, 0xf3, 0xb8, 0x44,
969	0x62, 0xdc, 0xdc, 0xc8, 0x2b, 0xaf, 0x0d, 0x5e,
970	0x1b, 0x58, 0x7f, 0x6b, 0x0d, 0xc4, 0xd4, 0x1c,
971	0x89, 0x29, 0x60, 0x5d, 0xe9, 0x59, 0xbb, 0x19,
972	0x03, 0x7c, 0x25, 0x63, 0xc6, 0x89, 0x6f, 0xe6,
973	0xbe, 0xcd, 0xaa, 0xf2, 0xbf, 0x16, 0xcb, 0x47,
974	0xc6, 0x74, 0xdd, 0x90, 0x41, 0x75, 0x7f, 0x26,
975	0x7b, 0x5a, 0xb9, 0x11, 0xa0, 0xc7, 0x75, 0x60,
976	0xc5, 0x54, 0x7d, 0xb0, 0xb4, 0xd0, 0x95, 0x01,
977	0xff, 0x07, 0x49, 0x56, 0xfb, 0xec, 0xa9, 0x4c,
978	0x68, 0x28, 0x41, 0x81, 0x80, 0x05, 0x88, 0x58,
979	0xf5, 0xdc, 0x42, 0x99, 0xd8, 0xb7, 0x47, 0xd9,
980	0xf7, 0x0e, 0x2c, 0x0f, 0x95, 0x04, 0xb3, 0xc8,
981	0x8a, 0xe2, 0x21, 0x57, 0x8d, 0x64, 0x54, 0x40,
982	0xf6, 0xd0, 0x3c, 0x97, 0xcf, 0x22, 0xce, 0xcd,
983	0xbf, 0x05, 0x15, 0xaa, 0x89, 0xd9, 0x2b, 0x48,
984	0xaf, 0x34, 0xe0, 0xf5, 0xe3, 0x58, 0x06, 0xd7,
985	0x49, 0x00, 0x95, 0x3a, 0xb3, 0xc8, 0xcd, 0x2b,
986	0x3e, 0xe8, 0x1b, 0x60, 0xe8, 0xea, 0xaf, 0x09,
987	0xbb, 0xee, 0xce, 0xbc, 0xa0, 0x9b, 0x17, 0x90,
988	0x42, 0x40, 0x18, 0x35, 0x2e, 0x17, 0xa0, 0x6e,
989	0x43, 0xe7, 0xac, 0x89, 0x96, 0x3c, 0x16, 0xe0,
990	0xdb, 0x09, 0x51, 0x4a, 0x45, 0x33, 0x63, 0xe9,
991	0x4e, 0x3f, 0x32, 0x34, 0x36, 0x43, 0xd5, 0x0c,
992	0x5a, 0x2e, 0x0e, 0x8b, 0x80, 0xb7, 0xf4, 0xe4,
993	0x99, 0x9b, 0x05, 0xf5, 0xb2, 0xe4, 0x03, 0xe4,
994};
995
996const struct testvec aes_cbc_192_1_vectors[] = {
997	{
998		.blkno = 0,
999		.ptxt = aes_cbc_ptxt,
1000		.ctxt = aes_cbc_192_encblkno1_vec0_ctxt,
1001	},
1002	{
1003		.blkno = 1,
1004		.ptxt = aes_cbc_ptxt,
1005		.ctxt = aes_cbc_192_encblkno1_vec1_ctxt,
1006	},
1007	{
1008		.blkno = 2,
1009		.ptxt = aes_cbc_ptxt,
1010		.ctxt = aes_cbc_192_encblkno1_vec2_ctxt,
1011	},
1012	{
1013		.blkno = 3,
1014		.ptxt = aes_cbc_ptxt,
1015		.ctxt = aes_cbc_192_encblkno1_vec3_ctxt,
1016	},
1017};
1018
1019/*
1020 * IV method encblkno8, blkno 0.
1021 */
1022static const uint8_t aes_cbc_192_encblkno8_vec0_ctxt[SECSIZE] = {
1023	0x87, 0x9c, 0x05, 0xd6, 0x25, 0xb9, 0xe0, 0xbe,
1024	0x78, 0x21, 0x85, 0x81, 0x8e, 0x2f, 0x13, 0x5e,
1025	0xf2, 0x73, 0x11, 0xfa, 0x73, 0x77, 0x93, 0x5e,
1026	0x71, 0x16, 0x98, 0x68, 0x6f, 0xe8, 0x22, 0x34,
1027	0xf5, 0x11, 0xfa, 0x61, 0xe6, 0x1a, 0xfb, 0x42,
1028	0xa7, 0xa3, 0x2e, 0x0d, 0xc1, 0x9d, 0x7d, 0xd9,
1029	0xfb, 0xbb, 0xc5, 0x08, 0x9d, 0xc2, 0xab, 0x5c,
1030	0xdf, 0x9b, 0x3c, 0x1a, 0xbd, 0x66, 0x5a, 0x91,
1031	0x1c, 0x00, 0x59, 0x2e, 0x92, 0xe9, 0x23, 0xf6,
1032	0x90, 0x3d, 0x5b, 0x72, 0x76, 0x78, 0xd9, 0xa2,
1033	0x48, 0x33, 0x29, 0xe2, 0xfd, 0x77, 0x14, 0xda,
1034	0x01, 0x92, 0x63, 0xdd, 0x8c, 0x1c, 0x2e, 0xf7,
1035	0x61, 0xfb, 0xc5, 0x76, 0xec, 0x7f, 0xef, 0xdc,
1036	0xbe, 0x2d, 0x3b, 0x69, 0x30, 0xb9, 0x08, 0x00,
1037	0xe8, 0x37, 0x09, 0xaa, 0x2a, 0x02, 0x80, 0x11,
1038	0x91, 0x16, 0x94, 0x7d, 0xb5, 0xdc, 0x9f, 0xb3,
1039	0xb0, 0x26, 0x72, 0x85, 0x93, 0x85, 0x19, 0x08,
1040	0x97, 0xef, 0x97, 0x57, 0xa8, 0x76, 0x0e, 0x85,
1041	0xb1, 0x1d, 0x79, 0xe3, 0x7a, 0xe8, 0x06, 0x3b,
1042	0xc4, 0x00, 0xbd, 0xaa, 0xd9, 0x17, 0x81, 0x37,
1043	0x12, 0x86, 0x52, 0xea, 0x04, 0xb2, 0x11, 0x0f,
1044	0x5a, 0x08, 0x68, 0xcb, 0x48, 0xca, 0x2f, 0xda,
1045	0xa3, 0x0a, 0x60, 0x57, 0xc7, 0x80, 0x36, 0x60,
1046	0x05, 0xce, 0xd5, 0x43, 0xc9, 0xbc, 0x6c, 0xe6,
1047	0x63, 0x38, 0x2e, 0x81, 0x90, 0x34, 0x11, 0x2c,
1048	0x84, 0x0c, 0x62, 0x68, 0xde, 0x17, 0x57, 0x43,
1049	0x19, 0xa5, 0x92, 0x9d, 0x91, 0x2b, 0xa2, 0x95,
1050	0x7c, 0x20, 0x72, 0xaa, 0x83, 0x24, 0x54, 0x94,
1051	0x10, 0x80, 0xd4, 0x3f, 0x58, 0xb9, 0x7b, 0x74,
1052	0x68, 0xd5, 0xfb, 0x3e, 0xdd, 0xb4, 0xdf, 0x65,
1053	0x72, 0x88, 0x45, 0x8a, 0xd0, 0x93, 0x6e, 0x99,
1054	0x84, 0xad, 0x39, 0x73, 0x16, 0x88, 0xdc, 0x89,
1055	0x33, 0x34, 0xd7, 0xd8, 0x97, 0xfb, 0x90, 0xd2,
1056	0xc5, 0x8e, 0x94, 0xc4, 0xf1, 0xfe, 0xbe, 0x23,
1057	0xf1, 0x3a, 0x10, 0x1c, 0x42, 0x6b, 0xf5, 0xee,
1058	0xe4, 0x78, 0x8a, 0x7e, 0x13, 0x02, 0x25, 0xcb,
1059	0xd1, 0x61, 0x1f, 0xab, 0x45, 0x1f, 0x90, 0x88,
1060	0x0f, 0x6b, 0xff, 0x61, 0xba, 0xf3, 0xac, 0x8e,
1061	0x13, 0xc2, 0xfb, 0xca, 0x41, 0xed, 0xfe, 0x6c,
1062	0xcb, 0xdf, 0x97, 0x60, 0x29, 0x8a, 0x72, 0x8d,
1063	0x7d, 0xad, 0x6e, 0xe9, 0x7b, 0xc4, 0x92, 0x14,
1064	0x5e, 0x33, 0x27, 0xe2, 0xda, 0x2f, 0x95, 0x5f,
1065	0x40, 0x27, 0xeb, 0xdb, 0x0d, 0x1e, 0xc5, 0xd4,
1066	0x43, 0x50, 0x1a, 0x62, 0x82, 0xbe, 0x24, 0x7f,
1067	0xb7, 0x46, 0xa8, 0x70, 0x10, 0x33, 0xb6, 0x3f,
1068	0xbf, 0xa8, 0xa8, 0x85, 0xab, 0x1d, 0xb4, 0x3f,
1069	0x84, 0x06, 0x91, 0xd6, 0x18, 0x3d, 0xeb, 0x8b,
1070	0x3f, 0x9b, 0x37, 0x9e, 0x2e, 0xd2, 0xec, 0xe5,
1071	0x2d, 0xf0, 0x3f, 0x45, 0xd5, 0x9d, 0xb9, 0x28,
1072	0x89, 0xe4, 0x0c, 0xa9, 0x38, 0xca, 0x22, 0x56,
1073	0x53, 0xdf, 0x49, 0xba, 0x5d, 0x99, 0xd6, 0x4b,
1074	0x1d, 0x0d, 0x6d, 0xee, 0x7c, 0xf2, 0x6f, 0x50,
1075	0x04, 0xf1, 0xf8, 0x49, 0xd1, 0x2f, 0x50, 0x3e,
1076	0xf1, 0x08, 0x49, 0x17, 0x08, 0xd2, 0xac, 0x5d,
1077	0x58, 0xe7, 0x27, 0xe6, 0x59, 0x02, 0x9f, 0x1c,
1078	0x40, 0xff, 0x6c, 0x67, 0xae, 0x49, 0x1a, 0x2a,
1079	0xab, 0xd9, 0x63, 0x25, 0x2d, 0x9b, 0xd8, 0x1a,
1080	0x41, 0xa6, 0xea, 0x72, 0xfd, 0x56, 0xa1, 0x57,
1081	0x59, 0xdd, 0xf5, 0xa3, 0xb2, 0x2f, 0x64, 0xb1,
1082	0xc5, 0xfe, 0x8d, 0x9b, 0x93, 0xd1, 0x51, 0x77,
1083	0x13, 0x50, 0x74, 0x30, 0x28, 0xe4, 0x7a, 0x06,
1084	0x69, 0xd4, 0xa8, 0x0a, 0xae, 0x02, 0x4a, 0x61,
1085	0x24, 0xc2, 0xcd, 0xc8, 0xd3, 0x12, 0x2e, 0xac,
1086	0x9a, 0x0c, 0x24, 0x06, 0xb8, 0x1e, 0x3d, 0x29,
1087};
1088
1089/*
1090 * IV method encblkno8, blkno 1.
1091 */
1092static const uint8_t aes_cbc_192_encblkno8_vec1_ctxt[SECSIZE] = {
1093	0x1e, 0x3b, 0x66, 0x76, 0xd9, 0x9e, 0xf7, 0x82,
1094	0x17, 0x76, 0x69, 0x4d, 0x64, 0x63, 0xf1, 0x01,
1095	0x81, 0x8a, 0xa4, 0x97, 0x05, 0x42, 0xdb, 0x8c,
1096	0x27, 0xc8, 0xfd, 0x08, 0x21, 0x17, 0x87, 0xa9,
1097	0x0c, 0x86, 0x2d, 0xda, 0x17, 0xd5, 0x5d, 0x67,
1098	0x12, 0x93, 0x8d, 0x34, 0x5a, 0xfc, 0x2a, 0x49,
1099	0x1a, 0x1a, 0x77, 0x20, 0xfb, 0x1d, 0x5d, 0xd8,
1100	0x99, 0xb0, 0x8f, 0x1c, 0x13, 0x4d, 0x28, 0x6d,
1101	0x2d, 0x79, 0xa9, 0x8e, 0x04, 0x0c, 0x5a, 0xd5,
1102	0x52, 0x09, 0x15, 0x4a, 0xfb, 0x7a, 0xf8, 0xdc,
1103	0x3b, 0x77, 0xaf, 0xe0, 0x80, 0x6b, 0xac, 0x5f,
1104	0xc0, 0x0f, 0x0f, 0x29, 0xf5, 0xcc, 0xbc, 0x85,
1105	0x77, 0xe7, 0x9f, 0x59, 0x23, 0x83, 0x67, 0x74,
1106	0x3b, 0x1c, 0x0f, 0x75, 0xd8, 0x58, 0xa2, 0xce,
1107	0x8c, 0x3a, 0x80, 0xd7, 0xff, 0xa1, 0x83, 0xa3,
1108	0xe0, 0xad, 0x18, 0x7a, 0xc5, 0x28, 0x28, 0x71,
1109	0x46, 0xb5, 0x13, 0x76, 0x4d, 0x67, 0x37, 0x38,
1110	0x3f, 0x9e, 0xa6, 0x8b, 0xc2, 0xaf, 0x83, 0x7d,
1111	0x8b, 0x82, 0xd0, 0xe2, 0xec, 0x13, 0xce, 0x2b,
1112	0x1e, 0x13, 0xe7, 0xb6, 0xfa, 0x9e, 0xa2, 0x32,
1113	0xb7, 0xdc, 0xe5, 0xb5, 0x35, 0xa3, 0xb4, 0x84,
1114	0x57, 0x05, 0x2d, 0x3e, 0xb0, 0x0a, 0x52, 0x61,
1115	0x00, 0xe4, 0x84, 0xab, 0xf4, 0x98, 0xe4, 0xe6,
1116	0xcd, 0xb1, 0xd4, 0x40, 0x31, 0x5f, 0x8f, 0x73,
1117	0x16, 0x6e, 0xc0, 0x3d, 0x07, 0x5d, 0x6b, 0x91,
1118	0x70, 0x71, 0x8a, 0x4b, 0xfe, 0xeb, 0xbe, 0x04,
1119	0x5d, 0x75, 0x0a, 0x74, 0x52, 0x1e, 0xd3, 0x94,
1120	0xc5, 0xcd, 0xc1, 0xd6, 0x12, 0x6a, 0x58, 0x52,
1121	0x6e, 0x45, 0x1f, 0x49, 0x09, 0x4c, 0x32, 0xf3,
1122	0x3d, 0x3d, 0x73, 0x15, 0xa3, 0xa5, 0x2f, 0xf2,
1123	0x02, 0x10, 0x1e, 0xaf, 0xf5, 0xb4, 0x78, 0x48,
1124	0x8a, 0x6c, 0x58, 0x71, 0x77, 0x91, 0x95, 0x57,
1125	0x79, 0xbf, 0x1f, 0x3e, 0xb3, 0xf8, 0xc4, 0x33,
1126	0x07, 0x5d, 0x96, 0x41, 0x76, 0xb1, 0xe1, 0xe0,
1127	0xa9, 0x97, 0x14, 0x99, 0x1d, 0xaa, 0x91, 0xbb,
1128	0xdf, 0x89, 0xf1, 0x0d, 0xd0, 0x52, 0xf9, 0xa7,
1129	0x4c, 0x82, 0xc0, 0xeb, 0xb7, 0xaf, 0x7b, 0x4b,
1130	0x5a, 0x2a, 0x7a, 0x4e, 0xb2, 0x69, 0x87, 0x28,
1131	0x84, 0xf7, 0x76, 0x56, 0xee, 0xf8, 0x37, 0x35,
1132	0xc9, 0xbc, 0x08, 0x8b, 0xfe, 0x1e, 0x54, 0xb3,
1133	0x01, 0xa7, 0x0f, 0x20, 0x70, 0xac, 0xa6, 0x6b,
1134	0x9f, 0x98, 0xfe, 0xdb, 0x3e, 0x4f, 0x9f, 0xfc,
1135	0x95, 0x37, 0xf4, 0x90, 0x61, 0x62, 0x60, 0xeb,
1136	0x7a, 0x4a, 0x56, 0xae, 0x49, 0xcc, 0x92, 0xff,
1137	0xd3, 0x06, 0xc6, 0x62, 0x4c, 0x05, 0x28, 0xa7,
1138	0x3f, 0xe9, 0xee, 0x70, 0x6f, 0xd2, 0x80, 0x41,
1139	0x4d, 0xa0, 0xbc, 0x00, 0xaf, 0x30, 0xe4, 0x34,
1140	0x61, 0xda, 0xb4, 0xff, 0x2a, 0x85, 0x8b, 0x1a,
1141	0xbf, 0xb5, 0xe4, 0x7f, 0x27, 0xee, 0xf3, 0x25,
1142	0xe6, 0x52, 0x2a, 0x83, 0xbe, 0xe4, 0x64, 0xc3,
1143	0x67, 0x0c, 0x9e, 0x0f, 0xba, 0xb4, 0x67, 0xd1,
1144	0x1b, 0x4a, 0xb0, 0xb2, 0xb4, 0xf2, 0x8a, 0x1b,
1145	0x21, 0x34, 0x3c, 0x97, 0x5a, 0xdb, 0x92, 0x8b,
1146	0x2d, 0xe9, 0x94, 0x4e, 0x11, 0xfb, 0xd4, 0x2e,
1147	0xc2, 0xed, 0xf9, 0x75, 0xfd, 0x1a, 0xef, 0x3b,
1148	0x98, 0x5d, 0xa9, 0x75, 0xd5, 0x14, 0x0a, 0xe3,
1149	0xda, 0x07, 0xa6, 0x20, 0x7b, 0x49, 0x47, 0x87,
1150	0xff, 0xf0, 0xe8, 0x7e, 0xcf, 0xc4, 0x2c, 0x02,
1151	0xdd, 0x53, 0xe9, 0x79, 0xc7, 0x6d, 0x16, 0x9f,
1152	0x2b, 0xd7, 0x1a, 0x36, 0x25, 0x5c, 0xba, 0x5c,
1153	0xdb, 0x44, 0x88, 0x99, 0x32, 0x2e, 0xb6, 0x3f,
1154	0xb4, 0xdd, 0x15, 0xeb, 0xec, 0x2a, 0x9e, 0xc5,
1155	0x37, 0x30, 0x2a, 0xd5, 0xc4, 0x2a, 0x9b, 0x40,
1156	0x97, 0x83, 0x94, 0xe7, 0x79, 0x79, 0x63, 0x4b,
1157};
1158
1159/*
1160 * IV method encblkno8, blkno 2.
1161 */
1162static const uint8_t aes_cbc_192_encblkno8_vec2_ctxt[SECSIZE] = {
1163	0x34, 0x07, 0x20, 0x14, 0x64, 0x0b, 0xa2, 0x2c,
1164	0xed, 0xba, 0x46, 0x24, 0xa0, 0xe6, 0x99, 0x8a,
1165	0x20, 0x75, 0x5f, 0x9f, 0x2a, 0x10, 0xa6, 0x1c,
1166	0x52, 0x60, 0x18, 0x67, 0xd6, 0x0d, 0x90, 0x4e,
1167	0xbc, 0x25, 0x5f, 0x81, 0xb4, 0x10, 0xdb, 0xd9,
1168	0xaf, 0x36, 0x84, 0x5c, 0x20, 0x25, 0x25, 0xbf,
1169	0x0d, 0xfa, 0xc5, 0x75, 0x2b, 0xec, 0xf2, 0xa6,
1170	0x69, 0x5c, 0xfe, 0xee, 0x21, 0xd8, 0x87, 0xdf,
1171	0xe3, 0x83, 0xeb, 0xb3, 0x3f, 0x5b, 0xda, 0x37,
1172	0x11, 0x05, 0xf7, 0xd8, 0xe0, 0x94, 0x08, 0x2b,
1173	0x75, 0x6b, 0xf3, 0x40, 0x53, 0x85, 0xde, 0x7a,
1174	0x64, 0xb1, 0x0e, 0x5f, 0x01, 0xb5, 0xfb, 0x74,
1175	0x48, 0x9a, 0xd4, 0x41, 0x33, 0x70, 0x9b, 0x08,
1176	0x7e, 0x34, 0x60, 0xfc, 0xfa, 0xe6, 0x2c, 0xec,
1177	0x0e, 0xb7, 0x1a, 0xf1, 0x49, 0x48, 0x0c, 0xd4,
1178	0xd7, 0xbc, 0x60, 0x28, 0xdb, 0x57, 0xa4, 0x29,
1179	0x55, 0x2d, 0x92, 0xa6, 0xca, 0x9a, 0xaf, 0x4d,
1180	0x7f, 0xb8, 0x29, 0x9f, 0x50, 0x98, 0x21, 0x94,
1181	0x7a, 0x94, 0x44, 0x3d, 0xd1, 0xcf, 0xf4, 0x6f,
1182	0xad, 0xb4, 0x58, 0x66, 0x74, 0x01, 0x2c, 0x5b,
1183	0x8f, 0x1b, 0xa6, 0x09, 0xd0, 0x3f, 0x79, 0xc9,
1184	0x4f, 0x3b, 0x37, 0x0d, 0xb8, 0x07, 0xb0, 0x61,
1185	0xbc, 0x5a, 0x40, 0x3a, 0x10, 0x3c, 0x12, 0xe6,
1186	0x04, 0xc7, 0xd1, 0xe1, 0x18, 0x6f, 0xde, 0x72,
1187	0xf5, 0xcf, 0x24, 0x58, 0x76, 0xe1, 0xcd, 0x62,
1188	0x90, 0xc3, 0x16, 0xcc, 0x3f, 0xda, 0xd6, 0x6b,
1189	0x6a, 0xcc, 0x61, 0x76, 0xc1, 0xaf, 0xdc, 0x53,
1190	0xef, 0x06, 0x23, 0x22, 0x93, 0x11, 0x59, 0xf5,
1191	0x7f, 0x46, 0xac, 0xb8, 0x6c, 0x3b, 0x36, 0x69,
1192	0xc5, 0x14, 0x0a, 0x51, 0xa1, 0x5f, 0xb9, 0xc7,
1193	0x37, 0xe3, 0xd9, 0xaf, 0x8c, 0xe9, 0x49, 0xd4,
1194	0xf9, 0xf9, 0x5e, 0x1f, 0x5f, 0x7c, 0x07, 0xb5,
1195	0x1c, 0x9e, 0xbd, 0x10, 0x75, 0xc3, 0x93, 0x48,
1196	0xdc, 0x32, 0xe7, 0x55, 0x90, 0x48, 0x42, 0xc0,
1197	0x73, 0x20, 0x40, 0x17, 0xbb, 0x71, 0x30, 0xfe,
1198	0xd1, 0x84, 0xe9, 0x7d, 0x92, 0xd4, 0xff, 0xbe,
1199	0x3e, 0xd9, 0x41, 0xfb, 0x41, 0x43, 0x2b, 0x9f,
1200	0x04, 0x7b, 0xe7, 0x81, 0xbb, 0x2a, 0xd6, 0x7b,
1201	0x96, 0x72, 0x29, 0x30, 0x52, 0x5c, 0xea, 0xcc,
1202	0x4c, 0x77, 0xed, 0x5a, 0xd9, 0xab, 0x51, 0x90,
1203	0x21, 0x3b, 0x5b, 0x26, 0xeb, 0x14, 0xd5, 0xea,
1204	0x01, 0xb0, 0x7c, 0xbd, 0xa6, 0x3d, 0x7f, 0x42,
1205	0xd7, 0x7e, 0xf1, 0x6c, 0x71, 0x7d, 0xc0, 0x25,
1206	0x61, 0xe9, 0x66, 0xe1, 0xf2, 0x67, 0x99, 0xa1,
1207	0xe7, 0x3a, 0x6f, 0x88, 0x1e, 0x8b, 0x76, 0xed,
1208	0x50, 0x2c, 0x4e, 0xac, 0x73, 0xd7, 0xf2, 0x85,
1209	0x8f, 0xcc, 0xb1, 0x4f, 0x6c, 0x9a, 0xf7, 0x45,
1210	0x28, 0x4f, 0xfc, 0x3f, 0xf1, 0x80, 0xc3, 0xf3,
1211	0xce, 0x5e, 0xfc, 0x56, 0xd9, 0x45, 0xdd, 0x81,
1212	0xe3, 0x48, 0x22, 0xc9, 0xb8, 0x13, 0xc1, 0x48,
1213	0x6c, 0x95, 0x97, 0xc0, 0x91, 0x37, 0xf5, 0x8a,
1214	0x11, 0x3b, 0xab, 0xce, 0x7a, 0xb0, 0xb4, 0x4c,
1215	0xba, 0xc0, 0x91, 0x7f, 0x3c, 0x27, 0xe9, 0xc0,
1216	0x58, 0x92, 0x70, 0x67, 0xf4, 0x80, 0x40, 0x92,
1217	0x51, 0x80, 0x8e, 0x9d, 0x2d, 0x87, 0x89, 0x8e,
1218	0xe7, 0xd1, 0xb5, 0xc5, 0x4f, 0xd0, 0x86, 0x31,
1219	0x7f, 0x90, 0x77, 0x05, 0x35, 0xfe, 0xa7, 0xcb,
1220	0x9d, 0x94, 0xf3, 0xf8, 0xbb, 0x4f, 0xe1, 0xb3,
1221	0x48, 0x57, 0xbf, 0xd1, 0x77, 0xe8, 0x72, 0x31,
1222	0x4d, 0x2f, 0xe8, 0xa0, 0xf4, 0x7c, 0x25, 0x9c,
1223	0xcd, 0xa5, 0x7e, 0xd3, 0x30, 0xda, 0x46, 0xf5,
1224	0x48, 0x9e, 0x39, 0x34, 0x94, 0xd6, 0x24, 0x10,
1225	0xfc, 0x74, 0x2b, 0x6d, 0xcc, 0x00, 0x76, 0x3e,
1226	0x3b, 0x85, 0xfa, 0xef, 0x87, 0x70, 0x53, 0x4e,
1227};
1228
1229/*
1230 * IV method encblkno8, blkno 3.
1231 */
1232static const uint8_t aes_cbc_192_encblkno8_vec3_ctxt[SECSIZE] = {
1233	0xfe, 0xad, 0xf3, 0x4a, 0x9d, 0x64, 0x4e, 0x5d,
1234	0xaf, 0xa8, 0x44, 0x7e, 0xc9, 0x75, 0xe8, 0xd0,
1235	0x87, 0x73, 0x66, 0x4c, 0x77, 0x00, 0xfb, 0x7b,
1236	0x04, 0xe7, 0xd8, 0x82, 0x75, 0xe3, 0xa5, 0xbc,
1237	0xf3, 0x80, 0xae, 0x7c, 0xc9, 0x75, 0x9a, 0xc1,
1238	0x73, 0x49, 0x69, 0xf6, 0xa0, 0x49, 0x6e, 0x77,
1239	0x5f, 0x9b, 0x95, 0x9b, 0x9f, 0x41, 0x54, 0x57,
1240	0x0e, 0x3c, 0xe5, 0x2c, 0xbb, 0xbf, 0xd5, 0x76,
1241	0xf6, 0xb6, 0x05, 0xaa, 0x20, 0x5b, 0xdb, 0xcb,
1242	0x81, 0xad, 0x0c, 0x8a, 0x68, 0x94, 0x7d, 0x88,
1243	0xdc, 0x15, 0x6c, 0x89, 0x97, 0x53, 0x30, 0x96,
1244	0x4a, 0x54, 0xf9, 0x88, 0x00, 0xf7, 0x3b, 0x99,
1245	0xfc, 0x82, 0xe3, 0x48, 0xd2, 0x16, 0x2b, 0xba,
1246	0xd4, 0xba, 0x24, 0xd0, 0xd1, 0xb0, 0x8e, 0xcd,
1247	0x77, 0xdc, 0x01, 0xdf, 0xb2, 0x20, 0xc5, 0xa7,
1248	0x48, 0x2a, 0xcf, 0x56, 0xc8, 0x63, 0x6e, 0xc9,
1249	0xa8, 0xa4, 0xc2, 0x9c, 0x66, 0x25, 0x50, 0x77,
1250	0x08, 0x51, 0x92, 0xce, 0x3c, 0xaf, 0xff, 0xee,
1251	0x3e, 0x6d, 0x61, 0x37, 0xcd, 0x85, 0x67, 0x9c,
1252	0xe0, 0x7e, 0xa6, 0x17, 0x7b, 0x5f, 0x6a, 0xe2,
1253	0x4e, 0x76, 0xca, 0x95, 0x88, 0xdf, 0xad, 0x78,
1254	0x91, 0xfa, 0x9e, 0x71, 0x3e, 0xfd, 0x10, 0x78,
1255	0x32, 0x2b, 0x75, 0xbc, 0x3a, 0x06, 0x55, 0x8b,
1256	0x9b, 0xfb, 0x9c, 0x4b, 0xa1, 0x7d, 0x35, 0x3d,
1257	0x63, 0x80, 0x30, 0x61, 0xe0, 0x2d, 0x8a, 0x28,
1258	0xb4, 0x2d, 0x48, 0x9d, 0x27, 0x1a, 0x28, 0x86,
1259	0xfc, 0xfa, 0x93, 0xcf, 0x3e, 0x9c, 0x41, 0xc8,
1260	0xc5, 0x5e, 0x88, 0x22, 0xb8, 0xaf, 0x1d, 0x92,
1261	0xc5, 0x91, 0x1b, 0x1e, 0x95, 0x62, 0xbb, 0x80,
1262	0x0c, 0xae, 0x2a, 0xb3, 0x55, 0x77, 0x86, 0x39,
1263	0xa6, 0xed, 0xc1, 0xd2, 0xc4, 0x95, 0x7e, 0xd4,
1264	0xbe, 0xf3, 0x1b, 0xbc, 0x5e, 0x92, 0x0d, 0x9c,
1265	0x38, 0xb1, 0xb9, 0xd3, 0xf6, 0x3f, 0x97, 0xf9,
1266	0x48, 0x08, 0x2b, 0xa6, 0x98, 0x50, 0xc9, 0x84,
1267	0xec, 0x54, 0xe0, 0x1a, 0x65, 0x76, 0xf2, 0xbe,
1268	0x62, 0xb9, 0x40, 0x3a, 0xb1, 0xef, 0xa0, 0x51,
1269	0xab, 0x3a, 0xfa, 0xaf, 0x33, 0x32, 0xa5, 0x0c,
1270	0xc7, 0x9a, 0x9c, 0x5c, 0xa7, 0x8e, 0xc6, 0x4e,
1271	0x61, 0xe3, 0x83, 0xa1, 0xd4, 0x2c, 0xb2, 0x2c,
1272	0x46, 0x5a, 0xbf, 0x96, 0xeb, 0xda, 0x45, 0x2d,
1273	0x25, 0x37, 0x69, 0x1a, 0x6b, 0xd6, 0xbc, 0xe1,
1274	0x28, 0x65, 0xf9, 0xfc, 0xa7, 0xda, 0xf8, 0x79,
1275	0x87, 0x18, 0x99, 0x01, 0x74, 0x5a, 0x42, 0x79,
1276	0x8e, 0xe4, 0x23, 0x1a, 0x6c, 0xda, 0x93, 0x0f,
1277	0x19, 0xf0, 0xff, 0x0e, 0x25, 0x45, 0x1e, 0xbb,
1278	0x17, 0xca, 0x87, 0x6a, 0x9e, 0xd0, 0xd3, 0xd5,
1279	0x22, 0x5f, 0xce, 0x92, 0xeb, 0x82, 0x8e, 0x3e,
1280	0x4e, 0x99, 0x44, 0xa2, 0x9e, 0x78, 0x53, 0x89,
1281	0x4e, 0x45, 0x51, 0x41, 0x28, 0x91, 0xdb, 0x7e,
1282	0x8f, 0xac, 0xc2, 0xee, 0x09, 0xcb, 0xed, 0x04,
1283	0x7b, 0x37, 0xa1, 0x1d, 0x9c, 0x90, 0x19, 0xb1,
1284	0xdd, 0xc3, 0x22, 0xc8, 0x70, 0x07, 0x26, 0xce,
1285	0x4a, 0xc4, 0xde, 0xee, 0x87, 0xf3, 0x62, 0x69,
1286	0xed, 0xb2, 0x2d, 0x10, 0xc4, 0xfa, 0x86, 0x2e,
1287	0xd1, 0xb8, 0x58, 0xa3, 0xa4, 0x0b, 0x30, 0x87,
1288	0x23, 0x62, 0xed, 0xf3, 0x7b, 0x80, 0x7e, 0x4f,
1289	0xc2, 0xb3, 0xe8, 0xba, 0x25, 0x3e, 0xd3, 0x12,
1290	0x7e, 0x27, 0xd5, 0x72, 0x3b, 0x02, 0xf4, 0xfd,
1291	0x2f, 0x8b, 0xc2, 0x5f, 0x44, 0x40, 0x31, 0x88,
1292	0x73, 0x81, 0xa3, 0xcc, 0xc4, 0x78, 0x2b, 0xfc,
1293	0x41, 0x2e, 0xb2, 0xd0, 0xb4, 0x00, 0x29, 0xc1,
1294	0x46, 0xdf, 0xc1, 0xbd, 0x15, 0x59, 0xa3, 0x6a,
1295	0xc8, 0x2f, 0x29, 0x28, 0x12, 0x9b, 0x1e, 0xea,
1296	0x4e, 0xa9, 0x80, 0xa1, 0xb8, 0x89, 0x21, 0x3b,
1297};
1298
1299const struct testvec aes_cbc_192_8_vectors[] = {
1300	{
1301		.blkno = 0,
1302		.ptxt = aes_cbc_ptxt,
1303		.ctxt = aes_cbc_192_encblkno8_vec0_ctxt,
1304	},
1305	{
1306		.blkno = 1,
1307		.ptxt = aes_cbc_ptxt,
1308		.ctxt = aes_cbc_192_encblkno8_vec1_ctxt,
1309	},
1310	{
1311		.blkno = 2,
1312		.ptxt = aes_cbc_ptxt,
1313		.ctxt = aes_cbc_192_encblkno8_vec2_ctxt,
1314	},
1315	{
1316		.blkno = 3,
1317		.ptxt = aes_cbc_ptxt,
1318		.ctxt = aes_cbc_192_encblkno8_vec3_ctxt,
1319	},
1320};
1321
1322/*
1323 * IV method encblkno1, blkno 0.
1324 */
1325static const uint8_t aes_cbc_256_encblkno1_vec0_ctxt[SECSIZE] = {
1326	0x1a, 0xa4, 0xe3, 0x09, 0x23, 0x2e, 0x91, 0x1b,
1327	0xa8, 0x3e, 0xda, 0x92, 0xb3, 0x22, 0xd2, 0xe8,
1328	0x8b, 0xed, 0x6c, 0xa7, 0x78, 0xe6, 0x32, 0x25,
1329	0xc4, 0x88, 0xd5, 0xb7, 0x6e, 0xef, 0xbf, 0x37,
1330	0x00, 0xd9, 0xb2, 0x55, 0x10, 0x4f, 0x7d, 0x84,
1331	0x3a, 0xae, 0xd2, 0xc6, 0x48, 0xdd, 0x3c, 0xd5,
1332	0x9b, 0xa7, 0xf8, 0xc2, 0xda, 0x6d, 0x14, 0xa2,
1333	0xdc, 0x54, 0x12, 0x8f, 0x1c, 0x22, 0x98, 0x6a,
1334	0xc0, 0x5f, 0x47, 0xa7, 0x78, 0xec, 0x79, 0x5d,
1335	0x04, 0xed, 0x5e, 0x20, 0x33, 0x53, 0x66, 0x40,
1336	0x83, 0x94, 0x5b, 0x34, 0x05, 0x25, 0x2e, 0x17,
1337	0xba, 0x23, 0x60, 0xb1, 0xd0, 0x27, 0xf0, 0x24,
1338	0xd2, 0x0b, 0xd3, 0xea, 0xa7, 0x13, 0x1e, 0xf9,
1339	0x56, 0xe1, 0xd4, 0xa2, 0x89, 0x5a, 0xaa, 0x42,
1340	0xa9, 0xd7, 0x85, 0x64, 0x9e, 0x44, 0x71, 0xa2,
1341	0xf9, 0xc3, 0xf4, 0x81, 0xbd, 0xa0, 0x40, 0xed,
1342	0x33, 0xeb, 0x09, 0x0f, 0x7f, 0x78, 0xe4, 0xd5,
1343	0x7b, 0x61, 0x42, 0xee, 0x65, 0x25, 0xcc, 0xba,
1344	0xc6, 0x99, 0x29, 0x25, 0x71, 0x9a, 0xf0, 0x0e,
1345	0x98, 0x3f, 0x12, 0xf2, 0xf9, 0x4d, 0x00, 0x3c,
1346	0xbe, 0x9f, 0x2b, 0x83, 0x1e, 0x5b, 0xab, 0x80,
1347	0x4c, 0x81, 0x82, 0x29, 0xbb, 0xeb, 0xc0, 0x89,
1348	0x07, 0x43, 0xdd, 0x69, 0xd3, 0x02, 0x6c, 0x1c,
1349	0x4b, 0xab, 0x44, 0x42, 0x6c, 0x25, 0xfc, 0xf5,
1350	0x73, 0xaa, 0x60, 0x48, 0xbc, 0xd2, 0x1c, 0x77,
1351	0x8b, 0x64, 0x3e, 0x5f, 0x24, 0xae, 0x14, 0x65,
1352	0xea, 0x18, 0xb1, 0xab, 0xbc, 0x3d, 0xa3, 0xb9,
1353	0xfc, 0xcc, 0x0f, 0x8d, 0x8e, 0x13, 0x0f, 0x4d,
1354	0x4e, 0xeb, 0x90, 0x9b, 0x1e, 0xbf, 0x2a, 0xc7,
1355	0xac, 0x5b, 0x11, 0xeb, 0x67, 0xf2, 0x9d, 0xef,
1356	0xf3, 0x66, 0x9e, 0x81, 0x9f, 0x24, 0x4d, 0xcd,
1357	0x4f, 0x31, 0xce, 0xc9, 0xa4, 0x2c, 0xd7, 0x58,
1358	0x7c, 0x2e, 0x88, 0xa2, 0xec, 0x4c, 0x02, 0x29,
1359	0x00, 0xbd, 0x14, 0x0f, 0xaa, 0xd8, 0xc3, 0x02,
1360	0x64, 0xdc, 0xa0, 0x15, 0xc8, 0xf6, 0x17, 0x8b,
1361	0x9c, 0xb3, 0xf2, 0x27, 0xc1, 0x3f, 0x60, 0x94,
1362	0x33, 0x10, 0x89, 0x49, 0x5f, 0xd2, 0x0e, 0xfe,
1363	0x9e, 0x99, 0x68, 0x95, 0xe4, 0x12, 0xfc, 0xe3,
1364	0x7f, 0xc4, 0xb1, 0x88, 0x4f, 0x66, 0xcd, 0x24,
1365	0x89, 0x09, 0xbb, 0x01, 0xf6, 0x9a, 0xe4, 0x41,
1366	0xee, 0x83, 0xd2, 0x28, 0xf5, 0x28, 0x49, 0x13,
1367	0x78, 0xfb, 0xb2, 0x0d, 0x5c, 0x97, 0xf4, 0x9c,
1368	0xe0, 0xdf, 0xef, 0x84, 0x36, 0x7d, 0xe5, 0x45,
1369	0xe0, 0xf8, 0xce, 0x82, 0x39, 0xc4, 0x54, 0x69,
1370	0xf1, 0x62, 0x7d, 0x1a, 0xf6, 0x6c, 0x20, 0x86,
1371	0x72, 0x4b, 0xf9, 0x3d, 0x87, 0x68, 0xec, 0x74,
1372	0x67, 0xee, 0xbd, 0xb8, 0xc6, 0x12, 0x91, 0x0f,
1373	0xf6, 0xd9, 0x4f, 0x34, 0x96, 0xa9, 0xe7, 0x52,
1374	0x7b, 0xe0, 0x08, 0x57, 0x0a, 0x8b, 0x09, 0xcb,
1375	0xd3, 0x3e, 0x4e, 0x64, 0xca, 0x38, 0x50, 0x07,
1376	0x0e, 0x7b, 0x95, 0x69, 0x1b, 0x82, 0xba, 0x50,
1377	0x93, 0x4f, 0x9a, 0x8e, 0x11, 0x9b, 0x64, 0xf5,
1378	0x6a, 0xd4, 0x81, 0xf0, 0x1f, 0xb8, 0x85, 0x90,
1379	0x9c, 0x79, 0xde, 0xcb, 0x50, 0xba, 0xa9, 0x56,
1380	0x66, 0xd1, 0x1e, 0x78, 0xa8, 0x6a, 0xd5, 0xa5,
1381	0x83, 0x73, 0xe2, 0x88, 0xf2, 0x04, 0x33, 0x61,
1382	0xdf, 0x89, 0xd5, 0x3d, 0x03, 0x4e, 0x94, 0xb0,
1383	0x0f, 0x8d, 0x4d, 0xb4, 0x09, 0xb2, 0xf1, 0xb0,
1384	0xe7, 0xfe, 0xb0, 0x18, 0xe2, 0xfc, 0x92, 0xeb,
1385	0x2d, 0x7d, 0x56, 0x29, 0xbd, 0x34, 0x20, 0x7c,
1386	0xb6, 0xe7, 0x7b, 0xd7, 0x95, 0xa5, 0x0d, 0x10,
1387	0xbc, 0x7d, 0x9d, 0xd9, 0xbe, 0xc7, 0x23, 0x44,
1388	0x37, 0xb3, 0x98, 0x36, 0x33, 0x1a, 0x11, 0xfe,
1389	0x41, 0xea, 0x59, 0x48, 0x75, 0x34, 0xf6, 0xc4,
1390};
1391
1392/*
1393 * IV method encblkno1, blkno 1.
1394 */
1395static const uint8_t aes_cbc_256_encblkno1_vec1_ctxt[SECSIZE] = {
1396	0x58, 0xfc, 0x1e, 0x48, 0x66, 0x7d, 0x91, 0xc7,
1397	0x56, 0xa3, 0x41, 0x89, 0xe8, 0x1e, 0x02, 0x77,
1398	0x93, 0x38, 0x12, 0x99, 0x06, 0x0d, 0xf3, 0x6d,
1399	0x2a, 0x5d, 0x3d, 0x7b, 0x4e, 0x05, 0x4f, 0x8f,
1400	0xe3, 0x86, 0x76, 0xfe, 0x11, 0x9d, 0xde, 0xd4,
1401	0x83, 0xd9, 0x47, 0x8d, 0x51, 0xdf, 0x4a, 0x24,
1402	0x2d, 0x11, 0xf0, 0xbd, 0xde, 0x17, 0x7e, 0x52,
1403	0x20, 0xc7, 0x17, 0x88, 0x2e, 0xa4, 0xd5, 0xa0,
1404	0x1e, 0xbc, 0x61, 0x15, 0x1e, 0x52, 0xa1, 0x8b,
1405	0xe9, 0xe4, 0x1f, 0x81, 0x49, 0x64, 0x17, 0xd4,
1406	0xef, 0xb6, 0x40, 0x05, 0x2f, 0x36, 0xf7, 0x39,
1407	0x03, 0x05, 0x80, 0xff, 0xf2, 0x1a, 0x15, 0xf1,
1408	0xfc, 0xaf, 0x71, 0x51, 0x73, 0xc5, 0x9e, 0x2f,
1409	0xd1, 0x7a, 0x2d, 0xd7, 0xed, 0x90, 0x11, 0xd2,
1410	0x80, 0x49, 0x46, 0x9f, 0x13, 0xa7, 0x32, 0x33,
1411	0x24, 0x39, 0x59, 0xf1, 0xed, 0x64, 0x75, 0x61,
1412	0xc3, 0x14, 0x68, 0x48, 0xf7, 0xc7, 0xbd, 0xe0,
1413	0x21, 0x59, 0x91, 0x07, 0x70, 0x83, 0x8f, 0xfc,
1414	0x59, 0x72, 0xca, 0xdd, 0x60, 0xa0, 0xbb, 0xb1,
1415	0x2f, 0xb8, 0x98, 0x8d, 0xf2, 0x4d, 0x3a, 0x19,
1416	0xbc, 0x6b, 0x37, 0xad, 0xd2, 0xb5, 0x7d, 0x1c,
1417	0x4a, 0x7b, 0x58, 0x76, 0x2e, 0xf5, 0x6b, 0xaf,
1418	0x4c, 0x92, 0x00, 0x8a, 0xb4, 0xa3, 0x86, 0x66,
1419	0x07, 0xc7, 0xfc, 0x57, 0x3c, 0x73, 0xf4, 0x8b,
1420	0xef, 0xb6, 0xae, 0x01, 0xfb, 0x88, 0x13, 0x04,
1421	0xa8, 0xc7, 0xec, 0xc4, 0xe0, 0x67, 0x3a, 0xfb,
1422	0x67, 0xce, 0x83, 0x9b, 0x8e, 0x66, 0xff, 0xa6,
1423	0x17, 0x1b, 0x66, 0x27, 0xdf, 0x2a, 0xfe, 0xf3,
1424	0x9a, 0xba, 0x59, 0xce, 0x28, 0xd4, 0xd2, 0x40,
1425	0x78, 0xb6, 0xe9, 0x7d, 0x8b, 0xcc, 0x47, 0x5c,
1426	0xf6, 0x5d, 0xc2, 0x5d, 0xe0, 0xa7, 0x61, 0x8b,
1427	0xe6, 0x7d, 0x38, 0xb6, 0xea, 0xfb, 0x13, 0x31,
1428	0x33, 0x2a, 0xb5, 0x45, 0x7b, 0xf6, 0x9f, 0x29,
1429	0x06, 0x2d, 0xd8, 0xab, 0x36, 0x27, 0xe4, 0x6c,
1430	0xf1, 0xab, 0xcd, 0xb9, 0x08, 0x0f, 0x4b, 0x8f,
1431	0x22, 0xea, 0xe4, 0x5d, 0x22, 0x05, 0x2e, 0xd4,
1432	0xd7, 0xff, 0x58, 0x50, 0x38, 0x17, 0x6f, 0x80,
1433	0x61, 0x98, 0xdc, 0xd4, 0x9f, 0x8f, 0xeb, 0x13,
1434	0xd3, 0x86, 0xe9, 0xa9, 0xe7, 0x07, 0x6f, 0x4f,
1435	0x54, 0x9e, 0x37, 0x3d, 0xbc, 0x82, 0x5f, 0x4f,
1436	0xd5, 0x0c, 0x21, 0xaa, 0x91, 0xcb, 0x06, 0x9a,
1437	0xaf, 0x57, 0x14, 0xfb, 0x57, 0xd8, 0x63, 0x58,
1438	0x0a, 0x03, 0x12, 0x0e, 0xd3, 0x37, 0x0b, 0xbf,
1439	0x67, 0xb7, 0x9d, 0xb7, 0x6b, 0x38, 0xeb, 0x17,
1440	0xd8, 0xb9, 0x5a, 0x37, 0x9f, 0x98, 0xa6, 0xca,
1441	0x7e, 0x95, 0xa7, 0x27, 0xc4, 0xd3, 0x15, 0x00,
1442	0x7b, 0x5e, 0x05, 0xc0, 0xc1, 0xb0, 0xe0, 0x13,
1443	0x7d, 0x91, 0xed, 0x2b, 0x99, 0x74, 0x1c, 0x16,
1444	0x45, 0x55, 0x21, 0xbc, 0x7c, 0x52, 0x87, 0x0f,
1445	0xb9, 0xbf, 0x71, 0x7c, 0x3a, 0x81, 0x72, 0x97,
1446	0xf8, 0x86, 0x61, 0x20, 0x17, 0xd8, 0xc8, 0xe0,
1447	0xfc, 0x42, 0x0f, 0x5b, 0xd6, 0x7e, 0x99, 0x81,
1448	0x5c, 0x2e, 0x2e, 0x3e, 0xe8, 0xce, 0x12, 0xcf,
1449	0x2c, 0xe6, 0x7a, 0x00, 0x5d, 0x36, 0x00, 0x92,
1450	0x60, 0xc5, 0xc0, 0xfd, 0xe0, 0xa3, 0xb9, 0x3e,
1451	0x92, 0xf8, 0x8f, 0xe2, 0x0f, 0xe5, 0xb4, 0x6a,
1452	0xd6, 0x5b, 0xa4, 0x5d, 0xf9, 0xef, 0x7e, 0xae,
1453	0xdd, 0xd0, 0x5d, 0x40, 0xfe, 0xa7, 0xed, 0xda,
1454	0xa9, 0x48, 0x1d, 0x6f, 0xc2, 0xd3, 0x35, 0x65,
1455	0xd8, 0x67, 0xc2, 0x9d, 0xed, 0xf7, 0x9f, 0x7b,
1456	0x7c, 0xd4, 0x03, 0xe0, 0xa6, 0xf9, 0x3c, 0xd0,
1457	0x21, 0x98, 0x60, 0xa6, 0x59, 0x86, 0xbd, 0x40,
1458	0x17, 0x47, 0x82, 0xb9, 0xe1, 0x11, 0x8d, 0x4b,
1459	0xcd, 0x1f, 0x54, 0x96, 0x17, 0x42, 0x22, 0x44,
1460};
1461
1462/*
1463 * IV method encblkno1, blkno 2.
1464 */
1465static const uint8_t aes_cbc_256_encblkno1_vec2_ctxt[SECSIZE] = {
1466	0x1d, 0x65, 0xb2, 0x4e, 0xfa, 0x3f, 0xdb, 0xab,
1467	0x34, 0x9d, 0x37, 0x03, 0x17, 0x44, 0xed, 0x5b,
1468	0xf7, 0x1b, 0x6b, 0xc0, 0x5c, 0xfe, 0x5b, 0xcd,
1469	0xf0, 0xaf, 0x26, 0x82, 0x97, 0x12, 0xb8, 0x4f,
1470	0x76, 0x3d, 0x07, 0xd8, 0x29, 0x56, 0x3c, 0xbd,
1471	0x0e, 0xac, 0xd1, 0x8f, 0x53, 0x1a, 0x8f, 0xcd,
1472	0x04, 0x5b, 0x49, 0xe0, 0xf0, 0xea, 0xc9, 0x8a,
1473	0x08, 0x3d, 0x1f, 0x2d, 0x8c, 0xec, 0xb8, 0xea,
1474	0xe9, 0x24, 0xd1, 0x93, 0xd7, 0x9a, 0x0f, 0xd7,
1475	0x0f, 0x6b, 0xa0, 0x08, 0x58, 0x81, 0x68, 0x2f,
1476	0xde, 0x36, 0xb5, 0x87, 0xd9, 0xcd, 0x82, 0x13,
1477	0x36, 0x16, 0x6a, 0x9a, 0x02, 0xca, 0xda, 0x6f,
1478	0x51, 0x87, 0x75, 0x47, 0x89, 0xa4, 0x10, 0x60,
1479	0xfb, 0x1a, 0x74, 0x55, 0x6d, 0x18, 0x8d, 0x42,
1480	0x74, 0x2d, 0x12, 0x56, 0xc0, 0xcd, 0xa2, 0x57,
1481	0x53, 0x31, 0x8c, 0x7a, 0x8b, 0xa8, 0x6d, 0x89,
1482	0x81, 0xaf, 0x9c, 0xd9, 0x56, 0xe6, 0xdc, 0xe7,
1483	0x84, 0x0f, 0x81, 0x56, 0x1a, 0xc8, 0x5d, 0xa3,
1484	0xe0, 0x93, 0xea, 0x62, 0x7d, 0xa4, 0x5a, 0x58,
1485	0x8f, 0x05, 0x85, 0x34, 0x0c, 0x74, 0x8e, 0xe7,
1486	0xb4, 0x47, 0x93, 0x61, 0xbf, 0x61, 0x0a, 0xa2,
1487	0x37, 0xcd, 0x82, 0x9d, 0x55, 0x9e, 0x32, 0x9e,
1488	0x30, 0xce, 0x61, 0x89, 0xed, 0x25, 0x9e, 0x7c,
1489	0x2a, 0xcd, 0x39, 0x45, 0x56, 0xbb, 0x1a, 0xe8,
1490	0xb0, 0x75, 0x8f, 0xa1, 0x59, 0x09, 0xf8, 0x7a,
1491	0xbd, 0x4f, 0x69, 0x8b, 0xe2, 0xf3, 0xbe, 0x9b,
1492	0xea, 0x5f, 0x2c, 0x1e, 0x84, 0x69, 0xb2, 0xfa,
1493	0xaf, 0x1d, 0xc8, 0xcf, 0x76, 0x91, 0xd0, 0x7a,
1494	0xc9, 0xd1, 0x3d, 0xa5, 0xae, 0xae, 0xd7, 0x23,
1495	0xbb, 0xb3, 0x5e, 0x8a, 0x10, 0xc6, 0xbe, 0xa6,
1496	0x79, 0x69, 0x40, 0x83, 0x81, 0xe6, 0xb1, 0xa3,
1497	0x7e, 0x57, 0x44, 0x66, 0xc9, 0x2e, 0x84, 0xdd,
1498	0x00, 0xb4, 0x93, 0xae, 0x8f, 0x23, 0x12, 0xd6,
1499	0x54, 0x56, 0xc3, 0x51, 0xe5, 0xf7, 0x69, 0x47,
1500	0x00, 0x97, 0x71, 0x29, 0xcb, 0xcf, 0xeb, 0xd9,
1501	0xaf, 0xc0, 0x2f, 0x5c, 0xd7, 0x3e, 0xe4, 0x07,
1502	0xc9, 0x65, 0x2e, 0x8c, 0xf4, 0x54, 0xce, 0x8b,
1503	0xc7, 0x0c, 0xb4, 0x74, 0x56, 0x79, 0xa6, 0x40,
1504	0x4a, 0x58, 0xfd, 0x3f, 0x7b, 0x4c, 0xe9, 0xdb,
1505	0x33, 0x85, 0x6f, 0xf7, 0x5a, 0x9f, 0x6f, 0xc4,
1506	0x60, 0xad, 0x1b, 0xe2, 0xf5, 0xeb, 0x42, 0x7d,
1507	0xa4, 0x43, 0x8d, 0x40, 0xfa, 0x53, 0xcc, 0xf0,
1508	0x5f, 0x90, 0x0d, 0x04, 0x51, 0xb1, 0x48, 0xc7,
1509	0x90, 0x65, 0xb2, 0xef, 0xca, 0xc5, 0x9a, 0xec,
1510	0xde, 0x84, 0x21, 0x22, 0xeb, 0x97, 0xdd, 0xa2,
1511	0x9d, 0x71, 0xb1, 0xe0, 0x86, 0x58, 0xc3, 0x57,
1512	0xd5, 0x5a, 0x6f, 0xdc, 0xe5, 0xcc, 0x64, 0xc7,
1513	0x80, 0x2a, 0xef, 0x90, 0x91, 0x96, 0xb4, 0xeb,
1514	0xda, 0x3b, 0x7b, 0xbc, 0x14, 0x60, 0x52, 0xe5,
1515	0xe5, 0xc8, 0x6a, 0x99, 0x46, 0x9d, 0x00, 0x77,
1516	0x3b, 0x60, 0x75, 0x04, 0x06, 0x4a, 0x5a, 0x64,
1517	0x6f, 0x2f, 0x58, 0x77, 0x27, 0x9a, 0xc5, 0x90,
1518	0x37, 0xa7, 0xf3, 0x89, 0x72, 0x47, 0x4e, 0x08,
1519	0xa5, 0x79, 0x11, 0x2f, 0x22, 0x5a, 0xbb, 0xcf,
1520	0x76, 0xb9, 0x28, 0xc8, 0xc4, 0x5a, 0xe5, 0x90,
1521	0xf7, 0x02, 0xe4, 0xf9, 0x0c, 0x4c, 0x9a, 0xb1,
1522	0xa7, 0x99, 0x34, 0xd4, 0x77, 0x66, 0xff, 0x3c,
1523	0x50, 0x9a, 0xff, 0x13, 0x49, 0xd6, 0x5a, 0xf6,
1524	0x17, 0x6f, 0xca, 0x1a, 0xef, 0x0a, 0x2d, 0xf1,
1525	0xdf, 0xd0, 0xa5, 0x6f, 0xa6, 0x22, 0x3c, 0x1f,
1526	0xcf, 0xe7, 0xec, 0x23, 0x39, 0x6e, 0xc0, 0x37,
1527	0x31, 0x84, 0xff, 0xe2, 0x5a, 0xd6, 0x88, 0x74,
1528	0x15, 0x15, 0x46, 0x21, 0x00, 0xe4, 0x13, 0x9a,
1529	0xfa, 0xb2, 0x49, 0x7e, 0x79, 0xfb, 0x8a, 0x2a,
1530};
1531
1532/*
1533 * IV method encblkno1, blkno 3.
1534 */
1535static const uint8_t aes_cbc_256_encblkno1_vec3_ctxt[SECSIZE] = {
1536	0xc1, 0x4a, 0x3c, 0x90, 0xba, 0xd4, 0x9c, 0xe7,
1537	0xf2, 0x5b, 0x3a, 0xc4, 0xce, 0x4a, 0x26, 0x4a,
1538	0x9c, 0x3f, 0xe5, 0x7a, 0x15, 0xbb, 0xbd, 0x3e,
1539	0xc6, 0x49, 0x47, 0x04, 0x4e, 0x8b, 0x73, 0xa6,
1540	0x02, 0x3a, 0xc1, 0xa3, 0xfa, 0x1a, 0xd0, 0x03,
1541	0xf7, 0x26, 0x9f, 0xad, 0x06, 0x8f, 0x86, 0xdc,
1542	0xb8, 0x73, 0x87, 0xa2, 0x82, 0xc6, 0x80, 0xe1,
1543	0xac, 0x3d, 0x16, 0x4c, 0xc3, 0x7c, 0x86, 0x01,
1544	0xa5, 0x7a, 0x1c, 0x4b, 0x56, 0x68, 0xf6, 0x06,
1545	0x99, 0x32, 0x42, 0x40, 0xf1, 0xb7, 0x44, 0x4b,
1546	0xd1, 0xdb, 0xad, 0x4e, 0xa6, 0xc2, 0x5f, 0xee,
1547	0x21, 0x1d, 0x58, 0xc6, 0xd5, 0x02, 0xef, 0xb2,
1548	0x38, 0xef, 0x29, 0x25, 0xfd, 0x28, 0x8a, 0x5b,
1549	0x8b, 0x36, 0x1a, 0xd6, 0x68, 0xf8, 0x77, 0xed,
1550	0xba, 0xb3, 0xa5, 0x6f, 0x76, 0x5e, 0xb5, 0xd4,
1551	0xc3, 0xb8, 0xf9, 0x67, 0x7a, 0x18, 0x43, 0xb6,
1552	0x65, 0x07, 0x48, 0x1d, 0x56, 0x20, 0x11, 0xe1,
1553	0x62, 0x6b, 0x70, 0xc9, 0x18, 0xa9, 0xa7, 0x36,
1554	0xbf, 0x31, 0x74, 0xe3, 0x33, 0x02, 0x96, 0x7a,
1555	0xf5, 0xd9, 0x8d, 0x05, 0x2b, 0xfd, 0x85, 0x4f,
1556	0x03, 0x0f, 0xe1, 0xfb, 0x1a, 0x57, 0xaf, 0xdc,
1557	0xff, 0xff, 0x5a, 0x96, 0x27, 0xca, 0xf3, 0x0c,
1558	0xd8, 0x39, 0x3e, 0xbe, 0x41, 0x5a, 0x21, 0x95,
1559	0x66, 0xe0, 0x69, 0x14, 0x2b, 0x18, 0xf2, 0x9b,
1560	0xf4, 0x22, 0xdf, 0xa9, 0xe4, 0x7d, 0x32, 0x5d,
1561	0x98, 0xa0, 0xe0, 0xe1, 0xe1, 0xbe, 0xae, 0x58,
1562	0x63, 0xbe, 0x4b, 0x97, 0x83, 0xaa, 0x67, 0xd3,
1563	0x1a, 0x70, 0xca, 0x82, 0x98, 0x77, 0x74, 0x1a,
1564	0xf2, 0x3d, 0x6a, 0x7b, 0x8e, 0xc8, 0xca, 0x34,
1565	0x44, 0xb8, 0xc0, 0xd0, 0x77, 0x8c, 0x4a, 0x5c,
1566	0xae, 0xd3, 0x17, 0x7c, 0x12, 0x47, 0x3e, 0xe2,
1567	0x2e, 0x51, 0xe0, 0x52, 0x88, 0x8e, 0xe9, 0x68,
1568	0xb6, 0x13, 0xf8, 0x69, 0xc9, 0x4b, 0xdd, 0x91,
1569	0x27, 0xb0, 0x22, 0x0c, 0x7d, 0xad, 0xb0, 0x75,
1570	0xe8, 0x76, 0x34, 0xc2, 0xd9, 0xf3, 0x20, 0xf7,
1571	0x1d, 0x0f, 0x07, 0x61, 0xc2, 0xb8, 0x7d, 0x00,
1572	0xa6, 0x68, 0xad, 0xd4, 0x0b, 0xa4, 0xa0, 0x32,
1573	0x6d, 0xa5, 0xc0, 0x07, 0x65, 0xae, 0xda, 0x2e,
1574	0xd6, 0xb7, 0xd3, 0x99, 0x8b, 0x37, 0x08, 0x13,
1575	0x6a, 0x94, 0xe9, 0xe4, 0xea, 0x34, 0xee, 0x07,
1576	0xee, 0x77, 0xb1, 0x3f, 0x54, 0x05, 0xbe, 0x66,
1577	0x7f, 0xf2, 0x70, 0x34, 0x45, 0xa7, 0x4b, 0x27,
1578	0xef, 0xe6, 0x39, 0x2e, 0x13, 0x41, 0xdb, 0x2d,
1579	0x1f, 0x76, 0x11, 0x76, 0x33, 0xf3, 0x92, 0x33,
1580	0x69, 0x16, 0x34, 0x86, 0x23, 0xc5, 0xfa, 0xaf,
1581	0xff, 0xbf, 0xee, 0x84, 0x56, 0xf6, 0x1e, 0x54,
1582	0x37, 0x32, 0x79, 0x83, 0x45, 0x04, 0x6f, 0x0e,
1583	0x75, 0x75, 0xd9, 0xd6, 0x4a, 0x87, 0xfb, 0x3c,
1584	0xb1, 0xcf, 0x66, 0xab, 0xa4, 0xaa, 0xf6, 0x96,
1585	0xb0, 0xcd, 0xaf, 0xac, 0x2c, 0x6d, 0x72, 0xca,
1586	0x43, 0xef, 0xb7, 0xa0, 0x4c, 0x62, 0xba, 0x7e,
1587	0x59, 0x0b, 0xff, 0x90, 0x49, 0x63, 0xf6, 0x31,
1588	0x8b, 0x50, 0x20, 0x82, 0x7d, 0xf0, 0x2d, 0xe4,
1589	0x5b, 0xda, 0xdf, 0xb0, 0xfb, 0x07, 0x7b, 0xe3,
1590	0x5f, 0xac, 0xd8, 0xe5, 0xa0, 0x3e, 0xc5, 0x60,
1591	0x94, 0xbc, 0xf7, 0x7e, 0xdc, 0x18, 0x27, 0x20,
1592	0xb1, 0xdd, 0x51, 0x4a, 0xb2, 0xe0, 0xc0, 0xe7,
1593	0x5d, 0x0f, 0x88, 0xb2, 0xa0, 0x42, 0x73, 0xfb,
1594	0xc4, 0x24, 0xa7, 0x17, 0x8a, 0xc9, 0x6d, 0x34,
1595	0xe8, 0x7b, 0x51, 0x37, 0x32, 0x3f, 0xf8, 0x7e,
1596	0x92, 0xe4, 0x87, 0xd2, 0x89, 0x66, 0xb0, 0xf6,
1597	0xc2, 0xba, 0x2f, 0x42, 0x8f, 0x1d, 0x5d, 0x81,
1598	0xad, 0xfd, 0x00, 0xbc, 0xa9, 0x11, 0x96, 0xae,
1599	0x80, 0xf1, 0x27, 0xe0, 0xeb, 0x5b, 0x60, 0x39,
1600};
1601
1602const struct testvec aes_cbc_256_1_vectors[] = {
1603	{
1604		.blkno = 0,
1605		.ptxt = aes_cbc_ptxt,
1606		.ctxt = aes_cbc_256_encblkno1_vec0_ctxt,
1607	},
1608	{
1609		.blkno = 1,
1610		.ptxt = aes_cbc_ptxt,
1611		.ctxt = aes_cbc_256_encblkno1_vec1_ctxt,
1612	},
1613	{
1614		.blkno = 2,
1615		.ptxt = aes_cbc_ptxt,
1616		.ctxt = aes_cbc_256_encblkno1_vec2_ctxt,
1617	},
1618	{
1619		.blkno = 3,
1620		.ptxt = aes_cbc_ptxt,
1621		.ctxt = aes_cbc_256_encblkno1_vec3_ctxt,
1622	},
1623};
1624
1625/*
1626 * IV method encblkno8, blkno 0.
1627 */
1628static const uint8_t aes_cbc_256_encblkno8_vec0_ctxt[SECSIZE] = {
1629	0xe5, 0x55, 0xd9, 0xae, 0xc0, 0x66, 0x2d, 0x2f,
1630	0x11, 0xb1, 0x27, 0xd2, 0xb2, 0x73, 0xe4, 0x0a,
1631	0x85, 0xb5, 0x3c, 0x79, 0x78, 0xd6, 0x35, 0x3d,
1632	0x46, 0xac, 0xa3, 0x81, 0x55, 0x76, 0x86, 0xfc,
1633	0x37, 0xa0, 0x95, 0xc2, 0x30, 0xc9, 0x19, 0xc2,
1634	0x5f, 0xb0, 0x13, 0xa2, 0xa8, 0xe1, 0xc7, 0xb7,
1635	0x61, 0x54, 0xd8, 0xe6, 0xca, 0x94, 0x6f, 0x47,
1636	0x87, 0x33, 0x58, 0xd9, 0xd5, 0xd2, 0x95, 0x73,
1637	0x87, 0x9a, 0x31, 0xe5, 0x2e, 0x95, 0x83, 0x7d,
1638	0xdc, 0x0f, 0xc5, 0x2f, 0x14, 0xbc, 0x80, 0xac,
1639	0x47, 0xd6, 0xd8, 0x17, 0x9e, 0xf7, 0xff, 0x5b,
1640	0x85, 0x05, 0x91, 0xe0, 0x73, 0xd2, 0x5c, 0xa7,
1641	0x41, 0xf8, 0xcb, 0x3d, 0x38, 0x14, 0x28, 0x3e,
1642	0x89, 0x6f, 0xd4, 0xac, 0xb6, 0x11, 0x35, 0x67,
1643	0x7b, 0xef, 0x0d, 0xd8, 0x4d, 0xdd, 0x7e, 0x73,
1644	0xcd, 0x58, 0x0f, 0x5a, 0xcf, 0x42, 0xc5, 0x2f,
1645	0x61, 0x62, 0x13, 0xde, 0xcd, 0x2e, 0x22, 0xab,
1646	0xb0, 0x47, 0x5c, 0x1e, 0x5c, 0xc5, 0x49, 0xc6,
1647	0x3b, 0x0c, 0xe3, 0xb3, 0x59, 0xbf, 0xbf, 0x85,
1648	0xf6, 0x0a, 0x3d, 0x14, 0x74, 0x2a, 0xcd, 0xea,
1649	0x67, 0xd6, 0x80, 0x42, 0x3c, 0x6a, 0x92, 0x50,
1650	0x95, 0x73, 0xb5, 0x7a, 0xb2, 0xbc, 0x76, 0xe5,
1651	0x8f, 0xf3, 0x85, 0x5e, 0xcd, 0xf9, 0xb4, 0x9d,
1652	0xa8, 0x0a, 0xda, 0x95, 0x11, 0x2e, 0x22, 0x0c,
1653	0x2f, 0xb0, 0xbf, 0x92, 0x6b, 0x45, 0xec, 0x20,
1654	0xd2, 0x2b, 0x98, 0x3f, 0x4f, 0x97, 0xf2, 0xed,
1655	0xf7, 0x9b, 0x89, 0x4e, 0xd6, 0x59, 0xbb, 0x24,
1656	0x22, 0x44, 0x9f, 0x03, 0xb5, 0x42, 0xc8, 0x97,
1657	0xc7, 0xdb, 0x21, 0xfc, 0xcf, 0x33, 0xa1, 0xf1,
1658	0xc0, 0x1f, 0x28, 0x77, 0xee, 0xa5, 0x6a, 0x12,
1659	0xef, 0x8b, 0x48, 0xd1, 0xb3, 0xac, 0x65, 0x69,
1660	0x46, 0x04, 0x39, 0xb1, 0x9e, 0xfa, 0xab, 0x21,
1661	0x51, 0xa4, 0x33, 0xe9, 0x58, 0x5d, 0xf1, 0xc6,
1662	0x69, 0x44, 0x8c, 0x17, 0xf9, 0xaa, 0x96, 0xcb,
1663	0x40, 0xb4, 0x5c, 0x83, 0x76, 0x1e, 0x8a, 0x2b,
1664	0x5f, 0x6b, 0xc1, 0x73, 0xd4, 0x5f, 0x48, 0xa3,
1665	0x0e, 0x07, 0x69, 0x12, 0xc1, 0xbd, 0x13, 0xad,
1666	0xe2, 0xcf, 0x3d, 0x96, 0xd8, 0xaf, 0xed, 0xdc,
1667	0x4c, 0x72, 0xf6, 0xce, 0x15, 0x86, 0x88, 0x8c,
1668	0xbb, 0x60, 0xb3, 0xb9, 0xde, 0x42, 0x58, 0x6e,
1669	0xc4, 0x58, 0xac, 0x77, 0x8d, 0x35, 0x23, 0x5f,
1670	0xc3, 0xf9, 0x33, 0x46, 0x17, 0x80, 0x31, 0xfd,
1671	0xcd, 0x0a, 0x1e, 0x9b, 0xac, 0x42, 0xda, 0x70,
1672	0x54, 0x9a, 0xeb, 0x22, 0x27, 0x09, 0x0c, 0x6c,
1673	0x18, 0x1d, 0x1a, 0x5b, 0x86, 0x4d, 0x80, 0xca,
1674	0x4d, 0xda, 0x0e, 0x9a, 0x8e, 0x61, 0x04, 0x68,
1675	0x29, 0x08, 0x3b, 0xae, 0x14, 0x7d, 0x8e, 0x43,
1676	0x7a, 0xa7, 0x83, 0xcf, 0xb3, 0x95, 0xd3, 0x42,
1677	0x2d, 0x6b, 0xd8, 0x5c, 0x43, 0x31, 0x5b, 0x9c,
1678	0x18, 0x30, 0x0d, 0x61, 0x9c, 0xab, 0x29, 0x55,
1679	0xdd, 0x84, 0x24, 0x21, 0xec, 0x44, 0xad, 0xf3,
1680	0xb3, 0x70, 0x77, 0x2b, 0xfc, 0x3f, 0x99, 0xb8,
1681	0x50, 0x26, 0x8d, 0x96, 0xa2, 0x22, 0x99, 0x33,
1682	0x53, 0xa8, 0x5d, 0x84, 0x9b, 0x76, 0x26, 0x6e,
1683	0x75, 0x14, 0x7e, 0x63, 0xc6, 0x7a, 0x4f, 0x5c,
1684	0xfe, 0x4b, 0x80, 0xee, 0xb3, 0x32, 0x8d, 0x25,
1685	0x1c, 0x80, 0x7b, 0x3d, 0xd3, 0x84, 0x01, 0x1e,
1686	0x16, 0xa4, 0xca, 0x0d, 0x38, 0x40, 0x03, 0x6f,
1687	0x81, 0x8b, 0x5c, 0xad, 0x22, 0xfa, 0x6f, 0xeb,
1688	0x60, 0xa1, 0xcb, 0x2d, 0x97, 0xf8, 0xa6, 0x5e,
1689	0xbe, 0x93, 0xb7, 0xe6, 0x66, 0xbf, 0x9b, 0xd2,
1690	0x5c, 0x31, 0xcc, 0x70, 0x0c, 0xf1, 0xfb, 0x9f,
1691	0x09, 0x1b, 0xc2, 0x85, 0x2f, 0x22, 0x7c, 0x95,
1692	0x58, 0x09, 0xce, 0x9c, 0x7c, 0x50, 0xca, 0x89,
1693};
1694
1695/*
1696 * IV method encblkno8, blkno 1.
1697 */
1698static const uint8_t aes_cbc_256_encblkno8_vec1_ctxt[SECSIZE] = {
1699	0x37, 0x4d, 0x25, 0xdb, 0x35, 0xe0, 0x8b, 0x82,
1700	0x5f, 0x77, 0xd2, 0x53, 0xd1, 0x1f, 0xf0, 0x91,
1701	0x5b, 0xd8, 0x93, 0x2f, 0xb2, 0x81, 0xbd, 0x75,
1702	0xf0, 0xd8, 0xff, 0x46, 0x8c, 0x9d, 0xf6, 0xe2,
1703	0x99, 0x1e, 0x76, 0x9d, 0x00, 0x3a, 0xe3, 0xcf,
1704	0x6d, 0x24, 0xa8, 0xe8, 0xb4, 0xa7, 0xa0, 0x87,
1705	0xa8, 0x43, 0x01, 0x21, 0x29, 0x70, 0x39, 0x2d,
1706	0x0b, 0x2a, 0xe9, 0x11, 0x57, 0x86, 0x13, 0xd4,
1707	0x1c, 0x1b, 0x59, 0x19, 0xc4, 0x7d, 0x2c, 0x94,
1708	0xc7, 0x01, 0xb8, 0x96, 0x01, 0xd2, 0x01, 0x17,
1709	0x97, 0x41, 0x68, 0xab, 0xba, 0x9c, 0xc8, 0xad,
1710	0x4e, 0xd7, 0xa8, 0x4c, 0x96, 0x3f, 0xf9, 0xfc,
1711	0x7e, 0xd7, 0x59, 0xe8, 0x25, 0x51, 0x4d, 0x1d,
1712	0x99, 0xfd, 0x0b, 0xe9, 0x88, 0x23, 0xd1, 0x4b,
1713	0x30, 0x6e, 0x18, 0x7c, 0xe3, 0x7a, 0x54, 0x2a,
1714	0x4f, 0x2a, 0x99, 0x8f, 0xaf, 0xd7, 0x5e, 0x25,
1715	0xfe, 0x9c, 0x47, 0x09, 0x63, 0x38, 0x0d, 0x5f,
1716	0xb3, 0x43, 0xa6, 0x66, 0x9b, 0xc5, 0x3d, 0x88,
1717	0x5e, 0xc7, 0x60, 0x99, 0x8e, 0xcb, 0x6a, 0x65,
1718	0x60, 0x92, 0x88, 0xe1, 0x2b, 0xfe, 0x83, 0x34,
1719	0x92, 0xa6, 0x6c, 0x22, 0x56, 0x5b, 0x75, 0x8a,
1720	0x93, 0xc3, 0x72, 0xca, 0xff, 0x59, 0x3b, 0xd8,
1721	0xa0, 0x80, 0x56, 0x98, 0x62, 0x8a, 0x70, 0xf2,
1722	0x5d, 0xd9, 0x40, 0x6b, 0xbf, 0x9f, 0x71, 0x8d,
1723	0x2e, 0x38, 0xe8, 0x06, 0x42, 0xa9, 0x95, 0x70,
1724	0x31, 0xd1, 0xe9, 0x6c, 0xab, 0xbb, 0xed, 0x25,
1725	0xe8, 0xca, 0xe8, 0xa4, 0x98, 0x82, 0xf5, 0xe3,
1726	0x11, 0x3c, 0xc4, 0xea, 0xea, 0x88, 0x56, 0x91,
1727	0xd6, 0x5d, 0xaa, 0xf7, 0xe9, 0x49, 0x2f, 0x42,
1728	0x5b, 0x76, 0xef, 0xed, 0x03, 0x9e, 0x5f, 0x4d,
1729	0x65, 0x25, 0xa5, 0xe8, 0x26, 0xba, 0x03, 0x4f,
1730	0x0e, 0x39, 0xd2, 0x53, 0x62, 0x98, 0x81, 0x9d,
1731	0x8e, 0xad, 0x50, 0x17, 0x9f, 0xcc, 0x34, 0x45,
1732	0x19, 0x5c, 0x1c, 0xd1, 0xbc, 0x71, 0x89, 0xaa,
1733	0x9a, 0x65, 0x55, 0x6f, 0x78, 0xd4, 0xd3, 0x5b,
1734	0x27, 0x8d, 0x94, 0x46, 0xd9, 0x95, 0xb3, 0x5f,
1735	0xc4, 0x35, 0x8d, 0xba, 0x1c, 0x40, 0x52, 0xd1,
1736	0x99, 0x27, 0x5d, 0x42, 0x28, 0xef, 0xcb, 0x9b,
1737	0x10, 0x7a, 0x19, 0xbf, 0x72, 0xa3, 0x4a, 0xb9,
1738	0x56, 0x83, 0x39, 0xa6, 0xb2, 0xcd, 0x48, 0x85,
1739	0xf9, 0xcc, 0x72, 0x88, 0xb3, 0x5a, 0x9b, 0x45,
1740	0xb2, 0xd3, 0x66, 0x2d, 0x24, 0x51, 0x68, 0x91,
1741	0x9d, 0x47, 0x6a, 0xb3, 0x9a, 0x60, 0xb3, 0xcd,
1742	0x6b, 0x43, 0x96, 0x21, 0xa0, 0x65, 0x43, 0xde,
1743	0x4f, 0x6e, 0xb5, 0x81, 0x50, 0x7e, 0xca, 0x4b,
1744	0xdb, 0x30, 0xf2, 0xcb, 0x28, 0x3b, 0x19, 0x6a,
1745	0x0a, 0xfa, 0x05, 0x5e, 0x61, 0xde, 0x76, 0x7e,
1746	0xdf, 0xd9, 0xa9, 0x1b, 0xd0, 0x8a, 0xb5, 0x04,
1747	0x51, 0xf5, 0x66, 0xa2, 0x32, 0x21, 0xb2, 0xa9,
1748	0x40, 0x78, 0x60, 0x9d, 0xdc, 0x45, 0xbe, 0xb4,
1749	0x3a, 0xba, 0xd1, 0xec, 0x31, 0x53, 0x24, 0x22,
1750	0x70, 0x99, 0xda, 0xc8, 0x17, 0x04, 0x87, 0x2c,
1751	0x89, 0x86, 0x24, 0xec, 0x52, 0x12, 0x6a, 0x51,
1752	0x1e, 0x2a, 0x5e, 0x96, 0xfb, 0xac, 0x95, 0x4a,
1753	0x1a, 0x06, 0x8f, 0xdf, 0xa7, 0x26, 0xeb, 0x6c,
1754	0x79, 0x4a, 0x77, 0xea, 0xb3, 0xb1, 0x3a, 0x19,
1755	0xe6, 0x5e, 0xe2, 0x26, 0x1b, 0x85, 0x3c, 0x9b,
1756	0x1d, 0x05, 0x1d, 0xbe, 0x5c, 0x25, 0x7f, 0x45,
1757	0x4c, 0x09, 0x4c, 0xc1, 0x47, 0xa5, 0x44, 0xfc,
1758	0x04, 0x2b, 0xad, 0x53, 0xac, 0x57, 0x22, 0x54,
1759	0x13, 0x7c, 0xc9, 0x96, 0x44, 0xda, 0x74, 0x95,
1760	0x6e, 0x8c, 0xe6, 0x6a, 0x05, 0x05, 0xf3, 0x8c,
1761	0x81, 0xaf, 0xbc, 0xb1, 0x91, 0xe7, 0xfd, 0x81,
1762	0x3f, 0x47, 0xc2, 0x6f, 0x0d, 0x62, 0xf6, 0x6e,
1763};
1764
1765/*
1766 * IV method encblkno8, blkno 2.
1767 */
1768static const uint8_t aes_cbc_256_encblkno8_vec2_ctxt[SECSIZE] = {
1769	0x5a, 0x24, 0xfd, 0xee, 0x9a, 0x44, 0xfb, 0xac,
1770	0x3e, 0x46, 0x53, 0x95, 0x9e, 0xeb, 0x1f, 0xd9,
1771	0xfd, 0xc6, 0x4f, 0xae, 0x0b, 0xc8, 0xf2, 0xbd,
1772	0x77, 0x16, 0x7a, 0x2e, 0x8e, 0xec, 0x7a, 0x53,
1773	0xf4, 0xe0, 0x34, 0xba, 0x6e, 0xfa, 0xc4, 0x69,
1774	0xd7, 0x50, 0x13, 0x03, 0xfb, 0xb9, 0x66, 0x96,
1775	0xd4, 0x21, 0x67, 0xcc, 0x4c, 0x4d, 0x10, 0x2f,
1776	0x17, 0xeb, 0x41, 0xf4, 0x65, 0x80, 0x0b, 0x57,
1777	0x2d, 0xdf, 0xcf, 0x9f, 0xb9, 0xd8, 0x53, 0x36,
1778	0xbc, 0x1d, 0x9a, 0xe3, 0x17, 0xe7, 0x08, 0x23,
1779	0xb3, 0x60, 0xfe, 0xdf, 0x24, 0x06, 0xc5, 0x86,
1780	0x74, 0x89, 0xa3, 0xb2, 0xfc, 0x4a, 0x57, 0xf5,
1781	0xa6, 0x96, 0xfb, 0x56, 0xf0, 0xf4, 0xdc, 0xdc,
1782	0xb8, 0x53, 0x5f, 0xb2, 0xb0, 0x8d, 0x2d, 0x90,
1783	0x3d, 0x78, 0x4d, 0x42, 0x3a, 0x74, 0xa4, 0x8e,
1784	0x41, 0x7c, 0x2a, 0xff, 0xe4, 0x57, 0x1c, 0x9d,
1785	0x94, 0xc5, 0x5d, 0xd8, 0x8b, 0x88, 0x48, 0x15,
1786	0x16, 0x8a, 0xf3, 0x07, 0x3a, 0xee, 0x65, 0x24,
1787	0xbc, 0x7f, 0x58, 0xad, 0xed, 0xf2, 0xbd, 0x18,
1788	0x88, 0x1a, 0x80, 0x6e, 0xb7, 0x93, 0xe0, 0x45,
1789	0x04, 0xb0, 0xfc, 0xf9, 0x48, 0x76, 0xaf, 0xec,
1790	0x08, 0xca, 0x99, 0x64, 0x85, 0x98, 0x2c, 0xd8,
1791	0x85, 0x72, 0x32, 0xbe, 0x92, 0x18, 0xdd, 0xab,
1792	0x20, 0x8f, 0x8e, 0x11, 0xc6, 0x08, 0xf9, 0x8b,
1793	0xaf, 0x5f, 0xa9, 0xe5, 0x11, 0xc7, 0x45, 0x91,
1794	0x6e, 0x47, 0xaa, 0x0f, 0x4c, 0xf4, 0xc1, 0xb0,
1795	0x75, 0x4c, 0xba, 0x1d, 0xb3, 0x33, 0xf7, 0x47,
1796	0xbe, 0x94, 0x0b, 0x2e, 0xfa, 0x38, 0x5e, 0x5f,
1797	0x0a, 0xc2, 0x0c, 0x4e, 0x72, 0x29, 0x16, 0xc1,
1798	0x82, 0x70, 0xd4, 0xd3, 0x1b, 0x25, 0xbe, 0x0d,
1799	0x6b, 0x0a, 0x13, 0x9f, 0x4d, 0x3d, 0x7b, 0x10,
1800	0x9f, 0x93, 0x43, 0x50, 0xd1, 0x17, 0x08, 0x77,
1801	0x23, 0x58, 0x35, 0x41, 0x23, 0xf6, 0x9c, 0x6f,
1802	0x2e, 0x81, 0x6e, 0x75, 0x9b, 0x9f, 0x37, 0x4f,
1803	0xb7, 0xa1, 0xce, 0xde, 0x0c, 0x74, 0x99, 0x31,
1804	0x0e, 0x27, 0x42, 0x99, 0xdd, 0x93, 0x03, 0x6b,
1805	0x44, 0x22, 0xd4, 0xc8, 0x67, 0xb5, 0xb2, 0x4d,
1806	0x11, 0x2e, 0x80, 0x09, 0xa2, 0x5b, 0xcf, 0x0c,
1807	0xff, 0xfa, 0x51, 0xe5, 0x9b, 0xdd, 0x11, 0xa1,
1808	0x17, 0x04, 0x9e, 0xc8, 0xd8, 0x1d, 0xc1, 0x5c,
1809	0xc3, 0xde, 0x83, 0x77, 0xa3, 0xec, 0x59, 0x7e,
1810	0xfb, 0xe8, 0x45, 0xff, 0xc3, 0xb3, 0xd3, 0x9e,
1811	0x3e, 0xc4, 0x75, 0xca, 0xc1, 0x77, 0xee, 0x1a,
1812	0xdc, 0x58, 0xab, 0x27, 0xc1, 0xfe, 0x21, 0x26,
1813	0x9a, 0xe0, 0x15, 0xab, 0x35, 0x8d, 0xbc, 0x22,
1814	0x37, 0xbb, 0x4e, 0xab, 0x9d, 0xa2, 0xaf, 0xf9,
1815	0x45, 0x17, 0xb1, 0xb8, 0xd4, 0x52, 0x1e, 0x67,
1816	0xeb, 0xac, 0xe0, 0x87, 0x6c, 0xe4, 0x7a, 0x03,
1817	0x73, 0xe4, 0x43, 0xeb, 0x3b, 0x57, 0x3f, 0x56,
1818	0x4b, 0x6c, 0x26, 0x81, 0x27, 0xbf, 0x7e, 0x59,
1819	0xcd, 0xab, 0x67, 0x8c, 0x4b, 0x6f, 0xa5, 0x47,
1820	0x2c, 0x45, 0x28, 0x5a, 0x3d, 0x88, 0x53, 0xf9,
1821	0x25, 0xdf, 0x5d, 0xba, 0xf7, 0x18, 0xa7, 0x3d,
1822	0x79, 0xb4, 0x43, 0x59, 0x77, 0xf9, 0xd5, 0x5d,
1823	0x4f, 0x31, 0x56, 0x8c, 0x21, 0xb5, 0xc0, 0xa2,
1824	0xca, 0x04, 0x62, 0x2c, 0xc8, 0xa8, 0x11, 0x82,
1825	0x1b, 0xde, 0xad, 0x20, 0x5b, 0xd2, 0x63, 0xfb,
1826	0x6d, 0xba, 0xd4, 0xcc, 0xb4, 0x9d, 0xe8, 0xa8,
1827	0xd1, 0x06, 0x81, 0xf0, 0xb9, 0xd4, 0x90, 0x30,
1828	0xcd, 0x0a, 0xe8, 0xd2, 0x8c, 0x7a, 0xbf, 0xf6,
1829	0x0d, 0xa0, 0xae, 0x1b, 0x21, 0x18, 0x93, 0x18,
1830	0x71, 0xe1, 0xa0, 0x63, 0x5a, 0x9d, 0x4e, 0x6a,
1831	0x52, 0x90, 0xaf, 0xdb, 0x26, 0x1e, 0xa9, 0xa1,
1832	0xc7, 0xf9, 0xf8, 0xa7, 0x3f, 0x85, 0xa1, 0xa4,
1833};
1834
1835/*
1836 * IV method encblkno8, blkno 3.
1837 */
1838static const uint8_t aes_cbc_256_encblkno8_vec3_ctxt[SECSIZE] = {
1839	0x83, 0x77, 0xd8, 0xa8, 0x6a, 0x36, 0x41, 0x72,
1840	0xb6, 0x03, 0x4e, 0x5e, 0x39, 0x36, 0xe3, 0xf5,
1841	0xd0, 0x1b, 0x0d, 0x97, 0x78, 0x46, 0xee, 0xfd,
1842	0x34, 0x34, 0x16, 0xa0, 0x44, 0xcf, 0x0b, 0xdc,
1843	0xfb, 0x82, 0x98, 0xa2, 0x79, 0xc2, 0xe7, 0x1c,
1844	0x43, 0x43, 0x4c, 0x7f, 0xe7, 0xa6, 0xe6, 0x10,
1845	0x9e, 0x65, 0xb2, 0x09, 0xc7, 0x5f, 0xaa, 0xb7,
1846	0xb8, 0xad, 0x83, 0xd5, 0x9e, 0xd1, 0xb2, 0xce,
1847	0x4b, 0xa4, 0x5d, 0xbc, 0xd6, 0xf6, 0x0a, 0xe7,
1848	0x1b, 0xe9, 0x86, 0xbc, 0x72, 0xcc, 0x6f, 0xcc,
1849	0xf2, 0xde, 0x08, 0x48, 0xa2, 0x20, 0x31, 0x6a,
1850	0xdd, 0xbe, 0xc5, 0x36, 0x55, 0xff, 0xce, 0xfa,
1851	0xdf, 0x60, 0x26, 0x77, 0x7f, 0xd0, 0xfa, 0xd7,
1852	0x76, 0x70, 0x14, 0x11, 0xbf, 0x57, 0xc2, 0xdd,
1853	0x5f, 0xd3, 0x50, 0x49, 0xf8, 0xd1, 0xa7, 0xe2,
1854	0x8b, 0x89, 0xa0, 0xbc, 0x44, 0x42, 0x45, 0x10,
1855	0xfe, 0x66, 0x3d, 0x56, 0x09, 0x21, 0x7c, 0x49,
1856	0x30, 0xde, 0xe2, 0x4b, 0x26, 0x65, 0x8a, 0xe4,
1857	0x79, 0x08, 0x3a, 0xca, 0x36, 0x4f, 0x97, 0x3c,
1858	0xe4, 0x6a, 0xc3, 0xdb, 0xce, 0xac, 0x78, 0x76,
1859	0x25, 0x81, 0x7a, 0x01, 0x7b, 0xd8, 0xf1, 0x00,
1860	0x8d, 0x2e, 0xb7, 0x98, 0x3c, 0x86, 0x20, 0xa3,
1861	0x4c, 0x24, 0x2a, 0x78, 0x3a, 0x8d, 0xeb, 0xcd,
1862	0xae, 0xe1, 0x32, 0xf8, 0x21, 0x37, 0x30, 0x27,
1863	0xe1, 0xf3, 0x14, 0x60, 0x96, 0x77, 0x37, 0x50,
1864	0xa2, 0x92, 0xae, 0xe5, 0xd8, 0xea, 0x1a, 0x7e,
1865	0xa3, 0xd1, 0x04, 0x17, 0x03, 0x51, 0x2f, 0x21,
1866	0xa7, 0x00, 0x23, 0xb3, 0x24, 0xd8, 0x7d, 0xb7,
1867	0x4c, 0x51, 0xb1, 0xaf, 0xb0, 0x64, 0xe4, 0x62,
1868	0x91, 0x4c, 0xd5, 0x4b, 0xe8, 0xfb, 0x95, 0x61,
1869	0xa4, 0x6f, 0xf8, 0xb8, 0xea, 0xa9, 0xb2, 0x10,
1870	0xd3, 0x96, 0xcb, 0x1c, 0xdc, 0x86, 0x43, 0x26,
1871	0x2d, 0x39, 0xc2, 0xa7, 0x69, 0xfa, 0x8f, 0x3a,
1872	0xe7, 0xe0, 0x27, 0xbe, 0xc2, 0xe8, 0xd5, 0x05,
1873	0xbe, 0x5a, 0x96, 0xdc, 0x86, 0xcd, 0x93, 0x75,
1874	0x1b, 0x61, 0x40, 0x8c, 0x60, 0x64, 0x79, 0x85,
1875	0x6c, 0xed, 0x39, 0x72, 0x26, 0x69, 0xba, 0xb2,
1876	0xff, 0xa8, 0x68, 0x29, 0x03, 0xf7, 0x26, 0xe7,
1877	0x0f, 0x53, 0x1b, 0x5b, 0x37, 0x21, 0x68, 0x70,
1878	0x1c, 0x39, 0x7f, 0x5b, 0x31, 0xca, 0xde, 0xed,
1879	0x33, 0x8d, 0xaf, 0xe6, 0x01, 0xd5, 0x72, 0x5f,
1880	0x46, 0x44, 0x34, 0x1b, 0x4c, 0xd7, 0x75, 0xf0,
1881	0x47, 0x16, 0x6c, 0xd6, 0x65, 0x3c, 0xd3, 0xc2,
1882	0xb1, 0x46, 0x7d, 0xd5, 0x5c, 0x48, 0x5b, 0x61,
1883	0x3e, 0x88, 0xff, 0x24, 0x5c, 0x7b, 0xf7, 0xa9,
1884	0x44, 0xcb, 0x3b, 0x3e, 0x3b, 0x93, 0x24, 0x46,
1885	0x7e, 0x34, 0x8d, 0xc4, 0x2b, 0xb7, 0x8e, 0x22,
1886	0x9e, 0x87, 0x62, 0xca, 0xbc, 0x10, 0x09, 0x4a,
1887	0x4b, 0x0b, 0xdb, 0x57, 0x9b, 0xa9, 0x3e, 0xa8,
1888	0x99, 0x59, 0xa0, 0x12, 0xf3, 0xa5, 0xe4, 0x91,
1889	0xbb, 0xb9, 0x05, 0x8d, 0xcf, 0xb9, 0xcb, 0x36,
1890	0x97, 0xb2, 0x6a, 0x31, 0x8f, 0xcb, 0xf8, 0x5a,
1891	0x2f, 0x9e, 0xa1, 0xf9, 0x7a, 0xf4, 0x10, 0x0e,
1892	0xe7, 0x7f, 0x4c, 0xcb, 0xe3, 0x83, 0x17, 0x39,
1893	0x34, 0xef, 0x49, 0x35, 0x68, 0x50, 0x80, 0xf9,
1894	0xcd, 0x3a, 0x10, 0xf6, 0x71, 0x1a, 0x94, 0xc3,
1895	0xec, 0xb9, 0x36, 0x84, 0x36, 0xe7, 0x3f, 0x6f,
1896	0x9b, 0xa9, 0x2b, 0x5c, 0x96, 0x49, 0x26, 0xda,
1897	0xb3, 0x08, 0x3d, 0x5e, 0x9e, 0x59, 0xdf, 0x0f,
1898	0xfc, 0xbe, 0xa8, 0x0b, 0xbc, 0xaa, 0x32, 0xf0,
1899	0xa5, 0x21, 0x50, 0x15, 0x7e, 0x46, 0xb9, 0x76,
1900	0x09, 0x4e, 0x4b, 0x6f, 0x9f, 0xc7, 0x8c, 0x6d,
1901	0x80, 0x37, 0xf9, 0xaa, 0xd1, 0x5f, 0x12, 0xb9,
1902	0xb3, 0x15, 0xe4, 0x96, 0xa1, 0x01, 0xd5, 0xa0,
1903};
1904
1905const struct testvec aes_cbc_256_8_vectors[] = {
1906	{
1907		.blkno = 0,
1908		.ptxt = aes_cbc_ptxt,
1909		.ctxt = aes_cbc_256_encblkno8_vec0_ctxt,
1910	},
1911	{
1912		.blkno = 1,
1913		.ptxt = aes_cbc_ptxt,
1914		.ctxt = aes_cbc_256_encblkno8_vec1_ctxt,
1915	},
1916	{
1917		.blkno = 2,
1918		.ptxt = aes_cbc_ptxt,
1919		.ctxt = aes_cbc_256_encblkno8_vec2_ctxt,
1920	},
1921	{
1922		.blkno = 3,
1923		.ptxt = aes_cbc_ptxt,
1924		.ctxt = aes_cbc_256_encblkno8_vec3_ctxt,
1925	},
1926};
1927
1928/*
1929 * 256 bits key from IEEE 1619/D16, NUL terminated.
1930 */
1931static const char aes_xts_256_key[33] = {
1932	0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45,
1933	0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26,
1934	0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93,
1935	0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95,
1936	0
1937};
1938
1939/*
1940 * 512 bits key from IEEE 1619/D16, NUL terminated.
1941 */
1942static const char aes_xts_512_key[65] = {
1943	0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45,
1944	0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26,
1945	0x62, 0x49, 0x77, 0x57, 0x24, 0x70, 0x93, 0x69,
1946	0x99, 0x59, 0x57, 0x49, 0x66, 0x96, 0x76, 0x27,
1947	0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93,
1948	0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95,
1949	0x02, 0x88, 0x41, 0x97, 0x16, 0x93, 0x99, 0x37,
1950	0x51, 0x05, 0x82, 0x09, 0x74, 0x94, 0x45, 0x92,
1951	0
1952};
1953
1954/*
1955 * Vector 4 from IEEE 1619/D16, blkno 0.
1956 */
1957static const uint8_t aes_xts_256_vec4_ptxt[SECSIZE] = {
1958	0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1959	0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
1960	0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
1961	0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
1962	0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
1963	0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
1964	0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
1965	0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
1966	0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
1967	0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
1968	0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
1969	0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
1970	0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
1971	0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
1972	0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
1973	0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
1974	0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
1975	0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
1976	0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
1977	0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
1978	0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
1979	0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
1980	0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
1981	0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
1982	0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
1983	0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
1984	0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
1985	0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
1986	0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
1987	0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
1988	0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
1989	0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
1990	0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1991	0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
1992	0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
1993	0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
1994	0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
1995	0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
1996	0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
1997	0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
1998	0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
1999	0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
2000	0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
2001	0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
2002	0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
2003	0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
2004	0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
2005	0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
2006	0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
2007	0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
2008	0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
2009	0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
2010	0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
2011	0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
2012	0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
2013	0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
2014	0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
2015	0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
2016	0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
2017	0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
2018	0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
2019	0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
2020	0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
2021	0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
2022};
2023
2024static const uint8_t aes_xts_256_vec4_ctxt[SECSIZE] = {
2025	0x27, 0xa7, 0x47, 0x9b, 0xef, 0xa1, 0xd4, 0x76,
2026	0x48, 0x9f, 0x30, 0x8c, 0xd4, 0xcf, 0xa6, 0xe2,
2027	0xa9, 0x6e, 0x4b, 0xbe, 0x32, 0x08, 0xff, 0x25,
2028	0x28, 0x7d, 0xd3, 0x81, 0x96, 0x16, 0xe8, 0x9c,
2029	0xc7, 0x8c, 0xf7, 0xf5, 0xe5, 0x43, 0x44, 0x5f,
2030	0x83, 0x33, 0xd8, 0xfa, 0x7f, 0x56, 0x00, 0x00,
2031	0x05, 0x27, 0x9f, 0xa5, 0xd8, 0xb5, 0xe4, 0xad,
2032	0x40, 0xe7, 0x36, 0xdd, 0xb4, 0xd3, 0x54, 0x12,
2033	0x32, 0x80, 0x63, 0xfd, 0x2a, 0xab, 0x53, 0xe5,
2034	0xea, 0x1e, 0x0a, 0x9f, 0x33, 0x25, 0x00, 0xa5,
2035	0xdf, 0x94, 0x87, 0xd0, 0x7a, 0x5c, 0x92, 0xcc,
2036	0x51, 0x2c, 0x88, 0x66, 0xc7, 0xe8, 0x60, 0xce,
2037	0x93, 0xfd, 0xf1, 0x66, 0xa2, 0x49, 0x12, 0xb4,
2038	0x22, 0x97, 0x61, 0x46, 0xae, 0x20, 0xce, 0x84,
2039	0x6b, 0xb7, 0xdc, 0x9b, 0xa9, 0x4a, 0x76, 0x7a,
2040	0xae, 0xf2, 0x0c, 0x0d, 0x61, 0xad, 0x02, 0x65,
2041	0x5e, 0xa9, 0x2d, 0xc4, 0xc4, 0xe4, 0x1a, 0x89,
2042	0x52, 0xc6, 0x51, 0xd3, 0x31, 0x74, 0xbe, 0x51,
2043	0xa1, 0x0c, 0x42, 0x11, 0x10, 0xe6, 0xd8, 0x15,
2044	0x88, 0xed, 0xe8, 0x21, 0x03, 0xa2, 0x52, 0xd8,
2045	0xa7, 0x50, 0xe8, 0x76, 0x8d, 0xef, 0xff, 0xed,
2046	0x91, 0x22, 0x81, 0x0a, 0xae, 0xb9, 0x9f, 0x91,
2047	0x72, 0xaf, 0x82, 0xb6, 0x04, 0xdc, 0x4b, 0x8e,
2048	0x51, 0xbc, 0xb0, 0x82, 0x35, 0xa6, 0xf4, 0x34,
2049	0x13, 0x32, 0xe4, 0xca, 0x60, 0x48, 0x2a, 0x4b,
2050	0xa1, 0xa0, 0x3b, 0x3e, 0x65, 0x00, 0x8f, 0xc5,
2051	0xda, 0x76, 0xb7, 0x0b, 0xf1, 0x69, 0x0d, 0xb4,
2052	0xea, 0xe2, 0x9c, 0x5f, 0x1b, 0xad, 0xd0, 0x3c,
2053	0x5c, 0xcf, 0x2a, 0x55, 0xd7, 0x05, 0xdd, 0xcd,
2054	0x86, 0xd4, 0x49, 0x51, 0x1c, 0xeb, 0x7e, 0xc3,
2055	0x0b, 0xf1, 0x2b, 0x1f, 0xa3, 0x5b, 0x91, 0x3f,
2056	0x9f, 0x74, 0x7a, 0x8a, 0xfd, 0x1b, 0x13, 0x0e,
2057	0x94, 0xbf, 0xf9, 0x4e, 0xff, 0xd0, 0x1a, 0x91,
2058	0x73, 0x5c, 0xa1, 0x72, 0x6a, 0xcd, 0x0b, 0x19,
2059	0x7c, 0x4e, 0x5b, 0x03, 0x39, 0x36, 0x97, 0xe1,
2060	0x26, 0x82, 0x6f, 0xb6, 0xbb, 0xde, 0x8e, 0xcc,
2061	0x1e, 0x08, 0x29, 0x85, 0x16, 0xe2, 0xc9, 0xed,
2062	0x03, 0xff, 0x3c, 0x1b, 0x78, 0x60, 0xf6, 0xde,
2063	0x76, 0xd4, 0xce, 0xcd, 0x94, 0xc8, 0x11, 0x98,
2064	0x55, 0xef, 0x52, 0x97, 0xca, 0x67, 0xe9, 0xf3,
2065	0xe7, 0xff, 0x72, 0xb1, 0xe9, 0x97, 0x85, 0xca,
2066	0x0a, 0x7e, 0x77, 0x20, 0xc5, 0xb3, 0x6d, 0xc6,
2067	0xd7, 0x2c, 0xac, 0x95, 0x74, 0xc8, 0xcb, 0xbc,
2068	0x2f, 0x80, 0x1e, 0x23, 0xe5, 0x6f, 0xd3, 0x44,
2069	0xb0, 0x7f, 0x22, 0x15, 0x4b, 0xeb, 0xa0, 0xf0,
2070	0x8c, 0xe8, 0x89, 0x1e, 0x64, 0x3e, 0xd9, 0x95,
2071	0xc9, 0x4d, 0x9a, 0x69, 0xc9, 0xf1, 0xb5, 0xf4,
2072	0x99, 0x02, 0x7a, 0x78, 0x57, 0x2a, 0xee, 0xbd,
2073	0x74, 0xd2, 0x0c, 0xc3, 0x98, 0x81, 0xc2, 0x13,
2074	0xee, 0x77, 0x0b, 0x10, 0x10, 0xe4, 0xbe, 0xa7,
2075	0x18, 0x84, 0x69, 0x77, 0xae, 0x11, 0x9f, 0x7a,
2076	0x02, 0x3a, 0xb5, 0x8c, 0xca, 0x0a, 0xd7, 0x52,
2077	0xaf, 0xe6, 0x56, 0xbb, 0x3c, 0x17, 0x25, 0x6a,
2078	0x9f, 0x6e, 0x9b, 0xf1, 0x9f, 0xdd, 0x5a, 0x38,
2079	0xfc, 0x82, 0xbb, 0xe8, 0x72, 0xc5, 0x53, 0x9e,
2080	0xdb, 0x60, 0x9e, 0xf4, 0xf7, 0x9c, 0x20, 0x3e,
2081	0xbb, 0x14, 0x0f, 0x2e, 0x58, 0x3c, 0xb2, 0xad,
2082	0x15, 0xb4, 0xaa, 0x5b, 0x65, 0x50, 0x16, 0xa8,
2083	0x44, 0x92, 0x77, 0xdb, 0xd4, 0x77, 0xef, 0x2c,
2084	0x8d, 0x6c, 0x01, 0x7d, 0xb7, 0x38, 0xb1, 0x8d,
2085	0xeb, 0x4a, 0x42, 0x7d, 0x19, 0x23, 0xce, 0x3f,
2086	0xf2, 0x62, 0x73, 0x57, 0x79, 0xa4, 0x18, 0xf2,
2087	0x0a, 0x28, 0x2d, 0xf9, 0x20, 0x14, 0x7b, 0xea,
2088	0xbe, 0x42, 0x1e, 0xe5, 0x31, 0x9d, 0x05, 0x68,
2089};
2090
2091/*
2092 * Vector 5 from IEEE 1619/D16, blkno 1.
2093 */
2094static const uint8_t aes_xts_256_vec5_ptxt[SECSIZE] = {
2095	0x27, 0xa7, 0x47, 0x9b, 0xef, 0xa1, 0xd4, 0x76,
2096	0x48, 0x9f, 0x30, 0x8c, 0xd4, 0xcf, 0xa6, 0xe2,
2097	0xa9, 0x6e, 0x4b, 0xbe, 0x32, 0x08, 0xff, 0x25,
2098	0x28, 0x7d, 0xd3, 0x81, 0x96, 0x16, 0xe8, 0x9c,
2099	0xc7, 0x8c, 0xf7, 0xf5, 0xe5, 0x43, 0x44, 0x5f,
2100	0x83, 0x33, 0xd8, 0xfa, 0x7f, 0x56, 0x00, 0x00,
2101	0x05, 0x27, 0x9f, 0xa5, 0xd8, 0xb5, 0xe4, 0xad,
2102	0x40, 0xe7, 0x36, 0xdd, 0xb4, 0xd3, 0x54, 0x12,
2103	0x32, 0x80, 0x63, 0xfd, 0x2a, 0xab, 0x53, 0xe5,
2104	0xea, 0x1e, 0x0a, 0x9f, 0x33, 0x25, 0x00, 0xa5,
2105	0xdf, 0x94, 0x87, 0xd0, 0x7a, 0x5c, 0x92, 0xcc,
2106	0x51, 0x2c, 0x88, 0x66, 0xc7, 0xe8, 0x60, 0xce,
2107	0x93, 0xfd, 0xf1, 0x66, 0xa2, 0x49, 0x12, 0xb4,
2108	0x22, 0x97, 0x61, 0x46, 0xae, 0x20, 0xce, 0x84,
2109	0x6b, 0xb7, 0xdc, 0x9b, 0xa9, 0x4a, 0x76, 0x7a,
2110	0xae, 0xf2, 0x0c, 0x0d, 0x61, 0xad, 0x02, 0x65,
2111	0x5e, 0xa9, 0x2d, 0xc4, 0xc4, 0xe4, 0x1a, 0x89,
2112	0x52, 0xc6, 0x51, 0xd3, 0x31, 0x74, 0xbe, 0x51,
2113	0xa1, 0x0c, 0x42, 0x11, 0x10, 0xe6, 0xd8, 0x15,
2114	0x88, 0xed, 0xe8, 0x21, 0x03, 0xa2, 0x52, 0xd8,
2115	0xa7, 0x50, 0xe8, 0x76, 0x8d, 0xef, 0xff, 0xed,
2116	0x91, 0x22, 0x81, 0x0a, 0xae, 0xb9, 0x9f, 0x91,
2117	0x72, 0xaf, 0x82, 0xb6, 0x04, 0xdc, 0x4b, 0x8e,
2118	0x51, 0xbc, 0xb0, 0x82, 0x35, 0xa6, 0xf4, 0x34,
2119	0x13, 0x32, 0xe4, 0xca, 0x60, 0x48, 0x2a, 0x4b,
2120	0xa1, 0xa0, 0x3b, 0x3e, 0x65, 0x00, 0x8f, 0xc5,
2121	0xda, 0x76, 0xb7, 0x0b, 0xf1, 0x69, 0x0d, 0xb4,
2122	0xea, 0xe2, 0x9c, 0x5f, 0x1b, 0xad, 0xd0, 0x3c,
2123	0x5c, 0xcf, 0x2a, 0x55, 0xd7, 0x05, 0xdd, 0xcd,
2124	0x86, 0xd4, 0x49, 0x51, 0x1c, 0xeb, 0x7e, 0xc3,
2125	0x0b, 0xf1, 0x2b, 0x1f, 0xa3, 0x5b, 0x91, 0x3f,
2126	0x9f, 0x74, 0x7a, 0x8a, 0xfd, 0x1b, 0x13, 0x0e,
2127	0x94, 0xbf, 0xf9, 0x4e, 0xff, 0xd0, 0x1a, 0x91,
2128	0x73, 0x5c, 0xa1, 0x72, 0x6a, 0xcd, 0x0b, 0x19,
2129	0x7c, 0x4e, 0x5b, 0x03, 0x39, 0x36, 0x97, 0xe1,
2130	0x26, 0x82, 0x6f, 0xb6, 0xbb, 0xde, 0x8e, 0xcc,
2131	0x1e, 0x08, 0x29, 0x85, 0x16, 0xe2, 0xc9, 0xed,
2132	0x03, 0xff, 0x3c, 0x1b, 0x78, 0x60, 0xf6, 0xde,
2133	0x76, 0xd4, 0xce, 0xcd, 0x94, 0xc8, 0x11, 0x98,
2134	0x55, 0xef, 0x52, 0x97, 0xca, 0x67, 0xe9, 0xf3,
2135	0xe7, 0xff, 0x72, 0xb1, 0xe9, 0x97, 0x85, 0xca,
2136	0x0a, 0x7e, 0x77, 0x20, 0xc5, 0xb3, 0x6d, 0xc6,
2137	0xd7, 0x2c, 0xac, 0x95, 0x74, 0xc8, 0xcb, 0xbc,
2138	0x2f, 0x80, 0x1e, 0x23, 0xe5, 0x6f, 0xd3, 0x44,
2139	0xb0, 0x7f, 0x22, 0x15, 0x4b, 0xeb, 0xa0, 0xf0,
2140	0x8c, 0xe8, 0x89, 0x1e, 0x64, 0x3e, 0xd9, 0x95,
2141	0xc9, 0x4d, 0x9a, 0x69, 0xc9, 0xf1, 0xb5, 0xf4,
2142	0x99, 0x02, 0x7a, 0x78, 0x57, 0x2a, 0xee, 0xbd,
2143	0x74, 0xd2, 0x0c, 0xc3, 0x98, 0x81, 0xc2, 0x13,
2144	0xee, 0x77, 0x0b, 0x10, 0x10, 0xe4, 0xbe, 0xa7,
2145	0x18, 0x84, 0x69, 0x77, 0xae, 0x11, 0x9f, 0x7a,
2146	0x02, 0x3a, 0xb5, 0x8c, 0xca, 0x0a, 0xd7, 0x52,
2147	0xaf, 0xe6, 0x56, 0xbb, 0x3c, 0x17, 0x25, 0x6a,
2148	0x9f, 0x6e, 0x9b, 0xf1, 0x9f, 0xdd, 0x5a, 0x38,
2149	0xfc, 0x82, 0xbb, 0xe8, 0x72, 0xc5, 0x53, 0x9e,
2150	0xdb, 0x60, 0x9e, 0xf4, 0xf7, 0x9c, 0x20, 0x3e,
2151	0xbb, 0x14, 0x0f, 0x2e, 0x58, 0x3c, 0xb2, 0xad,
2152	0x15, 0xb4, 0xaa, 0x5b, 0x65, 0x50, 0x16, 0xa8,
2153	0x44, 0x92, 0x77, 0xdb, 0xd4, 0x77, 0xef, 0x2c,
2154	0x8d, 0x6c, 0x01, 0x7d, 0xb7, 0x38, 0xb1, 0x8d,
2155	0xeb, 0x4a, 0x42, 0x7d, 0x19, 0x23, 0xce, 0x3f,
2156	0xf2, 0x62, 0x73, 0x57, 0x79, 0xa4, 0x18, 0xf2,
2157	0x0a, 0x28, 0x2d, 0xf9, 0x20, 0x14, 0x7b, 0xea,
2158	0xbe, 0x42, 0x1e, 0xe5, 0x31, 0x9d, 0x05, 0x68,
2159};
2160
2161static const uint8_t aes_xts_256_vec5_ctxt[SECSIZE] = {
2162	0x26, 0x4d, 0x3c, 0xa8, 0x51, 0x21, 0x94, 0xfe,
2163	0xc3, 0x12, 0xc8, 0xc9, 0x89, 0x1f, 0x27, 0x9f,
2164	0xef, 0xdd, 0x60, 0x8d, 0x0c, 0x02, 0x7b, 0x60,
2165	0x48, 0x3a, 0x3f, 0xa8, 0x11, 0xd6, 0x5e, 0xe5,
2166	0x9d, 0x52, 0xd9, 0xe4, 0x0e, 0xc5, 0x67, 0x2d,
2167	0x81, 0x53, 0x2b, 0x38, 0xb6, 0xb0, 0x89, 0xce,
2168	0x95, 0x1f, 0x0f, 0x9c, 0x35, 0x59, 0x0b, 0x8b,
2169	0x97, 0x8d, 0x17, 0x52, 0x13, 0xf3, 0x29, 0xbb,
2170	0x1c, 0x2f, 0xd3, 0x0f, 0x2f, 0x7f, 0x30, 0x49,
2171	0x2a, 0x61, 0xa5, 0x32, 0xa7, 0x9f, 0x51, 0xd3,
2172	0x6f, 0x5e, 0x31, 0xa7, 0xc9, 0xa1, 0x2c, 0x28,
2173	0x60, 0x82, 0xff, 0x7d, 0x23, 0x94, 0xd1, 0x8f,
2174	0x78, 0x3e, 0x1a, 0x8e, 0x72, 0xc7, 0x22, 0xca,
2175	0xaa, 0xa5, 0x2d, 0x8f, 0x06, 0x56, 0x57, 0xd2,
2176	0x63, 0x1f, 0xd2, 0x5b, 0xfd, 0x8e, 0x5b, 0xaa,
2177	0xd6, 0xe5, 0x27, 0xd7, 0x63, 0x51, 0x75, 0x01,
2178	0xc6, 0x8c, 0x5e, 0xdc, 0x3c, 0xdd, 0x55, 0x43,
2179	0x5c, 0x53, 0x2d, 0x71, 0x25, 0xc8, 0x61, 0x4d,
2180	0xee, 0xd9, 0xad, 0xaa, 0x3a, 0xca, 0xde, 0x58,
2181	0x88, 0xb8, 0x7b, 0xef, 0x64, 0x1c, 0x4c, 0x99,
2182	0x4c, 0x80, 0x91, 0xb5, 0xbc, 0xd3, 0x87, 0xf3,
2183	0x96, 0x3f, 0xb5, 0xbc, 0x37, 0xaa, 0x92, 0x2f,
2184	0xbf, 0xe3, 0xdf, 0x4e, 0x5b, 0x91, 0x5e, 0x6e,
2185	0xb5, 0x14, 0x71, 0x7b, 0xdd, 0x2a, 0x74, 0x07,
2186	0x9a, 0x50, 0x73, 0xf5, 0xc4, 0xbf, 0xd4, 0x6a,
2187	0xdf, 0x7d, 0x28, 0x2e, 0x7a, 0x39, 0x3a, 0x52,
2188	0x57, 0x9d, 0x11, 0xa0, 0x28, 0xda, 0x4d, 0x9c,
2189	0xd9, 0xc7, 0x71, 0x24, 0xf9, 0x64, 0x8e, 0xe3,
2190	0x83, 0xb1, 0xac, 0x76, 0x39, 0x30, 0xe7, 0x16,
2191	0x2a, 0x8d, 0x37, 0xf3, 0x50, 0xb2, 0xf7, 0x4b,
2192	0x84, 0x72, 0xcf, 0x09, 0x90, 0x20, 0x63, 0xc6,
2193	0xb3, 0x2e, 0x8c, 0x2d, 0x92, 0x90, 0xce, 0xfb,
2194	0xd7, 0x34, 0x6d, 0x1c, 0x77, 0x9a, 0x0d, 0xf5,
2195	0x0e, 0xdc, 0xde, 0x45, 0x31, 0xda, 0x07, 0xb0,
2196	0x99, 0xc6, 0x38, 0xe8, 0x3a, 0x75, 0x59, 0x44,
2197	0xdf, 0x2a, 0xef, 0x1a, 0xa3, 0x17, 0x52, 0xfd,
2198	0x32, 0x3d, 0xcb, 0x71, 0x0f, 0xb4, 0xbf, 0xbb,
2199	0x9d, 0x22, 0xb9, 0x25, 0xbc, 0x35, 0x77, 0xe1,
2200	0xb8, 0x94, 0x9e, 0x72, 0x9a, 0x90, 0xbb, 0xaf,
2201	0xea, 0xcf, 0x7f, 0x78, 0x79, 0xe7, 0xb1, 0x14,
2202	0x7e, 0x28, 0xba, 0x0b, 0xae, 0x94, 0x0d, 0xb7,
2203	0x95, 0xa6, 0x1b, 0x15, 0xec, 0xf4, 0xdf, 0x8d,
2204	0xb0, 0x7b, 0x82, 0x4b, 0xb0, 0x62, 0x80, 0x2c,
2205	0xc9, 0x8a, 0x95, 0x45, 0xbb, 0x2a, 0xae, 0xed,
2206	0x77, 0xcb, 0x3f, 0xc6, 0xdb, 0x15, 0xdc, 0xd7,
2207	0xd8, 0x0d, 0x7d, 0x5b, 0xc4, 0x06, 0xc4, 0x97,
2208	0x0a, 0x34, 0x78, 0xad, 0xa8, 0x89, 0x9b, 0x32,
2209	0x91, 0x98, 0xeb, 0x61, 0xc1, 0x93, 0xfb, 0x62,
2210	0x75, 0xaa, 0x8c, 0xa3, 0x40, 0x34, 0x4a, 0x75,
2211	0xa8, 0x62, 0xae, 0xbe, 0x92, 0xee, 0xe1, 0xce,
2212	0x03, 0x2f, 0xd9, 0x50, 0xb4, 0x7d, 0x77, 0x04,
2213	0xa3, 0x87, 0x69, 0x23, 0xb4, 0xad, 0x62, 0x84,
2214	0x4b, 0xf4, 0xa0, 0x9c, 0x4d, 0xbe, 0x8b, 0x43,
2215	0x97, 0x18, 0x4b, 0x74, 0x71, 0x36, 0x0c, 0x95,
2216	0x64, 0x88, 0x0a, 0xed, 0xdd, 0xb9, 0xba, 0xa4,
2217	0xaf, 0x2e, 0x75, 0x39, 0x4b, 0x08, 0xcd, 0x32,
2218	0xff, 0x47, 0x9c, 0x57, 0xa0, 0x7d, 0x3e, 0xab,
2219	0x5d, 0x54, 0xde, 0x5f, 0x97, 0x38, 0xb8, 0xd2,
2220	0x7f, 0x27, 0xa9, 0xf0, 0xab, 0x11, 0x79, 0x9d,
2221	0x7b, 0x7f, 0xfe, 0xfb, 0x27, 0x04, 0xc9, 0x5c,
2222	0x6a, 0xd1, 0x2c, 0x39, 0xf1, 0xe8, 0x67, 0xa4,
2223	0xb7, 0xb1, 0xd7, 0x81, 0x8a, 0x4b, 0x75, 0x3d,
2224	0xfd, 0x2a, 0x89, 0xcc, 0xb4, 0x5e, 0x00, 0x1a,
2225	0x03, 0xa8, 0x67, 0xb1, 0x87, 0xf2, 0x25, 0xdd,
2226};
2227
2228/*
2229 * Vector 6 from IEEE 1619/D16, blkno 2.
2230 */
2231static const uint8_t aes_xts_256_vec6_ptxt[SECSIZE] = {
2232	0x26, 0x4d, 0x3c, 0xa8, 0x51, 0x21, 0x94, 0xfe,
2233	0xc3, 0x12, 0xc8, 0xc9, 0x89, 0x1f, 0x27, 0x9f,
2234	0xef, 0xdd, 0x60, 0x8d, 0x0c, 0x02, 0x7b, 0x60,
2235	0x48, 0x3a, 0x3f, 0xa8, 0x11, 0xd6, 0x5e, 0xe5,
2236	0x9d, 0x52, 0xd9, 0xe4, 0x0e, 0xc5, 0x67, 0x2d,
2237	0x81, 0x53, 0x2b, 0x38, 0xb6, 0xb0, 0x89, 0xce,
2238	0x95, 0x1f, 0x0f, 0x9c, 0x35, 0x59, 0x0b, 0x8b,
2239	0x97, 0x8d, 0x17, 0x52, 0x13, 0xf3, 0x29, 0xbb,
2240	0x1c, 0x2f, 0xd3, 0x0f, 0x2f, 0x7f, 0x30, 0x49,
2241	0x2a, 0x61, 0xa5, 0x32, 0xa7, 0x9f, 0x51, 0xd3,
2242	0x6f, 0x5e, 0x31, 0xa7, 0xc9, 0xa1, 0x2c, 0x28,
2243	0x60, 0x82, 0xff, 0x7d, 0x23, 0x94, 0xd1, 0x8f,
2244	0x78, 0x3e, 0x1a, 0x8e, 0x72, 0xc7, 0x22, 0xca,
2245	0xaa, 0xa5, 0x2d, 0x8f, 0x06, 0x56, 0x57, 0xd2,
2246	0x63, 0x1f, 0xd2, 0x5b, 0xfd, 0x8e, 0x5b, 0xaa,
2247	0xd6, 0xe5, 0x27, 0xd7, 0x63, 0x51, 0x75, 0x01,
2248	0xc6, 0x8c, 0x5e, 0xdc, 0x3c, 0xdd, 0x55, 0x43,
2249	0x5c, 0x53, 0x2d, 0x71, 0x25, 0xc8, 0x61, 0x4d,
2250	0xee, 0xd9, 0xad, 0xaa, 0x3a, 0xca, 0xde, 0x58,
2251	0x88, 0xb8, 0x7b, 0xef, 0x64, 0x1c, 0x4c, 0x99,
2252	0x4c, 0x80, 0x91, 0xb5, 0xbc, 0xd3, 0x87, 0xf3,
2253	0x96, 0x3f, 0xb5, 0xbc, 0x37, 0xaa, 0x92, 0x2f,
2254	0xbf, 0xe3, 0xdf, 0x4e, 0x5b, 0x91, 0x5e, 0x6e,
2255	0xb5, 0x14, 0x71, 0x7b, 0xdd, 0x2a, 0x74, 0x07,
2256	0x9a, 0x50, 0x73, 0xf5, 0xc4, 0xbf, 0xd4, 0x6a,
2257	0xdf, 0x7d, 0x28, 0x2e, 0x7a, 0x39, 0x3a, 0x52,
2258	0x57, 0x9d, 0x11, 0xa0, 0x28, 0xda, 0x4d, 0x9c,
2259	0xd9, 0xc7, 0x71, 0x24, 0xf9, 0x64, 0x8e, 0xe3,
2260	0x83, 0xb1, 0xac, 0x76, 0x39, 0x30, 0xe7, 0x16,
2261	0x2a, 0x8d, 0x37, 0xf3, 0x50, 0xb2, 0xf7, 0x4b,
2262	0x84, 0x72, 0xcf, 0x09, 0x90, 0x20, 0x63, 0xc6,
2263	0xb3, 0x2e, 0x8c, 0x2d, 0x92, 0x90, 0xce, 0xfb,
2264	0xd7, 0x34, 0x6d, 0x1c, 0x77, 0x9a, 0x0d, 0xf5,
2265	0x0e, 0xdc, 0xde, 0x45, 0x31, 0xda, 0x07, 0xb0,
2266	0x99, 0xc6, 0x38, 0xe8, 0x3a, 0x75, 0x59, 0x44,
2267	0xdf, 0x2a, 0xef, 0x1a, 0xa3, 0x17, 0x52, 0xfd,
2268	0x32, 0x3d, 0xcb, 0x71, 0x0f, 0xb4, 0xbf, 0xbb,
2269	0x9d, 0x22, 0xb9, 0x25, 0xbc, 0x35, 0x77, 0xe1,
2270	0xb8, 0x94, 0x9e, 0x72, 0x9a, 0x90, 0xbb, 0xaf,
2271	0xea, 0xcf, 0x7f, 0x78, 0x79, 0xe7, 0xb1, 0x14,
2272	0x7e, 0x28, 0xba, 0x0b, 0xae, 0x94, 0x0d, 0xb7,
2273	0x95, 0xa6, 0x1b, 0x15, 0xec, 0xf4, 0xdf, 0x8d,
2274	0xb0, 0x7b, 0x82, 0x4b, 0xb0, 0x62, 0x80, 0x2c,
2275	0xc9, 0x8a, 0x95, 0x45, 0xbb, 0x2a, 0xae, 0xed,
2276	0x77, 0xcb, 0x3f, 0xc6, 0xdb, 0x15, 0xdc, 0xd7,
2277	0xd8, 0x0d, 0x7d, 0x5b, 0xc4, 0x06, 0xc4, 0x97,
2278	0x0a, 0x34, 0x78, 0xad, 0xa8, 0x89, 0x9b, 0x32,
2279	0x91, 0x98, 0xeb, 0x61, 0xc1, 0x93, 0xfb, 0x62,
2280	0x75, 0xaa, 0x8c, 0xa3, 0x40, 0x34, 0x4a, 0x75,
2281	0xa8, 0x62, 0xae, 0xbe, 0x92, 0xee, 0xe1, 0xce,
2282	0x03, 0x2f, 0xd9, 0x50, 0xb4, 0x7d, 0x77, 0x04,
2283	0xa3, 0x87, 0x69, 0x23, 0xb4, 0xad, 0x62, 0x84,
2284	0x4b, 0xf4, 0xa0, 0x9c, 0x4d, 0xbe, 0x8b, 0x43,
2285	0x97, 0x18, 0x4b, 0x74, 0x71, 0x36, 0x0c, 0x95,
2286	0x64, 0x88, 0x0a, 0xed, 0xdd, 0xb9, 0xba, 0xa4,
2287	0xaf, 0x2e, 0x75, 0x39, 0x4b, 0x08, 0xcd, 0x32,
2288	0xff, 0x47, 0x9c, 0x57, 0xa0, 0x7d, 0x3e, 0xab,
2289	0x5d, 0x54, 0xde, 0x5f, 0x97, 0x38, 0xb8, 0xd2,
2290	0x7f, 0x27, 0xa9, 0xf0, 0xab, 0x11, 0x79, 0x9d,
2291	0x7b, 0x7f, 0xfe, 0xfb, 0x27, 0x04, 0xc9, 0x5c,
2292	0x6a, 0xd1, 0x2c, 0x39, 0xf1, 0xe8, 0x67, 0xa4,
2293	0xb7, 0xb1, 0xd7, 0x81, 0x8a, 0x4b, 0x75, 0x3d,
2294	0xfd, 0x2a, 0x89, 0xcc, 0xb4, 0x5e, 0x00, 0x1a,
2295	0x03, 0xa8, 0x67, 0xb1, 0x87, 0xf2, 0x25, 0xdd,
2296};
2297
2298static const uint8_t aes_xts_256_vec6_ctxt[SECSIZE] = {
2299	0xfa, 0x76, 0x2a, 0x36, 0x80, 0xb7, 0x60, 0x07,
2300	0x92, 0x8e, 0xd4, 0xa4, 0xf4, 0x9a, 0x94, 0x56,
2301	0x03, 0x1b, 0x70, 0x47, 0x82, 0xe6, 0x5e, 0x16,
2302	0xce, 0xcb, 0x54, 0xed, 0x7d, 0x01, 0x7b, 0x5e,
2303	0x18, 0xab, 0xd6, 0x7b, 0x33, 0x8e, 0x81, 0x07,
2304	0x8f, 0x21, 0xed, 0xb7, 0x86, 0x8d, 0x90, 0x1e,
2305	0xbe, 0x9c, 0x73, 0x1a, 0x7c, 0x18, 0xb5, 0xe6,
2306	0xde, 0xc1, 0xd6, 0xa7, 0x2e, 0x07, 0x8a, 0xc9,
2307	0xa4, 0x26, 0x2f, 0x86, 0x0b, 0xee, 0xfa, 0x14,
2308	0xf4, 0xe8, 0x21, 0x01, 0x82, 0x72, 0xe4, 0x11,
2309	0xa9, 0x51, 0x50, 0x2b, 0x6e, 0x79, 0x06, 0x6e,
2310	0x84, 0x25, 0x2c, 0x33, 0x46, 0xf3, 0xaa, 0x62,
2311	0x34, 0x43, 0x51, 0xa2, 0x91, 0xd4, 0xbe, 0xdc,
2312	0x7a, 0x07, 0x61, 0x8b, 0xde, 0xa2, 0xaf, 0x63,
2313	0x14, 0x5c, 0xc7, 0xa4, 0xb8, 0xd4, 0x07, 0x06,
2314	0x91, 0xae, 0x89, 0x0c, 0xd6, 0x57, 0x33, 0xe7,
2315	0x94, 0x6e, 0x90, 0x21, 0xa1, 0xdf, 0xfc, 0x4c,
2316	0x59, 0xf1, 0x59, 0x42, 0x5e, 0xe6, 0xd5, 0x0c,
2317	0xa9, 0xb1, 0x35, 0xfa, 0x61, 0x62, 0xce, 0xa1,
2318	0x8a, 0x93, 0x98, 0x38, 0xdc, 0x00, 0x0f, 0xb3,
2319	0x86, 0xfa, 0xd0, 0x86, 0xac, 0xce, 0x5a, 0xc0,
2320	0x7c, 0xb2, 0xec, 0xe7, 0xfd, 0x58, 0x0b, 0x00,
2321	0xcf, 0xa5, 0xe9, 0x85, 0x89, 0x63, 0x1d, 0xc2,
2322	0x5e, 0x8e, 0x2a, 0x3d, 0xaf, 0x2f, 0xfd, 0xec,
2323	0x26, 0x53, 0x16, 0x59, 0x91, 0x2c, 0x9d, 0x8f,
2324	0x7a, 0x15, 0xe5, 0x86, 0x5e, 0xa8, 0xfb, 0x58,
2325	0x16, 0xd6, 0x20, 0x70, 0x52, 0xbd, 0x71, 0x28,
2326	0xcd, 0x74, 0x3c, 0x12, 0xc8, 0x11, 0x87, 0x91,
2327	0xa4, 0x73, 0x68, 0x11, 0x93, 0x5e, 0xb9, 0x82,
2328	0xa5, 0x32, 0x34, 0x9e, 0x31, 0xdd, 0x40, 0x1e,
2329	0x0b, 0x66, 0x0a, 0x56, 0x8c, 0xb1, 0xa4, 0x71,
2330	0x1f, 0x55, 0x2f, 0x55, 0xde, 0xd5, 0x9f, 0x1f,
2331	0x15, 0xbf, 0x71, 0x96, 0xb3, 0xca, 0x12, 0xa9,
2332	0x1e, 0x48, 0x8e, 0xf5, 0x9d, 0x64, 0xf3, 0xa0,
2333	0x2b, 0xf4, 0x52, 0x39, 0x49, 0x9a, 0xc6, 0x17,
2334	0x6a, 0xe3, 0x21, 0xc4, 0xa2, 0x11, 0xec, 0x54,
2335	0x53, 0x65, 0x97, 0x1c, 0x5d, 0x3f, 0x4f, 0x09,
2336	0xd4, 0xeb, 0x13, 0x9b, 0xfd, 0xf2, 0x07, 0x3d,
2337	0x33, 0x18, 0x0b, 0x21, 0x00, 0x2b, 0x65, 0xcc,
2338	0x98, 0x65, 0xe7, 0x6c, 0xb2, 0x4c, 0xd9, 0x2c,
2339	0x87, 0x4c, 0x24, 0xc1, 0x83, 0x50, 0x39, 0x9a,
2340	0x93, 0x6a, 0xb3, 0x63, 0x70, 0x79, 0x29, 0x5d,
2341	0x76, 0xc4, 0x17, 0x77, 0x6b, 0x94, 0xef, 0xce,
2342	0x3a, 0x0e, 0xf7, 0x20, 0x6b, 0x15, 0x11, 0x05,
2343	0x19, 0x65, 0x5c, 0x95, 0x6c, 0xbd, 0x8b, 0x24,
2344	0x89, 0x40, 0x5e, 0xe2, 0xb0, 0x9a, 0x6b, 0x6e,
2345	0xeb, 0xe0, 0xc5, 0x37, 0x90, 0xa1, 0x2a, 0x89,
2346	0x98, 0x37, 0x8b, 0x33, 0xa5, 0xb7, 0x11, 0x59,
2347	0x62, 0x5f, 0x4b, 0xa4, 0x9d, 0x2a, 0x2f, 0xdb,
2348	0xa5, 0x9f, 0xbf, 0x08, 0x97, 0xbc, 0x7a, 0xab,
2349	0xd8, 0xd7, 0x07, 0xdc, 0x14, 0x0a, 0x80, 0xf0,
2350	0xf3, 0x09, 0xf8, 0x35, 0xd3, 0xda, 0x54, 0xab,
2351	0x58, 0x4e, 0x50, 0x1d, 0xfa, 0x0e, 0xe9, 0x77,
2352	0xfe, 0xc5, 0x43, 0xf7, 0x41, 0x86, 0xa8, 0x02,
2353	0xb9, 0xa3, 0x7a, 0xdb, 0x3e, 0x82, 0x91, 0xec,
2354	0xa0, 0x4d, 0x66, 0x52, 0x0d, 0x22, 0x9e, 0x60,
2355	0x40, 0x1e, 0x72, 0x82, 0xbe, 0xf4, 0x86, 0xae,
2356	0x05, 0x9a, 0xa7, 0x06, 0x96, 0xe0, 0xe3, 0x05,
2357	0xd7, 0x77, 0x14, 0x0a, 0x7a, 0x88, 0x3e, 0xcd,
2358	0xcb, 0x69, 0xb9, 0xff, 0x93, 0x8e, 0x8a, 0x42,
2359	0x31, 0x86, 0x4c, 0x69, 0xca, 0x2c, 0x20, 0x43,
2360	0xbe, 0xd0, 0x07, 0xff, 0x3e, 0x60, 0x5e, 0x01,
2361	0x4b, 0xcf, 0x51, 0x81, 0x38, 0xdc, 0x3a, 0x25,
2362	0xc5, 0xe2, 0x36, 0x17, 0x1a, 0x2d, 0x01, 0xd6,
2363};
2364
2365/*
2366 * Vector 7 from IEEE 1619/D16, blkno 0xfd.
2367 */
2368static const uint8_t aes_xts_256_vec7_ptxt[SECSIZE] = {
2369	0x8e, 0x41, 0xb7, 0x8c, 0x39, 0x0b, 0x5a, 0xf9,
2370	0xd7, 0x58, 0xbb, 0x21, 0x4a, 0x67, 0xe9, 0xf6,
2371	0xbf, 0x77, 0x27, 0xb0, 0x9a, 0xc6, 0x12, 0x40,
2372	0x84, 0xc3, 0x76, 0x11, 0x39, 0x8f, 0xa4, 0x5d,
2373	0xaa, 0xd9, 0x48, 0x68, 0x60, 0x0e, 0xd3, 0x91,
2374	0xfb, 0x1a, 0xcd, 0x48, 0x57, 0xa9, 0x5b, 0x46,
2375	0x6e, 0x62, 0xef, 0x9f, 0x4b, 0x37, 0x72, 0x44,
2376	0xd1, 0xc1, 0x52, 0xe7, 0xb3, 0x0d, 0x73, 0x1a,
2377	0xad, 0x30, 0xc7, 0x16, 0xd2, 0x14, 0xb7, 0x07,
2378	0xae, 0xd9, 0x9e, 0xb5, 0xb5, 0xe5, 0x80, 0xb3,
2379	0xe8, 0x87, 0xcf, 0x74, 0x97, 0x46, 0x56, 0x51,
2380	0xd4, 0xb6, 0x0e, 0x60, 0x42, 0x05, 0x1d, 0xa3,
2381	0x69, 0x3c, 0x3b, 0x78, 0xc1, 0x44, 0x89, 0x54,
2382	0x3b, 0xe8, 0xb6, 0xad, 0x0b, 0xa6, 0x29, 0x56,
2383	0x5b, 0xba, 0x20, 0x23, 0x13, 0xba, 0x7b, 0x0d,
2384	0x0c, 0x94, 0xa3, 0x25, 0x2b, 0x67, 0x6f, 0x46,
2385	0xcc, 0x02, 0xce, 0x0f, 0x8a, 0x7d, 0x34, 0xc0,
2386	0xed, 0x22, 0x91, 0x29, 0x67, 0x3c, 0x1f, 0x61,
2387	0xae, 0xd5, 0x79, 0xd0, 0x8a, 0x92, 0x03, 0xa2,
2388	0x5a, 0xac, 0x3a, 0x77, 0xe9, 0xdb, 0x60, 0x26,
2389	0x79, 0x96, 0xdb, 0x38, 0xdf, 0x63, 0x73, 0x56,
2390	0xd9, 0xdc, 0xd1, 0x63, 0x2e, 0x36, 0x99, 0x39,
2391	0xf2, 0xa2, 0x9d, 0x89, 0x34, 0x5c, 0x66, 0xe0,
2392	0x50, 0x66, 0xf1, 0xa3, 0x67, 0x7a, 0xef, 0x18,
2393	0xde, 0xa4, 0x11, 0x3f, 0xae, 0xb6, 0x29, 0xe4,
2394	0x67, 0x21, 0xa6, 0x6d, 0x0a, 0x7e, 0x78, 0x5d,
2395	0x3e, 0x29, 0xaf, 0x25, 0x94, 0xeb, 0x67, 0xdf,
2396	0xa9, 0x82, 0xaf, 0xfe, 0x0a, 0xac, 0x05, 0x8f,
2397	0x6e, 0x15, 0x86, 0x42, 0x69, 0xb1, 0x35, 0x41,
2398	0x82, 0x61, 0xfc, 0x3a, 0xfb, 0x08, 0x94, 0x72,
2399	0xcf, 0x68, 0xc4, 0x5d, 0xd7, 0xf2, 0x31, 0xc6,
2400	0x24, 0x9b, 0xa0, 0x25, 0x5e, 0x1e, 0x03, 0x38,
2401	0x33, 0xfc, 0x4d, 0x00, 0xa3, 0xfe, 0x02, 0x13,
2402	0x2d, 0x7b, 0xc3, 0x87, 0x36, 0x14, 0xb8, 0xae,
2403	0xe3, 0x42, 0x73, 0x58, 0x1e, 0xa0, 0x32, 0x5c,
2404	0x81, 0xf0, 0x27, 0x0a, 0xff, 0xa1, 0x36, 0x41,
2405	0xd0, 0x52, 0xd3, 0x6f, 0x07, 0x57, 0xd4, 0x84,
2406	0x01, 0x43, 0x54, 0xd0, 0x2d, 0x68, 0x83, 0xca,
2407	0x15, 0xc2, 0x4d, 0x8c, 0x39, 0x56, 0xb1, 0xbd,
2408	0x02, 0x7b, 0xcf, 0x41, 0xf1, 0x51, 0xfd, 0x80,
2409	0x23, 0xc5, 0x34, 0x0e, 0x56, 0x06, 0xf3, 0x7e,
2410	0x90, 0xfd, 0xb8, 0x7c, 0x86, 0xfb, 0x4f, 0xa6,
2411	0x34, 0xb3, 0x71, 0x8a, 0x30, 0xba, 0xce, 0x06,
2412	0xa6, 0x6e, 0xaf, 0x8f, 0x63, 0xc4, 0xaa, 0x3b,
2413	0x63, 0x78, 0x26, 0xa8, 0x7f, 0xe8, 0xcf, 0xa4,
2414	0x42, 0x82, 0xe9, 0x2c, 0xb1, 0x61, 0x5a, 0xf3,
2415	0xa2, 0x8e, 0x53, 0xbc, 0x74, 0xc7, 0xcb, 0xa1,
2416	0xa0, 0x97, 0x7b, 0xe9, 0x06, 0x5d, 0x0c, 0x1a,
2417	0x5d, 0xec, 0x6c, 0x54, 0xae, 0x38, 0xd3, 0x7f,
2418	0x37, 0xaa, 0x35, 0x28, 0x3e, 0x04, 0x8e, 0x55,
2419	0x30, 0xa8, 0x5c, 0x4e, 0x7a, 0x29, 0xd7, 0xb9,
2420	0x2e, 0xc0, 0xc3, 0x16, 0x9c, 0xdf, 0x2a, 0x80,
2421	0x5c, 0x76, 0x04, 0xbc, 0xe6, 0x00, 0x49, 0xb9,
2422	0xfb, 0x7b, 0x8e, 0xaa, 0xc1, 0x0f, 0x51, 0xae,
2423	0x23, 0x79, 0x4c, 0xeb, 0xa6, 0x8b, 0xb5, 0x81,
2424	0x12, 0xe2, 0x93, 0xb9, 0xb6, 0x92, 0xca, 0x72,
2425	0x1b, 0x37, 0xc6, 0x62, 0xf8, 0x57, 0x4e, 0xd4,
2426	0xdb, 0xa6, 0xf8, 0x8e, 0x17, 0x08, 0x81, 0xc8,
2427	0x2c, 0xdd, 0xc1, 0x03, 0x4a, 0x0c, 0xa7, 0xe2,
2428	0x84, 0xbf, 0x09, 0x62, 0xb6, 0xb2, 0x62, 0x92,
2429	0xd8, 0x36, 0xfa, 0x9f, 0x73, 0xc1, 0xac, 0x77,
2430	0x0e, 0xef, 0x0f, 0x2d, 0x3a, 0x1e, 0xaf, 0x61,
2431	0xd3, 0xe0, 0x35, 0x55, 0xfd, 0x42, 0x4e, 0xed,
2432	0xd6, 0x7e, 0x18, 0xa1, 0x80, 0x94, 0xf8, 0x88,
2433};
2434
2435static const uint8_t aes_xts_256_vec7_ctxt[SECSIZE] = {
2436	0xd5, 0x5f, 0x68, 0x4f, 0x81, 0xf4, 0x42, 0x6e,
2437	0x9f, 0xde, 0x92, 0xa5, 0xff, 0x02, 0xdf, 0x2a,
2438	0xc8, 0x96, 0xaf, 0x63, 0x96, 0x28, 0x88, 0xa9,
2439	0x79, 0x10, 0xc1, 0x37, 0x9e, 0x20, 0xb0, 0xa3,
2440	0xb1, 0xdb, 0x61, 0x3f, 0xb7, 0xfe, 0x2e, 0x07,
2441	0x00, 0x43, 0x29, 0xea, 0x5c, 0x22, 0xbf, 0xd3,
2442	0x3e, 0x3d, 0xbe, 0x4c, 0xf5, 0x8c, 0xc6, 0x08,
2443	0xc2, 0xc2, 0x6c, 0x19, 0xa2, 0xe2, 0xfe, 0x22,
2444	0xf9, 0x87, 0x32, 0xc2, 0xb5, 0xcb, 0x84, 0x4c,
2445	0xc6, 0xc0, 0x70, 0x2d, 0x91, 0xe1, 0xd5, 0x0f,
2446	0xc4, 0x38, 0x2a, 0x7e, 0xba, 0x56, 0x35, 0xcd,
2447	0x60, 0x24, 0x32, 0xa2, 0x30, 0x6a, 0xc4, 0xce,
2448	0x82, 0xf8, 0xd7, 0x0c, 0x8d, 0x9b, 0xc1, 0x5f,
2449	0x91, 0x8f, 0xe7, 0x1e, 0x74, 0xc6, 0x22, 0xd5,
2450	0xcf, 0x71, 0x17, 0x8b, 0xf6, 0xe0, 0xb9, 0xcc,
2451	0x9f, 0x2b, 0x41, 0xdd, 0x8d, 0xbe, 0x44, 0x1c,
2452	0x41, 0xcd, 0x0c, 0x73, 0xa6, 0xdc, 0x47, 0xa3,
2453	0x48, 0xf6, 0x70, 0x2f, 0x9d, 0x0e, 0x9b, 0x1b,
2454	0x14, 0x31, 0xe9, 0x48, 0xe2, 0x99, 0xb9, 0xec,
2455	0x22, 0x72, 0xab, 0x2c, 0x5f, 0x0c, 0x7b, 0xe8,
2456	0x6a, 0xff, 0xa5, 0xde, 0xc8, 0x7a, 0x0b, 0xee,
2457	0x81, 0xd3, 0xd5, 0x00, 0x07, 0xed, 0xaa, 0x2b,
2458	0xcf, 0xcc, 0xb3, 0x56, 0x05, 0x15, 0x5f, 0xf3,
2459	0x6e, 0xd8, 0xed, 0xd4, 0xa4, 0x0d, 0xcd, 0x4b,
2460	0x24, 0x3a, 0xcd, 0x11, 0xb2, 0xb9, 0x87, 0xbd,
2461	0xbf, 0xaf, 0x91, 0xa7, 0xca, 0xc2, 0x7e, 0x9c,
2462	0x5a, 0xea, 0x52, 0x5e, 0xe5, 0x3d, 0xe7, 0xb2,
2463	0xd3, 0x33, 0x2c, 0x86, 0x44, 0x40, 0x2b, 0x82,
2464	0x3e, 0x94, 0xa7, 0xdb, 0x26, 0x27, 0x6d, 0x2d,
2465	0x23, 0xaa, 0x07, 0x18, 0x0f, 0x76, 0xb4, 0xfd,
2466	0x29, 0xb9, 0xc0, 0x82, 0x30, 0x99, 0xc9, 0xd6,
2467	0x2c, 0x51, 0x98, 0x80, 0xae, 0xe7, 0xe9, 0x69,
2468	0x76, 0x17, 0xc1, 0x49, 0x7d, 0x47, 0xbf, 0x3e,
2469	0x57, 0x19, 0x50, 0x31, 0x14, 0x21, 0xb6, 0xb7,
2470	0x34, 0xd3, 0x8b, 0x0d, 0xb9, 0x1e, 0xb8, 0x53,
2471	0x31, 0xb9, 0x1e, 0xa9, 0xf6, 0x15, 0x30, 0xf5,
2472	0x45, 0x12, 0xa5, 0xa5, 0x2a, 0x4b, 0xad, 0x58,
2473	0x9e, 0xb6, 0x97, 0x81, 0xd5, 0x37, 0xf2, 0x32,
2474	0x97, 0xbb, 0x45, 0x9b, 0xda, 0xd2, 0x94, 0x8a,
2475	0x29, 0xe1, 0x55, 0x0b, 0xf4, 0x78, 0x7e, 0x0b,
2476	0xe9, 0x5b, 0xb1, 0x73, 0xcf, 0x5f, 0xab, 0x17,
2477	0xda, 0xb7, 0xa1, 0x3a, 0x05, 0x2a, 0x63, 0x45,
2478	0x3d, 0x97, 0xcc, 0xec, 0x1a, 0x32, 0x19, 0x54,
2479	0x88, 0x6b, 0x7a, 0x12, 0x99, 0xfa, 0xae, 0xec,
2480	0xae, 0x35, 0xc6, 0xea, 0xac, 0xa7, 0x53, 0xb0,
2481	0x41, 0xb5, 0xe5, 0xf0, 0x93, 0xbf, 0x83, 0x39,
2482	0x7f, 0xd2, 0x1d, 0xd6, 0xb3, 0x01, 0x20, 0x66,
2483	0xfc, 0xc0, 0x58, 0xcc, 0x32, 0xc3, 0xb0, 0x9d,
2484	0x75, 0x62, 0xde, 0xe2, 0x95, 0x09, 0xb5, 0x83,
2485	0x93, 0x92, 0xc9, 0xff, 0x05, 0xf5, 0x1f, 0x31,
2486	0x66, 0xaa, 0xac, 0x4a, 0xc5, 0xf2, 0x38, 0x03,
2487	0x8a, 0x30, 0x45, 0xe6, 0xf7, 0x2e, 0x48, 0xef,
2488	0x0f, 0xe8, 0xbc, 0x67, 0x5e, 0x82, 0xc3, 0x18,
2489	0xa2, 0x68, 0xe4, 0x39, 0x70, 0x27, 0x1b, 0xf1,
2490	0x19, 0xb8, 0x1b, 0xf6, 0xa9, 0x82, 0x74, 0x65,
2491	0x54, 0xf8, 0x4e, 0x72, 0xb9, 0xf0, 0x02, 0x80,
2492	0xa3, 0x20, 0xa0, 0x81, 0x42, 0x92, 0x3c, 0x23,
2493	0xc8, 0x83, 0x42, 0x3f, 0xf9, 0x49, 0x82, 0x7f,
2494	0x29, 0xbb, 0xac, 0xdc, 0x1c, 0xcd, 0xb0, 0x49,
2495	0x38, 0xce, 0x60, 0x98, 0xc9, 0x5b, 0xa6, 0xb3,
2496	0x25, 0x28, 0xf4, 0xef, 0x78, 0xee, 0xd7, 0x78,
2497	0xb2, 0xe1, 0x22, 0xdd, 0xfd, 0x1c, 0xbd, 0xd1,
2498	0x1d, 0x1c, 0x0a, 0x67, 0x83, 0xe0, 0x11, 0xfc,
2499	0x53, 0x6d, 0x63, 0xd0, 0x53, 0x26, 0x06, 0x37,
2500};
2501
2502/*
2503 * Vector 8 from IEEE 1619/D16, blkno 0xfe.
2504 */
2505static const uint8_t aes_xts_256_vec8_ptxt[SECSIZE] = {
2506	0xd5, 0x5f, 0x68, 0x4f, 0x81, 0xf4, 0x42, 0x6e,
2507	0x9f, 0xde, 0x92, 0xa5, 0xff, 0x02, 0xdf, 0x2a,
2508	0xc8, 0x96, 0xaf, 0x63, 0x96, 0x28, 0x88, 0xa9,
2509	0x79, 0x10, 0xc1, 0x37, 0x9e, 0x20, 0xb0, 0xa3,
2510	0xb1, 0xdb, 0x61, 0x3f, 0xb7, 0xfe, 0x2e, 0x07,
2511	0x00, 0x43, 0x29, 0xea, 0x5c, 0x22, 0xbf, 0xd3,
2512	0x3e, 0x3d, 0xbe, 0x4c, 0xf5, 0x8c, 0xc6, 0x08,
2513	0xc2, 0xc2, 0x6c, 0x19, 0xa2, 0xe2, 0xfe, 0x22,
2514	0xf9, 0x87, 0x32, 0xc2, 0xb5, 0xcb, 0x84, 0x4c,
2515	0xc6, 0xc0, 0x70, 0x2d, 0x91, 0xe1, 0xd5, 0x0f,
2516	0xc4, 0x38, 0x2a, 0x7e, 0xba, 0x56, 0x35, 0xcd,
2517	0x60, 0x24, 0x32, 0xa2, 0x30, 0x6a, 0xc4, 0xce,
2518	0x82, 0xf8, 0xd7, 0x0c, 0x8d, 0x9b, 0xc1, 0x5f,
2519	0x91, 0x8f, 0xe7, 0x1e, 0x74, 0xc6, 0x22, 0xd5,
2520	0xcf, 0x71, 0x17, 0x8b, 0xf6, 0xe0, 0xb9, 0xcc,
2521	0x9f, 0x2b, 0x41, 0xdd, 0x8d, 0xbe, 0x44, 0x1c,
2522	0x41, 0xcd, 0x0c, 0x73, 0xa6, 0xdc, 0x47, 0xa3,
2523	0x48, 0xf6, 0x70, 0x2f, 0x9d, 0x0e, 0x9b, 0x1b,
2524	0x14, 0x31, 0xe9, 0x48, 0xe2, 0x99, 0xb9, 0xec,
2525	0x22, 0x72, 0xab, 0x2c, 0x5f, 0x0c, 0x7b, 0xe8,
2526	0x6a, 0xff, 0xa5, 0xde, 0xc8, 0x7a, 0x0b, 0xee,
2527	0x81, 0xd3, 0xd5, 0x00, 0x07, 0xed, 0xaa, 0x2b,
2528	0xcf, 0xcc, 0xb3, 0x56, 0x05, 0x15, 0x5f, 0xf3,
2529	0x6e, 0xd8, 0xed, 0xd4, 0xa4, 0x0d, 0xcd, 0x4b,
2530	0x24, 0x3a, 0xcd, 0x11, 0xb2, 0xb9, 0x87, 0xbd,
2531	0xbf, 0xaf, 0x91, 0xa7, 0xca, 0xc2, 0x7e, 0x9c,
2532	0x5a, 0xea, 0x52, 0x5e, 0xe5, 0x3d, 0xe7, 0xb2,
2533	0xd3, 0x33, 0x2c, 0x86, 0x44, 0x40, 0x2b, 0x82,
2534	0x3e, 0x94, 0xa7, 0xdb, 0x26, 0x27, 0x6d, 0x2d,
2535	0x23, 0xaa, 0x07, 0x18, 0x0f, 0x76, 0xb4, 0xfd,
2536	0x29, 0xb9, 0xc0, 0x82, 0x30, 0x99, 0xc9, 0xd6,
2537	0x2c, 0x51, 0x98, 0x80, 0xae, 0xe7, 0xe9, 0x69,
2538	0x76, 0x17, 0xc1, 0x49, 0x7d, 0x47, 0xbf, 0x3e,
2539	0x57, 0x19, 0x50, 0x31, 0x14, 0x21, 0xb6, 0xb7,
2540	0x34, 0xd3, 0x8b, 0x0d, 0xb9, 0x1e, 0xb8, 0x53,
2541	0x31, 0xb9, 0x1e, 0xa9, 0xf6, 0x15, 0x30, 0xf5,
2542	0x45, 0x12, 0xa5, 0xa5, 0x2a, 0x4b, 0xad, 0x58,
2543	0x9e, 0xb6, 0x97, 0x81, 0xd5, 0x37, 0xf2, 0x32,
2544	0x97, 0xbb, 0x45, 0x9b, 0xda, 0xd2, 0x94, 0x8a,
2545	0x29, 0xe1, 0x55, 0x0b, 0xf4, 0x78, 0x7e, 0x0b,
2546	0xe9, 0x5b, 0xb1, 0x73, 0xcf, 0x5f, 0xab, 0x17,
2547	0xda, 0xb7, 0xa1, 0x3a, 0x05, 0x2a, 0x63, 0x45,
2548	0x3d, 0x97, 0xcc, 0xec, 0x1a, 0x32, 0x19, 0x54,
2549	0x88, 0x6b, 0x7a, 0x12, 0x99, 0xfa, 0xae, 0xec,
2550	0xae, 0x35, 0xc6, 0xea, 0xac, 0xa7, 0x53, 0xb0,
2551	0x41, 0xb5, 0xe5, 0xf0, 0x93, 0xbf, 0x83, 0x39,
2552	0x7f, 0xd2, 0x1d, 0xd6, 0xb3, 0x01, 0x20, 0x66,
2553	0xfc, 0xc0, 0x58, 0xcc, 0x32, 0xc3, 0xb0, 0x9d,
2554	0x75, 0x62, 0xde, 0xe2, 0x95, 0x09, 0xb5, 0x83,
2555	0x93, 0x92, 0xc9, 0xff, 0x05, 0xf5, 0x1f, 0x31,
2556	0x66, 0xaa, 0xac, 0x4a, 0xc5, 0xf2, 0x38, 0x03,
2557	0x8a, 0x30, 0x45, 0xe6, 0xf7, 0x2e, 0x48, 0xef,
2558	0x0f, 0xe8, 0xbc, 0x67, 0x5e, 0x82, 0xc3, 0x18,
2559	0xa2, 0x68, 0xe4, 0x39, 0x70, 0x27, 0x1b, 0xf1,
2560	0x19, 0xb8, 0x1b, 0xf6, 0xa9, 0x82, 0x74, 0x65,
2561	0x54, 0xf8, 0x4e, 0x72, 0xb9, 0xf0, 0x02, 0x80,
2562	0xa3, 0x20, 0xa0, 0x81, 0x42, 0x92, 0x3c, 0x23,
2563	0xc8, 0x83, 0x42, 0x3f, 0xf9, 0x49, 0x82, 0x7f,
2564	0x29, 0xbb, 0xac, 0xdc, 0x1c, 0xcd, 0xb0, 0x49,
2565	0x38, 0xce, 0x60, 0x98, 0xc9, 0x5b, 0xa6, 0xb3,
2566	0x25, 0x28, 0xf4, 0xef, 0x78, 0xee, 0xd7, 0x78,
2567	0xb2, 0xe1, 0x22, 0xdd, 0xfd, 0x1c, 0xbd, 0xd1,
2568	0x1d, 0x1c, 0x0a, 0x67, 0x83, 0xe0, 0x11, 0xfc,
2569	0x53, 0x6d, 0x63, 0xd0, 0x53, 0x26, 0x06, 0x37,
2570};
2571
2572static const uint8_t aes_xts_256_vec8_ctxt[SECSIZE] = {
2573	0x72, 0xef, 0xc1, 0xeb, 0xfe, 0x1e, 0xe2, 0x59,
2574	0x75, 0xa6, 0xeb, 0x3a, 0xa8, 0x58, 0x9d, 0xda,
2575	0x2b, 0x26, 0x1f, 0x1c, 0x85, 0xbd, 0xab, 0x44,
2576	0x2a, 0x9e, 0x5b, 0x2d, 0xd1, 0xd7, 0xc3, 0x95,
2577	0x7a, 0x16, 0xfc, 0x08, 0xe5, 0x26, 0xd4, 0xb1,
2578	0x22, 0x3f, 0x1b, 0x12, 0x32, 0xa1, 0x1a, 0xf2,
2579	0x74, 0xc3, 0xd7, 0x0d, 0xac, 0x57, 0xf8, 0x3e,
2580	0x09, 0x83, 0xc4, 0x98, 0xf1, 0xa6, 0xf1, 0xae,
2581	0xcb, 0x02, 0x1c, 0x3e, 0x70, 0x08, 0x5a, 0x1e,
2582	0x52, 0x7f, 0x1c, 0xe4, 0x1e, 0xe5, 0x91, 0x1a,
2583	0x82, 0x02, 0x01, 0x61, 0x52, 0x9c, 0xd8, 0x27,
2584	0x73, 0x76, 0x2d, 0xaf, 0x54, 0x59, 0xde, 0x94,
2585	0xa0, 0xa8, 0x2a, 0xda, 0xe7, 0xe1, 0x70, 0x3c,
2586	0x80, 0x85, 0x43, 0xc2, 0x9e, 0xd6, 0xfb, 0x32,
2587	0xd9, 0xe0, 0x04, 0x32, 0x7c, 0x13, 0x55, 0x18,
2588	0x0c, 0x99, 0x5a, 0x07, 0x74, 0x14, 0x93, 0xa0,
2589	0x9c, 0x21, 0xba, 0x01, 0xa3, 0x87, 0x88, 0x2d,
2590	0xa4, 0xf6, 0x25, 0x34, 0xb8, 0x7b, 0xb1, 0x5d,
2591	0x60, 0xd1, 0x97, 0x20, 0x1c, 0x0f, 0xd3, 0xbf,
2592	0x30, 0xc1, 0x50, 0x0a, 0x3e, 0xcf, 0xec, 0xdd,
2593	0x66, 0xd8, 0x72, 0x1f, 0x90, 0xbc, 0xc4, 0xc1,
2594	0x7e, 0xe9, 0x25, 0xc6, 0x1b, 0x0a, 0x03, 0x72,
2595	0x7a, 0x9c, 0x0d, 0x5f, 0x5c, 0xa4, 0x62, 0xfb,
2596	0xfa, 0x0a, 0xf1, 0xc2, 0x51, 0x3a, 0x9d, 0x9d,
2597	0x4b, 0x53, 0x45, 0xbd, 0x27, 0xa5, 0xf6, 0xe6,
2598	0x53, 0xf7, 0x51, 0x69, 0x3e, 0x6b, 0x6a, 0x2b,
2599	0x8e, 0xad, 0x57, 0xd5, 0x11, 0xe0, 0x0e, 0x58,
2600	0xc4, 0x5b, 0x7b, 0x8d, 0x00, 0x5a, 0xf7, 0x92,
2601	0x88, 0xf5, 0xc7, 0xc2, 0x2f, 0xd4, 0xf1, 0xbf,
2602	0x7a, 0x89, 0x8b, 0x03, 0xa5, 0x63, 0x4c, 0x6a,
2603	0x1a, 0xe3, 0xf9, 0xfa, 0xe5, 0xde, 0x4f, 0x29,
2604	0x6a, 0x28, 0x96, 0xb2, 0x3e, 0x7e, 0xd4, 0x3e,
2605	0xd1, 0x4f, 0xa5, 0xa2, 0x80, 0x3f, 0x4d, 0x28,
2606	0xf0, 0xd3, 0xff, 0xcf, 0x24, 0x75, 0x76, 0x77,
2607	0xae, 0xbd, 0xb4, 0x7b, 0xb3, 0x88, 0x37, 0x87,
2608	0x08, 0x94, 0x8a, 0x8d, 0x41, 0x26, 0xed, 0x18,
2609	0x39, 0xe0, 0xda, 0x29, 0xa5, 0x37, 0xa8, 0xc1,
2610	0x98, 0xb3, 0xc6, 0x6a, 0xb0, 0x07, 0x12, 0xdd,
2611	0x26, 0x16, 0x74, 0xbf, 0x45, 0xa7, 0x3d, 0x67,
2612	0xf7, 0x69, 0x14, 0xf8, 0x30, 0xca, 0x01, 0x4b,
2613	0x65, 0x59, 0x6f, 0x27, 0xe4, 0xcf, 0x62, 0xde,
2614	0x66, 0x12, 0x5a, 0x55, 0x66, 0xdf, 0x99, 0x75,
2615	0x15, 0x56, 0x28, 0xb4, 0x00, 0xfb, 0xfb, 0x3a,
2616	0x29, 0x04, 0x0e, 0xd5, 0x0f, 0xaf, 0xfd, 0xbb,
2617	0x18, 0xae, 0xce, 0x7c, 0x5c, 0x44, 0x69, 0x32,
2618	0x60, 0xaa, 0xb3, 0x86, 0xc0, 0xa3, 0x7b, 0x11,
2619	0xb1, 0x14, 0xf1, 0xc4, 0x15, 0xae, 0xbb, 0x65,
2620	0x3b, 0xe4, 0x68, 0x17, 0x94, 0x28, 0xd4, 0x3a,
2621	0x4d, 0x8b, 0xc3, 0xec, 0x38, 0x81, 0x3e, 0xca,
2622	0x30, 0xa1, 0x3c, 0xf1, 0xbb, 0x18, 0xd5, 0x24,
2623	0xf1, 0x99, 0x2d, 0x44, 0xd8, 0xb1, 0xa4, 0x2e,
2624	0xa3, 0x0b, 0x22, 0xe6, 0xc9, 0x5b, 0x19, 0x9d,
2625	0x8d, 0x18, 0x2f, 0x88, 0x40, 0xb0, 0x9d, 0x05,
2626	0x95, 0x85, 0xc3, 0x1a, 0xd6, 0x91, 0xfa, 0x06,
2627	0x19, 0xff, 0x03, 0x8a, 0xca, 0x2c, 0x39, 0xa9,
2628	0x43, 0x42, 0x11, 0x57, 0x36, 0x17, 0x17, 0xc4,
2629	0x9d, 0x32, 0x20, 0x28, 0xa7, 0x46, 0x48, 0x11,
2630	0x3b, 0xd8, 0xc9, 0xd7, 0xec, 0x77, 0xcf, 0x3c,
2631	0x89, 0xc1, 0xec, 0x87, 0x18, 0xce, 0xff, 0x85,
2632	0x16, 0xd9, 0x6b, 0x34, 0xc3, 0xc6, 0x14, 0xf1,
2633	0x06, 0x99, 0xc9, 0xab, 0xc4, 0xed, 0x04, 0x11,
2634	0x50, 0x62, 0x23, 0xbe, 0xa1, 0x6a, 0xf3, 0x5c,
2635	0x88, 0x3a, 0xcc, 0xdb, 0xe1, 0x10, 0x4e, 0xef,
2636	0x0c, 0xfd, 0xb5, 0x4e, 0x12, 0xfb, 0x23, 0x0a,
2637};
2638
2639/*
2640 * Vector 9 from IEEE 1619/D16, blkno 0xff.
2641 */
2642static const uint8_t aes_xts_256_vec9_ptxt[SECSIZE] = {
2643	0x72, 0xef, 0xc1, 0xeb, 0xfe, 0x1e, 0xe2, 0x59,
2644	0x75, 0xa6, 0xeb, 0x3a, 0xa8, 0x58, 0x9d, 0xda,
2645	0x2b, 0x26, 0x1f, 0x1c, 0x85, 0xbd, 0xab, 0x44,
2646	0x2a, 0x9e, 0x5b, 0x2d, 0xd1, 0xd7, 0xc3, 0x95,
2647	0x7a, 0x16, 0xfc, 0x08, 0xe5, 0x26, 0xd4, 0xb1,
2648	0x22, 0x3f, 0x1b, 0x12, 0x32, 0xa1, 0x1a, 0xf2,
2649	0x74, 0xc3, 0xd7, 0x0d, 0xac, 0x57, 0xf8, 0x3e,
2650	0x09, 0x83, 0xc4, 0x98, 0xf1, 0xa6, 0xf1, 0xae,
2651	0xcb, 0x02, 0x1c, 0x3e, 0x70, 0x08, 0x5a, 0x1e,
2652	0x52, 0x7f, 0x1c, 0xe4, 0x1e, 0xe5, 0x91, 0x1a,
2653	0x82, 0x02, 0x01, 0x61, 0x52, 0x9c, 0xd8, 0x27,
2654	0x73, 0x76, 0x2d, 0xaf, 0x54, 0x59, 0xde, 0x94,
2655	0xa0, 0xa8, 0x2a, 0xda, 0xe7, 0xe1, 0x70, 0x3c,
2656	0x80, 0x85, 0x43, 0xc2, 0x9e, 0xd6, 0xfb, 0x32,
2657	0xd9, 0xe0, 0x04, 0x32, 0x7c, 0x13, 0x55, 0x18,
2658	0x0c, 0x99, 0x5a, 0x07, 0x74, 0x14, 0x93, 0xa0,
2659	0x9c, 0x21, 0xba, 0x01, 0xa3, 0x87, 0x88, 0x2d,
2660	0xa4, 0xf6, 0x25, 0x34, 0xb8, 0x7b, 0xb1, 0x5d,
2661	0x60, 0xd1, 0x97, 0x20, 0x1c, 0x0f, 0xd3, 0xbf,
2662	0x30, 0xc1, 0x50, 0x0a, 0x3e, 0xcf, 0xec, 0xdd,
2663	0x66, 0xd8, 0x72, 0x1f, 0x90, 0xbc, 0xc4, 0xc1,
2664	0x7e, 0xe9, 0x25, 0xc6, 0x1b, 0x0a, 0x03, 0x72,
2665	0x7a, 0x9c, 0x0d, 0x5f, 0x5c, 0xa4, 0x62, 0xfb,
2666	0xfa, 0x0a, 0xf1, 0xc2, 0x51, 0x3a, 0x9d, 0x9d,
2667	0x4b, 0x53, 0x45, 0xbd, 0x27, 0xa5, 0xf6, 0xe6,
2668	0x53, 0xf7, 0x51, 0x69, 0x3e, 0x6b, 0x6a, 0x2b,
2669	0x8e, 0xad, 0x57, 0xd5, 0x11, 0xe0, 0x0e, 0x58,
2670	0xc4, 0x5b, 0x7b, 0x8d, 0x00, 0x5a, 0xf7, 0x92,
2671	0x88, 0xf5, 0xc7, 0xc2, 0x2f, 0xd4, 0xf1, 0xbf,
2672	0x7a, 0x89, 0x8b, 0x03, 0xa5, 0x63, 0x4c, 0x6a,
2673	0x1a, 0xe3, 0xf9, 0xfa, 0xe5, 0xde, 0x4f, 0x29,
2674	0x6a, 0x28, 0x96, 0xb2, 0x3e, 0x7e, 0xd4, 0x3e,
2675	0xd1, 0x4f, 0xa5, 0xa2, 0x80, 0x3f, 0x4d, 0x28,
2676	0xf0, 0xd3, 0xff, 0xcf, 0x24, 0x75, 0x76, 0x77,
2677	0xae, 0xbd, 0xb4, 0x7b, 0xb3, 0x88, 0x37, 0x87,
2678	0x08, 0x94, 0x8a, 0x8d, 0x41, 0x26, 0xed, 0x18,
2679	0x39, 0xe0, 0xda, 0x29, 0xa5, 0x37, 0xa8, 0xc1,
2680	0x98, 0xb3, 0xc6, 0x6a, 0xb0, 0x07, 0x12, 0xdd,
2681	0x26, 0x16, 0x74, 0xbf, 0x45, 0xa7, 0x3d, 0x67,
2682	0xf7, 0x69, 0x14, 0xf8, 0x30, 0xca, 0x01, 0x4b,
2683	0x65, 0x59, 0x6f, 0x27, 0xe4, 0xcf, 0x62, 0xde,
2684	0x66, 0x12, 0x5a, 0x55, 0x66, 0xdf, 0x99, 0x75,
2685	0x15, 0x56, 0x28, 0xb4, 0x00, 0xfb, 0xfb, 0x3a,
2686	0x29, 0x04, 0x0e, 0xd5, 0x0f, 0xaf, 0xfd, 0xbb,
2687	0x18, 0xae, 0xce, 0x7c, 0x5c, 0x44, 0x69, 0x32,
2688	0x60, 0xaa, 0xb3, 0x86, 0xc0, 0xa3, 0x7b, 0x11,
2689	0xb1, 0x14, 0xf1, 0xc4, 0x15, 0xae, 0xbb, 0x65,
2690	0x3b, 0xe4, 0x68, 0x17, 0x94, 0x28, 0xd4, 0x3a,
2691	0x4d, 0x8b, 0xc3, 0xec, 0x38, 0x81, 0x3e, 0xca,
2692	0x30, 0xa1, 0x3c, 0xf1, 0xbb, 0x18, 0xd5, 0x24,
2693	0xf1, 0x99, 0x2d, 0x44, 0xd8, 0xb1, 0xa4, 0x2e,
2694	0xa3, 0x0b, 0x22, 0xe6, 0xc9, 0x5b, 0x19, 0x9d,
2695	0x8d, 0x18, 0x2f, 0x88, 0x40, 0xb0, 0x9d, 0x05,
2696	0x95, 0x85, 0xc3, 0x1a, 0xd6, 0x91, 0xfa, 0x06,
2697	0x19, 0xff, 0x03, 0x8a, 0xca, 0x2c, 0x39, 0xa9,
2698	0x43, 0x42, 0x11, 0x57, 0x36, 0x17, 0x17, 0xc4,
2699	0x9d, 0x32, 0x20, 0x28, 0xa7, 0x46, 0x48, 0x11,
2700	0x3b, 0xd8, 0xc9, 0xd7, 0xec, 0x77, 0xcf, 0x3c,
2701	0x89, 0xc1, 0xec, 0x87, 0x18, 0xce, 0xff, 0x85,
2702	0x16, 0xd9, 0x6b, 0x34, 0xc3, 0xc6, 0x14, 0xf1,
2703	0x06, 0x99, 0xc9, 0xab, 0xc4, 0xed, 0x04, 0x11,
2704	0x50, 0x62, 0x23, 0xbe, 0xa1, 0x6a, 0xf3, 0x5c,
2705	0x88, 0x3a, 0xcc, 0xdb, 0xe1, 0x10, 0x4e, 0xef,
2706	0x0c, 0xfd, 0xb5, 0x4e, 0x12, 0xfb, 0x23, 0x0a,
2707};
2708
2709static const uint8_t aes_xts_256_vec9_ctxt[SECSIZE] = {
2710	0x32, 0x60, 0xae, 0x8d, 0xad, 0x1f, 0x4a, 0x32,
2711	0xc5, 0xca, 0xfe, 0x3a, 0xb0, 0xeb, 0x95, 0x54,
2712	0x9d, 0x46, 0x1a, 0x67, 0xce, 0xb9, 0xe5, 0xaa,
2713	0x2d, 0x3a, 0xfb, 0x62, 0xde, 0xce, 0x05, 0x53,
2714	0x19, 0x3b, 0xa5, 0x0c, 0x75, 0xbe, 0x25, 0x1e,
2715	0x08, 0xd1, 0xd0, 0x8f, 0x10, 0x88, 0x57, 0x6c,
2716	0x7e, 0xfd, 0xfa, 0xaf, 0x3f, 0x45, 0x95, 0x59,
2717	0x57, 0x1e, 0x12, 0x51, 0x17, 0x53, 0xb0, 0x7a,
2718	0xf0, 0x73, 0xf3, 0x5d, 0xa0, 0x6a, 0xf0, 0xce,
2719	0x0b, 0xbf, 0x6b, 0x8f, 0x5c, 0xcc, 0x5c, 0xea,
2720	0x50, 0x0e, 0xc1, 0xb2, 0x11, 0xbd, 0x51, 0xf6,
2721	0x3b, 0x60, 0x6b, 0xf6, 0x52, 0x87, 0x96, 0xca,
2722	0x12, 0x17, 0x3b, 0xa3, 0x9b, 0x89, 0x35, 0xee,
2723	0x44, 0xcc, 0xce, 0x64, 0x6f, 0x90, 0xa4, 0x5b,
2724	0xf9, 0xcc, 0xc5, 0x67, 0xf0, 0xac, 0xe1, 0x3d,
2725	0xc2, 0xd5, 0x3e, 0xbe, 0xed, 0xc8, 0x1f, 0x58,
2726	0xb2, 0xe4, 0x11, 0x79, 0xdd, 0xdf, 0x0d, 0x5a,
2727	0x5c, 0x42, 0xf5, 0xd8, 0x50, 0x6c, 0x1a, 0x5d,
2728	0x2f, 0x8f, 0x59, 0xf3, 0xea, 0x87, 0x3c, 0xbc,
2729	0xd0, 0xee, 0xc1, 0x9a, 0xcb, 0xf3, 0x25, 0x42,
2730	0x3b, 0xd3, 0xdc, 0xb8, 0xc2, 0xb1, 0xbf, 0x1d,
2731	0x1e, 0xae, 0xd0, 0xeb, 0xa7, 0xf0, 0x69, 0x8e,
2732	0x43, 0x14, 0xfb, 0xeb, 0x2f, 0x15, 0x66, 0xd1,
2733	0xb9, 0x25, 0x30, 0x08, 0xcb, 0xcc, 0xf4, 0x5a,
2734	0x2b, 0x0d, 0x9c, 0x5c, 0x9c, 0x21, 0x47, 0x4f,
2735	0x40, 0x76, 0xe0, 0x2b, 0xe2, 0x60, 0x50, 0xb9,
2736	0x9d, 0xee, 0x4f, 0xd6, 0x8a, 0x4c, 0xf8, 0x90,
2737	0xe4, 0x96, 0xe4, 0xfc, 0xae, 0x7b, 0x70, 0xf9,
2738	0x4e, 0xa5, 0xa9, 0x06, 0x2d, 0xa0, 0xda, 0xeb,
2739	0xa1, 0x99, 0x3d, 0x2c, 0xcd, 0x1d, 0xd3, 0xc2,
2740	0x44, 0xb8, 0x42, 0x88, 0x01, 0x49, 0x5a, 0x58,
2741	0xb2, 0x16, 0x54, 0x7e, 0x7e, 0x84, 0x7c, 0x46,
2742	0xd1, 0xd7, 0x56, 0x37, 0x7b, 0x62, 0x42, 0xd2,
2743	0xe5, 0xfb, 0x83, 0xbf, 0x75, 0x2b, 0x54, 0xe0,
2744	0xdf, 0x71, 0xe8, 0x89, 0xf3, 0xa2, 0xbb, 0x0f,
2745	0x4c, 0x10, 0x80, 0x5b, 0xf3, 0xc5, 0x90, 0x37,
2746	0x6e, 0x3c, 0x24, 0xe2, 0x2f, 0xf5, 0x7f, 0x7f,
2747	0xa9, 0x65, 0x57, 0x73, 0x75, 0x32, 0x5c, 0xea,
2748	0x5d, 0x92, 0x0d, 0xb9, 0x4b, 0x9c, 0x33, 0x6b,
2749	0x45, 0x5f, 0x6e, 0x89, 0x4c, 0x01, 0x86, 0x6f,
2750	0xe9, 0xfb, 0xb8, 0xc8, 0xd3, 0xf7, 0x0a, 0x29,
2751	0x57, 0x28, 0x5f, 0x6d, 0xfb, 0x5d, 0xcd, 0x8c,
2752	0xbf, 0x54, 0x78, 0x2f, 0x8f, 0xe7, 0x76, 0x6d,
2753	0x47, 0x23, 0x81, 0x99, 0x13, 0xac, 0x77, 0x34,
2754	0x21, 0xe3, 0xa3, 0x10, 0x95, 0x86, 0x6b, 0xad,
2755	0x22, 0xc8, 0x6a, 0x60, 0x36, 0xb2, 0x51, 0x8b,
2756	0x20, 0x59, 0xb4, 0x22, 0x9d, 0x18, 0xc8, 0xc2,
2757	0xcc, 0xbd, 0xf9, 0x06, 0xc6, 0xcc, 0x6e, 0x82,
2758	0x46, 0x4e, 0xe5, 0x7b, 0xdd, 0xb0, 0xbe, 0xbc,
2759	0xb1, 0xdc, 0x64, 0x53, 0x25, 0xbf, 0xb3, 0xe6,
2760	0x65, 0xef, 0x72, 0x51, 0x08, 0x2c, 0x88, 0xeb,
2761	0xb1, 0xcf, 0x20, 0x3b, 0xd7, 0x79, 0xfd, 0xd3,
2762	0x86, 0x75, 0x71, 0x3c, 0x8d, 0xaa, 0xdd, 0x17,
2763	0xe1, 0xca, 0xbe, 0xe4, 0x32, 0xb0, 0x97, 0x87,
2764	0xb6, 0xdd, 0xf3, 0x30, 0x4e, 0x38, 0xb7, 0x31,
2765	0xb4, 0x5d, 0xf5, 0xdf, 0x51, 0xb7, 0x8f, 0xcf,
2766	0xb3, 0xd3, 0x24, 0x66, 0x02, 0x8d, 0x0b, 0xa3,
2767	0x65, 0x55, 0xe7, 0xe1, 0x1a, 0xb0, 0xee, 0x06,
2768	0x66, 0x06, 0x1d, 0x16, 0x45, 0xd9, 0x62, 0x44,
2769	0x4b, 0xc4, 0x7a, 0x38, 0x18, 0x89, 0x30, 0xa8,
2770	0x4b, 0x4d, 0x56, 0x13, 0x95, 0xc7, 0x3c, 0x08,
2771	0x70, 0x21, 0x92, 0x7c, 0xa6, 0x38, 0xb7, 0xaf,
2772	0xc8, 0xa8, 0x67, 0x9c, 0xcb, 0x84, 0xc2, 0x65,
2773	0x55, 0x44, 0x0e, 0xc7, 0xf1, 0x04, 0x45, 0xcd,
2774};
2775
2776const struct testvec aes_xts_256_vectors[] = {
2777	{
2778		.blkno = 0,
2779		.ptxt = aes_xts_256_vec4_ptxt,
2780		.ctxt = aes_xts_256_vec4_ctxt,
2781	},
2782	{
2783		.blkno = 1,
2784		.ptxt = aes_xts_256_vec5_ptxt,
2785		.ctxt = aes_xts_256_vec5_ctxt,
2786	},
2787	{
2788		.blkno = 2,
2789		.ptxt = aes_xts_256_vec6_ptxt,
2790		.ctxt = aes_xts_256_vec6_ctxt,
2791	},
2792	{
2793		.blkno = 0xfd,
2794		.ptxt = aes_xts_256_vec7_ptxt,
2795		.ctxt = aes_xts_256_vec7_ctxt,
2796	},
2797	{
2798		.blkno = 0xfe,
2799		.ptxt = aes_xts_256_vec8_ptxt,
2800		.ctxt = aes_xts_256_vec8_ctxt,
2801	},
2802	{
2803		.blkno = 0xff,
2804		.ptxt = aes_xts_256_vec9_ptxt,
2805		.ctxt = aes_xts_256_vec9_ctxt,
2806	},
2807};
2808
2809/*
2810 * Vector 10 from IEEE 1619/D16, blkno 0xff.
2811 */
2812static const uint8_t aes_xts_512_vec10_ptxt[SECSIZE] = {
2813	0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2814	0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
2815	0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
2816	0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
2817	0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
2818	0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
2819	0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
2820	0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
2821	0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
2822	0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
2823	0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
2824	0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
2825	0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
2826	0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
2827	0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
2828	0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
2829	0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
2830	0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
2831	0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
2832	0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
2833	0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
2834	0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
2835	0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
2836	0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
2837	0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
2838	0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
2839	0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
2840	0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
2841	0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
2842	0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
2843	0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
2844	0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
2845	0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2846	0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
2847	0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
2848	0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
2849	0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
2850	0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
2851	0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
2852	0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
2853	0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
2854	0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
2855	0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
2856	0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
2857	0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
2858	0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
2859	0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
2860	0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
2861	0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
2862	0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
2863	0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
2864	0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
2865	0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
2866	0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
2867	0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
2868	0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
2869	0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
2870	0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
2871	0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
2872	0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
2873	0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
2874	0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
2875	0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
2876	0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
2877};
2878
2879static const uint8_t aes_xts_512_vec10_ctxt[SECSIZE] = {
2880	0x1c, 0x3b, 0x3a, 0x10, 0x2f, 0x77, 0x03, 0x86,
2881	0xe4, 0x83, 0x6c, 0x99, 0xe3, 0x70, 0xcf, 0x9b,
2882	0xea, 0x00, 0x80, 0x3f, 0x5e, 0x48, 0x23, 0x57,
2883	0xa4, 0xae, 0x12, 0xd4, 0x14, 0xa3, 0xe6, 0x3b,
2884	0x5d, 0x31, 0xe2, 0x76, 0xf8, 0xfe, 0x4a, 0x8d,
2885	0x66, 0xb3, 0x17, 0xf9, 0xac, 0x68, 0x3f, 0x44,
2886	0x68, 0x0a, 0x86, 0xac, 0x35, 0xad, 0xfc, 0x33,
2887	0x45, 0xbe, 0xfe, 0xcb, 0x4b, 0xb1, 0x88, 0xfd,
2888	0x57, 0x76, 0x92, 0x6c, 0x49, 0xa3, 0x09, 0x5e,
2889	0xb1, 0x08, 0xfd, 0x10, 0x98, 0xba, 0xec, 0x70,
2890	0xaa, 0xa6, 0x69, 0x99, 0xa7, 0x2a, 0x82, 0xf2,
2891	0x7d, 0x84, 0x8b, 0x21, 0xd4, 0xa7, 0x41, 0xb0,
2892	0xc5, 0xcd, 0x4d, 0x5f, 0xff, 0x9d, 0xac, 0x89,
2893	0xae, 0xba, 0x12, 0x29, 0x61, 0xd0, 0x3a, 0x75,
2894	0x71, 0x23, 0xe9, 0x87, 0x0f, 0x8a, 0xcf, 0x10,
2895	0x00, 0x02, 0x08, 0x87, 0x89, 0x14, 0x29, 0xca,
2896	0x2a, 0x3e, 0x7a, 0x7d, 0x7d, 0xf7, 0xb1, 0x03,
2897	0x55, 0x16, 0x5c, 0x8b, 0x9a, 0x6d, 0x0a, 0x7d,
2898	0xe8, 0xb0, 0x62, 0xc4, 0x50, 0x0d, 0xc4, 0xcd,
2899	0x12, 0x0c, 0x0f, 0x74, 0x18, 0xda, 0xe3, 0xd0,
2900	0xb5, 0x78, 0x1c, 0x34, 0x80, 0x3f, 0xa7, 0x54,
2901	0x21, 0xc7, 0x90, 0xdf, 0xe1, 0xde, 0x18, 0x34,
2902	0xf2, 0x80, 0xd7, 0x66, 0x7b, 0x32, 0x7f, 0x6c,
2903	0x8c, 0xd7, 0x55, 0x7e, 0x12, 0xac, 0x3a, 0x0f,
2904	0x93, 0xec, 0x05, 0xc5, 0x2e, 0x04, 0x93, 0xef,
2905	0x31, 0xa1, 0x2d, 0x3d, 0x92, 0x60, 0xf7, 0x9a,
2906	0x28, 0x9d, 0x6a, 0x37, 0x9b, 0xc7, 0x0c, 0x50,
2907	0x84, 0x14, 0x73, 0xd1, 0xa8, 0xcc, 0x81, 0xec,
2908	0x58, 0x3e, 0x96, 0x45, 0xe0, 0x7b, 0x8d, 0x96,
2909	0x70, 0x65, 0x5b, 0xa5, 0xbb, 0xcf, 0xec, 0xc6,
2910	0xdc, 0x39, 0x66, 0x38, 0x0a, 0xd8, 0xfe, 0xcb,
2911	0x17, 0xb6, 0xba, 0x02, 0x46, 0x9a, 0x02, 0x0a,
2912	0x84, 0xe1, 0x8e, 0x8f, 0x84, 0x25, 0x20, 0x70,
2913	0xc1, 0x3e, 0x9f, 0x1f, 0x28, 0x9b, 0xe5, 0x4f,
2914	0xbc, 0x48, 0x14, 0x57, 0x77, 0x8f, 0x61, 0x60,
2915	0x15, 0xe1, 0x32, 0x7a, 0x02, 0xb1, 0x40, 0xf1,
2916	0x50, 0x5e, 0xb3, 0x09, 0x32, 0x6d, 0x68, 0x37,
2917	0x8f, 0x83, 0x74, 0x59, 0x5c, 0x84, 0x9d, 0x84,
2918	0xf4, 0xc3, 0x33, 0xec, 0x44, 0x23, 0x88, 0x51,
2919	0x43, 0xcb, 0x47, 0xbd, 0x71, 0xc5, 0xed, 0xae,
2920	0x9b, 0xe6, 0x9a, 0x2f, 0xfe, 0xce, 0xb1, 0xbe,
2921	0xc9, 0xde, 0x24, 0x4f, 0xbe, 0x15, 0x99, 0x2b,
2922	0x11, 0xb7, 0x7c, 0x04, 0x0f, 0x12, 0xbd, 0x8f,
2923	0x6a, 0x97, 0x5a, 0x44, 0xa0, 0xf9, 0x0c, 0x29,
2924	0xa9, 0xab, 0xc3, 0xd4, 0xd8, 0x93, 0x92, 0x72,
2925	0x84, 0xc5, 0x87, 0x54, 0xcc, 0xe2, 0x94, 0x52,
2926	0x9f, 0x86, 0x14, 0xdc, 0xd2, 0xab, 0xa9, 0x91,
2927	0x92, 0x5f, 0xed, 0xc4, 0xae, 0x74, 0xff, 0xac,
2928	0x6e, 0x33, 0x3b, 0x93, 0xeb, 0x4a, 0xff, 0x04,
2929	0x79, 0xda, 0x9a, 0x41, 0x0e, 0x44, 0x50, 0xe0,
2930	0xdd, 0x7a, 0xe4, 0xc6, 0xe2, 0x91, 0x09, 0x00,
2931	0x57, 0x5d, 0xa4, 0x01, 0xfc, 0x07, 0x05, 0x9f,
2932	0x64, 0x5e, 0x8b, 0x7e, 0x9b, 0xfd, 0xef, 0x33,
2933	0x94, 0x30, 0x54, 0xff, 0x84, 0x01, 0x14, 0x93,
2934	0xc2, 0x7b, 0x34, 0x29, 0xea, 0xed, 0xb4, 0xed,
2935	0x53, 0x76, 0x44, 0x1a, 0x77, 0xed, 0x43, 0x85,
2936	0x1a, 0xd7, 0x7f, 0x16, 0xf5, 0x41, 0xdf, 0xd2,
2937	0x69, 0xd5, 0x0d, 0x6a, 0x5f, 0x14, 0xfb, 0x0a,
2938	0xab, 0x1c, 0xbb, 0x4c, 0x15, 0x50, 0xbe, 0x97,
2939	0xf7, 0xab, 0x40, 0x66, 0x19, 0x3c, 0x4c, 0xaa,
2940	0x77, 0x3d, 0xad, 0x38, 0x01, 0x4b, 0xd2, 0x09,
2941	0x2f, 0xa7, 0x55, 0xc8, 0x24, 0xbb, 0x5e, 0x54,
2942	0xc4, 0xf3, 0x6f, 0xfd, 0xa9, 0xfc, 0xea, 0x70,
2943	0xb9, 0xc6, 0xe6, 0x93, 0xe1, 0x48, 0xc1, 0x51,
2944};
2945
2946/*
2947 * Vector 11 from IEEE 1619/D16, blkno 0xffff.
2948 */
2949static const uint8_t aes_xts_512_vec11_ptxt[SECSIZE] = {
2950	0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2951	0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
2952	0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
2953	0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
2954	0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
2955	0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
2956	0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
2957	0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
2958	0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
2959	0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
2960	0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
2961	0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
2962	0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
2963	0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
2964	0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
2965	0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
2966	0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
2967	0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
2968	0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
2969	0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
2970	0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
2971	0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
2972	0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
2973	0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
2974	0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
2975	0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
2976	0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
2977	0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
2978	0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
2979	0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
2980	0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
2981	0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
2982	0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2983	0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
2984	0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
2985	0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
2986	0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
2987	0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
2988	0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
2989	0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
2990	0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
2991	0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
2992	0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
2993	0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
2994	0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
2995	0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
2996	0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
2997	0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
2998	0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
2999	0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
3000	0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
3001	0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
3002	0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
3003	0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
3004	0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
3005	0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
3006	0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
3007	0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
3008	0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
3009	0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
3010	0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
3011	0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
3012	0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
3013	0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
3014};
3015
3016static const uint8_t aes_xts_512_vec11_ctxt[SECSIZE] = {
3017	0x77, 0xa3, 0x12, 0x51, 0x61, 0x8a, 0x15, 0xe6,
3018	0xb9, 0x2d, 0x1d, 0x66, 0xdf, 0xfe, 0x7b, 0x50,
3019	0xb5, 0x0b, 0xad, 0x55, 0x23, 0x05, 0xba, 0x02,
3020	0x17, 0xa6, 0x10, 0x68, 0x8e, 0xff, 0x7e, 0x11,
3021	0xe1, 0xd0, 0x22, 0x54, 0x38, 0xe0, 0x93, 0x24,
3022	0x2d, 0x6d, 0xb2, 0x74, 0xfd, 0xe8, 0x01, 0xd4,
3023	0xca, 0xe0, 0x6f, 0x20, 0x92, 0xc7, 0x28, 0xb2,
3024	0x47, 0x85, 0x59, 0xdf, 0x58, 0xe8, 0x37, 0xc2,
3025	0x46, 0x9e, 0xe4, 0xa4, 0xfa, 0x79, 0x4e, 0x4b,
3026	0xbc, 0x7f, 0x39, 0xbc, 0x02, 0x6e, 0x3c, 0xb7,
3027	0x2c, 0x33, 0xb0, 0x88, 0x8f, 0x25, 0xb4, 0xac,
3028	0xf5, 0x6a, 0x2a, 0x98, 0x04, 0xf1, 0xce, 0x6d,
3029	0x3d, 0x6e, 0x1d, 0xc6, 0xca, 0x18, 0x1d, 0x4b,
3030	0x54, 0x61, 0x79, 0xd5, 0x55, 0x44, 0xaa, 0x77,
3031	0x60, 0xc4, 0x0d, 0x06, 0x74, 0x15, 0x39, 0xc7,
3032	0xe3, 0xcd, 0x9d, 0x2f, 0x66, 0x50, 0xb2, 0x01,
3033	0x3f, 0xd0, 0xee, 0xb8, 0xc2, 0xb8, 0xe3, 0xd8,
3034	0xd2, 0x40, 0xcc, 0xae, 0x2d, 0x4c, 0x98, 0x32,
3035	0x0a, 0x74, 0x42, 0xe1, 0xc8, 0xd7, 0x5a, 0x42,
3036	0xd6, 0xe6, 0xcf, 0xa4, 0xc2, 0xec, 0xa1, 0x79,
3037	0x8d, 0x15, 0x8c, 0x7a, 0xec, 0xdf, 0x82, 0x49,
3038	0x0f, 0x24, 0xbb, 0x9b, 0x38, 0xe1, 0x08, 0xbc,
3039	0xda, 0x12, 0xc3, 0xfa, 0xf9, 0xa2, 0x11, 0x41,
3040	0xc3, 0x61, 0x3b, 0x58, 0x36, 0x7f, 0x92, 0x2a,
3041	0xaa, 0x26, 0xcd, 0x22, 0xf2, 0x3d, 0x70, 0x8d,
3042	0xae, 0x69, 0x9a, 0xd7, 0xcb, 0x40, 0xa8, 0xad,
3043	0x0b, 0x6e, 0x27, 0x84, 0x97, 0x3d, 0xcb, 0x60,
3044	0x56, 0x84, 0xc0, 0x8b, 0x8d, 0x69, 0x98, 0xc6,
3045	0x9a, 0xac, 0x04, 0x99, 0x21, 0x87, 0x1e, 0xbb,
3046	0x65, 0x30, 0x1a, 0x46, 0x19, 0xca, 0x80, 0xec,
3047	0xb4, 0x85, 0xa3, 0x1d, 0x74, 0x42, 0x23, 0xce,
3048	0x8d, 0xdc, 0x23, 0x94, 0x82, 0x8d, 0x6a, 0x80,
3049	0x47, 0x0c, 0x09, 0x2f, 0x5b, 0xa4, 0x13, 0xc3,
3050	0x37, 0x8f, 0xa6, 0x05, 0x42, 0x55, 0xc6, 0xf9,
3051	0xdf, 0x44, 0x95, 0x86, 0x2b, 0xbb, 0x32, 0x87,
3052	0x68, 0x1f, 0x93, 0x1b, 0x68, 0x7c, 0x88, 0x8a,
3053	0xbf, 0x84, 0x4d, 0xfc, 0x8f, 0xc2, 0x83, 0x31,
3054	0xe5, 0x79, 0x92, 0x8c, 0xd1, 0x2b, 0xd2, 0x39,
3055	0x0a, 0xe1, 0x23, 0xcf, 0x03, 0x81, 0x8d, 0x14,
3056	0xde, 0xdd, 0xe5, 0xc0, 0xc2, 0x4c, 0x8a, 0xb0,
3057	0x18, 0xbf, 0xca, 0x75, 0xca, 0x09, 0x6f, 0x2d,
3058	0x53, 0x1f, 0x3d, 0x16, 0x19, 0xe7, 0x85, 0xf1,
3059	0xad, 0xa4, 0x37, 0xca, 0xb9, 0x2e, 0x98, 0x05,
3060	0x58, 0xb3, 0xdc, 0xe1, 0x47, 0x4a, 0xfb, 0x75,
3061	0xbf, 0xed, 0xbf, 0x8f, 0xf5, 0x4c, 0xb2, 0x61,
3062	0x8e, 0x02, 0x44, 0xc9, 0xac, 0x0d, 0x3c, 0x66,
3063	0xfb, 0x51, 0x59, 0x8c, 0xd2, 0xdb, 0x11, 0xf9,
3064	0xbe, 0x39, 0x79, 0x1a, 0xbe, 0x44, 0x7c, 0x63,
3065	0x09, 0x4f, 0x7c, 0x45, 0x3b, 0x7f, 0xf8, 0x7c,
3066	0xb5, 0xbb, 0x36, 0xb7, 0xc7, 0x9e, 0xfb, 0x08,
3067	0x72, 0xd1, 0x70, 0x58, 0xb8, 0x3b, 0x15, 0xab,
3068	0x08, 0x66, 0xad, 0x8a, 0x58, 0x65, 0x6c, 0x5a,
3069	0x7e, 0x20, 0xdb, 0xdf, 0x30, 0x8b, 0x24, 0x61,
3070	0xd9, 0x7c, 0x0e, 0xc0, 0x02, 0x4a, 0x27, 0x15,
3071	0x05, 0x52, 0x49, 0xcf, 0x3b, 0x47, 0x8d, 0xdd,
3072	0x47, 0x40, 0xde, 0x65, 0x4f, 0x75, 0xca, 0x68,
3073	0x6e, 0x0d, 0x73, 0x45, 0xc6, 0x9e, 0xd5, 0x0c,
3074	0xdc, 0x2a, 0x8b, 0x33, 0x2b, 0x1f, 0x88, 0x24,
3075	0x10, 0x8a, 0xc9, 0x37, 0xeb, 0x05, 0x05, 0x85,
3076	0x60, 0x8e, 0xe7, 0x34, 0x09, 0x7f, 0xc0, 0x90,
3077	0x54, 0xfb, 0xff, 0x89, 0xee, 0xae, 0xea, 0x79,
3078	0x1f, 0x4a, 0x7a, 0xb1, 0xf9, 0x86, 0x82, 0x94,
3079	0xa4, 0xf9, 0xe2, 0x7b, 0x42, 0xaf, 0x81, 0x00,
3080	0xcb, 0x9d, 0x59, 0xce, 0xf9, 0x64, 0x58, 0x03,
3081};
3082
3083const struct testvec aes_xts_512_vectors[] = {
3084	{
3085		.blkno = 0xff,
3086		.ptxt = aes_xts_512_vec10_ptxt,
3087		.ctxt = aes_xts_512_vec10_ctxt,
3088	},
3089	{
3090		.blkno = 0xffff,
3091		.ptxt = aes_xts_512_vec11_ptxt,
3092		.ctxt = aes_xts_512_vec11_ctxt,
3093	},
3094};
3095
3096static int
3097open_disk(const char *devpath, const char *imgpath, size_t size)
3098{
3099	int fd;
3100
3101	fd = open(imgpath, O_CREAT | O_RDWR | O_TRUNC, 0600);
3102	if (fd < 0)
3103		return -1;
3104
3105	if (ftruncate(fd, size) < 0)
3106		goto fail;
3107
3108	if (rump_pub_etfs_register_withsize(devpath,
3109	    imgpath, RUMP_ETFS_BLK, 0, size) < 0) {
3110		goto fail;
3111	}
3112
3113	unlink(imgpath);
3114	return fd;
3115fail:
3116	close(fd);
3117	unlink(imgpath);
3118	return -1;
3119}
3120
3121static int
3122open_cgd(int devno)
3123{
3124	char devpath[32];
3125
3126	sprintf(devpath, "/dev/rcgd%d%c", devno, getrawpartition() + 'a');
3127
3128	return rump_sys_open(devpath, O_RDWR, 0);
3129}
3130
3131static int
3132configure_cgd(int fd, const char *dkpath, const char *alg,
3133    const char *ivmethod, const char *key, size_t keylen)
3134{
3135	struct cgd_ioctl ci;
3136
3137	memset(&ci, 0, sizeof(ci));
3138	ci.ci_disk = dkpath;
3139	ci.ci_alg = alg;
3140	ci.ci_ivmethod = ivmethod;
3141	ci.ci_keylen = 8 * keylen - 8; /* Exclude the NUL terminator. */
3142	ci.ci_key = key;
3143	ci.ci_blocksize = 128;
3144
3145	return rump_sys_ioctl(fd, CGDIOCSET, &ci);
3146}
3147
3148static int
3149unconfigure_cgd(int fd)
3150{
3151	struct cgd_ioctl ci;
3152
3153	return rump_sys_ioctl(fd, CGDIOCCLR, &ci);
3154}
3155
3156static int
3157write_testvec(int cgdfd, const struct testvec *tv)
3158{
3159	ssize_t written;
3160
3161	if (rump_sys_lseek(cgdfd, tv->blkno * SECSIZE, SEEK_SET) < 0)
3162		return -1;
3163
3164	written = rump_sys_write(cgdfd, tv->ptxt, SECSIZE);
3165	if (written < 0)
3166		return -1;
3167	if (written != SECSIZE) {
3168		errno = EDOM; /* Something distinct. */
3169		return -1;
3170	}
3171
3172	return 0;
3173}
3174
3175static int
3176read_testvec(int cgdfd, const struct testvec *tv)
3177{
3178	char *buf;
3179	int res = -1;
3180
3181	buf = malloc(SECSIZE);
3182	if (buf == NULL)
3183		return -1;
3184
3185	if (rump_sys_lseek(cgdfd, tv->blkno * SECSIZE, SEEK_SET) < 0)
3186		goto fail;
3187
3188	if (rump_sys_read(cgdfd, buf, SECSIZE) != SECSIZE)
3189		goto fail;
3190
3191	res = memcmp(buf, tv->ptxt, SECSIZE);
3192fail:
3193	free(buf);
3194	return res;
3195}
3196
3197static int
3198check_testvec(int dkfd, const struct testvec *tv)
3199{
3200	char *buf;
3201	int res = -1;
3202
3203	buf = malloc(SECSIZE);
3204	if (buf == NULL)
3205		return -1;
3206
3207	if (lseek(dkfd, tv->blkno * SECSIZE, SEEK_SET) < 0)
3208		goto fail;
3209
3210	if (read(dkfd, buf, SECSIZE) != SECSIZE)
3211		goto fail;
3212
3213	res = memcmp(buf, tv->ctxt, SECSIZE);
3214fail:
3215	free(buf);
3216	return res;
3217}
3218
3219ATF_TC(cgd_aes_cbc_128_encblkno1);
3220ATF_TC_HEAD(cgd_aes_cbc_128_encblkno1, tc)
3221{
3222	atf_tc_set_md_var(tc, "descr",
3223	    "Test aes-cbc with 128 bits key, ivmethod encblkno1");
3224}
3225
3226ATF_TC_BODY(cgd_aes_cbc_128_encblkno1, tc)
3227{
3228	const char imgpath[] = "aes-cbc-128-encblkno1.img";
3229	const char *dkpath = "/dev/dk";
3230	const size_t dksize = 4 * SECSIZE; /* Last blkno is 3. */
3231	int dkfd, cgdfd;
3232
3233	rump_init();
3234
3235	RL(dkfd = open_disk(dkpath, imgpath, dksize));
3236
3237	RL(cgdfd = open_cgd(0));
3238	RL(configure_cgd(cgdfd, dkpath, "aes-cbc", "encblkno1",
3239	    aes_cbc_128_key, sizeof(aes_cbc_128_key)));
3240
3241	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_128_1_vectors[0]), -1);
3242	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_128_1_vectors[1]), -1);
3243	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_128_1_vectors[2]), -1);
3244	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_128_1_vectors[3]), -1);
3245
3246	RL(unconfigure_cgd(cgdfd));
3247	RL(configure_cgd(cgdfd, dkpath, "aes-cbc", "encblkno1",
3248	    aes_cbc_128_key, sizeof(aes_cbc_128_key)));
3249
3250	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_128_1_vectors[0]), 0);
3251	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_128_1_vectors[1]), 0);
3252	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_128_1_vectors[2]), 0);
3253	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_128_1_vectors[3]), 0);
3254
3255	RL(unconfigure_cgd(cgdfd));
3256	RL(rump_sys_close(cgdfd));
3257
3258	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_128_1_vectors[0]), 0);
3259	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_128_1_vectors[1]), 0);
3260	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_128_1_vectors[2]), 0);
3261	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_128_1_vectors[3]), 0);
3262
3263	RL(close(dkfd));
3264}
3265
3266ATF_TC(cgd_aes_cbc_128_encblkno8);
3267ATF_TC_HEAD(cgd_aes_cbc_128_encblkno8, tc)
3268{
3269	atf_tc_set_md_var(tc, "descr",
3270	    "Test aes-cbc with 128 bits key, ivmethod encblkno8");
3271}
3272
3273ATF_TC_BODY(cgd_aes_cbc_128_encblkno8, tc)
3274{
3275	const char imgpath[] = "aes-cbc-128-encblkno8.img";
3276	const char *dkpath = "/dev/dk";
3277	const size_t dksize = 4 * SECSIZE; /* Last blkno is 3. */
3278	int dkfd, cgdfd;
3279
3280	rump_init();
3281
3282	RL(dkfd = open_disk(dkpath, imgpath, dksize));
3283
3284	RL(cgdfd = open_cgd(0));
3285	RL(configure_cgd(cgdfd, dkpath, "aes-cbc", "encblkno8",
3286	    aes_cbc_128_key, sizeof(aes_cbc_128_key)));
3287
3288	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_128_8_vectors[0]), -1);
3289	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_128_8_vectors[1]), -1);
3290	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_128_8_vectors[2]), -1);
3291	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_128_8_vectors[3]), -1);
3292
3293	RL(unconfigure_cgd(cgdfd));
3294	RL(configure_cgd(cgdfd, dkpath, "aes-cbc", "encblkno8",
3295	    aes_cbc_128_key, sizeof(aes_cbc_128_key)));
3296
3297	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_128_8_vectors[0]), 0);
3298	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_128_8_vectors[1]), 0);
3299	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_128_8_vectors[2]), 0);
3300	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_128_8_vectors[3]), 0);
3301
3302	RL(unconfigure_cgd(cgdfd));
3303	RL(rump_sys_close(cgdfd));
3304
3305	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_128_8_vectors[0]), 0);
3306	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_128_8_vectors[1]), 0);
3307	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_128_8_vectors[2]), 0);
3308	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_128_8_vectors[3]), 0);
3309
3310	RL(close(dkfd));
3311}
3312
3313ATF_TC(cgd_aes_cbc_192_encblkno1);
3314ATF_TC_HEAD(cgd_aes_cbc_192_encblkno1, tc)
3315{
3316	atf_tc_set_md_var(tc, "descr",
3317	    "Test aes-cbc with 192 bits key, ivmethod encblkno1");
3318}
3319
3320ATF_TC_BODY(cgd_aes_cbc_192_encblkno1, tc)
3321{
3322	const char imgpath[] = "aes-cbc-192-encblkno1.img";
3323	const char *dkpath = "/dev/dk";
3324	const size_t dksize = 4 * SECSIZE; /* Last blkno is 3. */
3325	int dkfd, cgdfd;
3326
3327	rump_init();
3328
3329	RL(dkfd = open_disk(dkpath, imgpath, dksize));
3330
3331	RL(cgdfd = open_cgd(0));
3332	RL(configure_cgd(cgdfd, dkpath, "aes-cbc", "encblkno1",
3333	    aes_cbc_192_key, sizeof(aes_cbc_192_key)));
3334
3335	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_192_1_vectors[0]), -1);
3336	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_192_1_vectors[1]), -1);
3337	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_192_1_vectors[2]), -1);
3338	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_192_1_vectors[3]), -1);
3339
3340	RL(unconfigure_cgd(cgdfd));
3341	RL(configure_cgd(cgdfd, dkpath, "aes-cbc", "encblkno1",
3342	    aes_cbc_192_key, sizeof(aes_cbc_192_key)));
3343
3344	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_192_1_vectors[0]), 0);
3345	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_192_1_vectors[1]), 0);
3346	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_192_1_vectors[2]), 0);
3347	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_192_1_vectors[3]), 0);
3348
3349	RL(unconfigure_cgd(cgdfd));
3350	RL(rump_sys_close(cgdfd));
3351
3352	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_192_1_vectors[0]), 0);
3353	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_192_1_vectors[1]), 0);
3354	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_192_1_vectors[2]), 0);
3355	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_192_1_vectors[3]), 0);
3356
3357	RL(close(dkfd));
3358}
3359
3360ATF_TC(cgd_aes_cbc_192_encblkno8);
3361ATF_TC_HEAD(cgd_aes_cbc_192_encblkno8, tc)
3362{
3363	atf_tc_set_md_var(tc, "descr",
3364	    "Test aes-cbc with 192 bits key, ivmethod encblkno8");
3365}
3366
3367ATF_TC_BODY(cgd_aes_cbc_192_encblkno8, tc)
3368{
3369	const char imgpath[] = "aes-cbc-192-encblkno8.img";
3370	const char *dkpath = "/dev/dk";
3371	const size_t dksize = 4 * SECSIZE; /* Last blkno is 3. */
3372	int dkfd, cgdfd;
3373
3374	rump_init();
3375
3376	RL(dkfd = open_disk(dkpath, imgpath, dksize));
3377
3378	RL(cgdfd = open_cgd(0));
3379	RL(configure_cgd(cgdfd, dkpath, "aes-cbc", "encblkno8",
3380	    aes_cbc_192_key, sizeof(aes_cbc_192_key)));
3381
3382	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_192_8_vectors[0]), -1);
3383	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_192_8_vectors[1]), -1);
3384	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_192_8_vectors[2]), -1);
3385	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_192_8_vectors[3]), -1);
3386
3387	RL(unconfigure_cgd(cgdfd));
3388	RL(configure_cgd(cgdfd, dkpath, "aes-cbc", "encblkno8",
3389	    aes_cbc_192_key, sizeof(aes_cbc_192_key)));
3390
3391	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_192_8_vectors[0]), 0);
3392	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_192_8_vectors[1]), 0);
3393	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_192_8_vectors[2]), 0);
3394	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_192_8_vectors[3]), 0);
3395
3396	RL(unconfigure_cgd(cgdfd));
3397	RL(rump_sys_close(cgdfd));
3398
3399	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_192_8_vectors[0]), 0);
3400	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_192_8_vectors[1]), 0);
3401	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_192_8_vectors[2]), 0);
3402	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_192_8_vectors[3]), 0);
3403
3404	RL(close(dkfd));
3405}
3406
3407ATF_TC(cgd_aes_cbc_256_encblkno1);
3408ATF_TC_HEAD(cgd_aes_cbc_256_encblkno1, tc)
3409{
3410	atf_tc_set_md_var(tc, "descr",
3411	    "Test aes-cbc with 256 bits key, ivmethod encblkno1");
3412}
3413
3414ATF_TC_BODY(cgd_aes_cbc_256_encblkno1, tc)
3415{
3416	const char imgpath[] = "aes-cbc-256-encblkno1.img";
3417	const char *dkpath = "/dev/dk";
3418	const size_t dksize = 4 * SECSIZE; /* Last blkno is 3. */
3419	int dkfd, cgdfd;
3420
3421	rump_init();
3422
3423	RL(dkfd = open_disk(dkpath, imgpath, dksize));
3424
3425	RL(cgdfd = open_cgd(0));
3426	RL(configure_cgd(cgdfd, dkpath, "aes-cbc", "encblkno1",
3427	    aes_cbc_256_key, sizeof(aes_cbc_256_key)));
3428
3429	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_256_1_vectors[0]), -1);
3430	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_256_1_vectors[1]), -1);
3431	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_256_1_vectors[2]), -1);
3432	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_256_1_vectors[3]), -1);
3433
3434	RL(unconfigure_cgd(cgdfd));
3435	RL(configure_cgd(cgdfd, dkpath, "aes-cbc", "encblkno1",
3436	    aes_cbc_256_key, sizeof(aes_cbc_256_key)));
3437
3438	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_256_1_vectors[0]), 0);
3439	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_256_1_vectors[1]), 0);
3440	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_256_1_vectors[2]), 0);
3441	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_256_1_vectors[3]), 0);
3442
3443	RL(unconfigure_cgd(cgdfd));
3444	RL(rump_sys_close(cgdfd));
3445
3446	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_256_1_vectors[0]), 0);
3447	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_256_1_vectors[1]), 0);
3448	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_256_1_vectors[2]), 0);
3449	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_256_1_vectors[3]), 0);
3450
3451	RL(close(dkfd));
3452}
3453
3454ATF_TC(cgd_aes_cbc_256_encblkno8);
3455ATF_TC_HEAD(cgd_aes_cbc_256_encblkno8, tc)
3456{
3457	atf_tc_set_md_var(tc, "descr",
3458	    "Test aes-cbc with 256 bits key, ivmethod encblkno8");
3459}
3460
3461ATF_TC_BODY(cgd_aes_cbc_256_encblkno8, tc)
3462{
3463	const char imgpath[] = "aes-cbc-256-encblkno8.img";
3464	const char *dkpath = "/dev/dk";
3465	const size_t dksize = 4 * SECSIZE; /* Last blkno is 3. */
3466	int dkfd, cgdfd;
3467
3468	rump_init();
3469
3470	RL(dkfd = open_disk(dkpath, imgpath, dksize));
3471
3472	RL(cgdfd = open_cgd(0));
3473	RL(configure_cgd(cgdfd, dkpath, "aes-cbc", "encblkno8",
3474	    aes_cbc_256_key, sizeof(aes_cbc_256_key)));
3475
3476	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_256_8_vectors[0]), -1);
3477	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_256_8_vectors[1]), -1);
3478	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_256_8_vectors[2]), -1);
3479	CHECK_LIBC(write_testvec(cgdfd, &aes_cbc_256_8_vectors[3]), -1);
3480
3481	RL(unconfigure_cgd(cgdfd));
3482	RL(configure_cgd(cgdfd, dkpath, "aes-cbc", "encblkno8",
3483	    aes_cbc_256_key, sizeof(aes_cbc_256_key)));
3484
3485	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_256_8_vectors[0]), 0);
3486	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_256_8_vectors[1]), 0);
3487	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_256_8_vectors[2]), 0);
3488	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_cbc_256_8_vectors[3]), 0);
3489
3490	RL(unconfigure_cgd(cgdfd));
3491	RL(rump_sys_close(cgdfd));
3492
3493	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_256_8_vectors[0]), 0);
3494	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_256_8_vectors[1]), 0);
3495	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_256_8_vectors[2]), 0);
3496	ATF_CHECK_EQ(check_testvec(dkfd, &aes_cbc_256_8_vectors[3]), 0);
3497
3498	RL(close(dkfd));
3499}
3500
3501ATF_TC(cgd_aes_xts_256);
3502ATF_TC_HEAD(cgd_aes_xts_256, tc)
3503{
3504	atf_tc_set_md_var(tc, "descr", "Test aes-xts with 256 bits key");
3505}
3506
3507ATF_TC_BODY(cgd_aes_xts_256, tc)
3508{
3509	const char imgpath[] = "aes-xts-256.img";
3510	const char *dkpath = "/dev/dk";
3511	const size_t dksize = 256 * SECSIZE; /* Last blkno is 0xff. */
3512	int dkfd, cgdfd;
3513
3514	rump_init();
3515
3516	RL(dkfd = open_disk(dkpath, imgpath, dksize));
3517
3518	RL(cgdfd = open_cgd(0));
3519	RL(configure_cgd(cgdfd, dkpath, "aes-xts", "encblkno1",
3520	    aes_xts_256_key, sizeof(aes_xts_256_key)));
3521
3522	CHECK_LIBC(write_testvec(cgdfd, &aes_xts_256_vectors[0]), -1);
3523	CHECK_LIBC(write_testvec(cgdfd, &aes_xts_256_vectors[1]), -1);
3524	CHECK_LIBC(write_testvec(cgdfd, &aes_xts_256_vectors[2]), -1);
3525	CHECK_LIBC(write_testvec(cgdfd, &aes_xts_256_vectors[3]), -1);
3526	CHECK_LIBC(write_testvec(cgdfd, &aes_xts_256_vectors[4]), -1);
3527	CHECK_LIBC(write_testvec(cgdfd, &aes_xts_256_vectors[5]), -1);
3528
3529	RL(unconfigure_cgd(cgdfd));
3530	RL(configure_cgd(cgdfd, dkpath, "aes-xts", "encblkno1",
3531	    aes_xts_256_key, sizeof(aes_xts_256_key)));
3532
3533	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_xts_256_vectors[0]), 0);
3534	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_xts_256_vectors[1]), 0);
3535	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_xts_256_vectors[2]), 0);
3536	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_xts_256_vectors[3]), 0);
3537	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_xts_256_vectors[4]), 0);
3538	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_xts_256_vectors[5]), 0);
3539
3540	RL(unconfigure_cgd(cgdfd));
3541	RL(rump_sys_close(cgdfd));
3542
3543	ATF_CHECK_EQ(check_testvec(dkfd, &aes_xts_256_vectors[0]), 0);
3544	ATF_CHECK_EQ(check_testvec(dkfd, &aes_xts_256_vectors[1]), 0);
3545	ATF_CHECK_EQ(check_testvec(dkfd, &aes_xts_256_vectors[2]), 0);
3546	ATF_CHECK_EQ(check_testvec(dkfd, &aes_xts_256_vectors[3]), 0);
3547	ATF_CHECK_EQ(check_testvec(dkfd, &aes_xts_256_vectors[4]), 0);
3548	ATF_CHECK_EQ(check_testvec(dkfd, &aes_xts_256_vectors[5]), 0);
3549
3550	RL(close(dkfd));
3551}
3552
3553ATF_TC(cgd_aes_xts_512);
3554ATF_TC_HEAD(cgd_aes_xts_512, tc)
3555{
3556	atf_tc_set_md_var(tc, "descr", "Test aes-xts with 512 bits key");
3557}
3558
3559ATF_TC_BODY(cgd_aes_xts_512, tc)
3560{
3561	const char imgpath[] = "aes-xts-512.img";
3562	const char *dkpath = "/dev/dk";
3563	const size_t dksize = 65536 * SECSIZE; /* Last blkno is 0xffff. */
3564	int dkfd, cgdfd;
3565
3566	rump_init();
3567
3568	RL(dkfd = open_disk(dkpath, imgpath, dksize));
3569
3570	RL(cgdfd = open_cgd(0));
3571	RL(configure_cgd(cgdfd, dkpath, "aes-xts", "encblkno1",
3572	    aes_xts_512_key, sizeof(aes_xts_512_key)));
3573
3574	CHECK_LIBC(write_testvec(cgdfd, &aes_xts_512_vectors[0]), -1);
3575	CHECK_LIBC(write_testvec(cgdfd, &aes_xts_512_vectors[1]), -1);
3576
3577	RL(unconfigure_cgd(cgdfd));
3578	RL(configure_cgd(cgdfd, dkpath, "aes-xts", "encblkno1",
3579	    aes_xts_512_key, sizeof(aes_xts_512_key)));
3580
3581	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_xts_512_vectors[0]), 0);
3582	ATF_CHECK_EQ(read_testvec(cgdfd, &aes_xts_512_vectors[1]), 0);
3583
3584	RL(unconfigure_cgd(cgdfd));
3585	RL(rump_sys_close(cgdfd));
3586
3587	ATF_CHECK_EQ(check_testvec(dkfd, &aes_xts_512_vectors[0]), 0);
3588	ATF_CHECK_EQ(check_testvec(dkfd, &aes_xts_512_vectors[1]), 0);
3589
3590	RL(close(dkfd));
3591}
3592
3593ATF_TP_ADD_TCS(tp)
3594{
3595
3596	ATF_TP_ADD_TC(tp, cgd_aes_cbc_128_encblkno1);
3597	ATF_TP_ADD_TC(tp, cgd_aes_cbc_128_encblkno8);
3598	ATF_TP_ADD_TC(tp, cgd_aes_cbc_192_encblkno1);
3599	ATF_TP_ADD_TC(tp, cgd_aes_cbc_192_encblkno8);
3600	ATF_TP_ADD_TC(tp, cgd_aes_cbc_256_encblkno1);
3601	ATF_TP_ADD_TC(tp, cgd_aes_cbc_256_encblkno8);
3602	ATF_TP_ADD_TC(tp, cgd_aes_xts_256);
3603	ATF_TP_ADD_TC(tp, cgd_aes_xts_512);
3604
3605	return atf_no_error();
3606}
3607