Kyber: Update to NIST Draft Standard#504
Conversation
|
PQClean/crypto_kem/kyber768/clean/kem.c Line 161 in 86bc011 I would appreciate if someone could double check if I correctly replaced the boolean operation from https://github.com/pq-crystals/kyber/blob/standard/ref/kem.c. This went wrong a couple of times in the past. |
d95b732 to
b8b6bb4
Compare
|
I updated and fixed the Neon NTT Kyber implementation today and it is now also compatible with the NIST drafts. I have tested that everything works well on a Graviton instance, but I still want to test it on a Raspberry Pi when I am back in the office on Wednesday. |
|
On Apple Clang I get in the |
b8b6bb4 to
336c291
Compare
Thanks. Fixed that one. Can you test again? |
|
Seems to work on Apple now |
|
The PPC failures are related to a change that #500 needs to introduce |
|
I've merged #500. This means that there are a gajillion files in conflict but should also mean that we approach green CI a bit sooner. |
|
I talked with @cryptojedi about whether the PQCrystals standards branch and the FIPS drafts are equivalent, and there are a subtleties where they are not; Peter says they've notified NIST. To confirm: are you matching the PQCrystals standard branch or the FIPS draft? |
By the way, I think it looks plausible but I am also not aware of all potential problems here. @dsprenkels could you maybe have a peek? |
This PR is matching the PQCrystals standard branch. |
575ff19 to
a72067d
Compare
Thanks @thomwiggers! I have rebased on top of master just now with some pain. |
|
Ugh, it seems Astyle is not happy but only on Windows? |
|
Weirdly enough, when I run Astyle 3.4.8 on Windows 11 (Arm64) then I do not get any astyle issues... |
|
Thanks @thomwiggers for reviewing & merging! |
|
We’re not out of the woods yet, because CI still fails on the AStyle formatter (and doesn’t on my Windows VM). I wonder if there is some bug, but I need to set up a x64 VM.
|
Refs: PQClean/PQClean#504 Refs: PQClean/PQClean#512 Refs: PQClean/PQClean#519 Refs: PQClean/PQClean#521 Refs: PQClean/PQClean#527 Refs: PQClean/PQClean#534 Refs: PQClean/PQClean#535 Refs: PQClean/PQClean#536 Refs: PQClean/PQClean#540 Refs: PQClean/PQClean#541 Refs: PQClean/PQClean#542 Refs: PQClean/PQClean#543
Refs: PQClean/PQClean#504 Refs: PQClean/PQClean#512 Refs: PQClean/PQClean#519 Refs: PQClean/PQClean#521 Refs: PQClean/PQClean#527 Refs: PQClean/PQClean#534 Refs: PQClean/PQClean#535 Refs: PQClean/PQClean#536 Refs: PQClean/PQClean#540 Refs: PQClean/PQClean#541 Refs: PQClean/PQClean#542 Refs: PQClean/PQClean#543
This updates Kyber to pq-crystals/kyber@4ecce06 via https://github.com/mkannwischer/package-pqclean/tree/146bcfac0befbc5d24755dcf273d0b3f25e5e876.
This should be in line with https://csrc.nist.gov/pubs/fips/203/ipd, but I have not seen NIST publish official NISTKATs anywhere, so we can't be sure.
The aarch64 is not yet updated. I'm cleaning that up in a separte branch and will open a PR shortly.