cryspen / libcrux

The formally verified crypto library for Rust
https://cryspen.com/libcrux
Apache License 2.0
48 stars 8 forks source link

Restructure Vector code in ML-KEM to split functionality #328

Closed karthikbhargavan closed 4 days ago

karthikbhargavan commented 1 week ago

This PR makes the structure of the 3 vector implementations uniform by using the same module names for AVX2, Neon, and Portable. It also breaks up the monolithic portable code in vector.rs into multiple modules.

karthikbhargavan commented 1 week ago

I added a drive-by fix for a C compilation error (implicit conversion from 'int' to 'short' changes value from 32768 to -32768)

karthikbhargavan commented 4 days ago

I regenerated and tested the C code, but I would love it if someone else could also check that this works (once CI is happy)