Skip to content
Sage implementation of the isogeny-and-pairing based VDF
Branch: master
Clone or download
Latest commit 729e652 May 15, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md Update README.md May 15, 2019
curve.py initial commit May 15, 2019
pairing.py initial commit May 15, 2019
point.py initial commit May 15, 2019
vdf.py initial commit May 15, 2019
vdf_fp2_eval.py initial commit May 15, 2019
vdf_fp2_setup.py initial commit May 15, 2019
vdf_fp2_verif.py initial commit May 15, 2019
vdf_fp_eval.py initial commit May 15, 2019
vdf_fp_setup.py initial commit May 15, 2019
vdf_fp_verif.py initial commit May 15, 2019

README.md

Isogenies VDF Paper

https://eprint.iacr.org/2019/166.pdf

How to compute our VDF ?

sage vdf.py protocol method pSize where:

  • protocol is fp or fp2,
  • method is kernel4 or kernel4k,
  • pSize is p14-toy, p89-toy or p1506.

Issues.

  • How to add two points in x-model montgomery ? (in order to compute the Trace at the end of vdf_eval step. I fix it going to Weierstrass model and computing phi(Q) + frob(phi(Q)) and phi(Q) - frob(phi(Q)) because maybe there is a problem of sign on y. I find the right one checking if the coordinates lie in Fp.
  • Ate pairing is not efficent for one of the pairings in the Fp2 case (we need to compute the denominators...).
  • Optimal strategy for computing a [4^k]-isogeny is not done.
  • One pairing on the verify step can be done before the answer of vdf_eval.
  • Do I really need all the a-coefficients of the steps in the output of setup ? When I compute the evaluation step, I need to switch to the right isomorphic curve and so need the a coefficient. Maybe it can be recomputed during eval... (?)
You can’t perform that action at this time.