Argyle-Software / kyber

A rust implementation of the Kyber post-quantum KEM
https://docs.rs/pqc_kyber/
Apache License 2.0
171 stars 40 forks source link

Fix: windows avx2 #20

Closed mberry closed 2 years ago

mberry commented 2 years ago

The Kyber C reference uses GAS[1] rather than a more common syntax like NASM/MASM. The optimised version will segfault if built for/on most windows systems.

Until there is an alternative, we will use the rust reference NTT functions rather than the optimised assembly files. This still allows for avx2 improvements on x86 windows platforms without forcing those users into the fully portable code

[1] https://github.com/pq-crystals/kyber/issues/41

mberry commented 2 years ago

For now I'm going to close this in favour of using the nasm-conversion branch.

It should offer more portability on x86 systems and doesn't require the all the conditional compilation cruft that is building up in this approach.