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