Annotation of src/tests/dev/cgd/t_cgd_3des.c, Revision 1.2
1.2 ! christos 1: /* $NetBSD: t_cgd_3des.c,v 1.1 2016/11/11 07:39:58 alnsn Exp $ */
1.1 alnsn 2: /*-
3: * Copyright (c) 2016 The NetBSD Foundation, Inc.
4: * All rights reserved.
5: *
6: * This code is derived from software contributed to The NetBSD Foundation
7: * by Alexander Nasonov.
8: *
9: * Redistribution and use in source and binary forms, with or without
10: * modification, are permitted provided that the following conditions
11: * are met:
12: *
13: * 1. Redistributions of source code must retain the above copyright
14: * notice, this list of conditions and the following disclaimer.
15: * 2. Redistributions in binary form must reproduce the above copyright
16: * notice, this list of conditions and the following disclaimer in
17: * the documentation and/or other materials provided with the
18: * distribution.
19: *
20: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21: * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22: * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23: * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
24: * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25: * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
26: * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27: * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
28: * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29: * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
30: * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31: * SUCH DAMAGE.
32: */
33:
34: #include <sys/types.h>
35: #include <sys/ioctl.h>
36: #include <sys/sysctl.h>
37:
38: #include <atf-c.h>
39: #include <fcntl.h>
40: #include <stdio.h>
41: #include <stdlib.h>
42: #include <string.h>
43: #include <unistd.h>
44: #include <util.h>
45:
46: #include <dev/cgdvar.h>
47:
48: #include <rump/rump.h>
49: #include <rump/rump_syscalls.h>
50:
1.2 ! christos 51: #include "h_macros.h"
1.1 alnsn 52:
53: #define SECSIZE 512
54:
55: struct testvec {
56: unsigned int blkno;
57: const uint8_t *ptxt; /* PlainText */
58: const uint8_t *ctxt; /* CipherText */
59: };
60:
61: /*
62: * 192 bits CBC key, NUL terminated.
63: */
64: static const char c3des_cbc_192_key[25] = {
65: 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, /* ABCDEFGH */
66: 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, /* IJKLMNOP */
67: 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, /* QRSTUVWX */
68: 0
69: };
70:
71: static const uint8_t c3des_cbc_ptxt[SECSIZE] =
72: " abcdefghijklmnop"
73: " abcdefghijklmnop"
74: " abcdefghijklmnop"
75: " abcdefghijklmnop"
76: " abcdefghijklmnop"
77: " abcdefghijklmnop"
78: " abcdefghijklmnop"
79: " abcdefghijklmnop"
80: " abcdefghijklmnop"
81: " abcdefghijklmnop"
82: " abcdefghijklmnop"
83: " abcdefghijklmnop"
84: " abcdefghijklmnop"
85: " abcdefghijklmnop"
86: " abcdefghijklmnop"
87: " abcdefghijklmnop";
88:
89: /*
90: * IV method encblkno1, blkno 0.
91: */
92: static const uint8_t c3des_cbc_192_encblkno1_vec0_ctxt[SECSIZE] = {
93: 0x19, 0x92, 0xc8, 0xce, 0xdf, 0xa3, 0x14, 0xef,
94: 0xff, 0x88, 0x9f, 0x01, 0xfa, 0x6f, 0xfa, 0xa6,
95: 0xdd, 0x2b, 0x43, 0x67, 0xfa, 0xce, 0x37, 0x95,
96: 0x73, 0x4d, 0x18, 0x33, 0x0c, 0x29, 0xb6, 0xbb,
97: 0x37, 0x77, 0x31, 0x74, 0xf6, 0x62, 0x03, 0xd2,
98: 0x78, 0x13, 0x55, 0xf6, 0x58, 0x49, 0xaf, 0x2a,
99: 0x15, 0x4c, 0xc2, 0x4a, 0x55, 0x99, 0x82, 0xb9,
100: 0xfb, 0x8b, 0x4f, 0x92, 0xe3, 0xbc, 0x9b, 0x09,
101: 0x42, 0x7b, 0x5f, 0x54, 0xed, 0xf0, 0xcb, 0x5d,
102: 0x93, 0xba, 0x09, 0x4b, 0x20, 0xf3, 0xe6, 0x44,
103: 0x30, 0x5e, 0x9e, 0xfc, 0x7a, 0x3c, 0x7d, 0x11,
104: 0x63, 0xea, 0x40, 0x94, 0xaa, 0xd0, 0xa9, 0xf6,
105: 0xc7, 0x1e, 0x8f, 0xc8, 0xa6, 0x2c, 0xf7, 0xeb,
106: 0x51, 0x26, 0xdc, 0xf8, 0x73, 0xf9, 0xb4, 0xa8,
107: 0x80, 0x4a, 0xe5, 0x6f, 0xb6, 0x33, 0x13, 0x6b,
108: 0x1b, 0x7d, 0x00, 0xde, 0x44, 0x7e, 0x26, 0xa2,
109: 0x82, 0xa7, 0x80, 0x16, 0x34, 0xde, 0xb9, 0x82,
110: 0x4c, 0x42, 0x8e, 0x0d, 0x48, 0x7e, 0x38, 0xbd,
111: 0x1d, 0x7d, 0x98, 0xbb, 0x11, 0x8a, 0x72, 0x14,
112: 0x4e, 0xaa, 0xd0, 0xef, 0x4d, 0x7f, 0xa3, 0xa6,
113: 0xfc, 0x85, 0x9d, 0x74, 0x63, 0x9d, 0xe4, 0x5c,
114: 0xf7, 0xa8, 0xd0, 0xd7, 0x95, 0xb4, 0x28, 0x64,
115: 0x41, 0x2d, 0x5d, 0xd9, 0xba, 0x79, 0xa7, 0xb3,
116: 0x9c, 0x16, 0xfa, 0xb8, 0x10, 0x5d, 0x1d, 0xd4,
117: 0xce, 0xad, 0x67, 0x27, 0x91, 0x8a, 0xb3, 0xbc,
118: 0x37, 0x20, 0x95, 0xac, 0xf7, 0x0d, 0xe0, 0x1e,
119: 0x59, 0xa7, 0xe5, 0x81, 0x82, 0x6a, 0x71, 0x07,
120: 0x85, 0x43, 0x43, 0xdb, 0xbf, 0x56, 0xb0, 0x0a,
121: 0x4c, 0xf1, 0xcd, 0xcd, 0xa3, 0x9a, 0x10, 0x8e,
122: 0x0c, 0xe2, 0x6d, 0xf2, 0x16, 0xd0, 0x4c, 0xac,
123: 0xf9, 0xfc, 0xc9, 0x56, 0x1f, 0x31, 0x89, 0x1c,
124: 0xfa, 0xb7, 0x49, 0xea, 0x69, 0x91, 0xfe, 0x45,
125: 0x96, 0x5e, 0x45, 0xc3, 0x2c, 0xb1, 0x40, 0xd9,
126: 0x1f, 0x82, 0x3f, 0xc1, 0x45, 0x7c, 0x39, 0x72,
127: 0x6f, 0x52, 0xe4, 0xaf, 0x15, 0xa4, 0xe2, 0xd4,
128: 0xa1, 0xa4, 0xb2, 0xb5, 0x4a, 0x0b, 0xad, 0xe4,
129: 0x1e, 0x5c, 0x26, 0x62, 0x81, 0x78, 0x3e, 0xd3,
130: 0x6a, 0x98, 0x94, 0x2a, 0x00, 0xa7, 0xe4, 0x04,
131: 0x9d, 0x9a, 0xfc, 0xcf, 0xad, 0x2b, 0xba, 0x9b,
132: 0x40, 0x1e, 0x71, 0x3a, 0xb6, 0x92, 0xc4, 0xc5,
133: 0x56, 0x58, 0x92, 0x2a, 0x69, 0xbe, 0x0f, 0xb0,
134: 0x91, 0xae, 0xaa, 0x3f, 0x07, 0xe8, 0xf9, 0x71,
135: 0x20, 0x06, 0xed, 0xe0, 0x80, 0xec, 0xc9, 0xe7,
136: 0x54, 0xaa, 0xaa, 0xf4, 0x4c, 0xb2, 0x34, 0xf7,
137: 0x8a, 0x76, 0xc2, 0x4a, 0xae, 0x71, 0x7a, 0x07,
138: 0xd7, 0xec, 0x75, 0x2f, 0x8a, 0x99, 0x59, 0x13,
139: 0xd0, 0x8d, 0x18, 0x69, 0x0d, 0xd9, 0x39, 0x73,
140: 0x2b, 0xd0, 0xa3, 0xbc, 0x9e, 0x29, 0x4d, 0x88,
141: 0xff, 0x98, 0x02, 0xb4, 0xcf, 0xa1, 0xf9, 0x2a,
142: 0xa6, 0xef, 0x7c, 0x72, 0x26, 0x4e, 0xd7, 0xdf,
143: 0xec, 0x3a, 0xbc, 0x8e, 0xe6, 0xb3, 0x2b, 0x43,
144: 0xcd, 0x67, 0x8b, 0x72, 0x00, 0x6f, 0xe5, 0x85,
145: 0xe2, 0x2a, 0x4c, 0x8d, 0x02, 0x44, 0x6b, 0x7a,
146: 0x89, 0x7a, 0x18, 0x3b, 0xc8, 0x9c, 0x8d, 0x60,
147: 0xec, 0x79, 0x58, 0x15, 0x98, 0x71, 0x4b, 0x1a,
148: 0x34, 0x69, 0x96, 0xd0, 0x0f, 0x01, 0x27, 0x2e,
149: 0x19, 0x02, 0xf0, 0x17, 0x8c, 0x89, 0xbf, 0x05,
150: 0xf0, 0xfe, 0xc3, 0xe6, 0x90, 0x9d, 0xa2, 0xb1,
151: 0x40, 0x06, 0x7e, 0xcd, 0x20, 0x7e, 0x5f, 0x54,
152: 0x31, 0xfb, 0x79, 0x84, 0x47, 0x38, 0x71, 0x69,
153: 0xe1, 0xd5, 0x4e, 0x84, 0xa3, 0x2b, 0x4a, 0x86,
154: 0xc2, 0x21, 0x5b, 0x15, 0xc3, 0x63, 0xbb, 0xc5,
155: 0x5c, 0xc1, 0xfb, 0x31, 0x3a, 0x4d, 0xb1, 0x9e,
156: 0xe1, 0xd8, 0x67, 0x4b, 0x08, 0x42, 0xc4, 0xe8,
157: };
158:
159: /*
160: * IV method encblkno1, blkno 1.
161: */
162: static const uint8_t c3des_cbc_192_encblkno1_vec1_ctxt[SECSIZE] = {
163: 0x1d, 0x65, 0xdf, 0x01, 0x9b, 0x24, 0xa5, 0x10,
164: 0x94, 0x9a, 0x5b, 0x81, 0x96, 0x4e, 0xa3, 0x42,
165: 0x42, 0xd5, 0x05, 0x52, 0xab, 0x3c, 0x67, 0x40,
166: 0x79, 0xf9, 0x4b, 0x58, 0x39, 0xf6, 0xd0, 0x97,
167: 0x48, 0xf4, 0x77, 0xb8, 0xac, 0xe2, 0x10, 0x66,
168: 0xa8, 0x04, 0x0a, 0x1e, 0xa6, 0xbb, 0x4c, 0xd9,
169: 0x5d, 0x0c, 0x11, 0xb5, 0xe0, 0x26, 0x84, 0x50,
170: 0x10, 0x80, 0xbf, 0xd6, 0xdc, 0x82, 0x53, 0x0a,
171: 0xcf, 0xf6, 0xd3, 0x07, 0x45, 0xb0, 0x8e, 0x36,
172: 0x2e, 0x60, 0x0f, 0xd0, 0xc1, 0xb9, 0xd8, 0x29,
173: 0x6e, 0x13, 0x8e, 0xc1, 0xa8, 0x63, 0x20, 0xe0,
174: 0x8d, 0x47, 0x8b, 0xf9, 0xa0, 0x60, 0x55, 0x53,
175: 0x1d, 0xaf, 0x43, 0x46, 0xe5, 0x10, 0xd5, 0xcd,
176: 0x91, 0x9e, 0x11, 0x4a, 0x6f, 0x6a, 0x13, 0xdf,
177: 0xee, 0x7a, 0x88, 0xbe, 0x59, 0x96, 0xdb, 0x65,
178: 0x25, 0x57, 0x9e, 0x82, 0xad, 0xc2, 0xd6, 0x28,
179: 0x96, 0xb3, 0x7f, 0x57, 0x5d, 0xb2, 0xfa, 0x60,
180: 0x43, 0x22, 0xa5, 0x33, 0x14, 0x99, 0x8f, 0x68,
181: 0x5a, 0x7f, 0xaf, 0x9e, 0xe9, 0x23, 0x57, 0x9b,
182: 0x52, 0xe9, 0x20, 0x59, 0x26, 0x89, 0x9b, 0x59,
183: 0xb0, 0xee, 0xe8, 0x6d, 0x06, 0x8c, 0x01, 0xc2,
184: 0xea, 0xbc, 0x7d, 0x93, 0x3f, 0x79, 0x7f, 0xeb,
185: 0x57, 0xc9, 0x0a, 0xca, 0x37, 0x81, 0xa7, 0x82,
186: 0xde, 0x37, 0x7d, 0x69, 0x01, 0xaa, 0x19, 0x98,
187: 0x26, 0xfe, 0x06, 0x83, 0xeb, 0x9d, 0x26, 0xdc,
188: 0x04, 0x5d, 0xc9, 0x05, 0xee, 0x1a, 0xd3, 0xeb,
189: 0x20, 0x8c, 0xb7, 0x99, 0x75, 0xe0, 0x19, 0x98,
190: 0xca, 0x83, 0xae, 0x94, 0x28, 0xbf, 0x47, 0x42,
191: 0x92, 0x05, 0x8c, 0xaa, 0xeb, 0x99, 0x0f, 0xcc,
192: 0x33, 0x79, 0x24, 0x62, 0xa0, 0x7a, 0x65, 0xcb,
193: 0x53, 0xb7, 0x86, 0x0d, 0xcb, 0x44, 0x2d, 0xbf,
194: 0xe8, 0x5d, 0x62, 0xeb, 0x21, 0x4d, 0x35, 0x86,
195: 0x56, 0x6c, 0x51, 0xff, 0xa3, 0x45, 0xcc, 0x88,
196: 0x09, 0x43, 0x08, 0x97, 0x13, 0x7d, 0x00, 0xd8,
197: 0x82, 0x2d, 0xbe, 0xbe, 0x44, 0x0c, 0x2c, 0xa4,
198: 0x4f, 0x84, 0x07, 0x20, 0x9c, 0x3f, 0xf6, 0x5b,
199: 0x9e, 0xe8, 0x68, 0x40, 0xd3, 0x64, 0x8f, 0xb4,
200: 0x9e, 0xac, 0xc6, 0x41, 0x11, 0xda, 0xf2, 0x60,
201: 0xfa, 0x29, 0x9d, 0x26, 0x68, 0x5b, 0x79, 0x3a,
202: 0xd1, 0x66, 0x78, 0xca, 0x80, 0x87, 0xae, 0xab,
203: 0x7b, 0x29, 0x3c, 0xb0, 0xe6, 0xa2, 0x6b, 0x24,
204: 0x81, 0xeb, 0x51, 0xf9, 0xcb, 0x4a, 0x08, 0x37,
205: 0x2a, 0x75, 0xb5, 0xd3, 0xb3, 0x8f, 0x3d, 0x13,
206: 0x11, 0x0c, 0xa9, 0xf7, 0xf6, 0x57, 0x7e, 0xb7,
207: 0xa6, 0x22, 0xe8, 0x13, 0xfd, 0xf1, 0x6a, 0xe9,
208: 0xc1, 0x94, 0xa6, 0xf5, 0xa5, 0xec, 0xfa, 0x31,
209: 0xd2, 0x66, 0x8f, 0xe3, 0x6e, 0x9a, 0xaa, 0xb0,
210: 0xe3, 0x04, 0x09, 0x00, 0x1e, 0x67, 0x3c, 0xbe,
211: 0x2a, 0x8c, 0xd5, 0x1f, 0x4f, 0x55, 0x2c, 0x1d,
212: 0x26, 0x7f, 0xc9, 0x27, 0x00, 0x88, 0x7d, 0x45,
213: 0x4e, 0xe1, 0x36, 0xf6, 0xf5, 0xa8, 0xd4, 0xef,
214: 0x8b, 0x26, 0x76, 0x41, 0x28, 0x87, 0xf4, 0x51,
215: 0x14, 0x36, 0xad, 0x60, 0x8d, 0xe9, 0xe2, 0x9d,
216: 0x3c, 0xea, 0x09, 0x51, 0x3c, 0x81, 0xdf, 0x1a,
217: 0xc2, 0xc2, 0xf6, 0x45, 0xe1, 0x73, 0xac, 0xae,
218: 0x85, 0x74, 0x83, 0x8f, 0x56, 0x3c, 0x36, 0x1c,
219: 0xe0, 0x07, 0xc6, 0x6a, 0x48, 0xe4, 0x34, 0xe9,
220: 0x81, 0x53, 0xb7, 0x53, 0x95, 0xa7, 0x94, 0x21,
221: 0x7e, 0x32, 0x53, 0xda, 0x83, 0xd8, 0x57, 0x92,
222: 0xd1, 0x15, 0x45, 0x86, 0x40, 0xac, 0xf1, 0x6f,
223: 0x3c, 0x29, 0xef, 0x8d, 0x12, 0xe1, 0x9d, 0x04,
224: 0x17, 0x3a, 0xcc, 0xa6, 0xc5, 0xe4, 0x27, 0x41,
225: 0xcb, 0xfb, 0x5e, 0x77, 0x73, 0x5a, 0x2c, 0x03,
226: 0xe9, 0x2b, 0x76, 0x4e, 0x69, 0xea, 0xcb, 0xb3,
227: };
228:
229: /*
230: * IV method encblkno1, blkno 2.
231: */
232: static const uint8_t c3des_cbc_192_encblkno1_vec2_ctxt[SECSIZE] = {
233: 0x87, 0xb1, 0x3c, 0xd6, 0x60, 0xa0, 0x5a, 0x35,
234: 0xf7, 0xe1, 0x6b, 0x87, 0xa0, 0x90, 0x2f, 0xc7,
235: 0x8c, 0xed, 0x53, 0xda, 0x93, 0x32, 0x78, 0x5d,
236: 0x24, 0x23, 0x42, 0xdd, 0x93, 0x5b, 0x2e, 0x40,
237: 0xa1, 0xb1, 0x3b, 0xbb, 0xf0, 0x50, 0xb4, 0x61,
238: 0xea, 0x15, 0x37, 0xf3, 0x49, 0xe1, 0xa0, 0x32,
239: 0x88, 0x85, 0x81, 0xfd, 0xb7, 0x96, 0xd7, 0x9d,
240: 0xd7, 0x29, 0x4b, 0x14, 0xf9, 0x18, 0x6a, 0xf6,
241: 0x46, 0xae, 0x69, 0xdf, 0x63, 0x9a, 0xe0, 0x0b,
242: 0x2c, 0x53, 0xd7, 0x82, 0x6f, 0xe5, 0xa0, 0x95,
243: 0x2f, 0x61, 0x7f, 0x15, 0xff, 0xc7, 0xe8, 0x83,
244: 0xfc, 0xfc, 0x16, 0x1c, 0x37, 0x0f, 0x9b, 0xbb,
245: 0x14, 0xb2, 0xe2, 0xb7, 0x1f, 0x85, 0xb7, 0x07,
246: 0x8a, 0x18, 0xed, 0xf7, 0x5f, 0x27, 0xff, 0x2f,
247: 0x07, 0xf9, 0x9d, 0xe3, 0x79, 0x45, 0x1f, 0x51,
248: 0x08, 0x54, 0x0f, 0x56, 0x84, 0xee, 0x87, 0x9a,
249: 0xa9, 0x46, 0xb8, 0x77, 0x85, 0x40, 0x46, 0x50,
250: 0xc1, 0x58, 0x07, 0xfd, 0xfa, 0x2b, 0x20, 0xd6,
251: 0x4e, 0xba, 0x08, 0x02, 0x59, 0x3d, 0x23, 0x3b,
252: 0x5d, 0xf9, 0x5e, 0x2f, 0xac, 0x9e, 0xa0, 0xd7,
253: 0x3f, 0x9a, 0xdf, 0x50, 0x66, 0xcc, 0x28, 0xce,
254: 0x93, 0xc8, 0x11, 0x5c, 0x74, 0xe2, 0x4f, 0xfd,
255: 0xaf, 0x33, 0xbb, 0xce, 0x96, 0x1f, 0xb3, 0x46,
256: 0x6e, 0xcd, 0xe4, 0xef, 0xfa, 0x2f, 0x93, 0xb1,
257: 0xe5, 0x7c, 0x54, 0xbc, 0x17, 0x1f, 0xd5, 0x31,
258: 0x0e, 0x88, 0xe7, 0xcd, 0xb0, 0xb5, 0x2e, 0x1e,
259: 0x9e, 0x40, 0x36, 0xa5, 0xbb, 0xa7, 0x4e, 0xc8,
260: 0x11, 0x6c, 0xae, 0x1c, 0x2d, 0xdb, 0x55, 0xd8,
261: 0x14, 0x40, 0x02, 0xad, 0xaf, 0x19, 0x28, 0x59,
262: 0xd7, 0x4f, 0x81, 0xd0, 0xc1, 0x54, 0x63, 0x73,
263: 0x0e, 0xfb, 0x26, 0xf2, 0xa6, 0x80, 0xca, 0x2e,
264: 0xf3, 0xca, 0x1e, 0xa4, 0x62, 0x07, 0x22, 0x10,
265: 0x11, 0x6a, 0x57, 0x28, 0x45, 0x80, 0xdf, 0x34,
266: 0x88, 0xe5, 0xf1, 0x23, 0xe0, 0xb6, 0x44, 0x51,
267: 0x54, 0xd8, 0xb3, 0x66, 0xac, 0x46, 0x4d, 0xdf,
268: 0xa2, 0x8e, 0x72, 0x3a, 0x1c, 0x87, 0x2a, 0x43,
269: 0xfe, 0xdb, 0x00, 0xff, 0xb7, 0x1c, 0x13, 0xc3,
270: 0x18, 0xfc, 0x71, 0x13, 0xe3, 0xd1, 0x1f, 0xde,
271: 0x16, 0x63, 0x73, 0xf5, 0x0e, 0xf7, 0x18, 0xe5,
272: 0x48, 0x8d, 0x30, 0xd9, 0x26, 0x20, 0x6d, 0xa1,
273: 0xba, 0xde, 0xe8, 0x7d, 0x77, 0x02, 0x33, 0x0d,
274: 0x73, 0xb2, 0xab, 0x35, 0xfd, 0xa5, 0x6e, 0x4c,
275: 0x5c, 0x27, 0xc7, 0x7e, 0x4a, 0x28, 0xf8, 0xf5,
276: 0x00, 0xbe, 0x4c, 0xd7, 0x2c, 0x27, 0x83, 0x16,
277: 0x37, 0xda, 0x0c, 0xb1, 0xd7, 0x89, 0xd8, 0x8f,
278: 0x17, 0x69, 0x1b, 0x6b, 0x48, 0x2b, 0xce, 0x9c,
279: 0xbd, 0xf4, 0x0d, 0xb5, 0x4d, 0x12, 0x11, 0x36,
280: 0x49, 0xd3, 0x8b, 0x52, 0xce, 0x7e, 0x47, 0xb0,
281: 0xb5, 0x54, 0x77, 0xef, 0x90, 0xb8, 0x0e, 0xaf,
282: 0x6f, 0x97, 0x88, 0xde, 0x6b, 0x37, 0x24, 0xdd,
283: 0x91, 0x84, 0x00, 0x51, 0xab, 0x06, 0x96, 0x3c,
284: 0x82, 0x73, 0xcf, 0xae, 0x8d, 0x23, 0x86, 0x59,
285: 0x62, 0x5b, 0xeb, 0x2a, 0xaf, 0x40, 0x17, 0xed,
286: 0x2b, 0x60, 0x73, 0x7d, 0x99, 0x95, 0x3f, 0xd6,
287: 0x6c, 0xca, 0x1e, 0xf3, 0xb0, 0xcd, 0xd5, 0x1d,
288: 0x53, 0xe0, 0xd2, 0x8b, 0x57, 0x7b, 0xac, 0x67,
289: 0x5a, 0x5a, 0x0a, 0x64, 0x82, 0xab, 0x8f, 0x5a,
290: 0x36, 0xe2, 0x45, 0x50, 0xec, 0x3e, 0x14, 0x80,
291: 0x7c, 0xfd, 0x0c, 0xa9, 0x94, 0xfb, 0xfe, 0x72,
292: 0xec, 0x47, 0x71, 0x2e, 0x90, 0x97, 0xf6, 0x33,
293: 0xbd, 0x7d, 0x7e, 0x77, 0x8f, 0xad, 0xd4, 0x1d,
294: 0x1d, 0x53, 0x0f, 0x28, 0x39, 0x77, 0x06, 0x1a,
295: 0x75, 0xfc, 0x12, 0xe6, 0x45, 0xfc, 0x87, 0xe1,
296: 0x46, 0xac, 0xb0, 0x73, 0xca, 0x24, 0x7c, 0x71,
297: };
298:
299: /*
300: * IV method encblkno1, blkno 3.
301: */
302: static const uint8_t c3des_cbc_192_encblkno1_vec3_ctxt[SECSIZE] = {
303: 0xb1, 0xef, 0x7c, 0xd0, 0xa0, 0x6b, 0xe4, 0x88,
304: 0x5c, 0xd7, 0xf1, 0xbf, 0x5f, 0xce, 0xda, 0x19,
305: 0x81, 0x32, 0xbb, 0x96, 0x7e, 0xb9, 0x6e, 0xa1,
306: 0x43, 0xde, 0x53, 0x66, 0x9c, 0x27, 0x94, 0x85,
307: 0xcb, 0x09, 0x4e, 0x16, 0xd8, 0x60, 0x7a, 0x38,
308: 0x27, 0x21, 0x4d, 0x08, 0xaa, 0xe2, 0x1e, 0x6e,
309: 0xa3, 0xcb, 0x9a, 0x7f, 0xd1, 0xbf, 0x18, 0x36,
310: 0x5a, 0x4d, 0x7a, 0x7f, 0xcf, 0x3f, 0xba, 0xa5,
311: 0x77, 0x5b, 0xb4, 0x79, 0xdc, 0xbf, 0x2a, 0x28,
312: 0x16, 0x27, 0x0f, 0x8b, 0xd7, 0x95, 0xc3, 0xcb,
313: 0xa1, 0x6a, 0x49, 0x53, 0xa8, 0x0c, 0x70, 0xde,
314: 0x90, 0x2e, 0x36, 0x74, 0x40, 0x5d, 0x81, 0x74,
315: 0x03, 0x11, 0xbd, 0xba, 0x40, 0x8d, 0x03, 0x86,
316: 0x2b, 0x17, 0x55, 0x20, 0xd8, 0x81, 0x30, 0xd2,
317: 0x2a, 0xbd, 0xea, 0xff, 0x5c, 0x69, 0x9b, 0xe6,
318: 0xe3, 0x21, 0x9a, 0x10, 0x3e, 0xb0, 0xf4, 0x7a,
319: 0xfc, 0x6e, 0x66, 0xec, 0x44, 0x0b, 0x95, 0x8d,
320: 0x13, 0xd4, 0xf6, 0x3e, 0xa1, 0xa1, 0xac, 0xb1,
321: 0xd8, 0x3d, 0x86, 0xaf, 0x5e, 0xef, 0x14, 0x6a,
322: 0x32, 0xf3, 0x13, 0x75, 0x3b, 0x64, 0x9a, 0xf4,
323: 0xd0, 0xf5, 0x00, 0x36, 0x9e, 0xdb, 0xfd, 0xcb,
324: 0xda, 0x1f, 0xed, 0x9d, 0x6d, 0x52, 0xd7, 0xb5,
325: 0x48, 0xce, 0x53, 0x5e, 0xdc, 0xc8, 0xe4, 0x96,
326: 0x04, 0x32, 0xa5, 0xcf, 0x0c, 0xba, 0xa0, 0xd0,
327: 0x44, 0xb3, 0xe8, 0x72, 0xc6, 0xff, 0x8f, 0xd4,
328: 0x4d, 0x0a, 0x22, 0x89, 0x74, 0x50, 0xaa, 0x65,
329: 0x15, 0xab, 0x99, 0xc8, 0xf9, 0xa4, 0x10, 0xe6,
330: 0xa6, 0x4b, 0x0c, 0xc8, 0xb9, 0xa7, 0x60, 0x41,
331: 0xe7, 0x57, 0x31, 0xfa, 0x86, 0x55, 0xdf, 0x29,
332: 0x49, 0xac, 0x55, 0x7b, 0x21, 0xf9, 0x3b, 0x1e,
333: 0x1f, 0xb4, 0x1c, 0x0b, 0x77, 0xcb, 0x88, 0xbf,
334: 0xa6, 0x79, 0xbf, 0x9a, 0x51, 0xc4, 0x8e, 0x59,
335: 0x9c, 0xb3, 0x9d, 0x9d, 0x6b, 0xb2, 0x15, 0x41,
336: 0x0d, 0x6c, 0xf7, 0x5e, 0xe2, 0xf9, 0xb3, 0x80,
337: 0x8f, 0x03, 0x67, 0x68, 0x6e, 0x4b, 0x4d, 0x52,
338: 0xbc, 0x9b, 0xa2, 0xd8, 0x29, 0x1e, 0x5c, 0xd7,
339: 0x59, 0x67, 0x94, 0x40, 0x9e, 0x08, 0x15, 0x0d,
340: 0x7e, 0xc9, 0x14, 0x53, 0xa8, 0x67, 0xb3, 0xb8,
341: 0xaa, 0x21, 0x0f, 0x79, 0x69, 0x48, 0x52, 0xea,
342: 0x56, 0x03, 0x7b, 0x55, 0xb7, 0xf3, 0xfe, 0xb1,
343: 0x8a, 0x22, 0x7d, 0x75, 0x55, 0x31, 0xad, 0x20,
344: 0x6a, 0xc2, 0xa4, 0xd1, 0x1e, 0xab, 0xdd, 0x29,
345: 0xb5, 0xf8, 0xdd, 0x9b, 0x1a, 0xb8, 0xe7, 0xde,
346: 0xae, 0xa1, 0xab, 0xbb, 0xf6, 0x00, 0x87, 0xc4,
347: 0x29, 0xee, 0x2b, 0xa1, 0xa9, 0x1a, 0x46, 0x05,
348: 0x5a, 0x12, 0x3f, 0x32, 0x81, 0x25, 0x20, 0x71,
349: 0xb6, 0xfa, 0x1f, 0x27, 0x2a, 0x33, 0x49, 0xfc,
350: 0x95, 0x00, 0x72, 0x6b, 0x03, 0x53, 0x94, 0x57,
351: 0x2f, 0x47, 0x3d, 0x2d, 0x7c, 0xb4, 0xde, 0xa7,
352: 0x96, 0x81, 0x12, 0xff, 0x2c, 0xec, 0x5c, 0x03,
353: 0x2a, 0x8c, 0x76, 0xc4, 0xed, 0x09, 0xe6, 0x00,
354: 0x28, 0xdb, 0x9b, 0x44, 0xb0, 0xb4, 0x7b, 0x57,
355: 0x3b, 0xb6, 0x4f, 0x0b, 0xff, 0xf2, 0xf5, 0x02,
356: 0x56, 0xcf, 0xd5, 0xbf, 0x71, 0xe6, 0x66, 0xf3,
357: 0x08, 0x8e, 0x8b, 0x15, 0x57, 0x07, 0x41, 0xa3,
358: 0x91, 0xc1, 0xe4, 0x64, 0x92, 0x89, 0xed, 0x22,
359: 0x88, 0x8f, 0x17, 0x91, 0xde, 0xea, 0x0c, 0xa6,
360: 0x86, 0x8e, 0x4c, 0xd9, 0x63, 0xc9, 0xe5, 0xdc,
361: 0xd6, 0xd3, 0x7b, 0x2b, 0x65, 0xfa, 0x36, 0x47,
362: 0x20, 0xa4, 0xe7, 0x0b, 0x52, 0xfa, 0xa6, 0xeb,
363: 0x1d, 0x20, 0xd0, 0x4b, 0xfd, 0x88, 0x8c, 0xbb,
364: 0x52, 0x9c, 0x2f, 0xb7, 0xba, 0x8b, 0xdd, 0x10,
365: 0x2d, 0x7d, 0x77, 0x79, 0x40, 0xa7, 0xed, 0xf9,
366: 0xbd, 0x2a, 0x55, 0x1f, 0x87, 0x1e, 0x3c, 0xfc,
367: };
368:
369: const struct testvec c3des_cbc_192_1_vectors[] = {
370: {
371: .blkno = 0,
372: .ptxt = c3des_cbc_ptxt,
373: .ctxt = c3des_cbc_192_encblkno1_vec0_ctxt,
374: },
375: {
376: .blkno = 1,
377: .ptxt = c3des_cbc_ptxt,
378: .ctxt = c3des_cbc_192_encblkno1_vec1_ctxt,
379: },
380: {
381: .blkno = 2,
382: .ptxt = c3des_cbc_ptxt,
383: .ctxt = c3des_cbc_192_encblkno1_vec2_ctxt,
384: },
385: {
386: .blkno = 3,
387: .ptxt = c3des_cbc_ptxt,
388: .ctxt = c3des_cbc_192_encblkno1_vec3_ctxt,
389: },
390: };
391:
392: /*
393: * IV method encblkno8, blkno 0.
394: */
395: static const uint8_t c3des_cbc_192_encblkno8_vec0_ctxt[SECSIZE] = {
396: 0x9e, 0x5d, 0x35, 0x56, 0xa7, 0xcc, 0xc0, 0x1c,
397: 0x60, 0x4c, 0x42, 0x90, 0x35, 0xf3, 0xc1, 0x20,
398: 0xf2, 0x07, 0x6f, 0xf8, 0x7c, 0x33, 0x6a, 0x74,
399: 0xdc, 0x85, 0xbc, 0x9c, 0xa2, 0x29, 0xc6, 0x69,
400: 0x0e, 0xef, 0x0f, 0xa9, 0x6e, 0xec, 0xf2, 0x23,
401: 0x2f, 0x9a, 0xbe, 0x1a, 0x89, 0x22, 0x00, 0xc4,
402: 0x5a, 0xaf, 0x4a, 0xa0, 0x4f, 0x30, 0x8f, 0x99,
403: 0xd2, 0x93, 0x6d, 0xfa, 0xcd, 0x2f, 0xad, 0x19,
404: 0x10, 0x14, 0x90, 0x3a, 0x4b, 0xab, 0x17, 0x2e,
405: 0x2c, 0xe1, 0x26, 0xe5, 0x76, 0xf1, 0xd1, 0x1d,
406: 0x4c, 0x77, 0x68, 0xfb, 0x45, 0x9a, 0x3e, 0x19,
407: 0xe0, 0xfb, 0xdc, 0xd4, 0x0e, 0x29, 0x7c, 0x06,
408: 0xd3, 0x45, 0xa8, 0xf7, 0x39, 0x91, 0xe6, 0x18,
409: 0x0f, 0x81, 0xe6, 0x7d, 0x6c, 0x65, 0x2e, 0x16,
410: 0x24, 0xa4, 0x16, 0x96, 0x0a, 0x7b, 0x5f, 0x3a,
411: 0x0c, 0xe9, 0x0e, 0x3f, 0x34, 0x38, 0xb0, 0xe1,
412: 0x39, 0x23, 0x5c, 0x3c, 0x00, 0xb4, 0xa0, 0xf7,
413: 0x42, 0x18, 0x70, 0x25, 0x82, 0x13, 0x24, 0x49,
414: 0xbb, 0x3f, 0xfb, 0xef, 0xb6, 0xc6, 0x7f, 0x3d,
415: 0x8c, 0x17, 0x62, 0x60, 0x6f, 0xd5, 0xda, 0x2c,
416: 0xf8, 0x85, 0xee, 0xa7, 0xc2, 0x76, 0x5d, 0x34,
417: 0x4c, 0xe1, 0x0d, 0x36, 0x6e, 0x02, 0xdd, 0x08,
418: 0x85, 0xe4, 0x90, 0xfe, 0x1f, 0x81, 0x4a, 0x06,
419: 0xa6, 0x72, 0x81, 0x79, 0x47, 0xd7, 0x6d, 0x92,
420: 0x8f, 0xb7, 0xb2, 0xfd, 0xd0, 0x60, 0x6c, 0x06,
421: 0x44, 0xcd, 0x20, 0x28, 0xef, 0x16, 0xc3, 0x01,
422: 0x19, 0x14, 0x34, 0x39, 0xad, 0x87, 0x9f, 0xde,
423: 0x76, 0xb9, 0xb9, 0x87, 0x1a, 0xbd, 0x8e, 0x2c,
424: 0xe6, 0xb3, 0xe7, 0xb6, 0x80, 0xf8, 0xc5, 0x22,
425: 0x5f, 0x53, 0xed, 0x03, 0xfe, 0x09, 0x2c, 0x9d,
426: 0xb6, 0x61, 0x4a, 0xbb, 0x07, 0x5d, 0xbd, 0x68,
427: 0x74, 0xab, 0x02, 0x81, 0x64, 0x7b, 0x97, 0xa3,
428: 0xad, 0x15, 0x99, 0x7a, 0x04, 0x33, 0xbd, 0x50,
429: 0x94, 0x11, 0xcc, 0xf7, 0x8b, 0x77, 0x88, 0x78,
430: 0x80, 0xfe, 0x5f, 0xa1, 0x63, 0xbc, 0xb0, 0x65,
431: 0xcb, 0x9d, 0x4c, 0xfe, 0x66, 0x4e, 0xff, 0xe3,
432: 0x43, 0x61, 0x99, 0x88, 0x88, 0x4c, 0xbc, 0x8a,
433: 0xf1, 0x69, 0x00, 0xc2, 0xe5, 0xb9, 0x65, 0x8b,
434: 0x10, 0xdf, 0x38, 0x3e, 0x9e, 0x9f, 0x87, 0xed,
435: 0x84, 0x71, 0xe7, 0xf2, 0xb5, 0xb6, 0x11, 0xed,
436: 0x1e, 0xd4, 0xc0, 0x6d, 0x77, 0x08, 0x4b, 0xfd,
437: 0x95, 0xd5, 0xc0, 0xbe, 0xa6, 0xcc, 0x3b, 0xea,
438: 0x11, 0x38, 0xa5, 0x59, 0x36, 0x2a, 0xf4, 0x98,
439: 0x52, 0x9d, 0x3b, 0x8c, 0x8a, 0x19, 0xbd, 0xfb,
440: 0x49, 0xcb, 0xb0, 0x57, 0x91, 0xc7, 0xf8, 0x2a,
441: 0x89, 0xa8, 0x85, 0x03, 0xdf, 0x6e, 0xad, 0xf4,
442: 0x8a, 0x88, 0x9a, 0x2b, 0x5d, 0xe8, 0xca, 0xa9,
443: 0x8f, 0x18, 0xa3, 0x6a, 0x37, 0x84, 0xa9, 0x24,
444: 0x5b, 0xce, 0xd6, 0xbe, 0x7e, 0x40, 0x86, 0x6a,
445: 0xc3, 0x47, 0x28, 0x66, 0xf0, 0x8c, 0x2d, 0x69,
446: 0x22, 0x64, 0x61, 0x36, 0x6a, 0x0c, 0xc4, 0x18,
447: 0x5f, 0xd7, 0xff, 0xbc, 0xf1, 0x94, 0x16, 0xfb,
448: 0x26, 0xa7, 0x80, 0xa4, 0x2d, 0x72, 0xc6, 0x9d,
449: 0xa7, 0xed, 0x04, 0x13, 0x0f, 0xe7, 0xf8, 0x93,
450: 0x57, 0x6b, 0xd5, 0xa4, 0xad, 0x9a, 0x97, 0xeb,
451: 0x97, 0xe7, 0x60, 0x01, 0x89, 0x3f, 0x88, 0xf2,
452: 0xee, 0xf3, 0x79, 0xd6, 0x5a, 0x03, 0x94, 0x07,
453: 0xd3, 0x33, 0xc8, 0xda, 0x15, 0x17, 0x0a, 0x8f,
454: 0xbd, 0x58, 0x1b, 0xfe, 0x3d, 0x77, 0x5d, 0x8f,
455: 0x4e, 0x0e, 0x98, 0x7d, 0x02, 0x63, 0x94, 0x73,
456: 0x4a, 0x58, 0x47, 0xed, 0x52, 0xfc, 0x85, 0x19,
457: 0x5d, 0x2f, 0xfa, 0x07, 0x44, 0xbd, 0x8e, 0xcb,
458: 0x20, 0x63, 0x9d, 0x2b, 0x61, 0x5c, 0x19, 0x71,
459: 0x80, 0xe5, 0x25, 0x5b, 0x2e, 0xc5, 0xfe, 0x1a,
460: };
461:
462: /*
463: * IV method encblkno8, blkno 1.
464: */
465: static const uint8_t c3des_cbc_192_encblkno8_vec1_ctxt[SECSIZE] = {
466: 0xf4, 0xb0, 0xb0, 0xcb, 0x79, 0xcc, 0x8c, 0x0a,
467: 0x3b, 0xc7, 0x43, 0x4e, 0x62, 0x9d, 0xde, 0xb4,
468: 0xab, 0xa5, 0x62, 0x63, 0x32, 0xa7, 0x18, 0x2b,
469: 0xe3, 0xee, 0x44, 0xc6, 0x6f, 0xb2, 0xdc, 0x21,
470: 0xc5, 0xc8, 0x9e, 0x32, 0x71, 0x4c, 0x7a, 0x82,
471: 0x8d, 0xe0, 0xad, 0x91, 0x88, 0x0c, 0x41, 0x83,
472: 0x28, 0x0d, 0xed, 0xa7, 0xeb, 0x48, 0xb1, 0x31,
473: 0xfa, 0x40, 0xd9, 0x44, 0x19, 0xee, 0x8d, 0x2c,
474: 0x7d, 0xe2, 0x39, 0xa0, 0x39, 0xaa, 0x86, 0xab,
475: 0xb5, 0x68, 0xe5, 0x83, 0x06, 0x61, 0xec, 0xe6,
476: 0xc2, 0x85, 0xb2, 0x46, 0xf4, 0x5b, 0x0e, 0x34,
477: 0x7e, 0x0c, 0xa0, 0xda, 0xef, 0x58, 0x9c, 0x39,
478: 0x95, 0xa2, 0xca, 0xd3, 0x3b, 0x4d, 0x76, 0xe3,
479: 0x34, 0x6d, 0x08, 0xa4, 0xba, 0x88, 0x58, 0x39,
480: 0xb4, 0xe4, 0x6b, 0xb6, 0x32, 0x50, 0x2c, 0xe2,
481: 0x0a, 0x37, 0xbc, 0x98, 0x38, 0x32, 0x17, 0x1b,
482: 0x12, 0xef, 0xdc, 0x9d, 0x91, 0x09, 0x8e, 0xd8,
483: 0xc3, 0xf8, 0x7b, 0x35, 0x41, 0x3b, 0xf8, 0xf5,
484: 0x37, 0x48, 0x04, 0xf7, 0x94, 0xbf, 0x54, 0x8d,
485: 0x79, 0x49, 0x8f, 0xf0, 0x3f, 0xb7, 0x90, 0x76,
486: 0x14, 0x09, 0xc6, 0x8c, 0xba, 0x1a, 0x30, 0x1b,
487: 0xbb, 0xd9, 0xe2, 0xb5, 0xe8, 0xd9, 0x9b, 0x68,
488: 0x60, 0x90, 0xd3, 0x4a, 0xe8, 0x65, 0x7b, 0xaa,
489: 0xb0, 0xda, 0x69, 0x1d, 0x45, 0x78, 0x2c, 0x3b,
490: 0x59, 0x29, 0x3c, 0x26, 0x9a, 0xd2, 0xa5, 0xfd,
491: 0xb7, 0x16, 0x59, 0x7c, 0x46, 0xea, 0x99, 0xd0,
492: 0x06, 0x01, 0x3f, 0xd2, 0x23, 0xcc, 0xde, 0xb8,
493: 0xaa, 0x88, 0x17, 0x03, 0xe1, 0x48, 0x2c, 0xdd,
494: 0xce, 0xd1, 0x2c, 0xce, 0x37, 0xee, 0xe6, 0xa6,
495: 0x47, 0x8c, 0x07, 0xe5, 0xfe, 0x01, 0xc6, 0x27,
496: 0xfe, 0x3f, 0x9d, 0x30, 0x18, 0x36, 0xe7, 0xa7,
497: 0x37, 0x1d, 0xcf, 0x6d, 0x4c, 0x82, 0xec, 0x58,
498: 0xa1, 0x6f, 0x56, 0xc6, 0x08, 0x25, 0x94, 0xda,
499: 0xae, 0x1a, 0x4f, 0xda, 0xb2, 0xf4, 0xbf, 0x94,
500: 0xff, 0x66, 0x6a, 0xb1, 0x1f, 0x42, 0xfe, 0x32,
501: 0xa4, 0x0e, 0x3d, 0x6a, 0x16, 0x44, 0xe0, 0xac,
502: 0xe8, 0xc1, 0xe2, 0xa8, 0x73, 0xab, 0xac, 0x58,
503: 0xb1, 0xbc, 0x94, 0xb2, 0x6a, 0xe4, 0x45, 0xf5,
504: 0x90, 0x6b, 0x82, 0xeb, 0x9e, 0x22, 0x9e, 0xb2,
505: 0x27, 0x3e, 0xc8, 0x55, 0xf4, 0x8f, 0xda, 0x04,
506: 0xa3, 0x9c, 0xa4, 0x79, 0xbd, 0x79, 0xd3, 0xbd,
507: 0xbe, 0x72, 0x7f, 0x90, 0xef, 0xc3, 0x34, 0x17,
508: 0x72, 0x6f, 0xb4, 0xfe, 0x62, 0x56, 0xc3, 0xd6,
509: 0x43, 0xc8, 0x4c, 0x76, 0x91, 0x04, 0x97, 0x4c,
510: 0x84, 0x98, 0x56, 0xb7, 0x7b, 0x4f, 0xd5, 0xcf,
511: 0x1b, 0x9c, 0x09, 0xe3, 0x1d, 0xdf, 0x0e, 0xfa,
512: 0x39, 0xc8, 0x48, 0x43, 0x84, 0xec, 0x79, 0xc8,
513: 0x7f, 0x4f, 0xa8, 0xc0, 0xb4, 0xde, 0x8b, 0x79,
514: 0xcb, 0x9c, 0x42, 0x81, 0x49, 0xdc, 0x39, 0xb5,
515: 0x31, 0xa6, 0x22, 0xba, 0x71, 0xb8, 0x2d, 0x1d,
516: 0xc8, 0x17, 0xd8, 0x9d, 0x26, 0x2b, 0xd5, 0xcf,
517: 0x57, 0x46, 0x0a, 0x61, 0x7e, 0xb7, 0xc3, 0x9c,
518: 0xa6, 0x44, 0x60, 0x2d, 0x30, 0xb8, 0x10, 0x47,
519: 0x7d, 0x7e, 0x87, 0x76, 0xc1, 0x4e, 0x85, 0x77,
520: 0xbc, 0x30, 0x32, 0x56, 0x0a, 0x5b, 0x1c, 0xd0,
521: 0xf6, 0x47, 0x48, 0x22, 0xf4, 0x6e, 0x38, 0xc5,
522: 0xab, 0xe2, 0xd0, 0x4d, 0x40, 0x27, 0xab, 0x8f,
523: 0x43, 0xb1, 0x60, 0x29, 0x07, 0xd0, 0xf5, 0x25,
524: 0xe5, 0xfa, 0xe7, 0x46, 0x32, 0x37, 0xb9, 0xae,
525: 0x2e, 0x02, 0x8c, 0x94, 0x15, 0x69, 0xd6, 0x74,
526: 0xb4, 0x36, 0xdd, 0x94, 0x70, 0xa7, 0x16, 0x7b,
527: 0x4c, 0xd3, 0x48, 0x83, 0xc5, 0xb2, 0xb0, 0x6a,
528: 0xfe, 0x7e, 0xd4, 0xe5, 0x6d, 0xa5, 0x96, 0x20,
529: 0x08, 0x59, 0xbd, 0x0c, 0x3d, 0x55, 0xa5, 0x03,
530: };
531:
532: /*
533: * IV method encblkno8, blkno 2.
534: */
535: static const uint8_t c3des_cbc_192_encblkno8_vec2_ctxt[SECSIZE] = {
536: 0xea, 0x7c, 0x8c, 0x8e, 0x3e, 0x61, 0x34, 0x3d,
537: 0xe0, 0x7f, 0xd3, 0xe1, 0x3a, 0xb9, 0xc8, 0xf2,
538: 0x98, 0xdc, 0x59, 0x26, 0xd2, 0xd8, 0xa7, 0x7f,
539: 0x41, 0x98, 0x24, 0xa8, 0x28, 0x0c, 0x88, 0x55,
540: 0x91, 0xdb, 0x29, 0x17, 0x70, 0xd7, 0x03, 0xff,
541: 0xbd, 0x0e, 0xbf, 0xf8, 0x73, 0x92, 0x19, 0xe9,
542: 0x92, 0x67, 0xdb, 0x08, 0x94, 0x77, 0x71, 0x2d,
543: 0x00, 0xad, 0x26, 0x42, 0x2d, 0xac, 0x8c, 0x67,
544: 0x6f, 0xb3, 0x8e, 0x36, 0x22, 0xeb, 0x1f, 0x8c,
545: 0xd4, 0x9b, 0x9f, 0xa6, 0xa9, 0xb1, 0x52, 0x65,
546: 0x9a, 0xfe, 0xcc, 0x92, 0x48, 0x75, 0xf6, 0xb8,
547: 0x59, 0xfe, 0x0e, 0x67, 0x93, 0xce, 0x3b, 0x7e,
548: 0x51, 0x74, 0xe5, 0x24, 0x35, 0x08, 0x68, 0x21,
549: 0x6a, 0x7f, 0xdd, 0x8c, 0xfd, 0xcd, 0x6d, 0x90,
550: 0xc5, 0x3b, 0x26, 0x9e, 0x00, 0xf4, 0x1e, 0x70,
551: 0xd3, 0xe7, 0xe8, 0x2f, 0x52, 0x87, 0x76, 0x84,
552: 0xbb, 0x5c, 0x76, 0x5a, 0xc8, 0xea, 0x74, 0xe2,
553: 0x9e, 0x85, 0xf6, 0x53, 0x85, 0x1a, 0x6e, 0x02,
554: 0x0d, 0x32, 0x11, 0xc4, 0xec, 0xee, 0x79, 0x27,
555: 0xda, 0xca, 0xc0, 0x0b, 0x8e, 0x2d, 0xb7, 0x7d,
556: 0x8c, 0x6e, 0xfb, 0xa3, 0xa8, 0x24, 0x24, 0x62,
557: 0xc8, 0xdd, 0xc7, 0x16, 0x09, 0x33, 0x0f, 0xe5,
558: 0xc8, 0x60, 0x3d, 0xb6, 0xbf, 0x6c, 0x28, 0xd2,
559: 0x0b, 0x9c, 0xd9, 0xcb, 0x64, 0x49, 0xe4, 0x80,
560: 0x72, 0x58, 0xaa, 0xaa, 0x7e, 0x1d, 0x9f, 0xd7,
561: 0x29, 0x15, 0x65, 0xfc, 0xfd, 0x3f, 0xe1, 0x82,
562: 0x25, 0x3c, 0xd4, 0xbe, 0x59, 0x79, 0x63, 0xd1,
563: 0xd6, 0x0e, 0xda, 0x00, 0xf3, 0xaa, 0x13, 0xd3,
564: 0xed, 0xef, 0xca, 0x8b, 0x97, 0x15, 0x2d, 0x10,
565: 0x6f, 0xcf, 0xee, 0xc7, 0x21, 0xad, 0xe3, 0xe4,
566: 0xd8, 0x95, 0x21, 0x1f, 0xc0, 0x06, 0x3a, 0xbc,
567: 0xbb, 0x2a, 0x92, 0x78, 0x76, 0x9d, 0x1e, 0x7b,
568: 0xb5, 0x29, 0xaf, 0x96, 0x75, 0x2b, 0x41, 0xbd,
569: 0xae, 0x79, 0x28, 0x72, 0xe7, 0x54, 0xc4, 0x08,
570: 0xd3, 0xd2, 0xac, 0x96, 0xd0, 0x0f, 0x9b, 0x68,
571: 0x7d, 0x3f, 0xc2, 0xdd, 0x3d, 0xfc, 0xca, 0xcd,
572: 0x11, 0x71, 0xd9, 0x48, 0x53, 0x9f, 0xd3, 0x79,
573: 0x7d, 0x47, 0x71, 0x2a, 0x6d, 0x9e, 0xa9, 0x47,
574: 0xa1, 0xf7, 0x97, 0x80, 0x83, 0x70, 0x6b, 0xfe,
575: 0x10, 0x11, 0x6a, 0x0e, 0xdd, 0xde, 0x22, 0x3c,
576: 0x19, 0x30, 0x73, 0x73, 0x2e, 0x4b, 0x54, 0x17,
577: 0xc3, 0x2e, 0xe9, 0xce, 0xe0, 0xe3, 0xa0, 0x1a,
578: 0x28, 0xd1, 0x50, 0xa8, 0xd2, 0x40, 0xe2, 0x1b,
579: 0xfa, 0x49, 0x06, 0x49, 0x8b, 0x4b, 0xd9, 0xd5,
580: 0xf5, 0x50, 0xae, 0x64, 0x19, 0xe1, 0xd9, 0x4e,
581: 0xbb, 0x29, 0x70, 0x66, 0x46, 0xa8, 0x7e, 0x5b,
582: 0xdc, 0xe2, 0xd5, 0x9d, 0x56, 0x6d, 0x4c, 0xe6,
583: 0x0e, 0x6b, 0x71, 0x40, 0x82, 0xf7, 0xb3, 0xad,
584: 0x23, 0x17, 0xe3, 0x1c, 0x61, 0x1d, 0x3b, 0x71,
585: 0xfc, 0x06, 0x17, 0xec, 0x6c, 0x77, 0x98, 0x27,
586: 0xc7, 0x4b, 0x65, 0x17, 0x81, 0xe7, 0xcb, 0xce,
587: 0x09, 0x76, 0x82, 0x82, 0x4a, 0x53, 0x67, 0xa0,
588: 0x05, 0x25, 0x4c, 0xc4, 0xa7, 0xad, 0xa7, 0xaf,
589: 0xa0, 0x11, 0xd7, 0x73, 0x3b, 0x30, 0xbf, 0x53,
590: 0x50, 0x9b, 0xd8, 0xf3, 0x32, 0x15, 0xdd, 0x36,
591: 0x88, 0xc2, 0x39, 0x51, 0xb6, 0xb8, 0x0d, 0x5c,
592: 0x20, 0x4e, 0x24, 0xee, 0x95, 0x32, 0x61, 0x25,
593: 0xda, 0x73, 0x0d, 0x8a, 0x58, 0xe6, 0xcc, 0xad,
594: 0x79, 0x3d, 0xef, 0x29, 0x0c, 0x9f, 0xe1, 0xa7,
595: 0x22, 0x1e, 0xea, 0x7a, 0x4f, 0xfb, 0xc1, 0x1f,
596: 0x17, 0xca, 0x69, 0xd6, 0xa4, 0xce, 0x6e, 0xc0,
597: 0x70, 0xa3, 0x08, 0x32, 0x87, 0xb4, 0x6b, 0x80,
598: 0x5c, 0x7f, 0x88, 0x5c, 0xbf, 0x07, 0xd8, 0xe9,
599: 0xdd, 0xd2, 0x76, 0xa9, 0xaa, 0xd9, 0x55, 0x48,
600: };
601:
602: /*
603: * IV method encblkno8, blkno 3.
604: */
605: static const uint8_t c3des_cbc_192_encblkno8_vec3_ctxt[SECSIZE] = {
606: 0xf3, 0x49, 0xda, 0x5c, 0xde, 0x9d, 0x3e, 0x9d,
607: 0xb9, 0xc2, 0x6e, 0x96, 0xa9, 0x93, 0x10, 0x73,
608: 0x0e, 0x26, 0x39, 0xd6, 0x9f, 0x04, 0x5f, 0x69,
609: 0x54, 0xa3, 0x7c, 0x46, 0x7b, 0x18, 0x93, 0xc0,
610: 0xbb, 0x0c, 0x96, 0x6f, 0xb0, 0xbf, 0xce, 0x67,
611: 0x33, 0x3e, 0x56, 0xe8, 0x6b, 0x4d, 0x3f, 0xc8,
612: 0x3c, 0xc6, 0x89, 0x2c, 0x0b, 0x95, 0x3a, 0xaf,
613: 0xc0, 0xf3, 0x1f, 0x0e, 0x07, 0x01, 0xa6, 0x35,
614: 0x19, 0x79, 0x91, 0x24, 0xaa, 0x0d, 0xf0, 0x53,
615: 0x27, 0x7d, 0xbb, 0xa6, 0xb6, 0x44, 0x31, 0x4b,
616: 0xd4, 0xcf, 0xf6, 0x6d, 0x18, 0xa2, 0x28, 0x8a,
617: 0xc1, 0x0a, 0xbe, 0x57, 0x0c, 0x61, 0x5f, 0xd9,
618: 0x12, 0x14, 0xfe, 0xe2, 0xc7, 0x10, 0x72, 0xee,
619: 0x19, 0xb8, 0x16, 0x0b, 0x88, 0x87, 0xce, 0xf3,
620: 0xfe, 0x57, 0x37, 0xd1, 0xa2, 0xf7, 0xd0, 0x5e,
621: 0x73, 0xde, 0x39, 0x35, 0xbc, 0xde, 0xed, 0x61,
622: 0x4b, 0x31, 0xdc, 0xfe, 0x3c, 0x4d, 0x98, 0xa9,
623: 0x36, 0xb0, 0x34, 0x5b, 0xb4, 0xb7, 0x79, 0x25,
624: 0x6e, 0x24, 0x7e, 0x10, 0xfe, 0x20, 0xd5, 0x16,
625: 0x86, 0xaf, 0xcd, 0x26, 0x34, 0xd3, 0x2e, 0xdc,
626: 0x7c, 0x69, 0xe3, 0xc5, 0x62, 0x0c, 0xba, 0x29,
627: 0x9c, 0x4b, 0x2f, 0x39, 0x45, 0xe1, 0xcf, 0xc5,
628: 0xfe, 0x35, 0xb6, 0x2f, 0xb1, 0x1a, 0x90, 0xe1,
629: 0xa7, 0x39, 0xe8, 0x1e, 0x5f, 0xac, 0xab, 0x1e,
630: 0x32, 0xba, 0xc5, 0x92, 0x39, 0x62, 0x37, 0x2c,
631: 0x49, 0xf1, 0x62, 0x90, 0xf7, 0x1e, 0x10, 0xce,
632: 0x8e, 0x95, 0xa3, 0xc6, 0xd8, 0xe5, 0xc8, 0xdf,
633: 0xcc, 0x94, 0x7d, 0x26, 0xab, 0x29, 0xbb, 0x9d,
634: 0xf3, 0x73, 0xce, 0xac, 0x76, 0xdf, 0x75, 0x2a,
635: 0x3e, 0x8f, 0x47, 0xff, 0x76, 0xfe, 0xea, 0xd4,
636: 0x4a, 0xa9, 0x36, 0x9d, 0x12, 0x45, 0xb7, 0x99,
637: 0x81, 0xb6, 0x77, 0x98, 0x13, 0xfb, 0x5a, 0xe5,
638: 0x40, 0x87, 0x61, 0x0d, 0x10, 0x76, 0xf6, 0x3e,
639: 0x48, 0xac, 0xc4, 0x27, 0x87, 0xcd, 0x07, 0xde,
640: 0x0b, 0x23, 0x97, 0x61, 0x3d, 0x18, 0x64, 0x7f,
641: 0xbf, 0xd6, 0x87, 0xc1, 0x11, 0xfb, 0xf9, 0xda,
642: 0x14, 0xa1, 0x01, 0xf8, 0x7e, 0xea, 0x5b, 0x5b,
643: 0xdd, 0x09, 0xf9, 0x31, 0x80, 0x3c, 0xee, 0x34,
644: 0x2d, 0xda, 0x71, 0xd9, 0x32, 0x7d, 0x45, 0xb2,
645: 0x53, 0xea, 0xd5, 0x7c, 0x85, 0x45, 0xce, 0x1d,
646: 0x2b, 0xe9, 0xd7, 0x95, 0xf8, 0x8c, 0x08, 0xe4,
647: 0xd0, 0x2f, 0x60, 0x75, 0x02, 0xf3, 0xde, 0xeb,
648: 0x46, 0x40, 0xa8, 0xd2, 0x37, 0xd6, 0xca, 0x5d,
649: 0xb9, 0xf4, 0x51, 0x31, 0x8a, 0x1a, 0x82, 0xbd,
650: 0x6f, 0x6d, 0x88, 0x2b, 0x63, 0x0f, 0xe1, 0xf0,
651: 0xcf, 0x13, 0x79, 0x1d, 0x78, 0x82, 0x66, 0xa1,
652: 0xef, 0xdb, 0x34, 0x50, 0xd2, 0x71, 0x47, 0x49,
653: 0x41, 0x74, 0xd9, 0x0b, 0x14, 0x38, 0x1f, 0xc3,
654: 0x09, 0x4d, 0xb3, 0xa6, 0x03, 0x3f, 0x56, 0x67,
655: 0xd7, 0x51, 0x4c, 0x8a, 0x1d, 0x37, 0x99, 0xfb,
656: 0xe1, 0x84, 0x57, 0x55, 0x9b, 0xf8, 0x73, 0x63,
657: 0x68, 0x73, 0x89, 0x52, 0x06, 0xe7, 0x34, 0xe7,
658: 0x1a, 0x15, 0x7e, 0xd9, 0x84, 0xa3, 0x0e, 0x68,
659: 0x14, 0x1c, 0xe8, 0x23, 0x9e, 0xe3, 0x8f, 0x71,
660: 0x02, 0x9b, 0x87, 0xd4, 0xd9, 0x1b, 0xd1, 0x9e,
661: 0x9e, 0xa0, 0x7e, 0x49, 0x8e, 0xaa, 0x89, 0xb5,
662: 0x16, 0x48, 0x07, 0xb3, 0x3d, 0x9e, 0x4c, 0x35,
663: 0x3e, 0x94, 0xa9, 0xf8, 0x82, 0x50, 0x6a, 0x41,
664: 0x28, 0x3e, 0x9f, 0x9a, 0x1a, 0x5d, 0x02, 0x7c,
665: 0xd0, 0x32, 0x52, 0xa5, 0xee, 0x09, 0x27, 0x2d,
666: 0x49, 0x17, 0xf7, 0x92, 0xa1, 0x63, 0x9d, 0x2a,
667: 0xfd, 0x53, 0x26, 0x14, 0x7c, 0x92, 0x72, 0xa6,
668: 0x38, 0x18, 0x8f, 0xb5, 0x54, 0xb3, 0x69, 0x63,
669: 0x6a, 0xdc, 0xb1, 0x5a, 0x12, 0x7a, 0x0b, 0xa3,
670: };
671:
672: const struct testvec c3des_cbc_192_8_vectors[] = {
673: {
674: .blkno = 0,
675: .ptxt = c3des_cbc_ptxt,
676: .ctxt = c3des_cbc_192_encblkno8_vec0_ctxt,
677: },
678: {
679: .blkno = 1,
680: .ptxt = c3des_cbc_ptxt,
681: .ctxt = c3des_cbc_192_encblkno8_vec1_ctxt,
682: },
683: {
684: .blkno = 2,
685: .ptxt = c3des_cbc_ptxt,
686: .ctxt = c3des_cbc_192_encblkno8_vec2_ctxt,
687: },
688: {
689: .blkno = 3,
690: .ptxt = c3des_cbc_ptxt,
691: .ctxt = c3des_cbc_192_encblkno8_vec3_ctxt,
692: },
693: };
694:
695: static int
696: open_disk(const char *devpath, const char *imgpath, size_t size)
697: {
698: int fd;
699:
700: fd = open(imgpath, O_CREAT | O_RDWR | O_TRUNC, 0600);
701: if (fd < 0)
702: return -1;
703:
704: if (ftruncate(fd, size) < 0)
705: goto fail;
706:
707: if (rump_pub_etfs_register_withsize(devpath,
708: imgpath, RUMP_ETFS_BLK, 0, size) < 0) {
709: goto fail;
710: }
711:
712: unlink(imgpath);
713: return fd;
714: fail:
715: close(fd);
716: unlink(imgpath);
717: return -1;
718: }
719:
720: static int
721: open_cgd(int devno)
722: {
723: char devpath[32];
724:
725: sprintf(devpath, "/dev/rcgd%d%c", devno, getrawpartition() + 'a');
726:
727: return rump_sys_open(devpath, O_RDWR, 0);
728: }
729:
730: static int
731: configure_cgd(int fd, const char *dkpath, const char *alg,
732: const char *ivmethod, const char *key, size_t keylen)
733: {
734: struct cgd_ioctl ci;
735:
736: memset(&ci, 0, sizeof(ci));
737: ci.ci_disk = dkpath;
738: ci.ci_alg = alg;
739: ci.ci_ivmethod = ivmethod;
740: ci.ci_keylen = 8 * keylen - 8; /* Exclude the NUL terminator. */
741: ci.ci_key = key;
742: ci.ci_blocksize = 64;
743:
744: return rump_sys_ioctl(fd, CGDIOCSET, &ci);
745: }
746:
747: static int
748: unconfigure_cgd(int fd)
749: {
750: struct cgd_ioctl ci;
751:
752: return rump_sys_ioctl(fd, CGDIOCCLR, &ci);
753: }
754:
755: static int
756: write_testvec(int cgdfd, const struct testvec *tv)
757: {
758:
759: if (rump_sys_lseek(cgdfd, tv->blkno * SECSIZE, SEEK_SET) < 0)
760: return -1;
761:
762: if (rump_sys_write(cgdfd, tv->ptxt, SECSIZE) != SECSIZE)
763: return -1;
764:
765: return 0;
766: }
767:
768: static int
769: read_testvec(int cgdfd, const struct testvec *tv)
770: {
771: char *buf;
772: int res = -1;
773:
774: buf = malloc(SECSIZE);
775: if (buf == NULL)
776: return -1;
777:
778: if (rump_sys_lseek(cgdfd, tv->blkno * SECSIZE, SEEK_SET) < 0)
779: goto fail;
780:
781: if (rump_sys_read(cgdfd, buf, SECSIZE) != SECSIZE)
782: goto fail;
783:
784: res = memcmp(buf, tv->ptxt, SECSIZE);
785: fail:
786: free(buf);
787: return res;
788: }
789:
790: static int
791: check_testvec(int dkfd, const struct testvec *tv)
792: {
793: char *buf;
794: int res = -1;
795:
796: buf = malloc(SECSIZE);
797: if (buf == NULL)
798: return -1;
799:
800: if (lseek(dkfd, tv->blkno * SECSIZE, SEEK_SET) < 0)
801: goto fail;
802:
803: if (read(dkfd, buf, SECSIZE) != SECSIZE)
804: goto fail;
805:
806: res = memcmp(buf, tv->ctxt, SECSIZE);
807: fail:
808: free(buf);
809: return res;
810: }
811:
812: ATF_TC(cgd_3des_cbc_192_encblkno1);
813: ATF_TC_HEAD(cgd_3des_cbc_192_encblkno1, tc)
814: {
815: atf_tc_set_md_var(tc, "descr",
816: "Test 3des-cbc with 192 bits key, ivmethod encblkno1");
817: }
818:
819: ATF_TC_BODY(cgd_3des_cbc_192_encblkno1, tc)
820: {
821: const char imgpath[] = "3des-cbc-192-encblkno1.img";
822: const char *dkpath = "/dev/dk";
823: const size_t dksize = 4 * SECSIZE; /* Last blkno is 3. */
824: int dkfd, cgdfd;
825:
826: rump_init();
827:
828: RL(dkfd = open_disk(dkpath, imgpath, dksize));
829:
830: RL(cgdfd = open_cgd(0));
831: RL(configure_cgd(cgdfd, dkpath, "3des-cbc", "encblkno1",
832: c3des_cbc_192_key, sizeof(c3des_cbc_192_key)));
833:
834: ATF_CHECK_EQ(write_testvec(cgdfd, &c3des_cbc_192_1_vectors[0]), 0);
835: ATF_CHECK_EQ(write_testvec(cgdfd, &c3des_cbc_192_1_vectors[1]), 0);
836: ATF_CHECK_EQ(write_testvec(cgdfd, &c3des_cbc_192_1_vectors[2]), 0);
837: ATF_CHECK_EQ(write_testvec(cgdfd, &c3des_cbc_192_1_vectors[3]), 0);
838:
839: RL(unconfigure_cgd(cgdfd));
840: RL(configure_cgd(cgdfd, dkpath, "3des-cbc", "encblkno1",
841: c3des_cbc_192_key, sizeof(c3des_cbc_192_key)));
842:
843: ATF_CHECK_EQ(read_testvec(cgdfd, &c3des_cbc_192_1_vectors[0]), 0);
844: ATF_CHECK_EQ(read_testvec(cgdfd, &c3des_cbc_192_1_vectors[1]), 0);
845: ATF_CHECK_EQ(read_testvec(cgdfd, &c3des_cbc_192_1_vectors[2]), 0);
846: ATF_CHECK_EQ(read_testvec(cgdfd, &c3des_cbc_192_1_vectors[3]), 0);
847:
848: RL(unconfigure_cgd(cgdfd));
849: RL(rump_sys_close(cgdfd));
850:
851: ATF_CHECK_EQ(check_testvec(dkfd, &c3des_cbc_192_1_vectors[0]), 0);
852: ATF_CHECK_EQ(check_testvec(dkfd, &c3des_cbc_192_1_vectors[1]), 0);
853: ATF_CHECK_EQ(check_testvec(dkfd, &c3des_cbc_192_1_vectors[2]), 0);
854: ATF_CHECK_EQ(check_testvec(dkfd, &c3des_cbc_192_1_vectors[3]), 0);
855:
856: RL(close(dkfd));
857: }
858:
859: ATF_TC(cgd_3des_cbc_192_encblkno8);
860: ATF_TC_HEAD(cgd_3des_cbc_192_encblkno8, tc)
861: {
862: atf_tc_set_md_var(tc, "descr",
863: "Test 3des-cbc with 192 bits key, ivmethod encblkno8");
864: }
865:
866: ATF_TC_BODY(cgd_3des_cbc_192_encblkno8, tc)
867: {
868: const char imgpath[] = "3des-cbc-192-encblkno8.img";
869: const char *dkpath = "/dev/dk";
870: const size_t dksize = 4 * SECSIZE; /* Last blkno is 3. */
871: int dkfd, cgdfd;
872:
873: rump_init();
874:
875: RL(dkfd = open_disk(dkpath, imgpath, dksize));
876:
877: RL(cgdfd = open_cgd(0));
878: RL(configure_cgd(cgdfd, dkpath, "3des-cbc", "encblkno8",
879: c3des_cbc_192_key, sizeof(c3des_cbc_192_key)));
880:
881: ATF_CHECK_EQ(write_testvec(cgdfd, &c3des_cbc_192_8_vectors[0]), 0);
882: ATF_CHECK_EQ(write_testvec(cgdfd, &c3des_cbc_192_8_vectors[1]), 0);
883: ATF_CHECK_EQ(write_testvec(cgdfd, &c3des_cbc_192_8_vectors[2]), 0);
884: ATF_CHECK_EQ(write_testvec(cgdfd, &c3des_cbc_192_8_vectors[3]), 0);
885:
886: RL(unconfigure_cgd(cgdfd));
887: RL(configure_cgd(cgdfd, dkpath, "3des-cbc", "encblkno8",
888: c3des_cbc_192_key, sizeof(c3des_cbc_192_key)));
889:
890: ATF_CHECK_EQ(read_testvec(cgdfd, &c3des_cbc_192_8_vectors[0]), 0);
891: ATF_CHECK_EQ(read_testvec(cgdfd, &c3des_cbc_192_8_vectors[1]), 0);
892: ATF_CHECK_EQ(read_testvec(cgdfd, &c3des_cbc_192_8_vectors[2]), 0);
893: ATF_CHECK_EQ(read_testvec(cgdfd, &c3des_cbc_192_8_vectors[3]), 0);
894:
895: RL(unconfigure_cgd(cgdfd));
896: RL(rump_sys_close(cgdfd));
897:
898: ATF_CHECK_EQ(check_testvec(dkfd, &c3des_cbc_192_8_vectors[0]), 0);
899: ATF_CHECK_EQ(check_testvec(dkfd, &c3des_cbc_192_8_vectors[1]), 0);
900: ATF_CHECK_EQ(check_testvec(dkfd, &c3des_cbc_192_8_vectors[2]), 0);
901: ATF_CHECK_EQ(check_testvec(dkfd, &c3des_cbc_192_8_vectors[3]), 0);
902:
903: RL(close(dkfd));
904: }
905:
906: ATF_TP_ADD_TCS(tp)
907: {
908:
909: ATF_TP_ADD_TC(tp, cgd_3des_cbc_192_encblkno1);
910: ATF_TP_ADD_TC(tp, cgd_3des_cbc_192_encblkno8);
911:
912: return atf_no_error();
913: }
CVSweb <webmaster@jp.NetBSD.org>