Hi,
I've now merge Daiki's ML-KEM implementation, see
https://git.lysator.liu.se/nettle/nettle/-/merge_requests/67.
I think there's some further changes I think I'd like to do before
release:
1. Add more randomized tests, and add assert_maybe for some of the
invariants, in particular for arithmetics.
2. Probably remove the ml_kem_params from the api, and instead use
separate functions for ML-KEM 768 and ML-KEM 1024.
3. Add functions exposing structs for expanded keys. To avoid having to
expand them over and over again if using the same key repeatedly. And
for all-in-one functions, these structs could also be used as the
types for needed scratch space, to make things a bit more
type/alignment safe, and have a natural way to allocate needed
storage without the _itch functions.
Should then be done in a consistent way also for sntrup. (The reason
sntrup api doesn't have any itch function is that its expanded keys
are smaller, and it's more reasonable to just allocate them on the
stack).
4. Micro optimize various internals.
Regards,
/Niels
--
Niels Möller. PGP key CB4962D070D77D7FCB8BA36271D8F1FF368C6677.
Internet email is subject to wholesale government surveillance.