From f190c377199de665bb4e6359040a6230ddc33d24 Mon Sep 17 00:00:00 2001 From: Anjan Roy Date: Sat, 20 Sep 2025 21:20:09 +0530 Subject: [PATCH] Add script for automating sync. and regeneration of ACVP kats for ml-kem keygen algo Signed-off-by: Anjan Roy --- Makefile | 4 ++++ kats/scripts/sync_acvp_kats.sh | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100755 kats/scripts/sync_acvp_kats.sh diff --git a/Makefile b/Makefile index c9bf1e0..3a31446 100644 --- a/Makefile +++ b/Makefile @@ -47,3 +47,7 @@ clean: ## Remove build directory .PHONY: format format: $(ML_KEM_SOURCES) $(TEST_SOURCES) $(TEST_HEADERS) $(BENCHMARK_SOURCES) $(BENCHMARK_HEADERS) ## Format source code clang-format -i $^ + +.PHONY: sync_acvp_kats +sync_acvp_kats: ## Downloads NIST ACVP KAT vectors and updates local KATs + cd kats/scripts && ./sync_acvp_kats.sh && cd - diff --git a/kats/scripts/sync_acvp_kats.sh b/kats/scripts/sync_acvp_kats.sh new file mode 100755 index 0000000..893f12d --- /dev/null +++ b/kats/scripts/sync_acvp_kats.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +ACVP_SERVER_REPO_PATH="ACVP-Server" +if [ -d "$ACVP_SERVER_REPO_PATH" ]; then + echo "> $ACVP_SERVER_REPO_PATH repository exists, let's just fetch latest." + + pushd $ACVP_SERVER_REPO_PATH + git checkout master + git fetch + git pull origin master + popd +else + echo "> $ACVP_SERVER_REPO_PATH repository doesn't exist, let's clone it." + git clone https://github.com/usnistgov/ACVP-Server.git +fi + +cat ./ACVP-Server/gen-val/json-files/ML-KEM-keyGen-FIPS203/internalProjection.json | python parse_ml_kem_keygen_acvp_kat.py + +echo "> Generated all NIST ACVP KATs."