xref: /freebsd/crypto/libecc/include/libecc/curves/known/ec_params_gost_R3410_2012_512_paramSetTest.h (revision f0865ec9906d5a18fa2a3b61381f22ce16e606ad)
1 #include <libecc/lib_ecc_config.h>
2 #ifdef WITH_CURVE_GOST_R3410_2012_512_PARAMSETTEST
3 
4 #ifndef __EC_PARAMS_GOST_R3410_2012_512_PARAMSETTEST_H__
5 #define __EC_PARAMS_GOST_R3410_2012_512_PARAMSETTEST_H__
6 #include <libecc/curves/known/ec_params_external.h>
7 static const u8 gost_R3410_2012_512_paramSetTest_p[] = {
8 	0x45, 0x31, 0xac, 0xd1, 0xfe, 0x00, 0x23, 0xc7,
9 	0x55, 0x0d, 0x26, 0x7b, 0x6b, 0x2f, 0xee, 0x80,
10 	0x92, 0x2b, 0x14, 0xb2, 0xff, 0xb9, 0x0f, 0x04,
11 	0xd4, 0xeb, 0x7c, 0x09, 0xb5, 0xd2, 0xd1, 0x5d,
12 	0xf1, 0xd8, 0x52, 0x74, 0x1a, 0xf4, 0x70, 0x4a,
13 	0x04, 0x58, 0x04, 0x7e, 0x80, 0xe4, 0x54, 0x6d,
14 	0x35, 0xb8, 0x33, 0x6f, 0xac, 0x22, 0x4d, 0xd8,
15 	0x16, 0x64, 0xbb, 0xf5, 0x28, 0xbe, 0x63, 0x73,
16 };
17 
18 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_p);
19 
20 #define CURVE_GOST_R3410_2012_512_PARAMSETTEST_P_BITLEN 511
21 static const u8 gost_R3410_2012_512_paramSetTest_p_bitlen[] = {
22 	0x01, 0xff,
23 };
24 
25 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_p_bitlen);
26 
27 #if (WORD_BYTES == 8)     /* 64-bit words */
28 static const u8 gost_R3410_2012_512_paramSetTest_r[] = {
29 	0x30, 0x6a, 0xf9, 0x8a, 0x05, 0xff, 0x94, 0xaa,
30 	0x00, 0xd8, 0x8c, 0x8d, 0xbe, 0x70, 0x34, 0x7e,
31 	0x49, 0x7e, 0xc1, 0xe7, 0x00, 0xd4, 0xd2, 0xf1,
32 	0x81, 0x3d, 0x8b, 0xe2, 0xde, 0x87, 0x8b, 0xe6,
33 	0x2a, 0x77, 0x08, 0xa3, 0xaf, 0x22, 0xaf, 0x21,
34 	0xf2, 0xf7, 0xf2, 0x84, 0x7d, 0x53, 0x02, 0xb8,
35 	0x5e, 0xd7, 0x65, 0xb0, 0xfb, 0x99, 0x16, 0x77,
36 	0xbc, 0xd1, 0xcc, 0x20, 0x85, 0xc4, 0xd5, 0xa7,
37 };
38 
39 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_r);
40 
41 static const u8 gost_R3410_2012_512_paramSetTest_r_square[] = {
42 	0x1d, 0x88, 0x7d, 0xcd, 0x9c, 0xd1, 0x9c, 0x10,
43 	0x01, 0xfd, 0xe9, 0xca, 0x99, 0xde, 0x08, 0x52,
44 	0xfc, 0xd9, 0x83, 0xcf, 0xb7, 0xc6, 0x63, 0xd9,
45 	0xca, 0x0b, 0xc8, 0xaf, 0x77, 0xc8, 0x69, 0x0a,
46 	0x08, 0x15, 0xb9, 0xeb, 0x1e, 0x7d, 0xd3, 0x00,
47 	0xe4, 0x17, 0xd5, 0x8d, 0x20, 0x0c, 0x2a, 0xa0,
48 	0x4b, 0x90, 0x7a, 0x71, 0xe6, 0x47, 0xee, 0x63,
49 	0x00, 0x1c, 0x10, 0xbc, 0x2d, 0x00, 0x5b, 0x65,
50 };
51 
52 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_r_square);
53 
54 static const u8 gost_R3410_2012_512_paramSetTest_mpinv[] = {
55 	0xd6, 0x41, 0x2f, 0xf7, 0xc2, 0x9b, 0x86, 0x45,
56 };
57 
58 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_mpinv);
59 
60 static const u8 gost_R3410_2012_512_paramSetTest_p_shift[] = {
61 	0x01,
62 };
63 
64 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_p_shift);
65 
66 static const u8 gost_R3410_2012_512_paramSetTest_p_normalized[] = {
67 	0x8a, 0x63, 0x59, 0xa3, 0xfc, 0x00, 0x47, 0x8e,
68 	0xaa, 0x1a, 0x4c, 0xf6, 0xd6, 0x5f, 0xdd, 0x01,
69 	0x24, 0x56, 0x29, 0x65, 0xff, 0x72, 0x1e, 0x09,
70 	0xa9, 0xd6, 0xf8, 0x13, 0x6b, 0xa5, 0xa2, 0xbb,
71 	0xe3, 0xb0, 0xa4, 0xe8, 0x35, 0xe8, 0xe0, 0x94,
72 	0x08, 0xb0, 0x08, 0xfd, 0x01, 0xc8, 0xa8, 0xda,
73 	0x6b, 0x70, 0x66, 0xdf, 0x58, 0x44, 0x9b, 0xb0,
74 	0x2c, 0xc9, 0x77, 0xea, 0x51, 0x7c, 0xc6, 0xe6,
75 };
76 
77 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_p_normalized);
78 
79 static const u8 gost_R3410_2012_512_paramSetTest_p_reciprocal[] = {
80 	0xd9, 0x91, 0x18, 0x3c, 0xe8, 0xbf, 0x25, 0x61,
81 };
82 
83 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_p_reciprocal);
84 
85 #elif (WORD_BYTES == 4)   /* 32-bit words */
86 static const u8 gost_R3410_2012_512_paramSetTest_r[] = {
87 	0x30, 0x6a, 0xf9, 0x8a, 0x05, 0xff, 0x94, 0xaa,
88 	0x00, 0xd8, 0x8c, 0x8d, 0xbe, 0x70, 0x34, 0x7e,
89 	0x49, 0x7e, 0xc1, 0xe7, 0x00, 0xd4, 0xd2, 0xf1,
90 	0x81, 0x3d, 0x8b, 0xe2, 0xde, 0x87, 0x8b, 0xe6,
91 	0x2a, 0x77, 0x08, 0xa3, 0xaf, 0x22, 0xaf, 0x21,
92 	0xf2, 0xf7, 0xf2, 0x84, 0x7d, 0x53, 0x02, 0xb8,
93 	0x5e, 0xd7, 0x65, 0xb0, 0xfb, 0x99, 0x16, 0x77,
94 	0xbc, 0xd1, 0xcc, 0x20, 0x85, 0xc4, 0xd5, 0xa7,
95 };
96 
97 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_r);
98 
99 static const u8 gost_R3410_2012_512_paramSetTest_r_square[] = {
100 	0x1d, 0x88, 0x7d, 0xcd, 0x9c, 0xd1, 0x9c, 0x10,
101 	0x01, 0xfd, 0xe9, 0xca, 0x99, 0xde, 0x08, 0x52,
102 	0xfc, 0xd9, 0x83, 0xcf, 0xb7, 0xc6, 0x63, 0xd9,
103 	0xca, 0x0b, 0xc8, 0xaf, 0x77, 0xc8, 0x69, 0x0a,
104 	0x08, 0x15, 0xb9, 0xeb, 0x1e, 0x7d, 0xd3, 0x00,
105 	0xe4, 0x17, 0xd5, 0x8d, 0x20, 0x0c, 0x2a, 0xa0,
106 	0x4b, 0x90, 0x7a, 0x71, 0xe6, 0x47, 0xee, 0x63,
107 	0x00, 0x1c, 0x10, 0xbc, 0x2d, 0x00, 0x5b, 0x65,
108 };
109 
110 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_r_square);
111 
112 static const u8 gost_R3410_2012_512_paramSetTest_mpinv[] = {
113 	0xc2, 0x9b, 0x86, 0x45,
114 };
115 
116 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_mpinv);
117 
118 static const u8 gost_R3410_2012_512_paramSetTest_p_shift[] = {
119 	0x01,
120 };
121 
122 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_p_shift);
123 
124 static const u8 gost_R3410_2012_512_paramSetTest_p_normalized[] = {
125 	0x8a, 0x63, 0x59, 0xa3, 0xfc, 0x00, 0x47, 0x8e,
126 	0xaa, 0x1a, 0x4c, 0xf6, 0xd6, 0x5f, 0xdd, 0x01,
127 	0x24, 0x56, 0x29, 0x65, 0xff, 0x72, 0x1e, 0x09,
128 	0xa9, 0xd6, 0xf8, 0x13, 0x6b, 0xa5, 0xa2, 0xbb,
129 	0xe3, 0xb0, 0xa4, 0xe8, 0x35, 0xe8, 0xe0, 0x94,
130 	0x08, 0xb0, 0x08, 0xfd, 0x01, 0xc8, 0xa8, 0xda,
131 	0x6b, 0x70, 0x66, 0xdf, 0x58, 0x44, 0x9b, 0xb0,
132 	0x2c, 0xc9, 0x77, 0xea, 0x51, 0x7c, 0xc6, 0xe6,
133 };
134 
135 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_p_normalized);
136 
137 static const u8 gost_R3410_2012_512_paramSetTest_p_reciprocal[] = {
138 	0xd9, 0x91, 0x18, 0x3c,
139 };
140 
141 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_p_reciprocal);
142 
143 #elif (WORD_BYTES == 2)   /* 16-bit words */
144 static const u8 gost_R3410_2012_512_paramSetTest_r[] = {
145 	0x30, 0x6a, 0xf9, 0x8a, 0x05, 0xff, 0x94, 0xaa,
146 	0x00, 0xd8, 0x8c, 0x8d, 0xbe, 0x70, 0x34, 0x7e,
147 	0x49, 0x7e, 0xc1, 0xe7, 0x00, 0xd4, 0xd2, 0xf1,
148 	0x81, 0x3d, 0x8b, 0xe2, 0xde, 0x87, 0x8b, 0xe6,
149 	0x2a, 0x77, 0x08, 0xa3, 0xaf, 0x22, 0xaf, 0x21,
150 	0xf2, 0xf7, 0xf2, 0x84, 0x7d, 0x53, 0x02, 0xb8,
151 	0x5e, 0xd7, 0x65, 0xb0, 0xfb, 0x99, 0x16, 0x77,
152 	0xbc, 0xd1, 0xcc, 0x20, 0x85, 0xc4, 0xd5, 0xa7,
153 };
154 
155 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_r);
156 
157 static const u8 gost_R3410_2012_512_paramSetTest_r_square[] = {
158 	0x1d, 0x88, 0x7d, 0xcd, 0x9c, 0xd1, 0x9c, 0x10,
159 	0x01, 0xfd, 0xe9, 0xca, 0x99, 0xde, 0x08, 0x52,
160 	0xfc, 0xd9, 0x83, 0xcf, 0xb7, 0xc6, 0x63, 0xd9,
161 	0xca, 0x0b, 0xc8, 0xaf, 0x77, 0xc8, 0x69, 0x0a,
162 	0x08, 0x15, 0xb9, 0xeb, 0x1e, 0x7d, 0xd3, 0x00,
163 	0xe4, 0x17, 0xd5, 0x8d, 0x20, 0x0c, 0x2a, 0xa0,
164 	0x4b, 0x90, 0x7a, 0x71, 0xe6, 0x47, 0xee, 0x63,
165 	0x00, 0x1c, 0x10, 0xbc, 0x2d, 0x00, 0x5b, 0x65,
166 };
167 
168 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_r_square);
169 
170 static const u8 gost_R3410_2012_512_paramSetTest_mpinv[] = {
171 	0x86, 0x45,
172 };
173 
174 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_mpinv);
175 
176 static const u8 gost_R3410_2012_512_paramSetTest_p_shift[] = {
177 	0x01,
178 };
179 
180 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_p_shift);
181 
182 static const u8 gost_R3410_2012_512_paramSetTest_p_normalized[] = {
183 	0x8a, 0x63, 0x59, 0xa3, 0xfc, 0x00, 0x47, 0x8e,
184 	0xaa, 0x1a, 0x4c, 0xf6, 0xd6, 0x5f, 0xdd, 0x01,
185 	0x24, 0x56, 0x29, 0x65, 0xff, 0x72, 0x1e, 0x09,
186 	0xa9, 0xd6, 0xf8, 0x13, 0x6b, 0xa5, 0xa2, 0xbb,
187 	0xe3, 0xb0, 0xa4, 0xe8, 0x35, 0xe8, 0xe0, 0x94,
188 	0x08, 0xb0, 0x08, 0xfd, 0x01, 0xc8, 0xa8, 0xda,
189 	0x6b, 0x70, 0x66, 0xdf, 0x58, 0x44, 0x9b, 0xb0,
190 	0x2c, 0xc9, 0x77, 0xea, 0x51, 0x7c, 0xc6, 0xe6,
191 };
192 
193 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_p_normalized);
194 
195 static const u8 gost_R3410_2012_512_paramSetTest_p_reciprocal[] = {
196 	0xd9, 0x91,
197 };
198 
199 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_p_reciprocal);
200 
201 #else                     /* unknown word size */
202 #error "Unsupported word size"
203 #endif
204 
205 static const u8 gost_R3410_2012_512_paramSetTest_a[] = {
206 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
207 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
208 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
209 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
210 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
211 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
212 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
213 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
214 };
215 
216 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_a);
217 
218 static const u8 gost_R3410_2012_512_paramSetTest_b[] = {
219 	0x1c, 0xff, 0x08, 0x06, 0xa3, 0x11, 0x16, 0xda,
220 	0x29, 0xd8, 0xcf, 0xa5, 0x4e, 0x57, 0xeb, 0x74,
221 	0x8b, 0xc5, 0xf3, 0x77, 0xe4, 0x94, 0x00, 0xfd,
222 	0xd7, 0x88, 0xb6, 0x49, 0xec, 0xa1, 0xac, 0x43,
223 	0x61, 0x83, 0x40, 0x13, 0xb2, 0xad, 0x73, 0x22,
224 	0x48, 0x0a, 0x89, 0xca, 0x58, 0xe0, 0xcf, 0x74,
225 	0xbc, 0x9e, 0x54, 0x0c, 0x2a, 0xdd, 0x68, 0x97,
226 	0xfa, 0xd0, 0xa3, 0x08, 0x4f, 0x30, 0x2a, 0xdc,
227 };
228 
229 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_b);
230 
231 #define CURVE_GOST_R3410_2012_512_PARAMSETTEST_CURVE_ORDER_BITLEN 511
232 static const u8 gost_R3410_2012_512_paramSetTest_curve_order[] = {
233 	0x45, 0x31, 0xac, 0xd1, 0xfe, 0x00, 0x23, 0xc7,
234 	0x55, 0x0d, 0x26, 0x7b, 0x6b, 0x2f, 0xee, 0x80,
235 	0x92, 0x2b, 0x14, 0xb2, 0xff, 0xb9, 0x0f, 0x04,
236 	0xd4, 0xeb, 0x7c, 0x09, 0xb5, 0xd2, 0xd1, 0x5d,
237 	0xa8, 0x2f, 0x2d, 0x7e, 0xcb, 0x1d, 0xba, 0xc7,
238 	0x19, 0x90, 0x5c, 0x5e, 0xec, 0xc4, 0x23, 0xf1,
239 	0xd8, 0x6e, 0x25, 0xed, 0xbe, 0x23, 0xc5, 0x95,
240 	0xd6, 0x44, 0xaa, 0xf1, 0x87, 0xe6, 0xe6, 0xdf,
241 };
242 
243 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_curve_order);
244 
245 static const u8 gost_R3410_2012_512_paramSetTest_gx[] = {
246 	0x24, 0xd1, 0x9c, 0xc6, 0x45, 0x72, 0xee, 0x30,
247 	0xf3, 0x96, 0xbf, 0x6e, 0xbb, 0xfd, 0x7a, 0x6c,
248 	0x52, 0x13, 0xb3, 0xb3, 0xd7, 0x05, 0x7c, 0xc8,
249 	0x25, 0xf9, 0x10, 0x93, 0xa6, 0x8c, 0xd7, 0x62,
250 	0xfd, 0x60, 0x61, 0x12, 0x62, 0xcd, 0x83, 0x8d,
251 	0xc6, 0xb6, 0x0a, 0xa7, 0xee, 0xe8, 0x04, 0xe2,
252 	0x8b, 0xc8, 0x49, 0x97, 0x7f, 0xac, 0x33, 0xb4,
253 	0xb5, 0x30, 0xf1, 0xb1, 0x20, 0x24, 0x8a, 0x9a,
254 };
255 
256 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_gx);
257 
258 static const u8 gost_R3410_2012_512_paramSetTest_gy[] = {
259 	0x2b, 0xb3, 0x12, 0xa4, 0x3b, 0xd2, 0xce, 0x6e,
260 	0x0d, 0x02, 0x06, 0x13, 0xc8, 0x57, 0xac, 0xdd,
261 	0xcf, 0xbf, 0x06, 0x1e, 0x91, 0xe5, 0xf2, 0xc3,
262 	0xf3, 0x24, 0x47, 0xc2, 0x59, 0xf3, 0x9b, 0x2c,
263 	0x83, 0xab, 0x15, 0x6d, 0x77, 0xf1, 0x49, 0x6b,
264 	0xf7, 0xeb, 0x33, 0x51, 0xe1, 0xee, 0x4e, 0x43,
265 	0xdc, 0x1a, 0x18, 0xb9, 0x1b, 0x24, 0x64, 0x0b,
266 	0x6d, 0xbb, 0x92, 0xcb, 0x1a, 0xdd, 0x37, 0x1e,
267 };
268 
269 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_gy);
270 
271 static const u8 gost_R3410_2012_512_paramSetTest_gz[] = {
272 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
273 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
274 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
275 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
276 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
277 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
278 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
279 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
280 };
281 
282 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_gz);
283 
284 static const u8 gost_R3410_2012_512_paramSetTest_gen_order[] = {
285 	0x45, 0x31, 0xac, 0xd1, 0xfe, 0x00, 0x23, 0xc7,
286 	0x55, 0x0d, 0x26, 0x7b, 0x6b, 0x2f, 0xee, 0x80,
287 	0x92, 0x2b, 0x14, 0xb2, 0xff, 0xb9, 0x0f, 0x04,
288 	0xd4, 0xeb, 0x7c, 0x09, 0xb5, 0xd2, 0xd1, 0x5d,
289 	0xa8, 0x2f, 0x2d, 0x7e, 0xcb, 0x1d, 0xba, 0xc7,
290 	0x19, 0x90, 0x5c, 0x5e, 0xec, 0xc4, 0x23, 0xf1,
291 	0xd8, 0x6e, 0x25, 0xed, 0xbe, 0x23, 0xc5, 0x95,
292 	0xd6, 0x44, 0xaa, 0xf1, 0x87, 0xe6, 0xe6, 0xdf,
293 };
294 
295 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_gen_order);
296 
297 #define CURVE_GOST_R3410_2012_512_PARAMSETTEST_Q_BITLEN 511
298 static const u8 gost_R3410_2012_512_paramSetTest_gen_order_bitlen[] = {
299 	0x01, 0xff,
300 };
301 
302 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_gen_order_bitlen);
303 
304 static const u8 gost_R3410_2012_512_paramSetTest_cofactor[] = {
305 	0x01,
306 };
307 
308 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_cofactor);
309 
310 static const u8 gost_R3410_2012_512_paramSetTest_alpha_montgomery[] = {
311 	0x00,
312 };
313 TO_EC_STR_PARAM_FIXED_SIZE(gost_R3410_2012_512_paramSetTest_alpha_montgomery, 0);
314 
315 static const u8 gost_R3410_2012_512_paramSetTest_gamma_montgomery[] = {
316 	0x00,
317 };
318 TO_EC_STR_PARAM_FIXED_SIZE(gost_R3410_2012_512_paramSetTest_gamma_montgomery, 0);
319 
320 static const u8 gost_R3410_2012_512_paramSetTest_alpha_edwards[] = {
321 	0x00,
322 };
323 TO_EC_STR_PARAM_FIXED_SIZE(gost_R3410_2012_512_paramSetTest_alpha_edwards, 0);
324 
325 static const u8 gost_R3410_2012_512_paramSetTest_name[] = "GOST_R3410_2012_512_PARAMSETTEST";
326 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_name);
327 
328 static const u8 gost_R3410_2012_512_paramSetTest_oid[] = "1.2.643.7.1.2.1.2.0";
329 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetTest_oid);
330 
331 static const ec_str_params gost_R3410_2012_512_paramSetTest_str_params = {
332 	.p = &gost_R3410_2012_512_paramSetTest_p_str_param,
333 	.p_bitlen = &gost_R3410_2012_512_paramSetTest_p_bitlen_str_param,
334 	.r = &gost_R3410_2012_512_paramSetTest_r_str_param,
335 	.r_square = &gost_R3410_2012_512_paramSetTest_r_square_str_param,
336 	.mpinv = &gost_R3410_2012_512_paramSetTest_mpinv_str_param,
337 	.p_shift = &gost_R3410_2012_512_paramSetTest_p_shift_str_param,
338 	.p_normalized = &gost_R3410_2012_512_paramSetTest_p_normalized_str_param,
339 	.p_reciprocal = &gost_R3410_2012_512_paramSetTest_p_reciprocal_str_param,
340 	.a = &gost_R3410_2012_512_paramSetTest_a_str_param,
341 	.b = &gost_R3410_2012_512_paramSetTest_b_str_param,
342 	.curve_order = &gost_R3410_2012_512_paramSetTest_curve_order_str_param,
343 	.gx = &gost_R3410_2012_512_paramSetTest_gx_str_param,
344 	.gy = &gost_R3410_2012_512_paramSetTest_gy_str_param,
345 	.gz = &gost_R3410_2012_512_paramSetTest_gz_str_param,
346 	.gen_order = &gost_R3410_2012_512_paramSetTest_gen_order_str_param,
347 	.gen_order_bitlen = &gost_R3410_2012_512_paramSetTest_gen_order_bitlen_str_param,
348 	.cofactor = &gost_R3410_2012_512_paramSetTest_cofactor_str_param,
349 	.alpha_montgomery = &gost_R3410_2012_512_paramSetTest_alpha_montgomery_str_param,
350 	.gamma_montgomery = &gost_R3410_2012_512_paramSetTest_gamma_montgomery_str_param,
351 	.alpha_edwards = &gost_R3410_2012_512_paramSetTest_alpha_edwards_str_param,
352 	.oid = &gost_R3410_2012_512_paramSetTest_oid_str_param,
353 	.name = &gost_R3410_2012_512_paramSetTest_name_str_param,
354 };
355 
356 /*
357  * Compute max bit length of all curves for p and q
358  */
359 #ifndef CURVES_MAX_P_BIT_LEN
360 #define CURVES_MAX_P_BIT_LEN    0
361 #endif
362 #if (CURVES_MAX_P_BIT_LEN < CURVE_GOST_R3410_2012_512_PARAMSETTEST_P_BITLEN)
363 #undef CURVES_MAX_P_BIT_LEN
364 #define CURVES_MAX_P_BIT_LEN CURVE_GOST_R3410_2012_512_PARAMSETTEST_P_BITLEN
365 #endif
366 #ifndef CURVES_MAX_Q_BIT_LEN
367 #define CURVES_MAX_Q_BIT_LEN    0
368 #endif
369 #if (CURVES_MAX_Q_BIT_LEN < CURVE_GOST_R3410_2012_512_PARAMSETTEST_Q_BITLEN)
370 #undef CURVES_MAX_Q_BIT_LEN
371 #define CURVES_MAX_Q_BIT_LEN CURVE_GOST_R3410_2012_512_PARAMSETTEST_Q_BITLEN
372 #endif
373 #ifndef CURVES_MAX_CURVE_ORDER_BIT_LEN
374 #define CURVES_MAX_CURVE_ORDER_BIT_LEN    0
375 #endif
376 #if (CURVES_MAX_CURVE_ORDER_BIT_LEN < CURVE_GOST_R3410_2012_512_PARAMSETTEST_CURVE_ORDER_BITLEN)
377 #undef CURVES_MAX_CURVE_ORDER_BIT_LEN
378 #define CURVES_MAX_CURVE_ORDER_BIT_LEN CURVE_GOST_R3410_2012_512_PARAMSETTEST_CURVE_ORDER_BITLEN
379 #endif
380 
381 /*
382  * Compute and adapt max name and oid length
383  */
384 #ifndef MAX_CURVE_OID_LEN
385 #define MAX_CURVE_OID_LEN 0
386 #endif
387 #ifndef MAX_CURVE_NAME_LEN
388 #define MAX_CURVE_NAME_LEN 0
389 #endif
390 #if (MAX_CURVE_OID_LEN < 20)
391 #undef MAX_CURVE_OID_LEN
392 #define MAX_CURVE_OID_LEN 20
393 #endif
394 #if (MAX_CURVE_NAME_LEN < 53)
395 #undef MAX_CURVE_NAME_LEN
396 #define MAX_CURVE_NAME_LEN 53
397 #endif
398 
399 #endif /* __EC_PARAMS_GOST_R3410_2012_512_PARAMSETTEST_H__ */
400 
401 #endif /* WITH_CURVE_GOST_R3410_2012_512_PARAMSETTEST */
402