I've now merged Daiki's implementation of curve448, and I've done some
followup cleanups: Moving and renaming edwards/twisted edwards
functions, and using a shared ecc_mul_m function for both curve25519_mul
and curve448_mul.
Pending work:
1. Eddsa signatures with curve448. Needs SHAKE support first (Daiki
posted patches for this long ago).
2. Renaming of stuff using curve names consistently (recent patches by
Dmitry). Preparation for new gost curves.
3. I'm considering changing the struct ecc_point representation to use
montgomery representation of the for the individual coordinates, for
primes where we use that. Then ecc_a_to_* will (almost?) be
redundant. This is inline with also adding other coordinate changes
here, if that will be needed for new curves. For the inverse
functions, ecc_*_to_a, they're currently repsonsible both for
inverting and eliminating the redundant z coordinate, and converting
individual coordinates back from montgomery representation, when
needed.
4. Adding support for compact representation (patches from Wim Lewis). I
have some of the preparations merged on a branch, but I think it will
be simpler if (3) is done first.
Regards,
/Niels
--
Niels Möller. PGP-encrypted email is preferred. Keyid 368C6677.
Internet email is subject to wholesale government surveillance.