-#if FEE_PROTOTYPE_CURVES
-static curveParamsStatic curveParamsArray[] = {
- { // depth=0
- FPT_Mersenne,
- FCT_Weierstrass,
- 31, 1, // q=31, k=1
- NULL, // basePrime only used for FPT_General
- 1, // m = 1
- ga_w31_1_a, // a = 7
- ga_one, // b = 1
- ga_zero, // c = 0
- ga_w31_1_x1Plus,
- NULL, // y1Plus
- ga_w31_1_x1Minus,
- ga_w31_1_plusOrder,
- ga_w31_1_minusOrder,
- ga_w31_1_x1OrderPlus,
- ga_w31_1_x1OrderMinus,
- ga_w31_1_x1OrderPlusRecip,
- ga_w31_1_lesserX1OrderRecip
- },
- { // depth=1
- FPT_Mersenne,
- FCT_Montgomery,
- 31, 1, // q=31, k=1
- NULL,
- 1, // m = 1
- ga_one, // a = 1
- ga_zero, // b = 0
- ga_666, // c = 666
- ga_m31_1_x1Plus,
- NULL, // y1Plus
- ga_m31_1_x1Minus,
- ga_m31_1_plusOrder,
- ga_m31_1_minusOrder,
- ga_m31_1_x1OrderPlus,
- ga_m31_1_x1OrderMinus,
- ga_m31_1_x1OrderPlusRecip,
- ga_m31_1_lesserX1OrderRecip
-
- },
- { // depth=2
- FPT_Mersenne,
- FCT_Weierstrass,
- 31, 1, // q=31, k=1, prime curve orders
- NULL,
- 1, // m = 1
- ga_31_1P_a, // a = 5824692
- ga_31_1P_b, // b = 2067311435
- ga_zero, // c = 0
- ga_31_1P_x1Plus,
- NULL, // y1Plus
- ga_31_1P_x1Minus,
- ga_31_1P_plusOrder,
- ga_31_1P_minusOrder,
- ga_31_1P_x1OrderPlus,
- ga_31_1P_x1OrderMinus,
- ga_31_1P_x1OrderPlusRecip,
- NULL // x1PlusOrder is lesser
-
- },
- { // depth=3
- FPT_FEE,
- FCT_Weierstrass,
- 40, 213, // q=40, k=213, prime curve orders
- NULL,
- 1, // m = 1
- ga_40_213_a, // a = 1627500953
- ga_40_213_b, // b = 523907505
- ga_zero, // c = 0
- ga_40_213_x1Plus,
- NULL, // y1Plus
- ga_40_213_x1Minus,
- ga_40_213_plusOrder,
- ga_40_213_minusOrder,
- ga_40_213_x1OrderPlus,
- ga_40_213_x1OrderMinus,
- ga_40_213_x1OrderPlusRecip,
- ga_40_213_lesserX1OrderRecip
-
- },
- { // depth=4
- FPT_Mersenne,
- FCT_Montgomery,
- 127, 1,
- NULL,
- 1, // m = 1
- ga_one, // a = 1
- ga_zero, // b = 0
- ga_666, // c = 666
- ga_127_1_x1Plus,
- NULL, // y1Plus
- ga_127_1_x1Minus,
- ga_127_1_plusOrder,
- ga_127_1_minusOrder,
- ga_127_1_x1OrderPlus,
- ga_127_1_x1OrderMinus,
- ga_127_1_x1OrderPlusRecip,
- ga_127_1_lesserX1OrderRecip
-
- },
- { // depth=5
- FPT_Mersenne,
- FCT_Weierstrass,
- 127, 1, // q=127, k=1 Weierstrass
- NULL,
- 1, // m = 1
- ga_666, // a = 666
- ga_one, // b = 1
- ga_zero, // c = 0
- ga_127_1W_x1Plus,
- NULL, // y1Plus
- ga_127_1W_x1Minus,
- ga_127_1W_plusOrder,
- ga_127_1W_minusOrder,
- ga_127_1W_x1OrderPlus,
- ga_127_1W_x1OrderMinus,
- ga_127_1W_x1OrderPlusRecip,
- NULL // x1PlusOrder is lesser
-
- },
- { // depth=6
- FPT_FEE,
- FCT_Weierstrass, // also Atkin3
- 160, 57,
- NULL,
- 1, // m = 1
- ga_zero, // a = 0
- ga_160_57_b, // b = 3
- ga_zero, // c = 0
- ga_160_57_x1Plus,
- NULL, // y1Plus
- ga_160_57_x1Minus,
- ga_160_57_plusOrder,
- ga_160_57_minusOrder,
- ga_160_57_x1OrderPlus,
- ga_160_57_x1OrderMinus,
- ga_160_57_x1OrderPlusRecip,
- NULL // x1PlusOrder is lesser
- },
- { // depth=7
- FPT_FEE,
- FCT_Weierstrass, // also Atkin3
- 192, 1425,
- NULL,
- 1, // m = 1
- ga_zero, // a = 0
- ga_192_1425_b, // b = -11
- ga_zero, // c = 0
- ga_192_1425_x1Plus,
- NULL, // y1Plus
- ga_192_1425_x1Minus,
- ga_192_1425_plusOrder,
- ga_192_1425_minusOrder,
- ga_192_1425_x1OrderPlus,
- ga_192_1425_x1OrderMinus,
- ga_192_1425_x1OrderPlusRecip,
- NULL // x1PlusOrder is lesser
-
- },
- { // depth=8
- FPT_FEE,
- FCT_Weierstrass,
- 192, -529891,
- NULL,
- 1, // m = 1
- ga_192_M529891_a, // a = -152
- ga_192_M529891_b, // b = 722
- ga_zero, // c = 0
- ga_192_M529891_x1Plus,
- NULL, // y1Plus
- ga_192_M529891_x1Minus,
- ga_192_M529891_plusOrder,
- ga_192_M529891_minusOrder,
- ga_192_M529891_x1OrderPlus,
- ga_192_M529891_x1OrderMinus,
- ga_192_M529891_x1OrderPlusRecip,
- ga_192_M529891_lesserX1OrderRecip
-
- },
- /*
- * FPT_General curves, currently just copies of known FPT_FEE or FPT_Mersenne
- * curves with primeType set to FPT_General. These are just for
- * verification the general curve are handled properly.
- * We include the q parameter here for use by feeKeyBitsToDepth().
- */
- { // depth=9
- FPT_General,
- FCT_General,
- 127, 0,
- ga_127_1_bp, // explicit basePrime
- 1, // m = 1
- ga_one, // a = 1
- ga_zero, // b = 0
- ga_666, // c = 666
- ga_127_1_x1Plus,
- NULL, // y1Plus
- ga_127_1_x1Minus,
- ga_127_1_plusOrder,
- ga_127_1_minusOrder,
- ga_127_1_x1OrderPlus,
- ga_127_1_x1OrderMinus,
- ga_127_1_x1OrderPlusRecip,
- ga_127_1_lesserX1OrderRecip
-
- },