xref: /dpdk/app/test-crypto-perf/cperf_test_vectors.c (revision 981a1ed32a7920bf0f5e2864ab1f78c296bdfaec)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2016-2017 Intel Corporation
3  */
4 
5 #include <rte_crypto.h>
6 #include <rte_malloc.h>
7 
8 #include "cperf_test_vectors.h"
9 
10 struct
11 cperf_modex_test_data modex_perf_data[10] = {
12 	{
13 		.base = {
14 			.data = {
15 				0xF8, 0xBA, 0x1A, 0x55, 0xD0, 0x2F, 0x85,
16 				0xAE, 0x96, 0x7B, 0xB6, 0x2F, 0xB6, 0xCD,
17 				0xA8, 0xEB, 0x7E, 0x78, 0xA0, 0x50
18 			},
19 			.len = 20
20 		},
21 		.exponent = {
22 			.data = {
23 				0x01, 0x00, 0x01
24 			},
25 			.len = 3
26 		},
27 		.modulus = {
28 			.data = {
29 				0xb3, 0xa1, 0xaf, 0xb7, 0x13, 0x08, 0x00, 0x0a,
30 				0x35, 0xdc, 0x2b, 0x20, 0x8d, 0xa1, 0xb5, 0xce,
31 				0x47, 0x8a, 0xc3, 0x80, 0xf4, 0x7d, 0x4a, 0xa2,
32 				0x62, 0xfd, 0x61, 0x7f, 0xb5, 0xa8, 0xde, 0x0a,
33 				0x17, 0x97, 0xa0, 0xbf, 0xdf, 0x56, 0x5a, 0x3d,
34 				0x51, 0x56, 0x4f, 0x70, 0x70, 0x3f, 0x63, 0x6a,
35 				0x44, 0x5b, 0xad, 0x84, 0x0d, 0x3f, 0x27, 0x6e,
36 				0x3b, 0x34, 0x91, 0x60, 0x14, 0xb9, 0xaa, 0x72,
37 				0xfd, 0xa3, 0x64, 0xd2, 0x03, 0xa7, 0x53, 0x87,
38 				0x9e, 0x88, 0x0b, 0xc1, 0x14, 0x93, 0x1a, 0x62,
39 				0xff, 0xb1, 0x5d, 0x74, 0xcd, 0x59, 0x63, 0x18,
40 				0x11, 0x3d, 0x4f, 0xba, 0x75, 0xd4, 0x33, 0x4e,
41 				0x23, 0x6b, 0x7b, 0x57, 0x44, 0xe1, 0xd3, 0x03,
42 				0x13, 0xa6, 0xf0, 0x8b, 0x60, 0xb0, 0x9e, 0xee,
43 				0x75, 0x08, 0x9d, 0x71, 0x63, 0x13, 0xcb, 0xa6,
44 				0x81, 0x92, 0x14, 0x03, 0x22, 0x2d, 0xde, 0x55
45 			},
46 			.len = 128
47 		},
48 		.result = {
49 			.len = 128
50 		}
51 	},
52 	{
53 		.base = {
54 			.data = {
55 				0x4F, 0xD8, 0x5C, 0xDB, 0x6D, 0xA2, 0xFA, 0x35,
56 				0x9D, 0xD7, 0x97, 0x10, 0x4B, 0x71, 0x5F, 0x53,
57 				0xE1, 0xC7, 0x09, 0x74, 0x88, 0xC8, 0x9D, 0x03,
58 				0xC0, 0x70, 0xE0, 0xBE, 0xE3, 0xF2, 0x2C, 0x01,
59 				0x85, 0xA6, 0x4E, 0x28, 0x6E, 0xD3, 0xB5, 0x18,
60 				0x58, 0x69, 0x07, 0xDA, 0x3A, 0x1B, 0x35, 0xCE,
61 				0xE6, 0xFA
62 			},
63 			.len = 50
64 		},
65 		.exponent = {
66 			.data = {
67 				0x30, 0xA5, 0xD5, 0xF0, 0x42, 0x03, 0xC3, 0x2D,
68 				0x2F, 0x58, 0xA8, 0x5C, 0x21, 0x88, 0xDE, 0x82,
69 				0x36, 0x44, 0xC1, 0x5A, 0x87, 0x2C, 0x33, 0x19,
70 				0x4E, 0xCE, 0x3F, 0x87, 0xFF, 0x98, 0x4B, 0xFC,
71 				0x15, 0xC0, 0xBE, 0x9E, 0x8F, 0xF0, 0x6A, 0x62
72 			},
73 			.len = 40
74 		},
75 		.modulus = {
76 			.data = {
77 				0xF8, 0x04, 0x0D, 0xD5, 0x09, 0x6C, 0x78, 0x06,
78 				0x7D, 0x28, 0x77, 0xA4, 0x0E, 0xA5, 0x49, 0xE7,
79 				0x6D, 0xC9, 0x97, 0xD3, 0xC0, 0x7F, 0x82, 0xC6,
80 				0x75, 0x51, 0x72, 0xAF, 0x8C, 0x77, 0x97, 0xD0,
81 				0xA1, 0x85, 0x54, 0xC0, 0x78, 0x86, 0xD6, 0x40,
82 				0x7A, 0x6B, 0xB3, 0xD7, 0x07, 0xCA, 0x27, 0xA3,
83 				0x66, 0xB9, 0x98, 0x22, 0xC4, 0x54, 0x18, 0x07,
84 				0x65, 0x76, 0x0F, 0x5A
85 			},
86 			.len = 60
87 		},
88 		.result = {
89 			.len = 60
90 		}
91 	},
92 	{
93 		.base = {
94 			.data = {
95 				0xD8, 0x21, 0xD2, 0x76, 0xAE, 0x01, 0x62, 0xD8,
96 				0x8C, 0x80, 0x01, 0x25, 0xC7, 0xE8, 0x4E, 0x0F,
97 				0x7F, 0x23, 0xFE, 0xBB
98 			},
99 			.len = 20
100 		},
101 		.exponent = {
102 			.data = {
103 				0xE5, 0xCE, 0x50, 0xE8, 0x97, 0x32, 0xFB, 0x5C,
104 				0xFC, 0x62
105 			},
106 			.len = 10
107 		},
108 		.modulus = {
109 			.data = {
110 				0x71, 0x3C, 0x6C, 0x7A, 0x19, 0x31, 0xF8, 0x94,
111 				0xC9, 0xAA, 0x25, 0x69, 0xA7, 0xF2, 0x28, 0x70,
112 				0x84, 0x5D, 0xEC, 0x40, 0xC8, 0xF9, 0xC5, 0x79,
113 				0xF9, 0x87, 0xD1, 0xA0, 0xC1, 0x5A, 0x06, 0xE4,
114 				0x65, 0xB8, 0x29, 0x0B, 0x2B, 0xFE, 0x67, 0xF0,
115 				0x91, 0x96, 0xE1, 0xCD, 0x5A, 0xCE, 0x44, 0xA3,
116 				0x4F, 0xE8, 0xBE, 0xC6, 0xA3, 0x0A, 0xCB, 0xF5,
117 				0x7D, 0x8B, 0x9B, 0x2F, 0x4E, 0xC9, 0x54, 0x48,
118 				0xA4, 0xC2, 0x09, 0xCE, 0xA5, 0x93, 0x1F, 0x43,
119 				0xC2, 0xCE, 0xFB, 0xBB, 0x69, 0x29, 0x03, 0x74,
120 				0xD6, 0x25, 0x47, 0x6B, 0xAC, 0x4E, 0x44, 0x8C,
121 				0x39, 0x2F, 0xB2, 0xDD, 0x15, 0x1B, 0xA3, 0x3D,
122 				0xA4, 0x0C, 0xFF, 0xCB, 0x05, 0xC2, 0x81, 0x97,
123 				0x16, 0xE2, 0xAC, 0x8A, 0xF3, 0xED, 0x80, 0xA4,
124 				0xC5, 0xFC, 0xF5, 0x6C, 0x4B, 0xBB, 0x05, 0x91,
125 				0xD4, 0x0F, 0xDA, 0x70, 0x7C, 0x9A, 0xA1, 0x63,
126 				0x15, 0xEE, 0xBB, 0x17, 0xE6, 0x20, 0x50, 0x74,
127 				0x36, 0x9C, 0xA1, 0x10, 0x29, 0x22, 0xFB, 0x7E,
128 				0x2A, 0x08, 0xF3, 0x07, 0xEA, 0xCD, 0x2C, 0x50,
129 				0x18, 0x15, 0x66, 0x87, 0x74, 0x19, 0x11, 0x2B,
130 				0x77, 0x85, 0xA0, 0x57, 0xA7, 0xEB, 0x6E, 0x15,
131 				0x15, 0x0D, 0xA4, 0x18, 0x5D, 0x54, 0x13, 0xE3,
132 				0x33, 0x12, 0x8D, 0xA3, 0xEF, 0x54, 0xE6, 0x1E,
133 				0xDB, 0x8F, 0x3D, 0x02, 0x3C, 0xCB, 0x34, 0x93,
134 				0x31, 0x1D, 0x4D, 0x3E, 0x9C, 0x22, 0x04, 0xD1,
135 				0x19, 0x53, 0x45, 0xE5, 0xBF, 0xF8, 0x70, 0x1A,
136 				0xEA, 0x52, 0x93, 0x2A, 0x26, 0x8A, 0x1E, 0x47,
137 				0xCE, 0x83, 0x5B, 0x35, 0x9A, 0xD2, 0x75, 0xC6,
138 				0xC6, 0x20, 0x84, 0x9F, 0x74, 0x69, 0x69, 0xB8,
139 				0x29, 0xD8, 0xA4, 0x70, 0x91, 0x42, 0x06, 0x25,
140 				0x38, 0xCB, 0x42, 0x75, 0x52, 0xEF, 0xB8, 0x64,
141 				0x4F, 0xC5, 0x7C, 0xC4, 0x09, 0xDB, 0x12
142 			},
143 			.len = 255
144 		},
145 		.result = {
146 			.len = 255
147 		}
148 	},
149 	{
150 		.base = {
151 			.data = {
152 				0x92, 0x45, 0x17, 0x7D, 0xD3, 0xF4, 0x2B, 0x93,
153 				0x8E, 0x1A, 0xFB, 0x1D, 0x13, 0x55, 0x53, 0x84,
154 				0x96, 0x3C, 0x39, 0xE0, 0xAF, 0x4A, 0xB4, 0xC9,
155 				0x16, 0x1F, 0xF4, 0x24, 0x65, 0xDD, 0xC3, 0x62,
156 				0x12, 0xAF, 0x86, 0x95, 0x0D, 0xDE, 0x28, 0x87,
157 				0x90, 0x11, 0xAA, 0x6E, 0x60, 0xCD, 0x54, 0xB7,
158 				0x48, 0x43
159 			},
160 			.len = 50
161 		},
162 		.exponent = {
163 			.data = {
164 				0x22, 0xD9, 0x4D, 0x01, 0x2F, 0x50, 0x5D, 0xE1,
165 				0x01, 0xAA, 0xC6, 0xC6, 0xCD, 0x5D, 0x7E, 0x61,
166 				0x75, 0x0A, 0xDC, 0x06, 0x07, 0x4B, 0xBD, 0x29,
167 				0x33, 0x09, 0x91, 0xD4, 0x29, 0xEB, 0x52, 0x24,
168 				0x27, 0xC6, 0x83, 0x6D, 0x70, 0xA9, 0xC9, 0x11
169 			},
170 			.len = 40
171 		},
172 		.modulus = {
173 			.data = {
174 				0xBB, 0x97, 0x8A, 0xB6, 0x26, 0xD4, 0x0E, 0x70,
175 				0x21, 0xA6, 0x56, 0x71, 0xE5, 0xD8, 0x18, 0x21,
176 				0x64, 0x9F, 0x1B, 0x6F, 0x7C, 0x27, 0x72, 0xB8,
177 				0x39, 0xE5, 0x2A, 0x94, 0x76, 0x22, 0xB7, 0x68,
178 				0x57, 0x3A, 0x01, 0x54, 0xA8, 0x50, 0x41, 0xA1,
179 				0xAD, 0xD0, 0xC7, 0xDB, 0xAA, 0x76, 0x7F, 0x37,
180 				0xA9, 0x27, 0x22, 0x8D, 0xF0, 0x5C, 0x5A, 0xAC,
181 				0xFB, 0x82, 0x6A, 0x8E, 0x31, 0x51, 0x54, 0x7C,
182 				0xDB, 0x55, 0x9C, 0xBC, 0x82, 0x27, 0xF4, 0x0B,
183 				0x94, 0x74, 0xC8, 0x83, 0x80, 0x1C, 0xD8, 0xFF,
184 				0x50, 0xA2, 0xC9, 0xED, 0x2B, 0x98, 0x77, 0xF3,
185 				0x31, 0x81, 0x1C, 0x41, 0x8E, 0xAF, 0x87, 0xA2,
186 				0x02, 0xAC, 0x8B, 0x55, 0x01, 0x5C, 0x16, 0x11,
187 				0x63, 0x8C, 0xE2, 0x0D, 0x51, 0xD2, 0x4C, 0xD7,
188 				0xD4, 0x3D, 0xE4, 0x79, 0x1A, 0xA7, 0xC4, 0xBF,
189 				0x4E, 0x2A, 0xC9, 0x74, 0xD6, 0xD4, 0x90, 0x03,
190 				0x65, 0x7F, 0x54, 0x0F, 0xAC, 0x5F, 0x98, 0x2C,
191 				0x46, 0xC0, 0xD7, 0xE6, 0x75, 0x95, 0xC3, 0xEA,
192 				0x05, 0x3A, 0x03, 0x55, 0x43, 0xC7, 0xC2, 0xD1,
193 				0x11, 0xCD, 0x57, 0x37, 0x0D, 0x40, 0x87, 0xDF,
194 				0x7D, 0xC3, 0x04, 0x54, 0xDE, 0x1D, 0xAF, 0xB8,
195 				0x02, 0x50, 0x42, 0xFF, 0x9D, 0xFB, 0x13, 0xF7,
196 				0x25, 0x5A, 0x8B, 0xE3, 0x31, 0xA2, 0x64, 0xF8,
197 				0x94, 0x50, 0x18, 0xFB, 0xBB, 0xA2, 0xE9, 0x13,
198 				0x77, 0x6E, 0xE1, 0x6F, 0x9F, 0x06, 0x03, 0xEE,
199 				0x0D, 0x06, 0x6E, 0xF2, 0x9B, 0x15, 0x70, 0xDD,
200 				0x26, 0x7C, 0xB4, 0x5D, 0xD0, 0xE7, 0x77, 0xC4,
201 				0xB9, 0x88, 0x75, 0xB8, 0x73, 0xFC, 0xE9, 0xB7,
202 				0x11, 0x26, 0xAC, 0xDB, 0x97, 0x27, 0x18, 0x21,
203 				0x50, 0x7E, 0x46, 0xB2, 0xF1, 0x50, 0x40, 0xD9,
204 				0x8B, 0x63, 0xDB, 0x1A, 0x8E, 0x29, 0xBE, 0x1F,
205 				0x88, 0x35, 0xFD, 0x95, 0xC3, 0xA6, 0x80, 0xEB,
206 				0x73, 0xF7, 0x02, 0x02, 0xB0, 0xCA, 0x97, 0x2C,
207 				0x32, 0x44, 0xA9, 0xCA, 0x94, 0xC0, 0xB2, 0xD9,
208 				0x7C, 0xD9, 0x10, 0x62, 0x31, 0xC9, 0xFA, 0x5B,
209 				0x5C, 0x2C, 0xB6, 0x04, 0x5B, 0x7E, 0x86, 0xBB,
210 				0x49, 0x02, 0x16, 0x9E, 0x1E, 0x53, 0xBD, 0xC2,
211 				0xA9, 0xAA, 0x94, 0x39, 0xA1, 0xB2, 0x18, 0x17,
212 				0xB6, 0x2C, 0xF6, 0xFF, 0xC0, 0xD0, 0x2D, 0x4D,
213 				0xAA, 0x6C, 0xB5, 0xC8, 0x6A, 0xBE, 0x38, 0xE4,
214 				0x9F, 0xDC, 0x5C, 0x56, 0x56, 0x04, 0x32, 0x49,
215 				0x91, 0x17, 0x44, 0x6E, 0xB3, 0xF9, 0x8F, 0xDB,
216 				0xEA, 0x04, 0x4C, 0x67, 0xE6, 0xDA, 0x96, 0x2F,
217 				0x89, 0x2D, 0x54, 0xC3, 0xAD, 0x07, 0x6B, 0xA0,
218 				0x87, 0xF0, 0xCF, 0x4B, 0x43, 0x46, 0xCA, 0x06,
219 				0x48, 0x8D, 0x34, 0xC4, 0xD2, 0xD2, 0xA9, 0x16,
220 				0x13, 0xF5, 0x49, 0x44, 0x8C, 0xD9, 0x0C, 0x1E,
221 				0x79, 0x47, 0xFC, 0x4C, 0x37, 0x8E, 0xD1, 0xFD,
222 				0xB9, 0xE8, 0x6E, 0x1B, 0x8D, 0x68, 0xCC, 0x49,
223 				0x0D, 0x98, 0xB5, 0xD5, 0x22, 0x1C, 0xFC, 0xBA,
224 				0x7A, 0x74, 0x3D, 0xBD, 0xD9, 0xB3, 0x80, 0x58,
225 				0x4A, 0x05, 0x67, 0x9D, 0x59, 0xF4, 0xF7, 0x72,
226 				0x11, 0x3C, 0x67, 0x96, 0xE7, 0x0D, 0x8E, 0x73,
227 				0xD1, 0xEE, 0x00, 0x79, 0x98, 0x7A, 0x0E, 0xE0,
228 				0xA8, 0xEA, 0x7D, 0xF3, 0xDB, 0x0E, 0x62, 0x3E,
229 				0x66, 0x95, 0xED, 0xD5, 0x8C, 0x39, 0xF5, 0xAB
230 			},
231 			.len = 448
232 		},
233 		.result = {
234 			.len = 448
235 		}
236 	},
237 	{
238 		.base = {
239 			.data = {
240 				0x02,
241 			},
242 			.len = 1
243 		},
244 		.exponent = {
245 			.data = {
246 				 0x6C, 0x80, 0xFF, 0x29, 0xF9, 0x27, 0x2E, 0x6D,
247 				 0xE1, 0xB7, 0x3F, 0x13, 0x77, 0xD2, 0x3E, 0x49,
248 				 0xCE, 0xAE, 0xBD, 0x73, 0x7A, 0x0F, 0xE7, 0xA4,
249 				 0x20, 0x49, 0x72, 0x87, 0x4E, 0x1B
250 			},
251 			.len = 30
252 		},
253 		.modulus = {
254 			.data = {
255 				0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
256 				0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
257 				0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
258 				0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74,
259 				0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22,
260 				0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
261 				0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B,
262 				0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37,
263 				0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
264 				0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6,
265 				0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B,
266 				0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED,
267 				0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5,
268 				0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6,
269 				0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D,
270 				0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05,
271 				0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A,
272 				0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F,
273 				0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96,
274 				0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB,
275 				0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
276 				0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04,
277 				0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x23, 0x73, 0x27,
278 				0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
279 			},
280 			.len = 192
281 		},
282 		.result = {
283 			.len = 192
284 		}
285 	},
286 	{
287 		.base = {
288 			.data = {
289 				0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
290 				0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
291 				0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
292 				0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
293 				0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
294 				0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
295 				0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
296 				0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
297 			},
298 			.len = 64
299 		},
300 		.exponent = {
301 			.data = {
302 				0x8E, 0x4E, 0x41, 0xA2, 0xE0, 0x59, 0xA8, 0x29,
303 				0x71, 0xF6, 0x21, 0xC9, 0xD5, 0x0E, 0x36, 0x0F,
304 				0x59, 0xD6, 0x74, 0x4C, 0x3A, 0xC7, 0x13, 0x5E,
305 				0x7D, 0x2D, 0x43, 0x63, 0x5A, 0x3D, 0xCA, 0x5F,
306 				0xF7, 0xB2, 0x3D, 0x9C, 0x3F, 0xA1, 0x5D, 0x71
307 			},
308 			.len = 40
309 		},
310 		.modulus = {
311 			.data = {
312 				0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
313 				0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
314 				0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
315 				0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74,
316 				0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22,
317 				0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
318 				0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B,
319 				0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37,
320 				0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
321 				0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6,
322 				0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B,
323 				0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED,
324 				0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5,
325 				0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6,
326 				0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D,
327 				0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05,
328 				0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A,
329 				0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F,
330 				0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96,
331 				0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB,
332 				0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
333 				0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04,
334 				0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C,
335 				0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B,
336 				0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03,
337 				0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F,
338 				0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9,
339 				0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18,
340 				0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5,
341 				0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10,
342 				0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAC, 0xAA, 0x68,
343 				0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
344 			},
345 			.len = 256
346 		},
347 		.result = {
348 			.len = 256
349 		}
350 	},
351 	{
352 		.base = {
353 			.data = {
354 				0x02,
355 			},
356 			.len = 1
357 		},
358 		.exponent = {
359 			.data = {
360 				0x63, 0x4D, 0x67, 0x4E, 0x4A, 0x16, 0x0F, 0xEB,
361 				0x76, 0xC8, 0xAB, 0x3B, 0x4A, 0x74, 0x03, 0x02,
362 				0x2F, 0xAC, 0x34, 0x23, 0xC8, 0x2E, 0x1E, 0x60,
363 				0x63, 0x1E, 0x7D, 0x3F, 0x22, 0xB9, 0xBF, 0x2D,
364 				0x4F, 0xB3, 0x72, 0xAC, 0x1E, 0x62, 0xA7, 0x47,
365 				0x7A, 0xF3, 0x45, 0xAB, 0x5B, 0x67, 0x12, 0x80,
366 				0x77, 0xDA, 0xF8, 0xF4
367 			},
368 			.len = 52
369 		},
370 		.modulus = {
371 			.data = {
372 				0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
373 				0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
374 				0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
375 				0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74,
376 				0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22,
377 				0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
378 				0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B,
379 				0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37,
380 				0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
381 				0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6,
382 				0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B,
383 				0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED,
384 				0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5,
385 				0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6,
386 				0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D,
387 				0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05,
388 				0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A,
389 				0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F,
390 				0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96,
391 				0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB,
392 				0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
393 				0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04,
394 				0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C,
395 				0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B,
396 				0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03,
397 				0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F,
398 				0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9,
399 				0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18,
400 				0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5,
401 				0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10,
402 				0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D,
403 				0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33,
404 				0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64,
405 				0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A,
406 				0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D,
407 				0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7,
408 				0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7,
409 				0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D,
410 				0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B,
411 				0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64,
412 				0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64,
413 				0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C,
414 				0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C,
415 				0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2,
416 				0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31,
417 				0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E,
418 				0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x3A, 0xD2, 0xCA,
419 				0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
420 			},
421 			.len = 384
422 		},
423 		.result = {
424 			.len = 384
425 		}
426 	},
427 	{
428 		.base = {
429 			.data = {
430 				0x02,
431 			},
432 			.len = 1
433 		},
434 		.exponent = {
435 			.data = {
436 				0xF2, 0x77, 0xFF, 0x91, 0x08, 0xF6, 0x16, 0x8E,
437 				0xEE, 0x8C, 0xCC, 0x62, 0x07, 0xA4, 0xE3, 0x0F,
438 				0xB8, 0xE8, 0xFD, 0x77, 0xEA, 0x06, 0x1D, 0x9F,
439 				0x2A, 0x96, 0xE8, 0x0D, 0x66, 0xA4, 0x97, 0x7E,
440 				0xDA, 0xDB, 0xC0, 0xC0, 0x2F, 0x72, 0xCD, 0xFC,
441 				0xBE, 0xC3, 0xAA, 0x46, 0x31, 0x7C, 0x4B, 0x4D,
442 				0x0B, 0x14, 0x02, 0x5C, 0x7F, 0x29, 0xC1, 0xDE,
443 				0xC5, 0x06, 0x70, 0x0B
444 			},
445 			.len = 60
446 		},
447 		.modulus = {
448 			.data = {
449 				0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
450 				0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
451 				0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
452 				0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74,
453 				0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22,
454 				0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
455 				0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B,
456 				0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37,
457 				0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
458 				0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6,
459 				0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B,
460 				0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED,
461 				0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5,
462 				0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6,
463 				0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D,
464 				0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05,
465 				0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A,
466 				0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F,
467 				0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96,
468 				0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB,
469 				0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
470 				0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04,
471 				0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C,
472 				0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B,
473 				0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03,
474 				0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F,
475 				0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9,
476 				0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18,
477 				0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5,
478 				0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10,
479 				0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D,
480 				0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33,
481 				0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64,
482 				0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A,
483 				0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D,
484 				0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7,
485 				0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7,
486 				0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D,
487 				0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B,
488 				0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64,
489 				0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64,
490 				0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C,
491 				0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C,
492 				0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2,
493 				0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31,
494 				0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E,
495 				0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x21, 0x08, 0x01,
496 				0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7,
497 				0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26,
498 				0x99, 0xC3, 0x27, 0x18, 0x6A, 0xF4, 0xE2, 0x3C,
499 				0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA,
500 				0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8,
501 				0xDB, 0xBB, 0xC2, 0xDB, 0x04, 0xDE, 0x8E, 0xF9,
502 				0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6,
503 				0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D,
504 				0x99, 0xB2, 0x96, 0x4F, 0xA0, 0x90, 0xC3, 0xA2,
505 				0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED,
506 				0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF,
507 				0xB8, 0x1B, 0xDD, 0x76, 0x21, 0x70, 0x48, 0x1C,
508 				0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9,
509 				0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1,
510 				0x86, 0xFF, 0xB7, 0xDC, 0x90, 0xA6, 0xC0, 0x8F,
511 				0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x06, 0x31, 0x99,
512 				0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
513 			},
514 			.len = 512
515 		},
516 		.result = {
517 			.len = 512
518 		}
519 	},
520 	{
521 		.base = {
522 			.data = {
523 				0x02,
524 			},
525 			.len = 1
526 		},
527 		.exponent = {
528 			.data = {
529 				0x06, 0x8B, 0x74, 0x99, 0x02, 0xCE, 0x50, 0x2C,
530 				0xED, 0x29, 0x2F, 0xFB, 0x14, 0x74, 0x11, 0x7A,
531 				0x7C, 0x1D, 0xBF, 0xF8, 0xC3, 0x2D, 0xFD, 0x45,
532 				0x56, 0xCF, 0xCD, 0x92, 0x12, 0xF2, 0xC1, 0x96,
533 				0x73, 0x11, 0x4C, 0xAC, 0xFA, 0x0C, 0x4B, 0x2B,
534 				0xFA, 0xED, 0xA5, 0x5A, 0xDD, 0xF7, 0x5F, 0x75,
535 				0xB0, 0x18, 0x69, 0x63, 0xB0, 0x8E, 0x04, 0xA2,
536 				0x0D, 0x1F, 0x68, 0xA9, 0x1A, 0x75, 0x8A, 0x29,
537 				0xD4, 0xC1, 0x31, 0xAC
538 			},
539 			.len = 68
540 		},
541 		.modulus = {
542 			.data = {
543 				0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
544 				0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
545 				0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
546 				0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74,
547 				0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22,
548 				0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
549 				0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B,
550 				0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37,
551 				0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
552 				0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6,
553 				0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B,
554 				0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED,
555 				0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5,
556 				0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6,
557 				0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D,
558 				0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05,
559 				0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A,
560 				0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F,
561 				0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96,
562 				0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB,
563 				0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
564 				0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04,
565 				0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C,
566 				0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B,
567 				0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03,
568 				0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F,
569 				0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9,
570 				0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18,
571 				0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5,
572 				0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10,
573 				0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D,
574 				0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33,
575 				0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64,
576 				0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A,
577 				0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D,
578 				0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7,
579 				0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7,
580 				0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D,
581 				0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B,
582 				0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64,
583 				0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64,
584 				0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C,
585 				0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C,
586 				0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2,
587 				0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31,
588 				0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E,
589 				0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x21, 0x08, 0x01,
590 				0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7,
591 				0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26,
592 				0x99, 0xC3, 0x27, 0x18, 0x6A, 0xF4, 0xE2, 0x3C,
593 				0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA,
594 				0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8,
595 				0xDB, 0xBB, 0xC2, 0xDB, 0x04, 0xDE, 0x8E, 0xF9,
596 				0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6,
597 				0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D,
598 				0x99, 0xB2, 0x96, 0x4F, 0xA0, 0x90, 0xC3, 0xA2,
599 				0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED,
600 				0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF,
601 				0xB8, 0x1B, 0xDD, 0x76, 0x21, 0x70, 0x48, 0x1C,
602 				0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9,
603 				0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1,
604 				0x86, 0xFF, 0xB7, 0xDC, 0x90, 0xA6, 0xC0, 0x8F,
605 				0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x02, 0x84, 0x92,
606 				0x36, 0xC3, 0xFA, 0xB4, 0xD2, 0x7C, 0x70, 0x26,
607 				0xC1, 0xD4, 0xDC, 0xB2, 0x60, 0x26, 0x46, 0xDE,
608 				0xC9, 0x75, 0x1E, 0x76, 0x3D, 0xBA, 0x37, 0xBD,
609 				0xF8, 0xFF, 0x94, 0x06, 0xAD, 0x9E, 0x53, 0x0E,
610 				0xE5, 0xDB, 0x38, 0x2F, 0x41, 0x30, 0x01, 0xAE,
611 				0xB0, 0x6A, 0x53, 0xED, 0x90, 0x27, 0xD8, 0x31,
612 				0x17, 0x97, 0x27, 0xB0, 0x86, 0x5A, 0x89, 0x18,
613 				0xDA, 0x3E, 0xDB, 0xEB, 0xCF, 0x9B, 0x14, 0xED,
614 				0x44, 0xCE, 0x6C, 0xBA, 0xCE, 0xD4, 0xBB, 0x1B,
615 				0xDB, 0x7F, 0x14, 0x47, 0xE6, 0xCC, 0x25, 0x4B,
616 				0x33, 0x20, 0x51, 0x51, 0x2B, 0xD7, 0xAF, 0x42,
617 				0x6F, 0xB8, 0xF4, 0x01, 0x37, 0x8C, 0xD2, 0xBF,
618 				0x59, 0x83, 0xCA, 0x01, 0xC6, 0x4B, 0x92, 0xEC,
619 				0xF0, 0x32, 0xEA, 0x15, 0xD1, 0x72, 0x1D, 0x03,
620 				0xF4, 0x82, 0xD7, 0xCE, 0x6E, 0x74, 0xFE, 0xF6,
621 				0xD5, 0x5E, 0x70, 0x2F, 0x46, 0x98, 0x0C, 0x82,
622 				0xB5, 0xA8, 0x40, 0x31, 0x90, 0x0B, 0x1C, 0x9E,
623 				0x59, 0xE7, 0xC9, 0x7F, 0xBE, 0xC7, 0xE8, 0xF3,
624 				0x23, 0xA9, 0x7A, 0x7E, 0x36, 0xCC, 0x88, 0xBE,
625 				0x0F, 0x1D, 0x45, 0xB7, 0xFF, 0x58, 0x5A, 0xC5,
626 				0x4B, 0xD4, 0x07, 0xB2, 0x2B, 0x41, 0x54, 0xAA,
627 				0xCC, 0x8F, 0x6D, 0x7E, 0xBF, 0x48, 0xE1, 0xD8,
628 				0x14, 0xCC, 0x5E, 0xD2, 0x0F, 0x80, 0x37, 0xE0,
629 				0xA7, 0x97, 0x15, 0xEE, 0xF2, 0x9B, 0xE3, 0x28,
630 				0x06, 0xA1, 0xD5, 0x8B, 0xB7, 0xC5, 0xDA, 0x76,
631 				0xF5, 0x50, 0xAA, 0x3D, 0x8A, 0x1F, 0xBF, 0xF0,
632 				0xEB, 0x19, 0xCC, 0xB1, 0xA3, 0x13, 0xD5, 0x5C,
633 				0xDA, 0x56, 0xC9, 0xEC, 0x2E, 0xF2, 0x96, 0x32,
634 				0x38, 0x7F, 0xE8, 0xD7, 0x6E, 0x3C, 0x04, 0x68,
635 				0x04, 0x3E, 0x8F, 0x66, 0x3F, 0x48, 0x60, 0xEE,
636 				0x12, 0xBF, 0x2D, 0x5B, 0x0B, 0x74, 0x74, 0xD6,
637 				0xE6, 0x94, 0xF9, 0x1E, 0x6D, 0xCC, 0x40, 0x24,
638 				0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
639 			},
640 			.len = 768
641 		},
642 		.result = {
643 			.len = 768
644 		}
645 	},
646 	{
647 		.base = {
648 			.data = {
649 				0x02,
650 			},
651 			.len = 1
652 		},
653 		.exponent = {
654 			.data = {
655 				0x01, 0xA6, 0x8A, 0x0A, 0xDA, 0xA6, 0x14, 0x43,
656 				0x84, 0xD6, 0xEB, 0x11, 0x67, 0xA6, 0xD2, 0xAC,
657 				0x11, 0x5D, 0x15, 0x99, 0x31, 0x99, 0xAE, 0x08,
658 				0x3D, 0xEC, 0x19, 0x57, 0x3D, 0xDF, 0x96, 0x7C,
659 				0x9A, 0x1A, 0x72, 0x80, 0x1F, 0xF3, 0x50, 0x91,
660 				0xD0, 0x70, 0x11, 0x37, 0xA8, 0xFE, 0xE4, 0x37,
661 				0x3B, 0x36, 0x62, 0x89, 0xCF, 0x31, 0x1D, 0x76,
662 				0x28, 0xBE, 0x5F, 0x25, 0x12, 0x6E, 0x72, 0x83,
663 				0x8A, 0x1A, 0xC2, 0xFA, 0xD6, 0x49, 0x2C, 0x4F,
664 				0x2D, 0xF1, 0x77, 0x67, 0x49, 0xDA
665 			},
666 			.len = 78
667 		},
668 		.modulus = {
669 			.data = {
670 				0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
671 				0xC9, 0x0F, 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34,
672 				0xC4, 0xC6, 0x62, 0x8B, 0x80, 0xDC, 0x1C, 0xD1,
673 				0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, 0xCC, 0x74,
674 				0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22,
675 				0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD,
676 				0xEF, 0x95, 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B,
677 				0x30, 0x2B, 0x0A, 0x6D, 0xF2, 0x5F, 0x14, 0x37,
678 				0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, 0xC2, 0x45,
679 				0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6,
680 				0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B,
681 				0x0B, 0xFF, 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED,
682 				0xEE, 0x38, 0x6B, 0xFB, 0x5A, 0x89, 0x9F, 0xA5,
683 				0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, 0x1F, 0xE6,
684 				0x49, 0x28, 0x66, 0x51, 0xEC, 0xE4, 0x5B, 0x3D,
685 				0xC2, 0x00, 0x7C, 0xB8, 0xA1, 0x63, 0xBF, 0x05,
686 				0x98, 0xDA, 0x48, 0x36, 0x1C, 0x55, 0xD3, 0x9A,
687 				0x69, 0x16, 0x3F, 0xA8, 0xFD, 0x24, 0xCF, 0x5F,
688 				0x83, 0x65, 0x5D, 0x23, 0xDC, 0xA3, 0xAD, 0x96,
689 				0x1C, 0x62, 0xF3, 0x56, 0x20, 0x85, 0x52, 0xBB,
690 				0x9E, 0xD5, 0x29, 0x07, 0x70, 0x96, 0x96, 0x6D,
691 				0x67, 0x0C, 0x35, 0x4E, 0x4A, 0xBC, 0x98, 0x04,
692 				0xF1, 0x74, 0x6C, 0x08, 0xCA, 0x18, 0x21, 0x7C,
693 				0x32, 0x90, 0x5E, 0x46, 0x2E, 0x36, 0xCE, 0x3B,
694 				0xE3, 0x9E, 0x77, 0x2C, 0x18, 0x0E, 0x86, 0x03,
695 				0x9B, 0x27, 0x83, 0xA2, 0xEC, 0x07, 0xA2, 0x8F,
696 				0xB5, 0xC5, 0x5D, 0xF0, 0x6F, 0x4C, 0x52, 0xC9,
697 				0xDE, 0x2B, 0xCB, 0xF6, 0x95, 0x58, 0x17, 0x18,
698 				0x39, 0x95, 0x49, 0x7C, 0xEA, 0x95, 0x6A, 0xE5,
699 				0x15, 0xD2, 0x26, 0x18, 0x98, 0xFA, 0x05, 0x10,
700 				0x15, 0x72, 0x8E, 0x5A, 0x8A, 0xAA, 0xC4, 0x2D,
701 				0xAD, 0x33, 0x17, 0x0D, 0x04, 0x50, 0x7A, 0x33,
702 				0xA8, 0x55, 0x21, 0xAB, 0xDF, 0x1C, 0xBA, 0x64,
703 				0xEC, 0xFB, 0x85, 0x04, 0x58, 0xDB, 0xEF, 0x0A,
704 				0x8A, 0xEA, 0x71, 0x57, 0x5D, 0x06, 0x0C, 0x7D,
705 				0xB3, 0x97, 0x0F, 0x85, 0xA6, 0xE1, 0xE4, 0xC7,
706 				0xAB, 0xF5, 0xAE, 0x8C, 0xDB, 0x09, 0x33, 0xD7,
707 				0x1E, 0x8C, 0x94, 0xE0, 0x4A, 0x25, 0x61, 0x9D,
708 				0xCE, 0xE3, 0xD2, 0x26, 0x1A, 0xD2, 0xEE, 0x6B,
709 				0xF1, 0x2F, 0xFA, 0x06, 0xD9, 0x8A, 0x08, 0x64,
710 				0xD8, 0x76, 0x02, 0x73, 0x3E, 0xC8, 0x6A, 0x64,
711 				0x52, 0x1F, 0x2B, 0x18, 0x17, 0x7B, 0x20, 0x0C,
712 				0xBB, 0xE1, 0x17, 0x57, 0x7A, 0x61, 0x5D, 0x6C,
713 				0x77, 0x09, 0x88, 0xC0, 0xBA, 0xD9, 0x46, 0xE2,
714 				0x08, 0xE2, 0x4F, 0xA0, 0x74, 0xE5, 0xAB, 0x31,
715 				0x43, 0xDB, 0x5B, 0xFC, 0xE0, 0xFD, 0x10, 0x8E,
716 				0x4B, 0x82, 0xD1, 0x20, 0xA9, 0x21, 0x08, 0x01,
717 				0x1A, 0x72, 0x3C, 0x12, 0xA7, 0x87, 0xE6, 0xD7,
718 				0x88, 0x71, 0x9A, 0x10, 0xBD, 0xBA, 0x5B, 0x26,
719 				0x99, 0xC3, 0x27, 0x18, 0x6A, 0xF4, 0xE2, 0x3C,
720 				0x1A, 0x94, 0x68, 0x34, 0xB6, 0x15, 0x0B, 0xDA,
721 				0x25, 0x83, 0xE9, 0xCA, 0x2A, 0xD4, 0x4C, 0xE8,
722 				0xDB, 0xBB, 0xC2, 0xDB, 0x04, 0xDE, 0x8E, 0xF9,
723 				0x2E, 0x8E, 0xFC, 0x14, 0x1F, 0xBE, 0xCA, 0xA6,
724 				0x28, 0x7C, 0x59, 0x47, 0x4E, 0x6B, 0xC0, 0x5D,
725 				0x99, 0xB2, 0x96, 0x4F, 0xA0, 0x90, 0xC3, 0xA2,
726 				0x23, 0x3B, 0xA1, 0x86, 0x51, 0x5B, 0xE7, 0xED,
727 				0x1F, 0x61, 0x29, 0x70, 0xCE, 0xE2, 0xD7, 0xAF,
728 				0xB8, 0x1B, 0xDD, 0x76, 0x21, 0x70, 0x48, 0x1C,
729 				0xD0, 0x06, 0x91, 0x27, 0xD5, 0xB0, 0x5A, 0xA9,
730 				0x93, 0xB4, 0xEA, 0x98, 0x8D, 0x8F, 0xDD, 0xC1,
731 				0x86, 0xFF, 0xB7, 0xDC, 0x90, 0xA6, 0xC0, 0x8F,
732 				0x4D, 0xF4, 0x35, 0xC9, 0x34, 0x02, 0x84, 0x92,
733 				0x36, 0xC3, 0xFA, 0xB4, 0xD2, 0x7C, 0x70, 0x26,
734 				0xC1, 0xD4, 0xDC, 0xB2, 0x60, 0x26, 0x46, 0xDE,
735 				0xC9, 0x75, 0x1E, 0x76, 0x3D, 0xBA, 0x37, 0xBD,
736 				0xF8, 0xFF, 0x94, 0x06, 0xAD, 0x9E, 0x53, 0x0E,
737 				0xE5, 0xDB, 0x38, 0x2F, 0x41, 0x30, 0x01, 0xAE,
738 				0xB0, 0x6A, 0x53, 0xED, 0x90, 0x27, 0xD8, 0x31,
739 				0x17, 0x97, 0x27, 0xB0, 0x86, 0x5A, 0x89, 0x18,
740 				0xDA, 0x3E, 0xDB, 0xEB, 0xCF, 0x9B, 0x14, 0xED,
741 				0x44, 0xCE, 0x6C, 0xBA, 0xCE, 0xD4, 0xBB, 0x1B,
742 				0xDB, 0x7F, 0x14, 0x47, 0xE6, 0xCC, 0x25, 0x4B,
743 				0x33, 0x20, 0x51, 0x51, 0x2B, 0xD7, 0xAF, 0x42,
744 				0x6F, 0xB8, 0xF4, 0x01, 0x37, 0x8C, 0xD2, 0xBF,
745 				0x59, 0x83, 0xCA, 0x01, 0xC6, 0x4B, 0x92, 0xEC,
746 				0xF0, 0x32, 0xEA, 0x15, 0xD1, 0x72, 0x1D, 0x03,
747 				0xF4, 0x82, 0xD7, 0xCE, 0x6E, 0x74, 0xFE, 0xF6,
748 				0xD5, 0x5E, 0x70, 0x2F, 0x46, 0x98, 0x0C, 0x82,
749 				0xB5, 0xA8, 0x40, 0x31, 0x90, 0x0B, 0x1C, 0x9E,
750 				0x59, 0xE7, 0xC9, 0x7F, 0xBE, 0xC7, 0xE8, 0xF3,
751 				0x23, 0xA9, 0x7A, 0x7E, 0x36, 0xCC, 0x88, 0xBE,
752 				0x0F, 0x1D, 0x45, 0xB7, 0xFF, 0x58, 0x5A, 0xC5,
753 				0x4B, 0xD4, 0x07, 0xB2, 0x2B, 0x41, 0x54, 0xAA,
754 				0xCC, 0x8F, 0x6D, 0x7E, 0xBF, 0x48, 0xE1, 0xD8,
755 				0x14, 0xCC, 0x5E, 0xD2, 0x0F, 0x80, 0x37, 0xE0,
756 				0xA7, 0x97, 0x15, 0xEE, 0xF2, 0x9B, 0xE3, 0x28,
757 				0x06, 0xA1, 0xD5, 0x8B, 0xB7, 0xC5, 0xDA, 0x76,
758 				0xF5, 0x50, 0xAA, 0x3D, 0x8A, 0x1F, 0xBF, 0xF0,
759 				0xEB, 0x19, 0xCC, 0xB1, 0xA3, 0x13, 0xD5, 0x5C,
760 				0xDA, 0x56, 0xC9, 0xEC, 0x2E, 0xF2, 0x96, 0x32,
761 				0x38, 0x7F, 0xE8, 0xD7, 0x6E, 0x3C, 0x04, 0x68,
762 				0x04, 0x3E, 0x8F, 0x66, 0x3F, 0x48, 0x60, 0xEE,
763 				0x12, 0xBF, 0x2D, 0x5B, 0x0B, 0x74, 0x74, 0xD6,
764 				0xE6, 0x94, 0xF9, 0x1E, 0x6D, 0xBE, 0x11, 0x59,
765 				0x74, 0xA3, 0x92, 0x6F, 0x12, 0xFE, 0xE5, 0xE4,
766 				0x38, 0x77, 0x7C, 0xB6, 0xA9, 0x32, 0xDF, 0x8C,
767 				0xD8, 0xBE, 0xC4, 0xD0, 0x73, 0xB9, 0x31, 0xBA,
768 				0x3B, 0xC8, 0x32, 0xB6, 0x8D, 0x9D, 0xD3, 0x00,
769 				0x74, 0x1F, 0xA7, 0xBF, 0x8A, 0xFC, 0x47, 0xED,
770 				0x25, 0x76, 0xF6, 0x93, 0x6B, 0xA4, 0x24, 0x66,
771 				0x3A, 0xAB, 0x63, 0x9C, 0x5A, 0xE4, 0xF5, 0x68,
772 				0x34, 0x23, 0xB4, 0x74, 0x2B, 0xF1, 0xC9, 0x78,
773 				0x23, 0x8F, 0x16, 0xCB, 0xE3, 0x9D, 0x65, 0x2D,
774 				0xE3, 0xFD, 0xB8, 0xBE, 0xFC, 0x84, 0x8A, 0xD9,
775 				0x22, 0x22, 0x2E, 0x04, 0xA4, 0x03, 0x7C, 0x07,
776 				0x13, 0xEB, 0x57, 0xA8, 0x1A, 0x23, 0xF0, 0xC7,
777 				0x34, 0x73, 0xFC, 0x64, 0x6C, 0xEA, 0x30, 0x6B,
778 				0x4B, 0xCB, 0xC8, 0x86, 0x2F, 0x83, 0x85, 0xDD,
779 				0xFA, 0x9D, 0x4B, 0x7F, 0xA2, 0xC0, 0x87, 0xE8,
780 				0x79, 0x68, 0x33, 0x03, 0xED, 0x5B, 0xDD, 0x3A,
781 				0x06, 0x2B, 0x3C, 0xF5, 0xB3, 0xA2, 0x78, 0xA6,
782 				0x6D, 0x2A, 0x13, 0xF8, 0x3F, 0x44, 0xF8, 0x2D,
783 				0xDF, 0x31, 0x0E, 0xE0, 0x74, 0xAB, 0x6A, 0x36,
784 				0x45, 0x97, 0xE8, 0x99, 0xA0, 0x25, 0x5D, 0xC1,
785 				0x64, 0xF3, 0x1C, 0xC5, 0x08, 0x46, 0x85, 0x1D,
786 				0xF9, 0xAB, 0x48, 0x19, 0x5D, 0xED, 0x7E, 0xA1,
787 				0xB1, 0xD5, 0x10, 0xBD, 0x7E, 0xE7, 0x4D, 0x73,
788 				0xFA, 0xF3, 0x6B, 0xC3, 0x1E, 0xCF, 0xA2, 0x68,
789 				0x35, 0x90, 0x46, 0xF4, 0xEB, 0x87, 0x9F, 0x92,
790 				0x40, 0x09, 0x43, 0x8B, 0x48, 0x1C, 0x6C, 0xD7,
791 				0x88, 0x9A, 0x00, 0x2E, 0xD5, 0xEE, 0x38, 0x2B,
792 				0xC9, 0x19, 0x0D, 0xA6, 0xFC, 0x02, 0x6E, 0x47,
793 				0x95, 0x58, 0xE4, 0x47, 0x56, 0x77, 0xE9, 0xAA,
794 				0x9E, 0x30, 0x50, 0xE2, 0x76, 0x56, 0x94, 0xDF,
795 				0xC8, 0x1F, 0x56, 0xE8, 0x80, 0xB9, 0x6E, 0x71,
796 				0x60, 0xC9, 0x80, 0xDD, 0x98, 0xED, 0xD3, 0xDF,
797 				0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
798 			},
799 			.len = 1024
800 		},
801 		.result = {
802 			.len = 1024
803 		}
804 	}
805 };
806 
807 static uint8_t secp256r1_pkey[] = {
808 	0x51, 0x9b, 0x42, 0x3d, 0x71, 0x5f, 0x8b, 0x58,
809 	0x1f, 0x4f, 0xa8, 0xee, 0x59, 0xf4, 0x77, 0x1a,
810 	0x5b, 0x44, 0xc8, 0x13, 0x0b, 0x4e, 0x3e, 0xac,
811 	0xca, 0x54, 0xa5, 0x6d, 0xda, 0x72, 0xb4, 0x64
812 };
813 
814 static uint8_t secp256r1_qx[] = {
815 	0x1c, 0xcb, 0xe9, 0x1c, 0x07, 0x5f, 0xc7, 0xf4,
816 	0xf0, 0x33, 0xbf, 0xa2, 0x48, 0xdb, 0x8f, 0xcc,
817 	0xd3, 0x56, 0x5d, 0xe9, 0x4b, 0xbf, 0xb1, 0x2f,
818 	0x3c, 0x59, 0xff, 0x46, 0xc2, 0x71, 0xbf, 0x83
819 };
820 
821 static uint8_t secp256r1_qy[] = {
822 	0xce, 0x40, 0x14, 0xc6, 0x88, 0x11, 0xf9, 0xa2,
823 	0x1a, 0x1f, 0xdb, 0x2c, 0x0e, 0x61, 0x13, 0xe0,
824 	0x6d, 0xb7, 0xca, 0x93, 0xb7, 0x40, 0x4e, 0x78,
825 	0xdc, 0x7c, 0xcd, 0x5c, 0xa8, 0x9a, 0x4c, 0xa9
826 };
827 
828 static uint8_t secp256r1_k[] = {
829 	0x94, 0xa1, 0xbb, 0xb1, 0x4b, 0x90, 0x6a, 0x61,
830 	0xa2, 0x80, 0xf2, 0x45, 0xf9, 0xe9, 0x3c, 0x7f,
831 	0x3b, 0x4a, 0x62, 0x47, 0x82, 0x4f, 0x5d, 0x33,
832 	0xb9, 0x67, 0x07, 0x87, 0x64, 0x2a, 0x68, 0xde
833 };
834 
835 static uint8_t secp256r1_sign_r[] = {
836 	0xf3, 0xac, 0x80, 0x61, 0xb5, 0x14, 0x79, 0x5b,
837 	0x88, 0x43, 0xe3, 0xd6, 0x62, 0x95, 0x27, 0xed,
838 	0x2a, 0xfd, 0x6b, 0x1f, 0x6a, 0x55, 0x5a, 0x7a,
839 	0xca, 0xbb, 0x5e, 0x6f, 0x79, 0xc8, 0xc2, 0xac
840 };
841 
842 static uint8_t secp256r1_sign_s[] = {
843 	0x8b, 0xf7, 0x78, 0x19, 0xca, 0x05, 0xa6, 0xb2,
844 	0x78, 0x6c, 0x76, 0x26, 0x2b, 0xf7, 0x37, 0x1c,
845 	0xef, 0x97, 0xb2, 0x18, 0xe9, 0x6f, 0x17, 0x5a,
846 	0x3c, 0xcd, 0xda, 0x2a, 0xcc, 0x05, 0x89, 0x03
847 };
848 
849 static uint8_t secp256r1_message[] = {
850 	0x44, 0xac, 0xf6, 0xb7, 0xe3, 0x6c, 0x13, 0x42,
851 	0xc2, 0xc5, 0x89, 0x72, 0x04, 0xfe, 0x09, 0x50,
852 	0x4e, 0x1e, 0x2e, 0xfb, 0x1a, 0x90, 0x03, 0x77,
853 	0xdb, 0xc4, 0xe7, 0xa6, 0xa1, 0x33, 0xec, 0x56
854 };
855 
856 static uint8_t ed25519_pkey[] = {
857 	0x4c, 0xcd, 0x08, 0x9b, 0x28, 0xff, 0x96, 0xda,
858 	0x9d, 0xb6, 0xc3, 0x46, 0xec, 0x11, 0x4e, 0x0f,
859 	0x5b, 0x8a, 0x31, 0x9f, 0x35, 0xab, 0xa6, 0x24,
860 	0xda, 0x8c, 0xf6, 0xed, 0x4f, 0xb8, 0xa6, 0xfb,
861 };
862 
863 static uint8_t ed25519_pubkey[] = {
864 	0x3d, 0x40, 0x17, 0xc3, 0xe8, 0x43, 0x89, 0x5a,
865 	0x92, 0xb7, 0x0a, 0xa7, 0x4d, 0x1b, 0x7e, 0xbc,
866 	0x9c, 0x98, 0x2c, 0xcf, 0x2e, 0xc4, 0x96, 0x8c,
867 	0xc0, 0xcd, 0x55, 0xf1, 0x2a, 0xf4, 0x66, 0x0c,
868 };
869 
870 static uint8_t ed25519_sign[] = {
871 	0x92, 0xa0, 0x09, 0xa9, 0xf0, 0xd4, 0xca, 0xb8,
872 	0x72, 0x0e, 0x82, 0x0b, 0x5f, 0x64, 0x25, 0x40,
873 	0xa2, 0xb2, 0x7b, 0x54, 0x16, 0x50, 0x3f, 0x8f,
874 	0xb3, 0x76, 0x22, 0x23, 0xeb, 0xdb, 0x69, 0xda,
875 	0x08, 0x5a, 0xc1, 0xe4, 0x3e, 0x15, 0x99, 0x6e,
876 	0x45, 0x8f, 0x36, 0x13, 0xd0, 0xf1, 0x1d, 0x8c,
877 	0x38, 0x7b, 0x2e, 0xae, 0xb4, 0x30, 0x2a, 0xee,
878 	0xb0, 0x0d, 0x29, 0x16, 0x12, 0xbb, 0x0c, 0x00,
879 };
880 
881 static uint8_t ed25519_message[] = {
882 	0x72
883 };
884 
885 static uint8_t fp256_pkey[] = {
886 	0x77, 0x84, 0x35, 0x65, 0x4c, 0x7a, 0x6d, 0xb1,
887 	0x1e, 0x63, 0x0b, 0x41, 0x97, 0x36, 0x04, 0xf4,
888 	0xec, 0x35, 0xee, 0x3b, 0x76, 0xc2, 0x34, 0x08,
889 	0xd9, 0x4a, 0x22, 0x0d, 0x7f, 0xf6, 0xc6, 0x90
890 };
891 
892 static uint8_t fp256_qx[] = {
893 	0x7b, 0x24, 0xa3, 0x03, 0xcf, 0xb2, 0x22, 0xfa,
894 	0x4c, 0xb3, 0x88, 0x54, 0xf9, 0x30, 0xd1, 0x4d,
895 	0xe3, 0x50, 0xda, 0xba, 0xe6, 0xa7, 0x0b, 0x91,
896 	0x4c, 0x04, 0x0d, 0x5c, 0xe0, 0x8e, 0x86, 0xc5
897 };
898 
899 static uint8_t fp256_qy[] = {
900 	0xbc, 0x39, 0xe3, 0x19, 0x4e, 0xd2, 0x29, 0x22,
901 	0x5b, 0x37, 0x2d, 0xeb, 0xcc, 0x05, 0x52, 0x8d,
902 	0xb9, 0x40, 0xa3, 0xab, 0x3c, 0xbe, 0x16, 0x30,
903 	0x1c, 0xe4, 0xe8, 0x7f, 0xba, 0x6e, 0x0b, 0xae
904 };
905 
906 static uint8_t fp256_k[] = {
907 	0x01, 0x04, 0x02, 0x05, 0x04, 0x06, 0x03, 0x07
908 };
909 
910 static uint8_t fp256_sign_r[] = {
911 	0x75, 0x2B, 0x8C, 0x15, 0x38, 0x10, 0xF6, 0xC0,
912 	0x28, 0xC9, 0x8A, 0x51, 0xD0, 0x62, 0x69, 0x4B,
913 	0xF6, 0x58, 0x06, 0xEB, 0xF1, 0x91, 0x1F, 0x15,
914 	0x8B, 0x08, 0x09, 0xF9, 0x88, 0x0A, 0x44, 0x24
915 };
916 
917 static uint8_t fp256_sign_s[] = {
918 	0x5A, 0x3C, 0x96, 0x3E, 0x1C, 0xB4, 0x19, 0xF9,
919 	0xD7, 0x78, 0xB8, 0xCE, 0xFF, 0x9D, 0xB1, 0x31,
920 	0x77, 0xDB, 0xA0, 0xFE, 0x84, 0x61, 0x1A, 0xD9,
921 	0x4E, 0xFF, 0x82, 0x13, 0x1C, 0xCA, 0x04, 0x75,
922 };
923 
924 static uint8_t fp256_id[] = {
925 	0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8
926 };
927 
928 static uint8_t fp256_message[] = {
929 	0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20,
930 	0x64, 0x69, 0x67, 0x65, 0x73, 0x74
931 };
932 
933 static uint8_t fp256_digest[] = {
934 	0x0F, 0xB5, 0xCE, 0xF3, 0x3C, 0xB7, 0xD1, 0x35,
935 	0xA9, 0x3A, 0xC7, 0xA7, 0x89, 0x2A, 0x6D, 0x9A,
936 	0xF3, 0x1E, 0xC5, 0x38, 0xD3, 0x65, 0x1B, 0xB9,
937 	0xDF, 0x5F, 0x7F, 0x4A, 0xD8, 0x89, 0x57, 0xF1
938 };
939 
940 static uint8_t fp256_cipher[] = {
941 	0x30, 0x78, 0x02, 0x21, 0x00, 0xAB, 0xBD, 0xE8,
942 	0xE8, 0x80, 0x93, 0x36, 0x77, 0xB6, 0x44, 0x47,
943 	0x6D, 0x00, 0xF6, 0x51, 0xC8, 0x80, 0x9C, 0x9E,
944 	0xD9, 0xEC, 0x36, 0x8A, 0x60, 0x8E, 0x26, 0x2D,
945 	0x71, 0x31, 0xB7, 0xC1, 0x38, 0x02, 0x21, 0x00,
946 	0xE1, 0xBF, 0x4C, 0x13, 0x7A, 0x87, 0x40, 0x32,
947 	0xF5, 0xA1, 0xE2, 0xA1, 0x3B, 0x83, 0xBF, 0x6B,
948 	0x3F, 0xFB, 0xC8, 0x13, 0x01, 0xDE, 0xCF, 0xC0,
949 	0xF4, 0x24, 0x66, 0x52, 0x89, 0xDA, 0x6D, 0x7A,
950 	0x04, 0x20, 0x8E, 0xFD, 0x52, 0x77, 0xC9, 0xE7,
951 	0x90, 0xD1, 0x17, 0x75, 0xDE, 0xEE, 0xF3, 0xE5,
952 	0x11, 0x0C, 0x5D, 0xE1, 0x3A, 0xB6, 0x2B, 0x72,
953 	0x60, 0xE5, 0xD5, 0xF3, 0x0F, 0xE2, 0x44, 0xDB,
954 	0xBC, 0x66, 0x04, 0x0E, 0x78, 0x2D, 0xC0, 0x3D,
955 	0x38, 0xA2, 0x42, 0xA4, 0x8E, 0x8B, 0xF5, 0x06,
956 	0x32, 0xFA
957 };
958 
959 uint8_t plaintext[2048] = {
960 	0x71, 0x75, 0x83, 0x98, 0x75, 0x42, 0x51, 0x09, 0x94, 0x02, 0x13, 0x20,
961 	0x15, 0x64, 0x46, 0x32, 0x08, 0x18, 0x91, 0x82, 0x86, 0x52, 0x23, 0x93,
962 	0x44, 0x54, 0x28, 0x68, 0x78, 0x78, 0x70, 0x06, 0x42, 0x74, 0x41, 0x27,
963 	0x73, 0x38, 0x53, 0x77, 0x51, 0x96, 0x53, 0x24, 0x03, 0x88, 0x74, 0x14,
964 	0x70, 0x23, 0x88, 0x30, 0x85, 0x18, 0x89, 0x27, 0x41, 0x71, 0x61, 0x23,
965 	0x04, 0x83, 0x30, 0x57, 0x26, 0x47, 0x23, 0x75, 0x25, 0x62, 0x53, 0x80,
966 	0x38, 0x34, 0x21, 0x33, 0x34, 0x51, 0x46, 0x29, 0x94, 0x64, 0x22, 0x67,
967 	0x25, 0x45, 0x70, 0x26, 0x74, 0x39, 0x46, 0x71, 0x08, 0x85, 0x27, 0x18,
968 	0x93, 0x39, 0x72, 0x11, 0x57, 0x26, 0x88, 0x46, 0x47, 0x49, 0x86, 0x92,
969 	0x03, 0x37, 0x96, 0x40, 0x84, 0x53, 0x67, 0x47, 0x60, 0x60, 0x37, 0x67,
970 	0x02, 0x68, 0x76, 0x62, 0x42, 0x01, 0x59, 0x11, 0x01, 0x89, 0x40, 0x87,
971 	0x58, 0x20, 0x51, 0x21, 0x66, 0x26, 0x26, 0x73, 0x03, 0x06, 0x14, 0x25,
972 	0x98, 0x42, 0x44, 0x67, 0x24, 0x78, 0x71, 0x45, 0x32, 0x61, 0x20, 0x26,
973 	0x08, 0x88, 0x44, 0x26, 0x40, 0x63, 0x76, 0x23, 0x78, 0x55, 0x81, 0x97,
974 	0x95, 0x89, 0x39, 0x07, 0x14, 0x50, 0x50, 0x73, 0x07, 0x20, 0x86, 0x83,
975 	0x74, 0x57, 0x72, 0x36, 0x68, 0x61, 0x14, 0x41, 0x56, 0x49, 0x64, 0x72,
976 	0x75, 0x81, 0x47, 0x91, 0x08, 0x76, 0x47, 0x06, 0x55, 0x77, 0x61, 0x45,
977 	0x50, 0x10, 0x07, 0x46, 0x46, 0x89, 0x80, 0x07, 0x24, 0x95, 0x39, 0x43,
978 	0x03, 0x75, 0x24, 0x35, 0x57, 0x82, 0x09, 0x64, 0x29, 0x24, 0x26, 0x66,
979 	0x67, 0x29, 0x05, 0x90, 0x82, 0x02, 0x45, 0x71, 0x21, 0x34, 0x25, 0x48,
980 	0x68, 0x26, 0x01, 0x18, 0x73, 0x18, 0x46, 0x15, 0x14, 0x33, 0x28, 0x44,
981 	0x24, 0x82, 0x20, 0x12, 0x99, 0x43, 0x68, 0x43, 0x25, 0x14, 0x34, 0x33,
982 	0x31, 0x13, 0x77, 0x44, 0x95, 0x22, 0x99, 0x02, 0x30, 0x50, 0x74, 0x43,
983 	0x81, 0x78, 0x32, 0x17, 0x09, 0x85, 0x04, 0x37, 0x31, 0x98, 0x76, 0x79,
984 	0x64, 0x10, 0x39, 0x89, 0x59, 0x90, 0x50, 0x15, 0x77, 0x39, 0x28, 0x14,
985 	0x30, 0x19, 0x68, 0x77, 0x89, 0x48, 0x86, 0x16, 0x11, 0x33, 0x84, 0x56,
986 	0x10, 0x20, 0x94, 0x72, 0x41, 0x69, 0x13, 0x00, 0x56, 0x27, 0x01, 0x57,
987 	0x46, 0x65, 0x65, 0x19, 0x33, 0x07, 0x62, 0x19, 0x91, 0x60, 0x29, 0x11,
988 	0x41, 0x25, 0x88, 0x21, 0x93, 0x85, 0x87, 0x40, 0x91, 0x25, 0x32, 0x86,
989 	0x76, 0x54, 0x92, 0x52, 0x72, 0x46, 0x61, 0x84, 0x20, 0x14, 0x65, 0x83,
990 	0x69, 0x90, 0x80, 0x11, 0x35, 0x70, 0x42, 0x64, 0x74, 0x85, 0x15, 0x23,
991 	0x06, 0x55, 0x67, 0x49, 0x76, 0x47, 0x11, 0x95, 0x00, 0x85, 0x05, 0x12,
992 	0x58, 0x53, 0x25, 0x73, 0x62, 0x81, 0x63, 0x82, 0x32, 0x75, 0x16, 0x48,
993 	0x04, 0x96, 0x75, 0x16, 0x43, 0x83, 0x41, 0x85, 0x95, 0x67, 0x27, 0x83,
994 	0x22, 0x43, 0x02, 0x27, 0x69, 0x62, 0x78, 0x50, 0x57, 0x66, 0x99, 0x89,
995 	0x05, 0x06, 0x35, 0x86, 0x37, 0x27, 0x48, 0x46, 0x50, 0x80, 0x96, 0x40,
996 	0x42, 0x36, 0x21, 0x54, 0x49, 0x18, 0x63, 0x38, 0x45, 0x76, 0x23, 0x20,
997 	0x28, 0x06, 0x17, 0x32, 0x58, 0x50, 0x49, 0x54, 0x29, 0x46, 0x18, 0x12,
998 	0x17, 0x50, 0x02, 0x80, 0x99, 0x53, 0x15, 0x02, 0x07, 0x14, 0x19, 0x60,
999 	0x56, 0x43, 0x76, 0x71, 0x49, 0x99, 0x54, 0x83, 0x28, 0x94, 0x30, 0x30,
1000 	0x57, 0x05, 0x89, 0x80, 0x11, 0x03, 0x78, 0x35, 0x73, 0x52, 0x67, 0x39,
1001 	0x67, 0x07, 0x04, 0x49, 0x23, 0x83, 0x86, 0x89, 0x57, 0x71, 0x08, 0x41,
1002 	0x15, 0x97, 0x19, 0x72, 0x03, 0x27, 0x72, 0x52, 0x66, 0x67, 0x99, 0x15,
1003 	0x33, 0x64, 0x69, 0x78, 0x07, 0x83, 0x53, 0x71, 0x21, 0x50, 0x05, 0x48,
1004 	0x59, 0x85, 0x01, 0x36, 0x65, 0x02, 0x52, 0x01, 0x09, 0x49, 0x28, 0x77,
1005 	0x25, 0x35, 0x67, 0x77, 0x81, 0x64, 0x24, 0x29, 0x42, 0x32, 0x59, 0x22,
1006 	0x93, 0x48, 0x59, 0x03, 0x85, 0x87, 0x15, 0x55, 0x23, 0x42, 0x58, 0x17,
1007 	0x18, 0x37, 0x70, 0x83, 0x80, 0x12, 0x44, 0x83, 0x45, 0x70, 0x55, 0x86,
1008 	0x03, 0x23, 0x01, 0x56, 0x94, 0x12, 0x41, 0x34, 0x82, 0x90, 0x83, 0x46,
1009 	0x17, 0x56, 0x66, 0x96, 0x75, 0x80, 0x59, 0x07, 0x15, 0x84, 0x19, 0x52,
1010 	0x37, 0x44, 0x44, 0x83, 0x72, 0x43, 0x25, 0x42, 0x26, 0x86, 0x87, 0x86,
1011 	0x91, 0x62, 0x14, 0x90, 0x34, 0x26, 0x14, 0x33, 0x59, 0x70, 0x73, 0x15,
1012 	0x49, 0x40, 0x66, 0x88, 0x42, 0x66, 0x16, 0x42, 0x55, 0x92, 0x82, 0x06,
1013 	0x20, 0x96, 0x36, 0x96, 0x13, 0x07, 0x84, 0x94, 0x37, 0x66, 0x62, 0x78,
1014 	0x60, 0x58, 0x80, 0x50, 0x69, 0x03, 0x97, 0x16, 0x64, 0x45, 0x21, 0x39,
1015 	0x79, 0x28, 0x52, 0x17, 0x14, 0x77, 0x31, 0x60, 0x86, 0x70, 0x09, 0x53,
1016 	0x39, 0x32, 0x52, 0x31, 0x35, 0x79, 0x24, 0x70, 0x25, 0x48, 0x23, 0x49,
1017 	0x10, 0x64, 0x54, 0x30, 0x82, 0x34, 0x51, 0x20, 0x46, 0x04, 0x29, 0x25,
1018 	0x65, 0x09, 0x55, 0x30, 0x30, 0x52, 0x85, 0x32, 0x79, 0x19, 0x59, 0x07,
1019 	0x05, 0x12, 0x11, 0x03, 0x21, 0x90, 0x36, 0x62, 0x23, 0x67, 0x36, 0x67,
1020 	0x47, 0x39, 0x92, 0x88, 0x45, 0x43, 0x71, 0x16, 0x48, 0x27, 0x68, 0x39,
1021 	0x98, 0x38, 0x03, 0x31, 0x85, 0x10, 0x06, 0x95, 0x54, 0x79, 0x28, 0x79,
1022 	0x56, 0x16, 0x65, 0x69, 0x00, 0x54, 0x09, 0x91, 0x06, 0x10, 0x10, 0x86,
1023 	0x75, 0x01, 0x02, 0x71, 0x01, 0x09, 0x32, 0x94, 0x66, 0x43, 0x68, 0x36,
1024 	0x19, 0x52, 0x02, 0x04, 0x45, 0x49, 0x40, 0x94, 0x07, 0x87, 0x86, 0x79,
1025 	0x84, 0x07, 0x75, 0x30, 0x73, 0x02, 0x57, 0x81, 0x65, 0x02, 0x28, 0x96,
1026 	0x57, 0x07, 0x70, 0x34, 0x39, 0x35, 0x75, 0x19, 0x47, 0x57, 0x08, 0x75,
1027 	0x86, 0x57, 0x11, 0x32, 0x09, 0x47, 0x83, 0x93, 0x20, 0x94, 0x90, 0x88,
1028 	0x39, 0x63, 0x22, 0x88, 0x54, 0x54, 0x95, 0x75, 0x67, 0x26, 0x02, 0x49,
1029 	0x26, 0x17, 0x35, 0x16, 0x27, 0x65, 0x64, 0x26, 0x93, 0x92, 0x77, 0x85,
1030 	0x84, 0x40, 0x59, 0x29, 0x49, 0x69, 0x94, 0x71, 0x72, 0x21, 0x55, 0x03,
1031 	0x19, 0x74, 0x09, 0x40, 0x57, 0x68, 0x41, 0x19, 0x11, 0x21, 0x63, 0x56,
1032 	0x29, 0x77, 0x57, 0x81, 0x44, 0x40, 0x76, 0x77, 0x02, 0x71, 0x66, 0x35,
1033 	0x89, 0x02, 0x64, 0x51, 0x61, 0x02, 0x46, 0x91, 0x38, 0x93, 0x62, 0x57,
1034 	0x18, 0x98, 0x12, 0x87, 0x29, 0x48, 0x65, 0x39, 0x99, 0x45, 0x54, 0x69,
1035 	0x51, 0x16, 0x25, 0x75, 0x60, 0x70, 0x33, 0x72, 0x01, 0x60, 0x26, 0x51,
1036 	0x44, 0x14, 0x39, 0x12, 0x95, 0x48, 0x87, 0x33, 0x90, 0x16, 0x42, 0x78,
1037 	0x48, 0x58, 0x96, 0x93, 0x75, 0x23, 0x07, 0x13, 0x86, 0x07, 0x96, 0x30,
1038 	0x22, 0x82, 0x91, 0x36, 0x72, 0x16, 0x48, 0x77, 0x64, 0x99, 0x07, 0x34,
1039 	0x78, 0x60, 0x61, 0x13, 0x48, 0x93, 0x46, 0x62, 0x48, 0x38, 0x37, 0x96,
1040 	0x58, 0x64, 0x39, 0x90, 0x69, 0x46, 0x81, 0x98, 0x61, 0x89, 0x15, 0x59,
1041 	0x78, 0x98, 0x21, 0x34, 0x00, 0x69, 0x97, 0x80, 0x28, 0x81, 0x53, 0x49,
1042 	0x79, 0x53, 0x92, 0x20, 0x29, 0x40, 0x70, 0x06, 0x09, 0x55, 0x99, 0x41,
1043 	0x51, 0x35, 0x55, 0x27, 0x39, 0x06, 0x29, 0x83, 0x66, 0x03, 0x68, 0x14,
1044 	0x11, 0x69, 0x95, 0x51, 0x71, 0x55, 0x24, 0x60, 0x52, 0x58, 0x88, 0x11,
1045 	0x88, 0x25, 0x37, 0x86, 0x01, 0x52, 0x93, 0x52, 0x02, 0x24, 0x91, 0x58,
1046 	0x56, 0x37, 0x50, 0x88, 0x39, 0x09, 0x61, 0x19, 0x08, 0x86, 0x29, 0x51,
1047 	0x63, 0x38, 0x81, 0x14, 0x75, 0x75, 0x39, 0x99, 0x22, 0x04, 0x32, 0x63,
1048 	0x14, 0x68, 0x41, 0x79, 0x09, 0x57, 0x87, 0x29, 0x26, 0x94, 0x05, 0x71,
1049 	0x82, 0x41, 0x26, 0x98, 0x68, 0x18, 0x55, 0x42, 0x78, 0x05, 0x74, 0x17,
1050 	0x34, 0x34, 0x07, 0x62, 0x94, 0x72, 0x21, 0x08, 0x54, 0x72, 0x21, 0x08,
1051 	0x31, 0x53, 0x82, 0x35, 0x27, 0x40, 0x85, 0x77, 0x08, 0x52, 0x58, 0x48,
1052 	0x03, 0x86, 0x65, 0x51, 0x96, 0x43, 0x89, 0x19, 0x15, 0x08, 0x49, 0x62,
1053 	0x57, 0x46, 0x17, 0x68, 0x56, 0x04, 0x70, 0x63, 0x75, 0x88, 0x13, 0x27,
1054 	0x87, 0x44, 0x46, 0x27, 0x02, 0x97, 0x71, 0x07, 0x40, 0x17, 0x24, 0x61,
1055 	0x16, 0x94, 0x86, 0x85, 0x67, 0x58, 0x87, 0x92, 0x02, 0x84, 0x75, 0x19,
1056 	0x43, 0x60, 0x68, 0x03, 0x54, 0x75, 0x33, 0x17, 0x97, 0x75, 0x12, 0x62,
1057 	0x43, 0x08, 0x35, 0x75, 0x32, 0x21, 0x08, 0x82, 0x78, 0x04, 0x74, 0x09,
1058 	0x13, 0x48, 0x63, 0x68, 0x67, 0x09, 0x08, 0x50, 0x11, 0x71, 0x64, 0x72,
1059 	0x63, 0x76, 0x21, 0x62, 0x80, 0x57, 0x19, 0x15, 0x26, 0x88, 0x02, 0x26,
1060 	0x83, 0x17, 0x61, 0x76, 0x28, 0x10, 0x22, 0x37, 0x56, 0x71, 0x51, 0x60,
1061 	0x12, 0x79, 0x24, 0x83, 0x78, 0x47, 0x78, 0x20, 0x52, 0x27, 0x19, 0x88,
1062 	0x81, 0x04, 0x70, 0x20, 0x25, 0x10, 0x04, 0x01, 0x72, 0x57, 0x30, 0x93,
1063 	0x96, 0x23, 0x02, 0x94, 0x61, 0x44, 0x17, 0x65, 0x77, 0x60, 0x27, 0x43,
1064 	0x24, 0x59, 0x46, 0x76, 0x00, 0x11, 0x31, 0x99, 0x41, 0x48, 0x75, 0x32,
1065 	0x05, 0x15, 0x45, 0x31, 0x57, 0x89, 0x10, 0x47, 0x53, 0x14, 0x66, 0x54,
1066 	0x60, 0x55, 0x36, 0x93, 0x30, 0x03, 0x63, 0x80, 0x65, 0x43, 0x17, 0x36,
1067 	0x18, 0x64, 0x21, 0x38, 0x16, 0x19, 0x19, 0x51, 0x73, 0x80, 0x38, 0x27,
1068 	0x30, 0x89, 0x13, 0x43, 0x54, 0x11, 0x78, 0x05, 0x24, 0x38, 0x83, 0x56,
1069 	0x50, 0x59, 0x12, 0x47, 0x69, 0x70, 0x70, 0x91, 0x28, 0x02, 0x08, 0x91,
1070 	0x66, 0x09, 0x31, 0x65, 0x46, 0x20, 0x04, 0x85, 0x89, 0x53, 0x91, 0x42,
1071 	0x34, 0x09, 0x36, 0x92, 0x42, 0x06, 0x87, 0x88, 0x23, 0x54, 0x87, 0x85,
1072 	0x52, 0x98, 0x95, 0x76, 0x13, 0x50, 0x59, 0x89, 0x18, 0x14, 0x17, 0x47,
1073 	0x10, 0x97, 0x39, 0x14, 0x33, 0x79, 0x83, 0x62, 0x55, 0x18, 0x30, 0x83,
1074 	0x03, 0x45, 0x38, 0x37, 0x35, 0x20, 0x94, 0x84, 0x89, 0x80, 0x89, 0x10,
1075 	0x48, 0x77, 0x33, 0x36, 0x50, 0x07, 0x93, 0x02, 0x45, 0x42, 0x91, 0x12,
1076 	0x98, 0x09, 0x77, 0x20, 0x31, 0x95, 0x10, 0x29, 0x89, 0x02, 0x38, 0x92,
1077 	0x90, 0x19, 0x51, 0x10, 0x19, 0x82, 0x23, 0x68, 0x06, 0x00, 0x67, 0x50,
1078 	0x25, 0x03, 0x41, 0x69, 0x53, 0x42, 0x23, 0x99, 0x29, 0x21, 0x63, 0x22,
1079 	0x72, 0x54, 0x72, 0x40, 0x23, 0x39, 0x74, 0x92, 0x53, 0x28, 0x67, 0x56,
1080 	0x46, 0x84, 0x59, 0x85, 0x10, 0x92, 0x31, 0x20, 0x39, 0x95, 0x65, 0x15,
1081 	0x76, 0x35, 0x37, 0x21, 0x98, 0x41, 0x68, 0x74, 0x94, 0x94, 0x86, 0x90,
1082 	0x35, 0x07, 0x06, 0x38, 0x78, 0x32, 0x00, 0x60, 0x86, 0x12, 0x34, 0x65,
1083 	0x67, 0x35, 0x76, 0x94, 0x78, 0x22, 0x99, 0x42, 0x82, 0x40, 0x05, 0x74,
1084 	0x18, 0x59, 0x03, 0x83, 0x89, 0x05, 0x19, 0x28, 0x88, 0x35, 0x59, 0x10,
1085 	0x12, 0x96, 0x48, 0x67, 0x59, 0x87, 0x26, 0x85, 0x74, 0x64, 0x78, 0x56,
1086 	0x91, 0x81, 0x45, 0x90, 0x21, 0x80, 0x32, 0x19, 0x61, 0x38, 0x61, 0x70,
1087 	0x35, 0x08, 0x93, 0x53, 0x21, 0x95, 0x08, 0x27, 0x90, 0x28, 0x94, 0x27,
1088 	0x35, 0x78, 0x03, 0x57, 0x74, 0x84, 0x73, 0x63, 0x27, 0x98, 0x14, 0x21,
1089 	0x22, 0x36, 0x75, 0x31, 0x81, 0x65, 0x85, 0x51, 0x02, 0x45, 0x18, 0x06,
1090 	0x39, 0x13, 0x29, 0x29, 0x73, 0x26, 0x99, 0x51, 0x38, 0x43, 0x35, 0x58,
1091 	0x70, 0x92, 0x32, 0x13, 0x80, 0x16, 0x26, 0x44, 0x22, 0x28, 0x05, 0x45,
1092 	0x86, 0x90, 0x38, 0x19, 0x40, 0x06, 0x30, 0x56, 0x94, 0x09, 0x02, 0x02,
1093 	0x96, 0x29, 0x22, 0x44, 0x87, 0x38, 0x09, 0x95, 0x58, 0x46, 0x42, 0x78,
1094 	0x72, 0x77, 0x86, 0x31, 0x97, 0x19, 0x86, 0x51, 0x73, 0x76, 0x63, 0x98,
1095 	0x39, 0x40, 0x20, 0x20, 0x67, 0x42, 0x55, 0x50, 0x63, 0x76, 0x81, 0x87,
1096 	0x13, 0x81, 0x19, 0x54, 0x11, 0x77, 0x90, 0x26, 0x47, 0x25, 0x92, 0x88,
1097 	0x18, 0x56, 0x23, 0x73, 0x91, 0x52, 0x39, 0x08, 0x59, 0x51, 0x81, 0x57,
1098 	0x78, 0x17, 0x13, 0x90, 0x90, 0x50, 0x65, 0x59, 0x99, 0x77, 0x42, 0x28,
1099 	0x21, 0x59, 0x97, 0x64, 0x25, 0x17, 0x92, 0x24, 0x50, 0x00, 0x28, 0x40,
1100 	0x85, 0x33, 0x78, 0x86, 0x79, 0x40, 0x28, 0x30, 0x14, 0x12, 0x01, 0x72,
1101 	0x41, 0x43, 0x06, 0x87, 0x67, 0x31, 0x66, 0x77, 0x07, 0x50, 0x55, 0x50,
1102 	0x22, 0x80, 0x42, 0x06, 0x38, 0x01, 0x63, 0x66, 0x70, 0x12, 0x52, 0x91,
1103 	0x90, 0x97, 0x21, 0x28, 0x22, 0x65, 0x02, 0x80, 0x72, 0x31, 0x17, 0x76,
1104 	0x35, 0x16, 0x03, 0x56, 0x59, 0x93, 0x36, 0x37, 0x67, 0x54, 0x46, 0x87,
1105 	0x29, 0x01, 0x30, 0x80, 0x47, 0x47, 0x31, 0x98, 0x34, 0x30, 0x23, 0x86,
1106 	0x86, 0x14, 0x05, 0x75, 0x09, 0x88, 0x77, 0x92, 0x59, 0x43, 0x98, 0x72,
1107 	0x55, 0x54, 0x25, 0x59, 0x22, 0x27, 0x21, 0x62, 0x97, 0x10, 0x61, 0x73,
1108 	0x86, 0x95, 0x99, 0x10, 0x62, 0x35, 0x25, 0x16, 0x62, 0x60, 0x51, 0x48,
1109 	0x69, 0x69, 0x92, 0x27, 0x19, 0x43, 0x40, 0x52, 0x70, 0x23, 0x37, 0x28,
1110 	0x73, 0x10, 0x32, 0x55, 0x85, 0x46, 0x97, 0x59, 0x88, 0x48, 0x54, 0x06,
1111 	0x58, 0x04, 0x82, 0x98, 0x88, 0x34, 0x05, 0x41, 0x94, 0x44, 0x35, 0x10,
1112 	0x96, 0x48, 0x21, 0x17, 0x24, 0x40, 0x26, 0x15, 0x49, 0x28, 0x12, 0x17,
1113 	0x10, 0x17, 0x91, 0x42, 0x84, 0x15, 0x83, 0x36, 0x29, 0x49, 0x92, 0x77,
1114 	0x74, 0x11, 0x72, 0x97, 0x64, 0x53, 0x23, 0x29, 0x16, 0x35, 0x22, 0x10,
1115 	0x87, 0x07, 0x44, 0x78, 0x18, 0x19, 0x79, 0x03, 0x58, 0x24, 0x15, 0x63,
1116 	0x55, 0x75, 0x56, 0x14, 0x63, 0x65, 0x86, 0x61, 0x92, 0x94, 0x30, 0x92,
1117 	0x69, 0x78, 0x40, 0x95, 0x19, 0x81, 0x41, 0x66, 0x97, 0x00, 0x17, 0x37,
1118 	0x20, 0x82, 0x14, 0x26, 0x42, 0x63, 0x84, 0x20, 0x96, 0x11, 0x68, 0x37,
1119 	0x60, 0x28, 0x69, 0x85, 0x45, 0x04, 0x62, 0x20, 0x49, 0x39, 0x74, 0x84,
1120 	0x60, 0x23, 0x38, 0x33, 0x42, 0x49, 0x38, 0x82, 0x30, 0x63, 0x21, 0x51,
1121 	0x69, 0x09, 0x05, 0x55, 0x78, 0x90, 0x68, 0x69, 0x22, 0x20, 0x17, 0x26,
1122 	0x54, 0x01, 0x10, 0x04, 0x68, 0x19, 0x88, 0x40, 0x91, 0x74, 0x81, 0x29,
1123 	0x07, 0x45, 0x33, 0x77, 0x12, 0x47, 0x08, 0x60, 0x09, 0x42, 0x84, 0x15,
1124 	0x63, 0x92, 0x64, 0x77, 0x07, 0x44, 0x11, 0x07, 0x79, 0x81, 0x24, 0x05,
1125 	0x21, 0x60, 0x81, 0x70, 0x66, 0x36, 0x69, 0x68, 0x45, 0x01, 0x11, 0x95,
1126 	0x67, 0x95, 0x55, 0x07, 0x96, 0x63, 0x84, 0x04, 0x74, 0x72, 0x61, 0x91,
1127 	0x60, 0x09, 0x90, 0x14, 0x34, 0x94, 0x06, 0x12, 0x01, 0x94, 0x40, 0x14,
1128 	0x12, 0x53, 0x64, 0x81, 0x75, 0x99, 0x36, 0x99, 0x11, 0x69, 0x95, 0x51,
1129 	0x71, 0x55, 0x24, 0x60, 0x52, 0x58, 0x88, 0x11, 0x88, 0x25, 0x37, 0x86,
1130 	0x66, 0x36, 0x69, 0x68, 0x45, 0x01, 0x11, 0x95
1131 };
1132 
1133 /* cipher text */
1134 uint8_t ciphertext[2048] = {
1135 	0xE2, 0x19, 0x24, 0x56, 0x13, 0x59, 0xA6, 0x5D, 0xDF, 0xD0, 0x72, 0xAA,
1136 	0x23, 0xC7, 0x36, 0x3A, 0xBB, 0x3E, 0x8B, 0x64, 0xD5, 0xBF, 0xDE, 0x65,
1137 	0xA2, 0x75, 0xD9, 0x45, 0x6C, 0x3C, 0xD2, 0x6A, 0xC7, 0xD0, 0x9A, 0xD0,
1138 	0x87, 0xB8, 0xE4, 0x94, 0x11, 0x62, 0x5A, 0xC3, 0xC3, 0x01, 0xA3, 0x86,
1139 	0xBC, 0xBC, 0x9C, 0xC0, 0x81, 0x9F, 0xBF, 0x5C, 0x6F, 0x3F, 0x13, 0xF1,
1140 	0xAE, 0xCF, 0x26, 0xB3, 0xBC, 0x49, 0xD6, 0x3B, 0x7A, 0x2E, 0x99, 0x9E,
1141 	0x1B, 0x04, 0x50, 0x6C, 0x48, 0x6B, 0x4E, 0x72, 0xFC, 0xC8, 0xA7, 0x0C,
1142 	0x2C, 0xD9, 0xED, 0xE4, 0x82, 0xC4, 0x81, 0xA6, 0xB4, 0xCC, 0xAD, 0x10,
1143 	0xF3, 0x1C, 0x39, 0x05, 0x41, 0x2D, 0x57, 0x32, 0xE7, 0x16, 0xF8, 0x4D,
1144 	0xF0, 0xDE, 0x40, 0x5B, 0x5F, 0x80, 0xDC, 0xA7, 0xC3, 0x2D, 0x3D, 0x9E,
1145 	0x27, 0xD4, 0xE8, 0x10, 0x8E, 0xEB, 0xA5, 0x68, 0x6F, 0x3D, 0xC0, 0x44,
1146 	0xE7, 0x77, 0x73, 0xB9, 0x92, 0x8E, 0xA2, 0x26, 0x5C, 0x6F, 0x33, 0x4B,
1147 	0x0B, 0xEF, 0x37, 0x55, 0xBE, 0xEC, 0x98, 0x83, 0x1E, 0xDF, 0xB2, 0x9E,
1148 	0x5D, 0x1D, 0x78, 0x14, 0xD7, 0x85, 0x0E, 0xF8, 0x12, 0x30, 0x8E, 0x5D,
1149 	0x08, 0x77, 0x0B, 0x2E, 0x9B, 0xF9, 0xA6, 0x72, 0xD2, 0x41, 0xC1, 0x8E,
1150 	0x6B, 0x5E, 0x11, 0x85, 0x22, 0x6E, 0xE4, 0xA3, 0xEA, 0x4C, 0x91, 0xE1,
1151 	0x7D, 0xD0, 0xEB, 0x9F, 0xD9, 0xD7, 0x05, 0x77, 0xD9, 0xA1, 0xC2, 0xFD,
1152 	0x41, 0x63, 0x51, 0xB4, 0x7A, 0x1F, 0x21, 0xF0, 0xBF, 0x11, 0x4D, 0x9B,
1153 	0x97, 0xAB, 0xB4, 0x94, 0x36, 0x34, 0xC9, 0x2D, 0x8B, 0xE2, 0x61, 0xCF,
1154 	0xAF, 0x69, 0xD5, 0x5C, 0xE9, 0xED, 0xE3, 0xA0, 0x69, 0xD3, 0xE5, 0xAE,
1155 	0x67, 0x6C, 0xC7, 0x11, 0xB1, 0x21, 0x96, 0xD6, 0xDB, 0xA8, 0x1D, 0xC9,
1156 	0x83, 0x0B, 0xE2, 0xC6, 0x6E, 0x94, 0xE9, 0x50, 0x12, 0x9B, 0x01, 0x72,
1157 	0xAA, 0xFD, 0x8B, 0x7C, 0xEC, 0x0D, 0x01, 0xA4, 0x5D, 0x00, 0xE9, 0x79,
1158 	0x58, 0xF5, 0x67, 0xF9, 0x61, 0xC3, 0x11, 0xB4, 0x7E, 0x76, 0x0A, 0x4C,
1159 	0x60, 0xD6, 0xBD, 0xC8, 0x31, 0xD3, 0x0C, 0xD0, 0x5B, 0xDF, 0x7B, 0x05,
1160 	0x9A, 0xBB, 0xC6, 0x2E, 0x9F, 0xF8, 0x18, 0x80, 0x6D, 0x1B, 0x21, 0xE5,
1161 	0xAC, 0x75, 0xBC, 0x0D, 0x72, 0x51, 0x61, 0xD7, 0xEA, 0xA2, 0xAC, 0x0E,
1162 	0xC1, 0xE7, 0x49, 0x37, 0xE7, 0x7C, 0xDE, 0xBD, 0x56, 0x00, 0x44, 0x6D,
1163 	0xAB, 0x81, 0x2B, 0x26, 0x4A, 0xAA, 0x60, 0xE6, 0x43, 0x8D, 0x88, 0x1C,
1164 	0x48, 0x55, 0x53, 0x25, 0xE8, 0x3C, 0x46, 0xF0, 0xA6, 0x33, 0x2D, 0xA2,
1165 	0xDC, 0x99, 0x57, 0x38, 0x59, 0xCF, 0x53, 0xFA, 0x3E, 0x78, 0x46, 0xA0,
1166 	0xA9, 0x50, 0x12, 0x72, 0xAC, 0x15, 0xC6, 0xA7, 0x42, 0x0F, 0x59, 0x6E,
1167 	0xEA, 0xB0, 0x3D, 0xB8, 0x94, 0x32, 0xD1, 0xB6, 0xE8, 0x90, 0x06, 0x66,
1168 	0x0C, 0xDE, 0xA9, 0x35, 0xC7, 0xDD, 0x72, 0x42, 0x38, 0x33, 0x32, 0x2F,
1169 	0x2C, 0x3F, 0xBD, 0x01, 0xD6, 0x47, 0xFC, 0x89, 0x31, 0x38, 0x2E, 0xB9,
1170 	0x6B, 0xED, 0xDB, 0x85, 0x38, 0xB1, 0xA5, 0x50, 0xFA, 0xFB, 0xA7, 0x31,
1171 	0xEC, 0xB6, 0xBB, 0x82, 0x50, 0xB4, 0x88, 0x5C, 0xED, 0xE5, 0x4B, 0x5B,
1172 	0xBF, 0xB3, 0x18, 0xFB, 0xAD, 0x24, 0x41, 0x55, 0x80, 0xCD, 0xA3, 0xA1,
1173 	0xD6, 0xD5, 0xB6, 0x06, 0xE9, 0x85, 0x12, 0x33, 0x52, 0x56, 0xF1, 0xB7,
1174 	0xDC, 0x57, 0x9E, 0xB4, 0x00, 0x1E, 0xCB, 0x62, 0x13, 0x4C, 0x90, 0x9A,
1175 	0x9D, 0x64, 0x80, 0xD1, 0x5E, 0xB3, 0xCB, 0x8A, 0x73, 0x4E, 0x7B, 0xBE,
1176 	0x4D, 0xA7, 0xF7, 0xB7, 0x9C, 0x1C, 0x7F, 0x27, 0x1E, 0x7F, 0x58, 0xB2,
1177 	0x74, 0xAF, 0x94, 0x0E, 0x19, 0x23, 0xE1, 0x6B, 0xD8, 0x20, 0x4F, 0x2C,
1178 	0x13, 0xE8, 0x8C, 0x37, 0x46, 0x27, 0x55, 0x68, 0xDA, 0x3F, 0x7A, 0xC6,
1179 	0xEF, 0x87, 0x1D, 0x3B, 0x95, 0x43, 0x5E, 0x75, 0xE0, 0x02, 0x22, 0x0E,
1180 	0x11, 0x60, 0xAB, 0x1A, 0x91, 0x94, 0xC4, 0xFA, 0xD9, 0x92, 0x2B, 0xE5,
1181 	0x03, 0xE0, 0x7A, 0x17, 0x5C, 0x67, 0x22, 0xB3, 0xCB, 0x77, 0x9E, 0x22,
1182 	0x01, 0x5F, 0x5D, 0x64, 0xE4, 0x2F, 0xC4, 0x61, 0xCA, 0xC7, 0xFD, 0x20,
1183 	0x24, 0x30, 0xAB, 0x3F, 0x1A, 0x08, 0x85, 0x08, 0x39, 0xDE, 0x19, 0x1C,
1184 	0x1A, 0xEA, 0xB8, 0x7E, 0xE5, 0xBC, 0xD9, 0xB2, 0x59, 0xC8, 0x81, 0x02,
1185 	0x1D, 0x5C, 0xC0, 0xDD, 0x8D, 0x56, 0xB6, 0x2E, 0x85, 0x26, 0xA8, 0x34,
1186 	0x92, 0x36, 0x9A, 0x84, 0xBD, 0x27, 0xC1, 0x9D, 0x5E, 0x14, 0xC4, 0xB7,
1187 	0x02, 0xA8, 0xC9, 0xC2, 0xAD, 0xDC, 0x98, 0x42, 0x51, 0xDE, 0x94, 0x28,
1188 	0x39, 0xEF, 0xE9, 0x7F, 0x05, 0x3F, 0x1D, 0x67, 0x72, 0x04, 0xCF, 0x7D,
1189 	0x38, 0x49, 0xC4, 0x59, 0xA5, 0xF6, 0xB6, 0x02, 0x31, 0xD0, 0x05, 0x74,
1190 	0x4B, 0xD0, 0x89, 0xD1, 0x7F, 0xC6, 0xDB, 0x7E, 0x75, 0x62, 0xA3, 0xC2,
1191 	0x2E, 0xB0, 0xCC, 0x9A, 0xD3, 0xA4, 0x14, 0xB6, 0xF2, 0x91, 0x44, 0x3F,
1192 	0x84, 0xE0, 0x90, 0x4A, 0x6A, 0x34, 0x8C, 0x35, 0x3C, 0xB2, 0xA9, 0x35,
1193 	0x88, 0xB0, 0x88, 0xF8, 0x7E, 0x5C, 0xD2, 0x08, 0x5E, 0x08, 0x15, 0x03,
1194 	0xBC, 0xF5, 0x42, 0x6B, 0x28, 0xED, 0xDD, 0xAA, 0x4D, 0x78, 0x10, 0x31,
1195 	0x32, 0xA2, 0xC5, 0xCA, 0xEE, 0x9A, 0x62, 0x52, 0x3E, 0x48, 0x83, 0xA4,
1196 	0xCA, 0xD4, 0xC7, 0xA7, 0xA5, 0x3F, 0x44, 0x1C, 0x86, 0xAD, 0x52, 0x7D,
1197 	0x80, 0x1D, 0x9E, 0x32, 0x3F, 0x2A, 0x2E, 0xD8, 0x89, 0xC1, 0xA4, 0xD6,
1198 	0xC1, 0x90, 0x2E, 0x1A, 0x20, 0x4B, 0x87, 0x32, 0x35, 0x25, 0xD8, 0xB8,
1199 	0x57, 0x15, 0x85, 0x1E, 0x3C, 0x8A, 0xDC, 0x1A, 0x49, 0x3D, 0x70, 0x35,
1200 	0x99, 0xAA, 0xDE, 0x2C, 0xD4, 0xAF, 0x79, 0x72, 0xAB, 0x97, 0x84, 0x20,
1201 	0xB6, 0x4F, 0x34, 0x3F, 0xEA, 0xAE, 0x5F, 0x8F, 0x3A, 0x42, 0xDB, 0x68,
1202 	0xE5, 0x84, 0x63, 0x2E, 0x7A, 0x0E, 0xBD, 0x28, 0x6A, 0x24, 0xB6, 0xAB,
1203 	0xE4, 0xAC, 0x20, 0x7C, 0x81, 0xD0, 0x69, 0x89, 0xF8, 0xDE, 0xA9, 0x02,
1204 	0xFD, 0x1F, 0x08, 0xDA, 0x26, 0xC2, 0x24, 0xCA, 0xEB, 0x44, 0x16, 0x8D,
1205 	0x55, 0x5F, 0xB9, 0xA9, 0x5A, 0x18, 0x50, 0xB1, 0x54, 0xF1, 0xBF, 0x06,
1206 	0xC2, 0xB0, 0x95, 0xC2, 0xAE, 0xE5, 0xBF, 0xB3, 0xFD, 0xC9, 0xBF, 0x75,
1207 	0x42, 0x7D, 0xA0, 0xA8, 0x95, 0xF9, 0x62, 0x3B, 0x9C, 0x0D, 0x81, 0xF3,
1208 	0x9C, 0xFC, 0x19, 0x5B, 0xF7, 0xD1, 0x9C, 0xF0, 0xAA, 0xFE, 0xEF, 0x35,
1209 	0x1E, 0x81, 0x9E, 0x02, 0x46, 0x52, 0x9B, 0x99, 0x0D, 0x12, 0x8B, 0x71,
1210 	0x6C, 0x32, 0xB5, 0x23, 0x17, 0x03, 0xC5, 0xB0, 0xA1, 0xC3, 0x4B, 0x10,
1211 	0x01, 0x4D, 0x4C, 0x4A, 0x46, 0x8F, 0xD9, 0x79, 0xBB, 0x10, 0x44, 0xB0,
1212 	0x3C, 0x7D, 0x46, 0xFD, 0x38, 0xDF, 0xAF, 0x6E, 0x58, 0x7D, 0xE1, 0xEB,
1213 	0xBB, 0x8C, 0xDC, 0x79, 0xDA, 0x41, 0xD1, 0x8B, 0x0B, 0x11, 0x4F, 0xE5,
1214 	0x1C, 0xC1, 0x59, 0xA7, 0x1E, 0x5A, 0xC1, 0xEE, 0x27, 0x33, 0xC8, 0x55,
1215 	0xA9, 0x32, 0xEA, 0xF7, 0x45, 0xB0, 0x08, 0xE9, 0x32, 0xDF, 0x70, 0x24,
1216 	0x82, 0xD3, 0x2A, 0x3E, 0x4F, 0x42, 0xB9, 0x25, 0x10, 0xD1, 0x73, 0xFA,
1217 	0xFD, 0xC1, 0x84, 0xF2, 0xF7, 0x0E, 0xBC, 0x9D, 0x90, 0x39, 0xD7, 0xFD,
1218 	0x45, 0x77, 0xBA, 0x29, 0xF9, 0x87, 0x45, 0xC1, 0x32, 0x44, 0xB0, 0x27,
1219 	0x6B, 0xFC, 0x8A, 0xFE, 0x00, 0x6F, 0x61, 0x98, 0xD0, 0x60, 0xC8, 0x10,
1220 	0xE5, 0xBC, 0x88, 0x13, 0x45, 0x44, 0xA5, 0xEB, 0x6E, 0xCB, 0x11, 0xAF,
1221 	0x30, 0xDC, 0x8B, 0xF8, 0x30, 0x46, 0xDA, 0x76, 0xF1, 0xE5, 0x14, 0x51,
1222 	0x8A, 0x02, 0x5A, 0x5A, 0xAA, 0x7B, 0x2D, 0x57, 0x0A, 0x5C, 0x73, 0xD1,
1223 	0x88, 0xCE, 0xBE, 0x3D, 0x06, 0x3F, 0x48, 0x1D, 0x44, 0x24, 0x6F, 0x4F,
1224 	0x7F, 0x6A, 0xF2, 0x16, 0x34, 0x35, 0x38, 0x73, 0x8A, 0xE5, 0x25, 0xF4,
1225 	0x34, 0x9E, 0x5B, 0x40, 0x90, 0x04, 0x57, 0x1B, 0x57, 0x75, 0x8F, 0xEA,
1226 	0x1C, 0xF8, 0x7A, 0x68, 0x01, 0x1C, 0x8D, 0xBA, 0xF4, 0xE3, 0xD3, 0x8F,
1227 	0x7F, 0xE4, 0x50, 0x35, 0x6B, 0x6B, 0xF6, 0xFC, 0x5F, 0x9B, 0x98, 0x78,
1228 	0x16, 0x68, 0x72, 0x74, 0x71, 0x78, 0x25, 0x68, 0xE5, 0x1E, 0x66, 0xE2,
1229 	0x4E, 0xC8, 0xDB, 0x92, 0x8E, 0x88, 0x64, 0x74, 0xDE, 0xDB, 0x85, 0x56,
1230 	0x9F, 0xF9, 0xC4, 0x29, 0x54, 0xA8, 0xFB, 0xBA, 0xEA, 0xAB, 0xC7, 0x49,
1231 	0x5C, 0x6C, 0xD7, 0x61, 0x8C, 0xE2, 0x2B, 0xF5, 0xA0, 0xA8, 0xD2, 0x41,
1232 	0xC0, 0x54, 0xAB, 0xA7, 0x56, 0x5C, 0xE7, 0xA5, 0xEA, 0xBC, 0x47, 0xD1,
1233 	0x0D, 0xD9, 0xC0, 0xA9, 0xC4, 0xA7, 0x3E, 0xD1, 0x2B, 0x1E, 0x34, 0x31,
1234 	0x36, 0x9D, 0xB9, 0x51, 0xD3, 0xAD, 0x29, 0xE6, 0x9B, 0xD8, 0x4B, 0x93,
1235 	0x33, 0x2F, 0x30, 0xEF, 0x18, 0x90, 0x69, 0x11, 0x09, 0xEA, 0xBA, 0xE0,
1236 	0x10, 0x93, 0x63, 0x71, 0xA8, 0x83, 0x59, 0xDB, 0xFC, 0x12, 0x22, 0x84,
1237 	0xC7, 0x01, 0x20, 0x99, 0xEC, 0x59, 0xA9, 0xE6, 0x9B, 0x5B, 0x8B, 0xB8,
1238 	0x68, 0x52, 0x61, 0x8B, 0x4E, 0xF3, 0x50, 0x69, 0xF1, 0x49, 0x9B, 0xAF,
1239 	0x53, 0xAD, 0xA0, 0x9D, 0x23, 0xE0, 0xE0, 0xC4, 0x31, 0xE4, 0x8E, 0x1C,
1240 	0x51, 0x14, 0xFC, 0x95, 0x9C, 0xA6, 0x34, 0x85, 0xB0, 0x36, 0xFC, 0x7A,
1241 	0x53, 0x03, 0x31, 0x0E, 0xCB, 0x34, 0x3E, 0xDF, 0xD1, 0x71, 0xBC, 0xDB,
1242 	0xA1, 0xAF, 0x59, 0x4A, 0x03, 0x19, 0xA7, 0x8E, 0xB5, 0x82, 0x15, 0x24,
1243 	0x69, 0x68, 0xBD, 0x9C, 0x2E, 0xFA, 0x06, 0xB5, 0x70, 0xC5, 0x70, 0xC4,
1244 	0x14, 0x99, 0x01, 0x49, 0xBD, 0x6E, 0xAE, 0x10, 0xA1, 0xE4, 0xEF, 0xDD,
1245 	0xE5, 0x51, 0x22, 0x9D, 0xF7, 0x93, 0xAB, 0x41, 0xBD, 0x86, 0x7A, 0xCC,
1246 	0x51, 0x94, 0xEC, 0x22, 0xBE, 0x0D, 0x67, 0xFD, 0xA3, 0xFD, 0xCF, 0xF8,
1247 	0x74, 0x0A, 0x5E, 0x1C, 0x71, 0xAD, 0xB6, 0xD0, 0xD7, 0xF8, 0x71, 0x34,
1248 	0xAB, 0x62, 0xE7, 0xA8, 0x6B, 0x8F, 0x1E, 0x43, 0x46, 0xA5, 0xE4, 0xB4,
1249 	0x52, 0x81, 0x66, 0xB3, 0xE5, 0x10, 0x23, 0x21, 0x2B, 0x31, 0x0F, 0xB8,
1250 	0xB6, 0xC5, 0xA5, 0xC9, 0x90, 0x07, 0x83, 0xD0, 0xC3, 0x10, 0x7A, 0x04,
1251 	0xBD, 0x8A, 0x3C, 0x7B, 0xF9, 0x0E, 0x51, 0x81, 0x96, 0xC8, 0xAE, 0xF9,
1252 	0x27, 0xDE, 0x62, 0x7A, 0x41, 0x60, 0x35, 0x8F, 0x77, 0xBC, 0x95, 0x11,
1253 	0x2C, 0xC4, 0x6C, 0x47, 0x7A, 0xEB, 0x29, 0xE5, 0x8E, 0xB5, 0xD6, 0xA5,
1254 	0x54, 0x1B, 0xD0, 0xE0, 0x0F, 0x7D, 0x5C, 0x51, 0xD8, 0x6C, 0x92, 0x2F,
1255 	0x13, 0x4E, 0x90, 0x77, 0xF8, 0x8D, 0x69, 0x78, 0x96, 0x96, 0x49, 0x9F,
1256 	0x3C, 0x2E, 0x5C, 0xA6, 0x73, 0x27, 0x7D, 0xAD, 0x8D, 0xE3, 0x9B, 0x4A,
1257 	0x2F, 0x50, 0x0A, 0x42, 0x7E, 0xF2, 0x3B, 0x50, 0x5C, 0x81, 0xC9, 0x49,
1258 	0x01, 0x96, 0x83, 0x0A, 0xEC, 0x7F, 0xED, 0x1C, 0xA5, 0x7D, 0xF1, 0xE6,
1259 	0xC4, 0xB3, 0x8F, 0xF9, 0x0F, 0xDB, 0x7B, 0xC1, 0x35, 0xF7, 0x63, 0x4A,
1260 	0x39, 0xD4, 0x0E, 0x9E, 0x05, 0xD9, 0x42, 0xAA, 0xAB, 0x52, 0xCA, 0x4E,
1261 	0x98, 0x3B, 0x43, 0x1A, 0x91, 0x25, 0xA9, 0x34, 0xD5, 0x66, 0xB2, 0xF4,
1262 	0xFF, 0xDE, 0x64, 0x91, 0x90, 0xB9, 0x17, 0x70, 0xA0, 0xD6, 0xEA, 0xB6,
1263 	0x36, 0xF4, 0x44, 0xCE, 0x86, 0x7B, 0x18, 0x74, 0x9C, 0x18, 0xAD, 0xB6,
1264 	0xE0, 0x74, 0xC1, 0x0E, 0x29, 0x5D, 0x6A, 0x36, 0xD1, 0x3E, 0xB8, 0x2A,
1265 	0xE4, 0x23, 0x1D, 0xB2, 0xAE, 0xF5, 0x5B, 0x8E, 0x2C, 0xD9, 0xD1, 0xE1,
1266 	0x4F, 0x58, 0xA6, 0xE3, 0x88, 0x2E, 0xF9, 0xCF, 0x32, 0x3E, 0x8E, 0x37,
1267 	0x95, 0xFF, 0xAD, 0x68, 0x11, 0x5E, 0x7F, 0x3D, 0x38, 0x06, 0x7C, 0x33,
1268 	0x32, 0x78, 0x09, 0xEC, 0xCA, 0x3E, 0x08, 0xF1, 0xD0, 0x95, 0x19, 0xC9,
1269 	0x7E, 0x62, 0xB2, 0x02, 0xA3, 0x5D, 0xF8, 0x3F, 0xA2, 0xB0, 0x8B, 0x38,
1270 	0xB1, 0x8C, 0xEA, 0xB3, 0xE4, 0xBF, 0xD3, 0x6C, 0x6D, 0x3D, 0xD1, 0xC6,
1271 	0xDA, 0x6B, 0x7A, 0xBA, 0x05, 0xEA, 0x9E, 0xA5, 0xE9, 0x00, 0xCC, 0x80,
1272 	0x57, 0xAB, 0xD9, 0x0A, 0xD1, 0x00, 0x82, 0x2A, 0x51, 0x4B, 0xA2, 0x96,
1273 	0xEB, 0x96, 0x14, 0xA8, 0x46, 0xDF, 0x1D, 0x48, 0xAE, 0xFA, 0x12, 0xA8,
1274 	0x89, 0x8E, 0xEF, 0xBC, 0x3C, 0xA1, 0x6E, 0xDD, 0x90, 0x66, 0x2E, 0x56,
1275 	0x6B, 0xF7, 0x1D, 0xF0, 0x46, 0x11, 0x4A, 0xA6, 0x07, 0x73, 0xC4, 0xE3,
1276 	0x97, 0xFE, 0x7E, 0x22, 0x6F, 0x22, 0xB4, 0x6F, 0xB0, 0x32, 0x0A, 0x5E,
1277 	0x85, 0x7E, 0x54, 0xB4, 0x24, 0xBD, 0x36, 0xA7, 0x94, 0xE7, 0x37, 0xFD,
1278 	0x1A, 0xAF, 0xF4, 0x44, 0xB4, 0x35, 0x4F, 0xE0, 0x41, 0x0E, 0x7D, 0x73,
1279 	0x29, 0x28, 0xDA, 0xAF, 0x69, 0xB2, 0xC5, 0xA7, 0x2A, 0x0A, 0xB5, 0x9C,
1280 	0xC2, 0xAC, 0x5F, 0x59, 0x5C, 0xEE, 0x44, 0x49, 0x6F, 0x4F, 0x64, 0x43,
1281 	0x6F, 0x43, 0x44, 0xAA, 0xA0, 0x4E, 0x94, 0x7C, 0x26, 0x5A, 0xF1, 0xD9,
1282 	0xE6, 0x09, 0x80, 0x7A, 0x7D, 0x2E, 0xA2, 0xB9, 0x1A, 0x7A, 0x8F, 0x2A,
1283 	0x97, 0x77, 0x23, 0xB4, 0x10, 0xAD, 0x20, 0x7B, 0xA3, 0x0F, 0xFD, 0x44,
1284 	0x38, 0xAD, 0x94, 0x39, 0x88, 0x1C, 0xC4, 0xC8, 0xDF, 0xF1, 0x04, 0xA6,
1285 	0x51, 0x5D, 0x54, 0x53, 0x60, 0xE4, 0x8A, 0x89, 0x4A, 0x9C, 0xE1, 0x68,
1286 	0x4D, 0xFE, 0x69, 0x94, 0x0B, 0x8E, 0xED, 0x6C, 0xFE, 0x11, 0xA7, 0x77,
1287 	0xBF, 0x08, 0x41, 0x67, 0x22, 0x59, 0x51, 0x48, 0xEE, 0x59, 0x02, 0x0E,
1288 	0x60, 0x6D, 0xAE, 0x8C, 0xC6, 0x39, 0xB7, 0x55, 0xC5, 0x3B, 0x87, 0xA9,
1289 	0xBD, 0xD8, 0xEA, 0x48, 0x21, 0xE4, 0x57, 0x51, 0x56, 0x03, 0xF4, 0xBE,
1290 	0xBD, 0xBD, 0xC5, 0x26, 0x9B, 0x27, 0xE3, 0xAE, 0xD5, 0x1E, 0x30, 0xE9,
1291 	0x7C, 0x9D, 0xDB, 0xE1, 0x09, 0x9D, 0x82, 0x49, 0x15, 0x38, 0x69, 0xFC,
1292 	0x1D, 0x52, 0x1A, 0x75, 0xE6, 0xDD, 0x1D, 0xBE, 0x06, 0xC4, 0x9F, 0x14,
1293 	0x4C, 0x12, 0xDE, 0xDF, 0x4A, 0xE1, 0x3B, 0xE7, 0xD1, 0xE3, 0x71, 0xD1,
1294 	0xFA, 0xD8, 0x0E, 0x63, 0x27, 0xA9, 0xC7, 0x9D, 0xC0, 0x01, 0xC2, 0xDD,
1295 	0xFC, 0xA6, 0x1F, 0x59, 0x87, 0xC5, 0x56, 0x99, 0x80, 0xEB, 0xF0, 0xB8,
1296 	0xB3, 0x00, 0x9A, 0x61, 0xDB, 0x50, 0x79, 0x48, 0x37, 0x35, 0xDA, 0xD8,
1297 	0xF2, 0x37, 0xA7, 0x43, 0xA7, 0xEB, 0x88, 0x2C, 0x68, 0xB4, 0xBB, 0x14,
1298 	0x45, 0x31, 0x6B, 0x87, 0x65, 0xE7, 0x82, 0xB4, 0x74, 0xD2, 0xFF, 0x7F,
1299 	0x60, 0x15, 0x94, 0x75, 0xEE, 0x30, 0x3C, 0x4E, 0xFC, 0x41, 0xD1, 0x5B,
1300 	0xDD, 0x84, 0x6E, 0x13, 0x6C, 0xF8, 0x12, 0xE6, 0xB7, 0xA4, 0xB9, 0xC8,
1301 	0x13, 0x89, 0x0C, 0x34, 0xA6, 0xAF, 0x09, 0xEB, 0xF2, 0xB3, 0x79, 0x77,
1302 	0x80, 0xD8, 0x77, 0x64, 0xAD, 0x32, 0x3D, 0xD2, 0x06, 0xDF, 0x72, 0x11,
1303 	0x4A, 0xA7, 0x70, 0xCE, 0xF9, 0xE6, 0x81, 0x35, 0xA4, 0xA7, 0x52, 0xB5,
1304 	0x13, 0x68, 0x5C, 0x69, 0x45, 0xE2, 0x77, 0x2D, 0xBE, 0x2C, 0xE9, 0x38,
1305 	0x25, 0x28, 0x7B, 0x63, 0x2C, 0x19, 0x8F, 0x59
1306 };
1307 
1308 /* aad */
1309 uint8_t aad[] = {
1310 	0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B
1311 };
1312 
1313 /* iv */
1314 uint8_t iv[] = {
1315 	0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
1316 	0x0C, 0x0D, 0x0E, 0x0F
1317 };
1318 
1319 /* cipher key */
1320 uint8_t cipher_key[] = {
1321 	0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
1322 	0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
1323 	0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F
1324 };
1325 
1326 /* auth key */
1327 uint8_t auth_key[] = {
1328 	0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
1329 	0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
1330 	0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23,
1331 	0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
1332 	0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B,
1333 	0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
1334 	0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53,
1335 	0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F,
1336 	0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B,
1337 	0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
1338 	0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F
1339 };
1340 
1341 /* AEAD key */
1342 uint8_t aead_key[] = {
1343 	0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B,
1344 	0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
1345 	0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F
1346 };
1347 
1348 /* Digests */
1349 uint8_t digest[2048] = { 0x00 };
1350 
1351 uint8_t ipsec_plaintext[2048] = {
1352 		/* IP */
1353 		0x45, 0x00, 0x00, 0x28, 0xa4, 0xad, 0x40, 0x00,
1354 		0x40, 0x06, 0x78, 0x80, 0x0a, 0x01, 0x03, 0x8f,
1355 		0x0a, 0x01, 0x06, 0x12,
1356 
1357 		/* TCP */
1358 		0x80, 0x23, 0x06, 0xb8, 0xcb, 0x71, 0x26, 0x02,
1359 		0xdd, 0x6b, 0xb0, 0x3e, 0x50, 0x10, 0x16, 0xd0,
1360 		0x75, 0x67, 0x00, 0x01
1361 };
1362 
1363 /** ECDSA secp256r1 elliptic curve test params */
1364 struct
1365 cperf_ecdsa_test_data secp256r1_perf_data = {
1366 	.pubkey_qx = {
1367 		.data = secp256r1_qx,
1368 		.length = sizeof(secp256r1_qx),
1369 	},
1370 	.pubkey_qy = {
1371 		.data = secp256r1_qy,
1372 		.length = sizeof(secp256r1_qy),
1373 	},
1374 	.k = {
1375 		.data = secp256r1_k,
1376 		.length = sizeof(secp256r1_k),
1377 	},
1378 	.sign_r = {
1379 		.data = secp256r1_sign_r,
1380 		.length = sizeof(secp256r1_sign_r),
1381 	},
1382 	.sign_s = {
1383 		.data = secp256r1_sign_s,
1384 		.length = sizeof(secp256r1_sign_s),
1385 	},
1386 	.pkey = {
1387 		.data = secp256r1_pkey,
1388 		.length = sizeof(secp256r1_pkey),
1389 	},
1390 	.message = {
1391 		.data = secp256r1_message,
1392 		.length = sizeof(secp256r1_message),
1393 	},
1394 	.curve = RTE_CRYPTO_EC_GROUP_SECP256R1
1395 };
1396 
1397 /* EdDSA 25519 elliptic curve test params */
1398 struct
1399 cperf_eddsa_test_data ed25519_perf_data = {
1400 	.pubkey = {
1401 		.data = ed25519_pubkey,
1402 		.length = sizeof(ed25519_pubkey),
1403 	},
1404 	.pkey = {
1405 		.data = ed25519_pkey,
1406 		.length = sizeof(ed25519_pkey),
1407 	},
1408 	.sign = {
1409 		.data = ed25519_sign,
1410 		.length = sizeof(ed25519_sign),
1411 	},
1412 	.message = {
1413 		.data = ed25519_message,
1414 		.length = sizeof(ed25519_message),
1415 	},
1416 	.curve = RTE_CRYPTO_EC_GROUP_ED25519,
1417 	.instance = RTE_CRYPTO_EDCURVE_25519
1418 };
1419 
1420 /** SM2 Fp256 elliptic curve test params */
1421 struct
1422 cperf_sm2_test_data sm2_perf_data = {
1423 	.pubkey_qx = {
1424 		.data = fp256_qx,
1425 		.length = sizeof(fp256_qx),
1426 	},
1427 	.pubkey_qy = {
1428 		.data = fp256_qy,
1429 		.length = sizeof(fp256_qy),
1430 	},
1431 	.k = {
1432 		.data = fp256_k,
1433 		.length = sizeof(fp256_k),
1434 	},
1435 	.sign_r = {
1436 		.data = fp256_sign_r,
1437 		.length = sizeof(fp256_sign_r),
1438 	},
1439 	.sign_s = {
1440 		.data = fp256_sign_s,
1441 		.length = sizeof(fp256_sign_s),
1442 	},
1443 	.id = {
1444 		.data = fp256_id,
1445 		.length = sizeof(fp256_id),
1446 	},
1447 	.pkey = {
1448 		.data = fp256_pkey,
1449 		.length = sizeof(fp256_pkey),
1450 	},
1451 	.message = {
1452 		.data = fp256_message,
1453 		.length = sizeof(fp256_message),
1454 	},
1455 	.digest = {
1456 		.data = fp256_digest,
1457 		.length = sizeof(fp256_digest),
1458 	},
1459 	.cipher = {
1460 		.data = fp256_cipher,
1461 		.length = sizeof(fp256_cipher),
1462 	},
1463 	.curve = RTE_CRYPTO_EC_GROUP_SM2
1464 };
1465 
1466 struct cperf_test_vector*
1467 cperf_test_vector_get_dummy(struct cperf_options *options)
1468 {
1469 	struct cperf_test_vector *t_vec;
1470 
1471 	t_vec = (struct cperf_test_vector *)rte_malloc(NULL,
1472 			sizeof(struct cperf_test_vector), 0);
1473 	if (t_vec == NULL)
1474 		return t_vec;
1475 
1476 	t_vec->plaintext.data = plaintext;
1477 	t_vec->plaintext.length = options->max_buffer_size;
1478 
1479 	if (options->op_type == CPERF_ASYM_MODEX) {
1480 		t_vec->modex.mod = options->modex_data->modulus.data;
1481 		t_vec->modex.exp = options->modex_data->exponent.data;
1482 		t_vec->modex.mlen = options->modex_data->modulus.len;
1483 		t_vec->modex.elen = options->modex_data->exponent.len;
1484 	}
1485 
1486 	if (options->op_type ==	CPERF_PDCP || options->op_type == CPERF_TLS ||
1487 			options->op_type == CPERF_IPSEC) {
1488 		if (options->cipher_algo == RTE_CRYPTO_CIPHER_NULL) {
1489 			t_vec->cipher_key.length = 0;
1490 			t_vec->ciphertext.data = plaintext;
1491 			t_vec->cipher_key.data = NULL;
1492 		} else {
1493 			t_vec->cipher_key.length = options->cipher_key_sz;
1494 			t_vec->ciphertext.data = ciphertext;
1495 			t_vec->cipher_key.data = cipher_key;
1496 		}
1497 
1498 		if (options->op_type == CPERF_IPSEC)
1499 			t_vec->plaintext.data = ipsec_plaintext;
1500 
1501 		/* Init IV data ptr */
1502 		t_vec->cipher_iv.data = NULL;
1503 
1504 		if (options->cipher_iv_sz != 0) {
1505 			/* Set IV parameters */
1506 			t_vec->cipher_iv.data = rte_malloc(NULL,
1507 					options->cipher_iv_sz, 16);
1508 			if (t_vec->cipher_iv.data == NULL) {
1509 				rte_free(t_vec);
1510 				return NULL;
1511 			}
1512 			memcpy(t_vec->cipher_iv.data, iv, options->cipher_iv_sz);
1513 		}
1514 		t_vec->ciphertext.length = options->max_buffer_size;
1515 		t_vec->cipher_iv.length = options->cipher_iv_sz;
1516 		t_vec->data.cipher_offset = 0;
1517 		t_vec->data.cipher_length = options->max_buffer_size;
1518 		if (options->auth_algo == RTE_CRYPTO_AUTH_NULL) {
1519 			t_vec->auth_key.length = 0;
1520 			t_vec->auth_key.data = NULL;
1521 			t_vec->digest.data = NULL;
1522 			t_vec->digest.length = 0;
1523 		} else {
1524 			t_vec->auth_key.length = options->auth_key_sz;
1525 			t_vec->auth_key.data = auth_key;
1526 
1527 			t_vec->digest.data = rte_malloc(NULL,
1528 					options->digest_sz,
1529 					16);
1530 			if (t_vec->digest.data == NULL) {
1531 				rte_free(t_vec->cipher_iv.data);
1532 				rte_free(t_vec);
1533 				return NULL;
1534 			}
1535 			t_vec->digest.phys_addr =
1536 				rte_malloc_virt2iova(t_vec->digest.data);
1537 			t_vec->digest.length = options->digest_sz;
1538 			memcpy(t_vec->digest.data, digest,
1539 					options->digest_sz);
1540 		}
1541 		t_vec->data.auth_offset = 0;
1542 		t_vec->data.auth_length = options->max_buffer_size;
1543 	}
1544 
1545 	if (options->op_type ==	CPERF_CIPHER_ONLY ||
1546 			options->op_type == CPERF_CIPHER_THEN_AUTH ||
1547 			options->op_type == CPERF_AUTH_THEN_CIPHER ||
1548 			options->op_type == CPERF_DOCSIS) {
1549 		if (options->cipher_algo == RTE_CRYPTO_CIPHER_NULL) {
1550 			t_vec->cipher_key.length = 0;
1551 			t_vec->ciphertext.data = plaintext;
1552 			t_vec->cipher_key.data = NULL;
1553 		} else {
1554 			t_vec->cipher_key.length = options->cipher_key_sz;
1555 			t_vec->ciphertext.data = ciphertext;
1556 			t_vec->cipher_key.data = cipher_key;
1557 		}
1558 
1559 		/* Init IV data ptr */
1560 		t_vec->cipher_iv.data = NULL;
1561 
1562 		if (options->cipher_iv_sz != 0) {
1563 			/* Set IV parameters */
1564 			t_vec->cipher_iv.data = rte_malloc(NULL,
1565 					options->cipher_iv_sz, 16);
1566 			if (t_vec->cipher_iv.data == NULL) {
1567 				rte_free(t_vec);
1568 				return NULL;
1569 			}
1570 			memcpy(t_vec->cipher_iv.data, iv, options->cipher_iv_sz);
1571 		}
1572 		t_vec->ciphertext.length = options->max_buffer_size;
1573 		t_vec->cipher_iv.length = options->cipher_iv_sz;
1574 		t_vec->data.cipher_offset = 0;
1575 		t_vec->data.cipher_length = options->max_buffer_size;
1576 
1577 	}
1578 
1579 	if (options->op_type ==	CPERF_AUTH_ONLY ||
1580 			options->op_type == CPERF_CIPHER_THEN_AUTH ||
1581 			options->op_type == CPERF_AUTH_THEN_CIPHER) {
1582 		if (options->auth_algo == RTE_CRYPTO_AUTH_NULL) {
1583 			t_vec->auth_key.length = 0;
1584 			t_vec->auth_key.data = NULL;
1585 			t_vec->digest.data = NULL;
1586 			t_vec->digest.length = 0;
1587 		} else {
1588 			t_vec->auth_key.length = options->auth_key_sz;
1589 			t_vec->auth_key.data = auth_key;
1590 
1591 			t_vec->digest.data = rte_malloc(NULL,
1592 					options->digest_sz,
1593 					16);
1594 			if (t_vec->digest.data == NULL) {
1595 				rte_free(t_vec->cipher_iv.data);
1596 				rte_free(t_vec);
1597 				return NULL;
1598 			}
1599 			t_vec->digest.phys_addr =
1600 				rte_malloc_virt2iova(t_vec->digest.data);
1601 			t_vec->digest.length = options->digest_sz;
1602 			memcpy(t_vec->digest.data, digest,
1603 					options->digest_sz);
1604 		}
1605 		t_vec->data.auth_offset = 0;
1606 		t_vec->data.auth_length = options->max_buffer_size;
1607 
1608 		/* Set IV parameters */
1609 		t_vec->auth_iv.data = rte_malloc(NULL, options->auth_iv_sz,
1610 				16);
1611 		if (options->auth_iv_sz && t_vec->auth_iv.data == NULL) {
1612 			if (options->op_type != CPERF_AUTH_ONLY)
1613 				rte_free(t_vec->cipher_iv.data);
1614 			rte_free(t_vec);
1615 			return NULL;
1616 		}
1617 		memcpy(t_vec->auth_iv.data, iv, options->auth_iv_sz);
1618 		t_vec->auth_iv.length = options->auth_iv_sz;
1619 	}
1620 
1621 	if (options->op_type == CPERF_AEAD || options->op_type == CPERF_TLS ||
1622 			options->op_type == CPERF_IPSEC) {
1623 		t_vec->aead_key.length = options->aead_key_sz;
1624 		t_vec->aead_key.data = aead_key;
1625 
1626 		if (options->aead_aad_sz) {
1627 			t_vec->aad.data = rte_malloc(NULL,
1628 					options->aead_aad_sz, 16);
1629 			if (t_vec->aad.data == NULL) {
1630 				rte_free(t_vec);
1631 				return NULL;
1632 			}
1633 
1634 			if (options->aead_aad_sz > sizeof(aad))
1635 				options->aead_aad_sz = sizeof(aad);
1636 
1637 			memcpy(t_vec->aad.data, aad, options->aead_aad_sz);
1638 			t_vec->aad.phys_addr = rte_malloc_virt2iova(t_vec->aad.data);
1639 			t_vec->aad.length = options->aead_aad_sz;
1640 		} else {
1641 			t_vec->aad.data = NULL;
1642 			t_vec->aad.length = 0;
1643 		}
1644 
1645 		t_vec->digest.data = rte_malloc(NULL, options->digest_sz,
1646 						16);
1647 		if (t_vec->digest.data == NULL) {
1648 			rte_free(t_vec->aad.data);
1649 			rte_free(t_vec);
1650 			return NULL;
1651 		}
1652 		t_vec->digest.phys_addr =
1653 				rte_malloc_virt2iova(t_vec->digest.data);
1654 		t_vec->digest.length = options->digest_sz;
1655 		memcpy(t_vec->digest.data, digest, options->digest_sz);
1656 		t_vec->data.aead_offset = 0;
1657 		t_vec->data.aead_length = options->max_buffer_size;
1658 
1659 		/* Set IV parameters */
1660 		t_vec->aead_iv.data = rte_malloc(NULL, options->aead_iv_sz,
1661 				16);
1662 		if (options->aead_iv_sz && t_vec->aead_iv.data == NULL) {
1663 			rte_free(t_vec->aad.data);
1664 			rte_free(t_vec->digest.data);
1665 			rte_free(t_vec);
1666 			return NULL;
1667 		}
1668 		memcpy(t_vec->aead_iv.data, iv, options->aead_iv_sz);
1669 		t_vec->aead_iv.length = options->aead_iv_sz;
1670 	}
1671 	return t_vec;
1672 }
1673