Go to file
Daira Hopwood 8bb34f96f2 Add clean.sh .
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-17 11:14:04 +01:00
Ep More efficient cycle. 2019-09-15 17:24:38 +01:00
Eq More efficient cycle. 2019-09-15 17:24:38 +01:00
.gitignore Adapt for Tweedledum/Tweedledee. 2019-09-08 16:23:19 +01:00
LICENSE Add LICENSE and .gitignore. Also fix the curve equation. 2017-11-02 06:16:58 +00:00
README.md More efficient cycle. 2019-09-15 17:24:38 +01:00
amicable.sage amicable.sage: only search for bp = bq = 5 and gcd(p-1, 5) = gcd(q-1, 5) = 1. 2019-09-15 17:00:21 +01:00
clean.sh Add clean.sh . 2019-09-17 11:14:04 +01:00
run.sh Adapt for Tweedledum/Tweedledee. 2019-09-08 16:23:19 +01:00
verify.sage Adapt for Tweedledum/Tweedledee. 2019-09-08 16:23:19 +01:00

README.md

Tweedledum/Tweedledee supporting evidence

This repository contains supporting evidence that the amicable pair of prime-order curves:

  • Ep : y^2 = x^3 + 5 over GF(p) of order q, called (provisional) Tweedledum;
  • Eq : y^2 = x^3 + 5 over GF(q) of order p, called (provisional) Tweedledee;

with

  • p = 2^254 + 11429413694214642624661040171709366273
  • q = 2^254 + 11429413694209135470422256387130130433

satisfy some of the SafeCurves criteria.

The criteria that are not satisfied are, in summary:

  • large CM discriminant (both curves have CM discriminant 3, as a consequence of how they were constructed);
  • completeness (complete formulae are possible, but not according to the Safe curves criterion);
  • ladder support (not possible for prime-order curves);
  • Elligator 2 support (indistinguishability is possible using Elligator Squared, but not using Elligator 2);
  • twist security.

(Provisional) Tweedledum/Tweedledee is the first cycle output by sage amicable.sage --nearpowerof2 255 30.

Which cycle we call Tweedledum/Tweedledee is subject to change as we make further optimizations to Halo.

Prerequisites:

  • apt-get install sagemath
  • pip install sortedcontainers

Run sage verify.sage Ep and sage verify.sage Eq; or ./run.sh to run both and also print out the results.