blob: 7de0ddc2b38e56d6fc85442f5a09d75b4ee4ae17 [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/*
3524 * Test data from ftp://ftp.rsa.com/pub/rsalabs/tmp/pkcs1v15sign-vectors.txt
3525 *
3526 * As specified in PKCS#1, the block type for this operation
3527 * is 1. The digest algorithm is SHA-1; i.e. the given message
3528 * must be hashed and the SHA-1 hash must be encapsulated in a
3529 * DigestInfo structure as specified in PKCS#1 v1.5.
3530 */
3531
3532/* PKCS#1 v1.5 Signature Example 1 1024-bit RSA key pair */
3533static const uint8_t ac_rsassa_example1_modulus[] = {
3534 0xa5, 0x6e, 0x4a, 0x0e, 0x70, 0x10, 0x17, 0x58, 0x9a, 0x51, 0x87, 0xdc,
3535 0x7e, 0xa8, 0x41, 0xd1,
3536 0x56, 0xf2, 0xec, 0x0e, 0x36, 0xad, 0x52, 0xa4, 0x4d, 0xfe, 0xb1, 0xe6,
3537 0x1f, 0x7a, 0xd9, 0x91,
3538 0xd8, 0xc5, 0x10, 0x56, 0xff, 0xed, 0xb1, 0x62, 0xb4, 0xc0, 0xf2, 0x83,
3539 0xa1, 0x2a, 0x88, 0xa3,
3540 0x94, 0xdf, 0xf5, 0x26, 0xab, 0x72, 0x91, 0xcb, 0xb3, 0x07, 0xce, 0xab,
3541 0xfc, 0xe0, 0xb1, 0xdf,
3542 0xd5, 0xcd, 0x95, 0x08, 0x09, 0x6d, 0x5b, 0x2b, 0x8b, 0x6d, 0xf5, 0xd6,
3543 0x71, 0xef, 0x63, 0x77,
3544 0xc0, 0x92, 0x1c, 0xb2, 0x3c, 0x27, 0x0a, 0x70, 0xe2, 0x59, 0x8e, 0x6f,
3545 0xf8, 0x9d, 0x19, 0xf1,
3546 0x05, 0xac, 0xc2, 0xd3, 0xf0, 0xcb, 0x35, 0xf2, 0x92, 0x80, 0xe1, 0x38,
3547 0x6b, 0x6f, 0x64, 0xc4,
3548 0xef, 0x22, 0xe1, 0xe1, 0xf2, 0x0d, 0x0c, 0xe8, 0xcf, 0xfb, 0x22, 0x49,
3549 0xbd, 0x9a, 0x21, 0x37,
3550};
3551static const uint8_t ac_rsassa_example1_pub_exp[] = {
3552 0x01, 0x00, 0x01
3553};
3554static const uint8_t ac_rsassa_example1_priv_exp[] = {
3555 0x33, 0xa5, 0x04, 0x2a, 0x90, 0xb2, 0x7d, 0x4f, 0x54, 0x51, 0xca, 0x9b,
3556 0xbb, 0xd0, 0xb4, 0x47,
3557 0x71, 0xa1, 0x01, 0xaf, 0x88, 0x43, 0x40, 0xae, 0xf9, 0x88, 0x5f, 0x2a,
3558 0x4b, 0xbe, 0x92, 0xe8,
3559 0x94, 0xa7, 0x24, 0xac, 0x3c, 0x56, 0x8c, 0x8f, 0x97, 0x85, 0x3a, 0xd0,
3560 0x7c, 0x02, 0x66, 0xc8,
3561 0xc6, 0xa3, 0xca, 0x09, 0x29, 0xf1, 0xe8, 0xf1, 0x12, 0x31, 0x88, 0x44,
3562 0x29, 0xfc, 0x4d, 0x9a,
3563 0xe5, 0x5f, 0xee, 0x89, 0x6a, 0x10, 0xce, 0x70, 0x7c, 0x3e, 0xd7, 0xe7,
3564 0x34, 0xe4, 0x47, 0x27,
3565 0xa3, 0x95, 0x74, 0x50, 0x1a, 0x53, 0x26, 0x83, 0x10, 0x9c, 0x2a, 0xba,
3566 0xca, 0xba, 0x28, 0x3c,
3567 0x31, 0xb4, 0xbd, 0x2f, 0x53, 0xc3, 0xee, 0x37, 0xe3, 0x52, 0xce, 0xe3,
3568 0x4f, 0x9e, 0x50, 0x3b,
3569 0xd8, 0x0c, 0x06, 0x22, 0xad, 0x79, 0xc6, 0xdc, 0xee, 0x88, 0x35, 0x47,
3570 0xc6, 0xa3, 0xb3, 0x25,
3571};
3572static const uint8_t ac_rsassa_example1_prime1[] = {
3573 0xe7, 0xe8, 0x94, 0x27, 0x20, 0xa8, 0x77, 0x51, 0x72, 0x73, 0xa3, 0x56,
3574 0x05, 0x3e, 0xa2, 0xa1,
3575 0xbc, 0x0c, 0x94, 0xaa, 0x72, 0xd5, 0x5c, 0x6e, 0x86, 0x29, 0x6b, 0x2d,
3576 0xfc, 0x96, 0x79, 0x48,
3577 0xc0, 0xa7, 0x2c, 0xbc, 0xcc, 0xa7, 0xea, 0xcb, 0x35, 0x70, 0x6e, 0x09,
3578 0xa1, 0xdf, 0x55, 0xa1,
3579 0x53, 0x5b, 0xd9, 0xb3, 0xcc, 0x34, 0x16, 0x0b, 0x3b, 0x6d, 0xcd, 0x3e,
3580 0xda, 0x8e, 0x64, 0x43,
3581};
3582static const uint8_t ac_rsassa_example1_prime2[] = {
3583 0xb6, 0x9d, 0xca, 0x1c, 0xf7, 0xd4, 0xd7, 0xec, 0x81, 0xe7, 0x5b, 0x90,
3584 0xfc, 0xca, 0x87, 0x4a,
3585 0xbc, 0xde, 0x12, 0x3f, 0xd2, 0x70, 0x01, 0x80, 0xaa, 0x90, 0x47, 0x9b,
3586 0x6e, 0x48, 0xde, 0x8d,
3587 0x67, 0xed, 0x24, 0xf9, 0xf1, 0x9d, 0x85, 0xba, 0x27, 0x58, 0x74, 0xf5,
3588 0x42, 0xcd, 0x20, 0xdc,
3589 0x72, 0x3e, 0x69, 0x63, 0x36, 0x4a, 0x1f, 0x94, 0x25, 0x45, 0x2b, 0x26,
3590 0x9a, 0x67, 0x99, 0xfd,
3591};
3592static const uint8_t ac_rsassa_example1_exp1[] = {
3593 0x28, 0xfa, 0x13, 0x93, 0x86, 0x55, 0xbe, 0x1f, 0x8a, 0x15, 0x9c, 0xba,
3594 0xca, 0x5a, 0x72, 0xea,
3595 0x19, 0x0c, 0x30, 0x08, 0x9e, 0x19, 0xcd, 0x27, 0x4a, 0x55, 0x6f, 0x36,
3596 0xc4, 0xf6, 0xe1, 0x9f,
3597 0x55, 0x4b, 0x34, 0xc0, 0x77, 0x79, 0x04, 0x27, 0xbb, 0xdd, 0x8d, 0xd3,
3598 0xed, 0xe2, 0x44, 0x83,
3599 0x28, 0xf3, 0x85, 0xd8, 0x1b, 0x30, 0xe8, 0xe4, 0x3b, 0x2f, 0xff, 0xa0,
3600 0x27, 0x86, 0x19, 0x79,
3601};
3602static const uint8_t ac_rsassa_example1_exp2[] = {
3603 0x1a, 0x8b, 0x38, 0xf3, 0x98, 0xfa, 0x71, 0x20, 0x49, 0x89, 0x8d, 0x7f,
3604 0xb7, 0x9e, 0xe0, 0xa7,
3605 0x76, 0x68, 0x79, 0x12, 0x99, 0xcd, 0xfa, 0x09, 0xef, 0xc0, 0xe5, 0x07,
3606 0xac, 0xb2, 0x1e, 0xd7,
3607 0x43, 0x01, 0xef, 0x5b, 0xfd, 0x48, 0xbe, 0x45, 0x5e, 0xae, 0xb6, 0xe1,
3608 0x67, 0x82, 0x55, 0x82,
3609 0x75, 0x80, 0xa8, 0xe4, 0xe8, 0xe1, 0x41, 0x51, 0xd1, 0x51, 0x0a, 0x82,
3610 0xa3, 0xf2, 0xe7, 0x29,
3611};
3612static const uint8_t ac_rsassa_example1_coeff[] = {
3613 0x27, 0x15, 0x6a, 0xba, 0x41, 0x26, 0xd2, 0x4a, 0x81, 0xf3, 0xa5, 0x28,
3614 0xcb, 0xfb, 0x27, 0xf5,
3615 0x68, 0x86, 0xf8, 0x40, 0xa9, 0xf6, 0xe8, 0x6e, 0x17, 0xa4, 0x4b, 0x94,
3616 0xfe, 0x93, 0x19, 0x58,
3617 0x4b, 0x8e, 0x22, 0xfd, 0xde, 0x1e, 0x5a, 0x2e, 0x3b, 0xd8, 0xaa, 0x5b,
3618 0xa8, 0xd8, 0x58, 0x41,
3619 0x94, 0xeb, 0x21, 0x90, 0xac, 0xf8, 0x32, 0xb8, 0x47, 0xf1, 0x3a, 0x3d,
3620 0x24, 0xa7, 0x9f, 0x4d,
3621};
3622
3623/* PKCS#1 v1.5 Signature Example 1.1 */
3624#define ac_rsassa_vect3_modulus ac_rsassa_example1_modulus
3625#define ac_rsassa_vect3_pub_exp ac_rsassa_example1_pub_exp
3626#define ac_rsassa_vect3_priv_exp ac_rsassa_example1_priv_exp
3627#define ac_rsassa_vect3_prime1 ac_rsassa_example1_prime1
3628#define ac_rsassa_vect3_prime2 ac_rsassa_example1_prime2
3629#define ac_rsassa_vect3_exp1 ac_rsassa_example1_exp1
3630#define ac_rsassa_vect3_exp2 ac_rsassa_example1_exp2
3631#define ac_rsassa_vect3_coeff ac_rsassa_example1_coeff
3632static const uint8_t ac_rsassa_vect3_ptx[] = {
3633 0xcd, 0xc8, 0x7d, 0xa2, 0x23, 0xd7, 0x86, 0xdf, 0x3b, 0x45, 0xe0, 0xbb,
3634 0xbc, 0x72, 0x13, 0x26,
3635 0xd1, 0xee, 0x2a, 0xf8, 0x06, 0xcc, 0x31, 0x54, 0x75, 0xcc, 0x6f, 0x0d,
3636 0x9c, 0x66, 0xe1, 0xb6,
3637 0x23, 0x71, 0xd4, 0x5c, 0xe2, 0x39, 0x2e, 0x1a, 0xc9, 0x28, 0x44, 0xc3,
3638 0x10, 0x10, 0x2f, 0x15,
3639 0x6a, 0x0d, 0x8d, 0x52, 0xc1, 0xf4, 0xc4, 0x0b, 0xa3, 0xaa, 0x65, 0x09,
3640 0x57, 0x86, 0xcb, 0x76,
3641 0x97, 0x57, 0xa6, 0x56, 0x3b, 0xa9, 0x58, 0xfe, 0xd0, 0xbc, 0xc9, 0x84,
3642 0xe8, 0xb5, 0x17, 0xa3,
3643 0xd5, 0xf5, 0x15, 0xb2, 0x3b, 0x8a, 0x41, 0xe7, 0x4a, 0xa8, 0x67, 0x69,
3644 0x3f, 0x90, 0xdf, 0xb0,
3645 0x61, 0xa6, 0xe8, 0x6d, 0xfa, 0xae, 0xe6, 0x44, 0x72, 0xc0, 0x0e, 0x5f,
3646 0x20, 0x94, 0x57, 0x29,
3647 0xcb, 0xeb, 0xe7, 0x7f, 0x06, 0xce, 0x78, 0xe0, 0x8f, 0x40, 0x98, 0xfb,
3648 0xa4, 0x1f, 0x9d, 0x61,
3649 0x93, 0xc0, 0x31, 0x7e, 0x8b, 0x60, 0xd4, 0xb6, 0x08, 0x4a, 0xcb, 0x42,
3650 0xd2, 0x9e, 0x38, 0x08,
3651 0xa3, 0xbc, 0x37, 0x2d, 0x85, 0xe3, 0x31, 0x17, 0x0f, 0xcb, 0xf7, 0xcc,
3652 0x72, 0xd0, 0xb7, 0x1c,
3653 0x29, 0x66, 0x48, 0xb3, 0xa4, 0xd1, 0x0f, 0x41, 0x62, 0x95, 0xd0, 0x80,
3654 0x7a, 0xa6, 0x25, 0xca,
3655 0xb2, 0x74, 0x4f, 0xd9, 0xea, 0x8f, 0xd2, 0x23, 0xc4, 0x25, 0x37, 0x02,
3656 0x98, 0x28, 0xbd, 0x16,
3657 0xbe, 0x02, 0x54, 0x6f, 0x13, 0x0f, 0xd2, 0xe3, 0x3b, 0x93, 0x6d, 0x26,
3658 0x76, 0xe0, 0x8a, 0xed,
3659 0x1b, 0x73, 0x31, 0x8b, 0x75, 0x0a, 0x01, 0x67, 0xd0,
3660};
3661static const uint8_t ac_rsassa_vect3_out[] = {
3662 0x6b, 0xc3, 0xa0, 0x66, 0x56, 0x84, 0x29, 0x30, 0xa2, 0x47, 0xe3, 0x0d,
3663 0x58, 0x64, 0xb4, 0xd8,
3664 0x19, 0x23, 0x6b, 0xa7, 0xc6, 0x89, 0x65, 0x86, 0x2a, 0xd7, 0xdb, 0xc4,
3665 0xe2, 0x4a, 0xf2, 0x8e,
3666 0x86, 0xbb, 0x53, 0x1f, 0x03, 0x35, 0x8b, 0xe5, 0xfb, 0x74, 0x77, 0x7c,
3667 0x60, 0x86, 0xf8, 0x50,
3668 0xca, 0xef, 0x89, 0x3f, 0x0d, 0x6f, 0xcc, 0x2d, 0x0c, 0x91, 0xec, 0x01,
3669 0x36, 0x93, 0xb4, 0xea,
3670 0x00, 0xb8, 0x0c, 0xd4, 0x9a, 0xac, 0x4e, 0xcb, 0x5f, 0x89, 0x11, 0xaf,
3671 0xe5, 0x39, 0xad, 0xa4,
3672 0xa8, 0xf3, 0x82, 0x3d, 0x1d, 0x13, 0xe4, 0x72, 0xd1, 0x49, 0x05, 0x47,
3673 0xc6, 0x59, 0xc7, 0x61,
3674 0x7f, 0x3d, 0x24, 0x08, 0x7d, 0xdb, 0x6f, 0x2b, 0x72, 0x09, 0x61, 0x67,
3675 0xfc, 0x09, 0x7c, 0xab,
3676 0x18, 0xe9, 0xa4, 0x58, 0xfc, 0xb6, 0x34, 0xcd, 0xce, 0x8e, 0xe3, 0x58,
3677 0x94, 0xc4, 0x84, 0xd7,
3678};
3679
3680/* PKCS#1 v1.5 Signature Example 1.2 */
3681#define ac_rsassa_vect4_modulus ac_rsassa_example1_modulus
3682#define ac_rsassa_vect4_pub_exp ac_rsassa_example1_pub_exp
3683#define ac_rsassa_vect4_priv_exp ac_rsassa_example1_priv_exp
3684#define ac_rsassa_vect4_prime1 ac_rsassa_example1_prime1
3685#define ac_rsassa_vect4_prime2 ac_rsassa_example1_prime2
3686#define ac_rsassa_vect4_exp1 ac_rsassa_example1_exp1
3687#define ac_rsassa_vect4_exp2 ac_rsassa_example1_exp2
3688#define ac_rsassa_vect4_coeff ac_rsassa_example1_coeff
3689static const uint8_t ac_rsassa_vect4_ptx[] = {
3690 0x85, 0x13, 0x84, 0xcd, 0xfe, 0x81, 0x9c, 0x22, 0xed, 0x6c, 0x4c, 0xcb,
3691 0x30, 0xda, 0xeb, 0x5c,
3692 0xf0, 0x59, 0xbc, 0x8e, 0x11, 0x66, 0xb7, 0xe3, 0x53, 0x0c, 0x4c, 0x23,
3693 0x3e, 0x2b, 0x5f, 0x8f,
3694 0x71, 0xa1, 0xcc, 0xa5, 0x82, 0xd4, 0x3e, 0xcc, 0x72, 0xb1, 0xbc, 0xa1,
3695 0x6d, 0xfc, 0x70, 0x13,
3696 0x22, 0x6b, 0x9e,
3697};
3698static const uint8_t ac_rsassa_vect4_out[] = {
3699 0x84, 0xfd, 0x2c, 0xe7, 0x34, 0xec, 0x1d, 0xa8, 0x28, 0xd0, 0xf1, 0x5b,
3700 0xf4, 0x9a, 0x87, 0x07,
3701 0xc1, 0x5d, 0x05, 0x94, 0x81, 0x36, 0xde, 0x53, 0x7a, 0x3d, 0xb4, 0x21,
3702 0x38, 0x41, 0x67, 0xc8,
3703 0x6f, 0xae, 0x02, 0x25, 0x87, 0xee, 0x9e, 0x13, 0x7d, 0xae, 0xe7, 0x54,
3704 0x73, 0x82, 0x62, 0x93,
3705 0x2d, 0x27, 0x1c, 0x74, 0x4c, 0x6d, 0x3a, 0x18, 0x9a, 0xd4, 0x31, 0x1b,
3706 0xdb, 0x02, 0x04, 0x92,
3707 0xe3, 0x22, 0xfb, 0xdd, 0xc4, 0x04, 0x06, 0xea, 0x86, 0x0d, 0x4e, 0x8e,
3708 0xa2, 0xa4, 0x08, 0x4a,
3709 0xa9, 0x8b, 0x96, 0x22, 0xa4, 0x46, 0x75, 0x6f, 0xdb, 0x74, 0x0d, 0xdb,
3710 0x3d, 0x91, 0xdb, 0x76,
3711 0x70, 0xe2, 0x11, 0x66, 0x1b, 0xbf, 0x87, 0x09, 0xb1, 0x1c, 0x08, 0xa7,
3712 0x07, 0x71, 0x42, 0x2d,
3713 0x1a, 0x12, 0xde, 0xf2, 0x9f, 0x06, 0x88, 0xa1, 0x92, 0xae, 0xbd, 0x89,
3714 0xe0, 0xf8, 0x96, 0xf8,
3715};
3716
3717/* PKCS#1 v1.5 Signature Example 1.3 */
3718#define ac_rsassa_vect5_modulus ac_rsassa_example1_modulus
3719#define ac_rsassa_vect5_pub_exp ac_rsassa_example1_pub_exp
3720#define ac_rsassa_vect5_priv_exp ac_rsassa_example1_priv_exp
3721#define ac_rsassa_vect5_prime1 ac_rsassa_example1_prime1
3722#define ac_rsassa_vect5_prime2 ac_rsassa_example1_prime2
3723#define ac_rsassa_vect5_exp1 ac_rsassa_example1_exp1
3724#define ac_rsassa_vect5_exp2 ac_rsassa_example1_exp2
3725#define ac_rsassa_vect5_coeff ac_rsassa_example1_coeff
3726static const uint8_t ac_rsassa_vect5_ptx[] = {
3727 0xa4, 0xb1, 0x59, 0x94, 0x17, 0x61, 0xc4, 0x0c, 0x6a, 0x82, 0xf2, 0xb8,
3728 0x0d, 0x1b, 0x94, 0xf5,
3729 0xaa, 0x26, 0x54, 0xfd, 0x17, 0xe1, 0x2d, 0x58, 0x88, 0x64, 0x67, 0x9b,
3730 0x54, 0xcd, 0x04, 0xef,
3731 0x8b, 0xd0, 0x30, 0x12, 0xbe, 0x8d, 0xc3, 0x7f, 0x4b, 0x83, 0xaf, 0x79,
3732 0x63, 0xfa, 0xff, 0x0d,
3733 0xfa, 0x22, 0x54, 0x77, 0x43, 0x7c, 0x48, 0x01, 0x7f, 0xf2, 0xbe, 0x81,
3734 0x91, 0xcf, 0x39, 0x55,
3735 0xfc, 0x07, 0x35, 0x6e, 0xab, 0x3f, 0x32, 0x2f, 0x7f, 0x62, 0x0e, 0x21,
3736 0xd2, 0x54, 0xe5, 0xdb,
3737 0x43, 0x24, 0x27, 0x9f, 0xe0, 0x67, 0xe0, 0x91, 0x0e, 0x2e, 0x81, 0xca,
3738 0x2c, 0xab, 0x31, 0xc7,
3739 0x45, 0xe6, 0x7a, 0x54, 0x05, 0x8e, 0xb5, 0x0d, 0x99, 0x3c, 0xdb, 0x9e,
3740 0xd0, 0xb4, 0xd0, 0x29,
3741 0xc0, 0x6d, 0x21, 0xa9, 0x4c, 0xa6, 0x61, 0xc3, 0xce, 0x27, 0xfa, 0xe1,
3742 0xd6, 0xcb, 0x20, 0xf4,
3743 0x56, 0x4d, 0x66, 0xce, 0x47, 0x67, 0x58, 0x3d, 0x0e, 0x5f, 0x06, 0x02,
3744 0x15, 0xb5, 0x90, 0x17,
3745 0xbe, 0x85, 0xea, 0x84, 0x89, 0x39, 0x12, 0x7b, 0xd8, 0xc9, 0xc4, 0xd4,
3746 0x7b, 0x51, 0x05, 0x6c,
3747 0x03, 0x1c, 0xf3, 0x36, 0xf1, 0x7c, 0x99, 0x80, 0xf3, 0xb8, 0xf5, 0xb9,
3748 0xb6, 0x87, 0x8e, 0x8b,
3749 0x79, 0x7a, 0xa4, 0x3b, 0x88, 0x26, 0x84, 0x33, 0x3e, 0x17, 0x89, 0x3f,
3750 0xe9, 0xca, 0xa6, 0xaa,
3751 0x29, 0x9f, 0x7e, 0xd1, 0xa1, 0x8e, 0xe2, 0xc5, 0x48, 0x64, 0xb7, 0xb2,
3752 0xb9, 0x9b, 0x72, 0x61,
3753 0x8f, 0xb0, 0x25, 0x74, 0xd1, 0x39, 0xef, 0x50, 0xf0, 0x19, 0xc9, 0xee,
3754 0xf4, 0x16, 0x97, 0x13,
3755 0x38, 0xe7, 0xd4, 0x70
3756};
3757static const uint8_t ac_rsassa_vect5_out[] = {
3758 0x0b, 0x1f, 0x2e, 0x51, 0x80, 0xe5, 0xc7, 0xb4, 0xb5, 0xe6, 0x72, 0x92,
3759 0x9f, 0x66, 0x4c, 0x48,
3760 0x96, 0xe5, 0x0c, 0x35, 0x13, 0x4b, 0x6d, 0xe4, 0xd5, 0xa9, 0x34, 0x25,
3761 0x2a, 0x3a, 0x24, 0x5f,
3762 0xf4, 0x83, 0x40, 0x92, 0x0e, 0x10, 0x34, 0xb7, 0xd5, 0xa5, 0xb5, 0x24,
3763 0xeb, 0x0e, 0x1c, 0xf1,
3764 0x2b, 0xef, 0xef, 0x49, 0xb2, 0x7b, 0x73, 0x2d, 0x2c, 0x19, 0xe1, 0xc4,
3765 0x32, 0x17, 0xd6, 0xe1,
3766 0x41, 0x73, 0x81, 0x11, 0x1a, 0x1d, 0x36, 0xde, 0x63, 0x75, 0xcf, 0x45,
3767 0x5b, 0x3c, 0x98, 0x12,
3768 0x63, 0x9d, 0xbc, 0x27, 0x60, 0x0c, 0x75, 0x19, 0x94, 0xfb, 0x61, 0x79,
3769 0x9e, 0xcf, 0x7d, 0xa6,
3770 0xbc, 0xf5, 0x15, 0x40, 0xaf, 0xd0, 0x17, 0x4d, 0xb4, 0x03, 0x31, 0x88,
3771 0x55, 0x66, 0x75, 0xb1,
3772 0xd7, 0x63, 0x36, 0x0a, 0xf4, 0x6f, 0xee, 0xca, 0x5b, 0x60, 0xf8, 0x82,
3773 0x82, 0x9e, 0xe7, 0xb2,
3774};
3775
3776/* PKCS#1 v1.5 Signature Example 1.4 */
3777#define ac_rsassa_vect6_modulus ac_rsassa_example1_modulus
3778#define ac_rsassa_vect6_pub_exp ac_rsassa_example1_pub_exp
3779#define ac_rsassa_vect6_priv_exp ac_rsassa_example1_priv_exp
3780#define ac_rsassa_vect6_prime1 ac_rsassa_example1_prime1
3781#define ac_rsassa_vect6_prime2 ac_rsassa_example1_prime2
3782#define ac_rsassa_vect6_exp1 ac_rsassa_example1_exp1
3783#define ac_rsassa_vect6_exp2 ac_rsassa_example1_exp2
3784#define ac_rsassa_vect6_coeff ac_rsassa_example1_coeff
3785static const uint8_t ac_rsassa_vect6_ptx[] = {
3786 0xbc, 0x65, 0x67, 0x47, 0xfa, 0x9e, 0xaf, 0xb3, 0xf0
3787};
3788static const uint8_t ac_rsassa_vect6_out[] = {
3789 0x45, 0x60, 0x7a, 0xd6, 0x11, 0xcf, 0x57, 0x47, 0xa4, 0x1a, 0xc9, 0x4d,
3790 0x0f, 0xfe, 0xc8, 0x78,
3791 0xbd, 0xaf, 0x63, 0xf6, 0xb5, 0x7a, 0x4b, 0x08, 0x8b, 0xf3, 0x6e, 0x34,
3792 0xe1, 0x09, 0xf8, 0x40,
3793 0xf2, 0x4b, 0x74, 0x2a, 0xda, 0x16, 0x10, 0x2d, 0xab, 0xf9, 0x51, 0xcb,
3794 0xc4, 0x4f, 0x89, 0x82,
3795 0xe9, 0x4e, 0xd4, 0xcd, 0x09, 0x44, 0x8d, 0x20, 0xec, 0x0e, 0xfa, 0x73,
3796 0x54, 0x5f, 0x80, 0xb6,
3797 0x54, 0x06, 0xbe, 0xd6, 0x19, 0x4a, 0x61, 0xc3, 0x40, 0xb4, 0xad, 0x15,
3798 0x68, 0xcb, 0xb7, 0x58,
3799 0x51, 0x04, 0x9f, 0x11, 0xaf, 0x17, 0x34, 0x96, 0x40, 0x76, 0xe0, 0x20,
3800 0x29, 0xae, 0xe2, 0x00,
3801 0xe4, 0x0e, 0x80, 0xbe, 0x0f, 0x43, 0x61, 0xf6, 0x98, 0x41, 0xc4, 0xf9,
3802 0x2a, 0x44, 0x50, 0xa2,
3803 0x28, 0x6d, 0x43, 0x28, 0x9b, 0x40, 0x55, 0x54, 0xc5, 0x4d, 0x25, 0xc6,
3804 0xec, 0xb5, 0x84, 0xf4,
3805};
3806
3807/* PKCS#1 v1.5 Signature Example 7 1025-bit RSA key pair */
3808static const uint8_t ac_rsassa_example2_modulus[] = {
3809 0x01, 0x69, 0x34, 0xcd, 0xff, 0x48, 0x50, 0xb6, 0x00, 0x2c, 0xc0, 0xf0,
3810 0xf4, 0x01, 0x0a, 0x32,
3811 0xc6, 0x55, 0xe5, 0xcf, 0x6e, 0x7c, 0x89, 0x93, 0x7f, 0xd7, 0x55, 0xef,
3812 0x6a, 0xbe, 0x37, 0x9d,
3813 0xad, 0xde, 0x70, 0xcc, 0x21, 0x77, 0x51, 0xf1, 0x4c, 0xba, 0x6d, 0x90,
3814 0xfe, 0x52, 0xdc, 0x0a,
3815 0xf5, 0x8b, 0x25, 0x2f, 0x26, 0xbf, 0x72, 0xda, 0x57, 0x9f, 0xda, 0xf5,
3816 0x7d, 0xdd, 0x6c, 0xd6,
3817 0x02, 0x18, 0x79, 0x94, 0x9a, 0x02, 0x76, 0xb4, 0x43, 0x3f, 0xf0, 0x1e,
3818 0xfc, 0xcc, 0xf3, 0x5a,
3819 0x11, 0xe7, 0xc7, 0x7b, 0x38, 0xc1, 0x8c, 0xca, 0x94, 0xae, 0x01, 0x2d,
3820 0x0f, 0x37, 0x04, 0x21,
3821 0x49, 0x1c, 0x52, 0xad, 0x15, 0xac, 0x76, 0xb1, 0x2e, 0xcd, 0x21, 0x8f,
3822 0x52, 0xe7, 0x57, 0x86,
3823 0x6e, 0x08, 0x9d, 0xd8, 0xad, 0xbb, 0x48, 0xe9, 0xba, 0x89, 0x43, 0x36,
3824 0xc5, 0x75, 0xc4, 0x06,
3825 0x55
3826};
3827static const uint8_t ac_rsassa_example2_pub_exp[] = {
3828 0x01, 0x00, 0x01
3829};
3830static const uint8_t ac_rsassa_example2_priv_exp[] = {
3831 0x0d, 0x17, 0x19, 0xe5, 0xbd, 0x47, 0x6d, 0x87, 0xc7, 0xec, 0xc3, 0x1e,
3832 0xb8, 0xab, 0x42, 0x5d,
3833 0x4f, 0xe4, 0xc8, 0xf5, 0xc7, 0xae, 0x23, 0x0a, 0x10, 0x47, 0x55, 0x3f,
3834 0xfb, 0x53, 0x9f, 0xd3,
3835 0x85, 0x5a, 0xf5, 0xa4, 0x3b, 0x2d, 0xdd, 0x4e, 0x95, 0xa2, 0xb3, 0x0d,
3836 0x40, 0x7a, 0xa8, 0x81,
3837 0x59, 0xbb, 0xad, 0x2a, 0x87, 0x3d, 0x80, 0x93, 0xb4, 0x8a, 0x4b, 0xce,
3838 0x20, 0xad, 0x99, 0x26,
3839 0x25, 0x3e, 0xd3, 0x39, 0xac, 0x3b, 0x54, 0x3f, 0xc7, 0x42, 0x96, 0x95,
3840 0x33, 0x8d, 0xb0, 0xbc,
3841 0x1d, 0xc3, 0x68, 0x6c, 0xfd, 0x13, 0x9b, 0xb5, 0xb2, 0x87, 0x36, 0xbc,
3842 0x16, 0x60, 0xa9, 0x53,
3843 0x48, 0xfc, 0x91, 0xc3, 0x25, 0xd0, 0x3a, 0x7f, 0xb2, 0x16, 0xd2, 0xd9,
3844 0xcd, 0x93, 0x64, 0xde,
3845 0x4e, 0xe7, 0xd2, 0x11, 0x9c, 0x3b, 0x0f, 0xbb, 0xa8, 0xa7, 0x1f, 0x0d,
3846 0x3f, 0x5a, 0xb9, 0xb9,
3847};
3848static const uint8_t ac_rsassa_example2_prime1[] = {
3849 0x01, 0x58, 0xc0, 0x24, 0x6c, 0xd1, 0x69, 0xfc, 0x59, 0x3b, 0x25, 0x8b,
3850 0xbf, 0x45, 0x23, 0xab,
3851 0x2b, 0x55, 0xc4, 0x60, 0x73, 0x3a, 0x7f, 0xb4, 0x69, 0x10, 0x90, 0x77,
3852 0xb3, 0x0e, 0x4d, 0x35,
3853 0xf2, 0x1a, 0x35, 0xb1, 0xf4, 0x1e, 0x42, 0x04, 0xe8, 0x1d, 0x2e, 0x4c,
3854 0x46, 0x3c, 0x24, 0x11,
3855 0x39, 0x34, 0x09, 0x8b, 0x45, 0x2d, 0xab, 0x4b, 0xe1, 0x59, 0x97, 0x20,
3856 0xef, 0x68, 0x72, 0x83,
3857 0x3d
3858};
3859static const uint8_t ac_rsassa_example2_prime2[] = {
3860 0x01, 0x0c, 0x38, 0x2d, 0xea, 0x5e, 0x7d, 0x79, 0x29, 0x8c, 0x64, 0x1f,
3861 0xb2, 0xe4, 0xfa, 0x09,
3862 0xf2, 0x4f, 0x6a, 0x7a, 0x45, 0x9a, 0x88, 0x2c, 0x87, 0xa8, 0x03, 0x49,
3863 0x5f, 0x05, 0x6e, 0xcc,
3864 0x3b, 0x43, 0xc5, 0x37, 0x73, 0x1f, 0x85, 0xef, 0xc8, 0xfb, 0x53, 0x87,
3865 0xad, 0x67, 0x31, 0xa6,
3866 0x43, 0x53, 0x32, 0x15, 0xde, 0xcc, 0x38, 0x7d, 0x96, 0x76, 0x12, 0x2c,
3867 0x17, 0x0e, 0x91, 0xe0,
3868 0xf9
3869};
3870static const uint8_t ac_rsassa_example2_exp1[] = {
3871 0xd5, 0x78, 0xdc, 0xd5, 0x38, 0xf2, 0xfc, 0xdc, 0x30, 0x00, 0xb6, 0xc0,
3872 0xf0, 0x49, 0xfe, 0xe2,
3873 0xad, 0x90, 0x14, 0xfd, 0x24, 0xfb, 0x10, 0xb6, 0x82, 0x18, 0x42, 0xd6,
3874 0x70, 0x03, 0xa5, 0x64,
3875 0xcd, 0x8f, 0xf4, 0x2a, 0x2a, 0x56, 0x4c, 0xfd, 0x81, 0x9c, 0x3a, 0x84,
3876 0xbf, 0x16, 0xc2, 0x47,
3877 0x7e, 0x8e, 0x6e, 0x5b, 0x9e, 0xc4, 0xd4, 0x0e, 0xad, 0x50, 0x24, 0x87,
3878 0xba, 0x50, 0x36, 0x2d,
3879};
3880static const uint8_t ac_rsassa_example2_exp2[] = {
3881 0x88, 0x88, 0xdc, 0x8e, 0xae, 0x94, 0xee, 0xa5, 0x80, 0xca, 0xc2, 0xfc,
3882 0x1c, 0xe5, 0x4f, 0x44,
3883 0xe2, 0xba, 0x50, 0x0d, 0xb8, 0x71, 0x53, 0x41, 0xa6, 0xfc, 0x2d, 0x50,
3884 0x4a, 0x82, 0xb1, 0x42,
3885 0x05, 0xe8, 0x91, 0xa6, 0x6f, 0xc8, 0x8d, 0x5c, 0x60, 0xdb, 0x8f, 0x78,
3886 0x6c, 0xcc, 0x70, 0x57,
3887 0x5b, 0x35, 0x66, 0xbe, 0xa8, 0x74, 0xa5, 0x31, 0x7f, 0x5f, 0x16, 0xc4,
3888 0x91, 0xed, 0x1e, 0x79,
3889};
3890static const uint8_t ac_rsassa_example2_coeff[] = {
3891 0x17, 0xb0, 0xd6, 0x23, 0x36, 0x19, 0x1e, 0x63, 0xbc, 0xa1, 0x59, 0x93,
3892 0x4d, 0x06, 0x16, 0xcb,
3893 0x89, 0x97, 0x40, 0x9c, 0xbf, 0xca, 0x37, 0x05, 0x69, 0x5b, 0x14, 0xfb,
3894 0x64, 0xa0, 0x81, 0xc1,
3895 0xc9, 0xf5, 0x86, 0x19, 0x3e, 0x52, 0x3a, 0xbd, 0x0b, 0xeb, 0x8d, 0x72,
3896 0x0c, 0xfe, 0x53, 0x7d,
3897 0xfa, 0x1e, 0xde, 0xc4, 0xa6, 0x64, 0x37, 0xd2, 0x41, 0x19, 0x6b, 0x7a,
3898 0x2c, 0xe5, 0x56, 0xc4,
3899};
3900
3901
3902/* PKCS#1 v1.5 Signature Example 7.1 */
3903#define ac_rsassa_vect7_modulus ac_rsassa_example2_modulus
3904#define ac_rsassa_vect7_pub_exp ac_rsassa_example2_pub_exp
3905#define ac_rsassa_vect7_priv_exp ac_rsassa_example2_priv_exp
3906#define ac_rsassa_vect7_prime1 ac_rsassa_example2_prime1
3907#define ac_rsassa_vect7_prime2 ac_rsassa_example2_prime2
3908#define ac_rsassa_vect7_exp1 ac_rsassa_example2_exp1
3909#define ac_rsassa_vect7_exp2 ac_rsassa_example2_exp2
3910#define ac_rsassa_vect7_coeff ac_rsassa_example2_coeff
3911static const uint8_t ac_rsassa_vect7_ptx[] = {
3912 0x35, 0x39, 0x99, 0x7a, 0xe7, 0x09, 0xfe, 0x32, 0xc1, 0x03, 0x6a, 0x13,
3913 0x27, 0x57, 0xf2, 0xa1,
3914 0x66, 0x7a, 0x91, 0xcc, 0x83, 0xbe, 0x73, 0x3a, 0xad, 0xa1, 0xbd, 0xd2,
3915 0x17, 0x92, 0x4c, 0x9a,
3916 0x2c, 0x9f, 0xed, 0x1f, 0xec, 0xf6, 0x1d, 0x1c, 0xf7, 0x9d, 0xae, 0x9a,
3917 0x83, 0xf8, 0xae, 0x3f,
3918 0x4d, 0x05, 0x1b, 0x34, 0xfb, 0xb5, 0x59, 0xcb, 0xfd, 0xa4, 0x92, 0xf1,
3919 0xd8, 0x3b, 0x8b, 0xeb,
3920 0xa0, 0x45, 0xd4, 0xae, 0x1c, 0x8f, 0xea, 0x15, 0xb7, 0x57, 0x7a, 0x1b,
3921 0x8a, 0x3f, 0x55, 0xba,
3922 0xc1, 0x72, 0x7e, 0xdc, 0xa7, 0xf8, 0xf5, 0x2c, 0xb4, 0xba, 0x61, 0xca,
3923 0xf1, 0xfa, 0x8f, 0x8f,
3924 0xd9, 0xaa, 0xc7, 0x79, 0x09, 0x5c, 0xa8, 0x4c, 0x79, 0x91, 0x52, 0x9f,
3925 0xb8, 0x06, 0x99, 0xd0,
3926 0xd4, 0x68, 0x8d, 0xfd, 0xb1, 0x42, 0xed, 0x61, 0xa9, 0x5b, 0x89, 0xce,
3927 0x33, 0x06, 0xbf, 0x97,
3928 0x80, 0xe1, 0xb9, 0x1b, 0x84, 0x8c, 0x8d, 0x20, 0x03, 0x97, 0x0e, 0x52,
3929 0x70, 0x2a, 0x1f, 0x61,
3930 0x2e, 0x2f, 0x40, 0x17, 0xcf, 0xe0, 0xa9, 0x1d, 0xb9, 0xe4, 0x6d, 0xb9,
3931 0xdc
3932};
3933static const uint8_t ac_rsassa_vect7_out[] = {
3934 0x00, 0x08, 0x0f, 0x77, 0x0a, 0x2d, 0x1f, 0x6a, 0xbf, 0x5f, 0x22, 0x1f,
3935 0x62, 0xe1, 0x66, 0xab,
3936 0xd7, 0x9d, 0x06, 0xc7, 0xb9, 0xa8, 0x78, 0xd6, 0x1b, 0x80, 0xfc, 0x4d,
3937 0x5b, 0xa2, 0x90, 0xb2,
3938 0x3a, 0xba, 0xab, 0x51, 0x8f, 0x09, 0x44, 0x7e, 0x45, 0xae, 0xe6, 0xf3,
3939 0xbd, 0x06, 0x10, 0x24,
3940 0x44, 0x36, 0xa4, 0x73, 0x01, 0x60, 0xe6, 0xa6, 0x72, 0x11, 0x0c, 0x01,
3941 0xae, 0xb5, 0x62, 0x4b,
3942 0x71, 0x8d, 0xc7, 0xc0, 0x86, 0x1e, 0x58, 0x6b, 0xa8, 0xb6, 0x0a, 0x29,
3943 0xd6, 0xa5, 0x75, 0x5c,
3944 0xd2, 0xcc, 0x50, 0x85, 0x99, 0xc6, 0xe2, 0x8d, 0x73, 0x55, 0xb2, 0x7e,
3945 0x40, 0xb7, 0x40, 0xc6,
3946 0xfb, 0xbb, 0xb1, 0xa9, 0x18, 0x23, 0xb1, 0xc1, 0x24, 0x2b, 0xa6, 0x93,
3947 0xd4, 0x52, 0x69, 0x51,
3948 0x47, 0xdb, 0xb2, 0x3e, 0xa8, 0x9c, 0xbf, 0x11, 0xeb, 0x8b, 0x07, 0xec,
3949 0x3a, 0x02, 0x7b, 0x0f,
3950 0x17
3951};
3952
3953/*
3954 * Test data from 186-2rsatestvectors.zip SigVet15_186-3.rsp with CRT
3955 * parameters created with:
3956 * http://sourceforge.net/projects/rsaconverter/
3957 */
3958
3959/* SigGen15_186-2.txt line 9 mod 1024 */
3960static const uint8_t ac_siggen15_186_2_modulus[] = {
3961 0xc8, 0xa2, 0x06, 0x91, 0x82, 0x39, 0x4a, 0x2a, 0xb7, 0xc3, 0xf4, 0x19,
3962 0x0c, 0x15, 0x58, 0x9c, 0x56, 0xa2, 0xd4, 0xbc, 0x42, 0xdc, 0xa6, 0x75,
3963 0xb3, 0x4c, 0xc9, 0x50, 0xe2, 0x46, 0x63, 0x04, 0x84, 0x41, 0xe8, 0xaa,
3964 0x59, 0x3b, 0x2b, 0xc5, 0x9e, 0x19, 0x8b, 0x8c, 0x25, 0x7e, 0x88, 0x21,
3965 0x20, 0xc6, 0x23, 0x36, 0xe5, 0xcc, 0x74, 0x50, 0x12, 0xc7, 0xff, 0xb0,
3966 0x63, 0xee, 0xbe, 0x53, 0xf3, 0xc6, 0x50, 0x4c, 0xba, 0x6c, 0xfe, 0x51,
3967 0xba, 0xa3, 0xb6, 0xd1, 0x07, 0x4b, 0x2f, 0x39, 0x81, 0x71, 0xf4, 0xb1,
3968 0x98, 0x2f, 0x4d, 0x65, 0xca, 0xf8, 0x82, 0xea, 0x4d, 0x56, 0xf3, 0x2a,
3969 0xb5, 0x7d, 0x0c, 0x44, 0xe6, 0xad, 0x4e, 0x9c, 0xf5, 0x7a, 0x43, 0x39,
3970 0xeb, 0x69, 0x62, 0x40, 0x6e, 0x35, 0x0c, 0x1b, 0x15, 0x39, 0x71, 0x83,
3971 0xfb, 0xf1, 0xf0, 0x35, 0x3c, 0x9f, 0xc9, 0x91
3972};
3973static const uint8_t ac_siggen15_186_2_pub_exp[] = {
3974 0x01, 0x00, 0x01
3975};
3976static const uint8_t ac_siggen15_186_2_priv_exp[] = {
3977 0x5d, 0xfc, 0xb1, 0x11, 0x07, 0x2d, 0x29, 0x56, 0x5b, 0xa1, 0xdb, 0x3e,
3978 0xc4, 0x8f, 0x57, 0x64, 0x5d, 0x9d, 0x88, 0x04, 0xed, 0x59, 0x8a, 0x4d,
3979 0x47, 0x02, 0x68, 0xa8, 0x90, 0x67, 0xa2, 0xc9, 0x21, 0xdf, 0xf2, 0x4b,
3980 0xa2, 0xe3, 0x7a, 0x3c, 0xe8, 0x34, 0x55, 0x50, 0x00, 0xdc, 0x86, 0x8e,
3981 0xe6, 0x58, 0x8b, 0x74, 0x93, 0x30, 0x35, 0x28, 0xb1, 0xb3, 0xa9, 0x4f,
3982 0x0b, 0x71, 0x73, 0x0c, 0xf1, 0xe8, 0x6f, 0xca, 0x5a, 0xee, 0xdc, 0x3a,
3983 0xfa, 0x16, 0xf6, 0x5c, 0x01, 0x89, 0xd8, 0x10, 0xdd, 0xcd, 0x81, 0x04,
3984 0x9e, 0xbb, 0xd0, 0x39, 0x18, 0x68, 0xc5, 0x0e, 0xde, 0xc9, 0x58, 0xb3,
3985 0xa2, 0xaa, 0xef, 0xf6, 0xa5, 0x75, 0x89, 0x7e, 0x2f, 0x20, 0xa3, 0xab,
3986 0x54, 0x55, 0xc1, 0xbf, 0xa5, 0x50, 0x10, 0xac, 0x51, 0xa7, 0x79, 0x9b,
3987 0x1f, 0xf8, 0x48, 0x36, 0x44, 0xa3, 0xd4, 0x25
3988};
3989static const uint8_t ac_siggen15_186_2_prime1[] = {
3990 0xF6, 0x6A, 0x24, 0x68, 0xB1, 0x48, 0x1A, 0x0D, 0x6B, 0x60, 0x49, 0x67,
3991 0xF0, 0x58, 0x03, 0x89, 0xD6, 0x06, 0x1F, 0x03, 0x3A, 0x9B, 0x57, 0xB7,
3992 0x4D, 0x1B, 0xEF, 0xE8, 0x10, 0x11, 0x98, 0x94, 0x5B, 0x80, 0x93, 0x04,
3993 0x24, 0x1D, 0x02, 0xFD, 0x5F, 0x92, 0x1F, 0xE9, 0x59, 0xFB, 0xEC, 0xDB,
3994 0x18, 0x00, 0x54, 0x86, 0x9A, 0xDB, 0x17, 0xD3, 0x21, 0xF9, 0xD5, 0xD5,
3995 0x98, 0x12, 0x3E, 0x73
3996};
3997static const uint8_t ac_siggen15_186_2_prime2[] = {
3998 0xD0, 0x6F, 0xFA, 0x56, 0x3B, 0xD0, 0xB8, 0xB9, 0x7F, 0x00, 0x72, 0xEA,
3999 0x07, 0x51, 0x03, 0xEC, 0x1F, 0xF0, 0xB1, 0x7F, 0xD6, 0xBD, 0xAF, 0x94,
4000 0xA7, 0x5A, 0xE6, 0x03, 0x59, 0x82, 0xF6, 0x80, 0x24, 0x9D, 0x77, 0xCC,
4001 0x15, 0x96, 0xA6, 0x54, 0xF1, 0x4C, 0x51, 0x7A, 0x13, 0xB9, 0x5F, 0x1A,
4002 0x8C, 0x5D, 0xE8, 0xCC, 0x84, 0xAD, 0x38, 0xD2, 0xE6, 0xAA, 0x4F, 0xCD,
4003 0x54, 0x1A, 0x32, 0xEB
4004};
4005static const uint8_t ac_siggen15_186_2_exp1[] = {
4006 0xD4, 0xD4, 0xB6, 0x9F, 0xCA, 0x47, 0x89, 0x60, 0xFF, 0xD6, 0x49, 0x70,
4007 0xC1, 0xD1, 0x73, 0x34, 0xF1, 0x2B, 0x96, 0x4B, 0xB6, 0xAA, 0x07, 0xA8,
4008 0x25, 0xAC, 0xB4, 0x98, 0xCE, 0x90, 0x34, 0x26, 0x27, 0xA6, 0x34, 0xD5,
4009 0x05, 0xD0, 0x1D, 0x0D, 0xF5, 0x27, 0x03, 0xF3, 0x0C, 0x2A, 0xA0, 0xD8,
4010 0x57, 0xB1, 0xA9, 0x50, 0x1D, 0x9E, 0x90, 0xC4, 0x66, 0x7B, 0x20, 0x6B,
4011 0x7D, 0x0E, 0x7C, 0xEB
4012};
4013static const uint8_t ac_siggen15_186_2_exp2[] = {
4014 0x28, 0x4F, 0xEF, 0xE7, 0xAB, 0xAB, 0xE3, 0x7E, 0x24, 0xBC, 0xEE, 0x7C,
4015 0xAA, 0xAB, 0x95, 0x89, 0x9E, 0x67, 0xCB, 0xBC, 0x80, 0xC8, 0xB0, 0xE3,
4016 0x9C, 0x36, 0x6D, 0x53, 0xEA, 0x84, 0xF4, 0xAD, 0xB5, 0xE7, 0x2A, 0x9B,
4017 0x32, 0xF5, 0xAE, 0xF7, 0xB0, 0xAF, 0x64, 0xF6, 0xAA, 0x47, 0xE8, 0xC7,
4018 0xD6, 0xAB, 0xF6, 0xF1, 0x4F, 0x1B, 0xBD, 0x68, 0xB4, 0xA9, 0xED, 0xC3,
4019 0x35, 0x67, 0xD7, 0xBF
4020};
4021static const uint8_t ac_siggen15_186_2_coeff[] = {
4022 0xE3, 0xBD, 0x88, 0x1C, 0x5A, 0x8F, 0x4A, 0xFC, 0xA0, 0x8C, 0xBC, 0x04,
4023 0x7C, 0xF0, 0xE3, 0x89, 0x7C, 0x85, 0x18, 0x9A, 0xF4, 0xF9, 0xA7, 0x00,
4024 0x93, 0x2C, 0xF4, 0x9E, 0x72, 0xF6, 0x44, 0x04, 0x39, 0x0D, 0xA5, 0x04,
4025 0x82, 0x79, 0xCE, 0x47, 0xF5, 0xAF, 0x58, 0x9B, 0x1B, 0xE9, 0xE4, 0x61,
4026 0xBB, 0xD8, 0xCC, 0x07, 0xAB, 0x8B, 0xC6, 0x8B, 0xAF, 0x6C, 0xC9, 0x13,
4027 0xB2, 0xE6, 0x26, 0x72
4028};
4029
4030/* SigGen15_186-2.txt line 13 SHA-1*/
4031#define ac_rsassa_vect8_modulus ac_siggen15_186_2_modulus
4032#define ac_rsassa_vect8_pub_exp ac_siggen15_186_2_pub_exp
4033#define ac_rsassa_vect8_priv_exp ac_siggen15_186_2_priv_exp
4034#define ac_rsassa_vect8_prime1 ac_siggen15_186_2_prime1
4035#define ac_rsassa_vect8_prime2 ac_siggen15_186_2_prime2
4036#define ac_rsassa_vect8_exp1 ac_siggen15_186_2_exp1
4037#define ac_rsassa_vect8_exp2 ac_siggen15_186_2_exp2
4038#define ac_rsassa_vect8_coeff ac_siggen15_186_2_coeff
4039static const uint8_t ac_rsassa_vect8_ptx[] = {
4040 0xe8, 0x31, 0x27, 0x42, 0xae, 0x23, 0xc4, 0x56, 0xef, 0x28, 0xa2, 0x31,
4041 0x42, 0xc4, 0x49, 0x08, 0x95, 0x83, 0x27, 0x65, 0xda, 0xdc, 0xe0, 0x2a,
4042 0xfe, 0x5b, 0xe5, 0xd3, 0x1b, 0x00, 0x48, 0xfb, 0xee, 0xe2, 0xcf, 0x21,
4043 0x8b, 0x17, 0x47, 0xad, 0x4f, 0xd8, 0x1a, 0x2e, 0x17, 0xe1, 0x24, 0xe6,
4044 0xaf, 0x17, 0xc3, 0x88, 0x8e, 0x6d, 0x2d, 0x40, 0xc0, 0x08, 0x07, 0xf4,
4045 0x23, 0xa2, 0x33, 0xca, 0xd6, 0x2c, 0xe9, 0xea, 0xef, 0xb7, 0x09, 0x85,
4046 0x6c, 0x94, 0xaf, 0x16, 0x6d, 0xba, 0x08, 0xe7, 0xa0, 0x69, 0x65, 0xd7,
4047 0xfc, 0x0d, 0x8e, 0x5c, 0xb2, 0x65, 0x59, 0xc4, 0x60, 0xe4, 0x7b, 0xc0,
4048 0x88, 0x58, 0x9d, 0x22, 0x42, 0xc9, 0xb3, 0xe6, 0x2d, 0xa4, 0x89, 0x6f,
4049 0xab, 0x19, 0x9e, 0x14, 0x4e, 0xc1, 0x36, 0xdb, 0x8d, 0x84, 0xab, 0x84,
4050 0xbc, 0xba, 0x04, 0xca, 0x3b, 0x90, 0xc8, 0xe5
4051};
4052static const uint8_t ac_rsassa_vect8_out[] = {
4053 0x28, 0x92, 0x8e, 0x19, 0xeb, 0x86, 0xf9, 0xc0, 0x00, 0x70, 0xa5, 0x9e,
4054 0xdf, 0x6b, 0xf8, 0x43, 0x3a, 0x45, 0xdf, 0x49, 0x5c, 0xd1, 0xc7, 0x36,
4055 0x13, 0xc2, 0x12, 0x98, 0x40, 0xf4, 0x8c, 0x4a, 0x2c, 0x24, 0xf1, 0x1d,
4056 0xf7, 0x9b, 0xc5, 0xc0, 0x78, 0x2b, 0xce, 0xdd, 0xe9, 0x7d, 0xbb, 0xb2,
4057 0xac, 0xc6, 0xe5, 0x12, 0xd1, 0x9f, 0x08, 0x50, 0x27, 0xcd, 0x57, 0x50,
4058 0x38, 0x45, 0x3d, 0x04, 0x90, 0x54, 0x13, 0xe9, 0x47, 0xe6, 0xe1, 0xdd,
4059 0xdb, 0xeb, 0x35, 0x35, 0xcd, 0xb3, 0xd8, 0x97, 0x1f, 0xe0, 0x20, 0x05,
4060 0x06, 0x94, 0x10, 0x56, 0xf2, 0x12, 0x43, 0x50, 0x3c, 0x83, 0xea, 0xdd,
4061 0xe0, 0x53, 0xed, 0x86, 0x6c, 0x0e, 0x02, 0x50, 0xbe, 0xdd, 0xd9, 0x27,
4062 0xa0, 0x82, 0x12, 0xaa, 0x8a, 0xc0, 0xef, 0xd6, 0x16, 0x31, 0xef, 0x89,
4063 0xd8, 0xd0, 0x49, 0xef, 0xb3, 0x6b, 0xb3, 0x5f
4064};
4065
4066/* SigGen15_186-2.txt line 54 SHA-224*/
4067#define ac_rsassa_vect16_modulus ac_siggen15_186_2_modulus
4068#define ac_rsassa_vect16_pub_exp ac_siggen15_186_2_pub_exp
4069#define ac_rsassa_vect16_priv_exp ac_siggen15_186_2_priv_exp
4070#define ac_rsassa_vect16_prime1 ac_siggen15_186_2_prime1
4071#define ac_rsassa_vect16_prime2 ac_siggen15_186_2_prime2
4072#define ac_rsassa_vect16_exp1 ac_siggen15_186_2_exp1
4073#define ac_rsassa_vect16_exp2 ac_siggen15_186_2_exp2
4074#define ac_rsassa_vect16_coeff ac_siggen15_186_2_coeff
4075static const uint8_t ac_rsassa_vect16_ptx[] = {
4076 0xe5, 0x67, 0xa3, 0x9a, 0xe4, 0xe5, 0xef, 0x9b, 0x68, 0x01, 0xea, 0x05,
4077 0x61, 0xb7, 0x2a, 0x5d, 0x4b, 0x5f, 0x38, 0x5f, 0x05, 0x32, 0xfc, 0x9f,
4078 0xe1, 0x0a, 0x75, 0x70, 0xf8, 0x69, 0xae, 0x05, 0xc0, 0xbd, 0xed, 0xd6,
4079 0xe0, 0xe2, 0x2d, 0x45, 0x42, 0xe9, 0xce, 0x82, 0x6a, 0x18, 0x8c, 0xac,
4080 0x07, 0x31, 0xae, 0x39, 0xc8, 0xf8, 0x7f, 0x97, 0x71, 0xef, 0x02, 0x13,
4081 0x2e, 0x64, 0xe2, 0xfb, 0x27, 0xad, 0xa8, 0xff, 0x54, 0xb3, 0x30, 0xdd,
4082 0x93, 0xad, 0x5e, 0x3e, 0xf8, 0x2e, 0x0d, 0xda, 0x64, 0x62, 0x48, 0xe3,
4083 0x59, 0x94, 0xbd, 0xa1, 0x0c, 0xf4, 0x6e, 0x5a, 0xbc, 0x98, 0xaa, 0x74,
4084 0x43, 0xc0, 0x3c, 0xdd, 0xeb, 0x5e, 0xe2, 0xab, 0x82, 0xd6, 0x01, 0x00,
4085 0xb1, 0x02, 0x96, 0x31, 0x89, 0x79, 0x70, 0x27, 0x5f, 0x11, 0x9d, 0x05,
4086 0xda, 0xa2, 0x22, 0x0a, 0x4a, 0x0d, 0xef, 0xba
4087};
4088static const uint8_t ac_rsassa_vect16_out[] = {
4089 0x5a, 0xa5, 0x03, 0x33, 0x81, 0xbd, 0xd0, 0xac, 0xce, 0x33, 0x2d, 0xd3,
4090 0x14, 0xda, 0xf0, 0x08, 0xac, 0xaa, 0x9e, 0x83, 0x5f, 0x83, 0x29, 0x79,
4091 0x89, 0x1d, 0x1b, 0xda, 0x2b, 0x55, 0xd5, 0xea, 0xe3, 0x5c, 0x47, 0x9c,
4092 0x06, 0xca, 0xc5, 0xbf, 0x33, 0xf4, 0x32, 0xc8, 0xc0, 0xa5, 0x54, 0x9d,
4093 0x1d, 0x1b, 0x29, 0xc5, 0xe2, 0x58, 0x90, 0x24, 0xd2, 0x78, 0x00, 0xa0,
4094 0xc2, 0x35, 0xa6, 0x15, 0x32, 0xc2, 0x03, 0xcb, 0xc4, 0x06, 0xac, 0x6e,
4095 0xcf, 0x63, 0xf5, 0x2a, 0xe7, 0x71, 0xb9, 0x7c, 0x08, 0xe4, 0xb1, 0x08,
4096 0xec, 0x91, 0x69, 0x00, 0xe5, 0xa1, 0x1b, 0x1d, 0x48, 0xcc, 0xa8, 0x6c,
4097 0xa5, 0xa5, 0xa7, 0x99, 0xed, 0x32, 0xe9, 0x9c, 0x81, 0x5c, 0xef, 0x04,
4098 0xcf, 0x8e, 0xb5, 0x52, 0x23, 0xbf, 0xd4, 0xd9, 0xc3, 0x44, 0x92, 0x64,
4099 0xb6, 0x00, 0x61, 0xbc, 0x36, 0x84, 0xbc, 0x82
4100};
4101
4102/* SigGen15_186-2.txt line 93 SHA-256 */
4103#define ac_rsassa_vect9_modulus ac_siggen15_186_2_modulus
4104#define ac_rsassa_vect9_pub_exp ac_siggen15_186_2_pub_exp
4105#define ac_rsassa_vect9_priv_exp ac_siggen15_186_2_priv_exp
4106#define ac_rsassa_vect9_prime1 ac_siggen15_186_2_prime1
4107#define ac_rsassa_vect9_prime2 ac_siggen15_186_2_prime2
4108#define ac_rsassa_vect9_exp1 ac_siggen15_186_2_exp1
4109#define ac_rsassa_vect9_exp2 ac_siggen15_186_2_exp2
4110#define ac_rsassa_vect9_coeff ac_siggen15_186_2_coeff
4111static const uint8_t ac_rsassa_vect9_ptx[] = {
4112 0xe5, 0x67, 0xa3, 0x9a, 0xe4, 0xe5, 0xef, 0x9b, 0x68, 0x01, 0xea, 0x05,
4113 0x61, 0xb7, 0x2a, 0x5d, 0x4b, 0x5f, 0x38, 0x5f, 0x05, 0x32, 0xfc, 0x9f,
4114 0xe1, 0x0a, 0x75, 0x70, 0xf8, 0x69, 0xae, 0x05, 0xc0, 0xbd, 0xed, 0xd6,
4115 0xe0, 0xe2, 0x2d, 0x45, 0x42, 0xe9, 0xce, 0x82, 0x6a, 0x18, 0x8c, 0xac,
4116 0x07, 0x31, 0xae, 0x39, 0xc8, 0xf8, 0x7f, 0x97, 0x71, 0xef, 0x02, 0x13,
4117 0x2e, 0x64, 0xe2, 0xfb, 0x27, 0xad, 0xa8, 0xff, 0x54, 0xb3, 0x30, 0xdd,
4118 0x93, 0xad, 0x5e, 0x3e, 0xf8, 0x2e, 0x0d, 0xda, 0x64, 0x62, 0x48, 0xe3,
4119 0x59, 0x94, 0xbd, 0xa1, 0x0c, 0xf4, 0x6e, 0x5a, 0xbc, 0x98, 0xaa, 0x74,
4120 0x43, 0xc0, 0x3c, 0xdd, 0xeb, 0x5e, 0xe2, 0xab, 0x82, 0xd6, 0x01, 0x00,
4121 0xb1, 0x02, 0x96, 0x31, 0x89, 0x79, 0x70, 0x27, 0x5f, 0x11, 0x9d, 0x05,
4122 0xda, 0xa2, 0x22, 0x0a, 0x4a, 0x0d, 0xef, 0xba
4123};
4124static const uint8_t ac_rsassa_vect9_out[] = {
4125 0x0e, 0x7c, 0xdd, 0x12, 0x1e, 0x40, 0x32, 0x3c, 0xa6, 0x11, 0x5d, 0x1e,
4126 0xc6, 0xd1, 0xf9, 0x56, 0x17, 0x38, 0x45, 0x5f, 0x0e, 0x9e, 0x1c, 0xd8,
4127 0x58, 0xe8, 0xb5, 0x66, 0xae, 0x2d, 0xa5, 0xe8, 0xee, 0x63, 0xd8, 0xf1,
4128 0x5c, 0x3c, 0xdd, 0x88, 0x02, 0x7e, 0x13, 0x40, 0x6d, 0xb6, 0x09, 0x36,
4129 0x9c, 0x88, 0xca, 0x99, 0xb3, 0x4f, 0xa1, 0x56, 0xc7, 0xee, 0x62, 0xbc,
4130 0x5a, 0x39, 0x23, 0xbb, 0x5a, 0x1e, 0xda, 0xbd, 0x45, 0xc1, 0xa4, 0x22,
4131 0xaa, 0xfc, 0xbb, 0x47, 0xe0, 0x94, 0x7f, 0x35, 0xcf, 0xef, 0x87, 0x97,
4132 0x0b, 0x4b, 0x71, 0x31, 0x62, 0xb2, 0x19, 0x16, 0xca, 0xfb, 0x8c, 0x86,
4133 0x4a, 0x3e, 0x5b, 0x9f, 0xfc, 0x98, 0x94, 0x01, 0xd4, 0xea, 0xe9, 0x92,
4134 0x31, 0x2a, 0x32, 0xc5, 0xbc, 0x88, 0xab, 0xbb, 0x45, 0xf9, 0x9a, 0xc8,
4135 0x85, 0xb5, 0x4d, 0x6b, 0x8e, 0x61, 0xb6, 0xec
4136};
4137
4138/* SigGen15_186-2.txt line 133 SHA-384*/
4139#define ac_rsassa_vect10_modulus ac_siggen15_186_2_modulus
4140#define ac_rsassa_vect10_pub_exp ac_siggen15_186_2_pub_exp
4141#define ac_rsassa_vect10_priv_exp ac_siggen15_186_2_priv_exp
4142#define ac_rsassa_vect10_prime1 ac_siggen15_186_2_prime1
4143#define ac_rsassa_vect10_prime2 ac_siggen15_186_2_prime2
4144#define ac_rsassa_vect10_exp1 ac_siggen15_186_2_exp1
4145#define ac_rsassa_vect10_exp2 ac_siggen15_186_2_exp2
4146#define ac_rsassa_vect10_coeff ac_siggen15_186_2_coeff
4147static const uint8_t ac_rsassa_vect10_ptx[] = {
4148 0xe5, 0x67, 0xa3, 0x9a, 0xe4, 0xe5, 0xef, 0x9b, 0x68, 0x01, 0xea, 0x05,
4149 0x61, 0xb7, 0x2a, 0x5d, 0x4b, 0x5f, 0x38, 0x5f, 0x05, 0x32, 0xfc, 0x9f,
4150 0xe1, 0x0a, 0x75, 0x70, 0xf8, 0x69, 0xae, 0x05, 0xc0, 0xbd, 0xed, 0xd6,
4151 0xe0, 0xe2, 0x2d, 0x45, 0x42, 0xe9, 0xce, 0x82, 0x6a, 0x18, 0x8c, 0xac,
4152 0x07, 0x31, 0xae, 0x39, 0xc8, 0xf8, 0x7f, 0x97, 0x71, 0xef, 0x02, 0x13,
4153 0x2e, 0x64, 0xe2, 0xfb, 0x27, 0xad, 0xa8, 0xff, 0x54, 0xb3, 0x30, 0xdd,
4154 0x93, 0xad, 0x5e, 0x3e, 0xf8, 0x2e, 0x0d, 0xda, 0x64, 0x62, 0x48, 0xe3,
4155 0x59, 0x94, 0xbd, 0xa1, 0x0c, 0xf4, 0x6e, 0x5a, 0xbc, 0x98, 0xaa, 0x74,
4156 0x43, 0xc0, 0x3c, 0xdd, 0xeb, 0x5e, 0xe2, 0xab, 0x82, 0xd6, 0x01, 0x00,
4157 0xb1, 0x02, 0x96, 0x31, 0x89, 0x79, 0x70, 0x27, 0x5f, 0x11, 0x9d, 0x05,
4158 0xda, 0xa2, 0x22, 0x0a, 0x4a, 0x0d, 0xef, 0xba
4159};
4160static const uint8_t ac_rsassa_vect10_out[] = {
4161 0x16, 0x89, 0xa8, 0x52, 0x39, 0x19, 0xac, 0x77, 0xcc, 0x99, 0x7e, 0xbc,
4162 0x59, 0xcb, 0x90, 0x88, 0x72, 0xd8, 0x8b, 0x28, 0x55, 0xa3, 0x09, 0xea,
4163 0xd2, 0x77, 0x9b, 0x88, 0x8b, 0x22, 0xb4, 0x23, 0x2d, 0xa9, 0xb9, 0x3b,
4164 0xb1, 0x9b, 0x32, 0xc1, 0xdb, 0x77, 0xad, 0x73, 0x8c, 0x6e, 0x43, 0x36,
4165 0x1e, 0x9e, 0xb6, 0xb1, 0xa3, 0x7c, 0x49, 0xa8, 0xf3, 0xc7, 0xc7, 0xae,
4166 0x7e, 0x78, 0x4d, 0x19, 0xa6, 0x21, 0x38, 0x74, 0x12, 0x93, 0xe4, 0x9b,
4167 0x18, 0x31, 0xc0, 0xc3, 0x61, 0x7e, 0xb4, 0x3c, 0x56, 0x70, 0x6d, 0x83,
4168 0x31, 0x49, 0x53, 0x47, 0x06, 0x36, 0x44, 0x10, 0x86, 0x41, 0x9a, 0xb9,
4169 0xe6, 0xfd, 0x1e, 0xc4, 0xf9, 0xd5, 0xcc, 0x65, 0x44, 0x81, 0x5d, 0x1e,
4170 0x02, 0xed, 0x96, 0xa3, 0xae, 0x64, 0xc6, 0x99, 0x8b, 0x2c, 0xf2, 0x38,
4171 0xe7, 0x9a, 0x12, 0x16, 0x43, 0x52, 0xd1, 0x2a
4172};
4173
4174/* SigGen15_186-2.txt line 173 SHA-512*/
4175#define ac_rsassa_vect11_modulus ac_siggen15_186_2_modulus
4176#define ac_rsassa_vect11_pub_exp ac_siggen15_186_2_pub_exp
4177#define ac_rsassa_vect11_priv_exp ac_siggen15_186_2_priv_exp
4178#define ac_rsassa_vect11_prime1 ac_siggen15_186_2_prime1
4179#define ac_rsassa_vect11_prime2 ac_siggen15_186_2_prime2
4180#define ac_rsassa_vect11_exp1 ac_siggen15_186_2_exp1
4181#define ac_rsassa_vect11_exp2 ac_siggen15_186_2_exp2
4182#define ac_rsassa_vect11_coeff ac_siggen15_186_2_coeff
4183static const uint8_t ac_rsassa_vect11_ptx[] = {
4184 0xe5, 0x67, 0xa3, 0x9a, 0xe4, 0xe5, 0xef, 0x9b, 0x68, 0x01, 0xea, 0x05,
4185 0x61, 0xb7, 0x2a, 0x5d, 0x4b, 0x5f, 0x38, 0x5f, 0x05, 0x32, 0xfc, 0x9f,
4186 0xe1, 0x0a, 0x75, 0x70, 0xf8, 0x69, 0xae, 0x05, 0xc0, 0xbd, 0xed, 0xd6,
4187 0xe0, 0xe2, 0x2d, 0x45, 0x42, 0xe9, 0xce, 0x82, 0x6a, 0x18, 0x8c, 0xac,
4188 0x07, 0x31, 0xae, 0x39, 0xc8, 0xf8, 0x7f, 0x97, 0x71, 0xef, 0x02, 0x13,
4189 0x2e, 0x64, 0xe2, 0xfb, 0x27, 0xad, 0xa8, 0xff, 0x54, 0xb3, 0x30, 0xdd,
4190 0x93, 0xad, 0x5e, 0x3e, 0xf8, 0x2e, 0x0d, 0xda, 0x64, 0x62, 0x48, 0xe3,
4191 0x59, 0x94, 0xbd, 0xa1, 0x0c, 0xf4, 0x6e, 0x5a, 0xbc, 0x98, 0xaa, 0x74,
4192 0x43, 0xc0, 0x3c, 0xdd, 0xeb, 0x5e, 0xe2, 0xab, 0x82, 0xd6, 0x01, 0x00,
4193 0xb1, 0x02, 0x96, 0x31, 0x89, 0x79, 0x70, 0x27, 0x5f, 0x11, 0x9d, 0x05,
4194 0xda, 0xa2, 0x22, 0x0a, 0x4a, 0x0d, 0xef, 0xba
4195};
4196static const uint8_t ac_rsassa_vect11_out[] = {
4197 0xbf, 0x3f, 0xf2, 0xc6, 0x96, 0x75, 0xf1, 0xb8, 0xed, 0x42, 0x10, 0x21,
4198 0x80, 0x1f, 0xb4, 0xce, 0x29, 0xa7, 0x57, 0xf7, 0xf8, 0x86, 0x9c, 0xe4,
4199 0x36, 0xd0, 0xd7, 0x5a, 0xb7, 0x49, 0xef, 0xc8, 0xb9, 0x03, 0xd9, 0xf9,
4200 0xcb, 0x21, 0x46, 0x86, 0x14, 0x7f, 0x12, 0xf3, 0x33, 0x5f, 0xa9, 0x36,
4201 0x68, 0x9c, 0x19, 0x2f, 0x31, 0x0a, 0xe3, 0xc5, 0xd7, 0x54, 0x93, 0xf4,
4202 0x4b, 0x24, 0xbc, 0x1c, 0xd3, 0x50, 0x15, 0x84, 0xaa, 0xa5, 0x00, 0x4b,
4203 0x65, 0xa8, 0x71, 0x6d, 0x1e, 0xda, 0x72, 0x40, 0xad, 0x8a, 0x52, 0x9d,
4204 0x5a, 0x0c, 0xf1, 0x69, 0xf4, 0x05, 0x4b, 0x45, 0x0e, 0x07, 0x6e, 0xe0,
4205 0xd4, 0x1a, 0x00, 0x11, 0xc5, 0x57, 0xaa, 0x69, 0xa8, 0x4a, 0x81, 0x04,
4206 0xc9, 0x09, 0x20, 0x1d, 0x60, 0xfe, 0x39, 0xc7, 0x9e, 0x68, 0x43, 0x47,
4207 0xef, 0x4d, 0x14, 0x4e, 0xa1, 0x8f, 0x7a, 0x4e
4208};
4209
4210
4211/* SigGenPSS_186-2.txt line 9 mod 1024 */
4212static const uint8_t ac_siggenpss_186_2_modulus[] = {
4213 0xbc, 0xb4, 0x7b, 0x2e, 0x0d, 0xaf, 0xcb, 0xa8, 0x1f, 0xf2, 0xa2, 0xb5,
4214 0xcb, 0x11, 0x5c, 0xa7, 0xe7, 0x57, 0x18, 0x4c, 0x9d, 0x72, 0xbc, 0xdc,
4215 0xda, 0x70, 0x7a, 0x14, 0x6b, 0x3b, 0x4e, 0x29, 0x98, 0x9d, 0xdc, 0x66,
4216 0x0b, 0xd6, 0x94, 0x86, 0x5b, 0x93, 0x2b, 0x71, 0xca, 0x24, 0xa3, 0x35,
4217 0xcf, 0x4d, 0x33, 0x9c, 0x71, 0x91, 0x83, 0xe6, 0x22, 0x2e, 0x4c, 0x9e,
4218 0xa6, 0x87, 0x5a, 0xcd, 0x52, 0x8a, 0x49, 0xba, 0x21, 0x86, 0x3f, 0xe0,
4219 0x81, 0x47, 0xc3, 0xa4, 0x7e, 0x41, 0x99, 0x0b, 0x51, 0xa0, 0x3f, 0x77,
4220 0xd2, 0x21, 0x37, 0xf8, 0xd7, 0x4c, 0x43, 0xa5, 0xa4, 0x5f, 0x4e, 0x9e,
4221 0x18, 0xa2, 0xd1, 0x5d, 0xb0, 0x51, 0xdc, 0x89, 0x38, 0x5d, 0xb9, 0xcf,
4222 0x83, 0x74, 0xb6, 0x3a, 0x8c, 0xc8, 0x81, 0x13, 0x71, 0x0e, 0x6d, 0x81,
4223 0x79, 0x07, 0x5b, 0x7d, 0xc7, 0x9e, 0xe7, 0x6b
4224};
4225static const uint8_t ac_siggenpss_186_2_pub_exp[] = {
4226 0x01, 0x00, 0x01
4227};
4228static const uint8_t ac_siggenpss_186_2_priv_exp[] = {
4229 0x38, 0x3a, 0x6f, 0x19, 0xe1, 0xea, 0x27, 0xfd, 0x08, 0xc7, 0xfb, 0xc3,
4230 0xbf, 0xa6, 0x84, 0xbd, 0x63, 0x29, 0x88, 0x8c, 0x0b, 0xbe, 0x4c, 0x98,
4231 0x62, 0x5e, 0x71, 0x81, 0xf4, 0x11, 0xcf, 0xd0, 0x85, 0x31, 0x44, 0xa3,
4232 0x03, 0x94, 0x04, 0xdd, 0xa4, 0x1b, 0xce, 0x2e, 0x31, 0xd5, 0x88, 0xec,
4233 0x57, 0xc0, 0xe1, 0x48, 0x14, 0x6f, 0x0f, 0xa6, 0x5b, 0x39, 0x00, 0x8b,
4234 0xa5, 0x83, 0x5f, 0x82, 0x9b, 0xa3, 0x5a, 0xe2, 0xf1, 0x55, 0xd6, 0x1b,
4235 0x8a, 0x12, 0x58, 0x1b, 0x99, 0xc9, 0x27, 0xfd, 0x2f, 0x22, 0x25, 0x2c,
4236 0x5e, 0x73, 0xcb, 0xa4, 0xa6, 0x10, 0xdb, 0x39, 0x73, 0xe0, 0x19, 0xee,
4237 0x0f, 0x95, 0x13, 0x0d, 0x43, 0x19, 0xed, 0x41, 0x34, 0x32, 0xf2, 0xe5,
4238 0xe2, 0x0d, 0x52, 0x15, 0xcd, 0xd2, 0x7c, 0x21, 0x64, 0x20, 0x6b, 0x3f,
4239 0x80, 0xed, 0xee, 0x51, 0x93, 0x8a, 0x25, 0xc1
4240};
4241static const uint8_t ac_siggenpss_186_2_prime1[] = {
4242 0xE5, 0x56, 0x3B, 0x14, 0x5D, 0xB6, 0xFF, 0x5A, 0x16, 0x28, 0x0D, 0x3E,
4243 0x80, 0xEF, 0xF0, 0x2F, 0x18, 0x1D, 0xBD, 0x03, 0x32, 0x4E, 0xF2, 0x47,
4244 0xF5, 0x96, 0xA4, 0xD4, 0xA7, 0xB8, 0xDA, 0xA3, 0x2B, 0x99, 0x34, 0xE3,
4245 0xC7, 0xF4, 0xDC, 0xF6, 0xA3, 0x10, 0x54, 0x62, 0xDE, 0xC6, 0x38, 0x39,
4246 0x63, 0x86, 0x18, 0x41, 0x8B, 0x51, 0xDB, 0x02, 0x69, 0x3F, 0xAB, 0xB4,
4247 0xE6, 0x83, 0x87, 0x25
4248};
4249static const uint8_t ac_siggenpss_186_2_prime2[] = {
4250 0xD2, 0xA4, 0xEC, 0x0F, 0xA2, 0x22, 0x6C, 0xDE, 0x82, 0xDA, 0x77, 0x65,
4251 0x3B, 0x07, 0x2C, 0xD0, 0x98, 0x53, 0x5D, 0x3E, 0x90, 0xED, 0x4D, 0x72,
4252 0x24, 0xDC, 0xB8, 0xCB, 0x8B, 0x93, 0x14, 0x76, 0x8D, 0xC5, 0x17, 0xE2,
4253 0x2D, 0x7C, 0x8F, 0xA1, 0x3F, 0x25, 0x3D, 0xAA, 0x74, 0x65, 0xA7, 0x99,
4254 0x56, 0x09, 0x8A, 0xA4, 0xCC, 0x3A, 0x6E, 0x35, 0xE8, 0xB1, 0xFC, 0xC4,
4255 0xF9, 0x7E, 0x77, 0x4F
4256};
4257static const uint8_t ac_siggenpss_186_2_exp1[] = {
4258 0x1F, 0x6A, 0xCA, 0xB9, 0x25, 0x85, 0x76, 0x41, 0xCF, 0x1B, 0x39, 0x85,
4259 0x40, 0x80, 0x9E, 0x34, 0xB5, 0x67, 0x0D, 0x87, 0xAC, 0x92, 0xA8, 0x1A,
4260 0x37, 0x88, 0xA5, 0x98, 0x04, 0x4A, 0x0C, 0x99, 0xA1, 0xD5, 0x61, 0x2B,
4261 0x7B, 0x2F, 0x0E, 0x3E, 0x33, 0x64, 0x7F, 0x4A, 0xF4, 0x1D, 0xCF, 0x81,
4262 0xFD, 0x22, 0x57, 0x9C, 0x53, 0x0B, 0xA9, 0xA7, 0x10, 0xE8, 0x0A, 0x0B,
4263 0xC4, 0x30, 0x6C, 0x89
4264};
4265static const uint8_t ac_siggenpss_186_2_exp2[] = {
4266 0x59, 0xF2, 0x84, 0xBE, 0xD4, 0x3C, 0x21, 0x03, 0x0F, 0x1B, 0x5C, 0xDA,
4267 0x84, 0x4F, 0x37, 0x0A, 0xC7, 0xD0, 0xE9, 0x43, 0x3B, 0x3D, 0xA9, 0xD1,
4268 0x70, 0xFE, 0x33, 0x86, 0xEF, 0x4D, 0xD9, 0xF2, 0x19, 0xED, 0xAC, 0x9A,
4269 0x2F, 0x54, 0x3E, 0x3C, 0xDB, 0xAA, 0xFA, 0x5F, 0x1C, 0x1F, 0x00, 0x67,
4270 0x50, 0xBE, 0xF8, 0x4E, 0x10, 0xCB, 0x6E, 0x9E, 0x64, 0x84, 0x04, 0x6C,
4271 0xD4, 0x20, 0xF5, 0xAF
4272};
4273static const uint8_t ac_siggenpss_186_2_coeff[] = {
4274 0x83, 0x5F, 0xC1, 0xB6, 0x52, 0x1C, 0x83, 0xE7, 0x6F, 0x80, 0x64, 0xFF,
4275 0xF8, 0x38, 0x80, 0xE1, 0xC9, 0x8F, 0x81, 0x13, 0x1E, 0xE8, 0x6E, 0x5D,
4276 0xF8, 0x57, 0x6A, 0xDA, 0x7D, 0x75, 0xC2, 0x6F, 0x8D, 0xB8, 0xBA, 0x8B,
4277 0x46, 0xF4, 0x6C, 0x69, 0xA5, 0x9D, 0xC5, 0xF2, 0x11, 0x8A, 0x9A, 0x90,
4278 0x8E, 0xC0, 0x8F, 0x45, 0xB0, 0x50, 0x4D, 0x2A, 0x42, 0x86, 0x49, 0x5E,
4279 0x2A, 0x1B, 0x78, 0x2E
4280};
4281/* Salt: 6f2841166a64471d4f0b8ed0dbb7db32161da13b */
4282#define ac_siggenpss_186_2_salt_len 20
4283
4284
4285/* SigGen15_186-2.txt line 173 SHA-1 */
4286#define ac_rsassa_vect12_modulus ac_siggenpss_186_2_modulus
4287#define ac_rsassa_vect12_pub_exp ac_siggenpss_186_2_pub_exp
4288#define ac_rsassa_vect12_priv_exp ac_siggenpss_186_2_priv_exp
4289#define ac_rsassa_vect12_prime1 ac_siggenpss_186_2_prime1
4290#define ac_rsassa_vect12_prime2 ac_siggenpss_186_2_prime2
4291#define ac_rsassa_vect12_exp1 ac_siggenpss_186_2_exp1
4292#define ac_rsassa_vect12_exp2 ac_siggenpss_186_2_exp2
4293#define ac_rsassa_vect12_coeff ac_siggenpss_186_2_coeff
4294#define ac_rsassa_vect12_salt_len ac_siggenpss_186_2_salt_len
4295static const uint8_t ac_rsassa_vect12_ptx[] = {
4296 0x12, 0x48, 0xf6, 0x2a, 0x43, 0x89, 0xf4, 0x2f, 0x7b, 0x4b, 0xb1, 0x31,
4297 0x05, 0x3d, 0x6c, 0x88, 0xa9, 0x94, 0xdb, 0x20, 0x75, 0xb9, 0x12, 0xcc,
4298 0xbe, 0x3e, 0xa7, 0xdc, 0x61, 0x17, 0x14, 0xf1, 0x4e, 0x07, 0x5c, 0x10,
4299 0x48, 0x58, 0xf2, 0xf6, 0xe6, 0xcf, 0xd6, 0xab, 0xde, 0xdf, 0x01, 0x5a,
4300 0x82, 0x1d, 0x03, 0x60, 0x8b, 0xf4, 0xeb, 0xa3, 0x16, 0x9a, 0x67, 0x25,
4301 0xec, 0x42, 0x2c, 0xd9, 0x06, 0x94, 0x98, 0xb5, 0x51, 0x5a, 0x96, 0x08,
4302 0xae, 0x7c, 0xc3, 0x0e, 0x3d, 0x2e, 0xcf, 0xc1, 0xdb, 0x68, 0x25, 0xf3,
4303 0xe9, 0x96, 0xce, 0x9a, 0x50, 0x92, 0x92, 0x6b, 0xc1, 0xcf, 0x61, 0xaa,
4304 0x42, 0xd7, 0xf2, 0x40, 0xe6, 0xf7, 0xaa, 0x0e, 0xdb, 0x38, 0xbf, 0x81,
4305 0xaa, 0x92, 0x9d, 0x66, 0xbb, 0x5d, 0x89, 0x00, 0x18, 0x08, 0x84, 0x58,
4306 0x72, 0x0d, 0x72, 0xd5, 0x69, 0x24, 0x7b, 0x0c
4307};
4308static const uint8_t ac_rsassa_vect12_out[] = {
4309 0x68, 0x2c, 0xf5, 0x3c, 0x11, 0x45, 0xd2, 0x2a, 0x50, 0xca, 0xa9, 0xeb,
4310 0x1a, 0x9b, 0xa7, 0x06, 0x70, 0xc5, 0x91, 0x5e, 0x0f, 0xdf, 0xde, 0x64,
4311 0x57, 0xa7, 0x65, 0xde, 0x2a, 0x8f, 0xe1, 0x2d, 0xe9, 0x79, 0x41, 0x72,
4312 0xa7, 0x8d, 0x14, 0xe6, 0x68, 0xd4, 0x98, 0xac, 0xed, 0xad, 0x61, 0x65,
4313 0x04, 0xbb, 0x17, 0x64, 0xd0, 0x94, 0x60, 0x70, 0x70, 0x08, 0x05, 0x92,
4314 0xc3, 0xa6, 0x9c, 0x34, 0x3d, 0x98, 0x2b, 0xd7, 0x78, 0x65, 0x87, 0x3d,
4315 0x35, 0xe2, 0x48, 0x22, 0xca, 0xf4, 0x34, 0x43, 0xcc, 0x10, 0x24, 0x9a,
4316 0xf6, 0xa1, 0xe2, 0x6e, 0xf3, 0x44, 0xf2, 0x8b, 0x9e, 0xf6, 0xf1, 0x4e,
4317 0x09, 0xad, 0x83, 0x97, 0x48, 0xe5, 0x14, 0x8b, 0xcc, 0xeb, 0x0f, 0xd2,
4318 0xaa, 0x63, 0x70, 0x9c, 0xb4, 0x89, 0x75, 0xcb, 0xf9, 0xc7, 0xb4, 0x9a,
4319 0xbc, 0x66, 0xa1, 0xdc, 0x6c, 0xb5, 0xb3, 0x1a
4320};
4321
4322/* SigGenPSS_186-2.txt line 66 SHA-224 */
4323#define ac_rsassa_vect17_modulus ac_siggenpss_186_2_modulus
4324#define ac_rsassa_vect17_pub_exp ac_siggenpss_186_2_pub_exp
4325#define ac_rsassa_vect17_priv_exp ac_siggenpss_186_2_priv_exp
4326#define ac_rsassa_vect17_prime1 ac_siggenpss_186_2_prime1
4327#define ac_rsassa_vect17_prime2 ac_siggenpss_186_2_prime2
4328#define ac_rsassa_vect17_exp1 ac_siggenpss_186_2_exp1
4329#define ac_rsassa_vect17_exp2 ac_siggenpss_186_2_exp2
4330#define ac_rsassa_vect17_coeff ac_siggenpss_186_2_coeff
4331#define ac_rsassa_vect17_salt_len ac_siggenpss_186_2_salt_len
4332static const uint8_t ac_rsassa_vect17_ptx[] = {
4333 0x12, 0x48, 0xf6, 0x2a, 0x43, 0x89, 0xf4, 0x2f, 0x7b, 0x4b, 0xb1, 0x31,
4334 0x05, 0x3d, 0x6c, 0x88, 0xa9, 0x94, 0xdb, 0x20, 0x75, 0xb9, 0x12, 0xcc,
4335 0xbe, 0x3e, 0xa7, 0xdc, 0x61, 0x17, 0x14, 0xf1, 0x4e, 0x07, 0x5c, 0x10,
4336 0x48, 0x58, 0xf2, 0xf6, 0xe6, 0xcf, 0xd6, 0xab, 0xde, 0xdf, 0x01, 0x5a,
4337 0x82, 0x1d, 0x03, 0x60, 0x8b, 0xf4, 0xeb, 0xa3, 0x16, 0x9a, 0x67, 0x25,
4338 0xec, 0x42, 0x2c, 0xd9, 0x06, 0x94, 0x98, 0xb5, 0x51, 0x5a, 0x96, 0x08,
4339 0xae, 0x7c, 0xc3, 0x0e, 0x3d, 0x2e, 0xcf, 0xc1, 0xdb, 0x68, 0x25, 0xf3,
4340 0xe9, 0x96, 0xce, 0x9a, 0x50, 0x92, 0x92, 0x6b, 0xc1, 0xcf, 0x61, 0xaa,
4341 0x42, 0xd7, 0xf2, 0x40, 0xe6, 0xf7, 0xaa, 0x0e, 0xdb, 0x38, 0xbf, 0x81,
4342 0xaa, 0x92, 0x9d, 0x66, 0xbb, 0x5d, 0x89, 0x00, 0x18, 0x08, 0x84, 0x58,
4343 0x72, 0x0d, 0x72, 0xd5, 0x69, 0x24, 0x7b, 0x0c,
4344};
4345static const uint8_t ac_rsassa_vect17_out[] = {
4346 0x53, 0xd8, 0x59, 0xc9, 0xf1, 0x0a, 0xbf, 0x1c, 0x00, 0x28, 0x4a, 0x4b,
4347 0x55, 0xbf, 0x2b, 0xd8, 0x4d, 0x8e, 0x31, 0x3b, 0x4f, 0x3c, 0x35, 0xb8,
4348 0xde, 0xc7, 0xbc, 0x3a, 0xfe, 0x39, 0xb9, 0xb8, 0xa1, 0x55, 0x41, 0x8e,
4349 0xad, 0x19, 0x31, 0x89, 0x57, 0x69, 0xce, 0x23, 0x40, 0xbe, 0x20, 0x91,
4350 0xf2, 0x38, 0x5b, 0xbc, 0xf1, 0x0d, 0x9e, 0x92, 0xbc, 0xf5, 0xd0, 0xe2,
4351 0x96, 0x0d, 0x10, 0xe7, 0x92, 0xe7, 0xd8, 0x65, 0xc6, 0x4e, 0x50, 0xd1,
4352 0x9f, 0xfa, 0x13, 0xe5, 0x28, 0x17, 0xd7, 0xd8, 0xd8, 0xdb, 0x34, 0x39,
4353 0x2c, 0x23, 0x74, 0xa2, 0xe9, 0xb6, 0x91, 0x84, 0xf9, 0x2a, 0x4a, 0xd9,
4354 0xb1, 0xb8, 0xba, 0xe9, 0x9c, 0xa6, 0x14, 0xd2, 0x04, 0xb6, 0x5a, 0x43,
4355 0x8e, 0x38, 0xdb, 0xbf, 0xc8, 0xc7, 0xcc, 0x44, 0xed, 0x56, 0x77, 0xaf,
4356 0x70, 0xce, 0x6c, 0x4f, 0x95, 0x1f, 0x02, 0x44,
4357};
4358
4359/* SigGen15_186-2.txt line 114 SHA-256 */
4360#define ac_rsassa_vect13_modulus ac_siggenpss_186_2_modulus
4361#define ac_rsassa_vect13_pub_exp ac_siggenpss_186_2_pub_exp
4362#define ac_rsassa_vect13_priv_exp ac_siggenpss_186_2_priv_exp
4363#define ac_rsassa_vect13_prime1 ac_siggenpss_186_2_prime1
4364#define ac_rsassa_vect13_prime2 ac_siggenpss_186_2_prime2
4365#define ac_rsassa_vect13_exp1 ac_siggenpss_186_2_exp1
4366#define ac_rsassa_vect13_exp2 ac_siggenpss_186_2_exp2
4367#define ac_rsassa_vect13_coeff ac_siggenpss_186_2_coeff
4368#define ac_rsassa_vect13_salt_len ac_siggenpss_186_2_salt_len
4369static const uint8_t ac_rsassa_vect13_ptx[] = {
4370 0x12, 0x48, 0xf6, 0x2a, 0x43, 0x89, 0xf4, 0x2f, 0x7b, 0x4b, 0xb1, 0x31,
4371 0x05, 0x3d, 0x6c, 0x88, 0xa9, 0x94, 0xdb, 0x20, 0x75, 0xb9, 0x12, 0xcc,
4372 0xbe, 0x3e, 0xa7, 0xdc, 0x61, 0x17, 0x14, 0xf1, 0x4e, 0x07, 0x5c, 0x10,
4373 0x48, 0x58, 0xf2, 0xf6, 0xe6, 0xcf, 0xd6, 0xab, 0xde, 0xdf, 0x01, 0x5a,
4374 0x82, 0x1d, 0x03, 0x60, 0x8b, 0xf4, 0xeb, 0xa3, 0x16, 0x9a, 0x67, 0x25,
4375 0xec, 0x42, 0x2c, 0xd9, 0x06, 0x94, 0x98, 0xb5, 0x51, 0x5a, 0x96, 0x08,
4376 0xae, 0x7c, 0xc3, 0x0e, 0x3d, 0x2e, 0xcf, 0xc1, 0xdb, 0x68, 0x25, 0xf3,
4377 0xe9, 0x96, 0xce, 0x9a, 0x50, 0x92, 0x92, 0x6b, 0xc1, 0xcf, 0x61, 0xaa,
4378 0x42, 0xd7, 0xf2, 0x40, 0xe6, 0xf7, 0xaa, 0x0e, 0xdb, 0x38, 0xbf, 0x81,
4379 0xaa, 0x92, 0x9d, 0x66, 0xbb, 0x5d, 0x89, 0x00, 0x18, 0x08, 0x84, 0x58,
4380 0x72, 0x0d, 0x72, 0xd5, 0x69, 0x24, 0x7b, 0x0c
4381};
4382static const uint8_t ac_rsassa_vect13_out[] = {
4383 0x7b, 0x1d, 0x37, 0x27, 0x8e, 0x54, 0x98, 0x98, 0xd4, 0x08, 0x4e, 0x22,
4384 0x10, 0xc4, 0xa9, 0x96, 0x1e, 0xdf, 0xe7, 0xb5, 0x96, 0x35, 0x50, 0xcc,
4385 0xa1, 0x90, 0x42, 0x48, 0xc8, 0x68, 0x15, 0x13, 0x53, 0x90, 0x17, 0x82,
4386 0x0f, 0x0e, 0x9b, 0xd0, 0x74, 0xb9, 0xf8, 0xa0, 0x67, 0xb9, 0xfe, 0xff,
4387 0xf7, 0xf1, 0xfa, 0x20, 0xbf, 0x2d, 0x0c, 0x75, 0x01, 0x5f, 0xf0, 0x20,
4388 0xb2, 0x21, 0x0c, 0xc7, 0xf7, 0x90, 0x34, 0xfe, 0xdf, 0x68, 0xe8, 0xd4,
4389 0x4a, 0x00, 0x7a, 0xbf, 0x4d, 0xd8, 0x2c, 0x26, 0xe8, 0xb0, 0x03, 0x93,
4390 0x72, 0x3a, 0xea, 0x15, 0xab, 0xfb, 0xc2, 0x29, 0x41, 0xc8, 0xcf, 0x79,
4391 0x48, 0x17, 0x18, 0xc0, 0x08, 0xda, 0x71, 0x3f, 0xb8, 0xf5, 0x4c, 0xb3,
4392 0xfc, 0xa8, 0x90, 0xbd, 0xe1, 0x13, 0x73, 0x14, 0x33, 0x4b, 0x9b, 0x0a,
4393 0x18, 0x51, 0x5b, 0xfa, 0x48, 0xe5, 0xcc, 0xd0
4394};
4395
4396/* SigGen15_186-2.txt line 164 SHA-384 */
4397#define ac_rsassa_vect14_modulus ac_siggenpss_186_2_modulus
4398#define ac_rsassa_vect14_pub_exp ac_siggenpss_186_2_pub_exp
4399#define ac_rsassa_vect14_priv_exp ac_siggenpss_186_2_priv_exp
4400#define ac_rsassa_vect14_prime1 ac_siggenpss_186_2_prime1
4401#define ac_rsassa_vect14_prime2 ac_siggenpss_186_2_prime2
4402#define ac_rsassa_vect14_exp1 ac_siggenpss_186_2_exp1
4403#define ac_rsassa_vect14_exp2 ac_siggenpss_186_2_exp2
4404#define ac_rsassa_vect14_coeff ac_siggenpss_186_2_coeff
4405#define ac_rsassa_vect14_salt_len ac_siggenpss_186_2_salt_len
4406static const uint8_t ac_rsassa_vect14_ptx[] = {
4407 0x12, 0x48, 0xf6, 0x2a, 0x43, 0x89, 0xf4, 0x2f, 0x7b, 0x4b, 0xb1, 0x31,
4408 0x05, 0x3d, 0x6c, 0x88, 0xa9, 0x94, 0xdb, 0x20, 0x75, 0xb9, 0x12, 0xcc,
4409 0xbe, 0x3e, 0xa7, 0xdc, 0x61, 0x17, 0x14, 0xf1, 0x4e, 0x07, 0x5c, 0x10,
4410 0x48, 0x58, 0xf2, 0xf6, 0xe6, 0xcf, 0xd6, 0xab, 0xde, 0xdf, 0x01, 0x5a,
4411 0x82, 0x1d, 0x03, 0x60, 0x8b, 0xf4, 0xeb, 0xa3, 0x16, 0x9a, 0x67, 0x25,
4412 0xec, 0x42, 0x2c, 0xd9, 0x06, 0x94, 0x98, 0xb5, 0x51, 0x5a, 0x96, 0x08,
4413 0xae, 0x7c, 0xc3, 0x0e, 0x3d, 0x2e, 0xcf, 0xc1, 0xdb, 0x68, 0x25, 0xf3,
4414 0xe9, 0x96, 0xce, 0x9a, 0x50, 0x92, 0x92, 0x6b, 0xc1, 0xcf, 0x61, 0xaa,
4415 0x42, 0xd7, 0xf2, 0x40, 0xe6, 0xf7, 0xaa, 0x0e, 0xdb, 0x38, 0xbf, 0x81,
4416 0xaa, 0x92, 0x9d, 0x66, 0xbb, 0x5d, 0x89, 0x00, 0x18, 0x08, 0x84, 0x58,
4417 0x72, 0x0d, 0x72, 0xd5, 0x69, 0x24, 0x7b, 0x0c
4418};
4419static const uint8_t ac_rsassa_vect14_out[] = {
4420 0x8f, 0x16, 0xc8, 0x07, 0xbe, 0xf3, 0xed, 0x6f, 0x74, 0xee, 0x7f, 0xf5,
4421 0xc3, 0x60, 0xa5, 0x42, 0x8c, 0x6c, 0x2f, 0x10, 0x51, 0x78, 0xb5, 0x8f,
4422 0xf7, 0xd0, 0x73, 0xe5, 0x66, 0xda, 0xd6, 0xe7, 0x71, 0x8d, 0x31, 0x29,
4423 0xc7, 0x68, 0xcd, 0x5a, 0x96, 0x66, 0xde, 0x2b, 0x6c, 0x94, 0x71, 0x77,
4424 0xb4, 0x57, 0x09, 0xdc, 0x7c, 0xd0, 0xf4, 0x3b, 0x0b, 0xa6, 0xfc, 0x75,
4425 0x57, 0x8e, 0x11, 0x96, 0xac, 0xc1, 0x5c, 0xa3, 0xaf, 0xe4, 0xa7, 0x8c,
4426 0x14, 0x4c, 0xb6, 0x88, 0x5c, 0x1c, 0xc8, 0x15, 0xf7, 0xf9, 0x89, 0x25,
4427 0xbc, 0x04, 0xad, 0x2f, 0xf2, 0x0f, 0xc1, 0x06, 0x8b, 0x04, 0x5d, 0x94,
4428 0x50, 0xe2, 0xa1, 0xdc, 0xf5, 0xa1, 0x61, 0xce, 0xab, 0xba, 0x2b, 0x0b,
4429 0x66, 0xc7, 0x35, 0x4f, 0xdb, 0x80, 0xfa, 0x1d, 0x72, 0x9e, 0x5f, 0x97,
4430 0x63, 0x87, 0xf2, 0x4a, 0x69, 0x7a, 0x7e, 0x56
4431};
4432
4433/* SigGen15_186-2.txt line 214 SHA-512 */
4434#define ac_rsassa_vect15_modulus ac_siggenpss_186_2_modulus
4435#define ac_rsassa_vect15_pub_exp ac_siggenpss_186_2_pub_exp
4436#define ac_rsassa_vect15_priv_exp ac_siggenpss_186_2_priv_exp
4437#define ac_rsassa_vect15_prime1 ac_siggenpss_186_2_prime1
4438#define ac_rsassa_vect15_prime2 ac_siggenpss_186_2_prime2
4439#define ac_rsassa_vect15_exp1 ac_siggenpss_186_2_exp1
4440#define ac_rsassa_vect15_exp2 ac_siggenpss_186_2_exp2
4441#define ac_rsassa_vect15_coeff ac_siggenpss_186_2_coeff
4442#define ac_rsassa_vect15_salt_len ac_siggenpss_186_2_salt_len
4443static const uint8_t ac_rsassa_vect15_ptx[] = {
4444 0x12, 0x48, 0xf6, 0x2a, 0x43, 0x89, 0xf4, 0x2f, 0x7b, 0x4b, 0xb1, 0x31,
4445 0x05, 0x3d, 0x6c, 0x88, 0xa9, 0x94, 0xdb, 0x20, 0x75, 0xb9, 0x12, 0xcc,
4446 0xbe, 0x3e, 0xa7, 0xdc, 0x61, 0x17, 0x14, 0xf1, 0x4e, 0x07, 0x5c, 0x10,
4447 0x48, 0x58, 0xf2, 0xf6, 0xe6, 0xcf, 0xd6, 0xab, 0xde, 0xdf, 0x01, 0x5a,
4448 0x82, 0x1d, 0x03, 0x60, 0x8b, 0xf4, 0xeb, 0xa3, 0x16, 0x9a, 0x67, 0x25,
4449 0xec, 0x42, 0x2c, 0xd9, 0x06, 0x94, 0x98, 0xb5, 0x51, 0x5a, 0x96, 0x08,
4450 0xae, 0x7c, 0xc3, 0x0e, 0x3d, 0x2e, 0xcf, 0xc1, 0xdb, 0x68, 0x25, 0xf3,
4451 0xe9, 0x96, 0xce, 0x9a, 0x50, 0x92, 0x92, 0x6b, 0xc1, 0xcf, 0x61, 0xaa,
4452 0x42, 0xd7, 0xf2, 0x40, 0xe6, 0xf7, 0xaa, 0x0e, 0xdb, 0x38, 0xbf, 0x81,
4453 0xaa, 0x92, 0x9d, 0x66, 0xbb, 0x5d, 0x89, 0x00, 0x18, 0x08, 0x84, 0x58,
4454 0x72, 0x0d, 0x72, 0xd5, 0x69, 0x24, 0x7b, 0x0c
4455};
4456static const uint8_t ac_rsassa_vect15_out[] = {
4457 0xa8, 0x33, 0xba, 0x31, 0x63, 0x4f, 0x87, 0x73, 0xe4, 0xfe, 0x6e, 0xa0,
4458 0xc6, 0x9e, 0x1a, 0x23, 0x76, 0x6a, 0x93, 0x9d, 0x34, 0xb3, 0x2f, 0xc7,
4459 0x8b, 0x77, 0x4b, 0x22, 0xe4, 0x6a, 0x64, 0x6c, 0x25, 0xe6, 0xe1, 0x06,
4460 0x2d, 0x23, 0x4e, 0xd4, 0x8b, 0x1a, 0xba, 0x0f, 0x83, 0x05, 0x29, 0xff,
4461 0x6a, 0xfc, 0x29, 0x6c, 0xc8, 0xdc, 0x20, 0x7b, 0xbc, 0x15, 0x39, 0x16,
4462 0x23, 0xbe, 0xac, 0x5f, 0x6c, 0x3d, 0xb5, 0x57, 0xca, 0x49, 0xd0, 0xe4,
4463 0x2c, 0x96, 0x2d, 0xe9, 0x5b, 0x5f, 0xf5, 0x48, 0xcf, 0xf9, 0x70, 0xf5,
4464 0xc7, 0x3f, 0x43, 0x9c, 0xfe, 0x82, 0xd3, 0x90, 0x7b, 0xe6, 0x02, 0x40,
4465 0xf5, 0x6b, 0x6a, 0x42, 0x59, 0xcc, 0x96, 0xdf, 0xd8, 0xfe, 0x02, 0xa0,
4466 0xbf, 0xa2, 0x6e, 0x02, 0x23, 0xf6, 0x82, 0x14, 0x42, 0x8f, 0xff, 0x0a,
4467 0xe4, 0x01, 0x62, 0x19, 0x8c, 0xc5, 0xcb, 0xd1
4468};
4469
4470/*
Pascal Brandc639ac82015-07-02 08:53:34 +02004471 * Test data from ftp://ftp.rsa.com/pub/rsalabs/tmp/pkcs1v15crypt-vectors.txt
4472 *
4473 * As specified in PKCS#1, the block type for this operation is 2.
4474 * The seed value of each example provides the pseudo random bytes
4475 * to be used for padding. This makes the result predictable.
4476 */
4477
4478/* PKCS#1 v1.5 Signature Example 1 1024-bit RSA key pair */
4479static const uint8_t ac_rsaes_pkcs1_v1_5_example1_modulus[] = {
4480 0xa8, 0xb3, 0xb2, 0x84, 0xaf, 0x8e, 0xb5, 0x0b, 0x38, 0x70, 0x34, 0xa8,
4481 0x60, 0xf1, 0x46, 0xc4, 0x91, 0x9f, 0x31, 0x87, 0x63, 0xcd, 0x6c, 0x55,
4482 0x98, 0xc8, 0xae, 0x48, 0x11, 0xa1, 0xe0, 0xab, 0xc4, 0xc7, 0xe0, 0xb0,
4483 0x82, 0xd6, 0x93, 0xa5, 0xe7, 0xfc, 0xed, 0x67, 0x5c, 0xf4, 0x66, 0x85,
4484 0x12, 0x77, 0x2c, 0x0c, 0xbc, 0x64, 0xa7, 0x42, 0xc6, 0xc6, 0x30, 0xf5,
4485 0x33, 0xc8, 0xcc, 0x72, 0xf6, 0x2a, 0xe8, 0x33, 0xc4, 0x0b, 0xf2, 0x58,
4486 0x42, 0xe9, 0x84, 0xbb, 0x78, 0xbd, 0xbf, 0x97, 0xc0, 0x10, 0x7d, 0x55,
4487 0xbd, 0xb6, 0x62, 0xf5, 0xc4, 0xe0, 0xfa, 0xb9, 0x84, 0x5c, 0xb5, 0x14,
4488 0x8e, 0xf7, 0x39, 0x2d, 0xd3, 0xaa, 0xff, 0x93, 0xae, 0x1e, 0x6b, 0x66,
4489 0x7b, 0xb3, 0xd4, 0x24, 0x76, 0x16, 0xd4, 0xf5, 0xba, 0x10, 0xd4, 0xcf,
4490 0xd2, 0x26, 0xde, 0x88, 0xd3, 0x9f, 0x16, 0xfb
4491};
4492static const uint8_t ac_rsaes_pkcs1_v1_5_example1_pub_exp[] = {
4493 0x01, 0x00, 0x01
4494};
4495static const uint8_t ac_rsaes_pkcs1_v1_5_example1_priv_exp[] = {
4496 0x53, 0x33, 0x9c, 0xfd, 0xb7, 0x9f, 0xc8, 0x46, 0x6a, 0x65, 0x5c, 0x73,
4497 0x16, 0xac, 0xa8, 0x5c, 0x55, 0xfd, 0x8f, 0x6d, 0xd8, 0x98, 0xfd, 0xaf,
4498 0x11, 0x95, 0x17, 0xef, 0x4f, 0x52, 0xe8, 0xfd, 0x8e, 0x25, 0x8d, 0xf9,
4499 0x3f, 0xee, 0x18, 0x0f, 0xa0, 0xe4, 0xab, 0x29, 0x69, 0x3c, 0xd8, 0x3b,
4500 0x15, 0x2a, 0x55, 0x3d, 0x4a, 0xc4, 0xd1, 0x81, 0x2b, 0x8b, 0x9f, 0xa5,
4501 0xaf, 0x0e, 0x7f, 0x55, 0xfe, 0x73, 0x04, 0xdf, 0x41, 0x57, 0x09, 0x26,
4502 0xf3, 0x31, 0x1f, 0x15, 0xc4, 0xd6, 0x5a, 0x73, 0x2c, 0x48, 0x31, 0x16,
4503 0xee, 0x3d, 0x3d, 0x2d, 0x0a, 0xf3, 0x54, 0x9a, 0xd9, 0xbf, 0x7c, 0xbf,
4504 0xb7, 0x8a, 0xd8, 0x84, 0xf8, 0x4d, 0x5b, 0xeb, 0x04, 0x72, 0x4d, 0xc7,
4505 0x36, 0x9b, 0x31, 0xde, 0xf3, 0x7d, 0x0c, 0xf5, 0x39, 0xe9, 0xcf, 0xcd,
4506 0xd3, 0xde, 0x65, 0x37, 0x29, 0xea, 0xd5, 0xd1
4507};
4508static const uint8_t ac_rsaes_pkcs1_v1_5_example1_prime1[] = {
4509 0xd3, 0x27, 0x37, 0xe7, 0x26, 0x7f, 0xfe, 0x13, 0x41, 0xb2, 0xd5, 0xc0,
4510 0xd1, 0x50, 0xa8, 0x1b, 0x58, 0x6f, 0xb3, 0x13, 0x2b, 0xed, 0x2f, 0x8d,
4511 0x52, 0x62, 0x86, 0x4a, 0x9c, 0xb9, 0xf3, 0x0a, 0xf3, 0x8b, 0xe4, 0x48,
4512 0x59, 0x8d, 0x41, 0x3a, 0x17, 0x2e, 0xfb, 0x80, 0x2c, 0x21, 0xac, 0xf1,
4513 0xc1, 0x1c, 0x52, 0x0c, 0x2f, 0x26, 0xa4, 0x71, 0xdc, 0xad, 0x21, 0x2e,
4514 0xac, 0x7c, 0xa3, 0x9d
4515};
4516static const uint8_t ac_rsaes_pkcs1_v1_5_example1_prime2[] = {
4517 0xcc, 0x88, 0x53, 0xd1, 0xd5, 0x4d, 0xa6, 0x30, 0xfa, 0xc0, 0x04, 0xf4,
4518 0x71, 0xf2, 0x81, 0xc7, 0xb8, 0x98, 0x2d, 0x82, 0x24, 0xa4, 0x90, 0xed,
4519 0xbe, 0xb3, 0x3d, 0x3e, 0x3d, 0x5c, 0xc9, 0x3c, 0x47, 0x65, 0x70, 0x3d,
4520 0x1d, 0xd7, 0x91, 0x64, 0x2f, 0x1f, 0x11, 0x6a, 0x0d, 0xd8, 0x52, 0xbe,
4521 0x24, 0x19, 0xb2, 0xaf, 0x72, 0xbf, 0xe9, 0xa0, 0x30, 0xe8, 0x60, 0xb0,
4522 0x28, 0x8b, 0x5d, 0x77
4523};
4524static const uint8_t ac_rsaes_pkcs1_v1_5_example1_exp1[] = {
4525 0x0e, 0x12, 0xbf, 0x17, 0x18, 0xe9, 0xce, 0xf5, 0x59, 0x9b, 0xa1, 0xc3,
4526 0x88, 0x2f, 0xe8, 0x04, 0x6a, 0x90, 0x87, 0x4e, 0xef, 0xce, 0x8f, 0x2c,
4527 0xcc, 0x20, 0xe4, 0xf2, 0x74, 0x1f, 0xb0, 0xa3, 0x3a, 0x38, 0x48, 0xae,
4528 0xc9, 0xc9, 0x30, 0x5f, 0xbe, 0xcb, 0xd2, 0xd7, 0x68, 0x19, 0x96, 0x7d,
4529 0x46, 0x71, 0xac, 0xc6, 0x43, 0x1e, 0x40, 0x37, 0x96, 0x8d, 0xb3, 0x78,
4530 0x78, 0xe6, 0x95, 0xc1
4531};
4532static const uint8_t ac_rsaes_pkcs1_v1_5_example1_exp2[] = {
4533 0x95, 0x29, 0x7b, 0x0f, 0x95, 0xa2, 0xfa, 0x67, 0xd0, 0x07, 0x07, 0xd6,
4534 0x09, 0xdf, 0xd4, 0xfc, 0x05, 0xc8, 0x9d, 0xaf, 0xc2, 0xef, 0x6d, 0x6e,
4535 0xa5, 0x5b, 0xec, 0x77, 0x1e, 0xa3, 0x33, 0x73, 0x4d, 0x92, 0x51, 0xe7,
4536 0x90, 0x82, 0xec, 0xda, 0x86, 0x6e, 0xfe, 0xf1, 0x3c, 0x45, 0x9e, 0x1a,
4537 0x63, 0x13, 0x86, 0xb7, 0xe3, 0x54, 0xc8, 0x99, 0xf5, 0xf1, 0x12, 0xca,
4538 0x85, 0xd7, 0x15, 0x83
4539};
4540static const uint8_t ac_rsaes_pkcs1_v1_5_example1_coeff[] = {
4541 0x4f, 0x45, 0x6c, 0x50, 0x24, 0x93, 0xbd, 0xc0, 0xed, 0x2a, 0xb7, 0x56,
4542 0xa3, 0xa6, 0xed, 0x4d, 0x67, 0x35, 0x2a, 0x69, 0x7d, 0x42, 0x16, 0xe9,
4543 0x32, 0x12, 0xb1, 0x27, 0xa6, 0x3d, 0x54, 0x11, 0xce, 0x6f, 0xa9, 0x8d,
4544 0x5d, 0xbe, 0xfd, 0x73, 0x26, 0x3e, 0x37, 0x28, 0x14, 0x27, 0x43, 0x81,
4545 0x81, 0x66, 0xed, 0x7d, 0xd6, 0x36, 0x87, 0xdd, 0x2a, 0x8c, 0xa1, 0xd2,
4546 0xf4, 0xfb, 0xd8, 0xe1
4547};
4548
4549
4550/* PKCS#1 v1.5 Encrypt Example 1.1 */
4551#define ac_rsaes_pkcs1_v1_5_vect1_modulus ac_rsaes_pkcs1_v1_5_example1_modulus
4552#define ac_rsaes_pkcs1_v1_5_vect1_pub_exp ac_rsaes_pkcs1_v1_5_example1_pub_exp
4553#define ac_rsaes_pkcs1_v1_5_vect1_priv_exp ac_rsaes_pkcs1_v1_5_example1_priv_exp
4554#define ac_rsaes_pkcs1_v1_5_vect1_prime1 ac_rsaes_pkcs1_v1_5_example1_prime1
4555#define ac_rsaes_pkcs1_v1_5_vect1_prime2 ac_rsaes_pkcs1_v1_5_example1_prime2
4556#define ac_rsaes_pkcs1_v1_5_vect1_exp1 ac_rsaes_pkcs1_v1_5_example1_exp1
4557#define ac_rsaes_pkcs1_v1_5_vect1_exp2 ac_rsaes_pkcs1_v1_5_example1_exp2
4558#define ac_rsaes_pkcs1_v1_5_vect1_coeff ac_rsaes_pkcs1_v1_5_example1_coeff
4559static const uint8_t ac_rsaes_pkcs1_v1_5_vect1_ptx[] = {
4560 0x66, 0x28, 0x19, 0x4e, 0x12, 0x07, 0x3d, 0xb0, 0x3b, 0xa9, 0x4c, 0xda,
4561 0x9e, 0xf9, 0x53, 0x23,
4562 0x97, 0xd5, 0x0d, 0xba, 0x79, 0xb9, 0x87, 0x00, 0x4a, 0xfe, 0xfe, 0x34,
4563};
4564static const uint8_t ac_rsaes_pkcs1_v1_5_vect1_out[] = {
4565 0x50, 0xb4, 0xc1, 0x41, 0x36, 0xbd, 0x19, 0x8c, 0x2f, 0x3c, 0x3e, 0xd2,
4566 0x43, 0xfc, 0xe0, 0x36,
4567 0xe1, 0x68, 0xd5, 0x65, 0x17, 0x98, 0x4a, 0x26, 0x3c, 0xd6, 0x64, 0x92,
4568 0xb8, 0x08, 0x04, 0xf1,
4569 0x69, 0xd2, 0x10, 0xf2, 0xb9, 0xbd, 0xfb, 0x48, 0xb1, 0x2f, 0x9e, 0xa0,
4570 0x50, 0x09, 0xc7, 0x7d,
4571 0xa2, 0x57, 0xcc, 0x60, 0x0c, 0xce, 0xfe, 0x3a, 0x62, 0x83, 0x78, 0x9d,
4572 0x8e, 0xa0, 0xe6, 0x07,
4573 0xac, 0x58, 0xe2, 0x69, 0x0e, 0xc4, 0xeb, 0xc1, 0x01, 0x46, 0xe8, 0xcb,
4574 0xaa, 0x5e, 0xd4, 0xd5,
4575 0xcc, 0xe6, 0xfe, 0x7b, 0x0f, 0xf9, 0xef, 0xc1, 0xea, 0xbb, 0x56, 0x4d,
4576 0xbf, 0x49, 0x82, 0x85,
4577 0xf4, 0x49, 0xee, 0x61, 0xdd, 0x7b, 0x42, 0xee, 0x5b, 0x58, 0x92, 0xcb,
4578 0x90, 0x60, 0x1f, 0x30,
4579 0xcd, 0xa0, 0x7b, 0xf2, 0x64, 0x89, 0x31, 0x0b, 0xcd, 0x23, 0xb5, 0x28,
4580 0xce, 0xab, 0x3c, 0x31,
4581};
4582
4583
4584/* PKCS#1 v1.5 Encrypt Example 1.2 */
4585#define ac_rsaes_pkcs1_v1_5_vect2_modulus ac_rsaes_pkcs1_v1_5_example1_modulus
4586#define ac_rsaes_pkcs1_v1_5_vect2_pub_exp ac_rsaes_pkcs1_v1_5_example1_pub_exp
4587#define ac_rsaes_pkcs1_v1_5_vect2_priv_exp ac_rsaes_pkcs1_v1_5_example1_priv_exp
4588#define ac_rsaes_pkcs1_v1_5_vect2_prime1 ac_rsaes_pkcs1_v1_5_example1_prime1
4589#define ac_rsaes_pkcs1_v1_5_vect2_prime2 ac_rsaes_pkcs1_v1_5_example1_prime2
4590#define ac_rsaes_pkcs1_v1_5_vect2_exp1 ac_rsaes_pkcs1_v1_5_example1_exp1
4591#define ac_rsaes_pkcs1_v1_5_vect2_exp2 ac_rsaes_pkcs1_v1_5_example1_exp2
4592#define ac_rsaes_pkcs1_v1_5_vect2_coeff ac_rsaes_pkcs1_v1_5_example1_coeff
4593static const uint8_t ac_rsaes_pkcs1_v1_5_vect2_ptx[] = {
4594 0x75, 0x0c, 0x40, 0x47, 0xf5, 0x47, 0xe8, 0xe4, 0x14, 0x11, 0x85, 0x65,
4595 0x23, 0x29, 0x8a, 0xc9, 0xba, 0xe2, 0x45, 0xef, 0xaf, 0x13, 0x97, 0xfb,
4596 0xe5, 0x6f, 0x9d, 0xd5
4597};
4598static const uint8_t ac_rsaes_pkcs1_v1_5_vect2_out[] = {
4599 0x68, 0x42, 0xe5, 0xe2, 0xcc, 0x00, 0x41, 0xd6, 0xb0, 0xc8, 0x1a, 0x56,
4600 0x2c, 0x39, 0xa6, 0x17, 0x37, 0x9a, 0x51, 0x5c, 0xab, 0x74, 0xab, 0xcb,
4601 0x26, 0x19, 0xc7, 0x74, 0x0a, 0x54, 0x1d, 0x95, 0x55, 0xdd, 0x91, 0x65,
4602 0x97, 0x5b, 0xf8, 0xa3, 0xeb, 0xd0, 0xd0, 0x45, 0x66, 0x61, 0xdf, 0xb1,
4603 0xa6, 0x86, 0x1b, 0xa2, 0x33, 0x22, 0x69, 0x93, 0x0e, 0x0d, 0xb5, 0x14,
4604 0xfc, 0xa0, 0x73, 0x3e, 0xeb, 0x9c, 0x40, 0x57, 0x13, 0xeb, 0x1f, 0x9d,
4605 0x76, 0x80, 0x33, 0xed, 0x29, 0x3e, 0x1e, 0x08, 0x1a, 0x12, 0x5f, 0x32,
4606 0xdd, 0xb9, 0xea, 0x52, 0xed, 0xbe, 0x27, 0x5c, 0x4a, 0xf6, 0x0f, 0x8a,
4607 0x7b, 0xf8, 0x32, 0xbd, 0x22, 0x75, 0x61, 0xc2, 0x08, 0xdc, 0x00, 0x31,
4608 0xa8, 0x4b, 0x50, 0x12, 0xc9, 0xdd, 0x9f, 0x74, 0x45, 0x9d, 0xcb, 0x07,
4609 0x0b, 0xdb, 0xe1, 0x3c, 0xfa, 0x8c, 0x2d, 0x50
4610};
4611
4612/*
4613 * Test data from ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1-vec.zip
4614 *
4615 * The underlying hash function is SHA-1; the mask generation function is
4616 * MGF1 with SHA-1 as specified in PKCS #1 v2.1.
4617 */
4618
4619/* Example 1: A 1024-bit RSA Key Pair */
4620#define ac_rsaes_oaep_example1_modulus ac_rsaes_pkcs1_v1_5_example1_modulus
4621#define ac_rsaes_oaep_example1_pub_exp ac_rsaes_pkcs1_v1_5_example1_pub_exp
4622#define ac_rsaes_oaep_example1_priv_exp ac_rsaes_pkcs1_v1_5_example1_priv_exp
4623#define ac_rsaes_oaep_example1_prime1 ac_rsaes_pkcs1_v1_5_example1_prime1
4624#define ac_rsaes_oaep_example1_prime2 ac_rsaes_pkcs1_v1_5_example1_prime2
4625#define ac_rsaes_oaep_example1_exp1 ac_rsaes_pkcs1_v1_5_example1_exp1
4626#define ac_rsaes_oaep_example1_exp2 ac_rsaes_pkcs1_v1_5_example1_exp2
4627#define ac_rsaes_oaep_example1_coeff ac_rsaes_pkcs1_v1_5_example1_coeff
4628
4629
4630/* RSAES-OAEP Encryption Example 1.1 */
4631#define ac_rsaes_oaep_vect1_modulus ac_rsaes_oaep_example1_modulus
4632#define ac_rsaes_oaep_vect1_pub_exp ac_rsaes_oaep_example1_pub_exp
4633#define ac_rsaes_oaep_vect1_priv_exp ac_rsaes_oaep_example1_priv_exp
4634#define ac_rsaes_oaep_vect1_prime1 ac_rsaes_oaep_example1_prime1
4635#define ac_rsaes_oaep_vect1_prime2 ac_rsaes_oaep_example1_prime2
4636#define ac_rsaes_oaep_vect1_exp1 ac_rsaes_oaep_example1_exp1
4637#define ac_rsaes_oaep_vect1_exp2 ac_rsaes_oaep_example1_exp2
4638#define ac_rsaes_oaep_vect1_coeff ac_rsaes_oaep_example1_coeff
4639static const uint8_t ac_rsaes_oaep_vect1_ptx[] = {
4640 0x66, 0x28, 0x19, 0x4e, 0x12, 0x07, 0x3d, 0xb0, 0x3b, 0xa9, 0x4c, 0xda,
4641 0x9e, 0xf9, 0x53, 0x23, 0x97, 0xd5, 0x0d, 0xba, 0x79, 0xb9, 0x87, 0x00,
4642 0x4a, 0xfe, 0xfe, 0x34,
4643};
4644static const uint8_t ac_rsaes_oaep_vect1_out[] = {
4645 0x35, 0x4f, 0xe6, 0x7b, 0x4a, 0x12, 0x6d, 0x5d, 0x35, 0xfe, 0x36, 0xc7,
4646 0x77, 0x79, 0x1a, 0x3f, 0x7b, 0xa1, 0x3d, 0xef, 0x48, 0x4e, 0x2d, 0x39,
4647 0x08, 0xaf, 0xf7, 0x22, 0xfa, 0xd4, 0x68, 0xfb, 0x21, 0x69, 0x6d, 0xe9,
4648 0x5d, 0x0b, 0xe9, 0x11, 0xc2, 0xd3, 0x17, 0x4f, 0x8a, 0xfc, 0xc2, 0x01,
4649 0x03, 0x5f, 0x7b, 0x6d, 0x8e, 0x69, 0x40, 0x2d, 0xe5, 0x45, 0x16, 0x18,
4650 0xc2, 0x1a, 0x53, 0x5f, 0xa9, 0xd7, 0xbf, 0xc5, 0xb8, 0xdd, 0x9f, 0xc2,
4651 0x43, 0xf8, 0xcf, 0x92, 0x7d, 0xb3, 0x13, 0x22, 0xd6, 0xe8, 0x81, 0xea,
4652 0xa9, 0x1a, 0x99, 0x61, 0x70, 0xe6, 0x57, 0xa0, 0x5a, 0x26, 0x64, 0x26,
4653 0xd9, 0x8c, 0x88, 0x00, 0x3f, 0x84, 0x77, 0xc1, 0x22, 0x70, 0x94, 0xa0,
4654 0xd9, 0xfa, 0x1e, 0x8c, 0x40, 0x24, 0x30, 0x9c, 0xe1, 0xec, 0xcc, 0xb5,
4655 0x21, 0x00, 0x35, 0xd4, 0x7a, 0xc7, 0x2e, 0x8a
4656};
4657
4658/* RSAES-OAEP Encryption Example 1.2 */
4659#define ac_rsaes_oaep_vect2_modulus ac_rsaes_oaep_example1_modulus
4660#define ac_rsaes_oaep_vect2_pub_exp ac_rsaes_oaep_example1_pub_exp
4661#define ac_rsaes_oaep_vect2_priv_exp ac_rsaes_oaep_example1_priv_exp
4662#define ac_rsaes_oaep_vect2_prime1 ac_rsaes_oaep_example1_prime1
4663#define ac_rsaes_oaep_vect2_prime2 ac_rsaes_oaep_example1_prime2
4664#define ac_rsaes_oaep_vect2_exp1 ac_rsaes_oaep_example1_exp1
4665#define ac_rsaes_oaep_vect2_exp2 ac_rsaes_oaep_example1_exp2
4666#define ac_rsaes_oaep_vect2_coeff ac_rsaes_oaep_example1_coeff
4667static const uint8_t ac_rsaes_oaep_vect2_ptx[] = {
4668 0x75, 0x0c, 0x40, 0x47, 0xf5, 0x47, 0xe8, 0xe4, 0x14, 0x11, 0x85, 0x65,
4669 0x23, 0x29, 0x8a, 0xc9, 0xba, 0xe2, 0x45, 0xef, 0xaf, 0x13, 0x97, 0xfb,
4670 0xe5, 0x6f, 0x9d, 0xd5
4671};
4672static const uint8_t ac_rsaes_oaep_vect2_out[] = {
4673 0x64, 0x0d, 0xb1, 0xac, 0xc5, 0x8e, 0x05, 0x68, 0xfe, 0x54, 0x07, 0xe5,
4674 0xf9, 0xb7, 0x01, 0xdf, 0xf8, 0xc3, 0xc9, 0x1e, 0x71, 0x6c, 0x53, 0x6f,
4675 0xc7, 0xfc, 0xec, 0x6c, 0xb5, 0xb7, 0x1c, 0x11, 0x65, 0x98, 0x8d, 0x4a,
4676 0x27, 0x9e, 0x15, 0x77, 0xd7, 0x30, 0xfc, 0x7a, 0x29, 0x93, 0x2e, 0x3f,
4677 0x00, 0xc8, 0x15, 0x15, 0x23, 0x6d, 0x8d, 0x8e, 0x31, 0x01, 0x7a, 0x7a,
4678 0x09, 0xdf, 0x43, 0x52, 0xd9, 0x04, 0xcd, 0xeb, 0x79, 0xaa, 0x58, 0x3a,
4679 0xdc, 0xc3, 0x1e, 0xa6, 0x98, 0xa4, 0xc0, 0x52, 0x83, 0xda, 0xba, 0x90,
4680 0x89, 0xbe, 0x54, 0x91, 0xf6, 0x7c, 0x1a, 0x4e, 0xe4, 0x8d, 0xc7, 0x4b,
4681 0xbb, 0xe6, 0x64, 0x3a, 0xef, 0x84, 0x66, 0x79, 0xb4, 0xcb, 0x39, 0x5a,
4682 0x35, 0x2d, 0x5e, 0xd1, 0x15, 0x91, 0x2d, 0xf6, 0x96, 0xff, 0xe0, 0x70,
4683 0x29, 0x32, 0x94, 0x6d, 0x71, 0x49, 0x2b, 0x44
4684};
4685
4686/*
4687 * PKCS#1 v1.5 Signature Example 15 2048-bit RSA key pair
4688 * from http://armcryptolib.das-labor.org/trac/browser/testvectors/rsa-pkcs-1v2-1-vec/oaep-vect.txt
4689 */
4690static const uint8_t ac_rsaes_pkcs1_v1_5_example15_modulus[] = {
4691 0xdc, 0xfa, 0x10, 0xff, 0xa7, 0x46, 0x65, 0xae, 0xef, 0x87, 0x09, 0x74, 0xea, 0x99, 0xb2, 0xce,
4692 0x54, 0x54, 0x7c, 0x67, 0xf4, 0x2a, 0xaa, 0x6d, 0xd0, 0x1a, 0x2e, 0xd3, 0x1f, 0xd2, 0xc2, 0x42,
4693 0xaf, 0x5d, 0x96, 0x0b, 0x1f, 0x89, 0x6e, 0xfb, 0xa3, 0x54, 0x3d, 0x65, 0x54, 0xb7, 0xb1, 0x26,
4694 0x87, 0xa5, 0xc6, 0x88, 0x56, 0x8f, 0x32, 0xe0, 0x26, 0xc5, 0x32, 0xd2, 0x59, 0x93, 0xb9, 0x7a,
4695 0x7c, 0x28, 0x42, 0xec, 0x2b, 0x8e, 0x12, 0x35, 0xee, 0xe2, 0x41, 0x4d, 0x25, 0x80, 0x6c, 0x6f,
4696 0xba, 0xe4, 0x38, 0x95, 0x4e, 0xba, 0x9d, 0x27, 0x55, 0xdf, 0xfe, 0xeb, 0x1b, 0x47, 0x70, 0x09,
4697 0x57, 0x81, 0x5a, 0x8a, 0x23, 0x3f, 0x97, 0xb1, 0xa2, 0xc7, 0x14, 0xb3, 0xe2, 0xbe, 0x2e, 0x42,
4698 0xd8, 0xbe, 0x30, 0xb1, 0x96, 0x15, 0x82, 0xea, 0x99, 0x48, 0x91, 0x0e, 0x0c, 0x79, 0x7c, 0x50,
4699 0xfc, 0x4b, 0xb4, 0x55, 0xf0, 0xfc, 0x45, 0xe5, 0xe3, 0x4e, 0x63, 0x96, 0xac, 0x5b, 0x2d, 0x46,
4700 0x23, 0x93, 0x65, 0xc7, 0xf3, 0xda, 0xaf, 0x09, 0x09, 0x40, 0x0d, 0x61, 0xcf, 0x9e, 0x0c, 0xa8,
4701 0x08, 0x3e, 0xaf, 0x33, 0x5a, 0x6f, 0xce, 0xb6, 0x86, 0x3c, 0x1c, 0xc0, 0xcf, 0x5a, 0x17, 0x1a,
4702 0xff, 0x35, 0xd9, 0x7e, 0xcb, 0x60, 0xef, 0x25, 0x1c, 0x7e, 0xc2, 0xc8, 0xa5, 0x88, 0x36, 0x1d,
4703 0xc4, 0x12, 0x66, 0xa4, 0xb7, 0xed, 0x38, 0xb0, 0x26, 0xce, 0x0d, 0x53, 0x78, 0x64, 0x49, 0xdb,
4704 0xb1, 0x1a, 0x06, 0xea, 0x33, 0xcc, 0xf1, 0xec, 0xa5, 0x75, 0x20, 0x1e, 0xd1, 0xaa, 0x47, 0x3e,
4705 0xd1, 0x18, 0x7e, 0xc1, 0xd8, 0xa7, 0x44, 0xea, 0x34, 0x5b, 0xed, 0x7e, 0xa0, 0x0e, 0xe4, 0xe8,
4706 0x1b, 0xba, 0x46, 0x48, 0x60, 0x1d, 0xd5, 0x37, 0xdc, 0x91, 0x01, 0x5d, 0x31, 0xf0, 0xc2, 0xc1,
4707};
4708
4709static const uint8_t ac_rsaes_pkcs1_v1_5_example15_pub_exp[] = {
4710 0x01, 0x00, 0x01,
4711};
4712
4713static const uint8_t ac_rsaes_pkcs1_v1_5_example15_priv_exp[] = {
4714 0x21, 0x95, 0x08, 0x51, 0xcd, 0xf2, 0x53, 0x20, 0x31, 0x8b, 0x30, 0x5a, 0xfa, 0x0f, 0x37, 0x1f,
4715 0x07, 0xae, 0x5a, 0x44, 0xb3, 0x14, 0xeb, 0xd7, 0x29, 0xf5, 0xdc, 0xb1, 0x5d, 0xa7, 0xfa, 0x39,
4716 0x47, 0xac, 0xdd, 0x91, 0x5d, 0xae, 0xd5, 0x74, 0xbd, 0x16, 0xdf, 0x88, 0xbf, 0x85, 0xf6, 0x10,
4717 0x60, 0xb3, 0x87, 0x17, 0x2f, 0xae, 0x6e, 0x01, 0x26, 0x2b, 0x38, 0x64, 0xc2, 0xd3, 0xc2, 0x2f,
4718 0x94, 0xe0, 0x4a, 0x81, 0x59, 0x42, 0x2b, 0x4e, 0xd2, 0x79, 0xc4, 0x8a, 0x4c, 0x9d, 0x76, 0x7d,
4719 0x49, 0x66, 0x07, 0x1a, 0x5b, 0xbf, 0x5d, 0x04, 0x3e, 0x16, 0xff, 0x46, 0xec, 0x1b, 0xa0, 0x71,
4720 0x6f, 0x00, 0xbb, 0xc9, 0x7b, 0xff, 0x5d, 0x56, 0x93, 0xe2, 0x14, 0xe9, 0x9c, 0x97, 0x21, 0xf1,
4721 0x2b, 0x3e, 0xc6, 0x28, 0x2a, 0xe2, 0xa4, 0x85, 0x72, 0x1b, 0x96, 0xdd, 0xcf, 0x74, 0x03, 0xfa,
4722 0x03, 0x7d, 0x0c, 0x57, 0xab, 0x46, 0x3c, 0x44, 0x8d, 0xe5, 0xcc, 0x12, 0x26, 0x5a, 0xdd, 0x88,
4723 0x6d, 0x31, 0x1e, 0xa8, 0xd8, 0xa5, 0x90, 0x3f, 0xa5, 0x6c, 0x5f, 0x1c, 0x9c, 0xf2, 0xeb, 0x11,
4724 0xcb, 0x65, 0x7a, 0x1a, 0x7d, 0x3e, 0x41, 0x35, 0x2d, 0xc3, 0xe6, 0x86, 0x89, 0x8c, 0x4c, 0xe4,
4725 0x30, 0x5e, 0x8b, 0x63, 0x8e, 0x1b, 0x08, 0xa2, 0xa8, 0x6c, 0xc9, 0xeb, 0x98, 0x66, 0xf3, 0x49,
4726 0x9a, 0xc7, 0x7b, 0x61, 0x36, 0xb8, 0x1c, 0xb2, 0x76, 0xd6, 0x14, 0xcf, 0xeb, 0x7b, 0x6e, 0xd3,
4727 0xf3, 0xbc, 0x77, 0x5e, 0x46, 0xc0, 0x00, 0x66, 0xeb, 0xee, 0xe2, 0xcf, 0xf7, 0x16, 0x6b, 0x57,
4728 0x52, 0x05, 0x98, 0x94, 0x7f, 0xf6, 0x21, 0x03, 0x20, 0xb2, 0x88, 0xfb, 0x4f, 0x2c, 0x3f, 0x8f,
4729 0xe9, 0x7b, 0x27, 0x94, 0x14, 0xeb, 0xf7, 0x20, 0x30, 0x00, 0xa1, 0x9f, 0xc0, 0x42, 0x48, 0x75,
4730};
4731
4732static const uint8_t ac_rsaes_pkcs1_v1_5_example15_prime1[] = {
4733 0xf1, 0x23, 0xbf, 0xe5, 0x3d, 0xe9, 0x7a, 0x56, 0x9d, 0x91, 0xad, 0xcf, 0x55, 0x6f, 0xa6, 0x25,
4734 0xad, 0x30, 0xf3, 0xfd, 0x3d, 0x81, 0x1f, 0x9e, 0x91, 0xe6, 0xaf, 0x44, 0xb6, 0xe7, 0x80, 0xcb,
4735 0x0f, 0x32, 0x78, 0x29, 0xfb, 0x21, 0x19, 0x0a, 0xe2, 0x80, 0x66, 0x46, 0xd7, 0x28, 0xcd, 0x9b,
4736 0x65, 0x31, 0x13, 0x2b, 0x1e, 0xbf, 0xef, 0x12, 0x72, 0x99, 0x30, 0x60, 0xf1, 0xce, 0x70, 0xb1,
4737 0x24, 0x39, 0x30, 0x91, 0xee, 0x85, 0x93, 0xb7, 0x27, 0x36, 0x7e, 0xdb, 0xba, 0x00, 0x9e, 0xc5,
4738 0xbe, 0x17, 0xc4, 0xac, 0xee, 0x12, 0x0c, 0x84, 0x12, 0x67, 0xd4, 0x76, 0x31, 0xa1, 0x6c, 0x36,
4739 0xa6, 0xd1, 0xc9, 0x99, 0x73, 0xc1, 0xb0, 0xb5, 0xa8, 0x35, 0xbf, 0x39, 0xfe, 0xaf, 0xe8, 0xf6,
4740 0x42, 0x1f, 0xd9, 0xc2, 0xa9, 0x0b, 0xc2, 0x79, 0x76, 0x65, 0x9e, 0x67, 0xbc, 0x83, 0x12, 0x4d,
4741};
4742
4743static const uint8_t ac_rsaes_pkcs1_v1_5_example15_prime2[] = {
4744 0xea, 0x98, 0x39, 0xb7, 0xe3, 0x7e, 0xa8, 0x9b, 0xbd, 0xa2, 0x7e, 0x4c, 0x93, 0x47, 0x1c, 0xb4,
4745 0xfd, 0x92, 0x18, 0x9a, 0x0a, 0x96, 0xbc, 0xb4, 0xd7, 0x56, 0x93, 0xf1, 0x8a, 0x5c, 0x2f, 0x74,
4746 0x2a, 0xf9, 0xe3, 0x6f, 0xde, 0x67, 0x9f, 0xbd, 0x9e, 0xae, 0x34, 0x5f, 0xa2, 0x69, 0x52, 0x7b,
4747 0x69, 0x65, 0x02, 0x1c, 0x4b, 0xdf, 0x54, 0xd6, 0x85, 0xbf, 0x08, 0x96, 0x0c, 0xc9, 0x76, 0xf6,
4748 0x8d, 0xca, 0x21, 0xce, 0xbf, 0x44, 0xf2, 0x68, 0xa5, 0x9d, 0xab, 0x8d, 0x1a, 0x25, 0xe5, 0x19,
4749 0xf5, 0x14, 0x7e, 0x1f, 0x45, 0xfe, 0x28, 0x7d, 0x74, 0xcf, 0x72, 0x5b, 0xec, 0x13, 0x26, 0xd3,
4750 0x42, 0x12, 0xc5, 0x6c, 0xf4, 0xff, 0xfa, 0x20, 0x2f, 0x57, 0xb6, 0x8e, 0xe8, 0xcc, 0xa9, 0x43,
4751 0xf3, 0xc1, 0x38, 0xc4, 0xcd, 0xe3, 0x3b, 0xdf, 0x2c, 0x94, 0x40, 0xdf, 0x65, 0x32, 0x24, 0x45,
4752};
4753
4754static const uint8_t ac_rsaes_pkcs1_v1_5_example15_exp1[] = {
4755 0xca, 0x0c, 0x9b, 0x60, 0xb8, 0xe4, 0xa6, 0x06, 0x67, 0x56, 0xc6, 0x5d, 0x20, 0x88, 0x41, 0x9d,
4756 0xf6, 0x25, 0x3b, 0x7b, 0x68, 0x8a, 0x85, 0xf4, 0xf6, 0xe9, 0x64, 0xd8, 0x5d, 0xad, 0x52, 0xa4,
4757 0x52, 0x62, 0x86, 0x7f, 0x1e, 0x96, 0x18, 0x06, 0x9f, 0xcc, 0xd8, 0x65, 0xe9, 0x28, 0x9e, 0x46,
4758 0xe3, 0x9e, 0x20, 0x22, 0x94, 0x4c, 0x5c, 0x44, 0x87, 0xd3, 0x45, 0xcf, 0x25, 0x2d, 0x46, 0x0d,
4759 0x97, 0x7d, 0x77, 0xed, 0xfe, 0xfe, 0xdb, 0xcb, 0xae, 0x46, 0xa2, 0x3a, 0xf7, 0xfa, 0x47, 0x0f,
4760 0x07, 0x7d, 0xa0, 0xe5, 0x09, 0x42, 0x04, 0x4c, 0xb1, 0xa3, 0x60, 0x49, 0x7c, 0xc2, 0x76, 0x0a,
4761 0xc0, 0xf2, 0xad, 0x4a, 0x2f, 0xcd, 0x0e, 0x84, 0xd7, 0xa1, 0xd9, 0x4d, 0xfd, 0xd2, 0x65, 0x8f,
4762 0xd9, 0xce, 0x18, 0x47, 0x5c, 0x1f, 0xa7, 0x5e, 0xe0, 0xce, 0xba, 0xd0, 0xcf, 0x0a, 0xc0, 0x4d,
4763};
4764
4765static const uint8_t ac_rsaes_pkcs1_v1_5_example15_exp2[] = {
4766 0x52, 0x81, 0x71, 0x23, 0x3c, 0x4e, 0x4a, 0x6c, 0x63, 0xb8, 0x67, 0x64, 0xf5, 0x13, 0x38, 0x84,
4767 0x6a, 0xfd, 0xdb, 0xcb, 0x29, 0x58, 0x34, 0x4c, 0x01, 0xc4, 0x00, 0x4a, 0x1d, 0xd8, 0x28, 0x14,
4768 0x5a, 0x1d, 0x02, 0xa1, 0x50, 0x7d, 0xef, 0x4f, 0x58, 0x24, 0x7a, 0x64, 0xfc, 0x10, 0xc0, 0xa2,
4769 0x88, 0xc1, 0xae, 0x89, 0x57, 0x21, 0xd7, 0x8b, 0x8f, 0x04, 0x4d, 0xb7, 0xc0, 0x0d, 0x86, 0xda,
4770 0x55, 0xa9, 0xb6, 0x54, 0x29, 0x2e, 0xcd, 0x76, 0x82, 0x70, 0xbe, 0x69, 0xe4, 0xbd, 0x59, 0x22,
4771 0xd4, 0xef, 0xfd, 0x1f, 0x70, 0x95, 0x5f, 0x96, 0x27, 0xe3, 0xe1, 0x9b, 0x74, 0x9e, 0x93, 0xb4,
4772 0x0e, 0xf3, 0xdd, 0x1d, 0x61, 0xd9, 0x39, 0x15, 0xe2, 0xb0, 0x9d, 0x93, 0x0b, 0x4b, 0x17, 0x68,
4773 0xbf, 0xac, 0xc0, 0x13, 0x6f, 0x39, 0xb0, 0xcf, 0xdf, 0xb4, 0xd0, 0x50, 0x01, 0x1e, 0x2e, 0x65,
4774};
4775
4776static const uint8_t ac_rsaes_pkcs1_v1_5_example15_coeff[] = {
4777 0xdf, 0x2e, 0xb2, 0x32, 0x2c, 0xc2, 0xda, 0xab, 0xf4, 0xd1, 0x46, 0x55, 0x08, 0xf4, 0x15, 0x21,
4778 0xcd, 0xa7, 0xce, 0xff, 0x23, 0xeb, 0xe6, 0x1d, 0x00, 0xd4, 0x41, 0xee, 0x72, 0x8d, 0xda, 0x5d,
4779 0x16, 0xc7, 0xbf, 0x92, 0x0c, 0xd9, 0x5f, 0x34, 0xbe, 0xb4, 0xfe, 0x32, 0xee, 0x81, 0x7e, 0xf3,
4780 0x36, 0x2e, 0x0b, 0xcd, 0x1d, 0x12, 0x45, 0xf7, 0xb0, 0x77, 0x93, 0xea, 0xa1, 0x90, 0xdc, 0x5a,
4781 0x37, 0xfd, 0xaf, 0x4c, 0x68, 0xe2, 0xca, 0x13, 0x97, 0x2d, 0x7f, 0x51, 0x48, 0xb7, 0x96, 0xb6,
4782 0xfb, 0x6d, 0x7a, 0xdd, 0xa0, 0x7b, 0xd2, 0xcd, 0x13, 0xbe, 0x98, 0xce, 0xbe, 0xd1, 0xed, 0xc6,
4783 0xca, 0x41, 0x2e, 0x39, 0x53, 0x50, 0xc5, 0x9a, 0x1d, 0x84, 0x2b, 0xc4, 0xaa, 0x2f, 0x3c, 0x0b,
4784 0x24, 0x3f, 0xde, 0x7d, 0xfd, 0x95, 0x35, 0x6f, 0x24, 0x39, 0x25, 0x1a, 0x11, 0x72, 0xc4, 0x5e,
4785};
4786
4787/* PKCS#1 v1.5 Encrypt Example 15.9 */
4788#define ac_rsaes_pkcs1_v1_5_vect15_modulus ac_rsaes_pkcs1_v1_5_example15_modulus
4789#define ac_rsaes_pkcs1_v1_5_vect15_pub_exp ac_rsaes_pkcs1_v1_5_example15_pub_exp
4790#define ac_rsaes_pkcs1_v1_5_vect15_priv_exp ac_rsaes_pkcs1_v1_5_example15_priv_exp
4791#define ac_rsaes_pkcs1_v1_5_vect15_prime1 ac_rsaes_pkcs1_v1_5_example15_prime1
4792#define ac_rsaes_pkcs1_v1_5_vect15_prime2 ac_rsaes_pkcs1_v1_5_example15_prime2
4793#define ac_rsaes_pkcs1_v1_5_vect15_exp1 ac_rsaes_pkcs1_v1_5_example15_exp1
4794#define ac_rsaes_pkcs1_v1_5_vect15_exp2 ac_rsaes_pkcs1_v1_5_example15_exp2
4795#define ac_rsaes_pkcs1_v1_5_vect15_coeff ac_rsaes_pkcs1_v1_5_example15_coeff
4796
4797/*
4798 * PKCS#1 v1.5 Encryption Example 15.9
4799 * from ftp://ftp.rsa.com/pub/rsalabs/tmp/pkcs1v15crypt-vectors.txt
4800 */
4801static const uint8_t ac_rsaes_pkcs1_v1_5_vect15_ptx[] = {
4802 0x9a, 0x13, 0x96, 0x62, 0x2d, 0x06, 0x6c, 0x10, 0x56, 0x08, 0x58, 0xc2, 0xc4, 0xcd, 0x5c, 0x04,
4803 0x44, 0x9e, 0x2b, 0x95, 0x50, 0xc5, 0xbc, 0x92, 0x93, 0x76, 0x1a, 0x91, 0x04, 0x41, 0x1d, 0xa1,
4804 0x8a, 0x57, 0xd9, 0xb6, 0xa9, 0x97, 0x33, 0x3c, 0xdb, 0xce, 0x77, 0xe9, 0xfd, 0xbe, 0x6b, 0xb8,
4805 0x31,
4806};
4807
4808static const uint8_t ac_rsaes_pkcs1_v1_5_vect15_out[] = {
4809 0x10, 0x0e, 0xce, 0x63, 0x45, 0x25, 0xd4, 0x67, 0xf6, 0xd4, 0xa6, 0xb6, 0x6e, 0xde, 0x1c, 0xc2,
4810 0x37, 0xf6, 0x1f, 0xb2, 0xb6, 0x70, 0x23, 0xa8, 0x3d, 0xc4, 0x56, 0xb9, 0x2c, 0xda, 0x18, 0x3e,
4811 0xd6, 0x62, 0x0f, 0xe5, 0x7d, 0x5a, 0x67, 0x33, 0x2c, 0x77, 0x23, 0x3a, 0xc1, 0xe8, 0x72, 0x5b,
4812 0x36, 0xf8, 0xe1, 0xb1, 0x08, 0x41, 0x2c, 0xa6, 0xfb, 0x35, 0xdc, 0xd4, 0xd8, 0x16, 0x77, 0xa2,
4813 0xb3, 0x0d, 0x5e, 0xaf, 0x25, 0xe0, 0xb9, 0x19, 0x1b, 0x38, 0xf7, 0xee, 0xf8, 0x3f, 0x91, 0x21,
4814 0xa8, 0x08, 0x43, 0x8c, 0x92, 0xab, 0x03, 0xf5, 0x20, 0x80, 0x7b, 0xc9, 0xa8, 0x94, 0x70, 0x5e,
4815 0xaf, 0x4e, 0xed, 0x06, 0x68, 0x23, 0xa6, 0x7a, 0xa2, 0xa5, 0x59, 0x9c, 0xd9, 0x5e, 0x58, 0xda,
4816 0x7c, 0x09, 0x48, 0x36, 0xd2, 0xaf, 0xeb, 0xa3, 0x9d, 0xd0, 0x09, 0xa6, 0x4a, 0xde, 0x03, 0x05,
4817 0x33, 0x76, 0xf0, 0x29, 0x36, 0xcf, 0x3f, 0x56, 0xbf, 0x64, 0xc1, 0xf3, 0xbd, 0xc0, 0x7c, 0x45,
4818 0xa9, 0x5b, 0x9f, 0xcd, 0x93, 0x96, 0xcd, 0x9a, 0x8d, 0x41, 0xbc, 0xc5, 0x64, 0x24, 0x93, 0x7a,
4819 0x13, 0x71, 0xb3, 0x84, 0x7c, 0x90, 0x5b, 0x9a, 0xb5, 0x84, 0x02, 0x39, 0x3d, 0x40, 0x46, 0xe4,
4820 0xa0, 0x15, 0xc1, 0x47, 0x08, 0xf7, 0x4c, 0xe7, 0x79, 0x0e, 0xba, 0x8a, 0xf7, 0x92, 0x07, 0x24,
4821 0x40, 0xbc, 0xaf, 0xb1, 0x4c, 0x0f, 0x81, 0x08, 0x97, 0x11, 0x87, 0xc8, 0x0f, 0x46, 0x3a, 0x1f,
4822 0xff, 0x25, 0x86, 0x46, 0xea, 0x16, 0xe5, 0x1c, 0x6e, 0xe3, 0x61, 0xb6, 0x61, 0xa1, 0x4f, 0x07,
4823 0xcd, 0x4f, 0x5a, 0x82, 0xc7, 0x09, 0xf4, 0x94, 0xf1, 0xdf, 0x0f, 0x80, 0x3b, 0x6f, 0x64, 0xa7,
4824 0x2f, 0xb9, 0xc4, 0x50, 0xff, 0xe2, 0x68, 0xfc, 0xab, 0x48, 0x7d, 0x4d, 0x63, 0x01, 0x3e, 0x41,
4825};
4826
4827/*
4828 * PKCS#1 v1.5 Encryption Example 10.1
4829 * from http://armcryptolib.das-labor.org/trac/browser/testvectors/rsa-pkcs-1v2-1-vec/oaep-vect.txt
4830 */
4831
4832static const uint8_t ac_rsaes_oaep_vect10_modulus[] = {
4833 0xae, 0x45, 0xed, 0x56, 0x01, 0xce, 0xc6, 0xb8, 0xcc, 0x05, 0xf8, 0x03, 0x93, 0x5c, 0x67, 0x4d,
4834 0xdb, 0xe0, 0xd7, 0x5c, 0x4c, 0x09, 0xfd, 0x79, 0x51, 0xfc, 0x6b, 0x0c, 0xae, 0xc3, 0x13, 0xa8,
4835 0xdf, 0x39, 0x97, 0x0c, 0x51, 0x8b, 0xff, 0xba, 0x5e, 0xd6, 0x8f, 0x3f, 0x0d, 0x7f, 0x22, 0xa4,
4836 0x02, 0x9d, 0x41, 0x3f, 0x1a, 0xe0, 0x7e, 0x4e, 0xbe, 0x9e, 0x41, 0x77, 0xce, 0x23, 0xe7, 0xf5,
4837 0x40, 0x4b, 0x56, 0x9e, 0x4e, 0xe1, 0xbd, 0xcf, 0x3c, 0x1f, 0xb0, 0x3e, 0xf1, 0x13, 0x80, 0x2d,
4838 0x4f, 0x85, 0x5e, 0xb9, 0xb5, 0x13, 0x4b, 0x5a, 0x7c, 0x80, 0x85, 0xad, 0xca, 0xe6, 0xfa, 0x2f,
4839 0xa1, 0x41, 0x7e, 0xc3, 0x76, 0x3b, 0xe1, 0x71, 0xb0, 0xc6, 0x2b, 0x76, 0x0e, 0xde, 0x23, 0xc1,
4840 0x2a, 0xd9, 0x2b, 0x98, 0x08, 0x84, 0xc6, 0x41, 0xf5, 0xa8, 0xfa, 0xc2, 0x6b, 0xda, 0xd4, 0xa0,
4841 0x33, 0x81, 0xa2, 0x2f, 0xe1, 0xb7, 0x54, 0x88, 0x50, 0x94, 0xc8, 0x25, 0x06, 0xd4, 0x01, 0x9a,
4842 0x53, 0x5a, 0x28, 0x6a, 0xfe, 0xb2, 0x71, 0xbb, 0x9b, 0xa5, 0x92, 0xde, 0x18, 0xdc, 0xf6, 0x00,
4843 0xc2, 0xae, 0xea, 0xe5, 0x6e, 0x02, 0xf7, 0xcf, 0x79, 0xfc, 0x14, 0xcf, 0x3b, 0xdc, 0x7c, 0xd8,
4844 0x4f, 0xeb, 0xbb, 0xf9, 0x50, 0xca, 0x90, 0x30, 0x4b, 0x22, 0x19, 0xa7, 0xaa, 0x06, 0x3a, 0xef,
4845 0xa2, 0xc3, 0xc1, 0x98, 0x0e, 0x56, 0x0c, 0xd6, 0x4a, 0xfe, 0x77, 0x95, 0x85, 0xb6, 0x10, 0x76,
4846 0x57, 0xb9, 0x57, 0x85, 0x7e, 0xfd, 0xe6, 0x01, 0x09, 0x88, 0xab, 0x7d, 0xe4, 0x17, 0xfc, 0x88,
4847 0xd8, 0xf3, 0x84, 0xc4, 0xe6, 0xe7, 0x2c, 0x3f, 0x94, 0x3e, 0x0c, 0x31, 0xc0, 0xc4, 0xa5, 0xcc,
4848 0x36, 0xf8, 0x79, 0xd8, 0xa3, 0xac, 0x9d, 0x7d, 0x59, 0x86, 0x0e, 0xaa, 0xda, 0x6b, 0x83, 0xbb,
4849};
4850
4851static const uint8_t ac_rsaes_oaep_vect10_pub_exp[] = {
4852 0x01, 0x00, 0x01,
4853};
4854
4855static const uint8_t ac_rsaes_oaep_vect10_priv_exp[] = {
4856 0x05, 0x6b, 0x04, 0x21, 0x6f, 0xe5, 0xf3, 0x54, 0xac, 0x77, 0x25, 0x0a, 0x4b, 0x6b, 0x0c, 0x85,
4857 0x25, 0xa8, 0x5c, 0x59, 0xb0, 0xbd, 0x80, 0xc5, 0x64, 0x50, 0xa2, 0x2d, 0x5f, 0x43, 0x8e, 0x59,
4858 0x6a, 0x33, 0x3a, 0xa8, 0x75, 0xe2, 0x91, 0xdd, 0x43, 0xf4, 0x8c, 0xb8, 0x8b, 0x9d, 0x5f, 0xc0,
4859 0xd4, 0x99, 0xf9, 0xfc, 0xd1, 0xc3, 0x97, 0xf9, 0xaf, 0xc0, 0x70, 0xcd, 0x9e, 0x39, 0x8c, 0x8d,
4860 0x19, 0xe6, 0x1d, 0xb7, 0xc7, 0x41, 0x0a, 0x6b, 0x26, 0x75, 0xdf, 0xbf, 0x5d, 0x34, 0x5b, 0x80,
4861 0x4d, 0x20, 0x1a, 0xdd, 0x50, 0x2d, 0x5c, 0xe2, 0xdf, 0xcb, 0x09, 0x1c, 0xe9, 0x99, 0x7b, 0xbe,
4862 0xbe, 0x57, 0x30, 0x6f, 0x38, 0x3e, 0x4d, 0x58, 0x81, 0x03, 0xf0, 0x36, 0xf7, 0xe8, 0x5d, 0x19,
4863 0x34, 0xd1, 0x52, 0xa3, 0x23, 0xe4, 0xa8, 0xdb, 0x45, 0x1d, 0x6f, 0x4a, 0x5b, 0x1b, 0x0f, 0x10,
4864 0x2c, 0xc1, 0x50, 0xe0, 0x2f, 0xee, 0xe2, 0xb8, 0x8d, 0xea, 0x4a, 0xd4, 0xc1, 0xba, 0xcc, 0xb2,
4865 0x4d, 0x84, 0x07, 0x2d, 0x14, 0xe1, 0xd2, 0x4a, 0x67, 0x71, 0xf7, 0x40, 0x8e, 0xe3, 0x05, 0x64,
4866 0xfb, 0x86, 0xd4, 0x39, 0x3a, 0x34, 0xbc, 0xf0, 0xb7, 0x88, 0x50, 0x1d, 0x19, 0x33, 0x03, 0xf1,
4867 0x3a, 0x22, 0x84, 0xb0, 0x01, 0xf0, 0xf6, 0x49, 0xea, 0xf7, 0x93, 0x28, 0xd4, 0xac, 0x5c, 0x43,
4868 0x0a, 0xb4, 0x41, 0x49, 0x20, 0xa9, 0x46, 0x0e, 0xd1, 0xb7, 0xbc, 0x40, 0xec, 0x65, 0x3e, 0x87,
4869 0x6d, 0x09, 0xab, 0xc5, 0x09, 0xae, 0x45, 0xb5, 0x25, 0x19, 0x01, 0x16, 0xa0, 0xc2, 0x61, 0x01,
4870 0x84, 0x82, 0x98, 0x50, 0x9c, 0x1c, 0x3b, 0xf3, 0xa4, 0x83, 0xe7, 0x27, 0x40, 0x54, 0xe1, 0x5e,
4871 0x97, 0x07, 0x50, 0x36, 0xe9, 0x89, 0xf6, 0x09, 0x32, 0x80, 0x7b, 0x52, 0x57, 0x75, 0x1e, 0x79,
4872};
4873
4874static const uint8_t ac_rsaes_oaep_vect10_prime1[] = {
4875 0xec, 0xf5, 0xae, 0xcd, 0x1e, 0x55, 0x15, 0xff, 0xfa, 0xcb, 0xd7, 0x5a, 0x28, 0x16, 0xc6, 0xeb,
4876 0xf4, 0x90, 0x18, 0xcd, 0xfb, 0x46, 0x38, 0xe1, 0x85, 0xd6, 0x6a, 0x73, 0x96, 0xb6, 0xf8, 0x09,
4877 0x0f, 0x80, 0x18, 0xc7, 0xfd, 0x95, 0xcc, 0x34, 0xb8, 0x57, 0xdc, 0x17, 0xf0, 0xcc, 0x65, 0x16,
4878 0xbb, 0x13, 0x46, 0xab, 0x4d, 0x58, 0x2c, 0xad, 0xad, 0x7b, 0x41, 0x03, 0x35, 0x23, 0x87, 0xb7,
4879 0x03, 0x38, 0xd0, 0x84, 0x04, 0x7c, 0x9d, 0x95, 0x39, 0xb6, 0x49, 0x62, 0x04, 0xb3, 0xdd, 0x6e,
4880 0xa4, 0x42, 0x49, 0x92, 0x07, 0xbe, 0xc0, 0x1f, 0x96, 0x42, 0x87, 0xff, 0x63, 0x36, 0xc3, 0x98,
4881 0x46, 0x58, 0x33, 0x68, 0x46, 0xf5, 0x6e, 0x46, 0x86, 0x18, 0x81, 0xc1, 0x02, 0x33, 0xd2, 0x17,
4882 0x6b, 0xf1, 0x5a, 0x5e, 0x96, 0xdd, 0xc7, 0x80, 0xbc, 0x86, 0x8a, 0xa7, 0x7d, 0x3c, 0xe7, 0x69,
4883};
4884
4885static const uint8_t ac_rsaes_oaep_vect10_prime2[] = {
4886 0xbc, 0x46, 0xc4, 0x64, 0xfc, 0x6a, 0xc4, 0xca, 0x78, 0x3b, 0x0e, 0xb0, 0x8a, 0x3c, 0x84, 0x1b,
4887 0x77, 0x2f, 0x7e, 0x9b, 0x2f, 0x28, 0xba, 0xbd, 0x58, 0x8a, 0xe8, 0x85, 0xe1, 0xa0, 0xc6, 0x1e,
4888 0x48, 0x58, 0xa0, 0xfb, 0x25, 0xac, 0x29, 0x99, 0x90, 0xf3, 0x5b, 0xe8, 0x51, 0x64, 0xc2, 0x59,
4889 0xba, 0x11, 0x75, 0xcd, 0xd7, 0x19, 0x27, 0x07, 0x13, 0x51, 0x84, 0x99, 0x2b, 0x6c, 0x29, 0xb7,
4890 0x46, 0xdd, 0x0d, 0x2c, 0xab, 0xe1, 0x42, 0x83, 0x5f, 0x7d, 0x14, 0x8c, 0xc1, 0x61, 0x52, 0x4b,
4891 0x4a, 0x09, 0x94, 0x6d, 0x48, 0xb8, 0x28, 0x47, 0x3f, 0x1c, 0xe7, 0x6b, 0x6c, 0xb6, 0x88, 0x6c,
4892 0x34, 0x5c, 0x03, 0xe0, 0x5f, 0x41, 0xd5, 0x1b, 0x5c, 0x3a, 0x90, 0xa3, 0xf2, 0x40, 0x73, 0xc7,
4893 0xd7, 0x4a, 0x4f, 0xe2, 0x5d, 0x9c, 0xf2, 0x1c, 0x75, 0x96, 0x0f, 0x3f, 0xc3, 0x86, 0x31, 0x83,
4894};
4895
4896static const uint8_t ac_rsaes_oaep_vect10_exp1[] = {
4897 0xc7, 0x35, 0x64, 0x57, 0x1d, 0x00, 0xfb, 0x15, 0xd0, 0x8a, 0x3d, 0xe9, 0x95, 0x7a, 0x50, 0x91,
4898 0x5d, 0x71, 0x26, 0xe9, 0x44, 0x2d, 0xac, 0xf4, 0x2b, 0xc8, 0x2e, 0x86, 0x2e, 0x56, 0x73, 0xff,
4899 0x6a, 0x00, 0x8e, 0xd4, 0xd2, 0xe3, 0x74, 0x61, 0x7d, 0xf8, 0x9f, 0x17, 0xa1, 0x60, 0xb4, 0x3b,
4900 0x7f, 0xda, 0x9c, 0xb6, 0xb6, 0xb7, 0x42, 0x18, 0x60, 0x98, 0x15, 0xf7, 0xd4, 0x5c, 0xa2, 0x63,
4901 0xc1, 0x59, 0xaa, 0x32, 0xd2, 0x72, 0xd1, 0x27, 0xfa, 0xf4, 0xbc, 0x8c, 0xa2, 0xd7, 0x73, 0x78,
4902 0xe8, 0xae, 0xb1, 0x9b, 0x0a, 0xd7, 0xda, 0x3c, 0xb3, 0xde, 0x0a, 0xe7, 0x31, 0x49, 0x80, 0xf6,
4903 0x2b, 0x6d, 0x4b, 0x0a, 0x87, 0x5d, 0x1d, 0xf0, 0x3c, 0x1b, 0xae, 0x39, 0xcc, 0xd8, 0x33, 0xef,
4904 0x6c, 0xd7, 0xe2, 0xd9, 0x52, 0x8b, 0xf0, 0x84, 0xd1, 0xf9, 0x69, 0xe7, 0x94, 0xe9, 0xf6, 0xc1,
4905};
4906
4907static const uint8_t ac_rsaes_oaep_vect10_exp2[] = {
4908 0x26, 0x58, 0xb3, 0x7f, 0x6d, 0xf9, 0xc1, 0x03, 0x0b, 0xe1, 0xdb, 0x68, 0x11, 0x7f, 0xa9, 0xd8,
4909 0x7e, 0x39, 0xea, 0x2b, 0x69, 0x3b, 0x7e, 0x6d, 0x3a, 0x2f, 0x70, 0x94, 0x74, 0x13, 0xee, 0xc6,
4910 0x14, 0x2e, 0x18, 0xfb, 0x8d, 0xfc, 0xb6, 0xac, 0x54, 0x5d, 0x7c, 0x86, 0xa0, 0xad, 0x48, 0xf8,
4911 0x45, 0x71, 0x70, 0xf0, 0xef, 0xb2, 0x6b, 0xc4, 0x81, 0x26, 0xc5, 0x3e, 0xfd, 0x1d, 0x16, 0x92,
4912 0x01, 0x98, 0xdc, 0x2a, 0x11, 0x07, 0xdc, 0x28, 0x2d, 0xb6, 0xa8, 0x0c, 0xd3, 0x06, 0x23, 0x60,
4913 0xba, 0x3f, 0xa1, 0x3f, 0x70, 0xe4, 0x31, 0x2f, 0xf1, 0xa6, 0xcd, 0x6b, 0x8f, 0xc4, 0xcd, 0x9c,
4914 0x5c, 0x3d, 0xb1, 0x7c, 0x6d, 0x6a, 0x57, 0x21, 0x2f, 0x73, 0xae, 0x29, 0xf6, 0x19, 0x32, 0x7b,
4915 0xad, 0x59, 0xb1, 0x53, 0x85, 0x85, 0x85, 0xba, 0x4e, 0x28, 0xb6, 0x0a, 0x62, 0xa4, 0x5e, 0x49,
4916};
4917
4918static const uint8_t ac_rsaes_oaep_vect10_coeff[] = {
4919 0x6f, 0x38, 0x52, 0x6b, 0x39, 0x25, 0x08, 0x55, 0x34, 0xef, 0x3e, 0x41, 0x5a, 0x83, 0x6e, 0xde,
4920 0x8b, 0x86, 0x15, 0x8a, 0x2c, 0x7c, 0xbf, 0xec, 0xcb, 0x0b, 0xd8, 0x34, 0x30, 0x4f, 0xec, 0x68,
4921 0x3b, 0xa8, 0xd4, 0xf4, 0x79, 0xc4, 0x33, 0xd4, 0x34, 0x16, 0xe6, 0x32, 0x69, 0x62, 0x3c, 0xea,
4922 0x10, 0x07, 0x76, 0xd8, 0x5a, 0xff, 0x40, 0x1d, 0x3f, 0xff, 0x61, 0x0e, 0xe6, 0x54, 0x11, 0xce,
4923 0x3b, 0x13, 0x63, 0xd6, 0x3a, 0x97, 0x09, 0xee, 0xde, 0x42, 0x64, 0x7c, 0xea, 0x56, 0x14, 0x93,
4924 0xd5, 0x45, 0x70, 0xa8, 0x79, 0xc1, 0x86, 0x82, 0xcd, 0x97, 0x71, 0x0b, 0x96, 0x20, 0x5e, 0xc3,
4925 0x11, 0x17, 0xd7, 0x3b, 0x5f, 0x36, 0x22, 0x3f, 0xad, 0xd6, 0xe8, 0xba, 0x90, 0xdd, 0x7c, 0x0e,
4926 0xe6, 0x1d, 0x44, 0xe1, 0x63, 0x25, 0x1e, 0x20, 0xc7, 0xf6, 0x6e, 0xb3, 0x05, 0x11, 0x7c, 0xb8,
4927};
4928
4929static const uint8_t ac_rsaes_oaep_vect10_ptx[] = {
4930 0x8b, 0xba, 0x6b, 0xf8, 0x2a, 0x6c, 0x0f, 0x86, 0xd5, 0xf1, 0x75, 0x6e, 0x97, 0x95, 0x68, 0x70,
4931 0xb0, 0x89, 0x53, 0xb0, 0x6b, 0x4e, 0xb2, 0x05, 0xbc, 0x16, 0x94, 0xee,
4932};
4933
4934static const uint8_t ac_rsaes_oaep_vect10_out[] = {
4935 0x53, 0xea, 0x5d, 0xc0, 0x8c, 0xd2, 0x60, 0xfb, 0x3b, 0x85, 0x85, 0x67, 0x28, 0x7f, 0xa9, 0x15,
4936 0x52, 0xc3, 0x0b, 0x2f, 0xeb, 0xfb, 0xa2, 0x13, 0xf0, 0xae, 0x87, 0x70, 0x2d, 0x06, 0x8d, 0x19,
4937 0xba, 0xb0, 0x7f, 0xe5, 0x74, 0x52, 0x3d, 0xfb, 0x42, 0x13, 0x9d, 0x68, 0xc3, 0xc5, 0xaf, 0xee,
4938 0xe0, 0xbf, 0xe4, 0xcb, 0x79, 0x69, 0xcb, 0xf3, 0x82, 0xb8, 0x04, 0xd6, 0xe6, 0x13, 0x96, 0x14,
4939 0x4e, 0x2d, 0x0e, 0x60, 0x74, 0x1f, 0x89, 0x93, 0xc3, 0x01, 0x4b, 0x58, 0xb9, 0xb1, 0x95, 0x7a,
4940 0x8b, 0xab, 0xcd, 0x23, 0xaf, 0x85, 0x4f, 0x4c, 0x35, 0x6f, 0xb1, 0x66, 0x2a, 0xa7, 0x2b, 0xfc,
4941 0xc7, 0xe5, 0x86, 0x55, 0x9d, 0xc4, 0x28, 0x0d, 0x16, 0x0c, 0x12, 0x67, 0x85, 0xa7, 0x23, 0xeb,
4942 0xee, 0xbe, 0xff, 0x71, 0xf1, 0x15, 0x94, 0x44, 0x0a, 0xae, 0xf8, 0x7d, 0x10, 0x79, 0x3a, 0x87,
4943 0x74, 0xa2, 0x39, 0xd4, 0xa0, 0x4c, 0x87, 0xfe, 0x14, 0x67, 0xb9, 0xda, 0xf8, 0x52, 0x08, 0xec,
4944 0x6c, 0x72, 0x55, 0x79, 0x4a, 0x96, 0xcc, 0x29, 0x14, 0x2f, 0x9a, 0x8b, 0xd4, 0x18, 0xe3, 0xc1,
4945 0xfd, 0x67, 0x34, 0x4b, 0x0c, 0xd0, 0x82, 0x9d, 0xf3, 0xb2, 0xbe, 0xc6, 0x02, 0x53, 0x19, 0x62,
4946 0x93, 0xc6, 0xb3, 0x4d, 0x3f, 0x75, 0xd3, 0x2f, 0x21, 0x3d, 0xd4, 0x5c, 0x62, 0x73, 0xd5, 0x05,
4947 0xad, 0xf4, 0xcc, 0xed, 0x10, 0x57, 0xcb, 0x75, 0x8f, 0xc2, 0x6a, 0xee, 0xfa, 0x44, 0x12, 0x55,
4948 0xed, 0x4e, 0x64, 0xc1, 0x99, 0xee, 0x07, 0x5e, 0x7f, 0x16, 0x64, 0x61, 0x82, 0xfd, 0xb4, 0x64,
4949 0x73, 0x9b, 0x68, 0xab, 0x5d, 0xaf, 0xf0, 0xe6, 0x3e, 0x95, 0x52, 0x01, 0x68, 0x24, 0xf0, 0x54,
4950 0xbf, 0x4d, 0x3c, 0x8c, 0x90, 0xa9, 0x7b, 0xb6, 0xb6, 0x55, 0x32, 0x84, 0xeb, 0x42, 0x9f, 0xcc,
4951};
4952
4953/* diffie hellman test data */
4954/* p and g testdata generated using the following line:
4955 * for i in {256..2048..64}; do openssl dhparam -C -5 $i; done
4956 */
4957static const uint8_t keygen_dh256_p[] = {
4958 0xB6, 0x73, 0x91, 0xB5, 0xD6, 0xBC, 0x95, 0x73, 0x0D, 0x53, 0x64, 0x13,
4959 0xB0, 0x51, 0xC6, 0xB4, 0xEB, 0x9D, 0x74, 0x57, 0x8D, 0x65, 0x3A, 0x4B,
4960 0x7A, 0xB2, 0x93, 0x27, 0xA6, 0xC1, 0xBC, 0xAB,
4961};
4962
4963static const uint8_t keygen_dh256_g[] = {
4964 0x05,
4965};
4966
4967static const uint8_t keygen_dh320_p[] = {
4968 0x80, 0x72, 0x50, 0x4F, 0x85, 0xD2, 0x32, 0x70, 0xA3, 0x11, 0xF4, 0x46,
4969 0x01, 0x72, 0xD0, 0x72, 0x96, 0xA5, 0x1B, 0xFA, 0x8F, 0x35, 0x49, 0x75,
4970 0x04, 0xA5, 0x5A, 0x62, 0xB6, 0x33, 0xD6, 0x3C, 0x46, 0xD1, 0xED, 0xD7,
4971 0xB1, 0xD4, 0xBA, 0xF3,
4972};
4973
4974static const uint8_t keygen_dh320_g[] = {
4975 0x05,
4976};
4977
4978static const uint8_t keygen_dh384_p[] = {
4979 0xC2, 0x04, 0xC8, 0x0E, 0xE8, 0x3F, 0x02, 0x1F, 0xDE, 0x0C, 0xAA, 0x2E,
4980 0x67, 0x13, 0xF4, 0x33, 0x67, 0x82, 0x59, 0xE7, 0x80, 0xE5, 0x42, 0xEA,
4981 0x2F, 0xC4, 0x71, 0x93, 0xA7, 0x1C, 0x86, 0xEC, 0x8C, 0x39, 0xF8, 0xC7,
4982 0xF1, 0xE3, 0xE0, 0xEE, 0xC4, 0x55, 0xF5, 0x4F, 0xE7, 0x98, 0xF0, 0x47,
4983};
4984
4985static const uint8_t keygen_dh384_g[] = {
4986 0x05,
4987};
4988
4989static const uint8_t keygen_dh448_p[] = {
4990 0x91, 0xB9, 0x28, 0x8F, 0x01, 0x62, 0xA1, 0x40, 0x4D, 0x53, 0xC7, 0xD5,
4991 0xEE, 0x97, 0x40, 0x03, 0x39, 0x39, 0x41, 0x5F, 0x17, 0x0F, 0xA2, 0x78,
4992 0xBF, 0x3D, 0x6B, 0x33, 0x33, 0x39, 0x3B, 0x57, 0x21, 0x5B, 0xF9, 0xB1,
4993 0x6C, 0xE3, 0xB8, 0x19, 0xBE, 0x81, 0xBD, 0xC4, 0xFF, 0x4C, 0xFA, 0x48,
4994 0x63, 0x24, 0x10, 0x33, 0xDE, 0x3A, 0xFD, 0x3B,
4995};
4996
4997static const uint8_t keygen_dh448_g[] = {
4998 0x05,
4999};
5000
5001static const uint8_t keygen_dh512_p[] = {
5002 0xCF, 0x09, 0xB8, 0xCD, 0x0B, 0xC5, 0x9D, 0xBD, 0x7A, 0x34, 0x50, 0x55,
5003 0xEC, 0xD4, 0xED, 0x92, 0x9D, 0x63, 0x92, 0xF9, 0x1D, 0x42, 0xF3, 0x64,
5004 0x04, 0x3D, 0xCC, 0xAA, 0x5F, 0xD1, 0xBB, 0xEA, 0x44, 0x12, 0xFC, 0xF0,
5005 0xFB, 0xFF, 0x26, 0x57, 0xE3, 0x6E, 0xA8, 0x3F, 0x45, 0x43, 0x11, 0x81,
5006 0xC6, 0x79, 0xF0, 0x0B, 0x11, 0x23, 0x1D, 0x7B, 0x1E, 0x59, 0xA8, 0xB8,
5007 0x69, 0x44, 0xA7, 0xE3,
5008};
5009
5010static const uint8_t keygen_dh512_g[] = {
5011 0x05,
5012};
5013
5014static const uint8_t keygen_dh576_p[] = {
5015 0xEF, 0xA2, 0xD7, 0x81, 0x88, 0xAA, 0xBF, 0x70, 0x03, 0x70, 0xD4, 0x75,
5016 0xA6, 0x3E, 0x5B, 0xCF, 0x73, 0xDE, 0x7D, 0x45, 0x67, 0x47, 0xB1, 0xCF,
5017 0xA8, 0x62, 0xA9, 0x13, 0x9F, 0xC3, 0x9B, 0x96, 0xCE, 0xB9, 0x0C, 0x24,
5018 0xAC, 0xCB, 0xB6, 0x40, 0x30, 0x25, 0x26, 0x4E, 0x9D, 0x50, 0xA7, 0x8F,
5019 0x09, 0x1C, 0x9B, 0xDE, 0x77, 0x8A, 0xE8, 0xAA, 0xDA, 0xC2, 0x31, 0x08,
5020 0x55, 0x2C, 0xC1, 0x13, 0x24, 0x6E, 0x5A, 0xE7, 0xA1, 0xBC, 0xE5, 0x5B,
5021};
5022
5023static const uint8_t keygen_dh576_g[] = {
5024 0x05,
5025};
5026
5027static const uint8_t keygen_dh640_p[] = {
5028 0xED, 0xB6, 0x90, 0x9C, 0x72, 0x5C, 0x63, 0x11, 0x17, 0xA9, 0xB6, 0x0E,
5029 0x6C, 0x80, 0xA9, 0xF3, 0x15, 0x36, 0x9D, 0x49, 0x02, 0x2B, 0x4F, 0x12,
5030 0x1A, 0xFD, 0x00, 0xC0, 0x9B, 0x12, 0x10, 0x96, 0x18, 0x55, 0x3F, 0x0C,
5031 0x75, 0x46, 0x6E, 0xDF, 0x0A, 0x58, 0x8E, 0x1B, 0x4B, 0xFF, 0x24, 0x70,
5032 0xFC, 0x29, 0xE8, 0x67, 0x8F, 0x0B, 0x72, 0x14, 0x80, 0x6F, 0xE9, 0xCD,
5033 0x30, 0x3C, 0x16, 0xB9, 0xB0, 0x32, 0xBE, 0x6A, 0x1D, 0x06, 0xEE, 0x6D,
5034 0x15, 0x44, 0x49, 0x55, 0xA8, 0x08, 0x2D, 0x0F,
5035};
5036
5037static const uint8_t keygen_dh640_g[] = {
5038 0x05,
5039};
5040
5041static const uint8_t keygen_dh704_p[] = {
5042 0xA6, 0xBF, 0xA1, 0x02, 0x02, 0xA7, 0x7A, 0x6E, 0xFC, 0x48, 0x55, 0x81,
5043 0x23, 0x3F, 0x08, 0x8E, 0x83, 0xE9, 0x10, 0x92, 0x96, 0x82, 0x5F, 0xB8,
5044 0x88, 0x28, 0x0C, 0x6A, 0x04, 0x41, 0xEF, 0x4C, 0xCC, 0x2F, 0x16, 0xCD,
5045 0xA4, 0x2F, 0x24, 0x3B, 0xB6, 0x8A, 0x45, 0x76, 0xB3, 0xFA, 0x23, 0x83,
5046 0x53, 0xB2, 0x8F, 0x0C, 0xAE, 0xF9, 0xE8, 0xDB, 0x46, 0x5B, 0xBF, 0x7E,
5047 0xC3, 0x6F, 0x4F, 0xE6, 0xE7, 0x51, 0x75, 0x49, 0xB5, 0x4B, 0xBE, 0x48,
5048 0x51, 0x64, 0x9F, 0x5D, 0x56, 0xC7, 0x28, 0x9C, 0xC5, 0xBD, 0x0C, 0xD2,
5049 0x3A, 0x63, 0x49, 0x57,
5050};
5051
5052static const uint8_t keygen_dh704_g[] = {
5053 0x05,
5054};
5055
5056static const uint8_t keygen_dh768_p[] = {
5057 0xEA, 0x9B, 0x0E, 0xD5, 0xDF, 0xC6, 0x9C, 0x8A, 0x26, 0x29, 0xD4, 0x2A,
5058 0x94, 0x4F, 0xD5, 0x3E, 0xEA, 0xEC, 0xCD, 0x89, 0xDA, 0x9C, 0x12, 0x52,
5059 0x94, 0xA7, 0x1A, 0x7D, 0x14, 0x94, 0xB1, 0x89, 0x79, 0xF3, 0x4A, 0xC3,
5060 0xD6, 0xF5, 0x52, 0xA6, 0x65, 0xC6, 0x0C, 0xD2, 0x2B, 0x16, 0xCB, 0x4F,
5061 0x69, 0x4C, 0x41, 0x6C, 0xA6, 0xAF, 0xCE, 0xFD, 0x50, 0x0E, 0x8C, 0x9E,
5062 0xA7, 0x19, 0x46, 0x6E, 0xC2, 0x27, 0xB9, 0xAF, 0x61, 0x4B, 0xDA, 0x3A,
5063 0x60, 0xBA, 0x6D, 0xCE, 0xBA, 0x39, 0x1C, 0x02, 0xBF, 0x09, 0xF0, 0xF9,
5064 0x87, 0xBE, 0xA1, 0xDE, 0x4E, 0x34, 0x7B, 0x28, 0x3A, 0xC2, 0x9E, 0x83,
5065};
5066
5067static const uint8_t keygen_dh768_g[] = {
5068 0x05,
5069};
5070
5071static const uint8_t keygen_dh832_p[] = {
5072 0xB9, 0x0C, 0x79, 0x82, 0x7B, 0x23, 0xB7, 0x2F, 0x5A, 0x7B, 0xB1, 0xB9,
5073 0x63, 0x30, 0x7C, 0xD4, 0x0B, 0xEB, 0x7B, 0x8A, 0x67, 0x3E, 0x3B, 0x67,
5074 0xF1, 0x72, 0x90, 0x0E, 0xBF, 0x67, 0xEF, 0xBB, 0x95, 0xC1, 0x47, 0xED,
5075 0x89, 0x11, 0x79, 0x40, 0x63, 0x02, 0xF0, 0x41, 0x0C, 0xD1, 0x76, 0x15,
5076 0xAA, 0x24, 0x6A, 0xAE, 0x98, 0xFB, 0x19, 0x1F, 0x43, 0xB9, 0x92, 0xC7,
5077 0xB6, 0x33, 0xD8, 0x85, 0xBD, 0x06, 0x7D, 0x68, 0x32, 0xEE, 0xDB, 0x41,
5078 0xEF, 0x7B, 0xBD, 0xB4, 0xFE, 0x53, 0x4F, 0x6C, 0xA8, 0x26, 0xE0, 0x62,
5079 0x7D, 0x06, 0x06, 0xC5, 0xFB, 0x47, 0xD0, 0x3F, 0x4B, 0xC1, 0x7A, 0xC4,
5080 0x2A, 0xF3, 0x69, 0xF2, 0xDE, 0x77, 0xCD, 0x03,
5081};
5082
5083static const uint8_t keygen_dh832_g[] = {
5084 0x05,
5085};
5086
5087static const uint8_t keygen_dh896_p[] = {
5088 0xA8, 0x1A, 0xFB, 0xF4, 0x12, 0xF8, 0x17, 0x16, 0x89, 0x20, 0xAE, 0x6F,
5089 0x07, 0x55, 0x13, 0xCA, 0x99, 0x66, 0xA3, 0x1F, 0x07, 0xAC, 0x32, 0x5C,
5090 0xF5, 0xF0, 0x39, 0xA3, 0xDA, 0xF5, 0x55, 0xF9, 0x3C, 0xF3, 0x15, 0xF8,
5091 0x44, 0xC1, 0x10, 0x6A, 0x3D, 0x2F, 0x97, 0xFD, 0xAC, 0x74, 0x1E, 0xEE,
5092 0xCF, 0xDD, 0xEE, 0x70, 0x57, 0xBA, 0x4B, 0x41, 0xD6, 0x3F, 0xDD, 0x01,
5093 0xFB, 0x0C, 0x26, 0xA9, 0x06, 0xCD, 0x1B, 0xA2, 0xD3, 0x3E, 0xAD, 0x2D,
5094 0x29, 0xFB, 0x79, 0xB8, 0x8E, 0x50, 0xCC, 0xA1, 0x85, 0x37, 0xFA, 0xF1,
5095 0xBB, 0xB1, 0x5D, 0x3B, 0x51, 0x54, 0x16, 0x4C, 0x98, 0x2B, 0x26, 0xAD,
5096 0x70, 0x0B, 0x01, 0x87, 0x5C, 0xF1, 0xE8, 0x02, 0xF3, 0x57, 0xA9, 0x40,
5097 0x5C, 0xC5, 0xE0, 0xFF,
5098};
5099
5100static const uint8_t keygen_dh896_g[] = {
5101 0x05,
5102};
5103
5104static const uint8_t keygen_dh960_p[] = {
5105 0xD9, 0x31, 0xE0, 0xF3, 0x80, 0xED, 0xBD, 0xEC, 0x35, 0x99, 0xC9, 0x28,
5106 0xA8, 0x88, 0x3C, 0x84, 0x41, 0x8A, 0x6C, 0xC7, 0x83, 0x09, 0xCE, 0x07,
5107 0x51, 0x72, 0xBE, 0xE9, 0x21, 0x4F, 0xCB, 0x92, 0xAE, 0xA5, 0xF0, 0x9A,
5108 0x40, 0x9B, 0x02, 0x1D, 0xA5, 0x5E, 0xAB, 0x17, 0x25, 0x5B, 0x70, 0x0F,
5109 0xF9, 0x27, 0xEF, 0x49, 0xCD, 0x7F, 0x6E, 0x9A, 0x62, 0x51, 0xE6, 0xEA,
5110 0x4B, 0x7E, 0xBE, 0xB3, 0x72, 0xFB, 0xAF, 0x98, 0xA1, 0x7D, 0x77, 0x7E,
5111 0x53, 0xF9, 0xFC, 0x7A, 0xEB, 0xC7, 0xB0, 0x84, 0x2F, 0x70, 0xCC, 0xA2,
5112 0x34, 0x52, 0x9F, 0xD3, 0x46, 0xE3, 0x32, 0x2F, 0xE0, 0x6F, 0x83, 0x3B,
5113 0x8B, 0x17, 0x01, 0x0C, 0x1D, 0xEA, 0x04, 0x7D, 0xB1, 0xD4, 0xB2, 0x2D,
5114 0xC7, 0xD3, 0x2D, 0xE0, 0x47, 0x00, 0x6D, 0xE8, 0x1F, 0xAA, 0x39, 0x67,
5115};
5116
5117static const uint8_t keygen_dh960_g[] = {
5118 0x05,
5119};
5120
5121static const uint8_t keygen_dh1024_p[] = {
5122 0xB9, 0xF5, 0xB6, 0xFF, 0x49, 0xA7, 0x31, 0x3C, 0xD3, 0xAA, 0x42, 0xAE,
5123 0x3D, 0xA6, 0xD4, 0xC1, 0x92, 0xB0, 0x1C, 0xD5, 0x24, 0x9D, 0x67, 0x04,
5124 0xFA, 0xED, 0x0B, 0x2D, 0x8B, 0xA1, 0xB8, 0x72, 0x43, 0x48, 0xC2, 0x75,
5125 0x00, 0x9F, 0x43, 0xD7, 0xF0, 0x8F, 0xD8, 0xCD, 0x1C, 0x64, 0x48, 0x82,
5126 0x63, 0x52, 0x89, 0x78, 0x43, 0xEF, 0x00, 0xF6, 0x62, 0x04, 0x26, 0xD5,
5127 0x69, 0x2C, 0x2B, 0x9B, 0x53, 0x72, 0x57, 0xD5, 0x05, 0xA6, 0x53, 0x24,
5128 0x43, 0x81, 0x49, 0xEC, 0xBB, 0x43, 0x58, 0x66, 0x6A, 0xBD, 0xAC, 0xBA,
5129 0xD9, 0xC8, 0xC9, 0x95, 0x93, 0xCB, 0x79, 0x89, 0x86, 0x30, 0x0D, 0x45,
5130 0x3F, 0x89, 0x04, 0xC4, 0xEC, 0x96, 0xBF, 0x4E, 0x8E, 0x88, 0x51, 0xED,
5131 0xEF, 0x91, 0x8A, 0x03, 0xDC, 0x4E, 0x28, 0x69, 0x46, 0xDA, 0x1B, 0xD4,
5132 0x7E, 0xC5, 0xEB, 0x95, 0xBC, 0x9D, 0x14, 0x77,
5133};
5134
5135static const uint8_t keygen_dh1024_g[] = {
5136 0x05,
5137};
5138
5139static const uint8_t keygen_dh1088_p[] = {
5140 0xE3, 0x67, 0x7B, 0x2C, 0x68, 0xE3, 0x7C, 0xDB, 0x30, 0x3A, 0xF3, 0x20,
5141 0x33, 0x02, 0xB5, 0x08, 0x83, 0xC5, 0x8B, 0x07, 0xDD, 0x08, 0x92, 0x82,
5142 0xD6, 0x2A, 0x2B, 0x7F, 0xC6, 0xF0, 0xBD, 0xB8, 0x01, 0xF8, 0xCF, 0x78,
5143 0x4F, 0xFE, 0xE2, 0x9D, 0x2F, 0xF4, 0x2D, 0xC5, 0x48, 0xE0, 0xFD, 0x8A,
5144 0xC2, 0xCF, 0x1B, 0xD9, 0xE1, 0x23, 0xC6, 0xDA, 0xFC, 0x1C, 0x9B, 0xA4,
5145 0x70, 0x91, 0x1A, 0x6A, 0x35, 0x00, 0x5E, 0x63, 0x14, 0x04, 0xAB, 0x3B,
5146 0x00, 0xEE, 0x44, 0xE6, 0xAE, 0x49, 0xDB, 0xB7, 0xEF, 0xE1, 0x6E, 0xF9,
5147 0x88, 0xCC, 0xAB, 0x5E, 0x0A, 0x20, 0x84, 0x09, 0x03, 0xFA, 0xAA, 0x8C,
5148 0xFE, 0xB8, 0xEA, 0x31, 0x78, 0xD2, 0x92, 0xF3, 0x77, 0xCF, 0xEC, 0xB9,
5149 0xF8, 0x3C, 0x79, 0x4A, 0x9B, 0xB6, 0xCC, 0xC0, 0x5E, 0xAB, 0x92, 0xE6,
5150 0x39, 0x74, 0x5E, 0x8D, 0x2B, 0x28, 0x3B, 0x4D, 0x26, 0x6B, 0x2F, 0xF6,
5151 0xA8, 0xB1, 0x01, 0x53,
5152};
5153
5154static const uint8_t keygen_dh1088_g[] = {
5155 0x05,
5156};
5157
5158static const uint8_t keygen_dh1152_p[] = {
5159 0xCA, 0xD6, 0x34, 0x4F, 0xAE, 0x99, 0x47, 0x51, 0x14, 0x5D, 0xF4, 0xCA,
5160 0x47, 0xE2, 0xE7, 0x62, 0x7D, 0xB9, 0xC9, 0xE7, 0xF7, 0xEE, 0xD4, 0xF0,
5161 0x04, 0xC1, 0x93, 0x06, 0xC2, 0xC8, 0x5E, 0x9D, 0xD3, 0x9F, 0x4A, 0x87,
5162 0xF2, 0x22, 0x5A, 0x72, 0x8D, 0xEB, 0x8B, 0x12, 0x26, 0x82, 0x3A, 0xA7,
5163 0x6B, 0xE1, 0x55, 0xB0, 0x9F, 0x97, 0x4C, 0xC5, 0xEC, 0x5C, 0x1C, 0x23,
5164 0xAB, 0x95, 0xDC, 0x17, 0xD5, 0x80, 0x0A, 0xE6, 0x53, 0x9E, 0xD8, 0xC6,
5165 0xB9, 0x9E, 0xFA, 0x62, 0x60, 0x2A, 0x8D, 0xD5, 0x3D, 0x36, 0x5E, 0x4E,
5166 0x42, 0x1F, 0xAF, 0x2B, 0x87, 0x0E, 0xC6, 0x44, 0xB7, 0x55, 0x1C, 0x81,
5167 0x7E, 0x48, 0x96, 0x1B, 0xF9, 0x73, 0x1C, 0x3D, 0x80, 0xDF, 0x43, 0xDB,
5168 0x93, 0xB6, 0x1E, 0xC1, 0x04, 0x12, 0x9E, 0x33, 0x21, 0xCE, 0xF7, 0x49,
5169 0x41, 0x7E, 0x97, 0x31, 0xC3, 0x74, 0x1D, 0x95, 0x85, 0x6F, 0x3A, 0xA1,
5170 0xCF, 0x61, 0xD9, 0xEB, 0x67, 0x67, 0xED, 0x91, 0xDF, 0x23, 0xCD, 0xC3,
5171};
5172
5173static const uint8_t keygen_dh1152_g[] = {
5174 0x05,
5175};
5176
5177static const uint8_t keygen_dh1216_p[] = {
5178 0xB1, 0xFC, 0x4E, 0xF5, 0xDE, 0xC5, 0xDD, 0x33, 0xDD, 0xB2, 0x2E, 0x44,
5179 0x52, 0xDD, 0x74, 0x2F, 0x1F, 0x61, 0x20, 0x21, 0x72, 0x65, 0xC5, 0xEC,
5180 0x5A, 0xAA, 0xF1, 0x24, 0xA1, 0xD0, 0xEB, 0x4B, 0x4C, 0x32, 0x8A, 0xDD,
5181 0x4F, 0x9F, 0xEE, 0xFA, 0x5F, 0x81, 0xD4, 0x18, 0x3D, 0xCD, 0x39, 0x38,
5182 0xDC, 0x3D, 0x2E, 0x37, 0xEB, 0xFE, 0x73, 0xEF, 0x99, 0x53, 0x54, 0xA6,
5183 0xAB, 0x25, 0xFE, 0x9A, 0x10, 0xAE, 0x3E, 0xC9, 0x63, 0x45, 0x75, 0xAF,
5184 0xCA, 0xD9, 0x57, 0xF7, 0x71, 0xE0, 0xBE, 0x0D, 0x90, 0xE9, 0xC5, 0x5A,
5185 0xC6, 0x2E, 0x3D, 0xDE, 0xE4, 0x8B, 0x38, 0x8E, 0x83, 0x06, 0xA6, 0xE2,
5186 0x38, 0xA6, 0x88, 0x81, 0xDE, 0x8E, 0xA6, 0x6A, 0xBF, 0xF4, 0x75, 0xFB,
5187 0xAB, 0xAA, 0x02, 0xEA, 0x0E, 0xCF, 0xCA, 0xEA, 0x45, 0xFE, 0x1C, 0xC2,
5188 0xF9, 0xBE, 0x26, 0x31, 0xA6, 0x8F, 0xFE, 0x07, 0x9E, 0x79, 0x47, 0x11,
5189 0xA1, 0x25, 0xA4, 0xE5, 0xFB, 0xEA, 0xE7, 0xC1, 0xFF, 0x12, 0x12, 0x71,
5190 0x5D, 0xC1, 0x99, 0x44, 0xD1, 0xCE, 0x82, 0xA7,
5191};
5192
5193static const uint8_t keygen_dh1216_g[] = {
5194 0x05,
5195};
5196
5197static const uint8_t keygen_dh1280_p[] = {
5198 0xF0, 0x10, 0x04, 0x04, 0x08, 0x13, 0x79, 0x15, 0x62, 0x5C, 0xFA, 0x2A,
5199 0x6D, 0xFC, 0x3F, 0x23, 0x4C, 0x47, 0x83, 0x45, 0xE7, 0x6F, 0x64, 0x04,
5200 0x1A, 0xFD, 0xBF, 0xD2, 0xB9, 0x0A, 0x98, 0x14, 0x16, 0xA4, 0xB5, 0x03,
5201 0x13, 0xBB, 0xFB, 0x72, 0x1E, 0xF5, 0x23, 0x12, 0xB8, 0x74, 0x49, 0x3F,
5202 0x84, 0xF3, 0x02, 0x3A, 0x50, 0x6F, 0xB7, 0xC7, 0x6F, 0x37, 0x8F, 0x61,
5203 0x88, 0x60, 0x7C, 0xF1, 0xE7, 0x1E, 0xED, 0x55, 0xF1, 0xCD, 0x64, 0x93,
5204 0xA7, 0x12, 0xB7, 0x74, 0x5F, 0x23, 0x20, 0xF7, 0x87, 0xC2, 0x83, 0x2A,
5205 0x86, 0x0C, 0xF3, 0x4B, 0x88, 0x32, 0xF5, 0xB7, 0x86, 0x2F, 0xBF, 0xEE,
5206 0xA1, 0x59, 0xC4, 0xDB, 0x0F, 0xEF, 0x06, 0xC8, 0xF2, 0xEE, 0x39, 0xB4,
5207 0x19, 0x24, 0x8A, 0x2C, 0xE7, 0xF8, 0xA0, 0x34, 0x2A, 0x15, 0xA9, 0x54,
5208 0x4D, 0x04, 0x1B, 0xC0, 0xC5, 0x15, 0xCF, 0x38, 0x96, 0x83, 0x3E, 0xEE,
5209 0xD0, 0xFD, 0xBC, 0x62, 0xD9, 0x84, 0xA3, 0x02, 0x6D, 0x2A, 0x7B, 0x4B,
5210 0x3E, 0xCC, 0xAD, 0xA1, 0xF0, 0xA0, 0x44, 0xDD, 0x7E, 0x4B, 0xBD, 0x75,
5211 0xAD, 0x8F, 0xF1, 0x57,
5212};
5213
5214static const uint8_t keygen_dh1280_g[] = {
5215 0x05,
5216};
5217
5218static const uint8_t keygen_dh1344_p[] = {
5219 0x8E, 0x0F, 0xCC, 0x61, 0x96, 0xCA, 0xF2, 0x3A, 0x13, 0xD5, 0xF9, 0x2A,
5220 0xD0, 0xF0, 0x5A, 0x4C, 0x1B, 0xC2, 0xD2, 0xDE, 0xD6, 0x54, 0x53, 0x83,
5221 0x70, 0x1E, 0x0A, 0x17, 0x6D, 0x4C, 0xBA, 0xCD, 0xEE, 0x32, 0x08, 0x55,
5222 0xD8, 0xD3, 0x80, 0x81, 0x07, 0x04, 0xF3, 0x19, 0xDD, 0x20, 0x30, 0x6A,
5223 0x6C, 0x74, 0x25, 0x56, 0xEB, 0xA0, 0x9E, 0x0A, 0x08, 0x94, 0x88, 0xE8,
5224 0xD2, 0xFD, 0xC3, 0x16, 0x27, 0x51, 0xE2, 0xF8, 0xAE, 0x8B, 0x2B, 0xFF,
5225 0x2A, 0x75, 0xEC, 0x21, 0xEB, 0xA9, 0xE2, 0x24, 0x8A, 0xAE, 0xF9, 0x7D,
5226 0x90, 0x8B, 0x31, 0x10, 0x6B, 0x14, 0x97, 0x2D, 0xB2, 0x93, 0x59, 0xFF,
5227 0x4B, 0x9A, 0x0A, 0x90, 0xA8, 0x0E, 0xDE, 0x19, 0x2B, 0x74, 0xF2, 0xCC,
5228 0x2D, 0x5B, 0x4F, 0x91, 0xBE, 0x43, 0x86, 0xA2, 0x91, 0xDD, 0x01, 0xDD,
5229 0x24, 0x75, 0xD8, 0x9F, 0x85, 0x53, 0xC3, 0xDB, 0x08, 0x5F, 0x01, 0x24,
5230 0xA7, 0x45, 0xAA, 0x6E, 0xB4, 0xFB, 0x05, 0x1C, 0x58, 0x51, 0x3D, 0xFD,
5231 0x39, 0x57, 0xD4, 0xF9, 0x11, 0x81, 0x60, 0x48, 0xF1, 0xD7, 0x7C, 0xAE,
5232 0xDE, 0x58, 0x6E, 0x6A, 0x02, 0xC5, 0x51, 0x69, 0x47, 0xF3, 0xAC, 0x47,
5233};
5234
5235static const uint8_t keygen_dh1344_g[] = {
5236 0x05,
5237};
5238
5239static const uint8_t keygen_dh1408_p[] = {
5240 0xE1, 0xE7, 0xA6, 0xF3, 0x5C, 0x06, 0x00, 0x8B, 0x4B, 0x3C, 0x7A, 0xF9,
5241 0x4D, 0x30, 0x08, 0x73, 0x69, 0xCF, 0x79, 0x6F, 0xAB, 0x66, 0x47, 0x05,
5242 0x65, 0xA8, 0x4A, 0x5C, 0xA6, 0x5E, 0x3D, 0x46, 0x10, 0x0A, 0x58, 0x3E,
5243 0x7C, 0x3F, 0x0F, 0x3A, 0xE1, 0xFF, 0x2C, 0x7D, 0xE1, 0x40, 0x05, 0xED,
5244 0xC3, 0x0B, 0x6C, 0x36, 0x90, 0xDC, 0x10, 0x94, 0x9B, 0xEB, 0xA9, 0x31,
5245 0xD9, 0x1F, 0x46, 0xBF, 0xC0, 0xF4, 0x49, 0x44, 0x39, 0xF2, 0xE9, 0xB8,
5246 0x86, 0x52, 0xCB, 0x60, 0xAC, 0xAF, 0x2C, 0x38, 0x9A, 0x63, 0xCE, 0xB7,
5247 0x30, 0x17, 0x81, 0xA9, 0x1C, 0x3D, 0x73, 0x0D, 0x3F, 0xCE, 0xC8, 0xA6,
5248 0x95, 0x65, 0x8F, 0x9F, 0x5C, 0xE8, 0xEB, 0x5C, 0x69, 0x59, 0x8B, 0xA5,
5249 0x1D, 0x74, 0x23, 0x35, 0x3C, 0x35, 0x08, 0x50, 0x53, 0xE5, 0xDB, 0x93,
5250 0x69, 0x8F, 0x17, 0xF7, 0xA0, 0xBA, 0xED, 0xD6, 0xE9, 0x7C, 0x4F, 0x97,
5251 0xAB, 0x25, 0x26, 0x39, 0xF9, 0xF3, 0x12, 0x0A, 0xB1, 0xE0, 0x7C, 0xCD,
5252 0x60, 0x5C, 0x46, 0x2E, 0x22, 0xAB, 0xEF, 0x8D, 0x09, 0xB8, 0x3D, 0xB1,
5253 0xA6, 0xB0, 0x1C, 0x5D, 0x75, 0x66, 0x02, 0x0E, 0xFD, 0xB9, 0xD6, 0x47,
5254 0x5F, 0x80, 0xF3, 0xAF, 0xB3, 0x39, 0x7B, 0xF7,
5255};
5256
5257static const uint8_t keygen_dh1408_g[] = {
5258 0x05,
5259};
5260
5261static const uint8_t keygen_dh1472_p[] = {
5262 0x9D, 0x8A, 0x3D, 0x5A, 0xC0, 0x90, 0x55, 0x02, 0x4E, 0x28, 0xB7, 0x8F,
5263 0x33, 0x91, 0xDC, 0xEB, 0xD2, 0x81, 0x00, 0x16, 0x2D, 0x89, 0x9A, 0x3C,
5264 0x83, 0xD5, 0xF3, 0x2A, 0x59, 0x5D, 0x63, 0x86, 0xFB, 0xEB, 0xA8, 0xFD,
5265 0x27, 0x1E, 0x18, 0x9F, 0x3C, 0xF7, 0xEF, 0xAE, 0xDE, 0x6C, 0xA5, 0x30,
5266 0x16, 0x93, 0xF0, 0x00, 0xB3, 0x36, 0xD2, 0xF6, 0x2C, 0x95, 0xF1, 0x31,
5267 0x4A, 0x75, 0xA8, 0x4F, 0xF6, 0xA8, 0x0F, 0xE9, 0x0B, 0xB4, 0xAF, 0xEE,
5268 0xFF, 0x50, 0x6D, 0xE8, 0xFC, 0x3A, 0xCC, 0x04, 0x71, 0x21, 0x74, 0x38,
5269 0xEB, 0x7E, 0x66, 0x70, 0x85, 0xA7, 0x35, 0x50, 0x07, 0x21, 0x2D, 0x24,
5270 0x45, 0xCC, 0x00, 0xB1, 0x7F, 0x7A, 0x73, 0x54, 0x9B, 0x96, 0x7B, 0x60,
5271 0x46, 0xDE, 0x57, 0x4B, 0xE3, 0xF5, 0xEA, 0x0E, 0xFC, 0x7A, 0xC1, 0xFE,
5272 0x8D, 0x13, 0xD8, 0x2D, 0xAB, 0xDD, 0xA6, 0x61, 0x5C, 0x95, 0xB4, 0x15,
5273 0x6F, 0x2A, 0x40, 0x6C, 0xB3, 0xC6, 0xC2, 0x1C, 0xC6, 0x74, 0x6F, 0x31,
5274 0x73, 0x47, 0x94, 0x95, 0x23, 0x8D, 0xCD, 0x4F, 0x4D, 0xA8, 0xF3, 0x67,
5275 0x5D, 0xDE, 0x83, 0x49, 0x9C, 0xD3, 0xD9, 0xB5, 0x0D, 0xD4, 0x0E, 0xD1,
5276 0x99, 0xB7, 0x53, 0x2E, 0xE5, 0xFD, 0xB5, 0x75, 0xFD, 0xE6, 0xD6, 0xC6,
5277 0xA2, 0x43, 0x33, 0x83,
5278};
5279
5280static const uint8_t keygen_dh1472_g[] = {
5281 0x05,
5282};
5283
5284static const uint8_t keygen_dh1536_p[] = {
5285 0xE2, 0x5A, 0x3F, 0x8E, 0xE8, 0x72, 0x92, 0x84, 0x2F, 0xB2, 0xC0, 0x01,
5286 0x1F, 0xE9, 0x42, 0x0A, 0x0B, 0x1A, 0x71, 0x27, 0x51, 0xD8, 0xB5, 0xD8,
5287 0x31, 0x7B, 0xEE, 0xEE, 0xAA, 0xA5, 0x67, 0x67, 0x36, 0xAF, 0xAB, 0x55,
5288 0xB9, 0x07, 0xA7, 0xF7, 0x55, 0xE3, 0x08, 0x52, 0x7C, 0x55, 0xF3, 0x28,
5289 0x6F, 0x37, 0x84, 0xC7, 0x26, 0x66, 0x2F, 0x84, 0x8C, 0x09, 0xA5, 0x0C,
5290 0x5A, 0x60, 0x45, 0x7A, 0xDC, 0x11, 0x11, 0xB6, 0xF8, 0x6B, 0x2A, 0x63,
5291 0x6E, 0x86, 0x00, 0x65, 0x92, 0x8F, 0xE8, 0xB8, 0x4A, 0x2F, 0xDC, 0x62,
5292 0xE0, 0x2C, 0x1F, 0x95, 0x8F, 0x16, 0x7D, 0xB9, 0xC2, 0xCE, 0x58, 0x9A,
5293 0x12, 0x55, 0xC2, 0x01, 0xE2, 0xBE, 0xE5, 0xF0, 0x80, 0x04, 0xFD, 0xDD,
5294 0x95, 0x04, 0x11, 0xCA, 0xE3, 0xAA, 0x9E, 0x3F, 0x4C, 0x9A, 0xE9, 0x8C,
5295 0x11, 0xD9, 0x1C, 0x3A, 0x22, 0xEF, 0xEC, 0xB0, 0x9D, 0x73, 0x0C, 0xBB,
5296 0x4E, 0x3F, 0xFC, 0xF4, 0xFF, 0x63, 0x85, 0x7C, 0xE6, 0x5C, 0x22, 0x60,
5297 0x0A, 0x92, 0x32, 0xEC, 0x7C, 0x6B, 0x01, 0x72, 0x93, 0x42, 0x9D, 0x8D,
5298 0xC5, 0x78, 0x88, 0x8F, 0xCB, 0xA8, 0x93, 0xD1, 0x8F, 0x67, 0x74, 0x7A,
5299 0xA2, 0x93, 0x18, 0xDB, 0x84, 0xA5, 0xA6, 0xB9, 0x35, 0x0C, 0xCD, 0x8B,
5300 0x85, 0x2F, 0xC0, 0xBA, 0x27, 0x3D, 0x9C, 0x55, 0xDA, 0xB8, 0x94, 0x1F,
5301};
5302
5303static const uint8_t keygen_dh1536_g[] = {
5304 0x05,
5305};
5306
5307static const uint8_t keygen_dh1600_p[] = {
5308 0xAC, 0xF5, 0x91, 0x7E, 0xA3, 0x07, 0xD1, 0x24, 0x69, 0x38, 0x4D, 0x1B,
5309 0x1D, 0x60, 0x81, 0xF5, 0x22, 0x71, 0xE3, 0xEC, 0x17, 0x7B, 0x22, 0x81,
5310 0x22, 0xC7, 0x55, 0xBC, 0x61, 0x41, 0x03, 0xA5, 0x9D, 0xDC, 0x58, 0x28,
5311 0x6C, 0xE6, 0xF7, 0x9B, 0x0D, 0x2F, 0xD5, 0x4F, 0x3E, 0x4D, 0x6B, 0x26,
5312 0x5B, 0x09, 0x09, 0x79, 0x58, 0xC4, 0x39, 0x33, 0x8C, 0x29, 0x9E, 0x9F,
5313 0x5C, 0x76, 0xA5, 0xC8, 0x99, 0xF8, 0x69, 0xEE, 0x8F, 0xBA, 0x2C, 0xD4,
5314 0x68, 0x4F, 0xB2, 0xDC, 0xE6, 0xD9, 0x20, 0xE8, 0x02, 0xF2, 0x43, 0x9C,
5315 0xDD, 0x31, 0x79, 0xBD, 0x39, 0x78, 0x31, 0xC6, 0x03, 0x66, 0x69, 0x05,
5316 0xD6, 0x1E, 0xFE, 0x11, 0x1D, 0x9E, 0x01, 0xB8, 0xCB, 0xE8, 0xC7, 0x51,
5317 0xD9, 0xCD, 0x49, 0xEA, 0xD6, 0xC3, 0xC7, 0xF1, 0xC0, 0xA2, 0x6B, 0xD1,
5318 0x52, 0xD3, 0x80, 0xFD, 0x52, 0x35, 0x5C, 0x3D, 0xD3, 0x97, 0x61, 0x58,
5319 0x69, 0x1B, 0x4F, 0x9C, 0xF9, 0xC9, 0x34, 0xDA, 0x9B, 0x8B, 0x04, 0x18,
5320 0x12, 0x2F, 0xF1, 0x22, 0x78, 0x0F, 0xD3, 0xAA, 0x85, 0x06, 0xA9, 0xCA,
5321 0x9E, 0x80, 0x39, 0x25, 0x12, 0x41, 0xDD, 0x86, 0x58, 0x1F, 0x4D, 0x1F,
5322 0x9B, 0xDB, 0x63, 0xD0, 0x80, 0x5E, 0x53, 0xAC, 0x86, 0x0C, 0x1E, 0x11,
5323 0xB1, 0x0D, 0xB6, 0x1F, 0xFE, 0x7C, 0x23, 0x6A, 0x71, 0x47, 0xA5, 0xC2,
5324 0x20, 0x23, 0x9F, 0x1D, 0xDF, 0xB9, 0x91, 0x4B,
5325};
5326
5327static const uint8_t keygen_dh1600_g[] = {
5328 0x05,
5329};
5330
5331static const uint8_t keygen_dh1664_p[] = {
5332 0xAB, 0xF8, 0x74, 0x92, 0xCE, 0x1A, 0x3F, 0x89, 0xE1, 0xB7, 0x75, 0x5E,
5333 0x99, 0xBE, 0xFF, 0x73, 0x3E, 0x78, 0x86, 0xB0, 0x5E, 0x2F, 0x5C, 0xA4,
5334 0xB2, 0xE4, 0x72, 0x2C, 0x59, 0xB6, 0x64, 0x6F, 0x63, 0x72, 0xE3, 0x82,
5335 0xA4, 0xFB, 0x03, 0x57, 0x40, 0x6D, 0x6B, 0x1E, 0x2B, 0xB9, 0x8C, 0xB0,
5336 0x19, 0xB0, 0xE8, 0xC3, 0x3D, 0xEC, 0xC2, 0xA0, 0x91, 0x15, 0x02, 0x79,
5337 0x93, 0x31, 0xE4, 0x3A, 0x17, 0x9D, 0x9F, 0x68, 0xCD, 0x73, 0x28, 0x83,
5338 0xC3, 0x07, 0x43, 0x15, 0x05, 0x50, 0x9F, 0x78, 0x91, 0x2A, 0x98, 0x35,
5339 0xA3, 0xE4, 0x84, 0x84, 0x55, 0xDF, 0x32, 0x29, 0x27, 0x91, 0xC8, 0xFF,
5340 0x8B, 0x7B, 0x4E, 0x1B, 0xA1, 0x02, 0xBA, 0x31, 0x33, 0x79, 0x2E, 0x73,
5341 0x1D, 0x00, 0x30, 0xF2, 0x1E, 0x83, 0xB4, 0x7B, 0xD1, 0x76, 0xD4, 0x9E,
5342 0x2E, 0x32, 0xB6, 0xA5, 0x69, 0xB2, 0x28, 0x8E, 0xC4, 0xE3, 0xB0, 0x33,
5343 0x7E, 0x59, 0x90, 0x92, 0x40, 0x3F, 0x2C, 0x98, 0xC6, 0xEE, 0x26, 0xF1,
5344 0xE0, 0xE2, 0xB0, 0xA6, 0x50, 0xB0, 0x2E, 0xF1, 0xE3, 0x2D, 0x4F, 0xB5,
5345 0x58, 0xDA, 0x07, 0xBE, 0x9D, 0x20, 0x7C, 0x10, 0x23, 0x6D, 0x60, 0x96,
5346 0x11, 0xC9, 0xB4, 0xD4, 0x9C, 0xF0, 0x01, 0x8F, 0x9B, 0xC4, 0x83, 0xC6,
5347 0x47, 0x53, 0x74, 0xDD, 0x74, 0x01, 0x03, 0x9C, 0x99, 0xA0, 0x5E, 0xE2,
5348 0xA0, 0x05, 0x6E, 0x66, 0xB0, 0x01, 0xDD, 0x44, 0xFF, 0xA6, 0x65, 0x96,
5349 0x92, 0x2B, 0x89, 0x57,
5350};
5351
5352static const uint8_t keygen_dh1664_g[] = {
5353 0x05,
5354};
5355
5356static const uint8_t keygen_dh1728_p[] = {
5357 0xED, 0x9F, 0xF6, 0x0C, 0xD6, 0x18, 0x33, 0xE8, 0x26, 0x13, 0xF2, 0x56,
5358 0xE7, 0x9D, 0x03, 0x45, 0x99, 0xA0, 0x12, 0xB1, 0xBC, 0x45, 0xAD, 0xA7,
5359 0x14, 0xCC, 0x37, 0x97, 0x4D, 0x21, 0x6D, 0x52, 0x16, 0x6B, 0x20, 0x0B,
5360 0x8D, 0xA6, 0x43, 0xDF, 0x6C, 0x5C, 0x5A, 0xF2, 0x24, 0xBF, 0x04, 0x03,
5361 0x2E, 0xF6, 0xFE, 0x45, 0x30, 0x88, 0x2B, 0x07, 0x5C, 0xAA, 0xAE, 0x7E,
5362 0x33, 0xEF, 0xE6, 0x92, 0xD6, 0xFD, 0x61, 0x5F, 0xEF, 0xAC, 0xFB, 0x64,
5363 0x8D, 0x41, 0xE7, 0x52, 0xD2, 0x56, 0x74, 0x3A, 0xE5, 0x5E, 0x7E, 0x88,
5364 0x8D, 0xCD, 0xEA, 0xA8, 0xEF, 0x09, 0x9E, 0xDC, 0xBB, 0xC2, 0x10, 0xA8,
5365 0xE8, 0x7B, 0x24, 0x1B, 0x28, 0xA7, 0x1C, 0x0C, 0x53, 0xB8, 0xC2, 0xF3,
5366 0x01, 0x32, 0xBA, 0xE5, 0x8B, 0x6F, 0x3B, 0xB9, 0x36, 0x44, 0x5B, 0x3A,
5367 0x73, 0x44, 0x8F, 0xDE, 0x99, 0x69, 0x22, 0xE0, 0x2C, 0x45, 0x71, 0xA9,
5368 0x52, 0x1C, 0xCD, 0x19, 0x02, 0xBD, 0x06, 0xD2, 0x57, 0x45, 0xE3, 0x6C,
5369 0x96, 0x6D, 0x0B, 0x25, 0x56, 0x4C, 0x40, 0x2E, 0x7E, 0x83, 0xEE, 0xE1,
5370 0xB2, 0x65, 0x51, 0x04, 0x8D, 0x6A, 0x08, 0x44, 0xF0, 0x80, 0xB1, 0xFE,
5371 0x13, 0x15, 0x9B, 0x82, 0x65, 0xF0, 0x89, 0xBC, 0x7E, 0x63, 0xF6, 0x08,
5372 0xD3, 0xBA, 0xA9, 0x66, 0x35, 0x5F, 0x0C, 0xF7, 0xE9, 0x52, 0xA3, 0x4D,
5373 0x66, 0x01, 0xE7, 0x28, 0xF4, 0xDC, 0xF2, 0x46, 0xBB, 0x02, 0x95, 0x21,
5374 0x6A, 0x8F, 0x97, 0xA7, 0x3F, 0x06, 0x2E, 0xB2, 0x97, 0xEC, 0x5A, 0xFB,
5375};
5376
5377
5378static const uint8_t keygen_dh1728_g[] = {
5379 0x05,
5380};
5381
5382static const uint8_t keygen_dh1792_p[] = {
5383 0x9A, 0x87, 0x16, 0x1D, 0x23, 0x55, 0xC7, 0x06, 0x55, 0xD7, 0xB1, 0xB3,
5384 0x71, 0x66, 0x9A, 0x16, 0x5A, 0xA6, 0x8F, 0x54, 0x50, 0x99, 0xBD, 0x90,
5385 0x8C, 0x84, 0xB3, 0xBC, 0x02, 0xFE, 0xCB, 0x07, 0x3A, 0x7E, 0x97, 0x12,
5386 0x32, 0xEC, 0xA0, 0x0B, 0xEA, 0x96, 0x51, 0xB4, 0x50, 0x4E, 0x3A, 0xCB,
5387 0x27, 0xA9, 0x42, 0x51, 0x49, 0x35, 0x9F, 0x45, 0x6B, 0xDA, 0xE0, 0x6C,
5388 0x10, 0x80, 0x00, 0x41, 0xC2, 0xFC, 0x91, 0xB6, 0x59, 0xCE, 0x76, 0x7F,
5389 0x21, 0xC6, 0x10, 0x8A, 0x68, 0x68, 0x54, 0x76, 0xCE, 0x33, 0xA6, 0x37,
5390 0xCF, 0x80, 0xDF, 0x37, 0x12, 0x77, 0xBA, 0xBF, 0x15, 0x10, 0x22, 0x4A,
5391 0xA1, 0x9B, 0xA6, 0x6B, 0x8E, 0x14, 0x4F, 0x64, 0xF4, 0x87, 0x64, 0xAA,
5392 0x6E, 0xBC, 0xB5, 0xB2, 0x96, 0x27, 0xD1, 0x1A, 0x6E, 0x6D, 0x4B, 0xC6,
5393 0x43, 0x28, 0xE9, 0xFC, 0xA4, 0xCB, 0x61, 0x8F, 0xEA, 0xE8, 0x40, 0xF2,
5394 0x0A, 0x19, 0xBA, 0x17, 0x49, 0x9A, 0x9F, 0xEF, 0x65, 0xBC, 0x70, 0x85,
5395 0xDD, 0x98, 0xB9, 0x8B, 0x25, 0x2C, 0xE1, 0x89, 0xC4, 0x60, 0xA0, 0xA9,
5396 0x7E, 0xFB, 0xEC, 0xBC, 0x4C, 0x1D, 0x25, 0x5D, 0x70, 0x2E, 0x73, 0x29,
5397 0x22, 0xA7, 0x83, 0x11, 0xC0, 0x64, 0xA9, 0xB6, 0xFA, 0x11, 0xC8, 0xC4,
5398 0x14, 0x30, 0x64, 0xE4, 0x76, 0xBE, 0x41, 0x62, 0xE6, 0x9F, 0xD6, 0x2A,
5399 0xEC, 0x60, 0xCF, 0xBD, 0x25, 0x2E, 0x3C, 0x6C, 0x40, 0x16, 0x32, 0x5C,
5400 0xB5, 0x3D, 0xFB, 0xD7, 0x3C, 0x59, 0x06, 0xBE, 0x37, 0x54, 0x40, 0x90,
5401 0x3D, 0x51, 0x01, 0x9A, 0x1E, 0x87, 0x05, 0xE3,
5402};
5403
5404static const uint8_t keygen_dh1792_g[] = {
5405 0x05,
5406};
5407
5408static const uint8_t keygen_dh1856_p[] = {
5409 0xA8, 0xD1, 0xC4, 0xCA, 0x89, 0xB5, 0xB3, 0x17, 0xEB, 0x4D, 0xB1, 0x58,
5410 0x73, 0x28, 0xDD, 0x7F, 0x67, 0x78, 0x13, 0x7D, 0x0D, 0x0E, 0x77, 0x43,
5411 0xB8, 0xA5, 0xCD, 0x84, 0xD3, 0x29, 0x3F, 0x00, 0xD7, 0xB0, 0x66, 0x95,
5412 0x52, 0x9D, 0x49, 0xAD, 0x9C, 0xCE, 0x83, 0xB1, 0xDB, 0x86, 0x90, 0x9A,
5413 0x40, 0xAD, 0x0A, 0xB0, 0x3A, 0x93, 0x33, 0x07, 0xC8, 0x32, 0x4D, 0x75,
5414 0x1E, 0x7B, 0xDC, 0xD3, 0x23, 0x5C, 0xCB, 0x83, 0x62, 0x79, 0x3A, 0x88,
5415 0xE8, 0xD0, 0x9B, 0x75, 0x4D, 0xA0, 0x1F, 0x3E, 0x08, 0x61, 0x5D, 0xEF,
5416 0x7C, 0xF0, 0x4D, 0xF8, 0xDD, 0x95, 0xEC, 0x31, 0xDD, 0x50, 0xA5, 0x4B,
5417 0xAA, 0x8E, 0xED, 0x45, 0x34, 0xCB, 0x87, 0x09, 0x4F, 0x36, 0xF6, 0xF4,
5418 0xF7, 0x08, 0x0D, 0xBA, 0xBC, 0x06, 0x22, 0x59, 0x83, 0x93, 0xF6, 0x4B,
5419 0xBC, 0x35, 0xAD, 0x48, 0x82, 0x40, 0x55, 0x51, 0xBC, 0xF8, 0xE2, 0x9A,
5420 0x11, 0xF2, 0x08, 0x1E, 0xCA, 0x55, 0x40, 0x36, 0x00, 0xBE, 0x1C, 0xC8,
5421 0x94, 0x2E, 0x35, 0x7D, 0xB0, 0xA4, 0xCD, 0x1C, 0xC1, 0xFF, 0x58, 0xE1,
5422 0xBB, 0x31, 0xE9, 0x13, 0x16, 0x7F, 0x43, 0x88, 0xB2, 0x43, 0x62, 0x2A,
5423 0x79, 0xE3, 0x61, 0xDF, 0xF5, 0xC9, 0x9C, 0x33, 0xDD, 0x93, 0x58, 0xFC,
5424 0x08, 0x51, 0xE8, 0xA8, 0x30, 0x61, 0x64, 0x83, 0xB3, 0x20, 0xC4, 0x53,
5425 0x95, 0xD6, 0xB3, 0x74, 0xB5, 0xFA, 0xB1, 0x65, 0xD1, 0xF9, 0xED, 0xB1,
5426 0x9B, 0x97, 0x86, 0xC6, 0xDE, 0x6E, 0x5F, 0xF4, 0x6A, 0x42, 0xFA, 0x1F,
5427 0x6E, 0xEA, 0x5B, 0x43, 0x4C, 0xCC, 0x62, 0x76, 0xFE, 0x9B, 0xA0, 0xB9,
5428 0x7C, 0x50, 0x5E, 0x8B,
5429};
5430
5431static const uint8_t keygen_dh1856_g[] = {
5432 0x05,
5433};
5434
5435static const uint8_t keygen_dh1920_p[] = {
5436 0xC2, 0x68, 0xB1, 0x2E, 0x41, 0xB7, 0xA3, 0xCC, 0xE8, 0x10, 0x48, 0xE8,
5437 0x80, 0xA5, 0x56, 0x82, 0x3C, 0x05, 0xA3, 0xC4, 0x20, 0xD5, 0xD7, 0x19,
5438 0x54, 0x60, 0xA4, 0x97, 0x95, 0x09, 0x3D, 0xDF, 0x10, 0xFF, 0x21, 0x0D,
5439 0x68, 0x19, 0x15, 0x89, 0xD1, 0x44, 0x14, 0x1E, 0xF2, 0xD8, 0xFD, 0x9D,
5440 0x35, 0x8C, 0xA6, 0x2B, 0x7D, 0x73, 0x9A, 0xEB, 0x86, 0x28, 0x4D, 0x3B,
5441 0x22, 0xEF, 0x1A, 0x35, 0xB6, 0x95, 0xA2, 0xFF, 0x03, 0x40, 0x49, 0x60,
5442 0x59, 0xD2, 0x2D, 0xAD, 0x00, 0xEF, 0x6A, 0x5B, 0xFB, 0xA6, 0x16, 0x01,
5443 0x92, 0x5E, 0x7D, 0x95, 0x2E, 0x18, 0xD5, 0x23, 0x9E, 0x9E, 0x87, 0xF2,
5444 0x2F, 0xFC, 0xE4, 0xF7, 0xC2, 0x28, 0x44, 0x97, 0xAB, 0xB5, 0xC1, 0xD3,
5445 0x8A, 0x53, 0xD7, 0xE5, 0x04, 0x78, 0xF2, 0xD9, 0x21, 0xD5, 0x46, 0x17,
5446 0x8A, 0xFC, 0xDB, 0x57, 0x29, 0xDD, 0x78, 0x5B, 0x05, 0xA9, 0xB0, 0x13,
5447 0x45, 0x1C, 0x84, 0xEE, 0x46, 0x73, 0x1B, 0x8E, 0x80, 0x45, 0x73, 0x04,
5448 0xF9, 0x23, 0x96, 0xBA, 0xBD, 0x51, 0x69, 0x81, 0xE4, 0xAE, 0x0D, 0x0A,
5449 0xC4, 0x93, 0xD9, 0x67, 0x14, 0x92, 0x5A, 0x96, 0x86, 0x9F, 0xCD, 0x6E,
5450 0x9A, 0x2A, 0x17, 0xA9, 0x1A, 0xDD, 0x00, 0x7C, 0x78, 0xD8, 0x06, 0xC5,
5451 0xB4, 0xA4, 0xF6, 0xCF, 0x22, 0xCD, 0xCA, 0x0E, 0x27, 0x97, 0xDD, 0x22,
5452 0x02, 0x31, 0x2B, 0x9C, 0xFF, 0x7E, 0x35, 0x3C, 0xDA, 0xAB, 0x51, 0x68,
5453 0x5A, 0x81, 0xF3, 0xA5, 0xA9, 0x04, 0xDA, 0x45, 0x07, 0xC6, 0x4A, 0xEF,
5454 0x5D, 0x0E, 0xC3, 0x41, 0xD6, 0xAC, 0xD0, 0x8D, 0x56, 0xAC, 0xB4, 0x89,
5455 0x53, 0x41, 0x06, 0x99, 0x83, 0x04, 0xBE, 0x6D, 0x2B, 0x28, 0xEB, 0x47,
5456};
5457
5458static const uint8_t keygen_dh1920_g[] = {
5459 0x05,
5460};
5461
5462static const uint8_t keygen_dh1984_p[] = {
5463 0xD8, 0xF3, 0xDC, 0x89, 0xE0, 0x6E, 0xD4, 0x07, 0xC3, 0x95, 0xC0, 0x17,
5464 0x39, 0xCE, 0xF6, 0xD0, 0x8A, 0xD7, 0x85, 0xD3, 0x83, 0x4D, 0xDC, 0x0B,
5465 0x85, 0x3B, 0xB7, 0x47, 0xEA, 0xDF, 0xE3, 0x34, 0xCA, 0xA9, 0x60, 0x9A,
5466 0x4F, 0x8E, 0x8B, 0xAE, 0x8A, 0xAF, 0xD3, 0x96, 0x56, 0xFC, 0x1D, 0x37,
5467 0x9A, 0x96, 0x57, 0x21, 0x32, 0xF0, 0x22, 0xE8, 0x68, 0x8B, 0x73, 0xAE,
5468 0x1B, 0xAB, 0xFB, 0x79, 0x1B, 0x7E, 0xDC, 0xAD, 0x9D, 0xA2, 0xF3, 0x5E,
5469 0x11, 0x46, 0x54, 0x4E, 0x88, 0x92, 0x2B, 0x79, 0x3B, 0xBB, 0x14, 0xD8,
5470 0x3B, 0x0B, 0xB0, 0x55, 0xE5, 0x9A, 0xA9, 0xA0, 0x94, 0x3C, 0x72, 0xE0,
5471 0x47, 0x58, 0xA5, 0x85, 0xDC, 0x4A, 0x6D, 0x50, 0x98, 0x28, 0x9B, 0xA1,
5472 0xB2, 0x95, 0xBB, 0x1A, 0x41, 0x05, 0xBC, 0x32, 0x02, 0x72, 0xBB, 0xF7,
5473 0x1A, 0x48, 0xC3, 0xD9, 0x4F, 0xBD, 0x32, 0xC8, 0x82, 0xAB, 0xCE, 0xDE,
5474 0x24, 0x6A, 0x0C, 0x92, 0xF8, 0xFB, 0xFF, 0x18, 0x33, 0x48, 0xAC, 0xD7,
5475 0xA3, 0x12, 0x0D, 0x52, 0x15, 0x3A, 0xA4, 0x6D, 0x85, 0x0A, 0xBF, 0x19,
5476 0x63, 0x82, 0x3E, 0xB9, 0x52, 0x98, 0xEA, 0xCC, 0x56, 0x66, 0x0F, 0x96,
5477 0x90, 0x1D, 0x35, 0xD6, 0xE1, 0xF6, 0x2B, 0x5B, 0xF7, 0x75, 0x12, 0xE5,
5478 0xD9, 0xED, 0x2E, 0x20, 0xA0, 0xF5, 0x68, 0xA8, 0xC9, 0x6E, 0x08, 0xD0,
5479 0xD2, 0xE7, 0xB6, 0xCB, 0x51, 0xA2, 0x5A, 0x34, 0x0B, 0xF3, 0x13, 0xAF,
5480 0x5A, 0x46, 0x8B, 0xCB, 0xC9, 0x46, 0x02, 0x15, 0xFE, 0x96, 0x45, 0x25,
5481 0x7D, 0x76, 0x56, 0x16, 0x8C, 0x97, 0xF3, 0x74, 0xFC, 0x2F, 0x5D, 0xFA,
5482 0xCD, 0x62, 0x23, 0x02, 0xF8, 0x19, 0x94, 0xEE, 0xE6, 0x18, 0x09, 0xDE,
5483 0x64, 0xB4, 0x3A, 0xDC, 0x0A, 0x5E, 0x26, 0x83,
5484};
5485
5486static const uint8_t keygen_dh1984_g[] = {
5487 0x05,
5488};
5489
5490static const uint8_t keygen_dh2048_p[] = {
5491 0x8F, 0x3E, 0xC1, 0x36, 0xCA, 0x60, 0xCE, 0xD1, 0xC5, 0xFD, 0x22, 0x05,
5492 0xD6, 0x94, 0x38, 0x20, 0x4F, 0xE1, 0xAF, 0xBC, 0xA6, 0x82, 0xBD, 0x71,
5493 0xFD, 0xD6, 0xC2, 0x61, 0xE8, 0xC1, 0xBD, 0xA9, 0x5E, 0xFD, 0x02, 0x51,
5494 0xB6, 0x1F, 0x38, 0x30, 0x44, 0x76, 0x94, 0xB3, 0x26, 0x79, 0x35, 0xC4,
5495 0xDF, 0x51, 0x80, 0xAF, 0x0D, 0x81, 0xCC, 0xA2, 0x33, 0xD1, 0x1E, 0x77,
5496 0xB8, 0x06, 0xD7, 0xE5, 0x83, 0x34, 0x04, 0xF2, 0x96, 0x24, 0x37, 0xFE,
5497 0xBC, 0x20, 0x9C, 0x66, 0x4C, 0xEB, 0x4F, 0xFD, 0x1F, 0x99, 0x56, 0x40,
5498 0xD9, 0xE8, 0x6B, 0x2A, 0x8D, 0x6B, 0x56, 0xB2, 0xB4, 0x6D, 0x83, 0x47,
5499 0x4C, 0x18, 0x53, 0x8B, 0xB1, 0xA3, 0x51, 0xC2, 0x07, 0xA3, 0x36, 0x43,
5500 0x4B, 0x94, 0x10, 0xFD, 0x24, 0xA3, 0x77, 0x74, 0x77, 0xFA, 0x98, 0x4B,
5501 0x43, 0x0B, 0xB6, 0xEC, 0x7F, 0x5C, 0x7E, 0xBA, 0xB7, 0xC7, 0xAA, 0x72,
5502 0x11, 0x9F, 0x73, 0x14, 0x45, 0x03, 0x7A, 0x4E, 0xE5, 0xE7, 0x5C, 0x64,
5503 0xB8, 0x66, 0x66, 0xCE, 0xEE, 0xF8, 0xFF, 0x61, 0x0F, 0x5D, 0x4E, 0xF6,
5504 0xED, 0xB1, 0xE5, 0x2F, 0x52, 0xAC, 0x2B, 0x8F, 0x34, 0x0D, 0x13, 0xF6,
5505 0x4A, 0x3A, 0x6C, 0x56, 0xB3, 0x3C, 0x52, 0xA8, 0xB9, 0xBC, 0x27, 0xCA,
5506 0x3B, 0xFB, 0x6E, 0xE7, 0x52, 0xFB, 0xB0, 0x2B, 0x4F, 0xC4, 0xBD, 0x24,
5507 0x36, 0xE4, 0x71, 0x07, 0x74, 0x69, 0x5F, 0xE0, 0xB8, 0x59, 0x5F, 0x74,
5508 0x2F, 0xCC, 0x03, 0xB0, 0x6D, 0x90, 0xD8, 0xD3, 0x7C, 0x5A, 0x31, 0x46,
5509 0x5C, 0x7D, 0x1C, 0xC8, 0x0D, 0x18, 0x80, 0x8E, 0x5A, 0xA8, 0x5E, 0x4D,
5510 0x11, 0x2B, 0x76, 0xAC, 0x1E, 0x00, 0x51, 0x80, 0xE3, 0xED, 0x7A, 0xC0,
5511 0x4F, 0x80, 0xFA, 0x5F, 0xD5, 0xD7, 0x4F, 0xA7, 0x14, 0xE1, 0x60, 0x3C,
5512 0x95, 0x77, 0xCA, 0x3B,
5513};
5514
5515static const uint8_t keygen_dh2048_g[] = {
5516 0x05,
5517};
5518
5519static const uint8_t keygen_dh2048_subprime_p[] = {
5520 0x8F, 0x3E, 0xC1, 0x36, 0xCA, 0x60, 0xCE, 0xD1, 0xC5, 0xFD, 0x22, 0x05,
5521 0xD6, 0x94, 0x38, 0x20, 0x4F, 0xE1, 0xAF, 0xBC, 0xA6, 0x82, 0xBD, 0x71,
5522 0xFD, 0xD6, 0xC2, 0x61, 0xE8, 0xC1, 0xBD, 0xA9, 0x5E, 0xFD, 0x02, 0x51,
5523 0xB6, 0x1F, 0x38, 0x30, 0x44, 0x76, 0x94, 0xB3, 0x26, 0x79, 0x35, 0xC4,
5524 0xDF, 0x51, 0x80, 0xAF, 0x0D, 0x81, 0xCC, 0xA2, 0x33, 0xD1, 0x1E, 0x77,
5525 0xB8, 0x06, 0xD7, 0xE5, 0x83, 0x34, 0x04, 0xF2, 0x96, 0x24, 0x37, 0xFE,
5526 0xBC, 0x20, 0x9C, 0x66, 0x4C, 0xEB, 0x4F, 0xFD, 0x1F, 0x99, 0x56, 0x40,
5527 0xD9, 0xE8, 0x6B, 0x2A, 0x8D, 0x6B, 0x56, 0xB2, 0xB4, 0x6D, 0x83, 0x47,
5528 0x4C, 0x18, 0x53, 0x8B, 0xB1, 0xA3, 0x51, 0xC2, 0x07, 0xA3, 0x36, 0x43,
5529 0x4B, 0x94, 0x10, 0xFD, 0x24, 0xA3, 0x77, 0x74, 0x77, 0xFA, 0x98, 0x4B,
5530 0x43, 0x0B, 0xB6, 0xEC, 0x7F, 0x5C, 0x7E, 0xBA, 0xB7, 0xC7, 0xAA, 0x72,
5531 0x11, 0x9F, 0x73, 0x14, 0x45, 0x03, 0x7A, 0x4E, 0xE5, 0xE7, 0x5C, 0x64,
5532 0xB8, 0x66, 0x66, 0xCE, 0xEE, 0xF8, 0xFF, 0x61, 0x0F, 0x5D, 0x4E, 0xF6,
5533 0xED, 0xB1, 0xE5, 0x2F, 0x52, 0xAC, 0x2B, 0x8F, 0x34, 0x0D, 0x13, 0xF6,
5534 0x4A, 0x3A, 0x6C, 0x56, 0xB3, 0x3C, 0x52, 0xA8, 0xB9, 0xBC, 0x27, 0xCA,
5535 0x3B, 0xFB, 0x6E, 0xE7, 0x52, 0xFB, 0xB0, 0x2B, 0x4F, 0xC4, 0xBD, 0x24,
5536 0x36, 0xE4, 0x71, 0x07, 0x74, 0x69, 0x5F, 0xE0, 0xB8, 0x59, 0x5F, 0x74,
5537 0x2F, 0xCC, 0x03, 0xB0, 0x6D, 0x90, 0xD8, 0xD3, 0x7C, 0x5A, 0x31, 0x46,
5538 0x5C, 0x7D, 0x1C, 0xC8, 0x0D, 0x18, 0x80, 0x8E, 0x5A, 0xA8, 0x5E, 0x4D,
5539 0x11, 0x2B, 0x76, 0xAC, 0x1E, 0x00, 0x51, 0x80, 0xE3, 0xED, 0x7A, 0xC0,
5540 0x4F, 0x80, 0xFA, 0x5F, 0xD5, 0xD7, 0x4F, 0xA7, 0x14, 0xE1, 0x60, 0x3C,
5541 0x95, 0x77, 0xCA, 0x3B,
5542};
5543
5544static const uint8_t keygen_dh2048_subprime_g[] = {
5545 0x05,
5546};
5547static const uint32_t keygen_dh256_private_bits;
5548
5549static const uint32_t keygen_dh320_private_bits = 256;
5550
5551static const uint32_t keygen_dh384_private_bits;
5552
5553static const uint32_t keygen_dh448_private_bits = 256;
5554
5555static const uint32_t keygen_dh512_private_bits;
5556
5557static const uint32_t keygen_dh576_private_bits = 288;
5558
5559static const uint32_t keygen_dh640_private_bits;
5560
5561static const uint32_t keygen_dh704_private_bits = 352;
5562
5563static const uint32_t keygen_dh768_private_bits;
5564
5565static const uint32_t keygen_dh832_private_bits = 416;
5566
5567static const uint32_t keygen_dh896_private_bits;
5568
5569static const uint32_t keygen_dh960_private_bits = 480;
5570
5571static const uint32_t keygen_dh1024_private_bits;
5572
5573static const uint32_t keygen_dh1088_private_bits = 544;
5574
5575static const uint32_t keygen_dh1152_private_bits;
5576
5577static const uint32_t keygen_dh1216_private_bits = 608;
5578
5579static const uint32_t keygen_dh1280_private_bits;
5580
5581static const uint32_t keygen_dh1344_private_bits = 672;
5582
5583static const uint32_t keygen_dh1408_private_bits;
5584
5585static const uint32_t keygen_dh1472_private_bits = 736;
5586
5587static const uint32_t keygen_dh1536_private_bits;
5588
5589static const uint32_t keygen_dh1600_private_bits = 800;
5590
5591static const uint32_t keygen_dh1664_private_bits;
5592
5593static const uint32_t keygen_dh1728_private_bits = 864;
5594
5595static const uint32_t keygen_dh1792_private_bits;
5596
5597static const uint32_t keygen_dh1856_private_bits = 928;
5598
5599static const uint32_t keygen_dh1920_private_bits;
5600
5601static const uint32_t keygen_dh1984_private_bits = 992;
5602
5603static const uint32_t keygen_dh2048_private_bits;
5604
5605static const uint32_t keygen_dh2048_subprime_private_bits;
5606
5607static const uint8_t keygen_dh2048_subprime_subprime[] = {
5608 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5609 0x00,
5610 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5611 0x00,
5612 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
5613};
5614
5615/*
5616 * Test data from 186-3dsatestvectors.zip KeyPair.rsp
5617 * http://csrc.nist.gov/groups/STM/cavp/documents/dss/186-3dsatestvectors.zip
5618 */
5619/* [mod = L=1024, N=160] */
5620static const uint8_t keygen_dsa_test1_p[] = {
5621 0xd3, 0x83, 0x11, 0xe2, 0xcd, 0x38, 0x8c, 0x3e, 0xd6, 0x98, 0xe8, 0x2f,
5622 0xdf, 0x88, 0xeb, 0x92, 0xb5, 0xa9, 0xa4, 0x83, 0xdc, 0x88, 0x00, 0x5d,
5623 0x4b, 0x72, 0x5e, 0xf3, 0x41, 0xea, 0xbb, 0x47, 0xcf, 0x8a, 0x7a, 0x8a,
5624 0x41, 0xe7, 0x92, 0xa1, 0x56, 0xb7, 0xce, 0x97, 0x20, 0x6c, 0x4f, 0x9c,
5625 0x5c, 0xe6, 0xfc, 0x5a, 0xe7, 0x91, 0x21, 0x02, 0xb6, 0xb5, 0x02, 0xe5,
5626 0x90, 0x50, 0xb5, 0xb2, 0x1c, 0xe2, 0x63, 0xdd, 0xdb, 0x20, 0x44, 0xb6,
5627 0x52, 0x23, 0x6f, 0x4d, 0x42, 0xab, 0x4b, 0x5d, 0x6a, 0xa7, 0x31, 0x89,
5628 0xce, 0xf1, 0xac, 0xe7, 0x78, 0xd7, 0x84, 0x5a, 0x5c, 0x1c, 0x1c, 0x71,
5629 0x47, 0x12, 0x31, 0x88, 0xf8, 0xdc, 0x55, 0x10, 0x54, 0xee, 0x16, 0x2b,
5630 0x63, 0x4d, 0x60, 0xf0, 0x97, 0xf7, 0x19, 0x07, 0x66, 0x40, 0xe2, 0x09,
5631 0x80, 0xa0, 0x09, 0x31, 0x13, 0xa8, 0xbd, 0x73
5632};
5633
5634static const uint8_t keygen_dsa_test1_q[] = {
5635 0x96, 0xc5, 0x39, 0x0a, 0x8b, 0x61, 0x2c, 0x0e, 0x42, 0x2b, 0xb2, 0xb0,
5636 0xea, 0x19, 0x4a, 0x3e, 0xc9, 0x35, 0xa2, 0x81
5637};
5638
5639static const uint8_t keygen_dsa_test1_g[] = {
5640 0x06, 0xb7, 0x86, 0x1a, 0xbb, 0xd3, 0x5c, 0xc8, 0x9e, 0x79, 0xc5, 0x2f,
5641 0x68, 0xd2, 0x08, 0x75, 0x38, 0x9b, 0x12, 0x73, 0x61, 0xca, 0x66, 0x82,
5642 0x21, 0x38, 0xce, 0x49, 0x91, 0xd2, 0xb8, 0x62, 0x25, 0x9d, 0x6b, 0x45,
5643 0x48, 0xa6, 0x49, 0x5b, 0x19, 0x5a, 0xa0, 0xe0, 0xb6, 0x13, 0x7c, 0xa3,
5644 0x7e, 0xb2, 0x3b, 0x94, 0x07, 0x4d, 0x3c, 0x3d, 0x30, 0x00, 0x42, 0xbd,
5645 0xf1, 0x57, 0x62, 0x81, 0x2b, 0x63, 0x33, 0xef, 0x7b, 0x07, 0xce, 0xba,
5646 0x78, 0x60, 0x76, 0x10, 0xfc, 0xc9, 0xee, 0x68, 0x49, 0x1d, 0xbc, 0x1e,
5647 0x34, 0xcd, 0x12, 0x61, 0x54, 0x74, 0xe5, 0x2b, 0x18, 0xbc, 0x93, 0x4f,
5648 0xb0, 0x0c, 0x61, 0xd3, 0x9e, 0x7d, 0xa8, 0x90, 0x22, 0x91, 0xc4, 0x43,
5649 0x4a, 0x4e, 0x22, 0x24, 0xc3, 0xf4, 0xfd, 0x9f, 0x93, 0xcd, 0x6f, 0x4f,
5650 0x17, 0xfc, 0x07, 0x63, 0x41, 0xa7, 0xe7, 0xd9
5651};
5652
5653/* for i in {512..1024..64}; do openssl dsaparam -C $i; done */
5654static const uint8_t keygen_dsa512_p[] = {
5655 0xC8, 0x6B, 0xB7, 0x91, 0xD6, 0x63, 0xCE, 0xC0, 0xC6, 0xB8, 0xAC, 0x5B,
5656 0xEB, 0xA7, 0xEF, 0x17, 0xBE, 0x1A, 0x1A, 0x36, 0x6B, 0x38, 0x40, 0x0E,
5657 0x69, 0x13, 0x32, 0xD4, 0x4B, 0xBE, 0x00, 0xB5, 0x29, 0x7F, 0x6B, 0x87,
5658 0xAA, 0x1D, 0x98, 0x37, 0xD2, 0xAC, 0x62, 0x26, 0xD7, 0xFD, 0xE1, 0xC9,
5659 0x13, 0x4F, 0x2A, 0xF2, 0x82, 0xEC, 0xA8, 0x83, 0x6F, 0x29, 0xD3, 0xF5,
5660 0x16, 0xB9, 0x13, 0xCD,
5661};
5662
5663static const uint8_t keygen_dsa512_q[] = {
5664 0x8D, 0xF9, 0x8B, 0x8A, 0xDA, 0x3B, 0x0B, 0x1C, 0xFA, 0x1C, 0xA7, 0xE8,
5665 0x9A, 0xA2, 0xD7, 0xC3, 0x2D, 0xD5, 0x9D, 0x1B,
5666};
5667
5668static const uint8_t keygen_dsa512_g[] = {
5669 0xB3, 0xE2, 0xFD, 0x38, 0xE0, 0x9A, 0x21, 0x64, 0x8F, 0x6D, 0x7E, 0x4F,
5670 0xC2, 0x24, 0x18, 0x88, 0xEC, 0xA4, 0xCB, 0xB0, 0x5F, 0x43, 0xD8, 0x2B,
5671 0x5B, 0xDE, 0x01, 0xB4, 0xD2, 0x24, 0x1F, 0x80, 0xE7, 0xFC, 0xF3, 0x15,
5672 0xFA, 0x0C, 0x5B, 0x6F, 0x81, 0x55, 0x8C, 0x80, 0x36, 0xFB, 0x4D, 0xB5,
5673 0x8C, 0x5A, 0x26, 0xBE, 0xFB, 0x78, 0xEA, 0x62, 0x6A, 0x9D, 0x5E, 0xD0,
5674 0x21, 0x0C, 0xD9, 0x4E,
5675};
5676
5677static const uint8_t keygen_dsa576_p[] = {
5678 0xF7, 0x85, 0x23, 0x2C, 0x2C, 0x86, 0xD4, 0x2B, 0xE5, 0x09, 0xAB, 0x60,
5679 0xD6, 0x79, 0x05, 0x13, 0x75, 0x78, 0x1E, 0xAE, 0xEB, 0x5F, 0xBA, 0xFA,
5680 0x6E, 0x05, 0xE7, 0xB3, 0x8D, 0x33, 0x4B, 0xE5, 0xB5, 0xAA, 0xD4, 0xE6,
5681 0xA3, 0x9B, 0xA2, 0xF5, 0x7B, 0xF6, 0x32, 0xE6, 0x31, 0x6F, 0x34, 0x46,
5682 0x16, 0xEA, 0xD8, 0x94, 0x79, 0xD7, 0x69, 0x23, 0xA4, 0x04, 0xE2, 0x25,
5683 0xBB, 0x6D, 0xCC, 0x6E, 0x99, 0xB7, 0x90, 0x90, 0x89, 0xB9, 0x88, 0x19,
5684};
5685
5686static const uint8_t keygen_dsa576_q[] = {
5687 0xF0, 0xD8, 0x71, 0x31, 0xB5, 0x01, 0xC1, 0x6B, 0x09, 0xCE, 0x7D, 0x2F,
5688 0x82, 0x48, 0xB0, 0x21, 0x9C, 0xD6, 0xB5, 0xB1,
5689};
5690
5691static const uint8_t keygen_dsa576_g[] = {
5692 0x33, 0x45, 0xB8, 0x9A, 0x17, 0x4B, 0xBF, 0xD3, 0xB2, 0xBA, 0xD2, 0xE4,
5693 0xAC, 0x54, 0xA0, 0x9B, 0x5F, 0x5D, 0x95, 0x88, 0x9C, 0x0C, 0x59, 0xCE,
5694 0x40, 0x0C, 0x05, 0xFD, 0xC4, 0x9D, 0x22, 0x27, 0xDA, 0xA6, 0xD1, 0x10,
5695 0x61, 0x46, 0x31, 0x5C, 0x7D, 0x4E, 0xF6, 0x01, 0x38, 0x9A, 0x7E, 0x72,
5696 0x4E, 0x7A, 0x07, 0xFB, 0x6D, 0x20, 0x9D, 0x59, 0xC6, 0x33, 0x6A, 0x64,
5697 0xBF, 0x14, 0x30, 0x4E, 0x0C, 0x64, 0x9D, 0x11, 0xCF, 0x64, 0xCE, 0x29,
5698};
5699
5700static const uint8_t keygen_dsa640_p[] = {
5701 0x88, 0x8C, 0x58, 0x99, 0xF4, 0x78, 0xEA, 0x31, 0x56, 0xB7, 0x2C, 0x70,
5702 0xDC, 0x09, 0x5D, 0xB9, 0x13, 0x16, 0xCE, 0xDF, 0xFD, 0x8C, 0x4E, 0xF8,
5703 0x32, 0x59, 0x00, 0x58, 0xD6, 0x44, 0x4F, 0x95, 0xF7, 0x85, 0x14, 0xC3,
5704 0x10, 0x5A, 0xA2, 0x44, 0x2F, 0xA2, 0xC9, 0xB4, 0x88, 0x89, 0xA1, 0xAE,
5705 0x0E, 0x82, 0xE1, 0xC1, 0x45, 0x09, 0x98, 0xF7, 0xCB, 0xF2, 0xD8, 0xA0,
5706 0x6E, 0x32, 0x02, 0xE4, 0x0E, 0x7A, 0x43, 0x3A, 0xE1, 0x04, 0x4C, 0xC5,
5707 0x78, 0x0E, 0x02, 0x27, 0xC4, 0xD0, 0xCA, 0x29,
5708};
5709
5710static const uint8_t keygen_dsa640_q[] = {
5711 0xD7, 0x63, 0x4F, 0x3E, 0x6D, 0x52, 0x93, 0x69, 0xFA, 0xFF, 0xDE, 0x0D,
5712 0x57, 0x3F, 0x24, 0xBB, 0x01, 0xF8, 0x01, 0xAD,
5713};
5714
5715static const uint8_t keygen_dsa640_g[] = {
5716 0x76, 0xCB, 0x07, 0xB9, 0xE9, 0x3F, 0x3C, 0xA5, 0x18, 0x43, 0x83, 0xE6,
5717 0xBC, 0x42, 0x09, 0xD9, 0xC5, 0x1C, 0x56, 0x57, 0x0B, 0x5B, 0x46, 0x65,
5718 0x00, 0x67, 0xCA, 0x33, 0xC0, 0xA6, 0x37, 0xEA, 0x89, 0xAE, 0xDF, 0x1D,
5719 0x79, 0x96, 0xC7, 0x0C, 0xD2, 0xAC, 0xD3, 0x2C, 0x46, 0xC2, 0xA0, 0x9D,
5720 0x4B, 0x06, 0xB5, 0xDF, 0xAE, 0x73, 0xEB, 0x9A, 0x6A, 0x54, 0x39, 0x2C,
5721 0xB1, 0x98, 0xAD, 0x44, 0xF3, 0x29, 0xC9, 0xC5, 0x75, 0xF1, 0x3C, 0xD8,
5722 0x3B, 0xA1, 0x85, 0x29, 0x38, 0xB9, 0x17, 0xA5,
5723};
5724
5725static const uint8_t keygen_dsa704_p[] = {
5726 0xDA, 0xEA, 0x9B, 0x6B, 0x35, 0x06, 0x2E, 0x7E, 0x71, 0xB2, 0x11, 0xD0,
5727 0x37, 0x84, 0x88, 0xC0, 0x50, 0x94, 0x73, 0x78, 0xA8, 0x9C, 0xBD, 0x8C,
5728 0xB1, 0x0A, 0xD5, 0x89, 0x52, 0x39, 0xBF, 0x41, 0xDC, 0xB9, 0xE5, 0x16,
5729 0x1A, 0x86, 0xD5, 0xCF, 0xD6, 0x26, 0x84, 0x95, 0xE9, 0x0D, 0xCD, 0x98,
5730 0x21, 0x6B, 0x3C, 0xFE, 0x6D, 0x2D, 0x42, 0x1A, 0x3F, 0xE0, 0xFF, 0x07,
5731 0x41, 0x82, 0x30, 0x15, 0x17, 0xF3, 0x0F, 0x7B, 0xA0, 0xD3, 0x46, 0xFA,
5732 0x1F, 0x1E, 0xEC, 0xBD, 0x26, 0xCE, 0x4C, 0xE3, 0xBD, 0x73, 0xA3, 0xA6,
5733 0xA0, 0x12, 0xE1, 0xFD,
5734};
5735
5736static const uint8_t keygen_dsa704_q[] = {
5737 0xCE, 0xB3, 0x2E, 0x41, 0xEB, 0xFD, 0x22, 0x2A, 0xCE, 0x9A, 0xAF, 0x24,
5738 0xE3, 0x02, 0x50, 0xDE, 0x47, 0xBC, 0x4C, 0x1F,
5739};
5740
5741static const uint8_t keygen_dsa704_g[] = {
5742 0x08, 0x83, 0x72, 0x6D, 0x0A, 0x8F, 0x19, 0x61, 0xE4, 0x62, 0x40, 0x29,
5743 0x66, 0x6B, 0xDE, 0xBD, 0xAB, 0xE3, 0x5B, 0x58, 0x3F, 0xF5, 0xEA, 0xDE,
5744 0x8E, 0x7A, 0x34, 0xAF, 0x1C, 0x99, 0x03, 0x1A, 0x51, 0x17, 0xFC, 0xE0,
5745 0xA3, 0x22, 0x43, 0x63, 0xB6, 0x7E, 0x29, 0x4B, 0x23, 0x6C, 0xD1, 0xDE,
5746 0x59, 0xEC, 0x1D, 0x67, 0x94, 0xDD, 0x2E, 0x88, 0x86, 0xD3, 0xD6, 0x68,
5747 0x58, 0x36, 0x48, 0xF8, 0xEF, 0x38, 0x3F, 0xF5, 0x87, 0x96, 0x38, 0xD3,
5748 0x48, 0x50, 0x1F, 0xA3, 0x4A, 0xCA, 0xD7, 0x4D, 0xC3, 0x84, 0x83, 0xB1,
5749 0x8A, 0x95, 0xE0, 0xB3,
5750};
5751
5752static const uint8_t keygen_dsa768_p[] = {
5753 0xF0, 0xB1, 0x93, 0xFD, 0x53, 0x98, 0x23, 0x43, 0xFB, 0x04, 0xB1, 0x31,
5754 0x80, 0x3D, 0xD3, 0x95, 0x56, 0x51, 0xCC, 0x32, 0xA4, 0x51, 0x00, 0x8A,
5755 0x80, 0xB6, 0x87, 0x70, 0xD7, 0x77, 0x8D, 0xA6, 0xC2, 0xB5, 0x85, 0xE1,
5756 0xE0, 0x9E, 0x11, 0x28, 0x72, 0xE9, 0x45, 0x5B, 0x4D, 0xC9, 0xDC, 0x46,
5757 0x64, 0x2F, 0x44, 0xD8, 0x24, 0xE3, 0x9B, 0xCC, 0xF9, 0x66, 0x31, 0x9C,
5758 0x40, 0x64, 0xED, 0xC5, 0x48, 0x30, 0x84, 0x0C, 0xF9, 0x1F, 0xBC, 0x75,
5759 0xD8, 0x8C, 0x53, 0x30, 0x25, 0xB6, 0xBD, 0xDA, 0xBE, 0xBC, 0xBA, 0x86,
5760 0xB3, 0x7D, 0x27, 0x74, 0x9D, 0x68, 0xEA, 0xB8, 0xE0, 0x09, 0x3A, 0x7F,
5761};
5762
5763static const uint8_t keygen_dsa768_q[] = {
5764 0xC9, 0x8C, 0x79, 0x7B, 0x98, 0xB5, 0xFD, 0x80, 0x5D, 0x4B, 0x26, 0x30,
5765 0x42, 0x63, 0xDE, 0x37, 0xAB, 0x4B, 0xB7, 0xAF,
5766};
5767
5768static const uint8_t keygen_dsa768_g[] = {
5769 0xD4, 0xE8, 0xF1, 0xB9, 0x6D, 0x40, 0x26, 0x19, 0x72, 0x39, 0x5C, 0x6F,
5770 0x68, 0x4C, 0x8C, 0x18, 0xD8, 0x49, 0x3C, 0xB6, 0x5D, 0x72, 0xE3, 0xF4,
5771 0x89, 0x24, 0x69, 0xC8, 0x76, 0x83, 0x38, 0xA2, 0x23, 0xF5, 0xB3, 0xD5,
5772 0xCB, 0x0F, 0xC4, 0xFE, 0x45, 0x65, 0x2F, 0x2C, 0x3D, 0x32, 0x02, 0x28,
5773 0xE5, 0xCA, 0x34, 0xEC, 0x1A, 0xBB, 0x82, 0x93, 0x2A, 0xD9, 0x64, 0x1E,
5774 0xC5, 0x91, 0x34, 0x60, 0xF2, 0xE2, 0x2D, 0x64, 0x4E, 0x46, 0xAA, 0x00,
5775 0x6F, 0x26, 0xD8, 0x98, 0x97, 0xBF, 0xCC, 0xF1, 0x1B, 0x4A, 0x8A, 0x7D,
5776 0x39, 0xA4, 0xA4, 0x23, 0x82, 0x64, 0x78, 0x40, 0xED, 0x4C, 0x96, 0xB9,
5777};
5778
5779static const uint8_t keygen_dsa832_p[] = {
5780 0x93, 0x47, 0x85, 0x69, 0x79, 0xF2, 0xAA, 0xC2, 0x83, 0xA4, 0x08, 0x2F,
5781 0x3C, 0xE5, 0x4D, 0x3B, 0xFF, 0x4D, 0xC5, 0xF4, 0x03, 0x20, 0xFA, 0x15,
5782 0xA8, 0x27, 0x80, 0x55, 0x29, 0x57, 0x60, 0x0B, 0x75, 0x01, 0x7B, 0x65,
5783 0xCE, 0x4D, 0x7C, 0xF6, 0x7C, 0x4F, 0x1D, 0xC3, 0x67, 0xF2, 0xC1, 0x64,
5784 0x38, 0x49, 0x54, 0x60, 0x57, 0x05, 0xEB, 0x31, 0xFA, 0x7B, 0x50, 0xA1,
5785 0x0F, 0xCB, 0xC4, 0x4E, 0xDF, 0x92, 0x5A, 0x8B, 0x11, 0xBA, 0x6B, 0x7E,
5786 0x7A, 0xB4, 0x80, 0xD0, 0x9A, 0xE2, 0x88, 0x7D, 0x83, 0xA6, 0x81, 0x81,
5787 0x71, 0xD0, 0x06, 0xDE, 0xCC, 0xA4, 0xB9, 0x0A, 0x6B, 0x81, 0x31, 0x28,
5788 0x1D, 0xEF, 0x5F, 0x99, 0xDE, 0xEC, 0xDA, 0x4D,
5789};
5790
5791static const uint8_t keygen_dsa832_q[] = {
5792 0xF8, 0xF5, 0xAF, 0x31, 0x0D, 0xBE, 0x6F, 0x4B, 0x79, 0x87, 0xA2, 0x98,
5793 0xED, 0xF1, 0x2A, 0x93, 0x3D, 0x12, 0x5D, 0x25,
5794};
5795
5796static const uint8_t keygen_dsa832_g[] = {
5797 0x11, 0x21, 0xBC, 0x83, 0x7A, 0xD9, 0x5F, 0x0E, 0xA2, 0xF7, 0x96, 0xB7,
5798 0x6A, 0xDD, 0xAE, 0xBA, 0x11, 0x26, 0x58, 0xF6, 0xB1, 0xCF, 0x94, 0x35,
5799 0x3B, 0xFB, 0x9C, 0x9B, 0x16, 0xB8, 0x58, 0xBA, 0x2F, 0x5C, 0xE5, 0x18,
5800 0xE1, 0x29, 0xA6, 0xA3, 0x1C, 0x0C, 0xA5, 0xC7, 0xAE, 0xE8, 0x31, 0x26,
5801 0x8C, 0xCD, 0xA5, 0x69, 0xB2, 0x74, 0x31, 0x15, 0xCE, 0x82, 0xCD, 0x32,
5802 0xF7, 0xC8, 0x90, 0x60, 0x96, 0x61, 0x07, 0x60, 0x63, 0x6B, 0x48, 0x03,
5803 0xCD, 0x1F, 0x58, 0x7D, 0x8E, 0xAF, 0x26, 0x16, 0x3B, 0xC6, 0xA6, 0x03,
5804 0xB4, 0xE1, 0x3E, 0xBE, 0x5B, 0xC9, 0xD3, 0xBD, 0xB6, 0x31, 0xC9, 0x34,
5805 0x2C, 0x2B, 0x08, 0x3C, 0xE0, 0x1C, 0x1E, 0x01,
5806};
5807
5808static const uint8_t keygen_dsa896_p[] = {
5809 0xCA, 0x16, 0xD2, 0xB2, 0x7C, 0xC5, 0x25, 0x99, 0x3A, 0xCC, 0xCB, 0x3F,
5810 0x72, 0xAE, 0xD4, 0xA0, 0x1E, 0xE0, 0x19, 0x6A, 0x8A, 0xC2, 0xFC, 0xD5,
5811 0xB2, 0xCC, 0xD1, 0x6F, 0xA3, 0x95, 0x30, 0xEC, 0x2B, 0x4A, 0x46, 0x6C,
5812 0x72, 0xC3, 0x31, 0xFD, 0x94, 0x00, 0x55, 0xE7, 0x03, 0xC3, 0xDE, 0xD7,
5813 0xE3, 0xF8, 0xAF, 0x32, 0x0A, 0x29, 0x32, 0xC5, 0x97, 0x93, 0x2A, 0xE6,
5814 0xC6, 0x82, 0x49, 0x5C, 0x76, 0xB3, 0xCB, 0x47, 0xD7, 0xFF, 0xEA, 0xE5,
5815 0x47, 0x87, 0x08, 0x6C, 0xEA, 0x6D, 0x1A, 0xF6, 0x47, 0xBA, 0xE3, 0x94,
5816 0xE9, 0xFE, 0xF6, 0x06, 0xA1, 0x99, 0xDC, 0xCB, 0x3D, 0x7A, 0x06, 0x31,
5817 0xAC, 0x25, 0xD3, 0x3C, 0x35, 0xAD, 0x36, 0x8D, 0x25, 0x41, 0xE9, 0x21,
5818 0xD1, 0xF9, 0xC3, 0xC9,
5819};
5820
5821static const uint8_t keygen_dsa896_q[] = {
5822 0xAE, 0x42, 0x0A, 0x1D, 0x76, 0xA9, 0xFB, 0xF1, 0xCB, 0x2D, 0x73, 0x35,
5823 0x3F, 0x98, 0x63, 0x34, 0xE1, 0xCD, 0x3C, 0xCF,
5824};
5825
5826static const uint8_t keygen_dsa896_g[] = {
5827 0x12, 0xD0, 0x15, 0x32, 0x0B, 0x7D, 0xE3, 0xD0, 0x36, 0x51, 0x79, 0x3E,
5828 0xB4, 0x4E, 0xE2, 0x1E, 0x5E, 0x3E, 0x43, 0x4C, 0x5D, 0x49, 0x9D, 0xD4,
5829 0xA3, 0xE3, 0xC8, 0x1F, 0x46, 0xA2, 0xCE, 0x95, 0xF9, 0x8D, 0xFC, 0xFD,
5830 0x50, 0x48, 0xBF, 0xB5, 0x25, 0xB6, 0xFD, 0xF9, 0xF1, 0x97, 0xD5, 0x82,
5831 0xEE, 0xE7, 0xDF, 0xC6, 0xDD, 0x09, 0x96, 0x15, 0xC0, 0x95, 0x60, 0xF4,
5832 0x53, 0xF6, 0x19, 0xA4, 0x84, 0x53, 0xE4, 0x87, 0xB6, 0x0C, 0x6C, 0x01,
5833 0x31, 0x72, 0x56, 0xA4, 0x2E, 0x25, 0xFC, 0x46, 0xB0, 0x47, 0xF3, 0x5A,
5834 0x90, 0x69, 0xAC, 0x64, 0x02, 0xCB, 0x1F, 0x5F, 0x10, 0x70, 0x2B, 0x71,
5835 0xF7, 0x9B, 0x70, 0x22, 0x7F, 0x05, 0xEB, 0xCB, 0x6D, 0x66, 0xDE, 0xFC,
5836 0xED, 0x51, 0xC2, 0x4D,
5837};
5838
5839static const uint8_t keygen_dsa960_p[] = {
5840 0xCA, 0x86, 0x31, 0x0C, 0x62, 0xC7, 0x25, 0x2F, 0xAA, 0x8D, 0xA5, 0x51,
5841 0x97, 0x81, 0xB8, 0xC5, 0xFD, 0xDB, 0x47, 0xC4, 0x8E, 0xDF, 0x06, 0xAA,
5842 0x76, 0xAD, 0x47, 0xDD, 0x56, 0x6C, 0x97, 0xEB, 0x8C, 0xEC, 0x59, 0x79,
5843 0x1B, 0xBF, 0x96, 0x80, 0x50, 0x72, 0x8E, 0x2F, 0x34, 0x71, 0x5B, 0x03,
5844 0x2D, 0xB0, 0x31, 0x37, 0x8C, 0xC4, 0x62, 0x99, 0x9D, 0xC2, 0xDF, 0x68,
5845 0x35, 0xD5, 0x3F, 0xC1, 0x4B, 0xC4, 0x2F, 0xFA, 0xBD, 0x7E, 0xA5, 0x20,
5846 0x8F, 0xB9, 0x5F, 0x98, 0xA9, 0x1B, 0xAF, 0x8A, 0xF8, 0x29, 0xEB, 0x44,
5847 0xB6, 0x50, 0x96, 0xE2, 0xB4, 0x3D, 0x3C, 0xE6, 0x8B, 0xD5, 0x15, 0x39,
5848 0x4F, 0xF4, 0xC3, 0x32, 0xD3, 0xE6, 0x36, 0x0D, 0x23, 0xFF, 0x76, 0x15,
5849 0x05, 0xC1, 0xDF, 0xC2, 0x82, 0xCE, 0xDD, 0x60, 0x05, 0x92, 0x56, 0xE5,
5850};
5851
5852static const uint8_t keygen_dsa960_q[] = {
5853 0xCE, 0x0A, 0x68, 0xA4, 0xAC, 0x5E, 0x8E, 0x4C, 0xA6, 0x8A, 0xAB, 0xA9,
5854 0x39, 0xC7, 0xB4, 0x10, 0xCC, 0xF6, 0x1E, 0x2F,
5855};
5856
5857static const uint8_t keygen_dsa960_g[] = {
5858 0x8A, 0x50, 0x28, 0x45, 0x69, 0x0E, 0x55, 0xB8, 0x86, 0xB5, 0xCB, 0xBC,
5859 0x49, 0x8D, 0x73, 0x79, 0xE3, 0x26, 0x4E, 0x90, 0x71, 0xF2, 0xBB, 0x50,
5860 0x18, 0xF8, 0x6D, 0x14, 0x8F, 0xCA, 0x20, 0xF7, 0x02, 0x31, 0x71, 0x8A,
5861 0x7E, 0xF0, 0xFE, 0x9C, 0xAD, 0x05, 0x5E, 0x11, 0xB3, 0x40, 0x66, 0xE1,
5862 0x2B, 0x0D, 0x84, 0x15, 0x18, 0x65, 0x00, 0xFA, 0x0D, 0x8A, 0x87, 0xC9,
5863 0xBF, 0x4A, 0x5C, 0x53, 0x29, 0xEB, 0x44, 0xCA, 0xAE, 0x86, 0x50, 0x3B,
5864 0xBB, 0x73, 0x06, 0x83, 0x72, 0x77, 0x17, 0xDB, 0x6E, 0x14, 0xAD, 0xCE,
5865 0xD2, 0x51, 0xE6, 0x1F, 0xA2, 0x64, 0xE4, 0x5F, 0x35, 0x7D, 0x7A, 0xBE,
5866 0x55, 0x9B, 0xB6, 0x0F, 0x3C, 0xA1, 0xD2, 0x45, 0xDD, 0xF8, 0xC4, 0x03,
5867 0x45, 0xAA, 0x12, 0xE4, 0x90, 0x8C, 0xAC, 0x04, 0x45, 0x74, 0x11, 0x28,
5868};
5869
5870static const uint8_t keygen_dsa1024_p[] = {
5871 0xAF, 0xA6, 0x9C, 0x37, 0x47, 0xD4, 0x65, 0xA6, 0xB1, 0x8D, 0xAC, 0x2E,
5872 0xAB, 0xD5, 0x36, 0xCC, 0x83, 0x47, 0xDD, 0xB6, 0x12, 0xCC, 0x93, 0xA5,
5873 0xBF, 0x7B, 0x24, 0xE7, 0x4A, 0xED, 0xEC, 0x63, 0x9E, 0x0B, 0x2D, 0xF8,
5874 0xB3, 0x6B, 0xBB, 0xF9, 0x40, 0x8D, 0x56, 0x26, 0x60, 0xD0, 0xDD, 0x03,
5875 0xF8, 0xC3, 0x82, 0x00, 0x2C, 0x27, 0x82, 0x5E, 0x30, 0x8B, 0x9D, 0xF1,
5876 0xF7, 0xB2, 0x61, 0x01, 0x31, 0x30, 0xF3, 0x05, 0x2F, 0xF4, 0xB7, 0x1C,
5877 0x1C, 0x3C, 0xB0, 0x2D, 0x2F, 0x1F, 0xE6, 0x2E, 0x21, 0x81, 0x0D, 0xFD,
5878 0x66, 0x36, 0x90, 0x39, 0x4D, 0xA0, 0xCF, 0xFA, 0xDD, 0xF7, 0xD5, 0xE4,
5879 0x09, 0xAA, 0x45, 0xDB, 0xE1, 0x55, 0x39, 0xD9, 0xF7, 0xDF, 0x34, 0x67,
5880 0xBF, 0x95, 0x9B, 0xF2, 0x4A, 0x15, 0x42, 0x6F, 0x32, 0x1F, 0xDE, 0xA6,
5881 0xFE, 0x18, 0x46, 0x6B, 0x8C, 0x4E, 0x01, 0x7F,
5882};
5883
5884static const uint8_t keygen_dsa1024_q[] = {
5885 0xCC, 0x18, 0x69, 0xCE, 0x9E, 0x92, 0xE7, 0xCD, 0xBF, 0x94, 0xB5, 0xAD,
5886 0x83, 0x5A, 0x56, 0xD6, 0x4E, 0xC4, 0xF7, 0xED,
5887};
5888
5889static const uint8_t keygen_dsa1024_g[] = {
5890 0x14, 0x1D, 0x91, 0xAB, 0x8F, 0xFF, 0xFB, 0x2D, 0xD3, 0x2A, 0x43, 0xB5,
5891 0x01, 0x40, 0xA4, 0xC7, 0x48, 0x0E, 0xE0, 0x10, 0xA9, 0xF7, 0x8B, 0x7E,
5892 0x45, 0x90, 0xE0, 0x17, 0xC1, 0xB4, 0xE9, 0xBA, 0xC0, 0x04, 0xEF, 0x0F,
5893 0xD6, 0x07, 0x78, 0x05, 0x25, 0xCF, 0x9D, 0x39, 0x66, 0x59, 0x53, 0xF8,
5894 0xCE, 0x1C, 0x61, 0x1B, 0x7F, 0x95, 0x9B, 0xD5, 0xB6, 0xF9, 0xC7, 0xE3,
5895 0xB8, 0x00, 0x78, 0x50, 0xE3, 0x4C, 0x76, 0xF8, 0x0E, 0x96, 0x11, 0xDB,
5896 0x28, 0x53, 0xA5, 0xBB, 0x22, 0xC5, 0x71, 0x97, 0x09, 0xBC, 0xEE, 0x55,
5897 0x9B, 0x6B, 0x22, 0x64, 0xE4, 0x49, 0x2C, 0xCD, 0x9E, 0xA5, 0x86, 0xF0,
5898 0x3F, 0x08, 0xCD, 0x88, 0x07, 0xF6, 0x6E, 0x3F, 0x8E, 0x99, 0x31, 0xBA,
5899 0x1A, 0xB9, 0x8E, 0xEC, 0xA3, 0x13, 0xC2, 0x85, 0xA5, 0xDC, 0xA4, 0xF0,
5900 0x1F, 0xB2, 0xC8, 0xD5, 0x19, 0x79, 0xCA, 0x6A,
5901};
5902
5903/* derive key test data, taken from GP test specifikation */
5904static const uint8_t derive_key_dh_prime[] = {
5905 0xe0, 0x01, 0xe8, 0x96, 0x7d, 0xb4, 0x93, 0x53, 0xe1, 0x6f, 0x8e, 0x89,
5906 0x22, 0x0c, 0xce, 0xfc, 0x5c, 0x5f, 0x12, 0xe3, 0xdf, 0xf8, 0xf1, 0xd1,
5907 0x49, 0x90, 0x12, 0xe6, 0xef, 0x53, 0xe3, 0x1f, 0x02, 0xea, 0xcc, 0x5a,
5908 0xdd, 0xf3, 0x37, 0x89, 0x35, 0xc9, 0x5b, 0x21, 0xea, 0x3d, 0x6f, 0x1c,
5909 0xd7, 0xce, 0x63, 0x75, 0x52, 0xec, 0x38, 0x6c, 0x0e, 0x34, 0xf7, 0x36,
5910 0xad, 0x95, 0x17, 0xef, 0xfe, 0x5e, 0x4d, 0xa7, 0xa8, 0x6a, 0xf9, 0x0e,
5911 0x2c, 0x22, 0x8f, 0xe4, 0xb9, 0xe6, 0xd8, 0xf8, 0xf0, 0x2d, 0x20, 0xaf,
5912 0x78, 0xab, 0xb6, 0x92, 0xac, 0xbc, 0x4b, 0x23, 0xfa, 0xf2, 0xc5, 0xcc,
5913 0xd4, 0x9a, 0x0c, 0x9a, 0x8b, 0xcd, 0x91, 0xac, 0x0c, 0x55, 0x92, 0x01,
5914 0xe6, 0xc2, 0xfd, 0x1f, 0x47, 0xc2, 0xcb, 0x2a, 0x88, 0xa8, 0x3c, 0x21,
5915 0x0f, 0xc0, 0x54, 0xdb, 0x29, 0x2d, 0xbc, 0x45
5916};
5917
5918static const uint8_t derive_key_dh_base[] = {
5919 0x1c, 0xe0, 0xf6, 0x69, 0x26, 0x46, 0x11, 0x97, 0xef, 0x45, 0xc4, 0x65,
5920 0x8b, 0x83, 0xb8, 0xab
5921};
5922
5923static const uint8_t derive_key_dh_public_value[] = {
5924 0xbb, 0xe9, 0x18, 0xdd, 0x4b, 0x2b, 0x94, 0x1b, 0x10, 0x0e, 0x88, 0x35,
5925 0x28, 0x68, 0xfc, 0x62, 0x04, 0x38, 0xa6, 0xdb, 0x32, 0xa6, 0x9e, 0xee,
5926 0x6c, 0x6f, 0x45, 0x1c, 0xa3, 0xa6, 0xd5, 0x37, 0x77, 0x75, 0x5b, 0xc1,
5927 0x37, 0x0a, 0xce, 0xfe, 0x2b, 0x8f, 0x13, 0xa9, 0x14, 0x2c, 0x5b, 0x44,
5928 0x15, 0x78, 0x86, 0x30, 0xd6, 0x95, 0xb1, 0x92, 0x20, 0x63, 0xa3, 0xcf,
5929 0x9d, 0xef, 0x65, 0x61, 0x27, 0x4d, 0x24, 0x01, 0xe7, 0xa1, 0x45, 0xf2,
5930 0xd8, 0xb9, 0x3a, 0x45, 0x17, 0xf4, 0x19, 0xd0, 0x5e, 0xf8, 0xcb, 0x35,
5931 0x59, 0x37, 0x9d, 0x04, 0x20, 0xa3, 0xbf, 0x02, 0xad, 0xfe, 0xa8, 0x60,
5932 0xb2, 0xc3, 0xee, 0x85, 0x58, 0x90, 0xf3, 0xb5, 0x57, 0x2b, 0xb4, 0xef,
5933 0xd7, 0x8f, 0x37, 0x68, 0x78, 0x7c, 0x71, 0x52, 0x9d, 0x5e, 0x0a, 0x61,
5934 0x4f, 0x09, 0x89, 0x92, 0x39, 0xf7, 0x4b, 0x01
5935};
5936
5937static const uint8_t derive_key_dh_private_value[] = {
5938 0x53, 0x8d, 0x3d, 0x64, 0x27, 0x4a, 0x40, 0x05, 0x9b, 0x9c, 0x26, 0xe9,
5939 0x13, 0xe6, 0x91, 0x53, 0x23, 0x7b, 0x55, 0x83
5940};
5941
5942static const uint8_t derive_key_dh_public_value_2[] = {
5943 0xa3, 0xf5, 0x7d, 0xbe, 0x9e, 0x2f, 0x0a, 0xda, 0xa9, 0x4e, 0x4e, 0x6a,
5944 0xf0, 0xe0, 0x71, 0x47, 0x0e, 0x2e, 0x41, 0x2e, 0xde, 0x73, 0x2a, 0x62,
5945 0x14, 0xc3, 0x7c, 0x26, 0xd4, 0xe9, 0x9a, 0x54, 0xba, 0x3d, 0xe7, 0x49,
5946 0x85, 0x95, 0x0e, 0xe9, 0x14, 0xb2, 0x90, 0x22, 0x91, 0xdc, 0xff, 0x61,
5947 0xb2, 0xfc, 0xd1, 0xd0, 0x1b, 0x11, 0x14, 0xb6, 0x02, 0x64, 0x2b, 0x26,
5948 0x5d, 0x88, 0xea, 0x8d, 0xbb, 0xe2, 0x07, 0x0b, 0x48, 0xfb, 0x01, 0x53,
5949 0x55, 0x1e, 0x59, 0x51, 0x36, 0xf2, 0xf9, 0xd1, 0x97, 0xfb, 0x66, 0x12,
5950 0x84, 0x5d, 0xed, 0xb8, 0x9b, 0x2d, 0x3e, 0x2b, 0x8c, 0xeb, 0x2a, 0x72,
5951 0x40, 0x9d, 0x55, 0x4c, 0xed, 0xeb, 0x55, 0x02, 0xff, 0x8c, 0xb0, 0x2e,
5952 0x03, 0x65, 0x3f, 0x41, 0xb1, 0xac, 0xa3, 0x30, 0x6b, 0xff, 0x6d, 0xf4,
5953 0x6d, 0xe6, 0xe1, 0x0f, 0x86, 0x7c, 0x43, 0x64
5954};
5955
5956static const uint8_t derive_key_dh_shared_secret[] = {
5957 0x4e, 0x6a, 0xcf, 0xfd, 0x7d, 0x14, 0x27, 0x65, 0xeb, 0xf4, 0xc7, 0x12,
5958 0x41, 0x4f, 0xe4, 0xb6, 0xab, 0x95, 0x7f, 0x4c, 0xb4, 0x66, 0xb4, 0x66,
5959 0x01, 0x28, 0x9b, 0xb8, 0x20, 0x60, 0x42, 0x82, 0x72, 0x84, 0x2e, 0xe2,
5960 0x8f, 0x11, 0x3c, 0xd1, 0x1f, 0x39, 0x43, 0x1c, 0xbf, 0xfd, 0x82, 0x32,
5961 0x54, 0xce, 0x47, 0x2e, 0x21, 0x05, 0xe4, 0x9b, 0x3d, 0x7f, 0x11, 0x3b,
5962 0x82, 0x50, 0x76, 0xe6, 0x26, 0x45, 0x85, 0x80, 0x7b, 0xc4, 0x64, 0x54,
5963 0x66, 0x5f, 0x27, 0xc5, 0xe4, 0xe1, 0xa4, 0xbd, 0x03, 0x47, 0x04, 0x86,
5964 0x32, 0x29, 0x81, 0xfd, 0xc8, 0x94, 0xcc, 0xa1, 0xe2, 0x93, 0x09, 0x87,
5965 0xc9, 0x2c, 0x15, 0xa3, 0x8b, 0xc4, 0x2e, 0xb3, 0x88, 0x10, 0xe8, 0x67,
5966 0xc4, 0x43, 0x2f, 0x07, 0x25, 0x9e, 0xc0, 0x0c, 0xdb, 0xbb, 0x0f, 0xb9,
5967 0x9e, 0x17, 0x27, 0xc7, 0x06, 0xda, 0x58, 0xdd
5968};
5969
5970static const uint32_t derive_key_max_keysize = 1024;
5971
Pascal Brand2b92b642015-07-16 13:29:42 +02005972static struct derive_key_ecdh_t {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02005973 uint32_t level; /* test suite level */
Pascal Brand2b92b642015-07-16 13:29:42 +02005974 uint32_t algo; /* TEE_ALG_ECDH_P192,... */
5975 uint32_t curve; /* TEE_ECC_CURVE_NIST_P192,... */
5976 uint32_t keysize; /* key size, in bits */
5977 const uint8_t *public_x; /* public key - x == QCAVSx */
5978 const uint8_t *public_y; /* public key - y == QCAVSy */
5979 const uint8_t *private; /* private key == dIUT */
5980 const uint8_t *out; /* expected result - ZIUT */
5981} derive_key_ecdh[] = {
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02005982 /* [P-192] */
Pascal Brand2b92b642015-07-16 13:29:42 +02005983 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02005984 .level = 0,
Pascal Brand2b92b642015-07-16 13:29:42 +02005985 .algo = TEE_ALG_ECDH_P192,
5986 .curve = TEE_ECC_CURVE_NIST_P192,
5987 .keysize = 192,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02005988 .public_x = nist_kas_ecc_cdh_testvector_1_public_x,
5989 .public_y = nist_kas_ecc_cdh_testvector_1_public_y,
5990 .private = nist_kas_ecc_cdh_testvector_1_private,
5991 .out = nist_kas_ecc_cdh_testvector_1_out,
5992 },
5993 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02005994 .level = 0,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02005995 .algo = TEE_ALG_ECDH_P192,
5996 .curve = TEE_ECC_CURVE_NIST_P192,
5997 .keysize = 192,
5998 .public_x = nist_kas_ecc_cdh_testvector_2_public_x,
5999 .public_y = nist_kas_ecc_cdh_testvector_2_public_y,
6000 .private = nist_kas_ecc_cdh_testvector_2_private,
6001 .out = nist_kas_ecc_cdh_testvector_2_out,
6002 },
6003 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006004 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006005 .algo = TEE_ALG_ECDH_P192,
6006 .curve = TEE_ECC_CURVE_NIST_P192,
6007 .keysize = 192,
6008 .public_x = nist_kas_ecc_cdh_testvector_3_public_x,
6009 .public_y = nist_kas_ecc_cdh_testvector_3_public_y,
6010 .private = nist_kas_ecc_cdh_testvector_3_private,
6011 .out = nist_kas_ecc_cdh_testvector_3_out,
6012 },
6013 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006014 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006015 .algo = TEE_ALG_ECDH_P192,
6016 .curve = TEE_ECC_CURVE_NIST_P192,
6017 .keysize = 192,
6018 .public_x = nist_kas_ecc_cdh_testvector_4_public_x,
6019 .public_y = nist_kas_ecc_cdh_testvector_4_public_y,
6020 .private = nist_kas_ecc_cdh_testvector_4_private,
6021 .out = nist_kas_ecc_cdh_testvector_4_out,
6022 },
6023 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006024 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006025 .algo = TEE_ALG_ECDH_P192,
6026 .curve = TEE_ECC_CURVE_NIST_P192,
6027 .keysize = 192,
6028 .public_x = nist_kas_ecc_cdh_testvector_5_public_x,
6029 .public_y = nist_kas_ecc_cdh_testvector_5_public_y,
6030 .private = nist_kas_ecc_cdh_testvector_5_private,
6031 .out = nist_kas_ecc_cdh_testvector_5_out,
6032 },
6033 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006034 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006035 .algo = TEE_ALG_ECDH_P192,
6036 .curve = TEE_ECC_CURVE_NIST_P192,
6037 .keysize = 192,
6038 .public_x = nist_kas_ecc_cdh_testvector_6_public_x,
6039 .public_y = nist_kas_ecc_cdh_testvector_6_public_y,
6040 .private = nist_kas_ecc_cdh_testvector_6_private,
6041 .out = nist_kas_ecc_cdh_testvector_6_out,
6042 },
6043 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006044 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006045 .algo = TEE_ALG_ECDH_P192,
6046 .curve = TEE_ECC_CURVE_NIST_P192,
6047 .keysize = 192,
6048 .public_x = nist_kas_ecc_cdh_testvector_7_public_x,
6049 .public_y = nist_kas_ecc_cdh_testvector_7_public_y,
6050 .private = nist_kas_ecc_cdh_testvector_7_private,
6051 .out = nist_kas_ecc_cdh_testvector_7_out,
6052 },
6053 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006054 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006055 .algo = TEE_ALG_ECDH_P192,
6056 .curve = TEE_ECC_CURVE_NIST_P192,
6057 .keysize = 192,
6058 .public_x = nist_kas_ecc_cdh_testvector_8_public_x,
6059 .public_y = nist_kas_ecc_cdh_testvector_8_public_y,
6060 .private = nist_kas_ecc_cdh_testvector_8_private,
6061 .out = nist_kas_ecc_cdh_testvector_8_out,
6062 },
6063 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006064 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006065 .algo = TEE_ALG_ECDH_P192,
6066 .curve = TEE_ECC_CURVE_NIST_P192,
6067 .keysize = 192,
6068 .public_x = nist_kas_ecc_cdh_testvector_9_public_x,
6069 .public_y = nist_kas_ecc_cdh_testvector_9_public_y,
6070 .private = nist_kas_ecc_cdh_testvector_9_private,
6071 .out = nist_kas_ecc_cdh_testvector_9_out,
6072 },
6073 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006074 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006075 .algo = TEE_ALG_ECDH_P192,
6076 .curve = TEE_ECC_CURVE_NIST_P192,
6077 .keysize = 192,
6078 .public_x = nist_kas_ecc_cdh_testvector_10_public_x,
6079 .public_y = nist_kas_ecc_cdh_testvector_10_public_y,
6080 .private = nist_kas_ecc_cdh_testvector_10_private,
6081 .out = nist_kas_ecc_cdh_testvector_10_out,
6082 },
6083 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006084 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006085 .algo = TEE_ALG_ECDH_P192,
6086 .curve = TEE_ECC_CURVE_NIST_P192,
6087 .keysize = 192,
6088 .public_x = nist_kas_ecc_cdh_testvector_11_public_x,
6089 .public_y = nist_kas_ecc_cdh_testvector_11_public_y,
6090 .private = nist_kas_ecc_cdh_testvector_11_private,
6091 .out = nist_kas_ecc_cdh_testvector_11_out,
6092 },
6093 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006094 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006095 .algo = TEE_ALG_ECDH_P192,
6096 .curve = TEE_ECC_CURVE_NIST_P192,
6097 .keysize = 192,
6098 .public_x = nist_kas_ecc_cdh_testvector_12_public_x,
6099 .public_y = nist_kas_ecc_cdh_testvector_12_public_y,
6100 .private = nist_kas_ecc_cdh_testvector_12_private,
6101 .out = nist_kas_ecc_cdh_testvector_12_out,
6102 },
6103 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006104 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006105 .algo = TEE_ALG_ECDH_P192,
6106 .curve = TEE_ECC_CURVE_NIST_P192,
6107 .keysize = 192,
6108 .public_x = nist_kas_ecc_cdh_testvector_13_public_x,
6109 .public_y = nist_kas_ecc_cdh_testvector_13_public_y,
6110 .private = nist_kas_ecc_cdh_testvector_13_private,
6111 .out = nist_kas_ecc_cdh_testvector_13_out,
6112 },
6113 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006114 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006115 .algo = TEE_ALG_ECDH_P192,
6116 .curve = TEE_ECC_CURVE_NIST_P192,
6117 .keysize = 192,
6118 .public_x = nist_kas_ecc_cdh_testvector_14_public_x,
6119 .public_y = nist_kas_ecc_cdh_testvector_14_public_y,
6120 .private = nist_kas_ecc_cdh_testvector_14_private,
6121 .out = nist_kas_ecc_cdh_testvector_14_out,
6122 },
6123 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006124 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006125 .algo = TEE_ALG_ECDH_P192,
6126 .curve = TEE_ECC_CURVE_NIST_P192,
6127 .keysize = 192,
6128 .public_x = nist_kas_ecc_cdh_testvector_15_public_x,
6129 .public_y = nist_kas_ecc_cdh_testvector_15_public_y,
6130 .private = nist_kas_ecc_cdh_testvector_15_private,
6131 .out = nist_kas_ecc_cdh_testvector_15_out,
6132 },
6133 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006134 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006135 .algo = TEE_ALG_ECDH_P192,
6136 .curve = TEE_ECC_CURVE_NIST_P192,
6137 .keysize = 192,
6138 .public_x = nist_kas_ecc_cdh_testvector_16_public_x,
6139 .public_y = nist_kas_ecc_cdh_testvector_16_public_y,
6140 .private = nist_kas_ecc_cdh_testvector_16_private,
6141 .out = nist_kas_ecc_cdh_testvector_16_out,
6142 },
6143 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006144 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006145 .algo = TEE_ALG_ECDH_P192,
6146 .curve = TEE_ECC_CURVE_NIST_P192,
6147 .keysize = 192,
6148 .public_x = nist_kas_ecc_cdh_testvector_17_public_x,
6149 .public_y = nist_kas_ecc_cdh_testvector_17_public_y,
6150 .private = nist_kas_ecc_cdh_testvector_17_private,
6151 .out = nist_kas_ecc_cdh_testvector_17_out,
6152 },
6153 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006154 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006155 .algo = TEE_ALG_ECDH_P192,
6156 .curve = TEE_ECC_CURVE_NIST_P192,
6157 .keysize = 192,
6158 .public_x = nist_kas_ecc_cdh_testvector_18_public_x,
6159 .public_y = nist_kas_ecc_cdh_testvector_18_public_y,
6160 .private = nist_kas_ecc_cdh_testvector_18_private,
6161 .out = nist_kas_ecc_cdh_testvector_18_out,
6162 },
6163 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006164 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006165 .algo = TEE_ALG_ECDH_P192,
6166 .curve = TEE_ECC_CURVE_NIST_P192,
6167 .keysize = 192,
6168 .public_x = nist_kas_ecc_cdh_testvector_19_public_x,
6169 .public_y = nist_kas_ecc_cdh_testvector_19_public_y,
6170 .private = nist_kas_ecc_cdh_testvector_19_private,
6171 .out = nist_kas_ecc_cdh_testvector_19_out,
6172 },
6173 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006174 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006175 .algo = TEE_ALG_ECDH_P192,
6176 .curve = TEE_ECC_CURVE_NIST_P192,
6177 .keysize = 192,
6178 .public_x = nist_kas_ecc_cdh_testvector_20_public_x,
6179 .public_y = nist_kas_ecc_cdh_testvector_20_public_y,
6180 .private = nist_kas_ecc_cdh_testvector_20_private,
6181 .out = nist_kas_ecc_cdh_testvector_20_out,
6182 },
6183 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006184 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006185 .algo = TEE_ALG_ECDH_P192,
6186 .curve = TEE_ECC_CURVE_NIST_P192,
6187 .keysize = 192,
6188 .public_x = nist_kas_ecc_cdh_testvector_21_public_x,
6189 .public_y = nist_kas_ecc_cdh_testvector_21_public_y,
6190 .private = nist_kas_ecc_cdh_testvector_21_private,
6191 .out = nist_kas_ecc_cdh_testvector_21_out,
6192 },
6193 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006194 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006195 .algo = TEE_ALG_ECDH_P192,
6196 .curve = TEE_ECC_CURVE_NIST_P192,
6197 .keysize = 192,
6198 .public_x = nist_kas_ecc_cdh_testvector_22_public_x,
6199 .public_y = nist_kas_ecc_cdh_testvector_22_public_y,
6200 .private = nist_kas_ecc_cdh_testvector_22_private,
6201 .out = nist_kas_ecc_cdh_testvector_22_out,
6202 },
6203 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006204 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006205 .algo = TEE_ALG_ECDH_P192,
6206 .curve = TEE_ECC_CURVE_NIST_P192,
6207 .keysize = 192,
6208 .public_x = nist_kas_ecc_cdh_testvector_23_public_x,
6209 .public_y = nist_kas_ecc_cdh_testvector_23_public_y,
6210 .private = nist_kas_ecc_cdh_testvector_23_private,
6211 .out = nist_kas_ecc_cdh_testvector_23_out,
6212 },
6213 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006214 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006215 .algo = TEE_ALG_ECDH_P192,
6216 .curve = TEE_ECC_CURVE_NIST_P192,
6217 .keysize = 192,
6218 .public_x = nist_kas_ecc_cdh_testvector_24_public_x,
6219 .public_y = nist_kas_ecc_cdh_testvector_24_public_y,
6220 .private = nist_kas_ecc_cdh_testvector_24_private,
6221 .out = nist_kas_ecc_cdh_testvector_24_out,
6222 },
6223 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006224 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006225 .algo = TEE_ALG_ECDH_P192,
6226 .curve = TEE_ECC_CURVE_NIST_P192,
6227 .keysize = 192,
6228 .public_x = nist_kas_ecc_cdh_testvector_25_public_x,
6229 .public_y = nist_kas_ecc_cdh_testvector_25_public_y,
6230 .private = nist_kas_ecc_cdh_testvector_25_private,
6231 .out = nist_kas_ecc_cdh_testvector_25_out,
6232 },
6233 /* [P-224] */
6234 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006235 .level = 0,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006236 .algo = TEE_ALG_ECDH_P224,
6237 .curve = TEE_ECC_CURVE_NIST_P224,
6238 .keysize = 224,
6239 .public_x = nist_kas_ecc_cdh_testvector_26_public_x,
6240 .public_y = nist_kas_ecc_cdh_testvector_26_public_y,
6241 .private = nist_kas_ecc_cdh_testvector_26_private,
6242 .out = nist_kas_ecc_cdh_testvector_26_out,
Pascal Brand2b92b642015-07-16 13:29:42 +02006243 },
6244 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006245 .level = 0,
Pascal Brand2b92b642015-07-16 13:29:42 +02006246 .algo = TEE_ALG_ECDH_P224,
6247 .curve = TEE_ECC_CURVE_NIST_P224,
6248 .keysize = 224,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006249 .public_x = nist_kas_ecc_cdh_testvector_27_public_x,
6250 .public_y = nist_kas_ecc_cdh_testvector_27_public_y,
6251 .private = nist_kas_ecc_cdh_testvector_27_private,
6252 .out = nist_kas_ecc_cdh_testvector_27_out,
6253 },
6254 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006255 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006256 .algo = TEE_ALG_ECDH_P224,
6257 .curve = TEE_ECC_CURVE_NIST_P224,
6258 .keysize = 224,
6259 .public_x = nist_kas_ecc_cdh_testvector_28_public_x,
6260 .public_y = nist_kas_ecc_cdh_testvector_28_public_y,
6261 .private = nist_kas_ecc_cdh_testvector_28_private,
6262 .out = nist_kas_ecc_cdh_testvector_28_out,
6263 },
6264 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006265 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006266 .algo = TEE_ALG_ECDH_P224,
6267 .curve = TEE_ECC_CURVE_NIST_P224,
6268 .keysize = 224,
6269 .public_x = nist_kas_ecc_cdh_testvector_29_public_x,
6270 .public_y = nist_kas_ecc_cdh_testvector_29_public_y,
6271 .private = nist_kas_ecc_cdh_testvector_29_private,
6272 .out = nist_kas_ecc_cdh_testvector_29_out,
6273 },
6274 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006275 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006276 .algo = TEE_ALG_ECDH_P224,
6277 .curve = TEE_ECC_CURVE_NIST_P224,
6278 .keysize = 224,
6279 .public_x = nist_kas_ecc_cdh_testvector_30_public_x,
6280 .public_y = nist_kas_ecc_cdh_testvector_30_public_y,
6281 .private = nist_kas_ecc_cdh_testvector_30_private,
6282 .out = nist_kas_ecc_cdh_testvector_30_out,
6283 },
6284 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006285 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006286 .algo = TEE_ALG_ECDH_P224,
6287 .curve = TEE_ECC_CURVE_NIST_P224,
6288 .keysize = 224,
6289 .public_x = nist_kas_ecc_cdh_testvector_31_public_x,
6290 .public_y = nist_kas_ecc_cdh_testvector_31_public_y,
6291 .private = nist_kas_ecc_cdh_testvector_31_private,
6292 .out = nist_kas_ecc_cdh_testvector_31_out,
6293 },
6294 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006295 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006296 .algo = TEE_ALG_ECDH_P224,
6297 .curve = TEE_ECC_CURVE_NIST_P224,
6298 .keysize = 224,
6299 .public_x = nist_kas_ecc_cdh_testvector_32_public_x,
6300 .public_y = nist_kas_ecc_cdh_testvector_32_public_y,
6301 .private = nist_kas_ecc_cdh_testvector_32_private,
6302 .out = nist_kas_ecc_cdh_testvector_32_out,
6303 },
6304 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006305 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006306 .algo = TEE_ALG_ECDH_P224,
6307 .curve = TEE_ECC_CURVE_NIST_P224,
6308 .keysize = 224,
6309 .public_x = nist_kas_ecc_cdh_testvector_33_public_x,
6310 .public_y = nist_kas_ecc_cdh_testvector_33_public_y,
6311 .private = nist_kas_ecc_cdh_testvector_33_private,
6312 .out = nist_kas_ecc_cdh_testvector_33_out,
6313 },
6314 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006315 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006316 .algo = TEE_ALG_ECDH_P224,
6317 .curve = TEE_ECC_CURVE_NIST_P224,
6318 .keysize = 224,
6319 .public_x = nist_kas_ecc_cdh_testvector_34_public_x,
6320 .public_y = nist_kas_ecc_cdh_testvector_34_public_y,
6321 .private = nist_kas_ecc_cdh_testvector_34_private,
6322 .out = nist_kas_ecc_cdh_testvector_34_out,
6323 },
6324 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006325 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006326 .algo = TEE_ALG_ECDH_P224,
6327 .curve = TEE_ECC_CURVE_NIST_P224,
6328 .keysize = 224,
6329 .public_x = nist_kas_ecc_cdh_testvector_35_public_x,
6330 .public_y = nist_kas_ecc_cdh_testvector_35_public_y,
6331 .private = nist_kas_ecc_cdh_testvector_35_private,
6332 .out = nist_kas_ecc_cdh_testvector_35_out,
6333 },
6334 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006335 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006336 .algo = TEE_ALG_ECDH_P224,
6337 .curve = TEE_ECC_CURVE_NIST_P224,
6338 .keysize = 224,
6339 .public_x = nist_kas_ecc_cdh_testvector_36_public_x,
6340 .public_y = nist_kas_ecc_cdh_testvector_36_public_y,
6341 .private = nist_kas_ecc_cdh_testvector_36_private,
6342 .out = nist_kas_ecc_cdh_testvector_36_out,
6343 },
6344 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006345 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006346 .algo = TEE_ALG_ECDH_P224,
6347 .curve = TEE_ECC_CURVE_NIST_P224,
6348 .keysize = 224,
6349 .public_x = nist_kas_ecc_cdh_testvector_37_public_x,
6350 .public_y = nist_kas_ecc_cdh_testvector_37_public_y,
6351 .private = nist_kas_ecc_cdh_testvector_37_private,
6352 .out = nist_kas_ecc_cdh_testvector_37_out,
6353 },
6354 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006355 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006356 .algo = TEE_ALG_ECDH_P224,
6357 .curve = TEE_ECC_CURVE_NIST_P224,
6358 .keysize = 224,
6359 .public_x = nist_kas_ecc_cdh_testvector_38_public_x,
6360 .public_y = nist_kas_ecc_cdh_testvector_38_public_y,
6361 .private = nist_kas_ecc_cdh_testvector_38_private,
6362 .out = nist_kas_ecc_cdh_testvector_38_out,
6363 },
6364 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006365 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006366 .algo = TEE_ALG_ECDH_P224,
6367 .curve = TEE_ECC_CURVE_NIST_P224,
6368 .keysize = 224,
6369 .public_x = nist_kas_ecc_cdh_testvector_39_public_x,
6370 .public_y = nist_kas_ecc_cdh_testvector_39_public_y,
6371 .private = nist_kas_ecc_cdh_testvector_39_private,
6372 .out = nist_kas_ecc_cdh_testvector_39_out,
6373 },
6374 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006375 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006376 .algo = TEE_ALG_ECDH_P224,
6377 .curve = TEE_ECC_CURVE_NIST_P224,
6378 .keysize = 224,
6379 .public_x = nist_kas_ecc_cdh_testvector_40_public_x,
6380 .public_y = nist_kas_ecc_cdh_testvector_40_public_y,
6381 .private = nist_kas_ecc_cdh_testvector_40_private,
6382 .out = nist_kas_ecc_cdh_testvector_40_out,
6383 },
6384 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006385 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006386 .algo = TEE_ALG_ECDH_P224,
6387 .curve = TEE_ECC_CURVE_NIST_P224,
6388 .keysize = 224,
6389 .public_x = nist_kas_ecc_cdh_testvector_41_public_x,
6390 .public_y = nist_kas_ecc_cdh_testvector_41_public_y,
6391 .private = nist_kas_ecc_cdh_testvector_41_private,
6392 .out = nist_kas_ecc_cdh_testvector_41_out,
6393 },
6394 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006395 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006396 .algo = TEE_ALG_ECDH_P224,
6397 .curve = TEE_ECC_CURVE_NIST_P224,
6398 .keysize = 224,
6399 .public_x = nist_kas_ecc_cdh_testvector_42_public_x,
6400 .public_y = nist_kas_ecc_cdh_testvector_42_public_y,
6401 .private = nist_kas_ecc_cdh_testvector_42_private,
6402 .out = nist_kas_ecc_cdh_testvector_42_out,
6403 },
6404 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006405 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006406 .algo = TEE_ALG_ECDH_P224,
6407 .curve = TEE_ECC_CURVE_NIST_P224,
6408 .keysize = 224,
6409 .public_x = nist_kas_ecc_cdh_testvector_43_public_x,
6410 .public_y = nist_kas_ecc_cdh_testvector_43_public_y,
6411 .private = nist_kas_ecc_cdh_testvector_43_private,
6412 .out = nist_kas_ecc_cdh_testvector_43_out,
6413 },
6414 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006415 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006416 .algo = TEE_ALG_ECDH_P224,
6417 .curve = TEE_ECC_CURVE_NIST_P224,
6418 .keysize = 224,
6419 .public_x = nist_kas_ecc_cdh_testvector_44_public_x,
6420 .public_y = nist_kas_ecc_cdh_testvector_44_public_y,
6421 .private = nist_kas_ecc_cdh_testvector_44_private,
6422 .out = nist_kas_ecc_cdh_testvector_44_out,
6423 },
6424 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006425 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006426 .algo = TEE_ALG_ECDH_P224,
6427 .curve = TEE_ECC_CURVE_NIST_P224,
6428 .keysize = 224,
6429 .public_x = nist_kas_ecc_cdh_testvector_45_public_x,
6430 .public_y = nist_kas_ecc_cdh_testvector_45_public_y,
6431 .private = nist_kas_ecc_cdh_testvector_45_private,
6432 .out = nist_kas_ecc_cdh_testvector_45_out,
6433 },
6434 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006435 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006436 .algo = TEE_ALG_ECDH_P224,
6437 .curve = TEE_ECC_CURVE_NIST_P224,
6438 .keysize = 224,
6439 .public_x = nist_kas_ecc_cdh_testvector_46_public_x,
6440 .public_y = nist_kas_ecc_cdh_testvector_46_public_y,
6441 .private = nist_kas_ecc_cdh_testvector_46_private,
6442 .out = nist_kas_ecc_cdh_testvector_46_out,
6443 },
6444 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006445 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006446 .algo = TEE_ALG_ECDH_P224,
6447 .curve = TEE_ECC_CURVE_NIST_P224,
6448 .keysize = 224,
6449 .public_x = nist_kas_ecc_cdh_testvector_47_public_x,
6450 .public_y = nist_kas_ecc_cdh_testvector_47_public_y,
6451 .private = nist_kas_ecc_cdh_testvector_47_private,
6452 .out = nist_kas_ecc_cdh_testvector_47_out,
6453 },
6454 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006455 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006456 .algo = TEE_ALG_ECDH_P224,
6457 .curve = TEE_ECC_CURVE_NIST_P224,
6458 .keysize = 224,
6459 .public_x = nist_kas_ecc_cdh_testvector_48_public_x,
6460 .public_y = nist_kas_ecc_cdh_testvector_48_public_y,
6461 .private = nist_kas_ecc_cdh_testvector_48_private,
6462 .out = nist_kas_ecc_cdh_testvector_48_out,
6463 },
6464 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006465 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006466 .algo = TEE_ALG_ECDH_P224,
6467 .curve = TEE_ECC_CURVE_NIST_P224,
6468 .keysize = 224,
6469 .public_x = nist_kas_ecc_cdh_testvector_49_public_x,
6470 .public_y = nist_kas_ecc_cdh_testvector_49_public_y,
6471 .private = nist_kas_ecc_cdh_testvector_49_private,
6472 .out = nist_kas_ecc_cdh_testvector_49_out,
6473 },
6474 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006475 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006476 .algo = TEE_ALG_ECDH_P224,
6477 .curve = TEE_ECC_CURVE_NIST_P224,
6478 .keysize = 224,
6479 .public_x = nist_kas_ecc_cdh_testvector_50_public_x,
6480 .public_y = nist_kas_ecc_cdh_testvector_50_public_y,
6481 .private = nist_kas_ecc_cdh_testvector_50_private,
6482 .out = nist_kas_ecc_cdh_testvector_50_out,
6483 },
6484 /* [P-256] */
6485 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006486 .level = 0,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006487 .algo = TEE_ALG_ECDH_P256,
6488 .curve = TEE_ECC_CURVE_NIST_P256,
6489 .keysize = 256,
6490 .public_x = nist_kas_ecc_cdh_testvector_51_public_x,
6491 .public_y = nist_kas_ecc_cdh_testvector_51_public_y,
6492 .private = nist_kas_ecc_cdh_testvector_51_private,
6493 .out = nist_kas_ecc_cdh_testvector_51_out,
Pascal Brand2b92b642015-07-16 13:29:42 +02006494 },
6495 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006496 .level = 0,
Pascal Brand2b92b642015-07-16 13:29:42 +02006497 .algo = TEE_ALG_ECDH_P256,
6498 .curve = TEE_ECC_CURVE_NIST_P256,
6499 .keysize = 256,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006500 .public_x = nist_kas_ecc_cdh_testvector_52_public_x,
6501 .public_y = nist_kas_ecc_cdh_testvector_52_public_y,
6502 .private = nist_kas_ecc_cdh_testvector_52_private,
6503 .out = nist_kas_ecc_cdh_testvector_52_out,
6504 },
6505 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006506 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006507 .algo = TEE_ALG_ECDH_P256,
6508 .curve = TEE_ECC_CURVE_NIST_P256,
6509 .keysize = 256,
6510 .public_x = nist_kas_ecc_cdh_testvector_53_public_x,
6511 .public_y = nist_kas_ecc_cdh_testvector_53_public_y,
6512 .private = nist_kas_ecc_cdh_testvector_53_private,
6513 .out = nist_kas_ecc_cdh_testvector_53_out,
6514 },
6515 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006516 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006517 .algo = TEE_ALG_ECDH_P256,
6518 .curve = TEE_ECC_CURVE_NIST_P256,
6519 .keysize = 256,
6520 .public_x = nist_kas_ecc_cdh_testvector_54_public_x,
6521 .public_y = nist_kas_ecc_cdh_testvector_54_public_y,
6522 .private = nist_kas_ecc_cdh_testvector_54_private,
6523 .out = nist_kas_ecc_cdh_testvector_54_out,
6524 },
6525 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006526 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006527 .algo = TEE_ALG_ECDH_P256,
6528 .curve = TEE_ECC_CURVE_NIST_P256,
6529 .keysize = 256,
6530 .public_x = nist_kas_ecc_cdh_testvector_55_public_x,
6531 .public_y = nist_kas_ecc_cdh_testvector_55_public_y,
6532 .private = nist_kas_ecc_cdh_testvector_55_private,
6533 .out = nist_kas_ecc_cdh_testvector_55_out,
6534 },
6535 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006536 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006537 .algo = TEE_ALG_ECDH_P256,
6538 .curve = TEE_ECC_CURVE_NIST_P256,
6539 .keysize = 256,
6540 .public_x = nist_kas_ecc_cdh_testvector_56_public_x,
6541 .public_y = nist_kas_ecc_cdh_testvector_56_public_y,
6542 .private = nist_kas_ecc_cdh_testvector_56_private,
6543 .out = nist_kas_ecc_cdh_testvector_56_out,
6544 },
6545 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006546 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006547 .algo = TEE_ALG_ECDH_P256,
6548 .curve = TEE_ECC_CURVE_NIST_P256,
6549 .keysize = 256,
6550 .public_x = nist_kas_ecc_cdh_testvector_57_public_x,
6551 .public_y = nist_kas_ecc_cdh_testvector_57_public_y,
6552 .private = nist_kas_ecc_cdh_testvector_57_private,
6553 .out = nist_kas_ecc_cdh_testvector_57_out,
6554 },
6555 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006556 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006557 .algo = TEE_ALG_ECDH_P256,
6558 .curve = TEE_ECC_CURVE_NIST_P256,
6559 .keysize = 256,
6560 .public_x = nist_kas_ecc_cdh_testvector_58_public_x,
6561 .public_y = nist_kas_ecc_cdh_testvector_58_public_y,
6562 .private = nist_kas_ecc_cdh_testvector_58_private,
6563 .out = nist_kas_ecc_cdh_testvector_58_out,
6564 },
6565 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006566 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006567 .algo = TEE_ALG_ECDH_P256,
6568 .curve = TEE_ECC_CURVE_NIST_P256,
6569 .keysize = 256,
6570 .public_x = nist_kas_ecc_cdh_testvector_59_public_x,
6571 .public_y = nist_kas_ecc_cdh_testvector_59_public_y,
6572 .private = nist_kas_ecc_cdh_testvector_59_private,
6573 .out = nist_kas_ecc_cdh_testvector_59_out,
6574 },
6575 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006576 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006577 .algo = TEE_ALG_ECDH_P256,
6578 .curve = TEE_ECC_CURVE_NIST_P256,
6579 .keysize = 256,
6580 .public_x = nist_kas_ecc_cdh_testvector_60_public_x,
6581 .public_y = nist_kas_ecc_cdh_testvector_60_public_y,
6582 .private = nist_kas_ecc_cdh_testvector_60_private,
6583 .out = nist_kas_ecc_cdh_testvector_60_out,
6584 },
6585 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006586 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006587 .algo = TEE_ALG_ECDH_P256,
6588 .curve = TEE_ECC_CURVE_NIST_P256,
6589 .keysize = 256,
6590 .public_x = nist_kas_ecc_cdh_testvector_61_public_x,
6591 .public_y = nist_kas_ecc_cdh_testvector_61_public_y,
6592 .private = nist_kas_ecc_cdh_testvector_61_private,
6593 .out = nist_kas_ecc_cdh_testvector_61_out,
6594 },
6595 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006596 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006597 .algo = TEE_ALG_ECDH_P256,
6598 .curve = TEE_ECC_CURVE_NIST_P256,
6599 .keysize = 256,
6600 .public_x = nist_kas_ecc_cdh_testvector_62_public_x,
6601 .public_y = nist_kas_ecc_cdh_testvector_62_public_y,
6602 .private = nist_kas_ecc_cdh_testvector_62_private,
6603 .out = nist_kas_ecc_cdh_testvector_62_out,
6604 },
6605 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006606 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006607 .algo = TEE_ALG_ECDH_P256,
6608 .curve = TEE_ECC_CURVE_NIST_P256,
6609 .keysize = 256,
6610 .public_x = nist_kas_ecc_cdh_testvector_63_public_x,
6611 .public_y = nist_kas_ecc_cdh_testvector_63_public_y,
6612 .private = nist_kas_ecc_cdh_testvector_63_private,
6613 .out = nist_kas_ecc_cdh_testvector_63_out,
6614 },
6615 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006616 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006617 .algo = TEE_ALG_ECDH_P256,
6618 .curve = TEE_ECC_CURVE_NIST_P256,
6619 .keysize = 256,
6620 .public_x = nist_kas_ecc_cdh_testvector_64_public_x,
6621 .public_y = nist_kas_ecc_cdh_testvector_64_public_y,
6622 .private = nist_kas_ecc_cdh_testvector_64_private,
6623 .out = nist_kas_ecc_cdh_testvector_64_out,
6624 },
6625 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006626 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006627 .algo = TEE_ALG_ECDH_P256,
6628 .curve = TEE_ECC_CURVE_NIST_P256,
6629 .keysize = 256,
6630 .public_x = nist_kas_ecc_cdh_testvector_65_public_x,
6631 .public_y = nist_kas_ecc_cdh_testvector_65_public_y,
6632 .private = nist_kas_ecc_cdh_testvector_65_private,
6633 .out = nist_kas_ecc_cdh_testvector_65_out,
6634 },
6635 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006636 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006637 .algo = TEE_ALG_ECDH_P256,
6638 .curve = TEE_ECC_CURVE_NIST_P256,
6639 .keysize = 256,
6640 .public_x = nist_kas_ecc_cdh_testvector_66_public_x,
6641 .public_y = nist_kas_ecc_cdh_testvector_66_public_y,
6642 .private = nist_kas_ecc_cdh_testvector_66_private,
6643 .out = nist_kas_ecc_cdh_testvector_66_out,
6644 },
6645 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006646 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006647 .algo = TEE_ALG_ECDH_P256,
6648 .curve = TEE_ECC_CURVE_NIST_P256,
6649 .keysize = 256,
6650 .public_x = nist_kas_ecc_cdh_testvector_67_public_x,
6651 .public_y = nist_kas_ecc_cdh_testvector_67_public_y,
6652 .private = nist_kas_ecc_cdh_testvector_67_private,
6653 .out = nist_kas_ecc_cdh_testvector_67_out,
6654 },
6655 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006656 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006657 .algo = TEE_ALG_ECDH_P256,
6658 .curve = TEE_ECC_CURVE_NIST_P256,
6659 .keysize = 256,
6660 .public_x = nist_kas_ecc_cdh_testvector_68_public_x,
6661 .public_y = nist_kas_ecc_cdh_testvector_68_public_y,
6662 .private = nist_kas_ecc_cdh_testvector_68_private,
6663 .out = nist_kas_ecc_cdh_testvector_68_out,
6664 },
6665 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006666 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006667 .algo = TEE_ALG_ECDH_P256,
6668 .curve = TEE_ECC_CURVE_NIST_P256,
6669 .keysize = 256,
6670 .public_x = nist_kas_ecc_cdh_testvector_69_public_x,
6671 .public_y = nist_kas_ecc_cdh_testvector_69_public_y,
6672 .private = nist_kas_ecc_cdh_testvector_69_private,
6673 .out = nist_kas_ecc_cdh_testvector_69_out,
6674 },
6675 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006676 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006677 .algo = TEE_ALG_ECDH_P256,
6678 .curve = TEE_ECC_CURVE_NIST_P256,
6679 .keysize = 256,
6680 .public_x = nist_kas_ecc_cdh_testvector_70_public_x,
6681 .public_y = nist_kas_ecc_cdh_testvector_70_public_y,
6682 .private = nist_kas_ecc_cdh_testvector_70_private,
6683 .out = nist_kas_ecc_cdh_testvector_70_out,
6684 },
6685 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006686 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006687 .algo = TEE_ALG_ECDH_P256,
6688 .curve = TEE_ECC_CURVE_NIST_P256,
6689 .keysize = 256,
6690 .public_x = nist_kas_ecc_cdh_testvector_71_public_x,
6691 .public_y = nist_kas_ecc_cdh_testvector_71_public_y,
6692 .private = nist_kas_ecc_cdh_testvector_71_private,
6693 .out = nist_kas_ecc_cdh_testvector_71_out,
6694 },
6695 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006696 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006697 .algo = TEE_ALG_ECDH_P256,
6698 .curve = TEE_ECC_CURVE_NIST_P256,
6699 .keysize = 256,
6700 .public_x = nist_kas_ecc_cdh_testvector_72_public_x,
6701 .public_y = nist_kas_ecc_cdh_testvector_72_public_y,
6702 .private = nist_kas_ecc_cdh_testvector_72_private,
6703 .out = nist_kas_ecc_cdh_testvector_72_out,
6704 },
6705 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006706 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006707 .algo = TEE_ALG_ECDH_P256,
6708 .curve = TEE_ECC_CURVE_NIST_P256,
6709 .keysize = 256,
6710 .public_x = nist_kas_ecc_cdh_testvector_73_public_x,
6711 .public_y = nist_kas_ecc_cdh_testvector_73_public_y,
6712 .private = nist_kas_ecc_cdh_testvector_73_private,
6713 .out = nist_kas_ecc_cdh_testvector_73_out,
6714 },
6715 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006716 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006717 .algo = TEE_ALG_ECDH_P256,
6718 .curve = TEE_ECC_CURVE_NIST_P256,
6719 .keysize = 256,
6720 .public_x = nist_kas_ecc_cdh_testvector_74_public_x,
6721 .public_y = nist_kas_ecc_cdh_testvector_74_public_y,
6722 .private = nist_kas_ecc_cdh_testvector_74_private,
6723 .out = nist_kas_ecc_cdh_testvector_74_out,
6724 },
6725 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006726 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006727 .algo = TEE_ALG_ECDH_P256,
6728 .curve = TEE_ECC_CURVE_NIST_P256,
6729 .keysize = 256,
6730 .public_x = nist_kas_ecc_cdh_testvector_75_public_x,
6731 .public_y = nist_kas_ecc_cdh_testvector_75_public_y,
6732 .private = nist_kas_ecc_cdh_testvector_75_private,
6733 .out = nist_kas_ecc_cdh_testvector_75_out,
6734 },
6735 /* [P-384] */
6736 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006737 .level = 0,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006738 .algo = TEE_ALG_ECDH_P384,
6739 .curve = TEE_ECC_CURVE_NIST_P384,
6740 .keysize = 384,
6741 .public_x = nist_kas_ecc_cdh_testvector_76_public_x,
6742 .public_y = nist_kas_ecc_cdh_testvector_76_public_y,
6743 .private = nist_kas_ecc_cdh_testvector_76_private,
6744 .out = nist_kas_ecc_cdh_testvector_76_out,
Pascal Brand2b92b642015-07-16 13:29:42 +02006745 },
6746 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006747 .level = 0,
Pascal Brand2b92b642015-07-16 13:29:42 +02006748 .algo = TEE_ALG_ECDH_P384,
6749 .curve = TEE_ECC_CURVE_NIST_P384,
6750 .keysize = 384,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006751 .public_x = nist_kas_ecc_cdh_testvector_77_public_x,
6752 .public_y = nist_kas_ecc_cdh_testvector_77_public_y,
6753 .private = nist_kas_ecc_cdh_testvector_77_private,
6754 .out = nist_kas_ecc_cdh_testvector_77_out,
6755 },
6756 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006757 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006758 .algo = TEE_ALG_ECDH_P384,
6759 .curve = TEE_ECC_CURVE_NIST_P384,
6760 .keysize = 384,
6761 .public_x = nist_kas_ecc_cdh_testvector_78_public_x,
6762 .public_y = nist_kas_ecc_cdh_testvector_78_public_y,
6763 .private = nist_kas_ecc_cdh_testvector_78_private,
6764 .out = nist_kas_ecc_cdh_testvector_78_out,
6765 },
6766 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006767 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006768 .algo = TEE_ALG_ECDH_P384,
6769 .curve = TEE_ECC_CURVE_NIST_P384,
6770 .keysize = 384,
6771 .public_x = nist_kas_ecc_cdh_testvector_79_public_x,
6772 .public_y = nist_kas_ecc_cdh_testvector_79_public_y,
6773 .private = nist_kas_ecc_cdh_testvector_79_private,
6774 .out = nist_kas_ecc_cdh_testvector_79_out,
6775 },
6776 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006777 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006778 .algo = TEE_ALG_ECDH_P384,
6779 .curve = TEE_ECC_CURVE_NIST_P384,
6780 .keysize = 384,
6781 .public_x = nist_kas_ecc_cdh_testvector_80_public_x,
6782 .public_y = nist_kas_ecc_cdh_testvector_80_public_y,
6783 .private = nist_kas_ecc_cdh_testvector_80_private,
6784 .out = nist_kas_ecc_cdh_testvector_80_out,
6785 },
6786 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006787 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006788 .algo = TEE_ALG_ECDH_P384,
6789 .curve = TEE_ECC_CURVE_NIST_P384,
6790 .keysize = 384,
6791 .public_x = nist_kas_ecc_cdh_testvector_81_public_x,
6792 .public_y = nist_kas_ecc_cdh_testvector_81_public_y,
6793 .private = nist_kas_ecc_cdh_testvector_81_private,
6794 .out = nist_kas_ecc_cdh_testvector_81_out,
6795 },
6796 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006797 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006798 .algo = TEE_ALG_ECDH_P384,
6799 .curve = TEE_ECC_CURVE_NIST_P384,
6800 .keysize = 384,
6801 .public_x = nist_kas_ecc_cdh_testvector_82_public_x,
6802 .public_y = nist_kas_ecc_cdh_testvector_82_public_y,
6803 .private = nist_kas_ecc_cdh_testvector_82_private,
6804 .out = nist_kas_ecc_cdh_testvector_82_out,
6805 },
6806 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006807 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006808 .algo = TEE_ALG_ECDH_P384,
6809 .curve = TEE_ECC_CURVE_NIST_P384,
6810 .keysize = 384,
6811 .public_x = nist_kas_ecc_cdh_testvector_83_public_x,
6812 .public_y = nist_kas_ecc_cdh_testvector_83_public_y,
6813 .private = nist_kas_ecc_cdh_testvector_83_private,
6814 .out = nist_kas_ecc_cdh_testvector_83_out,
6815 },
6816 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006817 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006818 .algo = TEE_ALG_ECDH_P384,
6819 .curve = TEE_ECC_CURVE_NIST_P384,
6820 .keysize = 384,
6821 .public_x = nist_kas_ecc_cdh_testvector_84_public_x,
6822 .public_y = nist_kas_ecc_cdh_testvector_84_public_y,
6823 .private = nist_kas_ecc_cdh_testvector_84_private,
6824 .out = nist_kas_ecc_cdh_testvector_84_out,
6825 },
6826 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006827 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006828 .algo = TEE_ALG_ECDH_P384,
6829 .curve = TEE_ECC_CURVE_NIST_P384,
6830 .keysize = 384,
6831 .public_x = nist_kas_ecc_cdh_testvector_85_public_x,
6832 .public_y = nist_kas_ecc_cdh_testvector_85_public_y,
6833 .private = nist_kas_ecc_cdh_testvector_85_private,
6834 .out = nist_kas_ecc_cdh_testvector_85_out,
6835 },
6836 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006837 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006838 .algo = TEE_ALG_ECDH_P384,
6839 .curve = TEE_ECC_CURVE_NIST_P384,
6840 .keysize = 384,
6841 .public_x = nist_kas_ecc_cdh_testvector_86_public_x,
6842 .public_y = nist_kas_ecc_cdh_testvector_86_public_y,
6843 .private = nist_kas_ecc_cdh_testvector_86_private,
6844 .out = nist_kas_ecc_cdh_testvector_86_out,
6845 },
6846 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006847 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006848 .algo = TEE_ALG_ECDH_P384,
6849 .curve = TEE_ECC_CURVE_NIST_P384,
6850 .keysize = 384,
6851 .public_x = nist_kas_ecc_cdh_testvector_87_public_x,
6852 .public_y = nist_kas_ecc_cdh_testvector_87_public_y,
6853 .private = nist_kas_ecc_cdh_testvector_87_private,
6854 .out = nist_kas_ecc_cdh_testvector_87_out,
6855 },
6856 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006857 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006858 .algo = TEE_ALG_ECDH_P384,
6859 .curve = TEE_ECC_CURVE_NIST_P384,
6860 .keysize = 384,
6861 .public_x = nist_kas_ecc_cdh_testvector_88_public_x,
6862 .public_y = nist_kas_ecc_cdh_testvector_88_public_y,
6863 .private = nist_kas_ecc_cdh_testvector_88_private,
6864 .out = nist_kas_ecc_cdh_testvector_88_out,
6865 },
6866 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006867 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006868 .algo = TEE_ALG_ECDH_P384,
6869 .curve = TEE_ECC_CURVE_NIST_P384,
6870 .keysize = 384,
6871 .public_x = nist_kas_ecc_cdh_testvector_89_public_x,
6872 .public_y = nist_kas_ecc_cdh_testvector_89_public_y,
6873 .private = nist_kas_ecc_cdh_testvector_89_private,
6874 .out = nist_kas_ecc_cdh_testvector_89_out,
6875 },
6876 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006877 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006878 .algo = TEE_ALG_ECDH_P384,
6879 .curve = TEE_ECC_CURVE_NIST_P384,
6880 .keysize = 384,
6881 .public_x = nist_kas_ecc_cdh_testvector_90_public_x,
6882 .public_y = nist_kas_ecc_cdh_testvector_90_public_y,
6883 .private = nist_kas_ecc_cdh_testvector_90_private,
6884 .out = nist_kas_ecc_cdh_testvector_90_out,
6885 },
6886 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006887 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006888 .algo = TEE_ALG_ECDH_P384,
6889 .curve = TEE_ECC_CURVE_NIST_P384,
6890 .keysize = 384,
6891 .public_x = nist_kas_ecc_cdh_testvector_91_public_x,
6892 .public_y = nist_kas_ecc_cdh_testvector_91_public_y,
6893 .private = nist_kas_ecc_cdh_testvector_91_private,
6894 .out = nist_kas_ecc_cdh_testvector_91_out,
6895 },
6896 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006897 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006898 .algo = TEE_ALG_ECDH_P384,
6899 .curve = TEE_ECC_CURVE_NIST_P384,
6900 .keysize = 384,
6901 .public_x = nist_kas_ecc_cdh_testvector_92_public_x,
6902 .public_y = nist_kas_ecc_cdh_testvector_92_public_y,
6903 .private = nist_kas_ecc_cdh_testvector_92_private,
6904 .out = nist_kas_ecc_cdh_testvector_92_out,
6905 },
6906 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006907 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006908 .algo = TEE_ALG_ECDH_P384,
6909 .curve = TEE_ECC_CURVE_NIST_P384,
6910 .keysize = 384,
6911 .public_x = nist_kas_ecc_cdh_testvector_93_public_x,
6912 .public_y = nist_kas_ecc_cdh_testvector_93_public_y,
6913 .private = nist_kas_ecc_cdh_testvector_93_private,
6914 .out = nist_kas_ecc_cdh_testvector_93_out,
6915 },
6916 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006917 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006918 .algo = TEE_ALG_ECDH_P384,
6919 .curve = TEE_ECC_CURVE_NIST_P384,
6920 .keysize = 384,
6921 .public_x = nist_kas_ecc_cdh_testvector_94_public_x,
6922 .public_y = nist_kas_ecc_cdh_testvector_94_public_y,
6923 .private = nist_kas_ecc_cdh_testvector_94_private,
6924 .out = nist_kas_ecc_cdh_testvector_94_out,
6925 },
6926 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006927 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006928 .algo = TEE_ALG_ECDH_P384,
6929 .curve = TEE_ECC_CURVE_NIST_P384,
6930 .keysize = 384,
6931 .public_x = nist_kas_ecc_cdh_testvector_95_public_x,
6932 .public_y = nist_kas_ecc_cdh_testvector_95_public_y,
6933 .private = nist_kas_ecc_cdh_testvector_95_private,
6934 .out = nist_kas_ecc_cdh_testvector_95_out,
6935 },
6936 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006937 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006938 .algo = TEE_ALG_ECDH_P384,
6939 .curve = TEE_ECC_CURVE_NIST_P384,
6940 .keysize = 384,
6941 .public_x = nist_kas_ecc_cdh_testvector_96_public_x,
6942 .public_y = nist_kas_ecc_cdh_testvector_96_public_y,
6943 .private = nist_kas_ecc_cdh_testvector_96_private,
6944 .out = nist_kas_ecc_cdh_testvector_96_out,
6945 },
6946 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006947 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006948 .algo = TEE_ALG_ECDH_P384,
6949 .curve = TEE_ECC_CURVE_NIST_P384,
6950 .keysize = 384,
6951 .public_x = nist_kas_ecc_cdh_testvector_97_public_x,
6952 .public_y = nist_kas_ecc_cdh_testvector_97_public_y,
6953 .private = nist_kas_ecc_cdh_testvector_97_private,
6954 .out = nist_kas_ecc_cdh_testvector_97_out,
6955 },
6956 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006957 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006958 .algo = TEE_ALG_ECDH_P384,
6959 .curve = TEE_ECC_CURVE_NIST_P384,
6960 .keysize = 384,
6961 .public_x = nist_kas_ecc_cdh_testvector_98_public_x,
6962 .public_y = nist_kas_ecc_cdh_testvector_98_public_y,
6963 .private = nist_kas_ecc_cdh_testvector_98_private,
6964 .out = nist_kas_ecc_cdh_testvector_98_out,
6965 },
6966 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006967 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006968 .algo = TEE_ALG_ECDH_P384,
6969 .curve = TEE_ECC_CURVE_NIST_P384,
6970 .keysize = 384,
6971 .public_x = nist_kas_ecc_cdh_testvector_99_public_x,
6972 .public_y = nist_kas_ecc_cdh_testvector_99_public_y,
6973 .private = nist_kas_ecc_cdh_testvector_99_private,
6974 .out = nist_kas_ecc_cdh_testvector_99_out,
6975 },
6976 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006977 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006978 .algo = TEE_ALG_ECDH_P384,
6979 .curve = TEE_ECC_CURVE_NIST_P384,
6980 .keysize = 384,
6981 .public_x = nist_kas_ecc_cdh_testvector_100_public_x,
6982 .public_y = nist_kas_ecc_cdh_testvector_100_public_y,
6983 .private = nist_kas_ecc_cdh_testvector_100_private,
6984 .out = nist_kas_ecc_cdh_testvector_100_out,
6985 },
6986 /* [P-521] */
6987 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006988 .level = 0,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02006989 .algo = TEE_ALG_ECDH_P521,
6990 .curve = TEE_ECC_CURVE_NIST_P521,
6991 .keysize = 521,
6992 .public_x = nist_kas_ecc_cdh_testvector_101_public_x,
6993 .public_y = nist_kas_ecc_cdh_testvector_101_public_y,
6994 .private = nist_kas_ecc_cdh_testvector_101_private,
6995 .out = nist_kas_ecc_cdh_testvector_101_out,
Pascal Brand2b92b642015-07-16 13:29:42 +02006996 },
6997 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02006998 .level = 0,
Pascal Brand2b92b642015-07-16 13:29:42 +02006999 .algo = TEE_ALG_ECDH_P521,
7000 .curve = TEE_ECC_CURVE_NIST_P521,
7001 .keysize = 521,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007002 .public_x = nist_kas_ecc_cdh_testvector_102_public_x,
7003 .public_y = nist_kas_ecc_cdh_testvector_102_public_y,
7004 .private = nist_kas_ecc_cdh_testvector_102_private,
7005 .out = nist_kas_ecc_cdh_testvector_102_out,
Pascal Brand2b92b642015-07-16 13:29:42 +02007006 },
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007007 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007008 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007009 .algo = TEE_ALG_ECDH_P521,
7010 .curve = TEE_ECC_CURVE_NIST_P521,
7011 .keysize = 521,
7012 .public_x = nist_kas_ecc_cdh_testvector_103_public_x,
7013 .public_y = nist_kas_ecc_cdh_testvector_103_public_y,
7014 .private = nist_kas_ecc_cdh_testvector_103_private,
7015 .out = nist_kas_ecc_cdh_testvector_103_out,
7016 },
7017 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007018 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007019 .algo = TEE_ALG_ECDH_P521,
7020 .curve = TEE_ECC_CURVE_NIST_P521,
7021 .keysize = 521,
7022 .public_x = nist_kas_ecc_cdh_testvector_104_public_x,
7023 .public_y = nist_kas_ecc_cdh_testvector_104_public_y,
7024 .private = nist_kas_ecc_cdh_testvector_104_private,
7025 .out = nist_kas_ecc_cdh_testvector_104_out,
7026 },
7027 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007028 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007029 .algo = TEE_ALG_ECDH_P521,
7030 .curve = TEE_ECC_CURVE_NIST_P521,
7031 .keysize = 521,
7032 .public_x = nist_kas_ecc_cdh_testvector_105_public_x,
7033 .public_y = nist_kas_ecc_cdh_testvector_105_public_y,
7034 .private = nist_kas_ecc_cdh_testvector_105_private,
7035 .out = nist_kas_ecc_cdh_testvector_105_out,
7036 },
7037 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007038 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007039 .algo = TEE_ALG_ECDH_P521,
7040 .curve = TEE_ECC_CURVE_NIST_P521,
7041 .keysize = 521,
7042 .public_x = nist_kas_ecc_cdh_testvector_106_public_x,
7043 .public_y = nist_kas_ecc_cdh_testvector_106_public_y,
7044 .private = nist_kas_ecc_cdh_testvector_106_private,
7045 .out = nist_kas_ecc_cdh_testvector_106_out,
7046 },
7047 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007048 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007049 .algo = TEE_ALG_ECDH_P521,
7050 .curve = TEE_ECC_CURVE_NIST_P521,
7051 .keysize = 521,
7052 .public_x = nist_kas_ecc_cdh_testvector_107_public_x,
7053 .public_y = nist_kas_ecc_cdh_testvector_107_public_y,
7054 .private = nist_kas_ecc_cdh_testvector_107_private,
7055 .out = nist_kas_ecc_cdh_testvector_107_out,
7056 },
7057 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007058 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007059 .algo = TEE_ALG_ECDH_P521,
7060 .curve = TEE_ECC_CURVE_NIST_P521,
7061 .keysize = 521,
7062 .public_x = nist_kas_ecc_cdh_testvector_108_public_x,
7063 .public_y = nist_kas_ecc_cdh_testvector_108_public_y,
7064 .private = nist_kas_ecc_cdh_testvector_108_private,
7065 .out = nist_kas_ecc_cdh_testvector_108_out,
7066 },
7067 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007068 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007069 .algo = TEE_ALG_ECDH_P521,
7070 .curve = TEE_ECC_CURVE_NIST_P521,
7071 .keysize = 521,
7072 .public_x = nist_kas_ecc_cdh_testvector_109_public_x,
7073 .public_y = nist_kas_ecc_cdh_testvector_109_public_y,
7074 .private = nist_kas_ecc_cdh_testvector_109_private,
7075 .out = nist_kas_ecc_cdh_testvector_109_out,
7076 },
7077 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007078 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007079 .algo = TEE_ALG_ECDH_P521,
7080 .curve = TEE_ECC_CURVE_NIST_P521,
7081 .keysize = 521,
7082 .public_x = nist_kas_ecc_cdh_testvector_110_public_x,
7083 .public_y = nist_kas_ecc_cdh_testvector_110_public_y,
7084 .private = nist_kas_ecc_cdh_testvector_110_private,
7085 .out = nist_kas_ecc_cdh_testvector_110_out,
7086 },
7087 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007088 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007089 .algo = TEE_ALG_ECDH_P521,
7090 .curve = TEE_ECC_CURVE_NIST_P521,
7091 .keysize = 521,
7092 .public_x = nist_kas_ecc_cdh_testvector_111_public_x,
7093 .public_y = nist_kas_ecc_cdh_testvector_111_public_y,
7094 .private = nist_kas_ecc_cdh_testvector_111_private,
7095 .out = nist_kas_ecc_cdh_testvector_111_out,
7096 },
7097 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007098 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007099 .algo = TEE_ALG_ECDH_P521,
7100 .curve = TEE_ECC_CURVE_NIST_P521,
7101 .keysize = 521,
7102 .public_x = nist_kas_ecc_cdh_testvector_112_public_x,
7103 .public_y = nist_kas_ecc_cdh_testvector_112_public_y,
7104 .private = nist_kas_ecc_cdh_testvector_112_private,
7105 .out = nist_kas_ecc_cdh_testvector_112_out,
7106 },
7107 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007108 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007109 .algo = TEE_ALG_ECDH_P521,
7110 .curve = TEE_ECC_CURVE_NIST_P521,
7111 .keysize = 521,
7112 .public_x = nist_kas_ecc_cdh_testvector_113_public_x,
7113 .public_y = nist_kas_ecc_cdh_testvector_113_public_y,
7114 .private = nist_kas_ecc_cdh_testvector_113_private,
7115 .out = nist_kas_ecc_cdh_testvector_113_out,
7116 },
7117 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007118 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007119 .algo = TEE_ALG_ECDH_P521,
7120 .curve = TEE_ECC_CURVE_NIST_P521,
7121 .keysize = 521,
7122 .public_x = nist_kas_ecc_cdh_testvector_114_public_x,
7123 .public_y = nist_kas_ecc_cdh_testvector_114_public_y,
7124 .private = nist_kas_ecc_cdh_testvector_114_private,
7125 .out = nist_kas_ecc_cdh_testvector_114_out,
7126 },
7127 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007128 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007129 .algo = TEE_ALG_ECDH_P521,
7130 .curve = TEE_ECC_CURVE_NIST_P521,
7131 .keysize = 521,
7132 .public_x = nist_kas_ecc_cdh_testvector_115_public_x,
7133 .public_y = nist_kas_ecc_cdh_testvector_115_public_y,
7134 .private = nist_kas_ecc_cdh_testvector_115_private,
7135 .out = nist_kas_ecc_cdh_testvector_115_out,
7136 },
7137 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007138 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007139 .algo = TEE_ALG_ECDH_P521,
7140 .curve = TEE_ECC_CURVE_NIST_P521,
7141 .keysize = 521,
7142 .public_x = nist_kas_ecc_cdh_testvector_116_public_x,
7143 .public_y = nist_kas_ecc_cdh_testvector_116_public_y,
7144 .private = nist_kas_ecc_cdh_testvector_116_private,
7145 .out = nist_kas_ecc_cdh_testvector_116_out,
7146 },
7147 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007148 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007149 .algo = TEE_ALG_ECDH_P521,
7150 .curve = TEE_ECC_CURVE_NIST_P521,
7151 .keysize = 521,
7152 .public_x = nist_kas_ecc_cdh_testvector_117_public_x,
7153 .public_y = nist_kas_ecc_cdh_testvector_117_public_y,
7154 .private = nist_kas_ecc_cdh_testvector_117_private,
7155 .out = nist_kas_ecc_cdh_testvector_117_out,
7156 },
7157 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007158 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007159 .algo = TEE_ALG_ECDH_P521,
7160 .curve = TEE_ECC_CURVE_NIST_P521,
7161 .keysize = 521,
7162 .public_x = nist_kas_ecc_cdh_testvector_118_public_x,
7163 .public_y = nist_kas_ecc_cdh_testvector_118_public_y,
7164 .private = nist_kas_ecc_cdh_testvector_118_private,
7165 .out = nist_kas_ecc_cdh_testvector_118_out,
7166 },
7167 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007168 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007169 .algo = TEE_ALG_ECDH_P521,
7170 .curve = TEE_ECC_CURVE_NIST_P521,
7171 .keysize = 521,
7172 .public_x = nist_kas_ecc_cdh_testvector_119_public_x,
7173 .public_y = nist_kas_ecc_cdh_testvector_119_public_y,
7174 .private = nist_kas_ecc_cdh_testvector_119_private,
7175 .out = nist_kas_ecc_cdh_testvector_119_out,
7176 },
7177 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007178 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007179 .algo = TEE_ALG_ECDH_P521,
7180 .curve = TEE_ECC_CURVE_NIST_P521,
7181 .keysize = 521,
7182 .public_x = nist_kas_ecc_cdh_testvector_120_public_x,
7183 .public_y = nist_kas_ecc_cdh_testvector_120_public_y,
7184 .private = nist_kas_ecc_cdh_testvector_120_private,
7185 .out = nist_kas_ecc_cdh_testvector_120_out,
7186 },
7187 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007188 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007189 .algo = TEE_ALG_ECDH_P521,
7190 .curve = TEE_ECC_CURVE_NIST_P521,
7191 .keysize = 521,
7192 .public_x = nist_kas_ecc_cdh_testvector_121_public_x,
7193 .public_y = nist_kas_ecc_cdh_testvector_121_public_y,
7194 .private = nist_kas_ecc_cdh_testvector_121_private,
7195 .out = nist_kas_ecc_cdh_testvector_121_out,
7196 },
7197 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007198 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007199 .algo = TEE_ALG_ECDH_P521,
7200 .curve = TEE_ECC_CURVE_NIST_P521,
7201 .keysize = 521,
7202 .public_x = nist_kas_ecc_cdh_testvector_122_public_x,
7203 .public_y = nist_kas_ecc_cdh_testvector_122_public_y,
7204 .private = nist_kas_ecc_cdh_testvector_122_private,
7205 .out = nist_kas_ecc_cdh_testvector_122_out,
7206 },
7207 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007208 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007209 .algo = TEE_ALG_ECDH_P521,
7210 .curve = TEE_ECC_CURVE_NIST_P521,
7211 .keysize = 521,
7212 .public_x = nist_kas_ecc_cdh_testvector_123_public_x,
7213 .public_y = nist_kas_ecc_cdh_testvector_123_public_y,
7214 .private = nist_kas_ecc_cdh_testvector_123_private,
7215 .out = nist_kas_ecc_cdh_testvector_123_out,
7216 },
7217 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007218 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007219 .algo = TEE_ALG_ECDH_P521,
7220 .curve = TEE_ECC_CURVE_NIST_P521,
7221 .keysize = 521,
7222 .public_x = nist_kas_ecc_cdh_testvector_124_public_x,
7223 .public_y = nist_kas_ecc_cdh_testvector_124_public_y,
7224 .private = nist_kas_ecc_cdh_testvector_124_private,
7225 .out = nist_kas_ecc_cdh_testvector_124_out,
7226 },
7227 {
Cedric Chaumontc3b6c282015-09-25 03:05:18 +02007228 .level = 15,
Cedric Chaumonteb1f7902015-09-18 12:54:58 +02007229 .algo = TEE_ALG_ECDH_P521,
7230 .curve = TEE_ECC_CURVE_NIST_P521,
7231 .keysize = 521,
7232 .public_x = nist_kas_ecc_cdh_testvector_125_public_x,
7233 .public_y = nist_kas_ecc_cdh_testvector_125_public_y,
7234 .private = nist_kas_ecc_cdh_testvector_125_private,
7235 .out = nist_kas_ecc_cdh_testvector_125_out,
7236 },
7237 /* [K-163] - GP NOT SUPPORTED */
7238 /* [K-233] - GP NOT SUPPORTED */
7239 /* [K-283] - GP NOT SUPPORTED */
7240 /* [K-409] - GP NOT SUPPORTED */
7241 /* [K-571] - GP NOT SUPPORTED */
7242 /* [B-163] - GP NOT SUPPORTED */
7243 /* [B-233] - GP NOT SUPPORTED */
7244 /* [B-283] - GP NOT SUPPORTED */
7245 /* [B-409] - GP NOT SUPPORTED */
7246 /* [B-571] - GP NOT SUPPORTED */
Pascal Brand2b92b642015-07-16 13:29:42 +02007247};
Pascal Brandc639ac82015-07-02 08:53:34 +02007248
7249#endif /*XTEST_4000_DATA_H*/