blob: 7ccf489bd8ece0ade330521735c2c6a88c0760bb [file] [log] [blame]
Pascal Brandc639ac82015-07-02 08:53:34 +02001/*
2 * Copyright (c) 2014, STMicroelectronics International N.V.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License Version 2 as
6 * published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13
14#ifndef XTEST_4000_DATA_H
15#define XTEST_4000_DATA_H
16#include <stdint.h>
Cedric Chaumonteb1f7902015-09-18 12:54:58 +020017#include <nist/186-3dsatestvectors.h>
18#include <nist/ecccdhtestvectors.h>
Pascal Brandc639ac82015-07-02 08:53:34 +020019
20/*
21 * XTS-AES Test data from:
22 * http://grouper.ieee.org/groups/1619/email/pdf00086.pdf
23 */
24
25/*
26 * XTS-AES applied for a data unit of 32 bytes, 32 bytes key material.
27 */
28
29/* Vector 1 */
30static const uint8_t ciph_data_aes_xts_vect1_key1[] = {
31 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
32 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
33};
34static const uint8_t ciph_data_aes_xts_vect1_key2[] = {
35 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
36 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
37};
38static const uint8_t ciph_data_aes_xts_vect1_iv[16] = {
39 0x0
40};
41static const uint8_t ciph_data_aes_xts_vect1_ptx[] = {
42 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
43 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
44 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
45 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
46};
47/* TWK 66e94bd4ef8a2c3b884cfa59ca342b2eccd297a8df1559761099f4b39469565c */
48static const uint8_t ciph_data_aes_xts_vect1_ctx[] = {
49 0x91, 0x7c, 0xf6, 0x9e, 0xbd, 0x68, 0xb2, 0xec,
50 0x9b, 0x9f, 0xe9, 0xa3, 0xea, 0xdd, 0xa6, 0x92,
51 0xcd, 0x43, 0xd2, 0xf5, 0x95, 0x98, 0xed, 0x85,
52 0x8c, 0x02, 0xc2, 0x65, 0x2f, 0xbf, 0x92, 0x2e,
53};
54
55/* Vector 2 */
56static const uint8_t ciph_data_aes_xts_vect2_key1[] = {
57 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
58 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
59};
60static const uint8_t ciph_data_aes_xts_vect2_key2[] = {
61 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
62 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
63};
64static const uint8_t ciph_data_aes_xts_vect2_iv[16] = {
65 0x33, 0x33, 0x33, 0x33, 0x33
66};
67static const uint8_t ciph_data_aes_xts_vect2_ptx[] = {
68 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
69 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
70 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
71 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
72};
73/* TWK 3f803bcd0d7fd2b37558419f59d5cda6f900779a1bfea467ebb0823eb3aa9b4d */
74static const uint8_t ciph_data_aes_xts_vect2_ctx[] = {
75 0xc4, 0x54, 0x18, 0x5e, 0x6a, 0x16, 0x93, 0x6e,
76 0x39, 0x33, 0x40, 0x38, 0xac, 0xef, 0x83, 0x8b,
77 0xfb, 0x18, 0x6f, 0xff, 0x74, 0x80, 0xad, 0xc4,
78 0x28, 0x93, 0x82, 0xec, 0xd6, 0xd3, 0x94, 0xf0,
79};
80
81/* Vector 3 */
82static const uint8_t ciph_data_aes_xts_vect3_key1[] = {
83 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
84 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
85};
86static const uint8_t ciph_data_aes_xts_vect3_key2[] = {
87 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
88 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
89};
90static const uint8_t ciph_data_aes_xts_vect3_iv[16] = {
91 0x33, 0x33, 0x33, 0x33, 0x33
92};
93static const uint8_t ciph_data_aes_xts_vect3_ptx[] = {
94 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
95 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
96 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
97 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
98};
99/* TWK 3f803bcd0d7fd2b37558419f59d5cda6f900779a1bfea467ebb0823eb3aa9b4d */
100static const uint8_t ciph_data_aes_xts_vect3_ctx[] = {
101 0xaf, 0x85, 0x33, 0x6b, 0x59, 0x7a, 0xfc, 0x1a,
102 0x90, 0x0b, 0x2e, 0xb2, 0x1e, 0xc9, 0x49, 0xd2,
103 0x92, 0xdf, 0x4c, 0x04, 0x7e, 0x0b, 0x21, 0x53,
104 0x21, 0x86, 0xa5, 0x97, 0x1a, 0x22, 0x7a, 0x89,
105};
106
107/*
108 * XTS-AES-128 applied for a data unit of 512 bytes
109 */
110
111/* Vector 4 */
112static const uint8_t ciph_data_aes_xts_vect4_key1[] = {
113 0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45,
114 0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26,
115};
116static const uint8_t ciph_data_aes_xts_vect4_key2[] = {
117 0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93,
118 0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95,
119};
120static const uint8_t ciph_data_aes_xts_vect4_iv[16] = {
121 0x00
122};
123static const uint8_t ciph_data_aes_xts_vect4_ptx[] = {
124 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
125 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
126 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
127 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
128
129 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
130 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
131 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
132 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
133
134 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
135 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
136 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
137 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
138
139 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
140 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
141 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
142 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
143
144 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
145 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
146 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
147 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
148
149 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
150 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
151 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
152 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
153
154 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
155 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
156 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
157 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
158
159 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
160 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
161 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
162 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
163
164 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
165 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
166 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
167 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
168
169 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
170 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
171 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
172 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
173
174 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
175 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
176 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
177 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
178
179 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
180 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
181 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
182 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
183
184 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
185 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
186 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
187 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
188
189 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
190 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
191 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
192 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
193
194 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
195 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
196 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
197 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
198
199 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
200 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
201 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
202 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
203};
204static const uint8_t ciph_data_aes_xts_vect4_ctx[] = {
205 0x27, 0xa7, 0x47, 0x9b, 0xef, 0xa1, 0xd4, 0x76,
206 0x48, 0x9f, 0x30, 0x8c, 0xd4, 0xcf, 0xa6, 0xe2,
207 0xa9, 0x6e, 0x4b, 0xbe, 0x32, 0x08, 0xff, 0x25,
208 0x28, 0x7d, 0xd3, 0x81, 0x96, 0x16, 0xe8, 0x9c,
209
210 0xc7, 0x8c, 0xf7, 0xf5, 0xe5, 0x43, 0x44, 0x5f,
211 0x83, 0x33, 0xd8, 0xfa, 0x7f, 0x56, 0x00, 0x00,
212 0x05, 0x27, 0x9f, 0xa5, 0xd8, 0xb5, 0xe4, 0xad,
213 0x40, 0xe7, 0x36, 0xdd, 0xb4, 0xd3, 0x54, 0x12,
214
215 0x32, 0x80, 0x63, 0xfd, 0x2a, 0xab, 0x53, 0xe5,
216 0xea, 0x1e, 0x0a, 0x9f, 0x33, 0x25, 0x00, 0xa5,
217 0xdf, 0x94, 0x87, 0xd0, 0x7a, 0x5c, 0x92, 0xcc,
218 0x51, 0x2c, 0x88, 0x66, 0xc7, 0xe8, 0x60, 0xce,
219
220 0x93, 0xfd, 0xf1, 0x66, 0xa2, 0x49, 0x12, 0xb4,
221 0x22, 0x97, 0x61, 0x46, 0xae, 0x20, 0xce, 0x84,
222 0x6b, 0xb7, 0xdc, 0x9b, 0xa9, 0x4a, 0x76, 0x7a,
223 0xae, 0xf2, 0x0c, 0x0d, 0x61, 0xad, 0x02, 0x65,
224
225 0x5e, 0xa9, 0x2d, 0xc4, 0xc4, 0xe4, 0x1a, 0x89,
226 0x52, 0xc6, 0x51, 0xd3, 0x31, 0x74, 0xbe, 0x51,
227 0xa1, 0x0c, 0x42, 0x11, 0x10, 0xe6, 0xd8, 0x15,
228 0x88, 0xed, 0xe8, 0x21, 0x03, 0xa2, 0x52, 0xd8,
229
230 0xa7, 0x50, 0xe8, 0x76, 0x8d, 0xef, 0xff, 0xed,
231 0x91, 0x22, 0x81, 0x0a, 0xae, 0xb9, 0x9f, 0x91,
232 0x72, 0xaf, 0x82, 0xb6, 0x04, 0xdc, 0x4b, 0x8e,
233 0x51, 0xbc, 0xb0, 0x82, 0x35, 0xa6, 0xf4, 0x34,
234
235 0x13, 0x32, 0xe4, 0xca, 0x60, 0x48, 0x2a, 0x4b,
236 0xa1, 0xa0, 0x3b, 0x3e, 0x65, 0x00, 0x8f, 0xc5,
237 0xda, 0x76, 0xb7, 0x0b, 0xf1, 0x69, 0x0d, 0xb4,
238 0xea, 0xe2, 0x9c, 0x5f, 0x1b, 0xad, 0xd0, 0x3c,
239
240 0x5c, 0xcf, 0x2a, 0x55, 0xd7, 0x05, 0xdd, 0xcd,
241 0x86, 0xd4, 0x49, 0x51, 0x1c, 0xeb, 0x7e, 0xc3,
242 0x0b, 0xf1, 0x2b, 0x1f, 0xa3, 0x5b, 0x91, 0x3f,
243 0x9f, 0x74, 0x7a, 0x8a, 0xfd, 0x1b, 0x13, 0x0e,
244
245 0x94, 0xbf, 0xf9, 0x4e, 0xff, 0xd0, 0x1a, 0x91,
246 0x73, 0x5c, 0xa1, 0x72, 0x6a, 0xcd, 0x0b, 0x19,
247 0x7c, 0x4e, 0x5b, 0x03, 0x39, 0x36, 0x97, 0xe1,
248 0x26, 0x82, 0x6f, 0xb6, 0xbb, 0xde, 0x8e, 0xcc,
249
250 0x1e, 0x08, 0x29, 0x85, 0x16, 0xe2, 0xc9, 0xed,
251 0x03, 0xff, 0x3c, 0x1b, 0x78, 0x60, 0xf6, 0xde,
252 0x76, 0xd4, 0xce, 0xcd, 0x94, 0xc8, 0x11, 0x98,
253 0x55, 0xef, 0x52, 0x97, 0xca, 0x67, 0xe9, 0xf3,
254
255 0xe7, 0xff, 0x72, 0xb1, 0xe9, 0x97, 0x85, 0xca,
256 0x0a, 0x7e, 0x77, 0x20, 0xc5, 0xb3, 0x6d, 0xc6,
257 0xd7, 0x2c, 0xac, 0x95, 0x74, 0xc8, 0xcb, 0xbc,
258 0x2f, 0x80, 0x1e, 0x23, 0xe5, 0x6f, 0xd3, 0x44,
259
260 0xb0, 0x7f, 0x22, 0x15, 0x4b, 0xeb, 0xa0, 0xf0,
261 0x8c, 0xe8, 0x89, 0x1e, 0x64, 0x3e, 0xd9, 0x95,
262 0xc9, 0x4d, 0x9a, 0x69, 0xc9, 0xf1, 0xb5, 0xf4,
263 0x99, 0x02, 0x7a, 0x78, 0x57, 0x2a, 0xee, 0xbd,
264
265 0x74, 0xd2, 0x0c, 0xc3, 0x98, 0x81, 0xc2, 0x13,
266 0xee, 0x77, 0x0b, 0x10, 0x10, 0xe4, 0xbe, 0xa7,
267 0x18, 0x84, 0x69, 0x77, 0xae, 0x11, 0x9f, 0x7a,
268 0x02, 0x3a, 0xb5, 0x8c, 0xca, 0x0a, 0xd7, 0x52,
269
270 0xaf, 0xe6, 0x56, 0xbb, 0x3c, 0x17, 0x25, 0x6a,
271 0x9f, 0x6e, 0x9b, 0xf1, 0x9f, 0xdd, 0x5a, 0x38,
272 0xfc, 0x82, 0xbb, 0xe8, 0x72, 0xc5, 0x53, 0x9e,
273 0xdb, 0x60, 0x9e, 0xf4, 0xf7, 0x9c, 0x20, 0x3e,
274
275 0xbb, 0x14, 0x0f, 0x2e, 0x58, 0x3c, 0xb2, 0xad,
276 0x15, 0xb4, 0xaa, 0x5b, 0x65, 0x50, 0x16, 0xa8,
277 0x44, 0x92, 0x77, 0xdb, 0xd4, 0x77, 0xef, 0x2c,
278 0x8d, 0x6c, 0x01, 0x7d, 0xb7, 0x38, 0xb1, 0x8d,
279
280 0xeb, 0x4a, 0x42, 0x7d, 0x19, 0x23, 0xce, 0x3f,
281 0xf2, 0x62, 0x73, 0x57, 0x79, 0xa4, 0x18, 0xf2,
282 0x0a, 0x28, 0x2d, 0xf9, 0x20, 0x14, 0x7b, 0xea,
283 0xbe, 0x42, 0x1e, 0xe5, 0x31, 0x9d, 0x05, 0x68,
284};
285
286/* Vector 5 */
287static const uint8_t ciph_data_aes_xts_vect5_key1[] = {
288 0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45,
289 0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26,
290};
291static const uint8_t ciph_data_aes_xts_vect5_key2[] = {
292 0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93,
293 0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95,
294};
295static const uint8_t ciph_data_aes_xts_vect5_iv[16] = {
296 0x01
297};
298static const uint8_t ciph_data_aes_xts_vect5_ptx[] = {
299 0x27, 0xa7, 0x47, 0x9b, 0xef, 0xa1, 0xd4, 0x76,
300 0x48, 0x9f, 0x30, 0x8c, 0xd4, 0xcf, 0xa6, 0xe2,
301 0xa9, 0x6e, 0x4b, 0xbe, 0x32, 0x08, 0xff, 0x25,
302 0x28, 0x7d, 0xd3, 0x81, 0x96, 0x16, 0xe8, 0x9c,
303
304 0xc7, 0x8c, 0xf7, 0xf5, 0xe5, 0x43, 0x44, 0x5f,
305 0x83, 0x33, 0xd8, 0xfa, 0x7f, 0x56, 0x00, 0x00,
306 0x05, 0x27, 0x9f, 0xa5, 0xd8, 0xb5, 0xe4, 0xad,
307 0x40, 0xe7, 0x36, 0xdd, 0xb4, 0xd3, 0x54, 0x12,
308
309 0x32, 0x80, 0x63, 0xfd, 0x2a, 0xab, 0x53, 0xe5,
310 0xea, 0x1e, 0x0a, 0x9f, 0x33, 0x25, 0x00, 0xa5,
311 0xdf, 0x94, 0x87, 0xd0, 0x7a, 0x5c, 0x92, 0xcc,
312 0x51, 0x2c, 0x88, 0x66, 0xc7, 0xe8, 0x60, 0xce,
313
314 0x93, 0xfd, 0xf1, 0x66, 0xa2, 0x49, 0x12, 0xb4,
315 0x22, 0x97, 0x61, 0x46, 0xae, 0x20, 0xce, 0x84,
316 0x6b, 0xb7, 0xdc, 0x9b, 0xa9, 0x4a, 0x76, 0x7a,
317 0xae, 0xf2, 0x0c, 0x0d, 0x61, 0xad, 0x02, 0x65,
318
319 0x5e, 0xa9, 0x2d, 0xc4, 0xc4, 0xe4, 0x1a, 0x89,
320 0x52, 0xc6, 0x51, 0xd3, 0x31, 0x74, 0xbe, 0x51,
321 0xa1, 0x0c, 0x42, 0x11, 0x10, 0xe6, 0xd8, 0x15,
322 0x88, 0xed, 0xe8, 0x21, 0x03, 0xa2, 0x52, 0xd8,
323
324 0xa7, 0x50, 0xe8, 0x76, 0x8d, 0xef, 0xff, 0xed,
325 0x91, 0x22, 0x81, 0x0a, 0xae, 0xb9, 0x9f, 0x91,
326 0x72, 0xaf, 0x82, 0xb6, 0x04, 0xdc, 0x4b, 0x8e,
327 0x51, 0xbc, 0xb0, 0x82, 0x35, 0xa6, 0xf4, 0x34,
328
329 0x13, 0x32, 0xe4, 0xca, 0x60, 0x48, 0x2a, 0x4b,
330 0xa1, 0xa0, 0x3b, 0x3e, 0x65, 0x00, 0x8f, 0xc5,
331 0xda, 0x76, 0xb7, 0x0b, 0xf1, 0x69, 0x0d, 0xb4,
332 0xea, 0xe2, 0x9c, 0x5f, 0x1b, 0xad, 0xd0, 0x3c,
333
334 0x5c, 0xcf, 0x2a, 0x55, 0xd7, 0x05, 0xdd, 0xcd,
335 0x86, 0xd4, 0x49, 0x51, 0x1c, 0xeb, 0x7e, 0xc3,
336 0x0b, 0xf1, 0x2b, 0x1f, 0xa3, 0x5b, 0x91, 0x3f,
337 0x9f, 0x74, 0x7a, 0x8a, 0xfd, 0x1b, 0x13, 0x0e,
338
339 0x94, 0xbf, 0xf9, 0x4e, 0xff, 0xd0, 0x1a, 0x91,
340 0x73, 0x5c, 0xa1, 0x72, 0x6a, 0xcd, 0x0b, 0x19,
341 0x7c, 0x4e, 0x5b, 0x03, 0x39, 0x36, 0x97, 0xe1,
342 0x26, 0x82, 0x6f, 0xb6, 0xbb, 0xde, 0x8e, 0xcc,
343
344 0x1e, 0x08, 0x29, 0x85, 0x16, 0xe2, 0xc9, 0xed,
345 0x03, 0xff, 0x3c, 0x1b, 0x78, 0x60, 0xf6, 0xde,
346 0x76, 0xd4, 0xce, 0xcd, 0x94, 0xc8, 0x11, 0x98,
347 0x55, 0xef, 0x52, 0x97, 0xca, 0x67, 0xe9, 0xf3,
348
349 0xe7, 0xff, 0x72, 0xb1, 0xe9, 0x97, 0x85, 0xca,
350 0x0a, 0x7e, 0x77, 0x20, 0xc5, 0xb3, 0x6d, 0xc6,
351 0xd7, 0x2c, 0xac, 0x95, 0x74, 0xc8, 0xcb, 0xbc,
352 0x2f, 0x80, 0x1e, 0x23, 0xe5, 0x6f, 0xd3, 0x44,
353
354 0xb0, 0x7f, 0x22, 0x15, 0x4b, 0xeb, 0xa0, 0xf0,
355 0x8c, 0xe8, 0x89, 0x1e, 0x64, 0x3e, 0xd9, 0x95,
356 0xc9, 0x4d, 0x9a, 0x69, 0xc9, 0xf1, 0xb5, 0xf4,
357 0x99, 0x02, 0x7a, 0x78, 0x57, 0x2a, 0xee, 0xbd,
358
359 0x74, 0xd2, 0x0c, 0xc3, 0x98, 0x81, 0xc2, 0x13,
360 0xee, 0x77, 0x0b, 0x10, 0x10, 0xe4, 0xbe, 0xa7,
361 0x18, 0x84, 0x69, 0x77, 0xae, 0x11, 0x9f, 0x7a,
362 0x02, 0x3a, 0xb5, 0x8c, 0xca, 0x0a, 0xd7, 0x52,
363
364 0xaf, 0xe6, 0x56, 0xbb, 0x3c, 0x17, 0x25, 0x6a,
365 0x9f, 0x6e, 0x9b, 0xf1, 0x9f, 0xdd, 0x5a, 0x38,
366 0xfc, 0x82, 0xbb, 0xe8, 0x72, 0xc5, 0x53, 0x9e,
367 0xdb, 0x60, 0x9e, 0xf4, 0xf7, 0x9c, 0x20, 0x3e,
368
369 0xbb, 0x14, 0x0f, 0x2e, 0x58, 0x3c, 0xb2, 0xad,
370 0x15, 0xb4, 0xaa, 0x5b, 0x65, 0x50, 0x16, 0xa8,
371 0x44, 0x92, 0x77, 0xdb, 0xd4, 0x77, 0xef, 0x2c,
372 0x8d, 0x6c, 0x01, 0x7d, 0xb7, 0x38, 0xb1, 0x8d,
373
374 0xeb, 0x4a, 0x42, 0x7d, 0x19, 0x23, 0xce, 0x3f,
375 0xf2, 0x62, 0x73, 0x57, 0x79, 0xa4, 0x18, 0xf2,
376 0x0a, 0x28, 0x2d, 0xf9, 0x20, 0x14, 0x7b, 0xea,
377 0xbe, 0x42, 0x1e, 0xe5, 0x31, 0x9d, 0x05, 0x68,
378};
379static const uint8_t ciph_data_aes_xts_vect5_ctx[] = {
380 0x26, 0x4d, 0x3c, 0xa8, 0x51, 0x21, 0x94, 0xfe,
381 0xc3, 0x12, 0xc8, 0xc9, 0x89, 0x1f, 0x27, 0x9f,
382 0xef, 0xdd, 0x60, 0x8d, 0x0c, 0x02, 0x7b, 0x60,
383 0x48, 0x3a, 0x3f, 0xa8, 0x11, 0xd6, 0x5e, 0xe5,
384
385 0x9d, 0x52, 0xd9, 0xe4, 0x0e, 0xc5, 0x67, 0x2d,
386 0x81, 0x53, 0x2b, 0x38, 0xb6, 0xb0, 0x89, 0xce,
387 0x95, 0x1f, 0x0f, 0x9c, 0x35, 0x59, 0x0b, 0x8b,
388 0x97, 0x8d, 0x17, 0x52, 0x13, 0xf3, 0x29, 0xbb,
389
390 0x1c, 0x2f, 0xd3, 0x0f, 0x2f, 0x7f, 0x30, 0x49,
391 0x2a, 0x61, 0xa5, 0x32, 0xa7, 0x9f, 0x51, 0xd3,
392 0x6f, 0x5e, 0x31, 0xa7, 0xc9, 0xa1, 0x2c, 0x28,
393 0x60, 0x82, 0xff, 0x7d, 0x23, 0x94, 0xd1, 0x8f,
394
395 0x78, 0x3e, 0x1a, 0x8e, 0x72, 0xc7, 0x22, 0xca,
396 0xaa, 0xa5, 0x2d, 0x8f, 0x06, 0x56, 0x57, 0xd2,
397 0x63, 0x1f, 0xd2, 0x5b, 0xfd, 0x8e, 0x5b, 0xaa,
398 0xd6, 0xe5, 0x27, 0xd7, 0x63, 0x51, 0x75, 0x01,
399
400 0xc6, 0x8c, 0x5e, 0xdc, 0x3c, 0xdd, 0x55, 0x43,
401 0x5c, 0x53, 0x2d, 0x71, 0x25, 0xc8, 0x61, 0x4d,
402 0xee, 0xd9, 0xad, 0xaa, 0x3a, 0xca, 0xde, 0x58,
403 0x88, 0xb8, 0x7b, 0xef, 0x64, 0x1c, 0x4c, 0x99,
404
405 0x4c, 0x80, 0x91, 0xb5, 0xbc, 0xd3, 0x87, 0xf3,
406 0x96, 0x3f, 0xb5, 0xbc, 0x37, 0xaa, 0x92, 0x2f,
407 0xbf, 0xe3, 0xdf, 0x4e, 0x5b, 0x91, 0x5e, 0x6e,
408 0xb5, 0x14, 0x71, 0x7b, 0xdd, 0x2a, 0x74, 0x07,
409
410 0x9a, 0x50, 0x73, 0xf5, 0xc4, 0xbf, 0xd4, 0x6a,
411 0xdf, 0x7d, 0x28, 0x2e, 0x7a, 0x39, 0x3a, 0x52,
412 0x57, 0x9d, 0x11, 0xa0, 0x28, 0xda, 0x4d, 0x9c,
413 0xd9, 0xc7, 0x71, 0x24, 0xf9, 0x64, 0x8e, 0xe3,
414
415 0x83, 0xb1, 0xac, 0x76, 0x39, 0x30, 0xe7, 0x16,
416 0x2a, 0x8d, 0x37, 0xf3, 0x50, 0xb2, 0xf7, 0x4b,
417 0x84, 0x72, 0xcf, 0x09, 0x90, 0x20, 0x63, 0xc6,
418 0xb3, 0x2e, 0x8c, 0x2d, 0x92, 0x90, 0xce, 0xfb,
419
420 0xd7, 0x34, 0x6d, 0x1c, 0x77, 0x9a, 0x0d, 0xf5,
421 0x0e, 0xdc, 0xde, 0x45, 0x31, 0xda, 0x07, 0xb0,
422 0x99, 0xc6, 0x38, 0xe8, 0x3a, 0x75, 0x59, 0x44,
423 0xdf, 0x2a, 0xef, 0x1a, 0xa3, 0x17, 0x52, 0xfd,
424
425 0x32, 0x3d, 0xcb, 0x71, 0x0f, 0xb4, 0xbf, 0xbb,
426 0x9d, 0x22, 0xb9, 0x25, 0xbc, 0x35, 0x77, 0xe1,
427 0xb8, 0x94, 0x9e, 0x72, 0x9a, 0x90, 0xbb, 0xaf,
428 0xea, 0xcf, 0x7f, 0x78, 0x79, 0xe7, 0xb1, 0x14,
429
430 0x7e, 0x28, 0xba, 0x0b, 0xae, 0x94, 0x0d, 0xb7,
431 0x95, 0xa6, 0x1b, 0x15, 0xec, 0xf4, 0xdf, 0x8d,
432 0xb0, 0x7b, 0x82, 0x4b, 0xb0, 0x62, 0x80, 0x2c,
433 0xc9, 0x8a, 0x95, 0x45, 0xbb, 0x2a, 0xae, 0xed,
434
435 0x77, 0xcb, 0x3f, 0xc6, 0xdb, 0x15, 0xdc, 0xd7,
436 0xd8, 0x0d, 0x7d, 0x5b, 0xc4, 0x06, 0xc4, 0x97,
437 0x0a, 0x34, 0x78, 0xad, 0xa8, 0x89, 0x9b, 0x32,
438 0x91, 0x98, 0xeb, 0x61, 0xc1, 0x93, 0xfb, 0x62,
439
440 0x75, 0xaa, 0x8c, 0xa3, 0x40, 0x34, 0x4a, 0x75,
441 0xa8, 0x62, 0xae, 0xbe, 0x92, 0xee, 0xe1, 0xce,
442 0x03, 0x2f, 0xd9, 0x50, 0xb4, 0x7d, 0x77, 0x04,
443 0xa3, 0x87, 0x69, 0x23, 0xb4, 0xad, 0x62, 0x84,
444
445 0x4b, 0xf4, 0xa0, 0x9c, 0x4d, 0xbe, 0x8b, 0x43,
446 0x97, 0x18, 0x4b, 0x74, 0x71, 0x36, 0x0c, 0x95,
447 0x64, 0x88, 0x0a, 0xed, 0xdd, 0xb9, 0xba, 0xa4,
448 0xaf, 0x2e, 0x75, 0x39, 0x4b, 0x08, 0xcd, 0x32,
449
450 0xff, 0x47, 0x9c, 0x57, 0xa0, 0x7d, 0x3e, 0xab,
451 0x5d, 0x54, 0xde, 0x5f, 0x97, 0x38, 0xb8, 0xd2,
452 0x7f, 0x27, 0xa9, 0xf0, 0xab, 0x11, 0x79, 0x9d,
453 0x7b, 0x7f, 0xfe, 0xfb, 0x27, 0x04, 0xc9, 0x5c,
454
455 0x6a, 0xd1, 0x2c, 0x39, 0xf1, 0xe8, 0x67, 0xa4,
456 0xb7, 0xb1, 0xd7, 0x81, 0x8a, 0x4b, 0x75, 0x3d,
457 0xfd, 0x2a, 0x89, 0xcc, 0xb4, 0x5e, 0x00, 0x1a,
458 0x03, 0xa8, 0x67, 0xb1, 0x87, 0xf2, 0x25, 0xdd,
459};
460
461/* Vector 6 */
462static const uint8_t ciph_data_aes_xts_vect6_key1[] = {
463 0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45,
464 0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26,
465};
466static const uint8_t ciph_data_aes_xts_vect6_key2[] = {
467 0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93,
468 0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95,
469};
470static const uint8_t ciph_data_aes_xts_vect6_iv[16] = {
471 0x02
472};
473static const uint8_t ciph_data_aes_xts_vect6_ptx[] = {
474 0x26, 0x4d, 0x3c, 0xa8, 0x51, 0x21, 0x94, 0xfe,
475 0xc3, 0x12, 0xc8, 0xc9, 0x89, 0x1f, 0x27, 0x9f,
476 0xef, 0xdd, 0x60, 0x8d, 0x0c, 0x02, 0x7b, 0x60,
477 0x48, 0x3a, 0x3f, 0xa8, 0x11, 0xd6, 0x5e, 0xe5,
478
479 0x9d, 0x52, 0xd9, 0xe4, 0x0e, 0xc5, 0x67, 0x2d,
480 0x81, 0x53, 0x2b, 0x38, 0xb6, 0xb0, 0x89, 0xce,
481 0x95, 0x1f, 0x0f, 0x9c, 0x35, 0x59, 0x0b, 0x8b,
482 0x97, 0x8d, 0x17, 0x52, 0x13, 0xf3, 0x29, 0xbb,
483
484 0x1c, 0x2f, 0xd3, 0x0f, 0x2f, 0x7f, 0x30, 0x49,
485 0x2a, 0x61, 0xa5, 0x32, 0xa7, 0x9f, 0x51, 0xd3,
486 0x6f, 0x5e, 0x31, 0xa7, 0xc9, 0xa1, 0x2c, 0x28,
487 0x60, 0x82, 0xff, 0x7d, 0x23, 0x94, 0xd1, 0x8f,
488
489 0x78, 0x3e, 0x1a, 0x8e, 0x72, 0xc7, 0x22, 0xca,
490 0xaa, 0xa5, 0x2d, 0x8f, 0x06, 0x56, 0x57, 0xd2,
491 0x63, 0x1f, 0xd2, 0x5b, 0xfd, 0x8e, 0x5b, 0xaa,
492 0xd6, 0xe5, 0x27, 0xd7, 0x63, 0x51, 0x75, 0x01,
493
494 0xc6, 0x8c, 0x5e, 0xdc, 0x3c, 0xdd, 0x55, 0x43,
495 0x5c, 0x53, 0x2d, 0x71, 0x25, 0xc8, 0x61, 0x4d,
496 0xee, 0xd9, 0xad, 0xaa, 0x3a, 0xca, 0xde, 0x58,
497 0x88, 0xb8, 0x7b, 0xef, 0x64, 0x1c, 0x4c, 0x99,
498
499 0x4c, 0x80, 0x91, 0xb5, 0xbc, 0xd3, 0x87, 0xf3,
500 0x96, 0x3f, 0xb5, 0xbc, 0x37, 0xaa, 0x92, 0x2f,
501 0xbf, 0xe3, 0xdf, 0x4e, 0x5b, 0x91, 0x5e, 0x6e,
502 0xb5, 0x14, 0x71, 0x7b, 0xdd, 0x2a, 0x74, 0x07,
503
504 0x9a, 0x50, 0x73, 0xf5, 0xc4, 0xbf, 0xd4, 0x6a,
505 0xdf, 0x7d, 0x28, 0x2e, 0x7a, 0x39, 0x3a, 0x52,
506 0x57, 0x9d, 0x11, 0xa0, 0x28, 0xda, 0x4d, 0x9c,
507 0xd9, 0xc7, 0x71, 0x24, 0xf9, 0x64, 0x8e, 0xe3,
508
509 0x83, 0xb1, 0xac, 0x76, 0x39, 0x30, 0xe7, 0x16,
510 0x2a, 0x8d, 0x37, 0xf3, 0x50, 0xb2, 0xf7, 0x4b,
511 0x84, 0x72, 0xcf, 0x09, 0x90, 0x20, 0x63, 0xc6,
512 0xb3, 0x2e, 0x8c, 0x2d, 0x92, 0x90, 0xce, 0xfb,
513
514 0xd7, 0x34, 0x6d, 0x1c, 0x77, 0x9a, 0x0d, 0xf5,
515 0x0e, 0xdc, 0xde, 0x45, 0x31, 0xda, 0x07, 0xb0,
516 0x99, 0xc6, 0x38, 0xe8, 0x3a, 0x75, 0x59, 0x44,
517 0xdf, 0x2a, 0xef, 0x1a, 0xa3, 0x17, 0x52, 0xfd,
518
519 0x32, 0x3d, 0xcb, 0x71, 0x0f, 0xb4, 0xbf, 0xbb,
520 0x9d, 0x22, 0xb9, 0x25, 0xbc, 0x35, 0x77, 0xe1,
521 0xb8, 0x94, 0x9e, 0x72, 0x9a, 0x90, 0xbb, 0xaf,
522 0xea, 0xcf, 0x7f, 0x78, 0x79, 0xe7, 0xb1, 0x14,
523
524 0x7e, 0x28, 0xba, 0x0b, 0xae, 0x94, 0x0d, 0xb7,
525 0x95, 0xa6, 0x1b, 0x15, 0xec, 0xf4, 0xdf, 0x8d,
526 0xb0, 0x7b, 0x82, 0x4b, 0xb0, 0x62, 0x80, 0x2c,
527 0xc9, 0x8a, 0x95, 0x45, 0xbb, 0x2a, 0xae, 0xed,
528
529 0x77, 0xcb, 0x3f, 0xc6, 0xdb, 0x15, 0xdc, 0xd7,
530 0xd8, 0x0d, 0x7d, 0x5b, 0xc4, 0x06, 0xc4, 0x97,
531 0x0a, 0x34, 0x78, 0xad, 0xa8, 0x89, 0x9b, 0x32,
532 0x91, 0x98, 0xeb, 0x61, 0xc1, 0x93, 0xfb, 0x62,
533
534 0x75, 0xaa, 0x8c, 0xa3, 0x40, 0x34, 0x4a, 0x75,
535 0xa8, 0x62, 0xae, 0xbe, 0x92, 0xee, 0xe1, 0xce,
536 0x03, 0x2f, 0xd9, 0x50, 0xb4, 0x7d, 0x77, 0x04,
537 0xa3, 0x87, 0x69, 0x23, 0xb4, 0xad, 0x62, 0x84,
538
539 0x4b, 0xf4, 0xa0, 0x9c, 0x4d, 0xbe, 0x8b, 0x43,
540 0x97, 0x18, 0x4b, 0x74, 0x71, 0x36, 0x0c, 0x95,
541 0x64, 0x88, 0x0a, 0xed, 0xdd, 0xb9, 0xba, 0xa4,
542 0xaf, 0x2e, 0x75, 0x39, 0x4b, 0x08, 0xcd, 0x32,
543
544 0xff, 0x47, 0x9c, 0x57, 0xa0, 0x7d, 0x3e, 0xab,
545 0x5d, 0x54, 0xde, 0x5f, 0x97, 0x38, 0xb8, 0xd2,
546 0x7f, 0x27, 0xa9, 0xf0, 0xab, 0x11, 0x79, 0x9d,
547 0x7b, 0x7f, 0xfe, 0xfb, 0x27, 0x04, 0xc9, 0x5c,
548
549 0x6a, 0xd1, 0x2c, 0x39, 0xf1, 0xe8, 0x67, 0xa4,
550 0xb7, 0xb1, 0xd7, 0x81, 0x8a, 0x4b, 0x75, 0x3d,
551 0xfd, 0x2a, 0x89, 0xcc, 0xb4, 0x5e, 0x00, 0x1a,
552 0x03, 0xa8, 0x67, 0xb1, 0x87, 0xf2, 0x25, 0xdd,
553};
554static const uint8_t ciph_data_aes_xts_vect6_ctx[] = {
555 0xfa, 0x76, 0x2a, 0x36, 0x80, 0xb7, 0x60, 0x07,
556 0x92, 0x8e, 0xd4, 0xa4, 0xf4, 0x9a, 0x94, 0x56,
557 0x03, 0x1b, 0x70, 0x47, 0x82, 0xe6, 0x5e, 0x16,
558 0xce, 0xcb, 0x54, 0xed, 0x7d, 0x01, 0x7b, 0x5e,
559
560 0x18, 0xab, 0xd6, 0x7b, 0x33, 0x8e, 0x81, 0x07,
561 0x8f, 0x21, 0xed, 0xb7, 0x86, 0x8d, 0x90, 0x1e,
562 0xbe, 0x9c, 0x73, 0x1a, 0x7c, 0x18, 0xb5, 0xe6,
563 0xde, 0xc1, 0xd6, 0xa7, 0x2e, 0x07, 0x8a, 0xc9,
564
565 0xa4, 0x26, 0x2f, 0x86, 0x0b, 0xee, 0xfa, 0x14,
566 0xf4, 0xe8, 0x21, 0x01, 0x82, 0x72, 0xe4, 0x11,
567 0xa9, 0x51, 0x50, 0x2b, 0x6e, 0x79, 0x06, 0x6e,
568 0x84, 0x25, 0x2c, 0x33, 0x46, 0xf3, 0xaa, 0x62,
569
570 0x34, 0x43, 0x51, 0xa2, 0x91, 0xd4, 0xbe, 0xdc,
571 0x7a, 0x07, 0x61, 0x8b, 0xde, 0xa2, 0xaf, 0x63,
572 0x14, 0x5c, 0xc7, 0xa4, 0xb8, 0xd4, 0x07, 0x06,
573 0x91, 0xae, 0x89, 0x0c, 0xd6, 0x57, 0x33, 0xe7,
574
575 0x94, 0x6e, 0x90, 0x21, 0xa1, 0xdf, 0xfc, 0x4c,
576 0x59, 0xf1, 0x59, 0x42, 0x5e, 0xe6, 0xd5, 0x0c,
577 0xa9, 0xb1, 0x35, 0xfa, 0x61, 0x62, 0xce, 0xa1,
578 0x8a, 0x93, 0x98, 0x38, 0xdc, 0x00, 0x0f, 0xb3,
579
580 0x86, 0xfa, 0xd0, 0x86, 0xac, 0xce, 0x5a, 0xc0,
581 0x7c, 0xb2, 0xec, 0xe7, 0xfd, 0x58, 0x0b, 0x00,
582 0xcf, 0xa5, 0xe9, 0x85, 0x89, 0x63, 0x1d, 0xc2,
583 0x5e, 0x8e, 0x2a, 0x3d, 0xaf, 0x2f, 0xfd, 0xec,
584
585 0x26, 0x53, 0x16, 0x59, 0x91, 0x2c, 0x9d, 0x8f,
586 0x7a, 0x15, 0xe5, 0x86, 0x5e, 0xa8, 0xfb, 0x58,
587 0x16, 0xd6, 0x20, 0x70, 0x52, 0xbd, 0x71, 0x28,
588 0xcd, 0x74, 0x3c, 0x12, 0xc8, 0x11, 0x87, 0x91,
589
590 0xa4, 0x73, 0x68, 0x11, 0x93, 0x5e, 0xb9, 0x82,
591 0xa5, 0x32, 0x34, 0x9e, 0x31, 0xdd, 0x40, 0x1e,
592 0x0b, 0x66, 0x0a, 0x56, 0x8c, 0xb1, 0xa4, 0x71,
593 0x1f, 0x55, 0x2f, 0x55, 0xde, 0xd5, 0x9f, 0x1f,
594
595 0x15, 0xbf, 0x71, 0x96, 0xb3, 0xca, 0x12, 0xa9,
596 0x1e, 0x48, 0x8e, 0xf5, 0x9d, 0x64, 0xf3, 0xa0,
597 0x2b, 0xf4, 0x52, 0x39, 0x49, 0x9a, 0xc6, 0x17,
598 0x6a, 0xe3, 0x21, 0xc4, 0xa2, 0x11, 0xec, 0x54,
599
600 0x53, 0x65, 0x97, 0x1c, 0x5d, 0x3f, 0x4f, 0x09,
601 0xd4, 0xeb, 0x13, 0x9b, 0xfd, 0xf2, 0x07, 0x3d,
602 0x33, 0x18, 0x0b, 0x21, 0x00, 0x2b, 0x65, 0xcc,
603 0x98, 0x65, 0xe7, 0x6c, 0xb2, 0x4c, 0xd9, 0x2c,
604
605 0x87, 0x4c, 0x24, 0xc1, 0x83, 0x50, 0x39, 0x9a,
606 0x93, 0x6a, 0xb3, 0x63, 0x70, 0x79, 0x29, 0x5d,
607 0x76, 0xc4, 0x17, 0x77, 0x6b, 0x94, 0xef, 0xce,
608 0x3a, 0x0e, 0xf7, 0x20, 0x6b, 0x15, 0x11, 0x05,
609
610 0x19, 0x65, 0x5c, 0x95, 0x6c, 0xbd, 0x8b, 0x24,
611 0x89, 0x40, 0x5e, 0xe2, 0xb0, 0x9a, 0x6b, 0x6e,
612 0xeb, 0xe0, 0xc5, 0x37, 0x90, 0xa1, 0x2a, 0x89,
613 0x98, 0x37, 0x8b, 0x33, 0xa5, 0xb7, 0x11, 0x59,
614
615 0x62, 0x5f, 0x4b, 0xa4, 0x9d, 0x2a, 0x2f, 0xdb,
616 0xa5, 0x9f, 0xbf, 0x08, 0x97, 0xbc, 0x7a, 0xab,
617 0xd8, 0xd7, 0x07, 0xdc, 0x14, 0x0a, 0x80, 0xf0,
618 0xf3, 0x09, 0xf8, 0x35, 0xd3, 0xda, 0x54, 0xab,
619
620 0x58, 0x4e, 0x50, 0x1d, 0xfa, 0x0e, 0xe9, 0x77,
621 0xfe, 0xc5, 0x43, 0xf7, 0x41, 0x86, 0xa8, 0x02,
622 0xb9, 0xa3, 0x7a, 0xdb, 0x3e, 0x82, 0x91, 0xec,
623 0xa0, 0x4d, 0x66, 0x52, 0x0d, 0x22, 0x9e, 0x60,
624
625 0x40, 0x1e, 0x72, 0x82, 0xbe, 0xf4, 0x86, 0xae,
626 0x05, 0x9a, 0xa7, 0x06, 0x96, 0xe0, 0xe3, 0x05,
627 0xd7, 0x77, 0x14, 0x0a, 0x7a, 0x88, 0x3e, 0xcd,
628 0xcb, 0x69, 0xb9, 0xff, 0x93, 0x8e, 0x8a, 0x42,
629
630 0x31, 0x86, 0x4c, 0x69, 0xca, 0x2c, 0x20, 0x43,
631 0xbe, 0xd0, 0x07, 0xff, 0x3e, 0x60, 0x5e, 0x01,
632 0x4b, 0xcf, 0x51, 0x81, 0x38, 0xdc, 0x3a, 0x25,
633 0xc5, 0xe2, 0x36, 0x17, 0x1a, 0x2d, 0x01, 0xd6,
634};
635
636/* Vector 7 */
637static const uint8_t ciph_data_aes_xts_vect7_key1[] = {
638 0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45,
639 0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26,
640};
641static const uint8_t ciph_data_aes_xts_vect7_key2[] = {
642 0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93,
643 0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95,
644};
645static const uint8_t ciph_data_aes_xts_vect7_iv[16] = {
646 0xfd
647};
648static const uint8_t ciph_data_aes_xts_vect7_ptx[] = {
649 0x8e, 0x41, 0xb7, 0x8c, 0x39, 0x0b, 0x5a, 0xf9,
650 0xd7, 0x58, 0xbb, 0x21, 0x4a, 0x67, 0xe9, 0xf6,
651 0xbf, 0x77, 0x27, 0xb0, 0x9a, 0xc6, 0x12, 0x40,
652 0x84, 0xc3, 0x76, 0x11, 0x39, 0x8f, 0xa4, 0x5d,
653
654 0xaa, 0xd9, 0x48, 0x68, 0x60, 0x0e, 0xd3, 0x91,
655 0xfb, 0x1a, 0xcd, 0x48, 0x57, 0xa9, 0x5b, 0x46,
656 0x6e, 0x62, 0xef, 0x9f, 0x4b, 0x37, 0x72, 0x44,
657 0xd1, 0xc1, 0x52, 0xe7, 0xb3, 0x0d, 0x73, 0x1a,
658
659 0xad, 0x30, 0xc7, 0x16, 0xd2, 0x14, 0xb7, 0x07,
660 0xae, 0xd9, 0x9e, 0xb5, 0xb5, 0xe5, 0x80, 0xb3,
661 0xe8, 0x87, 0xcf, 0x74, 0x97, 0x46, 0x56, 0x51,
662 0xd4, 0xb6, 0x0e, 0x60, 0x42, 0x05, 0x1d, 0xa3,
663
664 0x69, 0x3c, 0x3b, 0x78, 0xc1, 0x44, 0x89, 0x54,
665 0x3b, 0xe8, 0xb6, 0xad, 0x0b, 0xa6, 0x29, 0x56,
666 0x5b, 0xba, 0x20, 0x23, 0x13, 0xba, 0x7b, 0x0d,
667 0x0c, 0x94, 0xa3, 0x25, 0x2b, 0x67, 0x6f, 0x46,
668
669 0xcc, 0x02, 0xce, 0x0f, 0x8a, 0x7d, 0x34, 0xc0,
670 0xed, 0x22, 0x91, 0x29, 0x67, 0x3c, 0x1f, 0x61,
671 0xae, 0xd5, 0x79, 0xd0, 0x8a, 0x92, 0x03, 0xa2,
672 0x5a, 0xac, 0x3a, 0x77, 0xe9, 0xdb, 0x60, 0x26,
673
674 0x79, 0x96, 0xdb, 0x38, 0xdf, 0x63, 0x73, 0x56,
675 0xd9, 0xdc, 0xd1, 0x63, 0x2e, 0x36, 0x99, 0x39,
676 0xf2, 0xa2, 0x9d, 0x89, 0x34, 0x5c, 0x66, 0xe0,
677 0x50, 0x66, 0xf1, 0xa3, 0x67, 0x7a, 0xef, 0x18,
678
679 0xde, 0xa4, 0x11, 0x3f, 0xae, 0xb6, 0x29, 0xe4,
680 0x67, 0x21, 0xa6, 0x6d, 0x0a, 0x7e, 0x78, 0x5d,
681 0x3e, 0x29, 0xaf, 0x25, 0x94, 0xeb, 0x67, 0xdf,
682 0xa9, 0x82, 0xaf, 0xfe, 0x0a, 0xac, 0x05, 0x8f,
683
684 0x6e, 0x15, 0x86, 0x42, 0x69, 0xb1, 0x35, 0x41,
685 0x82, 0x61, 0xfc, 0x3a, 0xfb, 0x08, 0x94, 0x72,
686 0xcf, 0x68, 0xc4, 0x5d, 0xd7, 0xf2, 0x31, 0xc6,
687 0x24, 0x9b, 0xa0, 0x25, 0x5e, 0x1e, 0x03, 0x38,
688
689 0x33, 0xfc, 0x4d, 0x00, 0xa3, 0xfe, 0x02, 0x13,
690 0x2d, 0x7b, 0xc3, 0x87, 0x36, 0x14, 0xb8, 0xae,
691 0xe3, 0x42, 0x73, 0x58, 0x1e, 0xa0, 0x32, 0x5c,
692 0x81, 0xf0, 0x27, 0x0a, 0xff, 0xa1, 0x36, 0x41,
693
694 0xd0, 0x52, 0xd3, 0x6f, 0x07, 0x57, 0xd4, 0x84,
695 0x01, 0x43, 0x54, 0xd0, 0x2d, 0x68, 0x83, 0xca,
696 0x15, 0xc2, 0x4d, 0x8c, 0x39, 0x56, 0xb1, 0xbd,
697 0x02, 0x7b, 0xcf, 0x41, 0xf1, 0x51, 0xfd, 0x80,
698
699 0x23, 0xc5, 0x34, 0x0e, 0x56, 0x06, 0xf3, 0x7e,
700 0x90, 0xfd, 0xb8, 0x7c, 0x86, 0xfb, 0x4f, 0xa6,
701 0x34, 0xb3, 0x71, 0x8a, 0x30, 0xba, 0xce, 0x06,
702 0xa6, 0x6e, 0xaf, 0x8f, 0x63, 0xc4, 0xaa, 0x3b,
703
704 0x63, 0x78, 0x26, 0xa8, 0x7f, 0xe8, 0xcf, 0xa4,
705 0x42, 0x82, 0xe9, 0x2c, 0xb1, 0x61, 0x5a, 0xf3,
706 0xa2, 0x8e, 0x53, 0xbc, 0x74, 0xc7, 0xcb, 0xa1,
707 0xa0, 0x97, 0x7b, 0xe9, 0x06, 0x5d, 0x0c, 0x1a,
708
709 0x5d, 0xec, 0x6c, 0x54, 0xae, 0x38, 0xd3, 0x7f,
710 0x37, 0xaa, 0x35, 0x28, 0x3e, 0x04, 0x8e, 0x55,
711 0x30, 0xa8, 0x5c, 0x4e, 0x7a, 0x29, 0xd7, 0xb9,
712 0x2e, 0xc0, 0xc3, 0x16, 0x9c, 0xdf, 0x2a, 0x80,
713
714 0x5c, 0x76, 0x04, 0xbc, 0xe6, 0x00, 0x49, 0xb9,
715 0xfb, 0x7b, 0x8e, 0xaa, 0xc1, 0x0f, 0x51, 0xae,
716 0x23, 0x79, 0x4c, 0xeb, 0xa6, 0x8b, 0xb5, 0x81,
717 0x12, 0xe2, 0x93, 0xb9, 0xb6, 0x92, 0xca, 0x72,
718
719 0x1b, 0x37, 0xc6, 0x62, 0xf8, 0x57, 0x4e, 0xd4,
720 0xdb, 0xa6, 0xf8, 0x8e, 0x17, 0x08, 0x81, 0xc8,
721 0x2c, 0xdd, 0xc1, 0x03, 0x4a, 0x0c, 0xa7, 0xe2,
722 0x84, 0xbf, 0x09, 0x62, 0xb6, 0xb2, 0x62, 0x92,
723
724 0xd8, 0x36, 0xfa, 0x9f, 0x73, 0xc1, 0xac, 0x77,
725 0x0e, 0xef, 0x0f, 0x2d, 0x3a, 0x1e, 0xaf, 0x61,
726 0xd3, 0xe0, 0x35, 0x55, 0xfd, 0x42, 0x4e, 0xed,
727 0xd6, 0x7e, 0x18, 0xa1, 0x80, 0x94, 0xf8, 0x88,
728};
729static const uint8_t ciph_data_aes_xts_vect7_ctx[] = {
730 0xd5, 0x5f, 0x68, 0x4f, 0x81, 0xf4, 0x42, 0x6e,
731 0x9f, 0xde, 0x92, 0xa5, 0xff, 0x02, 0xdf, 0x2a,
732 0xc8, 0x96, 0xaf, 0x63, 0x96, 0x28, 0x88, 0xa9,
733 0x79, 0x10, 0xc1, 0x37, 0x9e, 0x20, 0xb0, 0xa3,
734
735 0xb1, 0xdb, 0x61, 0x3f, 0xb7, 0xfe, 0x2e, 0x07,
736 0x00, 0x43, 0x29, 0xea, 0x5c, 0x22, 0xbf, 0xd3,
737 0x3e, 0x3d, 0xbe, 0x4c, 0xf5, 0x8c, 0xc6, 0x08,
738 0xc2, 0xc2, 0x6c, 0x19, 0xa2, 0xe2, 0xfe, 0x22,
739
740 0xf9, 0x87, 0x32, 0xc2, 0xb5, 0xcb, 0x84, 0x4c,
741 0xc6, 0xc0, 0x70, 0x2d, 0x91, 0xe1, 0xd5, 0x0f,
742 0xc4, 0x38, 0x2a, 0x7e, 0xba, 0x56, 0x35, 0xcd,
743 0x60, 0x24, 0x32, 0xa2, 0x30, 0x6a, 0xc4, 0xce,
744
745 0x82, 0xf8, 0xd7, 0x0c, 0x8d, 0x9b, 0xc1, 0x5f,
746 0x91, 0x8f, 0xe7, 0x1e, 0x74, 0xc6, 0x22, 0xd5,
747 0xcf, 0x71, 0x17, 0x8b, 0xf6, 0xe0, 0xb9, 0xcc,
748 0x9f, 0x2b, 0x41, 0xdd, 0x8d, 0xbe, 0x44, 0x1c,
749
750 0x41, 0xcd, 0x0c, 0x73, 0xa6, 0xdc, 0x47, 0xa3,
751 0x48, 0xf6, 0x70, 0x2f, 0x9d, 0x0e, 0x9b, 0x1b,
752 0x14, 0x31, 0xe9, 0x48, 0xe2, 0x99, 0xb9, 0xec,
753 0x22, 0x72, 0xab, 0x2c, 0x5f, 0x0c, 0x7b, 0xe8,
754
755 0x6a, 0xff, 0xa5, 0xde, 0xc8, 0x7a, 0x0b, 0xee,
756 0x81, 0xd3, 0xd5, 0x00, 0x07, 0xed, 0xaa, 0x2b,
757 0xcf, 0xcc, 0xb3, 0x56, 0x05, 0x15, 0x5f, 0xf3,
758 0x6e, 0xd8, 0xed, 0xd4, 0xa4, 0x0d, 0xcd, 0x4b,
759
760 0x24, 0x3a, 0xcd, 0x11, 0xb2, 0xb9, 0x87, 0xbd,
761 0xbf, 0xaf, 0x91, 0xa7, 0xca, 0xc2, 0x7e, 0x9c,
762 0x5a, 0xea, 0x52, 0x5e, 0xe5, 0x3d, 0xe7, 0xb2,
763 0xd3, 0x33, 0x2c, 0x86, 0x44, 0x40, 0x2b, 0x82,
764
765 0x3e, 0x94, 0xa7, 0xdb, 0x26, 0x27, 0x6d, 0x2d,
766 0x23, 0xaa, 0x07, 0x18, 0x0f, 0x76, 0xb4, 0xfd,
767 0x29, 0xb9, 0xc0, 0x82, 0x30, 0x99, 0xc9, 0xd6,
768 0x2c, 0x51, 0x98, 0x80, 0xae, 0xe7, 0xe9, 0x69,
769
770 0x76, 0x17, 0xc1, 0x49, 0x7d, 0x47, 0xbf, 0x3e,
771 0x57, 0x19, 0x50, 0x31, 0x14, 0x21, 0xb6, 0xb7,
772 0x34, 0xd3, 0x8b, 0x0d, 0xb9, 0x1e, 0xb8, 0x53,
773 0x31, 0xb9, 0x1e, 0xa9, 0xf6, 0x15, 0x30, 0xf5,
774
775 0x45, 0x12, 0xa5, 0xa5, 0x2a, 0x4b, 0xad, 0x58,
776 0x9e, 0xb6, 0x97, 0x81, 0xd5, 0x37, 0xf2, 0x32,
777 0x97, 0xbb, 0x45, 0x9b, 0xda, 0xd2, 0x94, 0x8a,
778 0x29, 0xe1, 0x55, 0x0b, 0xf4, 0x78, 0x7e, 0x0b,
779
780 0xe9, 0x5b, 0xb1, 0x73, 0xcf, 0x5f, 0xab, 0x17,
781 0xda, 0xb7, 0xa1, 0x3a, 0x05, 0x2a, 0x63, 0x45,
782 0x3d, 0x97, 0xcc, 0xec, 0x1a, 0x32, 0x19, 0x54,
783 0x88, 0x6b, 0x7a, 0x12, 0x99, 0xfa, 0xae, 0xec,
784
785 0xae, 0x35, 0xc6, 0xea, 0xac, 0xa7, 0x53, 0xb0,
786 0x41, 0xb5, 0xe5, 0xf0, 0x93, 0xbf, 0x83, 0x39,
787 0x7f, 0xd2, 0x1d, 0xd6, 0xb3, 0x01, 0x20, 0x66,
788 0xfc, 0xc0, 0x58, 0xcc, 0x32, 0xc3, 0xb0, 0x9d,
789
790 0x75, 0x62, 0xde, 0xe2, 0x95, 0x09, 0xb5, 0x83,
791 0x93, 0x92, 0xc9, 0xff, 0x05, 0xf5, 0x1f, 0x31,
792 0x66, 0xaa, 0xac, 0x4a, 0xc5, 0xf2, 0x38, 0x03,
793 0x8a, 0x30, 0x45, 0xe6, 0xf7, 0x2e, 0x48, 0xef,
794
795 0x0f, 0xe8, 0xbc, 0x67, 0x5e, 0x82, 0xc3, 0x18,
796 0xa2, 0x68, 0xe4, 0x39, 0x70, 0x27, 0x1b, 0xf1,
797 0x19, 0xb8, 0x1b, 0xf6, 0xa9, 0x82, 0x74, 0x65,
798 0x54, 0xf8, 0x4e, 0x72, 0xb9, 0xf0, 0x02, 0x80,
799
800 0xa3, 0x20, 0xa0, 0x81, 0x42, 0x92, 0x3c, 0x23,
801 0xc8, 0x83, 0x42, 0x3f, 0xf9, 0x49, 0x82, 0x7f,
802 0x29, 0xbb, 0xac, 0xdc, 0x1c, 0xcd, 0xb0, 0x49,
803 0x38, 0xce, 0x60, 0x98, 0xc9, 0x5b, 0xa6, 0xb3,
804
805 0x25, 0x28, 0xf4, 0xef, 0x78, 0xee, 0xd7, 0x78,
806 0xb2, 0xe1, 0x22, 0xdd, 0xfd, 0x1c, 0xbd, 0xd1,
807 0x1d, 0x1c, 0x0a, 0x67, 0x83, 0xe0, 0x11, 0xfc,
808 0x53, 0x6d, 0x63, 0xd0, 0x53, 0x26, 0x06, 0x37,
809};
810
811/* Vector 8 */
812static const uint8_t ciph_data_aes_xts_vect8_key1[] = {
813 0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45,
814 0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26,
815};
816static const uint8_t ciph_data_aes_xts_vect8_key2[] = {
817 0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93,
818 0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95,
819};
820static const uint8_t ciph_data_aes_xts_vect8_iv[16] = {
821 0xfe
822};
823static const uint8_t ciph_data_aes_xts_vect8_ptx[] = {
824 0xd5, 0x5f, 0x68, 0x4f, 0x81, 0xf4, 0x42, 0x6e,
825 0x9f, 0xde, 0x92, 0xa5, 0xff, 0x02, 0xdf, 0x2a,
826 0xc8, 0x96, 0xaf, 0x63, 0x96, 0x28, 0x88, 0xa9,
827 0x79, 0x10, 0xc1, 0x37, 0x9e, 0x20, 0xb0, 0xa3,
828
829 0xb1, 0xdb, 0x61, 0x3f, 0xb7, 0xfe, 0x2e, 0x07,
830 0x00, 0x43, 0x29, 0xea, 0x5c, 0x22, 0xbf, 0xd3,
831 0x3e, 0x3d, 0xbe, 0x4c, 0xf5, 0x8c, 0xc6, 0x08,
832 0xc2, 0xc2, 0x6c, 0x19, 0xa2, 0xe2, 0xfe, 0x22,
833
834 0xf9, 0x87, 0x32, 0xc2, 0xb5, 0xcb, 0x84, 0x4c,
835 0xc6, 0xc0, 0x70, 0x2d, 0x91, 0xe1, 0xd5, 0x0f,
836 0xc4, 0x38, 0x2a, 0x7e, 0xba, 0x56, 0x35, 0xcd,
837 0x60, 0x24, 0x32, 0xa2, 0x30, 0x6a, 0xc4, 0xce,
838
839 0x82, 0xf8, 0xd7, 0x0c, 0x8d, 0x9b, 0xc1, 0x5f,
840 0x91, 0x8f, 0xe7, 0x1e, 0x74, 0xc6, 0x22, 0xd5,
841 0xcf, 0x71, 0x17, 0x8b, 0xf6, 0xe0, 0xb9, 0xcc,
842 0x9f, 0x2b, 0x41, 0xdd, 0x8d, 0xbe, 0x44, 0x1c,
843
844 0x41, 0xcd, 0x0c, 0x73, 0xa6, 0xdc, 0x47, 0xa3,
845 0x48, 0xf6, 0x70, 0x2f, 0x9d, 0x0e, 0x9b, 0x1b,
846 0x14, 0x31, 0xe9, 0x48, 0xe2, 0x99, 0xb9, 0xec,
847 0x22, 0x72, 0xab, 0x2c, 0x5f, 0x0c, 0x7b, 0xe8,
848
849 0x6a, 0xff, 0xa5, 0xde, 0xc8, 0x7a, 0x0b, 0xee,
850 0x81, 0xd3, 0xd5, 0x00, 0x07, 0xed, 0xaa, 0x2b,
851 0xcf, 0xcc, 0xb3, 0x56, 0x05, 0x15, 0x5f, 0xf3,
852 0x6e, 0xd8, 0xed, 0xd4, 0xa4, 0x0d, 0xcd, 0x4b,
853
854 0x24, 0x3a, 0xcd, 0x11, 0xb2, 0xb9, 0x87, 0xbd,
855 0xbf, 0xaf, 0x91, 0xa7, 0xca, 0xc2, 0x7e, 0x9c,
856 0x5a, 0xea, 0x52, 0x5e, 0xe5, 0x3d, 0xe7, 0xb2,
857 0xd3, 0x33, 0x2c, 0x86, 0x44, 0x40, 0x2b, 0x82,
858
859 0x3e, 0x94, 0xa7, 0xdb, 0x26, 0x27, 0x6d, 0x2d,
860 0x23, 0xaa, 0x07, 0x18, 0x0f, 0x76, 0xb4, 0xfd,
861 0x29, 0xb9, 0xc0, 0x82, 0x30, 0x99, 0xc9, 0xd6,
862 0x2c, 0x51, 0x98, 0x80, 0xae, 0xe7, 0xe9, 0x69,
863
864 0x76, 0x17, 0xc1, 0x49, 0x7d, 0x47, 0xbf, 0x3e,
865 0x57, 0x19, 0x50, 0x31, 0x14, 0x21, 0xb6, 0xb7,
866 0x34, 0xd3, 0x8b, 0x0d, 0xb9, 0x1e, 0xb8, 0x53,
867 0x31, 0xb9, 0x1e, 0xa9, 0xf6, 0x15, 0x30, 0xf5,
868
869 0x45, 0x12, 0xa5, 0xa5, 0x2a, 0x4b, 0xad, 0x58,
870 0x9e, 0xb6, 0x97, 0x81, 0xd5, 0x37, 0xf2, 0x32,
871 0x97, 0xbb, 0x45, 0x9b, 0xda, 0xd2, 0x94, 0x8a,
872 0x29, 0xe1, 0x55, 0x0b, 0xf4, 0x78, 0x7e, 0x0b,
873
874 0xe9, 0x5b, 0xb1, 0x73, 0xcf, 0x5f, 0xab, 0x17,
875 0xda, 0xb7, 0xa1, 0x3a, 0x05, 0x2a, 0x63, 0x45,
876 0x3d, 0x97, 0xcc, 0xec, 0x1a, 0x32, 0x19, 0x54,
877 0x88, 0x6b, 0x7a, 0x12, 0x99, 0xfa, 0xae, 0xec,
878
879 0xae, 0x35, 0xc6, 0xea, 0xac, 0xa7, 0x53, 0xb0,
880 0x41, 0xb5, 0xe5, 0xf0, 0x93, 0xbf, 0x83, 0x39,
881 0x7f, 0xd2, 0x1d, 0xd6, 0xb3, 0x01, 0x20, 0x66,
882 0xfc, 0xc0, 0x58, 0xcc, 0x32, 0xc3, 0xb0, 0x9d,
883
884 0x75, 0x62, 0xde, 0xe2, 0x95, 0x09, 0xb5, 0x83,
885 0x93, 0x92, 0xc9, 0xff, 0x05, 0xf5, 0x1f, 0x31,
886 0x66, 0xaa, 0xac, 0x4a, 0xc5, 0xf2, 0x38, 0x03,
887 0x8a, 0x30, 0x45, 0xe6, 0xf7, 0x2e, 0x48, 0xef,
888
889 0x0f, 0xe8, 0xbc, 0x67, 0x5e, 0x82, 0xc3, 0x18,
890 0xa2, 0x68, 0xe4, 0x39, 0x70, 0x27, 0x1b, 0xf1,
891 0x19, 0xb8, 0x1b, 0xf6, 0xa9, 0x82, 0x74, 0x65,
892 0x54, 0xf8, 0x4e, 0x72, 0xb9, 0xf0, 0x02, 0x80,
893
894 0xa3, 0x20, 0xa0, 0x81, 0x42, 0x92, 0x3c, 0x23,
895 0xc8, 0x83, 0x42, 0x3f, 0xf9, 0x49, 0x82, 0x7f,
896 0x29, 0xbb, 0xac, 0xdc, 0x1c, 0xcd, 0xb0, 0x49,
897 0x38, 0xce, 0x60, 0x98, 0xc9, 0x5b, 0xa6, 0xb3,
898
899 0x25, 0x28, 0xf4, 0xef, 0x78, 0xee, 0xd7, 0x78,
900 0xb2, 0xe1, 0x22, 0xdd, 0xfd, 0x1c, 0xbd, 0xd1,
901 0x1d, 0x1c, 0x0a, 0x67, 0x83, 0xe0, 0x11, 0xfc,
902 0x53, 0x6d, 0x63, 0xd0, 0x53, 0x26, 0x06, 0x37,
903};
904static const uint8_t ciph_data_aes_xts_vect8_ctx[] = {
905 0x72, 0xef, 0xc1, 0xeb, 0xfe, 0x1e, 0xe2, 0x59,
906 0x75, 0xa6, 0xeb, 0x3a, 0xa8, 0x58, 0x9d, 0xda,
907 0x2b, 0x26, 0x1f, 0x1c, 0x85, 0xbd, 0xab, 0x44,
908 0x2a, 0x9e, 0x5b, 0x2d, 0xd1, 0xd7, 0xc3, 0x95,
909
910 0x7a, 0x16, 0xfc, 0x08, 0xe5, 0x26, 0xd4, 0xb1,
911 0x22, 0x3f, 0x1b, 0x12, 0x32, 0xa1, 0x1a, 0xf2,
912 0x74, 0xc3, 0xd7, 0x0d, 0xac, 0x57, 0xf8, 0x3e,
913 0x09, 0x83, 0xc4, 0x98, 0xf1, 0xa6, 0xf1, 0xae,
914
915 0xcb, 0x02, 0x1c, 0x3e, 0x70, 0x08, 0x5a, 0x1e,
916 0x52, 0x7f, 0x1c, 0xe4, 0x1e, 0xe5, 0x91, 0x1a,
917 0x82, 0x02, 0x01, 0x61, 0x52, 0x9c, 0xd8, 0x27,
918 0x73, 0x76, 0x2d, 0xaf, 0x54, 0x59, 0xde, 0x94,
919
920 0xa0, 0xa8, 0x2a, 0xda, 0xe7, 0xe1, 0x70, 0x3c,
921 0x80, 0x85, 0x43, 0xc2, 0x9e, 0xd6, 0xfb, 0x32,
922 0xd9, 0xe0, 0x04, 0x32, 0x7c, 0x13, 0x55, 0x18,
923 0x0c, 0x99, 0x5a, 0x07, 0x74, 0x14, 0x93, 0xa0,
924
925 0x9c, 0x21, 0xba, 0x01, 0xa3, 0x87, 0x88, 0x2d,
926 0xa4, 0xf6, 0x25, 0x34, 0xb8, 0x7b, 0xb1, 0x5d,
927 0x60, 0xd1, 0x97, 0x20, 0x1c, 0x0f, 0xd3, 0xbf,
928 0x30, 0xc1, 0x50, 0x0a, 0x3e, 0xcf, 0xec, 0xdd,
929
930 0x66, 0xd8, 0x72, 0x1f, 0x90, 0xbc, 0xc4, 0xc1,
931 0x7e, 0xe9, 0x25, 0xc6, 0x1b, 0x0a, 0x03, 0x72,
932 0x7a, 0x9c, 0x0d, 0x5f, 0x5c, 0xa4, 0x62, 0xfb,
933 0xfa, 0x0a, 0xf1, 0xc2, 0x51, 0x3a, 0x9d, 0x9d,
934
935 0x4b, 0x53, 0x45, 0xbd, 0x27, 0xa5, 0xf6, 0xe6,
936 0x53, 0xf7, 0x51, 0x69, 0x3e, 0x6b, 0x6a, 0x2b,
937 0x8e, 0xad, 0x57, 0xd5, 0x11, 0xe0, 0x0e, 0x58,
938 0xc4, 0x5b, 0x7b, 0x8d, 0x00, 0x5a, 0xf7, 0x92,
939
940 0x88, 0xf5, 0xc7, 0xc2, 0x2f, 0xd4, 0xf1, 0xbf,
941 0x7a, 0x89, 0x8b, 0x03, 0xa5, 0x63, 0x4c, 0x6a,
942 0x1a, 0xe3, 0xf9, 0xfa, 0xe5, 0xde, 0x4f, 0x29,
943 0x6a, 0x28, 0x96, 0xb2, 0x3e, 0x7e, 0xd4, 0x3e,
944
945 0xd1, 0x4f, 0xa5, 0xa2, 0x80, 0x3f, 0x4d, 0x28,
946 0xf0, 0xd3, 0xff, 0xcf, 0x24, 0x75, 0x76, 0x77,
947 0xae, 0xbd, 0xb4, 0x7b, 0xb3, 0x88, 0x37, 0x87,
948 0x08, 0x94, 0x8a, 0x8d, 0x41, 0x26, 0xed, 0x18,
949
950 0x39, 0xe0, 0xda, 0x29, 0xa5, 0x37, 0xa8, 0xc1,
951 0x98, 0xb3, 0xc6, 0x6a, 0xb0, 0x07, 0x12, 0xdd,
952 0x26, 0x16, 0x74, 0xbf, 0x45, 0xa7, 0x3d, 0x67,
953 0xf7, 0x69, 0x14, 0xf8, 0x30, 0xca, 0x01, 0x4b,
954
955 0x65, 0x59, 0x6f, 0x27, 0xe4, 0xcf, 0x62, 0xde,
956 0x66, 0x12, 0x5a, 0x55, 0x66, 0xdf, 0x99, 0x75,
957 0x15, 0x56, 0x28, 0xb4, 0x00, 0xfb, 0xfb, 0x3a,
958 0x29, 0x04, 0x0e, 0xd5, 0x0f, 0xaf, 0xfd, 0xbb,
959
960 0x18, 0xae, 0xce, 0x7c, 0x5c, 0x44, 0x69, 0x32,
961 0x60, 0xaa, 0xb3, 0x86, 0xc0, 0xa3, 0x7b, 0x11,
962 0xb1, 0x14, 0xf1, 0xc4, 0x15, 0xae, 0xbb, 0x65,
963 0x3b, 0xe4, 0x68, 0x17, 0x94, 0x28, 0xd4, 0x3a,
964
965 0x4d, 0x8b, 0xc3, 0xec, 0x38, 0x81, 0x3e, 0xca,
966 0x30, 0xa1, 0x3c, 0xf1, 0xbb, 0x18, 0xd5, 0x24,
967 0xf1, 0x99, 0x2d, 0x44, 0xd8, 0xb1, 0xa4, 0x2e,
968 0xa3, 0x0b, 0x22, 0xe6, 0xc9, 0x5b, 0x19, 0x9d,
969
970 0x8d, 0x18, 0x2f, 0x88, 0x40, 0xb0, 0x9d, 0x05,
971 0x95, 0x85, 0xc3, 0x1a, 0xd6, 0x91, 0xfa, 0x06,
972 0x19, 0xff, 0x03, 0x8a, 0xca, 0x2c, 0x39, 0xa9,
973 0x43, 0x42, 0x11, 0x57, 0x36, 0x17, 0x17, 0xc4,
974
975 0x9d, 0x32, 0x20, 0x28, 0xa7, 0x46, 0x48, 0x11,
976 0x3b, 0xd8, 0xc9, 0xd7, 0xec, 0x77, 0xcf, 0x3c,
977 0x89, 0xc1, 0xec, 0x87, 0x18, 0xce, 0xff, 0x85,
978 0x16, 0xd9, 0x6b, 0x34, 0xc3, 0xc6, 0x14, 0xf1,
979
980 0x06, 0x99, 0xc9, 0xab, 0xc4, 0xed, 0x04, 0x11,
981 0x50, 0x62, 0x23, 0xbe, 0xa1, 0x6a, 0xf3, 0x5c,
982 0x88, 0x3a, 0xcc, 0xdb, 0xe1, 0x10, 0x4e, 0xef,
983 0x0c, 0xfd, 0xb5, 0x4e, 0x12, 0xfb, 0x23, 0x0a,
984};
985
986/* Vector 9 */
987static const uint8_t ciph_data_aes_xts_vect9_key1[] = {
988 0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45,
989 0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26,
990};
991static const uint8_t ciph_data_aes_xts_vect9_key2[] = {
992 0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93,
993 0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95,
994};
995static const uint8_t ciph_data_aes_xts_vect9_iv[16] = {
996 0xff
997};
998static const uint8_t ciph_data_aes_xts_vect9_ptx[] = {
999 0x72, 0xef, 0xc1, 0xeb, 0xfe, 0x1e, 0xe2, 0x59,
1000 0x75, 0xa6, 0xeb, 0x3a, 0xa8, 0x58, 0x9d, 0xda,
1001 0x2b, 0x26, 0x1f, 0x1c, 0x85, 0xbd, 0xab, 0x44,
1002 0x2a, 0x9e, 0x5b, 0x2d, 0xd1, 0xd7, 0xc3, 0x95,
1003
1004 0x7a, 0x16, 0xfc, 0x08, 0xe5, 0x26, 0xd4, 0xb1,
1005 0x22, 0x3f, 0x1b, 0x12, 0x32, 0xa1, 0x1a, 0xf2,
1006 0x74, 0xc3, 0xd7, 0x0d, 0xac, 0x57, 0xf8, 0x3e,
1007 0x09, 0x83, 0xc4, 0x98, 0xf1, 0xa6, 0xf1, 0xae,
1008
1009 0xcb, 0x02, 0x1c, 0x3e, 0x70, 0x08, 0x5a, 0x1e,
1010 0x52, 0x7f, 0x1c, 0xe4, 0x1e, 0xe5, 0x91, 0x1a,
1011 0x82, 0x02, 0x01, 0x61, 0x52, 0x9c, 0xd8, 0x27,
1012 0x73, 0x76, 0x2d, 0xaf, 0x54, 0x59, 0xde, 0x94,
1013
1014 0xa0, 0xa8, 0x2a, 0xda, 0xe7, 0xe1, 0x70, 0x3c,
1015 0x80, 0x85, 0x43, 0xc2, 0x9e, 0xd6, 0xfb, 0x32,
1016 0xd9, 0xe0, 0x04, 0x32, 0x7c, 0x13, 0x55, 0x18,
1017 0x0c, 0x99, 0x5a, 0x07, 0x74, 0x14, 0x93, 0xa0,
1018
1019 0x9c, 0x21, 0xba, 0x01, 0xa3, 0x87, 0x88, 0x2d,
1020 0xa4, 0xf6, 0x25, 0x34, 0xb8, 0x7b, 0xb1, 0x5d,
1021 0x60, 0xd1, 0x97, 0x20, 0x1c, 0x0f, 0xd3, 0xbf,
1022 0x30, 0xc1, 0x50, 0x0a, 0x3e, 0xcf, 0xec, 0xdd,
1023
1024 0x66, 0xd8, 0x72, 0x1f, 0x90, 0xbc, 0xc4, 0xc1,
1025 0x7e, 0xe9, 0x25, 0xc6, 0x1b, 0x0a, 0x03, 0x72,
1026 0x7a, 0x9c, 0x0d, 0x5f, 0x5c, 0xa4, 0x62, 0xfb,
1027 0xfa, 0x0a, 0xf1, 0xc2, 0x51, 0x3a, 0x9d, 0x9d,
1028
1029 0x4b, 0x53, 0x45, 0xbd, 0x27, 0xa5, 0xf6, 0xe6,
1030 0x53, 0xf7, 0x51, 0x69, 0x3e, 0x6b, 0x6a, 0x2b,
1031 0x8e, 0xad, 0x57, 0xd5, 0x11, 0xe0, 0x0e, 0x58,
1032 0xc4, 0x5b, 0x7b, 0x8d, 0x00, 0x5a, 0xf7, 0x92,
1033
1034 0x88, 0xf5, 0xc7, 0xc2, 0x2f, 0xd4, 0xf1, 0xbf,
1035 0x7a, 0x89, 0x8b, 0x03, 0xa5, 0x63, 0x4c, 0x6a,
1036 0x1a, 0xe3, 0xf9, 0xfa, 0xe5, 0xde, 0x4f, 0x29,
1037 0x6a, 0x28, 0x96, 0xb2, 0x3e, 0x7e, 0xd4, 0x3e,
1038
1039 0xd1, 0x4f, 0xa5, 0xa2, 0x80, 0x3f, 0x4d, 0x28,
1040 0xf0, 0xd3, 0xff, 0xcf, 0x24, 0x75, 0x76, 0x77,
1041 0xae, 0xbd, 0xb4, 0x7b, 0xb3, 0x88, 0x37, 0x87,
1042 0x08, 0x94, 0x8a, 0x8d, 0x41, 0x26, 0xed, 0x18,
1043
1044 0x39, 0xe0, 0xda, 0x29, 0xa5, 0x37, 0xa8, 0xc1,
1045 0x98, 0xb3, 0xc6, 0x6a, 0xb0, 0x07, 0x12, 0xdd,
1046 0x26, 0x16, 0x74, 0xbf, 0x45, 0xa7, 0x3d, 0x67,
1047 0xf7, 0x69, 0x14, 0xf8, 0x30, 0xca, 0x01, 0x4b,
1048
1049 0x65, 0x59, 0x6f, 0x27, 0xe4, 0xcf, 0x62, 0xde,
1050 0x66, 0x12, 0x5a, 0x55, 0x66, 0xdf, 0x99, 0x75,
1051 0x15, 0x56, 0x28, 0xb4, 0x00, 0xfb, 0xfb, 0x3a,
1052 0x29, 0x04, 0x0e, 0xd5, 0x0f, 0xaf, 0xfd, 0xbb,
1053
1054 0x18, 0xae, 0xce, 0x7c, 0x5c, 0x44, 0x69, 0x32,
1055 0x60, 0xaa, 0xb3, 0x86, 0xc0, 0xa3, 0x7b, 0x11,
1056 0xb1, 0x14, 0xf1, 0xc4, 0x15, 0xae, 0xbb, 0x65,
1057 0x3b, 0xe4, 0x68, 0x17, 0x94, 0x28, 0xd4, 0x3a,
1058
1059 0x4d, 0x8b, 0xc3, 0xec, 0x38, 0x81, 0x3e, 0xca,
1060 0x30, 0xa1, 0x3c, 0xf1, 0xbb, 0x18, 0xd5, 0x24,
1061 0xf1, 0x99, 0x2d, 0x44, 0xd8, 0xb1, 0xa4, 0x2e,
1062 0xa3, 0x0b, 0x22, 0xe6, 0xc9, 0x5b, 0x19, 0x9d,
1063
1064 0x8d, 0x18, 0x2f, 0x88, 0x40, 0xb0, 0x9d, 0x05,
1065 0x95, 0x85, 0xc3, 0x1a, 0xd6, 0x91, 0xfa, 0x06,
1066 0x19, 0xff, 0x03, 0x8a, 0xca, 0x2c, 0x39, 0xa9,
1067 0x43, 0x42, 0x11, 0x57, 0x36, 0x17, 0x17, 0xc4,
1068
1069 0x9d, 0x32, 0x20, 0x28, 0xa7, 0x46, 0x48, 0x11,
1070 0x3b, 0xd8, 0xc9, 0xd7, 0xec, 0x77, 0xcf, 0x3c,
1071 0x89, 0xc1, 0xec, 0x87, 0x18, 0xce, 0xff, 0x85,
1072 0x16, 0xd9, 0x6b, 0x34, 0xc3, 0xc6, 0x14, 0xf1,
1073
1074 0x06, 0x99, 0xc9, 0xab, 0xc4, 0xed, 0x04, 0x11,
1075 0x50, 0x62, 0x23, 0xbe, 0xa1, 0x6a, 0xf3, 0x5c,
1076 0x88, 0x3a, 0xcc, 0xdb, 0xe1, 0x10, 0x4e, 0xef,
1077 0x0c, 0xfd, 0xb5, 0x4e, 0x12, 0xfb, 0x23, 0x0a,
1078};
1079static const uint8_t ciph_data_aes_xts_vect9_ctx[] = {
1080 0x32, 0x60, 0xae, 0x8d, 0xad, 0x1f, 0x4a, 0x32,
1081 0xc5, 0xca, 0xfe, 0x3a, 0xb0, 0xeb, 0x95, 0x54,
1082 0x9d, 0x46, 0x1a, 0x67, 0xce, 0xb9, 0xe5, 0xaa,
1083 0x2d, 0x3a, 0xfb, 0x62, 0xde, 0xce, 0x05, 0x53,
1084
1085 0x19, 0x3b, 0xa5, 0x0c, 0x75, 0xbe, 0x25, 0x1e,
1086 0x08, 0xd1, 0xd0, 0x8f, 0x10, 0x88, 0x57, 0x6c,
1087 0x7e, 0xfd, 0xfa, 0xaf, 0x3f, 0x45, 0x95, 0x59,
1088 0x57, 0x1e, 0x12, 0x51, 0x17, 0x53, 0xb0, 0x7a,
1089
1090 0xf0, 0x73, 0xf3, 0x5d, 0xa0, 0x6a, 0xf0, 0xce,
1091 0x0b, 0xbf, 0x6b, 0x8f, 0x5c, 0xcc, 0x5c, 0xea,
1092 0x50, 0x0e, 0xc1, 0xb2, 0x11, 0xbd, 0x51, 0xf6,
1093 0x3b, 0x60, 0x6b, 0xf6, 0x52, 0x87, 0x96, 0xca,
1094
1095 0x12, 0x17, 0x3b, 0xa3, 0x9b, 0x89, 0x35, 0xee,
1096 0x44, 0xcc, 0xce, 0x64, 0x6f, 0x90, 0xa4, 0x5b,
1097 0xf9, 0xcc, 0xc5, 0x67, 0xf0, 0xac, 0xe1, 0x3d,
1098 0xc2, 0xd5, 0x3e, 0xbe, 0xed, 0xc8, 0x1f, 0x58,
1099
1100 0xb2, 0xe4, 0x11, 0x79, 0xdd, 0xdf, 0x0d, 0x5a,
1101 0x5c, 0x42, 0xf5, 0xd8, 0x50, 0x6c, 0x1a, 0x5d,
1102 0x2f, 0x8f, 0x59, 0xf3, 0xea, 0x87, 0x3c, 0xbc,
1103 0xd0, 0xee, 0xc1, 0x9a, 0xcb, 0xf3, 0x25, 0x42,
1104
1105 0x3b, 0xd3, 0xdc, 0xb8, 0xc2, 0xb1, 0xbf, 0x1d,
1106 0x1e, 0xae, 0xd0, 0xeb, 0xa7, 0xf0, 0x69, 0x8e,
1107 0x43, 0x14, 0xfb, 0xeb, 0x2f, 0x15, 0x66, 0xd1,
1108 0xb9, 0x25, 0x30, 0x08, 0xcb, 0xcc, 0xf4, 0x5a,
1109
1110 0x2b, 0x0d, 0x9c, 0x5c, 0x9c, 0x21, 0x47, 0x4f,
1111 0x40, 0x76, 0xe0, 0x2b, 0xe2, 0x60, 0x50, 0xb9,
1112 0x9d, 0xee, 0x4f, 0xd6, 0x8a, 0x4c, 0xf8, 0x90,
1113 0xe4, 0x96, 0xe4, 0xfc, 0xae, 0x7b, 0x70, 0xf9,
1114
1115 0x4e, 0xa5, 0xa9, 0x06, 0x2d, 0xa0, 0xda, 0xeb,
1116 0xa1, 0x99, 0x3d, 0x2c, 0xcd, 0x1d, 0xd3, 0xc2,
1117 0x44, 0xb8, 0x42, 0x88, 0x01, 0x49, 0x5a, 0x58,
1118 0xb2, 0x16, 0x54, 0x7e, 0x7e, 0x84, 0x7c, 0x46,
1119
1120 0xd1, 0xd7, 0x56, 0x37, 0x7b, 0x62, 0x42, 0xd2,
1121 0xe5, 0xfb, 0x83, 0xbf, 0x75, 0x2b, 0x54, 0xe0,
1122 0xdf, 0x71, 0xe8, 0x89, 0xf3, 0xa2, 0xbb, 0x0f,
1123 0x4c, 0x10, 0x80, 0x5b, 0xf3, 0xc5, 0x90, 0x37,
1124
1125 0x6e, 0x3c, 0x24, 0xe2, 0x2f, 0xf5, 0x7f, 0x7f,
1126 0xa9, 0x65, 0x57, 0x73, 0x75, 0x32, 0x5c, 0xea,
1127 0x5d, 0x92, 0x0d, 0xb9, 0x4b, 0x9c, 0x33, 0x6b,
1128 0x45, 0x5f, 0x6e, 0x89, 0x4c, 0x01, 0x86, 0x6f,
1129
1130 0xe9, 0xfb, 0xb8, 0xc8, 0xd3, 0xf7, 0x0a, 0x29,
1131 0x57, 0x28, 0x5f, 0x6d, 0xfb, 0x5d, 0xcd, 0x8c,
1132 0xbf, 0x54, 0x78, 0x2f, 0x8f, 0xe7, 0x76, 0x6d,
1133 0x47, 0x23, 0x81, 0x99, 0x13, 0xac, 0x77, 0x34,
1134
1135 0x21, 0xe3, 0xa3, 0x10, 0x95, 0x86, 0x6b, 0xad,
1136 0x22, 0xc8, 0x6a, 0x60, 0x36, 0xb2, 0x51, 0x8b,
1137 0x20, 0x59, 0xb4, 0x22, 0x9d, 0x18, 0xc8, 0xc2,
1138 0xcc, 0xbd, 0xf9, 0x06, 0xc6, 0xcc, 0x6e, 0x82,
1139
1140 0x46, 0x4e, 0xe5, 0x7b, 0xdd, 0xb0, 0xbe, 0xbc,
1141 0xb1, 0xdc, 0x64, 0x53, 0x25, 0xbf, 0xb3, 0xe6,
1142 0x65, 0xef, 0x72, 0x51, 0x08, 0x2c, 0x88, 0xeb,
1143 0xb1, 0xcf, 0x20, 0x3b, 0xd7, 0x79, 0xfd, 0xd3,
1144
1145 0x86, 0x75, 0x71, 0x3c, 0x8d, 0xaa, 0xdd, 0x17,
1146 0xe1, 0xca, 0xbe, 0xe4, 0x32, 0xb0, 0x97, 0x87,
1147 0xb6, 0xdd, 0xf3, 0x30, 0x4e, 0x38, 0xb7, 0x31,
1148 0xb4, 0x5d, 0xf5, 0xdf, 0x51, 0xb7, 0x8f, 0xcf,
1149
1150 0xb3, 0xd3, 0x24, 0x66, 0x02, 0x8d, 0x0b, 0xa3,
1151 0x65, 0x55, 0xe7, 0xe1, 0x1a, 0xb0, 0xee, 0x06,
1152 0x66, 0x06, 0x1d, 0x16, 0x45, 0xd9, 0x62, 0x44,
1153 0x4b, 0xc4, 0x7a, 0x38, 0x18, 0x89, 0x30, 0xa8,
1154
1155 0x4b, 0x4d, 0x56, 0x13, 0x95, 0xc7, 0x3c, 0x08,
1156 0x70, 0x21, 0x92, 0x7c, 0xa6, 0x38, 0xb7, 0xaf,
1157 0xc8, 0xa8, 0x67, 0x9c, 0xcb, 0x84, 0xc2, 0x65,
1158 0x55, 0x44, 0x0e, 0xc7, 0xf1, 0x04, 0x45, 0xcd,
1159};
1160
1161/*
1162 * XTS-AES-256 applied for a data unit of 512 bytes
1163 */
1164
1165/* Vector 10 */
1166static const uint8_t ciph_data_aes_xts_vect10_key1[] = {
1167 0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45,
1168 0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26,
1169 0x62, 0x49, 0x77, 0x57, 0x24, 0x70, 0x93, 0x69,
1170 0x99, 0x59, 0x57, 0x49, 0x66, 0x96, 0x76, 0x27,
1171};
1172static const uint8_t ciph_data_aes_xts_vect10_key2[] = {
1173 0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93,
1174 0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95,
1175 0x02, 0x88, 0x41, 0x97, 0x16, 0x93, 0x99, 0x37,
1176 0x51, 0x05, 0x82, 0x09, 0x74, 0x94, 0x45, 0x92,
1177};
1178static const uint8_t ciph_data_aes_xts_vect10_iv[16] = {
1179 0xff
1180};
1181static const uint8_t ciph_data_aes_xts_vect10_ptx[] = {
1182 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1183 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
1184 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
1185 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
1186
1187 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
1188 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
1189 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
1190 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
1191
1192 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
1193 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
1194 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
1195 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
1196
1197 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
1198 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
1199 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
1200 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
1201
1202 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
1203 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
1204 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
1205 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
1206
1207 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
1208 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
1209 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
1210 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
1211
1212 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
1213 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
1214 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
1215 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
1216
1217 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
1218 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
1219 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
1220 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
1221
1222 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1223 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
1224 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
1225 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
1226
1227 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
1228 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
1229 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
1230 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
1231
1232 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
1233 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
1234 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
1235 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
1236
1237 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
1238 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
1239 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
1240 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
1241
1242 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
1243 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
1244 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
1245 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
1246
1247 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
1248 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
1249 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
1250 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
1251
1252 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
1253 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
1254 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
1255 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
1256
1257 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
1258 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
1259 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
1260 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
1261};
1262static const uint8_t ciph_data_aes_xts_vect10_ctx[] = {
1263 0x1c, 0x3b, 0x3a, 0x10, 0x2f, 0x77, 0x03, 0x86,
1264 0xe4, 0x83, 0x6c, 0x99, 0xe3, 0x70, 0xcf, 0x9b,
1265 0xea, 0x00, 0x80, 0x3f, 0x5e, 0x48, 0x23, 0x57,
1266 0xa4, 0xae, 0x12, 0xd4, 0x14, 0xa3, 0xe6, 0x3b,
1267
1268 0x5d, 0x31, 0xe2, 0x76, 0xf8, 0xfe, 0x4a, 0x8d,
1269 0x66, 0xb3, 0x17, 0xf9, 0xac, 0x68, 0x3f, 0x44,
1270 0x68, 0x0a, 0x86, 0xac, 0x35, 0xad, 0xfc, 0x33,
1271 0x45, 0xbe, 0xfe, 0xcb, 0x4b, 0xb1, 0x88, 0xfd,
1272
1273 0x57, 0x76, 0x92, 0x6c, 0x49, 0xa3, 0x09, 0x5e,
1274 0xb1, 0x08, 0xfd, 0x10, 0x98, 0xba, 0xec, 0x70,
1275 0xaa, 0xa6, 0x69, 0x99, 0xa7, 0x2a, 0x82, 0xf2,
1276 0x7d, 0x84, 0x8b, 0x21, 0xd4, 0xa7, 0x41, 0xb0,
1277
1278 0xc5, 0xcd, 0x4d, 0x5f, 0xff, 0x9d, 0xac, 0x89,
1279 0xae, 0xba, 0x12, 0x29, 0x61, 0xd0, 0x3a, 0x75,
1280 0x71, 0x23, 0xe9, 0x87, 0x0f, 0x8a, 0xcf, 0x10,
1281 0x00, 0x02, 0x08, 0x87, 0x89, 0x14, 0x29, 0xca,
1282
1283 0x2a, 0x3e, 0x7a, 0x7d, 0x7d, 0xf7, 0xb1, 0x03,
1284 0x55, 0x16, 0x5c, 0x8b, 0x9a, 0x6d, 0x0a, 0x7d,
1285 0xe8, 0xb0, 0x62, 0xc4, 0x50, 0x0d, 0xc4, 0xcd,
1286 0x12, 0x0c, 0x0f, 0x74, 0x18, 0xda, 0xe3, 0xd0,
1287
1288 0xb5, 0x78, 0x1c, 0x34, 0x80, 0x3f, 0xa7, 0x54,
1289 0x21, 0xc7, 0x90, 0xdf, 0xe1, 0xde, 0x18, 0x34,
1290 0xf2, 0x80, 0xd7, 0x66, 0x7b, 0x32, 0x7f, 0x6c,
1291 0x8c, 0xd7, 0x55, 0x7e, 0x12, 0xac, 0x3a, 0x0f,
1292
1293 0x93, 0xec, 0x05, 0xc5, 0x2e, 0x04, 0x93, 0xef,
1294 0x31, 0xa1, 0x2d, 0x3d, 0x92, 0x60, 0xf7, 0x9a,
1295 0x28, 0x9d, 0x6a, 0x37, 0x9b, 0xc7, 0x0c, 0x50,
1296 0x84, 0x14, 0x73, 0xd1, 0xa8, 0xcc, 0x81, 0xec,
1297
1298 0x58, 0x3e, 0x96, 0x45, 0xe0, 0x7b, 0x8d, 0x96,
1299 0x70, 0x65, 0x5b, 0xa5, 0xbb, 0xcf, 0xec, 0xc6,
1300 0xdc, 0x39, 0x66, 0x38, 0x0a, 0xd8, 0xfe, 0xcb,
1301 0x17, 0xb6, 0xba, 0x02, 0x46, 0x9a, 0x02, 0x0a,
1302
1303 0x84, 0xe1, 0x8e, 0x8f, 0x84, 0x25, 0x20, 0x70,
1304 0xc1, 0x3e, 0x9f, 0x1f, 0x28, 0x9b, 0xe5, 0x4f,
1305 0xbc, 0x48, 0x14, 0x57, 0x77, 0x8f, 0x61, 0x60,
1306 0x15, 0xe1, 0x32, 0x7a, 0x02, 0xb1, 0x40, 0xf1,
1307
1308 0x50, 0x5e, 0xb3, 0x09, 0x32, 0x6d, 0x68, 0x37,
1309 0x8f, 0x83, 0x74, 0x59, 0x5c, 0x84, 0x9d, 0x84,
1310 0xf4, 0xc3, 0x33, 0xec, 0x44, 0x23, 0x88, 0x51,
1311 0x43, 0xcb, 0x47, 0xbd, 0x71, 0xc5, 0xed, 0xae,
1312
1313 0x9b, 0xe6, 0x9a, 0x2f, 0xfe, 0xce, 0xb1, 0xbe,
1314 0xc9, 0xde, 0x24, 0x4f, 0xbe, 0x15, 0x99, 0x2b,
1315 0x11, 0xb7, 0x7c, 0x04, 0x0f, 0x12, 0xbd, 0x8f,
1316 0x6a, 0x97, 0x5a, 0x44, 0xa0, 0xf9, 0x0c, 0x29,
1317
1318 0xa9, 0xab, 0xc3, 0xd4, 0xd8, 0x93, 0x92, 0x72,
1319 0x84, 0xc5, 0x87, 0x54, 0xcc, 0xe2, 0x94, 0x52,
1320 0x9f, 0x86, 0x14, 0xdc, 0xd2, 0xab, 0xa9, 0x91,
1321 0x92, 0x5f, 0xed, 0xc4, 0xae, 0x74, 0xff, 0xac,
1322
1323 0x6e, 0x33, 0x3b, 0x93, 0xeb, 0x4a, 0xff, 0x04,
1324 0x79, 0xda, 0x9a, 0x41, 0x0e, 0x44, 0x50, 0xe0,
1325 0xdd, 0x7a, 0xe4, 0xc6, 0xe2, 0x91, 0x09, 0x00,
1326 0x57, 0x5d, 0xa4, 0x01, 0xfc, 0x07, 0x05, 0x9f,
1327
1328 0x64, 0x5e, 0x8b, 0x7e, 0x9b, 0xfd, 0xef, 0x33,
1329 0x94, 0x30, 0x54, 0xff, 0x84, 0x01, 0x14, 0x93,
1330 0xc2, 0x7b, 0x34, 0x29, 0xea, 0xed, 0xb4, 0xed,
1331 0x53, 0x76, 0x44, 0x1a, 0x77, 0xed, 0x43, 0x85,
1332
1333 0x1a, 0xd7, 0x7f, 0x16, 0xf5, 0x41, 0xdf, 0xd2,
1334 0x69, 0xd5, 0x0d, 0x6a, 0x5f, 0x14, 0xfb, 0x0a,
1335 0xab, 0x1c, 0xbb, 0x4c, 0x15, 0x50, 0xbe, 0x97,
1336 0xf7, 0xab, 0x40, 0x66, 0x19, 0x3c, 0x4c, 0xaa,
1337
1338 0x77, 0x3d, 0xad, 0x38, 0x01, 0x4b, 0xd2, 0x09,
1339 0x2f, 0xa7, 0x55, 0xc8, 0x24, 0xbb, 0x5e, 0x54,
1340 0xc4, 0xf3, 0x6f, 0xfd, 0xa9, 0xfc, 0xea, 0x70,
1341 0xb9, 0xc6, 0xe6, 0x93, 0xe1, 0x48, 0xc1, 0x51,
1342};
1343
1344/* Vector 11 */
1345static const uint8_t ciph_data_aes_xts_vect11_key1[] = {
1346 0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45,
1347 0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26,
1348 0x62, 0x49, 0x77, 0x57, 0x24, 0x70, 0x93, 0x69,
1349 0x99, 0x59, 0x57, 0x49, 0x66, 0x96, 0x76, 0x27,
1350};
1351static const uint8_t ciph_data_aes_xts_vect11_key2[] = {
1352 0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93,
1353 0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95,
1354 0x02, 0x88, 0x41, 0x97, 0x16, 0x93, 0x99, 0x37,
1355 0x51, 0x05, 0x82, 0x09, 0x74, 0x94, 0x45, 0x92,
1356};
1357static const uint8_t ciph_data_aes_xts_vect11_iv[16] = {
1358 0xff, 0xff
1359};
1360static const uint8_t ciph_data_aes_xts_vect11_ptx[] = {
1361 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1362 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
1363 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
1364 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
1365
1366 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
1367 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
1368 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
1369 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
1370
1371 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
1372 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
1373 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
1374 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
1375
1376 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
1377 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
1378 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
1379 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
1380
1381 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
1382 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
1383 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
1384 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
1385
1386 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
1387 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
1388 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
1389 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
1390
1391 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
1392 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
1393 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
1394 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
1395
1396 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
1397 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
1398 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
1399 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
1400
1401 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1402 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
1403 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
1404 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
1405
1406 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
1407 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
1408 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
1409 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
1410
1411 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
1412 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
1413 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
1414 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
1415
1416 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
1417 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
1418 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
1419 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
1420
1421 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
1422 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
1423 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
1424 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
1425
1426 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
1427 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
1428 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
1429 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
1430
1431 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
1432 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
1433 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
1434 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
1435
1436 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
1437 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
1438 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
1439 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
1440};
1441static const uint8_t ciph_data_aes_xts_vect11_ctx[] = {
1442 0x77, 0xa3, 0x12, 0x51, 0x61, 0x8a, 0x15, 0xe6,
1443 0xb9, 0x2d, 0x1d, 0x66, 0xdf, 0xfe, 0x7b, 0x50,
1444 0xb5, 0x0b, 0xad, 0x55, 0x23, 0x05, 0xba, 0x02,
1445 0x17, 0xa6, 0x10, 0x68, 0x8e, 0xff, 0x7e, 0x11,
1446
1447 0xe1, 0xd0, 0x22, 0x54, 0x38, 0xe0, 0x93, 0x24,
1448 0x2d, 0x6d, 0xb2, 0x74, 0xfd, 0xe8, 0x01, 0xd4,
1449 0xca, 0xe0, 0x6f, 0x20, 0x92, 0xc7, 0x28, 0xb2,
1450 0x47, 0x85, 0x59, 0xdf, 0x58, 0xe8, 0x37, 0xc2,
1451
1452 0x46, 0x9e, 0xe4, 0xa4, 0xfa, 0x79, 0x4e, 0x4b,
1453 0xbc, 0x7f, 0x39, 0xbc, 0x02, 0x6e, 0x3c, 0xb7,
1454 0x2c, 0x33, 0xb0, 0x88, 0x8f, 0x25, 0xb4, 0xac,
1455 0xf5, 0x6a, 0x2a, 0x98, 0x04, 0xf1, 0xce, 0x6d,
1456
1457 0x3d, 0x6e, 0x1d, 0xc6, 0xca, 0x18, 0x1d, 0x4b,
1458 0x54, 0x61, 0x79, 0xd5, 0x55, 0x44, 0xaa, 0x77,
1459 0x60, 0xc4, 0x0d, 0x06, 0x74, 0x15, 0x39, 0xc7,
1460 0xe3, 0xcd, 0x9d, 0x2f, 0x66, 0x50, 0xb2, 0x01,
1461
1462 0x3f, 0xd0, 0xee, 0xb8, 0xc2, 0xb8, 0xe3, 0xd8,
1463 0xd2, 0x40, 0xcc, 0xae, 0x2d, 0x4c, 0x98, 0x32,
1464 0x0a, 0x74, 0x42, 0xe1, 0xc8, 0xd7, 0x5a, 0x42,
1465 0xd6, 0xe6, 0xcf, 0xa4, 0xc2, 0xec, 0xa1, 0x79,
1466
1467 0x8d, 0x15, 0x8c, 0x7a, 0xec, 0xdf, 0x82, 0x49,
1468 0x0f, 0x24, 0xbb, 0x9b, 0x38, 0xe1, 0x08, 0xbc,
1469 0xda, 0x12, 0xc3, 0xfa, 0xf9, 0xa2, 0x11, 0x41,
1470 0xc3, 0x61, 0x3b, 0x58, 0x36, 0x7f, 0x92, 0x2a,
1471
1472 0xaa, 0x26, 0xcd, 0x22, 0xf2, 0x3d, 0x70, 0x8d,
1473 0xae, 0x69, 0x9a, 0xd7, 0xcb, 0x40, 0xa8, 0xad,
1474 0x0b, 0x6e, 0x27, 0x84, 0x97, 0x3d, 0xcb, 0x60,
1475 0x56, 0x84, 0xc0, 0x8b, 0x8d, 0x69, 0x98, 0xc6,
1476
1477 0x9a, 0xac, 0x04, 0x99, 0x21, 0x87, 0x1e, 0xbb,
1478 0x65, 0x30, 0x1a, 0x46, 0x19, 0xca, 0x80, 0xec,
1479 0xb4, 0x85, 0xa3, 0x1d, 0x74, 0x42, 0x23, 0xce,
1480 0x8d, 0xdc, 0x23, 0x94, 0x82, 0x8d, 0x6a, 0x80,
1481
1482 0x47, 0x0c, 0x09, 0x2f, 0x5b, 0xa4, 0x13, 0xc3,
1483 0x37, 0x8f, 0xa6, 0x05, 0x42, 0x55, 0xc6, 0xf9,
1484 0xdf, 0x44, 0x95, 0x86, 0x2b, 0xbb, 0x32, 0x87,
1485 0x68, 0x1f, 0x93, 0x1b, 0x68, 0x7c, 0x88, 0x8a,
1486
1487 0xbf, 0x84, 0x4d, 0xfc, 0x8f, 0xc2, 0x83, 0x31,
1488 0xe5, 0x79, 0x92, 0x8c, 0xd1, 0x2b, 0xd2, 0x39,
1489 0x0a, 0xe1, 0x23, 0xcf, 0x03, 0x81, 0x8d, 0x14,
1490 0xde, 0xdd, 0xe5, 0xc0, 0xc2, 0x4c, 0x8a, 0xb0,
1491
1492 0x18, 0xbf, 0xca, 0x75, 0xca, 0x09, 0x6f, 0x2d,
1493 0x53, 0x1f, 0x3d, 0x16, 0x19, 0xe7, 0x85, 0xf1,
1494 0xad, 0xa4, 0x37, 0xca, 0xb9, 0x2e, 0x98, 0x05,
1495 0x58, 0xb3, 0xdc, 0xe1, 0x47, 0x4a, 0xfb, 0x75,
1496
1497 0xbf, 0xed, 0xbf, 0x8f, 0xf5, 0x4c, 0xb2, 0x61,
1498 0x8e, 0x02, 0x44, 0xc9, 0xac, 0x0d, 0x3c, 0x66,
1499 0xfb, 0x51, 0x59, 0x8c, 0xd2, 0xdb, 0x11, 0xf9,
1500 0xbe, 0x39, 0x79, 0x1a, 0xbe, 0x44, 0x7c, 0x63,
1501
1502 0x09, 0x4f, 0x7c, 0x45, 0x3b, 0x7f, 0xf8, 0x7c,
1503 0xb5, 0xbb, 0x36, 0xb7, 0xc7, 0x9e, 0xfb, 0x08,
1504 0x72, 0xd1, 0x70, 0x58, 0xb8, 0x3b, 0x15, 0xab,
1505 0x08, 0x66, 0xad, 0x8a, 0x58, 0x65, 0x6c, 0x5a,
1506
1507 0x7e, 0x20, 0xdb, 0xdf, 0x30, 0x8b, 0x24, 0x61,
1508 0xd9, 0x7c, 0x0e, 0xc0, 0x02, 0x4a, 0x27, 0x15,
1509 0x05, 0x52, 0x49, 0xcf, 0x3b, 0x47, 0x8d, 0xdd,
1510 0x47, 0x40, 0xde, 0x65, 0x4f, 0x75, 0xca, 0x68,
1511
1512 0x6e, 0x0d, 0x73, 0x45, 0xc6, 0x9e, 0xd5, 0x0c,
1513 0xdc, 0x2a, 0x8b, 0x33, 0x2b, 0x1f, 0x88, 0x24,
1514 0x10, 0x8a, 0xc9, 0x37, 0xeb, 0x05, 0x05, 0x85,
1515 0x60, 0x8e, 0xe7, 0x34, 0x09, 0x7f, 0xc0, 0x90,
1516
1517 0x54, 0xfb, 0xff, 0x89, 0xee, 0xae, 0xea, 0x79,
1518 0x1f, 0x4a, 0x7a, 0xb1, 0xf9, 0x86, 0x82, 0x94,
1519 0xa4, 0xf9, 0xe2, 0x7b, 0x42, 0xaf, 0x81, 0x00,
1520 0xcb, 0x9d, 0x59, 0xce, 0xf9, 0x64, 0x58, 0x03,
1521};
1522
1523
1524/* Vector 12 */
1525static const uint8_t ciph_data_aes_xts_vect12_key1[] = {
1526 0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45,
1527 0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26,
1528 0x62, 0x49, 0x77, 0x57, 0x24, 0x70, 0x93, 0x69,
1529 0x99, 0x59, 0x57, 0x49, 0x66, 0x96, 0x76, 0x27,
1530};
1531static const uint8_t ciph_data_aes_xts_vect12_key2[] = {
1532 0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93,
1533 0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95,
1534 0x02, 0x88, 0x41, 0x97, 0x16, 0x93, 0x99, 0x37,
1535 0x51, 0x05, 0x82, 0x09, 0x74, 0x94, 0x45, 0x92,
1536};
1537static const uint8_t ciph_data_aes_xts_vect12_iv[16] = {
1538 0xff, 0xff, 0xff
1539};
1540static const uint8_t ciph_data_aes_xts_vect12_ptx[] = {
1541 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1542 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
1543 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
1544 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
1545
1546 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
1547 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
1548 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
1549 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
1550
1551 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
1552 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
1553 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
1554 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
1555
1556 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
1557 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
1558 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
1559 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
1560
1561 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
1562 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
1563 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
1564 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
1565
1566 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
1567 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
1568 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
1569 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
1570
1571 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
1572 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
1573 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
1574 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
1575
1576 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
1577 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
1578 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
1579 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
1580
1581 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1582 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
1583 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
1584 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
1585
1586 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
1587 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
1588 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
1589 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
1590
1591 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
1592 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
1593 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
1594 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
1595
1596 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
1597 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
1598 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
1599 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
1600
1601 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
1602 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
1603 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
1604 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
1605
1606 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
1607 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
1608 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
1609 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
1610
1611 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
1612 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
1613 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
1614 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
1615
1616 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
1617 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
1618 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
1619 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
1620};
1621static const uint8_t ciph_data_aes_xts_vect12_ctx[] = {
1622 0xe3, 0x87, 0xaa, 0xa5, 0x8b, 0xa4, 0x83, 0xaf,
1623 0xa7, 0xe8, 0xeb, 0x46, 0x97, 0x78, 0x31, 0x7e,
1624 0xcf, 0x4c, 0xf5, 0x73, 0xaa, 0x9d, 0x4e, 0xac,
1625 0x23, 0xf2, 0xcd, 0xf9, 0x14, 0xe4, 0xe2, 0x00,
1626
1627 0xa8, 0xb4, 0x90, 0xe4, 0x2e, 0xe6, 0x46, 0x80,
1628 0x2d, 0xc6, 0xee, 0x2b, 0x47, 0x1b, 0x27, 0x81,
1629 0x95, 0xd6, 0x09, 0x18, 0xec, 0xec, 0xb4, 0x4b,
1630 0xf7, 0x99, 0x66, 0xf8, 0x3f, 0xab, 0xa0, 0x49,
1631
1632 0x92, 0x98, 0xeb, 0xc6, 0x99, 0xc0, 0xc8, 0x63,
1633 0x47, 0x15, 0xa3, 0x20, 0xbb, 0x4f, 0x07, 0x5d,
1634 0x62, 0x2e, 0x74, 0xc8, 0xc9, 0x32, 0x00, 0x4f,
1635 0x25, 0xb4, 0x1e, 0x36, 0x10, 0x25, 0xb5, 0xa8,
1636
1637 0x78, 0x15, 0x39, 0x1f, 0x61, 0x08, 0xfc, 0x4a,
1638 0xfa, 0x6a, 0x05, 0xd9, 0x30, 0x3c, 0x6b, 0xa6,
1639 0x8a, 0x12, 0x8a, 0x55, 0x70, 0x5d, 0x41, 0x59,
1640 0x85, 0x83, 0x2f, 0xde, 0xaa, 0xe6, 0xc8, 0xe1,
1641
1642 0x91, 0x10, 0xe8, 0x4d, 0x1b, 0x1f, 0x19, 0x9a,
1643 0x26, 0x92, 0x11, 0x9e, 0xdc, 0x96, 0x13, 0x26,
1644 0x58, 0xf0, 0x9d, 0xa7, 0xc6, 0x23, 0xef, 0xce,
1645 0xc7, 0x12, 0x53, 0x7a, 0x3d, 0x94, 0xc0, 0xbf,
1646
1647 0x5d, 0x7e, 0x35, 0x2e, 0xc9, 0x4a, 0xe5, 0x79,
1648 0x7f, 0xdb, 0x37, 0x7d, 0xc1, 0x55, 0x11, 0x50,
1649 0x72, 0x1a, 0xdf, 0x15, 0xbd, 0x26, 0xa8, 0xef,
1650 0xc2, 0xfc, 0xaa, 0xd5, 0x68, 0x81, 0xfa, 0x9e,
1651
1652 0x62, 0x46, 0x2c, 0x28, 0xf3, 0x0a, 0xe1, 0xce,
1653 0xac, 0xa9, 0x3c, 0x34, 0x5c, 0xf2, 0x43, 0xb7,
1654 0x3f, 0x54, 0x2e, 0x20, 0x74, 0xa7, 0x05, 0xbd,
1655 0x26, 0x43, 0xbb, 0x9f, 0x7c, 0xc7, 0x9b, 0xb6,
1656
1657 0xe7, 0x09, 0x1e, 0xa6, 0xe2, 0x32, 0xdf, 0x0f,
1658 0x9a, 0xd0, 0xd6, 0xcf, 0x50, 0x23, 0x27, 0x87,
1659 0x6d, 0x82, 0x20, 0x7a, 0xbf, 0x21, 0x15, 0xcd,
1660 0xac, 0xf6, 0xd5, 0xa4, 0x8f, 0x6c, 0x18, 0x79,
1661
1662 0xa6, 0x5b, 0x11, 0x5f, 0x0f, 0x8b, 0x3c, 0xb3,
1663 0xc5, 0x9d, 0x15, 0xdd, 0x8c, 0x76, 0x9b, 0xc0,
1664 0x14, 0x79, 0x5a, 0x18, 0x37, 0xf3, 0x90, 0x1b,
1665 0x58, 0x45, 0xeb, 0x49, 0x1a, 0xdf, 0xef, 0xe0,
1666
1667 0x97, 0xb1, 0xfa, 0x30, 0xa1, 0x2f, 0xc1, 0xf6,
1668 0x5b, 0xa2, 0x29, 0x05, 0x03, 0x15, 0x39, 0x97,
1669 0x1a, 0x10, 0xf2, 0xf3, 0x6c, 0x32, 0x1b, 0xb5,
1670 0x13, 0x31, 0xcd, 0xef, 0xb3, 0x9e, 0x39, 0x64,
1671
1672 0xc7, 0xef, 0x07, 0x99, 0x94, 0xf5, 0xb6, 0x9b,
1673 0x2e, 0xdd, 0x83, 0xa7, 0x1e, 0xf5, 0x49, 0x97,
1674 0x1e, 0xe9, 0x3f, 0x44, 0xea, 0xc3, 0x93, 0x8f,
1675 0xcd, 0xd6, 0x1d, 0x01, 0xfa, 0x71, 0x79, 0x9d,
1676
1677 0xa3, 0xa8, 0x09, 0x1c, 0x4c, 0x48, 0xaa, 0x9e,
1678 0xd2, 0x63, 0xff, 0x07, 0x49, 0xdf, 0x95, 0xd4,
1679 0x4f, 0xef, 0x6a, 0x0b, 0xb5, 0x78, 0xec, 0x69,
1680 0x45, 0x6a, 0xa5, 0x40, 0x8a, 0xe3, 0x2c, 0x7a,
1681
1682 0xf0, 0x8a, 0xd7, 0xba, 0x89, 0x21, 0x28, 0x7e,
1683 0x3b, 0xbe, 0xe3, 0x1b, 0x76, 0x7b, 0xe0, 0x6a,
1684 0x0e, 0x70, 0x5c, 0x86, 0x4a, 0x76, 0x91, 0x37,
1685 0xdf, 0x28, 0x29, 0x22, 0x83, 0xea, 0x81, 0xa2,
1686
1687 0x48, 0x02, 0x41, 0xb4, 0x4d, 0x99, 0x21, 0xcd,
1688 0xbe, 0xc1, 0xbc, 0x28, 0xdc, 0x1f, 0xda, 0x11,
1689 0x4b, 0xd8, 0xe5, 0x21, 0x7a, 0xc9, 0xd8, 0xeb,
1690 0xaf, 0xa7, 0x20, 0xe9, 0xda, 0x4f, 0x9a, 0xce,
1691
1692 0x23, 0x1c, 0xc9, 0x49, 0xe5, 0xb9, 0x6f, 0xe7,
1693 0x6f, 0xfc, 0x21, 0x06, 0x3f, 0xdd, 0xc8, 0x3a,
1694 0x6b, 0x86, 0x79, 0xc0, 0x0d, 0x35, 0xe0, 0x95,
1695 0x76, 0xa8, 0x75, 0x30, 0x5b, 0xed, 0x5f, 0x36,
1696
1697 0xed, 0x24, 0x2c, 0x89, 0x00, 0xdd, 0x1f, 0xa9,
1698 0x65, 0xbc, 0x95, 0x0d, 0xfc, 0xe0, 0x9b, 0x13,
1699 0x22, 0x63, 0xa1, 0xee, 0xf5, 0x2d, 0xd6, 0x88,
1700 0x8c, 0x30, 0x9f, 0x5a, 0x7d, 0x71, 0x28, 0x26,
1701};
1702
1703/* Vector 13 */
1704static const uint8_t ciph_data_aes_xts_vect13_key1[] = {
1705 0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45,
1706 0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26,
1707 0x62, 0x49, 0x77, 0x57, 0x24, 0x70, 0x93, 0x69,
1708 0x99, 0x59, 0x57, 0x49, 0x66, 0x96, 0x76, 0x27,
1709};
1710static const uint8_t ciph_data_aes_xts_vect13_key2[] = {
1711 0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93,
1712 0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95,
1713 0x02, 0x88, 0x41, 0x97, 0x16, 0x93, 0x99, 0x37,
1714 0x51, 0x05, 0x82, 0x09, 0x74, 0x94, 0x45, 0x92,
1715};
1716static const uint8_t ciph_data_aes_xts_vect13_iv[16] = {
1717 0xff, 0xff, 0xff, 0xff
1718};
1719static const uint8_t ciph_data_aes_xts_vect13_ptx[] = {
1720 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1721 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
1722 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
1723 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
1724
1725 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
1726 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
1727 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
1728 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
1729
1730 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
1731 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
1732 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
1733 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
1734
1735 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
1736 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
1737 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
1738 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
1739
1740 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
1741 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
1742 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
1743 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
1744
1745 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
1746 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
1747 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
1748 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
1749
1750 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
1751 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
1752 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
1753 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
1754
1755 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
1756 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
1757 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
1758 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
1759
1760 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1761 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
1762 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
1763 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
1764
1765 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
1766 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
1767 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
1768 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
1769
1770 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
1771 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
1772 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
1773 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
1774
1775 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
1776 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
1777 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
1778 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
1779
1780 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
1781 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
1782 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
1783 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
1784
1785 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
1786 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
1787 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
1788 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
1789
1790 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
1791 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
1792 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
1793 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
1794
1795 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
1796 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
1797 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
1798 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
1799};
1800static const uint8_t ciph_data_aes_xts_vect13_ctx[] = {
1801 0xbf, 0x53, 0xd2, 0xda, 0xde, 0x78, 0xe8, 0x22,
1802 0xa4, 0xd9, 0x49, 0xa9, 0xbc, 0x67, 0x66, 0xb0,
1803 0x1b, 0x06, 0xa8, 0xef, 0x70, 0xd2, 0x67, 0x48,
1804 0xc6, 0xa7, 0xfc, 0x36, 0xd8, 0x0a, 0xe4, 0xc5,
1805
1806 0x52, 0x0f, 0x7c, 0x4a, 0xb0, 0xac, 0x85, 0x44,
1807 0x42, 0x4f, 0xa4, 0x05, 0x16, 0x2f, 0xef, 0x5a,
1808 0x6b, 0x7f, 0x22, 0x94, 0x98, 0x06, 0x36, 0x18,
1809 0xd3, 0x9f, 0x00, 0x03, 0xcb, 0x5f, 0xb8, 0xd1,
1810
1811 0xc8, 0x6b, 0x64, 0x34, 0x97, 0xda, 0x1f, 0xf9,
1812 0x45, 0xc8, 0xd3, 0xbe, 0xde, 0xca, 0x4f, 0x47,
1813 0x97, 0x02, 0xa7, 0xa7, 0x35, 0xf0, 0x43, 0xdd,
1814 0xb1, 0xd6, 0xaa, 0xad, 0xe3, 0xc4, 0xa0, 0xac,
1815
1816 0x7c, 0xa7, 0xf3, 0xfa, 0x52, 0x79, 0xbe, 0xf5,
1817 0x6f, 0x82, 0xcd, 0x7a, 0x2f, 0x38, 0x67, 0x2e,
1818 0x82, 0x48, 0x14, 0xe1, 0x07, 0x00, 0x30, 0x0a,
1819 0x05, 0x5e, 0x16, 0x30, 0xb8, 0xf1, 0xcb, 0x0e,
1820
1821 0x91, 0x9f, 0x5e, 0x94, 0x20, 0x10, 0xa4, 0x16,
1822 0xe2, 0xbf, 0x48, 0xcb, 0x46, 0x99, 0x3d, 0x3c,
1823 0xb6, 0xa5, 0x1c, 0x19, 0xba, 0xcf, 0x86, 0x47,
1824 0x85, 0xa0, 0x0b, 0xc2, 0xec, 0xff, 0x15, 0xd3,
1825
1826 0x50, 0x87, 0x5b, 0x24, 0x6e, 0xd5, 0x3e, 0x68,
1827 0xbe, 0x6f, 0x55, 0xbd, 0x7e, 0x05, 0xcf, 0xc2,
1828 0xb2, 0xed, 0x64, 0x32, 0x19, 0x8a, 0x64, 0x44,
1829 0xb6, 0xd8, 0xc2, 0x47, 0xfa, 0xb9, 0x41, 0xf5,
1830
1831 0x69, 0x76, 0x8b, 0x5c, 0x42, 0x93, 0x66, 0xf1,
1832 0xd3, 0xf0, 0x0f, 0x03, 0x45, 0xb9, 0x61, 0x23,
1833 0xd5, 0x62, 0x04, 0xc0, 0x1c, 0x63, 0xb2, 0x2c,
1834 0xe7, 0x8b, 0xaf, 0x11, 0x6e, 0x52, 0x5e, 0xd9,
1835
1836 0x0f, 0xde, 0xa3, 0x9f, 0xa4, 0x69, 0x49, 0x4d,
1837 0x38, 0x66, 0xc3, 0x1e, 0x05, 0xf2, 0x95, 0xff,
1838 0x21, 0xfe, 0xa8, 0xd4, 0xe6, 0xe1, 0x3d, 0x67,
1839 0xe4, 0x7c, 0xe7, 0x22, 0xe9, 0x69, 0x8a, 0x1c,
1840
1841 0x10, 0x48, 0xd6, 0x8e, 0xbc, 0xde, 0x76, 0xb8,
1842 0x6f, 0xcf, 0x97, 0x6e, 0xab, 0x8a, 0xa9, 0x79,
1843 0x02, 0x68, 0xb7, 0x06, 0x8e, 0x01, 0x7a, 0x8b,
1844 0x9b, 0x74, 0x94, 0x09, 0x51, 0x4f, 0x10, 0x53,
1845
1846 0x02, 0x7f, 0xd1, 0x6c, 0x37, 0x86, 0xea, 0x1b,
1847 0xac, 0x5f, 0x15, 0xcb, 0x79, 0x71, 0x1e, 0xe2,
1848 0xab, 0xe8, 0x2f, 0x5c, 0xf8, 0xb1, 0x3a, 0xe7,
1849 0x30, 0x30, 0xef, 0x5b, 0x9e, 0x44, 0x57, 0xe7,
1850
1851 0x5d, 0x13, 0x04, 0xf9, 0x88, 0xd6, 0x2d, 0xd6,
1852 0xfc, 0x4b, 0x94, 0xed, 0x38, 0xba, 0x83, 0x1d,
1853 0xa4, 0xb7, 0x63, 0x49, 0x71, 0xb6, 0xcd, 0x8e,
1854 0xc3, 0x25, 0xd9, 0xc6, 0x1c, 0x00, 0xf1, 0xdf,
1855
1856 0x73, 0x62, 0x7e, 0xd3, 0x74, 0x5a, 0x5e, 0x84,
1857 0x89, 0xf3, 0xa9, 0x5c, 0x69, 0x63, 0x9c, 0x32,
1858 0xcd, 0x6e, 0x1d, 0x53, 0x7a, 0x85, 0xf7, 0x5c,
1859 0xc8, 0x44, 0x72, 0x6e, 0x8a, 0x72, 0xfc, 0x00,
1860
1861 0x77, 0xad, 0x22, 0x00, 0x0f, 0x1d, 0x50, 0x78,
1862 0xf6, 0xb8, 0x66, 0x31, 0x8c, 0x66, 0x8f, 0x1a,
1863 0xd0, 0x3d, 0x5a, 0x5f, 0xce, 0xd5, 0x21, 0x9f,
1864 0x2e, 0xab, 0xbd, 0x0a, 0xa5, 0xc0, 0xf4, 0x60,
1865
1866 0xd1, 0x83, 0xf0, 0x44, 0x04, 0xa0, 0xd6, 0xf4,
1867 0x69, 0x55, 0x8e, 0x81, 0xfa, 0xb2, 0x4a, 0x16,
1868 0x79, 0x05, 0xab, 0x4c, 0x78, 0x78, 0x50, 0x2a,
1869 0xd3, 0xe3, 0x8f, 0xdb, 0xe6, 0x2a, 0x41, 0x55,
1870
1871 0x6c, 0xec, 0x37, 0x32, 0x57, 0x59, 0x53, 0x3c,
1872 0xe8, 0xf2, 0x5f, 0x36, 0x7c, 0x87, 0xbb, 0x55,
1873 0x78, 0xd6, 0x67, 0xae, 0x93, 0xf9, 0xe2, 0xfd,
1874 0x99, 0xbc, 0xbc, 0x5f, 0x2f, 0xbb, 0xa8, 0x8c,
1875
1876 0xf6, 0x51, 0x61, 0x39, 0x42, 0x0f, 0xcf, 0xf3,
1877 0xb7, 0x36, 0x1d, 0x86, 0x32, 0x2c, 0x4b, 0xd8,
1878 0x4c, 0x82, 0xf3, 0x35, 0xab, 0xb1, 0x52, 0xc4,
1879 0xa9, 0x34, 0x11, 0x37, 0x3a, 0xaa, 0x82, 0x20,
1880};
1881
1882/* Vector 14 */
1883static const uint8_t ciph_data_aes_xts_vect14_key1[] = {
1884 0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45,
1885 0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26,
1886 0x62, 0x49, 0x77, 0x57, 0x24, 0x70, 0x93, 0x69,
1887 0x99, 0x59, 0x57, 0x49, 0x66, 0x96, 0x76, 0x27,
1888};
1889static const uint8_t ciph_data_aes_xts_vect14_key2[] = {
1890 0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93,
1891 0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95,
1892 0x02, 0x88, 0x41, 0x97, 0x16, 0x93, 0x99, 0x37,
1893 0x51, 0x05, 0x82, 0x09, 0x74, 0x94, 0x45, 0x92,
1894};
1895static const uint8_t ciph_data_aes_xts_vect14_iv[16] = {
1896 0xff, 0xff, 0xff, 0xff, 0xff
1897};
1898static const uint8_t ciph_data_aes_xts_vect14_ptx[] = {
1899 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1900 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
1901 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
1902 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
1903
1904 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
1905 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
1906 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
1907 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
1908
1909 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
1910 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
1911 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
1912 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
1913
1914 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
1915 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
1916 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
1917 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
1918
1919 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
1920 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
1921 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
1922 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
1923
1924 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
1925 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
1926 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
1927 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
1928
1929 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
1930 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
1931 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
1932 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
1933
1934 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
1935 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
1936 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
1937 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
1938
1939 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1940 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
1941 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
1942 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
1943
1944 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
1945 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
1946 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
1947 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
1948
1949 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
1950 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
1951 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
1952 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
1953
1954 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
1955 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
1956 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
1957 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
1958
1959 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
1960 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
1961 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
1962 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
1963
1964 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
1965 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
1966 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
1967 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
1968
1969 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
1970 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
1971 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
1972 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
1973
1974 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
1975 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
1976 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
1977 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
1978};
1979static const uint8_t ciph_data_aes_xts_vect14_ctx[] = {
1980 0x64, 0x49, 0x7e, 0x5a, 0x83, 0x1e, 0x4a, 0x93,
1981 0x2c, 0x09, 0xbe, 0x3e, 0x53, 0x93, 0x37, 0x6d,
1982 0xaa, 0x59, 0x95, 0x48, 0xb8, 0x16, 0x03, 0x1d,
1983 0x22, 0x4b, 0xbf, 0x50, 0xa8, 0x18, 0xed, 0x23,
1984
1985 0x50, 0xea, 0xe7, 0xe9, 0x60, 0x87, 0xc8, 0xa0,
1986 0xdb, 0x51, 0xad, 0x29, 0x0b, 0xd0, 0x0c, 0x1a,
1987 0xc1, 0x62, 0x08, 0x57, 0x63, 0x5b, 0xf2, 0x46,
1988 0xc1, 0x76, 0xab, 0x46, 0x3b, 0xe3, 0x0b, 0x80,
1989
1990 0x8d, 0xa5, 0x48, 0x08, 0x1a, 0xc8, 0x47, 0xb1,
1991 0x58, 0xe1, 0x26, 0x4b, 0xe2, 0x5b, 0xb0, 0x91,
1992 0x0b, 0xbc, 0x92, 0x64, 0x71, 0x08, 0x08, 0x94,
1993 0x15, 0xd4, 0x5f, 0xab, 0x1b, 0x3d, 0x26, 0x04,
1994
1995 0xe8, 0xa8, 0xef, 0xf1, 0xae, 0x40, 0x20, 0xcf,
1996 0xa3, 0x99, 0x36, 0xb6, 0x68, 0x27, 0xb2, 0x3f,
1997 0x37, 0x1b, 0x92, 0x20, 0x0b, 0xe9, 0x02, 0x51,
1998 0xe6, 0xd7, 0x3c, 0x5f, 0x86, 0xde, 0x5f, 0xd4,
1999
2000 0xa9, 0x50, 0x78, 0x19, 0x33, 0xd7, 0x9a, 0x28,
2001 0x27, 0x2b, 0x78, 0x2a, 0x2e, 0xc3, 0x13, 0xef,
2002 0xdf, 0xcc, 0x06, 0x28, 0xf4, 0x3d, 0x74, 0x4c,
2003 0x2d, 0xc2, 0xff, 0x3d, 0xcb, 0x66, 0x99, 0x9b,
2004
2005 0x50, 0xc7, 0xca, 0x89, 0x5b, 0x0c, 0x64, 0x79,
2006 0x1e, 0xea, 0xa5, 0xf2, 0x94, 0x99, 0xfb, 0x1c,
2007 0x02, 0x6f, 0x84, 0xce, 0x5b, 0x5c, 0x72, 0xba,
2008 0x10, 0x83, 0xcd, 0xdb, 0x5c, 0xe4, 0x54, 0x34,
2009
2010 0x63, 0x16, 0x65, 0xc3, 0x33, 0xb6, 0x0b, 0x11,
2011 0x59, 0x3f, 0xb2, 0x53, 0xc5, 0x17, 0x9a, 0x2c,
2012 0x8d, 0xb8, 0x13, 0x78, 0x2a, 0x00, 0x48, 0x56,
2013 0xa1, 0x65, 0x30, 0x11, 0xe9, 0x3f, 0xb6, 0xd8,
2014
2015 0x76, 0xc1, 0x83, 0x66, 0xdd, 0x86, 0x83, 0xf5,
2016 0x34, 0x12, 0xc0, 0xc1, 0x80, 0xf9, 0xc8, 0x48,
2017 0x59, 0x2d, 0x59, 0x3f, 0x86, 0x09, 0xca, 0x73,
2018 0x63, 0x17, 0xd3, 0x56, 0xe1, 0x3e, 0x2b, 0xff,
2019
2020 0x3a, 0x9f, 0x59, 0xcd, 0x9a, 0xeb, 0x19, 0xcd,
2021 0x48, 0x25, 0x93, 0xd8, 0xc4, 0x61, 0x28, 0xbb,
2022 0x32, 0x42, 0x3b, 0x37, 0xa9, 0xad, 0xfb, 0x48,
2023 0x2b, 0x99, 0x45, 0x3f, 0xbe, 0x25, 0xa4, 0x1b,
2024
2025 0xf6, 0xfe, 0xb4, 0xaa, 0x0b, 0xef, 0x5e, 0xd2,
2026 0x4b, 0xf7, 0x3c, 0x76, 0x29, 0x78, 0x02, 0x54,
2027 0x82, 0xc1, 0x31, 0x15, 0xe4, 0x01, 0x5a, 0xac,
2028 0x99, 0x2e, 0x56, 0x13, 0xa3, 0xb5, 0xc2, 0xf6,
2029
2030 0x85, 0xb8, 0x47, 0x95, 0xcb, 0x6e, 0x9b, 0x26,
2031 0x56, 0xd8, 0xc8, 0x81, 0x57, 0xe5, 0x2c, 0x42,
2032 0xf9, 0x78, 0xd8, 0x63, 0x4c, 0x43, 0xd0, 0x6f,
2033 0xea, 0x92, 0x8f, 0x28, 0x22, 0xe4, 0x65, 0xaa,
2034
2035 0x65, 0x76, 0xe9, 0xbf, 0x41, 0x93, 0x84, 0x50,
2036 0x6c, 0xc3, 0xce, 0x3c, 0x54, 0xac, 0x1a, 0x6f,
2037 0x67, 0xdc, 0x66, 0xf3, 0xb3, 0x01, 0x91, 0xe6,
2038 0x98, 0x38, 0x0b, 0xc9, 0x99, 0xb0, 0x5a, 0xbc,
2039
2040 0xe1, 0x9d, 0xc0, 0xc6, 0xdc, 0xc2, 0xdd, 0x00,
2041 0x1e, 0xc5, 0x35, 0xba, 0x18, 0xde, 0xb2, 0xdf,
2042 0x1a, 0x10, 0x10, 0x23, 0x10, 0x83, 0x18, 0xc7,
2043 0x5d, 0xc9, 0x86, 0x11, 0xa0, 0x9d, 0xc4, 0x8a,
2044
2045 0x0a, 0xcd, 0xec, 0x67, 0x6f, 0xab, 0xdf, 0x22,
2046 0x2f, 0x07, 0xe0, 0x26, 0xf0, 0x59, 0xb6, 0x72,
2047 0xb5, 0x6e, 0x5c, 0xbc, 0x8e, 0x1d, 0x21, 0xbb,
2048 0xd8, 0x67, 0xdd, 0x92, 0x72, 0x12, 0x05, 0x46,
2049
2050 0x81, 0xd7, 0x0e, 0xa7, 0x37, 0x13, 0x4c, 0xdf,
2051 0xce, 0x93, 0xb6, 0xf8, 0x2a, 0xe2, 0x24, 0x23,
2052 0x27, 0x4e, 0x58, 0xa0, 0x82, 0x1c, 0xc5, 0x50,
2053 0x2e, 0x2d, 0x0a, 0xb4, 0x58, 0x5e, 0x94, 0xde,
2054
2055 0x69, 0x75, 0xbe, 0x5e, 0x0b, 0x4e, 0xfc, 0xe5,
2056 0x1c, 0xd3, 0xe7, 0x0c, 0x25, 0xa1, 0xfb, 0xbb,
2057 0xd6, 0x09, 0xd2, 0x73, 0xad, 0x5b, 0x0d, 0x59,
2058 0x63, 0x1c, 0x53, 0x1f, 0x6a, 0x0a, 0x57, 0xb9,
2059};
2060
2061/*
2062 * XTS-AES-128 applied for a data unit that is not a multiple of 16 bytes
2063 */
2064
2065/* Vector 15 */
2066static const uint8_t ciph_data_aes_xts_vect15_key1[] = {
2067 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
2068 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
2069};
2070static const uint8_t ciph_data_aes_xts_vect15_key2[] = {
2071 0xbf, 0xbe, 0xbd, 0xbc, 0xbb, 0xba, 0xb9, 0xb8,
2072 0xb7, 0xb6, 0xb5, 0xb4, 0xb3, 0xb2, 0xb1, 0xb0,
2073};
2074static const uint8_t ciph_data_aes_xts_vect15_iv[16] = {
2075 0x9a, 0x78, 0x56, 0x34, 0x12
2076};
2077static const uint8_t ciph_data_aes_xts_vect15_ptx[] = {
2078 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2079 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
2080 0x10
2081};
2082static const uint8_t ciph_data_aes_xts_vect15_ctx[] = {
2083 0x6c, 0x16, 0x25, 0xdb, 0x46, 0x71, 0x52, 0x2d,
2084 0x3d, 0x75, 0x99, 0x60, 0x1d, 0xe7, 0xca, 0x09,
2085 0xed
2086};
2087
2088/* Vector 16 */
2089static const uint8_t ciph_data_aes_xts_vect16_key1[] = {
2090 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
2091 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
2092};
2093static const uint8_t ciph_data_aes_xts_vect16_key2[] = {
2094 0xbf, 0xbe, 0xbd, 0xbc, 0xbb, 0xba, 0xb9, 0xb8,
2095 0xb7, 0xb6, 0xb5, 0xb4, 0xb3, 0xb2, 0xb1, 0xb0,
2096};
2097static const uint8_t ciph_data_aes_xts_vect16_iv[16] = {
2098 0x9a, 0x78, 0x56, 0x34, 0x12
2099};
2100static const uint8_t ciph_data_aes_xts_vect16_ptx[] = {
2101 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2102 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
2103 0x10, 0x11
2104};
2105static const uint8_t ciph_data_aes_xts_vect16_ctx[] = {
2106 0xd0, 0x69, 0x44, 0x4b, 0x7a, 0x7e, 0x0c, 0xab,
2107 0x09, 0xe2, 0x44, 0x47, 0xd2, 0x4d, 0xeb, 0x1f,
2108 0xed, 0xbf
2109};
2110
2111/* Vector 17 */
2112static const uint8_t ciph_data_aes_xts_vect17_key1[] = {
2113 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
2114 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
2115};
2116static const uint8_t ciph_data_aes_xts_vect17_key2[] = {
2117 0xbf, 0xbe, 0xbd, 0xbc, 0xbb, 0xba, 0xb9, 0xb8,
2118 0xb7, 0xb6, 0xb5, 0xb4, 0xb3, 0xb2, 0xb1, 0xb0,
2119};
2120static const uint8_t ciph_data_aes_xts_vect17_iv[16] = {
2121 0x9a, 0x78, 0x56, 0x34, 0x12
2122};
2123static const uint8_t ciph_data_aes_xts_vect17_ptx[] = {
2124 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2125 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
2126 0x10, 0x11, 0x12
2127};
2128static const uint8_t ciph_data_aes_xts_vect17_ctx[] = {
2129 0xe5, 0xdf, 0x13, 0x51, 0xc0, 0x54, 0x4b, 0xa1,
2130 0x35, 0x0b, 0x33, 0x63, 0xcd, 0x8e, 0xf4, 0xbe,
2131 0xed, 0xbf, 0x9d
2132};
2133
2134/* Vector 18 */
2135static const uint8_t ciph_data_aes_xts_vect18_key1[] = {
2136 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
2137 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
2138};
2139static const uint8_t ciph_data_aes_xts_vect18_key2[] = {
2140 0xbf, 0xbe, 0xbd, 0xbc, 0xbb, 0xba, 0xb9, 0xb8,
2141 0xb7, 0xb6, 0xb5, 0xb4, 0xb3, 0xb2, 0xb1, 0xb0,
2142};
2143static const uint8_t ciph_data_aes_xts_vect18_iv[16] = {
2144 0x9a, 0x78, 0x56, 0x34, 0x12
2145};
2146static const uint8_t ciph_data_aes_xts_vect18_ptx[] = {
2147 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2148 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
2149 0x10, 0x11, 0x12, 0x13
2150};
2151static const uint8_t ciph_data_aes_xts_vect18_ctx[] = {
2152 0x9d, 0x84, 0xc8, 0x13, 0xf7, 0x19, 0xaa, 0x2c,
2153 0x7b, 0xe3, 0xf6, 0x61, 0x71, 0xc7, 0xc5, 0xc2,
2154 0xed, 0xbf, 0x9d, 0xac
2155};
2156
2157/* Vector 19 */
2158static const uint8_t ciph_data_aes_xts_vect19_key1[] = {
2159 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
2160 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
2161};
2162static const uint8_t ciph_data_aes_xts_vect19_key2[] = {
2163 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
2164 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
2165};
2166static const uint8_t ciph_data_aes_xts_vect19_iv[16] = {
2167 0x21, 0x43, 0x65, 0x87, 0xa9
2168};
2169static const uint8_t ciph_data_aes_xts_vect19_ptx[] = {
2170 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2171 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
2172 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
2173 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
2174
2175 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
2176 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
2177 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
2178 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
2179
2180 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
2181 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
2182 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
2183 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
2184
2185 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
2186 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
2187 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
2188 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
2189
2190 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
2191 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
2192 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
2193 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
2194
2195 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
2196 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
2197 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
2198 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
2199
2200 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
2201 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
2202 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
2203 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
2204
2205 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
2206 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
2207 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
2208 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
2209
2210 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2211 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
2212 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
2213 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
2214
2215 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
2216 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
2217 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
2218 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
2219
2220 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
2221 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
2222 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
2223 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
2224
2225 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
2226 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
2227 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
2228 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
2229
2230 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
2231 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
2232 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
2233 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
2234
2235 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
2236 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
2237 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
2238 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
2239
2240 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
2241 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
2242 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
2243 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
2244
2245 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
2246 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
2247 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
2248 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
2249};
2250static const uint8_t ciph_data_aes_xts_vect19_ctx[] = {
2251 0x38, 0xb4, 0x58, 0x12, 0xef, 0x43, 0xa0, 0x5b,
2252 0xd9, 0x57, 0xe5, 0x45, 0x90, 0x7e, 0x22, 0x3b,
2253 0x95, 0x4a, 0xb4, 0xaa, 0xf0, 0x88, 0x30, 0x3a,
2254 0xd9, 0x10, 0xea, 0xdf, 0x14, 0xb4, 0x2b, 0xe6,
2255
2256 0x8b, 0x24, 0x61, 0x14, 0x9d, 0x8c, 0x8b, 0xa8,
2257 0x5f, 0x99, 0x2b, 0xe9, 0x70, 0xbc, 0x62, 0x1f,
2258 0x1b, 0x06, 0x57, 0x3f, 0x63, 0xe8, 0x67, 0xbf,
2259 0x58, 0x75, 0xac, 0xaf, 0xa0, 0x4e, 0x42, 0xcc,
2260
2261 0xbd, 0x7b, 0xd3, 0xc2, 0xa0, 0xfb, 0x1f, 0xff,
2262 0x79, 0x1e, 0xc5, 0xec, 0x36, 0xc6, 0x6a, 0xe4,
2263 0xac, 0x1e, 0x80, 0x6d, 0x81, 0xfb, 0xf7, 0x09,
2264 0xdb, 0xe2, 0x9e, 0x47, 0x1f, 0xad, 0x38, 0x54,
2265
2266 0x9c, 0x8e, 0x66, 0xf5, 0x34, 0x5d, 0x7c, 0x1e,
2267 0xb9, 0x4f, 0x40, 0x5d, 0x1e, 0xc7, 0x85, 0xcc,
2268 0x6f, 0x6a, 0x68, 0xf6, 0x25, 0x4d, 0xd8, 0x33,
2269 0x9f, 0x9d, 0x84, 0x05, 0x7e, 0x01, 0xa1, 0x77,
2270
2271 0x41, 0x99, 0x04, 0x82, 0x99, 0x95, 0x16, 0xb5,
2272 0x61, 0x1a, 0x38, 0xf4, 0x1b, 0xb6, 0x47, 0x8e,
2273 0x6f, 0x17, 0x3f, 0x32, 0x08, 0x05, 0xdd, 0x71,
2274 0xb1, 0x93, 0x2f, 0xc3, 0x33, 0xcb, 0x9e, 0xe3,
2275
2276 0x99, 0x36, 0xbe, 0xea, 0x9a, 0xd9, 0x6f, 0xa1,
2277 0x0f, 0xb4, 0x11, 0x2b, 0x90, 0x17, 0x34, 0xdd,
2278 0xad, 0x40, 0xbc, 0x18, 0x78, 0x99, 0x5f, 0x8e,
2279 0x11, 0xae, 0xe7, 0xd1, 0x41, 0xa2, 0xf5, 0xd4,
2280
2281 0x8b, 0x7a, 0x4e, 0x1e, 0x7f, 0x0b, 0x2c, 0x04,
2282 0x83, 0x0e, 0x69, 0xa4, 0xfd, 0x13, 0x78, 0x41,
2283 0x1c, 0x2f, 0x28, 0x7e, 0xdf, 0x48, 0xc6, 0xc4,
2284 0xe5, 0xc2, 0x47, 0xa1, 0x96, 0x80, 0xf7, 0xfe,
2285
2286 0x41, 0xce, 0xfb, 0xd4, 0x9b, 0x58, 0x21, 0x06,
2287 0xe3, 0x61, 0x6c, 0xbb, 0xe4, 0xdf, 0xb2, 0x34,
2288 0x4b, 0x2a, 0xe9, 0x51, 0x93, 0x91, 0xf3, 0xe0,
2289 0xfb, 0x49, 0x22, 0x25, 0x4b, 0x1d, 0x6d, 0x2d,
2290
2291 0x19, 0xc6, 0xd4, 0xd5, 0x37, 0xb3, 0xa2, 0x6f,
2292 0x3b, 0xcc, 0x51, 0x58, 0x8b, 0x32, 0xf3, 0xec,
2293 0xa0, 0x82, 0x9b, 0x6a, 0x5a, 0xc7, 0x25, 0x78,
2294 0xfb, 0x81, 0x4f, 0xb4, 0x3c, 0xf8, 0x0d, 0x64,
2295
2296 0xa2, 0x33, 0xe3, 0xf9, 0x97, 0xa3, 0xf0, 0x26,
2297 0x83, 0x34, 0x2f, 0x2b, 0x33, 0xd2, 0x5b, 0x49,
2298 0x25, 0x36, 0xb9, 0x3b, 0xec, 0xb2, 0xf5, 0xe1,
2299 0xa8, 0xb8, 0x2f, 0x5b, 0x88, 0x33, 0x42, 0x72,
2300
2301 0x9e, 0x8a, 0xe0, 0x9d, 0x16, 0x93, 0x88, 0x41,
2302 0xa2, 0x1a, 0x97, 0xfb, 0x54, 0x3e, 0xea, 0x3b,
2303 0xbf, 0xf5, 0x9f, 0x13, 0xc1, 0xa1, 0x84, 0x49,
2304 0xe3, 0x98, 0x70, 0x1c, 0x1a, 0xd5, 0x16, 0x48,
2305
2306 0x34, 0x6c, 0xbc, 0x04, 0xc2, 0x7b, 0xb2, 0xda,
2307 0x3b, 0x93, 0xa1, 0x37, 0x2c, 0xca, 0xe5, 0x48,
2308 0xfb, 0x53, 0xbe, 0xe4, 0x76, 0xf9, 0xe9, 0xc9,
2309 0x17, 0x73, 0xb1, 0xbb, 0x19, 0x82, 0x83, 0x94,
2310
2311 0xd5, 0x5d, 0x3e, 0x1a, 0x20, 0xed, 0x69, 0x11,
2312 0x3a, 0x86, 0x0b, 0x68, 0x29, 0xff, 0xa8, 0x47,
2313 0x22, 0x46, 0x04, 0x43, 0x50, 0x70, 0x22, 0x1b,
2314 0x25, 0x7e, 0x8d, 0xff, 0x78, 0x36, 0x15, 0xd2,
2315
2316 0xca, 0xe4, 0x80, 0x3a, 0x93, 0xaa, 0x43, 0x34,
2317 0xab, 0x48, 0x2a, 0x0a, 0xfa, 0xc9, 0xc0, 0xae,
2318 0xda, 0x70, 0xb4, 0x5a, 0x48, 0x1d, 0xf5, 0xde,
2319 0xc5, 0xdf, 0x8c, 0xc0, 0xf4, 0x23, 0xc7, 0x7a,
2320
2321 0x5f, 0xd4, 0x6c, 0xd3, 0x12, 0x02, 0x1d, 0x4b,
2322 0x43, 0x88, 0x62, 0x41, 0x9a, 0x79, 0x1b, 0xe0,
2323 0x3b, 0xb4, 0xd9, 0x7c, 0x0e, 0x59, 0x57, 0x85,
2324 0x42, 0x53, 0x1b, 0xa4, 0x66, 0xa8, 0x3b, 0xaf,
2325
2326 0x92, 0xce, 0xfc, 0x15, 0x1b, 0x5c, 0xc1, 0x61,
2327 0x1a, 0x16, 0x78, 0x93, 0x81, 0x9b, 0x63, 0xfb,
2328 0x8a, 0x6b, 0x18, 0xe8, 0x6d, 0xe6, 0x02, 0x90,
2329 0xfa, 0x72, 0xb7, 0x97, 0xb0, 0xce, 0x59, 0xf3,
2330};
2331
2332/* AES-CCM test data from NIST Special Publication 800-38C */
2333
2334/*
2335 * Example1:
2336 * K: 40414243 44454647 48494a4b 4c4d4e4f
2337 * N: 10111213 141516
2338 * A: 00010203 04050607
2339 * P: 20212223
2340 * B: 4f101112 13141516 00000000 00000004
2341 * 00080001 02030405 06070000 00000000
2342 * 20212223 00000000 00000000 00000000
2343 * T: 6084341b
2344 * Ctr0: 07101112 13141516 00000000 00000000
2345 * S0: 2d281146 10676c26 32bad748 559a679a
2346 * Ctr1: 07101112 13141516 00000000 00000001
2347 * S1: 51432378 e474b339 71318484 103cddfb
2348 * C: 7162015b 4dac255d
2349 */
2350static const uint8_t ae_data_aes_ccm_vect1_key[] = {
2351 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
2352 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f
2353};
2354static const uint8_t ae_data_aes_ccm_vect1_nonce[] = {
2355 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16
2356};
2357static const uint8_t ae_data_aes_ccm_vect1_aad[] = {
2358 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
2359};
2360static const uint8_t ae_data_aes_ccm_vect1_ptx[] = {
2361 0x20, 0x21, 0x22, 0x23
2362};
2363static const uint8_t ae_data_aes_ccm_vect1_ctx[] = {
2364 0x71, 0x62, 0x01, 0x5b,
2365};
2366static const uint8_t ae_data_aes_ccm_vect1_tag[] = {
2367 0x4d, 0xac, 0x25, 0x5d
2368};
2369
2370/*
2371 * Example 2:
2372 * K: 40414243 44454647 48494a4b 4c4d4e4f
2373 * N: 10111213 14151617
2374 * A: 00010203 04050607 08090a0b 0c0d0e0f
2375 * P: 20212223 24252627 28292a2b 2c2d2e2f
2376 * B: 56101112 13141516 17000000 00000010
2377 * 00100001 02030405 06070809 0a0b0c0d
2378 * 0e0f0000 00000000 00000000 00000000
2379 * 20212223 24252627 28292a2b 2c2d2e2f
2380 * T: 7f479ffc a464
2381 * Ctr0: 06101112 13141516 17000000 00000000
2382 * S0: 6081d043 08a97dcc 20cdcc60 bf947b78
2383 * Ctr1: 06101112 13141516 17000000 00000001
2384 * S1: f280d2c3 75cf7945 20335db9 2b107712
2385 * C: d2a1f0e0 51ea5f62 081a7792 073d593d
2386 * 1fc64fbf accd
2387 */
2388static const uint8_t ae_data_aes_ccm_vect2_key[] = {
2389 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
2390 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f
2391};
2392static const uint8_t ae_data_aes_ccm_vect2_nonce[] = {
2393 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17
2394};
2395static const uint8_t ae_data_aes_ccm_vect2_aad[] = {
2396 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2397 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f
2398};
2399static const uint8_t ae_data_aes_ccm_vect2_ptx[] = {
2400 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
2401 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f
2402};
2403static const uint8_t ae_data_aes_ccm_vect2_ctx[] = {
2404 0xd2, 0xa1, 0xf0, 0xe0, 0x51, 0xea, 0x5f, 0x62,
2405 0x08, 0x1a, 0x77, 0x92, 0x07, 0x3d, 0x59, 0x3d,
2406};
2407static const uint8_t ae_data_aes_ccm_vect2_tag[] = {
2408 0x1f, 0xc6, 0x4f, 0xbf, 0xac, 0xcd
2409};
2410
2411/*
2412 * Example 3
2413 * K: 40414243 44454647 48494a4b 4c4d4e4f
2414 * N: 10111213 14151617 18191a1b
2415 * A: 00010203 04050607 08090a0b 0c0d0e0f
2416 * 10111213
2417 * P: 20212223 24252627 28292a2b 2c2d2e2f
2418 * 30313233 34353637
2419 * B: 5a101112 13141516 1718191a 1b000018
2420 * 00140001 02030405 06070809 0a0b0c0d
2421 * 0e0f1011 12130000 00000000 00000000
2422 * 20212223 24252627 28292a2b 2c2d2e2f
2423 * 30313233 34353637 00000000 00000000
2424 * T: 67c99240 c7d51048
2425 * Ctr0: 02101112 13141516 1718191a 1b000000
2426 * S0: 2f8a00bb 06658919 c3a040a6 eaed1a7f
2427 * Ctr1: 02101112 13141516 1718191a 1b000001
2428 * S1: c393238a d1923c5d b335c0c7 e1bac924
2429 * Ctr2: 02101112 13141516 1718191a 1b000002
2430 * S2: 514798ea 9077bc92 6c22ebef 2ac732dc
2431 * C: e3b201a9 f5b71a7a 9b1ceaec cd97e70b
2432 * 6176aad9 a4428aa5 484392fb c1b09951
2433 */
2434static const uint8_t ae_data_aes_ccm_vect3_key[] = {
2435 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
2436 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f
2437};
2438static const uint8_t ae_data_aes_ccm_vect3_nonce[] = {
2439 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
2440 0x18, 0x19, 0x1a, 0x1b
2441};
2442static const uint8_t ae_data_aes_ccm_vect3_aad[] = {
2443 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2444 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
2445 0x10, 0x11, 0x12, 0x13
2446};
2447static const uint8_t ae_data_aes_ccm_vect3_ptx[] = {
2448 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
2449 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
2450 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37
2451};
2452static const uint8_t ae_data_aes_ccm_vect3_ctx[] = {
2453 0xe3, 0xb2, 0x01, 0xa9, 0xf5, 0xb7, 0x1a, 0x7a,
2454 0x9b, 0x1c, 0xea, 0xec, 0xcd, 0x97, 0xe7, 0x0b,
2455 0x61, 0x76, 0xaa, 0xd9, 0xa4, 0x42, 0x8a, 0xa5,
2456};
2457static const uint8_t ae_data_aes_ccm_vect3_tag[] = {
2458 0x48, 0x43, 0x92, 0xfb, 0xc1, 0xb0, 0x99, 0x51
2459};
2460
2461/*
2462 * AES-GCM vectors from the reviced "The Galois/Counter Mode of Operation
2463 * (GCM)" 2005-05-31 spec
2464 */
2465
2466/*
2467 * Test case 1
2468 * K 00000000000000000000000000000000
2469 * P
2470 * IV 000000000000000000000000
2471 * H 66e94bd4ef8a2c3b884cfa59ca342b2e
2472 * Y0 00000000000000000000000000000001
2473 * E(K, Y0) 58e2fccefa7e3061367f1d57a4e7455a
2474 * len(A)||len(C) 00000000000000000000000000000000
2475 * GHASH(H, A, C) 00000000000000000000000000000000
2476 * C
2477 * T 58e2fccefa7e3061367f1d57a4e7455a
2478 */
2479static const uint8_t ae_data_aes_gcm_vect1_key[] = {
2480 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2481 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2482};
2483static const uint8_t ae_data_aes_gcm_vect1_nonce[] = {
2484 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2485 0x00, 0x00, 0x00, 0x00
2486};
2487#define ae_data_aes_gcm_vect1_aad NULL
2488#define ae_data_aes_gcm_vect1_ptx NULL
2489#define ae_data_aes_gcm_vect1_ctx NULL
2490static const uint8_t ae_data_aes_gcm_vect1_tag[] = {
2491 0x58, 0xe2, 0xfc, 0xce, 0xfa, 0x7e, 0x30, 0x61,
2492 0x36, 0x7f, 0x1d, 0x57, 0xa4, 0xe7, 0x45, 0x5a
2493};
2494
2495/*
2496 * Test case 2
2497 * K 00000000000000000000000000000000
2498 * P 00000000000000000000000000000000
2499 * IV 000000000000000000000000
2500 * H 66e94bd4ef8a2c3b884cfa59ca342b2e
2501 * Y0 00000000000000000000000000000001
2502 * E(K, Y0) 58e2fccefa7e3061367f1d57a4e7455a
2503 * Y1 00000000000000000000000000000002
2504 * E(K, Y1) 0388dace60b6a392f328c2b971b2fe78
2505 * X1 5e2ec746917062882c85b0685353deb7
2506 * len(A)||len(C) 00000000000000000000000000000080
2507 * GHASH(H, A, C) f38cbb1ad69223dcc3457ae5b6b0f885
2508 * C 0388dace60b6a392f328c2b971b2fe78
2509 * T ab6e47d42cec13bdf53a67b21257bddf
2510 */
2511
2512static const uint8_t ae_data_aes_gcm_vect2_key[] = {
2513 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2514 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2515};
2516static const uint8_t ae_data_aes_gcm_vect2_nonce[] = {
2517 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2518 0x00, 0x00, 0x00, 0x00
2519};
2520#define ae_data_aes_gcm_vect2_aad NULL
2521static const uint8_t ae_data_aes_gcm_vect2_ptx[] = {
2522 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2523 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2524};
2525static const uint8_t ae_data_aes_gcm_vect2_ctx[] = {
2526 0x03, 0x88, 0xda, 0xce, 0x60, 0xb6, 0xa3, 0x92,
2527 0xf3, 0x28, 0xc2, 0xb9, 0x71, 0xb2, 0xfe, 0x78
2528};
2529static const uint8_t ae_data_aes_gcm_vect2_tag[] = {
2530 0xab, 0x6e, 0x47, 0xd4, 0x2c, 0xec, 0x13, 0xbd,
2531 0xf5, 0x3a, 0x67, 0xb2, 0x12, 0x57, 0xbd, 0xdf
2532};
2533
2534/*
2535 * Test case 3
2536 * K feffe9928665731c6d6a8f9467308308
2537 * P d9313225f88406e5a55909c5aff5269a
2538 * 86a7a9531534f7da2e4c303d8a318a72
2539 * 1c3c0c95956809532fcf0e2449a6b525
2540 * b16aedf5aa0de657ba637b391aafd255
2541 * IV cafebabefacedbaddecaf888
2542 * H b83b533708bf535d0aa6e52980d53b78
2543 * Y0 cafebabefacedbaddecaf88800000001
2544 * E(K, Y0) 3247184b3c4f69a44dbcd22887bbb418
2545 * Y1 cafebabefacedbaddecaf88800000002
2546 * E(K, Y1) 9bb22ce7d9f372c1ee2b28722b25f206
2547 * Y2 cafebabefacedbaddecaf88800000003
2548 * E(K, Y2) 650d887c3936533a1b8d4e1ea39d2b5c
2549 * Y3 cafebabefacedbaddecaf88800000004
2550 * E(K, Y3) 3de91827c10e9a4f5240647ee5221f20
2551 * Y4 cafebabefacedbaddecaf88800000005
2552 * E(K, Y4) aac9e6ccc0074ac0873b9ba85d908bd0
2553 * X1 59ed3f2bb1a0aaa07c9f56c6a504647b
2554 * X2 b714c9048389afd9f9bc5c1d4378e052
2555 * X3 47400c6577b1ee8d8f40b2721e86ff10
2556 * X4 4796cf49464704b5dd91f159bb1b7f95
2557 * len(A)||len(C) 00000000000000000000000000000200
2558 * GHASH(H, A, C) 7f1b32b81b820d02614f8895ac1d4eac
2559 * C 42831ec2217774244b7221b784d0d49c
2560 * e3aa212f2c02a4e035c17e2329aca12e
2561 * 21d514b25466931c7d8f6a5aac84aa05
2562 * 1ba30b396a0aac973d58e091473f5985
2563 * T 4d5c2af327cd64a62cf35abd2ba6fab4
2564 */
2565
2566static const uint8_t ae_data_aes_gcm_vect3_key[] = {
2567 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
2568 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08
2569};
2570static const uint8_t ae_data_aes_gcm_vect3_nonce[] = {
2571 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
2572 0xde, 0xca, 0xf8, 0x88
2573};
2574#define ae_data_aes_gcm_vect3_aad NULL
2575static const uint8_t ae_data_aes_gcm_vect3_ptx[] = {
2576 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2577 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2578 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2579 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2580 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2581 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2582 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2583 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55
2584};
2585static const uint8_t ae_data_aes_gcm_vect3_ctx[] = {
2586 0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24,
2587 0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c,
2588 0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0,
2589 0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e,
2590 0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c,
2591 0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05,
2592 0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97,
2593 0x3d, 0x58, 0xe0, 0x91, 0x47, 0x3f, 0x59, 0x85
2594};
2595static const uint8_t ae_data_aes_gcm_vect3_tag[] = {
2596 0x4d, 0x5c, 0x2a, 0xf3, 0x27, 0xcd, 0x64, 0xa6,
2597 0x2c, 0xf3, 0x5a, 0xbd, 0x2b, 0xa6, 0xfa, 0xb4
2598};
2599
2600/*
2601 * Test case 4
2602 * K feffe9928665731c6d6a8f9467308308
2603 * P d9313225f88406e5a55909c5aff5269a
2604 * 86a7a9531534f7da2e4c303d8a318a72
2605 * 1c3c0c95956809532fcf0e2449a6b525
2606 * b16aedf5aa0de657ba637b39
2607 * A feedfacedeadbeeffeedfacedeadbeef
2608 * abaddad2
2609 * IV cafebabefacedbaddecaf888
2610 * H b83b533708bf535d0aa6e52980d53b78
2611 * Y0 cafebabefacedbaddecaf88800000001
2612 * E(K, Y0) 3247184b3c4f69a44dbcd22887bbb418
2613 * X1 ed56aaf8a72d67049fdb9228edba1322
2614 * X2 cd47221ccef0554ee4bb044c88150352
2615 * Y1 cafebabefacedbaddecaf88800000002
2616 * E(K, Y1) 9bb22ce7d9f372c1ee2b28722b25f206
2617 * Y2 cafebabefacedbaddecaf88800000003
2618 * E(K, Y2) 650d887c3936533a1b8d4e1ea39d2b5c
2619 * Y3 cafebabefacedbaddecaf88800000004
2620 * E(K, Y3) 3de91827c10e9a4f5240647ee5221f20
2621 * Y4 cafebabefacedbaddecaf88800000005
2622 * E(K, Y4) aac9e6ccc0074ac0873b9ba85d908bd0
2623 * X3 54f5e1b2b5a8f9525c23924751a3ca51
2624 * X4 324f585c6ffc1359ab371565d6c45f93
2625 * X5 ca7dd446af4aa70cc3c0cd5abba6aa1c
2626 * X6 1590df9b2eb6768289e57d56274c8570
2627 * len(A)||len(C) 00000000000000a000000000000001e0
2628 * GHASH(H, A, C) 698e57f70e6ecc7fd9463b7260a9ae5f
2629 * C 42831ec2217774244b7221b784d0d49c
2630 * e3aa212f2c02a4e035c17e2329aca12e
2631 * 21d514b25466931c7d8f6a5aac84aa05
2632 * 1ba30b396a0aac973d58e091
2633 * T 5bc94fbc3221a5db94fae95ae7121a47
2634 */
2635
2636static const uint8_t ae_data_aes_gcm_vect4_key[] = {
2637 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
2638 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08
2639};
2640static const uint8_t ae_data_aes_gcm_vect4_nonce[] = {
2641 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
2642 0xde, 0xca, 0xf8, 0x88
2643};
2644static const uint8_t ae_data_aes_gcm_vect4_aad[] = {
2645 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
2646 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
2647 0xab, 0xad, 0xda, 0xd2
2648};
2649static const uint8_t ae_data_aes_gcm_vect4_ptx[] = {
2650 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2651 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2652 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2653 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2654 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2655 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2656 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2657 0xba, 0x63, 0x7b, 0x39
2658};
2659static const uint8_t ae_data_aes_gcm_vect4_ctx[] = {
2660 0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24,
2661 0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c,
2662 0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0,
2663 0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e,
2664 0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c,
2665 0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05,
2666 0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97,
2667 0x3d, 0x58, 0xe0, 0x91
2668};
2669static const uint8_t ae_data_aes_gcm_vect4_tag[] = {
2670 0x5b, 0xc9, 0x4f, 0xbc, 0x32, 0x21, 0xa5, 0xdb,
2671 0x94, 0xfa, 0xe9, 0x5a, 0xe7, 0x12, 0x1a, 0x47
2672};
2673
2674/*
2675 * Test case 5
2676 * K feffe9928665731c6d6a8f9467308308
2677 * P d9313225f88406e5a55909c5aff5269a
2678 * 86a7a9531534f7da2e4c303d8a318a72
2679 * 1c3c0c95956809532fcf0e2449a6b525
2680 * b16aedf5aa0de657ba637b39
2681 * A feedfacedeadbeeffeedfacedeadbeef
2682 * abaddad2
2683 * IV cafebabefacedbad
2684 * H b83b533708bf535d0aa6e52980d53b78
2685 * N1 6f288b846e5fed9a18376829c86a6a16
2686 * len({})||len(IV ) 00000000000000000000000000000040
2687 * Y0 c43a83c4c4badec4354ca984db252f7d
2688 * E(K, Y0) e94ab9535c72bea9e089c93d48e62fb0
2689 * X1 ed56aaf8a72d67049fdb9228edba1322
2690 * X2 cd47221ccef0554ee4bb044c88150352
2691 * Y1 c43a83c4c4badec4354ca984db252f7e
2692 * E(K, Y1) b8040969d08295afd226fcda0ddf61cf
2693 * Y2 c43a83c4c4badec4354ca984db252f7f
2694 * E(K, Y2) ef3c83225af93122192ad5c4f15dfe51
2695 * Y3 c43a83c4c4badec4354ca984db252f80
2696 * E(K, Y3) 6fbc659571f72de104c67b609d2fde67
2697 * Y4 c43a83c4c4badec4354ca984db252f81
2698 * E(K, Y4) f8e3581441a1e950785c3ea1430c6fa6
2699 * X3 9379e2feae14649c86cf2250e3a81916
2700 * X4 65dde904c92a6b3db877c4817b50a5f4
2701 * X5 48c53cf863b49a1b0bbfc48c3baaa89d
2702 * X6 08c873f1c8cec3effc209a07468caab1
2703 * len(A)||len(C) 00000000000000a000000000000001e0
2704 * GHASH(H, A, C) df586bb4c249b92cb6922877e444d37b
2705 * C 61353b4c2806934a777ff51fa22a4755
2706 * 699b2a714fcdc6f83766e5f97b6c7423
2707 * 73806900e49f24b22b097544d4896b42
2708 * 4989b5e1ebac0f07c23f4598
2709 * T 3612d2e79e3b0785561be14aaca2fccb
2710 */
2711
2712static const uint8_t ae_data_aes_gcm_vect5_key[] = {
2713 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
2714 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08
2715};
2716static const uint8_t ae_data_aes_gcm_vect5_nonce[] = {
2717 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad
2718};
2719static const uint8_t ae_data_aes_gcm_vect5_aad[] = {
2720 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
2721 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
2722 0xab, 0xad, 0xda, 0xd2
2723};
2724static const uint8_t ae_data_aes_gcm_vect5_ptx[] = {
2725 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2726 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2727 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2728 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2729 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2730 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2731 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2732 0xba, 0x63, 0x7b, 0x39
2733};
2734static const uint8_t ae_data_aes_gcm_vect5_ctx[] = {
2735 0x61, 0x35, 0x3b, 0x4c, 0x28, 0x06, 0x93, 0x4a,
2736 0x77, 0x7f, 0xf5, 0x1f, 0xa2, 0x2a, 0x47, 0x55,
2737 0x69, 0x9b, 0x2a, 0x71, 0x4f, 0xcd, 0xc6, 0xf8,
2738 0x37, 0x66, 0xe5, 0xf9, 0x7b, 0x6c, 0x74, 0x23,
2739 0x73, 0x80, 0x69, 0x00, 0xe4, 0x9f, 0x24, 0xb2,
2740 0x2b, 0x09, 0x75, 0x44, 0xd4, 0x89, 0x6b, 0x42,
2741 0x49, 0x89, 0xb5, 0xe1, 0xeb, 0xac, 0x0f, 0x07,
2742 0xc2, 0x3f, 0x45, 0x98
2743};
2744static const uint8_t ae_data_aes_gcm_vect5_tag[] = {
2745 0x36, 0x12, 0xd2, 0xe7, 0x9e, 0x3b, 0x07, 0x85,
2746 0x56, 0x1b, 0xe1, 0x4a, 0xac, 0xa2, 0xfc, 0xcb
2747};
2748
2749/*
2750 * Test case 6
2751 * K feffe9928665731c6d6a8f9467308308
2752 * P d9313225f88406e5a55909c5aff5269a
2753 * 86a7a9531534f7da2e4c303d8a318a72
2754 * 1c3c0c95956809532fcf0e2449a6b525
2755 * b16aedf5aa0de657ba637b39
2756 * A feedfacedeadbeeffeedfacedeadbeef
2757 * abaddad2
2758 * IV 9313225df88406e555909c5aff5269aa
2759 * 6a7a9538534f7da1e4c303d2a318a728
2760 * c3c0c95156809539fcf0e2429a6b5254
2761 * 16aedbf5a0de6a57a637b39b
2762 * H b83b533708bf535d0aa6e52980d53b78
2763 * N1 004d6599d7fb1634756e1e299d81630f
2764 * N2 88ffe8a3c8033df4b54d732f7f88408e
2765 * N3 24e694cfab657beabba8055aad495e23
2766 * N4 d8349a5eda24943c8fbb2ef5168b20cb
2767 * len({})||len(IV ) 000000000000000000000000000001e0
2768 * Y0 3bab75780a31c059f83d2a44752f9864
2769 * E(K, Y0) 7dc63b399f2d98d57ab073b6baa4138e
2770 * X1 ed56aaf8a72d67049fdb9228edba1322
2771 * X2 cd47221ccef0554ee4bb044c88150352
2772 * Y1 3bab75780a31c059f83d2a44752f9865
2773 * E(K, Y1) 55d37bbd9ad21353a6f93a690eca9e0e
2774 * Y2 3bab75780a31c059f83d2a44752f9866
2775 * E(K, Y2) 3836bbf6d696e672946a1a01404fa6d5
2776 * Y3 3bab75780a31c059f83d2a44752f9867
2777 * E(K, Y3) 1dd8a5316ecc35c3e313bca59d2ac94a
2778 * Y4 3bab75780a31c059f83d2a44752f9868
2779 * E(K, Y4) 6742982706a9f154f657d5dc94b746db
2780 * X3 31727669c63c6f078b5d22adbbbca384
2781 * X4 480c00db2679065a7ed2f771a53acacd
2782 * X5 1c1ae3c355e2214466a9923d2ba6ab35
2783 * X6 0694c6f16bb0275a48891d06590344b0
2784 * len(A)||len(C) 00000000000000a000000000000001e0
2785 * GHASH(H, A, C) 1c5afe9760d3932f3c9a878aac3dc3de
2786 * C 8ce24998625615b603a033aca13fb894
2787 * be9112a5c3a211a8ba262a3cca7e2ca7
2788 * 01e4a9a4fba43c90ccdcb281d48c7c6f
2789 * d62875d2aca417034c34aee5
2790 * T 619cc5aefffe0bfa462af43c1699d050
2791 */
2792
2793static const uint8_t ae_data_aes_gcm_vect6_key[] = {
2794 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
2795 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08,
2796};
2797static const uint8_t ae_data_aes_gcm_vect6_nonce[] = {
2798 0x93, 0x13, 0x22, 0x5d, 0xf8, 0x84, 0x06, 0xe5,
2799 0x55, 0x90, 0x9c, 0x5a, 0xff, 0x52, 0x69, 0xaa,
2800 0x6a, 0x7a, 0x95, 0x38, 0x53, 0x4f, 0x7d, 0xa1,
2801 0xe4, 0xc3, 0x03, 0xd2, 0xa3, 0x18, 0xa7, 0x28,
2802 0xc3, 0xc0, 0xc9, 0x51, 0x56, 0x80, 0x95, 0x39,
2803 0xfc, 0xf0, 0xe2, 0x42, 0x9a, 0x6b, 0x52, 0x54,
2804 0x16, 0xae, 0xdb, 0xf5, 0xa0, 0xde, 0x6a, 0x57,
2805 0xa6, 0x37, 0xb3, 0x9b,
2806};
2807static const uint8_t ae_data_aes_gcm_vect6_aad[] = {
2808 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
2809 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
2810 0xab, 0xad, 0xda, 0xd2,
2811};
2812static const uint8_t ae_data_aes_gcm_vect6_ptx[] = {
2813 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2814 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2815 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2816 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2817 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2818 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2819 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2820 0xba, 0x63, 0x7b, 0x39,
2821};
2822static const uint8_t ae_data_aes_gcm_vect6_ctx[] = {
2823 0x8c, 0xe2, 0x49, 0x98, 0x62, 0x56, 0x15, 0xb6,
2824 0x03, 0xa0, 0x33, 0xac, 0xa1, 0x3f, 0xb8, 0x94,
2825 0xbe, 0x91, 0x12, 0xa5, 0xc3, 0xa2, 0x11, 0xa8,
2826 0xba, 0x26, 0x2a, 0x3c, 0xca, 0x7e, 0x2c, 0xa7,
2827 0x01, 0xe4, 0xa9, 0xa4, 0xfb, 0xa4, 0x3c, 0x90,
2828 0xcc, 0xdc, 0xb2, 0x81, 0xd4, 0x8c, 0x7c, 0x6f,
2829 0xd6, 0x28, 0x75, 0xd2, 0xac, 0xa4, 0x17, 0x03,
2830 0x4c, 0x34, 0xae, 0xe5,
2831};
2832static const uint8_t ae_data_aes_gcm_vect6_tag[] = {
2833 0x61, 0x9c, 0xc5, 0xae, 0xff, 0xfe, 0x0b, 0xfa,
2834 0x46, 0x2a, 0xf4, 0x3c, 0x16, 0x99, 0xd0, 0x50,
2835};
2836
2837/*
2838 * Test case 7
2839 * K 00000000000000000000000000000000
2840 * 0000000000000000
2841 * P
2842 * IV 000000000000000000000000
2843 * H aae06992acbf52a3e8f4a96ec9300bd7
2844 * Y0 00000000000000000000000000000001
2845 * E(K, Y0) cd33b28ac773f74ba00ed1f312572435
2846 * len(A)||len(C) 00000000000000000000000000000000
2847 * GHASH(H, A, C) 00000000000000000000000000000000
2848 * C
2849 * T cd33b28ac773f74ba00ed1f312572435
2850 */
2851
2852static const uint8_t ae_data_aes_gcm_vect7_key[] = {
2853 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2854 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2855 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2856};
2857static const uint8_t ae_data_aes_gcm_vect7_nonce[] = {
2858 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2859 0x00, 0x00, 0x00, 0x00,
2860};
2861#define ae_data_aes_gcm_vect7_aad NULL
2862#define ae_data_aes_gcm_vect7_ptx NULL
2863#define ae_data_aes_gcm_vect7_ctx NULL
2864static const uint8_t ae_data_aes_gcm_vect7_tag[] = {
2865 0xcd, 0x33, 0xb2, 0x8a, 0xc7, 0x73, 0xf7, 0x4b,
2866 0xa0, 0x0e, 0xd1, 0xf3, 0x12, 0x57, 0x24, 0x35,
2867};
2868
2869/*
2870 * Test case 8
2871 * K 00000000000000000000000000000000
2872 * 0000000000000000
2873 * P 00000000000000000000000000000000
2874 * IV 000000000000000000000000
2875 * H aae06992acbf52a3e8f4a96ec9300bd7
2876 * Y0 00000000000000000000000000000001
2877 * E(K, Y0) cd33b28ac773f74ba00ed1f312572435
2878 * Y1 00000000000000000000000000000002
2879 * E(K, Y1) 98e7247c07f0fe411c267e4384b0f600
2880 * X1 90e87315fb7d4e1b4092ec0cbfda5d7d
2881 * len(A)||len(C) 00000000000000000000000000000080
2882 * GHASH(H, A, C) e2c63f0ac44ad0e02efa05ab6743d4ce
2883 * C 98e7247c07f0fe411c267e4384b0f600
2884 * T 2ff58d80033927ab8ef4d4587514f0fb
2885 */
2886
2887static const uint8_t ae_data_aes_gcm_vect8_key[] = {
2888 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2889 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2890 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2891};
2892static const uint8_t ae_data_aes_gcm_vect8_nonce[] = {
2893 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2894 0x00, 0x00, 0x00, 0x00,
2895};
2896#define ae_data_aes_gcm_vect8_aad NULL
2897static const uint8_t ae_data_aes_gcm_vect8_ptx[] = {
2898 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2899 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2900};
2901static const uint8_t ae_data_aes_gcm_vect8_ctx[] = {
2902 0x98, 0xe7, 0x24, 0x7c, 0x07, 0xf0, 0xfe, 0x41,
2903 0x1c, 0x26, 0x7e, 0x43, 0x84, 0xb0, 0xf6, 0x00,
2904};
2905static const uint8_t ae_data_aes_gcm_vect8_tag[] = {
2906 0x2f, 0xf5, 0x8d, 0x80, 0x03, 0x39, 0x27, 0xab,
2907 0x8e, 0xf4, 0xd4, 0x58, 0x75, 0x14, 0xf0, 0xfb,
2908};
2909
2910/* Test case 9 */
2911static const uint8_t ae_data_aes_gcm_vect9_key[] = {
2912 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
2913 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08,
2914 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
2915};
2916static const uint8_t ae_data_aes_gcm_vect9_nonce[] = {
2917 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
2918 0xde, 0xca, 0xf8, 0x88,
2919};
2920#define ae_data_aes_gcm_vect9_aad NULL
2921static const uint8_t ae_data_aes_gcm_vect9_ptx[] = {
2922 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2923 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2924 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2925 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2926 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2927 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2928 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2929 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2930};
2931static const uint8_t ae_data_aes_gcm_vect9_ctx[] = {
2932 0x39, 0x80, 0xca, 0x0b, 0x3c, 0x00, 0xe8, 0x41,
2933 0xeb, 0x06, 0xfa, 0xc4, 0x87, 0x2a, 0x27, 0x57,
2934 0x85, 0x9e, 0x1c, 0xea, 0xa6, 0xef, 0xd9, 0x84,
2935 0x62, 0x85, 0x93, 0xb4, 0x0c, 0xa1, 0xe1, 0x9c,
2936 0x7d, 0x77, 0x3d, 0x00, 0xc1, 0x44, 0xc5, 0x25,
2937 0xac, 0x61, 0x9d, 0x18, 0xc8, 0x4a, 0x3f, 0x47,
2938 0x18, 0xe2, 0x44, 0x8b, 0x2f, 0xe3, 0x24, 0xd9,
2939 0xcc, 0xda, 0x27, 0x10, 0xac, 0xad, 0xe2, 0x56,
2940};
2941static const uint8_t ae_data_aes_gcm_vect9_tag[] = {
2942 0x99, 0x24, 0xa7, 0xc8, 0x58, 0x73, 0x36, 0xbf,
2943 0xb1, 0x18, 0x02, 0x4d, 0xb8, 0x67, 0x4a, 0x14,
2944};
2945
2946/* Test case 10 */
2947static const uint8_t ae_data_aes_gcm_vect10_key[] = {
2948 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
2949 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08,
2950 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
2951};
2952static const uint8_t ae_data_aes_gcm_vect10_nonce[] = {
2953 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
2954 0xde, 0xca, 0xf8, 0x88,
2955};
2956static const uint8_t ae_data_aes_gcm_vect10_aad[] = {
2957 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
2958 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
2959 0xab, 0xad, 0xda, 0xd2,
2960};
2961static const uint8_t ae_data_aes_gcm_vect10_ptx[] = {
2962 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2963 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2964 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2965 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2966 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2967 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2968 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2969 0xba, 0x63, 0x7b, 0x39,
2970};
2971static const uint8_t ae_data_aes_gcm_vect10_ctx[] = {
2972 0x39, 0x80, 0xca, 0x0b, 0x3c, 0x00, 0xe8, 0x41,
2973 0xeb, 0x06, 0xfa, 0xc4, 0x87, 0x2a, 0x27, 0x57,
2974 0x85, 0x9e, 0x1c, 0xea, 0xa6, 0xef, 0xd9, 0x84,
2975 0x62, 0x85, 0x93, 0xb4, 0x0c, 0xa1, 0xe1, 0x9c,
2976 0x7d, 0x77, 0x3d, 0x00, 0xc1, 0x44, 0xc5, 0x25,
2977 0xac, 0x61, 0x9d, 0x18, 0xc8, 0x4a, 0x3f, 0x47,
2978 0x18, 0xe2, 0x44, 0x8b, 0x2f, 0xe3, 0x24, 0xd9,
2979 0xcc, 0xda, 0x27, 0x10,
2980};
2981static const uint8_t ae_data_aes_gcm_vect10_tag[] = {
2982 0x25, 0x19, 0x49, 0x8e, 0x80, 0xf1, 0x47, 0x8f,
2983 0x37, 0xba, 0x55, 0xbd, 0x6d, 0x27, 0x61, 0x8c,
2984};
2985
2986/* Test case 11 */
2987static const uint8_t ae_data_aes_gcm_vect11_key[] = {
2988 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
2989 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08,
2990 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
2991};
2992static const uint8_t ae_data_aes_gcm_vect11_nonce[] = {
2993 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
2994};
2995static const uint8_t ae_data_aes_gcm_vect11_aad[] = {
2996 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
2997 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
2998 0xab, 0xad, 0xda, 0xd2,
2999};
3000static const uint8_t ae_data_aes_gcm_vect11_ptx[] = {
3001 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
3002 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
3003 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
3004 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
3005 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
3006 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
3007 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
3008 0xba, 0x63, 0x7b, 0x39,
3009};
3010static const uint8_t ae_data_aes_gcm_vect11_ctx[] = {
3011 0x0f, 0x10, 0xf5, 0x99, 0xae, 0x14, 0xa1, 0x54,
3012 0xed, 0x24, 0xb3, 0x6e, 0x25, 0x32, 0x4d, 0xb8,
3013 0xc5, 0x66, 0x63, 0x2e, 0xf2, 0xbb, 0xb3, 0x4f,
3014 0x83, 0x47, 0x28, 0x0f, 0xc4, 0x50, 0x70, 0x57,
3015 0xfd, 0xdc, 0x29, 0xdf, 0x9a, 0x47, 0x1f, 0x75,
3016 0xc6, 0x65, 0x41, 0xd4, 0xd4, 0xda, 0xd1, 0xc9,
3017 0xe9, 0x3a, 0x19, 0xa5, 0x8e, 0x8b, 0x47, 0x3f,
3018 0xa0, 0xf0, 0x62, 0xf7,
3019};
3020static const uint8_t ae_data_aes_gcm_vect11_tag[] = {
3021 0x65, 0xdc, 0xc5, 0x7f, 0xcf, 0x62, 0x3a, 0x24,
3022 0x09, 0x4f, 0xcc, 0xa4, 0x0d, 0x35, 0x33, 0xf8,
3023};
3024
3025/* Test case 12 */
3026static const uint8_t ae_data_aes_gcm_vect12_key[] = {
3027 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
3028 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08,
3029 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
3030};
3031static const uint8_t ae_data_aes_gcm_vect12_nonce[] = {
3032 0x93, 0x13, 0x22, 0x5d, 0xf8, 0x84, 0x06, 0xe5,
3033 0x55, 0x90, 0x9c, 0x5a, 0xff, 0x52, 0x69, 0xaa,
3034 0x6a, 0x7a, 0x95, 0x38, 0x53, 0x4f, 0x7d, 0xa1,
3035 0xe4, 0xc3, 0x03, 0xd2, 0xa3, 0x18, 0xa7, 0x28,
3036 0xc3, 0xc0, 0xc9, 0x51, 0x56, 0x80, 0x95, 0x39,
3037 0xfc, 0xf0, 0xe2, 0x42, 0x9a, 0x6b, 0x52, 0x54,
3038 0x16, 0xae, 0xdb, 0xf5, 0xa0, 0xde, 0x6a, 0x57,
3039 0xa6, 0x37, 0xb3, 0x9b,
3040};
3041static const uint8_t ae_data_aes_gcm_vect12_aad[] = {
3042 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
3043 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
3044 0xab, 0xad, 0xda, 0xd2,
3045};
3046static const uint8_t ae_data_aes_gcm_vect12_ptx[] = {
3047 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
3048 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
3049 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
3050 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
3051 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
3052 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
3053 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
3054 0xba, 0x63, 0x7b, 0x39,
3055};
3056static const uint8_t ae_data_aes_gcm_vect12_ctx[] = {
3057 0xd2, 0x7e, 0x88, 0x68, 0x1c, 0xe3, 0x24, 0x3c,
3058 0x48, 0x30, 0x16, 0x5a, 0x8f, 0xdc, 0xf9, 0xff,
3059 0x1d, 0xe9, 0xa1, 0xd8, 0xe6, 0xb4, 0x47, 0xef,
3060 0x6e, 0xf7, 0xb7, 0x98, 0x28, 0x66, 0x6e, 0x45,
3061 0x81, 0xe7, 0x90, 0x12, 0xaf, 0x34, 0xdd, 0xd9,
3062 0xe2, 0xf0, 0x37, 0x58, 0x9b, 0x29, 0x2d, 0xb3,
3063 0xe6, 0x7c, 0x03, 0x67, 0x45, 0xfa, 0x22, 0xe7,
3064 0xe9, 0xb7, 0x37, 0x3b,
3065};
3066static const uint8_t ae_data_aes_gcm_vect12_tag[] = {
3067 0xdc, 0xf5, 0x66, 0xff, 0x29, 0x1c, 0x25, 0xbb,
3068 0xb8, 0x56, 0x8f, 0xc3, 0xd3, 0x76, 0xa6, 0xd9,
3069};
3070
3071/* Test case 13 */
3072static const uint8_t ae_data_aes_gcm_vect13_key[] = {
3073 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3074 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3075 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3076 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3077};
3078static const uint8_t ae_data_aes_gcm_vect13_nonce[] = {
3079 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3080 0x00, 0x00, 0x00, 0x00,
3081};
3082#define ae_data_aes_gcm_vect13_aad NULL
3083#define ae_data_aes_gcm_vect13_ptx NULL
3084#define ae_data_aes_gcm_vect13_ctx NULL
3085static const uint8_t ae_data_aes_gcm_vect13_tag[] = {
3086 0x53, 0x0f, 0x8a, 0xfb, 0xc7, 0x45, 0x36, 0xb9,
3087 0xa9, 0x63, 0xb4, 0xf1, 0xc4, 0xcb, 0x73, 0x8b,
3088};
3089
3090/* Test case 14 */
3091static const uint8_t ae_data_aes_gcm_vect14_key[] = {
3092 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3093 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3094 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3095 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3096};
3097static const uint8_t ae_data_aes_gcm_vect14_nonce[] = {
3098 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3099 0x00, 0x00, 0x00, 0x00,
3100};
3101#define ae_data_aes_gcm_vect14_aad NULL
3102static const uint8_t ae_data_aes_gcm_vect14_ptx[] = {
3103 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3104 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3105};
3106static const uint8_t ae_data_aes_gcm_vect14_ctx[] = {
3107 0xce, 0xa7, 0x40, 0x3d, 0x4d, 0x60, 0x6b, 0x6e,
3108 0x07, 0x4e, 0xc5, 0xd3, 0xba, 0xf3, 0x9d, 0x18,
3109};
3110static const uint8_t ae_data_aes_gcm_vect14_tag[] = {
3111 0xd0, 0xd1, 0xc8, 0xa7, 0x99, 0x99, 0x6b, 0xf0,
3112 0x26, 0x5b, 0x98, 0xb5, 0xd4, 0x8a, 0xb9, 0x19,
3113};
3114
3115/* Test case 15 */
3116static const uint8_t ae_data_aes_gcm_vect15_key[] = {
3117 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
3118 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08,
3119 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
3120 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08,
3121};
3122static const uint8_t ae_data_aes_gcm_vect15_nonce[] = {
3123 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
3124 0xde, 0xca, 0xf8, 0x88,
3125};
3126#define ae_data_aes_gcm_vect15_aad NULL
3127static const uint8_t ae_data_aes_gcm_vect15_ptx[] = {
3128 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
3129 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
3130 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
3131 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
3132 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
3133 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
3134 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
3135 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
3136};
3137static const uint8_t ae_data_aes_gcm_vect15_ctx[] = {
3138 0x52, 0x2d, 0xc1, 0xf0, 0x99, 0x56, 0x7d, 0x07,
3139 0xf4, 0x7f, 0x37, 0xa3, 0x2a, 0x84, 0x42, 0x7d,
3140 0x64, 0x3a, 0x8c, 0xdc, 0xbf, 0xe5, 0xc0, 0xc9,
3141 0x75, 0x98, 0xa2, 0xbd, 0x25, 0x55, 0xd1, 0xaa,
3142 0x8c, 0xb0, 0x8e, 0x48, 0x59, 0x0d, 0xbb, 0x3d,
3143 0xa7, 0xb0, 0x8b, 0x10, 0x56, 0x82, 0x88, 0x38,
3144 0xc5, 0xf6, 0x1e, 0x63, 0x93, 0xba, 0x7a, 0x0a,
3145 0xbc, 0xc9, 0xf6, 0x62, 0x89, 0x80, 0x15, 0xad,
3146};
3147static const uint8_t ae_data_aes_gcm_vect15_tag[] = {
3148 0xb0, 0x94, 0xda, 0xc5, 0xd9, 0x34, 0x71, 0xbd,
3149 0xec, 0x1a, 0x50, 0x22, 0x70, 0xe3, 0xcc, 0x6c,
3150};
3151
3152/* Test case 16 */
3153static const uint8_t ae_data_aes_gcm_vect16_key[] = {
3154 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
3155 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08,
3156 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
3157 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08,
3158};
3159static const uint8_t ae_data_aes_gcm_vect16_nonce[] = {
3160 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
3161 0xde, 0xca, 0xf8, 0x88,
3162};
3163static const uint8_t ae_data_aes_gcm_vect16_aad[] = {
3164 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
3165 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
3166 0xab, 0xad, 0xda, 0xd2,
3167};
3168static const uint8_t ae_data_aes_gcm_vect16_ptx[] = {
3169 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
3170 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
3171 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
3172 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
3173 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
3174 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
3175 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
3176 0xba, 0x63, 0x7b, 0x39,
3177};
3178static const uint8_t ae_data_aes_gcm_vect16_ctx[] = {
3179 0x52, 0x2d, 0xc1, 0xf0, 0x99, 0x56, 0x7d, 0x07,
3180 0xf4, 0x7f, 0x37, 0xa3, 0x2a, 0x84, 0x42, 0x7d,
3181 0x64, 0x3a, 0x8c, 0xdc, 0xbf, 0xe5, 0xc0, 0xc9,
3182 0x75, 0x98, 0xa2, 0xbd, 0x25, 0x55, 0xd1, 0xaa,
3183 0x8c, 0xb0, 0x8e, 0x48, 0x59, 0x0d, 0xbb, 0x3d,
3184 0xa7, 0xb0, 0x8b, 0x10, 0x56, 0x82, 0x88, 0x38,
3185 0xc5, 0xf6, 0x1e, 0x63, 0x93, 0xba, 0x7a, 0x0a,
3186 0xbc, 0xc9, 0xf6, 0x62,
3187};
3188static const uint8_t ae_data_aes_gcm_vect16_tag[] = {
3189 0x76, 0xfc, 0x6e, 0xce, 0x0f, 0x4e, 0x17, 0x68,
3190 0xcd, 0xdf, 0x88, 0x53, 0xbb, 0x2d, 0x55, 0x1b,
3191};
3192
3193/* Test case 17 */
3194static const uint8_t ae_data_aes_gcm_vect17_key[] = {
3195 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
3196 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08,
3197 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
3198 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08,
3199};
3200static const uint8_t ae_data_aes_gcm_vect17_nonce[] = {
3201 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
3202};
3203static const uint8_t ae_data_aes_gcm_vect17_aad[] = {
3204 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
3205 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
3206 0xab, 0xad, 0xda, 0xd2,
3207};
3208static const uint8_t ae_data_aes_gcm_vect17_ptx[] = {
3209 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
3210 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
3211 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
3212 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
3213 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
3214 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
3215 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
3216 0xba, 0x63, 0x7b, 0x39,
3217};
3218static const uint8_t ae_data_aes_gcm_vect17_ctx[] = {
3219 0xc3, 0x76, 0x2d, 0xf1, 0xca, 0x78, 0x7d, 0x32,
3220 0xae, 0x47, 0xc1, 0x3b, 0xf1, 0x98, 0x44, 0xcb,
3221 0xaf, 0x1a, 0xe1, 0x4d, 0x0b, 0x97, 0x6a, 0xfa,
3222 0xc5, 0x2f, 0xf7, 0xd7, 0x9b, 0xba, 0x9d, 0xe0,
3223 0xfe, 0xb5, 0x82, 0xd3, 0x39, 0x34, 0xa4, 0xf0,
3224 0x95, 0x4c, 0xc2, 0x36, 0x3b, 0xc7, 0x3f, 0x78,
3225 0x62, 0xac, 0x43, 0x0e, 0x64, 0xab, 0xe4, 0x99,
3226 0xf4, 0x7c, 0x9b, 0x1f,
3227};
3228static const uint8_t ae_data_aes_gcm_vect17_tag[] = {
3229 0x3a, 0x33, 0x7d, 0xbf, 0x46, 0xa7, 0x92, 0xc4,
3230 0x5e, 0x45, 0x49, 0x13, 0xfe, 0x2e, 0xa8, 0xf2,
3231};
3232
3233/* Test case 18 */
3234static const uint8_t ae_data_aes_gcm_vect18_key[] = {
3235 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
3236 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08,
3237 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
3238 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08,
3239};
3240static const uint8_t ae_data_aes_gcm_vect18_nonce[] = {
3241 0x93, 0x13, 0x22, 0x5d, 0xf8, 0x84, 0x06, 0xe5,
3242 0x55, 0x90, 0x9c, 0x5a, 0xff, 0x52, 0x69, 0xaa,
3243 0x6a, 0x7a, 0x95, 0x38, 0x53, 0x4f, 0x7d, 0xa1,
3244 0xe4, 0xc3, 0x03, 0xd2, 0xa3, 0x18, 0xa7, 0x28,
3245 0xc3, 0xc0, 0xc9, 0x51, 0x56, 0x80, 0x95, 0x39,
3246 0xfc, 0xf0, 0xe2, 0x42, 0x9a, 0x6b, 0x52, 0x54,
3247 0x16, 0xae, 0xdb, 0xf5, 0xa0, 0xde, 0x6a, 0x57,
3248 0xa6, 0x37, 0xb3, 0x9b,
3249};
3250static const uint8_t ae_data_aes_gcm_vect18_aad[] = {
3251 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
3252 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
3253 0xab, 0xad, 0xda, 0xd2,
3254};
3255static const uint8_t ae_data_aes_gcm_vect18_ptx[] = {
3256 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
3257 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
3258 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
3259 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
3260 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
3261 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
3262 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
3263 0xba, 0x63, 0x7b, 0x39,
3264};
3265static const uint8_t ae_data_aes_gcm_vect18_ctx[] = {
3266 0x5a, 0x8d, 0xef, 0x2f, 0x0c, 0x9e, 0x53, 0xf1,
3267 0xf7, 0x5d, 0x78, 0x53, 0x65, 0x9e, 0x2a, 0x20,
3268 0xee, 0xb2, 0xb2, 0x2a, 0xaf, 0xde, 0x64, 0x19,
3269 0xa0, 0x58, 0xab, 0x4f, 0x6f, 0x74, 0x6b, 0xf4,
3270 0x0f, 0xc0, 0xc3, 0xb7, 0x80, 0xf2, 0x44, 0x45,
3271 0x2d, 0xa3, 0xeb, 0xf1, 0xc5, 0xd8, 0x2c, 0xde,
3272 0xa2, 0x41, 0x89, 0x97, 0x20, 0x0e, 0xf8, 0x2e,
3273 0x44, 0xae, 0x7e, 0x3f,
3274};
3275static const uint8_t ae_data_aes_gcm_vect18_tag[] = {
3276 0xa4, 0x4a, 0x82, 0x66, 0xee, 0x1c, 0x8e, 0xb0,
3277 0xc8, 0xb5, 0xd4, 0xcf, 0x5a, 0xe9, 0xf1, 0x9a,
3278};
3279
3280/*
3281 * Test data generated with
3282 * http://www.mobilefish.com/services/rsa_key_generation/rsa_key_generation.php
3283 * selecting 1024 bit key
3284 */
3285static const uint8_t ac_rsassa_vect1_modulus[] = {
3286 0xab, 0x42, 0x30, 0x54, 0x02, 0x15, 0x19, 0x4f, 0x03, 0x15, 0x73, 0xdf,
3287 0x96, 0x4c, 0x23, 0xeb, 0xd3, 0xd5, 0xf2, 0xff, 0x17, 0xf4, 0x1f, 0x5c,
3288 0x41, 0x26, 0x3e, 0x20, 0x15, 0x6d, 0x0a, 0x70, 0x8d, 0x9e, 0x9e, 0x67,
3289 0x47, 0x87, 0x6a, 0x15, 0xb5, 0x40, 0x38, 0x99, 0x64, 0x90, 0xc1, 0x32,
3290 0x32, 0x95, 0xc7, 0x63, 0x0a, 0xac, 0x5b, 0xcc, 0x21, 0x6b, 0x51, 0x7b,
3291 0xa5, 0xef, 0x7b, 0x62, 0x12, 0x34, 0x2d, 0x8d, 0xb6, 0x0d, 0x24, 0x92,
3292 0xa4, 0x83, 0xd4, 0x3b, 0xa5, 0x29, 0xe2, 0x94, 0xfc, 0xcd, 0x5e, 0xcb,
3293 0xc6, 0x52, 0x7b, 0xf7, 0x65, 0x80, 0x1f, 0x63, 0xcb, 0x4f, 0x40, 0x27,
3294 0x5b, 0x2d, 0x2a, 0x9f, 0xce, 0x9b, 0x33, 0x97, 0xeb, 0xbe, 0xcb, 0x34,
3295 0x22, 0xff, 0x5f, 0x21, 0x21, 0xba, 0x75, 0xb3, 0xba, 0x8f, 0x00, 0x9e,
3296 0x08, 0x66, 0x86, 0x4a, 0x8e, 0x40, 0xb2, 0x5f
3297};
3298static const uint8_t ac_rsassa_vect1_pub_exp[] = {
3299 0x01, 0x00, 0x01
3300};
3301static const uint8_t ac_rsassa_vect1_priv_exp[] = {
3302 0x91, 0xaa, 0x4f, 0xae, 0xf4, 0xc2, 0x7b, 0x6f, 0x60, 0x21, 0x1c, 0x18,
3303 0xde, 0x1e, 0xcf, 0x22, 0xe4, 0x60, 0x83, 0x3a, 0x04, 0x66, 0xc9, 0x51,
3304 0xcf, 0xbc, 0x36, 0x75, 0x55, 0xa4, 0x14, 0x90, 0x1d, 0x75, 0x00, 0x28,
3305 0xba, 0x87, 0x6c, 0x6d, 0x20, 0x68, 0x8a, 0x7b, 0xb6, 0x35, 0x05, 0x8e,
3306 0xab, 0xc6, 0x07, 0xfc, 0xae, 0xf4, 0x61, 0x74, 0x24, 0x2c, 0xc2, 0xf6,
3307 0xd7, 0xf1, 0xf5, 0x4f, 0xd3, 0x68, 0x86, 0x9b, 0x40, 0x47, 0x74, 0x51,
3308 0x2a, 0xe3, 0x87, 0xe3, 0x6f, 0x8c, 0x2e, 0x71, 0xb9, 0xe1, 0x49, 0x62,
3309 0x8b, 0x1f, 0x00, 0x92, 0x51, 0x82, 0x5b, 0x56, 0xeb, 0x55, 0x4e, 0x17,
3310 0x67, 0x91, 0x74, 0xc3, 0x01, 0xdc, 0x34, 0xda, 0x56, 0x03, 0x3c, 0x5d,
3311 0x50, 0xb5, 0xa5, 0xf5, 0xd0, 0xe1, 0x84, 0x7f, 0x2c, 0x16, 0x86, 0x34,
3312 0x1d, 0xb1, 0x8f, 0xd9, 0xb4, 0x0b, 0x35, 0x79
3313};
3314static const uint8_t ac_rsassa_vect1_prime1[] = {
3315 0xec, 0xbb, 0x19, 0x15, 0xc6, 0x52, 0xee, 0xf2, 0x75, 0x0b, 0x2f, 0x4f,
3316 0x1b, 0x2e, 0xd5, 0x14, 0x13, 0x26, 0xb4, 0xb4, 0x8d, 0x1d, 0xbd, 0x27,
3317 0xbb, 0x38, 0xba, 0x2f, 0xa7, 0xc7, 0xb6, 0x76, 0x88, 0xad, 0x73, 0x24,
3318 0x56, 0xe4, 0xd6, 0x9e, 0xe1, 0x20, 0x50, 0x4e, 0x90, 0x09, 0xb1, 0xf7,
3319 0x58, 0x1f, 0x47, 0x82, 0x88, 0xe7, 0xd8, 0xab, 0x3c, 0x1c, 0x9d, 0xc1,
3320 0xa7, 0x79, 0x5c, 0x65
3321};
3322static const uint8_t ac_rsassa_vect1_prime2[] = {
3323 0xb9, 0x32, 0xce, 0x2d, 0x38, 0xb4, 0x21, 0x7f, 0x9e, 0x79, 0x36, 0xf8,
3324 0x6a, 0xf4, 0x99, 0xae, 0x57, 0x1b, 0xd6, 0x1c, 0x53, 0xf7, 0xf9, 0x61,
3325 0xed, 0x47, 0xca, 0x7d, 0x76, 0xd7, 0x4e, 0xc6, 0x59, 0x51, 0x2d, 0xea,
3326 0x91, 0x0f, 0xdf, 0x56, 0x77, 0xa9, 0x2e, 0xf7, 0x63, 0x57, 0x14, 0x93,
3327 0x3b, 0x6f, 0x39, 0x4d, 0x88, 0x18, 0x2f, 0x78, 0xfc, 0xa3, 0xdb, 0xf6,
3328 0xc0, 0x05, 0xdd, 0x73
3329};
3330static const uint8_t ac_rsassa_vect1_exp1[] = {
3331 0xaa, 0xa7, 0x45, 0xb2, 0x18, 0xc1, 0xf8, 0x56, 0xf8, 0x61, 0x13, 0xbd,
3332 0xa7, 0x0e, 0xdf, 0xb4, 0x15, 0x0a, 0x36, 0x02, 0x62, 0x28, 0x2a, 0x0f,
3333 0xd6, 0x3b, 0x52, 0x9c, 0xc0, 0x0a, 0x8c, 0x52, 0x6e, 0xbc, 0xfa, 0xe0,
3334 0x1b, 0x73, 0xe3, 0xf3, 0xac, 0xbe, 0xaa, 0xa5, 0xb7, 0xd8, 0x05, 0x5f,
3335 0x15, 0x3b, 0x97, 0x45, 0x56, 0x84, 0x2c, 0x01, 0x64, 0xd8, 0x0c, 0x31,
3336 0x6a, 0x15, 0x66, 0xb1
3337};
3338static const uint8_t ac_rsassa_vect1_exp2[] = {
3339 0x82, 0xec, 0x11, 0xa9, 0x12, 0x5e, 0xf5, 0x17, 0x7c, 0xf6, 0x80, 0x0f,
3340 0xd9, 0xbc, 0x95, 0x30, 0x14, 0x50, 0x8f, 0x6a, 0x73, 0x49, 0xe8, 0x38,
3341 0x7c, 0x3f, 0xb6, 0x3c, 0x3f, 0xd9, 0x31, 0xcd, 0x32, 0xb3, 0x1a, 0xdc,
3342 0xaa, 0x34, 0x28, 0x54, 0xbe, 0x3f, 0x11, 0xfe, 0xbd, 0x71, 0x80, 0x10,
3343 0x1d, 0x82, 0x21, 0x66, 0x58, 0x01, 0x90, 0xfd, 0xdc, 0xcc, 0x11, 0xe2,
3344 0x3c, 0x19, 0x69, 0x55
3345};
3346static const uint8_t ac_rsassa_vect1_coeff[] = {
3347 0x2b, 0x9b, 0x48, 0xc0, 0xe1, 0xcb, 0x28, 0x9c, 0x03, 0xb2, 0xcf, 0xc6,
3348 0xf6, 0xbb, 0xbe, 0x1b, 0xad, 0xe6, 0x3b, 0xd3, 0x65, 0xbb, 0xca, 0xb7,
3349 0x43, 0x17, 0x8e, 0x3d, 0xb1, 0x6d, 0xc3, 0x06, 0xad, 0x7d, 0xe8, 0x81,
3350 0xb9, 0x5a, 0x13, 0xad, 0x18, 0x46, 0xcd, 0x93, 0xb6, 0x44, 0x1f, 0xd0,
3351 0x4d, 0x73, 0xb1, 0x00, 0x4d, 0x46, 0xc8, 0x22, 0x4a, 0x7e, 0xb8, 0xe6,
3352 0xdd, 0xae, 0x5f, 0x40
3353};
3354static const uint8_t ac_rsassa_vect1_ptx[] = {
3355 0x91, 0x07, 0xf4, 0x49, 0x0a, 0xf9, 0x99, 0x12, 0xaa, 0x95, 0x02, 0x76,
3356 0x95, 0x1b, 0xfa, 0x94, 0x32, 0xbf
3357};
3358static const uint8_t ac_rsassa_vect1_out[] = {
3359 0x5f, 0xf8, 0xc0, 0x00, 0x4b, 0xd6, 0x5a, 0x3b, 0xf9, 0x34, 0xad, 0xca,
3360 0x24, 0x8f, 0x8f, 0x99, 0xba, 0x24, 0xb3, 0x84, 0x1b, 0x82, 0xff, 0xdb,
3361 0x35, 0x00, 0xa0, 0x66, 0x62, 0xc3, 0x85, 0x4d, 0xfc, 0x4b, 0x42, 0xce,
3362 0xd1, 0x29, 0x39, 0x04, 0x16, 0xcb, 0xa2, 0x53, 0x12, 0x5d, 0x71, 0x5c,
3363 0xcd, 0x37, 0xcb, 0x0a, 0x5d, 0x07, 0xdd, 0xb2, 0x18, 0x94, 0x47, 0x2a,
3364 0x82, 0x64, 0x7a, 0xd3, 0xbb, 0x83, 0xc5, 0x9c, 0x50, 0x85, 0x65, 0x94,
3365 0x0f, 0x01, 0xfe, 0x20, 0xa0, 0x83, 0x4f, 0x3b, 0x78, 0x99, 0x48, 0x94,
3366 0x36, 0xaf, 0x4a, 0xac, 0x89, 0xfa, 0xf6, 0xf8, 0x42, 0x86, 0xa5, 0xbe,
3367 0x0d, 0xb3, 0x39, 0x42, 0xa0, 0x70, 0x56, 0x5f, 0xea, 0xc6, 0x8f, 0x31,
3368 0xfe, 0x56, 0x56, 0xac, 0xf7, 0x4c, 0x9b, 0x8a, 0x06, 0x5a, 0xbd, 0x61,
3369 0x92, 0xfc, 0xef, 0x4b, 0x26, 0x36, 0x6d, 0x91
3370};
3371
3372
3373/*
3374 * Test data generated with
3375 * http://www.mobilefish.com/services/rsa_key_generation/rsa_key_generation.php
3376 * selecting 2048 bit key
3377 */
3378static const uint8_t ac_rsassa_vect2_modulus[] = {
3379 0x9a, 0x83, 0xda, 0x0e, 0xfb, 0xa1, 0x77, 0xc5, 0x34, 0x88, 0xac, 0x3d,
3380 0xd1, 0x3e, 0x89, 0x3e, 0xca, 0xad, 0x40, 0x47, 0xdc, 0xff, 0xc6, 0x18,
3381 0xc3, 0x1a, 0x95, 0xd3, 0x82, 0xb9, 0x98, 0xa8, 0xec, 0x90, 0xbe, 0xab,
3382 0xef, 0x74, 0xb7, 0x58, 0xa0, 0x0d, 0x0f, 0xb5, 0x13, 0xb8, 0x7e, 0xf7,
3383 0xdb, 0x19, 0x77, 0x55, 0xc5, 0xed, 0xa6, 0x60, 0xa7, 0xaf, 0xea, 0x83,
3384 0x69, 0xcf, 0xcf, 0x50, 0x51, 0x94, 0xa7, 0xc0, 0x96, 0x68, 0xe6, 0x63,
3385 0xef, 0xdf, 0xa8, 0x28, 0x4a, 0x50, 0xbf, 0xd7, 0x44, 0xbf, 0x0b, 0x0a,
3386 0x41, 0xd6, 0x02, 0xfc, 0x3f, 0x06, 0x51, 0x82, 0xe4, 0x56, 0x3f, 0xe9,
3387 0x37, 0x40, 0xe0, 0xaa, 0x18, 0x56, 0xcb, 0x2e, 0xd4, 0x02, 0x66, 0xcc,
3388 0xfb, 0xbd, 0x6b, 0x34, 0xfd, 0x3d, 0x2c, 0xad, 0xeb, 0x8c, 0x7c, 0x85,
3389 0x09, 0xd1, 0x00, 0x4f, 0xaf, 0xc7, 0x9d, 0x25, 0x19, 0x45, 0x3a, 0x54,
3390 0x9d, 0xda, 0x4b, 0x3b, 0x11, 0x6b, 0xbc, 0x66, 0xb7, 0xb1, 0xa2, 0x79,
3391 0x1c, 0xd5, 0x38, 0x7a, 0x7b, 0x62, 0xae, 0x8a, 0x35, 0xc7, 0x4b, 0xdd,
3392 0x0e, 0x23, 0x78, 0xa3, 0xec, 0xcf, 0xe9, 0xa4, 0x26, 0x33, 0xca, 0x48,
3393 0x08, 0xc1, 0x3c, 0xb0, 0xe8, 0xfa, 0x2f, 0xbb, 0x75, 0x8a, 0x3d, 0x45,
3394 0xf4, 0xe5, 0x7a, 0x2f, 0x4d, 0xd8, 0x6f, 0x05, 0x14, 0x21, 0xb1, 0xfd,
3395 0xd1, 0xbb, 0x3c, 0xa7, 0x1d, 0x2f, 0xe7, 0x79, 0xc2, 0x99, 0x49, 0x25,
3396 0xef, 0x73, 0xd4, 0xe9, 0xbb, 0xf9, 0x1b, 0xeb, 0x0e, 0xb7, 0xdf, 0x53,
3397 0xc1, 0xdc, 0x41, 0xf9, 0x92, 0x01, 0x68, 0x63, 0x84, 0x52, 0x78, 0xfc,
3398 0xf8, 0x7f, 0x84, 0xa1, 0x47, 0xe3, 0x7c, 0x5b, 0x53, 0x82, 0x1b, 0x3a,
3399 0x78, 0x7a, 0xae, 0x8d, 0x6a, 0xef, 0x87, 0x38, 0x28, 0x14, 0x4c, 0xf5,
3400 0xd7, 0xb9, 0xd0, 0xad
3401};
3402static const uint8_t ac_rsassa_vect2_pub_exp[] = {
3403 0x01, 0x00, 0x01
3404};
3405static const uint8_t ac_rsassa_vect2_priv_exp[] = {
3406 0x73, 0xdd, 0x01, 0x0b, 0x91, 0x26, 0xb0, 0x00, 0x01, 0x77, 0xa6, 0xe8,
3407 0xa7, 0xd9, 0xe3, 0xe2, 0x60, 0xea, 0x6f, 0x34, 0x34, 0x04, 0xdb, 0x8f,
3408 0xbf, 0xe5, 0x54, 0x8a, 0x09, 0x11, 0x90, 0xe6, 0xc2, 0x95, 0x7b, 0x54,
3409 0xc4, 0x37, 0x5a, 0x30, 0xab, 0xbb, 0x7f, 0x96, 0xc1, 0xd5, 0xeb, 0xe7,
3410 0x81, 0xb4, 0xe3, 0xe6, 0x3e, 0x88, 0x08, 0xe5, 0x9b, 0x78, 0x6f, 0x3a,
3411 0xe1, 0x82, 0x41, 0xab, 0xb1, 0xb0, 0xed, 0xe5, 0x9d, 0x23, 0xc5, 0xf7,
3412 0x14, 0x6d, 0x3a, 0xd4, 0x13, 0x7d, 0xdf, 0x8c, 0xd5, 0x71, 0x08, 0x1f,
3413 0x45, 0xe4, 0xeb, 0xd2, 0x28, 0x94, 0x5d, 0x54, 0xf0, 0x51, 0xb8, 0x94,
3414 0xf1, 0xa8, 0xc5, 0x8e, 0xe6, 0xb7, 0x56, 0x9e, 0xa3, 0xbd, 0xb5, 0x46,
3415 0x6a, 0x52, 0xcc, 0x6c, 0x2c, 0xa4, 0xcd, 0xb7, 0x10, 0xd5, 0x04, 0x9e,
3416 0x62, 0x11, 0x05, 0xd1, 0xbb, 0x36, 0xcc, 0x9f, 0x55, 0x91, 0x21, 0x2e,
3417 0xe7, 0x10, 0x4a, 0xe9, 0xb1, 0xd2, 0xc7, 0x16, 0x45, 0x46, 0xd8, 0x9e,
3418 0xd4, 0xe6, 0x7e, 0x90, 0xc9, 0x33, 0xf0, 0x4e, 0x9d, 0x1f, 0x46, 0x79,
3419 0xcf, 0xcd, 0xf6, 0x77, 0x6a, 0x6c, 0x97, 0x77, 0x00, 0x3a, 0x78, 0x24,
3420 0x81, 0xec, 0x2a, 0xae, 0x51, 0x77, 0xa0, 0xb2, 0xc9, 0xb8, 0x4a, 0xca,
3421 0xab, 0x7a, 0x28, 0x3f, 0x99, 0x53, 0xa3, 0xab, 0xe8, 0x60, 0x7a, 0x6d,
3422 0x2e, 0xda, 0xa6, 0x90, 0x24, 0xf6, 0x34, 0x51, 0x22, 0x7d, 0x32, 0x81,
3423 0x0c, 0x50, 0xa5, 0x14, 0x69, 0x8b, 0xbc, 0x4e, 0x06, 0xcc, 0xc3, 0xe1,
3424 0x69, 0x5f, 0xaa, 0xc3, 0x99, 0x46, 0x2f, 0xb7, 0x86, 0xc9, 0x39, 0xba,
3425 0x58, 0x97, 0x4e, 0x40, 0xc1, 0x29, 0xe6, 0x0e, 0xa4, 0x7d, 0x4a, 0xdf,
3426 0x87, 0x8c, 0x93, 0x7c, 0x22, 0x67, 0xae, 0xbb, 0x0e, 0xfc, 0x05, 0x67,
3427 0x5f, 0xde, 0xe2, 0x21
3428};
3429static const uint8_t ac_rsassa_vect2_prime1[] = {
3430 0xcd, 0xff, 0x70, 0x4b, 0x87, 0xc8, 0xd3, 0xad, 0x23, 0xb4, 0xe9, 0x63,
3431 0x91, 0x50, 0xbd, 0x78, 0x28, 0x4f, 0x23, 0x5a, 0xd5, 0x32, 0x53, 0xae,
3432 0x04, 0xe5, 0x87, 0x9c, 0xb4, 0x18, 0x07, 0x90, 0x6e, 0xaa, 0x8a, 0xfe,
3433 0x1c, 0xfe, 0x60, 0x77, 0x85, 0x27, 0x87, 0x4b, 0x91, 0x72, 0x43, 0x9d,
3434 0xe1, 0x71, 0x39, 0xe4, 0x0e, 0x7d, 0x03, 0xa9, 0x5d, 0xbc, 0xc2, 0x02,
3435 0x87, 0xd9, 0x39, 0x98, 0xf0, 0x51, 0xac, 0x6a, 0x96, 0x7c, 0x00, 0xf9,
3436 0xe4, 0x95, 0x02, 0xb8, 0xbd, 0xf1, 0xae, 0x2c, 0x15, 0x5a, 0x12, 0x30,
3437 0x6e, 0x1d, 0xe4, 0x1e, 0x65, 0x65, 0xde, 0x2e, 0xdc, 0x93, 0x02, 0xc2,
3438 0xbb, 0x9f, 0x7e, 0xec, 0xa3, 0xc4, 0x8f, 0x05, 0x07, 0xce, 0xbb, 0x9a,
3439 0x53, 0x1c, 0x57, 0x77, 0x89, 0xff, 0x6c, 0xcb, 0xf8, 0xa1, 0xde, 0xbe,
3440 0x14, 0x4b, 0xee, 0xd6, 0xad, 0x27, 0x04, 0x99
3441};
3442static const uint8_t ac_rsassa_vect2_prime2[] = {
3443 0xc0, 0x05, 0x4f, 0x58, 0xa0, 0x22, 0x58, 0x60, 0x7b, 0xef, 0x87, 0x1f,
3444 0x87, 0x39, 0x47, 0x48, 0xa8, 0x86, 0x15, 0xd5, 0xf9, 0xb5, 0xf8, 0x71,
3445 0x81, 0xf9, 0xb7, 0x3e, 0x4a, 0xe8, 0x5d, 0xbc, 0xbf, 0x8f, 0x17, 0xc0,
3446 0x96, 0xdc, 0xc2, 0x7f, 0x5e, 0x60, 0x65, 0xe7, 0xa2, 0xc6, 0x30, 0x25,
3447 0x8b, 0xe9, 0xdb, 0x28, 0x10, 0xac, 0x02, 0x0e, 0x23, 0x0f, 0x14, 0x6b,
3448 0xff, 0xd4, 0x09, 0xdd, 0x7c, 0x06, 0x5d, 0xb2, 0x6e, 0x32, 0x49, 0x62,
3449 0xb7, 0x93, 0x5d, 0x24, 0x99, 0x03, 0x69, 0x9b, 0x60, 0x2e, 0x34, 0xa3,
3450 0x9f, 0x62, 0x33, 0xaf, 0xc5, 0xdc, 0x8f, 0x10, 0x61, 0xfa, 0xc5, 0x8d,
3451 0xa9, 0xcc, 0x86, 0x93, 0x7d, 0x1e, 0xa6, 0x7d, 0xcb, 0x6e, 0x69, 0xfe,
3452 0xe1, 0x3c, 0x64, 0x01, 0x58, 0xd8, 0x1a, 0x0f, 0xf8, 0xcc, 0x34, 0xe5,
3453 0x01, 0x2c, 0xb8, 0xf9, 0x90, 0x71, 0xe5, 0x35
3454};
3455static const uint8_t ac_rsassa_vect2_exp1[] = {
3456 0x8b, 0x46, 0xc7, 0x8f, 0xe9, 0xb0, 0x78, 0x9d, 0xb9, 0x64, 0x99, 0xdf,
3457 0xbd, 0xe2, 0x4f, 0x18, 0x2c, 0x78, 0xc5, 0x38, 0xa6, 0xa8, 0xae, 0x37,
3458 0x1c, 0x0c, 0x6c, 0x52, 0x20, 0xd9, 0x96, 0x53, 0xaa, 0xdf, 0x17, 0xb6,
3459 0x93, 0xb7, 0xd1, 0x55, 0x3d, 0xeb, 0xe9, 0xe7, 0xc7, 0xe0, 0xef, 0xa2,
3460 0x91, 0x48, 0x52, 0x91, 0xc4, 0xd1, 0xf5, 0x65, 0xcf, 0x80, 0xcd, 0xd3,
3461 0x94, 0x31, 0xe4, 0x65, 0x69, 0x26, 0x6f, 0x62, 0x69, 0x78, 0x51, 0xd8,
3462 0xa3, 0x19, 0xb4, 0x8b, 0x5f, 0xb1, 0x45, 0xc7, 0x7c, 0x70, 0x37, 0x98,
3463 0x12, 0xfb, 0x96, 0xbe, 0x8e, 0x63, 0xff, 0x82, 0xc3, 0x93, 0x89, 0xec,
3464 0x4b, 0x9a, 0x9c, 0xe0, 0x36, 0x21, 0xb1, 0x68, 0xff, 0x4c, 0x61, 0x3f,
3465 0x08, 0x2e, 0x43, 0x5d, 0x09, 0x2a, 0x6f, 0x4e, 0xc1, 0x3e, 0x00, 0x31,
3466 0x97, 0xdb, 0x77, 0x12, 0x22, 0x64, 0x1d, 0x11
3467};
3468static const uint8_t ac_rsassa_vect2_exp2[] = {
3469 0x88, 0x05, 0xfa, 0xec, 0x44, 0x1b, 0xb0, 0x51, 0x40, 0xda, 0x2f, 0xf5,
3470 0x14, 0x9c, 0x6d, 0xb3, 0xb9, 0xb5, 0xaa, 0x58, 0x36, 0x99, 0x42, 0x52,
3471 0x5e, 0x09, 0x60, 0x56, 0x5f, 0x47, 0xf5, 0xc7, 0x14, 0x47, 0xb0, 0x42,
3472 0xbc, 0x5b, 0xcb, 0xe7, 0xe0, 0x1a, 0x17, 0x76, 0x1c, 0x27, 0x9a, 0xc9,
3473 0xae, 0x30, 0x4e, 0x10, 0x36, 0xa7, 0x32, 0x99, 0x83, 0x1a, 0x56, 0x94,
3474 0x1e, 0xd8, 0xbc, 0xd8, 0x49, 0xd8, 0x54, 0x9d, 0x66, 0x54, 0x77, 0x09,
3475 0xd8, 0x13, 0x2b, 0x03, 0x16, 0xe5, 0x84, 0xf5, 0x0d, 0x10, 0x0e, 0x37,
3476 0xee, 0x5a, 0xe9, 0x54, 0x55, 0xac, 0x65, 0x27, 0xec, 0xd0, 0x71, 0x0b,
3477 0x66, 0x42, 0x3c, 0xfe, 0xd3, 0xbe, 0x57, 0xa0, 0x7a, 0xf0, 0x4f, 0x63,
3478 0xbf, 0x78, 0x41, 0x3b, 0x77, 0x0d, 0x36, 0x81, 0x23, 0xf4, 0xbc, 0x6f,
3479 0x91, 0x02, 0x76, 0x52, 0x4b, 0x91, 0x73, 0x15
3480};
3481static const uint8_t ac_rsassa_vect2_coeff[] = {
3482 0xb1, 0x70, 0x9b, 0x0c, 0xec, 0xc7, 0x8b, 0xc3, 0x50, 0xe4, 0x3a, 0x85,
3483 0xda, 0x6c, 0xf6, 0x36, 0x30, 0x27, 0xe5, 0xf5, 0xa2, 0x96, 0x1d, 0x78,
3484 0xa2, 0xd5, 0x89, 0xce, 0xef, 0xba, 0xd9, 0xfc, 0x3e, 0x91, 0x0e, 0x63,
3485 0x42, 0x31, 0x2d, 0x99, 0xd7, 0x47, 0x1d, 0xb2, 0x42, 0x56, 0xd3, 0x07,
3486 0x76, 0x31, 0x35, 0x92, 0x23, 0xcd, 0x81, 0x7d, 0xc2, 0x14, 0xfd, 0x90,
3487 0x71, 0xbb, 0x43, 0x5e, 0x8b, 0xec, 0x1f, 0x8a, 0xf5, 0xe6, 0x08, 0xee,
3488 0x26, 0x79, 0xa1, 0xb4, 0xee, 0x58, 0x99, 0x4c, 0xad, 0x91, 0x6a, 0xaa,
3489 0x5c, 0x4b, 0xbc, 0xbc, 0xad, 0xf7, 0xe1, 0xdd, 0x48, 0xfd, 0x98, 0x82,
3490 0x06, 0x11, 0xac, 0xc5, 0x74, 0xb5, 0xa9, 0x16, 0x4a, 0x6c, 0xc1, 0xae,
3491 0x25, 0x70, 0xde, 0x96, 0xcf, 0xad, 0x2a, 0x8b, 0x89, 0x39, 0x77, 0x94,
3492 0xae, 0x4b, 0x84, 0x02, 0x92, 0x0c, 0x05, 0x42
3493};
3494static const uint8_t ac_rsassa_vect2_ptx[] = {
3495 0x91, 0x07, 0xf4, 0x49, 0x0a, 0xf9, 0x99, 0x12, 0xaa, 0x95, 0x02, 0x76,
3496 0x95, 0x1b, 0xfa, 0x94, 0x32, 0xbf
3497};
3498static const uint8_t ac_rsassa_vect2_out[] = {
3499 0x47, 0x16, 0xe1, 0xee, 0x54, 0xb7, 0xe0, 0x8a, 0xcc, 0x5d, 0x1b, 0xae,
3500 0xde, 0xc1, 0x43, 0x09, 0xd8, 0x4d, 0xe3, 0xcd, 0x5f, 0xd5, 0x48, 0x51,
3501 0xd3, 0x1c, 0x62, 0x5d, 0x1c, 0x13, 0x0b, 0x05, 0x89, 0x77, 0xd6, 0x95,
3502 0x4e, 0x8f, 0x4a, 0x0a, 0x51, 0xc2, 0x0c, 0xcf, 0xfe, 0x4c, 0x24, 0x6d,
3503 0x0c, 0x73, 0x33, 0x46, 0xd9, 0xdf, 0xfe, 0x6e, 0x06, 0xcb, 0x8c, 0x79,
3504 0x32, 0x3f, 0xbd, 0x1d, 0x10, 0x3a, 0x60, 0x3c, 0xe8, 0x1c, 0xbe, 0xd9,
3505 0xa8, 0x00, 0x76, 0x5b, 0x6d, 0x7a, 0x62, 0xdd, 0x3c, 0x21, 0x53, 0x16,
3506 0xab, 0x0b, 0x6c, 0x8d, 0x43, 0xfd, 0xba, 0x9a, 0xd9, 0x9a, 0xc1, 0x21,
3507 0x0c, 0x79, 0x78, 0x93, 0x86, 0xbd, 0xdf, 0x63, 0xca, 0xc8, 0xd6, 0xc6,
3508 0x20, 0xc9, 0x08, 0xf6, 0xc8, 0xfe, 0x22, 0xa4, 0xc6, 0xe3, 0x49, 0xe4,
3509 0x63, 0x01, 0x03, 0x5b, 0x78, 0x63, 0x3a, 0x02, 0x9c, 0xa1, 0xed, 0x20,
3510 0x01, 0x10, 0x79, 0x2e, 0x8d, 0xe5, 0x70, 0xae, 0x1a, 0x5f, 0x72, 0x9e,
3511 0x31, 0xab, 0x21, 0xd3, 0xd7, 0x59, 0x5f, 0x26, 0xbf, 0x45, 0x31, 0x6d,
3512 0xc3, 0xa6, 0x45, 0x7b, 0x6d, 0x8e, 0x3c, 0xb0, 0x42, 0xb4, 0xeb, 0x09,
3513 0xcf, 0x54, 0x0a, 0x72, 0x38, 0xf8, 0x67, 0x83, 0xa7, 0x7b, 0xce, 0x52,
3514 0x74, 0x0f, 0x03, 0x9d, 0x09, 0x1f, 0xe7, 0xf0, 0x85, 0x27, 0x3e, 0x1d,
3515 0x2f, 0xea, 0x2d, 0xa8, 0xdc, 0x58, 0x00, 0x9b, 0xdc, 0x10, 0x95, 0xe4,
3516 0x5f, 0x69, 0x20, 0x11, 0x1c, 0x3c, 0x58, 0x27, 0xcd, 0x1f, 0x23, 0xc9,
3517 0x28, 0xfa, 0x98, 0x53, 0xce, 0xa6, 0xe6, 0x64, 0x20, 0x2e, 0xe1, 0x2b,
3518 0x35, 0x30, 0x4e, 0xb2, 0x14, 0xaa, 0x7f, 0x89, 0x6f, 0xa8, 0xb1, 0xd6,
3519 0x30, 0x2c, 0x7c, 0xe5, 0x26, 0xe4, 0xce, 0x61, 0x6c, 0xc6, 0x06, 0xbc,
3520 0xea, 0x26, 0x6f, 0xe4
3521};
3522
3523/*
Jerome Forissiere576f052018-03-23 21:24:21 +08003524 * 3072-bit RSA
3525 * Test data generated with:
3526 * openssl genrsa -out 3072.pem 3072
3527 * openssl rsa -in 3072.pem -text -noout
3528 * (dd if=/dev/zero bs=1 count=368; \
3529 * printf '\x1\x2\x3\x4\x5\x6\x7\x8\x9\xa\xb\xc\xd\xe\xf\x10';) | \
3530 * openssl rsautl -encrypt -raw -inkey 3072.pem | od -t x1
3531 */
3532static const uint8_t ac_rsassa_vect18_modulus[] = {
3533 0xca, 0x72, 0xcc, 0xef, 0xad, 0x0a, 0xbe, 0xd6, 0x35, 0x16, 0x23, 0x93,
3534 0x16, 0x8f, 0xee, 0x31, 0x4c, 0xc2, 0x6f, 0x20, 0x99, 0x38, 0x69, 0xc1,
3535 0xcb, 0x57, 0x5f, 0x7e, 0x35, 0xba, 0x85, 0xa7, 0xe9, 0xe1, 0xe6, 0x1d,
3536 0x39, 0xc2, 0x41, 0x7d, 0xc3, 0xa3, 0xea, 0x6a, 0xdb, 0x5a, 0x07, 0x4a,
3537 0x4a, 0x3a, 0xcb, 0xce, 0xf2, 0xa0, 0xdd, 0xcd, 0x4b, 0x99, 0x67, 0x0d,
3538 0x38, 0xf1, 0x40, 0x41, 0xed, 0x5b, 0xb8, 0xf8, 0xea, 0xc7, 0xd9, 0x91,
3539 0x30, 0x42, 0x8d, 0xee, 0x48, 0xc4, 0x7c, 0x7f, 0x0d, 0x33, 0x7b, 0x8f,
3540 0x38, 0x18, 0xed, 0x7f, 0x02, 0x8c, 0x44, 0x52, 0x6a, 0x93, 0x37, 0xfd,
3541 0x6a, 0x27, 0x3e, 0xbf, 0x03, 0x78, 0xe3, 0xfc, 0x29, 0x83, 0x20, 0x65,
3542 0xe3, 0xfa, 0x2c, 0x93, 0xcb, 0x83, 0x90, 0x61, 0xd3, 0x1a, 0x9a, 0x65,
3543 0x53, 0xf0, 0xea, 0x2c, 0xf8, 0x61, 0x8d, 0x9f, 0x54, 0x22, 0x7e, 0x2e,
3544 0x1e, 0x36, 0x62, 0xd9, 0x9f, 0x7d, 0x56, 0xf4, 0xad, 0x61, 0xb6, 0x1a,
3545 0x7b, 0x40, 0x59, 0x10, 0x04, 0xff, 0xea, 0x16, 0x98, 0x36, 0x61, 0x9d,
3546 0x5c, 0x62, 0xcb, 0xf6, 0xc2, 0x95, 0x3b, 0x91, 0xc9, 0xff, 0xf0, 0x65,
3547 0x7e, 0x0e, 0xa2, 0x43, 0x89, 0x24, 0xaa, 0xdd, 0x0e, 0xed, 0xb0, 0x8c,
3548 0xb0, 0xb2, 0x4d, 0x80, 0x2a, 0x11, 0xcf, 0x35, 0xe9, 0x82, 0xc6, 0x67,
3549 0x37, 0x3b, 0xc9, 0xd5, 0xa1, 0xd8, 0x8e, 0x07, 0x93, 0xfd, 0xe7, 0x5a,
3550 0x54, 0xc6, 0xf0, 0xae, 0x82, 0x43, 0x86, 0x62, 0x70, 0x44, 0x09, 0xb7,
3551 0x62, 0x58, 0xb2, 0x17, 0x9f, 0x3c, 0xa5, 0x10, 0x60, 0xc6, 0x61, 0x47,
3552 0x83, 0x1f, 0x3e, 0xa7, 0xf2, 0x26, 0x5b, 0x70, 0xd5, 0x81, 0x47, 0x6a,
3553 0x78, 0xe0, 0x85, 0x16, 0x36, 0xc0, 0x2e, 0xbb, 0x01, 0x6c, 0x99, 0x19,
3554 0xeb, 0x22, 0xf5, 0x13, 0xe3, 0x38, 0x67, 0x9f, 0x85, 0xed, 0x0f, 0x05,
3555 0x22, 0x29, 0x34, 0xda, 0x4b, 0x8f, 0x44, 0xfa, 0x30, 0xf8, 0xe6, 0xc1,
3556 0xf6, 0x9d, 0x9b, 0xd6, 0x56, 0x81, 0x2c, 0x58, 0x4d, 0xf8, 0x90, 0xef,
3557 0xf9, 0xea, 0x31, 0x6f, 0x04, 0xd2, 0x8d, 0xc1, 0xc9, 0x6e, 0x90, 0xd1,
3558 0xff, 0xce, 0xab, 0x58, 0x9f, 0x98, 0x57, 0x7c, 0x7a, 0x79, 0x8a, 0xb2,
3559 0x3d, 0x32, 0x0d, 0x0c, 0x3b, 0x6a, 0xd4, 0x33, 0x49, 0x50, 0xe1, 0x41,
3560 0x3d, 0x07, 0x32, 0xfc, 0x6d, 0x9f, 0xfc, 0x8c, 0xad, 0x05, 0x74, 0xa9,
3561 0x37, 0x5e, 0x70, 0x0b, 0xe9, 0xdf, 0xc1, 0x96, 0xca, 0x7c, 0xca, 0xbd,
3562 0xab, 0x8e, 0x68, 0xd0, 0xf9, 0x3f, 0x5f, 0x90, 0xb4, 0x30, 0x17, 0x4d,
3563 0x3a, 0xf9, 0xa1, 0xf0, 0xcb, 0xc7, 0x54, 0xb3, 0xa6, 0x0f, 0xd7, 0xe7,
3564 0x68, 0x43, 0x5f, 0x39, 0xa6, 0x05, 0x83, 0x74, 0xf9, 0xd9, 0x94, 0xab
3565};
3566static const uint8_t ac_rsassa_vect18_pub_exp[] = {
3567 0x01, 0x00, 0x01
3568};
3569static const uint8_t ac_rsassa_vect18_priv_exp[] = {
3570 0xaf, 0xb1, 0xa9, 0xc1, 0x67, 0x7f, 0xa7, 0xd6, 0xe7, 0x03, 0x6b, 0xa4,
3571 0x3f, 0x34, 0x72, 0x17, 0x3e, 0xf2, 0x8e, 0xd6, 0xcf, 0xa2, 0x71, 0xc5,
3572 0xc9, 0xde, 0xed, 0xf4, 0xee, 0x54, 0x0d, 0xa2, 0x88, 0x0b, 0x90, 0x55,
3573 0x54, 0xc7, 0x0d, 0x67, 0x43, 0xde, 0x81, 0x96, 0x72, 0xff, 0x52, 0xcc,
3574 0x5a, 0x57, 0x64, 0x81, 0x19, 0x78, 0x1a, 0x86, 0x0c, 0x51, 0xf9, 0x69,
3575 0x34, 0x3d, 0xca, 0xf2, 0x6c, 0x37, 0xe9, 0xf3, 0xbc, 0x6d, 0xec, 0x97,
3576 0x60, 0x36, 0xa2, 0x4e, 0x65, 0xc0, 0x7f, 0xfb, 0x13, 0x4d, 0xd6, 0xb1,
3577 0x98, 0x91, 0xa9, 0xab, 0x4c, 0x5e, 0xc6, 0xfc, 0x6f, 0x99, 0x8c, 0x41,
3578 0xd5, 0x5a, 0x71, 0xcd, 0xfc, 0x09, 0x72, 0x72, 0x68, 0xe4, 0x6f, 0xbd,
3579 0x7d, 0x78, 0xa4, 0x2f, 0x2f, 0xb3, 0xe2, 0x1d, 0xc3, 0xc3, 0x96, 0xb2,
3580 0xd1, 0x82, 0x86, 0xf8, 0xb8, 0x26, 0x91, 0x6d, 0xf0, 0xea, 0x6e, 0x6f,
3581 0x3f, 0xb1, 0x1b, 0x60, 0x9a, 0x55, 0x80, 0x9d, 0x9f, 0xca, 0xe8, 0xeb,
3582 0x5a, 0x83, 0xa1, 0xc7, 0x91, 0x4f, 0x37, 0xac, 0x9c, 0x34, 0xb5, 0xca,
3583 0x87, 0x5f, 0x06, 0x7c, 0x04, 0xaa, 0xd6, 0xa3, 0xd3, 0x96, 0xd6, 0xde,
3584 0x7d, 0xe3, 0xdd, 0x56, 0x97, 0x32, 0xc7, 0x46, 0x49, 0xaa, 0x66, 0x49,
3585 0xf3, 0x1f, 0x0a, 0xbb, 0x6b, 0xc7, 0x40, 0xf9, 0x1c, 0xca, 0x6d, 0xbb,
3586 0xa2, 0x9a, 0xf4, 0xae, 0x38, 0xf6, 0x53, 0x12, 0xb9, 0xea, 0xef, 0x97,
3587 0xbd, 0xfa, 0x1d, 0xb3, 0x85, 0x25, 0x0e, 0x24, 0x8c, 0xd2, 0x2d, 0x6e,
3588 0x2d, 0xeb, 0xd0, 0x4c, 0x1f, 0x82, 0x99, 0x96, 0x7f, 0x7f, 0x55, 0x13,
3589 0x20, 0x24, 0xd0, 0xa3, 0x62, 0x47, 0x84, 0x24, 0x3e, 0x61, 0xc1, 0x97,
3590 0xa8, 0x56, 0x1a, 0x60, 0x88, 0x13, 0x36, 0x82, 0xc8, 0xfe, 0x8e, 0x96,
3591 0x83, 0x47, 0x40, 0xc4, 0x89, 0x5d, 0x8d, 0xb4, 0xa8, 0x4e, 0x44, 0x7e,
3592 0xc1, 0x72, 0x79, 0xd5, 0xc8, 0x10, 0x72, 0x76, 0x38, 0x84, 0x43, 0x92,
3593 0x17, 0x6b, 0x9e, 0xbd, 0xa8, 0x35, 0xbf, 0xe8, 0xb3, 0xd5, 0x97, 0xbf,
3594 0xb7, 0x6a, 0x3c, 0xca, 0xb9, 0x9c, 0x3f, 0x92, 0x94, 0xb3, 0x5d, 0x82,
3595 0xca, 0xa7, 0x19, 0xa4, 0x96, 0xa7, 0xbe, 0xfa, 0xc5, 0xd0, 0xb0, 0xf3,
3596 0x93, 0x8d, 0x2f, 0x39, 0x4a, 0x08, 0x5d, 0xfc, 0x5d, 0xfe, 0x99, 0x2a,
3597 0x4e, 0x3a, 0x90, 0x10, 0xc6, 0xf8, 0x4c, 0xe3, 0xae, 0xcb, 0xd5, 0x7f,
3598 0x18, 0xab, 0xe6, 0x3b, 0x48, 0xf5, 0xdf, 0x25, 0x51, 0xe4, 0xad, 0x3e,
3599 0x77, 0x60, 0x5d, 0x68, 0xa5, 0x91, 0xcb, 0x09, 0x6b, 0x2d, 0x98, 0x51,
3600 0x73, 0x6b, 0x5b, 0xa9, 0x45, 0xfa, 0xf5, 0xa1, 0xdc, 0x3b, 0x12, 0x05,
3601 0x70, 0x1d, 0x73, 0x63, 0x2d, 0xa3, 0x28, 0xac, 0x51, 0xe6, 0x0d, 0x61
3602};
3603static const uint8_t ac_rsassa_vect18_prime1[] = {
3604 0xea, 0x1e, 0xe9, 0x51, 0xc9, 0x72, 0xdf, 0x9e, 0x72, 0x8e, 0xea, 0xe8,
3605 0x09, 0x78, 0x52, 0x2e, 0xfe, 0x7f, 0x87, 0x6e, 0xc5, 0x04, 0x88, 0x6b,
3606 0x67, 0xf6, 0x2b, 0x0d, 0xd2, 0x0b, 0xfb, 0x4f, 0xa2, 0x1c, 0x8c, 0xf6,
3607 0x8a, 0xbe, 0x8b, 0x1b, 0x1c, 0xec, 0x7e, 0x75, 0xf8, 0xd9, 0xed, 0x55,
3608 0x04, 0x08, 0xcc, 0x2c, 0x8b, 0x67, 0xa8, 0xc2, 0xfb, 0x2e, 0x0d, 0xd9,
3609 0x14, 0x70, 0x13, 0xf7, 0x94, 0x15, 0x74, 0xdd, 0x23, 0x66, 0x45, 0x43,
3610 0x41, 0x30, 0xc8, 0xec, 0x06, 0x23, 0xfc, 0xd6, 0xaa, 0x9d, 0x95, 0xa6,
3611 0x2b, 0xee, 0x53, 0xf5, 0xd5, 0x6c, 0x01, 0x23, 0x42, 0xa9, 0x36, 0x93,
3612 0xe1, 0x03, 0x96, 0x01, 0xce, 0x55, 0x14, 0xc0, 0xc0, 0x46, 0x9b, 0x93,
3613 0xca, 0x8d, 0x45, 0xf7, 0x6a, 0x2c, 0x4e, 0x5b, 0x25, 0x63, 0x7b, 0xef,
3614 0xdd, 0x38, 0x75, 0x51, 0xc6, 0x12, 0x5a, 0xbd, 0x4a, 0x4a, 0xee, 0xbf,
3615 0x0d, 0xc4, 0x42, 0x45, 0xcc, 0xf0, 0xb6, 0x05, 0x59, 0x21, 0x84, 0xb1,
3616 0x1f, 0x2a, 0x5c, 0x25, 0x22, 0xb8, 0xea, 0xc5, 0x60, 0x23, 0x68, 0x0d,
3617 0xa3, 0xf2, 0xe8, 0x1c, 0xfe, 0x6f, 0xfd, 0x95, 0x8a, 0x33, 0xef, 0x4f,
3618 0x2e, 0x24, 0x90, 0xa7, 0x60, 0xd6, 0x5c, 0x72, 0x5a, 0xc5, 0xd7, 0x5b,
3619 0xcf, 0x50, 0x76, 0x32, 0xe5, 0xc3, 0x3d, 0xa7, 0xda, 0x65, 0x86, 0x97
3620};
3621static const uint8_t ac_rsassa_vect18_prime2[] = {
3622 0xdd, 0x5e, 0x29, 0xbb, 0x78, 0x73, 0x74, 0x49, 0xec, 0xd1, 0x71, 0x91,
3623 0xa6, 0x74, 0x11, 0xae, 0x4b, 0x64, 0x6a, 0x5b, 0x60, 0x89, 0x70, 0x0c,
3624 0x1a, 0x3e, 0x3d, 0x42, 0x02, 0xd9, 0x16, 0x18, 0xb5, 0x33, 0xf8, 0xda,
3625 0x7f, 0x76, 0x6d, 0xc3, 0xf2, 0xc1, 0xf6, 0x90, 0x97, 0x2a, 0xbe, 0xeb,
3626 0x15, 0x8a, 0x05, 0xc2, 0xa4, 0xb8, 0xb0, 0x80, 0xe4, 0xc4, 0xc8, 0xc4,
3627 0xb5, 0xcc, 0x1e, 0xf0, 0x02, 0x6e, 0x02, 0xef, 0x5e, 0x35, 0xdb, 0x2e,
3628 0x41, 0x2d, 0xbc, 0x23, 0x44, 0x41, 0xbc, 0x29, 0xbd, 0xa7, 0x70, 0x0c,
3629 0x06, 0x53, 0x12, 0x78, 0x9b, 0x7f, 0x51, 0xfe, 0xb5, 0x82, 0x9c, 0xc9,
3630 0xf6, 0x40, 0x8d, 0xf9, 0x25, 0xd2, 0xae, 0x3f, 0x54, 0x22, 0x62, 0x80,
3631 0x03, 0x1f, 0xa3, 0x14, 0xc3, 0x13, 0x9c, 0x3a, 0xee, 0x3b, 0x34, 0xa3,
3632 0x7e, 0xe2, 0x71, 0xe8, 0x9d, 0x7c, 0xbc, 0x0e, 0x01, 0x34, 0xd5, 0x6d,
3633 0x89, 0x62, 0xd0, 0xaf, 0xe6, 0x03, 0x76, 0x94, 0xe2, 0xdc, 0xea, 0x1a,
3634 0xc7, 0x55, 0x68, 0x81, 0x9d, 0xdc, 0xf7, 0xc9, 0x81, 0xc8, 0x0f, 0x7a,
3635 0x03, 0xc2, 0x83, 0x98, 0xde, 0xc4, 0x4a, 0x1c, 0x7a, 0xc6, 0x13, 0x01,
3636 0x01, 0x04, 0x9a, 0x39, 0x14, 0xa5, 0x8d, 0x6a, 0x47, 0xef, 0xa5, 0xc4,
3637 0x35, 0xee, 0x72, 0x8e, 0x83, 0xe1, 0x74, 0x4e, 0xe2, 0x7b, 0x19, 0x0d
3638};
3639static const uint8_t ac_rsassa_vect18_exp1[] = {
3640 0x9d, 0xde, 0x7a, 0x36, 0x4c, 0x40, 0xc9, 0xc9, 0x6e, 0x36, 0x30, 0xf0,
3641 0x86, 0x72, 0x3b, 0xf8, 0xb4, 0x64, 0x0a, 0x4f, 0x07, 0x4b, 0x27, 0x32,
3642 0x45, 0xc8, 0x19, 0x00, 0x18, 0xc3, 0x3b, 0x93, 0x57, 0x1d, 0x29, 0x70,
3643 0x95, 0xde, 0x26, 0xaf, 0x01, 0xb1, 0xf7, 0x14, 0x55, 0xd9, 0x9d, 0xcf,
3644 0xd6, 0x08, 0x98, 0xa4, 0xf0, 0xdb, 0xd5, 0x50, 0xa5, 0x4f, 0x48, 0xc7,
3645 0x38, 0xa0, 0xda, 0xd5, 0xf7, 0x65, 0x00, 0x88, 0x9d, 0x76, 0x38, 0xfe,
3646 0x40, 0xd7, 0x44, 0xa4, 0xe2, 0xff, 0x21, 0x5f, 0x1f, 0x6d, 0x63, 0x9b,
3647 0xc9, 0xc3, 0xcb, 0x99, 0xd9, 0x70, 0x1a, 0xd4, 0x4b, 0xff, 0x0e, 0x6e,
3648 0x69, 0x2c, 0xa1, 0xda, 0x55, 0xe7, 0xc9, 0x36, 0xb0, 0x70, 0xec, 0x37,
3649 0x9c, 0x3d, 0xe7, 0x10, 0x0e, 0xe8, 0x11, 0x6e, 0x24, 0xa8, 0x10, 0xca,
3650 0x8d, 0xc1, 0xa4, 0x5a, 0x9f, 0xd5, 0x80, 0x9a, 0x63, 0x9e, 0x63, 0x9f,
3651 0x31, 0x09, 0x46, 0x27, 0x0b, 0x2a, 0xc5, 0x92, 0x95, 0xa7, 0xa4, 0x72,
3652 0x4b, 0x31, 0xa5, 0x30, 0xe5, 0x59, 0x0b, 0xf6, 0x4b, 0xfd, 0x94, 0x0c,
3653 0x9e, 0xa1, 0x0d, 0x23, 0x7f, 0xee, 0xc4, 0x70, 0x31, 0xe1, 0x13, 0x5d,
3654 0xb1, 0x1f, 0xb6, 0xeb, 0x26, 0xc1, 0x65, 0x55, 0x37, 0x20, 0x71, 0x37,
3655 0xd7, 0x73, 0xca, 0x40, 0x47, 0xee, 0x7f, 0x84, 0xd0, 0x1f, 0xe5, 0xc1
3656};
3657static const uint8_t ac_rsassa_vect18_exp2[] = {
3658 0x6d, 0xdb, 0xa9, 0x42, 0x4c, 0x48, 0x9f, 0xd1, 0x80, 0x21, 0x81, 0x07,
3659 0x13, 0x60, 0x4e, 0xd5, 0xfc, 0xbc, 0x5c, 0xbb, 0xf4, 0x70, 0xc0, 0x96,
3660 0x80, 0xff, 0x9a, 0x4f, 0x04, 0x32, 0xcf, 0xf0, 0x7b, 0x1c, 0xcb, 0xc7,
3661 0x43, 0xb2, 0x76, 0x4e, 0xe4, 0x4e, 0xb6, 0x1a, 0x93, 0xaa, 0xb7, 0x0c,
3662 0xdb, 0xa7, 0x9f, 0xac, 0x35, 0x2b, 0x23, 0x0d, 0x14, 0x7b, 0x44, 0x57,
3663 0xbb, 0x11, 0x0d, 0xd9, 0x76, 0x9b, 0x3a, 0x01, 0xa8, 0xf3, 0x79, 0x4e,
3664 0xbf, 0x31, 0xff, 0x48, 0x51, 0x3b, 0x7e, 0x32, 0x08, 0xd8, 0xeb, 0x96,
3665 0x4c, 0x1d, 0x35, 0xf1, 0x7c, 0xd9, 0xf6, 0xcb, 0x3d, 0x31, 0x10, 0xb6,
3666 0x79, 0xeb, 0x17, 0x8a, 0x29, 0xe7, 0x20, 0x6a, 0x75, 0x4a, 0x8b, 0x2f,
3667 0x94, 0x5d, 0x43, 0x05, 0xae, 0xba, 0x30, 0xb2, 0x5e, 0x40, 0x2b, 0xa3,
3668 0x67, 0xf8, 0xe1, 0x26, 0xdb, 0xe1, 0x67, 0x42, 0x5b, 0xfe, 0xe8, 0x5c,
3669 0x6f, 0xee, 0x06, 0x3b, 0x05, 0x1f, 0x7a, 0xdd, 0xf0, 0xa8, 0x49, 0xd5,
3670 0xf8, 0x4e, 0xbe, 0x8a, 0x74, 0xd9, 0x90, 0x6f, 0x04, 0x65, 0x50, 0xa8,
3671 0xf0, 0xec, 0xbb, 0x7a, 0x46, 0x33, 0x8b, 0xc4, 0x0e, 0x79, 0xf6, 0x3c,
3672 0x6d, 0x50, 0xe7, 0x68, 0xa4, 0x82, 0x74, 0x67, 0xe6, 0x43, 0x5c, 0x34,
3673 0xbf, 0xbf, 0x12, 0x42, 0xff, 0xd8, 0x07, 0x6c, 0x8e, 0xa1, 0x20, 0x91
3674};
3675static const uint8_t ac_rsassa_vect18_coeff[] = {
3676 0x83, 0x1f, 0x72, 0x3b, 0x3f, 0x9e, 0x46, 0x88, 0x83, 0xb3, 0xa0, 0xe2,
3677 0xa8, 0xf0, 0x56, 0x97, 0x3e, 0x4a, 0xed, 0x56, 0x46, 0xdf, 0xf8, 0x21,
3678 0xf5, 0xb8, 0xf9, 0xd8, 0x43, 0x3c, 0xf4, 0x39, 0x51, 0xd2, 0xf3, 0xa0,
3679 0x6f, 0x57, 0x18, 0xc0, 0xe1, 0x8a, 0x6a, 0xc0, 0x49, 0x34, 0xf6, 0x4d,
3680 0x60, 0xf6, 0xd0, 0x0f, 0x64, 0x58, 0xed, 0x17, 0x7d, 0x68, 0x47, 0x05,
3681 0x6f, 0x64, 0x2e, 0xa9, 0x53, 0xa8, 0x17, 0x65, 0x13, 0xdc, 0x27, 0x51,
3682 0xe3, 0x35, 0x01, 0xb8, 0x0c, 0x68, 0xfd, 0xaf, 0xa3, 0xf7, 0xb1, 0x9a,
3683 0xdc, 0x7b, 0x1b, 0xf7, 0xcc, 0x90, 0x8e, 0x93, 0xbc, 0x08, 0x15, 0xa7,
3684 0xc0, 0x92, 0xa0, 0xa3, 0xc9, 0x17, 0x9d, 0x8d, 0x3d, 0x10, 0x4f, 0xe6,
3685 0xa3, 0x4b, 0x91, 0x21, 0x42, 0x7c, 0xdf, 0x9c, 0x71, 0xed, 0xe1, 0x30,
3686 0x76, 0xf5, 0x1c, 0x71, 0xa0, 0x47, 0xc8, 0xa6, 0x2a, 0x94, 0x01, 0x49,
3687 0xae, 0x2e, 0x90, 0x47, 0x21, 0x17, 0xae, 0x10, 0x91, 0x53, 0x91, 0x88,
3688 0x88, 0xb4, 0x12, 0x50, 0x47, 0x7d, 0xf6, 0xfb, 0xde, 0x12, 0x6b, 0xc2,
3689 0x50, 0x4f, 0x59, 0x61, 0x81, 0x42, 0xe7, 0x19, 0x72, 0x73, 0xef, 0x9d,
3690 0x7c, 0xa0, 0xf4, 0x30, 0x91, 0xa8, 0x6a, 0x46, 0x9c, 0x5c, 0x0f, 0x9a,
3691 0xeb, 0x1f, 0x00, 0x1e, 0x0c, 0x49, 0x1f, 0xb8, 0x5f, 0x37, 0xd7, 0x4f
3692};
3693static const uint8_t ac_rsassa_vect18_ptx[] = {
3694 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c,
3695 0x0d, 0x0e, 0x0f, 0x10 };
3696static const uint8_t ac_rsassa_vect18_out[] = {
3697 0x06, 0xe3, 0x94, 0xdc, 0x4b, 0xbc, 0xa5, 0x80, 0x7e, 0x65, 0x65, 0xe2,
3698 0x6c, 0x91, 0x8b, 0x57, 0x52, 0x29, 0xa0, 0x05, 0x20, 0xef, 0x49, 0xb1,
3699 0xf9, 0xdb, 0x9e, 0xd8, 0x2e, 0x65, 0x9d, 0x61, 0xa8, 0xda, 0x9a, 0x95,
3700 0xab, 0xa6, 0x8e, 0x7b, 0xfd, 0x89, 0x5f, 0x5b, 0xfc, 0x10, 0x12, 0x98,
3701 0x4a, 0x2b, 0x48, 0x38, 0x2d, 0x66, 0x4c, 0x5b, 0x2c, 0xe2, 0x4d, 0xaa,
3702 0xa3, 0x19, 0x64, 0xf1, 0xf1, 0x4b, 0xd5, 0x06, 0x14, 0x83, 0xf2, 0x71,
3703 0x5a, 0xef, 0x81, 0xa2, 0xaa, 0x5a, 0xfa, 0x48, 0x38, 0x4a, 0x46, 0x52,
3704 0xb2, 0xbd, 0x10, 0x1b, 0x11, 0xa1, 0x46, 0x2d, 0x51, 0x59, 0xc0, 0x49,
3705 0x32, 0x43, 0x83, 0x28, 0xe0, 0x59, 0x0b, 0x6a, 0xef, 0x5d, 0xee, 0x37,
3706 0xca, 0xd8, 0x8f, 0xd5, 0xcf, 0x57, 0x4b, 0xac, 0x80, 0x3d, 0x05, 0xa0,
3707 0x15, 0x0c, 0x27, 0xee, 0xa2, 0x91, 0xfb, 0x1d, 0x4f, 0xbd, 0x45, 0x39,
3708 0x34, 0x37, 0x05, 0x82, 0x8f, 0x19, 0x4e, 0x20, 0xb8, 0x3b, 0x7e, 0x60,
3709 0x0a, 0x2f, 0x48, 0xaa, 0xf9, 0xa3, 0x5e, 0xd5, 0xd8, 0xdb, 0xc1, 0x61,
3710 0xa3, 0x95, 0x72, 0x19, 0xba, 0x97, 0xd6, 0x5f, 0x5d, 0xb3, 0x50, 0x51,
3711 0xb8, 0x5a, 0x1a, 0x8a, 0x0f, 0xd2, 0x25, 0xdc, 0x12, 0xd1, 0x96, 0xac,
3712 0x8c, 0x70, 0x47, 0x46, 0x35, 0xdf, 0xb1, 0x15, 0xf6, 0x65, 0xc3, 0x6d,
3713 0xd5, 0xd7, 0x4c, 0xb2, 0xa3, 0xc7, 0x03, 0xd6, 0xc1, 0x8d, 0x33, 0x56,
3714 0x49, 0xf4, 0xf4, 0x4e, 0x44, 0x83, 0xee, 0x7a, 0xb9, 0xdc, 0x5f, 0x7c,
3715 0x85, 0x10, 0x0e, 0x30, 0x46, 0x73, 0x7e, 0x44, 0x42, 0x17, 0x8f, 0x20,
3716 0x12, 0x13, 0x39, 0x5d, 0x55, 0x6b, 0xb2, 0x3c, 0xde, 0xae, 0xb9, 0xa0,
3717 0xb3, 0x0a, 0x81, 0x08, 0x72, 0xf8, 0xb3, 0xc4, 0xb9, 0x79, 0x09, 0x5d,
3718 0x81, 0x56, 0x49, 0xab, 0x07, 0xbd, 0xce, 0xd7, 0x39, 0x94, 0xfb, 0xfc,
3719 0x73, 0x2d, 0xd6, 0x9f, 0x7f, 0x26, 0x39, 0x05, 0xe5, 0xc9, 0x0b, 0x67,
3720 0x71, 0x09, 0xac, 0xfd, 0x75, 0x26, 0x92, 0xd6, 0x02, 0xf1, 0xa8, 0x25,
3721 0xee, 0x7c, 0xb6, 0x46, 0x28, 0xb6, 0x92, 0xf0, 0x99, 0xdc, 0x6e, 0xf1,
3722 0xa4, 0x9d, 0xc1, 0x45, 0x9d, 0x19, 0xd5, 0x78, 0x93, 0xc0, 0x2c, 0x3c,
3723 0x8b, 0x3c, 0x96, 0xf9, 0x84, 0x26, 0xc9, 0xf0, 0xe0, 0xde, 0xce, 0x23,
3724 0x7e, 0xe4, 0x06, 0xef, 0x5a, 0xea, 0x24, 0x65, 0x97, 0x4c, 0xd8, 0x48,
3725 0x44, 0xb1, 0x59, 0x8a, 0x15, 0x95, 0x62, 0xc9, 0xee, 0x86, 0x63, 0x32,
3726 0xba, 0xe2, 0xfc, 0x05, 0x5e, 0x17, 0x5c, 0x69, 0x8f, 0x04, 0x02, 0x91,
3727 0xec, 0x46, 0xf8, 0x0a, 0xd1, 0xb0, 0x95, 0x40, 0x3d, 0x92, 0x6e, 0xdf,
3728 0xf6, 0xe7, 0x3e, 0xc6, 0x40, 0x05, 0xdf, 0x82, 0xe6, 0xe0, 0x9f, 0x1b
3729};
3730
3731/*
Pascal Brandc639ac82015-07-02 08:53:34 +02003732 * Test data from ftp://ftp.rsa.com/pub/rsalabs/tmp/pkcs1v15sign-vectors.txt
3733 *
3734 * As specified in PKCS#1, the block type for this operation
3735 * is 1. The digest algorithm is SHA-1; i.e. the given message
3736 * must be hashed and the SHA-1 hash must be encapsulated in a
3737 * DigestInfo structure as specified in PKCS#1 v1.5.
3738 */
3739
3740/* PKCS#1 v1.5 Signature Example 1 1024-bit RSA key pair */
3741static const uint8_t ac_rsassa_example1_modulus[] = {
3742 0xa5, 0x6e, 0x4a, 0x0e, 0x70, 0x10, 0x17, 0x58, 0x9a, 0x51, 0x87, 0xdc,
3743 0x7e, 0xa8, 0x41, 0xd1,
3744 0x56, 0xf2, 0xec, 0x0e, 0x36, 0xad, 0x52, 0xa4, 0x4d, 0xfe, 0xb1, 0xe6,
3745 0x1f, 0x7a, 0xd9, 0x91,
3746 0xd8, 0xc5, 0x10, 0x56, 0xff, 0xed, 0xb1, 0x62, 0xb4, 0xc0, 0xf2, 0x83,
3747 0xa1, 0x2a, 0x88, 0xa3,
3748 0x94, 0xdf, 0xf5, 0x26, 0xab, 0x72, 0x91, 0xcb, 0xb3, 0x07, 0xce, 0xab,
3749 0xfc, 0xe0, 0xb1, 0xdf,
3750 0xd5, 0xcd, 0x95, 0x08, 0x09, 0x6d, 0x5b, 0x2b, 0x8b, 0x6d, 0xf5, 0xd6,
3751 0x71, 0xef, 0x63, 0x77,
3752 0xc0, 0x92, 0x1c, 0xb2, 0x3c, 0x27, 0x0a, 0x70, 0xe2, 0x59, 0x8e, 0x6f,
3753 0xf8, 0x9d, 0x19, 0xf1,
3754 0x05, 0xac, 0xc2, 0xd3, 0xf0, 0xcb, 0x35, 0xf2, 0x92, 0x80, 0xe1, 0x38,
3755 0x6b, 0x6f, 0x64, 0xc4,
3756 0xef, 0x22, 0xe1, 0xe1, 0xf2, 0x0d, 0x0c, 0xe8, 0xcf, 0xfb, 0x22, 0x49,
3757 0xbd, 0x9a, 0x21, 0x37,
3758};
3759static const uint8_t ac_rsassa_example1_pub_exp[] = {
3760 0x01, 0x00, 0x01
3761};
3762static const uint8_t ac_rsassa_example1_priv_exp[] = {
3763 0x33, 0xa5, 0x04, 0x2a, 0x90, 0xb2, 0x7d, 0x4f, 0x54, 0x51, 0xca, 0x9b,
3764 0xbb, 0xd0, 0xb4, 0x47,
3765 0x71, 0xa1, 0x01, 0xaf, 0x88, 0x43, 0x40, 0xae, 0xf9, 0x88, 0x5f, 0x2a,
3766 0x4b, 0xbe, 0x92, 0xe8,
3767 0x94, 0xa7, 0x24, 0xac, 0x3c, 0x56, 0x8c, 0x8f, 0x97, 0x85, 0x3a, 0xd0,
3768 0x7c, 0x02, 0x66, 0xc8,
3769 0xc6, 0xa3, 0xca, 0x09, 0x29, 0xf1, 0xe8, 0xf1, 0x12, 0x31, 0x88, 0x44,
3770 0x29, 0xfc, 0x4d, 0x9a,
3771 0xe5, 0x5f, 0xee, 0x89, 0x6a, 0x10, 0xce, 0x70, 0x7c, 0x3e, 0xd7, 0xe7,
3772 0x34, 0xe4, 0x47, 0x27,
3773 0xa3, 0x95, 0x74, 0x50, 0x1a, 0x53, 0x26, 0x83, 0x10, 0x9c, 0x2a, 0xba,
3774 0xca, 0xba, 0x28, 0x3c,
3775 0x31, 0xb4, 0xbd, 0x2f, 0x53, 0xc3, 0xee, 0x37, 0xe3, 0x52, 0xce, 0xe3,
3776 0x4f, 0x9e, 0x50, 0x3b,
3777 0xd8, 0x0c, 0x06, 0x22, 0xad, 0x79, 0xc6, 0xdc, 0xee, 0x88, 0x35, 0x47,
3778 0xc6, 0xa3, 0xb3, 0x25,
3779};
3780static const uint8_t ac_rsassa_example1_prime1[] = {
3781 0xe7, 0xe8, 0x94, 0x27, 0x20, 0xa8, 0x77, 0x51, 0x72, 0x73, 0xa3, 0x56,
3782 0x05, 0x3e, 0xa2, 0xa1,
3783 0xbc, 0x0c, 0x94, 0xaa, 0x72, 0xd5, 0x5c, 0x6e, 0x86, 0x29, 0x6b, 0x2d,
3784 0xfc, 0x96, 0x79, 0x48,
3785 0xc0, 0xa7, 0x2c, 0xbc, 0xcc, 0xa7, 0xea, 0xcb, 0x35, 0x70, 0x6e, 0x09,
3786 0xa1, 0xdf, 0x55, 0xa1,
3787 0x53, 0x5b, 0xd9, 0xb3, 0xcc, 0x34, 0x16, 0x0b, 0x3b, 0x6d, 0xcd, 0x3e,
3788 0xda, 0x8e, 0x64, 0x43,
3789};
3790static const uint8_t ac_rsassa_example1_prime2[] = {
3791 0xb6, 0x9d, 0xca, 0x1c, 0xf7, 0xd4, 0xd7, 0xec, 0x81, 0xe7, 0x5b, 0x90,
3792 0xfc, 0xca, 0x87, 0x4a,
3793 0xbc, 0xde, 0x12, 0x3f, 0xd2, 0x70, 0x01, 0x80, 0xaa, 0x90, 0x47, 0x9b,
3794 0x6e, 0x48, 0xde, 0x8d,
3795 0x67, 0xed, 0x24, 0xf9, 0xf1, 0x9d, 0x85, 0xba, 0x27, 0x58, 0x74, 0xf5,
3796 0x42, 0xcd, 0x20, 0xdc,
3797 0x72, 0x3e, 0x69, 0x63, 0x36, 0x4a, 0x1f, 0x94, 0x25, 0x45, 0x2b, 0x26,
3798 0x9a, 0x67, 0x99, 0xfd,
3799};
3800static const uint8_t ac_rsassa_example1_exp1[] = {
3801 0x28, 0xfa, 0x13, 0x93, 0x86, 0x55, 0xbe, 0x1f, 0x8a, 0x15, 0x9c, 0xba,
3802 0xca, 0x5a, 0x72, 0xea,
3803 0x19, 0x0c, 0x30, 0x08, 0x9e, 0x19, 0xcd, 0x27, 0x4a, 0x55, 0x6f, 0x36,
3804 0xc4, 0xf6, 0xe1, 0x9f,
3805 0x55, 0x4b, 0x34, 0xc0, 0x77, 0x79, 0x04, 0x27, 0xbb, 0xdd, 0x8d, 0xd3,
3806 0xed, 0xe2, 0x44, 0x83,
3807 0x28, 0xf3, 0x85, 0xd8, 0x1b, 0x30, 0xe8, 0xe4, 0x3b, 0x2f, 0xff, 0xa0,
3808 0x27, 0x86, 0x19, 0x79,
3809};
3810static const uint8_t ac_rsassa_example1_exp2[] = {
3811 0x1a, 0x8b, 0x38, 0xf3, 0x98, 0xfa, 0x71, 0x20, 0x49, 0x89, 0x8d, 0x7f,
3812 0xb7, 0x9e, 0xe0, 0xa7,
3813 0x76, 0x68, 0x79, 0x12, 0x99, 0xcd, 0xfa, 0x09, 0xef, 0xc0, 0xe5, 0x07,
3814 0xac, 0xb2, 0x1e, 0xd7,
3815 0x43, 0x01, 0xef, 0x5b, 0xfd, 0x48, 0xbe, 0x45, 0x5e, 0xae, 0xb6, 0xe1,
3816 0x67, 0x82, 0x55, 0x82,
3817 0x75, 0x80, 0xa8, 0xe4, 0xe8, 0xe1, 0x41, 0x51, 0xd1, 0x51, 0x0a, 0x82,
3818 0xa3, 0xf2, 0xe7, 0x29,
3819};
3820static const uint8_t ac_rsassa_example1_coeff[] = {
3821 0x27, 0x15, 0x6a, 0xba, 0x41, 0x26, 0xd2, 0x4a, 0x81, 0xf3, 0xa5, 0x28,
3822 0xcb, 0xfb, 0x27, 0xf5,
3823 0x68, 0x86, 0xf8, 0x40, 0xa9, 0xf6, 0xe8, 0x6e, 0x17, 0xa4, 0x4b, 0x94,
3824 0xfe, 0x93, 0x19, 0x58,
3825 0x4b, 0x8e, 0x22, 0xfd, 0xde, 0x1e, 0x5a, 0x2e, 0x3b, 0xd8, 0xaa, 0x5b,
3826 0xa8, 0xd8, 0x58, 0x41,
3827 0x94, 0xeb, 0x21, 0x90, 0xac, 0xf8, 0x32, 0xb8, 0x47, 0xf1, 0x3a, 0x3d,
3828 0x24, 0xa7, 0x9f, 0x4d,
3829};
3830
3831/* PKCS#1 v1.5 Signature Example 1.1 */
3832#define ac_rsassa_vect3_modulus ac_rsassa_example1_modulus
3833#define ac_rsassa_vect3_pub_exp ac_rsassa_example1_pub_exp
3834#define ac_rsassa_vect3_priv_exp ac_rsassa_example1_priv_exp
3835#define ac_rsassa_vect3_prime1 ac_rsassa_example1_prime1
3836#define ac_rsassa_vect3_prime2 ac_rsassa_example1_prime2
3837#define ac_rsassa_vect3_exp1 ac_rsassa_example1_exp1
3838#define ac_rsassa_vect3_exp2 ac_rsassa_example1_exp2
3839#define ac_rsassa_vect3_coeff ac_rsassa_example1_coeff
3840static const uint8_t ac_rsassa_vect3_ptx[] = {
3841 0xcd, 0xc8, 0x7d, 0xa2, 0x23, 0xd7, 0x86, 0xdf, 0x3b, 0x45, 0xe0, 0xbb,
3842 0xbc, 0x72, 0x13, 0x26,
3843 0xd1, 0xee, 0x2a, 0xf8, 0x06, 0xcc, 0x31, 0x54, 0x75, 0xcc, 0x6f, 0x0d,
3844 0x9c, 0x66, 0xe1, 0xb6,
3845 0x23, 0x71, 0xd4, 0x5c, 0xe2, 0x39, 0x2e, 0x1a, 0xc9, 0x28, 0x44, 0xc3,
3846 0x10, 0x10, 0x2f, 0x15,
3847 0x6a, 0x0d, 0x8d, 0x52, 0xc1, 0xf4, 0xc4, 0x0b, 0xa3, 0xaa, 0x65, 0x09,
3848 0x57, 0x86, 0xcb, 0x76,
3849 0x97, 0x57, 0xa6, 0x56, 0x3b, 0xa9, 0x58, 0xfe, 0xd0, 0xbc, 0xc9, 0x84,
3850 0xe8, 0xb5, 0x17, 0xa3,
3851 0xd5, 0xf5, 0x15, 0xb2, 0x3b, 0x8a, 0x41, 0xe7, 0x4a, 0xa8, 0x67, 0x69,
3852 0x3f, 0x90, 0xdf, 0xb0,
3853 0x61, 0xa6, 0xe8, 0x6d, 0xfa, 0xae, 0xe6, 0x44, 0x72, 0xc0, 0x0e, 0x5f,
3854 0x20, 0x94, 0x57, 0x29,
3855 0xcb, 0xeb, 0xe7, 0x7f, 0x06, 0xce, 0x78, 0xe0, 0x8f, 0x40, 0x98, 0xfb,
3856 0xa4, 0x1f, 0x9d, 0x61,
3857 0x93, 0xc0, 0x31, 0x7e, 0x8b, 0x60, 0xd4, 0xb6, 0x08, 0x4a, 0xcb, 0x42,
3858 0xd2, 0x9e, 0x38, 0x08,
3859 0xa3, 0xbc, 0x37, 0x2d, 0x85, 0xe3, 0x31, 0x17, 0x0f, 0xcb, 0xf7, 0xcc,
3860 0x72, 0xd0, 0xb7, 0x1c,
3861 0x29, 0x66, 0x48, 0xb3, 0xa4, 0xd1, 0x0f, 0x41, 0x62, 0x95, 0xd0, 0x80,
3862 0x7a, 0xa6, 0x25, 0xca,
3863 0xb2, 0x74, 0x4f, 0xd9, 0xea, 0x8f, 0xd2, 0x23, 0xc4, 0x25, 0x37, 0x02,
3864 0x98, 0x28, 0xbd, 0x16,
3865 0xbe, 0x02, 0x54, 0x6f, 0x13, 0x0f, 0xd2, 0xe3, 0x3b, 0x93, 0x6d, 0x26,
3866 0x76, 0xe0, 0x8a, 0xed,
3867 0x1b, 0x73, 0x31, 0x8b, 0x75, 0x0a, 0x01, 0x67, 0xd0,
3868};
3869static const uint8_t ac_rsassa_vect3_out[] = {
3870 0x6b, 0xc3, 0xa0, 0x66, 0x56, 0x84, 0x29, 0x30, 0xa2, 0x47, 0xe3, 0x0d,
3871 0x58, 0x64, 0xb4, 0xd8,
3872 0x19, 0x23, 0x6b, 0xa7, 0xc6, 0x89, 0x65, 0x86, 0x2a, 0xd7, 0xdb, 0xc4,
3873 0xe2, 0x4a, 0xf2, 0x8e,
3874 0x86, 0xbb, 0x53, 0x1f, 0x03, 0x35, 0x8b, 0xe5, 0xfb, 0x74, 0x77, 0x7c,
3875 0x60, 0x86, 0xf8, 0x50,
3876 0xca, 0xef, 0x89, 0x3f, 0x0d, 0x6f, 0xcc, 0x2d, 0x0c, 0x91, 0xec, 0x01,
3877 0x36, 0x93, 0xb4, 0xea,
3878 0x00, 0xb8, 0x0c, 0xd4, 0x9a, 0xac, 0x4e, 0xcb, 0x5f, 0x89, 0x11, 0xaf,
3879 0xe5, 0x39, 0xad, 0xa4,
3880 0xa8, 0xf3, 0x82, 0x3d, 0x1d, 0x13, 0xe4, 0x72, 0xd1, 0x49, 0x05, 0x47,
3881 0xc6, 0x59, 0xc7, 0x61,
3882 0x7f, 0x3d, 0x24, 0x08, 0x7d, 0xdb, 0x6f, 0x2b, 0x72, 0x09, 0x61, 0x67,
3883 0xfc, 0x09, 0x7c, 0xab,
3884 0x18, 0xe9, 0xa4, 0x58, 0xfc, 0xb6, 0x34, 0xcd, 0xce, 0x8e, 0xe3, 0x58,
3885 0x94, 0xc4, 0x84, 0xd7,
3886};
3887
3888/* PKCS#1 v1.5 Signature Example 1.2 */
3889#define ac_rsassa_vect4_modulus ac_rsassa_example1_modulus
3890#define ac_rsassa_vect4_pub_exp ac_rsassa_example1_pub_exp
3891#define ac_rsassa_vect4_priv_exp ac_rsassa_example1_priv_exp
3892#define ac_rsassa_vect4_prime1 ac_rsassa_example1_prime1
3893#define ac_rsassa_vect4_prime2 ac_rsassa_example1_prime2
3894#define ac_rsassa_vect4_exp1 ac_rsassa_example1_exp1
3895#define ac_rsassa_vect4_exp2 ac_rsassa_example1_exp2
3896#define ac_rsassa_vect4_coeff ac_rsassa_example1_coeff
3897static const uint8_t ac_rsassa_vect4_ptx[] = {
3898 0x85, 0x13, 0x84, 0xcd, 0xfe, 0x81, 0x9c, 0x22, 0xed, 0x6c, 0x4c, 0xcb,
3899 0x30, 0xda, 0xeb, 0x5c,
3900 0xf0, 0x59, 0xbc, 0x8e, 0x11, 0x66, 0xb7, 0xe3, 0x53, 0x0c, 0x4c, 0x23,
3901 0x3e, 0x2b, 0x5f, 0x8f,
3902 0x71, 0xa1, 0xcc, 0xa5, 0x82, 0xd4, 0x3e, 0xcc, 0x72, 0xb1, 0xbc, 0xa1,
3903 0x6d, 0xfc, 0x70, 0x13,
3904 0x22, 0x6b, 0x9e,
3905};
3906static const uint8_t ac_rsassa_vect4_out[] = {
3907 0x84, 0xfd, 0x2c, 0xe7, 0x34, 0xec, 0x1d, 0xa8, 0x28, 0xd0, 0xf1, 0x5b,
3908 0xf4, 0x9a, 0x87, 0x07,
3909 0xc1, 0x5d, 0x05, 0x94, 0x81, 0x36, 0xde, 0x53, 0x7a, 0x3d, 0xb4, 0x21,
3910 0x38, 0x41, 0x67, 0xc8,
3911 0x6f, 0xae, 0x02, 0x25, 0x87, 0xee, 0x9e, 0x13, 0x7d, 0xae, 0xe7, 0x54,
3912 0x73, 0x82, 0x62, 0x93,
3913 0x2d, 0x27, 0x1c, 0x74, 0x4c, 0x6d, 0x3a, 0x18, 0x9a, 0xd4, 0x31, 0x1b,
3914 0xdb, 0x02, 0x04, 0x92,
3915 0xe3, 0x22, 0xfb, 0xdd, 0xc4, 0x04, 0x06, 0xea, 0x86, 0x0d, 0x4e, 0x8e,
3916 0xa2, 0xa4, 0x08, 0x4a,
3917 0xa9, 0x8b, 0x96, 0x22, 0xa4, 0x46, 0x75, 0x6f, 0xdb, 0x74, 0x0d, 0xdb,
3918 0x3d, 0x91, 0xdb, 0x76,
3919 0x70, 0xe2, 0x11, 0x66, 0x1b, 0xbf, 0x87, 0x09, 0xb1, 0x1c, 0x08, 0xa7,
3920 0x07, 0x71, 0x42, 0x2d,
3921 0x1a, 0x12, 0xde, 0xf2, 0x9f, 0x06, 0x88, 0xa1, 0x92, 0xae, 0xbd, 0x89,
3922 0xe0, 0xf8, 0x96, 0xf8,
3923};
3924
3925/* PKCS#1 v1.5 Signature Example 1.3 */
3926#define ac_rsassa_vect5_modulus ac_rsassa_example1_modulus
3927#define ac_rsassa_vect5_pub_exp ac_rsassa_example1_pub_exp
3928#define ac_rsassa_vect5_priv_exp ac_rsassa_example1_priv_exp
3929#define ac_rsassa_vect5_prime1 ac_rsassa_example1_prime1
3930#define ac_rsassa_vect5_prime2 ac_rsassa_example1_prime2
3931#define ac_rsassa_vect5_exp1 ac_rsassa_example1_exp1
3932#define ac_rsassa_vect5_exp2 ac_rsassa_example1_exp2
3933#define ac_rsassa_vect5_coeff ac_rsassa_example1_coeff
3934static const uint8_t ac_rsassa_vect5_ptx[] = {
3935 0xa4, 0xb1, 0x59, 0x94, 0x17, 0x61, 0xc4, 0x0c, 0x6a, 0x82, 0xf2, 0xb8,
3936 0x0d, 0x1b, 0x94, 0xf5,
3937 0xaa, 0x26, 0x54, 0xfd, 0x17, 0xe1, 0x2d, 0x58, 0x88, 0x64, 0x67, 0x9b,
3938 0x54, 0xcd, 0x04, 0xef,
3939 0x8b, 0xd0, 0x30, 0x12, 0xbe, 0x8d, 0xc3, 0x7f, 0x4b, 0x83, 0xaf, 0x79,
3940 0x63, 0xfa, 0xff, 0x0d,
3941 0xfa, 0x22, 0x54, 0x77, 0x43, 0x7c, 0x48, 0x01, 0x7f, 0xf2, 0xbe, 0x81,
3942 0x91, 0xcf, 0x39, 0x55,
3943 0xfc, 0x07, 0x35, 0x6e, 0xab, 0x3f, 0x32, 0x2f, 0x7f, 0x62, 0x0e, 0x21,
3944 0xd2, 0x54, 0xe5, 0xdb,
3945 0x43, 0x24, 0x27, 0x9f, 0xe0, 0x67, 0xe0, 0x91, 0x0e, 0x2e, 0x81, 0xca,
3946 0x2c, 0xab, 0x31, 0xc7,
3947 0x45, 0xe6, 0x7a, 0x54, 0x05, 0x8e, 0xb5, 0x0d, 0x99, 0x3c, 0xdb, 0x9e,
3948 0xd0, 0xb4, 0xd0, 0x29,
3949 0xc0, 0x6d, 0x21, 0xa9, 0x4c, 0xa6, 0x61, 0xc3, 0xce, 0x27, 0xfa, 0xe1,
3950 0xd6, 0xcb, 0x20, 0xf4,
3951 0x56, 0x4d, 0x66, 0xce, 0x47, 0x67, 0x58, 0x3d, 0x0e, 0x5f, 0x06, 0x02,
3952 0x15, 0xb5, 0x90, 0x17,
3953 0xbe, 0x85, 0xea, 0x84, 0x89, 0x39, 0x12, 0x7b, 0xd8, 0xc9, 0xc4, 0xd4,
3954 0x7b, 0x51, 0x05, 0x6c,
3955 0x03, 0x1c, 0xf3, 0x36, 0xf1, 0x7c, 0x99, 0x80, 0xf3, 0xb8, 0xf5, 0xb9,
3956 0xb6, 0x87, 0x8e, 0x8b,
3957 0x79, 0x7a, 0xa4, 0x3b, 0x88, 0x26, 0x84, 0x33, 0x3e, 0x17, 0x89, 0x3f,
3958 0xe9, 0xca, 0xa6, 0xaa,
3959 0x29, 0x9f, 0x7e, 0xd1, 0xa1, 0x8e, 0xe2, 0xc5, 0x48, 0x64, 0xb7, 0xb2,
3960 0xb9, 0x9b, 0x72, 0x61,
3961 0x8f, 0xb0, 0x25, 0x74, 0xd1, 0x39, 0xef, 0x50, 0xf0, 0x19, 0xc9, 0xee,
3962 0xf4, 0x16, 0x97, 0x13,
3963 0x38, 0xe7, 0xd4, 0x70
3964};
3965static const uint8_t ac_rsassa_vect5_out[] = {
3966 0x0b, 0x1f, 0x2e, 0x51, 0x80, 0xe5, 0xc7, 0xb4, 0xb5, 0xe6, 0x72, 0x92,
3967 0x9f, 0x66, 0x4c, 0x48,
3968 0x96, 0xe5, 0x0c, 0x35, 0x13, 0x4b, 0x6d, 0xe4, 0xd5, 0xa9, 0x34, 0x25,
3969 0x2a, 0x3a, 0x24, 0x5f,
3970 0xf4, 0x83, 0x40, 0x92, 0x0e, 0x10, 0x34, 0xb7, 0xd5, 0xa5, 0xb5, 0x24,
3971 0xeb, 0x0e, 0x1c, 0xf1,
3972 0x2b, 0xef, 0xef, 0x49, 0xb2, 0x7b, 0x73, 0x2d, 0x2c, 0x19, 0xe1, 0xc4,
3973 0x32, 0x17, 0xd6, 0xe1,
3974 0x41, 0x73, 0x81, 0x11, 0x1a, 0x1d, 0x36, 0xde, 0x63, 0x75, 0xcf, 0x45,
3975 0x5b, 0x3c, 0x98, 0x12,
3976 0x63, 0x9d, 0xbc, 0x27, 0x60, 0x0c, 0x75, 0x19, 0x94, 0xfb, 0x61, 0x79,
3977 0x9e, 0xcf, 0x7d, 0xa6,
3978 0xbc, 0xf5, 0x15, 0x40, 0xaf, 0xd0, 0x17, 0x4d, 0xb4, 0x03, 0x31, 0x88,
3979 0x55, 0x66, 0x75, 0xb1,
3980 0xd7, 0x63, 0x36, 0x0a, 0xf4, 0x6f, 0xee, 0xca, 0x5b, 0x60, 0xf8, 0x82,
3981 0x82, 0x9e, 0xe7, 0xb2,
3982};
3983
3984/* PKCS#1 v1.5 Signature Example 1.4 */
3985#define ac_rsassa_vect6_modulus ac_rsassa_example1_modulus
3986#define ac_rsassa_vect6_pub_exp ac_rsassa_example1_pub_exp
3987#define ac_rsassa_vect6_priv_exp ac_rsassa_example1_priv_exp
3988#define ac_rsassa_vect6_prime1 ac_rsassa_example1_prime1
3989#define ac_rsassa_vect6_prime2 ac_rsassa_example1_prime2
3990#define ac_rsassa_vect6_exp1 ac_rsassa_example1_exp1
3991#define ac_rsassa_vect6_exp2 ac_rsassa_example1_exp2
3992#define ac_rsassa_vect6_coeff ac_rsassa_example1_coeff
3993static const uint8_t ac_rsassa_vect6_ptx[] = {
3994 0xbc, 0x65, 0x67, 0x47, 0xfa, 0x9e, 0xaf, 0xb3, 0xf0
3995};
3996static const uint8_t ac_rsassa_vect6_out[] = {
3997 0x45, 0x60, 0x7a, 0xd6, 0x11, 0xcf, 0x57, 0x47, 0xa4, 0x1a, 0xc9, 0x4d,
3998 0x0f, 0xfe, 0xc8, 0x78,
3999 0xbd, 0xaf, 0x63, 0xf6, 0xb5, 0x7a, 0x4b, 0x08, 0x8b, 0xf3, 0x6e, 0x34,
4000 0xe1, 0x09, 0xf8, 0x40,
4001 0xf2, 0x4b, 0x74, 0x2a, 0xda, 0x16, 0x10, 0x2d, 0xab, 0xf9, 0x51, 0xcb,
4002 0xc4, 0x4f, 0x89, 0x82,
4003 0xe9, 0x4e, 0xd4, 0xcd, 0x09, 0x44, 0x8d, 0x20, 0xec, 0x0e, 0xfa, 0x73,
4004 0x54, 0x5f, 0x80, 0xb6,
4005 0x54, 0x06, 0xbe, 0xd6, 0x19, 0x4a, 0x61, 0xc3, 0x40, 0xb4, 0xad, 0x15,
4006 0x68, 0xcb, 0xb7, 0x58,
4007 0x51, 0x04, 0x9f, 0x11, 0xaf, 0x17, 0x34, 0x96, 0x40, 0x76, 0xe0, 0x20,
4008 0x29, 0xae, 0xe2, 0x00,
4009 0xe4, 0x0e, 0x80, 0xbe, 0x0f, 0x43, 0x61, 0xf6, 0x98, 0x41, 0xc4, 0xf9,
4010 0x2a, 0x44, 0x50, 0xa2,
4011 0x28, 0x6d, 0x43, 0x28, 0x9b, 0x40, 0x55, 0x54, 0xc5, 0x4d, 0x25, 0xc6,
4012 0xec, 0xb5, 0x84, 0xf4,
4013};
4014
4015/* PKCS#1 v1.5 Signature Example 7 1025-bit RSA key pair */
4016static const uint8_t ac_rsassa_example2_modulus[] = {
4017 0x01, 0x69, 0x34, 0xcd, 0xff, 0x48, 0x50, 0xb6, 0x00, 0x2c, 0xc0, 0xf0,
4018 0xf4, 0x01, 0x0a, 0x32,
4019 0xc6, 0x55, 0xe5, 0xcf, 0x6e, 0x7c, 0x89, 0x93, 0x7f, 0xd7, 0x55, 0xef,
4020 0x6a, 0xbe, 0x37, 0x9d,
4021 0xad, 0xde, 0x70, 0xcc, 0x21, 0x77, 0x51, 0xf1, 0x4c, 0xba, 0x6d, 0x90,
4022 0xfe, 0x52, 0xdc, 0x0a,
4023 0xf5, 0x8b, 0x25, 0x2f, 0x26, 0xbf, 0x72, 0xda, 0x57, 0x9f, 0xda, 0xf5,
4024 0x7d, 0xdd, 0x6c, 0xd6,
4025 0x02, 0x18, 0x79, 0x94, 0x9a, 0x02, 0x76, 0xb4, 0x43, 0x3f, 0xf0, 0x1e,
4026 0xfc, 0xcc, 0xf3, 0x5a,
4027 0x11, 0xe7, 0xc7, 0x7b, 0x38, 0xc1, 0x8c, 0xca, 0x94, 0xae, 0x01, 0x2d,
4028 0x0f, 0x37, 0x04, 0x21,
4029 0x49, 0x1c, 0x52, 0xad, 0x15, 0xac, 0x76, 0xb1, 0x2e, 0xcd, 0x21, 0x8f,
4030 0x52, 0xe7, 0x57, 0x86,
4031 0x6e, 0x08, 0x9d, 0xd8, 0xad, 0xbb, 0x48, 0xe9, 0xba, 0x89, 0x43, 0x36,
4032 0xc5, 0x75, 0xc4, 0x06,
4033 0x55
4034};
4035static const uint8_t ac_rsassa_example2_pub_exp[] = {
4036 0x01, 0x00, 0x01
4037};
4038static const uint8_t ac_rsassa_example2_priv_exp[] = {
4039 0x0d, 0x17, 0x19, 0xe5, 0xbd, 0x47, 0x6d, 0x87, 0xc7, 0xec, 0xc3, 0x1e,
4040 0xb8, 0xab, 0x42, 0x5d,
4041 0x4f, 0xe4, 0xc8, 0xf5, 0xc7, 0xae, 0x23, 0x0a, 0x10, 0x47, 0x55, 0x3f,
4042 0xfb, 0x53, 0x9f, 0xd3,
4043 0x85, 0x5a, 0xf5, 0xa4, 0x3b, 0x2d, 0xdd, 0x4e, 0x95, 0xa2, 0xb3, 0x0d,
4044 0x40, 0x7a, 0xa8, 0x81,
4045 0x59, 0xbb, 0xad, 0x2a, 0x87, 0x3d, 0x80, 0x93, 0xb4, 0x8a, 0x4b, 0xce,
4046 0x20, 0xad, 0x99, 0x26,
4047 0x25, 0x3e, 0xd3, 0x39, 0xac, 0x3b, 0x54, 0x3f, 0xc7, 0x42, 0x96, 0x95,
4048 0x33, 0x8d, 0xb0, 0xbc,
4049 0x1d, 0xc3, 0x68, 0x6c, 0xfd, 0x13, 0x9b, 0xb5, 0xb2, 0x87, 0x36, 0xbc,
4050 0x16, 0x60, 0xa9, 0x53,
4051 0x48, 0xfc, 0x91, 0xc3, 0x25, 0xd0, 0x3a, 0x7f, 0xb2, 0x16, 0xd2, 0xd9,
4052 0xcd, 0x93, 0x64, 0xde,
4053 0x4e, 0xe7, 0xd2, 0x11, 0x9c, 0x3b, 0x0f, 0xbb, 0xa8, 0xa7, 0x1f, 0x0d,
4054 0x3f, 0x5a, 0xb9, 0xb9,
4055};
4056static const uint8_t ac_rsassa_example2_prime1[] = {
4057 0x01, 0x58, 0xc0, 0x24, 0x6c, 0xd1, 0x69, 0xfc, 0x59, 0x3b, 0x25, 0x8b,
4058 0xbf, 0x45, 0x23, 0xab,
4059 0x2b, 0x55, 0xc4, 0x60, 0x73, 0x3a, 0x7f, 0xb4, 0x69, 0x10, 0x90, 0x77,
4060 0xb3, 0x0e, 0x4d, 0x35,
4061 0xf2, 0x1a, 0x35, 0xb1, 0xf4, 0x1e, 0x42, 0x04, 0xe8, 0x1d, 0x2e, 0x4c,
4062 0x46, 0x3c, 0x24, 0x11,
4063 0x39, 0x34, 0x09, 0x8b, 0x45, 0x2d, 0xab, 0x4b, 0xe1, 0x59, 0x97, 0x20,
4064 0xef, 0x68, 0x72, 0x83,
4065 0x3d
4066};
4067static const uint8_t ac_rsassa_example2_prime2[] = {
4068 0x01, 0x0c, 0x38, 0x2d, 0xea, 0x5e, 0x7d, 0x79, 0x29, 0x8c, 0x64, 0x1f,
4069 0xb2, 0xe4, 0xfa, 0x09,
4070 0xf2, 0x4f, 0x6a, 0x7a, 0x45, 0x9a, 0x88, 0x2c, 0x87, 0xa8, 0x03, 0x49,
4071 0x5f, 0x05, 0x6e, 0xcc,
4072 0x3b, 0x43, 0xc5, 0x37, 0x73, 0x1f, 0x85, 0xef, 0xc8, 0xfb, 0x53, 0x87,
4073 0xad, 0x67, 0x31, 0xa6,
4074 0x43, 0x53, 0x32, 0x15, 0xde, 0xcc, 0x38, 0x7d, 0x96, 0x76, 0x12, 0x2c,
4075 0x17, 0x0e, 0x91, 0xe0,
4076 0xf9
4077};
4078static const uint8_t ac_rsassa_example2_exp1[] = {
4079 0xd5, 0x78, 0xdc, 0xd5, 0x38, 0xf2, 0xfc, 0xdc, 0x30, 0x00, 0xb6, 0xc0,
4080 0xf0, 0x49, 0xfe, 0xe2,
4081 0xad, 0x90, 0x14, 0xfd, 0x24, 0xfb, 0x10, 0xb6, 0x82, 0x18, 0x42, 0xd6,
4082 0x70, 0x03, 0xa5, 0x64,
4083 0xcd, 0x8f, 0xf4, 0x2a, 0x2a, 0x56, 0x4c, 0xfd, 0x81, 0x9c, 0x3a, 0x84,
4084 0xbf, 0x16, 0xc2, 0x47,
4085 0x7e, 0x8e, 0x6e, 0x5b, 0x9e, 0xc4, 0xd4, 0x0e, 0xad, 0x50, 0x24, 0x87,
4086 0xba, 0x50, 0x36, 0x2d,
4087};
4088static const uint8_t ac_rsassa_example2_exp2[] = {
4089 0x88, 0x88, 0xdc, 0x8e, 0xae, 0x94, 0xee, 0xa5, 0x80, 0xca, 0xc2, 0xfc,
4090 0x1c, 0xe5, 0x4f, 0x44,
4091 0xe2, 0xba, 0x50, 0x0d, 0xb8, 0x71, 0x53, 0x41, 0xa6, 0xfc, 0x2d, 0x50,
4092 0x4a, 0x82, 0xb1, 0x42,
4093 0x05, 0xe8, 0x91, 0xa6, 0x6f, 0xc8, 0x8d, 0x5c, 0x60, 0xdb, 0x8f, 0x78,
4094 0x6c, 0xcc, 0x70, 0x57,
4095 0x5b, 0x35, 0x66, 0xbe, 0xa8, 0x74, 0xa5, 0x31, 0x7f, 0x5f, 0x16, 0xc4,
4096 0x91, 0xed, 0x1e, 0x79,
4097};
4098static const uint8_t ac_rsassa_example2_coeff[] = {
4099 0x17, 0xb0, 0xd6, 0x23, 0x36, 0x19, 0x1e, 0x63, 0xbc, 0xa1, 0x59, 0x93,
4100 0x4d, 0x06, 0x16, 0xcb,
4101 0x89, 0x97, 0x40, 0x9c, 0xbf, 0xca, 0x37, 0x05, 0x69, 0x5b, 0x14, 0xfb,
4102 0x64, 0xa0, 0x81, 0xc1,
4103 0xc9, 0xf5, 0x86, 0x19, 0x3e, 0x52, 0x3a, 0xbd, 0x0b, 0xeb, 0x8d, 0x72,
4104 0x0c, 0xfe, 0x53, 0x7d,
4105 0xfa, 0x1e, 0xde, 0xc4, 0xa6, 0x64, 0x37, 0xd2, 0x41, 0x19, 0x6b, 0x7a,
4106 0x2c, 0xe5, 0x56, 0xc4,
4107};
4108
4109
4110/* PKCS#1 v1.5 Signature Example 7.1 */
4111#define ac_rsassa_vect7_modulus ac_rsassa_example2_modulus
4112#define ac_rsassa_vect7_pub_exp ac_rsassa_example2_pub_exp
4113#define ac_rsassa_vect7_priv_exp ac_rsassa_example2_priv_exp
4114#define ac_rsassa_vect7_prime1 ac_rsassa_example2_prime1
4115#define ac_rsassa_vect7_prime2 ac_rsassa_example2_prime2
4116#define ac_rsassa_vect7_exp1 ac_rsassa_example2_exp1
4117#define ac_rsassa_vect7_exp2 ac_rsassa_example2_exp2
4118#define ac_rsassa_vect7_coeff ac_rsassa_example2_coeff
4119static const uint8_t ac_rsassa_vect7_ptx[] = {
4120 0x35, 0x39, 0x99, 0x7a, 0xe7, 0x09, 0xfe, 0x32, 0xc1, 0x03, 0x6a, 0x13,
4121 0x27, 0x57, 0xf2, 0xa1,
4122 0x66, 0x7a, 0x91, 0xcc, 0x83, 0xbe, 0x73, 0x3a, 0xad, 0xa1, 0xbd, 0xd2,
4123 0x17, 0x92, 0x4c, 0x9a,
4124 0x2c, 0x9f, 0xed, 0x1f, 0xec, 0xf6, 0x1d, 0x1c, 0xf7, 0x9d, 0xae, 0x9a,
4125 0x83, 0xf8, 0xae, 0x3f,
4126 0x4d, 0x05, 0x1b, 0x34, 0xfb, 0xb5, 0x59, 0xcb, 0xfd, 0xa4, 0x92, 0xf1,
4127 0xd8, 0x3b, 0x8b, 0xeb,
4128 0xa0, 0x45, 0xd4, 0xae, 0x1c, 0x8f, 0xea, 0x15, 0xb7, 0x57, 0x7a, 0x1b,
4129 0x8a, 0x3f, 0x55, 0xba,
4130 0xc1, 0x72, 0x7e, 0xdc, 0xa7, 0xf8, 0xf5, 0x2c, 0xb4, 0xba, 0x61, 0xca,
4131 0xf1, 0xfa, 0x8f, 0x8f,
4132 0xd9, 0xaa, 0xc7, 0x79, 0x09, 0x5c, 0xa8, 0x4c, 0x79, 0x91, 0x52, 0x9f,
4133 0xb8, 0x06, 0x99, 0xd0,
4134 0xd4, 0x68, 0x8d, 0xfd, 0xb1, 0x42, 0xed, 0x61, 0xa9, 0x5b, 0x89, 0xce,
4135 0x33, 0x06, 0xbf, 0x97,
4136 0x80, 0xe1, 0xb9, 0x1b, 0x84, 0x8c, 0x8d, 0x20, 0x03, 0x97, 0x0e, 0x52,
4137 0x70, 0x2a, 0x1f, 0x61,
4138 0x2e, 0x2f, 0x40, 0x17, 0xcf, 0xe0, 0xa9, 0x1d, 0xb9, 0xe4, 0x6d, 0xb9,
4139 0xdc
4140};
4141static const uint8_t ac_rsassa_vect7_out[] = {
4142 0x00, 0x08, 0x0f, 0x77, 0x0a, 0x2d, 0x1f, 0x6a, 0xbf, 0x5f, 0x22, 0x1f,
4143 0x62, 0xe1, 0x66, 0xab,
4144 0xd7, 0x9d, 0x06, 0xc7, 0xb9, 0xa8, 0x78, 0xd6, 0x1b, 0x80, 0xfc, 0x4d,
4145 0x5b, 0xa2, 0x90, 0xb2,
4146 0x3a, 0xba, 0xab, 0x51, 0x8f, 0x09, 0x44, 0x7e, 0x45, 0xae, 0xe6, 0xf3,
4147 0xbd, 0x06, 0x10, 0x24,
4148 0x44, 0x36, 0xa4, 0x73, 0x01, 0x60, 0xe6, 0xa6, 0x72, 0x11, 0x0c, 0x01,
4149 0xae, 0xb5, 0x62, 0x4b,
4150 0x71, 0x8d, 0xc7, 0xc0, 0x86, 0x1e, 0x58, 0x6b, 0xa8, 0xb6, 0x0a, 0x29,
4151 0xd6, 0xa5, 0x75, 0x5c,
4152 0xd2, 0xcc, 0x50, 0x85, 0x99, 0xc6, 0xe2, 0x8d, 0x73, 0x55, 0xb2, 0x7e,
4153 0x40, 0xb7, 0x40, 0xc6,
4154 0xfb, 0xbb, 0xb1, 0xa9, 0x18, 0x23, 0xb1, 0xc1, 0x24, 0x2b, 0xa6, 0x93,
4155 0xd4, 0x52, 0x69, 0x51,
4156 0x47, 0xdb, 0xb2, 0x3e, 0xa8, 0x9c, 0xbf, 0x11, 0xeb, 0x8b, 0x07, 0xec,
4157 0x3a, 0x02, 0x7b, 0x0f,
4158 0x17
4159};
4160
4161/*
4162 * Test data from 186-2rsatestvectors.zip SigVet15_186-3.rsp with CRT
4163 * parameters created with:
4164 * http://sourceforge.net/projects/rsaconverter/
4165 */
4166
4167/* SigGen15_186-2.txt line 9 mod 1024 */
4168static const uint8_t ac_siggen15_186_2_modulus[] = {
4169 0xc8, 0xa2, 0x06, 0x91, 0x82, 0x39, 0x4a, 0x2a, 0xb7, 0xc3, 0xf4, 0x19,
4170 0x0c, 0x15, 0x58, 0x9c, 0x56, 0xa2, 0xd4, 0xbc, 0x42, 0xdc, 0xa6, 0x75,
4171 0xb3, 0x4c, 0xc9, 0x50, 0xe2, 0x46, 0x63, 0x04, 0x84, 0x41, 0xe8, 0xaa,
4172 0x59, 0x3b, 0x2b, 0xc5, 0x9e, 0x19, 0x8b, 0x8c, 0x25, 0x7e, 0x88, 0x21,
4173 0x20, 0xc6, 0x23, 0x36, 0xe5, 0xcc, 0x74, 0x50, 0x12, 0xc7, 0xff, 0xb0,
4174 0x63, 0xee, 0xbe, 0x53, 0xf3, 0xc6, 0x50, 0x4c, 0xba, 0x6c, 0xfe, 0x51,
4175 0xba, 0xa3, 0xb6, 0xd1, 0x07, 0x4b, 0x2f, 0x39, 0x81, 0x71, 0xf4, 0xb1,
4176 0x98, 0x2f, 0x4d, 0x65, 0xca, 0xf8, 0x82, 0xea, 0x4d, 0x56, 0xf3, 0x2a,
4177 0xb5, 0x7d, 0x0c, 0x44, 0xe6, 0xad, 0x4e, 0x9c, 0xf5, 0x7a, 0x43, 0x39,
4178 0xeb, 0x69, 0x62, 0x40, 0x6e, 0x35, 0x0c, 0x1b, 0x15, 0x39, 0x71, 0x83,
4179 0xfb, 0xf1, 0xf0, 0x35, 0x3c, 0x9f, 0xc9, 0x91
4180};
4181static const uint8_t ac_siggen15_186_2_pub_exp[] = {
4182 0x01, 0x00, 0x01
4183};
4184static const uint8_t ac_siggen15_186_2_priv_exp[] = {
4185 0x5d, 0xfc, 0xb1, 0x11, 0x07, 0x2d, 0x29, 0x56, 0x5b, 0xa1, 0xdb, 0x3e,
4186 0xc4, 0x8f, 0x57, 0x64, 0x5d, 0x9d, 0x88, 0x04, 0xed, 0x59, 0x8a, 0x4d,
4187 0x47, 0x02, 0x68, 0xa8, 0x90, 0x67, 0xa2, 0xc9, 0x21, 0xdf, 0xf2, 0x4b,
4188 0xa2, 0xe3, 0x7a, 0x3c, 0xe8, 0x34, 0x55, 0x50, 0x00, 0xdc, 0x86, 0x8e,
4189 0xe6, 0x58, 0x8b, 0x74, 0x93, 0x30, 0x35, 0x28, 0xb1, 0xb3, 0xa9, 0x4f,
4190 0x0b, 0x71, 0x73, 0x0c, 0xf1, 0xe8, 0x6f, 0xca, 0x5a, 0xee, 0xdc, 0x3a,
4191 0xfa, 0x16, 0xf6, 0x5c, 0x01, 0x89, 0xd8, 0x10, 0xdd, 0xcd, 0x81, 0x04,
4192 0x9e, 0xbb, 0xd0, 0x39, 0x18, 0x68, 0xc5, 0x0e, 0xde, 0xc9, 0x58, 0xb3,
4193 0xa2, 0xaa, 0xef, 0xf6, 0xa5, 0x75, 0x89, 0x7e, 0x2f, 0x20, 0xa3, 0xab,
4194 0x54, 0x55, 0xc1, 0xbf, 0xa5, 0x50, 0x10, 0xac, 0x51, 0xa7, 0x79, 0x9b,
4195 0x1f, 0xf8, 0x48, 0x36, 0x44, 0xa3, 0xd4, 0x25
4196};
4197static const uint8_t ac_siggen15_186_2_prime1[] = {
4198 0xF6, 0x6A, 0x24, 0x68, 0xB1, 0x48, 0x1A, 0x0D, 0x6B, 0x60, 0x49, 0x67,
4199 0xF0, 0x58, 0x03, 0x89, 0xD6, 0x06, 0x1F, 0x03, 0x3A, 0x9B, 0x57, 0xB7,
4200 0x4D, 0x1B, 0xEF, 0xE8, 0x10, 0x11, 0x98, 0x94, 0x5B, 0x80, 0x93, 0x04,
4201 0x24, 0x1D, 0x02, 0xFD, 0x5F, 0x92, 0x1F, 0xE9, 0x59, 0xFB, 0xEC, 0xDB,
4202 0x18, 0x00, 0x54, 0x86, 0x9A, 0xDB, 0x17, 0xD3, 0x21, 0xF9, 0xD5, 0xD5,
4203 0x98, 0x12, 0x3E, 0x73
4204};
4205static const uint8_t ac_siggen15_186_2_prime2[] = {
4206 0xD0, 0x6F, 0xFA, 0x56, 0x3B, 0xD0, 0xB8, 0xB9, 0x7F, 0x00, 0x72, 0xEA,
4207 0x07, 0x51, 0x03, 0xEC, 0x1F, 0xF0, 0xB1, 0x7F, 0xD6, 0xBD, 0xAF, 0x94,
4208 0xA7, 0x5A, 0xE6, 0x03, 0x59, 0x82, 0xF6, 0x80, 0x24, 0x9D, 0x77, 0xCC,
4209 0x15, 0x96, 0xA6, 0x54, 0xF1, 0x4C, 0x51, 0x7A, 0x13, 0xB9, 0x5F, 0x1A,
4210 0x8C, 0x5D, 0xE8, 0xCC, 0x84, 0xAD, 0x38, 0xD2, 0xE6, 0xAA, 0x4F, 0xCD,
4211 0x54, 0x1A, 0x32, 0xEB
4212};
4213static const uint8_t ac_siggen15_186_2_exp1[] = {
4214 0xD4, 0xD4, 0xB6, 0x9F, 0xCA, 0x47, 0x89, 0x60, 0xFF, 0xD6, 0x49, 0x70,
4215 0xC1, 0xD1, 0x73, 0x34, 0xF1, 0x2B, 0x96, 0x4B, 0xB6, 0xAA, 0x07, 0xA8,
4216 0x25, 0xAC, 0xB4, 0x98, 0xCE, 0x90, 0x34, 0x26, 0x27, 0xA6, 0x34, 0xD5,
4217 0x05, 0xD0, 0x1D, 0x0D, 0xF5, 0x27, 0x03, 0xF3, 0x0C, 0x2A, 0xA0, 0xD8,
4218 0x57, 0xB1, 0xA9, 0x50, 0x1D, 0x9E, 0x90, 0xC4, 0x66, 0x7B, 0x20, 0x6B,
4219 0x7D, 0x0E, 0x7C, 0xEB
4220};
4221static const uint8_t ac_siggen15_186_2_exp2[] = {
4222 0x28, 0x4F, 0xEF, 0xE7, 0xAB, 0xAB, 0xE3, 0x7E, 0x24, 0xBC, 0xEE, 0x7C,
4223 0xAA, 0xAB, 0x95, 0x89, 0x9E, 0x67, 0xCB, 0xBC, 0x80, 0xC8, 0xB0, 0xE3,
4224 0x9C, 0x36, 0x6D, 0x53, 0xEA, 0x84, 0xF4, 0xAD, 0xB5, 0xE7, 0x2A, 0x9B,
4225 0x32, 0xF5, 0xAE, 0xF7, 0xB0, 0xAF, 0x64, 0xF6, 0xAA, 0x47, 0xE8, 0xC7,
4226 0xD6, 0xAB, 0xF6, 0xF1, 0x4F, 0x1B, 0xBD, 0x68, 0xB4, 0xA9, 0xED, 0xC3,
4227 0x35, 0x67, 0xD7, 0xBF
4228};
4229static const uint8_t ac_siggen15_186_2_coeff[] = {
4230 0xE3, 0xBD, 0x88, 0x1C, 0x5A, 0x8F, 0x4A, 0xFC, 0xA0, 0x8C, 0xBC, 0x04,
4231 0x7C, 0xF0, 0xE3, 0x89, 0x7C, 0x85, 0x18, 0x9A, 0xF4, 0xF9, 0xA7, 0x00,
4232 0x93, 0x2C, 0xF4, 0x9E, 0x72, 0xF6, 0x44, 0x04, 0x39, 0x0D, 0xA5, 0x04,
4233 0x82, 0x79, 0xCE, 0x47, 0xF5, 0xAF, 0x58, 0x9B, 0x1B, 0xE9, 0xE4, 0x61,
4234 0xBB, 0xD8, 0xCC, 0x07, 0xAB, 0x8B, 0xC6, 0x8B, 0xAF, 0x6C, 0xC9, 0x13,
4235 0xB2, 0xE6, 0x26, 0x72
4236};
4237
4238/* SigGen15_186-2.txt line 13 SHA-1*/
4239#define ac_rsassa_vect8_modulus ac_siggen15_186_2_modulus
4240#define ac_rsassa_vect8_pub_exp ac_siggen15_186_2_pub_exp
4241#define ac_rsassa_vect8_priv_exp ac_siggen15_186_2_priv_exp
4242#define ac_rsassa_vect8_prime1 ac_siggen15_186_2_prime1
4243#define ac_rsassa_vect8_prime2 ac_siggen15_186_2_prime2
4244#define ac_rsassa_vect8_exp1 ac_siggen15_186_2_exp1
4245#define ac_rsassa_vect8_exp2 ac_siggen15_186_2_exp2
4246#define ac_rsassa_vect8_coeff ac_siggen15_186_2_coeff
4247static const uint8_t ac_rsassa_vect8_ptx[] = {
4248 0xe8, 0x31, 0x27, 0x42, 0xae, 0x23, 0xc4, 0x56, 0xef, 0x28, 0xa2, 0x31,
4249 0x42, 0xc4, 0x49, 0x08, 0x95, 0x83, 0x27, 0x65, 0xda, 0xdc, 0xe0, 0x2a,
4250 0xfe, 0x5b, 0xe5, 0xd3, 0x1b, 0x00, 0x48, 0xfb, 0xee, 0xe2, 0xcf, 0x21,
4251 0x8b, 0x17, 0x47, 0xad, 0x4f, 0xd8, 0x1a, 0x2e, 0x17, 0xe1, 0x24, 0xe6,
4252 0xaf, 0x17, 0xc3, 0x88, 0x8e, 0x6d, 0x2d, 0x40, 0xc0, 0x08, 0x07, 0xf4,
4253 0x23, 0xa2, 0x33, 0xca, 0xd6, 0x2c, 0xe9, 0xea, 0xef, 0xb7, 0x09, 0x85,
4254 0x6c, 0x94, 0xaf, 0x16, 0x6d, 0xba, 0x08, 0xe7, 0xa0, 0x69, 0x65, 0xd7,
4255 0xfc, 0x0d, 0x8e, 0x5c, 0xb2, 0x65, 0x59, 0xc4, 0x60, 0xe4, 0x7b, 0xc0,
4256 0x88, 0x58, 0x9d, 0x22, 0x42, 0xc9, 0xb3, 0xe6, 0x2d, 0xa4, 0x89, 0x6f,
4257 0xab, 0x19, 0x9e, 0x14, 0x4e, 0xc1, 0x36, 0xdb, 0x8d, 0x84, 0xab, 0x84,
4258 0xbc, 0xba, 0x04, 0xca, 0x3b, 0x90, 0xc8, 0xe5
4259};
4260static const uint8_t ac_rsassa_vect8_out[] = {
4261 0x28, 0x92, 0x8e, 0x19, 0xeb, 0x86, 0xf9, 0xc0, 0x00, 0x70, 0xa5, 0x9e,
4262 0xdf, 0x6b, 0xf8, 0x43, 0x3a, 0x45, 0xdf, 0x49, 0x5c, 0xd1, 0xc7, 0x36,
4263 0x13, 0xc2, 0x12, 0x98, 0x40, 0xf4, 0x8c, 0x4a, 0x2c, 0x24, 0xf1, 0x1d,
4264 0xf7, 0x9b, 0xc5, 0xc0, 0x78, 0x2b, 0xce, 0xdd, 0xe9, 0x7d, 0xbb, 0xb2,
4265 0xac, 0xc6, 0xe5, 0x12, 0xd1, 0x9f, 0x08, 0x50, 0x27, 0xcd, 0x57, 0x50,
4266 0x38, 0x45, 0x3d, 0x04, 0x90, 0x54, 0x13, 0xe9, 0x47, 0xe6, 0xe1, 0xdd,
4267 0xdb, 0xeb, 0x35, 0x35, 0xcd, 0xb3, 0xd8, 0x97, 0x1f, 0xe0, 0x20, 0x05,
4268 0x06, 0x94, 0x10, 0x56, 0xf2, 0x12, 0x43, 0x50, 0x3c, 0x83, 0xea, 0xdd,
4269 0xe0, 0x53, 0xed, 0x86, 0x6c, 0x0e, 0x02, 0x50, 0xbe, 0xdd, 0xd9, 0x27,
4270 0xa0, 0x82, 0x12, 0xaa, 0x8a, 0xc0, 0xef, 0xd6, 0x16, 0x31, 0xef, 0x89,
4271 0xd8, 0xd0, 0x49, 0xef, 0xb3, 0x6b, 0xb3, 0x5f
4272};
4273
4274/* SigGen15_186-2.txt line 54 SHA-224*/
4275#define ac_rsassa_vect16_modulus ac_siggen15_186_2_modulus
4276#define ac_rsassa_vect16_pub_exp ac_siggen15_186_2_pub_exp
4277#define ac_rsassa_vect16_priv_exp ac_siggen15_186_2_priv_exp
4278#define ac_rsassa_vect16_prime1 ac_siggen15_186_2_prime1
4279#define ac_rsassa_vect16_prime2 ac_siggen15_186_2_prime2
4280#define ac_rsassa_vect16_exp1 ac_siggen15_186_2_exp1
4281#define ac_rsassa_vect16_exp2 ac_siggen15_186_2_exp2
4282#define ac_rsassa_vect16_coeff ac_siggen15_186_2_coeff
4283static const uint8_t ac_rsassa_vect16_ptx[] = {
4284 0xe5, 0x67, 0xa3, 0x9a, 0xe4, 0xe5, 0xef, 0x9b, 0x68, 0x01, 0xea, 0x05,
4285 0x61, 0xb7, 0x2a, 0x5d, 0x4b, 0x5f, 0x38, 0x5f, 0x05, 0x32, 0xfc, 0x9f,
4286 0xe1, 0x0a, 0x75, 0x70, 0xf8, 0x69, 0xae, 0x05, 0xc0, 0xbd, 0xed, 0xd6,
4287 0xe0, 0xe2, 0x2d, 0x45, 0x42, 0xe9, 0xce, 0x82, 0x6a, 0x18, 0x8c, 0xac,
4288 0x07, 0x31, 0xae, 0x39, 0xc8, 0xf8, 0x7f, 0x97, 0x71, 0xef, 0x02, 0x13,
4289 0x2e, 0x64, 0xe2, 0xfb, 0x27, 0xad, 0xa8, 0xff, 0x54, 0xb3, 0x30, 0xdd,
4290 0x93, 0xad, 0x5e, 0x3e, 0xf8, 0x2e, 0x0d, 0xda, 0x64, 0x62, 0x48, 0xe3,
4291 0x59, 0x94, 0xbd, 0xa1, 0x0c, 0xf4, 0x6e, 0x5a, 0xbc, 0x98, 0xaa, 0x74,
4292 0x43, 0xc0, 0x3c, 0xdd, 0xeb, 0x5e, 0xe2, 0xab, 0x82, 0xd6, 0x01, 0x00,
4293 0xb1, 0x02, 0x96, 0x31, 0x89, 0x79, 0x70, 0x27, 0x5f, 0x11, 0x9d, 0x05,
4294 0xda, 0xa2, 0x22, 0x0a, 0x4a, 0x0d, 0xef, 0xba
4295};
4296static const uint8_t ac_rsassa_vect16_out[] = {
4297 0x5a, 0xa5, 0x03, 0x33, 0x81, 0xbd, 0xd0, 0xac, 0xce, 0x33, 0x2d, 0xd3,
4298 0x14, 0xda, 0xf0, 0x08, 0xac, 0xaa, 0x9e, 0x83, 0x5f, 0x83, 0x29, 0x79,
4299 0x89, 0x1d, 0x1b, 0xda, 0x2b, 0x55, 0xd5, 0xea, 0xe3, 0x5c, 0x47, 0x9c,
4300 0x06, 0xca, 0xc5, 0xbf, 0x33, 0xf4, 0x32, 0xc8, 0xc0, 0xa5, 0x54, 0x9d,
4301 0x1d, 0x1b, 0x29, 0xc5, 0xe2, 0x58, 0x90, 0x24, 0xd2, 0x78, 0x00, 0xa0,
4302 0xc2, 0x35, 0xa6, 0x15, 0x32, 0xc2, 0x03, 0xcb, 0xc4, 0x06, 0xac, 0x6e,
4303 0xcf, 0x63, 0xf5, 0x2a, 0xe7, 0x71, 0xb9, 0x7c, 0x08, 0xe4, 0xb1, 0x08,
4304 0xec, 0x91, 0x69, 0x00, 0xe5, 0xa1, 0x1b, 0x1d, 0x48, 0xcc, 0xa8, 0x6c,
4305 0xa5, 0xa5, 0xa7, 0x99, 0xed, 0x32, 0xe9, 0x9c, 0x81, 0x5c, 0xef, 0x04,
4306 0xcf, 0x8e, 0xb5, 0x52, 0x23, 0xbf, 0xd4, 0xd9, 0xc3, 0x44, 0x92, 0x64,
4307 0xb6, 0x00, 0x61, 0xbc, 0x36, 0x84, 0xbc, 0x82
4308};
4309
4310/* SigGen15_186-2.txt line 93 SHA-256 */
4311#define ac_rsassa_vect9_modulus ac_siggen15_186_2_modulus
4312#define ac_rsassa_vect9_pub_exp ac_siggen15_186_2_pub_exp
4313#define ac_rsassa_vect9_priv_exp ac_siggen15_186_2_priv_exp
4314#define ac_rsassa_vect9_prime1 ac_siggen15_186_2_prime1
4315#define ac_rsassa_vect9_prime2 ac_siggen15_186_2_prime2
4316#define ac_rsassa_vect9_exp1 ac_siggen15_186_2_exp1
4317#define ac_rsassa_vect9_exp2 ac_siggen15_186_2_exp2
4318#define ac_rsassa_vect9_coeff ac_siggen15_186_2_coeff
4319static const uint8_t ac_rsassa_vect9_ptx[] = {
4320 0xe5, 0x67, 0xa3, 0x9a, 0xe4, 0xe5, 0xef, 0x9b, 0x68, 0x01, 0xea, 0x05,
4321 0x61, 0xb7, 0x2a, 0x5d, 0x4b, 0x5f, 0x38, 0x5f, 0x05, 0x32, 0xfc, 0x9f,
4322 0xe1, 0x0a, 0x75, 0x70, 0xf8, 0x69, 0xae, 0x05, 0xc0, 0xbd, 0xed, 0xd6,
4323 0xe0, 0xe2, 0x2d, 0x45, 0x42, 0xe9, 0xce, 0x82, 0x6a, 0x18, 0x8c, 0xac,
4324 0x07, 0x31, 0xae, 0x39, 0xc8, 0xf8, 0x7f, 0x97, 0x71, 0xef, 0x02, 0x13,
4325 0x2e, 0x64, 0xe2, 0xfb, 0x27, 0xad, 0xa8, 0xff, 0x54, 0xb3, 0x30, 0xdd,
4326 0x93, 0xad, 0x5e, 0x3e, 0xf8, 0x2e, 0x0d, 0xda, 0x64, 0x62, 0x48, 0xe3,
4327 0x59, 0x94, 0xbd, 0xa1, 0x0c, 0xf4, 0x6e, 0x5a, 0xbc, 0x98, 0xaa, 0x74,
4328 0x43, 0xc0, 0x3c, 0xdd, 0xeb, 0x5e, 0xe2, 0xab, 0x82, 0xd6, 0x01, 0x00,
4329 0xb1, 0x02, 0x96, 0x31, 0x89, 0x79, 0x70, 0x27, 0x5f, 0x11, 0x9d, 0x05,
4330 0xda, 0xa2, 0x22, 0x0a, 0x4a, 0x0d, 0xef, 0xba
4331};
4332static const uint8_t ac_rsassa_vect9_out[] = {
4333 0x0e, 0x7c, 0xdd, 0x12, 0x1e, 0x40, 0x32, 0x3c, 0xa6, 0x11, 0x5d, 0x1e,
4334 0xc6, 0xd1, 0xf9, 0x56, 0x17, 0x38, 0x45, 0x5f, 0x0e, 0x9e, 0x1c, 0xd8,
4335 0x58, 0xe8, 0xb5, 0x66, 0xae, 0x2d, 0xa5, 0xe8, 0xee, 0x63, 0xd8, 0xf1,
4336 0x5c, 0x3c, 0xdd, 0x88, 0x02, 0x7e, 0x13, 0x40, 0x6d, 0xb6, 0x09, 0x36,
4337 0x9c, 0x88, 0xca, 0x99, 0xb3, 0x4f, 0xa1, 0x56, 0xc7, 0xee, 0x62, 0xbc,
4338 0x5a, 0x39, 0x23, 0xbb, 0x5a, 0x1e, 0xda, 0xbd, 0x45, 0xc1, 0xa4, 0x22,
4339 0xaa, 0xfc, 0xbb, 0x47, 0xe0, 0x94, 0x7f, 0x35, 0xcf, 0xef, 0x87, 0x97,
4340 0x0b, 0x4b, 0x71, 0x31, 0x62, 0xb2, 0x19, 0x16, 0xca, 0xfb, 0x8c, 0x86,
4341 0x4a, 0x3e, 0x5b, 0x9f, 0xfc, 0x98, 0x94, 0x01, 0xd4, 0xea, 0xe9, 0x92,
4342 0x31, 0x2a, 0x32, 0xc5, 0xbc, 0x88, 0xab, 0xbb, 0x45, 0xf9, 0x9a, 0xc8,
4343 0x85, 0xb5, 0x4d, 0x6b, 0x8e, 0x61, 0xb6, 0xec
4344};
4345
4346/* SigGen15_186-2.txt line 133 SHA-384*/
4347#define ac_rsassa_vect10_modulus ac_siggen15_186_2_modulus
4348#define ac_rsassa_vect10_pub_exp ac_siggen15_186_2_pub_exp
4349#define ac_rsassa_vect10_priv_exp ac_siggen15_186_2_priv_exp
4350#define ac_rsassa_vect10_prime1 ac_siggen15_186_2_prime1
4351#define ac_rsassa_vect10_prime2 ac_siggen15_186_2_prime2
4352#define ac_rsassa_vect10_exp1 ac_siggen15_186_2_exp1
4353#define ac_rsassa_vect10_exp2 ac_siggen15_186_2_exp2
4354#define ac_rsassa_vect10_coeff ac_siggen15_186_2_coeff
4355static const uint8_t ac_rsassa_vect10_ptx[] = {
4356 0xe5, 0x67, 0xa3, 0x9a, 0xe4, 0xe5, 0xef, 0x9b, 0x68, 0x01, 0xea, 0x05,
4357 0x61, 0xb7, 0x2a, 0x5d, 0x4b, 0x5f, 0x38, 0x5f, 0x05, 0x32, 0xfc, 0x9f,
4358 0xe1, 0x0a, 0x75, 0x70, 0xf8, 0x69, 0xae, 0x05, 0xc0, 0xbd, 0xed, 0xd6,
4359 0xe0, 0xe2, 0x2d, 0x45, 0x42, 0xe9, 0xce, 0x82, 0x6a, 0x18, 0x8c, 0xac,
4360 0x07, 0x31, 0xae, 0x39, 0xc8, 0xf8, 0x7f, 0x97, 0x71, 0xef, 0x02, 0x13,
4361 0x2e, 0x64, 0xe2, 0xfb, 0x27, 0xad, 0xa8, 0xff, 0x54, 0xb3, 0x30, 0xdd,
4362 0x93, 0xad, 0x5e, 0x3e, 0xf8, 0x2e, 0x0d, 0xda, 0x64, 0x62, 0x48, 0xe3,
4363 0x59, 0x94, 0xbd, 0xa1, 0x0c, 0xf4, 0x6e, 0x5a, 0xbc, 0x98, 0xaa, 0x74,
4364 0x43, 0xc0, 0x3c, 0xdd, 0xeb, 0x5e, 0xe2, 0xab, 0x82, 0xd6, 0x01, 0x00,
4365 0xb1, 0x02, 0x96, 0x31, 0x89, 0x79, 0x70, 0x27, 0x5f, 0x11, 0x9d, 0x05,
4366 0xda, 0xa2, 0x22, 0x0a, 0x4a, 0x0d, 0xef, 0xba
4367};
4368static const uint8_t ac_rsassa_vect10_out[] = {
4369 0x16, 0x89, 0xa8, 0x52, 0x39, 0x19, 0xac, 0x77, 0xcc, 0x99, 0x7e, 0xbc,
4370 0x59, 0xcb, 0x90, 0x88, 0x72, 0xd8, 0x8b, 0x28, 0x55, 0xa3, 0x09, 0xea,
4371 0xd2, 0x77, 0x9b, 0x88, 0x8b, 0x22, 0xb4, 0x23, 0x2d, 0xa9, 0xb9, 0x3b,
4372 0xb1, 0x9b, 0x32, 0xc1, 0xdb, 0x77, 0xad, 0x73, 0x8c, 0x6e, 0x43, 0x36,
4373 0x1e, 0x9e, 0xb6, 0xb1, 0xa3, 0x7c, 0x49, 0xa8, 0xf3, 0xc7, 0xc7, 0xae,
4374 0x7e, 0x78, 0x4d, 0x19, 0xa6, 0x21, 0x38, 0x74, 0x12, 0x93, 0xe4, 0x9b,
4375 0x18, 0x31, 0xc0, 0xc3, 0x61, 0x7e, 0xb4, 0x3c, 0x56, 0x70, 0x6d, 0x83,
4376 0x31, 0x49, 0x53, 0x47, 0x06, 0x36, 0x44, 0x10, 0x86, 0x41, 0x9a, 0xb9,
4377 0xe6, 0xfd, 0x1e, 0xc4, 0xf9, 0xd5, 0xcc, 0x65, 0x44, 0x81, 0x5d, 0x1e,
4378 0x02, 0xed, 0x96, 0xa3, 0xae, 0x64, 0xc6, 0x99, 0x8b, 0x2c, 0xf2, 0x38,
4379 0xe7, 0x9a, 0x12, 0x16, 0x43, 0x52, 0xd1, 0x2a
4380};
4381
4382/* SigGen15_186-2.txt line 173 SHA-512*/
4383#define ac_rsassa_vect11_modulus ac_siggen15_186_2_modulus
4384#define ac_rsassa_vect11_pub_exp ac_siggen15_186_2_pub_exp
4385#define ac_rsassa_vect11_priv_exp ac_siggen15_186_2_priv_exp
4386#define ac_rsassa_vect11_prime1 ac_siggen15_186_2_prime1
4387#define ac_rsassa_vect11_prime2 ac_siggen15_186_2_prime2
4388#define ac_rsassa_vect11_exp1 ac_siggen15_186_2_exp1
4389#define ac_rsassa_vect11_exp2 ac_siggen15_186_2_exp2
4390#define ac_rsassa_vect11_coeff ac_siggen15_186_2_coeff
4391static const uint8_t ac_rsassa_vect11_ptx[] = {
4392 0xe5, 0x67, 0xa3, 0x9a, 0xe4, 0xe5, 0xef, 0x9b, 0x68, 0x01, 0xea, 0x05,
4393 0x61, 0xb7, 0x2a, 0x5d, 0x4b, 0x5f, 0x38, 0x5f, 0x05, 0x32, 0xfc, 0x9f,
4394 0xe1, 0x0a, 0x75, 0x70, 0xf8, 0x69, 0xae, 0x05, 0xc0, 0xbd, 0xed, 0xd6,
4395 0xe0, 0xe2, 0x2d, 0x45, 0x42, 0xe9, 0xce, 0x82, 0x6a, 0x18, 0x8c, 0xac,
4396 0x07, 0x31, 0xae, 0x39, 0xc8, 0xf8, 0x7f, 0x97, 0x71, 0xef, 0x02, 0x13,
4397 0x2e, 0x64, 0xe2, 0xfb, 0x27, 0xad, 0xa8, 0xff, 0x54, 0xb3, 0x30, 0xdd,
4398 0x93, 0xad, 0x5e, 0x3e, 0xf8, 0x2e, 0x0d, 0xda, 0x64, 0x62, 0x48, 0xe3,
4399 0x59, 0x94, 0xbd, 0xa1, 0x0c, 0xf4, 0x6e, 0x5a, 0xbc, 0x98, 0xaa, 0x74,
4400 0x43, 0xc0, 0x3c, 0xdd, 0xeb, 0x5e, 0xe2, 0xab, 0x82, 0xd6, 0x01, 0x00,
4401 0xb1, 0x02, 0x96, 0x31, 0x89, 0x79, 0x70, 0x27, 0x5f, 0x11, 0x9d, 0x05,
4402 0xda, 0xa2, 0x22, 0x0a, 0x4a, 0x0d, 0xef, 0xba
4403};
4404static const uint8_t ac_rsassa_vect11_out[] = {
4405 0xbf, 0x3f, 0xf2, 0xc6, 0x96, 0x75, 0xf1, 0xb8, 0xed, 0x42, 0x10, 0x21,
4406 0x80, 0x1f, 0xb4, 0xce, 0x29, 0xa7, 0x57, 0xf7, 0xf8, 0x86, 0x9c, 0xe4,
4407 0x36, 0xd0, 0xd7, 0x5a, 0xb7, 0x49, 0xef, 0xc8, 0xb9, 0x03, 0xd9, 0xf9,
4408 0xcb, 0x21, 0x46, 0x86, 0x14, 0x7f, 0x12, 0xf3, 0x33, 0x5f, 0xa9, 0x36,
4409 0x68, 0x9c, 0x19, 0x2f, 0x31, 0x0a, 0xe3, 0xc5, 0xd7, 0x54, 0x93, 0xf4,
4410 0x4b, 0x24, 0xbc, 0x1c, 0xd3, 0x50, 0x15, 0x84, 0xaa, 0xa5, 0x00, 0x4b,
4411 0x65, 0xa8, 0x71, 0x6d, 0x1e, 0xda, 0x72, 0x40, 0xad, 0x8a, 0x52, 0x9d,
4412 0x5a, 0x0c, 0xf1, 0x69, 0xf4, 0x05, 0x4b, 0x45, 0x0e, 0x07, 0x6e, 0xe0,
4413 0xd4, 0x1a, 0x00, 0x11, 0xc5, 0x57, 0xaa, 0x69, 0xa8, 0x4a, 0x81, 0x04,
4414 0xc9, 0x09, 0x20, 0x1d, 0x60, 0xfe, 0x39, 0xc7, 0x9e, 0x68, 0x43, 0x47,
4415 0xef, 0x4d, 0x14, 0x4e, 0xa1, 0x8f, 0x7a, 0x4e
4416};
4417
4418
4419/* SigGenPSS_186-2.txt line 9 mod 1024 */
4420static const uint8_t ac_siggenpss_186_2_modulus[] = {
4421 0xbc, 0xb4, 0x7b, 0x2e, 0x0d, 0xaf, 0xcb, 0xa8, 0x1f, 0xf2, 0xa2, 0xb5,
4422 0xcb, 0x11, 0x5c, 0xa7, 0xe7, 0x57, 0x18, 0x4c, 0x9d, 0x72, 0xbc, 0xdc,
4423 0xda, 0x70, 0x7a, 0x14, 0x6b, 0x3b, 0x4e, 0x29, 0x98, 0x9d, 0xdc, 0x66,
4424 0x0b, 0xd6, 0x94, 0x86, 0x5b, 0x93, 0x2b, 0x71, 0xca, 0x24, 0xa3, 0x35,
4425 0xcf, 0x4d, 0x33, 0x9c, 0x71, 0x91, 0x83, 0xe6, 0x22, 0x2e, 0x4c, 0x9e,
4426 0xa6, 0x87, 0x5a, 0xcd, 0x52, 0x8a, 0x49, 0xba, 0x21, 0x86, 0x3f, 0xe0,
4427 0x81, 0x47, 0xc3, 0xa4, 0x7e, 0x41, 0x99, 0x0b, 0x51, 0xa0, 0x3f, 0x77,
4428 0xd2, 0x21, 0x37, 0xf8, 0xd7, 0x4c, 0x43, 0xa5, 0xa4, 0x5f, 0x4e, 0x9e,
4429 0x18, 0xa2, 0xd1, 0x5d, 0xb0, 0x51, 0xdc, 0x89, 0x38, 0x5d, 0xb9, 0xcf,
4430 0x83, 0x74, 0xb6, 0x3a, 0x8c, 0xc8, 0x81, 0x13, 0x71, 0x0e, 0x6d, 0x81,
4431 0x79, 0x07, 0x5b, 0x7d, 0xc7, 0x9e, 0xe7, 0x6b
4432};
4433static const uint8_t ac_siggenpss_186_2_pub_exp[] = {
4434 0x01, 0x00, 0x01
4435};
4436static const uint8_t ac_siggenpss_186_2_priv_exp[] = {
4437 0x38, 0x3a, 0x6f, 0x19, 0xe1, 0xea, 0x27, 0xfd, 0x08, 0xc7, 0xfb, 0xc3,
4438 0xbf, 0xa6, 0x84, 0xbd, 0x63, 0x29, 0x88, 0x8c, 0x0b, 0xbe, 0x4c, 0x98,
4439 0x62, 0x5e, 0x71, 0x81, 0xf4, 0x11, 0xcf, 0xd0, 0x85, 0x31, 0x44, 0xa3,
4440 0x03, 0x94, 0x04, 0xdd, 0xa4, 0x1b, 0xce, 0x2e, 0x31, 0xd5, 0x88, 0xec,
4441 0x57, 0xc0, 0xe1, 0x48, 0x14, 0x6f, 0x0f, 0xa6, 0x5b, 0x39, 0x00, 0x8b,
4442 0xa5, 0x83, 0x5f, 0x82, 0x9b, 0xa3, 0x5a, 0xe2, 0xf1, 0x55, 0xd6, 0x1b,
4443 0x8a, 0x12, 0x58, 0x1b, 0x99, 0xc9, 0x27, 0xfd, 0x2f, 0x22, 0x25, 0x2c,
4444 0x5e, 0x73, 0xcb, 0xa4, 0xa6, 0x10, 0xdb, 0x39, 0x73, 0xe0, 0x19, 0xee,
4445 0x0f, 0x95, 0x13, 0x0d, 0x43, 0x19, 0xed, 0x41, 0x34, 0x32, 0xf2, 0xe5,
4446 0xe2, 0x0d, 0x52, 0x15, 0xcd, 0xd2, 0x7c, 0x21, 0x64, 0x20, 0x6b, 0x3f,
4447 0x80, 0xed, 0xee, 0x51, 0x93, 0x8a, 0x25, 0xc1
4448};
4449static const uint8_t ac_siggenpss_186_2_prime1[] = {
4450 0xE5, 0x56, 0x3B, 0x14, 0x5D, 0xB6, 0xFF, 0x5A, 0x16, 0x28, 0x0D, 0x3E,
4451 0x80, 0xEF, 0xF0, 0x2F, 0x18, 0x1D, 0xBD, 0x03, 0x32, 0x4E, 0xF2, 0x47,
4452 0xF5, 0x96, 0xA4, 0xD4, 0xA7, 0xB8, 0xDA, 0xA3, 0x2B, 0x99, 0x34, 0xE3,
4453 0xC7, 0xF4, 0xDC, 0xF6, 0xA3, 0x10, 0x54, 0x62, 0xDE, 0xC6, 0x38, 0x39,
4454 0x63, 0x86, 0x18, 0x41, 0x8B, 0x51, 0xDB, 0x02, 0x69, 0x3F, 0xAB, 0xB4,
4455 0xE6, 0x83, 0x87, 0x25
4456};
4457static const uint8_t ac_siggenpss_186_2_prime2[] = {
4458 0xD2, 0xA4, 0xEC, 0x0F, 0xA2, 0x22, 0x6C, 0xDE, 0x82, 0xDA, 0x77, 0x65,
4459 0x3B, 0x07, 0x2C, 0xD0, 0x98, 0x53, 0x5D, 0x3E, 0x90, 0xED, 0x4D, 0x72,
4460 0x24, 0xDC, 0xB8, 0xCB, 0x8B, 0x93, 0x14, 0x76, 0x8D, 0xC5, 0x17, 0xE2,
4461 0x2D, 0x7C, 0x8F, 0xA1, 0x3F, 0x25, 0x3D, 0xAA, 0x74, 0x65, 0xA7, 0x99,
4462 0x56, 0x09, 0x8A, 0xA4, 0xCC, 0x3A, 0x6E, 0x35, 0xE8, 0xB1, 0xFC, 0xC4,
4463 0xF9, 0x7E, 0x77, 0x4F
4464};
4465static const uint8_t ac_siggenpss_186_2_exp1[] = {
4466 0x1F, 0x6A, 0xCA, 0xB9, 0x25, 0x85, 0x76, 0x41, 0xCF, 0x1B, 0x39, 0x85,
4467 0x40, 0x80, 0x9E, 0x34, 0xB5, 0x67, 0x0D, 0x87, 0xAC, 0x92, 0xA8, 0x1A,
4468 0x37, 0x88, 0xA5, 0x98, 0x04, 0x4A, 0x0C, 0x99, 0xA1, 0xD5, 0x61, 0x2B,
4469 0x7B, 0x2F, 0x0E, 0x3E, 0x33, 0x64, 0x7F, 0x4A, 0xF4, 0x1D, 0xCF, 0x81,
4470 0xFD, 0x22, 0x57, 0x9C, 0x53, 0x0B, 0xA9, 0xA7, 0x10, 0xE8, 0x0A, 0x0B,
4471 0xC4, 0x30, 0x6C, 0x89
4472};
4473static const uint8_t ac_siggenpss_186_2_exp2[] = {
4474 0x59, 0xF2, 0x84, 0xBE, 0xD4, 0x3C, 0x21, 0x03, 0x0F, 0x1B, 0x5C, 0xDA,
4475 0x84, 0x4F, 0x37, 0x0A, 0xC7, 0xD0, 0xE9, 0x43, 0x3B, 0x3D, 0xA9, 0xD1,
4476 0x70, 0xFE, 0x33, 0x86, 0xEF, 0x4D, 0xD9, 0xF2, 0x19, 0xED, 0xAC, 0x9A,
4477 0x2F, 0x54, 0x3E, 0x3C, 0xDB, 0xAA, 0xFA, 0x5F, 0x1C, 0x1F, 0x00, 0x67,
4478 0x50, 0xBE, 0xF8, 0x4E, 0x10, 0xCB, 0x6E, 0x9E, 0x64, 0x84, 0x04, 0x6C,
4479 0xD4, 0x20, 0xF5, 0xAF
4480};
4481static const uint8_t ac_siggenpss_186_2_coeff[] = {
4482 0x83, 0x5F, 0xC1, 0xB6, 0x52, 0x1C, 0x83, 0xE7, 0x6F, 0x80, 0x64, 0xFF,
4483 0xF8, 0x38, 0x80, 0xE1, 0xC9, 0x8F, 0x81, 0x13, 0x1E, 0xE8, 0x6E, 0x5D,
4484 0xF8, 0x57, 0x6A, 0xDA, 0x7D, 0x75, 0xC2, 0x6F, 0x8D, 0xB8, 0xBA, 0x8B,
4485 0x46, 0xF4, 0x6C, 0x69, 0xA5, 0x9D, 0xC5, 0xF2, 0x11, 0x8A, 0x9A, 0x90,
4486 0x8E, 0xC0, 0x8F, 0x45, 0xB0, 0x50, 0x4D, 0x2A, 0x42, 0x86, 0x49, 0x5E,
4487 0x2A, 0x1B, 0x78, 0x2E
4488};
4489/* Salt: 6f2841166a64471d4f0b8ed0dbb7db32161da13b */
4490#define ac_siggenpss_186_2_salt_len 20
4491
4492
4493/* SigGen15_186-2.txt line 173 SHA-1 */
4494#define ac_rsassa_vect12_modulus ac_siggenpss_186_2_modulus
4495#define ac_rsassa_vect12_pub_exp ac_siggenpss_186_2_pub_exp
4496#define ac_rsassa_vect12_priv_exp ac_siggenpss_186_2_priv_exp
4497#define ac_rsassa_vect12_prime1 ac_siggenpss_186_2_prime1
4498#define ac_rsassa_vect12_prime2 ac_siggenpss_186_2_prime2
4499#define ac_rsassa_vect12_exp1 ac_siggenpss_186_2_exp1
4500#define ac_rsassa_vect12_exp2 ac_siggenpss_186_2_exp2
4501#define ac_rsassa_vect12_coeff ac_siggenpss_186_2_coeff
4502#define ac_rsassa_vect12_salt_len ac_siggenpss_186_2_salt_len
4503static const uint8_t ac_rsassa_vect12_ptx[] = {
4504 0x12, 0x48, 0xf6, 0x2a, 0x43, 0x89, 0xf4, 0x2f, 0x7b, 0x4b, 0xb1, 0x31,
4505 0x05, 0x3d, 0x6c, 0x88, 0xa9, 0x94, 0xdb, 0x20, 0x75, 0xb9, 0x12, 0xcc,
4506 0xbe, 0x3e, 0xa7, 0xdc, 0x61, 0x17, 0x14, 0xf1, 0x4e, 0x07, 0x5c, 0x10,
4507 0x48, 0x58, 0xf2, 0xf6, 0xe6, 0xcf, 0xd6, 0xab, 0xde, 0xdf, 0x01, 0x5a,
4508 0x82, 0x1d, 0x03, 0x60, 0x8b, 0xf4, 0xeb, 0xa3, 0x16, 0x9a, 0x67, 0x25,
4509 0xec, 0x42, 0x2c, 0xd9, 0x06, 0x94, 0x98, 0xb5, 0x51, 0x5a, 0x96, 0x08,
4510 0xae, 0x7c, 0xc3, 0x0e, 0x3d, 0x2e, 0xcf, 0xc1, 0xdb, 0x68, 0x25, 0xf3,
4511 0xe9, 0x96, 0xce, 0x9a, 0x50, 0x92, 0x92, 0x6b, 0xc1, 0xcf, 0x61, 0xaa,
4512 0x42, 0xd7, 0xf2, 0x40, 0xe6, 0xf7, 0xaa, 0x0e, 0xdb, 0x38, 0xbf, 0x81,
4513 0xaa, 0x92, 0x9d, 0x66, 0xbb, 0x5d, 0x89, 0x00, 0x18, 0x08, 0x84, 0x58,
4514 0x72, 0x0d, 0x72, 0xd5, 0x69, 0x24, 0x7b, 0x0c
4515};
4516static const uint8_t ac_rsassa_vect12_out[] = {
4517 0x68, 0x2c, 0xf5, 0x3c, 0x11, 0x45, 0xd2, 0x2a, 0x50, 0xca, 0xa9, 0xeb,
4518 0x1a, 0x9b, 0xa7, 0x06, 0x70, 0xc5, 0x91, 0x5e, 0x0f, 0xdf, 0xde, 0x64,
4519 0x57, 0xa7, 0x65, 0xde, 0x2a, 0x8f, 0xe1, 0x2d, 0xe9, 0x79, 0x41, 0x72,
4520 0xa7, 0x8d, 0x14, 0xe6, 0x68, 0xd4, 0x98, 0xac, 0xed, 0xad, 0x61, 0x65,
4521 0x04, 0xbb, 0x17, 0x64, 0xd0, 0x94, 0x60, 0x70, 0x70, 0x08, 0x05, 0x92,
4522 0xc3, 0xa6, 0x9c, 0x34, 0x3d, 0x98, 0x2b, 0xd7, 0x78, 0x65, 0x87, 0x3d,
4523 0x35, 0xe2, 0x48, 0x22, 0xca, 0xf4, 0x34, 0x43, 0xcc, 0x10, 0x24, 0x9a,
4524 0xf6, 0xa1, 0xe2, 0x6e, 0xf3, 0x44, 0xf2, 0x8b, 0x9e, 0xf6, 0xf1, 0x4e,
4525 0x09, 0xad, 0x83, 0x97, 0x48, 0xe5, 0x14, 0x8b, 0xcc, 0xeb, 0x0f, 0xd2,
4526 0xaa, 0x63, 0x70, 0x9c, 0xb4, 0x89, 0x75, 0xcb, 0xf9, 0xc7, 0xb4, 0x9a,
4527 0xbc, 0x66, 0xa1, 0xdc, 0x6c, 0xb5, 0xb3, 0x1a
4528};
4529
4530/* SigGenPSS_186-2.txt line 66 SHA-224 */
4531#define ac_rsassa_vect17_modulus ac_siggenpss_186_2_modulus
4532#define ac_rsassa_vect17_pub_exp ac_siggenpss_186_2_pub_exp
4533#define ac_rsassa_vect17_priv_exp ac_siggenpss_186_2_priv_exp
4534#define ac_rsassa_vect17_prime1 ac_siggenpss_186_2_prime1
4535#define ac_rsassa_vect17_prime2 ac_siggenpss_186_2_prime2
4536#define ac_rsassa_vect17_exp1 ac_siggenpss_186_2_exp1
4537#define ac_rsassa_vect17_exp2 ac_siggenpss_186_2_exp2
4538#define ac_rsassa_vect17_coeff ac_siggenpss_186_2_coeff
4539#define ac_rsassa_vect17_salt_len ac_siggenpss_186_2_salt_len
4540static const uint8_t ac_rsassa_vect17_ptx[] = {
4541 0x12, 0x48, 0xf6, 0x2a, 0x43, 0x89, 0xf4, 0x2f, 0x7b, 0x4b, 0xb1, 0x31,
4542 0x05, 0x3d, 0x6c, 0x88, 0xa9, 0x94, 0xdb, 0x20, 0x75, 0xb9, 0x12, 0xcc,
4543 0xbe, 0x3e, 0xa7, 0xdc, 0x61, 0x17, 0x14, 0xf1, 0x4e, 0x07, 0x5c, 0x10,
4544 0x48, 0x58, 0xf2, 0xf6, 0xe6, 0xcf, 0xd6, 0xab, 0xde, 0xdf, 0x01, 0x5a,
4545 0x82, 0x1d, 0x03, 0x60, 0x8b, 0xf4, 0xeb, 0xa3, 0x16, 0x9a, 0x67, 0x25,
4546 0xec, 0x42, 0x2c, 0xd9, 0x06, 0x94, 0x98, 0xb5, 0x51, 0x5a, 0x96, 0x08,
4547 0xae, 0x7c, 0xc3, 0x0e, 0x3d, 0x2e, 0xcf, 0xc1, 0xdb, 0x68, 0x25, 0xf3,
4548 0xe9, 0x96, 0xce, 0x9a, 0x50, 0x92, 0x92, 0x6b, 0xc1, 0xcf, 0x61, 0xaa,
4549 0x42, 0xd7, 0xf2, 0x40, 0xe6, 0xf7, 0xaa, 0x0e, 0xdb, 0x38, 0xbf, 0x81,
4550 0xaa, 0x92, 0x9d, 0x66, 0xbb, 0x5d, 0x89, 0x00, 0x18, 0x08, 0x84, 0x58,
4551 0x72, 0x0d, 0x72, 0xd5, 0x69, 0x24, 0x7b, 0x0c,
4552};
4553static const uint8_t ac_rsassa_vect17_out[] = {
4554 0x53, 0xd8, 0x59, 0xc9, 0xf1, 0x0a, 0xbf, 0x1c, 0x00, 0x28, 0x4a, 0x4b,
4555 0x55, 0xbf, 0x2b, 0xd8, 0x4d, 0x8e, 0x31, 0x3b, 0x4f, 0x3c, 0x35, 0xb8,
4556 0xde, 0xc7, 0xbc, 0x3a, 0xfe, 0x39, 0xb9, 0xb8, 0xa1, 0x55, 0x41, 0x8e,
4557 0xad, 0x19, 0x31, 0x89, 0x57, 0x69, 0xce, 0x23, 0x40, 0xbe, 0x20, 0x91,
4558 0xf2, 0x38, 0x5b, 0xbc, 0xf1, 0x0d, 0x9e, 0x92, 0xbc, 0xf5, 0xd0, 0xe2,
4559 0x96, 0x0d, 0x10, 0xe7, 0x92, 0xe7, 0xd8, 0x65, 0xc6, 0x4e, 0x50, 0xd1,
4560 0x9f, 0xfa, 0x13, 0xe5, 0x28, 0x17, 0xd7, 0xd8, 0xd8, 0xdb, 0x34, 0x39,
4561 0x2c, 0x23, 0x74, 0xa2, 0xe9, 0xb6, 0x91, 0x84, 0xf9, 0x2a, 0x4a, 0xd9,
4562 0xb1, 0xb8, 0xba, 0xe9, 0x9c, 0xa6, 0x14, 0xd2, 0x04, 0xb6, 0x5a, 0x43,
4563 0x8e, 0x38, 0xdb, 0xbf, 0xc8, 0xc7, 0xcc, 0x44, 0xed, 0x56, 0x77, 0xaf,
4564 0x70, 0xce, 0x6c, 0x4f, 0x95, 0x1f, 0x02, 0x44,
4565};
4566
4567/* SigGen15_186-2.txt line 114 SHA-256 */
4568#define ac_rsassa_vect13_modulus ac_siggenpss_186_2_modulus
4569#define ac_rsassa_vect13_pub_exp ac_siggenpss_186_2_pub_exp
4570#define ac_rsassa_vect13_priv_exp ac_siggenpss_186_2_priv_exp
4571#define ac_rsassa_vect13_prime1 ac_siggenpss_186_2_prime1
4572#define ac_rsassa_vect13_prime2 ac_siggenpss_186_2_prime2
4573#define ac_rsassa_vect13_exp1 ac_siggenpss_186_2_exp1
4574#define ac_rsassa_vect13_exp2 ac_siggenpss_186_2_exp2
4575#define ac_rsassa_vect13_coeff ac_siggenpss_186_2_coeff
4576#define ac_rsassa_vect13_salt_len ac_siggenpss_186_2_salt_len
4577static const uint8_t ac_rsassa_vect13_ptx[] = {
4578 0x12, 0x48, 0xf6, 0x2a, 0x43, 0x89, 0xf4, 0x2f, 0x7b, 0x4b, 0xb1, 0x31,
4579 0x05, 0x3d, 0x6c, 0x88, 0xa9, 0x94, 0xdb, 0x20, 0x75, 0xb9, 0x12, 0xcc,
4580 0xbe, 0x3e, 0xa7, 0xdc, 0x61, 0x17, 0x14, 0xf1, 0x4e, 0x07, 0x5c, 0x10,
4581 0x48, 0x58, 0xf2, 0xf6, 0xe6, 0xcf, 0xd6, 0xab, 0xde, 0xdf, 0x01, 0x5a,
4582 0x82, 0x1d, 0x03, 0x60, 0x8b, 0xf4, 0xeb, 0xa3, 0x16, 0x9a, 0x67, 0x25,
4583 0xec, 0x42, 0x2c, 0xd9, 0x06, 0x94, 0x98, 0xb5, 0x51, 0x5a, 0x96, 0x08,
4584 0xae, 0x7c, 0xc3, 0x0e, 0x3d, 0x2e, 0xcf, 0xc1, 0xdb, 0x68, 0x25, 0xf3,
4585 0xe9, 0x96, 0xce, 0x9a, 0x50, 0x92, 0x92, 0x6b, 0xc1, 0xcf, 0x61, 0xaa,
4586 0x42, 0xd7, 0xf2, 0x40, 0xe6, 0xf7, 0xaa, 0x0e, 0xdb, 0x38, 0xbf, 0x81,
4587 0xaa, 0x92, 0x9d, 0x66, 0xbb, 0x5d, 0x89, 0x00, 0x18, 0x08, 0x84, 0x58,
4588 0x72, 0x0d, 0x72, 0xd5, 0x69, 0x24, 0x7b, 0x0c
4589};
4590static const uint8_t ac_rsassa_vect13_out[] = {
4591 0x7b, 0x1d, 0x37, 0x27, 0x8e, 0x54, 0x98, 0x98, 0xd4, 0x08, 0x4e, 0x22,
4592 0x10, 0xc4, 0xa9, 0x96, 0x1e, 0xdf, 0xe7, 0xb5, 0x96, 0x35, 0x50, 0xcc,
4593 0xa1, 0x90, 0x42, 0x48, 0xc8, 0x68, 0x15, 0x13, 0x53, 0x90, 0x17, 0x82,
4594 0x0f, 0x0e, 0x9b, 0xd0, 0x74, 0xb9, 0xf8, 0xa0, 0x67, 0xb9, 0xfe, 0xff,
4595 0xf7, 0xf1, 0xfa, 0x20, 0xbf, 0x2d, 0x0c, 0x75, 0x01, 0x5f, 0xf0, 0x20,
4596 0xb2, 0x21, 0x0c, 0xc7, 0xf7, 0x90, 0x34, 0xfe, 0xdf, 0x68, 0xe8, 0xd4,
4597 0x4a, 0x00, 0x7a, 0xbf, 0x4d, 0xd8, 0x2c, 0x26, 0xe8, 0xb0, 0x03, 0x93,
4598 0x72, 0x3a, 0xea, 0x15, 0xab, 0xfb, 0xc2, 0x29, 0x41, 0xc8, 0xcf, 0x79,
4599 0x48, 0x17, 0x18, 0xc0, 0x08, 0xda, 0x71, 0x3f, 0xb8, 0xf5, 0x4c, 0xb3,
4600 0xfc, 0xa8, 0x90, 0xbd, 0xe1, 0x13, 0x73, 0x14, 0x33, 0x4b, 0x9b, 0x0a,
4601 0x18, 0x51, 0x5b, 0xfa, 0x48, 0xe5, 0xcc, 0xd0
4602};
4603
4604/* SigGen15_186-2.txt line 164 SHA-384 */
4605#define ac_rsassa_vect14_modulus ac_siggenpss_186_2_modulus
4606#define ac_rsassa_vect14_pub_exp ac_siggenpss_186_2_pub_exp
4607#define ac_rsassa_vect14_priv_exp ac_siggenpss_186_2_priv_exp
4608#define ac_rsassa_vect14_prime1 ac_siggenpss_186_2_prime1
4609#define ac_rsassa_vect14_prime2 ac_siggenpss_186_2_prime2
4610#define ac_rsassa_vect14_exp1 ac_siggenpss_186_2_exp1
4611#define ac_rsassa_vect14_exp2 ac_siggenpss_186_2_exp2
4612#define ac_rsassa_vect14_coeff ac_siggenpss_186_2_coeff
4613#define ac_rsassa_vect14_salt_len ac_siggenpss_186_2_salt_len
4614static const uint8_t ac_rsassa_vect14_ptx[] = {
4615 0x12, 0x48, 0xf6, 0x2a, 0x43, 0x89, 0xf4, 0x2f, 0x7b, 0x4b, 0xb1, 0x31,
4616 0x05, 0x3d, 0x6c, 0x88, 0xa9, 0x94, 0xdb, 0x20, 0x75, 0xb9, 0x12, 0xcc,
4617 0xbe, 0x3e, 0xa7, 0xdc, 0x61, 0x17, 0x14, 0xf1, 0x4e, 0x07, 0x5c, 0x10,
4618 0x48, 0x58, 0xf2, 0xf6, 0xe6, 0xcf, 0xd6, 0xab, 0xde, 0xdf, 0x01, 0x5a,
4619 0x82, 0x1d, 0x03, 0x60, 0x8b, 0xf4, 0xeb, 0xa3, 0x16, 0x9a, 0x67, 0x25,
4620 0xec, 0x42, 0x2c, 0xd9, 0x06, 0x94, 0x98, 0xb5, 0x51, 0x5a, 0x96, 0x08,
4621 0xae, 0x7c, 0xc3, 0x0e, 0x3d, 0x2e, 0xcf, 0xc1, 0xdb, 0x68, 0x25, 0xf3,
4622 0xe9, 0x96, 0xce, 0x9a, 0x50, 0x92, 0x92, 0x6b, 0xc1, 0xcf, 0x61, 0xaa,
4623 0x42, 0xd7, 0xf2, 0x40, 0xe6, 0xf7, 0xaa, 0x0e, 0xdb, 0x38, 0xbf, 0x81,
4624 0xaa, 0x92, 0x9d, 0x66, 0xbb, 0x5d, 0x89, 0x00, 0x18, 0x08, 0x84, 0x58,
4625 0x72, 0x0d, 0x72, 0xd5, 0x69, 0x24, 0x7b, 0x0c
4626};
4627static const uint8_t ac_rsassa_vect14_out[] = {
4628 0x8f, 0x16, 0xc8, 0x07, 0xbe, 0xf3, 0xed, 0x6f, 0x74, 0xee, 0x7f, 0xf5,
4629 0xc3, 0x60, 0xa5, 0x42, 0x8c, 0x6c, 0x2f, 0x10, 0x51, 0x78, 0xb5, 0x8f,
4630 0xf7, 0xd0, 0x73, 0xe5, 0x66, 0xda, 0xd6, 0xe7, 0x71, 0x8d, 0x31, 0x29,
4631 0xc7, 0x68, 0xcd, 0x5a, 0x96, 0x66, 0xde, 0x2b, 0x6c, 0x94, 0x71, 0x77,
4632 0xb4, 0x57, 0x09, 0xdc, 0x7c, 0xd0, 0xf4, 0x3b, 0x0b, 0xa6, 0xfc, 0x75,
4633 0x57, 0x8e, 0x11, 0x96, 0xac, 0xc1, 0x5c, 0xa3, 0xaf, 0xe4, 0xa7, 0x8c,
4634 0x14, 0x4c, 0xb6, 0x88, 0x5c, 0x1c, 0xc8, 0x15, 0xf7, 0xf9, 0x89, 0x25,
4635 0xbc, 0x04, 0xad, 0x2f, 0xf2, 0x0f, 0xc1, 0x06, 0x8b, 0x04, 0x5d, 0x94,
4636 0x50, 0xe2, 0xa1, 0xdc, 0xf5, 0xa1, 0x61, 0xce, 0xab, 0xba, 0x2b, 0x0b,
4637 0x66, 0xc7, 0x35, 0x4f, 0xdb, 0x80, 0xfa, 0x1d, 0x72, 0x9e, 0x5f, 0x97,
4638 0x63, 0x87, 0xf2, 0x4a, 0x69, 0x7a, 0x7e, 0x56
4639};
4640
4641/* SigGen15_186-2.txt line 214 SHA-512 */
4642#define ac_rsassa_vect15_modulus ac_siggenpss_186_2_modulus
4643#define ac_rsassa_vect15_pub_exp ac_siggenpss_186_2_pub_exp
4644#define ac_rsassa_vect15_priv_exp ac_siggenpss_186_2_priv_exp
4645#define ac_rsassa_vect15_prime1 ac_siggenpss_186_2_prime1
4646#define ac_rsassa_vect15_prime2 ac_siggenpss_186_2_prime2
4647#define ac_rsassa_vect15_exp1 ac_siggenpss_186_2_exp1
4648#define ac_rsassa_vect15_exp2 ac_siggenpss_186_2_exp2
4649#define ac_rsassa_vect15_coeff ac_siggenpss_186_2_coeff
4650#define ac_rsassa_vect15_salt_len ac_siggenpss_186_2_salt_len
4651static const uint8_t ac_rsassa_vect15_ptx[] = {
4652 0x12, 0x48, 0xf6, 0x2a, 0x43, 0x89, 0xf4, 0x2f, 0x7b, 0x4b, 0xb1, 0x31,
4653 0x05, 0x3d, 0x6c, 0x88, 0xa9, 0x94, 0xdb, 0x20, 0x75, 0xb9, 0x12, 0xcc,
4654 0xbe, 0x3e, 0xa7, 0xdc, 0x61, 0x17, 0x14, 0xf1, 0x4e, 0x07, 0x5c, 0x10,
4655 0x48, 0x58, 0xf2, 0xf6, 0xe6, 0xcf, 0xd6, 0xab, 0xde, 0xdf, 0x01, 0x5a,
4656 0x82, 0x1d, 0x03, 0x60, 0x8b, 0xf4, 0xeb, 0xa3, 0x16, 0x9a, 0x67, 0x25,
4657 0xec, 0x42, 0x2c, 0xd9, 0x06, 0x94, 0x98, 0xb5, 0x51, 0x5a, 0x96, 0x08,
4658 0xae, 0x7c, 0xc3, 0x0e, 0x3d, 0x2e, 0xcf, 0xc1, 0xdb, 0x68, 0x25, 0xf3,
4659 0xe9, 0x96, 0xce, 0x9a, 0x50, 0x92, 0x92, 0x6b, 0xc1, 0xcf, 0x61, 0xaa,
4660 0x42, 0xd7, 0xf2, 0x40, 0xe6, 0xf7, 0xaa, 0x0e, 0xdb, 0x38, 0xbf, 0x81,
4661 0xaa, 0x92, 0x9d, 0x66, 0xbb, 0x5d, 0x89, 0x00, 0x18, 0x08, 0x84, 0x58,
4662 0x72, 0x0d, 0x72, 0xd5, 0x69, 0x24, 0x7b, 0x0c
4663};
4664static const uint8_t ac_rsassa_vect15_out[] = {
4665 0xa8, 0x33, 0xba, 0x31, 0x63, 0x4f, 0x87, 0x73, 0xe4, 0xfe, 0x6e, 0xa0,
4666 0xc6, 0x9e, 0x1a, 0x23, 0x76, 0x6a, 0x93, 0x9d, 0x34, 0xb3, 0x2f, 0xc7,
4667 0x8b, 0x77, 0x4b, 0x22, 0xe4, 0x6a, 0x64, 0x6c, 0x25, 0xe6, 0xe1, 0x06,
4668 0x2d, 0x23, 0x4e, 0xd4, 0x8b, 0x1a, 0xba, 0x0f, 0x83, 0x05, 0x29, 0xff,
4669 0x6a, 0xfc, 0x29, 0x6c, 0xc8, 0xdc, 0x20, 0x7b, 0xbc, 0x15, 0x39, 0x16,
4670 0x23, 0xbe, 0xac, 0x5f, 0x6c, 0x3d, 0xb5, 0x57, 0xca, 0x49, 0xd0, 0xe4,
4671 0x2c, 0x96, 0x2d, 0xe9, 0x5b, 0x5f, 0xf5, 0x48, 0xcf, 0xf9, 0x70, 0xf5,
4672 0xc7, 0x3f, 0x43, 0x9c, 0xfe, 0x82, 0xd3, 0x90, 0x7b, 0xe6, 0x02, 0x40,
4673 0xf5, 0x6b, 0x6a, 0x42, 0x59, 0xcc, 0x96, 0xdf, 0xd8, 0xfe, 0x02, 0xa0,
4674 0xbf, 0xa2, 0x6e, 0x02, 0x23, 0xf6, 0x82, 0x14, 0x42, 0x8f, 0xff, 0x0a,
4675 0xe4, 0x01, 0x62, 0x19, 0x8c, 0xc5, 0xcb, 0xd1
4676};
4677
4678/*
Pascal Brandc639ac82015-07-02 08:53:34 +02004679 * Test data from ftp://ftp.rsa.com/pub/rsalabs/tmp/pkcs1v15crypt-vectors.txt
4680 *
4681 * As specified in PKCS#1, the block type for this operation is 2.
4682 * The seed value of each example provides the pseudo random bytes
4683 * to be used for padding. This makes the result predictable.
4684 */
4685
4686/* PKCS#1 v1.5 Signature Example 1 1024-bit RSA key pair */
4687static const uint8_t ac_rsaes_pkcs1_v1_5_example1_modulus[] = {
4688 0xa8, 0xb3, 0xb2, 0x84, 0xaf, 0x8e, 0xb5, 0x0b, 0x38, 0x70, 0x34, 0xa8,
4689 0x60, 0xf1, 0x46, 0xc4, 0x91, 0x9f, 0x31, 0x87, 0x63, 0xcd, 0x6c, 0x55,
4690 0x98, 0xc8, 0xae, 0x48, 0x11, 0xa1, 0xe0, 0xab, 0xc4, 0xc7, 0xe0, 0xb0,
4691 0x82, 0xd6, 0x93, 0xa5, 0xe7, 0xfc, 0xed, 0x67, 0x5c, 0xf4, 0x66, 0x85,
4692 0x12, 0x77, 0x2c, 0x0c, 0xbc, 0x64, 0xa7, 0x42, 0xc6, 0xc6, 0x30, 0xf5,
4693 0x33, 0xc8, 0xcc, 0x72, 0xf6, 0x2a, 0xe8, 0x33, 0xc4, 0x0b, 0xf2, 0x58,
4694 0x42, 0xe9, 0x84, 0xbb, 0x78, 0xbd, 0xbf, 0x97, 0xc0, 0x10, 0x7d, 0x55,
4695 0xbd, 0xb6, 0x62, 0xf5, 0xc4, 0xe0, 0xfa, 0xb9, 0x84, 0x5c, 0xb5, 0x14,
4696 0x8e, 0xf7, 0x39, 0x2d, 0xd3, 0xaa, 0xff, 0x93, 0xae, 0x1e, 0x6b, 0x66,
4697 0x7b, 0xb3, 0xd4, 0x24, 0x76, 0x16, 0xd4, 0xf5, 0xba, 0x10, 0xd4, 0xcf,
4698 0xd2, 0x26, 0xde, 0x88, 0xd3, 0x9f, 0x16, 0xfb
4699};
4700static const uint8_t ac_rsaes_pkcs1_v1_5_example1_pub_exp[] = {
4701 0x01, 0x00, 0x01
4702};
4703static const uint8_t ac_rsaes_pkcs1_v1_5_example1_priv_exp[] = {
4704 0x53, 0x33, 0x9c, 0xfd, 0xb7, 0x9f, 0xc8, 0x46, 0x6a, 0x65, 0x5c, 0x73,
4705 0x16, 0xac, 0xa8, 0x5c, 0x55, 0xfd, 0x8f, 0x6d, 0xd8, 0x98, 0xfd, 0xaf,
4706 0x11, 0x95, 0x17, 0xef, 0x4f, 0x52, 0xe8, 0xfd, 0x8e, 0x25, 0x8d, 0xf9,
4707 0x3f, 0xee, 0x18, 0x0f, 0xa0, 0xe4, 0xab, 0x29, 0x69, 0x3c, 0xd8, 0x3b,
4708 0x15, 0x2a, 0x55, 0x3d, 0x4a, 0xc4, 0xd1, 0x81, 0x2b, 0x8b, 0x9f, 0xa5,
4709 0xaf, 0x0e, 0x7f, 0x55, 0xfe, 0x73, 0x04, 0xdf, 0x41, 0x57, 0x09, 0x26,
4710 0xf3, 0x31, 0x1f, 0x15, 0xc4, 0xd6, 0x5a, 0x73, 0x2c, 0x48, 0x31, 0x16,
4711 0xee, 0x3d, 0x3d, 0x2d, 0x0a, 0xf3, 0x54, 0x9a, 0xd9, 0xbf, 0x7c, 0xbf,
4712 0xb7, 0x8a, 0xd8, 0x84, 0xf8, 0x4d, 0x5b, 0xeb, 0x04, 0x72, 0x4d, 0xc7,
4713 0x36, 0x9b, 0x31, 0xde, 0xf3, 0x7d, 0x0c, 0xf5, 0x39, 0xe9, 0xcf, 0xcd,
4714 0xd3, 0xde, 0x65, 0x37, 0x29, 0xea, 0xd5, 0xd1
4715};
4716static const uint8_t ac_rsaes_pkcs1_v1_5_example1_prime1[] = {
4717 0xd3, 0x27, 0x37, 0xe7, 0x26, 0x7f, 0xfe, 0x13, 0x41, 0xb2, 0xd5, 0xc0,
4718 0xd1, 0x50, 0xa8, 0x1b, 0x58, 0x6f, 0xb3, 0x13, 0x2b, 0xed, 0x2f, 0x8d,
4719 0x52, 0x62, 0x86, 0x4a, 0x9c, 0xb9, 0xf3, 0x0a, 0xf3, 0x8b, 0xe4, 0x48,
4720 0x59, 0x8d, 0x41, 0x3a, 0x17, 0x2e, 0xfb, 0x80, 0x2c, 0x21, 0xac, 0xf1,
4721 0xc1, 0x1c, 0x52, 0x0c, 0x2f, 0x26, 0xa4, 0x71, 0xdc, 0xad, 0x21, 0x2e,
4722 0xac, 0x7c, 0xa3, 0x9d
4723};
4724static const uint8_t ac_rsaes_pkcs1_v1_5_example1_prime2[] = {
4725 0xcc, 0x88, 0x53, 0xd1, 0xd5, 0x4d, 0xa6, 0x30, 0xfa, 0xc0, 0x04, 0xf4,
4726 0x71, 0xf2, 0x81, 0xc7, 0xb8, 0x98, 0x2d, 0x82, 0x24, 0xa4, 0x90, 0xed,
4727 0xbe, 0xb3, 0x3d, 0x3e, 0x3d, 0x5c, 0xc9, 0x3c, 0x47, 0x65, 0x70, 0x3d,
4728 0x1d, 0xd7, 0x91, 0x64, 0x2f, 0x1f, 0x11, 0x6a, 0x0d, 0xd8, 0x52, 0xbe,
4729 0x24, 0x19, 0xb2, 0xaf, 0x72, 0xbf, 0xe9, 0xa0, 0x30, 0xe8, 0x60, 0xb0,
4730 0x28, 0x8b, 0x5d, 0x77
4731};
4732static const uint8_t ac_rsaes_pkcs1_v1_5_example1_exp1[] = {
4733 0x0e, 0x12, 0xbf, 0x17, 0x18, 0xe9, 0xce, 0xf5, 0x59, 0x9b, 0xa1, 0xc3,
4734 0x88, 0x2f, 0xe8, 0x04, 0x6a, 0x90, 0x87, 0x4e, 0xef, 0xce, 0x8f, 0x2c,
4735 0xcc, 0x20, 0xe4, 0xf2, 0x74, 0x1f, 0xb0, 0xa3, 0x3a, 0x38, 0x48, 0xae,
4736 0xc9, 0xc9, 0x30, 0x5f, 0xbe, 0xcb, 0xd2, 0xd7, 0x68, 0x19, 0x96, 0x7d,
4737 0x46, 0x71, 0xac, 0xc6, 0x43, 0x1e, 0x40, 0x37, 0x96, 0x8d, 0xb3, 0x78,
4738 0x78, 0xe6, 0x95, 0xc1
4739};
4740static const uint8_t ac_rsaes_pkcs1_v1_5_example1_exp2[] = {
4741 0x95, 0x29, 0x7b, 0x0f, 0x95, 0xa2, 0xfa, 0x67, 0xd0, 0x07, 0x07, 0xd6,
4742 0x09, 0xdf, 0xd4, 0xfc, 0x05, 0xc8, 0x9d, 0xaf, 0xc2, 0xef, 0x6d, 0x6e,
4743 0xa5, 0x5b, 0xec, 0x77, 0x1e, 0xa3, 0x33, 0x73, 0x4d, 0x92, 0x51, 0xe7,
4744 0x90, 0x82, 0xec, 0xda, 0x86, 0x6e, 0xfe, 0xf1, 0x3c, 0x45, 0x9e, 0x1a,
4745 0x63, 0x13, 0x86, 0xb7, 0xe3, 0x54, 0xc8, 0x99, 0xf5, 0xf1, 0x12, 0xca,
4746 0x85, 0xd7, 0x15, 0x83
4747};
4748static const uint8_t ac_rsaes_pkcs1_v1_5_example1_coeff[] = {
4749 0x4f, 0x45, 0x6c, 0x50, 0x24, 0x93, 0xbd, 0xc0, 0xed, 0x2a, 0xb7, 0x56,
4750 0xa3, 0xa6, 0xed, 0x4d, 0x67, 0x35, 0x2a, 0x69, 0x7d, 0x42, 0x16, 0xe9,
4751 0x32, 0x12, 0xb1, 0x27, 0xa6, 0x3d, 0x54, 0x11, 0xce, 0x6f, 0xa9, 0x8d,
4752 0x5d, 0xbe, 0xfd, 0x73, 0x26, 0x3e, 0x37, 0x28, 0x14, 0x27, 0x43, 0x81,
4753 0x81, 0x66, 0xed, 0x7d, 0xd6, 0x36, 0x87, 0xdd, 0x2a, 0x8c, 0xa1, 0xd2,
4754 0xf4, 0xfb, 0xd8, 0xe1
4755};
4756
4757
4758/* PKCS#1 v1.5 Encrypt Example 1.1 */
4759#define ac_rsaes_pkcs1_v1_5_vect1_modulus ac_rsaes_pkcs1_v1_5_example1_modulus
4760#define ac_rsaes_pkcs1_v1_5_vect1_pub_exp ac_rsaes_pkcs1_v1_5_example1_pub_exp
4761#define ac_rsaes_pkcs1_v1_5_vect1_priv_exp ac_rsaes_pkcs1_v1_5_example1_priv_exp
4762#define ac_rsaes_pkcs1_v1_5_vect1_prime1 ac_rsaes_pkcs1_v1_5_example1_prime1
4763#define ac_rsaes_pkcs1_v1_5_vect1_prime2 ac_rsaes_pkcs1_v1_5_example1_prime2
4764#define ac_rsaes_pkcs1_v1_5_vect1_exp1 ac_rsaes_pkcs1_v1_5_example1_exp1
4765#define ac_rsaes_pkcs1_v1_5_vect1_exp2 ac_rsaes_pkcs1_v1_5_example1_exp2
4766#define ac_rsaes_pkcs1_v1_5_vect1_coeff ac_rsaes_pkcs1_v1_5_example1_coeff
4767static const uint8_t ac_rsaes_pkcs1_v1_5_vect1_ptx[] = {
4768 0x66, 0x28, 0x19, 0x4e, 0x12, 0x07, 0x3d, 0xb0, 0x3b, 0xa9, 0x4c, 0xda,
4769 0x9e, 0xf9, 0x53, 0x23,
4770 0x97, 0xd5, 0x0d, 0xba, 0x79, 0xb9, 0x87, 0x00, 0x4a, 0xfe, 0xfe, 0x34,
4771};
4772static const uint8_t ac_rsaes_pkcs1_v1_5_vect1_out[] = {
4773 0x50, 0xb4, 0xc1, 0x41, 0x36, 0xbd, 0x19, 0x8c, 0x2f, 0x3c, 0x3e, 0xd2,
4774 0x43, 0xfc, 0xe0, 0x36,
4775 0xe1, 0x68, 0xd5, 0x65, 0x17, 0x98, 0x4a, 0x26, 0x3c, 0xd6, 0x64, 0x92,
4776 0xb8, 0x08, 0x04, 0xf1,
4777 0x69, 0xd2, 0x10, 0xf2, 0xb9, 0xbd, 0xfb, 0x48, 0xb1, 0x2f, 0x9e, 0xa0,
4778 0x50, 0x09, 0xc7, 0x7d,
4779 0xa2, 0x57, 0xcc, 0x60, 0x0c, 0xce, 0xfe, 0x3a, 0x62, 0x83, 0x78, 0x9d,
4780 0x8e, 0xa0, 0xe6, 0x07,
4781 0xac, 0x58, 0xe2, 0x69, 0x0e, 0xc4, 0xeb, 0xc1, 0x01, 0x46, 0xe8, 0xcb,
4782 0xaa, 0x5e, 0xd4, 0xd5,
4783 0xcc, 0xe6, 0xfe, 0x7b, 0x0f, 0xf9, 0xef, 0xc1, 0xea, 0xbb, 0x56, 0x4d,
4784 0xbf, 0x49, 0x82, 0x85,
4785 0xf4, 0x49, 0xee, 0x61, 0xdd, 0x7b, 0x42, 0xee, 0x5b, 0x58, 0x92, 0xcb,
4786 0x90, 0x60, 0x1f, 0x30,
4787 0xcd, 0xa0, 0x7b, 0xf2, 0x64, 0x89, 0x31, 0x0b, 0xcd, 0x23, 0xb5, 0x28,
4788 0xce, 0xab, 0x3c, 0x31,
4789};
4790
4791
4792/* PKCS#1 v1.5 Encrypt Example 1.2 */
4793#define ac_rsaes_pkcs1_v1_5_vect2_modulus ac_rsaes_pkcs1_v1_5_example1_modulus
4794#define ac_rsaes_pkcs1_v1_5_vect2_pub_exp ac_rsaes_pkcs1_v1_5_example1_pub_exp
4795#define ac_rsaes_pkcs1_v1_5_vect2_priv_exp ac_rsaes_pkcs1_v1_5_example1_priv_exp
4796#define ac_rsaes_pkcs1_v1_5_vect2_prime1 ac_rsaes_pkcs1_v1_5_example1_prime1
4797#define ac_rsaes_pkcs1_v1_5_vect2_prime2 ac_rsaes_pkcs1_v1_5_example1_prime2
4798#define ac_rsaes_pkcs1_v1_5_vect2_exp1 ac_rsaes_pkcs1_v1_5_example1_exp1
4799#define ac_rsaes_pkcs1_v1_5_vect2_exp2 ac_rsaes_pkcs1_v1_5_example1_exp2
4800#define ac_rsaes_pkcs1_v1_5_vect2_coeff ac_rsaes_pkcs1_v1_5_example1_coeff
4801static const uint8_t ac_rsaes_pkcs1_v1_5_vect2_ptx[] = {
4802 0x75, 0x0c, 0x40, 0x47, 0xf5, 0x47, 0xe8, 0xe4, 0x14, 0x11, 0x85, 0x65,
4803 0x23, 0x29, 0x8a, 0xc9, 0xba, 0xe2, 0x45, 0xef, 0xaf, 0x13, 0x97, 0xfb,
4804 0xe5, 0x6f, 0x9d, 0xd5
4805};
4806static const uint8_t ac_rsaes_pkcs1_v1_5_vect2_out[] = {
4807 0x68, 0x42, 0xe5, 0xe2, 0xcc, 0x00, 0x41, 0xd6, 0xb0, 0xc8, 0x1a, 0x56,
4808 0x2c, 0x39, 0xa6, 0x17, 0x37, 0x9a, 0x51, 0x5c, 0xab, 0x74, 0xab, 0xcb,
4809 0x26, 0x19, 0xc7, 0x74, 0x0a, 0x54, 0x1d, 0x95, 0x55, 0xdd, 0x91, 0x65,
4810 0x97, 0x5b, 0xf8, 0xa3, 0xeb, 0xd0, 0xd0, 0x45, 0x66, 0x61, 0xdf, 0xb1,
4811 0xa6, 0x86, 0x1b, 0xa2, 0x33, 0x22, 0x69, 0x93, 0x0e, 0x0d, 0xb5, 0x14,
4812 0xfc, 0xa0, 0x73, 0x3e, 0xeb, 0x9c, 0x40, 0x57, 0x13, 0xeb, 0x1f, 0x9d,
4813 0x76, 0x80, 0x33, 0xed, 0x29, 0x3e, 0x1e, 0x08, 0x1a, 0x12, 0x5f, 0x32,
4814 0xdd, 0xb9, 0xea, 0x52, 0xed, 0xbe, 0x27, 0x5c, 0x4a, 0xf6, 0x0f, 0x8a,
4815 0x7b, 0xf8, 0x32, 0xbd, 0x22, 0x75, 0x61, 0xc2, 0x08, 0xdc, 0x00, 0x31,
4816 0xa8, 0x4b, 0x50, 0x12, 0xc9, 0xdd, 0x9f, 0x74, 0x45, 0x9d, 0xcb, 0x07,
4817 0x0b, 0xdb, 0xe1, 0x3c, 0xfa, 0x8c, 0x2d, 0x50
4818};
4819
4820/*
4821 * Test data from ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1-vec.zip
4822 *
4823 * The underlying hash function is SHA-1; the mask generation function is
4824 * MGF1 with SHA-1 as specified in PKCS #1 v2.1.
4825 */
4826
4827/* Example 1: A 1024-bit RSA Key Pair */
4828#define ac_rsaes_oaep_example1_modulus ac_rsaes_pkcs1_v1_5_example1_modulus
4829#define ac_rsaes_oaep_example1_pub_exp ac_rsaes_pkcs1_v1_5_example1_pub_exp
4830#define ac_rsaes_oaep_example1_priv_exp ac_rsaes_pkcs1_v1_5_example1_priv_exp
4831#define ac_rsaes_oaep_example1_prime1 ac_rsaes_pkcs1_v1_5_example1_prime1
4832#define ac_rsaes_oaep_example1_prime2 ac_rsaes_pkcs1_v1_5_example1_prime2
4833#define ac_rsaes_oaep_example1_exp1 ac_rsaes_pkcs1_v1_5_example1_exp1
4834#define ac_rsaes_oaep_example1_exp2 ac_rsaes_pkcs1_v1_5_example1_exp2
4835#define ac_rsaes_oaep_example1_coeff ac_rsaes_pkcs1_v1_5_example1_coeff
4836
4837
4838/* RSAES-OAEP Encryption Example 1.1 */
4839#define ac_rsaes_oaep_vect1_modulus ac_rsaes_oaep_example1_modulus
4840#define ac_rsaes_oaep_vect1_pub_exp ac_rsaes_oaep_example1_pub_exp
4841#define ac_rsaes_oaep_vect1_priv_exp ac_rsaes_oaep_example1_priv_exp
4842#define ac_rsaes_oaep_vect1_prime1 ac_rsaes_oaep_example1_prime1
4843#define ac_rsaes_oaep_vect1_prime2 ac_rsaes_oaep_example1_prime2
4844#define ac_rsaes_oaep_vect1_exp1 ac_rsaes_oaep_example1_exp1
4845#define ac_rsaes_oaep_vect1_exp2 ac_rsaes_oaep_example1_exp2
4846#define ac_rsaes_oaep_vect1_coeff ac_rsaes_oaep_example1_coeff
4847static const uint8_t ac_rsaes_oaep_vect1_ptx[] = {
4848 0x66, 0x28, 0x19, 0x4e, 0x12, 0x07, 0x3d, 0xb0, 0x3b, 0xa9, 0x4c, 0xda,
4849 0x9e, 0xf9, 0x53, 0x23, 0x97, 0xd5, 0x0d, 0xba, 0x79, 0xb9, 0x87, 0x00,
4850 0x4a, 0xfe, 0xfe, 0x34,
4851};
4852static const uint8_t ac_rsaes_oaep_vect1_out[] = {
4853 0x35, 0x4f, 0xe6, 0x7b, 0x4a, 0x12, 0x6d, 0x5d, 0x35, 0xfe, 0x36, 0xc7,
4854 0x77, 0x79, 0x1a, 0x3f, 0x7b, 0xa1, 0x3d, 0xef, 0x48, 0x4e, 0x2d, 0x39,
4855 0x08, 0xaf, 0xf7, 0x22, 0xfa, 0xd4, 0x68, 0xfb, 0x21, 0x69, 0x6d, 0xe9,
4856 0x5d, 0x0b, 0xe9, 0x11, 0xc2, 0xd3, 0x17, 0x4f, 0x8a, 0xfc, 0xc2, 0x01,
4857 0x03, 0x5f, 0x7b, 0x6d, 0x8e, 0x69, 0x40, 0x2d, 0xe5, 0x45, 0x16, 0x18,
4858 0xc2, 0x1a, 0x53, 0x5f, 0xa9, 0xd7, 0xbf, 0xc5, 0xb8, 0xdd, 0x9f, 0xc2,
4859 0x43, 0xf8, 0xcf, 0x92, 0x7d, 0xb3, 0x13, 0x22, 0xd6, 0xe8, 0x81, 0xea,
4860 0xa9, 0x1a, 0x99, 0x61, 0x70, 0xe6, 0x57, 0xa0, 0x5a, 0x26, 0x64, 0x26,
4861 0xd9, 0x8c, 0x88, 0x00, 0x3f, 0x84, 0x77, 0xc1, 0x22, 0x70, 0x94, 0xa0,
4862 0xd9, 0xfa, 0x1e, 0x8c, 0x40, 0x24, 0x30, 0x9c, 0xe1, 0xec, 0xcc, 0xb5,
4863 0x21, 0x00, 0x35, 0xd4, 0x7a, 0xc7, 0x2e, 0x8a
4864};
4865
4866/* RSAES-OAEP Encryption Example 1.2 */
4867#define ac_rsaes_oaep_vect2_modulus ac_rsaes_oaep_example1_modulus
4868#define ac_rsaes_oaep_vect2_pub_exp ac_rsaes_oaep_example1_pub_exp
4869#define ac_rsaes_oaep_vect2_priv_exp ac_rsaes_oaep_example1_priv_exp
4870#define ac_rsaes_oaep_vect2_prime1 ac_rsaes_oaep_example1_prime1
4871#define ac_rsaes_oaep_vect2_prime2 ac_rsaes_oaep_example1_prime2
4872#define ac_rsaes_oaep_vect2_exp1 ac_rsaes_oaep_example1_exp1
4873#define ac_rsaes_oaep_vect2_exp2 ac_rsaes_oaep_example1_exp2
4874#define ac_rsaes_oaep_vect2_coeff ac_rsaes_oaep_example1_coeff
4875static const uint8_t ac_rsaes_oaep_vect2_ptx[] = {
4876 0x75, 0x0c, 0x40, 0x47, 0xf5, 0x47, 0xe8, 0xe4, 0x14, 0x11, 0x85, 0x65,
4877 0x23, 0x29, 0x8a, 0xc9, 0xba, 0xe2, 0x45, 0xef, 0xaf, 0x13, 0x97, 0xfb,
4878 0xe5, 0x6f, 0x9d, 0xd5
4879};
4880static const uint8_t ac_rsaes_oaep_vect2_out[] = {
4881 0x64, 0x0d, 0xb1, 0xac, 0xc5, 0x8e, 0x05, 0x68, 0xfe, 0x54, 0x07, 0xe5,
4882 0xf9, 0xb7, 0x01, 0xdf, 0xf8, 0xc3, 0xc9, 0x1e, 0x71, 0x6c, 0x53, 0x6f,
4883 0xc7, 0xfc, 0xec, 0x6c, 0xb5, 0xb7, 0x1c, 0x11, 0x65, 0x98, 0x8d, 0x4a,
4884 0x27, 0x9e, 0x15, 0x77, 0xd7, 0x30, 0xfc, 0x7a, 0x29, 0x93, 0x2e, 0x3f,
4885 0x00, 0xc8, 0x15, 0x15, 0x23, 0x6d, 0x8d, 0x8e, 0x31, 0x01, 0x7a, 0x7a,
4886 0x09, 0xdf, 0x43, 0x52, 0xd9, 0x04, 0xcd, 0xeb, 0x79, 0xaa, 0x58, 0x3a,
4887 0xdc, 0xc3, 0x1e, 0xa6, 0x98, 0xa4, 0xc0, 0x52, 0x83, 0xda, 0xba, 0x90,
4888 0x89, 0xbe, 0x54, 0x91, 0xf6, 0x7c, 0x1a, 0x4e, 0xe4, 0x8d, 0xc7, 0x4b,
4889 0xbb, 0xe6, 0x64, 0x3a, 0xef, 0x84, 0x66, 0x79, 0xb4, 0xcb, 0x39, 0x5a,
4890 0x35, 0x2d, 0x5e, 0xd1, 0x15, 0x91, 0x2d, 0xf6, 0x96, 0xff, 0xe0, 0x70,
4891 0x29, 0x32, 0x94, 0x6d, 0x71, 0x49, 0x2b, 0x44
4892};
4893
4894/*
4895 * PKCS#1 v1.5 Signature Example 15 2048-bit RSA key pair
4896 * from http://armcryptolib.das-labor.org/trac/browser/testvectors/rsa-pkcs-1v2-1-vec/oaep-vect.txt
4897 */
4898static const uint8_t ac_rsaes_pkcs1_v1_5_example15_modulus[] = {
4899 0xdc, 0xfa, 0x10, 0xff, 0xa7, 0x46, 0x65, 0xae, 0xef, 0x87, 0x09, 0x74, 0xea, 0x99, 0xb2, 0xce,
4900 0x54, 0x54, 0x7c, 0x67, 0xf4, 0x2a, 0xaa, 0x6d, 0xd0, 0x1a, 0x2e, 0xd3, 0x1f, 0xd2, 0xc2, 0x42,
4901 0xaf, 0x5d, 0x96, 0x0b, 0x1f, 0x89, 0x6e, 0xfb, 0xa3, 0x54, 0x3d, 0x65, 0x54, 0xb7, 0xb1, 0x26,
4902 0x87, 0xa5, 0xc6, 0x88, 0x56, 0x8f, 0x32, 0xe0, 0x26, 0xc5, 0x32, 0xd2, 0x59, 0x93, 0xb9, 0x7a,
4903 0x7c, 0x28, 0x42, 0xec, 0x2b, 0x8e, 0x12, 0x35, 0xee, 0xe2, 0x41, 0x4d, 0x25, 0x80, 0x6c, 0x6f,
4904 0xba, 0xe4, 0x38, 0x95, 0x4e, 0xba, 0x9d, 0x27, 0x55, 0xdf, 0xfe, 0xeb, 0x1b, 0x47, 0x70, 0x09,
4905 0x57, 0x81, 0x5a, 0x8a, 0x23, 0x3f, 0x97, 0xb1, 0xa2, 0xc7, 0x14, 0xb3, 0xe2, 0xbe, 0x2e, 0x42,
4906 0xd8, 0xbe, 0x30, 0xb1, 0x96, 0x15, 0x82, 0xea, 0x99, 0x48, 0x91, 0x0e, 0x0c, 0x79, 0x7c, 0x50,
4907 0xfc, 0x4b, 0xb4, 0x55, 0xf0, 0xfc, 0x45, 0xe5, 0xe3, 0x4e, 0x63, 0x96, 0xac, 0x5b, 0x2d, 0x46,
4908 0x23, 0x93, 0x65, 0xc7, 0xf3, 0xda, 0xaf, 0x09, 0x09, 0x40, 0x0d, 0x61, 0xcf, 0x9e, 0x0c, 0xa8,
4909 0x08, 0x3e, 0xaf, 0x33, 0x5a, 0x6f, 0xce, 0xb6, 0x86, 0x3c, 0x1c, 0xc0, 0xcf, 0x5a, 0x17, 0x1a,
4910 0xff, 0x35, 0xd9, 0x7e, 0xcb, 0x60, 0xef, 0x25, 0x1c, 0x7e, 0xc2, 0xc8, 0xa5, 0x88, 0x36, 0x1d,
4911 0xc4, 0x12, 0x66, 0xa4, 0xb7, 0xed, 0x38, 0xb0, 0x26, 0xce, 0x0d, 0x53, 0x78, 0x64, 0x49, 0xdb,
4912 0xb1, 0x1a, 0x06, 0xea, 0x33, 0xcc, 0xf1, 0xec, 0xa5, 0x75, 0x20, 0x1e, 0xd1, 0xaa, 0x47, 0x3e,
4913 0xd1, 0x18, 0x7e, 0xc1, 0xd8, 0xa7, 0x44, 0xea, 0x34, 0x5b, 0xed, 0x7e, 0xa0, 0x0e, 0xe4, 0xe8,
4914 0x1b, 0xba, 0x46, 0x48, 0x60, 0x1d, 0xd5, 0x37, 0xdc, 0x91, 0x01, 0x5d, 0x31, 0xf0, 0xc2, 0xc1,
4915};
4916
4917static const uint8_t ac_rsaes_pkcs1_v1_5_example15_pub_exp[] = {
4918 0x01, 0x00, 0x01,
4919};
4920
4921static const uint8_t ac_rsaes_pkcs1_v1_5_example15_priv_exp[] = {
4922 0x21, 0x95, 0x08, 0x51, 0xcd, 0xf2, 0x53, 0x20, 0x31, 0x8b, 0x30, 0x5a, 0xfa, 0x0f, 0x37, 0x1f,
4923 0x07, 0xae, 0x5a, 0x44, 0xb3, 0x14, 0xeb, 0xd7, 0x29, 0xf5, 0xdc, 0xb1, 0x5d, 0xa7, 0xfa, 0x39,
4924 0x47, 0xac, 0xdd, 0x91, 0x5d, 0xae, 0xd5, 0x74, 0xbd, 0x16, 0xdf, 0x88, 0xbf, 0x85, 0xf6, 0x10,
4925 0x60, 0xb3, 0x87, 0x17, 0x2f, 0xae, 0x6e, 0x01, 0x26, 0x2b, 0x38, 0x64, 0xc2, 0xd3, 0xc2, 0x2f,
4926 0x94, 0xe0, 0x4a, 0x81, 0x59, 0x42, 0x2b, 0x4e, 0xd2, 0x79, 0xc4, 0x8a, 0x4c, 0x9d, 0x76, 0x7d,
4927 0x49, 0x66, 0x07, 0x1a, 0x5b, 0xbf, 0x5d, 0x04, 0x3e, 0x16, 0xff, 0x46, 0xec, 0x1b, 0xa0, 0x71,
4928 0x6f, 0x00, 0xbb, 0xc9, 0x7b, 0xff, 0x5d, 0x56, 0x93, 0xe2, 0x14, 0xe9, 0x9c, 0x97, 0x21, 0xf1,
4929 0x2b, 0x3e, 0xc6, 0x28, 0x2a, 0xe2, 0xa4, 0x85, 0x72, 0x1b, 0x96, 0xdd, 0xcf, 0x74, 0x03, 0xfa,
4930 0x03, 0x7d, 0x0c, 0x57, 0xab, 0x46, 0x3c, 0x44, 0x8d, 0xe5, 0xcc, 0x12, 0x26, 0x5a, 0xdd, 0x88,
4931 0x6d, 0x31, 0x1e, 0xa8, 0xd8, 0xa5, 0x90, 0x3f, 0xa5, 0x6c, 0x5f, 0x1c, 0x9c, 0xf2, 0xeb, 0x11,
4932 0xcb, 0x65, 0x7a, 0x1a, 0x7d, 0x3e, 0x41, 0x35, 0x2d, 0xc3, 0xe6, 0x86, 0x89, 0x8c, 0x4c, 0xe4,
4933 0x30, 0x5e, 0x8b, 0x63, 0x8e, 0x1b, 0x08, 0xa2, 0xa8, 0x6c, 0xc9, 0xeb, 0x98, 0x66, 0xf3, 0x49,
4934 0x9a, 0xc7, 0x7b, 0x61, 0x36, 0xb8, 0x1c, 0xb2, 0x76, 0xd6, 0x14, 0xcf, 0xeb, 0x7b, 0x6e, 0xd3,
4935 0xf3, 0xbc, 0x77, 0x5e, 0x46, 0xc0, 0x00, 0x66, 0xeb, 0xee, 0xe2, 0xcf, 0xf7, 0x16, 0x6b, 0x57,
4936 0x52, 0x05, 0x98, 0x94, 0x7f, 0xf6, 0x21, 0x03, 0x20, 0xb2, 0x88, 0xfb, 0x4f, 0x2c, 0x3f, 0x8f,
4937 0xe9, 0x7b, 0x27, 0x94, 0x14, 0xeb, 0xf7, 0x20, 0x30, 0x00, 0xa1, 0x9f, 0xc0, 0x42, 0x48, 0x75,
4938};
4939
4940static const uint8_t ac_rsaes_pkcs1_v1_5_example15_prime1[] = {
4941 0xf1, 0x23, 0xbf, 0xe5, 0x3d, 0xe9, 0x7a, 0x56, 0x9d, 0x91, 0xad, 0xcf, 0x55, 0x6f, 0xa6, 0x25,
4942 0xad, 0x30, 0xf3, 0xfd, 0x3d, 0x81, 0x1f, 0x9e, 0x91, 0xe6, 0xaf, 0x44, 0xb6, 0xe7, 0x80, 0xcb,
4943 0x0f, 0x32, 0x78, 0x29, 0xfb, 0x21, 0x19, 0x0a, 0xe2, 0x80, 0x66, 0x46, 0xd7, 0x28, 0xcd, 0x9b,
4944 0x65, 0x31, 0x13, 0x2b, 0x1e, 0xbf, 0xef, 0x12, 0x72, 0x99, 0x30, 0x60, 0xf1, 0xce, 0x70, 0xb1,
4945 0x24, 0x39, 0x30, 0x91, 0xee, 0x85, 0x93, 0xb7, 0x27, 0x36, 0x7e, 0xdb, 0xba, 0x00, 0x9e, 0xc5,
4946 0xbe, 0x17, 0xc4, 0xac, 0xee, 0x12, 0x0c, 0x84, 0x12, 0x67, 0xd4, 0x76, 0x31, 0xa1, 0x6c, 0x36,
4947 0xa6, 0xd1, 0xc9, 0x99, 0x73, 0xc1, 0xb0, 0xb5, 0xa8, 0x35, 0xbf, 0x39, 0xfe, 0xaf, 0xe8, 0xf6,
4948 0x42, 0x1f, 0xd9, 0xc2, 0xa9, 0x0b, 0xc2, 0x79, 0x76, 0x65, 0x9e, 0x67, 0xbc, 0x83, 0x12, 0x4d,
4949};
4950
4951static const uint8_t ac_rsaes_pkcs1_v1_5_example15_prime2[] = {
4952 0xea, 0x98, 0x39, 0xb7, 0xe3, 0x7e, 0xa8, 0x9b, 0xbd, 0xa2, 0x7e, 0x4c, 0x93, 0x47, 0x1c, 0xb4,
4953 0xfd, 0x92, 0x18, 0x9a, 0x0a, 0x96, 0xbc, 0xb4, 0xd7, 0x56, 0x93, 0xf1, 0x8a, 0x5c, 0x2f, 0x74,
4954 0x2a, 0xf9, 0xe3, 0x6f, 0xde, 0x67, 0x9f, 0xbd, 0x9e, 0xae, 0x34, 0x5f, 0xa2, 0x69, 0x52, 0x7b,
4955 0x69, 0x65, 0x02, 0x1c, 0x4b, 0xdf, 0x54, 0xd6, 0x85, 0xbf, 0x08, 0x96, 0x0c, 0xc9, 0x76, 0xf6,
4956 0x8d, 0xca, 0x21, 0xce, 0xbf, 0x44, 0xf2, 0x68, 0xa5, 0x9d, 0xab, 0x8d, 0x1a, 0x25, 0xe5, 0x19,
4957 0xf5, 0x14, 0x7e, 0x1f, 0x45, 0xfe, 0x28, 0x7d, 0x74, 0xcf, 0x72, 0x5b, 0xec, 0x13, 0x26, 0xd3,
4958 0x42, 0x12, 0xc5, 0x6c, 0xf4, 0xff, 0xfa, 0x20, 0x2f, 0x57, 0xb6, 0x8e, 0xe8, 0xcc, 0xa9, 0x43,
4959 0xf3, 0xc1, 0x38, 0xc4, 0xcd, 0xe3, 0x3b, 0xdf, 0x2c, 0x94, 0x40, 0xdf, 0x65, 0x32, 0x24, 0x45,
4960};
4961
4962static const uint8_t ac_rsaes_pkcs1_v1_5_example15_exp1[] = {
4963 0xca, 0x0c, 0x9b, 0x60, 0xb8, 0xe4, 0xa6, 0x06, 0x67, 0x56, 0xc6, 0x5d, 0x20, 0x88, 0x41, 0x9d,
4964 0xf6, 0x25, 0x3b, 0x7b, 0x68, 0x8a, 0x85, 0xf4, 0xf6, 0xe9, 0x64, 0xd8, 0x5d, 0xad, 0x52, 0xa4,
4965 0x52, 0x62, 0x86, 0x7f, 0x1e, 0x96, 0x18, 0x06, 0x9f, 0xcc, 0xd8, 0x65, 0xe9, 0x28, 0x9e, 0x46,
4966 0xe3, 0x9e, 0x20, 0x22, 0x94, 0x4c, 0x5c, 0x44, 0x87, 0xd3, 0x45, 0xcf, 0x25, 0x2d, 0x46, 0x0d,
4967 0x97, 0x7d, 0x77, 0xed, 0xfe, 0xfe, 0xdb, 0xcb, 0xae, 0x46, 0xa2, 0x3a, 0xf7, 0xfa, 0x47, 0x0f,
4968 0x07, 0x7d, 0xa0, 0xe5, 0x09, 0x42, 0x04, 0x4c, 0xb1, 0xa3, 0x60, 0x49, 0x7c, 0xc2, 0x76, 0x0a,
4969 0xc0, 0xf2, 0xad, 0x4a, 0x2f, 0xcd, 0x0e, 0x84, 0xd7, 0xa1, 0xd9, 0x4d, 0xfd, 0xd2, 0x65, 0x8f,
4970 0xd9, 0xce, 0x18, 0x47, 0x5c, 0x1f, 0xa7, 0x5e, 0xe0, 0xce, 0xba, 0xd0, 0xcf, 0x0a, 0xc0, 0x4d,
4971};
4972
4973static const uint8_t ac_rsaes_pkcs1_v1_5_example15_exp2[] = {
4974 0x52, 0x81, 0x71, 0x23, 0x3c, 0x4e, 0x4a, 0x6c, 0x63, 0xb8, 0x67, 0x64, 0xf5, 0x13, 0x38, 0x84,
4975 0x6a, 0xfd, 0xdb, 0xcb, 0x29, 0x58, 0x34, 0x4c, 0x01, 0xc4, 0x00, 0x4a, 0x1d, 0xd8, 0x28, 0x14,
4976 0x5a, 0x1d, 0x02, 0xa1, 0x50, 0x7d, 0xef, 0x4f, 0x58, 0x24, 0x7a, 0x64, 0xfc, 0x10, 0xc0, 0xa2,
4977 0x88, 0xc1, 0xae, 0x89, 0x57, 0x21, 0xd7, 0x8b, 0x8f, 0x04, 0x4d, 0xb7, 0xc0, 0x0d, 0x86, 0xda,
4978 0x55, 0xa9, 0xb6, 0x54, 0x29, 0x2e, 0xcd, 0x76, 0x82, 0x70, 0xbe, 0x69, 0xe4, 0xbd, 0x59, 0x22,
4979 0xd4, 0xef, 0xfd, 0x1f, 0x70, 0x95, 0x5f, 0x96, 0x27, 0xe3, 0xe1, 0x9b, 0x74, 0x9e, 0x93, 0xb4,
4980 0x0e, 0xf3, 0xdd, 0x1d, 0x61, 0xd9, 0x39, 0x15, 0xe2, 0xb0, 0x9d, 0x93, 0x0b, 0x4b, 0x17, 0x68,
4981 0xbf, 0xac, 0xc0, 0x13, 0x6f, 0x39, 0xb0, 0xcf, 0xdf, 0xb4, 0xd0, 0x50, 0x01, 0x1e, 0x2e, 0x65,
4982};
4983
4984static const uint8_t ac_rsaes_pkcs1_v1_5_example15_coeff[] = {
4985 0xdf, 0x2e, 0xb2, 0x32, 0x2c, 0xc2, 0xda, 0xab, 0xf4, 0xd1, 0x46, 0x55, 0x08, 0xf4, 0x15, 0x21,
4986 0xcd, 0xa7, 0xce, 0xff, 0x23, 0xeb, 0xe6, 0x1d, 0x00, 0xd4, 0x41, 0xee, 0x72, 0x8d, 0xda, 0x5d,
4987 0x16, 0xc7, 0xbf, 0x92, 0x0c, 0xd9, 0x5f, 0x34, 0xbe, 0xb4, 0xfe, 0x32, 0xee, 0x81, 0x7e, 0xf3,
4988 0x36, 0x2e, 0x0b, 0xcd, 0x1d, 0x12, 0x45, 0xf7, 0xb0, 0x77, 0x93, 0xea, 0xa1, 0x90, 0xdc, 0x5a,
4989 0x37, 0xfd, 0xaf, 0x4c, 0x68, 0xe2, 0xca, 0x13, 0x97, 0x2d, 0x7f, 0x51, 0x48, 0xb7, 0x96, 0xb6,
4990 0xfb, 0x6d, 0x7a, 0xdd, 0xa0, 0x7b, 0xd2, 0xcd, 0x13, 0xbe, 0x98, 0xce, 0xbe, 0xd1, 0xed, 0xc6,
4991 0xca, 0x41, 0x2e, 0x39, 0x53, 0x50, 0xc5, 0x9a, 0x1d, 0x84, 0x2b, 0xc4, 0xaa, 0x2f, 0x3c, 0x0b,
4992 0x24, 0x3f, 0xde, 0x7d, 0xfd, 0x95, 0x35, 0x6f, 0x24, 0x39, 0x25, 0x1a, 0x11, 0x72, 0xc4, 0x5e,
4993};
4994
4995/* PKCS#1 v1.5 Encrypt Example 15.9 */
4996#define ac_rsaes_pkcs1_v1_5_vect15_modulus ac_rsaes_pkcs1_v1_5_example15_modulus
4997#define ac_rsaes_pkcs1_v1_5_vect15_pub_exp ac_rsaes_pkcs1_v1_5_example15_pub_exp
4998#define ac_rsaes_pkcs1_v1_5_vect15_priv_exp ac_rsaes_pkcs1_v1_5_example15_priv_exp
4999#define ac_rsaes_pkcs1_v1_5_vect15_prime1 ac_rsaes_pkcs1_v1_5_example15_prime1
5000#define ac_rsaes_pkcs1_v1_5_vect15_prime2 ac_rsaes_pkcs1_v1_5_example15_prime2
5001#define ac_rsaes_pkcs1_v1_5_vect15_exp1 ac_rsaes_pkcs1_v1_5_example15_exp1
5002#define ac_rsaes_pkcs1_v1_5_vect15_exp2 ac_rsaes_pkcs1_v1_5_example15_exp2
5003#define ac_rsaes_pkcs1_v1_5_vect15_coeff ac_rsaes_pkcs1_v1_5_example15_coeff
5004
5005/*
5006 * PKCS#1 v1.5 Encryption Example 15.9
5007 * from ftp://ftp.rsa.com/pub/rsalabs/tmp/pkcs1v15crypt-vectors.txt
5008 */
5009static const uint8_t ac_rsaes_pkcs1_v1_5_vect15_ptx[] = {
5010 0x9a, 0x13, 0x96, 0x62, 0x2d, 0x06, 0x6c, 0x10, 0x56, 0x08, 0x58, 0xc2, 0xc4, 0xcd, 0x5c, 0x04,
5011 0x44, 0x9e, 0x2b, 0x95, 0x50, 0xc5, 0xbc, 0x92, 0x93, 0x76, 0x1a, 0x91, 0x04, 0x41, 0x1d, 0xa1,
5012 0x8a, 0x57, 0xd9, 0xb6, 0xa9, 0x97, 0x33, 0x3c, 0xdb, 0xce, 0x77, 0xe9, 0xfd, 0xbe, 0x6b, 0xb8,
5013 0x31,
5014};
5015
5016static const uint8_t ac_rsaes_pkcs1_v1_5_vect15_out[] = {
5017 0x10, 0x0e, 0xce, 0x63, 0x45, 0x25, 0xd4, 0x67, 0xf6, 0xd4, 0xa6, 0xb6, 0x6e, 0xde, 0x1c, 0xc2,
5018 0x37, 0xf6, 0x1f, 0xb2, 0xb6, 0x70, 0x23, 0xa8, 0x3d, 0xc4, 0x56, 0xb9, 0x2c, 0xda, 0x18, 0x3e,
5019 0xd6, 0x62, 0x0f, 0xe5, 0x7d, 0x5a, 0x67, 0x33, 0x2c, 0x77, 0x23, 0x3a, 0xc1, 0xe8, 0x72, 0x5b,
5020 0x36, 0xf8, 0xe1, 0xb1, 0x08, 0x41, 0x2c, 0xa6, 0xfb, 0x35, 0xdc, 0xd4, 0xd8, 0x16, 0x77, 0xa2,
5021 0xb3, 0x0d, 0x5e, 0xaf, 0x25, 0xe0, 0xb9, 0x19, 0x1b, 0x38, 0xf7, 0xee, 0xf8, 0x3f, 0x91, 0x21,
5022 0xa8, 0x08, 0x43, 0x8c, 0x92, 0xab, 0x03, 0xf5, 0x20, 0x80, 0x7b, 0xc9, 0xa8, 0x94, 0x70, 0x5e,
5023 0xaf, 0x4e, 0xed, 0x06, 0x68, 0x23, 0xa6, 0x7a, 0xa2, 0xa5, 0x59, 0x9c, 0xd9, 0x5e, 0x58, 0xda,
5024 0x7c, 0x09, 0x48, 0x36, 0xd2, 0xaf, 0xeb, 0xa3, 0x9d, 0xd0, 0x09, 0xa6, 0x4a, 0xde, 0x03, 0x05,
5025 0x33, 0x76, 0xf0, 0x29, 0x36, 0xcf, 0x3f, 0x56, 0xbf, 0x64, 0xc1, 0xf3, 0xbd, 0xc0, 0x7c, 0x45,
5026 0xa9, 0x5b, 0x9f, 0xcd, 0x93, 0x96, 0xcd, 0x9a, 0x8d, 0x41, 0xbc, 0xc5, 0x64, 0x24, 0x93, 0x7a,
5027 0x13, 0x71, 0xb3, 0x84, 0x7c, 0x90, 0x5b, 0x9a, 0xb5, 0x84, 0x02, 0x39, 0x3d, 0x40, 0x46, 0xe4,
5028 0xa0, 0x15, 0xc1, 0x47, 0x08, 0xf7, 0x4c, 0xe7, 0x79, 0x0e, 0xba, 0x8a, 0xf7, 0x92, 0x07, 0x24,
5029 0x40, 0xbc, 0xaf, 0xb1, 0x4c, 0x0f, 0x81, 0x08, 0x97, 0x11, 0x87, 0xc8, 0x0f, 0x46, 0x3a, 0x1f,
5030 0xff, 0x25, 0x86, 0x46, 0xea, 0x16, 0xe5, 0x1c, 0x6e, 0xe3, 0x61, 0xb6, 0x61, 0xa1, 0x4f, 0x07,
5031 0xcd, 0x4f, 0x5a, 0x82, 0xc7, 0x09, 0xf4, 0x94, 0xf1, 0xdf, 0x0f, 0x80, 0x3b, 0x6f, 0x64, 0xa7,
5032 0x2f, 0xb9, 0xc4, 0x50, 0xff, 0xe2, 0x68, 0xfc, 0xab, 0x48, 0x7d, 0x4d, 0x63, 0x01, 0x3e, 0x41,
5033};
5034
5035/*
5036 * PKCS#1 v1.5 Encryption Example 10.1
5037 * from http://armcryptolib.das-labor.org/trac/browser/testvectors/rsa-pkcs-1v2-1-vec/oaep-vect.txt
5038 */
5039
5040static const uint8_t ac_rsaes_oaep_vect10_modulus[] = {
5041 0xae, 0x45, 0xed, 0x56, 0x01, 0xce, 0xc6, 0xb8, 0xcc, 0x05, 0xf8, 0x03, 0x93, 0x5c, 0x67, 0x4d,
5042 0xdb, 0xe0, 0xd7, 0x5c, 0x4c, 0x09, 0xfd, 0x79, 0x51, 0xfc, 0x6b, 0x0c, 0xae, 0xc3, 0x13, 0xa8,
5043 0xdf, 0x39, 0x97, 0x0c, 0x51, 0x8b, 0xff, 0xba, 0x5e, 0xd6, 0x8f, 0x3f, 0x0d, 0x7f, 0x22, 0xa4,
5044 0x02, 0x9d, 0x41, 0x3f, 0x1a, 0xe0, 0x7e, 0x4e, 0xbe, 0x9e, 0x41, 0x77, 0xce, 0x23, 0xe7, 0xf5,
5045 0x40, 0x4b, 0x56, 0x9e, 0x4e, 0xe1, 0xbd, 0xcf, 0x3c, 0x1f, 0xb0, 0x3e, 0xf1, 0x13, 0x80, 0x2d,
5046 0x4f, 0x85, 0x5e, 0xb9, 0xb5, 0x13, 0x4b, 0x5a, 0x7c, 0x80, 0x85, 0xad, 0xca, 0xe6, 0xfa, 0x2f,
5047 0xa1, 0x41, 0x7e, 0xc3, 0x76, 0x3b, 0xe1, 0x71, 0xb0, 0xc6, 0x2b, 0x76, 0x0e, 0xde, 0x23, 0xc1,
5048 0x2a, 0xd9, 0x2b, 0x98, 0x08, 0x84, 0xc6, 0x41, 0xf5, 0xa8, 0xfa, 0xc2, 0x6b, 0xda, 0xd4, 0xa0,
5049 0x33, 0x81, 0xa2, 0x2f, 0xe1, 0xb7, 0x54, 0x88, 0x50, 0x94, 0xc8, 0x25, 0x06, 0xd4, 0x01, 0x9a,
5050 0x53, 0x5a, 0x28, 0x6a, 0xfe, 0xb2, 0x71, 0xbb, 0x9b, 0xa5, 0x92, 0xde, 0x18, 0xdc, 0xf6, 0x00,
5051 0xc2, 0xae, 0xea, 0xe5, 0x6e, 0x02, 0xf7, 0xcf, 0x79, 0xfc, 0x14, 0xcf, 0x3b, 0xdc, 0x7c, 0xd8,
5052 0x4f, 0xeb, 0xbb, 0xf9, 0x50, 0xca, 0x90, 0x30, 0x4b, 0x22, 0x19, 0xa7, 0xaa, 0x06, 0x3a, 0xef,
5053 0xa2, 0xc3, 0xc1, 0x98, 0x0e, 0x56, 0x0c, 0xd6, 0x4a, 0xfe, 0x77, 0x95, 0x85, 0xb6, 0x10, 0x76,
5054 0x57, 0xb9, 0x57, 0x85, 0x7e, 0xfd, 0xe6, 0x01, 0x09, 0x88, 0xab, 0x7d, 0xe4, 0x17, 0xfc, 0x88,
5055 0xd8, 0xf3, 0x84, 0xc4, 0xe6, 0xe7, 0x2c, 0x3f, 0x94, 0x3e, 0x0c, 0x31, 0xc0, 0xc4, 0xa5, 0xcc,
5056 0x36, 0xf8, 0x79, 0xd8, 0xa3, 0xac, 0x9d, 0x7d, 0x59, 0x86, 0x0e, 0xaa, 0xda, 0x6b, 0x83, 0xbb,
5057};
5058
5059static const uint8_t ac_rsaes_oaep_vect10_pub_exp[] = {
5060 0x01, 0x00, 0x01,
5061};
5062
5063static const uint8_t ac_rsaes_oaep_vect10_priv_exp[] = {
5064 0x05, 0x6b, 0x04, 0x21, 0x6f, 0xe5, 0xf3, 0x54, 0xac, 0x77, 0x25, 0x0a, 0x4b, 0x6b, 0x0c, 0x85,
5065 0x25, 0xa8, 0x5c, 0x59, 0xb0, 0xbd, 0x80, 0xc5, 0x64, 0x50, 0xa2, 0x2d, 0x5f, 0x43, 0x8e, 0x59,
5066 0x6a, 0x33, 0x3a, 0xa8, 0x75, 0xe2, 0x91, 0xdd, 0x43, 0xf4, 0x8c, 0xb8, 0x8b, 0x9d, 0x5f, 0xc0,
5067 0xd4, 0x99, 0xf9, 0xfc, 0xd1, 0xc3, 0x97, 0xf9, 0xaf, 0xc0, 0x70, 0xcd, 0x9e, 0x39, 0x8c, 0x8d,
5068 0x19, 0xe6, 0x1d, 0xb7, 0xc7, 0x41, 0x0a, 0x6b, 0x26, 0x75, 0xdf, 0xbf, 0x5d, 0x34, 0x5b, 0x80,
5069 0x4d, 0x20, 0x1a, 0xdd, 0x50, 0x2d, 0x5c, 0xe2, 0xdf, 0xcb, 0x09, 0x1c, 0xe9, 0x99, 0x7b, 0xbe,
5070 0xbe, 0x57, 0x30, 0x6f, 0x38, 0x3e, 0x4d, 0x58, 0x81, 0x03, 0xf0, 0x36, 0xf7, 0xe8, 0x5d, 0x19,
5071 0x34, 0xd1, 0x52, 0xa3, 0x23, 0xe4, 0xa8, 0xdb, 0x45, 0x1d, 0x6f, 0x4a, 0x5b, 0x1b, 0x0f, 0x10,
5072 0x2c, 0xc1, 0x50, 0xe0, 0x2f, 0xee, 0xe2, 0xb8, 0x8d, 0xea, 0x4a, 0xd4, 0xc1, 0xba, 0xcc, 0xb2,
5073 0x4d, 0x84, 0x07, 0x2d, 0x14, 0xe1, 0xd2, 0x4a, 0x67, 0x71, 0xf7, 0x40, 0x8e, 0xe3, 0x05, 0x64,
5074 0xfb, 0x86, 0xd4, 0x39, 0x3a, 0x34, 0xbc, 0xf0, 0xb7, 0x88, 0x50, 0x1d, 0x19, 0x33, 0x03, 0xf1,
5075 0x3a, 0x22, 0x84, 0xb0, 0x01, 0xf0, 0xf6, 0x49, 0xea, 0xf7, 0x93, 0x28, 0xd4, 0xac, 0x5c, 0x43,
5076 0x0a, 0xb4, 0x41, 0x49, 0x20, 0xa9, 0x46, 0x0e, 0xd1, 0xb7, 0xbc, 0x40, 0xec, 0x65, 0x3e, 0x87,
5077 0x6d, 0x09, 0xab, 0xc5, 0x09, 0xae, 0x45, 0xb5, 0x25, 0x19, 0x01, 0x16, 0xa0, 0xc2, 0x61, 0x01,
5078 0x84, 0x82, 0x98, 0x50, 0x9c, 0x1c, 0x3b, 0xf3, 0xa4, 0x83, 0xe7, 0x27, 0x40, 0x54, 0xe1, 0x5e,
5079 0x97, 0x07, 0x50, 0x36, 0xe9, 0x89, 0xf6, 0x09, 0x32, 0x80, 0x7b, 0x52, 0x57, 0x75, 0x1e, 0x79,
5080};
5081
5082static const uint8_t ac_rsaes_oaep_vect10_prime1[] = {
5083 0xec, 0xf5, 0xae, 0xcd, 0x1e, 0x55, 0x15, 0xff, 0xfa, 0xcb, 0xd7, 0x5a, 0x28, 0x16, 0xc6, 0xeb,
5084 0xf4, 0x90, 0x18, 0xcd, 0xfb, 0x46, 0x38, 0xe1, 0x85, 0xd6, 0x6a, 0x73, 0x96, 0xb6, 0xf8, 0x09,
5085 0x0f, 0x80, 0x18, 0xc7, 0xfd, 0x95, 0xcc, 0x34, 0xb8, 0x57, 0xdc, 0x17, 0xf0, 0xcc, 0x65, 0x16,
5086 0xbb, 0x13, 0x46, 0xab, 0x4d, 0x58, 0x2c, 0xad, 0xad, 0x7b, 0x41, 0x03, 0x35, 0x23, 0x87, 0xb7,
5087 0x03, 0x38, 0xd0, 0x84, 0x04, 0x7c, 0x9d, 0x95, 0x39, 0xb6, 0x49, 0x62, 0x04, 0xb3, 0xdd, 0x6e,
5088 0xa4, 0x42, 0x49, 0x92, 0x07, 0xbe, 0xc0, 0x1f, 0x96, 0x42, 0x87, 0xff, 0x63, 0x36, 0xc3, 0x98,
5089 0x46, 0x58, 0x33, 0x68, 0x46, 0xf5, 0x6e, 0x46, 0x86, 0x18, 0x81, 0xc1, 0x02, 0x33, 0xd2, 0x17,
5090 0x6b, 0xf1, 0x5a, 0x5e, 0x96, 0xdd, 0xc7, 0x80, 0xbc, 0x86, 0x8a, 0xa7, 0x7d, 0x3c, 0xe7, 0x69,
5091};
5092
5093static const uint8_t ac_rsaes_oaep_vect10_prime2[] = {
5094 0xbc, 0x46, 0xc4, 0x64, 0xfc, 0x6a, 0xc4, 0xca, 0x78, 0x3b, 0x0e, 0xb0, 0x8a, 0x3c, 0x84, 0x1b,
5095 0x77, 0x2f, 0x7e, 0x9b, 0x2f, 0x28, 0xba, 0xbd, 0x58, 0x8a, 0xe8, 0x85, 0xe1, 0xa0, 0xc6, 0x1e,
5096 0x48, 0x58, 0xa0, 0xfb, 0x25, 0xac, 0x29, 0x99, 0x90, 0xf3, 0x5b, 0xe8, 0x51, 0x64, 0xc2, 0x59,
5097 0xba, 0x11, 0x75, 0xcd, 0xd7, 0x19, 0x27, 0x07, 0x13, 0x51, 0x84, 0x99, 0x2b, 0x6c, 0x29, 0xb7,
5098 0x46, 0xdd, 0x0d, 0x2c, 0xab, 0xe1, 0x42, 0x83, 0x5f, 0x7d, 0x14, 0x8c, 0xc1, 0x61, 0x52, 0x4b,
5099 0x4a, 0x09, 0x94, 0x6d, 0x48, 0xb8, 0x28, 0x47, 0x3f, 0x1c, 0xe7, 0x6b, 0x6c, 0xb6, 0x88, 0x6c,
5100 0x34, 0x5c, 0x03, 0xe0, 0x5f, 0x41, 0xd5, 0x1b, 0x5c, 0x3a, 0x90, 0xa3, 0xf2, 0x40, 0x73, 0xc7,
5101 0xd7, 0x4a, 0x4f, 0xe2, 0x5d, 0x9c, 0xf2, 0x1c, 0x75, 0x96, 0x0f, 0x3f, 0xc3, 0x86, 0x31, 0x83,
5102};
5103
5104static const uint8_t ac_rsaes_oaep_vect10_exp1[] = {
5105 0xc7, 0x35, 0x64, 0x57, 0x1d, 0x00, 0xfb, 0x15, 0xd0, 0x8a, 0x3d, 0xe9, 0x95, 0x7a, 0x50, 0x91,
5106 0x5d, 0x71, 0x26, 0xe9, 0x44, 0x2d, 0xac, 0xf4, 0x2b, 0xc8, 0x2e, 0x86, 0x2e, 0x56, 0x73, 0xff,
5107 0x6a, 0x00, 0x8e, 0xd4, 0xd2, 0xe3, 0x74, 0x61, 0x7d, 0xf8, 0x9f, 0x17, 0xa1, 0x60, 0xb4, 0x3b,
5108 0x7f, 0xda, 0x9c, 0xb6, 0xb6, 0xb7, 0x42, 0x18, 0x60, 0x98, 0x15, 0xf7, 0xd4, 0x5c, 0xa2, 0x63,
5109 0xc1, 0x59, 0xaa, 0x32, 0xd2, 0x72, 0xd1, 0x27, 0xfa, 0xf4, 0xbc, 0x8c, 0xa2, 0xd7, 0x73, 0x78,
5110 0xe8, 0xae, 0xb1, 0x9b, 0x0a, 0xd7, 0xda, 0x3c, 0xb3, 0xde, 0x0a, 0xe7, 0x31, 0x49, 0x80, 0xf6,
5111 0x2b, 0x6d, 0x4b, 0x0a, 0x87, 0x5d, 0x1d, 0xf0, 0x3c, 0x1b, 0xae, 0x39, 0xcc, 0xd8, 0x33, 0xef,
5112 0x6c, 0xd7, 0xe2, 0xd9, 0x52, 0x8b, 0xf0, 0x84, 0xd1, 0xf9, 0x69, 0xe7, 0x94, 0xe9, 0xf6, 0xc1,
5113};
5114
5115static const uint8_t ac_rsaes_oaep_vect10_exp2[] = {
5116 0x26, 0x58, 0xb3, 0x7f, 0x6d, 0xf9, 0xc1, 0x03, 0x0b, 0xe1, 0xdb, 0x68, 0x11, 0x7f, 0xa9, 0xd8,
5117 0x7e, 0x39, 0xea, 0x2b, 0x69, 0x3b, 0x7e, 0x6d, 0x3a, 0x2f, 0x70, 0x94, 0x74, 0x13, 0xee, 0xc6,
5118 0x14, 0x2e, 0x18, 0xfb, 0x8d, 0xfc, 0xb6, 0xac, 0x54, 0x5d, 0x7c, 0x86, 0xa0, 0xad, 0x48, 0xf8,
5119 0x45, 0x71, 0x70, 0xf0, 0xef, 0xb2, 0x6b, 0xc4, 0x81, 0x26, 0xc5, 0x3e, 0xfd, 0x1d, 0x16, 0x92,
5120 0x01, 0x98, 0xdc, 0x2a, 0x11, 0x07, 0xdc, 0x28, 0x2d, 0xb6, 0xa8, 0x0c, 0xd3, 0x06, 0x23, 0x60,
5121 0xba, 0x3f, 0xa1, 0x3f, 0x70, 0xe4, 0x31, 0x2f, 0xf1, 0xa6, 0xcd, 0x6b, 0x8f, 0xc4, 0xcd, 0x9c,
5122 0x5c, 0x3d, 0xb1, 0x7c, 0x6d, 0x6a, 0x57, 0x21, 0x2f, 0x73, 0xae, 0x29, 0xf6, 0x19, 0x32, 0x7b,
5123 0xad, 0x59, 0xb1, 0x53, 0x85, 0x85, 0x85, 0xba, 0x4e, 0x28, 0xb6, 0x0a, 0x62, 0xa4, 0x5e, 0x49,
5124};
5125
5126static const uint8_t ac_rsaes_oaep_vect10_coeff[] = {
5127 0x6f, 0x38, 0x52, 0x6b, 0x39, 0x25, 0x08, 0x55, 0x34, 0xef, 0x3e, 0x41, 0x5a, 0x83, 0x6e, 0xde,
5128 0x8b, 0x86, 0x15, 0x8a, 0x2c, 0x7c, 0xbf, 0xec, 0xcb, 0x0b, 0xd8, 0x34, 0x30, 0x4f, 0xec, 0x68,
5129 0x3b, 0xa8, 0xd4, 0xf4, 0x79, 0xc4, 0x33, 0xd4, 0x34, 0x16, 0xe6, 0x32, 0x69, 0x62, 0x3c, 0xea,
5130 0x10, 0x07, 0x76, 0xd8, 0x5a, 0xff, 0x40, 0x1d, 0x3f, 0xff, 0x61, 0x0e, 0xe6, 0x54, 0x11, 0xce,
5131 0x3b, 0x13, 0x63, 0xd6, 0x3a, 0x97, 0x09, 0xee, 0xde, 0x42, 0x64, 0x7c, 0xea, 0x56, 0x14, 0x93,
5132 0xd5, 0x45, 0x70, 0xa8, 0x79, 0xc1, 0x86, 0x82, 0xcd, 0x97, 0x71, 0x0b, 0x96, 0x20, 0x5e, 0xc3,
5133 0x11, 0x17, 0xd7, 0x3b, 0x5f, 0x36, 0x22, 0x3f, 0xad, 0xd6, 0xe8, 0xba, 0x90, 0xdd, 0x7c, 0x0e,
5134 0xe6, 0x1d, 0x44, 0xe1, 0x63, 0x25, 0x1e, 0x20, 0xc7, 0xf6, 0x6e, 0xb3, 0x05, 0x11, 0x7c, 0xb8,
5135};
5136
5137static const uint8_t ac_rsaes_oaep_vect10_ptx[] = {
5138 0x8b, 0xba, 0x6b, 0xf8, 0x2a, 0x6c, 0x0f, 0x86, 0xd5, 0xf1, 0x75, 0x6e, 0x97, 0x95, 0x68, 0x70,
5139 0xb0, 0x89, 0x53, 0xb0, 0x6b, 0x4e, 0xb2, 0x05, 0xbc, 0x16, 0x94, 0xee,
5140};
5141
5142static const uint8_t ac_rsaes_oaep_vect10_out[] = {
5143 0x53, 0xea, 0x5d, 0xc0, 0x8c, 0xd2, 0x60, 0xfb, 0x3b, 0x85, 0x85, 0x67, 0x28, 0x7f, 0xa9, 0x15,
5144 0x52, 0xc3, 0x0b, 0x2f, 0xeb, 0xfb, 0xa2, 0x13, 0xf0, 0xae, 0x87, 0x70, 0x2d, 0x06, 0x8d, 0x19,
5145 0xba, 0xb0, 0x7f, 0xe5, 0x74, 0x52, 0x3d, 0xfb, 0x42, 0x13, 0x9d, 0x68, 0xc3, 0xc5, 0xaf, 0xee,
5146 0xe0, 0xbf, 0xe4, 0xcb, 0x79, 0x69, 0xcb, 0xf3, 0x82, 0xb8, 0x04, 0xd6, 0xe6, 0x13, 0x96, 0x14,
5147 0x4e, 0x2d, 0x0e, 0x60, 0x74, 0x1f, 0x89, 0x93, 0xc3, 0x01, 0x4b, 0x58, 0xb9, 0xb1, 0x95, 0x7a,
5148 0x8b, 0xab, 0xcd, 0x23, 0xaf, 0x85, 0x4f, 0x4c, 0x35, 0x6f, 0xb1, 0x66, 0x2a, 0xa7, 0x2b, 0xfc,
5149 0xc7, 0xe5, 0x86, 0x55, 0x9d, 0xc4, 0x28, 0x0d, 0x16, 0x0c, 0x12, 0x67, 0x85, 0xa7, 0x23, 0xeb,
5150 0xee, 0xbe, 0xff, 0x71, 0xf1, 0x15, 0x94, 0x44, 0x0a, 0xae, 0xf8, 0x7d, 0x10, 0x79, 0x3a, 0x87,
5151 0x74, 0xa2, 0x39, 0xd4, 0xa0, 0x4c, 0x87, 0xfe, 0x14, 0x67, 0xb9, 0xda, 0xf8, 0x52, 0x08, 0xec,
5152 0x6c, 0x72, 0x55, 0x79, 0x4a, 0x96, 0xcc, 0x29, 0x14, 0x2f, 0x9a, 0x8b, 0xd4, 0x18, 0xe3, 0xc1,
5153 0xfd, 0x67, 0x34, 0x4b, 0x0c, 0xd0, 0x82, 0x9d, 0xf3, 0xb2, 0xbe, 0xc6, 0x02, 0x53, 0x19, 0x62,
5154 0x93, 0xc6, 0xb3, 0x4d, 0x3f, 0x75, 0xd3, 0x2f, 0x21, 0x3d, 0xd4, 0x5c, 0x62, 0x73, 0xd5, 0x05,
5155 0xad, 0xf4, 0xcc, 0xed, 0x10, 0x57, 0xcb, 0x75, 0x8f, 0xc2, 0x6a, 0xee, 0xfa, 0x44, 0x12, 0x55,
5156 0xed, 0x4e, 0x64, 0xc1, 0x99, 0xee, 0x07, 0x5e, 0x7f, 0x16, 0x64, 0x61, 0x82, 0xfd, 0xb4, 0x64,
5157 0x73, 0x9b, 0x68, 0xab, 0x5d, 0xaf, 0xf0, 0xe6, 0x3e, 0x95, 0x52, 0x01, 0x68, 0x24, 0xf0, 0x54,
5158 0xbf, 0x4d, 0x3c, 0x8c, 0x90, 0xa9, 0x7b, 0xb6, 0xb6, 0x55, 0x32, 0x84, 0xeb, 0x42, 0x9f, 0xcc,
5159};
5160
5161/* diffie hellman test data */
5162/* p and g testdata generated using the following line:
5163 * for i in {256..2048..64}; do openssl dhparam -C -5 $i; done
5164 */
5165static const uint8_t keygen_dh256_p[] = {
5166 0xB6, 0x73, 0x91, 0xB5, 0xD6, 0xBC, 0x95, 0x73, 0x0D, 0x53, 0x64, 0x13,
5167 0xB0, 0x51, 0xC6, 0xB4, 0xEB, 0x9D, 0x74, 0x57, 0x8D, 0x65, 0x3A, 0x4B,
5168 0x7A, 0xB2, 0x93, 0x27, 0xA6, 0xC1, 0xBC, 0xAB,
5169};
5170
5171static const uint8_t keygen_dh256_g[] = {
5172 0x05,
5173};
5174
5175static const uint8_t keygen_dh320_p[] = {
5176 0x80, 0x72, 0x50, 0x4F, 0x85, 0xD2, 0x32, 0x70, 0xA3, 0x11, 0xF4, 0x46,
5177 0x01, 0x72, 0xD0, 0x72, 0x96, 0xA5, 0x1B, 0xFA, 0x8F, 0x35, 0x49, 0x75,
5178 0x04, 0xA5, 0x5A, 0x62, 0xB6, 0x33, 0xD6, 0x3C, 0x46, 0xD1, 0xED, 0xD7,
5179 0xB1, 0xD4, 0xBA, 0xF3,
5180};
5181
5182static const uint8_t keygen_dh320_g[] = {
5183 0x05,
5184};
5185
5186static const uint8_t keygen_dh384_p[] = {
5187 0xC2, 0x04, 0xC8, 0x0E, 0xE8, 0x3F, 0x02, 0x1F, 0xDE, 0x0C, 0xAA, 0x2E,
5188 0x67, 0x13, 0xF4, 0x33, 0x67, 0x82, 0x59, 0xE7, 0x80, 0xE5, 0x42, 0xEA,
5189 0x2F, 0xC4, 0x71, 0x93, 0xA7, 0x1C, 0x86, 0xEC, 0x8C, 0x39, 0xF8, 0xC7,
5190 0xF1, 0xE3, 0xE0, 0xEE, 0xC4, 0x55, 0xF5, 0x4F, 0xE7, 0x98, 0xF0, 0x47,
5191};
5192
5193static const uint8_t keygen_dh384_g[] = {
5194 0x05,
5195};
5196
5197static const uint8_t keygen_dh448_p[] = {
5198 0x91, 0xB9, 0x28, 0x8F, 0x01, 0x62, 0xA1, 0x40, 0x4D, 0x53, 0xC7, 0xD5,
5199 0xEE, 0x97, 0x40, 0x03, 0x39, 0x39, 0x41, 0x5F, 0x17, 0x0F, 0xA2, 0x78,
5200 0xBF, 0x3D, 0x6B, 0x33, 0x33, 0x39, 0x3B, 0x57, 0x21, 0x5B, 0xF9, 0xB1,
5201 0x6C, 0xE3, 0xB8, 0x19, 0xBE, 0x81, 0xBD, 0xC4, 0xFF, 0x4C, 0xFA, 0x48,
5202 0x63, 0x24, 0x10, 0x33, 0xDE, 0x3A, 0xFD, 0x3B,
5203};
5204
5205static const uint8_t keygen_dh448_g[] = {
5206 0x05,
5207};
5208
5209static const uint8_t keygen_dh512_p[] = {
5210 0xCF, 0x09, 0xB8, 0xCD, 0x0B, 0xC5, 0x9D, 0xBD, 0x7A, 0x34, 0x50, 0x55,
5211 0xEC, 0xD4, 0xED, 0x92, 0x9D, 0x63, 0x92, 0xF9, 0x1D, 0x42, 0xF3, 0x64,
5212 0x04, 0x3D, 0xCC, 0xAA, 0x5F, 0xD1, 0xBB, 0xEA, 0x44, 0x12, 0xFC, 0xF0,
5213 0xFB, 0xFF, 0x26, 0x57, 0xE3, 0x6E, 0xA8, 0x3F, 0x45, 0x43, 0x11, 0x81,
5214 0xC6, 0x79, 0xF0, 0x0B, 0x11, 0x23, 0x1D, 0x7B, 0x1E, 0x59, 0xA8, 0xB8,
5215 0x69, 0x44, 0xA7, 0xE3,
5216};
5217
5218static const uint8_t keygen_dh512_g[] = {
5219 0x05,
5220};
5221
5222static const uint8_t keygen_dh576_p[] = {
5223 0xEF, 0xA2, 0xD7, 0x81, 0x88, 0xAA, 0xBF, 0x70, 0x03, 0x70, 0xD4, 0x75,
5224 0xA6, 0x3E, 0x5B, 0xCF, 0x73, 0xDE, 0x7D, 0x45, 0x67, 0x47, 0xB1, 0xCF,
5225 0xA8, 0x62, 0xA9, 0x13, 0x9F, 0xC3, 0x9B, 0x96, 0xCE, 0xB9, 0x0C, 0x24,
5226 0xAC, 0xCB, 0xB6, 0x40, 0x30, 0x25, 0x26, 0x4E, 0x9D, 0x50, 0xA7, 0x8F,
5227 0x09, 0x1C, 0x9B, 0xDE, 0x77, 0x8A, 0xE8, 0xAA, 0xDA, 0xC2, 0x31, 0x08,
5228 0x55, 0x2C, 0xC1, 0x13, 0x24, 0x6E, 0x5A, 0xE7, 0xA1, 0xBC, 0xE5, 0x5B,
5229};
5230
5231static const uint8_t keygen_dh576_g[] = {
5232 0x05,
5233};
5234
5235static const uint8_t keygen_dh640_p[] = {
5236 0xED, 0xB6, 0x90, 0x9C, 0x72, 0x5C, 0x63, 0x11, 0x17, 0xA9, 0xB6, 0x0E,
5237 0x6C, 0x80, 0xA9, 0xF3, 0x15, 0x36, 0x9D, 0x49, 0x02, 0x2B, 0x4F, 0x12,
5238 0x1A, 0xFD, 0x00, 0xC0, 0x9B, 0x12, 0x10, 0x96, 0x18, 0x55, 0x3F, 0x0C,
5239 0x75, 0x46, 0x6E, 0xDF, 0x0A, 0x58, 0x8E, 0x1B, 0x4B, 0xFF, 0x24, 0x70,
5240 0xFC, 0x29, 0xE8, 0x67, 0x8F, 0x0B, 0x72, 0x14, 0x80, 0x6F, 0xE9, 0xCD,
5241 0x30, 0x3C, 0x16, 0xB9, 0xB0, 0x32, 0xBE, 0x6A, 0x1D, 0x06, 0xEE, 0x6D,
5242 0x15, 0x44, 0x49, 0x55, 0xA8, 0x08, 0x2D, 0x0F,
5243};
5244
5245static const uint8_t keygen_dh640_g[] = {
5246 0x05,
5247};
5248
5249static const uint8_t keygen_dh704_p[] = {
5250 0xA6, 0xBF, 0xA1, 0x02, 0x02, 0xA7, 0x7A, 0x6E, 0xFC, 0x48, 0x55, 0x81,
5251 0x23, 0x3F, 0x08, 0x8E, 0x83, 0xE9, 0x10, 0x92, 0x96, 0x82, 0x5F, 0xB8,
5252 0x88, 0x28, 0x0C, 0x6A, 0x04, 0x41, 0xEF, 0x4C, 0xCC, 0x2F, 0x16, 0xCD,
5253 0xA4, 0x2F, 0x24, 0x3B, 0xB6, 0x8A, 0x45, 0x76, 0xB3, 0xFA, 0x23, 0x83,
5254 0x53, 0xB2, 0x8F, 0x0C, 0xAE, 0xF9, 0xE8, 0xDB, 0x46, 0x5B, 0xBF, 0x7E,
5255 0xC3, 0x6F, 0x4F, 0xE6, 0xE7, 0x51, 0x75, 0x49, 0xB5, 0x4B, 0xBE, 0x48,
5256 0x51, 0x64, 0x9F, 0x5D, 0x56, 0xC7, 0x28, 0x9C, 0xC5, 0xBD, 0x0C, 0xD2,
5257 0x3A, 0x63, 0x49, 0x57,
5258};
5259
5260static const uint8_t keygen_dh704_g[] = {
5261 0x05,
5262};
5263
5264static const uint8_t keygen_dh768_p[] = {
5265 0xEA, 0x9B, 0x0E, 0xD5, 0xDF, 0xC6, 0x9C, 0x8A, 0x26, 0x29, 0xD4, 0x2A,
5266 0x94, 0x4F, 0xD5, 0x3E, 0xEA, 0xEC, 0xCD, 0x89, 0xDA, 0x9C, 0x12, 0x52,
5267 0x94, 0xA7, 0x1A, 0x7D, 0x14, 0x94, 0xB1, 0x89, 0x79, 0xF3, 0x4A, 0xC3,
5268 0xD6, 0xF5, 0x52, 0xA6, 0x65, 0xC6, 0x0C, 0xD2, 0x2B, 0x16, 0xCB, 0x4F,
5269 0x69, 0x4C, 0x41, 0x6C, 0xA6, 0xAF, 0xCE, 0xFD, 0x50, 0x0E, 0x8C, 0x9E,
5270 0xA7, 0x19, 0x46, 0x6E, 0xC2, 0x27, 0xB9, 0xAF, 0x61, 0x4B, 0xDA, 0x3A,
5271 0x60, 0xBA, 0x6D, 0xCE, 0xBA, 0x39, 0x1C, 0x02, 0xBF, 0x09, 0xF0, 0xF9,
5272 0x87, 0xBE, 0xA1, 0xDE, 0x4E, 0x34, 0x7B, 0x28, 0x3A, 0xC2, 0x9E, 0x83,
5273};
5274
5275static const uint8_t keygen_dh768_g[] = {
5276 0x05,
5277};
5278
5279static const uint8_t keygen_dh832_p[] = {
5280 0xB9, 0x0C, 0x79, 0x82, 0x7B, 0x23, 0xB7, 0x2F, 0x5A, 0x7B, 0xB1, 0xB9,
5281 0x63, 0x30, 0x7C, 0xD4, 0x0B, 0xEB, 0x7B, 0x8A, 0x67, 0x3E, 0x3B, 0x67,
5282 0xF1, 0x72, 0x90, 0x0E, 0xBF, 0x67, 0xEF, 0xBB, 0x95, 0xC1, 0x47, 0xED,
5283 0x89, 0x11, 0x79, 0x40, 0x63, 0x02, 0xF0, 0x41, 0x0C, 0xD1, 0x76, 0x15,
5284 0xAA, 0x24, 0x6A, 0xAE, 0x98, 0xFB, 0x19, 0x1F, 0x43, 0xB9, 0x92, 0xC7,
5285 0xB6, 0x33, 0xD8, 0x85, 0xBD, 0x06, 0x7D, 0x68, 0x32, 0xEE, 0xDB, 0x41,
5286 0xEF, 0x7B, 0xBD, 0xB4, 0xFE, 0x53, 0x4F, 0x6C, 0xA8, 0x26, 0xE0, 0x62,
5287 0x7D, 0x06, 0x06, 0xC5, 0xFB, 0x47, 0xD0, 0x3F, 0x4B, 0xC1, 0x7A, 0xC4,
5288 0x2A, 0xF3, 0x69, 0xF2, 0xDE, 0x77, 0xCD, 0x03,
5289};
5290
5291static const uint8_t keygen_dh832_g[] = {
5292 0x05,
5293};
5294
5295static const uint8_t keygen_dh896_p[] = {
5296 0xA8, 0x1A, 0xFB, 0xF4, 0x12, 0xF8, 0x17, 0x16, 0x89, 0x20, 0xAE, 0x6F,
5297 0x07, 0x55, 0x13, 0xCA, 0x99, 0x66, 0xA3, 0x1F, 0x07, 0xAC, 0x32, 0x5C,
5298 0xF5, 0xF0, 0x39, 0xA3, 0xDA, 0xF5, 0x55, 0xF9, 0x3C, 0xF3, 0x15, 0xF8,
5299 0x44, 0xC1, 0x10, 0x6A, 0x3D, 0x2F, 0x97, 0xFD, 0xAC, 0x74, 0x1E, 0xEE,
5300 0xCF, 0xDD, 0xEE, 0x70, 0x57, 0xBA, 0x4B, 0x41, 0xD6, 0x3F, 0xDD, 0x01,
5301 0xFB, 0x0C, 0x26, 0xA9, 0x06, 0xCD, 0x1B, 0xA2, 0xD3, 0x3E, 0xAD, 0x2D,
5302 0x29, 0xFB, 0x79, 0xB8, 0x8E, 0x50, 0xCC, 0xA1, 0x85, 0x37, 0xFA, 0xF1,
5303 0xBB, 0xB1, 0x5D, 0x3B, 0x51, 0x54, 0x16, 0x4C, 0x98, 0x2B, 0x26, 0xAD,
5304 0x70, 0x0B, 0x01, 0x87, 0x5C, 0xF1, 0xE8, 0x02, 0xF3, 0x57, 0xA9, 0x40,
5305 0x5C, 0xC5, 0xE0, 0xFF,
5306};
5307
5308static const uint8_t keygen_dh896_g[] = {
5309 0x05,
5310};
5311
5312static const uint8_t keygen_dh960_p[] = {
5313 0xD9, 0x31, 0xE0, 0xF3, 0x80, 0xED, 0xBD, 0xEC, 0x35, 0x99, 0xC9, 0x28,
5314 0xA8, 0x88, 0x3C, 0x84, 0x41, 0x8A, 0x6C, 0xC7, 0x83, 0x09, 0xCE, 0x07,
5315 0x51, 0x72, 0xBE, 0xE9, 0x21, 0x4F, 0xCB, 0x92, 0xAE, 0xA5, 0xF0, 0x9A,
5316 0x40, 0x9B, 0x02, 0x1D, 0xA5, 0x5E, 0xAB, 0x17, 0x25, 0x5B, 0x70, 0x0F,
5317 0xF9, 0x27, 0xEF, 0x49, 0xCD, 0x7F, 0x6E, 0x9A, 0x62, 0x51, 0xE6, 0xEA,
5318 0x4B, 0x7E, 0xBE, 0xB3, 0x72, 0xFB, 0xAF, 0x98, 0xA1, 0x7D, 0x77, 0x7E,
5319 0x53, 0xF9, 0xFC, 0x7A, 0xEB, 0xC7, 0xB0, 0x84, 0x2F, 0x70, 0xCC, 0xA2,
5320 0x34, 0x52, 0x9F, 0xD3, 0x46, 0xE3, 0x32, 0x2F, 0xE0, 0x6F, 0x83, 0x3B,
5321 0x8B, 0x17, 0x01, 0x0C, 0x1D, 0xEA, 0x04, 0x7D, 0xB1, 0xD4, 0xB2, 0x2D,
5322 0xC7, 0xD3, 0x2D, 0xE0, 0x47, 0x00, 0x6D, 0xE8, 0x1F, 0xAA, 0x39, 0x67,
5323};
5324
5325static const uint8_t keygen_dh960_g[] = {
5326 0x05,
5327};
5328
5329static const uint8_t keygen_dh1024_p[] = {
5330 0xB9, 0xF5, 0xB6, 0xFF, 0x49, 0xA7, 0x31, 0x3C, 0xD3, 0xAA, 0x42, 0xAE,
5331 0x3D, 0xA6, 0xD4, 0xC1, 0x92, 0xB0, 0x1C, 0xD5, 0x24, 0x9D, 0x67, 0x04,
5332 0xFA, 0xED, 0x0B, 0x2D, 0x8B, 0xA1, 0xB8, 0x72, 0x43, 0x48, 0xC2, 0x75,
5333 0x00, 0x9F, 0x43, 0xD7, 0xF0, 0x8F, 0xD8, 0xCD, 0x1C, 0x64, 0x48, 0x82,
5334 0x63, 0x52, 0x89, 0x78, 0x43, 0xEF, 0x00, 0xF6, 0x62, 0x04, 0x26, 0xD5,
5335 0x69, 0x2C, 0x2B, 0x9B, 0x53, 0x72, 0x57, 0xD5, 0x05, 0xA6, 0x53, 0x24,
5336 0x43, 0x81, 0x49, 0xEC, 0xBB, 0x43, 0x58, 0x66, 0x6A, 0xBD, 0xAC, 0xBA,
5337 0xD9, 0xC8, 0xC9, 0x95, 0x93, 0xCB, 0x79, 0x89, 0x86, 0x30, 0x0D, 0x45,
5338 0x3F, 0x89, 0x04, 0xC4, 0xEC, 0x96, 0xBF, 0x4E, 0x8E, 0x88, 0x51, 0xED,
5339 0xEF, 0x91, 0x8A, 0x03, 0xDC, 0x4E, 0x28, 0x69, 0x46, 0xDA, 0x1B, 0xD4,
5340 0x7E, 0xC5, 0xEB, 0x95, 0xBC, 0x9D, 0x14, 0x77,
5341};
5342
5343static const uint8_t keygen_dh1024_g[] = {
5344 0x05,
5345};
5346
5347static const uint8_t keygen_dh1088_p[] = {
5348 0xE3, 0x67, 0x7B, 0x2C, 0x68, 0xE3, 0x7C, 0xDB, 0x30, 0x3A, 0xF3, 0x20,
5349 0x33, 0x02, 0xB5, 0x08, 0x83, 0xC5, 0x8B, 0x07, 0xDD, 0x08, 0x92, 0x82,
5350 0xD6, 0x2A, 0x2B, 0x7F, 0xC6, 0xF0, 0xBD, 0xB8, 0x01, 0xF8, 0xCF, 0x78,
5351 0x4F, 0xFE, 0xE2, 0x9D, 0x2F, 0xF4, 0x2D, 0xC5, 0x48, 0xE0, 0xFD, 0x8A,
5352 0xC2, 0xCF, 0x1B, 0xD9, 0xE1, 0x23, 0xC6, 0xDA, 0xFC, 0x1C, 0x9B, 0xA4,
5353 0x70, 0x91, 0x1A, 0x6A, 0x35, 0x00, 0x5E, 0x63, 0x14, 0x04, 0xAB, 0x3B,
5354 0x00, 0xEE, 0x44, 0xE6, 0xAE, 0x49, 0xDB, 0xB7, 0xEF, 0xE1, 0x6E, 0xF9,
5355 0x88, 0xCC, 0xAB, 0x5E, 0x0A, 0x20, 0x84, 0x09, 0x03, 0xFA, 0xAA, 0x8C,
5356 0xFE, 0xB8, 0xEA, 0x31, 0x78, 0xD2, 0x92, 0xF3, 0x77, 0xCF, 0xEC, 0xB9,
5357 0xF8, 0x3C, 0x79, 0x4A, 0x9B, 0xB6, 0xCC, 0xC0, 0x5E, 0xAB, 0x92, 0xE6,
5358 0x39, 0x74, 0x5E, 0x8D, 0x2B, 0x28, 0x3B, 0x4D, 0x26, 0x6B, 0x2F, 0xF6,
5359 0xA8, 0xB1, 0x01, 0x53,
5360};
5361
5362static const uint8_t keygen_dh1088_g[] = {
5363 0x05,
5364};
5365
5366static const uint8_t keygen_dh1152_p[] = {
5367 0xCA, 0xD6, 0x34, 0x4F, 0xAE, 0x99, 0x47, 0x51, 0x14, 0x5D, 0xF4, 0xCA,
5368 0x47, 0xE2, 0xE7, 0x62, 0x7D, 0xB9, 0xC9, 0xE7, 0xF7, 0xEE, 0xD4, 0xF0,
5369 0x04, 0xC1, 0x93, 0x06, 0xC2, 0xC8, 0x5E, 0x9D, 0xD3, 0x9F, 0x4A, 0x87,
5370 0xF2, 0x22, 0x5A, 0x72, 0x8D, 0xEB, 0x8B, 0x12, 0x26, 0x82, 0x3A, 0xA7,
5371 0x6B, 0xE1, 0x55, 0xB0, 0x9F, 0x97, 0x4C, 0xC5, 0xEC, 0x5C, 0x1C, 0x23,
5372 0xAB, 0x95, 0xDC, 0x17, 0xD5, 0x80, 0x0A, 0xE6, 0x53, 0x9E, 0xD8, 0xC6,
5373 0xB9, 0x9E, 0xFA, 0x62, 0x60, 0x2A, 0x8D, 0xD5, 0x3D, 0x36, 0x5E, 0x4E,
5374 0x42, 0x1F, 0xAF, 0x2B, 0x87, 0x0E, 0xC6, 0x44, 0xB7, 0x55, 0x1C, 0x81,
5375 0x7E, 0x48, 0x96, 0x1B, 0xF9, 0x73, 0x1C, 0x3D, 0x80, 0xDF, 0x43, 0xDB,
5376 0x93, 0xB6, 0x1E, 0xC1, 0x04, 0x12, 0x9E, 0x33, 0x21, 0xCE, 0xF7, 0x49,
5377 0x41, 0x7E, 0x97, 0x31, 0xC3, 0x74, 0x1D, 0x95, 0x85, 0x6F, 0x3A, 0xA1,
5378 0xCF, 0x61, 0xD9, 0xEB, 0x67, 0x67, 0xED, 0x91, 0xDF, 0x23, 0xCD, 0xC3,
5379};
5380
5381static const uint8_t keygen_dh1152_g[] = {
5382 0x05,
5383};
5384
5385static const uint8_t keygen_dh1216_p[] = {
5386 0xB1, 0xFC, 0x4E, 0xF5, 0xDE, 0xC5, 0xDD, 0x33, 0xDD, 0xB2, 0x2E, 0x44,
5387 0x52, 0xDD, 0x74, 0x2F, 0x1F, 0x61, 0x20, 0x21, 0x72, 0x65, 0xC5, 0xEC,
5388 0x5A, 0xAA, 0xF1, 0x24, 0xA1, 0xD0, 0xEB, 0x4B, 0x4C, 0x32, 0x8A, 0xDD,
5389 0x4F, 0x9F, 0xEE, 0xFA, 0x5F, 0x81, 0xD4, 0x18, 0x3D, 0xCD, 0x39, 0x38,
5390 0xDC, 0x3D, 0x2E, 0x37, 0xEB, 0xFE, 0x73, 0xEF, 0x99, 0x53, 0x54, 0xA6,
5391 0xAB, 0x25, 0xFE, 0x9A, 0x10, 0xAE, 0x3E, 0xC9, 0x63, 0x45, 0x75, 0xAF,
5392 0xCA, 0xD9, 0x57, 0xF7, 0x71, 0xE0, 0xBE, 0x0D, 0x90, 0xE9, 0xC5, 0x5A,
5393 0xC6, 0x2E, 0x3D, 0xDE, 0xE4, 0x8B, 0x38, 0x8E, 0x83, 0x06, 0xA6, 0xE2,
5394 0x38, 0xA6, 0x88, 0x81, 0xDE, 0x8E, 0xA6, 0x6A, 0xBF, 0xF4, 0x75, 0xFB,
5395 0xAB, 0xAA, 0x02, 0xEA, 0x0E, 0xCF, 0xCA, 0xEA, 0x45, 0xFE, 0x1C, 0xC2,
5396 0xF9, 0xBE, 0x26, 0x31, 0xA6, 0x8F, 0xFE, 0x07, 0x9E, 0x79, 0x47, 0x11,
5397 0xA1, 0x25, 0xA4, 0xE5, 0xFB, 0xEA, 0xE7, 0xC1, 0xFF, 0x12, 0x12, 0x71,
5398 0x5D, 0xC1, 0x99, 0x44, 0xD1, 0xCE, 0x82, 0xA7,
5399};
5400
5401static const uint8_t keygen_dh1216_g[] = {
5402 0x05,
5403};
5404
5405static const uint8_t keygen_dh1280_p[] = {
5406 0xF0, 0x10, 0x04, 0x04, 0x08, 0x13, 0x79, 0x15, 0x62, 0x5C, 0xFA, 0x2A,
5407 0x6D, 0xFC, 0x3F, 0x23, 0x4C, 0x47, 0x83, 0x45, 0xE7, 0x6F, 0x64, 0x04,
5408 0x1A, 0xFD, 0xBF, 0xD2, 0xB9, 0x0A, 0x98, 0x14, 0x16, 0xA4, 0xB5, 0x03,
5409 0x13, 0xBB, 0xFB, 0x72, 0x1E, 0xF5, 0x23, 0x12, 0xB8, 0x74, 0x49, 0x3F,
5410 0x84, 0xF3, 0x02, 0x3A, 0x50, 0x6F, 0xB7, 0xC7, 0x6F, 0x37, 0x8F, 0x61,
5411 0x88, 0x60, 0x7C, 0xF1, 0xE7, 0x1E, 0xED, 0x55, 0xF1, 0xCD, 0x64, 0x93,
5412 0xA7, 0x12, 0xB7, 0x74, 0x5F, 0x23, 0x20, 0xF7, 0x87, 0xC2, 0x83, 0x2A,
5413 0x86, 0x0C, 0xF3, 0x4B, 0x88, 0x32, 0xF5, 0xB7, 0x86, 0x2F, 0xBF, 0xEE,
5414 0xA1, 0x59, 0xC4, 0xDB, 0x0F, 0xEF, 0x06, 0xC8, 0xF2, 0xEE, 0x39, 0xB4,
5415 0x19, 0x24, 0x8A, 0x2C, 0xE7, 0xF8, 0xA0, 0x34, 0x2A, 0x15, 0xA9, 0x54,
5416 0x4D, 0x04, 0x1B, 0xC0, 0xC5, 0x15, 0xCF, 0x38, 0x96, 0x83, 0x3E, 0xEE,
5417 0xD0, 0xFD, 0xBC, 0x62, 0xD9, 0x84, 0xA3, 0x02, 0x6D, 0x2A, 0x7B, 0x4B,
5418 0x3E, 0xCC, 0xAD, 0xA1, 0xF0, 0xA0, 0x44, 0xDD, 0x7E, 0x4B, 0xBD, 0x75,
5419 0xAD, 0x8F, 0xF1, 0x57,
5420};
5421
5422static const uint8_t keygen_dh1280_g[] = {
5423 0x05,
5424};
5425
5426static const uint8_t keygen_dh1344_p[] = {
5427 0x8E, 0x0F, 0xCC, 0x61, 0x96, 0xCA, 0xF2, 0x3A, 0x13, 0xD5, 0xF9, 0x2A,
5428 0xD0, 0xF0, 0x5A, 0x4C, 0x1B, 0xC2, 0xD2, 0xDE, 0xD6, 0x54, 0x53, 0x83,
5429 0x70, 0x1E, 0x0A, 0x17, 0x6D, 0x4C, 0xBA, 0xCD, 0xEE, 0x32, 0x08, 0x55,
5430 0xD8, 0xD3, 0x80, 0x81, 0x07, 0x04, 0xF3, 0x19, 0xDD, 0x20, 0x30, 0x6A,
5431 0x6C, 0x74, 0x25, 0x56, 0xEB, 0xA0, 0x9E, 0x0A, 0x08, 0x94, 0x88, 0xE8,
5432 0xD2, 0xFD, 0xC3, 0x16, 0x27, 0x51, 0xE2, 0xF8, 0xAE, 0x8B, 0x2B, 0xFF,
5433 0x2A, 0x75, 0xEC, 0x21, 0xEB, 0xA9, 0xE2, 0x24, 0x8A, 0xAE, 0xF9, 0x7D,
5434 0x90, 0x8B, 0x31, 0x10, 0x6B, 0x14, 0x97, 0x2D, 0xB2, 0x93, 0x59, 0xFF,
5435 0x4B, 0x9A, 0x0A, 0x90, 0xA8, 0x0E, 0xDE, 0x19, 0x2B, 0x74, 0xF2, 0xCC,
5436 0x2D, 0x5B, 0x4F, 0x91, 0xBE, 0x43, 0x86, 0xA2, 0x91, 0xDD, 0x01, 0xDD,
5437 0x24, 0x75, 0xD8, 0x9F, 0x85, 0x53, 0xC3, 0xDB, 0x08, 0x5F, 0x01, 0x24,
5438 0xA7, 0x45, 0xAA, 0x6E, 0xB4, 0xFB, 0x05, 0x1C, 0x58, 0x51, 0x3D, 0xFD,
5439 0x39, 0x57, 0xD4, 0xF9, 0x11, 0x81, 0x60, 0x48, 0xF1, 0xD7, 0x7C, 0xAE,
5440 0xDE, 0x58, 0x6E, 0x6A, 0x02, 0xC5, 0x51, 0x69, 0x47, 0xF3, 0xAC, 0x47,
5441};
5442
5443static const uint8_t keygen_dh1344_g[] = {
5444 0x05,
5445};
5446
5447static const uint8_t keygen_dh1408_p[] = {
5448 0xE1, 0xE7, 0xA6, 0xF3, 0x5C, 0x06, 0x00, 0x8B, 0x4B, 0x3C, 0x7A, 0xF9,
5449 0x4D, 0x30, 0x08, 0x73, 0x69, 0xCF, 0x79, 0x6F, 0xAB, 0x66, 0x47, 0x05,
5450 0x65, 0xA8, 0x4A, 0x5C, 0xA6, 0x5E, 0x3D, 0x46, 0x10, 0x0A, 0x58, 0x3E,
5451 0x7C, 0x3F, 0x0F, 0x3A, 0xE1, 0xFF, 0x2C, 0x7D, 0xE1, 0x40, 0x05, 0xED,
5452 0xC3, 0x0B, 0x6C, 0x36, 0x90, 0xDC, 0x10, 0x94, 0x9B, 0xEB, 0xA9, 0x31,
5453 0xD9, 0x1F, 0x46, 0xBF, 0xC0, 0xF4, 0x49, 0x44, 0x39, 0xF2, 0xE9, 0xB8,
5454 0x86, 0x52, 0xCB, 0x60, 0xAC, 0xAF, 0x2C, 0x38, 0x9A, 0x63, 0xCE, 0xB7,
5455 0x30, 0x17, 0x81, 0xA9, 0x1C, 0x3D, 0x73, 0x0D, 0x3F, 0xCE, 0xC8, 0xA6,
5456 0x95, 0x65, 0x8F, 0x9F, 0x5C, 0xE8, 0xEB, 0x5C, 0x69, 0x59, 0x8B, 0xA5,
5457 0x1D, 0x74, 0x23, 0x35, 0x3C, 0x35, 0x08, 0x50, 0x53, 0xE5, 0xDB, 0x93,
5458 0x69, 0x8F, 0x17, 0xF7, 0xA0, 0xBA, 0xED, 0xD6, 0xE9, 0x7C, 0x4F, 0x97,
5459 0xAB, 0x25, 0x26, 0x39, 0xF9, 0xF3, 0x12, 0x0A, 0xB1, 0xE0, 0x7C, 0xCD,
5460 0x60, 0x5C, 0x46, 0x2E, 0x22, 0xAB, 0xEF, 0x8D, 0x09, 0xB8, 0x3D, 0xB1,
5461 0xA6, 0xB0, 0x1C, 0x5D, 0x75, 0x66, 0x02, 0x0E, 0xFD, 0xB9, 0xD6, 0x47,
5462 0x5F, 0x80, 0xF3, 0xAF, 0xB3, 0x39, 0x7B, 0xF7,
5463};
5464
5465static const uint8_t keygen_dh1408_g[] = {
5466 0x05,
5467};
5468
5469static const uint8_t keygen_dh1472_p[] = {
5470 0x9D, 0x8A, 0x3D, 0x5A, 0xC0, 0x90, 0x55, 0x02, 0x4E, 0x28, 0xB7, 0x8F,
5471 0x33, 0x91, 0xDC, 0xEB, 0xD2, 0x81, 0x00, 0x16, 0x2D, 0x89, 0x9A, 0x3C,
5472 0x83, 0xD5, 0xF3, 0x2A, 0x59, 0x5D, 0x63, 0x86, 0xFB, 0xEB, 0xA8, 0xFD,
5473 0x27, 0x1E, 0x18, 0x9F, 0x3C, 0xF7, 0xEF, 0xAE, 0xDE, 0x6C, 0xA5, 0x30,
5474 0x16, 0x93, 0xF0, 0x00, 0xB3, 0x36, 0xD2, 0xF6, 0x2C, 0x95, 0xF1, 0x31,
5475 0x4A, 0x75, 0xA8, 0x4F, 0xF6, 0xA8, 0x0F, 0xE9, 0x0B, 0xB4, 0xAF, 0xEE,
5476 0xFF, 0x50, 0x6D, 0xE8, 0xFC, 0x3A, 0xCC, 0x04, 0x71, 0x21, 0x74, 0x38,
5477 0xEB, 0x7E, 0x66, 0x70, 0x85, 0xA7, 0x35, 0x50, 0x07, 0x21, 0x2D, 0x24,
5478 0x45, 0xCC, 0x00, 0xB1, 0x7F, 0x7A, 0x73, 0x54, 0x9B, 0x96, 0x7B, 0x60,
5479 0x46, 0xDE, 0x57, 0x4B, 0xE3, 0xF5, 0xEA, 0x0E, 0xFC, 0x7A, 0xC1, 0xFE,
5480 0x8D, 0x13, 0xD8, 0x2D, 0xAB, 0xDD, 0xA6, 0x61, 0x5C, 0x95, 0xB4, 0x15,
5481 0x6F, 0x2A, 0x40, 0x6C, 0xB3, 0xC6, 0xC2, 0x1C, 0xC6, 0x74, 0x6F, 0x31,
5482 0x73, 0x47, 0x94, 0x95, 0x23, 0x8D, 0xCD, 0x4F, 0x4D, 0xA8, 0xF3, 0x67,
5483 0x5D, 0xDE, 0x83, 0x49, 0x9C, 0xD3, 0xD9, 0xB5, 0x0D, 0xD4, 0x0E, 0xD1,
5484 0x99, 0xB7, 0x53, 0x2E, 0xE5, 0xFD, 0xB5, 0x75, 0xFD, 0xE6, 0xD6, 0xC6,
5485 0xA2, 0x43, 0x33, 0x83,
5486};
5487
5488static const uint8_t keygen_dh1472_g[] = {
5489 0x05,
5490};
5491
5492static const uint8_t keygen_dh1536_p[] = {
5493 0xE2, 0x5A, 0x3F, 0x8E, 0xE8, 0x72, 0x92, 0x84, 0x2F, 0xB2, 0xC0, 0x01,
5494 0x1F, 0xE9, 0x42, 0x0A, 0x0B, 0x1A, 0x71, 0x27, 0x51, 0xD8, 0xB5, 0xD8,
5495 0x31, 0x7B, 0xEE, 0xEE, 0xAA, 0xA5, 0x67, 0x67, 0x36, 0xAF, 0xAB, 0x55,
5496 0xB9, 0x07, 0xA7, 0xF7, 0x55, 0xE3, 0x08, 0x52, 0x7C, 0x55, 0xF3, 0x28,
5497 0x6F, 0x37, 0x84, 0xC7, 0x26, 0x66, 0x2F, 0x84, 0x8C, 0x09, 0xA5, 0x0C,
5498 0x5A, 0x60, 0x45, 0x7A, 0xDC, 0x11, 0x11, 0xB6, 0xF8, 0x6B, 0x2A, 0x63,
5499 0x6E, 0x86, 0x00, 0x65, 0x92, 0x8F, 0xE8, 0xB8, 0x4A, 0x2F, 0xDC, 0x62,
5500 0xE0, 0x2C, 0x1F, 0x95, 0x8F, 0x16, 0x7D, 0xB9, 0xC2, 0xCE, 0x58, 0x9A,
5501 0x12, 0x55, 0xC2, 0x01, 0xE2, 0xBE, 0xE5, 0xF0, 0x80, 0x04, 0xFD, 0xDD,
5502 0x95, 0x04, 0x11, 0xCA, 0xE3, 0xAA, 0x9E, 0x3F, 0x4C, 0x9A, 0xE9, 0x8C,
5503 0x11, 0xD9, 0x1C, 0x3A, 0x22, 0xEF, 0xEC, 0xB0, 0x9D, 0x73, 0x0C, 0xBB,
5504 0x4E, 0x3F, 0xFC, 0xF4, 0xFF, 0x63, 0x85, 0x7C, 0xE6, 0x5C, 0x22, 0x60,
5505 0x0A, 0x92, 0x32, 0xEC, 0x7C, 0x6B, 0x01, 0x72, 0x93, 0x42, 0x9D, 0x8D,
5506 0xC5, 0x78, 0x88, 0x8F, 0xCB, 0xA8, 0x93, 0xD1, 0x8F, 0x67, 0x74, 0x7A,
5507 0xA2, 0x93, 0x18, 0xDB, 0x84, 0xA5, 0xA6, 0xB9, 0x35, 0x0C, 0xCD, 0x8B,
5508 0x85, 0x2F, 0xC0, 0xBA, 0x27, 0x3D, 0x9C, 0x55, 0xDA, 0xB8, 0x94, 0x1F,
5509};
5510
5511static const uint8_t keygen_dh1536_g[] = {
5512 0x05,
5513};
5514
5515static const uint8_t keygen_dh1600_p[] = {
5516 0xAC, 0xF5, 0x91, 0x7E, 0xA3, 0x07, 0xD1, 0x24, 0x69, 0x38, 0x4D, 0x1B,
5517 0x1D, 0x60, 0x81, 0xF5, 0x22, 0x71, 0xE3, 0xEC, 0x17, 0x7B, 0x22, 0x81,
5518 0x22, 0xC7, 0x55, 0xBC, 0x61, 0x41, 0x03, 0xA5, 0x9D, 0xDC, 0x58, 0x28,
5519 0x6C, 0xE6, 0xF7, 0x9B, 0x0D, 0x2F, 0xD5, 0x4F, 0x3E, 0x4D, 0x6B, 0x26,
5520 0x5B, 0x09, 0x09, 0x79, 0x58, 0xC4, 0x39, 0x33, 0x8C, 0x29, 0x9E, 0x9F,
5521 0x5C, 0x76, 0xA5, 0xC8, 0x99, 0xF8, 0x69, 0xEE, 0x8F, 0xBA, 0x2C, 0xD4,
5522 0x68, 0x4F, 0xB2, 0xDC, 0xE6, 0xD9, 0x20, 0xE8, 0x02, 0xF2, 0x43, 0x9C,
5523 0xDD, 0x31, 0x79, 0xBD, 0x39, 0x78, 0x31, 0xC6, 0x03, 0x66, 0x69, 0x05,
5524 0xD6, 0x1E, 0xFE, 0x11, 0x1D, 0x9E, 0x01, 0xB8, 0xCB, 0xE8, 0xC7, 0x51,
5525 0xD9, 0xCD, 0x49, 0xEA, 0xD6, 0xC3, 0xC7, 0xF1, 0xC0, 0xA2, 0x6B, 0xD1,
5526 0x52, 0xD3, 0x80, 0xFD, 0x52, 0x35, 0x5C, 0x3D, 0xD3, 0x97, 0x61, 0x58,
5527 0x69, 0x1B, 0x4F, 0x9C, 0xF9, 0xC9, 0x34, 0xDA, 0x9B, 0x8B, 0x04, 0x18,
5528 0x12, 0x2F, 0xF1, 0x22, 0x78, 0x0F, 0xD3, 0xAA, 0x85, 0x06, 0xA9, 0xCA,
5529 0x9E, 0x80, 0x39, 0x25, 0x12, 0x41, 0xDD, 0x86, 0x58, 0x1F, 0x4D, 0x1F,
5530 0x9B, 0xDB, 0x63, 0xD0, 0x80, 0x5E, 0x53, 0xAC, 0x86, 0x0C, 0x1E, 0x11,
5531 0xB1, 0x0D, 0xB6, 0x1F, 0xFE, 0x7C, 0x23, 0x6A, 0x71, 0x47, 0xA5, 0xC2,
5532 0x20, 0x23, 0x9F, 0x1D, 0xDF, 0xB9, 0x91, 0x4B,
5533};
5534
5535static const uint8_t keygen_dh1600_g[] = {
5536 0x05,
5537};
5538
5539static const uint8_t keygen_dh1664_p[] = {
5540 0xAB, 0xF8, 0x74, 0x92, 0xCE, 0x1A, 0x3F, 0x89, 0xE1, 0xB7, 0x75, 0x5E,
5541 0x99, 0xBE, 0xFF, 0x73, 0x3E, 0x78, 0x86, 0xB0, 0x5E, 0x2F, 0x5C, 0xA4,
5542 0xB2, 0xE4, 0x72, 0x2C, 0x59, 0xB6, 0x64, 0x6F, 0x63, 0x72, 0xE3, 0x82,
5543 0xA4, 0xFB, 0x03, 0x57, 0x40, 0x6D, 0x6B, 0x1E, 0x2B, 0xB9, 0x8C, 0xB0,
5544 0x19, 0xB0, 0xE8, 0xC3, 0x3D, 0xEC, 0xC2, 0xA0, 0x91, 0x15, 0x02, 0x79,
5545 0x93, 0x31, 0xE4, 0x3A, 0x17, 0x9D, 0x9F, 0x68, 0xCD, 0x73, 0x28, 0x83,
5546 0xC3, 0x07, 0x43, 0x15, 0x05, 0x50, 0x9F, 0x78, 0x91, 0x2A, 0x98, 0x35,
5547 0xA3, 0xE4, 0x84, 0x84, 0x55, 0xDF, 0x32, 0x29, 0x27, 0x91, 0xC8, 0xFF,
5548 0x8B, 0x7B, 0x4E, 0x1B, 0xA1, 0x02, 0xBA, 0x31, 0x33, 0x79, 0x2E, 0x73,
5549 0x1D, 0x00, 0x30, 0xF2, 0x1E, 0x83, 0xB4, 0x7B, 0xD1, 0x76, 0xD4, 0x9E,
5550 0x2E, 0x32, 0xB6, 0xA5, 0x69, 0xB2, 0x28, 0x8E, 0xC4, 0xE3, 0xB0, 0x33,
5551 0x7E, 0x59, 0x90, 0x92, 0x40, 0x3F, 0x2C, 0x98, 0xC6, 0xEE, 0x26, 0xF1,
5552 0xE0, 0xE2, 0xB0, 0xA6, 0x50, 0xB0, 0x2E, 0xF1, 0xE3, 0x2D, 0x4F, 0xB5,
5553 0x58, 0xDA, 0x07, 0xBE, 0x9D, 0x20, 0x7C, 0x10, 0x23, 0x6D, 0x60, 0x96,
5554 0x11, 0xC9, 0xB4, 0xD4, 0x9C, 0xF0, 0x01, 0x8F, 0x9B, 0xC4, 0x83, 0xC6,
5555 0x47, 0x53, 0x74, 0xDD, 0x74, 0x01, 0x03, 0x9C, 0x99, 0xA0, 0x5E, 0xE2,
5556 0xA0, 0x05, 0x6E, 0x66, 0xB0, 0x01, 0xDD, 0x44, 0xFF, 0xA6, 0x65, 0x96,
5557 0x92, 0x2B, 0x89, 0x57,
5558};
5559
5560static const uint8_t keygen_dh1664_g[] = {
5561 0x05,
5562};
5563
5564static const uint8_t keygen_dh1728_p[] = {
5565 0xED, 0x9F, 0xF6, 0x0C, 0xD6, 0x18, 0x33, 0xE8, 0x26, 0x13, 0xF2, 0x56,
5566 0xE7, 0x9D, 0x03, 0x45, 0x99, 0xA0, 0x12, 0xB1, 0xBC, 0x45, 0xAD, 0xA7,
5567 0x14, 0xCC, 0x37, 0x97, 0x4D, 0x21, 0x6D, 0x52, 0x16, 0x6B, 0x20, 0x0B,
5568 0x8D, 0xA6, 0x43, 0xDF, 0x6C, 0x5C, 0x5A, 0xF2, 0x24, 0xBF, 0x04, 0x03,
5569 0x2E, 0xF6, 0xFE, 0x45, 0x30, 0x88, 0x2B, 0x07, 0x5C, 0xAA, 0xAE, 0x7E,
5570 0x33, 0xEF, 0xE6, 0x92, 0xD6, 0xFD, 0x61, 0x5F, 0xEF, 0xAC, 0xFB, 0x64,
5571 0x8D, 0x41, 0xE7, 0x52, 0xD2, 0x56, 0x74, 0x3A, 0xE5, 0x5E, 0x7E, 0x88,
5572 0x8D, 0xCD, 0xEA, 0xA8, 0xEF, 0x09, 0x9E, 0xDC, 0xBB, 0xC2, 0x10, 0xA8,
5573 0xE8, 0x7B, 0x24, 0x1B, 0x28, 0xA7, 0x1C, 0x0C, 0x53, 0xB8, 0xC2, 0xF3,
5574 0x01, 0x32, 0xBA, 0xE5, 0x8B, 0x6F, 0x3B, 0xB9, 0x36, 0x44, 0x5B, 0x3A,
5575 0x73, 0x44, 0x8F, 0xDE, 0x99, 0x69, 0x22, 0xE0, 0x2C, 0x45, 0x71, 0xA9,
5576 0x52, 0x1C, 0xCD, 0x19, 0x02, 0xBD, 0x06, 0xD2, 0x57, 0x45, 0xE3, 0x6C,
5577 0x96, 0x6D, 0x0B, 0x25, 0x56, 0x4C, 0x40, 0x2E, 0x7E, 0x83, 0xEE, 0xE1,
5578 0xB2, 0x65, 0x51, 0x04, 0x8D, 0x6A, 0x08, 0x44, 0xF0, 0x80, 0xB1, 0xFE,
5579 0x13, 0x15, 0x9B, 0x82, 0x65, 0xF0, 0x89, 0xBC, 0x7E, 0x63, 0xF6, 0x08,
5580 0xD3, 0xBA, 0xA9, 0x66, 0x35, 0x5F, 0x0C, 0xF7, 0xE9, 0x52, 0xA3, 0x4D,
5581 0x66, 0x01, 0xE7, 0x28, 0xF4, 0xDC, 0xF2, 0x46, 0xBB, 0x02, 0x95, 0x21,
5582 0x6A, 0x8F, 0x97, 0xA7, 0x3F, 0x06, 0x2E, 0xB2, 0x97, 0xEC, 0x5A, 0xFB,
5583};
5584
5585
5586static const uint8_t keygen_dh1728_g[] = {
5587 0x05,
5588};
5589
5590static const uint8_t keygen_dh1792_p[] = {
5591 0x9A, 0x87, 0x16, 0x1D, 0x23, 0x55, 0xC7, 0x06, 0x55, 0xD7, 0xB1, 0xB3,
5592 0x71, 0x66, 0x9A, 0x16, 0x5A, 0xA6, 0x8F, 0x54, 0x50, 0x99, 0xBD, 0x90,
5593 0x8C, 0x84, 0xB3, 0xBC, 0x02, 0xFE, 0xCB, 0x07, 0x3A, 0x7E, 0x97, 0x12,
5594 0x32, 0xEC, 0xA0, 0x0B, 0xEA, 0x96, 0x51, 0xB4, 0x50, 0x4E, 0x3A, 0xCB,
5595 0x27, 0xA9, 0x42, 0x51, 0x49, 0x35, 0x9F, 0x45, 0x6B, 0xDA, 0xE0, 0x6C,
5596 0x10, 0x80, 0x00, 0x41, 0xC2, 0xFC, 0x91, 0xB6, 0x59, 0xCE, 0x76, 0x7F,
5597 0x21, 0xC6, 0x10, 0x8A, 0x68, 0x68, 0x54, 0x76, 0xCE, 0x33, 0xA6, 0x37,
5598 0xCF, 0x80, 0xDF, 0x37, 0x12, 0x77, 0xBA, 0xBF, 0x15, 0x10, 0x22, 0x4A,
5599 0xA1, 0x9B, 0xA6, 0x6B, 0x8E, 0x14, 0x4F, 0x64, 0xF4, 0x87, 0x64, 0xAA,
5600 0x6E, 0xBC, 0xB5, 0xB2, 0x96, 0x27, 0xD1, 0x1A, 0x6E, 0x6D, 0x4B, 0xC6,
5601 0x43, 0x28, 0xE9, 0xFC, 0xA4, 0xCB, 0x61, 0x8F, 0xEA, 0xE8, 0x40, 0xF2,
5602 0x0A, 0x19, 0xBA, 0x17, 0x49, 0x9A, 0x9F, 0xEF, 0x65, 0xBC, 0x70, 0x85,
5603 0xDD, 0x98, 0xB9, 0x8B, 0x25, 0x2C, 0xE1, 0x89, 0xC4, 0x60, 0xA0, 0xA9,
5604 0x7E, 0xFB, 0xEC, 0xBC, 0x4C, 0x1D, 0x25, 0x5D, 0x70, 0x2E, 0x73, 0x29,
5605 0x22, 0xA7, 0x83, 0x11, 0xC0, 0x64, 0xA9, 0xB6, 0xFA, 0x11, 0xC8, 0xC4,
5606 0x14, 0x30, 0x64, 0xE4, 0x76, 0xBE, 0x41, 0x62, 0xE6, 0x9F, 0xD6, 0x2A,
5607 0xEC, 0x60, 0xCF, 0xBD, 0x25, 0x2E, 0x3C, 0x6C, 0x40, 0x16, 0x32, 0x5C,
5608 0xB5, 0x3D, 0xFB, 0xD7, 0x3C, 0x59, 0x06, 0xBE, 0x37, 0x54, 0x40, 0x90,
5609 0x3D, 0x51, 0x01, 0x9A, 0x1E, 0x87, 0x05, 0xE3,
5610};
5611
5612static const uint8_t keygen_dh1792_g[] = {
5613 0x05,
5614};
5615
5616static const uint8_t keygen_dh1856_p[] = {
5617 0xA8, 0xD1, 0xC4, 0xCA, 0x89, 0xB5, 0xB3, 0x17, 0xEB, 0x4D, 0xB1, 0x58,
5618 0x73, 0x28, 0xDD, 0x7F, 0x67, 0x78, 0x13, 0x7D, 0x0D, 0x0E, 0x77, 0x43,
5619 0xB8, 0xA5, 0xCD, 0x84, 0xD3, 0x29, 0x3F, 0x00, 0xD7, 0xB0, 0x66, 0x95,
5620 0x52, 0x9D, 0x49, 0xAD, 0x9C, 0xCE, 0x83, 0xB1, 0xDB, 0x86, 0x90, 0x9A,
5621 0x40, 0xAD, 0x0A, 0xB0, 0x3A, 0x93, 0x33, 0x07, 0xC8, 0x32, 0x4D, 0x75,
5622 0x1E, 0x7B, 0xDC, 0xD3, 0x23, 0x5C, 0xCB, 0x83, 0x62, 0x79, 0x3A, 0x88,
5623 0xE8, 0xD0, 0x9B, 0x75, 0x4D, 0xA0, 0x1F, 0x3E, 0x08, 0x61, 0x5D, 0xEF,
5624 0x7C, 0xF0, 0x4D, 0xF8, 0xDD, 0x95, 0xEC, 0x31, 0xDD, 0x50, 0xA5, 0x4B,
5625 0xAA, 0x8E, 0xED, 0x45, 0x34, 0xCB, 0x87, 0x09, 0x4F, 0x36, 0xF6, 0xF4,
5626 0xF7, 0x08, 0x0D, 0xBA, 0xBC, 0x06, 0x22, 0x59, 0x83, 0x93, 0xF6, 0x4B,
5627 0xBC, 0x35, 0xAD, 0x48, 0x82, 0x40, 0x55, 0x51, 0xBC, 0xF8, 0xE2, 0x9A,
5628 0x11, 0xF2, 0x08, 0x1E, 0xCA, 0x55, 0x40, 0x36, 0x00, 0xBE, 0x1C, 0xC8,
5629 0x94, 0x2E, 0x35, 0x7D, 0xB0, 0xA4, 0xCD, 0x1C, 0xC1, 0xFF, 0x58, 0xE1,
5630 0xBB, 0x31, 0xE9, 0x13, 0x16, 0x7F, 0x43, 0x88, 0xB2, 0x43, 0x62, 0x2A,
5631 0x79, 0xE3, 0x61, 0xDF, 0xF5, 0xC9, 0x9C, 0x33, 0xDD, 0x93, 0x58, 0xFC,
5632 0x08, 0x51, 0xE8, 0xA8, 0x30, 0x61, 0x64, 0x83, 0xB3, 0x20, 0xC4, 0x53,
5633 0x95, 0xD6, 0xB3, 0x74, 0xB5, 0xFA, 0xB1, 0x65, 0xD1, 0xF9, 0xED, 0xB1,
5634 0x9B, 0x97, 0x86, 0xC6, 0xDE, 0x6E, 0x5F, 0xF4, 0x6A, 0x42, 0xFA, 0x1F,
5635 0x6E, 0xEA, 0x5B, 0x43, 0x4C, 0xCC, 0x62, 0x76, 0xFE, 0x9B, 0xA0, 0xB9,
5636 0x7C, 0x50, 0x5E, 0x8B,
5637};
5638
5639static const uint8_t keygen_dh1856_g[] = {
5640 0x05,
5641};
5642
5643static const uint8_t keygen_dh1920_p[] = {
5644 0xC2, 0x68, 0xB1, 0x2E, 0x41, 0xB7, 0xA3, 0xCC, 0xE8, 0x10, 0x48, 0xE8,
5645 0x80, 0xA5, 0x56, 0x82, 0x3C, 0x05, 0xA3, 0xC4, 0x20, 0xD5, 0xD7, 0x19,
5646 0x54, 0x60, 0xA4, 0x97, 0x95, 0x09, 0x3D, 0xDF, 0x10, 0xFF, 0x21, 0x0D,
5647 0x68, 0x19, 0x15, 0x89, 0xD1, 0x44, 0x14, 0x1E, 0xF2, 0xD8, 0xFD, 0x9D,
5648 0x35, 0x8C, 0xA6, 0x2B, 0x7D, 0x73, 0x9A, 0xEB, 0x86, 0x28, 0x4D, 0x3B,
5649 0x22, 0xEF, 0x1A, 0x35, 0xB6, 0x95, 0xA2, 0xFF, 0x03, 0x40, 0x49, 0x60,
5650 0x59, 0xD2, 0x2D, 0xAD, 0x00, 0xEF, 0x6A, 0x5B, 0xFB, 0xA6, 0x16, 0x01,
5651 0x92, 0x5E, 0x7D, 0x95, 0x2E, 0x18, 0xD5, 0x23, 0x9E, 0x9E, 0x87, 0xF2,
5652 0x2F, 0xFC, 0xE4, 0xF7, 0xC2, 0x28, 0x44, 0x97, 0xAB, 0xB5, 0xC1, 0xD3,
5653 0x8A, 0x53, 0xD7, 0xE5, 0x04, 0x78, 0xF2, 0xD9, 0x21, 0xD5, 0x46, 0x17,
5654 0x8A, 0xFC, 0xDB, 0x57, 0x29, 0xDD, 0x78, 0x5B, 0x05, 0xA9, 0xB0, 0x13,
5655 0x45, 0x1C, 0x84, 0xEE, 0x46, 0x73, 0x1B, 0x8E, 0x80, 0x45, 0x73, 0x04,
5656 0xF9, 0x23, 0x96, 0xBA, 0xBD, 0x51, 0x69, 0x81, 0xE4, 0xAE, 0x0D, 0x0A,
5657 0xC4, 0x93, 0xD9, 0x67, 0x14, 0x92, 0x5A, 0x96, 0x86, 0x9F, 0xCD, 0x6E,
5658 0x9A, 0x2A, 0x17, 0xA9, 0x1A, 0xDD, 0x00, 0x7C, 0x78, 0xD8, 0x06, 0xC5,
5659 0xB4, 0xA4, 0xF6, 0xCF, 0x22, 0xCD, 0xCA, 0x0E, 0x27, 0x97, 0xDD, 0x22,
5660 0x02, 0x31, 0x2B, 0x9C, 0xFF, 0x7E, 0x35, 0x3C, 0xDA, 0xAB, 0x51, 0x68,
5661 0x5A, 0x81, 0xF3, 0xA5, 0xA9, 0x04, 0xDA, 0x45, 0x07, 0xC6, 0x4A, 0xEF,
5662 0x5D, 0x0E, 0xC3, 0x41, 0xD6, 0xAC, 0xD0, 0x8D, 0x56, 0xAC, 0xB4, 0x89,
5663 0x53, 0x41, 0x06, 0x99, 0x83, 0x04, 0xBE, 0x6D, 0x2B, 0x28, 0xEB, 0x47,
5664};
5665
5666static const uint8_t keygen_dh1920_g[] = {
5667 0x05,
5668};
5669
5670static const uint8_t keygen_dh1984_p[] = {
5671 0xD8, 0xF3, 0xDC, 0x89, 0xE0, 0x6E, 0xD4, 0x07, 0xC3, 0x95, 0xC0, 0x17,
5672 0x39, 0xCE, 0xF6, 0xD0, 0x8A, 0xD7, 0x85, 0xD3, 0x83, 0x4D, 0xDC, 0x0B,
5673 0x85, 0x3B, 0xB7, 0x47, 0xEA, 0xDF, 0xE3, 0x34, 0xCA, 0xA9, 0x60, 0x9A,
5674 0x4F, 0x8E, 0x8B, 0xAE, 0x8A, 0xAF, 0xD3, 0x96, 0x56, 0xFC, 0x1D, 0x37,
5675 0x9A, 0x96, 0x57, 0x21, 0x32, 0xF0, 0x22, 0xE8, 0x68, 0x8B, 0x73, 0xAE,
5676 0x1B, 0xAB, 0xFB, 0x79, 0x1B, 0x7E, 0xDC, 0xAD, 0x9D, 0xA2, 0xF3, 0x5E,
5677 0x11, 0x46, 0x54, 0x4E, 0x88, 0x92, 0x2B, 0x79, 0x3B, 0xBB, 0x14, 0xD8,
5678 0x3B, 0x0B, 0xB0, 0x55, 0xE5, 0x9A, 0xA9, 0xA0, 0x94, 0x3C, 0x72, 0xE0,
5679 0x47, 0x58, 0xA5, 0x85, 0xDC, 0x4A, 0x6D, 0x50, 0x98, 0x28, 0x9B, 0xA1,
5680 0xB2, 0x95, 0xBB, 0x1A, 0x41, 0x05, 0xBC, 0x32, 0x02, 0x72, 0xBB, 0xF7,
5681 0x1A, 0x48, 0xC3, 0xD9, 0x4F, 0xBD, 0x32, 0xC8, 0x82, 0xAB, 0xCE, 0xDE,
5682 0x24, 0x6A, 0x0C, 0x92, 0xF8, 0xFB, 0xFF, 0x18, 0x33, 0x48, 0xAC, 0xD7,
5683 0xA3, 0x12, 0x0D, 0x52, 0x15, 0x3A, 0xA4, 0x6D, 0x85, 0x0A, 0xBF, 0x19,
5684 0x63, 0x82, 0x3E, 0xB9, 0x52, 0x98, 0xEA, 0xCC, 0x56, 0x66, 0x0F, 0x96,
5685 0x90, 0x1D, 0x35, 0xD6, 0xE1, 0xF6, 0x2B, 0x5B, 0xF7, 0x75, 0x12, 0xE5,
5686 0xD9, 0xED, 0x2E, 0x20, 0xA0, 0xF5, 0x68, 0xA8, 0xC9, 0x6E, 0x08, 0xD0,
5687 0xD2, 0xE7, 0xB6, 0xCB, 0x51, 0xA2, 0x5A, 0x34, 0x0B, 0xF3, 0x13, 0xAF,
5688 0x5A, 0x46, 0x8B, 0xCB, 0xC9, 0x46, 0x02, 0x15, 0xFE, 0x96, 0x45, 0x25,
5689 0x7D, 0x76, 0x56, 0x16, 0x8C, 0x97, 0xF3, 0x74, 0xFC, 0x2F, 0x5D, 0xFA,
5690 0xCD, 0x62, 0x23, 0x02, 0xF8, 0x19, 0x94, 0xEE, 0xE6, 0x18, 0x09, 0xDE,
5691 0x64, 0xB4, 0x3A, 0xDC, 0x0A, 0x5E, 0x26, 0x83,
5692};
5693
5694static const uint8_t keygen_dh1984_g[] = {
5695 0x05,
5696};
5697
5698static const uint8_t keygen_dh2048_p[] = {
5699 0x8F, 0x3E, 0xC1, 0x36, 0xCA, 0x60, 0xCE, 0xD1, 0xC5, 0xFD, 0x22, 0x05,
5700 0xD6, 0x94, 0x38, 0x20, 0x4F, 0xE1, 0xAF, 0xBC, 0xA6, 0x82, 0xBD, 0x71,
5701 0xFD, 0xD6, 0xC2, 0x61, 0xE8, 0xC1, 0xBD, 0xA9, 0x5E, 0xFD, 0x02, 0x51,
5702 0xB6, 0x1F, 0x38, 0x30, 0x44, 0x76, 0x94, 0xB3, 0x26, 0x79, 0x35, 0xC4,
5703 0xDF, 0x51, 0x80, 0xAF, 0x0D, 0x81, 0xCC, 0xA2, 0x33, 0xD1, 0x1E, 0x77,
5704 0xB8, 0x06, 0xD7, 0xE5, 0x83, 0x34, 0x04, 0xF2, 0x96, 0x24, 0x37, 0xFE,
5705 0xBC, 0x20, 0x9C, 0x66, 0x4C, 0xEB, 0x4F, 0xFD, 0x1F, 0x99, 0x56, 0x40,
5706 0xD9, 0xE8, 0x6B, 0x2A, 0x8D, 0x6B, 0x56, 0xB2, 0xB4, 0x6D, 0x83, 0x47,
5707 0x4C, 0x18, 0x53, 0x8B, 0xB1, 0xA3, 0x51, 0xC2, 0x07, 0xA3, 0x36, 0x43,
5708 0x4B, 0x94, 0x10, 0xFD, 0x24, 0xA3, 0x77, 0x74, 0x77, 0xFA, 0x98, 0x4B,
5709 0x43, 0x0B, 0xB6, 0xEC, 0x7F, 0x5C, 0x7E, 0xBA, 0xB7, 0xC7, 0xAA, 0x72,
5710 0x11, 0x9F, 0x73, 0x14, 0x45, 0x03, 0x7A, 0x4E, 0xE5, 0xE7, 0x5C, 0x64,
5711 0xB8, 0x66, 0x66, 0xCE, 0xEE, 0xF8, 0xFF, 0x61, 0x0F, 0x5D, 0x4E, 0xF6,
5712 0xED, 0xB1, 0xE5, 0x2F, 0x52, 0xAC, 0x2B, 0x8F, 0x34, 0x0D, 0x13, 0xF6,
5713 0x4A, 0x3A, 0x6C, 0x56, 0xB3, 0x3C, 0x52, 0xA8, 0xB9, 0xBC, 0x27, 0xCA,
5714 0x3B, 0xFB, 0x6E, 0xE7, 0x52, 0xFB, 0xB0, 0x2B, 0x4F, 0xC4, 0xBD, 0x24,
5715 0x36, 0xE4, 0x71, 0x07, 0x74, 0x69, 0x5F, 0xE0, 0xB8, 0x59, 0x5F, 0x74,
5716 0x2F, 0xCC, 0x03, 0xB0, 0x6D, 0x90, 0xD8, 0xD3, 0x7C, 0x5A, 0x31, 0x46,
5717 0x5C, 0x7D, 0x1C, 0xC8, 0x0D, 0x18, 0x80, 0x8E, 0x5A, 0xA8, 0x5E, 0x4D,
5718 0x11, 0x2B, 0x76, 0xAC, 0x1E, 0x00, 0x51, 0x80, 0xE3, 0xED, 0x7A, 0xC0,
5719 0x4F, 0x80, 0xFA, 0x5F, 0xD5, 0xD7, 0x4F, 0xA7, 0x14, 0xE1, 0x60, 0x3C,
5720 0x95, 0x77, 0xCA, 0x3B,
5721};
5722
5723static const uint8_t keygen_dh2048_g[] = {
5724 0x05,
5725};
5726
5727static const uint8_t keygen_dh2048_subprime_p[] = {
5728 0x8F, 0x3E, 0xC1, 0x36, 0xCA, 0x60, 0xCE, 0xD1, 0xC5, 0xFD, 0x22, 0x05,
5729 0xD6, 0x94, 0x38, 0x20, 0x4F, 0xE1, 0xAF, 0xBC, 0xA6, 0x82, 0xBD, 0x71,
5730 0xFD, 0xD6, 0xC2, 0x61, 0xE8, 0xC1, 0xBD, 0xA9, 0x5E, 0xFD, 0x02, 0x51,
5731 0xB6, 0x1F, 0x38, 0x30, 0x44, 0x76, 0x94, 0xB3, 0x26, 0x79, 0x35, 0xC4,
5732 0xDF, 0x51, 0x80, 0xAF, 0x0D, 0x81, 0xCC, 0xA2, 0x33, 0xD1, 0x1E, 0x77,
5733 0xB8, 0x06, 0xD7, 0xE5, 0x83, 0x34, 0x04, 0xF2, 0x96, 0x24, 0x37, 0xFE,
5734 0xBC, 0x20, 0x9C, 0x66, 0x4C, 0xEB, 0x4F, 0xFD, 0x1F, 0x99, 0x56, 0x40,
5735 0xD9, 0xE8, 0x6B, 0x2A, 0x8D, 0x6B, 0x56, 0xB2, 0xB4, 0x6D, 0x83, 0x47,
5736 0x4C, 0x18, 0x53, 0x8B, 0xB1, 0xA3, 0x51, 0xC2, 0x07, 0xA3, 0x36, 0x43,
5737 0x4B, 0x94, 0x10, 0xFD, 0x24, 0xA3, 0x77, 0x74, 0x77, 0xFA, 0x98, 0x4B,
5738 0x43, 0x0B, 0xB6, 0xEC, 0x7F, 0x5C, 0x7E, 0xBA, 0xB7, 0xC7, 0xAA, 0x72,
5739 0x11, 0x9F, 0x73, 0x14, 0x45, 0x03, 0x7A, 0x4E, 0xE5, 0xE7, 0x5C, 0x64,
5740 0xB8, 0x66, 0x66, 0xCE, 0xEE, 0xF8, 0xFF, 0x61, 0x0F, 0x5D, 0x4E, 0xF6,
5741 0xED, 0xB1, 0xE5, 0x2F, 0x52, 0xAC, 0x2B, 0x8F, 0x34, 0x0D, 0x13, 0xF6,
5742 0x4A, 0x3A, 0x6C, 0x56, 0xB3, 0x3C, 0x52, 0xA8, 0xB9, 0xBC, 0x27, 0xCA,
5743 0x3B, 0xFB, 0x6E, 0xE7, 0x52, 0xFB, 0xB0, 0x2B, 0x4F, 0xC4, 0xBD, 0x24,
5744 0x36, 0xE4, 0x71, 0x07, 0x74, 0x69, 0x5F, 0xE0, 0xB8, 0x59, 0x5F, 0x74,
5745 0x2F, 0xCC, 0x03, 0xB0, 0x6D, 0x90, 0xD8, 0xD3, 0x7C, 0x5A, 0x31, 0x46,
5746 0x5C, 0x7D, 0x1C, 0xC8, 0x0D, 0x18, 0x80, 0x8E, 0x5A, 0xA8, 0x5E, 0x4D,
5747 0x11, 0x2B, 0x76, 0xAC, 0x1E, 0x00, 0x51, 0x80, 0xE3, 0xED, 0x7A, 0xC0,
5748 0x4F, 0x80, 0xFA, 0x5F, 0xD5, 0xD7, 0x4F, 0xA7, 0x14, 0xE1, 0x60, 0x3C,
5749 0x95, 0x77, 0xCA, 0x3B,
5750};
5751
5752static const uint8_t keygen_dh2048_subprime_g[] = {
5753 0x05,
5754};
5755static const uint32_t keygen_dh256_private_bits;
5756
5757static const uint32_t keygen_dh320_private_bits = 256;
5758
5759static const uint32_t keygen_dh384_private_bits;
5760
5761static const uint32_t keygen_dh448_private_bits = 256;
5762
5763static const uint32_t keygen_dh512_private_bits;
5764
5765static const uint32_t keygen_dh576_private_bits = 288;
5766
5767static const uint32_t keygen_dh640_private_bits;
5768
5769static const uint32_t keygen_dh704_private_bits = 352;
5770
5771static const uint32_t keygen_dh768_private_bits;
5772
5773static const uint32_t keygen_dh832_private_bits = 416;
5774
5775static const uint32_t keygen_dh896_private_bits;
5776
5777static const uint32_t keygen_dh960_private_bits = 480;
5778
5779static const uint32_t keygen_dh1024_private_bits;
5780
5781static const uint32_t keygen_dh1088_private_bits = 544;
5782
5783static const uint32_t keygen_dh1152_private_bits;
5784
5785static const uint32_t keygen_dh1216_private_bits = 608;
5786
5787static const uint32_t keygen_dh1280_private_bits;
5788
5789static const uint32_t keygen_dh1344_private_bits = 672;
5790
5791static const uint32_t keygen_dh1408_private_bits;
5792
5793static const uint32_t keygen_dh1472_private_bits = 736;
5794
5795static const uint32_t keygen_dh1536_private_bits;
5796
5797static const uint32_t keygen_dh1600_private_bits = 800;
5798
5799static const uint32_t keygen_dh1664_private_bits;
5800
5801static const uint32_t keygen_dh1728_private_bits = 864;
5802
5803static const uint32_t keygen_dh1792_private_bits;
5804
5805static const uint32_t keygen_dh1856_private_bits = 928;
5806
5807static const uint32_t keygen_dh1920_private_bits;
5808
5809static const uint32_t keygen_dh1984_private_bits = 992;
5810
5811static const uint32_t keygen_dh2048_private_bits;
5812
5813static const uint32_t keygen_dh2048_subprime_private_bits;
5814
5815static const uint8_t keygen_dh2048_subprime_subprime[] = {
5816 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5817 0x00,
5818 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5819 0x00,
5820 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
5821};
5822
5823/*
5824 * Test data from 186-3dsatestvectors.zip KeyPair.rsp
5825 * http://csrc.nist.gov/groups/STM/cavp/documents/dss/186-3dsatestvectors.zip
5826 */
5827/* [mod = L=1024, N=160] */
5828static const uint8_t keygen_dsa_test1_p[] = {
5829 0xd3, 0x83, 0x11, 0xe2, 0xcd, 0x38, 0x8c, 0x3e, 0xd6, 0x98, 0xe8, 0x2f,
5830 0xdf, 0x88, 0xeb, 0x92, 0xb5, 0xa9, 0xa4, 0x83, 0xdc, 0x88, 0x00, 0x5d,
5831 0x4b, 0x72, 0x5e, 0xf3, 0x41, 0xea, 0xbb, 0x47, 0xcf, 0x8a, 0x7a, 0x8a,
5832 0x41, 0xe7, 0x92, 0xa1, 0x56, 0xb7, 0xce, 0x97, 0x20, 0x6c, 0x4f, 0x9c,
5833 0x5c, 0xe6, 0xfc, 0x5a, 0xe7, 0x91, 0x21, 0x02, 0xb6, 0xb5, 0x02, 0xe5,
5834 0x90, 0x50, 0xb5, 0xb2, 0x1c, 0xe2, 0x63, 0xdd, 0xdb, 0x20, 0x44, 0xb6,
5835 0x52, 0x23, 0x6f, 0x4d, 0x42, 0xab, 0x4b, 0x5d, 0x6a, 0xa7, 0x31, 0x89,
5836 0xce, 0xf1, 0xac, 0xe7, 0x78, 0xd7, 0x84, 0x5a, 0x5c, 0x1c, 0x1c, 0x71,
5837 0x47, 0x12, 0x31, 0x88, 0xf8, 0xdc, 0x55, 0x10, 0x54, 0xee, 0x16, 0x2b,
5838 0x63, 0x4d, 0x60, 0xf0, 0x97, 0xf7, 0x19, 0x07, 0x66, 0x40, 0xe2, 0x09,
5839 0x80, 0xa0, 0x09, 0x31, 0x13, 0xa8, 0xbd, 0x73
5840};
5841
5842static const uint8_t keygen_dsa_test1_q[] = {
5843 0x96, 0xc5, 0x39, 0x0a, 0x8b, 0x61, 0x2c, 0x0e, 0x42, 0x2b, 0xb2, 0xb0,
5844 0xea, 0x19, 0x4a, 0x3e, 0xc9, 0x35, 0xa2, 0x81
5845};
5846
5847static const uint8_t keygen_dsa_test1_g[] = {
5848 0x06, 0xb7, 0x86, 0x1a, 0xbb, 0xd3, 0x5c, 0xc8, 0x9e, 0x79, 0xc5, 0x2f,
5849 0x68, 0xd2, 0x08, 0x75, 0x38, 0x9b, 0x12, 0x73, 0x61, 0xca, 0x66, 0x82,
5850 0x21, 0x38, 0xce, 0x49, 0x91, 0xd2, 0xb8, 0x62, 0x25, 0x9d, 0x6b, 0x45,
5851 0x48, 0xa6, 0x49, 0x5b, 0x19, 0x5a, 0xa0, 0xe0, 0xb6, 0x13, 0x7c, 0xa3,
5852 0x7e, 0xb2, 0x3b, 0x94, 0x07, 0x4d, 0x3c, 0x3d, 0x30, 0x00, 0x42, 0xbd,
5853 0xf1, 0x57, 0x62, 0x81, 0x2b, 0x63, 0x33, 0xef, 0x7b, 0x07, 0xce, 0xba,
5854 0x78, 0x60, 0x76, 0x10, 0xfc, 0xc9, 0xee, 0x68, 0x49, 0x1d, 0xbc, 0x1e,
5855 0x34, 0xcd, 0x12, 0x61, 0x54, 0x74, 0xe5, 0x2b, 0x18, 0xbc, 0x93, 0x4f,
5856 0xb0, 0x0c, 0x61, 0xd3, 0x9e, 0x7d, 0xa8, 0x90, 0x22, 0x91, 0xc4, 0x43,
5857 0x4a, 0x4e, 0x22, 0x24, 0xc3, 0xf4, 0xfd, 0x9f, 0x93, 0xcd, 0x6f, 0x4f,
5858 0x17, 0xfc, 0x07, 0x63, 0x41, 0xa7, 0xe7, 0xd9
5859};
5860
5861/* for i in {512..1024..64}; do openssl dsaparam -C $i; done */
5862static const uint8_t keygen_dsa512_p[] = {
5863 0xC8, 0x6B, 0xB7, 0x91, 0xD6, 0x63, 0xCE, 0xC0, 0xC6, 0xB8, 0xAC, 0x5B,
5864 0xEB, 0xA7, 0xEF, 0x17, 0xBE, 0x1A, 0x1A, 0x36, 0x6B, 0x38, 0x40, 0x0E,
5865 0x69, 0x13, 0x32, 0xD4, 0x4B, 0xBE, 0x00, 0xB5, 0x29, 0x7F, 0x6B, 0x87,
5866 0xAA, 0x1D, 0x98, 0x37, 0xD2, 0xAC, 0x62, 0x26, 0xD7, 0xFD, 0xE1, 0xC9,
5867 0x13, 0x4F, 0x2A, 0xF2, 0x82, 0xEC, 0xA8, 0x83, 0x6F, 0x29, 0xD3, 0xF5,
5868 0x16, 0xB9, 0x13, 0xCD,
5869};
5870
5871static const uint8_t keygen_dsa512_q[] = {
5872 0x8D, 0xF9, 0x8B, 0x8A, 0xDA, 0x3B, 0x0B, 0x1C, 0xFA, 0x1C, 0xA7, 0xE8,
5873 0x9A, 0xA2, 0xD7, 0xC3, 0x2D, 0xD5, 0x9D, 0x1B,
5874};
5875
5876static const uint8_t keygen_dsa512_g[] = {
5877 0xB3, 0xE2, 0xFD, 0x38, 0xE0, 0x9A, 0x21, 0x64, 0x8F, 0x6D, 0x7E, 0x4F,
5878 0xC2, 0x24, 0x18, 0x88, 0xEC, 0xA4, 0xCB, 0xB0, 0x5F, 0x43, 0xD8, 0x2B,
5879 0x5B, 0xDE, 0x01, 0xB4, 0xD2, 0x24, 0x1F, 0x80, 0xE7, 0xFC, 0xF3, 0x15,
5880 0xFA, 0x0C, 0x5B, 0x6F, 0x81, 0x55, 0x8C, 0x80, 0x36, 0xFB, 0x4D, 0xB5,
5881 0x8C, 0x5A, 0x26, 0xBE, 0xFB, 0x78, 0xEA, 0x62, 0x6A, 0x9D, 0x5E, 0xD0,
5882 0x21, 0x0C, 0xD9, 0x4E,
5883};
5884
5885static const uint8_t keygen_dsa576_p[] = {
5886 0xF7, 0x85, 0x23, 0x2C, 0x2C, 0x86, 0xD4, 0x2B, 0xE5, 0x09, 0xAB, 0x60,
5887 0xD6, 0x79, 0x05, 0x13, 0x75, 0x78, 0x1E, 0xAE, 0xEB, 0x5F, 0xBA, 0xFA,
5888 0x6E, 0x05, 0xE7, 0xB3, 0x8D, 0x33, 0x4B, 0xE5, 0xB5, 0xAA, 0xD4, 0xE6,
5889 0xA3, 0x9B, 0xA2, 0xF5, 0x7B, 0xF6, 0x32, 0xE6, 0x31, 0x6F, 0x34, 0x46,
5890 0x16, 0xEA, 0xD8, 0x94, 0x79, 0xD7, 0x69, 0x23, 0xA4, 0x04, 0xE2, 0x25,
5891 0xBB, 0x6D, 0xCC, 0x6E, 0x99, 0xB7, 0x90, 0x90, 0x89, 0xB9, 0x88, 0x19,
5892};
5893
5894static const uint8_t keygen_dsa576_q[] = {
5895 0xF0, 0xD8, 0x71, 0x31, 0xB5, 0x01, 0xC1, 0x6B, 0x09, 0xCE, 0x7D, 0x2F,
5896 0x82, 0x48, 0xB0, 0x21, 0x9C, 0xD6, 0xB5, 0xB1,
5897};
5898
5899static const uint8_t keygen_dsa576_g[] = {
5900 0x33, 0x45, 0xB8, 0x9A, 0x17, 0x4B, 0xBF, 0xD3, 0xB2, 0xBA, 0xD2, 0xE4,
5901 0xAC, 0x54, 0xA0, 0x9B, 0x5F, 0x5D, 0x95, 0x88, 0x9C, 0x0C, 0x59, 0xCE,
5902 0x40, 0x0C, 0x05, 0xFD, 0xC4, 0x9D, 0x22, 0x27, 0xDA, 0xA6, 0xD1, 0x10,
5903 0x61, 0x46, 0x31, 0x5C, 0x7D, 0x4E, 0xF6, 0x01, 0x38, 0x9A, 0x7E, 0x72,
5904 0x4E, 0x7A, 0x07, 0xFB, 0x6D, 0x20, 0x9D, 0x59, 0xC6, 0x33, 0x6A, 0x64,
5905 0xBF, 0x14, 0x30, 0x4E, 0x0C, 0x64, 0x9D, 0x11, 0xCF, 0x64, 0xCE, 0x29,
5906};
5907
5908static const uint8_t keygen_dsa640_p[] = {
5909 0x88, 0x8C, 0x58, 0x99, 0xF4, 0x78, 0xEA, 0x31, 0x56, 0xB7, 0x2C, 0x70,
5910 0xDC, 0x09, 0x5D, 0xB9, 0x13, 0x16, 0xCE, 0xDF, 0xFD, 0x8C, 0x4E, 0xF8,
5911 0x32, 0x59, 0x00, 0x58, 0xD6, 0x44, 0x4F, 0x95, 0xF7, 0x85, 0x14, 0xC3,
5912 0x10, 0x5A, 0xA2, 0x44, 0x2F, 0xA2, 0xC9, 0xB4, 0x88, 0x89, 0xA1, 0xAE,
5913 0x0E, 0x82, 0xE1, 0xC1, 0x45, 0x09, 0x98, 0xF7, 0xCB, 0xF2, 0xD8, 0xA0,
5914 0x6E, 0x32, 0x02, 0xE4, 0x0E, 0x7A, 0x43, 0x3A, 0xE1, 0x04, 0x4C, 0xC5,
5915 0x78, 0x0E, 0x02, 0x27, 0xC4, 0xD0, 0xCA, 0x29,
5916};
5917
5918static const uint8_t keygen_dsa640_q[] = {
5919 0xD7, 0x63, 0x4F, 0x3E, 0x6D, 0x52, 0x93, 0x69, 0xFA, 0xFF, 0xDE, 0x0D,
5920 0x57, 0x3F, 0x24, 0xBB, 0x01, 0xF8, 0x01, 0xAD,
5921};
5922
5923static const uint8_t keygen_dsa640_g[] = {
5924 0x76, 0xCB, 0x07, 0xB9, 0xE9, 0x3F, 0x3C, 0xA5, 0x18, 0x43, 0x83, 0xE6,
5925 0xBC, 0x42, 0x09, 0xD9, 0xC5, 0x1C, 0x56, 0x57, 0x0B, 0x5B, 0x46, 0x65,
5926 0x00, 0x67, 0xCA, 0x33, 0xC0, 0xA6, 0x37, 0xEA, 0x89, 0xAE, 0xDF, 0x1D,
5927 0x79, 0x96, 0xC7, 0x0C, 0xD2, 0xAC, 0xD3, 0x2C, 0x46, 0xC2, 0xA0, 0x9D,
5928 0x4B, 0x06, 0xB5, 0xDF, 0xAE, 0x73, 0xEB, 0x9A, 0x6A, 0x54, 0x39, 0x2C,
5929 0xB1, 0x98, 0xAD, 0x44, 0xF3, 0x29, 0xC9, 0xC5, 0x75, 0xF1, 0x3C, 0xD8,
5930 0x3B, 0xA1, 0x85, 0x29, 0x38, 0xB9, 0x17, 0xA5,
5931};
5932
5933static const uint8_t keygen_dsa704_p[] = {
5934 0xDA, 0xEA, 0x9B, 0x6B, 0x35, 0x06, 0x2E, 0x7E, 0x71, 0xB2, 0x11, 0xD0,
5935 0x37, 0x84, 0x88, 0xC0, 0x50, 0x94, 0x73, 0x78, 0xA8, 0x9C, 0xBD, 0x8C,
5936 0xB1, 0x0A, 0xD5, 0x89, 0x52, 0x39, 0xBF, 0x41, 0xDC, 0xB9, 0xE5, 0x16,
5937 0x1A, 0x86, 0xD5, 0xCF, 0xD6, 0x26, 0x84, 0x95, 0xE9, 0x0D, 0xCD, 0x98,
5938 0x21, 0x6B, 0x3C, 0xFE, 0x6D, 0x2D, 0x42, 0x1A, 0x3F, 0xE0, 0xFF, 0x07,
5939 0x41, 0x82, 0x30, 0x15, 0x17, 0xF3, 0x0F, 0x7B, 0xA0, 0xD3, 0x46, 0xFA,
5940 0x1F, 0x1E, 0xEC, 0xBD, 0x26, 0xCE, 0x4C, 0xE3, 0xBD, 0x73, 0xA3, 0xA6,
5941 0xA0, 0x12, 0xE1, 0xFD,
5942};
5943
5944static const uint8_t keygen_dsa704_q[] = {
5945 0xCE, 0xB3, 0x2E, 0x41, 0xEB, 0xFD, 0x22, 0x2A, 0xCE, 0x9A, 0xAF, 0x24,
5946 0xE3, 0x02, 0x50, 0xDE, 0x47, 0xBC, 0x4C, 0x1F,
5947};
5948
5949static const uint8_t keygen_dsa704_g[] = {
5950 0x08, 0x83, 0x72, 0x6D, 0x0A, 0x8F, 0x19, 0x61, 0xE4, 0x62, 0x40, 0x29,
5951 0x66, 0x6B, 0xDE, 0xBD, 0xAB, 0xE3, 0x5B, 0x58, 0x3F, 0xF5, 0xEA, 0xDE,
5952 0x8E, 0x7A, 0x34, 0xAF, 0x1C, 0x99, 0x03, 0x1A, 0x51, 0x17, 0xFC, 0xE0,
5953 0xA3, 0x22, 0x43, 0x63, 0xB6, 0x7E, 0x29, 0x4B, 0x23, 0x6C, 0xD1, 0xDE,
5954 0x59, 0xEC, 0x1D, 0x67, 0x94, 0xDD, 0x2E, 0x88, 0x86, 0xD3, 0xD6, 0x68,
5955 0x58, 0x36, 0x48, 0xF8, 0xEF, 0x38, 0x3F, 0xF5, 0x87, 0x96, 0x38, 0xD3,
5956 0x48, 0x50, 0x1F, 0xA3, 0x4A, 0xCA, 0xD7, 0x4D, 0xC3, 0x84, 0x83, 0xB1,
5957 0x8A, 0x95, 0xE0, 0xB3,
5958};
5959
5960static const uint8_t keygen_dsa768_p[] = {
5961 0xF0, 0xB1, 0x93, 0xFD, 0x53, 0x98, 0x23, 0x43, 0xFB, 0x04, 0xB1, 0x31,
5962 0x80, 0x3D, 0xD3, 0x95, 0x56, 0x51, 0xCC, 0x32, 0xA4, 0x51, 0x00, 0x8A,
5963 0x80, 0xB6, 0x87, 0x70, 0xD7, 0x77, 0x8D, 0xA6, 0xC2, 0xB5, 0x85, 0xE1,
5964 0xE0, 0x9E, 0x11, 0x28, 0x72, 0xE9, 0x45, 0x5B, 0x4D, 0xC9, 0xDC, 0x46,
5965 0x64, 0x2F, 0x44, 0xD8, 0x24, 0xE3, 0x9B, 0xCC, 0xF9, 0x66, 0x31, 0x9C,
5966 0x40, 0x64, 0xED, 0xC5, 0x48, 0x30, 0x84, 0x0C, 0xF9, 0x1F, 0xBC, 0x75,
5967 0xD8, 0x8C, 0x53, 0x30, 0x25, 0xB6, 0xBD, 0xDA, 0xBE, 0xBC, 0xBA, 0x86,
5968 0xB3, 0x7D, 0x27, 0x74, 0x9D, 0x68, 0xEA, 0xB8, 0xE0, 0x09, 0x3A, 0x7F,
5969};
5970
5971static const uint8_t keygen_dsa768_q[] = {
5972 0xC9, 0x8C, 0x79, 0x7B, 0x98, 0xB5, 0xFD, 0x80, 0x5D, 0x4B, 0x26, 0x30,
5973 0x42, 0x63, 0xDE, 0x37, 0xAB, 0x4B, 0xB7, 0xAF,
5974};
5975
5976static const uint8_t keygen_dsa768_g[] = {
5977 0xD4, 0xE8, 0xF1, 0xB9, 0x6D, 0x40, 0x26, 0x19, 0x72, 0x39, 0x5C, 0x6F,
5978 0x68, 0x4C, 0x8C, 0x18, 0xD8, 0x49, 0x3C, 0xB6, 0x5D, 0x72, 0xE3, 0xF4,
5979 0x89, 0x24, 0x69, 0xC8, 0x76, 0x83, 0x38, 0xA2, 0x23, 0xF5, 0xB3, 0xD5,
5980 0xCB, 0x0F, 0xC4, 0xFE, 0x45, 0x65, 0x2F, 0x2C, 0x3D, 0x32, 0x02, 0x28,
5981 0xE5, 0xCA, 0x34, 0xEC, 0x1A, 0xBB, 0x82, 0x93, 0x2A, 0xD9, 0x64, 0x1E,
5982 0xC5, 0x91, 0x34, 0x60, 0xF2, 0xE2, 0x2D, 0x64, 0x4E, 0x46, 0xAA, 0x00,
5983 0x6F, 0x26, 0xD8, 0x98, 0x97, 0xBF, 0xCC, 0xF1, 0x1B, 0x4A, 0x8A, 0x7D,
5984 0x39, 0xA4, 0xA4, 0x23, 0x82, 0x64, 0x78, 0x40, 0xED, 0x4C, 0x96, 0xB9,
5985};
5986
5987static const uint8_t keygen_dsa832_p[] = {
5988 0x93, 0x47, 0x85, 0x69, 0x79, 0xF2, 0xAA, 0xC2, 0x83, 0xA4, 0x08, 0x2F,
5989 0x3C, 0xE5, 0x4D, 0x3B, 0xFF, 0x4D, 0xC5, 0xF4, 0x03, 0x20, 0xFA, 0x15,
5990 0xA8, 0x27, 0x80, 0x55, 0x29, 0x57, 0x60, 0x0B, 0x75, 0x01, 0x7B, 0x65,
5991 0xCE, 0x4D, 0x7C, 0xF6, 0x7C, 0x4F, 0x1D, 0xC3, 0x67, 0xF2, 0xC1, 0x64,
5992 0x38, 0x49, 0x54, 0x60, 0x57, 0x05, 0xEB, 0x31, 0xFA, 0x7B, 0x50, 0xA1,
5993 0x0F, 0xCB, 0xC4, 0x4E, 0xDF, 0x92, 0x5A, 0x8B, 0x11, 0xBA, 0x6B, 0x7E,
5994 0x7A, 0xB4, 0x80, 0xD0, 0x9A, 0xE2, 0x88, 0x7D, 0x83, 0xA6, 0x81, 0x81,
5995 0x71, 0xD0, 0x06, 0xDE, 0xCC, 0xA4, 0xB9, 0x0A, 0x6B, 0x81, 0x31, 0x28,
5996 0x1D, 0xEF, 0x5F, 0x99, 0xDE, 0xEC, 0xDA, 0x4D,
5997};
5998
5999static const uint8_t keygen_dsa832_q[] = {
6000 0xF8, 0xF5, 0xAF, 0x31, 0x0D, 0xBE, 0x6F, 0x4B, 0x79, 0x87, 0xA2, 0x98,
6001 0xED, 0xF1, 0x2A, 0x93, 0x3D, 0x12, 0x5D, 0x25,
6002};
6003
6004static const uint8_t keygen_dsa832_g[] = {
6005 0x11, 0x21, 0xBC, 0x83, 0x7A, 0xD9, 0x5F, 0x0E, 0xA2, 0xF7, 0x96, 0xB7,
6006 0x6A, 0xDD, 0xAE, 0xBA, 0x11, 0x26, 0x58, 0xF6, 0xB1, 0xCF, 0x94, 0x35,
6007 0x3B, 0xFB, 0x9C, 0x9B, 0x16, 0xB8, 0x58, 0xBA, 0x2F, 0x5C, 0xE5, 0x18,
6008 0xE1, 0x29, 0xA6, 0xA3, 0x1C, 0x0C, 0xA5, 0xC7, 0xAE, 0xE8, 0x31, 0x26,
6009 0x8C, 0xCD, 0xA5, 0x69, 0xB2, 0x74, 0x31, 0x15, 0xCE, 0x82, 0xCD, 0x32,
6010 0xF7, 0xC8, 0x90, 0x60, 0x96, 0x61, 0x07, 0x60, 0x63, 0x6B, 0x48, 0x03,
6011 0xCD, 0x1F, 0x58, 0x7D, 0x8E, 0xAF, 0x26, 0x16, 0x3B, 0xC6, 0xA6, 0x03,
6012 0xB4, 0xE1, 0x3E, 0xBE, 0x5B, 0xC9, 0xD3, 0xBD, 0xB6, 0x31, 0xC9, 0x34,
6013 0x2C, 0x2B, 0x08, 0x3C, 0xE0, 0x1C, 0x1E, 0x01,
6014};
6015
6016static const uint8_t keygen_dsa896_p[] = {
6017 0xCA, 0x16, 0xD2, 0xB2, 0x7C, 0xC5, 0x25, 0x99, 0x3A, 0xCC, 0xCB, 0x3F,
6018 0x72, 0xAE, 0xD4, 0xA0, 0x1E, 0xE0, 0x19, 0x6A, 0x8A, 0xC2, 0xFC, 0xD5,
6019 0xB2, 0xCC, 0xD1, 0x6F, 0xA3, 0x95, 0x30, 0xEC, 0x2B, 0x4A, 0x46, 0x6C,
6020 0x72, 0xC3, 0x31, 0xFD, 0x94, 0x00, 0x55, 0xE7, 0x03, 0xC3, 0xDE, 0xD7,
6021 0xE3, 0xF8, 0xAF, 0x32, 0x0A, 0x29, 0x32, 0xC5, 0x97, 0x93, 0x2A, 0xE6,
6022 0xC6, 0x82, 0x49, 0x5C, 0x76, 0xB3, 0xCB, 0x47, 0xD7, 0xFF, 0xEA, 0xE5,
6023 0x47, 0x87, 0x08, 0x6C, 0xEA, 0x6D, 0x1A, 0xF6, 0x47, 0xBA, 0xE3, 0x94,
6024 0xE9, 0xFE, 0xF6, 0x06, 0xA1, 0x99, 0xDC, 0xCB, 0x3D, 0x7A, 0x06, 0x31,
6025 0xAC, 0x25, 0xD3, 0x3C, 0x35, 0xAD, 0x36, 0x8D, 0x25, 0x41, 0xE9, 0x21,
6026 0xD1, 0xF9, 0xC3, 0xC9,
6027};
6028
6029static const uint8_t keygen_dsa896_q[] = {
6030 0xAE, 0x42, 0x0A, 0x1D, 0x76, 0xA9, 0xFB, 0xF1, 0xCB, 0x2D, 0x73, 0x35,
6031 0x3F, 0x98, 0x63, 0x34, 0xE1, 0xCD, 0x3C, 0xCF,
6032};
6033
6034static const uint8_t keygen_dsa896_g[] = {
6035 0x12, 0xD0, 0x15, 0x32, 0x0B, 0x7D, 0xE3, 0xD0, 0x36, 0x51, 0x79, 0x3E,
6036 0xB4, 0x4E, 0xE2, 0x1E, 0x5E, 0x3E, 0x43, 0x4C, 0x5D, 0x49, 0x9D, 0xD4,
6037 0xA3, 0xE3, 0xC8, 0x1F, 0x46, 0xA2, 0xCE, 0x95, 0xF9, 0x8D, 0xFC, 0xFD,
6038 0x50, 0x48, 0xBF, 0xB5, 0x25, 0xB6, 0xFD, 0xF9, 0xF1, 0x97, 0xD5, 0x82,
6039 0xEE, 0xE7, 0xDF, 0xC6, 0xDD, 0x09, 0x96, 0x15, 0xC0, 0x95, 0x60, 0xF4,
6040 0x53, 0xF6, 0x19, 0xA4, 0x84, 0x53, 0xE4, 0x87, 0xB6, 0x0C, 0x6C, 0x01,
6041 0x31, 0x72, 0x56, 0xA4, 0x2E, 0x25, 0xFC, 0x46, 0xB0, 0x47, 0xF3, 0x5A,
6042 0x90, 0x69, 0xAC, 0x64, 0x02, 0xCB, 0x1F, 0x5F, 0x10, 0x70, 0x2B, 0x71,
6043 0xF7, 0x9B, 0x70, 0x22, 0x7F, 0x05, 0xEB, 0xCB, 0x6D, 0x66, 0xDE, 0xFC,
6044 0xED, 0x51, 0xC2, 0x4D,
6045};
6046
6047static const uint8_t keygen_dsa960_p[] = {
6048 0xCA, 0x86, 0x31, 0x0C, 0x62, 0xC7, 0x25, 0x2F, 0xAA, 0x8D, 0xA5, 0x51,
6049 0x97, 0x81, 0xB8, 0xC5, 0xFD, 0xDB, 0x47, 0xC4, 0x8E, 0xDF, 0x06, 0xAA,
6050 0x76, 0xAD, 0x47, 0xDD, 0x56, 0x6C, 0x97, 0xEB, 0x8C, 0xEC, 0x59, 0x79,
6051 0x1B, 0xBF, 0x96, 0x80, 0x50, 0x72, 0x8E, 0x2F, 0x34, 0x71, 0x5B, 0x03,
6052 0x2D, 0xB0, 0x31, 0x37, 0x8C, 0xC4, 0x62, 0x99, 0x9D, 0xC2, 0xDF, 0x68,
6053 0x35, 0xD5, 0x3F, 0xC1, 0x4B, 0xC4, 0x2F, 0xFA, 0xBD, 0x7E, 0xA5, 0x20,
6054 0x8F, 0xB9, 0x5F, 0x98, 0xA9, 0x1B, 0xAF, 0x8A, 0xF8, 0x29, 0xEB, 0x44,
6055 0xB6, 0x50, 0x96, 0xE2, 0xB4, 0x3D, 0x3C, 0xE6, 0x8B, 0xD5, 0x15, 0x39,
6056 0x4F, 0xF4, 0xC3, 0x32, 0xD3, 0xE6, 0x36, 0x0D, 0x23, 0xFF, 0x76, 0x15,
6057 0x05, 0xC1, 0xDF, 0xC2, 0x82, 0xCE, 0xDD, 0x60, 0x05, 0x92, 0x56, 0xE5,
6058};
6059
6060static const uint8_t keygen_dsa960_q[] = {
6061 0xCE, 0x0A, 0x68, 0xA4, 0xAC, 0x5E, 0x8E, 0x4C, 0xA6, 0x8A, 0xAB, 0xA9,
6062 0x39, 0xC7, 0xB4, 0x10, 0xCC, 0xF6, 0x1E, 0x2F,
6063};
6064
6065static const uint8_t keygen_dsa960_g[] = {
6066 0x8A, 0x50, 0x28, 0x45, 0x69, 0x0E, 0x55, 0xB8, 0x86, 0xB5, 0xCB, 0xBC,
6067 0x49, 0x8D, 0x73, 0x79, 0xE3, 0x26, 0x4E, 0x90, 0x71, 0xF2, 0xBB, 0x50,
6068 0x18, 0xF8, 0x6D, 0x14, 0x8F, 0xCA, 0x20, 0xF7, 0x02, 0x31, 0x71, 0x8A,
6069 0x7E, 0xF0, 0xFE, 0x9C, 0xAD, 0x05, 0x5E, 0x11, 0xB3, 0x40, 0x66, 0xE1,
6070 0x2B, 0x0D, 0x84, 0x15, 0x18, 0x65, 0x00, 0xFA, 0x0D, 0x8A, 0x87, 0xC9,
6071 0xBF, 0x4A, 0x5C, 0x53, 0x29, 0xEB, 0x44, 0xCA, 0xAE, 0x86, 0x50, 0x3B,
6072 0xBB, 0x73, 0x06, 0x83, 0x72, 0x77, 0x17, 0xDB, 0x6E, 0x14, 0xAD, 0xCE,
6073 0xD2, 0x51, 0xE6, 0x1F, 0xA2, 0x64, 0xE4, 0x5F, 0x35, 0x7D, 0x7A, 0xBE,
6074 0x55, 0x9B, 0xB6, 0x0F, 0x3C, 0xA1, 0xD2, 0x45, 0xDD, 0xF8, 0xC4, 0x03,
6075 0x45, 0xAA, 0x12, 0xE4, 0x90, 0x8C, 0xAC, 0x04, 0x45, 0x74, 0x11, 0x28,
6076};
6077
6078static const uint8_t keygen_dsa1024_p[] = {
6079 0xAF, 0xA6, 0x9C, 0x37, 0x47, 0xD4, 0x65, 0xA6, 0xB1, 0x8D, 0xAC, 0x2E,
6080 0xAB, 0xD5, 0x36, 0xCC, 0x83, 0x47, 0xDD, 0xB6, 0x12, 0xCC, 0x93, 0xA5,
6081 0xBF, 0x7B, 0x24, 0xE7, 0x4A, 0xED, 0xEC, 0x63, 0x9E, 0x0B, 0x2D, 0xF8,
6082 0xB3, 0x6B, 0xBB, 0xF9, 0x40, 0x8D, 0x56, 0x26, 0x60, 0xD0, 0xDD, 0x03,
6083 0xF8, 0xC3, 0x82, 0x00, 0x2C, 0x27, 0x82, 0x5E, 0x30, 0x8B, 0x9D, 0xF1,
6084 0xF7, 0xB2, 0x61, 0x01, 0x31, 0x30, 0xF3, 0x05, 0x2F, 0xF4, 0xB7, 0x1C,
6085 0x1C, 0x3C, 0xB0, 0x2D, 0x2F, 0x1F, 0xE6, 0x2E, 0x21, 0x81, 0x0D, 0xFD,
6086 0x66, 0x36, 0x90, 0x39, 0x4D, 0xA0, 0xCF, 0xFA, 0xDD, 0xF7, 0xD5, 0xE4,
6087 0x09, 0xAA, 0x45, 0xDB, 0xE1, 0x55, 0x39, 0xD9, 0xF7, 0xDF, 0x34, 0x67,
6088 0xBF, 0x95, 0x9B, 0xF2, 0x4A, 0x15, 0x42, 0x6F, 0x32, 0x1F, 0xDE, 0xA6,
6089 0xFE, 0x18, 0x46, 0x6B, 0x8C, 0x4E, 0x01, 0x7F,
6090};
6091
6092static const uint8_t keygen_dsa1024_q[] = {
6093 0xCC, 0x18, 0x69, 0xCE, 0x9E, 0x92, 0xE7, 0xCD, 0xBF, 0x94, 0xB5, 0xAD,
6094 0x83, 0x5A, 0x56, 0xD6, 0x4E, 0xC4, 0xF7, 0xED,
6095};
6096
6097static const uint8_t keygen_dsa1024_g[] = {
6098 0x14, 0x1D, 0x91, 0xAB, 0x8F, 0xFF, 0xFB, 0x2D, 0xD3, 0x2A, 0x43, 0xB5,
6099 0x01, 0x40, 0xA4, 0xC7, 0x48, 0x0E, 0xE0, 0x10, 0xA9, 0xF7, 0x8B, 0x7E,
6100 0x45, 0x90, 0xE0, 0x17, 0xC1, 0xB4, 0xE9, 0xBA, 0xC0, 0x04, 0xEF, 0x0F,
6101 0xD6, 0x07, 0x78, 0x05, 0x25, 0xCF, 0x9D, 0x39, 0x66, 0x59, 0x53, 0xF8,
6102 0xCE, 0x1C, 0x61, 0x1B, 0x7F, 0x95, 0x9B, 0xD5, 0xB6, 0xF9, 0xC7, 0xE3,
6103 0xB8, 0x00, 0x78, 0x50, 0xE3, 0x4C, 0x76, 0xF8, 0x0E, 0x96, 0x11, 0xDB,
6104 0x28, 0x53, 0xA5, 0xBB, 0x22, 0xC5, 0x71, 0x97, 0x09, 0xBC, 0xEE, 0x55,
6105 0x9B, 0x6B, 0x22, 0x64, 0xE4, 0x49, 0x2C, 0xCD, 0x9E, 0xA5, 0x86, 0xF0,
6106 0x3F, 0x08, 0xCD, 0x88, 0x07, 0xF6, 0x6E, 0x3F, 0x8E, 0x99, 0x31, 0xBA,
6107 0x1A, 0xB9, 0x8E, 0xEC, 0xA3, 0x13, 0xC2, 0x85, 0xA5, 0xDC, 0xA4, 0xF0,
6108 0x1F, 0xB2, 0xC8, 0xD5, 0x19, 0x79, 0xCA, 0x6A,
6109};
6110
6111/* derive key test data, taken from GP test specifikation */
6112static const uint8_t derive_key_dh_prime[] = {
6113 0xe0, 0x01, 0xe8, 0x96, 0x7d, 0xb4, 0x93, 0x53, 0xe1, 0x6f, 0x8e, 0x89,
6114 0x22, 0x0c, 0xce, 0xfc, 0x5c, 0x5f, 0x12, 0xe3, 0xdf, 0xf8, 0xf1, 0xd1,
6115 0x49, 0x90, 0x12, 0xe6, 0xef, 0x53, 0xe3, 0x1f, 0x02, 0xea, 0xcc, 0x5a,
6116 0xdd, 0xf3, 0x37, 0x89, 0x35, 0xc9, 0x5b, 0x21, 0xea, 0x3d, 0x6f, 0x1c,
6117 0xd7, 0xce, 0x63, 0x75, 0x52, 0xec, 0x38, 0x6c, 0x0e, 0x34, 0xf7, 0x36,
6118 0xad, 0x95, 0x17, 0xef, 0xfe, 0x5e, 0x4d, 0xa7, 0xa8, 0x6a, 0xf9, 0x0e,
6119 0x2c, 0x22, 0x8f, 0xe4, 0xb9, 0xe6, 0xd8, 0xf8, 0xf0, 0x2d, 0x20, 0xaf,
6120 0x78, 0xab, 0xb6, 0x92, 0xac, 0xbc, 0x4b, 0x23, 0xfa, 0xf2, 0xc5, 0xcc,
6121 0xd4, 0x9a, 0x0c, 0x9a, 0x8b, 0xcd, 0x91, 0xac, 0x0c, 0x55, 0x92, 0x01,
6122 0xe6, 0xc2, 0xfd, 0x1f, 0x47, 0xc2, 0xcb, 0x2a, 0x88, 0xa8, 0x3c, 0x21,
6123 0x0f, 0xc0, 0x54, 0xdb, 0x29, 0x2d, 0xbc, 0x45
6124};
6125
6126static const uint8_t derive_key_dh_base[] = {
6127 0x1c, 0xe0, 0xf6, 0x69, 0x26, 0x46, 0x11, 0x97, 0xef, 0x45, 0xc4, 0x65,
6128 0x8b, 0x83, 0xb8, 0xab
6129};
6130
6131static const uint8_t derive_key_dh_public_value[] = {
6132 0xbb, 0xe9, 0x18, 0xdd, 0x4b, 0x2b, 0x94, 0x1b, 0x10, 0x0e, 0x88, 0x35,
6133 0x28, 0x68, 0xfc, 0x62, 0x04, 0x38, 0xa6, 0xdb, 0x32, 0xa6, 0x9e, 0xee,
6134 0x6c, 0x6f, 0x45, 0x1c, 0xa3, 0xa6, 0xd5, 0x37, 0x77, 0x75, 0x5b, 0xc1,
6135 0x37, 0x0a, 0xce, 0xfe, 0x2b, 0x8f, 0x13, 0xa9, 0x14, 0x2c, 0x5b, 0x44,
6136 0x15, 0x78, 0x86, 0x30, 0xd6, 0x95, 0xb1, 0x92, 0x20, 0x63, 0xa3, 0xcf,
6137 0x9d, 0xef, 0x65, 0x61, 0x27, 0x4d, 0x24, 0x01, 0xe7, 0xa1, 0x45, 0xf2,
6138 0xd8, 0xb9, 0x3a, 0x45, 0x17, 0xf4, 0x19, 0xd0, 0x5e, 0xf8, 0xcb, 0x35,
6139 0x59, 0x37, 0x9d, 0x04, 0x20, 0xa3, 0xbf, 0x02, 0xad, 0xfe, 0xa8, 0x60,
6140 0xb2, 0xc3, 0xee, 0x85, 0x58, 0x90, 0xf3, 0xb5, 0x57, 0x2b, 0xb4, 0xef,
6141 0xd7, 0x8f, 0x37, 0x68, 0x78, 0x7c, 0x71, 0x52, 0x9d, 0x5e, 0x0a, 0x61,
6142 0x4f, 0x09, 0x89, 0x92, 0x39, 0xf7, 0x4b, 0x01
6143};
6144
6145static const uint8_t derive_key_dh_private_value[] = {
6146 0x53, 0x8d, 0x3d, 0x64, 0x27, 0x4a, 0x40, 0x05, 0x9b, 0x9c, 0x26, 0xe9,
6147 0x13, 0xe6, 0x91, 0x53, 0x23, 0x7b, 0x55, 0x83
6148};
6149
6150static const uint8_t derive_key_dh_public_value_2[] = {
6151 0xa3, 0xf5, 0x7d, 0xbe, 0x9e, 0x2f, 0x0a, 0xda, 0xa9, 0x4e, 0x4e, 0x6a,
6152 0xf0, 0xe0, 0x71, 0x47, 0x0e, 0x2e, 0x41, 0x2e, 0xde, 0x73, 0x2a, 0x62,
6153 0x14, 0xc3, 0x7c, 0x26, 0xd4, 0xe9, 0x9a, 0x54, 0xba, 0x3d, 0xe7, 0x49,
6154 0x85, 0x95, 0x0e, 0xe9, 0x14, 0xb2, 0x90, 0x22, 0x91, 0xdc, 0xff, 0x61,
6155 0xb2, 0xfc, 0xd1, 0xd0, 0x1b, 0x11, 0x14, 0xb6, 0x02, 0x64, 0x2b, 0x26,
6156 0x5d, 0x88, 0xea, 0x8d, 0xbb, 0xe2, 0x07, 0x0b, 0x48, 0xfb, 0x01, 0x53,
6157 0x55, 0x1e, 0x59, 0x51, 0x36, 0xf2, 0xf9, 0xd1, 0x97, 0xfb, 0x66, 0x12,
6158 0x84, 0x5d, 0xed, 0xb8, 0x9b, 0x2d, 0x3e, 0x2b, 0x8c, 0xeb, 0x2a, 0x72,
6159 0x40, 0x9d, 0x55, 0x4c, 0xed, 0xeb, 0x55, 0x02, 0xff, 0x8c, 0xb0, 0x2e,
6160 0x03, 0x65, 0x3f, 0x41, 0xb1, 0xac, 0xa3, 0x30, 0x6b, 0xff, 0x6d, 0xf4,
6161 0x6d, 0xe6, 0xe1, 0x0f, 0x86, 0x7c, 0x43, 0x64
6162};
6163
6164static const uint8_t derive_key_dh_shared_secret[] = {
6165 0x4e, 0x6a, 0xcf, 0xfd, 0x7d, 0x14, 0x27, 0x65, 0xeb, 0xf4, 0xc7, 0x12,
6166 0x41, 0x4f, 0xe4, 0xb6, 0xab, 0x95, 0x7f, 0x4c, 0xb4, 0x66, 0xb4, 0x66,
6167 0x01, 0x28, 0x9b, 0xb8, 0x20, 0x60, 0x42, 0x82, 0x72, 0x84, 0x2e, 0xe2,
6168 0x8f, 0x11, 0x3c, 0xd1, 0x1f, 0x39, 0x43, 0x1c, 0xbf, 0xfd, 0x82, 0x32,
6169 0x54, 0xce, 0x47, 0x2e, 0x21, 0x05, 0xe4, 0x9b, 0x3d, 0x7f, 0x11, 0x3b,
6170 0x82, 0x50, 0x76, 0xe6, 0x26, 0x45, 0x85, 0x80, 0x7b, 0xc4, 0x64, 0x54,
6171 0x66, 0x5f, 0x27, 0xc5, 0xe4, 0xe1, 0xa4, 0xbd, 0x03, 0x47, 0x04, 0x86,
6172 0x32, 0x29, 0x81, 0xfd, 0xc8, 0x94, 0xcc, 0xa1, 0xe2, 0x93, 0x09, 0x87,
6173 0xc9, 0x2c, 0x15, 0xa3, 0x8b, 0xc4, 0x2e, 0xb3, 0x88, 0x10, 0xe8, 0x67,
6174 0xc4, 0x43, 0x2f, 0x07, 0x25, 0x9e, 0xc0, 0x0c, 0xdb, 0xbb, 0x0f, 0xb9,
6175 0x9e, 0x17, 0x27, 0xc7, 0x06, 0xda, 0x58, 0xdd
6176};
6177
6178static const uint32_t derive_key_max_keysize = 1024;
6179
Pascal Brand2b92b642015-07-16 13:29:42 +02006180static struct derive_key_ecdh_t {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006181 uint32_t level; /* test suite level */
Pascal Brand2b92b642015-07-16 13:29:42 +02006182 uint32_t algo; /* TEE_ALG_ECDH_P192,... */
6183 uint32_t curve; /* TEE_ECC_CURVE_NIST_P192,... */
6184 uint32_t keysize; /* key size, in bits */
6185 const uint8_t *public_x; /* public key - x == QCAVSx */
6186 const uint8_t *public_y; /* public key - y == QCAVSy */
6187 const uint8_t *private; /* private key == dIUT */
6188 const uint8_t *out; /* expected result - ZIUT */
6189} derive_key_ecdh[] = {
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006190 /* [P-192] */
Pascal Brand2b92b642015-07-16 13:29:42 +02006191 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006192 .level = 0,
Pascal Brand2b92b642015-07-16 13:29:42 +02006193 .algo = TEE_ALG_ECDH_P192,
6194 .curve = TEE_ECC_CURVE_NIST_P192,
6195 .keysize = 192,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006196 .public_x = nist_kas_ecc_cdh_testvector_1_public_x,
6197 .public_y = nist_kas_ecc_cdh_testvector_1_public_y,
6198 .private = nist_kas_ecc_cdh_testvector_1_private,
6199 .out = nist_kas_ecc_cdh_testvector_1_out,
6200 },
6201 {
Jens Wiklander6a9d15a2016-02-01 10:29:42 +01006202 .level = 1,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006203 .algo = TEE_ALG_ECDH_P192,
6204 .curve = TEE_ECC_CURVE_NIST_P192,
6205 .keysize = 192,
6206 .public_x = nist_kas_ecc_cdh_testvector_2_public_x,
6207 .public_y = nist_kas_ecc_cdh_testvector_2_public_y,
6208 .private = nist_kas_ecc_cdh_testvector_2_private,
6209 .out = nist_kas_ecc_cdh_testvector_2_out,
6210 },
6211 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006212 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006213 .algo = TEE_ALG_ECDH_P192,
6214 .curve = TEE_ECC_CURVE_NIST_P192,
6215 .keysize = 192,
6216 .public_x = nist_kas_ecc_cdh_testvector_3_public_x,
6217 .public_y = nist_kas_ecc_cdh_testvector_3_public_y,
6218 .private = nist_kas_ecc_cdh_testvector_3_private,
6219 .out = nist_kas_ecc_cdh_testvector_3_out,
6220 },
6221 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006222 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006223 .algo = TEE_ALG_ECDH_P192,
6224 .curve = TEE_ECC_CURVE_NIST_P192,
6225 .keysize = 192,
6226 .public_x = nist_kas_ecc_cdh_testvector_4_public_x,
6227 .public_y = nist_kas_ecc_cdh_testvector_4_public_y,
6228 .private = nist_kas_ecc_cdh_testvector_4_private,
6229 .out = nist_kas_ecc_cdh_testvector_4_out,
6230 },
6231 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006232 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006233 .algo = TEE_ALG_ECDH_P192,
6234 .curve = TEE_ECC_CURVE_NIST_P192,
6235 .keysize = 192,
6236 .public_x = nist_kas_ecc_cdh_testvector_5_public_x,
6237 .public_y = nist_kas_ecc_cdh_testvector_5_public_y,
6238 .private = nist_kas_ecc_cdh_testvector_5_private,
6239 .out = nist_kas_ecc_cdh_testvector_5_out,
6240 },
6241 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006242 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006243 .algo = TEE_ALG_ECDH_P192,
6244 .curve = TEE_ECC_CURVE_NIST_P192,
6245 .keysize = 192,
6246 .public_x = nist_kas_ecc_cdh_testvector_6_public_x,
6247 .public_y = nist_kas_ecc_cdh_testvector_6_public_y,
6248 .private = nist_kas_ecc_cdh_testvector_6_private,
6249 .out = nist_kas_ecc_cdh_testvector_6_out,
6250 },
6251 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006252 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006253 .algo = TEE_ALG_ECDH_P192,
6254 .curve = TEE_ECC_CURVE_NIST_P192,
6255 .keysize = 192,
6256 .public_x = nist_kas_ecc_cdh_testvector_7_public_x,
6257 .public_y = nist_kas_ecc_cdh_testvector_7_public_y,
6258 .private = nist_kas_ecc_cdh_testvector_7_private,
6259 .out = nist_kas_ecc_cdh_testvector_7_out,
6260 },
6261 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006262 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006263 .algo = TEE_ALG_ECDH_P192,
6264 .curve = TEE_ECC_CURVE_NIST_P192,
6265 .keysize = 192,
6266 .public_x = nist_kas_ecc_cdh_testvector_8_public_x,
6267 .public_y = nist_kas_ecc_cdh_testvector_8_public_y,
6268 .private = nist_kas_ecc_cdh_testvector_8_private,
6269 .out = nist_kas_ecc_cdh_testvector_8_out,
6270 },
6271 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006272 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006273 .algo = TEE_ALG_ECDH_P192,
6274 .curve = TEE_ECC_CURVE_NIST_P192,
6275 .keysize = 192,
6276 .public_x = nist_kas_ecc_cdh_testvector_9_public_x,
6277 .public_y = nist_kas_ecc_cdh_testvector_9_public_y,
6278 .private = nist_kas_ecc_cdh_testvector_9_private,
6279 .out = nist_kas_ecc_cdh_testvector_9_out,
6280 },
6281 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006282 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006283 .algo = TEE_ALG_ECDH_P192,
6284 .curve = TEE_ECC_CURVE_NIST_P192,
6285 .keysize = 192,
6286 .public_x = nist_kas_ecc_cdh_testvector_10_public_x,
6287 .public_y = nist_kas_ecc_cdh_testvector_10_public_y,
6288 .private = nist_kas_ecc_cdh_testvector_10_private,
6289 .out = nist_kas_ecc_cdh_testvector_10_out,
6290 },
6291 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006292 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006293 .algo = TEE_ALG_ECDH_P192,
6294 .curve = TEE_ECC_CURVE_NIST_P192,
6295 .keysize = 192,
6296 .public_x = nist_kas_ecc_cdh_testvector_11_public_x,
6297 .public_y = nist_kas_ecc_cdh_testvector_11_public_y,
6298 .private = nist_kas_ecc_cdh_testvector_11_private,
6299 .out = nist_kas_ecc_cdh_testvector_11_out,
6300 },
6301 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006302 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006303 .algo = TEE_ALG_ECDH_P192,
6304 .curve = TEE_ECC_CURVE_NIST_P192,
6305 .keysize = 192,
6306 .public_x = nist_kas_ecc_cdh_testvector_12_public_x,
6307 .public_y = nist_kas_ecc_cdh_testvector_12_public_y,
6308 .private = nist_kas_ecc_cdh_testvector_12_private,
6309 .out = nist_kas_ecc_cdh_testvector_12_out,
6310 },
6311 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006312 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006313 .algo = TEE_ALG_ECDH_P192,
6314 .curve = TEE_ECC_CURVE_NIST_P192,
6315 .keysize = 192,
6316 .public_x = nist_kas_ecc_cdh_testvector_13_public_x,
6317 .public_y = nist_kas_ecc_cdh_testvector_13_public_y,
6318 .private = nist_kas_ecc_cdh_testvector_13_private,
6319 .out = nist_kas_ecc_cdh_testvector_13_out,
6320 },
6321 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006322 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006323 .algo = TEE_ALG_ECDH_P192,
6324 .curve = TEE_ECC_CURVE_NIST_P192,
6325 .keysize = 192,
6326 .public_x = nist_kas_ecc_cdh_testvector_14_public_x,
6327 .public_y = nist_kas_ecc_cdh_testvector_14_public_y,
6328 .private = nist_kas_ecc_cdh_testvector_14_private,
6329 .out = nist_kas_ecc_cdh_testvector_14_out,
6330 },
6331 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006332 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006333 .algo = TEE_ALG_ECDH_P192,
6334 .curve = TEE_ECC_CURVE_NIST_P192,
6335 .keysize = 192,
6336 .public_x = nist_kas_ecc_cdh_testvector_15_public_x,
6337 .public_y = nist_kas_ecc_cdh_testvector_15_public_y,
6338 .private = nist_kas_ecc_cdh_testvector_15_private,
6339 .out = nist_kas_ecc_cdh_testvector_15_out,
6340 },
6341 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006342 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006343 .algo = TEE_ALG_ECDH_P192,
6344 .curve = TEE_ECC_CURVE_NIST_P192,
6345 .keysize = 192,
6346 .public_x = nist_kas_ecc_cdh_testvector_16_public_x,
6347 .public_y = nist_kas_ecc_cdh_testvector_16_public_y,
6348 .private = nist_kas_ecc_cdh_testvector_16_private,
6349 .out = nist_kas_ecc_cdh_testvector_16_out,
6350 },
6351 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006352 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006353 .algo = TEE_ALG_ECDH_P192,
6354 .curve = TEE_ECC_CURVE_NIST_P192,
6355 .keysize = 192,
6356 .public_x = nist_kas_ecc_cdh_testvector_17_public_x,
6357 .public_y = nist_kas_ecc_cdh_testvector_17_public_y,
6358 .private = nist_kas_ecc_cdh_testvector_17_private,
6359 .out = nist_kas_ecc_cdh_testvector_17_out,
6360 },
6361 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006362 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006363 .algo = TEE_ALG_ECDH_P192,
6364 .curve = TEE_ECC_CURVE_NIST_P192,
6365 .keysize = 192,
6366 .public_x = nist_kas_ecc_cdh_testvector_18_public_x,
6367 .public_y = nist_kas_ecc_cdh_testvector_18_public_y,
6368 .private = nist_kas_ecc_cdh_testvector_18_private,
6369 .out = nist_kas_ecc_cdh_testvector_18_out,
6370 },
6371 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006372 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006373 .algo = TEE_ALG_ECDH_P192,
6374 .curve = TEE_ECC_CURVE_NIST_P192,
6375 .keysize = 192,
6376 .public_x = nist_kas_ecc_cdh_testvector_19_public_x,
6377 .public_y = nist_kas_ecc_cdh_testvector_19_public_y,
6378 .private = nist_kas_ecc_cdh_testvector_19_private,
6379 .out = nist_kas_ecc_cdh_testvector_19_out,
6380 },
6381 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006382 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006383 .algo = TEE_ALG_ECDH_P192,
6384 .curve = TEE_ECC_CURVE_NIST_P192,
6385 .keysize = 192,
6386 .public_x = nist_kas_ecc_cdh_testvector_20_public_x,
6387 .public_y = nist_kas_ecc_cdh_testvector_20_public_y,
6388 .private = nist_kas_ecc_cdh_testvector_20_private,
6389 .out = nist_kas_ecc_cdh_testvector_20_out,
6390 },
6391 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006392 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006393 .algo = TEE_ALG_ECDH_P192,
6394 .curve = TEE_ECC_CURVE_NIST_P192,
6395 .keysize = 192,
6396 .public_x = nist_kas_ecc_cdh_testvector_21_public_x,
6397 .public_y = nist_kas_ecc_cdh_testvector_21_public_y,
6398 .private = nist_kas_ecc_cdh_testvector_21_private,
6399 .out = nist_kas_ecc_cdh_testvector_21_out,
6400 },
6401 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006402 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006403 .algo = TEE_ALG_ECDH_P192,
6404 .curve = TEE_ECC_CURVE_NIST_P192,
6405 .keysize = 192,
6406 .public_x = nist_kas_ecc_cdh_testvector_22_public_x,
6407 .public_y = nist_kas_ecc_cdh_testvector_22_public_y,
6408 .private = nist_kas_ecc_cdh_testvector_22_private,
6409 .out = nist_kas_ecc_cdh_testvector_22_out,
6410 },
6411 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006412 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006413 .algo = TEE_ALG_ECDH_P192,
6414 .curve = TEE_ECC_CURVE_NIST_P192,
6415 .keysize = 192,
6416 .public_x = nist_kas_ecc_cdh_testvector_23_public_x,
6417 .public_y = nist_kas_ecc_cdh_testvector_23_public_y,
6418 .private = nist_kas_ecc_cdh_testvector_23_private,
6419 .out = nist_kas_ecc_cdh_testvector_23_out,
6420 },
6421 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006422 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006423 .algo = TEE_ALG_ECDH_P192,
6424 .curve = TEE_ECC_CURVE_NIST_P192,
6425 .keysize = 192,
6426 .public_x = nist_kas_ecc_cdh_testvector_24_public_x,
6427 .public_y = nist_kas_ecc_cdh_testvector_24_public_y,
6428 .private = nist_kas_ecc_cdh_testvector_24_private,
6429 .out = nist_kas_ecc_cdh_testvector_24_out,
6430 },
6431 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006432 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006433 .algo = TEE_ALG_ECDH_P192,
6434 .curve = TEE_ECC_CURVE_NIST_P192,
6435 .keysize = 192,
6436 .public_x = nist_kas_ecc_cdh_testvector_25_public_x,
6437 .public_y = nist_kas_ecc_cdh_testvector_25_public_y,
6438 .private = nist_kas_ecc_cdh_testvector_25_private,
6439 .out = nist_kas_ecc_cdh_testvector_25_out,
6440 },
6441 /* [P-224] */
6442 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006443 .level = 0,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006444 .algo = TEE_ALG_ECDH_P224,
6445 .curve = TEE_ECC_CURVE_NIST_P224,
6446 .keysize = 224,
6447 .public_x = nist_kas_ecc_cdh_testvector_26_public_x,
6448 .public_y = nist_kas_ecc_cdh_testvector_26_public_y,
6449 .private = nist_kas_ecc_cdh_testvector_26_private,
6450 .out = nist_kas_ecc_cdh_testvector_26_out,
Pascal Brand2b92b642015-07-16 13:29:42 +02006451 },
6452 {
Jens Wiklander6a9d15a2016-02-01 10:29:42 +01006453 .level = 1,
Pascal Brand2b92b642015-07-16 13:29:42 +02006454 .algo = TEE_ALG_ECDH_P224,
6455 .curve = TEE_ECC_CURVE_NIST_P224,
6456 .keysize = 224,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006457 .public_x = nist_kas_ecc_cdh_testvector_27_public_x,
6458 .public_y = nist_kas_ecc_cdh_testvector_27_public_y,
6459 .private = nist_kas_ecc_cdh_testvector_27_private,
6460 .out = nist_kas_ecc_cdh_testvector_27_out,
6461 },
6462 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006463 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006464 .algo = TEE_ALG_ECDH_P224,
6465 .curve = TEE_ECC_CURVE_NIST_P224,
6466 .keysize = 224,
6467 .public_x = nist_kas_ecc_cdh_testvector_28_public_x,
6468 .public_y = nist_kas_ecc_cdh_testvector_28_public_y,
6469 .private = nist_kas_ecc_cdh_testvector_28_private,
6470 .out = nist_kas_ecc_cdh_testvector_28_out,
6471 },
6472 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006473 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006474 .algo = TEE_ALG_ECDH_P224,
6475 .curve = TEE_ECC_CURVE_NIST_P224,
6476 .keysize = 224,
6477 .public_x = nist_kas_ecc_cdh_testvector_29_public_x,
6478 .public_y = nist_kas_ecc_cdh_testvector_29_public_y,
6479 .private = nist_kas_ecc_cdh_testvector_29_private,
6480 .out = nist_kas_ecc_cdh_testvector_29_out,
6481 },
6482 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006483 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006484 .algo = TEE_ALG_ECDH_P224,
6485 .curve = TEE_ECC_CURVE_NIST_P224,
6486 .keysize = 224,
6487 .public_x = nist_kas_ecc_cdh_testvector_30_public_x,
6488 .public_y = nist_kas_ecc_cdh_testvector_30_public_y,
6489 .private = nist_kas_ecc_cdh_testvector_30_private,
6490 .out = nist_kas_ecc_cdh_testvector_30_out,
6491 },
6492 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006493 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006494 .algo = TEE_ALG_ECDH_P224,
6495 .curve = TEE_ECC_CURVE_NIST_P224,
6496 .keysize = 224,
6497 .public_x = nist_kas_ecc_cdh_testvector_31_public_x,
6498 .public_y = nist_kas_ecc_cdh_testvector_31_public_y,
6499 .private = nist_kas_ecc_cdh_testvector_31_private,
6500 .out = nist_kas_ecc_cdh_testvector_31_out,
6501 },
6502 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006503 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006504 .algo = TEE_ALG_ECDH_P224,
6505 .curve = TEE_ECC_CURVE_NIST_P224,
6506 .keysize = 224,
6507 .public_x = nist_kas_ecc_cdh_testvector_32_public_x,
6508 .public_y = nist_kas_ecc_cdh_testvector_32_public_y,
6509 .private = nist_kas_ecc_cdh_testvector_32_private,
6510 .out = nist_kas_ecc_cdh_testvector_32_out,
6511 },
6512 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006513 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006514 .algo = TEE_ALG_ECDH_P224,
6515 .curve = TEE_ECC_CURVE_NIST_P224,
6516 .keysize = 224,
6517 .public_x = nist_kas_ecc_cdh_testvector_33_public_x,
6518 .public_y = nist_kas_ecc_cdh_testvector_33_public_y,
6519 .private = nist_kas_ecc_cdh_testvector_33_private,
6520 .out = nist_kas_ecc_cdh_testvector_33_out,
6521 },
6522 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006523 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006524 .algo = TEE_ALG_ECDH_P224,
6525 .curve = TEE_ECC_CURVE_NIST_P224,
6526 .keysize = 224,
6527 .public_x = nist_kas_ecc_cdh_testvector_34_public_x,
6528 .public_y = nist_kas_ecc_cdh_testvector_34_public_y,
6529 .private = nist_kas_ecc_cdh_testvector_34_private,
6530 .out = nist_kas_ecc_cdh_testvector_34_out,
6531 },
6532 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006533 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006534 .algo = TEE_ALG_ECDH_P224,
6535 .curve = TEE_ECC_CURVE_NIST_P224,
6536 .keysize = 224,
6537 .public_x = nist_kas_ecc_cdh_testvector_35_public_x,
6538 .public_y = nist_kas_ecc_cdh_testvector_35_public_y,
6539 .private = nist_kas_ecc_cdh_testvector_35_private,
6540 .out = nist_kas_ecc_cdh_testvector_35_out,
6541 },
6542 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006543 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006544 .algo = TEE_ALG_ECDH_P224,
6545 .curve = TEE_ECC_CURVE_NIST_P224,
6546 .keysize = 224,
6547 .public_x = nist_kas_ecc_cdh_testvector_36_public_x,
6548 .public_y = nist_kas_ecc_cdh_testvector_36_public_y,
6549 .private = nist_kas_ecc_cdh_testvector_36_private,
6550 .out = nist_kas_ecc_cdh_testvector_36_out,
6551 },
6552 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006553 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006554 .algo = TEE_ALG_ECDH_P224,
6555 .curve = TEE_ECC_CURVE_NIST_P224,
6556 .keysize = 224,
6557 .public_x = nist_kas_ecc_cdh_testvector_37_public_x,
6558 .public_y = nist_kas_ecc_cdh_testvector_37_public_y,
6559 .private = nist_kas_ecc_cdh_testvector_37_private,
6560 .out = nist_kas_ecc_cdh_testvector_37_out,
6561 },
6562 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006563 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006564 .algo = TEE_ALG_ECDH_P224,
6565 .curve = TEE_ECC_CURVE_NIST_P224,
6566 .keysize = 224,
6567 .public_x = nist_kas_ecc_cdh_testvector_38_public_x,
6568 .public_y = nist_kas_ecc_cdh_testvector_38_public_y,
6569 .private = nist_kas_ecc_cdh_testvector_38_private,
6570 .out = nist_kas_ecc_cdh_testvector_38_out,
6571 },
6572 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006573 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006574 .algo = TEE_ALG_ECDH_P224,
6575 .curve = TEE_ECC_CURVE_NIST_P224,
6576 .keysize = 224,
6577 .public_x = nist_kas_ecc_cdh_testvector_39_public_x,
6578 .public_y = nist_kas_ecc_cdh_testvector_39_public_y,
6579 .private = nist_kas_ecc_cdh_testvector_39_private,
6580 .out = nist_kas_ecc_cdh_testvector_39_out,
6581 },
6582 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006583 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006584 .algo = TEE_ALG_ECDH_P224,
6585 .curve = TEE_ECC_CURVE_NIST_P224,
6586 .keysize = 224,
6587 .public_x = nist_kas_ecc_cdh_testvector_40_public_x,
6588 .public_y = nist_kas_ecc_cdh_testvector_40_public_y,
6589 .private = nist_kas_ecc_cdh_testvector_40_private,
6590 .out = nist_kas_ecc_cdh_testvector_40_out,
6591 },
6592 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006593 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006594 .algo = TEE_ALG_ECDH_P224,
6595 .curve = TEE_ECC_CURVE_NIST_P224,
6596 .keysize = 224,
6597 .public_x = nist_kas_ecc_cdh_testvector_41_public_x,
6598 .public_y = nist_kas_ecc_cdh_testvector_41_public_y,
6599 .private = nist_kas_ecc_cdh_testvector_41_private,
6600 .out = nist_kas_ecc_cdh_testvector_41_out,
6601 },
6602 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006603 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006604 .algo = TEE_ALG_ECDH_P224,
6605 .curve = TEE_ECC_CURVE_NIST_P224,
6606 .keysize = 224,
6607 .public_x = nist_kas_ecc_cdh_testvector_42_public_x,
6608 .public_y = nist_kas_ecc_cdh_testvector_42_public_y,
6609 .private = nist_kas_ecc_cdh_testvector_42_private,
6610 .out = nist_kas_ecc_cdh_testvector_42_out,
6611 },
6612 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006613 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006614 .algo = TEE_ALG_ECDH_P224,
6615 .curve = TEE_ECC_CURVE_NIST_P224,
6616 .keysize = 224,
6617 .public_x = nist_kas_ecc_cdh_testvector_43_public_x,
6618 .public_y = nist_kas_ecc_cdh_testvector_43_public_y,
6619 .private = nist_kas_ecc_cdh_testvector_43_private,
6620 .out = nist_kas_ecc_cdh_testvector_43_out,
6621 },
6622 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006623 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006624 .algo = TEE_ALG_ECDH_P224,
6625 .curve = TEE_ECC_CURVE_NIST_P224,
6626 .keysize = 224,
6627 .public_x = nist_kas_ecc_cdh_testvector_44_public_x,
6628 .public_y = nist_kas_ecc_cdh_testvector_44_public_y,
6629 .private = nist_kas_ecc_cdh_testvector_44_private,
6630 .out = nist_kas_ecc_cdh_testvector_44_out,
6631 },
6632 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006633 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006634 .algo = TEE_ALG_ECDH_P224,
6635 .curve = TEE_ECC_CURVE_NIST_P224,
6636 .keysize = 224,
6637 .public_x = nist_kas_ecc_cdh_testvector_45_public_x,
6638 .public_y = nist_kas_ecc_cdh_testvector_45_public_y,
6639 .private = nist_kas_ecc_cdh_testvector_45_private,
6640 .out = nist_kas_ecc_cdh_testvector_45_out,
6641 },
6642 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006643 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006644 .algo = TEE_ALG_ECDH_P224,
6645 .curve = TEE_ECC_CURVE_NIST_P224,
6646 .keysize = 224,
6647 .public_x = nist_kas_ecc_cdh_testvector_46_public_x,
6648 .public_y = nist_kas_ecc_cdh_testvector_46_public_y,
6649 .private = nist_kas_ecc_cdh_testvector_46_private,
6650 .out = nist_kas_ecc_cdh_testvector_46_out,
6651 },
6652 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006653 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006654 .algo = TEE_ALG_ECDH_P224,
6655 .curve = TEE_ECC_CURVE_NIST_P224,
6656 .keysize = 224,
6657 .public_x = nist_kas_ecc_cdh_testvector_47_public_x,
6658 .public_y = nist_kas_ecc_cdh_testvector_47_public_y,
6659 .private = nist_kas_ecc_cdh_testvector_47_private,
6660 .out = nist_kas_ecc_cdh_testvector_47_out,
6661 },
6662 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006663 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006664 .algo = TEE_ALG_ECDH_P224,
6665 .curve = TEE_ECC_CURVE_NIST_P224,
6666 .keysize = 224,
6667 .public_x = nist_kas_ecc_cdh_testvector_48_public_x,
6668 .public_y = nist_kas_ecc_cdh_testvector_48_public_y,
6669 .private = nist_kas_ecc_cdh_testvector_48_private,
6670 .out = nist_kas_ecc_cdh_testvector_48_out,
6671 },
6672 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006673 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006674 .algo = TEE_ALG_ECDH_P224,
6675 .curve = TEE_ECC_CURVE_NIST_P224,
6676 .keysize = 224,
6677 .public_x = nist_kas_ecc_cdh_testvector_49_public_x,
6678 .public_y = nist_kas_ecc_cdh_testvector_49_public_y,
6679 .private = nist_kas_ecc_cdh_testvector_49_private,
6680 .out = nist_kas_ecc_cdh_testvector_49_out,
6681 },
6682 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006683 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006684 .algo = TEE_ALG_ECDH_P224,
6685 .curve = TEE_ECC_CURVE_NIST_P224,
6686 .keysize = 224,
6687 .public_x = nist_kas_ecc_cdh_testvector_50_public_x,
6688 .public_y = nist_kas_ecc_cdh_testvector_50_public_y,
6689 .private = nist_kas_ecc_cdh_testvector_50_private,
6690 .out = nist_kas_ecc_cdh_testvector_50_out,
6691 },
6692 /* [P-256] */
6693 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006694 .level = 0,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006695 .algo = TEE_ALG_ECDH_P256,
6696 .curve = TEE_ECC_CURVE_NIST_P256,
6697 .keysize = 256,
6698 .public_x = nist_kas_ecc_cdh_testvector_51_public_x,
6699 .public_y = nist_kas_ecc_cdh_testvector_51_public_y,
6700 .private = nist_kas_ecc_cdh_testvector_51_private,
6701 .out = nist_kas_ecc_cdh_testvector_51_out,
Pascal Brand2b92b642015-07-16 13:29:42 +02006702 },
6703 {
Jens Wiklander6a9d15a2016-02-01 10:29:42 +01006704 .level = 1,
Pascal Brand2b92b642015-07-16 13:29:42 +02006705 .algo = TEE_ALG_ECDH_P256,
6706 .curve = TEE_ECC_CURVE_NIST_P256,
6707 .keysize = 256,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006708 .public_x = nist_kas_ecc_cdh_testvector_52_public_x,
6709 .public_y = nist_kas_ecc_cdh_testvector_52_public_y,
6710 .private = nist_kas_ecc_cdh_testvector_52_private,
6711 .out = nist_kas_ecc_cdh_testvector_52_out,
6712 },
6713 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006714 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006715 .algo = TEE_ALG_ECDH_P256,
6716 .curve = TEE_ECC_CURVE_NIST_P256,
6717 .keysize = 256,
6718 .public_x = nist_kas_ecc_cdh_testvector_53_public_x,
6719 .public_y = nist_kas_ecc_cdh_testvector_53_public_y,
6720 .private = nist_kas_ecc_cdh_testvector_53_private,
6721 .out = nist_kas_ecc_cdh_testvector_53_out,
6722 },
6723 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006724 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006725 .algo = TEE_ALG_ECDH_P256,
6726 .curve = TEE_ECC_CURVE_NIST_P256,
6727 .keysize = 256,
6728 .public_x = nist_kas_ecc_cdh_testvector_54_public_x,
6729 .public_y = nist_kas_ecc_cdh_testvector_54_public_y,
6730 .private = nist_kas_ecc_cdh_testvector_54_private,
6731 .out = nist_kas_ecc_cdh_testvector_54_out,
6732 },
6733 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006734 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006735 .algo = TEE_ALG_ECDH_P256,
6736 .curve = TEE_ECC_CURVE_NIST_P256,
6737 .keysize = 256,
6738 .public_x = nist_kas_ecc_cdh_testvector_55_public_x,
6739 .public_y = nist_kas_ecc_cdh_testvector_55_public_y,
6740 .private = nist_kas_ecc_cdh_testvector_55_private,
6741 .out = nist_kas_ecc_cdh_testvector_55_out,
6742 },
6743 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006744 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006745 .algo = TEE_ALG_ECDH_P256,
6746 .curve = TEE_ECC_CURVE_NIST_P256,
6747 .keysize = 256,
6748 .public_x = nist_kas_ecc_cdh_testvector_56_public_x,
6749 .public_y = nist_kas_ecc_cdh_testvector_56_public_y,
6750 .private = nist_kas_ecc_cdh_testvector_56_private,
6751 .out = nist_kas_ecc_cdh_testvector_56_out,
6752 },
6753 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006754 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006755 .algo = TEE_ALG_ECDH_P256,
6756 .curve = TEE_ECC_CURVE_NIST_P256,
6757 .keysize = 256,
6758 .public_x = nist_kas_ecc_cdh_testvector_57_public_x,
6759 .public_y = nist_kas_ecc_cdh_testvector_57_public_y,
6760 .private = nist_kas_ecc_cdh_testvector_57_private,
6761 .out = nist_kas_ecc_cdh_testvector_57_out,
6762 },
6763 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006764 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006765 .algo = TEE_ALG_ECDH_P256,
6766 .curve = TEE_ECC_CURVE_NIST_P256,
6767 .keysize = 256,
6768 .public_x = nist_kas_ecc_cdh_testvector_58_public_x,
6769 .public_y = nist_kas_ecc_cdh_testvector_58_public_y,
6770 .private = nist_kas_ecc_cdh_testvector_58_private,
6771 .out = nist_kas_ecc_cdh_testvector_58_out,
6772 },
6773 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006774 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006775 .algo = TEE_ALG_ECDH_P256,
6776 .curve = TEE_ECC_CURVE_NIST_P256,
6777 .keysize = 256,
6778 .public_x = nist_kas_ecc_cdh_testvector_59_public_x,
6779 .public_y = nist_kas_ecc_cdh_testvector_59_public_y,
6780 .private = nist_kas_ecc_cdh_testvector_59_private,
6781 .out = nist_kas_ecc_cdh_testvector_59_out,
6782 },
6783 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006784 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006785 .algo = TEE_ALG_ECDH_P256,
6786 .curve = TEE_ECC_CURVE_NIST_P256,
6787 .keysize = 256,
6788 .public_x = nist_kas_ecc_cdh_testvector_60_public_x,
6789 .public_y = nist_kas_ecc_cdh_testvector_60_public_y,
6790 .private = nist_kas_ecc_cdh_testvector_60_private,
6791 .out = nist_kas_ecc_cdh_testvector_60_out,
6792 },
6793 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006794 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006795 .algo = TEE_ALG_ECDH_P256,
6796 .curve = TEE_ECC_CURVE_NIST_P256,
6797 .keysize = 256,
6798 .public_x = nist_kas_ecc_cdh_testvector_61_public_x,
6799 .public_y = nist_kas_ecc_cdh_testvector_61_public_y,
6800 .private = nist_kas_ecc_cdh_testvector_61_private,
6801 .out = nist_kas_ecc_cdh_testvector_61_out,
6802 },
6803 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006804 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006805 .algo = TEE_ALG_ECDH_P256,
6806 .curve = TEE_ECC_CURVE_NIST_P256,
6807 .keysize = 256,
6808 .public_x = nist_kas_ecc_cdh_testvector_62_public_x,
6809 .public_y = nist_kas_ecc_cdh_testvector_62_public_y,
6810 .private = nist_kas_ecc_cdh_testvector_62_private,
6811 .out = nist_kas_ecc_cdh_testvector_62_out,
6812 },
6813 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006814 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006815 .algo = TEE_ALG_ECDH_P256,
6816 .curve = TEE_ECC_CURVE_NIST_P256,
6817 .keysize = 256,
6818 .public_x = nist_kas_ecc_cdh_testvector_63_public_x,
6819 .public_y = nist_kas_ecc_cdh_testvector_63_public_y,
6820 .private = nist_kas_ecc_cdh_testvector_63_private,
6821 .out = nist_kas_ecc_cdh_testvector_63_out,
6822 },
6823 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006824 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006825 .algo = TEE_ALG_ECDH_P256,
6826 .curve = TEE_ECC_CURVE_NIST_P256,
6827 .keysize = 256,
6828 .public_x = nist_kas_ecc_cdh_testvector_64_public_x,
6829 .public_y = nist_kas_ecc_cdh_testvector_64_public_y,
6830 .private = nist_kas_ecc_cdh_testvector_64_private,
6831 .out = nist_kas_ecc_cdh_testvector_64_out,
6832 },
6833 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006834 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006835 .algo = TEE_ALG_ECDH_P256,
6836 .curve = TEE_ECC_CURVE_NIST_P256,
6837 .keysize = 256,
6838 .public_x = nist_kas_ecc_cdh_testvector_65_public_x,
6839 .public_y = nist_kas_ecc_cdh_testvector_65_public_y,
6840 .private = nist_kas_ecc_cdh_testvector_65_private,
6841 .out = nist_kas_ecc_cdh_testvector_65_out,
6842 },
6843 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006844 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006845 .algo = TEE_ALG_ECDH_P256,
6846 .curve = TEE_ECC_CURVE_NIST_P256,
6847 .keysize = 256,
6848 .public_x = nist_kas_ecc_cdh_testvector_66_public_x,
6849 .public_y = nist_kas_ecc_cdh_testvector_66_public_y,
6850 .private = nist_kas_ecc_cdh_testvector_66_private,
6851 .out = nist_kas_ecc_cdh_testvector_66_out,
6852 },
6853 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006854 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006855 .algo = TEE_ALG_ECDH_P256,
6856 .curve = TEE_ECC_CURVE_NIST_P256,
6857 .keysize = 256,
6858 .public_x = nist_kas_ecc_cdh_testvector_67_public_x,
6859 .public_y = nist_kas_ecc_cdh_testvector_67_public_y,
6860 .private = nist_kas_ecc_cdh_testvector_67_private,
6861 .out = nist_kas_ecc_cdh_testvector_67_out,
6862 },
6863 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006864 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006865 .algo = TEE_ALG_ECDH_P256,
6866 .curve = TEE_ECC_CURVE_NIST_P256,
6867 .keysize = 256,
6868 .public_x = nist_kas_ecc_cdh_testvector_68_public_x,
6869 .public_y = nist_kas_ecc_cdh_testvector_68_public_y,
6870 .private = nist_kas_ecc_cdh_testvector_68_private,
6871 .out = nist_kas_ecc_cdh_testvector_68_out,
6872 },
6873 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006874 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006875 .algo = TEE_ALG_ECDH_P256,
6876 .curve = TEE_ECC_CURVE_NIST_P256,
6877 .keysize = 256,
6878 .public_x = nist_kas_ecc_cdh_testvector_69_public_x,
6879 .public_y = nist_kas_ecc_cdh_testvector_69_public_y,
6880 .private = nist_kas_ecc_cdh_testvector_69_private,
6881 .out = nist_kas_ecc_cdh_testvector_69_out,
6882 },
6883 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006884 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006885 .algo = TEE_ALG_ECDH_P256,
6886 .curve = TEE_ECC_CURVE_NIST_P256,
6887 .keysize = 256,
6888 .public_x = nist_kas_ecc_cdh_testvector_70_public_x,
6889 .public_y = nist_kas_ecc_cdh_testvector_70_public_y,
6890 .private = nist_kas_ecc_cdh_testvector_70_private,
6891 .out = nist_kas_ecc_cdh_testvector_70_out,
6892 },
6893 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006894 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006895 .algo = TEE_ALG_ECDH_P256,
6896 .curve = TEE_ECC_CURVE_NIST_P256,
6897 .keysize = 256,
6898 .public_x = nist_kas_ecc_cdh_testvector_71_public_x,
6899 .public_y = nist_kas_ecc_cdh_testvector_71_public_y,
6900 .private = nist_kas_ecc_cdh_testvector_71_private,
6901 .out = nist_kas_ecc_cdh_testvector_71_out,
6902 },
6903 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006904 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006905 .algo = TEE_ALG_ECDH_P256,
6906 .curve = TEE_ECC_CURVE_NIST_P256,
6907 .keysize = 256,
6908 .public_x = nist_kas_ecc_cdh_testvector_72_public_x,
6909 .public_y = nist_kas_ecc_cdh_testvector_72_public_y,
6910 .private = nist_kas_ecc_cdh_testvector_72_private,
6911 .out = nist_kas_ecc_cdh_testvector_72_out,
6912 },
6913 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006914 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006915 .algo = TEE_ALG_ECDH_P256,
6916 .curve = TEE_ECC_CURVE_NIST_P256,
6917 .keysize = 256,
6918 .public_x = nist_kas_ecc_cdh_testvector_73_public_x,
6919 .public_y = nist_kas_ecc_cdh_testvector_73_public_y,
6920 .private = nist_kas_ecc_cdh_testvector_73_private,
6921 .out = nist_kas_ecc_cdh_testvector_73_out,
6922 },
6923 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006924 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006925 .algo = TEE_ALG_ECDH_P256,
6926 .curve = TEE_ECC_CURVE_NIST_P256,
6927 .keysize = 256,
6928 .public_x = nist_kas_ecc_cdh_testvector_74_public_x,
6929 .public_y = nist_kas_ecc_cdh_testvector_74_public_y,
6930 .private = nist_kas_ecc_cdh_testvector_74_private,
6931 .out = nist_kas_ecc_cdh_testvector_74_out,
6932 },
6933 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006934 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006935 .algo = TEE_ALG_ECDH_P256,
6936 .curve = TEE_ECC_CURVE_NIST_P256,
6937 .keysize = 256,
6938 .public_x = nist_kas_ecc_cdh_testvector_75_public_x,
6939 .public_y = nist_kas_ecc_cdh_testvector_75_public_y,
6940 .private = nist_kas_ecc_cdh_testvector_75_private,
6941 .out = nist_kas_ecc_cdh_testvector_75_out,
6942 },
6943 /* [P-384] */
6944 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006945 .level = 0,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006946 .algo = TEE_ALG_ECDH_P384,
6947 .curve = TEE_ECC_CURVE_NIST_P384,
6948 .keysize = 384,
6949 .public_x = nist_kas_ecc_cdh_testvector_76_public_x,
6950 .public_y = nist_kas_ecc_cdh_testvector_76_public_y,
6951 .private = nist_kas_ecc_cdh_testvector_76_private,
6952 .out = nist_kas_ecc_cdh_testvector_76_out,
Pascal Brand2b92b642015-07-16 13:29:42 +02006953 },
6954 {
Jens Wiklander6a9d15a2016-02-01 10:29:42 +01006955 .level = 1,
Pascal Brand2b92b642015-07-16 13:29:42 +02006956 .algo = TEE_ALG_ECDH_P384,
6957 .curve = TEE_ECC_CURVE_NIST_P384,
6958 .keysize = 384,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006959 .public_x = nist_kas_ecc_cdh_testvector_77_public_x,
6960 .public_y = nist_kas_ecc_cdh_testvector_77_public_y,
6961 .private = nist_kas_ecc_cdh_testvector_77_private,
6962 .out = nist_kas_ecc_cdh_testvector_77_out,
6963 },
6964 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006965 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006966 .algo = TEE_ALG_ECDH_P384,
6967 .curve = TEE_ECC_CURVE_NIST_P384,
6968 .keysize = 384,
6969 .public_x = nist_kas_ecc_cdh_testvector_78_public_x,
6970 .public_y = nist_kas_ecc_cdh_testvector_78_public_y,
6971 .private = nist_kas_ecc_cdh_testvector_78_private,
6972 .out = nist_kas_ecc_cdh_testvector_78_out,
6973 },
6974 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006975 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006976 .algo = TEE_ALG_ECDH_P384,
6977 .curve = TEE_ECC_CURVE_NIST_P384,
6978 .keysize = 384,
6979 .public_x = nist_kas_ecc_cdh_testvector_79_public_x,
6980 .public_y = nist_kas_ecc_cdh_testvector_79_public_y,
6981 .private = nist_kas_ecc_cdh_testvector_79_private,
6982 .out = nist_kas_ecc_cdh_testvector_79_out,
6983 },
6984 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006985 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006986 .algo = TEE_ALG_ECDH_P384,
6987 .curve = TEE_ECC_CURVE_NIST_P384,
6988 .keysize = 384,
6989 .public_x = nist_kas_ecc_cdh_testvector_80_public_x,
6990 .public_y = nist_kas_ecc_cdh_testvector_80_public_y,
6991 .private = nist_kas_ecc_cdh_testvector_80_private,
6992 .out = nist_kas_ecc_cdh_testvector_80_out,
6993 },
6994 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006995 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006996 .algo = TEE_ALG_ECDH_P384,
6997 .curve = TEE_ECC_CURVE_NIST_P384,
6998 .keysize = 384,
6999 .public_x = nist_kas_ecc_cdh_testvector_81_public_x,
7000 .public_y = nist_kas_ecc_cdh_testvector_81_public_y,
7001 .private = nist_kas_ecc_cdh_testvector_81_private,
7002 .out = nist_kas_ecc_cdh_testvector_81_out,
7003 },
7004 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007005 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007006 .algo = TEE_ALG_ECDH_P384,
7007 .curve = TEE_ECC_CURVE_NIST_P384,
7008 .keysize = 384,
7009 .public_x = nist_kas_ecc_cdh_testvector_82_public_x,
7010 .public_y = nist_kas_ecc_cdh_testvector_82_public_y,
7011 .private = nist_kas_ecc_cdh_testvector_82_private,
7012 .out = nist_kas_ecc_cdh_testvector_82_out,
7013 },
7014 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007015 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007016 .algo = TEE_ALG_ECDH_P384,
7017 .curve = TEE_ECC_CURVE_NIST_P384,
7018 .keysize = 384,
7019 .public_x = nist_kas_ecc_cdh_testvector_83_public_x,
7020 .public_y = nist_kas_ecc_cdh_testvector_83_public_y,
7021 .private = nist_kas_ecc_cdh_testvector_83_private,
7022 .out = nist_kas_ecc_cdh_testvector_83_out,
7023 },
7024 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007025 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007026 .algo = TEE_ALG_ECDH_P384,
7027 .curve = TEE_ECC_CURVE_NIST_P384,
7028 .keysize = 384,
7029 .public_x = nist_kas_ecc_cdh_testvector_84_public_x,
7030 .public_y = nist_kas_ecc_cdh_testvector_84_public_y,
7031 .private = nist_kas_ecc_cdh_testvector_84_private,
7032 .out = nist_kas_ecc_cdh_testvector_84_out,
7033 },
7034 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007035 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007036 .algo = TEE_ALG_ECDH_P384,
7037 .curve = TEE_ECC_CURVE_NIST_P384,
7038 .keysize = 384,
7039 .public_x = nist_kas_ecc_cdh_testvector_85_public_x,
7040 .public_y = nist_kas_ecc_cdh_testvector_85_public_y,
7041 .private = nist_kas_ecc_cdh_testvector_85_private,
7042 .out = nist_kas_ecc_cdh_testvector_85_out,
7043 },
7044 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007045 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007046 .algo = TEE_ALG_ECDH_P384,
7047 .curve = TEE_ECC_CURVE_NIST_P384,
7048 .keysize = 384,
7049 .public_x = nist_kas_ecc_cdh_testvector_86_public_x,
7050 .public_y = nist_kas_ecc_cdh_testvector_86_public_y,
7051 .private = nist_kas_ecc_cdh_testvector_86_private,
7052 .out = nist_kas_ecc_cdh_testvector_86_out,
7053 },
7054 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007055 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007056 .algo = TEE_ALG_ECDH_P384,
7057 .curve = TEE_ECC_CURVE_NIST_P384,
7058 .keysize = 384,
7059 .public_x = nist_kas_ecc_cdh_testvector_87_public_x,
7060 .public_y = nist_kas_ecc_cdh_testvector_87_public_y,
7061 .private = nist_kas_ecc_cdh_testvector_87_private,
7062 .out = nist_kas_ecc_cdh_testvector_87_out,
7063 },
7064 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007065 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007066 .algo = TEE_ALG_ECDH_P384,
7067 .curve = TEE_ECC_CURVE_NIST_P384,
7068 .keysize = 384,
7069 .public_x = nist_kas_ecc_cdh_testvector_88_public_x,
7070 .public_y = nist_kas_ecc_cdh_testvector_88_public_y,
7071 .private = nist_kas_ecc_cdh_testvector_88_private,
7072 .out = nist_kas_ecc_cdh_testvector_88_out,
7073 },
7074 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007075 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007076 .algo = TEE_ALG_ECDH_P384,
7077 .curve = TEE_ECC_CURVE_NIST_P384,
7078 .keysize = 384,
7079 .public_x = nist_kas_ecc_cdh_testvector_89_public_x,
7080 .public_y = nist_kas_ecc_cdh_testvector_89_public_y,
7081 .private = nist_kas_ecc_cdh_testvector_89_private,
7082 .out = nist_kas_ecc_cdh_testvector_89_out,
7083 },
7084 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007085 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007086 .algo = TEE_ALG_ECDH_P384,
7087 .curve = TEE_ECC_CURVE_NIST_P384,
7088 .keysize = 384,
7089 .public_x = nist_kas_ecc_cdh_testvector_90_public_x,
7090 .public_y = nist_kas_ecc_cdh_testvector_90_public_y,
7091 .private = nist_kas_ecc_cdh_testvector_90_private,
7092 .out = nist_kas_ecc_cdh_testvector_90_out,
7093 },
7094 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007095 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007096 .algo = TEE_ALG_ECDH_P384,
7097 .curve = TEE_ECC_CURVE_NIST_P384,
7098 .keysize = 384,
7099 .public_x = nist_kas_ecc_cdh_testvector_91_public_x,
7100 .public_y = nist_kas_ecc_cdh_testvector_91_public_y,
7101 .private = nist_kas_ecc_cdh_testvector_91_private,
7102 .out = nist_kas_ecc_cdh_testvector_91_out,
7103 },
7104 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007105 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007106 .algo = TEE_ALG_ECDH_P384,
7107 .curve = TEE_ECC_CURVE_NIST_P384,
7108 .keysize = 384,
7109 .public_x = nist_kas_ecc_cdh_testvector_92_public_x,
7110 .public_y = nist_kas_ecc_cdh_testvector_92_public_y,
7111 .private = nist_kas_ecc_cdh_testvector_92_private,
7112 .out = nist_kas_ecc_cdh_testvector_92_out,
7113 },
7114 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007115 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007116 .algo = TEE_ALG_ECDH_P384,
7117 .curve = TEE_ECC_CURVE_NIST_P384,
7118 .keysize = 384,
7119 .public_x = nist_kas_ecc_cdh_testvector_93_public_x,
7120 .public_y = nist_kas_ecc_cdh_testvector_93_public_y,
7121 .private = nist_kas_ecc_cdh_testvector_93_private,
7122 .out = nist_kas_ecc_cdh_testvector_93_out,
7123 },
7124 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007125 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007126 .algo = TEE_ALG_ECDH_P384,
7127 .curve = TEE_ECC_CURVE_NIST_P384,
7128 .keysize = 384,
7129 .public_x = nist_kas_ecc_cdh_testvector_94_public_x,
7130 .public_y = nist_kas_ecc_cdh_testvector_94_public_y,
7131 .private = nist_kas_ecc_cdh_testvector_94_private,
7132 .out = nist_kas_ecc_cdh_testvector_94_out,
7133 },
7134 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007135 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007136 .algo = TEE_ALG_ECDH_P384,
7137 .curve = TEE_ECC_CURVE_NIST_P384,
7138 .keysize = 384,
7139 .public_x = nist_kas_ecc_cdh_testvector_95_public_x,
7140 .public_y = nist_kas_ecc_cdh_testvector_95_public_y,
7141 .private = nist_kas_ecc_cdh_testvector_95_private,
7142 .out = nist_kas_ecc_cdh_testvector_95_out,
7143 },
7144 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007145 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007146 .algo = TEE_ALG_ECDH_P384,
7147 .curve = TEE_ECC_CURVE_NIST_P384,
7148 .keysize = 384,
7149 .public_x = nist_kas_ecc_cdh_testvector_96_public_x,
7150 .public_y = nist_kas_ecc_cdh_testvector_96_public_y,
7151 .private = nist_kas_ecc_cdh_testvector_96_private,
7152 .out = nist_kas_ecc_cdh_testvector_96_out,
7153 },
7154 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007155 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007156 .algo = TEE_ALG_ECDH_P384,
7157 .curve = TEE_ECC_CURVE_NIST_P384,
7158 .keysize = 384,
7159 .public_x = nist_kas_ecc_cdh_testvector_97_public_x,
7160 .public_y = nist_kas_ecc_cdh_testvector_97_public_y,
7161 .private = nist_kas_ecc_cdh_testvector_97_private,
7162 .out = nist_kas_ecc_cdh_testvector_97_out,
7163 },
7164 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007165 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007166 .algo = TEE_ALG_ECDH_P384,
7167 .curve = TEE_ECC_CURVE_NIST_P384,
7168 .keysize = 384,
7169 .public_x = nist_kas_ecc_cdh_testvector_98_public_x,
7170 .public_y = nist_kas_ecc_cdh_testvector_98_public_y,
7171 .private = nist_kas_ecc_cdh_testvector_98_private,
7172 .out = nist_kas_ecc_cdh_testvector_98_out,
7173 },
7174 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007175 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007176 .algo = TEE_ALG_ECDH_P384,
7177 .curve = TEE_ECC_CURVE_NIST_P384,
7178 .keysize = 384,
7179 .public_x = nist_kas_ecc_cdh_testvector_99_public_x,
7180 .public_y = nist_kas_ecc_cdh_testvector_99_public_y,
7181 .private = nist_kas_ecc_cdh_testvector_99_private,
7182 .out = nist_kas_ecc_cdh_testvector_99_out,
7183 },
7184 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007185 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007186 .algo = TEE_ALG_ECDH_P384,
7187 .curve = TEE_ECC_CURVE_NIST_P384,
7188 .keysize = 384,
7189 .public_x = nist_kas_ecc_cdh_testvector_100_public_x,
7190 .public_y = nist_kas_ecc_cdh_testvector_100_public_y,
7191 .private = nist_kas_ecc_cdh_testvector_100_private,
7192 .out = nist_kas_ecc_cdh_testvector_100_out,
7193 },
7194 /* [P-521] */
7195 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007196 .level = 0,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007197 .algo = TEE_ALG_ECDH_P521,
7198 .curve = TEE_ECC_CURVE_NIST_P521,
7199 .keysize = 521,
7200 .public_x = nist_kas_ecc_cdh_testvector_101_public_x,
7201 .public_y = nist_kas_ecc_cdh_testvector_101_public_y,
7202 .private = nist_kas_ecc_cdh_testvector_101_private,
7203 .out = nist_kas_ecc_cdh_testvector_101_out,
Pascal Brand2b92b642015-07-16 13:29:42 +02007204 },
7205 {
Jens Wiklander6a9d15a2016-02-01 10:29:42 +01007206 .level = 1,
Pascal Brand2b92b642015-07-16 13:29:42 +02007207 .algo = TEE_ALG_ECDH_P521,
7208 .curve = TEE_ECC_CURVE_NIST_P521,
7209 .keysize = 521,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007210 .public_x = nist_kas_ecc_cdh_testvector_102_public_x,
7211 .public_y = nist_kas_ecc_cdh_testvector_102_public_y,
7212 .private = nist_kas_ecc_cdh_testvector_102_private,
7213 .out = nist_kas_ecc_cdh_testvector_102_out,
Pascal Brand2b92b642015-07-16 13:29:42 +02007214 },
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007215 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007216 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007217 .algo = TEE_ALG_ECDH_P521,
7218 .curve = TEE_ECC_CURVE_NIST_P521,
7219 .keysize = 521,
7220 .public_x = nist_kas_ecc_cdh_testvector_103_public_x,
7221 .public_y = nist_kas_ecc_cdh_testvector_103_public_y,
7222 .private = nist_kas_ecc_cdh_testvector_103_private,
7223 .out = nist_kas_ecc_cdh_testvector_103_out,
7224 },
7225 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007226 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007227 .algo = TEE_ALG_ECDH_P521,
7228 .curve = TEE_ECC_CURVE_NIST_P521,
7229 .keysize = 521,
7230 .public_x = nist_kas_ecc_cdh_testvector_104_public_x,
7231 .public_y = nist_kas_ecc_cdh_testvector_104_public_y,
7232 .private = nist_kas_ecc_cdh_testvector_104_private,
7233 .out = nist_kas_ecc_cdh_testvector_104_out,
7234 },
7235 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007236 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007237 .algo = TEE_ALG_ECDH_P521,
7238 .curve = TEE_ECC_CURVE_NIST_P521,
7239 .keysize = 521,
7240 .public_x = nist_kas_ecc_cdh_testvector_105_public_x,
7241 .public_y = nist_kas_ecc_cdh_testvector_105_public_y,
7242 .private = nist_kas_ecc_cdh_testvector_105_private,
7243 .out = nist_kas_ecc_cdh_testvector_105_out,
7244 },
7245 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007246 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007247 .algo = TEE_ALG_ECDH_P521,
7248 .curve = TEE_ECC_CURVE_NIST_P521,
7249 .keysize = 521,
7250 .public_x = nist_kas_ecc_cdh_testvector_106_public_x,
7251 .public_y = nist_kas_ecc_cdh_testvector_106_public_y,
7252 .private = nist_kas_ecc_cdh_testvector_106_private,
7253 .out = nist_kas_ecc_cdh_testvector_106_out,
7254 },
7255 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007256 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007257 .algo = TEE_ALG_ECDH_P521,
7258 .curve = TEE_ECC_CURVE_NIST_P521,
7259 .keysize = 521,
7260 .public_x = nist_kas_ecc_cdh_testvector_107_public_x,
7261 .public_y = nist_kas_ecc_cdh_testvector_107_public_y,
7262 .private = nist_kas_ecc_cdh_testvector_107_private,
7263 .out = nist_kas_ecc_cdh_testvector_107_out,
7264 },
7265 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007266 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007267 .algo = TEE_ALG_ECDH_P521,
7268 .curve = TEE_ECC_CURVE_NIST_P521,
7269 .keysize = 521,
7270 .public_x = nist_kas_ecc_cdh_testvector_108_public_x,
7271 .public_y = nist_kas_ecc_cdh_testvector_108_public_y,
7272 .private = nist_kas_ecc_cdh_testvector_108_private,
7273 .out = nist_kas_ecc_cdh_testvector_108_out,
7274 },
7275 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007276 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007277 .algo = TEE_ALG_ECDH_P521,
7278 .curve = TEE_ECC_CURVE_NIST_P521,
7279 .keysize = 521,
7280 .public_x = nist_kas_ecc_cdh_testvector_109_public_x,
7281 .public_y = nist_kas_ecc_cdh_testvector_109_public_y,
7282 .private = nist_kas_ecc_cdh_testvector_109_private,
7283 .out = nist_kas_ecc_cdh_testvector_109_out,
7284 },
7285 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007286 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007287 .algo = TEE_ALG_ECDH_P521,
7288 .curve = TEE_ECC_CURVE_NIST_P521,
7289 .keysize = 521,
7290 .public_x = nist_kas_ecc_cdh_testvector_110_public_x,
7291 .public_y = nist_kas_ecc_cdh_testvector_110_public_y,
7292 .private = nist_kas_ecc_cdh_testvector_110_private,
7293 .out = nist_kas_ecc_cdh_testvector_110_out,
7294 },
7295 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007296 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007297 .algo = TEE_ALG_ECDH_P521,
7298 .curve = TEE_ECC_CURVE_NIST_P521,
7299 .keysize = 521,
7300 .public_x = nist_kas_ecc_cdh_testvector_111_public_x,
7301 .public_y = nist_kas_ecc_cdh_testvector_111_public_y,
7302 .private = nist_kas_ecc_cdh_testvector_111_private,
7303 .out = nist_kas_ecc_cdh_testvector_111_out,
7304 },
7305 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007306 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007307 .algo = TEE_ALG_ECDH_P521,
7308 .curve = TEE_ECC_CURVE_NIST_P521,
7309 .keysize = 521,
7310 .public_x = nist_kas_ecc_cdh_testvector_112_public_x,
7311 .public_y = nist_kas_ecc_cdh_testvector_112_public_y,
7312 .private = nist_kas_ecc_cdh_testvector_112_private,
7313 .out = nist_kas_ecc_cdh_testvector_112_out,
7314 },
7315 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007316 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007317 .algo = TEE_ALG_ECDH_P521,
7318 .curve = TEE_ECC_CURVE_NIST_P521,
7319 .keysize = 521,
7320 .public_x = nist_kas_ecc_cdh_testvector_113_public_x,
7321 .public_y = nist_kas_ecc_cdh_testvector_113_public_y,
7322 .private = nist_kas_ecc_cdh_testvector_113_private,
7323 .out = nist_kas_ecc_cdh_testvector_113_out,
7324 },
7325 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007326 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007327 .algo = TEE_ALG_ECDH_P521,
7328 .curve = TEE_ECC_CURVE_NIST_P521,
7329 .keysize = 521,
7330 .public_x = nist_kas_ecc_cdh_testvector_114_public_x,
7331 .public_y = nist_kas_ecc_cdh_testvector_114_public_y,
7332 .private = nist_kas_ecc_cdh_testvector_114_private,
7333 .out = nist_kas_ecc_cdh_testvector_114_out,
7334 },
7335 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007336 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007337 .algo = TEE_ALG_ECDH_P521,
7338 .curve = TEE_ECC_CURVE_NIST_P521,
7339 .keysize = 521,
7340 .public_x = nist_kas_ecc_cdh_testvector_115_public_x,
7341 .public_y = nist_kas_ecc_cdh_testvector_115_public_y,
7342 .private = nist_kas_ecc_cdh_testvector_115_private,
7343 .out = nist_kas_ecc_cdh_testvector_115_out,
7344 },
7345 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007346 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007347 .algo = TEE_ALG_ECDH_P521,
7348 .curve = TEE_ECC_CURVE_NIST_P521,
7349 .keysize = 521,
7350 .public_x = nist_kas_ecc_cdh_testvector_116_public_x,
7351 .public_y = nist_kas_ecc_cdh_testvector_116_public_y,
7352 .private = nist_kas_ecc_cdh_testvector_116_private,
7353 .out = nist_kas_ecc_cdh_testvector_116_out,
7354 },
7355 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007356 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007357 .algo = TEE_ALG_ECDH_P521,
7358 .curve = TEE_ECC_CURVE_NIST_P521,
7359 .keysize = 521,
7360 .public_x = nist_kas_ecc_cdh_testvector_117_public_x,
7361 .public_y = nist_kas_ecc_cdh_testvector_117_public_y,
7362 .private = nist_kas_ecc_cdh_testvector_117_private,
7363 .out = nist_kas_ecc_cdh_testvector_117_out,
7364 },
7365 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007366 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007367 .algo = TEE_ALG_ECDH_P521,
7368 .curve = TEE_ECC_CURVE_NIST_P521,
7369 .keysize = 521,
7370 .public_x = nist_kas_ecc_cdh_testvector_118_public_x,
7371 .public_y = nist_kas_ecc_cdh_testvector_118_public_y,
7372 .private = nist_kas_ecc_cdh_testvector_118_private,
7373 .out = nist_kas_ecc_cdh_testvector_118_out,
7374 },
7375 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007376 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007377 .algo = TEE_ALG_ECDH_P521,
7378 .curve = TEE_ECC_CURVE_NIST_P521,
7379 .keysize = 521,
7380 .public_x = nist_kas_ecc_cdh_testvector_119_public_x,
7381 .public_y = nist_kas_ecc_cdh_testvector_119_public_y,
7382 .private = nist_kas_ecc_cdh_testvector_119_private,
7383 .out = nist_kas_ecc_cdh_testvector_119_out,
7384 },
7385 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007386 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007387 .algo = TEE_ALG_ECDH_P521,
7388 .curve = TEE_ECC_CURVE_NIST_P521,
7389 .keysize = 521,
7390 .public_x = nist_kas_ecc_cdh_testvector_120_public_x,
7391 .public_y = nist_kas_ecc_cdh_testvector_120_public_y,
7392 .private = nist_kas_ecc_cdh_testvector_120_private,
7393 .out = nist_kas_ecc_cdh_testvector_120_out,
7394 },
7395 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007396 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007397 .algo = TEE_ALG_ECDH_P521,
7398 .curve = TEE_ECC_CURVE_NIST_P521,
7399 .keysize = 521,
7400 .public_x = nist_kas_ecc_cdh_testvector_121_public_x,
7401 .public_y = nist_kas_ecc_cdh_testvector_121_public_y,
7402 .private = nist_kas_ecc_cdh_testvector_121_private,
7403 .out = nist_kas_ecc_cdh_testvector_121_out,
7404 },
7405 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007406 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007407 .algo = TEE_ALG_ECDH_P521,
7408 .curve = TEE_ECC_CURVE_NIST_P521,
7409 .keysize = 521,
7410 .public_x = nist_kas_ecc_cdh_testvector_122_public_x,
7411 .public_y = nist_kas_ecc_cdh_testvector_122_public_y,
7412 .private = nist_kas_ecc_cdh_testvector_122_private,
7413 .out = nist_kas_ecc_cdh_testvector_122_out,
7414 },
7415 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007416 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007417 .algo = TEE_ALG_ECDH_P521,
7418 .curve = TEE_ECC_CURVE_NIST_P521,
7419 .keysize = 521,
7420 .public_x = nist_kas_ecc_cdh_testvector_123_public_x,
7421 .public_y = nist_kas_ecc_cdh_testvector_123_public_y,
7422 .private = nist_kas_ecc_cdh_testvector_123_private,
7423 .out = nist_kas_ecc_cdh_testvector_123_out,
7424 },
7425 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007426 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007427 .algo = TEE_ALG_ECDH_P521,
7428 .curve = TEE_ECC_CURVE_NIST_P521,
7429 .keysize = 521,
7430 .public_x = nist_kas_ecc_cdh_testvector_124_public_x,
7431 .public_y = nist_kas_ecc_cdh_testvector_124_public_y,
7432 .private = nist_kas_ecc_cdh_testvector_124_private,
7433 .out = nist_kas_ecc_cdh_testvector_124_out,
7434 },
7435 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007436 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007437 .algo = TEE_ALG_ECDH_P521,
7438 .curve = TEE_ECC_CURVE_NIST_P521,
7439 .keysize = 521,
7440 .public_x = nist_kas_ecc_cdh_testvector_125_public_x,
7441 .public_y = nist_kas_ecc_cdh_testvector_125_public_y,
7442 .private = nist_kas_ecc_cdh_testvector_125_private,
7443 .out = nist_kas_ecc_cdh_testvector_125_out,
7444 },
7445 /* [K-163] - GP NOT SUPPORTED */
7446 /* [K-233] - GP NOT SUPPORTED */
7447 /* [K-283] - GP NOT SUPPORTED */
7448 /* [K-409] - GP NOT SUPPORTED */
7449 /* [K-571] - GP NOT SUPPORTED */
7450 /* [B-163] - GP NOT SUPPORTED */
7451 /* [B-233] - GP NOT SUPPORTED */
7452 /* [B-283] - GP NOT SUPPORTED */
7453 /* [B-409] - GP NOT SUPPORTED */
7454 /* [B-571] - GP NOT SUPPORTED */
Pascal Brand2b92b642015-07-16 13:29:42 +02007455};
Pascal Brandc639ac82015-07-02 08:53:34 +02007456
7457#endif /*XTEST_4000_DATA_H*/