aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Andres Erbsen <andreser@mit.edu>2016-07-13 10:28:01 -0400
committerGravatar Andres Erbsen <andreser@mit.edu>2016-07-13 10:28:01 -0400
commit671dc4c7881517bee661a33cbbbe44dee7273e1a (patch)
tree6bce548a9a17c98daa44f92609bbcef04b0617d3
parente3b69200fae4bc11fa9843b1123884e7aef9d6a8 (diff)
Experiments/SpecificCurve25519.v: curve25519 addition using small Z-s
-rw-r--r--_CoqProject2
-rw-r--r--src/Experiments/SpecificCurve25519.v13
2 files changed, 15 insertions, 0 deletions
diff --git a/_CoqProject b/_CoqProject
index 2ff168ac8..da6abf12b 100644
--- a/_CoqProject
+++ b/_CoqProject
@@ -33,6 +33,7 @@ src/Experiments/DerivationsOptionRectLetInEncoding.v
src/Experiments/EdDSARefinement.v
src/Experiments/GenericFieldPow.v
src/Experiments/SpecEd25519.v
+src/Experiments/SpecificCurve25519.v
src/ModularArithmetic/ExtendedBaseVector.v
src/ModularArithmetic/ModularArithmeticTheorems.v
src/ModularArithmetic/ModularBaseSystem.v
@@ -57,6 +58,7 @@ src/Specific/GF1305.v
src/Specific/GF25519.v
src/Tactics/VerdiTactics.v
src/Tactics/Algebra_syntax/Nsatz.v
+src/Util/AdditionChainExponentiation.v
src/Util/CaseUtil.v
src/Util/Decidable.v
src/Util/IterAssocOp.v
diff --git a/src/Experiments/SpecificCurve25519.v b/src/Experiments/SpecificCurve25519.v
new file mode 100644
index 000000000..e1b86d229
--- /dev/null
+++ b/src/Experiments/SpecificCurve25519.v
@@ -0,0 +1,13 @@
+Require Import Crypto.Util.Notations Coq.ZArith.BinInt.
+Require Import Crypto.Specific.GF25519.
+Require Import Crypto.CompleteEdwardsCurve.ExtendedCoordinates.
+Local Infix "<<" := Z.shiftr.
+Local Infix "&" := Z.land.
+
+Section Curve25519.
+ Context {twice_d : fe25519}.
+
+ Definition ge25519_add :=
+ Eval cbv beta delta [Extended.add_coordinates fe25519 add mul sub ModularBaseSystemOpt.Let_In] in
+ @Extended.add_coordinates fe25519 add sub mul twice_d.
+End Curve25519. \ No newline at end of file