1*4418919fSjohnjiang /* SPDX-License-Identifier: BSD-3-Clause
2*4418919fSjohnjiang  * Copyright(c) 2018 Cavium Networks
3*4418919fSjohnjiang  * Copyright (c) 2019 Intel Corporation
4*4418919fSjohnjiang  */
5*4418919fSjohnjiang 
6*4418919fSjohnjiang #ifndef TEST_CRYPTODEV_MOD_TEST_VECTORS_H_
7*4418919fSjohnjiang #define TEST_CRYPTODEV_MOD_TEST_VECTORS_H_
8*4418919fSjohnjiang 
9*4418919fSjohnjiang #define DATA_SIZE 512
10*4418919fSjohnjiang 
11*4418919fSjohnjiang struct modex_test_data {
12*4418919fSjohnjiang 	enum rte_crypto_asym_xform_type xform_type;
13*4418919fSjohnjiang 	const char *description;
14*4418919fSjohnjiang 	struct {
15*4418919fSjohnjiang 		uint8_t data[DATA_SIZE];
16*4418919fSjohnjiang 		uint16_t len;
17*4418919fSjohnjiang 	} base;
18*4418919fSjohnjiang 	struct {
19*4418919fSjohnjiang 		uint8_t data[DATA_SIZE];
20*4418919fSjohnjiang 		uint16_t len;
21*4418919fSjohnjiang 	} exponent;
22*4418919fSjohnjiang 	struct {
23*4418919fSjohnjiang 		uint8_t data[DATA_SIZE];
24*4418919fSjohnjiang 		uint16_t len;
25*4418919fSjohnjiang 	} modulus;
26*4418919fSjohnjiang 	struct {
27*4418919fSjohnjiang 		uint8_t data[DATA_SIZE];
28*4418919fSjohnjiang 		uint16_t len;
29*4418919fSjohnjiang 	} reminder;
30*4418919fSjohnjiang 	uint16_t result_len;
31*4418919fSjohnjiang };
32*4418919fSjohnjiang struct modinv_test_data {
33*4418919fSjohnjiang 	enum rte_crypto_asym_xform_type xform_type;
34*4418919fSjohnjiang 	const char *description;
35*4418919fSjohnjiang 	struct {
36*4418919fSjohnjiang 		uint8_t data[DATA_SIZE];
37*4418919fSjohnjiang 		uint16_t len;
38*4418919fSjohnjiang 	} base;
39*4418919fSjohnjiang 	struct {
40*4418919fSjohnjiang 		uint8_t data[DATA_SIZE];
41*4418919fSjohnjiang 		uint16_t len;
42*4418919fSjohnjiang 	} modulus;
43*4418919fSjohnjiang 	struct {
44*4418919fSjohnjiang 		uint8_t data[DATA_SIZE];
45*4418919fSjohnjiang 		uint16_t len;
46*4418919fSjohnjiang 	} inverse;
47*4418919fSjohnjiang 	uint16_t result_len;
48*4418919fSjohnjiang };
49*4418919fSjohnjiang 
50*4418919fSjohnjiang static const struct
51*4418919fSjohnjiang modex_test_data modex_test_case[] = {
52*4418919fSjohnjiang {
53*4418919fSjohnjiang 	.description = "Modular Exponentiation "
54*4418919fSjohnjiang 				   "(mod=128, base=20, exp=3, res=128)",
55*4418919fSjohnjiang 	.xform_type = RTE_CRYPTO_ASYM_XFORM_MODEX,
56*4418919fSjohnjiang 	.base = {
57*4418919fSjohnjiang 		.data = {
58*4418919fSjohnjiang 			0xF8, 0xBA, 0x1A, 0x55, 0xD0, 0x2F, 0x85,
59*4418919fSjohnjiang 			0xAE, 0x96, 0x7B, 0xB6, 0x2F, 0xB6, 0xCD,
60*4418919fSjohnjiang 			0xA8, 0xEB, 0x7E, 0x78, 0xA0, 0x50
61*4418919fSjohnjiang 		},
62*4418919fSjohnjiang 		.len = 20
63*4418919fSjohnjiang 	},
64*4418919fSjohnjiang 	.exponent = {
65*4418919fSjohnjiang 		.data = {
66*4418919fSjohnjiang 			0x01, 0x00, 0x01
67*4418919fSjohnjiang 		},
68*4418919fSjohnjiang 		.len = 3
69*4418919fSjohnjiang 	},
70*4418919fSjohnjiang 	.reminder = {
71*4418919fSjohnjiang 		.data = {
72*4418919fSjohnjiang 			0x2C, 0x60, 0x75, 0x45, 0x98, 0x9D, 0xE0, 0x72,
73*4418919fSjohnjiang 			0xA0, 0x9D, 0x3A, 0x9E, 0x03, 0x38, 0x73, 0x3C,
74*4418919fSjohnjiang 			0x31, 0x83, 0x04, 0xFE, 0x75, 0x43, 0xE6, 0x17,
75*4418919fSjohnjiang 			0x5C, 0x01, 0x29, 0x51, 0x69, 0x33, 0x62, 0x2D,
76*4418919fSjohnjiang 			0x78, 0xBE, 0xAE, 0xC4, 0xBC, 0xDE, 0x7E, 0x2C,
77*4418919fSjohnjiang 			0x77, 0x84, 0xF2, 0xC5, 0x14, 0xB5, 0x2F, 0xF7,
78*4418919fSjohnjiang 			0xC5, 0x94, 0xEF, 0x86, 0x75, 0x75, 0xB5, 0x11,
79*4418919fSjohnjiang 			0xE5, 0x0E, 0x0A, 0x29, 0x76, 0xE2, 0xEA, 0x32,
80*4418919fSjohnjiang 			0x0E, 0x43, 0x77, 0x7E, 0x2C, 0x27, 0xAC, 0x3B,
81*4418919fSjohnjiang 			0x86, 0xA5, 0xDB, 0xC9, 0x48, 0x40, 0xE8, 0x99,
82*4418919fSjohnjiang 			0x9A, 0x0A, 0x3D, 0xD6, 0x74, 0xFA, 0x2E, 0x2E,
83*4418919fSjohnjiang 			0x5B, 0xAF, 0x8C, 0x99, 0x44, 0x2A, 0x67, 0x38,
84*4418919fSjohnjiang 			0x27, 0x41, 0x59, 0x9D, 0xB8, 0x51, 0xC9, 0xF7,
85*4418919fSjohnjiang 			0x43, 0x61, 0x31, 0x6E, 0xF1, 0x25, 0x38, 0x7F,
86*4418919fSjohnjiang 			0xAE, 0xC6, 0xD0, 0xBB, 0x29, 0x76, 0x3F, 0x46,
87*4418919fSjohnjiang 			0x2E, 0x1B, 0xE4, 0x67, 0x71, 0xE3, 0x87, 0x5A
88*4418919fSjohnjiang 		},
89*4418919fSjohnjiang 		.len = 128
90*4418919fSjohnjiang 	},
91*4418919fSjohnjiang 	.modulus = {
92*4418919fSjohnjiang 		.data = {
93*4418919fSjohnjiang 			0xb3, 0xa1, 0xaf, 0xb7, 0x13, 0x08, 0x00, 0x0a,
94*4418919fSjohnjiang 			0x35, 0xdc, 0x2b, 0x20, 0x8d, 0xa1, 0xb5, 0xce,
95*4418919fSjohnjiang 			0x47, 0x8a, 0xc3, 0x80, 0xf4, 0x7d, 0x4a, 0xa2,
96*4418919fSjohnjiang 			0x62, 0xfd, 0x61, 0x7f, 0xb5, 0xa8, 0xde, 0x0a,
97*4418919fSjohnjiang 			0x17, 0x97, 0xa0, 0xbf, 0xdf, 0x56, 0x5a, 0x3d,
98*4418919fSjohnjiang 			0x51, 0x56, 0x4f, 0x70, 0x70, 0x3f, 0x63, 0x6a,
99*4418919fSjohnjiang 			0x44, 0x5b, 0xad, 0x84, 0x0d, 0x3f, 0x27, 0x6e,
100*4418919fSjohnjiang 			0x3b, 0x34, 0x91, 0x60, 0x14, 0xb9, 0xaa, 0x72,
101*4418919fSjohnjiang 			0xfd, 0xa3, 0x64, 0xd2, 0x03, 0xa7, 0x53, 0x87,
102*4418919fSjohnjiang 			0x9e, 0x88, 0x0b, 0xc1, 0x14, 0x93, 0x1a, 0x62,
103*4418919fSjohnjiang 			0xff, 0xb1, 0x5d, 0x74, 0xcd, 0x59, 0x63, 0x18,
104*4418919fSjohnjiang 			0x11, 0x3d, 0x4f, 0xba, 0x75, 0xd4, 0x33, 0x4e,
105*4418919fSjohnjiang 			0x23, 0x6b, 0x7b, 0x57, 0x44, 0xe1, 0xd3, 0x03,
106*4418919fSjohnjiang 			0x13, 0xa6, 0xf0, 0x8b, 0x60, 0xb0, 0x9e, 0xee,
107*4418919fSjohnjiang 			0x75, 0x08, 0x9d, 0x71, 0x63, 0x13, 0xcb, 0xa6,
108*4418919fSjohnjiang 			0x81, 0x92, 0x14, 0x03, 0x22, 0x2d, 0xde, 0x55
109*4418919fSjohnjiang 		},
110*4418919fSjohnjiang 		.len = 128
111*4418919fSjohnjiang 	},
112*4418919fSjohnjiang 	.result_len = 128
113*4418919fSjohnjiang },
114*4418919fSjohnjiang {
115*4418919fSjohnjiang 	.description = "Modular Exponentiation "
116*4418919fSjohnjiang 				   "(mod=60, base=50, exp=40, res=60)",
117*4418919fSjohnjiang 	.xform_type = RTE_CRYPTO_ASYM_XFORM_MODEX,
118*4418919fSjohnjiang 	.base = {
119*4418919fSjohnjiang 		.data = {
120*4418919fSjohnjiang 			0x4F, 0xD8, 0x5C, 0xDB, 0x6D, 0xA2, 0xFA, 0x35,
121*4418919fSjohnjiang 			0x9D, 0xD7, 0x97, 0x10, 0x4B, 0x71, 0x5F, 0x53,
122*4418919fSjohnjiang 			0xE1, 0xC7, 0x09, 0x74, 0x88, 0xC8, 0x9D, 0x03,
123*4418919fSjohnjiang 			0xC0, 0x70, 0xE0, 0xBE, 0xE3, 0xF2, 0x2C, 0x01,
124*4418919fSjohnjiang 			0x85, 0xA6, 0x4E, 0x28, 0x6E, 0xD3, 0xB5, 0x18,
125*4418919fSjohnjiang 			0x58, 0x69, 0x07, 0xDA, 0x3A, 0x1B, 0x35, 0xCE,
126*4418919fSjohnjiang 			0xE6, 0xFA
127*4418919fSjohnjiang 		},
128*4418919fSjohnjiang 		.len = 50
129*4418919fSjohnjiang 	},
130*4418919fSjohnjiang 	.exponent = {
131*4418919fSjohnjiang 		.data = {
132*4418919fSjohnjiang 			0x30, 0xA5, 0xD5, 0xF0, 0x42, 0x03, 0xC3, 0x2D,
133*4418919fSjohnjiang 			0x2F, 0x58, 0xA8, 0x5C, 0x21, 0x88, 0xDE, 0x82,
134*4418919fSjohnjiang 			0x36, 0x44, 0xC1, 0x5A, 0x87, 0x2C, 0x33, 0x19,
135*4418919fSjohnjiang 			0x4E, 0xCE, 0x3F, 0x87, 0xFF, 0x98, 0x4B, 0xFC,
136*4418919fSjohnjiang 			0x15, 0xC0, 0xBE, 0x9E, 0x8F, 0xF0, 0x6A, 0x62
137*4418919fSjohnjiang 		},
138*4418919fSjohnjiang 		.len = 40
139*4418919fSjohnjiang 	},
140*4418919fSjohnjiang 	.reminder = {
141*4418919fSjohnjiang 		.data = {
142*4418919fSjohnjiang 			0x59, 0x3D, 0x92, 0xE4, 0xE6, 0x9B, 0x5D, 0x97,
143*4418919fSjohnjiang 			0x21, 0xE6, 0x06, 0x60, 0x8B, 0x66, 0x8F, 0xF3,
144*4418919fSjohnjiang 			0x63, 0xAE, 0x3A, 0x64, 0x7F, 0xCA, 0xDE, 0x4A,
145*4418919fSjohnjiang 			0xE5, 0x49, 0xA2, 0x90, 0x0F, 0xAE, 0x13, 0x10,
146*4418919fSjohnjiang 			0xC2, 0x5B, 0x97, 0xED, 0x86, 0x97, 0x16, 0xE2,
147*4418919fSjohnjiang 			0x01, 0xF6, 0x7A, 0xF1, 0x7B, 0x4B, 0xC7, 0x7D,
148*4418919fSjohnjiang 			0x6B, 0xD7, 0x98, 0xE5, 0x9B, 0x75, 0x1A, 0x6B,
149*4418919fSjohnjiang 			0xD6, 0x6E, 0xA3, 0x4E
150*4418919fSjohnjiang 		},
151*4418919fSjohnjiang 		.len = 60
152*4418919fSjohnjiang 	},
153*4418919fSjohnjiang 	.modulus = {
154*4418919fSjohnjiang 		.data = {
155*4418919fSjohnjiang 			0xF8, 0x04, 0x0D, 0xD5, 0x09, 0x6C, 0x78, 0x06,
156*4418919fSjohnjiang 			0x7D, 0x28, 0x77, 0xA4, 0x0E, 0xA5, 0x49, 0xE7,
157*4418919fSjohnjiang 			0x6D, 0xC9, 0x97, 0xD3, 0xC0, 0x7F, 0x82, 0xC6,
158*4418919fSjohnjiang 			0x75, 0x51, 0x72, 0xAF, 0x8C, 0x77, 0x97, 0xD0,
159*4418919fSjohnjiang 			0xA1, 0x85, 0x54, 0xC0, 0x78, 0x86, 0xD6, 0x40,
160*4418919fSjohnjiang 			0x7A, 0x6B, 0xB3, 0xD7, 0x07, 0xCA, 0x27, 0xA3,
161*4418919fSjohnjiang 			0x66, 0xB9, 0x98, 0x22, 0xC4, 0x54, 0x18, 0x07,
162*4418919fSjohnjiang 			0x65, 0x76, 0x0F, 0x5A
163*4418919fSjohnjiang 		},
164*4418919fSjohnjiang 		.len = 60
165*4418919fSjohnjiang 	},
166*4418919fSjohnjiang 	.result_len = 60
167*4418919fSjohnjiang },
168*4418919fSjohnjiang {
169*4418919fSjohnjiang 	.description = "Modular Exponentiation "
170*4418919fSjohnjiang 				   "(mod=8, base=65, exp=17, res=8)",
171*4418919fSjohnjiang 	.xform_type = RTE_CRYPTO_ASYM_XFORM_MODEX,
172*4418919fSjohnjiang 	.base = {
173*4418919fSjohnjiang 		.data = {
174*4418919fSjohnjiang 			0x25, 0x74, 0x41, 0xCE, 0xFA, 0x5C, 0x07, 0x2A,
175*4418919fSjohnjiang 			0xD1, 0x74, 0xF3, 0x3D, 0xE1, 0xCC, 0xC3, 0x18,
176*4418919fSjohnjiang 			0x7E, 0x4A, 0x21, 0x9F, 0x97, 0xA3, 0x26, 0x85,
177*4418919fSjohnjiang 			0x85, 0xD9, 0x9B, 0xE3, 0xBA, 0xB3, 0x70, 0xC9,
178*4418919fSjohnjiang 			0x26, 0x68, 0xE4, 0xB7, 0x4C, 0x88, 0x48, 0xC1,
179*4418919fSjohnjiang 			0x6B, 0xC6, 0x3C, 0x00, 0x8C, 0x6B, 0xC6, 0x11,
180*4418919fSjohnjiang 			0xD0, 0xD6, 0x61, 0x5D, 0xEC, 0xAA, 0xBA, 0x3B,
181*4418919fSjohnjiang 			0x7D, 0xB3, 0x0D, 0x3F, 0xA5, 0x4D, 0xEE, 0xE4,
182*4418919fSjohnjiang 			0xAC
183*4418919fSjohnjiang 		},
184*4418919fSjohnjiang 		.len = 65
185*4418919fSjohnjiang 	},
186*4418919fSjohnjiang 	.exponent = {
187*4418919fSjohnjiang 		.data = {
188*4418919fSjohnjiang 			0x1C, 0x54, 0x2F, 0xCA, 0xDE, 0x4F, 0x17, 0x38,
189*4418919fSjohnjiang 			0x69, 0x87, 0xB4, 0xFF, 0x3A, 0x6C, 0x82, 0x70,
190*4418919fSjohnjiang 			0x53
191*4418919fSjohnjiang 		},
192*4418919fSjohnjiang 		.len = 17
193*4418919fSjohnjiang 	},
194*4418919fSjohnjiang 	.reminder = {
195*4418919fSjohnjiang 		.data = {
196*4418919fSjohnjiang 			0x52, 0x06, 0x1A, 0x35, 0x70, 0x33, 0x78, 0x45
197*4418919fSjohnjiang 		},
198*4418919fSjohnjiang 		.len = 8
199*4418919fSjohnjiang 	},
200*4418919fSjohnjiang 	.modulus = {
201*4418919fSjohnjiang 		.data = {
202*4418919fSjohnjiang 			0x6B, 0x6D, 0xFA, 0xCB, 0x09, 0x5D, 0x9C, 0xFD
203*4418919fSjohnjiang 		},
204*4418919fSjohnjiang 		.len = 8
205*4418919fSjohnjiang 	},
206*4418919fSjohnjiang 	.result_len = 8
207*4418919fSjohnjiang },
208*4418919fSjohnjiang {
209*4418919fSjohnjiang 	.description = "Modular Exponentiation "
210*4418919fSjohnjiang 				   "(mod=100, base=150, exp=192, res=100)",
211*4418919fSjohnjiang 	.xform_type = RTE_CRYPTO_ASYM_XFORM_MODEX,
212*4418919fSjohnjiang 	.base = {
213*4418919fSjohnjiang 		.data = {
214*4418919fSjohnjiang 			0xC1, 0xA1, 0x04, 0xE4, 0x4D, 0x4A, 0xD3, 0x5C,
215*4418919fSjohnjiang 			0xB3, 0xD0, 0x16, 0x51, 0xA7, 0xF4, 0x82, 0x6C,
216*4418919fSjohnjiang 			0x22, 0xDD, 0x4D, 0xAA, 0x70, 0x30, 0x25, 0xA7,
217*4418919fSjohnjiang 			0xFA, 0xA9, 0xF2, 0x20, 0x55, 0x9B, 0xEA, 0x26,
218*4418919fSjohnjiang 			0xF6, 0xB5, 0xF8, 0x9C, 0x46, 0x21, 0x85, 0x0E,
219*4418919fSjohnjiang 			0x38, 0x73, 0x01, 0xC6, 0x72, 0x67, 0x9B, 0x49,
220*4418919fSjohnjiang 			0xCE, 0x48, 0xB7, 0x4A, 0xEE, 0x08, 0x21, 0x26,
221*4418919fSjohnjiang 			0xF3, 0x21, 0x77, 0xE7, 0x3C, 0x77, 0xF4, 0x0A,
222*4418919fSjohnjiang 			0x82, 0xC8, 0x16, 0x94, 0x6C, 0xBF, 0xA8, 0xD8,
223*4418919fSjohnjiang 			0x8B, 0x7D, 0x27, 0x60, 0xAC, 0x06, 0x69, 0x7E,
224*4418919fSjohnjiang 			0x46, 0x2C, 0xE2, 0xD1, 0x13, 0x50, 0x7D, 0xCE,
225*4418919fSjohnjiang 			0x4D, 0xC4, 0x5D, 0x81, 0xFB, 0x6B, 0x11, 0x4A,
226*4418919fSjohnjiang 			0x2D, 0xA2, 0x03, 0x55, 0x77, 0x8C, 0x3D, 0xA1,
227*4418919fSjohnjiang 			0xAD, 0xBE, 0x9C, 0x72, 0xE5, 0xA5, 0xFB, 0x49,
228*4418919fSjohnjiang 			0x5F, 0x13, 0x48, 0xC7, 0xAC, 0xD1, 0x0F, 0x5E,
229*4418919fSjohnjiang 			0xDF, 0x9C, 0xC7, 0xF5, 0x19, 0xFD, 0xC5, 0x77,
230*4418919fSjohnjiang 			0x27, 0x8D, 0xC4, 0x1D, 0x90, 0x8C, 0x20, 0x96,
231*4418919fSjohnjiang 			0xC8, 0x6A, 0x0D, 0x2F, 0xE2, 0x8B, 0xB0, 0x58,
232*4418919fSjohnjiang 			0xF8, 0xC4, 0x31, 0x0A, 0x17, 0x11
233*4418919fSjohnjiang 		},
234*4418919fSjohnjiang 		.len = 150
235*4418919fSjohnjiang 	},
236*4418919fSjohnjiang 	.exponent = {
237*4418919fSjohnjiang 		.data = {
238*4418919fSjohnjiang 			0xC6, 0x20, 0x99, 0xD9, 0xBC, 0xE2, 0xAD, 0x74,
239*4418919fSjohnjiang 			0x11, 0x6F, 0x74, 0x14, 0x72, 0xB8, 0x09, 0xCB,
240*4418919fSjohnjiang 			0x5C, 0x74, 0x11, 0x21, 0x17, 0x84, 0x02, 0xDC,
241*4418919fSjohnjiang 			0x70, 0x59, 0x20, 0x79, 0x40, 0x7B, 0x0E, 0x52,
242*4418919fSjohnjiang 			0xAD, 0x00, 0x38, 0x4F, 0x5A, 0xE5, 0x0D, 0x28,
243*4418919fSjohnjiang 			0xB5, 0xF8, 0xDC, 0x54, 0x92, 0xB2, 0xB0, 0xA8,
244*4418919fSjohnjiang 			0xE8, 0x35, 0x1B, 0x63, 0x0D, 0x6A, 0x50, 0x8D,
245*4418919fSjohnjiang 			0xE1, 0x3E, 0x7A, 0xDD, 0x42, 0x7A, 0xD0, 0xB4,
246*4418919fSjohnjiang 			0x9D, 0x63, 0x36, 0x03, 0xC0, 0x9B, 0xA0, 0x91,
247*4418919fSjohnjiang 			0x8B, 0xBC, 0x45, 0x53, 0x93, 0x2C, 0xFC, 0xDD,
248*4418919fSjohnjiang 			0x4F, 0xBD, 0x96, 0x0B, 0x63, 0xEB, 0xEF, 0x50,
249*4418919fSjohnjiang 			0xAC, 0x99, 0x45, 0xA7, 0x0D, 0xC6, 0xEA, 0x98,
250*4418919fSjohnjiang 			0xBC, 0xD7, 0x63, 0x56, 0x8C, 0x75, 0x68, 0xAE,
251*4418919fSjohnjiang 			0xF0, 0xB4, 0x66, 0xA0, 0x4D, 0xC5, 0x71, 0xB9,
252*4418919fSjohnjiang 			0x4E, 0xCB, 0xF6, 0xCA, 0xC9, 0x1B, 0x3B, 0x55,
253*4418919fSjohnjiang 			0x91, 0x39, 0x25, 0xBD, 0x98, 0xAA, 0xDA, 0xF2,
254*4418919fSjohnjiang 			0x8A, 0xCB, 0x8E, 0x56, 0x09, 0xBF, 0xC4, 0x1D,
255*4418919fSjohnjiang 			0xFA, 0x23, 0x48, 0xF6, 0x9A, 0xD2, 0xD3, 0x2B,
256*4418919fSjohnjiang 			0xED, 0x60, 0x9B, 0x4B, 0x63, 0xD8, 0x8C, 0x6A,
257*4418919fSjohnjiang 			0x28, 0xA3, 0x4C, 0x85, 0x43, 0x4D, 0x5C, 0x4A,
258*4418919fSjohnjiang 			0xA7, 0xA9, 0x9F, 0x7E, 0x13, 0x5B, 0x36, 0xED,
259*4418919fSjohnjiang 			0xD9, 0x53, 0xBE, 0x12, 0xFF, 0x17, 0x9F, 0x70,
260*4418919fSjohnjiang 			0xA4, 0xD2, 0x42, 0x72, 0x70, 0x51, 0x70, 0x3F,
261*4418919fSjohnjiang 			0x5A, 0xBA, 0x33, 0x0E, 0xBB, 0x4C, 0xA0, 0x4A
262*4418919fSjohnjiang 		},
263*4418919fSjohnjiang 		.len = 192
264*4418919fSjohnjiang 	},
265*4418919fSjohnjiang 	.reminder = {
266*4418919fSjohnjiang 		.data = {
267*4418919fSjohnjiang 			0x07, 0x5E, 0x28, 0x4F, 0xD1, 0xEA, 0x5C, 0x1D,
268*4418919fSjohnjiang 			0xF8, 0xBF, 0x29, 0xF0, 0x63, 0xCC, 0xF7, 0x6D,
269*4418919fSjohnjiang 			0x99, 0x67, 0xCE, 0xE3, 0x05, 0x16, 0x16, 0x8C,
270*4418919fSjohnjiang 			0x3A, 0x07, 0xC0, 0x63, 0x70, 0xB9, 0x1A, 0x24,
271*4418919fSjohnjiang 			0xED, 0xE9, 0xF0, 0xEE, 0xD9, 0xAB, 0x18, 0xD4,
272*4418919fSjohnjiang 			0x59, 0xB4, 0xD2, 0x77, 0x44, 0x94, 0x72, 0xFE,
273*4418919fSjohnjiang 			0x19, 0x26, 0x50, 0x47, 0x77, 0xAD, 0x0A, 0x45,
274*4418919fSjohnjiang 			0x76, 0x4B, 0x22, 0xDB, 0x05, 0x13, 0x67, 0x40,
275*4418919fSjohnjiang 			0x9A, 0x36, 0x6C, 0x5E, 0xE8, 0xED, 0x40, 0x60,
276*4418919fSjohnjiang 			0x86, 0x40, 0x2F, 0x30, 0x9E, 0x4B, 0x61, 0x73,
277*4418919fSjohnjiang 			0x2E, 0x76, 0x8A, 0xB0, 0x49, 0x04, 0x1A, 0x82,
278*4418919fSjohnjiang 			0xB7, 0xEF, 0xB2, 0xB5, 0xB4, 0xE0, 0x87, 0xF0,
279*4418919fSjohnjiang 			0xB4, 0x53, 0xB2, 0xBE
280*4418919fSjohnjiang 		},
281*4418919fSjohnjiang 		.len = 100
282*4418919fSjohnjiang 	},
283*4418919fSjohnjiang 	.modulus = {
284*4418919fSjohnjiang 		.data = {
285*4418919fSjohnjiang 			0x54, 0x58, 0x5C, 0xBA, 0xAE, 0xC1, 0xB4, 0x46,
286*4418919fSjohnjiang 			0x50, 0xAF, 0xD0, 0xA6, 0x03, 0x9D, 0x74, 0x84,
287*4418919fSjohnjiang 			0x6F, 0x89, 0x07, 0xA6, 0x63, 0xE7, 0x34, 0xB2,
288*4418919fSjohnjiang 			0x55, 0x0E, 0xD5, 0x42, 0xC9, 0xBF, 0xD1, 0x89,
289*4418919fSjohnjiang 			0x54, 0x0B, 0x76, 0xF7, 0x0E, 0xA1, 0x42, 0x02,
290*4418919fSjohnjiang 			0x72, 0xDC, 0x28, 0x5A, 0x68, 0x10, 0xA0, 0x84,
291*4418919fSjohnjiang 			0xA4, 0x72, 0x4D, 0x40, 0x69, 0xBC, 0x18, 0xC9,
292*4418919fSjohnjiang 			0x92, 0x69, 0xB8, 0x52, 0x2A, 0xB1, 0xA3, 0x43,
293*4418919fSjohnjiang 			0x80, 0xA9, 0x55, 0x78, 0xEA, 0xD9, 0x54, 0xF4,
294*4418919fSjohnjiang 			0x3A, 0xDD, 0x24, 0x4E, 0x22, 0x9D, 0x89, 0x40,
295*4418919fSjohnjiang 			0x8F, 0x50, 0xA5, 0xF5, 0x0F, 0xFA, 0x38, 0xBB,
296*4418919fSjohnjiang 			0xE8, 0xD7, 0x21, 0x6B, 0xEA, 0xB1, 0x28, 0x48,
297*4418919fSjohnjiang 			0xEB, 0x75, 0xB1, 0xC7
298*4418919fSjohnjiang 		},
299*4418919fSjohnjiang 		.len = 100
300*4418919fSjohnjiang 	},
301*4418919fSjohnjiang 	.result_len = 100
302*4418919fSjohnjiang },
303*4418919fSjohnjiang {
304*4418919fSjohnjiang 	.description = "Modular Exponentiation "
305*4418919fSjohnjiang 				   "(mod=255, base=20, exp=10, res=255)",
306*4418919fSjohnjiang 	.xform_type = RTE_CRYPTO_ASYM_XFORM_MODEX,
307*4418919fSjohnjiang 	.base = {
308*4418919fSjohnjiang 		.data = {
309*4418919fSjohnjiang 			0xD8, 0x21, 0xD2, 0x76, 0xAE, 0x01, 0x62, 0xD8,
310*4418919fSjohnjiang 			0x8C, 0x80, 0x01, 0x25, 0xC7, 0xE8, 0x4E, 0x0F,
311*4418919fSjohnjiang 			0x7F, 0x23, 0xFE, 0xBB
312*4418919fSjohnjiang 		},
313*4418919fSjohnjiang 		.len = 20
314*4418919fSjohnjiang 	},
315*4418919fSjohnjiang 	.exponent = {
316*4418919fSjohnjiang 		.data = {
317*4418919fSjohnjiang 			0xE5, 0xCE, 0x50, 0xE8, 0x97, 0x32, 0xFB, 0x5C,
318*4418919fSjohnjiang 			0xFC, 0x62
319*4418919fSjohnjiang 		},
320*4418919fSjohnjiang 		.len = 10
321*4418919fSjohnjiang 	},
322*4418919fSjohnjiang 	.reminder = {
323*4418919fSjohnjiang 		.data = {
324*4418919fSjohnjiang 			0x1F, 0xA8, 0xAC, 0x32, 0x6C, 0x20, 0xBE, 0x1D,
325*4418919fSjohnjiang 			0x88, 0xE9, 0x94, 0x7E, 0xDE, 0xB5, 0x15, 0xA5,
326*4418919fSjohnjiang 			0xF3, 0x45, 0x77, 0xB3, 0x3E, 0xDD, 0xDD, 0xAE,
327*4418919fSjohnjiang 			0xEA, 0xAE, 0x32, 0x81, 0x37, 0xAE, 0x26, 0xC5,
328*4418919fSjohnjiang 			0x6F, 0x3A, 0x75, 0x1F, 0x4F, 0xA2, 0xA3, 0x8B,
329*4418919fSjohnjiang 			0xDC, 0x52, 0x3C, 0xD5, 0x42, 0x00, 0x58, 0x37,
330*4418919fSjohnjiang 			0xB3, 0x5B, 0xC9, 0x78, 0xFA, 0x48, 0xFE, 0x4B,
331*4418919fSjohnjiang 			0x81, 0xFB, 0x4C, 0x5D, 0x9F, 0x5E, 0x4F, 0x56,
332*4418919fSjohnjiang 			0x30, 0x79, 0x71, 0x1E, 0xC5, 0x8E, 0xC2, 0x2E,
333*4418919fSjohnjiang 			0x9D, 0x18, 0xD8, 0x34, 0x0E, 0xDB, 0xCB, 0x02,
334*4418919fSjohnjiang 			0xA7, 0x37, 0x00, 0x44, 0x57, 0x2A, 0x11, 0x85,
335*4418919fSjohnjiang 			0x81, 0x06, 0x28, 0xB4, 0x95, 0x79, 0xE2, 0x60,
336*4418919fSjohnjiang 			0x39, 0x66, 0x34, 0x2F, 0x19, 0xD4, 0x42, 0x70,
337*4418919fSjohnjiang 			0xA8, 0xE9, 0x51, 0xBC, 0xB4, 0x04, 0xD6, 0x4B,
338*4418919fSjohnjiang 			0xE1, 0x4A, 0xEE, 0x6F, 0x69, 0xD7, 0x82, 0x07,
339*4418919fSjohnjiang 			0x59, 0xD6, 0xB0, 0xAC, 0x22, 0x28, 0xB8, 0x70,
340*4418919fSjohnjiang 			0x5F, 0xD2, 0x0D, 0x15, 0x6D, 0xED, 0xEB, 0x8A,
341*4418919fSjohnjiang 			0xD5, 0x64, 0x16, 0x7C, 0x12, 0x25, 0x76, 0xFD,
342*4418919fSjohnjiang 			0x8A, 0x8D, 0xC5, 0xEA, 0xF8, 0xA9, 0x04, 0x65,
343*4418919fSjohnjiang 			0x58, 0x6D, 0x67, 0x2F, 0xA7, 0x3E, 0x2C, 0x96,
344*4418919fSjohnjiang 			0x55, 0x11, 0xAA, 0x10, 0xE0, 0x1B, 0x0F, 0x1C,
345*4418919fSjohnjiang 			0x89, 0x10, 0x7C, 0x63, 0xCB, 0x0B, 0xB8, 0x1C,
346*4418919fSjohnjiang 			0x49, 0x16, 0xC1, 0xB3, 0xA5, 0x57, 0x87, 0x4F,
347*4418919fSjohnjiang 			0x80, 0x8B, 0x18, 0xF0, 0x46, 0xCE, 0xE4, 0x95,
348*4418919fSjohnjiang 			0x2F, 0x9C, 0xE7, 0xB7, 0x40, 0x1C, 0xB4, 0xA3,
349*4418919fSjohnjiang 			0xD4, 0x30, 0x9C, 0xFD, 0x95, 0x35, 0x57, 0x10,
350*4418919fSjohnjiang 			0x50, 0x40, 0xDA, 0x47, 0x8E, 0x21, 0xAE, 0x05,
351*4418919fSjohnjiang 			0xF8, 0xA8, 0x72, 0xA5, 0x68, 0xE1, 0xA2, 0xAB,
352*4418919fSjohnjiang 			0x36, 0x0D, 0x4B, 0xDB, 0x7B, 0xBF, 0x7F, 0x51,
353*4418919fSjohnjiang 			0x51, 0xC9, 0xBB, 0x3F, 0xF7, 0x76, 0x45, 0x78,
354*4418919fSjohnjiang 			0xAC, 0x3F, 0x56, 0xF4, 0x27, 0x7E, 0xEF, 0x02,
355*4418919fSjohnjiang 			0xED, 0x41, 0x15, 0xDB, 0xE4, 0x81, 0x59
356*4418919fSjohnjiang 		},
357*4418919fSjohnjiang 		.len = 255
358*4418919fSjohnjiang 	},
359*4418919fSjohnjiang 	.modulus = {
360*4418919fSjohnjiang 		.data = {
361*4418919fSjohnjiang 			0x71, 0x3C, 0x6C, 0x7A, 0x19, 0x31, 0xF8, 0x94,
362*4418919fSjohnjiang 			0xC9, 0xAA, 0x25, 0x69, 0xA7, 0xF2, 0x28, 0x70,
363*4418919fSjohnjiang 			0x84, 0x5D, 0xEC, 0x40, 0xC8, 0xF9, 0xC5, 0x79,
364*4418919fSjohnjiang 			0xF9, 0x87, 0xD1, 0xA0, 0xC1, 0x5A, 0x06, 0xE4,
365*4418919fSjohnjiang 			0x65, 0xB8, 0x29, 0x0B, 0x2B, 0xFE, 0x67, 0xF0,
366*4418919fSjohnjiang 			0x91, 0x96, 0xE1, 0xCD, 0x5A, 0xCE, 0x44, 0xA3,
367*4418919fSjohnjiang 			0x4F, 0xE8, 0xBE, 0xC6, 0xA3, 0x0A, 0xCB, 0xF5,
368*4418919fSjohnjiang 			0x7D, 0x8B, 0x9B, 0x2F, 0x4E, 0xC9, 0x54, 0x48,
369*4418919fSjohnjiang 			0xA4, 0xC2, 0x09, 0xCE, 0xA5, 0x93, 0x1F, 0x43,
370*4418919fSjohnjiang 			0xC2, 0xCE, 0xFB, 0xBB, 0x69, 0x29, 0x03, 0x74,
371*4418919fSjohnjiang 			0xD6, 0x25, 0x47, 0x6B, 0xAC, 0x4E, 0x44, 0x8C,
372*4418919fSjohnjiang 			0x39, 0x2F, 0xB2, 0xDD, 0x15, 0x1B, 0xA3, 0x3D,
373*4418919fSjohnjiang 			0xA4, 0x0C, 0xFF, 0xCB, 0x05, 0xC2, 0x81, 0x97,
374*4418919fSjohnjiang 			0x16, 0xE2, 0xAC, 0x8A, 0xF3, 0xED, 0x80, 0xA4,
375*4418919fSjohnjiang 			0xC5, 0xFC, 0xF5, 0x6C, 0x4B, 0xBB, 0x05, 0x91,
376*4418919fSjohnjiang 			0xD4, 0x0F, 0xDA, 0x70, 0x7C, 0x9A, 0xA1, 0x63,
377*4418919fSjohnjiang 			0x15, 0xEE, 0xBB, 0x17, 0xE6, 0x20, 0x50, 0x74,
378*4418919fSjohnjiang 			0x36, 0x9C, 0xA1, 0x10, 0x29, 0x22, 0xFB, 0x7E,
379*4418919fSjohnjiang 			0x2A, 0x08, 0xF3, 0x07, 0xEA, 0xCD, 0x2C, 0x50,
380*4418919fSjohnjiang 			0x18, 0x15, 0x66, 0x87, 0x74, 0x19, 0x11, 0x2B,
381*4418919fSjohnjiang 			0x77, 0x85, 0xA0, 0x57, 0xA7, 0xEB, 0x6E, 0x15,
382*4418919fSjohnjiang 			0x15, 0x0D, 0xA4, 0x18, 0x5D, 0x54, 0x13, 0xE3,
383*4418919fSjohnjiang 			0x33, 0x12, 0x8D, 0xA3, 0xEF, 0x54, 0xE6, 0x1E,
384*4418919fSjohnjiang 			0xDB, 0x8F, 0x3D, 0x02, 0x3C, 0xCB, 0x34, 0x93,
385*4418919fSjohnjiang 			0x31, 0x1D, 0x4D, 0x3E, 0x9C, 0x22, 0x04, 0xD1,
386*4418919fSjohnjiang 			0x19, 0x53, 0x45, 0xE5, 0xBF, 0xF8, 0x70, 0x1A,
387*4418919fSjohnjiang 			0xEA, 0x52, 0x93, 0x2A, 0x26, 0x8A, 0x1E, 0x47,
388*4418919fSjohnjiang 			0xCE, 0x83, 0x5B, 0x35, 0x9A, 0xD2, 0x75, 0xC6,
389*4418919fSjohnjiang 			0xC6, 0x20, 0x84, 0x9F, 0x74, 0x69, 0x69, 0xB8,
390*4418919fSjohnjiang 			0x29, 0xD8, 0xA4, 0x70, 0x91, 0x42, 0x06, 0x25,
391*4418919fSjohnjiang 			0x38, 0xCB, 0x42, 0x75, 0x52, 0xEF, 0xB8, 0x64,
392*4418919fSjohnjiang 			0x4F, 0xC5, 0x7C, 0xC4, 0x09, 0xDB, 0x12
393*4418919fSjohnjiang 		},
394*4418919fSjohnjiang 		.len = 255
395*4418919fSjohnjiang 	},
396*4418919fSjohnjiang 	.result_len = 255
397*4418919fSjohnjiang },
398*4418919fSjohnjiang {
399*4418919fSjohnjiang 	.description = "Modular Exponentiation "
400*4418919fSjohnjiang 				   "(mod=112, base=257, exp=43, res=112)",
401*4418919fSjohnjiang 	.xform_type = RTE_CRYPTO_ASYM_XFORM_MODEX,
402*4418919fSjohnjiang 	.base = {
403*4418919fSjohnjiang 		.data = {
404*4418919fSjohnjiang 			0x53, 0x63, 0xB0, 0x3A, 0x30, 0xDE, 0x07, 0xBC,
405*4418919fSjohnjiang 			0xE4, 0x4B, 0x52, 0x37, 0x9C, 0xD8, 0x5A, 0xCD,
406*4418919fSjohnjiang 			0x03, 0xE1, 0xEA, 0x6D, 0xDE, 0x4C, 0x19, 0xE6,
407*4418919fSjohnjiang 			0xA2, 0x0F, 0xAE, 0x56, 0xCD, 0xB2, 0xB6, 0x5B,
408*4418919fSjohnjiang 			0x31, 0xF5, 0x41, 0x48, 0x8D, 0xA2, 0xC7, 0x0C,
409*4418919fSjohnjiang 			0x19, 0x32, 0x6D, 0x58, 0x10, 0xD5, 0xF0, 0x64,
410*4418919fSjohnjiang 			0xF9, 0xF5, 0xD7, 0xFE, 0x37, 0x4A, 0xD8, 0xE3,
411*4418919fSjohnjiang 			0xBF, 0xDF, 0xCB, 0x45, 0xD5, 0xBF, 0xB9, 0x2A,
412*4418919fSjohnjiang 			0x60, 0xF8, 0x52, 0xB0, 0xB5, 0x22, 0x76, 0xBD,
413*4418919fSjohnjiang 			0xD3, 0x0D, 0xD4, 0xE1, 0x42, 0xC4, 0x8C, 0x47,
414*4418919fSjohnjiang 			0x2D, 0x04, 0x25, 0x1B, 0xFB, 0x21, 0xFD, 0x80,
415*4418919fSjohnjiang 			0xC0, 0xCE, 0x9D, 0x32, 0x76, 0x8E, 0x18, 0x28,
416*4418919fSjohnjiang 			0xDC, 0x0F, 0x44, 0x37, 0xF8, 0x61, 0x45, 0x93,
417*4418919fSjohnjiang 			0xD3, 0x62, 0x21, 0xEE, 0x8B, 0x89, 0x8B, 0xAF,
418*4418919fSjohnjiang 			0x8B, 0xE9, 0xA5, 0xD2, 0x00, 0xF5, 0xFF, 0xE6,
419*4418919fSjohnjiang 			0xE0, 0x56, 0x9D, 0x41, 0x13, 0xBC, 0xD6, 0x6E,
420*4418919fSjohnjiang 			0xC9, 0xE8, 0xE8, 0xC7, 0x61, 0x00, 0x7D, 0x91,
421*4418919fSjohnjiang 			0x59, 0xAC, 0x6A, 0x24, 0x86, 0x3C, 0x50, 0xFB,
422*4418919fSjohnjiang 			0x49, 0xC4, 0xB9, 0x41, 0xCD, 0xF0, 0xD9, 0xE7,
423*4418919fSjohnjiang 			0xE1, 0x54, 0x3F, 0x17, 0x3B, 0xC7, 0x12, 0x20,
424*4418919fSjohnjiang 			0x6E, 0xC5, 0x80, 0x11, 0xA5, 0x78, 0x72, 0xCA,
425*4418919fSjohnjiang 			0xBC, 0x90, 0xB7, 0xC5, 0xFF, 0x78, 0xE5, 0x71,
426*4418919fSjohnjiang 			0x62, 0x4C, 0xCC, 0x6C, 0xEA, 0x76, 0xE3, 0xB6,
427*4418919fSjohnjiang 			0x00, 0x54, 0x31, 0x72, 0x5A, 0xFE, 0x14, 0xC3,
428*4418919fSjohnjiang 			0x60, 0x3A, 0x79, 0x97, 0x26, 0x87, 0x69, 0x8D,
429*4418919fSjohnjiang 			0x44, 0x8E, 0x8B, 0xE0, 0xBC, 0x5C, 0x9F, 0xDE,
430*4418919fSjohnjiang 			0xD0, 0x90, 0xA2, 0x85, 0xC8, 0x3E, 0x7E, 0xA0,
431*4418919fSjohnjiang 			0x42, 0xE2, 0x3B, 0xEE, 0x0C, 0x59, 0x1E, 0x72,
432*4418919fSjohnjiang 			0x62, 0xA5, 0xEE, 0x20, 0xE0, 0xFE, 0x0D, 0xD3,
433*4418919fSjohnjiang 			0x9F, 0xA9, 0x84, 0xBC, 0xD0, 0x6E, 0x5E, 0xC2,
434*4418919fSjohnjiang 			0x0B, 0xF2, 0xAE, 0xB6, 0xE6, 0xC6, 0x88, 0xF9,
435*4418919fSjohnjiang 			0x51, 0xF8, 0x02, 0x08, 0xC6, 0x99, 0x73, 0xF2,
436*4418919fSjohnjiang 			0x36
437*4418919fSjohnjiang 		},
438*4418919fSjohnjiang 		.len = 257
439*4418919fSjohnjiang 	},
440*4418919fSjohnjiang 	.exponent = {
441*4418919fSjohnjiang 		.data = {
442*4418919fSjohnjiang 			0xCA, 0x5C, 0x73, 0xF7, 0x8B, 0x1F, 0x95, 0xE4,
443*4418919fSjohnjiang 			0x0E, 0x9B, 0x47, 0xDC, 0x03, 0x96, 0x75, 0xB4,
444*4418919fSjohnjiang 			0x48, 0x74, 0x73, 0xBE, 0xF8, 0x92, 0x80, 0xE4,
445*4418919fSjohnjiang 			0x93, 0x5D, 0x87, 0x7D, 0x74, 0xF7, 0x45, 0xEF,
446*4418919fSjohnjiang 			0x8E, 0x53, 0x9C, 0x03, 0xB0, 0xD6, 0xF3, 0xBF,
447*4418919fSjohnjiang 			0x86, 0xB2, 0xCD
448*4418919fSjohnjiang 		},
449*4418919fSjohnjiang 		.len = 43
450*4418919fSjohnjiang 	},
451*4418919fSjohnjiang 	.reminder = {
452*4418919fSjohnjiang 		.data = {
453*4418919fSjohnjiang 			0x01, 0x0E, 0x8C, 0x1B, 0x19, 0xF6, 0xB0, 0x0D,
454*4418919fSjohnjiang 			0x8D, 0xFF, 0x12, 0x74, 0xF0, 0xD0, 0xB1, 0xA2,
455*4418919fSjohnjiang 			0x49, 0xA4, 0xA3, 0x9C, 0x4D, 0xFA, 0xA7, 0xB7,
456*4418919fSjohnjiang 			0x6E, 0x45, 0xCC, 0x0D, 0x75, 0xC7, 0xF7, 0x99,
457*4418919fSjohnjiang 			0x1F, 0x01, 0x44, 0x7B, 0xF2, 0xF9, 0x73, 0x67,
458*4418919fSjohnjiang 			0x75, 0xD9, 0x4C, 0x2F, 0xA9, 0xB4, 0x59, 0x9E,
459*4418919fSjohnjiang 			0xF9, 0x2C, 0xB9, 0x14, 0x5D, 0x5C, 0x18, 0x72,
460*4418919fSjohnjiang 			0xEC, 0x27, 0x1A, 0x2D, 0xFB, 0xDA, 0xEB, 0x2F,
461*4418919fSjohnjiang 			0x98, 0xA9, 0xC2, 0x01, 0x75, 0x7A, 0x27, 0x07,
462*4418919fSjohnjiang 			0x94, 0x71, 0x3F, 0x90, 0xDF, 0x56, 0x6F, 0x23,
463*4418919fSjohnjiang 			0x47, 0x12, 0xAD, 0x32, 0x7A, 0xBC, 0x91, 0x36,
464*4418919fSjohnjiang 			0x43, 0xD2, 0x88, 0x3D, 0x2C, 0x31, 0x85, 0xE6,
465*4418919fSjohnjiang 			0x22, 0x2E, 0xCF, 0x53, 0x87, 0x0D, 0xAE, 0x72,
466*4418919fSjohnjiang 			0x31, 0x21, 0x52, 0x0C, 0xDF, 0xAC, 0xEA, 0x57
467*4418919fSjohnjiang 		},
468*4418919fSjohnjiang 		.len = 112
469*4418919fSjohnjiang 	},
470*4418919fSjohnjiang 	.modulus = {
471*4418919fSjohnjiang 		.data = {
472*4418919fSjohnjiang 			0x20, 0x7E, 0x78, 0xFC, 0x54, 0x40, 0x47, 0xED,
473*4418919fSjohnjiang 			0x7B, 0x26, 0x21, 0x94, 0x6D, 0x9C, 0xDC, 0xB7,
474*4418919fSjohnjiang 			0x7C, 0xB8, 0xDE, 0x57, 0x3C, 0x64, 0x47, 0x50,
475*4418919fSjohnjiang 			0xDB, 0x92, 0x0A, 0x5A, 0x85, 0x77, 0x84, 0xE3,
476*4418919fSjohnjiang 			0xC7, 0xEA, 0x33, 0xA2, 0x63, 0xDA, 0x63, 0xE3,
477*4418919fSjohnjiang 			0xDF, 0x07, 0x32, 0x85, 0xDC, 0xC3, 0xF0, 0x7C,
478*4418919fSjohnjiang 			0xD8, 0x44, 0xC4, 0xDE, 0x2C, 0xB7, 0x91, 0xAE,
479*4418919fSjohnjiang 			0xCD, 0xA2, 0xB3, 0x6B, 0x43, 0x04, 0x88, 0xBE,
480*4418919fSjohnjiang 			0x3B, 0x50, 0xE1, 0x88, 0xD0, 0x20, 0x04, 0x36,
481*4418919fSjohnjiang 			0xA4, 0xA0, 0xB0, 0x3B, 0x61, 0x9B, 0x83, 0xDB,
482*4418919fSjohnjiang 			0x05, 0x77, 0x5A, 0x5E, 0x87, 0xA6, 0xBE, 0x6A,
483*4418919fSjohnjiang 			0x2A, 0xB4, 0x30, 0x10, 0x8D, 0x3B, 0xBC, 0x84,
484*4418919fSjohnjiang 			0x9E, 0xB2, 0x21, 0x7E, 0xAC, 0x67, 0x94, 0x9F,
485*4418919fSjohnjiang 			0xF1, 0x32, 0x3C, 0xF0, 0x94, 0x83, 0xF8, 0x19
486*4418919fSjohnjiang 		},
487*4418919fSjohnjiang 		.len = 112
488*4418919fSjohnjiang 	},
489*4418919fSjohnjiang 	.result_len = 112
490*4418919fSjohnjiang },
491*4418919fSjohnjiang {
492*4418919fSjohnjiang 	.description = "Modular Exponentiation "
493*4418919fSjohnjiang 				   "(mod=299, base=240, exp=321, res=299)",
494*4418919fSjohnjiang 	.xform_type = RTE_CRYPTO_ASYM_XFORM_MODEX,
495*4418919fSjohnjiang 	.base = {
496*4418919fSjohnjiang 		.data = {
497*4418919fSjohnjiang 			0xAF, 0xE4, 0xCF, 0x9F, 0x7C, 0x20, 0x72, 0xE9,
498*4418919fSjohnjiang 			0x50, 0x2E, 0xE5, 0xE4, 0xEF, 0x80, 0x28, 0xB3,
499*4418919fSjohnjiang 			0x3A, 0x92, 0xAC, 0xCD, 0xF1, 0x6B, 0x7D, 0x83,
500*4418919fSjohnjiang 			0x78, 0x4E, 0x9B, 0x30, 0x1E, 0xF4, 0x11, 0x15,
501*4418919fSjohnjiang 			0x49, 0xAC, 0x06, 0xA2, 0x92, 0xB9, 0x91, 0x1B,
502*4418919fSjohnjiang 			0xE8, 0xC8, 0xBC, 0x8A, 0x6F, 0xB2, 0xB8, 0x7C,
503*4418919fSjohnjiang 			0xC5, 0xD3, 0x68, 0x60, 0xA4, 0x37, 0x7A, 0x6E,
504*4418919fSjohnjiang 			0x3A, 0x1C, 0xAE, 0xAC, 0x70, 0x7B, 0x03, 0xE0,
505*4418919fSjohnjiang 			0xDC, 0x7D, 0x51, 0x2E, 0x04, 0xC1, 0xD4, 0xA8,
506*4418919fSjohnjiang 			0x5A, 0xE1, 0xE8, 0xAD, 0x83, 0x0C, 0x0C, 0x2D,
507*4418919fSjohnjiang 			0x93, 0x8A, 0x07, 0x25, 0xC6, 0xE1, 0xAB, 0xD7,
508*4418919fSjohnjiang 			0x2F, 0xC4, 0x14, 0x2E, 0x68, 0x89, 0xA7, 0xEA,
509*4418919fSjohnjiang 			0x4E, 0x7B, 0xC4, 0x05, 0xD4, 0xB7, 0xC1, 0x9B,
510*4418919fSjohnjiang 			0x9D, 0x8D, 0x58, 0x33, 0xE3, 0xB0, 0x58, 0xD8,
511*4418919fSjohnjiang 			0xCF, 0x6D, 0xA9, 0xC6, 0x96, 0xE3, 0x6E, 0xAA,
512*4418919fSjohnjiang 			0x23, 0x17, 0x19, 0x74, 0xE0, 0x7B, 0x50, 0x7A,
513*4418919fSjohnjiang 			0x57, 0x49, 0xFD, 0xFA, 0x3E, 0x7D, 0xF9, 0xB6,
514*4418919fSjohnjiang 			0x30, 0x5F, 0x1C, 0xE4, 0x5F, 0xC7, 0x3D, 0x5B,
515*4418919fSjohnjiang 			0x9E, 0xF5, 0xB6, 0x2F, 0xEA, 0xCF, 0x31, 0x35,
516*4418919fSjohnjiang 			0xC0, 0x60, 0xDE, 0x18, 0xC5, 0x0D, 0xBB, 0xC5,
517*4418919fSjohnjiang 			0xD1, 0x1D, 0x25, 0x7C, 0x8C, 0x35, 0x8A, 0x71,
518*4418919fSjohnjiang 			0xA8, 0x01, 0x9E, 0xEA, 0x8F, 0xD4, 0x5D, 0x52,
519*4418919fSjohnjiang 			0x86, 0xB7, 0x11, 0xC8, 0xF2, 0x97, 0xD0, 0x73,
520*4418919fSjohnjiang 			0x7C, 0xAB, 0xBB, 0xF4, 0x38, 0x4E, 0x48, 0xB5,
521*4418919fSjohnjiang 			0x70, 0x35, 0x2A, 0xC5, 0x14, 0x86, 0x2E, 0x64,
522*4418919fSjohnjiang 			0x91, 0x32, 0x37, 0x5E, 0x1A, 0x00, 0xAC, 0xF1,
523*4418919fSjohnjiang 			0xFC, 0x36, 0xEA, 0x7F, 0x50, 0xAF, 0x02, 0xEC,
524*4418919fSjohnjiang 			0x06, 0xE8, 0x55, 0x68, 0x0D, 0x9A, 0x58, 0x4D,
525*4418919fSjohnjiang 			0xBD, 0xB9, 0x62, 0x25, 0xAB, 0x94, 0xD7, 0x37,
526*4418919fSjohnjiang 			0xAD, 0xB4, 0x9F, 0xB4, 0x3A, 0x07, 0x45, 0x4B
527*4418919fSjohnjiang 		},
528*4418919fSjohnjiang 		.len = 240
529*4418919fSjohnjiang 	},
530*4418919fSjohnjiang 	.exponent = {
531*4418919fSjohnjiang 		.data = {
532*4418919fSjohnjiang 			0xB1, 0xC2, 0x86, 0xFA, 0xE2, 0xF1, 0x71, 0x9C,
533*4418919fSjohnjiang 			0x61, 0x23, 0xAB, 0x37, 0xC6, 0x4F, 0x17, 0xFE,
534*4418919fSjohnjiang 			0x4D, 0xAC, 0x11, 0xD4, 0x36, 0xEE, 0xCB, 0xAE,
535*4418919fSjohnjiang 			0x46, 0x88, 0xA4, 0x92, 0x20, 0x6D, 0xDC, 0xF1,
536*4418919fSjohnjiang 			0xE4, 0x94, 0x72, 0x07, 0x64, 0x84, 0xF4, 0x83,
537*4418919fSjohnjiang 			0x31, 0x0C, 0x04, 0xF7, 0x5B, 0x68, 0xE6, 0x7A,
538*4418919fSjohnjiang 			0x6C, 0xCD, 0x6C, 0xBF, 0x03, 0x07, 0x5A, 0x91,
539*4418919fSjohnjiang 			0x37, 0x3A, 0x73, 0xFF, 0xB2, 0x11, 0x88, 0x39,
540*4418919fSjohnjiang 			0x19, 0xEB, 0x1C, 0x0E, 0x45, 0x99, 0xE6, 0x4E,
541*4418919fSjohnjiang 			0xE4, 0xB1, 0x57, 0xBE, 0xBE, 0x7A, 0xE8, 0x56,
542*4418919fSjohnjiang 			0x19, 0x92, 0xAC, 0xBD, 0x78, 0xCC, 0x54, 0xDC,
543*4418919fSjohnjiang 			0x2D, 0xE6, 0x7D, 0x61, 0xE1, 0x27, 0xA7, 0x43,
544*4418919fSjohnjiang 			0x46, 0x25, 0x51, 0x95, 0x47, 0xF6, 0xB1, 0x68,
545*4418919fSjohnjiang 			0x17, 0xE6, 0x21, 0xD4, 0x83, 0x1E, 0x32, 0xAF,
546*4418919fSjohnjiang 			0x22, 0xA4, 0x7D, 0x3D, 0x1F, 0xE6, 0x43, 0x96,
547*4418919fSjohnjiang 			0x64, 0xAB, 0xC5, 0x81, 0xBC, 0x79, 0x14, 0x54,
548*4418919fSjohnjiang 			0x02, 0x78, 0x79, 0x71, 0x58, 0xC2, 0x2E, 0x56,
549*4418919fSjohnjiang 			0x21, 0x6B, 0x40, 0xDB, 0x79, 0xD1, 0x80, 0x5D,
550*4418919fSjohnjiang 			0x61, 0xF0, 0x9F, 0x4A, 0xC3, 0x8F, 0xAC, 0x98,
551*4418919fSjohnjiang 			0x94, 0x88, 0x2C, 0xA5, 0xCB, 0x06, 0x47, 0x73,
552*4418919fSjohnjiang 			0x27, 0x71, 0xA8, 0x0C, 0xBD, 0xFD, 0x83, 0xBF,
553*4418919fSjohnjiang 			0xA2, 0xCC, 0x91, 0x63, 0x9D, 0xC5, 0x58, 0x50,
554*4418919fSjohnjiang 			0x53, 0x98, 0xA0, 0x5F, 0x0B, 0xDE, 0x15, 0x65,
555*4418919fSjohnjiang 			0xFB, 0x5D, 0xF1, 0x9C, 0xD0, 0xC3, 0x6B, 0x4D,
556*4418919fSjohnjiang 			0x31, 0x20, 0x2F, 0x4D, 0x4F, 0x9D, 0xEB, 0xCB,
557*4418919fSjohnjiang 			0xFC, 0xDA, 0x54, 0xC1, 0x57, 0x10, 0x0F, 0xFC,
558*4418919fSjohnjiang 			0xD2, 0xA7, 0x44, 0x0E, 0x89, 0x0D, 0x89, 0x56,
559*4418919fSjohnjiang 			0x1E, 0x40, 0x64, 0xFF, 0x9E, 0xB1, 0x5C, 0x9A,
560*4418919fSjohnjiang 			0x6E, 0xE5, 0xE9, 0x48, 0xAB, 0x27, 0x91, 0x9A,
561*4418919fSjohnjiang 			0x3B, 0x8D, 0xB6, 0xA0, 0xD6, 0xD8, 0x9B, 0xBD,
562*4418919fSjohnjiang 			0x0D, 0x1D, 0x90, 0xED, 0x54, 0xE1, 0x75, 0x5B,
563*4418919fSjohnjiang 			0x89, 0xE1, 0x0C, 0xC7, 0x42, 0xD7, 0x68, 0xCB,
564*4418919fSjohnjiang 			0x41, 0x59, 0xC1, 0x96, 0xD9, 0x77, 0x88, 0xF1,
565*4418919fSjohnjiang 			0x68, 0x90, 0xDA, 0xE0, 0xB7, 0x1E, 0x2C, 0xDB,
566*4418919fSjohnjiang 			0x27, 0x78, 0xC0, 0x15, 0x68, 0x9E, 0xF7, 0x48,
567*4418919fSjohnjiang 			0x45, 0xFC, 0x22, 0x5D, 0x2B, 0xFA, 0xC7, 0x81,
568*4418919fSjohnjiang 			0x26, 0x60, 0xF7, 0x50, 0xEE, 0xF9, 0x61, 0xF8,
569*4418919fSjohnjiang 			0x59, 0x28, 0x92, 0xEE, 0xD7, 0x92, 0x5F, 0x5E,
570*4418919fSjohnjiang 			0xA5, 0x5A, 0x4C, 0xC7, 0x89, 0x9B, 0x9F, 0x8F,
571*4418919fSjohnjiang 			0x01, 0x3B, 0x9D, 0x8D, 0xF8, 0x6B, 0xEE, 0x64,
572*4418919fSjohnjiang 			0x54
573*4418919fSjohnjiang 		},
574*4418919fSjohnjiang 		.len = 321
575*4418919fSjohnjiang 	},
576*4418919fSjohnjiang 	.reminder = {
577*4418919fSjohnjiang 		.data = {
578*4418919fSjohnjiang 			0x4A, 0x18, 0x9C, 0xCB, 0x90, 0x71, 0x8E, 0xD3,
579*4418919fSjohnjiang 			0xCA, 0xEB, 0xF1, 0xE7, 0xE8, 0xB0, 0x19, 0x9C,
580*4418919fSjohnjiang 			0x05, 0x51, 0x29, 0x8C, 0xB9, 0x6D, 0x1B, 0x05,
581*4418919fSjohnjiang 			0xDC, 0x16, 0x91, 0x0E, 0x69, 0xF3, 0x76, 0x29,
582*4418919fSjohnjiang 			0x9D, 0x91, 0x21, 0x98, 0x56, 0x9A, 0x22, 0x20,
583*4418919fSjohnjiang 			0xDF, 0x75, 0x4D, 0x40, 0x51, 0x99, 0x6E, 0xEA,
584*4418919fSjohnjiang 			0x37, 0x22, 0xF4, 0x27, 0x04, 0x6E, 0xDC, 0xB2,
585*4418919fSjohnjiang 			0xF5, 0xF6, 0xF8, 0xD6, 0xA8, 0xB7, 0x2D, 0xB7,
586*4418919fSjohnjiang 			0x18, 0x44, 0xF7, 0x62, 0x91, 0x44, 0x97, 0x91,
587*4418919fSjohnjiang 			0x6C, 0x14, 0x7E, 0xEB, 0x00, 0xB0, 0x3F, 0x7D,
588*4418919fSjohnjiang 			0x7B, 0x4A, 0xD0, 0x04, 0xD2, 0xCC, 0x5A, 0x22,
589*4418919fSjohnjiang 			0xB5, 0x0E, 0xAB, 0x1A, 0xB0, 0xD7, 0x97, 0xDD,
590*4418919fSjohnjiang 			0xE5, 0x78, 0xA9, 0x97, 0xF4, 0xC7, 0xE0, 0x28,
591*4418919fSjohnjiang 			0x00, 0xF3, 0x48, 0xCA, 0x69, 0xD0, 0xE8, 0x43,
592*4418919fSjohnjiang 			0x12, 0x82, 0x24, 0xBA, 0x28, 0xBD, 0x8E, 0xCB,
593*4418919fSjohnjiang 			0xB1, 0x98, 0x08, 0xC5, 0x0F, 0xF2, 0xE9, 0xA2,
594*4418919fSjohnjiang 			0x6C, 0xCC, 0xA9, 0x21, 0xA6, 0x38, 0xAE, 0x88,
595*4418919fSjohnjiang 			0x35, 0x5E, 0xBB, 0xEF, 0x37, 0xAB, 0xDA, 0x07,
596*4418919fSjohnjiang 			0x5F, 0x0A, 0xB4, 0x29, 0x65, 0x24, 0x22, 0x6C,
597*4418919fSjohnjiang 			0x9E, 0xF5, 0x19, 0xA4, 0x8E, 0x5A, 0xFA, 0xFC,
598*4418919fSjohnjiang 			0x97, 0x8A, 0xE8, 0x2B, 0x6D, 0x4B, 0xD0, 0xFB,
599*4418919fSjohnjiang 			0x86, 0xB9, 0xE7, 0x2C, 0x08, 0x25, 0x17, 0x90,
600*4418919fSjohnjiang 			0x77, 0x54, 0xE0, 0xBA, 0x0F, 0x59, 0x6C, 0x8C,
601*4418919fSjohnjiang 			0x0E, 0xCF, 0x54, 0x55, 0x6C, 0xF1, 0x65, 0x48,
602*4418919fSjohnjiang 			0xCC, 0xF4, 0xAB, 0xA1, 0x91, 0x07, 0x29, 0xFC,
603*4418919fSjohnjiang 			0x46, 0xBC, 0x2C, 0x85, 0xA1, 0x0C, 0x8A, 0x77,
604*4418919fSjohnjiang 			0x7A, 0xC6, 0x01, 0x34, 0xCE, 0x92, 0x1D, 0x88,
605*4418919fSjohnjiang 			0x54, 0x23, 0x26, 0x9B, 0x6B, 0x80, 0x6D, 0x08,
606*4418919fSjohnjiang 			0x99, 0xAE, 0xC0, 0xF6, 0x45, 0x97, 0xAF, 0xCD,
607*4418919fSjohnjiang 			0x2F, 0x4A, 0x7E, 0xAB, 0xD8, 0x31, 0x48, 0xA1,
608*4418919fSjohnjiang 			0xEB, 0x5E, 0xD1, 0xC0, 0xE7, 0xD5, 0x37, 0x3D,
609*4418919fSjohnjiang 			0x03, 0xA3, 0x16, 0x09, 0xD4, 0xDE, 0xC3, 0x97,
610*4418919fSjohnjiang 			0x13, 0xB6, 0x67, 0x55, 0x8A, 0x71, 0x51, 0x66,
611*4418919fSjohnjiang 			0xF5, 0xA1, 0x3B, 0xE3, 0x49, 0x8D, 0x7C, 0x52,
612*4418919fSjohnjiang 			0xCD, 0xA7, 0x11, 0xDD, 0xE0, 0xA0, 0x5C, 0xD8,
613*4418919fSjohnjiang 			0xF8, 0xDF, 0x01, 0xC5, 0x61, 0x87, 0xB4, 0xDE,
614*4418919fSjohnjiang 			0x3E, 0x39, 0xED, 0xC3, 0x3F, 0x84, 0x70, 0x37,
615*4418919fSjohnjiang 			0xBA, 0xDB, 0x5B
616*4418919fSjohnjiang 		},
617*4418919fSjohnjiang 		.len = 299
618*4418919fSjohnjiang 	},
619*4418919fSjohnjiang 	.modulus = {
620*4418919fSjohnjiang 		.data = {
621*4418919fSjohnjiang 			0x85, 0x04, 0x13, 0x7C, 0x4D, 0xBF, 0xC6, 0x25,
622*4418919fSjohnjiang 			0xD9, 0xAA, 0x1F, 0xED, 0x00, 0x69, 0xD7, 0x6C,
623*4418919fSjohnjiang 			0xB0, 0x46, 0x52, 0xA5, 0xF4, 0xF6, 0x55, 0x16,
624*4418919fSjohnjiang 			0x67, 0x52, 0x09, 0xF0, 0x28, 0xA7, 0x30, 0x22,
625*4418919fSjohnjiang 			0x34, 0xF1, 0xEA, 0xEB, 0x7C, 0x18, 0xEE, 0xAC,
626*4418919fSjohnjiang 			0x1A, 0xC1, 0xF5, 0x31, 0x7E, 0xA4, 0x4A, 0x0C,
627*4418919fSjohnjiang 			0xEA, 0xFE, 0x33, 0xDB, 0x49, 0x04, 0xFD, 0x33,
628*4418919fSjohnjiang 			0x3F, 0xB1, 0x41, 0x1F, 0xBD, 0x43, 0x71, 0xDE,
629*4418919fSjohnjiang 			0xB9, 0xA2, 0x4F, 0x20, 0x57, 0xAF, 0x27, 0x37,
630*4418919fSjohnjiang 			0x58, 0xA8, 0x51, 0x5D, 0x4E, 0xAB, 0x17, 0x1C,
631*4418919fSjohnjiang 			0x99, 0xD9, 0xB2, 0x0D, 0x21, 0xCA, 0x35, 0x52,
632*4418919fSjohnjiang 			0xF2, 0x4C, 0x7C, 0x79, 0x83, 0x2C, 0xF2, 0x87,
633*4418919fSjohnjiang 			0xC5, 0x58, 0x6E, 0x6E, 0x48, 0xFB, 0x32, 0x4D,
634*4418919fSjohnjiang 			0x1C, 0xDC, 0xE9, 0xDA, 0x9B, 0x77, 0x19, 0xD9,
635*4418919fSjohnjiang 			0x78, 0xE4, 0xF5, 0x3A, 0x49, 0x3D, 0x0D, 0x3D,
636*4418919fSjohnjiang 			0x10, 0x77, 0x0B, 0xC2, 0xE6, 0x66, 0x68, 0xFA,
637*4418919fSjohnjiang 			0x55, 0x99, 0x65, 0x5E, 0x55, 0x87, 0xCF, 0x3C,
638*4418919fSjohnjiang 			0x9C, 0x6C, 0x08, 0x09, 0x1F, 0x9C, 0xCB, 0x5E,
639*4418919fSjohnjiang 			0xE5, 0x19, 0x39, 0xA9, 0x2F, 0xF0, 0x49, 0x3D,
640*4418919fSjohnjiang 			0x7C, 0xB6, 0x7B, 0xA2, 0x93, 0xF1, 0x52, 0xD8,
641*4418919fSjohnjiang 			0x92, 0xDD, 0x56, 0x57, 0x8E, 0xE2, 0x5F, 0xA0,
642*4418919fSjohnjiang 			0x64, 0xB2, 0xC5, 0x0F, 0xB9, 0x89, 0xA6, 0x3F,
643*4418919fSjohnjiang 			0x54, 0x51, 0x2D, 0x01, 0x51, 0x78, 0x32, 0xE1,
644*4418919fSjohnjiang 			0xA7, 0x4D, 0x45, 0xC0, 0xD0, 0x6C, 0xE7, 0xCA,
645*4418919fSjohnjiang 			0xB2, 0x3F, 0x17, 0xD4, 0xB6, 0x58, 0x9B, 0xA8,
646*4418919fSjohnjiang 			0xBA, 0x2F, 0x3D, 0x1D, 0x6A, 0x73, 0x82, 0x2B,
647*4418919fSjohnjiang 			0x26, 0x2E, 0x7A, 0xEE, 0xEA, 0x41, 0x25, 0xFE,
648*4418919fSjohnjiang 			0xF0, 0xA2, 0x9C, 0x60, 0x35, 0xAD, 0x34, 0x30,
649*4418919fSjohnjiang 			0x55, 0x02, 0x6B, 0x06, 0xF4, 0xAD, 0x91, 0xA3,
650*4418919fSjohnjiang 			0xA2, 0x9C, 0x12, 0x8D, 0xDF, 0x2B, 0x3F, 0x0C,
651*4418919fSjohnjiang 			0x54, 0xCB, 0x98, 0xBA, 0xA1, 0x33, 0x70, 0xEF,
652*4418919fSjohnjiang 			0xF1, 0xEE, 0x15, 0xB7, 0xC6, 0x27, 0x47, 0x83,
653*4418919fSjohnjiang 			0x90, 0x58, 0x08, 0x16, 0x83, 0x94, 0xE9, 0x95,
654*4418919fSjohnjiang 			0x8B, 0x03, 0xD0, 0x3C, 0x45, 0xF8, 0x90, 0xC9,
655*4418919fSjohnjiang 			0xA7, 0x64, 0x76, 0xE8, 0x01, 0xA4, 0xA2, 0xAD,
656*4418919fSjohnjiang 			0x6F, 0x19, 0xCF, 0x38, 0x9A, 0xAB, 0x6E, 0xBE,
657*4418919fSjohnjiang 			0x79, 0xE4, 0x0F, 0xCE, 0x9C, 0x59, 0xF2, 0xF4,
658*4418919fSjohnjiang 			0x26, 0xAB, 0x0F
659*4418919fSjohnjiang 		},
660*4418919fSjohnjiang 		.len = 299
661*4418919fSjohnjiang 	},
662*4418919fSjohnjiang 	.result_len = 299
663*4418919fSjohnjiang },
664*4418919fSjohnjiang {
665*4418919fSjohnjiang 	.description = "Modular Exponentiation "
666*4418919fSjohnjiang 				   "(mod=448, base=50, exp=40, res=448)",
667*4418919fSjohnjiang 	.xform_type = RTE_CRYPTO_ASYM_XFORM_MODEX,
668*4418919fSjohnjiang 	.base = {
669*4418919fSjohnjiang 		.data = {
670*4418919fSjohnjiang 			0x92, 0x45, 0x17, 0x7D, 0xD3, 0xF4, 0x2B, 0x93,
671*4418919fSjohnjiang 			0x8E, 0x1A, 0xFB, 0x1D, 0x13, 0x55, 0x53, 0x84,
672*4418919fSjohnjiang 			0x96, 0x3C, 0x39, 0xE0, 0xAF, 0x4A, 0xB4, 0xC9,
673*4418919fSjohnjiang 			0x16, 0x1F, 0xF4, 0x24, 0x65, 0xDD, 0xC3, 0x62,
674*4418919fSjohnjiang 			0x12, 0xAF, 0x86, 0x95, 0x0D, 0xDE, 0x28, 0x87,
675*4418919fSjohnjiang 			0x90, 0x11, 0xAA, 0x6E, 0x60, 0xCD, 0x54, 0xB7,
676*4418919fSjohnjiang 			0x48, 0x43
677*4418919fSjohnjiang 		},
678*4418919fSjohnjiang 		.len = 50
679*4418919fSjohnjiang 	},
680*4418919fSjohnjiang 	.exponent = {
681*4418919fSjohnjiang 		.data = {
682*4418919fSjohnjiang 			0x22, 0xD9, 0x4D, 0x01, 0x2F, 0x50, 0x5D, 0xE1,
683*4418919fSjohnjiang 			0x01, 0xAA, 0xC6, 0xC6, 0xCD, 0x5D, 0x7E, 0x61,
684*4418919fSjohnjiang 			0x75, 0x0A, 0xDC, 0x06, 0x07, 0x4B, 0xBD, 0x29,
685*4418919fSjohnjiang 			0x33, 0x09, 0x91, 0xD4, 0x29, 0xEB, 0x52, 0x24,
686*4418919fSjohnjiang 			0x27, 0xC6, 0x83, 0x6D, 0x70, 0xA9, 0xC9, 0x11
687*4418919fSjohnjiang 		},
688*4418919fSjohnjiang 		.len = 40
689*4418919fSjohnjiang 	},
690*4418919fSjohnjiang 	.reminder = {
691*4418919fSjohnjiang 		.data = {
692*4418919fSjohnjiang 			0x6B, 0x15, 0x66, 0xD3, 0x81, 0x3E, 0xCB, 0xA6,
693*4418919fSjohnjiang 			0xD8, 0x88, 0x9C, 0xFF, 0x8D, 0xBC, 0x91, 0x9F,
694*4418919fSjohnjiang 			0xDA, 0x09, 0x9E, 0x1B, 0xDB, 0x8A, 0x0F, 0xAC,
695*4418919fSjohnjiang 			0x19, 0x8E, 0xFE, 0x25, 0xA0, 0x66, 0x9D, 0x19,
696*4418919fSjohnjiang 			0x7C, 0xCB, 0x1D, 0xCF, 0x97, 0x41, 0xD2, 0x7A,
697*4418919fSjohnjiang 			0x0E, 0xAE, 0x8A, 0xD4, 0x24, 0x6D, 0xDF, 0xF4,
698*4418919fSjohnjiang 			0x0A, 0xCD, 0xE7, 0xF3, 0x21, 0x76, 0x22, 0xCA,
699*4418919fSjohnjiang 			0x31, 0x67, 0x91, 0x1B, 0x3A, 0x38, 0xAF, 0x03,
700*4418919fSjohnjiang 			0xA6, 0xFF, 0x34, 0xA2, 0x92, 0xC8, 0x70, 0xD4,
701*4418919fSjohnjiang 			0x86, 0xA5, 0x32, 0x57, 0xDC, 0xE5, 0xEB, 0xA5,
702*4418919fSjohnjiang 			0x33, 0xC2, 0x83, 0xC3, 0x33, 0xE8, 0x53, 0x8F,
703*4418919fSjohnjiang 			0x8A, 0xFA, 0xAE, 0xCF, 0x35, 0x6E, 0xD0, 0x5D,
704*4418919fSjohnjiang 			0xCF, 0xE4, 0x18, 0x2F, 0x6E, 0xEC, 0x9D, 0xE9,
705*4418919fSjohnjiang 			0x60, 0x27, 0xF7, 0x7A, 0xFD, 0x1D, 0xC3, 0x2C,
706*4418919fSjohnjiang 			0xE0, 0xDA, 0x7B, 0x18, 0xE0, 0x6A, 0x06, 0xE6,
707*4418919fSjohnjiang 			0xEE, 0xA3, 0x0C, 0x02, 0x98, 0xA5, 0x30, 0xA1,
708*4418919fSjohnjiang 			0x3F, 0x98, 0xCA, 0x06, 0xBD, 0x76, 0xDB, 0xCC,
709*4418919fSjohnjiang 			0xDF, 0x0B, 0x38, 0x43, 0x86, 0x11, 0xB8, 0xB7,
710*4418919fSjohnjiang 			0xC5, 0xC1, 0x74, 0x59, 0x63, 0xFF, 0x3C, 0xFC,
711*4418919fSjohnjiang 			0x14, 0xDF, 0xAD, 0xDD, 0x99, 0xCC, 0x48, 0xEA,
712*4418919fSjohnjiang 			0xCE, 0x75, 0x15, 0x1D, 0x8F, 0x63, 0x5B, 0x9D,
713*4418919fSjohnjiang 			0x97, 0x2E, 0x98, 0x7B, 0x7A, 0x07, 0xBB, 0x99,
714*4418919fSjohnjiang 			0x57, 0xF5, 0xC4, 0x4D, 0x11, 0x4C, 0x55, 0x08,
715*4418919fSjohnjiang 			0x5F, 0x2C, 0x25, 0x37, 0x83, 0x76, 0xD5, 0xCA,
716*4418919fSjohnjiang 			0x51, 0x5C, 0x86, 0xA4, 0xA1, 0x14, 0x2B, 0xBA,
717*4418919fSjohnjiang 			0xBD, 0x59, 0xBF, 0xE0, 0x41, 0xA9, 0x66, 0xD1,
718*4418919fSjohnjiang 			0x29, 0x4B, 0x04, 0xCA, 0xEE, 0x9A, 0x31, 0x5E,
719*4418919fSjohnjiang 			0xD9, 0x11, 0xEE, 0x1B, 0xB6, 0x09, 0x11, 0xA4,
720*4418919fSjohnjiang 			0xD8, 0x3A, 0x12, 0xF5, 0x9E, 0x79, 0x02, 0x64,
721*4418919fSjohnjiang 			0x8F, 0x18, 0x38, 0x5D, 0x19, 0x4D, 0x56, 0xA6,
722*4418919fSjohnjiang 			0x7A, 0xA6, 0xC0, 0x98, 0x13, 0x2F, 0x60, 0x73,
723*4418919fSjohnjiang 			0xD2, 0x8F, 0x70, 0x3D, 0x09, 0x42, 0xE9, 0xCC,
724*4418919fSjohnjiang 			0xFF, 0xA9, 0xF0, 0x82, 0xA2, 0x10, 0x1A, 0x26,
725*4418919fSjohnjiang 			0x91, 0xD6, 0x84, 0x24, 0x0A, 0x3A, 0xC6, 0x67,
726*4418919fSjohnjiang 			0x36, 0xCE, 0x9B, 0x4B, 0xF8, 0xF3, 0xCA, 0xB6,
727*4418919fSjohnjiang 			0x6C, 0x5F, 0x04, 0xE5, 0x74, 0xD8, 0x56, 0x42,
728*4418919fSjohnjiang 			0x7D, 0xD1, 0x5E, 0x8F, 0xA0, 0x9D, 0x66, 0x3B,
729*4418919fSjohnjiang 			0x13, 0x86, 0x9D, 0x84, 0x40, 0x74, 0x76, 0x00,
730*4418919fSjohnjiang 			0xCD, 0x40, 0x87, 0x58, 0x7C, 0x41, 0x8A, 0xE2,
731*4418919fSjohnjiang 			0xF8, 0xCB, 0x06, 0xCF, 0xCB, 0x0C, 0x78, 0x5D,
732*4418919fSjohnjiang 			0x6E, 0xAD, 0xE0, 0x1A, 0x54, 0xC3, 0x31, 0x5B,
733*4418919fSjohnjiang 			0xCF, 0xD0, 0x2D, 0x22, 0xA5, 0x84, 0x97, 0x20,
734*4418919fSjohnjiang 			0x4D, 0x13, 0x5F, 0xED, 0xFE, 0x01, 0xD8, 0x1A,
735*4418919fSjohnjiang 			0x79, 0xB5, 0x99, 0x03, 0x18, 0x55, 0xFB, 0xDD,
736*4418919fSjohnjiang 			0x5F, 0x6E, 0x85, 0xA2, 0x13, 0x28, 0x45, 0x29,
737*4418919fSjohnjiang 			0x25, 0x71, 0xC8, 0x53, 0x9B, 0x45, 0xA5, 0xD9,
738*4418919fSjohnjiang 			0x55, 0x8C, 0xC8, 0x93, 0x2B, 0xBC, 0x08, 0x8D,
739*4418919fSjohnjiang 			0x47, 0x90, 0x8F, 0x5E, 0x4B, 0xBC, 0xCE, 0xD1,
740*4418919fSjohnjiang 			0x51, 0x3B, 0xFB, 0x09, 0x4A, 0x72, 0x99, 0x0F,
741*4418919fSjohnjiang 			0xE2, 0x5F, 0x80, 0xF4, 0xE7, 0x6F, 0xD6, 0x08,
742*4418919fSjohnjiang 			0xD1, 0x79, 0xE8, 0x68, 0xFA, 0x29, 0x08, 0x4F,
743*4418919fSjohnjiang 			0x8B, 0x11, 0x12, 0x27, 0x97, 0x04, 0xC8, 0x7D,
744*4418919fSjohnjiang 			0xAB, 0x4D, 0xDA, 0x92, 0x29, 0x42, 0x7C, 0x3E,
745*4418919fSjohnjiang 			0x7D, 0x05, 0xEC, 0x1F, 0x4A, 0xA1, 0xBB, 0x3F,
746*4418919fSjohnjiang 			0x77, 0x3F, 0xEF, 0xC9, 0xAA, 0x63, 0xD5, 0x39,
747*4418919fSjohnjiang 			0xD5, 0x33, 0x0D, 0x28, 0xD0, 0x3C, 0x85, 0xC0
748*4418919fSjohnjiang 		},
749*4418919fSjohnjiang 		.len = 448
750*4418919fSjohnjiang 	},
751*4418919fSjohnjiang 	.modulus = {
752*4418919fSjohnjiang 		.data = {
753*4418919fSjohnjiang 			0xBB, 0x97, 0x8A, 0xB6, 0x26, 0xD4, 0x0E, 0x70,
754*4418919fSjohnjiang 			0x21, 0xA6, 0x56, 0x71, 0xE5, 0xD8, 0x18, 0x21,
755*4418919fSjohnjiang 			0x64, 0x9F, 0x1B, 0x6F, 0x7C, 0x27, 0x72, 0xB8,
756*4418919fSjohnjiang 			0x39, 0xE5, 0x2A, 0x94, 0x76, 0x22, 0xB7, 0x68,
757*4418919fSjohnjiang 			0x57, 0x3A, 0x01, 0x54, 0xA8, 0x50, 0x41, 0xA1,
758*4418919fSjohnjiang 			0xAD, 0xD0, 0xC7, 0xDB, 0xAA, 0x76, 0x7F, 0x37,
759*4418919fSjohnjiang 			0xA9, 0x27, 0x22, 0x8D, 0xF0, 0x5C, 0x5A, 0xAC,
760*4418919fSjohnjiang 			0xFB, 0x82, 0x6A, 0x8E, 0x31, 0x51, 0x54, 0x7C,
761*4418919fSjohnjiang 			0xDB, 0x55, 0x9C, 0xBC, 0x82, 0x27, 0xF4, 0x0B,
762*4418919fSjohnjiang 			0x94, 0x74, 0xC8, 0x83, 0x80, 0x1C, 0xD8, 0xFF,
763*4418919fSjohnjiang 			0x50, 0xA2, 0xC9, 0xED, 0x2B, 0x98, 0x77, 0xF3,
764*4418919fSjohnjiang 			0x31, 0x81, 0x1C, 0x41, 0x8E, 0xAF, 0x87, 0xA2,
765*4418919fSjohnjiang 			0x02, 0xAC, 0x8B, 0x55, 0x01, 0x5C, 0x16, 0x11,
766*4418919fSjohnjiang 			0x63, 0x8C, 0xE2, 0x0D, 0x51, 0xD2, 0x4C, 0xD7,
767*4418919fSjohnjiang 			0xD4, 0x3D, 0xE4, 0x79, 0x1A, 0xA7, 0xC4, 0xBF,
768*4418919fSjohnjiang 			0x4E, 0x2A, 0xC9, 0x74, 0xD6, 0xD4, 0x90, 0x03,
769*4418919fSjohnjiang 			0x65, 0x7F, 0x54, 0x0F, 0xAC, 0x5F, 0x98, 0x2C,
770*4418919fSjohnjiang 			0x46, 0xC0, 0xD7, 0xE6, 0x75, 0x95, 0xC3, 0xEA,
771*4418919fSjohnjiang 			0x05, 0x3A, 0x03, 0x55, 0x43, 0xC7, 0xC2, 0xD1,
772*4418919fSjohnjiang 			0x11, 0xCD, 0x57, 0x37, 0x0D, 0x40, 0x87, 0xDF,
773*4418919fSjohnjiang 			0x7D, 0xC3, 0x04, 0x54, 0xDE, 0x1D, 0xAF, 0xB8,
774*4418919fSjohnjiang 			0x02, 0x50, 0x42, 0xFF, 0x9D, 0xFB, 0x13, 0xF7,
775*4418919fSjohnjiang 			0x25, 0x5A, 0x8B, 0xE3, 0x31, 0xA2, 0x64, 0xF8,
776*4418919fSjohnjiang 			0x94, 0x50, 0x18, 0xFB, 0xBB, 0xA2, 0xE9, 0x13,
777*4418919fSjohnjiang 			0x77, 0x6E, 0xE1, 0x6F, 0x9F, 0x06, 0x03, 0xEE,
778*4418919fSjohnjiang 			0x0D, 0x06, 0x6E, 0xF2, 0x9B, 0x15, 0x70, 0xDD,
779*4418919fSjohnjiang 			0x26, 0x7C, 0xB4, 0x5D, 0xD0, 0xE7, 0x77, 0xC4,
780*4418919fSjohnjiang 			0xB9, 0x88, 0x75, 0xB8, 0x73, 0xFC, 0xE9, 0xB7,
781*4418919fSjohnjiang 			0x11, 0x26, 0xAC, 0xDB, 0x97, 0x27, 0x18, 0x21,
782*4418919fSjohnjiang 			0x50, 0x7E, 0x46, 0xB2, 0xF1, 0x50, 0x40, 0xD9,
783*4418919fSjohnjiang 			0x8B, 0x63, 0xDB, 0x1A, 0x8E, 0x29, 0xBE, 0x1F,
784*4418919fSjohnjiang 			0x88, 0x35, 0xFD, 0x95, 0xC3, 0xA6, 0x80, 0xEB,
785*4418919fSjohnjiang 			0x73, 0xF7, 0x02, 0x02, 0xB0, 0xCA, 0x97, 0x2C,
786*4418919fSjohnjiang 			0x32, 0x44, 0xA9, 0xCA, 0x94, 0xC0, 0xB2, 0xD9,
787*4418919fSjohnjiang 			0x7C, 0xD9, 0x10, 0x62, 0x31, 0xC9, 0xFA, 0x5B,
788*4418919fSjohnjiang 			0x5C, 0x2C, 0xB6, 0x04, 0x5B, 0x7E, 0x86, 0xBB,
789*4418919fSjohnjiang 			0x49, 0x02, 0x16, 0x9E, 0x1E, 0x53, 0xBD, 0xC2,
790*4418919fSjohnjiang 			0xA9, 0xAA, 0x94, 0x39, 0xA1, 0xB2, 0x18, 0x17,
791*4418919fSjohnjiang 			0xB6, 0x2C, 0xF6, 0xFF, 0xC0, 0xD0, 0x2D, 0x4D,
792*4418919fSjohnjiang 			0xAA, 0x6C, 0xB5, 0xC8, 0x6A, 0xBE, 0x38, 0xE4,
793*4418919fSjohnjiang 			0x9F, 0xDC, 0x5C, 0x56, 0x56, 0x04, 0x32, 0x49,
794*4418919fSjohnjiang 			0x91, 0x17, 0x44, 0x6E, 0xB3, 0xF9, 0x8F, 0xDB,
795*4418919fSjohnjiang 			0xEA, 0x04, 0x4C, 0x67, 0xE6, 0xDA, 0x96, 0x2F,
796*4418919fSjohnjiang 			0x89, 0x2D, 0x54, 0xC3, 0xAD, 0x07, 0x6B, 0xA0,
797*4418919fSjohnjiang 			0x87, 0xF0, 0xCF, 0x4B, 0x43, 0x46, 0xCA, 0x06,
798*4418919fSjohnjiang 			0x48, 0x8D, 0x34, 0xC4, 0xD2, 0xD2, 0xA9, 0x16,
799*4418919fSjohnjiang 			0x13, 0xF5, 0x49, 0x44, 0x8C, 0xD9, 0x0C, 0x1E,
800*4418919fSjohnjiang 			0x79, 0x47, 0xFC, 0x4C, 0x37, 0x8E, 0xD1, 0xFD,
801*4418919fSjohnjiang 			0xB9, 0xE8, 0x6E, 0x1B, 0x8D, 0x68, 0xCC, 0x49,
802*4418919fSjohnjiang 			0x0D, 0x98, 0xB5, 0xD5, 0x22, 0x1C, 0xFC, 0xBA,
803*4418919fSjohnjiang 			0x7A, 0x74, 0x3D, 0xBD, 0xD9, 0xB3, 0x80, 0x58,
804*4418919fSjohnjiang 			0x4A, 0x05, 0x67, 0x9D, 0x59, 0xF4, 0xF7, 0x72,
805*4418919fSjohnjiang 			0x11, 0x3C, 0x67, 0x96, 0xE7, 0x0D, 0x8E, 0x73,
806*4418919fSjohnjiang 			0xD1, 0xEE, 0x00, 0x79, 0x98, 0x7A, 0x0E, 0xE0,
807*4418919fSjohnjiang 			0xA8, 0xEA, 0x7D, 0xF3, 0xDB, 0x0E, 0x62, 0x3E,
808*4418919fSjohnjiang 			0x66, 0x95, 0xED, 0xD5, 0x8C, 0x39, 0xF5, 0xAB
809*4418919fSjohnjiang 		},
810*4418919fSjohnjiang 		.len = 448
811*4418919fSjohnjiang 	},
812*4418919fSjohnjiang 	.result_len = 448
813*4418919fSjohnjiang },
814*4418919fSjohnjiang {
815*4418919fSjohnjiang 	.description = "Modular Exponentiation "
816*4418919fSjohnjiang 				   "(mod=19, base=500, exp=35, res=19)",
817*4418919fSjohnjiang 	.xform_type = RTE_CRYPTO_ASYM_XFORM_MODEX,
818*4418919fSjohnjiang 	.base = {
819*4418919fSjohnjiang 		.data = {
820*4418919fSjohnjiang 			0x42, 0xE5, 0x6F, 0xF7, 0xEF, 0x8F, 0xAB, 0x6F,
821*4418919fSjohnjiang 			0xF5, 0xE2, 0xD2, 0x97, 0x68, 0x0D, 0x52, 0xDD,
822*4418919fSjohnjiang 			0x3D, 0x62, 0xC4, 0xC4, 0xDE, 0xD2, 0x07, 0x50,
823*4418919fSjohnjiang 			0x1B, 0xA9, 0x5F, 0xAE, 0x42, 0xCB, 0x5E, 0x0B,
824*4418919fSjohnjiang 			0xC0, 0x41, 0xFE, 0xEF, 0x22, 0xA6, 0x4E, 0x35,
825*4418919fSjohnjiang 			0x80, 0x61, 0x22, 0x92, 0x65, 0x77, 0x45, 0x84,
826*4418919fSjohnjiang 			0x6C, 0x03, 0x7C, 0xEF, 0xC0, 0x49, 0x31, 0x87,
827*4418919fSjohnjiang 			0x86, 0x9B, 0x2E, 0x28, 0xA1, 0x55, 0x2D, 0x3C,
828*4418919fSjohnjiang 			0x68, 0x3D, 0x69, 0x0E, 0x98, 0xD6, 0x40, 0xFD,
829*4418919fSjohnjiang 			0x0B, 0x4C, 0x5F, 0xC7, 0x95, 0xF1, 0x53, 0x7C,
830*4418919fSjohnjiang 			0xCC, 0x12, 0x3F, 0x8C, 0x7A, 0x24, 0x73, 0xE7,
831*4418919fSjohnjiang 			0x33, 0x20, 0xBD, 0x0C, 0xD2, 0x9C, 0x12, 0x20,
832*4418919fSjohnjiang 			0xC0, 0xC0, 0xA9, 0x16, 0x7E, 0x6B, 0x1D, 0x1F,
833*4418919fSjohnjiang 			0xFE, 0x63, 0x8A, 0x22, 0x75, 0xDC, 0xF0, 0x0F,
834*4418919fSjohnjiang 			0x8E, 0xA4, 0x3C, 0xE3, 0x6B, 0xFA, 0x46, 0xBA,
835*4418919fSjohnjiang 			0xEB, 0x91, 0x31, 0x9D, 0x34, 0xED, 0xA0, 0xA6,
836*4418919fSjohnjiang 			0xA3, 0xAB, 0xA5, 0x2A, 0x10, 0x30, 0xF4, 0x6F,
837*4418919fSjohnjiang 			0x80, 0x25, 0xB0, 0xF5, 0x56, 0x76, 0xD3, 0xC5,
838*4418919fSjohnjiang 			0x10, 0x92, 0xCD, 0xEA, 0xC3, 0x9C, 0x52, 0x96,
839*4418919fSjohnjiang 			0xF1, 0xBD, 0x42, 0x53, 0xF3, 0xA9, 0x1F, 0xCB,
840*4418919fSjohnjiang 			0x53, 0x45, 0xF1, 0xF6, 0x5F, 0x98, 0xFC, 0x13,
841*4418919fSjohnjiang 			0xC9, 0xA8, 0x44, 0xC6, 0xD0, 0x78, 0xB6, 0x39,
842*4418919fSjohnjiang 			0x93, 0x02, 0xC6, 0xC9, 0x0F, 0xAF, 0xF9, 0x6D,
843*4418919fSjohnjiang 			0x91, 0x35, 0xC9, 0x26, 0x73, 0x11, 0xEB, 0xEE,
844*4418919fSjohnjiang 			0x52, 0x61, 0x6C, 0xC0, 0x7F, 0xFD, 0xD0, 0x77,
845*4418919fSjohnjiang 			0x9F, 0xC6, 0x0A, 0x05, 0x1B, 0x90, 0x61, 0x54,
846*4418919fSjohnjiang 			0x61, 0xFF, 0x1E, 0xBA, 0x1D, 0x2F, 0x25, 0xE9,
847*4418919fSjohnjiang 			0x85, 0x4C, 0xBA, 0xEF, 0x99, 0x95, 0x3C, 0xBB,
848*4418919fSjohnjiang 			0xA9, 0xCF, 0x0D, 0xBF, 0x2C, 0x86, 0xB0, 0x59,
849*4418919fSjohnjiang 			0xAA, 0x83, 0x29, 0x32, 0x24, 0x28, 0xC8, 0x53,
850*4418919fSjohnjiang 			0x28, 0x4C, 0xEB, 0x08, 0xFF, 0xC6, 0x25, 0xB7,
851*4418919fSjohnjiang 			0xFF, 0x18, 0xB0, 0x2C, 0xDD, 0xAE, 0xFB, 0xDB,
852*4418919fSjohnjiang 			0x54, 0xA2, 0x92, 0x27, 0x15, 0x0D, 0x6B, 0x50,
853*4418919fSjohnjiang 			0xFB, 0xEA, 0x2C, 0x1C, 0x6F, 0x91, 0x3C, 0x50,
854*4418919fSjohnjiang 			0x5A, 0xD8, 0x9B, 0x33, 0xED, 0x51, 0x5D, 0x7C,
855*4418919fSjohnjiang 			0x37, 0x01, 0xEF, 0x09, 0xEA, 0x59, 0x56, 0x8A,
856*4418919fSjohnjiang 			0x67, 0x21, 0x8C, 0x25, 0x00, 0x33, 0x24, 0x31,
857*4418919fSjohnjiang 			0xCB, 0xAA, 0x5A, 0xA4, 0xB1, 0x84, 0xDD, 0x89,
858*4418919fSjohnjiang 			0x3A, 0xFA, 0xD8, 0xAB, 0xEE, 0x3E, 0xC0, 0x0D,
859*4418919fSjohnjiang 			0xDA, 0x2C, 0x2A, 0x75, 0x13, 0xD7, 0x49, 0x5E,
860*4418919fSjohnjiang 			0x28, 0x2C, 0x24, 0xC6, 0x1E, 0xA0, 0xB3, 0x70,
861*4418919fSjohnjiang 			0xAD, 0x45, 0x8A, 0xF2, 0xD9, 0x38, 0x69, 0xD5,
862*4418919fSjohnjiang 			0x53, 0x30, 0xD8, 0x09, 0x09, 0xDE, 0x1F, 0x6C,
863*4418919fSjohnjiang 			0x36, 0x82, 0xD5, 0xEC, 0xA7, 0x7E, 0x37, 0x5F,
864*4418919fSjohnjiang 			0x7D, 0xF2, 0x85, 0x85, 0xF9, 0x0A, 0xC1, 0x13,
865*4418919fSjohnjiang 			0x86, 0x3C, 0xCD, 0xFE, 0x44, 0x46, 0x57, 0x5E,
866*4418919fSjohnjiang 			0x67, 0x39, 0x9D, 0x65, 0x74, 0xB9, 0x13, 0x5A,
867*4418919fSjohnjiang 			0x05, 0xC1, 0xEA, 0xB5, 0x10, 0x1D, 0x66, 0xFF,
868*4418919fSjohnjiang 			0xA0, 0x3D, 0x47, 0x27, 0x15, 0x66, 0x52, 0x19,
869*4418919fSjohnjiang 			0xFA, 0x95, 0xD0, 0x03, 0x67, 0xA8, 0x89, 0xAA,
870*4418919fSjohnjiang 			0x68, 0x04, 0x5F, 0xC4, 0x57, 0x1F, 0x6C, 0xF7,
871*4418919fSjohnjiang 			0xD2, 0xE2, 0xA3, 0xF3, 0x96, 0x70, 0x86, 0xC6,
872*4418919fSjohnjiang 			0xCB, 0x3D, 0x52, 0x66, 0x79, 0xED, 0xE6, 0x35,
873*4418919fSjohnjiang 			0x0A, 0xE8, 0xA8, 0x5A, 0xED, 0x41, 0xB0, 0xF0,
874*4418919fSjohnjiang 			0x89, 0xCC, 0x20, 0xDA, 0xB7, 0x48, 0x44, 0x64,
875*4418919fSjohnjiang 			0x69, 0xC9, 0x43, 0xE2, 0xBD, 0xD1, 0x17, 0xCF,
876*4418919fSjohnjiang 			0x25, 0x7C, 0x92, 0x0B, 0xFC, 0x71, 0x46, 0x67,
877*4418919fSjohnjiang 			0x1F, 0xF4, 0xA7, 0xFF, 0xD8, 0xA4, 0x5F, 0x4A,
878*4418919fSjohnjiang 			0x8A, 0x45, 0xBE, 0xDD, 0x89, 0xE2, 0x2A, 0xA7,
879*4418919fSjohnjiang 			0xBC, 0xE9, 0x84, 0x53, 0x9D, 0xF4, 0x39, 0xB7,
880*4418919fSjohnjiang 			0xDB, 0x3A, 0x17, 0xF7, 0x27, 0x39, 0xDF, 0x8A,
881*4418919fSjohnjiang 			0xF0, 0x72, 0xD6, 0x23, 0x1B, 0x1C, 0xD9, 0x48,
882*4418919fSjohnjiang 			0xF4, 0x2E, 0x54, 0xA3
883*4418919fSjohnjiang 		},
884*4418919fSjohnjiang 		.len = 500
885*4418919fSjohnjiang 	},
886*4418919fSjohnjiang 	.exponent = {
887*4418919fSjohnjiang 		.data = {
888*4418919fSjohnjiang 			0xE7, 0xF1, 0x97, 0x29, 0x62, 0x0B, 0x99, 0x89,
889*4418919fSjohnjiang 			0x99, 0xC1, 0x63, 0xA2, 0xB7, 0x29, 0xAD, 0x0E,
890*4418919fSjohnjiang 			0x84, 0x3B, 0x86, 0x82, 0xC4, 0xDD, 0xC4, 0xE2,
891*4418919fSjohnjiang 			0xA7, 0xD4, 0xBA, 0x91, 0x2C, 0xB5, 0xD6, 0xD4,
892*4418919fSjohnjiang 			0x74, 0x1D, 0xE1
893*4418919fSjohnjiang 		},
894*4418919fSjohnjiang 		.len = 35
895*4418919fSjohnjiang 	},
896*4418919fSjohnjiang 	.reminder = {
897*4418919fSjohnjiang 		.data = {
898*4418919fSjohnjiang 			0x67, 0x9F, 0xF7, 0x57, 0xD7, 0xF8, 0xF8, 0x90,
899*4418919fSjohnjiang 			0x4E, 0xB5, 0x34, 0xE8, 0xAF, 0x14, 0xC6, 0x94,
900*4418919fSjohnjiang 			0x5F, 0xA1, 0x03
901*4418919fSjohnjiang 		},
902*4418919fSjohnjiang 		.len = 19
903*4418919fSjohnjiang 	},
904*4418919fSjohnjiang 	.modulus = {
905*4418919fSjohnjiang 		.data = {
906*4418919fSjohnjiang 			0x9C, 0xE7, 0xE7, 0x14, 0x6E, 0x07, 0x71, 0xD2,
907*4418919fSjohnjiang 			0xD1, 0xB3, 0x59, 0x9B, 0x63, 0xDB, 0x58, 0x8D,
908*4418919fSjohnjiang 			0x5E, 0x84, 0xA0
909*4418919fSjohnjiang 		},
910*4418919fSjohnjiang 		.len = 19
911*4418919fSjohnjiang 	},
912*4418919fSjohnjiang 	.result_len = 19
913*4418919fSjohnjiang }
914*4418919fSjohnjiang };
915*4418919fSjohnjiang 
916*4418919fSjohnjiang static const struct
917*4418919fSjohnjiang modinv_test_data modinv_test_case[] = {
918*4418919fSjohnjiang {
919*4418919fSjohnjiang 	.description = "Modular Inverse (mod=128, base=20, exp=3, inv=128)",
920*4418919fSjohnjiang 	.xform_type = RTE_CRYPTO_ASYM_XFORM_MODINV,
921*4418919fSjohnjiang 	.base = {
922*4418919fSjohnjiang 		.data = {
923*4418919fSjohnjiang 			0xF8, 0xBA, 0x1A, 0x55, 0xD0, 0x2F, 0x85,
924*4418919fSjohnjiang 			0xAE, 0x96, 0x7B, 0xB6, 0x2F, 0xB6, 0xCD,
925*4418919fSjohnjiang 			0xA8, 0xEB, 0x7E, 0x78, 0xA0, 0x50
926*4418919fSjohnjiang 		},
927*4418919fSjohnjiang 		.len = 20
928*4418919fSjohnjiang 	},
929*4418919fSjohnjiang 	.inverse = {
930*4418919fSjohnjiang 		.data = {
931*4418919fSjohnjiang 			0x52, 0xb1, 0xa3, 0x8c, 0xc5, 0x8a, 0xb9, 0x1f,
932*4418919fSjohnjiang 			0xb6, 0x82, 0xf5, 0x6a, 0x9a, 0xde, 0x8d, 0x2e,
933*4418919fSjohnjiang 			0x62, 0x4b, 0xac, 0x49, 0x21, 0x1d, 0x30, 0x4d,
934*4418919fSjohnjiang 			0x32, 0xac, 0x1f, 0x40, 0x6d, 0x52, 0xc7, 0x9b,
935*4418919fSjohnjiang 			0x6c, 0x0a, 0x82, 0x3a, 0x2c, 0xaf, 0x6b, 0x6d,
936*4418919fSjohnjiang 			0x17, 0xbe, 0x43, 0xed, 0x97, 0x78, 0xeb, 0x4c,
937*4418919fSjohnjiang 			0x92, 0x6f, 0xcf, 0xed, 0xb1, 0x09, 0xcb, 0x27,
938*4418919fSjohnjiang 			0xc2, 0xde, 0x62, 0xfd, 0x21, 0xe6, 0xbd, 0x4f,
939*4418919fSjohnjiang 			0xfe, 0x7a, 0x1b, 0x50, 0xfe, 0x10, 0x4a, 0xb0,
940*4418919fSjohnjiang 			0xb7, 0xcf, 0xdb, 0x7d, 0xca, 0xc2, 0xf0, 0x1c,
941*4418919fSjohnjiang 			0x39, 0x48, 0x6a, 0xb5, 0x4d, 0x8c, 0xfe, 0x63,
942*4418919fSjohnjiang 			0x91, 0x9c, 0x21, 0xc3, 0x0e, 0x76, 0xad, 0x44,
943*4418919fSjohnjiang 			0x8d, 0x54, 0x33, 0x99, 0xe1, 0x80, 0x19, 0xba,
944*4418919fSjohnjiang 			0xb5, 0xac, 0x7d, 0x9c, 0xce, 0x91, 0x2a, 0xd9,
945*4418919fSjohnjiang 			0x2c, 0xe1, 0x16, 0xd6, 0xd7, 0xcf, 0x9d, 0x05,
946*4418919fSjohnjiang 			0x9a, 0x66, 0x9a, 0x3a, 0xc1, 0xb8, 0x4b, 0xc3
947*4418919fSjohnjiang 		},
948*4418919fSjohnjiang 		.len = 128
949*4418919fSjohnjiang 	},
950*4418919fSjohnjiang 	.modulus = {
951*4418919fSjohnjiang 		.data = {
952*4418919fSjohnjiang 			0xb3, 0xa1, 0xaf, 0xb7, 0x13, 0x08, 0x00, 0x0a,
953*4418919fSjohnjiang 			0x35, 0xdc, 0x2b, 0x20, 0x8d, 0xa1, 0xb5, 0xce,
954*4418919fSjohnjiang 			0x47, 0x8a, 0xc3, 0x80, 0xf4, 0x7d, 0x4a, 0xa2,
955*4418919fSjohnjiang 			0x62, 0xfd, 0x61, 0x7f, 0xb5, 0xa8, 0xde, 0x0a,
956*4418919fSjohnjiang 			0x17, 0x97, 0xa0, 0xbf, 0xdf, 0x56, 0x5a, 0x3d,
957*4418919fSjohnjiang 			0x51, 0x56, 0x4f, 0x70, 0x70, 0x3f, 0x63, 0x6a,
958*4418919fSjohnjiang 			0x44, 0x5b, 0xad, 0x84, 0x0d, 0x3f, 0x27, 0x6e,
959*4418919fSjohnjiang 			0x3b, 0x34, 0x91, 0x60, 0x14, 0xb9, 0xaa, 0x72,
960*4418919fSjohnjiang 			0xfd, 0xa3, 0x64, 0xd2, 0x03, 0xa7, 0x53, 0x87,
961*4418919fSjohnjiang 			0x9e, 0x88, 0x0b, 0xc1, 0x14, 0x93, 0x1a, 0x62,
962*4418919fSjohnjiang 			0xff, 0xb1, 0x5d, 0x74, 0xcd, 0x59, 0x63, 0x18,
963*4418919fSjohnjiang 			0x11, 0x3d, 0x4f, 0xba, 0x75, 0xd4, 0x33, 0x4e,
964*4418919fSjohnjiang 			0x23, 0x6b, 0x7b, 0x57, 0x44, 0xe1, 0xd3, 0x03,
965*4418919fSjohnjiang 			0x13, 0xa6, 0xf0, 0x8b, 0x60, 0xb0, 0x9e, 0xee,
966*4418919fSjohnjiang 			0x75, 0x08, 0x9d, 0x71, 0x63, 0x13, 0xcb, 0xa6,
967*4418919fSjohnjiang 			0x81, 0x92, 0x14, 0x03, 0x22, 0x2d, 0xde, 0x55
968*4418919fSjohnjiang 		},
969*4418919fSjohnjiang 		.len = 128
970*4418919fSjohnjiang 	},
971*4418919fSjohnjiang 	.result_len = 128
972*4418919fSjohnjiang }
973*4418919fSjohnjiang };
974*4418919fSjohnjiang 
975*4418919fSjohnjiang /* modular operation test data */
976*4418919fSjohnjiang uint8_t base[] = {
977*4418919fSjohnjiang 	0xF8, 0xBA, 0x1A, 0x55, 0xD0, 0x2F, 0x85,
978*4418919fSjohnjiang 	0xAE, 0x96, 0x7B, 0xB6, 0x2F, 0xB6, 0xCD,
979*4418919fSjohnjiang 	0xA8, 0xEB, 0x7E, 0x78, 0xA0, 0x50
980*4418919fSjohnjiang };
981*4418919fSjohnjiang 
982*4418919fSjohnjiang uint8_t mod_p[] = {
983*4418919fSjohnjiang 	0x00, 0xb3, 0xa1, 0xaf, 0xb7, 0x13, 0x08, 0x00,
984*4418919fSjohnjiang 	0x0a, 0x35, 0xdc, 0x2b, 0x20, 0x8d, 0xa1, 0xb5,
985*4418919fSjohnjiang 	0xce, 0x47, 0x8a, 0xc3, 0x80, 0xf4, 0x7d, 0x4a,
986*4418919fSjohnjiang 	0xa2, 0x62, 0xfd, 0x61, 0x7f, 0xb5, 0xa8, 0xde,
987*4418919fSjohnjiang 	0x0a, 0x17, 0x97, 0xa0, 0xbf, 0xdf, 0x56, 0x5a,
988*4418919fSjohnjiang 	0x3d, 0x51, 0x56, 0x4f, 0x70, 0x70, 0x3f, 0x63,
989*4418919fSjohnjiang 	0x6a, 0x44, 0x5b, 0xad, 0x84, 0x0d, 0x3f, 0x27,
990*4418919fSjohnjiang 	0x6e, 0x3b, 0x34, 0x91, 0x60, 0x14, 0xb9, 0xaa,
991*4418919fSjohnjiang 	0x72, 0xfd, 0xa3, 0x64, 0xd2, 0x03, 0xa7, 0x53,
992*4418919fSjohnjiang 	0x87, 0x9e, 0x88, 0x0b, 0xc1, 0x14, 0x93, 0x1a,
993*4418919fSjohnjiang 	0x62, 0xff, 0xb1, 0x5d, 0x74, 0xcd, 0x59, 0x63,
994*4418919fSjohnjiang 	0x18, 0x11, 0x3d, 0x4f, 0xba, 0x75, 0xd4, 0x33,
995*4418919fSjohnjiang 	0x4e, 0x23, 0x6b, 0x7b, 0x57, 0x44, 0xe1, 0xd3,
996*4418919fSjohnjiang 	0x03, 0x13, 0xa6, 0xf0, 0x8b, 0x60, 0xb0, 0x9e,
997*4418919fSjohnjiang 	0xee, 0x75, 0x08, 0x9d, 0x71, 0x63, 0x13, 0xcb,
998*4418919fSjohnjiang 	0xa6, 0x81, 0x92, 0x14, 0x03, 0x22, 0x2d, 0xde,
999*4418919fSjohnjiang 	0x55
1000*4418919fSjohnjiang };
1001*4418919fSjohnjiang 
1002*4418919fSjohnjiang uint8_t mod_e[] = {0x01, 0x00, 0x01};
1003*4418919fSjohnjiang 
1004*4418919fSjohnjiang /* Precomputed modular exponentiation for verification */
1005*4418919fSjohnjiang uint8_t mod_exp[] = {
1006*4418919fSjohnjiang 	0x2C, 0x60, 0x75, 0x45, 0x98, 0x9D, 0xE0, 0x72,
1007*4418919fSjohnjiang 	0xA0, 0x9D, 0x3A, 0x9E, 0x03, 0x38, 0x73, 0x3C,
1008*4418919fSjohnjiang 	0x31, 0x83, 0x04, 0xFE, 0x75, 0x43, 0xE6, 0x17,
1009*4418919fSjohnjiang 	0x5C, 0x01, 0x29, 0x51, 0x69, 0x33, 0x62, 0x2D,
1010*4418919fSjohnjiang 	0x78, 0xBE, 0xAE, 0xC4, 0xBC, 0xDE, 0x7E, 0x2C,
1011*4418919fSjohnjiang 	0x77, 0x84, 0xF2, 0xC5, 0x14, 0xB5, 0x2F, 0xF7,
1012*4418919fSjohnjiang 	0xC5, 0x94, 0xEF, 0x86, 0x75, 0x75, 0xB5, 0x11,
1013*4418919fSjohnjiang 	0xE5, 0x0E, 0x0A, 0x29, 0x76, 0xE2, 0xEA, 0x32,
1014*4418919fSjohnjiang 	0x0E, 0x43, 0x77, 0x7E, 0x2C, 0x27, 0xAC, 0x3B,
1015*4418919fSjohnjiang 	0x86, 0xA5, 0xDB, 0xC9, 0x48, 0x40, 0xE8, 0x99,
1016*4418919fSjohnjiang 	0x9A, 0x0A, 0x3D, 0xD6, 0x74, 0xFA, 0x2E, 0x2E,
1017*4418919fSjohnjiang 	0x5B, 0xAF, 0x8C, 0x99, 0x44, 0x2A, 0x67, 0x38,
1018*4418919fSjohnjiang 	0x27, 0x41, 0x59, 0x9D, 0xB8, 0x51, 0xC9, 0xF7,
1019*4418919fSjohnjiang 	0x43, 0x61, 0x31, 0x6E, 0xF1, 0x25, 0x38, 0x7F,
1020*4418919fSjohnjiang 	0xAE, 0xC6, 0xD0, 0xBB, 0x29, 0x76, 0x3F, 0x46,
1021*4418919fSjohnjiang 	0x2E, 0x1B, 0xE4, 0x67, 0x71, 0xE3, 0x87, 0x5A
1022*4418919fSjohnjiang };
1023*4418919fSjohnjiang 
1024*4418919fSjohnjiang /* Precomputed modular inverse for verification */
1025*4418919fSjohnjiang uint8_t mod_inv[] = {
1026*4418919fSjohnjiang 	0x52, 0xb1, 0xa3, 0x8c, 0xc5, 0x8a, 0xb9, 0x1f,
1027*4418919fSjohnjiang 	0xb6, 0x82, 0xf5, 0x6a, 0x9a, 0xde, 0x8d, 0x2e,
1028*4418919fSjohnjiang 	0x62, 0x4b, 0xac, 0x49, 0x21, 0x1d, 0x30, 0x4d,
1029*4418919fSjohnjiang 	0x32, 0xac, 0x1f, 0x40, 0x6d, 0x52, 0xc7, 0x9b,
1030*4418919fSjohnjiang 	0x6c, 0x0a, 0x82, 0x3a, 0x2c, 0xaf, 0x6b, 0x6d,
1031*4418919fSjohnjiang 	0x17, 0xbe, 0x43, 0xed, 0x97, 0x78, 0xeb, 0x4c,
1032*4418919fSjohnjiang 	0x92, 0x6f, 0xcf, 0xed, 0xb1, 0x09, 0xcb, 0x27,
1033*4418919fSjohnjiang 	0xc2, 0xde, 0x62, 0xfd, 0x21, 0xe6, 0xbd, 0x4f,
1034*4418919fSjohnjiang 	0xfe, 0x7a, 0x1b, 0x50, 0xfe, 0x10, 0x4a, 0xb0,
1035*4418919fSjohnjiang 	0xb7, 0xcf, 0xdb, 0x7d, 0xca, 0xc2, 0xf0, 0x1c,
1036*4418919fSjohnjiang 	0x39, 0x48, 0x6a, 0xb5, 0x4d, 0x8c, 0xfe, 0x63,
1037*4418919fSjohnjiang 	0x91, 0x9c, 0x21, 0xc3, 0x0e, 0x76, 0xad, 0x44,
1038*4418919fSjohnjiang 	0x8d, 0x54, 0x33, 0x99, 0xe1, 0x80, 0x19, 0xba,
1039*4418919fSjohnjiang 	0xb5, 0xac, 0x7d, 0x9c, 0xce, 0x91, 0x2a, 0xd9,
1040*4418919fSjohnjiang 	0x2c, 0xe1, 0x16, 0xd6, 0xd7, 0xcf, 0x9d, 0x05,
1041*4418919fSjohnjiang 	0x9a, 0x66, 0x9a, 0x3a, 0xc1, 0xb8, 0x4b, 0xc3
1042*4418919fSjohnjiang };
1043*4418919fSjohnjiang 
1044*4418919fSjohnjiang struct rte_crypto_asym_xform modex_xform = {
1045*4418919fSjohnjiang 	.next = NULL,
1046*4418919fSjohnjiang 	.xform_type = RTE_CRYPTO_ASYM_XFORM_MODEX,
1047*4418919fSjohnjiang 	.modex = {
1048*4418919fSjohnjiang 		.modulus = {
1049*4418919fSjohnjiang 			.data = mod_p,
1050*4418919fSjohnjiang 			.length = sizeof(mod_p)
1051*4418919fSjohnjiang 		},
1052*4418919fSjohnjiang 		.exponent = {
1053*4418919fSjohnjiang 			.data = mod_e,
1054*4418919fSjohnjiang 			.length = sizeof(mod_e)
1055*4418919fSjohnjiang 		}
1056*4418919fSjohnjiang 	}
1057*4418919fSjohnjiang };
1058*4418919fSjohnjiang 
1059*4418919fSjohnjiang struct rte_crypto_asym_xform modinv_xform = {
1060*4418919fSjohnjiang 	.next = NULL,
1061*4418919fSjohnjiang 	.xform_type = RTE_CRYPTO_ASYM_XFORM_MODINV,
1062*4418919fSjohnjiang 	.modinv = {
1063*4418919fSjohnjiang 		.modulus = {
1064*4418919fSjohnjiang 			.data = mod_p,
1065*4418919fSjohnjiang 			.length = sizeof(mod_p)
1066*4418919fSjohnjiang 		}
1067*4418919fSjohnjiang 	}
1068*4418919fSjohnjiang };
1069*4418919fSjohnjiang 
1070*4418919fSjohnjiang #endif /* TEST_CRYPTODEV_MOD_TEST_VECTORS_H__ */
1071