The SafeCurves project provides a Sage script to verify the SafeCurves criteria for given curves, https://safecurves.cr.yp.to/verify.html
According to the description, the script works simply as:
$ sage verify.sage curves/nistp256/, where curves/nistp256/ is a folder containing the following files:
p: the field prime, in decimal. l: the prime order of the base point, in decimal. x1: the x-coordinate of the base point. y1: the y-coordinate of the base point. x0: the x-coordinate of a point generating the entire curve. y0: the y-coordinate of a point generating the entire curve. shape: the curve shape, either shortw or montgomery or edwards. a and b, if the curve shape is shortw: the coefficients in the short Weierstrass equation. A and B, if the curve shape is montgomery: the coefficients in the Montgomery equation. d, if the curve shape is edwards: the coefficient in the Edwards equation. primes: all prime divisors of of p, the curve order p+1-t, the twist order p+1+t, and t^2-4p; and, recursively, all prime divisors of q-1 for each q in the list.
Unfortunately all these files are not provided and this is really a pity after so much work.
- Does anybody know where to find all such missing files? can anyone provide an example for one curve?
- Why a base point (x1,y1) and a point generating the entire curve (x0,y0) must be specified?
- How do I find a point (x0,y0) generating the entire curve for a given curve?
- What is q?
- What does it mean "for each q in the list", which list?
Thank you for any hints.