From a3c3996c085b42f3da082afee25ebb82251d3f5a Mon Sep 17 00:00:00 2001 From: Anthony Hu Date: Fri, 4 Apr 2025 21:23:06 -0400 Subject: [PATCH] 256/192 --- CMakeLists.txt | 15 +++++++++++++++ cmake/options.h.in | 4 ++++ 2 files changed, 19 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index eed129fe1..5ce0fd432 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -582,6 +582,10 @@ add_option(WOLFSSL_LMS "Enable the PQ LMS Stateful Hash-based Signature Scheme (default: disabled)" "no" "yes;no") +add_option(WOLFSSL_LMSSHA256192 + "Enable the LMS SHA_256_192 truncated variant (default: disabled)" + "no" "yes;no") + # Experimental features add_option(WOLFSSL_EXPERIMENTAL "Enable experimental features (default: disabled)" @@ -655,6 +659,17 @@ if (WOLFSSL_EXPERIMENTAL) set_wolfssl_definitions("WOLFSSL_HAVE_LMS" RESULT) set_wolfssl_definitions("WOLFSSL_WC_LMS" RESULT) message(STATUS "Looking for WOLFSSL_LMS - found") + # Checking for experimental feature: WOLFSSL_LMSSHA256192 + if (WOLFSSL_LMSSHA256192) + message(STATUS "Automatically set related requirements for LMS SHA256-192") + add_definitions("-DWOLFSSL_LMS_SHA256_192") + add_definitions("-DWOLFSSL_NO_LMS_SHA256_256") + set_wolfssl_definitions("WOLFSSL_LMS_SHA256_192" RESULT) + set_wolfssl_definitions("WOLFSSL_NO_LMS_SHA256_256" RESULT) + message(STATUS "Looking for WOLFSSL_LMSSHA256192 - found") + else() + message(STATUS "Looking for WOLFSSL_LMSSHA256192 - not found") + endif() else() message(STATUS "Looking for WOLFSSL_LMS - not found") endif() diff --git a/cmake/options.h.in b/cmake/options.h.in index fb7570a83..d55a79531 100644 --- a/cmake/options.h.in +++ b/cmake/options.h.in @@ -386,6 +386,10 @@ extern "C" { #cmakedefine WOLFSSL_HAVE_LMS #undef WOLFSSL_WC_LMS #cmakedefine WOLFSSL_WC_LMS +#undef WOLFSSL_LMS_SHA256_192 +#cmakedefine WOLFSSL_LMS_SHA256_192 +#undef WOLFSSL_NO_LMS_SHA256_256 +#cmakedefine WOLFSSL_NO_LMS_SHA256_256 #undef WOLFSSL_HAVE_XMSS #cmakedefine WOLFSSL_HAVE_XMSS #undef WOLFSSL_WC_XMSS