1/* 2 * curveParamDataOld.h - prototype FEE curve parameters (obsolete as of 4/9/2001) 3 */ 4#warning Using obsolete curveParam data! 5/* 6 * q = 31 k = 1, Weierstrass 7 * a = 7 b = 1 c = 0 8 */ 9static arrayDigit ga_w31_1_a[] = {1, 7}; 10static arrayDigit ga_w31_1_x1Plus[] = 11 {2,15438,14404}; 12 /* 943995982 */ 13static arrayDigit ga_w31_1_x1Minus[] = 14 {2, 10400, 19905}; 15 /* 1304504480 */ 16static arrayDigit ga_w31_1_plusOrder[] = 17 {2, 3848, 32769}; 18 /* 2147553032 */ 19static arrayDigit ga_w31_1_minusOrder[] = 20 {2, 61688, 32766 }; 21 /* 2147414264 */ 22static arrayDigit ga_w31_1_x1OrderPlus[] = 23 {2, 8673, 4096}; 24 /* 268444129 */ 25static arrayDigit ga_w31_1_x1OrderMinus[] = 26 {2, 56863, 4095 }; 27 /* 268426783 */ 28static arrayDigit ga_w31_1_x1OrderPlusRecip[] = 29 {2, 30845, 16383}; 30static arrayDigit ga_w31_1_lesserX1OrderRecip[] = 31 {2, 8673, 4096}; 32 33/* 34 * q = 31 k = 1, Montgomery 35 * a = 1 b = 0 c = 666 36 */ 37static arrayDigit ga_m31_1_x1Plus[] = 38 {2, 61780, 6237}; 39 /* 408809812 */ 40static arrayDigit ga_m31_1_x1Minus[] = 41 {2,12973,30585}; 42 /* 2004431533 */ 43static arrayDigit ga_m31_1_plusOrder[] = 44 {2, 25928, 32768 }; 45 /* 2147509576 */ 46static arrayDigit ga_m31_1_minusOrder[] = 47 {2, 39608, 32767 }; 48 /* 2147457720 */ 49static arrayDigit ga_m31_1_x1OrderPlus[] = 50 {2, 3241, 4096}; 51 /* 268438697 */ 52static arrayDigit ga_m31_1_x1OrderMinus[] = 53 {2, 4153, 273}; 54 /* 17895481 */ 55static arrayDigit ga_m31_1_x1OrderPlusRecip[] = 56 {2, 52572, 16383}; 57static arrayDigit ga_m31_1_lesserX1OrderRecip[] = 58 {2, 759, 960}; 59 60/* 61 * q = 31 k = 1, Montgomery, prime curve orders 62 * a = 5824692 b = 2067311435 c = 0 63 */ 64static arrayDigit ga_31_1P_x1Plus[] = 65 {1, 6 }; 66static arrayDigit ga_31_1P_x1Minus[] = 67 {1, 7 }; 68static arrayDigit ga_31_1P_plusOrder[] = 69 {2,59003,32766 }; 70 /* 2147411579 */ 71static arrayDigit ga_31_1P_minusOrder[] = 72 {2,6533,32769 }; 73 /* 2147555717 */ 74static arrayDigit ga_31_1P_x1OrderPlus[] = 75 {2,59003,32766}; 76 /* 2147411579 */ 77static arrayDigit ga_31_1P_x1OrderMinus[] = 78 {2,6533,32769}; 79 /* 2147555717 */ 80static arrayDigit ga_31_1P_x1OrderPlusRecip[] = 81 {2, 6535, 32769}; 82 83static arrayDigit ga_31_1P_a[] = 84 {2,57524,88}; 85 /* 5824692 */ 86static arrayDigit ga_31_1P_b[] = 87 {2,43851,31544}; 88 /* 2067311435 */ 89 90/* 91 * q = 40 k = 213, Weierstrass 92 * a = 1627500953 b = 523907505 c = 0 93 */ 94static arrayDigit ga_40_213_x1Plus[] = 95 {1, 1 }; 96static arrayDigit ga_40_213_x1Minus[] = 97 {1, 2 }; 98static arrayDigit ga_40_213_plusOrder[] = 99 {3,11655,25,256}; 100 /* 1099513277831 */ 101static arrayDigit ga_40_213_minusOrder[] = 102 {3,53457,65510,255}; 103 /* 1099509977297 */ 104static arrayDigit ga_40_213_x1OrderPlus[] = 105 {3,11655,25,256}; 106 /* 1099513277831 */ 107static arrayDigit ga_40_213_x1OrderMinus[] = 108 {3,53457,65510,255}; 109 /* 1099509977297 */ 110static arrayDigit ga_40_213_x1OrderPlusRecip[] = 111 {3, 18925, 65435, 1023}; 112static arrayDigit ga_40_213_lesserX1OrderRecip[] = 113 {3, 12081, 25, 256}; 114 115static arrayDigit ga_40_213_a[] = 116 {2,45465,24833}; 117 /* 1627500953 */ 118static arrayDigit ga_40_213_b[] = 119 {2,12721,7994}; 120 /* 523907505 */ 121 122/* 123 * q = 127 k = 1 124 * a = 1 b = 0 c = 666 125 */ 126static arrayDigit ga_127_1_x1Plus[] = 127 {8, 24044, 39922, 11050, 128 24692, 34049, 9793, 1228, 31562}; 129 /* 163879370753099435779911346846180728300 */ 130static arrayDigit ga_127_1_x1Minus[] = 131 {8,49015,6682,26772,63672,45560,46133,24769,8366}; 132 /* 43440717976631899041527862406676135799 */ 133static arrayDigit ga_127_1_plusOrder[] = 134 { 8, 14612, 61088, 34331, 135 32354, 65535, 65535, 65535, 136 32767}; 137 /* 170141183460469231722347548493196835092 */ 138static arrayDigit ga_127_1_minusOrder[] = 139 { 8, 50924, 4447, 31204, 140 33181, 0, 0, 0, 141 32768 }; 142 /* 170141183460469231741027058938571376364 */ 143static arrayDigit ga_127_1_x1OrderPlus[] = 144 {6, 8201, 61942, 37082, 145 53787, 49605, 7887 }; 146 /* 9535713005180210505588285449 */ 147static arrayDigit ga_127_1_x1OrderMinus[] = 148 {6, 14659, 1977,16924, 149 7446, 49030, 1}; 150 /* 2113371777483973234080067 */ 151static arrayDigit ga_127_1_x1OrderPlusRecip[] = 152 {6, 21911, 8615, 0, 40960, 64107, 8507}; 153static arrayDigit ga_127_1_lesserX1OrderRecip[] = 154 {6, 44759, 65533, 17695, 61560, 18883, 2}; 155 156/* 157 * This is only used for the FEE_DEPTH_127_GEN (FPT_General) case. 158 */ 159static arrayDigit ga_127_1_bp[] = 160 {8, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 32767}; 161 162/* 163 * q = 127 k = 1, Weierstrass 164 * a = 666 b = 1 c = 0 165 */ 166static arrayDigit ga_127_1W_x1Plus[] = 167 {8, 8152, 12974, 29415, 168 29630, 64916, 34821, 65368, 169 29317}; 170 /* 152227746030289977478827896983637598168 */ 171static arrayDigit ga_127_1W_x1Minus[] = 172 {8, 33297, 13207, 15262, 173 22815, 21569, 49926, 18455, 174 22807}; 175 /* 118422176668700242826570137796135584273 */ 176static arrayDigit ga_127_1W_plusOrder[] = 177 {8, 7568, 62409, 28235, 178 47403, 65534, 65535, 65535, 179 32767 }; 180 /* 170141183460469231708136695161971875216 181 = 2 * 2 * 2 * 2 * 11 * 17 * 47 * 103 * 10861 * 182 1081540940469355570836125423 */ 183static arrayDigit ga_127_1W_minusOrder[] = 184 {8, 57968, 3126,37300, 18132, 1, 0, 0, 32768 }; 185 /* 170141183460469231755237912269796336240 186 = 2 * 2 * 2 * 2 * 3 * 5 * 19 * 34267 * 187 1088851169917897274673487152937 */ 188static arrayDigit ga_127_1W_x1OrderPlus[] = 189 { 6, 46831, 48825, 15584, 56652, 41267, 894 }; 190 /* 1081540940469355570836125423 */ 191static arrayDigit ga_127_1W_x1OrderMinus[] = 192 {7, 1833, 34556, 10366, 60186, 37860, 48708, 13}; 193 /* 1088851169917897274673487152937 */ 194static arrayDigit ga_127_1W_x1OrderPlusRecip[] = 195 {6, 48506, 2992, 0, 28160, 5127, 1172}; 196 197/* 198 * q = 160 k = 57 199 * a = c = 0 b = 3 200 */ 201static arrayDigit ga_160_57_x1Plus[] = 202 {10,12520,51433,52060,51310,41288,18467,39861,56172,11574,31757}; 203 /* 708208703989516599321256243677211664634713026792 */ 204static arrayDigit ga_160_57_x1Minus[] = 205 {10,40240,19544,56125,45242,10556,34052,10700,5155,57632,13213}; 206 /* 294679357488322649182890242541447794429265485104 */ 207static arrayDigit ga_160_57_plusOrder[] = 208 {11,62853,63609,4196,64365,22452,1,0,0,0,0,1}; 209 /* 1461501637330902918203686455826517732113793021317 */ 210static arrayDigit ga_160_57_minusOrder[] = 211 {10,2571,1926,61339,1170,43083,65534,65535,65535,65535,65535}; 212 /* 1461501637330902918203683209606048307198072064523 */ 213static arrayDigit ga_160_57_x1OrderPlus[] = 214 {5,171,21451,35098,934,63868}; 215 /* 1178156913548056058331307 */ 216static arrayDigit ga_160_57_x1OrderMinus[] = 217 {7,255,39523,10835,12387,25442,37088,9774}; 218 /* 774420897524543052406523561181439 */ 219static arrayDigit ga_160_57_x1OrderPlusRecip[] = 220 {6, 49805, 35001, 38758, 35853, 1711, 1}; 221static arrayDigit ga_160_57_b[] = {1, 3}; /* b = (giant)3 */ 222 223/* 224 * This is only used for the FEE_DEPTH_160_GEN (FPT_General) case. 225 */ 226static arrayDigit ga_160_57_bp[] = 227 {10,65479,65535,65535,65535,65535,65535,65535,65535,65535,65535}; 228 /* 1461501637330902918203684832716283019655932542919 */ 229 230 231/* 232 * q = 192 k = 1425 233 * a = 0 b = -11 c = 0 234 */ 235static arrayDigit ga_192_1425_x1Plus[] = 236 {12, 44344, 60264, 44908, 237 24163, 37728, 58781, 45290, 238 62313, 45939, 59670, 20046, 239 8781}; 240 /* 841082007613983662909216085212018592355989658924032240952 */ 241static arrayDigit ga_192_1425_x1Minus[] = 242 {12,32855,61817,23700,48262,13770,23791,31597,23825,7973,37638, 243 62245,25400}; 244 /* 2432927643133372385673335524462623851522707126886260637783 */ 245static arrayDigit ga_192_1425_plusOrder[] = 246 {13, 7615, 52517, 60178, 247 40906, 43135, 27853, 1, 248 0, 0, 0, 0, 0, 1}; 249 /* 6277101735386680763835789423320567585182165941785488334271 */ 250static arrayDigit ga_192_1425_minusOrder[] = 251 {12, 55073, 13018, 5357, 252 24629, 22400, 37682, 65534, 253 65535, 65535, 65535, 65535, 254 65535}; 255 /* 6277101735386680763835789423094765247022544947142580688673 */ 256static arrayDigit ga_192_1425_x1OrderPlus[] = 257 {11, 55217, 35908, 19375, 258 13869, 14836, 18343, 39323, 259 50251, 7215, 49984, 21171}; 260 /* 30942565846835947234516838572438382480699614724151217 */ 261static arrayDigit ga_192_1425_x1OrderMinus[] = 262 {12, 42525, 5637, 42463, 263 55864, 53758, 3234, 41914, 264 27439, 9168, 44294, 64393, 2}; 265 /* 285673405333212613836790125294441598644816135581967901 */ 266static arrayDigit ga_192_1425_x1OrderPlusRecip[] = 267 {11, 31243, 31728, 18067, 268 25698, 58801, 65534, 65535, 269 65535, 65535, 49151, 50715}; 270static arrayDigit ga_192_1425_b[] = {-1, 11}; /* b = (giant)(-11) */ 271 272/* 273 * q = 192 k = -529891 274 * a = -152 b = 722 c = 0 275 */ 276static arrayDigit ga_192_M529891_x1Plus[] = 277 {12, 27752, 118, 22193, 278 28093, 63505, 16219, 38086, 279 5777, 13552, 56652, 28149, 280 56180}; 281 /* 5381016108938327910020782805833379575685074837329310805096 */ 282static arrayDigit ga_192_M529891_x1Minus[] = 283 {12, 20031, 4376, 4872, 284 24519, 24047, 14628, 60533, 285 27380, 49464, 20541, 38806, 286 59062}; 287 /* 5657072442654455186533371860713762559076927475376430009919 */ 288static arrayDigit ga_192_M529891_plusOrder[] = 289 {13, 5604, 8, 0, 290 0, 0, 0, 2, 291 0, 0, 0, 0, 292 0, 1}; 293 /* 6277101735386680763835789423366122741130884119651122943460 */ 294static arrayDigit ga_192_M529891_minusOrder[] = 295 {12, 5604, 8, 0, 296 0, 0, 0, 65534, 297 65535, 65535, 65535, 65535, 298 65535}; 299 /* 6277101735386680763835789423049210091073826769276947142116 */ 300static arrayDigit ga_192_M529891_x1OrderPlus[] = 301 {12, 28623, 26214, 26214, 302 26214, 26214, 58982, 16681, 303 4766, 10724, 40513, 58386, 304 297}; 305 /* 28532280615394003471980861015300557914231291452959649743 */ 306static arrayDigit ga_192_M529891_x1OrderMinus[] = 307 {11, 18083, 10335, 12214, 308 61896, 30741, 14099, 7255, 309 33291, 27015, 23037, 196}; 310 /* 286968072376896521631921223217092198374509106906787 */ 311static arrayDigit ga_192_M529891_x1OrderPlusRecip[] = 312 {12, 58420, 65535, 65535, 313 65535, 65535, 63775, 65535, 314 65535, 65535, 65535, 65535, 879}; 315static arrayDigit ga_192_M529891_lesserX1OrderRecip[] = 316 {11, 65535, 65535, 65535, 35223, 317 667, 0, 0, 0, 0, 50380, 333}; 318static arrayDigit ga_192_M529891_a[] = {-1, 152}; /* a = -152 */ 319static arrayDigit ga_192_M529891_b[] = { 1, 722}; /* b = 722 */ 320 321/* 322 * FPT_General, 161 bits 323 */ 324static arrayDigit ga_161_gen_bp[] = 325 {11,41419,58349,36408,14563,25486,9098,29127,50972,7281,8647,1}; 326 /* baseprime = 1654338658923174831024422729553880293604080853451 */ 327static arrayDigit ga_161_gen_x1Plus[] = 328 {10,59390,38748,49144,50217,32781,46057,53816,62856,18968,55868}; 329 /* 1245904487553815885170631576005220733978383542270 */ 330static arrayDigit ga_161_gen_x1Minus[] = 331 {10,62588,37264,57758,58571,20023,11302,61317,50155,46534,18610}; 332 /* 415032703104741702601157337572231150005648422012 */ 333static arrayDigit ga_161_gen_plusOrder[] = 334 {11,41420,58349,36408,14563,25486,9100,29127,50972,7281,8647,1}; 335 /* 1654338658923174831024425147405519522862430265804 */ 336static arrayDigit ga_161_gen_minusOrder[] = 337 {11,41420,58349,36408,14563,25486,9096,29127,50972,7281,8647,1}; 338 /* 1654338658923174831024420311702241064345731441100 */ 339static arrayDigit ga_161_gen_x1OrderPlus[] = 340 {8,59671,64703,58305,55887,34170,37971,15627,197}; 341 /* 1024120625531724089187207582052247831 */ 342static arrayDigit ga_161_gen_x1OrderMinus[] = 343 {10,49675,56911,64364,6281,5543,59511,52057,44604,37151,2}; 344 /* 57243552211874561627142571339177891499852299 */ 345static arrayDigit ga_161_gen_x1OrderPlusRecip[] = 346 {8, 7566, 37898, 14581, 2404, 52670, 23839, 17554, 332}; 347 348static arrayDigit ga_161_gen_a[] = {-1, 152}; /* a = -152 */ 349static arrayDigit ga_161_gen_b[] = { 1, 722}; /* b = 722 */ 350 351