Implement curve448 primitives
This patch adds the necessary primitives for "curve448": namely,
addition, doubling, scalar multiplication of the generator
or an arbitrary point, inversion, and square root.
Although the interface is similar to curve25519, the implementation is
slightly different. For curve25519, the Pippenger tables are
generated through the coordinates on the Montgomery curve. On the
other hand, for curve448 the tables are directly generated from the
coordinates on the corresponding Edwards curve ("edwards448").
The motivation behind this is that the formula converting the Edwards
curve coordinates to the Montgomery curve coordinates is simpler than
the other way around for curve448/edwards448.
Signed-off-by:
Daiki Ueno <dueno@redhat.com>
Loading
Please register or sign in to comment