aboutsummaryrefslogtreecommitdiff
path: root/src/Specific/solinas32_2e255m19_11limbs/CurveParameters.v
diff options
context:
space:
mode:
Diffstat (limited to 'src/Specific/solinas32_2e255m19_11limbs/CurveParameters.v')
-rw-r--r--src/Specific/solinas32_2e255m19_11limbs/CurveParameters.v39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/Specific/solinas32_2e255m19_11limbs/CurveParameters.v b/src/Specific/solinas32_2e255m19_11limbs/CurveParameters.v
new file mode 100644
index 000000000..b1b94c285
--- /dev/null
+++ b/src/Specific/solinas32_2e255m19_11limbs/CurveParameters.v
@@ -0,0 +1,39 @@
+Require Import Crypto.Specific.Framework.RawCurveParameters.
+Require Import Crypto.Util.LetIn.
+
+(***
+Modulus : 2^255 - 19
+Base: 23 + 2/11
+***)
+
+Definition curve : CurveParameters :=
+ {|
+ sz := 11%nat;
+ base := 23 + 2/11;
+ bitwidth := 32;
+ s := 2^255;
+ c := [(1, 19)];
+ carry_chains := Some [seq 0 (pred 11); [0; 1]]%nat;
+
+ a24 := None;
+ coef_div_modulus := Some 2%nat;
+
+ goldilocks := None;
+ karatsuba := None;
+ montgomery := false;
+ freeze := Some true;
+ ladderstep := false;
+
+ mul_code := None;
+
+ square_code := None;
+
+ upper_bound_of_exponent_loose := None;
+ upper_bound_of_exponent_tight := None;
+ allowable_bit_widths := None;
+ freeze_extra_allowable_bit_widths := None;
+ modinv_fuel := None
+ |}.
+
+Ltac extra_prove_mul_eq _ := idtac.
+Ltac extra_prove_square_eq _ := idtac.