ni...@lysator.liu.se (Niels Möller) writes:

> The code for curve25519 and curve448 has been using powering to invert
> for a long time. I've now spent some time writing specific powering code
> for the five secp curves as well. I've found fairly efficient addition
> chains where powering for a prime of n bits needs n-1 squarings and
> about a dozen multiplies. (I don't know what the *optimal* addition
> chains are, if you know of tools for that, let me know).

[...]

> I will merge these changes to master in a week or two, if no problems
> show up

Before doing this merge, I've made some changes to the modulo p reduce
functions (mod and redc, with both C and assembly implementations). They
can now store the final result at a different location than the
clobbered input area. Then, the ecc_mod_mul and ecc_mod_sqr functions
are also changed to have separates result area, different from the
(larger) scratch area. This makes the allocation puzzle when using the
ecc_mod_* functions a lot simpler, resulting in reduced scratch need for
lots of functions, and elimination of a few copy operations.

Merging those changes is now on the master-updates branch. When this is
in, the new code on the optimize-ecc-invert branch can likely be
simplified a bit before merging.

Regards,
/Niels

-- 
Niels Möller. PGP-encrypted email is preferred. Keyid 368C6677.
Internet email is subject to wholesale government surveillance.
_______________________________________________
nettle-bugs mailing list
nettle-bugs@lists.lysator.liu.se
http://lists.lysator.liu.se/mailman/listinfo/nettle-bugs

Reply via email to