]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - contrib/netbsd-tests/dev/cgd/t_cgd_aes.c
MFC r314450,r313439:
[FreeBSD/stable/10.git] / contrib / netbsd-tests / dev / cgd / t_cgd_aes.c
1 /*      $NetBSD: t_cgd_aes.c,v 1.6 2017/01/13 21:30:39 christos Exp $   */
2 /*-
3  * Copyright (c) 2016 The NetBSD Foundation, Inc.
4  * Copyright (c) 2007 The Institute of Electrical and Electronics Engineers, Inc
5  * All rights reserved.
6  *
7  * This code is derived from software contributed to The NetBSD Foundation
8  * by Alexander Nasonov.
9  *
10  * Redistribution and use in source and binary forms, with or without
11  * modification, are permitted provided that the following conditions
12  * are met:
13  *
14  * 1. Redistributions of source code must retain the above copyright
15  *    notice, this list of conditions and the following disclaimer.
16  * 2. Redistributions in binary form must reproduce the above copyright
17  *    notice, this list of conditions and the following disclaimer in
18  *    the documentation and/or other materials provided with the
19  *    distribution.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
25  * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26  * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
27  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
29  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
31  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32  * SUCH DAMAGE.
33  */
34
35 #include <sys/types.h>
36 #include <sys/ioctl.h>
37 #include <sys/sysctl.h>
38
39 #include <atf-c.h>
40 #include <fcntl.h>
41 #include <stdio.h>
42 #include <stdlib.h>
43 #include <string.h>
44 #include <unistd.h>
45 #include <util.h>
46
47 #include <dev/cgdvar.h>
48
49 #include <rump/rump.h>
50 #include <rump/rump_syscalls.h>
51
52 #include "h_macros.h"
53
54 #define SECSIZE 512
55
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] =
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] = {
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] = {
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] = {
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] = {
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] = {
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] = {
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
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
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
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
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
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
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
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);
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
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);
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
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);
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
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);
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
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);
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
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);
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
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);
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
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);
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
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         RL(dkfd = open_disk(dkpath, imgpath, dksize));
3569
3570         RL(cgdfd = open_cgd(0));
3571         RL(configure_cgd(cgdfd, dkpath, "aes-xts", "encblkno1",
3572             aes_xts_512_key, sizeof(aes_xts_512_key)));
3573
3574         CHECK_LIBC(write_testvec(cgdfd, &aes_xts_512_vectors[0]), -1);
3575         CHECK_LIBC(write_testvec(cgdfd, &aes_xts_512_vectors[1]), -1);
3576
3577         RL(unconfigure_cgd(cgdfd));
3578         RL(configure_cgd(cgdfd, dkpath, "aes-xts", "encblkno1",
3579             aes_xts_512_key, sizeof(aes_xts_512_key)));
3580
3581         ATF_CHECK_EQ(read_testvec(cgdfd, &aes_xts_512_vectors[0]), 0);
3582         ATF_CHECK_EQ(read_testvec(cgdfd, &aes_xts_512_vectors[1]), 0);
3583
3584         RL(unconfigure_cgd(cgdfd));
3585         RL(rump_sys_close(cgdfd));
3586
3587         ATF_CHECK_EQ(check_testvec(dkfd, &aes_xts_512_vectors[0]), 0);
3588         ATF_CHECK_EQ(check_testvec(dkfd, &aes_xts_512_vectors[1]), 0);
3589
3590         RL(close(dkfd));
3591 }
3592
3593 ATF_TP_ADD_TCS(tp)
3594 {
3595
3596         ATF_TP_ADD_TC(tp, cgd_aes_cbc_128_encblkno1);
3597         ATF_TP_ADD_TC(tp, cgd_aes_cbc_128_encblkno8);
3598         ATF_TP_ADD_TC(tp, cgd_aes_cbc_192_encblkno1);
3599         ATF_TP_ADD_TC(tp, cgd_aes_cbc_192_encblkno8);
3600         ATF_TP_ADD_TC(tp, cgd_aes_cbc_256_encblkno1);
3601         ATF_TP_ADD_TC(tp, cgd_aes_cbc_256_encblkno8);
3602         ATF_TP_ADD_TC(tp, cgd_aes_xts_256);
3603         ATF_TP_ADD_TC(tp, cgd_aes_xts_512);
3604
3605         return atf_no_error();
3606 }