README: update for checksumsets etc.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2020-11-23 01:24:03 +00:00
parent e3c1e1cd53
commit 62e25b428a
1 changed files with 12 additions and 1 deletions

View File

@ -35,7 +35,7 @@ use `--sequential`.)
Prerequisites: Prerequisites:
* apt-get install sagemath * apt-get install sagemath
* pip install sortedcontainers * pip3 install sortedcontainers
Run ``sage verify.sage Ep`` and ``sage verify.sage Eq``; or ``./run.sh`` to run both Run ``sage verify.sage Ep`` and ``sage verify.sage Eq``; or ``./run.sh`` to run both
and also print out the results. and also print out the results.
@ -43,3 +43,14 @@ and also print out the results.
The output of ``amicable.sage`` with the above options includes isogenies of degree 3, The output of ``amicable.sage`` with the above options includes isogenies of degree 3,
suitable for use with the "simplified SWU" method for hashing to an elliptic curve. suitable for use with the "simplified SWU" method for hashing to an elliptic curve.
This is based on code from Appendix A of [Wahby and Boneh 2019](https://eprint.iacr.org/2019/403.pdf). This is based on code from Appendix A of [Wahby and Boneh 2019](https://eprint.iacr.org/2019/403.pdf).
To check the correctness of the endomorphism optimization described in the Halo paper, run
``python3 injectivitylemma.py`` and ``python3 checksumsets.py``. To also generate animations
showing the minimum distances between multiples of ζ used in the proof, run ``./animation.sh``.
``animation.sh`` has the following prerequisites:
* apt-get install ffmpeg ffcvt
* pip3 install bintrees Pillow
``checksumsets.py`` on its own only requires the ``bintrees`` Python package.