mupq / pqm4

Post-quantum crypto library for the ARM Cortex-M4
284 stars 72 forks source link

Add MQOM #322

Closed mkannwischer closed 8 months ago

mkannwischer commented 8 months ago

Resolves https://github.com/mupq/pqm4/issues/283.

This adds the implementations from the NIST submission package of MQOM.

I eliminated the dynamic memory allocations that were present throughout the implementation. It was rather straightforward - but a lot of work. Right now it is using VLAs in a couple of places (which is fine for pqm4), but it should not be too hard to change those buffers to the worst case sizes.

The cat5_gf251 parameter sets exceed the 4MB available on qemu's mps2-an386 so I did not include them because I cannot test them. All other parameter sets (including cat5_gf251) work on qemu.

mqom_cat1_gf31_fast and mqom_cat1_gf251_fast are the only two parameter sets that fit on the nucleo-l4r5zi

rpls commented 8 months ago

OK, normally GitHub detects when I do a manual merge (had to fix the mupq repo reference to the correct commit), but somehow it didn't work this time. So I'll close this as unmerged, but it was merged with c3dbd50.