X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/5dd5f9ec28f304ca377c42fd7f711d6cf12b90e1..5c19dc3ae3bd8e40a9c028b0deddd50ff337692c:/OSX/libsecurity_cryptkit/lib/curveParamDataOld.h diff --git a/OSX/libsecurity_cryptkit/lib/curveParamDataOld.h b/OSX/libsecurity_cryptkit/lib/curveParamDataOld.h new file mode 100644 index 00000000..2b0c6fbf --- /dev/null +++ b/OSX/libsecurity_cryptkit/lib/curveParamDataOld.h @@ -0,0 +1,350 @@ +/* + * curveParamDataOld.h - prototype FEE curve parameters (obsolete as of 4/9/2001) + */ +#warning Using obsolete curveParam data! +/* + * q = 31 k = 1, Weierstrass + * a = 7 b = 1 c = 0 + */ +static arrayDigit ga_w31_1_a[] = {1, 7}; +static arrayDigit ga_w31_1_x1Plus[] = + {2,15438,14404}; + /* 943995982 */ +static arrayDigit ga_w31_1_x1Minus[] = + {2, 10400, 19905}; + /* 1304504480 */ +static arrayDigit ga_w31_1_plusOrder[] = + {2, 3848, 32769}; + /* 2147553032 */ +static arrayDigit ga_w31_1_minusOrder[] = + {2, 61688, 32766 }; + /* 2147414264 */ +static arrayDigit ga_w31_1_x1OrderPlus[] = + {2, 8673, 4096}; + /* 268444129 */ +static arrayDigit ga_w31_1_x1OrderMinus[] = + {2, 56863, 4095 }; + /* 268426783 */ +static arrayDigit ga_w31_1_x1OrderPlusRecip[] = + {2, 30845, 16383}; +static arrayDigit ga_w31_1_lesserX1OrderRecip[] = + {2, 8673, 4096}; + +/* + * q = 31 k = 1, Montgomery + * a = 1 b = 0 c = 666 + */ +static arrayDigit ga_m31_1_x1Plus[] = + {2, 61780, 6237}; + /* 408809812 */ +static arrayDigit ga_m31_1_x1Minus[] = + {2,12973,30585}; + /* 2004431533 */ +static arrayDigit ga_m31_1_plusOrder[] = + {2, 25928, 32768 }; + /* 2147509576 */ +static arrayDigit ga_m31_1_minusOrder[] = + {2, 39608, 32767 }; + /* 2147457720 */ +static arrayDigit ga_m31_1_x1OrderPlus[] = + {2, 3241, 4096}; + /* 268438697 */ +static arrayDigit ga_m31_1_x1OrderMinus[] = + {2, 4153, 273}; + /* 17895481 */ +static arrayDigit ga_m31_1_x1OrderPlusRecip[] = + {2, 52572, 16383}; +static arrayDigit ga_m31_1_lesserX1OrderRecip[] = + {2, 759, 960}; + +/* + * q = 31 k = 1, Montgomery, prime curve orders + * a = 5824692 b = 2067311435 c = 0 + */ +static arrayDigit ga_31_1P_x1Plus[] = + {1, 6 }; +static arrayDigit ga_31_1P_x1Minus[] = + {1, 7 }; +static arrayDigit ga_31_1P_plusOrder[] = + {2,59003,32766 }; + /* 2147411579 */ +static arrayDigit ga_31_1P_minusOrder[] = + {2,6533,32769 }; + /* 2147555717 */ +static arrayDigit ga_31_1P_x1OrderPlus[] = + {2,59003,32766}; + /* 2147411579 */ +static arrayDigit ga_31_1P_x1OrderMinus[] = + {2,6533,32769}; + /* 2147555717 */ +static arrayDigit ga_31_1P_x1OrderPlusRecip[] = + {2, 6535, 32769}; + +static arrayDigit ga_31_1P_a[] = + {2,57524,88}; + /* 5824692 */ +static arrayDigit ga_31_1P_b[] = + {2,43851,31544}; + /* 2067311435 */ + +/* + * q = 40 k = 213, Weierstrass + * a = 1627500953 b = 523907505 c = 0 + */ +static arrayDigit ga_40_213_x1Plus[] = + {1, 1 }; +static arrayDigit ga_40_213_x1Minus[] = + {1, 2 }; +static arrayDigit ga_40_213_plusOrder[] = + {3,11655,25,256}; + /* 1099513277831 */ +static arrayDigit ga_40_213_minusOrder[] = + {3,53457,65510,255}; + /* 1099509977297 */ +static arrayDigit ga_40_213_x1OrderPlus[] = + {3,11655,25,256}; + /* 1099513277831 */ +static arrayDigit ga_40_213_x1OrderMinus[] = + {3,53457,65510,255}; + /* 1099509977297 */ +static arrayDigit ga_40_213_x1OrderPlusRecip[] = + {3, 18925, 65435, 1023}; +static arrayDigit ga_40_213_lesserX1OrderRecip[] = + {3, 12081, 25, 256}; + +static arrayDigit ga_40_213_a[] = + {2,45465,24833}; + /* 1627500953 */ +static arrayDigit ga_40_213_b[] = + {2,12721,7994}; + /* 523907505 */ + +/* + * q = 127 k = 1 + * a = 1 b = 0 c = 666 + */ +static arrayDigit ga_127_1_x1Plus[] = + {8, 24044, 39922, 11050, + 24692, 34049, 9793, 1228, 31562}; + /* 163879370753099435779911346846180728300 */ +static arrayDigit ga_127_1_x1Minus[] = + {8,49015,6682,26772,63672,45560,46133,24769,8366}; + /* 43440717976631899041527862406676135799 */ +static arrayDigit ga_127_1_plusOrder[] = + { 8, 14612, 61088, 34331, + 32354, 65535, 65535, 65535, + 32767}; + /* 170141183460469231722347548493196835092 */ +static arrayDigit ga_127_1_minusOrder[] = + { 8, 50924, 4447, 31204, + 33181, 0, 0, 0, + 32768 }; + /* 170141183460469231741027058938571376364 */ +static arrayDigit ga_127_1_x1OrderPlus[] = + {6, 8201, 61942, 37082, + 53787, 49605, 7887 }; + /* 9535713005180210505588285449 */ +static arrayDigit ga_127_1_x1OrderMinus[] = + {6, 14659, 1977,16924, + 7446, 49030, 1}; + /* 2113371777483973234080067 */ +static arrayDigit ga_127_1_x1OrderPlusRecip[] = + {6, 21911, 8615, 0, 40960, 64107, 8507}; +static arrayDigit ga_127_1_lesserX1OrderRecip[] = + {6, 44759, 65533, 17695, 61560, 18883, 2}; + +/* + * This is only used for the FEE_DEPTH_127_GEN (FPT_General) case. + */ +static arrayDigit ga_127_1_bp[] = + {8, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 32767}; + +/* + * q = 127 k = 1, Weierstrass + * a = 666 b = 1 c = 0 + */ +static arrayDigit ga_127_1W_x1Plus[] = + {8, 8152, 12974, 29415, + 29630, 64916, 34821, 65368, + 29317}; + /* 152227746030289977478827896983637598168 */ +static arrayDigit ga_127_1W_x1Minus[] = + {8, 33297, 13207, 15262, + 22815, 21569, 49926, 18455, + 22807}; + /* 118422176668700242826570137796135584273 */ +static arrayDigit ga_127_1W_plusOrder[] = + {8, 7568, 62409, 28235, + 47403, 65534, 65535, 65535, + 32767 }; + /* 170141183460469231708136695161971875216 + = 2 * 2 * 2 * 2 * 11 * 17 * 47 * 103 * 10861 * + 1081540940469355570836125423 */ +static arrayDigit ga_127_1W_minusOrder[] = + {8, 57968, 3126,37300, 18132, 1, 0, 0, 32768 }; + /* 170141183460469231755237912269796336240 + = 2 * 2 * 2 * 2 * 3 * 5 * 19 * 34267 * + 1088851169917897274673487152937 */ +static arrayDigit ga_127_1W_x1OrderPlus[] = + { 6, 46831, 48825, 15584, 56652, 41267, 894 }; + /* 1081540940469355570836125423 */ +static arrayDigit ga_127_1W_x1OrderMinus[] = + {7, 1833, 34556, 10366, 60186, 37860, 48708, 13}; + /* 1088851169917897274673487152937 */ +static arrayDigit ga_127_1W_x1OrderPlusRecip[] = + {6, 48506, 2992, 0, 28160, 5127, 1172}; + +/* + * q = 160 k = 57 + * a = c = 0 b = 3 + */ +static arrayDigit ga_160_57_x1Plus[] = + {10,12520,51433,52060,51310,41288,18467,39861,56172,11574,31757}; + /* 708208703989516599321256243677211664634713026792 */ +static arrayDigit ga_160_57_x1Minus[] = + {10,40240,19544,56125,45242,10556,34052,10700,5155,57632,13213}; + /* 294679357488322649182890242541447794429265485104 */ +static arrayDigit ga_160_57_plusOrder[] = + {11,62853,63609,4196,64365,22452,1,0,0,0,0,1}; + /* 1461501637330902918203686455826517732113793021317 */ +static arrayDigit ga_160_57_minusOrder[] = + {10,2571,1926,61339,1170,43083,65534,65535,65535,65535,65535}; + /* 1461501637330902918203683209606048307198072064523 */ +static arrayDigit ga_160_57_x1OrderPlus[] = + {5,171,21451,35098,934,63868}; + /* 1178156913548056058331307 */ +static arrayDigit ga_160_57_x1OrderMinus[] = + {7,255,39523,10835,12387,25442,37088,9774}; + /* 774420897524543052406523561181439 */ +static arrayDigit ga_160_57_x1OrderPlusRecip[] = + {6, 49805, 35001, 38758, 35853, 1711, 1}; +static arrayDigit ga_160_57_b[] = {1, 3}; /* b = (giant)3 */ + +/* + * This is only used for the FEE_DEPTH_160_GEN (FPT_General) case. + */ +static arrayDigit ga_160_57_bp[] = + {10,65479,65535,65535,65535,65535,65535,65535,65535,65535,65535}; + /* 1461501637330902918203684832716283019655932542919 */ + + +/* + * q = 192 k = 1425 + * a = 0 b = -11 c = 0 + */ +static arrayDigit ga_192_1425_x1Plus[] = + {12, 44344, 60264, 44908, + 24163, 37728, 58781, 45290, + 62313, 45939, 59670, 20046, + 8781}; + /* 841082007613983662909216085212018592355989658924032240952 */ +static arrayDigit ga_192_1425_x1Minus[] = + {12,32855,61817,23700,48262,13770,23791,31597,23825,7973,37638, + 62245,25400}; + /* 2432927643133372385673335524462623851522707126886260637783 */ +static arrayDigit ga_192_1425_plusOrder[] = + {13, 7615, 52517, 60178, + 40906, 43135, 27853, 1, + 0, 0, 0, 0, 0, 1}; + /* 6277101735386680763835789423320567585182165941785488334271 */ +static arrayDigit ga_192_1425_minusOrder[] = + {12, 55073, 13018, 5357, + 24629, 22400, 37682, 65534, + 65535, 65535, 65535, 65535, + 65535}; + /* 6277101735386680763835789423094765247022544947142580688673 */ +static arrayDigit ga_192_1425_x1OrderPlus[] = + {11, 55217, 35908, 19375, + 13869, 14836, 18343, 39323, + 50251, 7215, 49984, 21171}; + /* 30942565846835947234516838572438382480699614724151217 */ +static arrayDigit ga_192_1425_x1OrderMinus[] = + {12, 42525, 5637, 42463, + 55864, 53758, 3234, 41914, + 27439, 9168, 44294, 64393, 2}; + /* 285673405333212613836790125294441598644816135581967901 */ +static arrayDigit ga_192_1425_x1OrderPlusRecip[] = + {11, 31243, 31728, 18067, + 25698, 58801, 65534, 65535, + 65535, 65535, 49151, 50715}; +static arrayDigit ga_192_1425_b[] = {-1, 11}; /* b = (giant)(-11) */ + +/* + * q = 192 k = -529891 + * a = -152 b = 722 c = 0 + */ +static arrayDigit ga_192_M529891_x1Plus[] = + {12, 27752, 118, 22193, + 28093, 63505, 16219, 38086, + 5777, 13552, 56652, 28149, + 56180}; + /* 5381016108938327910020782805833379575685074837329310805096 */ +static arrayDigit ga_192_M529891_x1Minus[] = + {12, 20031, 4376, 4872, + 24519, 24047, 14628, 60533, + 27380, 49464, 20541, 38806, + 59062}; + /* 5657072442654455186533371860713762559076927475376430009919 */ +static arrayDigit ga_192_M529891_plusOrder[] = + {13, 5604, 8, 0, + 0, 0, 0, 2, + 0, 0, 0, 0, + 0, 1}; + /* 6277101735386680763835789423366122741130884119651122943460 */ +static arrayDigit ga_192_M529891_minusOrder[] = + {12, 5604, 8, 0, + 0, 0, 0, 65534, + 65535, 65535, 65535, 65535, + 65535}; + /* 6277101735386680763835789423049210091073826769276947142116 */ +static arrayDigit ga_192_M529891_x1OrderPlus[] = + {12, 28623, 26214, 26214, + 26214, 26214, 58982, 16681, + 4766, 10724, 40513, 58386, + 297}; + /* 28532280615394003471980861015300557914231291452959649743 */ +static arrayDigit ga_192_M529891_x1OrderMinus[] = + {11, 18083, 10335, 12214, + 61896, 30741, 14099, 7255, + 33291, 27015, 23037, 196}; + /* 286968072376896521631921223217092198374509106906787 */ +static arrayDigit ga_192_M529891_x1OrderPlusRecip[] = + {12, 58420, 65535, 65535, + 65535, 65535, 63775, 65535, + 65535, 65535, 65535, 65535, 879}; +static arrayDigit ga_192_M529891_lesserX1OrderRecip[] = + {11, 65535, 65535, 65535, 35223, + 667, 0, 0, 0, 0, 50380, 333}; +static arrayDigit ga_192_M529891_a[] = {-1, 152}; /* a = -152 */ +static arrayDigit ga_192_M529891_b[] = { 1, 722}; /* b = 722 */ + +/* + * FPT_General, 161 bits + */ +static arrayDigit ga_161_gen_bp[] = + {11,41419,58349,36408,14563,25486,9098,29127,50972,7281,8647,1}; + /* baseprime = 1654338658923174831024422729553880293604080853451 */ +static arrayDigit ga_161_gen_x1Plus[] = + {10,59390,38748,49144,50217,32781,46057,53816,62856,18968,55868}; + /* 1245904487553815885170631576005220733978383542270 */ +static arrayDigit ga_161_gen_x1Minus[] = + {10,62588,37264,57758,58571,20023,11302,61317,50155,46534,18610}; + /* 415032703104741702601157337572231150005648422012 */ +static arrayDigit ga_161_gen_plusOrder[] = + {11,41420,58349,36408,14563,25486,9100,29127,50972,7281,8647,1}; + /* 1654338658923174831024425147405519522862430265804 */ +static arrayDigit ga_161_gen_minusOrder[] = + {11,41420,58349,36408,14563,25486,9096,29127,50972,7281,8647,1}; + /* 1654338658923174831024420311702241064345731441100 */ +static arrayDigit ga_161_gen_x1OrderPlus[] = + {8,59671,64703,58305,55887,34170,37971,15627,197}; + /* 1024120625531724089187207582052247831 */ +static arrayDigit ga_161_gen_x1OrderMinus[] = + {10,49675,56911,64364,6281,5543,59511,52057,44604,37151,2}; + /* 57243552211874561627142571339177891499852299 */ +static arrayDigit ga_161_gen_x1OrderPlusRecip[] = + {8, 7566, 37898, 14581, 2404, 52670, 23839, 17554, 332}; + +static arrayDigit ga_161_gen_a[] = {-1, 152}; /* a = -152 */ +static arrayDigit ga_161_gen_b[] = { 1, 722}; /* b = 722 */ +