ml: Add software implementation of ML-KEM

This follows FIPS 203 relatively closely but takes some ideas from the
reference implementation.  In particular, how to avoid potential
side-channels via direct C division/modulo operations.  However, it just
uses Barrett reduction (no Montgomery reduction) and no negative
coefficients to avoid number format conversions and keep the
implementation clearer.
This commit is contained in:
Tobias Brunner
2024-11-22 14:14:08 +01:00
parent 930381228b
commit 89f4b345e3
15 changed files with 1897 additions and 0 deletions
+7
View File
@@ -683,6 +683,13 @@ if MONOLITHIC
endif
endif
if USE_ML
SUBDIRS += plugins/ml
if MONOLITHIC
libstrongswan_la_LIBADD += plugins/ml/libstrongswan-ml.la
endif
endif
if USE_TEST_VECTORS
SUBDIRS += plugins/test_vectors
if MONOLITHIC