1 #include <libecc/lib_ecc_config.h> 2 #ifdef WITH_CURVE_GOST_R3410_2012_512_PARAMSETB 3 4 #ifndef __EC_PARAMS_GOST_R3410_2012_512_PARAMSETB_H__ 5 #define __EC_PARAMS_GOST_R3410_2012_512_PARAMSETB_H__ 6 #include <libecc/curves/known/ec_params_external.h> 7 static const u8 gost_R3410_2012_512_paramSetB_p[] = { 8 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 9 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 10 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 11 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 12 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 13 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 14 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 15 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 16 }; 17 18 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_p); 19 20 #define CURVE_GOST_R3410_2012_512_PARAMSETB_P_BITLEN 512 21 static const u8 gost_R3410_2012_512_paramSetB_p_bitlen[] = { 22 0x02, 0x00, 23 }; 24 25 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_p_bitlen); 26 27 #if (WORD_BYTES == 8) /* 64-bit words */ 28 static const u8 gost_R3410_2012_512_paramSetB_r[] = { 29 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 30 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 31 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 32 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 33 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 34 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 35 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 36 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x91, 37 }; 38 39 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_r); 40 41 static const u8 gost_R3410_2012_512_paramSetB_r_square[] = { 42 0xc0, 0x84, 43 }; 44 45 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_r_square); 46 47 static const u8 gost_R3410_2012_512_paramSetB_mpinv[] = { 48 0x4e, 0x6a, 0x17, 0x10, 0x24, 0xe6, 0xa1, 0x71, 49 }; 50 51 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_mpinv); 52 53 static const u8 gost_R3410_2012_512_paramSetB_p_shift[] = { 54 0x00, 55 }; 56 57 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_p_shift); 58 59 static const u8 gost_R3410_2012_512_paramSetB_p_normalized[] = { 60 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 61 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 62 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 63 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 64 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 65 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 66 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 67 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 68 }; 69 70 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_p_normalized); 71 72 static const u8 gost_R3410_2012_512_paramSetB_p_reciprocal[] = { 73 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 74 }; 75 76 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_p_reciprocal); 77 78 #elif (WORD_BYTES == 4) /* 32-bit words */ 79 static const u8 gost_R3410_2012_512_paramSetB_r[] = { 80 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 81 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 82 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 83 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 84 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 85 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 86 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 87 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x91, 88 }; 89 90 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_r); 91 92 static const u8 gost_R3410_2012_512_paramSetB_r_square[] = { 93 0xc0, 0x84, 94 }; 95 96 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_r_square); 97 98 static const u8 gost_R3410_2012_512_paramSetB_mpinv[] = { 99 0x24, 0xe6, 0xa1, 0x71, 100 }; 101 102 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_mpinv); 103 104 static const u8 gost_R3410_2012_512_paramSetB_p_shift[] = { 105 0x00, 106 }; 107 108 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_p_shift); 109 110 static const u8 gost_R3410_2012_512_paramSetB_p_normalized[] = { 111 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 112 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 113 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 114 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 115 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 116 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 117 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 118 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 119 }; 120 121 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_p_normalized); 122 123 static const u8 gost_R3410_2012_512_paramSetB_p_reciprocal[] = { 124 0xff, 0xff, 0xff, 0xff, 125 }; 126 127 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_p_reciprocal); 128 129 #elif (WORD_BYTES == 2) /* 16-bit words */ 130 static const u8 gost_R3410_2012_512_paramSetB_r[] = { 131 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 132 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 133 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 134 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 135 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 136 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 137 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 138 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x91, 139 }; 140 141 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_r); 142 143 static const u8 gost_R3410_2012_512_paramSetB_r_square[] = { 144 0xc0, 0x84, 145 }; 146 147 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_r_square); 148 149 static const u8 gost_R3410_2012_512_paramSetB_mpinv[] = { 150 0xa1, 0x71, 151 }; 152 153 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_mpinv); 154 155 static const u8 gost_R3410_2012_512_paramSetB_p_shift[] = { 156 0x00, 157 }; 158 159 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_p_shift); 160 161 static const u8 gost_R3410_2012_512_paramSetB_p_normalized[] = { 162 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 163 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 164 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 165 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 166 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 168 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 169 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 170 }; 171 172 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_p_normalized); 173 174 static const u8 gost_R3410_2012_512_paramSetB_p_reciprocal[] = { 175 0xff, 0xff, 176 }; 177 178 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_p_reciprocal); 179 180 #else /* unknown word size */ 181 #error "Unsupported word size" 182 #endif 183 184 static const u8 gost_R3410_2012_512_paramSetB_a[] = { 185 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 186 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 187 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 188 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 189 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 190 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 192 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6c, 193 }; 194 195 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_a); 196 197 static const u8 gost_R3410_2012_512_paramSetB_b[] = { 198 0x68, 0x7d, 0x1b, 0x45, 0x9d, 0xc8, 0x41, 0x45, 199 0x7e, 0x3e, 0x06, 0xcf, 0x6f, 0x5e, 0x25, 0x17, 200 0xb9, 0x7c, 0x7d, 0x61, 0x4a, 0xf1, 0x38, 0xbc, 201 0xbf, 0x85, 0xdc, 0x80, 0x6c, 0x4b, 0x28, 0x9f, 202 0x3e, 0x96, 0x5d, 0x2d, 0xb1, 0x41, 0x6d, 0x21, 203 0x7f, 0x8b, 0x27, 0x6f, 0xad, 0x1a, 0xb6, 0x9c, 204 0x50, 0xf7, 0x8b, 0xee, 0x1f, 0xa3, 0x10, 0x6e, 205 0xfb, 0x8c, 0xcb, 0xc7, 0xc5, 0x14, 0x01, 0x16, 206 }; 207 208 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_b); 209 210 #define CURVE_GOST_R3410_2012_512_PARAMSETB_CURVE_ORDER_BITLEN 512 211 static const u8 gost_R3410_2012_512_paramSetB_curve_order[] = { 212 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 213 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 214 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 216 0x49, 0xa1, 0xec, 0x14, 0x25, 0x65, 0xa5, 0x45, 217 0xac, 0xfd, 0xb7, 0x7b, 0xd9, 0xd4, 0x0c, 0xfa, 218 0x8b, 0x99, 0x67, 0x12, 0x10, 0x1b, 0xea, 0x0e, 219 0xc6, 0x34, 0x6c, 0x54, 0x37, 0x4f, 0x25, 0xbd, 220 }; 221 222 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_curve_order); 223 224 static const u8 gost_R3410_2012_512_paramSetB_gx[] = { 225 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 226 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 227 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 228 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 229 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 230 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 232 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 233 }; 234 235 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_gx); 236 237 static const u8 gost_R3410_2012_512_paramSetB_gy[] = { 238 0x1a, 0x8f, 0x7e, 0xda, 0x38, 0x9b, 0x09, 0x4c, 239 0x2c, 0x07, 0x1e, 0x36, 0x47, 0xa8, 0x94, 0x0f, 240 0x3c, 0x12, 0x3b, 0x69, 0x75, 0x78, 0xc2, 0x13, 241 0xbe, 0x6d, 0xd9, 0xe6, 0xc8, 0xec, 0x73, 0x35, 242 0xdc, 0xb2, 0x28, 0xfd, 0x1e, 0xdf, 0x4a, 0x39, 243 0x15, 0x2c, 0xbc, 0xaa, 0xf8, 0xc0, 0x39, 0x88, 244 0x28, 0x04, 0x10, 0x55, 0xf9, 0x4c, 0xee, 0xec, 245 0x7e, 0x21, 0x34, 0x07, 0x80, 0xfe, 0x41, 0xbd, 246 }; 247 248 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_gy); 249 250 static const u8 gost_R3410_2012_512_paramSetB_gz[] = { 251 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 252 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 253 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 254 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 256 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 257 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 258 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 259 }; 260 261 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_gz); 262 263 static const u8 gost_R3410_2012_512_paramSetB_gen_order[] = { 264 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 265 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 266 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 267 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 268 0x49, 0xa1, 0xec, 0x14, 0x25, 0x65, 0xa5, 0x45, 269 0xac, 0xfd, 0xb7, 0x7b, 0xd9, 0xd4, 0x0c, 0xfa, 270 0x8b, 0x99, 0x67, 0x12, 0x10, 0x1b, 0xea, 0x0e, 271 0xc6, 0x34, 0x6c, 0x54, 0x37, 0x4f, 0x25, 0xbd, 272 }; 273 274 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_gen_order); 275 276 #define CURVE_GOST_R3410_2012_512_PARAMSETB_Q_BITLEN 512 277 static const u8 gost_R3410_2012_512_paramSetB_gen_order_bitlen[] = { 278 0x02, 0x00, 279 }; 280 281 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_gen_order_bitlen); 282 283 static const u8 gost_R3410_2012_512_paramSetB_cofactor[] = { 284 0x01, 285 }; 286 287 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_cofactor); 288 289 static const u8 gost_R3410_2012_512_paramSetB_alpha_montgomery[] = { 290 0x00, 291 }; 292 TO_EC_STR_PARAM_FIXED_SIZE(gost_R3410_2012_512_paramSetB_alpha_montgomery, 0); 293 294 static const u8 gost_R3410_2012_512_paramSetB_gamma_montgomery[] = { 295 0x00, 296 }; 297 TO_EC_STR_PARAM_FIXED_SIZE(gost_R3410_2012_512_paramSetB_gamma_montgomery, 0); 298 299 static const u8 gost_R3410_2012_512_paramSetB_alpha_edwards[] = { 300 0x00, 301 }; 302 TO_EC_STR_PARAM_FIXED_SIZE(gost_R3410_2012_512_paramSetB_alpha_edwards, 0); 303 304 static const u8 gost_R3410_2012_512_paramSetB_name[] = "GOST_R3410_2012_512_PARAMSETB"; 305 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_name); 306 307 static const u8 gost_R3410_2012_512_paramSetB_oid[] = "1.2.643.7.1.2.1.2.2"; 308 TO_EC_STR_PARAM(gost_R3410_2012_512_paramSetB_oid); 309 310 static const ec_str_params gost_R3410_2012_512_paramSetB_str_params = { 311 .p = &gost_R3410_2012_512_paramSetB_p_str_param, 312 .p_bitlen = &gost_R3410_2012_512_paramSetB_p_bitlen_str_param, 313 .r = &gost_R3410_2012_512_paramSetB_r_str_param, 314 .r_square = &gost_R3410_2012_512_paramSetB_r_square_str_param, 315 .mpinv = &gost_R3410_2012_512_paramSetB_mpinv_str_param, 316 .p_shift = &gost_R3410_2012_512_paramSetB_p_shift_str_param, 317 .p_normalized = &gost_R3410_2012_512_paramSetB_p_normalized_str_param, 318 .p_reciprocal = &gost_R3410_2012_512_paramSetB_p_reciprocal_str_param, 319 .a = &gost_R3410_2012_512_paramSetB_a_str_param, 320 .b = &gost_R3410_2012_512_paramSetB_b_str_param, 321 .curve_order = &gost_R3410_2012_512_paramSetB_curve_order_str_param, 322 .gx = &gost_R3410_2012_512_paramSetB_gx_str_param, 323 .gy = &gost_R3410_2012_512_paramSetB_gy_str_param, 324 .gz = &gost_R3410_2012_512_paramSetB_gz_str_param, 325 .gen_order = &gost_R3410_2012_512_paramSetB_gen_order_str_param, 326 .gen_order_bitlen = &gost_R3410_2012_512_paramSetB_gen_order_bitlen_str_param, 327 .cofactor = &gost_R3410_2012_512_paramSetB_cofactor_str_param, 328 .alpha_montgomery = &gost_R3410_2012_512_paramSetB_alpha_montgomery_str_param, 329 .gamma_montgomery = &gost_R3410_2012_512_paramSetB_gamma_montgomery_str_param, 330 .alpha_edwards = &gost_R3410_2012_512_paramSetB_alpha_edwards_str_param, 331 .oid = &gost_R3410_2012_512_paramSetB_oid_str_param, 332 .name = &gost_R3410_2012_512_paramSetB_name_str_param, 333 }; 334 335 /* 336 * Compute max bit length of all curves for p and q 337 */ 338 #ifndef CURVES_MAX_P_BIT_LEN 339 #define CURVES_MAX_P_BIT_LEN 0 340 #endif 341 #if (CURVES_MAX_P_BIT_LEN < CURVE_GOST_R3410_2012_512_PARAMSETB_P_BITLEN) 342 #undef CURVES_MAX_P_BIT_LEN 343 #define CURVES_MAX_P_BIT_LEN CURVE_GOST_R3410_2012_512_PARAMSETB_P_BITLEN 344 #endif 345 #ifndef CURVES_MAX_Q_BIT_LEN 346 #define CURVES_MAX_Q_BIT_LEN 0 347 #endif 348 #if (CURVES_MAX_Q_BIT_LEN < CURVE_GOST_R3410_2012_512_PARAMSETB_Q_BITLEN) 349 #undef CURVES_MAX_Q_BIT_LEN 350 #define CURVES_MAX_Q_BIT_LEN CURVE_GOST_R3410_2012_512_PARAMSETB_Q_BITLEN 351 #endif 352 #ifndef CURVES_MAX_CURVE_ORDER_BIT_LEN 353 #define CURVES_MAX_CURVE_ORDER_BIT_LEN 0 354 #endif 355 #if (CURVES_MAX_CURVE_ORDER_BIT_LEN < CURVE_GOST_R3410_2012_512_PARAMSETB_CURVE_ORDER_BITLEN) 356 #undef CURVES_MAX_CURVE_ORDER_BIT_LEN 357 #define CURVES_MAX_CURVE_ORDER_BIT_LEN CURVE_GOST_R3410_2012_512_PARAMSETB_CURVE_ORDER_BITLEN 358 #endif 359 360 /* 361 * Compute and adapt max name and oid length 362 */ 363 #ifndef MAX_CURVE_OID_LEN 364 #define MAX_CURVE_OID_LEN 0 365 #endif 366 #ifndef MAX_CURVE_NAME_LEN 367 #define MAX_CURVE_NAME_LEN 0 368 #endif 369 #if (MAX_CURVE_OID_LEN < 20) 370 #undef MAX_CURVE_OID_LEN 371 #define MAX_CURVE_OID_LEN 20 372 #endif 373 #if (MAX_CURVE_NAME_LEN < 50) 374 #undef MAX_CURVE_NAME_LEN 375 #define MAX_CURVE_NAME_LEN 50 376 #endif 377 378 #endif /* __EC_PARAMS_GOST_R3410_2012_512_PARAMSETB_H__ */ 379 380 #endif /* WITH_CURVE_GOST_R3410_2012_512_PARAMSETB */ 381