Go to file
Daira Hopwood 2f60aed1ce
Tweedledum/Tweedledee is fixed now
2020-02-18 08:40:54 +00:00
Ep Change to quadratic twist-secure curve. 2019-09-17 11:28:59 +01:00
Eq Change to quadratic twist-secure curve. 2019-09-17 11:28:59 +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 Tweedledum/Tweedledee is fixed now 2020-02-18 08:40:54 +00:00
amicable.sage Rename t to T to avoid confusion with the trace. (Sometimes it is the trace, sometimes not!) 2019-09-17 18:31:34 +01:00
checksumsets.py Add checksumsets.py. 2020-02-10 15:10:43 +00:00
clean.sh Add clean.sh . 2019-09-17 11:14:04 +01:00
injectivitylemma.py Fix a bug (% is not mod for negative integers). 2019-10-26 01:19:51 +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 Tweedledum;
  • Eq : y^2 = x^3 + 5 over GF(q) of order p, called Tweedledee;

with

  • p = 2^254 + 4707489545178046908921067385359695873
  • q = 2^254 + 4707489544292117082687961190295928833

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).

Tweedledum/Tweedledee is the first cycle output by sage amicable.sage --sequential --nearpowerof2 255 32.

(The --sequential option makes the output completely deterministic and so resolves ambiguity about which result is "first". For exploratory searches it is faster not to use --sequential.)

The cycle we call Tweedledum/Tweedledee has changed from the initial draft of the paper.

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.