Closed CPerezz closed 5 years ago
Also mention that Power by squaring was implemented on 5eda271, which enables the implementation of the Tonelli-Shanks
algorithm to solve modular sqrts.
Once point_gen branch gets merged, this will be closed since all of the tools were finished in d6c0a9e.
Now it's time to create functions for point generation and random point generation to close #51.
Since the end-user will need to create/generate/import points into the corresponding coordinates encoding:
EdwardsPoint
orProjectivePoint
, we need to provide methods for it as:new_random_point()
new_from_x_coord()
This can be done by implementing:
Legendre Symbol
algorithm to check for quadratic residue properties.Tonelli_Shanks
algorithm to perform the modular sqrt operation over the finite field where the Doppio curve lives.Both implementations should create a
ProjectivePoint
which can be easily converted to anEdwardsPoint
by 3M + 1IAny other suggestions about from where we can generate new points? @Bounce23