Commit Graph

99 Commits

Author SHA1 Message Date
Daira Hopwood cb6ef790f9 Update parameters for Pallas/Vesta.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-11-23 01:09:28 +00:00
Daira Hopwood 1cd1766100 Pallas/Vesta README.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-11-23 01:09:28 +00:00
Daira Hopwood a35294b64f Updates for Pallas/Vesta.
Use `sage amicable.sage --sequential --requireisos --sortpq --ignoretwist --nearpowerof2 255 32` to generate the Pallas/Vesta cycle.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-11-19 19:54:53 +00:00
Daira Hopwood 491beffc2c injectivitylemma.py: output information that I used in a slide in my ZK Study Club presentation.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-11-19 19:52:22 +00:00
Daira Hopwood a7071be29a Delete injectivitylemma6.py (using both nontrivial roots of unity cannot work because roots of unity sum to 0).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-11-19 19:50:02 +00:00
Daira Hopwood 9e56d94ddd amicable.py: fix low Hamming weight strategy.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-09-27 21:18:47 +01:00
Daira Hopwood 4609be5090 verify.sage: make executable.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-09-26 21:43:46 +01:00
Daira Hopwood 87335537b3 amicable.sage: various updates
* support --isogenies and --ignoretwist options
* more comprehensive usage string
* if at least 6 threads are available, don't use 2 of them
* test multiple gcd primes.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-09-26 21:43:31 +01:00
Daira Hopwood 6c0f7ab40a amicable.sage: make executable.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-09-26 21:37:50 +01:00
Daira Hopwood 3dd5b562e1 amicable.sage: the 2-adicity of p could be less than specified when using stretch
(doesn't affect Tweedle curves).

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-09-26 21:32:27 +01:00
Daira Hopwood c6a6a04280 checksumsets.py: the fields of State can be just int, not Optional[int].
(The Optional was left over from a previous iteration of the code.)

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-24 12:56:05 +01:00
Daira Hopwood f761cc0833 Add animations.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-23 16:28:05 +01:00
Daira Hopwood 289e616084 checksumsets.py: add support for generating animations.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-23 16:27:52 +01:00
Daira Hopwood 5db9b7a1bc amicable.sage: fix minor bug in reporting whether bq is square (that did not affect the Tweedle curves).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-05-24 19:23:13 +01:00
Daira Hopwood d93cabbaf8 injectivitylemma6.py: fix bugs in comments.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-04-26 11:58:21 +01:00
Daira Hopwood e859145e33 verify.sage: tabs to spaces.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-04-25 18:21:59 +01:00
Daira Hopwood f1e73dab4f verify.sage: compatibility with Python3-based sage.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-04-25 18:13:20 +01:00
Daira Hopwood 5cbd39a77c amicable.sage: compatibility with Python3-based sage.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-04-25 17:38:14 +01:00
Daira Hopwood 035fd2b2ce Add a hexary version of injectivitylemma.py.
This is not used by the version of Halo in the paper.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-22 13:42:39 +00:00
Daira Hopwood 15f7108bbc README: be clearer about which version of the paper is obsolete.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-15 14:47:54 +00:00
Daira Hopwood 0ea400f339 checksumsets.py: if BRUTEFORCE_THRESHOLD is 0, don't call bruteforce_D
(and don't depend on bintrees in that case).

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-23 11:36:02 +00:00
Daira Hopwood 3c69d7df58 injectivitylemma.py: add header comment.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-18 09:42:59 +00:00
Daira Hopwood daff0c4197 injectivitylemma.py: use namedtuple for clarity, and switch to Python 3.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-18 09:42:59 +00:00
Daira Hopwood c6e1112e1f injectivitylemma.py: change variable names to match paper.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-18 09:42:59 +00:00
Daira Hopwood a22a02e2a4
More precise about CM discriminant 2020-02-18 08:43:20 +00:00
Daira Hopwood 2f60aed1ce
Tweedledum/Tweedledee is fixed now 2020-02-18 08:40:54 +00:00
Daira Hopwood b3091af83b Add checksumsets.py.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-10 15:10:43 +00:00
Daira Hopwood 3f763f3f62 Fix a bug (% is not mod for negative integers).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-10-26 01:19:51 +01:00
Daira Hopwood 78b0876888 Add test of injectivity lemma in the paper.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-10-26 00:00:57 +01:00
Daira Hopwood c716927edd Rename t to T to avoid confusion with the trace. (Sometimes it is the trace, sometimes not!)
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-17 18:31:34 +01:00
Daira Hopwood a26bab8bfb Correct an error in computing the twist embedding degree.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-17 17:33:53 +01:00
Daira Hopwood fc4c16613d Change to quadratic twist-secure curve.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-17 11:28:59 +01:00
Daira Hopwood 6ca713d91f amicable.sage: various enhancements.
Calculate twist security.
Calculate embedding degrees.
Change default 2-adicity.
Update comments.
Require curve constant to be primitive.
Impose efficiency restrictions on primes when using --nearpowerof2.
Check endomorphisms.
2019-09-17 11:25:41 +01:00
Daira Hopwood a085850a2c amicable.sage: add --sequential option.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-17 11:18:04 +01:00
Daira Hopwood 8bb34f96f2 Add clean.sh .
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-17 11:14:04 +01:00
Daira Hopwood a0aa049803 More efficient cycle.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-15 17:24:38 +01:00
Daira Hopwood 44e352fa35 amicable.sage: only search for bp = bq = 5 and gcd(p-1, 5) = gcd(q-1, 5) = 1.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-15 17:00:21 +01:00
Daira Hopwood 89162c4edf amicable.sage: updates to reflect paper.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-15 16:59:45 +01:00
Daira Hopwood 5f57064498 The specific cycle is provisional.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-12 16:01:16 +01:00
Daira Hopwood 9547beea4d Add amicable.sage.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-10 16:24:08 +01:00
Daira Hopwood 28b6046fcc Add Tweedledum/Tweedledee parameters.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-08 16:43:50 +01:00
Daira Hopwood 03ec3685aa Adapt for Tweedledum/Tweedledee.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-08 16:23:19 +01:00
Daira Hopwood ca2d807aab Remove jubjub parameters.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-08 16:17:46 +01:00
Daira Hopwood 8f7306ff97 Add run.sh.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-11-02 06:17:13 +00:00
Daira Hopwood 6280babe1b Change the directory in which the Pocklington proof files are created.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-11-02 06:17:13 +00:00
Daira Hopwood a7aea2312c Refactor to generate the 'primes' file rather than relying on it as input.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-11-02 06:17:13 +00:00
Daira Hopwood 3513811d0f Twisted Edwards support.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-11-02 06:17:12 +00:00
Daira Hopwood c12abad1e9 Add LICENSE and .gitignore. Also fix the curve equation.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-11-02 06:16:58 +00:00
Daira Hopwood ffb58e9114 Initial commit (including the original verify.sage).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-11-02 05:52:36 +00:00