1 /*        $NetBSD: t_cgd_aes.c,v 1.8 2020/08/15 10:03:10 mlelstv 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 
56 struct 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  */
65 static 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  */
74 static 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  */
84 static 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 
92 static const uint8_t aes_cbc_ptxt[SECSIZE] __aligned(4) =
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  */
113 static 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  */
183 static 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  */
253 static 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  */
323 static 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 
390 const 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  */
416 static 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  */
486 static 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  */
556 static 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  */
626 static 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 
693 const 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  */
719 static 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  */
789 static 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  */
859 static 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  */
929 static 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 
996 const 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  */
1022 static 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  */
1092 static 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  */
1162 static 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  */
1232 static 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 
1299 const 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  */
1325 static 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  */
1395 static 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  */
1465 static 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  */
1535 static 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 
1602 const 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  */
1628 static 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  */
1698 static 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  */
1768 static 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  */
1838 static 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 
1905 const 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  */
1931 static 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  */
1942 static 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  */
1957 static const uint8_t aes_xts_256_vec4_ptxt[SECSIZE] __aligned(4) = {
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 
2024 static 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  */
2094 static const uint8_t aes_xts_256_vec5_ptxt[SECSIZE] __aligned(4) = {
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 
2161 static 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  */
2231 static const uint8_t aes_xts_256_vec6_ptxt[SECSIZE] __aligned(4) = {
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 
2298 static 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  */
2368 static const uint8_t aes_xts_256_vec7_ptxt[SECSIZE] __aligned(4) = {
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 
2435 static 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  */
2505 static const uint8_t aes_xts_256_vec8_ptxt[SECSIZE] __aligned(4) = {
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 
2572 static 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  */
2642 static const uint8_t aes_xts_256_vec9_ptxt[SECSIZE] __aligned(4) = {
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 
2709 static 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 
2776 const 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  */
2812 static 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 
2879 static 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  */
2949 static 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 
3016 static 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 
3083 const 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 
3096 static int
open_disk(const char * devpath,const char * imgpath,size_t size)3097 open_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;
3115 fail:
3116           close(fd);
3117           unlink(imgpath);
3118           return -1;
3119 }
3120 
3121 static int
open_cgd(int devno)3122 open_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 
3131 static int
configure_cgd(int fd,const char * dkpath,const char * alg,const char * ivmethod,const char * key,size_t keylen)3132 configure_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 
3148 static int
unconfigure_cgd(int fd)3149 unconfigure_cgd(int fd)
3150 {
3151           struct cgd_ioctl ci;
3152 
3153           return rump_sys_ioctl(fd, CGDIOCCLR, &ci);
3154 }
3155 
3156 static int
write_testvec(int cgdfd,const struct testvec * tv)3157 write_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 
3175 static int
read_testvec(int cgdfd,const struct testvec * tv)3176 read_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);
3192 fail:
3193           free(buf);
3194           return res;
3195 }
3196 
3197 static int
check_testvec(int dkfd,const struct testvec * tv)3198 check_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);
3214 fail:
3215           free(buf);
3216           return res;
3217 }
3218 
3219 ATF_TC(cgd_aes_cbc_128_encblkno1);
ATF_TC_HEAD(cgd_aes_cbc_128_encblkno1,tc)3220 ATF_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 
ATF_TC_BODY(cgd_aes_cbc_128_encblkno1,tc)3226 ATF_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 
3266 ATF_TC(cgd_aes_cbc_128_encblkno8);
ATF_TC_HEAD(cgd_aes_cbc_128_encblkno8,tc)3267 ATF_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 
ATF_TC_BODY(cgd_aes_cbc_128_encblkno8,tc)3273 ATF_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 
3313 ATF_TC(cgd_aes_cbc_192_encblkno1);
ATF_TC_HEAD(cgd_aes_cbc_192_encblkno1,tc)3314 ATF_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 
ATF_TC_BODY(cgd_aes_cbc_192_encblkno1,tc)3320 ATF_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 
3360 ATF_TC(cgd_aes_cbc_192_encblkno8);
ATF_TC_HEAD(cgd_aes_cbc_192_encblkno8,tc)3361 ATF_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 
ATF_TC_BODY(cgd_aes_cbc_192_encblkno8,tc)3367 ATF_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 
3407 ATF_TC(cgd_aes_cbc_256_encblkno1);
ATF_TC_HEAD(cgd_aes_cbc_256_encblkno1,tc)3408 ATF_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 
ATF_TC_BODY(cgd_aes_cbc_256_encblkno1,tc)3414 ATF_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 
3454 ATF_TC(cgd_aes_cbc_256_encblkno8);
ATF_TC_HEAD(cgd_aes_cbc_256_encblkno8,tc)3455 ATF_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 
ATF_TC_BODY(cgd_aes_cbc_256_encblkno8,tc)3461 ATF_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 
3501 ATF_TC(cgd_aes_xts_256);
ATF_TC_HEAD(cgd_aes_xts_256,tc)3502 ATF_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 
ATF_TC_BODY(cgd_aes_xts_256,tc)3507 ATF_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 
3553 ATF_TC(cgd_aes_xts_512);
ATF_TC_HEAD(cgd_aes_xts_512,tc)3554 ATF_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 
ATF_TC_BODY(cgd_aes_xts_512,tc)3559 ATF_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           dkfd = open_disk(dkpath, imgpath, dksize);
3569           if (dkfd == -1 && errno == ENOSPC) {
3570                     atf_tc_skip("not enough space");
3571           } else {
3572                     ATF_CHECK_MSG(dkfd != -1, "open_disk: %s", strerror(errno));
3573           }
3574 
3575           RL(cgdfd = open_cgd(0));
3576           RL(configure_cgd(cgdfd, dkpath, "aes-xts", "encblkno1",
3577               aes_xts_512_key, sizeof(aes_xts_512_key)));
3578 
3579           CHECK_LIBC(write_testvec(cgdfd, &aes_xts_512_vectors[0]), -1);
3580           CHECK_LIBC(write_testvec(cgdfd, &aes_xts_512_vectors[1]), -1);
3581 
3582           RL(unconfigure_cgd(cgdfd));
3583           RL(configure_cgd(cgdfd, dkpath, "aes-xts", "encblkno1",
3584               aes_xts_512_key, sizeof(aes_xts_512_key)));
3585 
3586           ATF_CHECK_EQ(read_testvec(cgdfd, &aes_xts_512_vectors[0]), 0);
3587           ATF_CHECK_EQ(read_testvec(cgdfd, &aes_xts_512_vectors[1]), 0);
3588 
3589           RL(unconfigure_cgd(cgdfd));
3590           RL(rump_sys_close(cgdfd));
3591 
3592           ATF_CHECK_EQ(check_testvec(dkfd, &aes_xts_512_vectors[0]), 0);
3593           ATF_CHECK_EQ(check_testvec(dkfd, &aes_xts_512_vectors[1]), 0);
3594 
3595           RL(close(dkfd));
3596 }
3597 
ATF_TP_ADD_TCS(tp)3598 ATF_TP_ADD_TCS(tp)
3599 {
3600 
3601           ATF_TP_ADD_TC(tp, cgd_aes_cbc_128_encblkno1);
3602           ATF_TP_ADD_TC(tp, cgd_aes_cbc_128_encblkno8);
3603           ATF_TP_ADD_TC(tp, cgd_aes_cbc_192_encblkno1);
3604           ATF_TP_ADD_TC(tp, cgd_aes_cbc_192_encblkno8);
3605           ATF_TP_ADD_TC(tp, cgd_aes_cbc_256_encblkno1);
3606           ATF_TP_ADD_TC(tp, cgd_aes_cbc_256_encblkno8);
3607           ATF_TP_ADD_TC(tp, cgd_aes_xts_256);
3608           ATF_TP_ADD_TC(tp, cgd_aes_xts_512);
3609 
3610           return atf_no_error();
3611 }
3612