mirror of
https://github.com/open-quantum-safe/liboqs.git
synced 2025-10-04 00:02:01 -04:00
Fix for alg_support.cmake (#1716)
* Ensure aliases are activated with cmake * Updates alg_support fragments: ensure that dependencies (aliases and platform-specific code) are activated after applying filter_algs * Adds bike_l5 to NIST_R4 algorithms * add CI test for aliases * remove ml_kem ipds from STD filter_algs * decouple name and alias * fixing vector tests
This commit is contained in:
parent
7e5dbaf2e8
commit
0961090529
@ -104,75 +104,15 @@ endif()
|
||||
##### OQS_COPY_FROM_UPSTREAM_FRAGMENT_ADD_ENABLE_BY_ALG_START
|
||||
option(OQS_ENABLE_KEM_CLASSIC_MCELIECE "Enable classic_mceliece algorithm family" ON)
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_348864 "" ON "OQS_ENABLE_KEM_CLASSIC_MCELIECE" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_348864_avx2 "" ON "OQS_ENABLE_KEM_classic_mceliece_348864" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_348864f "" ON "OQS_ENABLE_KEM_CLASSIC_MCELIECE" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS AND OQS_USE_BMI1_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_348864f_avx2 "" ON "OQS_ENABLE_KEM_classic_mceliece_348864f" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_460896 "" ON "OQS_ENABLE_KEM_CLASSIC_MCELIECE" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_460896_avx2 "" ON "OQS_ENABLE_KEM_classic_mceliece_460896" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_460896f "" ON "OQS_ENABLE_KEM_CLASSIC_MCELIECE" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS AND OQS_USE_BMI1_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_460896f_avx2 "" ON "OQS_ENABLE_KEM_classic_mceliece_460896f" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_6688128 "" ON "OQS_ENABLE_KEM_CLASSIC_MCELIECE" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_6688128_avx2 "" ON "OQS_ENABLE_KEM_classic_mceliece_6688128" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_6688128f "" ON "OQS_ENABLE_KEM_CLASSIC_MCELIECE" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS AND OQS_USE_BMI1_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_6688128f_avx2 "" ON "OQS_ENABLE_KEM_classic_mceliece_6688128f" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_6960119 "" ON "OQS_ENABLE_KEM_CLASSIC_MCELIECE" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_6960119_avx2 "" ON "OQS_ENABLE_KEM_classic_mceliece_6960119" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_6960119f "" ON "OQS_ENABLE_KEM_CLASSIC_MCELIECE" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS AND OQS_USE_BMI1_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_6960119f_avx2 "" ON "OQS_ENABLE_KEM_classic_mceliece_6960119f" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_8192128 "" ON "OQS_ENABLE_KEM_CLASSIC_MCELIECE" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_8192128_avx2 "" ON "OQS_ENABLE_KEM_classic_mceliece_8192128" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_8192128f "" ON "OQS_ENABLE_KEM_CLASSIC_MCELIECE" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS AND OQS_USE_BMI1_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_8192128f_avx2 "" ON "OQS_ENABLE_KEM_classic_mceliece_8192128f" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
option(OQS_ENABLE_KEM_HQC "Enable hqc algorithm family" ON)
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_hqc_128 "" ON "OQS_ENABLE_KEM_HQC" OFF)
|
||||
@ -181,6 +121,135 @@ cmake_dependent_option(OQS_ENABLE_KEM_hqc_256 "" ON "OQS_ENABLE_KEM_HQC" OFF)
|
||||
|
||||
option(OQS_ENABLE_KEM_KYBER "Enable kyber algorithm family" ON)
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_kyber_512 "" ON "OQS_ENABLE_KEM_KYBER" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_kyber_768 "" ON "OQS_ENABLE_KEM_KYBER" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_kyber_1024 "" ON "OQS_ENABLE_KEM_KYBER" OFF)
|
||||
|
||||
option(OQS_ENABLE_KEM_ML_KEM "Enable ml_kem algorithm family" ON)
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_ml_kem_512_ipd "" ON "OQS_ENABLE_KEM_ML_KEM" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_ml_kem_512 "" ON "OQS_ENABLE_KEM_ML_KEM" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_ml_kem_768_ipd "" ON "OQS_ENABLE_KEM_ML_KEM" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_ml_kem_768 "" ON "OQS_ENABLE_KEM_ML_KEM" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_ml_kem_1024_ipd "" ON "OQS_ENABLE_KEM_ML_KEM" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_ml_kem_1024 "" ON "OQS_ENABLE_KEM_ML_KEM" OFF)
|
||||
|
||||
option(OQS_ENABLE_SIG_DILITHIUM "Enable dilithium algorithm family" ON)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_dilithium_2 "" ON "OQS_ENABLE_SIG_DILITHIUM" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_dilithium_3 "" ON "OQS_ENABLE_SIG_DILITHIUM" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_dilithium_5 "" ON "OQS_ENABLE_SIG_DILITHIUM" OFF)
|
||||
|
||||
option(OQS_ENABLE_SIG_ML_DSA "Enable ml_dsa algorithm family" ON)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_ml_dsa_44_ipd "" ON "OQS_ENABLE_SIG_ML_DSA" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_ml_dsa_44 "" ON "OQS_ENABLE_SIG_ML_DSA" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_ml_dsa_65_ipd "" ON "OQS_ENABLE_SIG_ML_DSA" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_ml_dsa_65 "" ON "OQS_ENABLE_SIG_ML_DSA" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_ml_dsa_87_ipd "" ON "OQS_ENABLE_SIG_ML_DSA" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_ml_dsa_87 "" ON "OQS_ENABLE_SIG_ML_DSA" OFF)
|
||||
|
||||
option(OQS_ENABLE_SIG_FALCON "Enable falcon algorithm family" ON)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_falcon_512 "" ON "OQS_ENABLE_SIG_FALCON" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_falcon_1024 "" ON "OQS_ENABLE_SIG_FALCON" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_falcon_padded_512 "" ON "OQS_ENABLE_SIG_FALCON" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_falcon_padded_1024 "" ON "OQS_ENABLE_SIG_FALCON" OFF)
|
||||
|
||||
option(OQS_ENABLE_SIG_SPHINCS "Enable sphincs algorithm family" ON)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_sha2_128f_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_sha2_128s_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_sha2_192f_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_sha2_192s_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_sha2_256f_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_sha2_256s_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_shake_128f_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_shake_128s_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_shake_192f_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_shake_192s_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_shake_256f_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_shake_256s_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
##### OQS_COPY_FROM_UPSTREAM_FRAGMENT_ADD_ENABLE_BY_ALG_END
|
||||
|
||||
if((OQS_MINIMAL_BUILD STREQUAL "ON"))
|
||||
message(FATAL_ERROR "OQS_MINIMAL_BUILD option ${OQS_MINIMAL_BUILD} no longer supported")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED OQS_ALGS_ENABLED OR OQS_ALGS_ENABLED STREQUAL "")
|
||||
set(OQS_ALGS_ENABLED "All")
|
||||
endif()
|
||||
|
||||
if(NOT ((OQS_MINIMAL_BUILD STREQUAL "") OR (OQS_MINIMAL_BUILD STREQUAL "OFF")))
|
||||
filter_algs("${OQS_MINIMAL_BUILD}")
|
||||
elseif (${OQS_ALGS_ENABLED} STREQUAL "STD")
|
||||
##### OQS_COPY_FROM_UPSTREAM_FRAGMENT_LIST_STANDARDIZED_ALGS_START
|
||||
filter_algs("KEM_ml_kem_512;KEM_ml_kem_768;KEM_ml_kem_1024;SIG_ml_dsa_44;SIG_ml_dsa_65;SIG_ml_dsa_87;SIG_falcon_512;SIG_falcon_1024;SIG_falcon_padded_512;SIG_falcon_padded_1024;SIG_sphincs_sha2_128f_simple;SIG_sphincs_sha2_128s_simple;SIG_sphincs_sha2_192f_simple;SIG_sphincs_sha2_192s_simple;SIG_sphincs_sha2_256f_simple;SIG_sphincs_sha2_256s_simple;SIG_sphincs_shake_128f_simple;SIG_sphincs_shake_128s_simple;SIG_sphincs_shake_192f_simple;SIG_sphincs_shake_192s_simple;SIG_sphincs_shake_256f_simple;SIG_sphincs_shake_256s_simple")
|
||||
##### OQS_COPY_FROM_UPSTREAM_FRAGMENT_LIST_STANDARDIZED_ALGS_END
|
||||
elseif(${OQS_ALGS_ENABLED} STREQUAL "NIST_R4")
|
||||
filter_algs("KEM_classic_mceliece_348864;KEM_classic_mceliece_348864f;KEM_classic_mceliece_460896;KEM_classic_mceliece_460896f;KEM_classic_mceliece_6688128;KEM_classic_mceliece_6688128f;KEM_classic_mceliece_6960119;KEM_classic_mceliece_6960119f;KEM_classic_mceliece_8192128;KEM_classic_mceliece_8192128f;KEM_hqc_128;KEM_hqc_192;KEM_hqc_256;KEM_bike_l1;KEM_bike_l3;KEM_bike_l5")
|
||||
else()
|
||||
message(STATUS "Alg enablement unchanged")
|
||||
endif()
|
||||
|
||||
|
||||
##### OQS_COPY_FROM_UPSTREAM_FRAGMENT_ADD_ENABLE_BY_ALG_CONDITIONAL_START
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_348864_avx2 "" ON "OQS_ENABLE_KEM_classic_mceliece_348864" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS AND OQS_USE_BMI1_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_348864f_avx2 "" ON "OQS_ENABLE_KEM_classic_mceliece_348864f" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_460896_avx2 "" ON "OQS_ENABLE_KEM_classic_mceliece_460896" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS AND OQS_USE_BMI1_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_460896f_avx2 "" ON "OQS_ENABLE_KEM_classic_mceliece_460896f" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_6688128_avx2 "" ON "OQS_ENABLE_KEM_classic_mceliece_6688128" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS AND OQS_USE_BMI1_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_6688128f_avx2 "" ON "OQS_ENABLE_KEM_classic_mceliece_6688128f" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_6960119_avx2 "" ON "OQS_ENABLE_KEM_classic_mceliece_6960119" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS AND OQS_USE_BMI1_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_6960119f_avx2 "" ON "OQS_ENABLE_KEM_classic_mceliece_6960119f" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_8192128_avx2 "" ON "OQS_ENABLE_KEM_classic_mceliece_8192128" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS AND OQS_USE_BMI1_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_classic_mceliece_8192128f_avx2 "" ON "OQS_ENABLE_KEM_classic_mceliece_8192128f" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_BMI2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_kyber_512_avx2 "" ON "OQS_ENABLE_KEM_kyber_512" OFF)
|
||||
@ -197,7 +266,6 @@ endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_kyber_768 "" ON "OQS_ENABLE_KEM_KYBER" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_BMI2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_kyber_768_avx2 "" ON "OQS_ENABLE_KEM_kyber_768" OFF)
|
||||
@ -214,7 +282,6 @@ endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_kyber_1024 "" ON "OQS_ENABLE_KEM_KYBER" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_BMI2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_kyber_1024_avx2 "" ON "OQS_ENABLE_KEM_kyber_1024" OFF)
|
||||
@ -232,34 +299,28 @@ endif()
|
||||
endif()
|
||||
|
||||
|
||||
option(OQS_ENABLE_KEM_ML_KEM "Enable ml_kem algorithm family" ON)
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_ml_kem_512_ipd "" ON "OQS_ENABLE_KEM_ML_KEM" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_ml_kem_512 "" ON "OQS_ENABLE_KEM_ML_KEM" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_BMI2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_ml_kem_512_ipd_avx2 "" ON "OQS_ENABLE_KEM_ml_kem_512_ipd" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_ml_kem_512_avx2 "" ON "OQS_ENABLE_KEM_ml_kem_512" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_ml_kem_768_ipd "" ON "OQS_ENABLE_KEM_ML_KEM" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_ml_kem_768 "" ON "OQS_ENABLE_KEM_ML_KEM" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_BMI2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_ml_kem_768_ipd_avx2 "" ON "OQS_ENABLE_KEM_ml_kem_768_ipd" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_ml_kem_768_avx2 "" ON "OQS_ENABLE_KEM_ml_kem_768" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_ml_kem_1024_ipd "" ON "OQS_ENABLE_KEM_ML_KEM" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_ml_kem_1024 "" ON "OQS_ENABLE_KEM_ML_KEM" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_BMI2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_ml_kem_1024_ipd_avx2 "" ON "OQS_ENABLE_KEM_ml_kem_1024_ipd" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_ml_kem_1024_avx2 "" ON "OQS_ENABLE_KEM_ml_kem_1024" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
option(OQS_ENABLE_SIG_DILITHIUM "Enable dilithium algorithm family" ON)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_dilithium_2 "" ON "OQS_ENABLE_SIG_DILITHIUM" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Darwin|Linux")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_dilithium_2_avx2 "" ON "OQS_ENABLE_SIG_dilithium_2" OFF)
|
||||
@ -272,7 +333,6 @@ if(OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS AND OQS_USE_ARM_NEO
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_dilithium_3 "" ON "OQS_ENABLE_SIG_DILITHIUM" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Darwin|Linux")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_dilithium_3_avx2 "" ON "OQS_ENABLE_SIG_dilithium_3" OFF)
|
||||
@ -285,7 +345,6 @@ if(OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS AND OQS_USE_ARM_NEO
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_dilithium_5 "" ON "OQS_ENABLE_SIG_DILITHIUM" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Darwin|Linux")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_dilithium_5_avx2 "" ON "OQS_ENABLE_SIG_dilithium_5" OFF)
|
||||
@ -299,34 +358,28 @@ endif()
|
||||
endif()
|
||||
|
||||
|
||||
option(OQS_ENABLE_SIG_ML_DSA "Enable ml_dsa algorithm family" ON)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_ml_dsa_44_ipd "" ON "OQS_ENABLE_SIG_ML_DSA" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_ml_dsa_44 "" ON "OQS_ENABLE_SIG_ML_DSA" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Darwin|Linux")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_ml_dsa_44_ipd_avx2 "" ON "OQS_ENABLE_SIG_ml_dsa_44_ipd" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_ml_dsa_44_avx2 "" ON "OQS_ENABLE_SIG_ml_dsa_44" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_ml_dsa_65_ipd "" ON "OQS_ENABLE_SIG_ML_DSA" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_ml_dsa_65 "" ON "OQS_ENABLE_SIG_ML_DSA" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Darwin|Linux")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_ml_dsa_65_ipd_avx2 "" ON "OQS_ENABLE_SIG_ml_dsa_65_ipd" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_ml_dsa_65_avx2 "" ON "OQS_ENABLE_SIG_ml_dsa_65" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_ml_dsa_87_ipd "" ON "OQS_ENABLE_SIG_ML_DSA" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_ml_dsa_87 "" ON "OQS_ENABLE_SIG_ML_DSA" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Darwin|Linux")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS AND OQS_USE_POPCNT_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_ml_dsa_87_ipd_avx2 "" ON "OQS_ENABLE_SIG_ml_dsa_87_ipd" OFF)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_ml_dsa_87_avx2 "" ON "OQS_ENABLE_SIG_ml_dsa_87" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
option(OQS_ENABLE_SIG_FALCON "Enable falcon algorithm family" ON)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_falcon_512 "" ON "OQS_ENABLE_SIG_FALCON" OFF)
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_falcon_512_avx2 "" ON "OQS_ENABLE_SIG_falcon_512" OFF)
|
||||
endif()
|
||||
@ -337,7 +390,6 @@ if(OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS AND OQS_USE_ARM_NEO
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_falcon_1024 "" ON "OQS_ENABLE_SIG_FALCON" OFF)
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_falcon_1024_avx2 "" ON "OQS_ENABLE_SIG_falcon_1024" OFF)
|
||||
endif()
|
||||
@ -348,7 +400,6 @@ if(OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS AND OQS_USE_ARM_NEO
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_falcon_padded_512 "" ON "OQS_ENABLE_SIG_FALCON" OFF)
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_falcon_padded_512_avx2 "" ON "OQS_ENABLE_SIG_falcon_padded_512" OFF)
|
||||
endif()
|
||||
@ -359,7 +410,6 @@ if(OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS AND OQS_USE_ARM_NEO
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_falcon_padded_1024 "" ON "OQS_ENABLE_SIG_FALCON" OFF)
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_falcon_padded_1024_avx2 "" ON "OQS_ENABLE_SIG_falcon_padded_1024" OFF)
|
||||
endif()
|
||||
@ -371,112 +421,79 @@ endif()
|
||||
endif()
|
||||
|
||||
|
||||
option(OQS_ENABLE_SIG_SPHINCS "Enable sphincs algorithm family" ON)
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_sha2_128f_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_sha2_128f_simple_avx2 "" ON "OQS_ENABLE_SIG_sphincs_sha2_128f_simple" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_sha2_128s_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_sha2_128s_simple_avx2 "" ON "OQS_ENABLE_SIG_sphincs_sha2_128s_simple" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_sha2_192f_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_sha2_192f_simple_avx2 "" ON "OQS_ENABLE_SIG_sphincs_sha2_192f_simple" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_sha2_192s_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_sha2_192s_simple_avx2 "" ON "OQS_ENABLE_SIG_sphincs_sha2_192s_simple" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_sha2_256f_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_sha2_256f_simple_avx2 "" ON "OQS_ENABLE_SIG_sphincs_sha2_256f_simple" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_sha2_256s_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_sha2_256s_simple_avx2 "" ON "OQS_ENABLE_SIG_sphincs_sha2_256s_simple" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_shake_128f_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_shake_128f_simple_avx2 "" ON "OQS_ENABLE_SIG_sphincs_shake_128f_simple" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_shake_128s_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_shake_128s_simple_avx2 "" ON "OQS_ENABLE_SIG_sphincs_shake_128s_simple" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_shake_192f_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_shake_192f_simple_avx2 "" ON "OQS_ENABLE_SIG_sphincs_shake_192f_simple" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_shake_192s_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_shake_192s_simple_avx2 "" ON "OQS_ENABLE_SIG_sphincs_shake_192s_simple" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_shake_256f_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_shake_256f_simple_avx2 "" ON "OQS_ENABLE_SIG_sphincs_shake_256f_simple" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_shake_256s_simple "" ON "OQS_ENABLE_SIG_SPHINCS" OFF)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
if(OQS_DIST_X86_64_BUILD OR (OQS_USE_AVX2_INSTRUCTIONS))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_sphincs_shake_256s_simple_avx2 "" ON "OQS_ENABLE_SIG_sphincs_shake_256s_simple" OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
##### OQS_COPY_FROM_UPSTREAM_FRAGMENT_ADD_ENABLE_BY_ALG_END
|
||||
|
||||
if((OQS_MINIMAL_BUILD STREQUAL "ON"))
|
||||
message(FATAL_ERROR "OQS_MINIMAL_BUILD option ${OQS_MINIMAL_BUILD} no longer supported")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED OQS_ALGS_ENABLED OR OQS_ALGS_ENABLED STREQUAL "")
|
||||
set(OQS_ALGS_ENABLED "All")
|
||||
endif()
|
||||
|
||||
if(NOT ((OQS_MINIMAL_BUILD STREQUAL "") OR (OQS_MINIMAL_BUILD STREQUAL "OFF")))
|
||||
filter_algs("${OQS_MINIMAL_BUILD}")
|
||||
elseif (${OQS_ALGS_ENABLED} STREQUAL "STD")
|
||||
##### OQS_COPY_FROM_UPSTREAM_FRAGMENT_LIST_STANDARDIZED_ALGS_START
|
||||
filter_algs("KEM_ml_kem_512_ipd;KEM_ml_kem_512;KEM_ml_kem_768_ipd;KEM_ml_kem_768;KEM_ml_kem_1024_ipd;KEM_ml_kem_1024;SIG_ml_dsa_44_ipd;SIG_ml_dsa_44;SIG_ml_dsa_65_ipd;SIG_ml_dsa_65;SIG_ml_dsa_87_ipd;SIG_ml_dsa_87;SIG_falcon_512;SIG_falcon_1024;SIG_falcon_padded_512;SIG_falcon_padded_1024;SIG_sphincs_sha2_128f_simple;SIG_sphincs_sha2_128s_simple;SIG_sphincs_sha2_192f_simple;SIG_sphincs_sha2_192s_simple;SIG_sphincs_sha2_256f_simple;SIG_sphincs_sha2_256s_simple;SIG_sphincs_shake_128f_simple;SIG_sphincs_shake_128s_simple;SIG_sphincs_shake_192f_simple;SIG_sphincs_shake_192s_simple;SIG_sphincs_shake_256f_simple;SIG_sphincs_shake_256s_simple")
|
||||
##### OQS_COPY_FROM_UPSTREAM_FRAGMENT_LIST_STANDARDIZED_ALGS_END
|
||||
elseif(${OQS_ALGS_ENABLED} STREQUAL "NIST_R4")
|
||||
filter_algs("KEM_classic_mceliece_348864;KEM_classic_mceliece_348864f;KEM_classic_mceliece_460896;KEM_classic_mceliece_460896f;KEM_classic_mceliece_6688128;KEM_classic_mceliece_6688128f;KEM_classic_mceliece_6960119;KEM_classic_mceliece_6960119f;KEM_classic_mceliece_8192128;KEM_classic_mceliece_8192128f;KEM_hqc_128;KEM_hqc_192;KEM_hqc_256;KEM_bike_l1;KEM_bike_l3")
|
||||
else()
|
||||
message(STATUS "Alg enablement unchanged")
|
||||
endif()
|
||||
##### OQS_COPY_FROM_UPSTREAM_FRAGMENT_ADD_ENABLE_BY_ALG_CONDITIONAL_END
|
||||
|
||||
# Set XKCP (Keccak) required for Sphincs AVX2 code even if OpenSSL3 SHA3 is used:
|
||||
if (${OQS_ENABLE_SIG_SPHINCS} OR NOT ${OQS_USE_SHA3_OPENSSL})
|
||||
@ -490,5 +507,4 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux|Darwin")
|
||||
else()
|
||||
set(OQS_ENABLE_SHA3_xkcp_low_avx2 OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
endif()
|
4
.github/workflows/unix.yml
vendored
4
.github/workflows/unix.yml
vendored
@ -119,6 +119,10 @@ jobs:
|
||||
with:
|
||||
name: liboqs-openssl3-shared-x64
|
||||
path: build/*.deb
|
||||
- name: Check STD algorithm and alias
|
||||
if: matrix.name == 'jammy-std-openssl3'
|
||||
run: 'tests/dump_alg_info | grep -zoP "ML-DSA-44:\n isnull: false" && tests/dump_alg_info | grep -zoP "ML-DSA-44-ipd:\n isnull: true" && tests/dump_alg_info | grep -zoP "ML-KEM-512:\n isnull: false" && tests/dump_alg_info | grep -zoP "ML-KEM-512-ipd:\n isnull: true"'
|
||||
working-directory: build
|
||||
|
||||
linux_arm_emulated:
|
||||
needs: buildcheck
|
||||
|
@ -5,34 +5,6 @@ cmake_dependent_option(OQS_ENABLE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }
|
||||
{%- if 'alias_scheme' in scheme %}
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_{{ family['name'] }}_{{ scheme['alias_scheme'] }} "" ON "OQS_ENABLE_KEM_{{ family['name']|upper }}" OFF)
|
||||
{%- endif -%}
|
||||
{%- for impl in scheme['metadata']['implementations'] if impl['name'] != family['default_implementation'] and impl['supported_platforms'] -%}
|
||||
{%- for platform in impl['supported_platforms'] if platform['architecture'] == 'x86_64' %}
|
||||
{% if platform['operating_systems'] %}if(CMAKE_SYSTEM_NAME MATCHES "{{ platform['operating_systems']|join('|') }}")
|
||||
{% endif -%}
|
||||
if(OQS_DIST_X86_64_BUILD OR ({% for flag in platform['required_flags'] -%} OQS_USE_{{ flag|upper }}_INSTRUCTIONS {%- if not loop.last %} AND {% endif -%}{%- endfor -%}))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }}" OFF)
|
||||
endif()
|
||||
{% if platform['operating_systems'] %}endif()
|
||||
{% endif -%}
|
||||
{%- endfor -%}
|
||||
{%- for platform in impl['supported_platforms'] if platform['architecture'] == 'ARM64_V8' %}
|
||||
{% if platform['operating_systems'] %}if(CMAKE_SYSTEM_NAME MATCHES "{{ platform['operating_systems']|join('|') }}")
|
||||
{% endif -%}
|
||||
if((OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS{% for flag in platform['required_flags'] -%} {%- if not loop.last or loop.first %} AND {% endif -%}OQS_USE_{{ flag|upper }}_INSTRUCTIONS {%- endfor -%})))
|
||||
{% if impl['upstream']['name'].endswith('pqclean') -%}
|
||||
if(((CMAKE_C_COMPILER_ID STREQUAL "GNU") AND (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "9.4.0")) OR ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "9.4.0")) OR ((NOT (CMAKE_C_COMPILER_ID STREQUAL "GNU")) AND (NOT (CMAKE_CXX_COMPILER_ID STREQUAL "GNU"))))
|
||||
{%- endif %}
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }}" OFF)
|
||||
{% if impl['upstream']['name'].endswith('pqclean') -%}
|
||||
else()
|
||||
message(WARNING " ARM optimizations are not fully supported on this compiler version.")
|
||||
endif()
|
||||
{%- endif %}
|
||||
endif()
|
||||
{% if platform['operating_systems'] %}endif()
|
||||
{% endif -%}
|
||||
{%- endfor -%}
|
||||
{%- endfor -%}
|
||||
{%- endfor %}
|
||||
{% endfor -%}
|
||||
|
||||
@ -43,26 +15,6 @@ cmake_dependent_option(OQS_ENABLE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }
|
||||
{%- if 'alias_scheme' in scheme %}
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_{{ family['name'] }}_{{ scheme['alias_scheme'] }} "" ON "OQS_ENABLE_SIG_{{ family['name']|upper }}" OFF)
|
||||
{%- endif -%}
|
||||
{%- for impl in scheme['metadata']['implementations'] if impl['name'] != family['default_implementation'] and impl['supported_platforms'] -%}
|
||||
{%- for platform in impl['supported_platforms'] if platform['architecture'] == 'x86_64' %}
|
||||
{% if platform['operating_systems'] %}if(CMAKE_SYSTEM_NAME MATCHES "{{ platform['operating_systems']|join('|') }}")
|
||||
{% endif -%}
|
||||
if(OQS_DIST_X86_64_BUILD OR ({% for flag in platform['required_flags'] -%} OQS_USE_{{ flag|upper }}_INSTRUCTIONS {%- if not loop.last %} AND {% endif -%}{%- endfor -%}))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }}" OFF)
|
||||
endif()
|
||||
{% if platform['operating_systems'] %}endif()
|
||||
{% endif -%}
|
||||
{%- endfor -%}
|
||||
{%- for platform in impl['supported_platforms'] if platform['architecture'] == 'ARM64_V8' %}
|
||||
{% if platform['operating_systems'] %}if(CMAKE_SYSTEM_NAME MATCHES "{{ platform['operating_systems']|join('|') }}")
|
||||
{% endif -%}
|
||||
if(OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS{% for flag in platform['required_flags'] -%} {%- if not loop.last or loop.first %} AND {% endif -%}OQS_USE_{{ flag|upper }}_INSTRUCTIONS {%- endfor -%}))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }}" OFF)
|
||||
endif()
|
||||
{% if platform['operating_systems'] %}endif()
|
||||
{% endif -%}
|
||||
{%- endfor -%}
|
||||
{%- endfor -%}
|
||||
{%- endfor %}
|
||||
{% endfor -%}
|
||||
|
||||
|
@ -0,0 +1,70 @@
|
||||
{% for family in instructions['kems'] %}
|
||||
{%- for scheme in family['schemes'] %}
|
||||
{%- for impl in scheme['metadata']['implementations'] if impl['name'] != family['default_implementation'] and impl['supported_platforms'] -%}
|
||||
{%- for platform in impl['supported_platforms'] if platform['architecture'] == 'x86_64' %}
|
||||
{% if platform['operating_systems'] %}if(CMAKE_SYSTEM_NAME MATCHES "{{ platform['operating_systems']|join('|') }}")
|
||||
{% endif -%}
|
||||
if(OQS_DIST_X86_64_BUILD OR ({% for flag in platform['required_flags'] -%} OQS_USE_{{ flag|upper }}_INSTRUCTIONS {%- if not loop.last %} AND {% endif -%}{%- endfor -%}))
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }}" OFF)
|
||||
{%- if 'alias_scheme' in scheme %}
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_{{ family['name'] }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_KEM_{{ family['name'] }}_{{ scheme['alias_scheme'] }}" OFF)
|
||||
{%- endif %}
|
||||
endif()
|
||||
{% if platform['operating_systems'] %}endif()
|
||||
{% endif -%}
|
||||
{%- endfor -%}
|
||||
{%- for platform in impl['supported_platforms'] if platform['architecture'] == 'ARM64_V8' %}
|
||||
{% if platform['operating_systems'] %}if(CMAKE_SYSTEM_NAME MATCHES "{{ platform['operating_systems']|join('|') }}")
|
||||
{% endif -%}
|
||||
if((OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS{% for flag in platform['required_flags'] -%} {%- if not loop.last or loop.first %} AND {% endif -%}OQS_USE_{{ flag|upper }}_INSTRUCTIONS {%- endfor -%})))
|
||||
{% if impl['upstream']['name'].endswith('pqclean') -%}
|
||||
if(((CMAKE_C_COMPILER_ID STREQUAL "GNU") AND (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL "9.4.0")) OR ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "9.4.0")) OR ((NOT (CMAKE_C_COMPILER_ID STREQUAL "GNU")) AND (NOT (CMAKE_CXX_COMPILER_ID STREQUAL "GNU"))))
|
||||
{%- endif %}
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }}" OFF)
|
||||
{%- if 'alias_scheme' in scheme %}
|
||||
cmake_dependent_option(OQS_ENABLE_KEM_{{ family['name'] }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_KEM_{{ family['name'] }}_{{ scheme['alias_scheme'] }}" OFF)
|
||||
{%- endif %}
|
||||
{% if impl['upstream']['name'].endswith('pqclean') -%}
|
||||
else()
|
||||
message(WARNING " ARM optimizations are not fully supported on this compiler version.")
|
||||
endif()
|
||||
{%- endif %}
|
||||
endif()
|
||||
{% if platform['operating_systems'] %}endif()
|
||||
{% endif -%}
|
||||
{%- endfor -%}
|
||||
{%- endfor -%}
|
||||
{%- endfor %}
|
||||
{% endfor -%}
|
||||
|
||||
{% for family in instructions['sigs'] %}
|
||||
{%- for scheme in family['schemes'] %}
|
||||
{%- for impl in scheme['metadata']['implementations'] if impl['name'] != family['default_implementation'] and impl['supported_platforms'] -%}
|
||||
{%- for platform in impl['supported_platforms'] if platform['architecture'] == 'x86_64' %}
|
||||
{% if platform['operating_systems'] %}if(CMAKE_SYSTEM_NAME MATCHES "{{ platform['operating_systems']|join('|') }}")
|
||||
{% endif -%}
|
||||
if(OQS_DIST_X86_64_BUILD OR ({% for flag in platform['required_flags'] -%} OQS_USE_{{ flag|upper }}_INSTRUCTIONS {%- if not loop.last %} AND {% endif -%}{%- endfor -%}))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }}" OFF)
|
||||
{%- if 'alias_scheme' in scheme %}
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_{{ family['name'] }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_SIG_{{ family['name'] }}_{{ scheme['alias_scheme'] }}" OFF)
|
||||
{%- endif %}
|
||||
endif()
|
||||
{% if platform['operating_systems'] %}endif()
|
||||
{% endif -%}
|
||||
{%- endfor -%}
|
||||
{%- for platform in impl['supported_platforms'] if platform['architecture'] == 'ARM64_V8' %}
|
||||
{% if platform['operating_systems'] %}if(CMAKE_SYSTEM_NAME MATCHES "{{ platform['operating_systems']|join('|') }}")
|
||||
{% endif -%}
|
||||
if(OQS_DIST_ARM64_V8_BUILD OR (OQS_USE_ARM_NEON_INSTRUCTIONS{% for flag in platform['required_flags'] -%} {%- if not loop.last or loop.first %} AND {% endif -%}OQS_USE_{{ flag|upper }}_INSTRUCTIONS {%- endfor -%}))
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }}" OFF)
|
||||
{%- if 'alias_scheme' in scheme %}
|
||||
cmake_dependent_option(OQS_ENABLE_SIG_{{ family['name'] }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }} "" ON "OQS_ENABLE_SIG_{{ family['name'] }}_{{ scheme['alias_scheme'] }}" OFF)
|
||||
{%- endif %}
|
||||
endif()
|
||||
{% if platform['operating_systems'] %}endif()
|
||||
{% endif -%}
|
||||
{%- endfor -%}
|
||||
{%- endfor -%}
|
||||
{%- endfor %}
|
||||
{% endfor -%}
|
||||
|
@ -2,13 +2,13 @@
|
||||
filter_algs("
|
||||
{%- for family in instructions['kems'] if family['name'] in ['ml_kem'] -%}
|
||||
{%- for scheme in family['schemes'] -%}
|
||||
KEM_{{ family['name'] }}_{{ scheme['scheme'] }}{%- if 'alias_scheme' in scheme -%};KEM_{{ family['name'] }}_{{ scheme['alias_scheme'] }};{%- endif -%}
|
||||
{%- if 'alias_scheme' in scheme -%}KEM_{{ family['name'] }}_{{ scheme['alias_scheme'] }}{%- else -%}KEM_{{ family['name'] }}_{{ scheme['scheme'] }}{%- endif -%};
|
||||
{%- endfor -%}
|
||||
{%- endfor -%}
|
||||
{%- for family in instructions['sigs'] if family['name'] in ['ml_dsa', 'falcon', 'sphincs'] -%}
|
||||
{%- set outer_loop = loop -%}
|
||||
{%- for scheme in family['schemes'] -%}
|
||||
SIG_{{ family['name'] }}_{{ scheme['scheme'] }}{%- if 'alias_scheme' in scheme -%};SIG_{{ family['name'] }}_{{ scheme['alias_scheme'] }}{%- endif -%}{%- if not (outer_loop.last and loop.last) -%};{%- endif -%}
|
||||
{%- if 'alias_scheme' in scheme -%}SIG_{{ family['name'] }}_{{ scheme['alias_scheme'] }}{%- else -%}SIG_{{ family['name'] }}_{{ scheme['scheme'] }}{%- endif -%}{%- if not (outer_loop.last and loop.last) -%};{%- endif -%}
|
||||
{%- endfor -%}
|
||||
{%- endfor -%}
|
||||
")
|
||||
|
@ -27,7 +27,7 @@ endif()
|
||||
{%- for impl in scheme['metadata']['implementations'] -%}
|
||||
{%- if impl['name'] == scheme['default_implementation'] %}
|
||||
|
||||
if(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme_c'] }})
|
||||
if(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme_c'] }}{%- if 'alias_scheme' in scheme %} OR OQS_ENABLE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}{%- endif %})
|
||||
add_library({{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} OBJECT kem_{{ family }}_{{ scheme['scheme'] }}.c {% for source_file in impl['sources']|sort -%}{{ impl['upstream']['name'] }}_{{ scheme['pqclean_scheme'] }}_{{ impl['name'] }}/{{ source_file }}{%- if not loop.last %} {% endif -%}{%- endfor -%})
|
||||
{%- if impl['compile_opts'] %}
|
||||
target_compile_options({{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PUBLIC {{ impl['compile_opts'] }})
|
||||
@ -35,7 +35,7 @@ if(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme_c'] }})
|
||||
|
||||
{%- else %}
|
||||
|
||||
if(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme_c'] }}_{{ impl['name'] }})
|
||||
if(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme_c'] }}_{{ impl['name'] }}{%- if 'alias_scheme' in scheme %} OR OQS_ENABLE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}{%- endif %})
|
||||
add_library({{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} OBJECT {% for source_file in impl['sources']|sort -%}{{ impl['upstream']['name'] }}_{{ scheme['pqclean_scheme'] }}_{{ impl['name'] }}/{{ source_file }}{%- if not loop.last %} {% endif -%}{%- endfor -%})
|
||||
{%- endif %}
|
||||
target_include_directories({{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PRIVATE ${CMAKE_CURRENT_LIST_DIR}/{{ impl['upstream']['name'] }}_{{ scheme['pqclean_scheme'] }}_{{ impl['name'] }})
|
||||
|
@ -5,8 +5,10 @@
|
||||
#include <oqs/kem_{{ family }}.h>
|
||||
|
||||
{% for scheme in schemes -%}
|
||||
#if defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}){%- endif %}
|
||||
{% if 'alias_scheme' in scheme %}
|
||||
#if defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme'] }})
|
||||
|
||||
{% endif %}
|
||||
OQS_KEM *OQS_KEM_{{ family }}_{{ scheme['scheme'] }}_new(void) {
|
||||
|
||||
OQS_KEM *kem = malloc(sizeof(OQS_KEM));
|
||||
@ -30,9 +32,13 @@ OQS_KEM *OQS_KEM_{{ family }}_{{ scheme['scheme'] }}_new(void) {
|
||||
|
||||
return kem;
|
||||
}
|
||||
{%- if 'alias_scheme' in scheme %}
|
||||
#endif
|
||||
{%- endif -%}
|
||||
|
||||
{%- if 'alias_scheme' in scheme %}
|
||||
|
||||
#if defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['alias_scheme'] }})
|
||||
/** Alias */
|
||||
OQS_KEM *OQS_KEM_{{ family }}_{{ scheme['alias_scheme'] }}_new(void) {
|
||||
|
||||
@ -57,6 +63,7 @@ OQS_KEM *OQS_KEM_{{ family }}_{{ scheme['alias_scheme'] }}_new(void) {
|
||||
|
||||
return kem;
|
||||
}
|
||||
#endif
|
||||
{%- endif -%}
|
||||
|
||||
{%- for impl in scheme['metadata']['implementations'] if impl['name'] == scheme['default_implementation'] %}
|
||||
@ -87,7 +94,7 @@ extern int {{ scheme['metadata']['default_dec_signature'] }}(uint8_t *ss, const
|
||||
|
||||
{%- for impl in scheme['metadata']['implementations'] if impl['name'] != scheme['default_implementation'] %}
|
||||
|
||||
#if defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }})
|
||||
#if defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
|
||||
{%- if impl['signature_keypair'] %}
|
||||
extern int {{ impl['signature_keypair'] }}(uint8_t *pk, uint8_t *sk);
|
||||
{%- else %}
|
||||
@ -111,9 +118,9 @@ extern int PQCLEAN_{{ scheme['pqclean_scheme_c']|upper }}_{{ impl['name']|upper
|
||||
OQS_API OQS_STATUS OQS_KEM_{{ family }}_{{ scheme['scheme'] }}_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
{%- for impl in scheme['metadata']['implementations'] if impl['name'] != scheme['default_implementation'] %}
|
||||
{%- if loop.first %}
|
||||
#if defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }})
|
||||
#if defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
|
||||
{%- else %}
|
||||
#elif defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }})
|
||||
#elif defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
|
||||
{%- endif %}
|
||||
{%- if 'required_flags' in impl and impl['required_flags'] %}
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
@ -145,9 +152,9 @@ OQS_API OQS_STATUS OQS_KEM_{{ family }}_{{ scheme['scheme'] }}_keypair(uint8_t *
|
||||
OQS_API OQS_STATUS OQS_KEM_{{ family }}_{{ scheme['scheme'] }}_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) {
|
||||
{%- for impl in scheme['metadata']['implementations'] if impl['name'] != scheme['default_implementation'] %}
|
||||
{%- if loop.first %}
|
||||
#if defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }})
|
||||
#if defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
|
||||
{%- else %}
|
||||
#elif defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }})
|
||||
#elif defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
|
||||
{%- endif %}
|
||||
{%- if 'required_flags' in impl and impl['required_flags'] %}
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
@ -179,9 +186,9 @@ OQS_API OQS_STATUS OQS_KEM_{{ family }}_{{ scheme['scheme'] }}_encaps(uint8_t *c
|
||||
OQS_API OQS_STATUS OQS_KEM_{{ family }}_{{ scheme['scheme'] }}_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) {
|
||||
{%- for impl in scheme['metadata']['implementations'] if impl['name'] != scheme['default_implementation'] %}
|
||||
{%- if loop.first %}
|
||||
#if defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }})
|
||||
#if defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
|
||||
{%- else %}
|
||||
#elif defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }})
|
||||
#elif defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_KEM_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
|
||||
{%- endif %}
|
||||
{%- if 'required_flags' in impl and impl['required_flags'] %}
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
|
@ -8,6 +8,9 @@
|
||||
{%- endif -%}
|
||||
{%- for impl in scheme['metadata']['implementations'] if impl['name'] != family['default_implementation'] %}
|
||||
#cmakedefine OQS_ENABLE_KEM_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} 1
|
||||
{%- if 'alias_scheme' in scheme %}
|
||||
#cmakedefine OQS_ENABLE_KEM_{{ family['name'] }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }} 1
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
{%- endfor -%}
|
||||
{% endfor -%}
|
||||
@ -22,6 +25,9 @@
|
||||
{%- endif -%}
|
||||
{%- for impl in scheme['metadata']['implementations'] if impl['name'] != family['default_implementation'] %}
|
||||
#cmakedefine OQS_ENABLE_SIG_{{ family['name'] }}_{{ scheme['scheme'] }}_{{ impl['name'] }} 1
|
||||
{%- if 'alias_scheme' in scheme %}
|
||||
#cmakedefine OQS_ENABLE_SIG_{{ family['name'] }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }} 1
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
{%- endfor -%}
|
||||
{% endfor %}
|
||||
|
@ -27,7 +27,7 @@ endif()
|
||||
{%- for impl in scheme['metadata']['implementations'] -%}
|
||||
{%- if impl['name'] == scheme['default_implementation'] %}
|
||||
|
||||
if(OQS_ENABLE_SIG_{{ family }}_{{ scheme['scheme_c'] }})
|
||||
if(OQS_ENABLE_SIG_{{ family }}_{{ scheme['scheme_c'] }}{%- if 'alias_scheme' in scheme %} OR OQS_ENABLE_SIG_{{ family }}_{{ scheme['alias_scheme'] }}{%- endif %})
|
||||
add_library({{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} OBJECT sig_{{ family }}_{{ scheme['scheme'] }}.c {% for source_file in impl['sources']|sort -%}{{ impl['upstream']['name'] }}_{{ scheme['pqclean_scheme'] }}_{{ impl['name'] }}/{{ source_file }}{%- if not loop.last %} {% endif -%}{%- endfor -%})
|
||||
{%- if impl['compile_opts'] %}
|
||||
target_compile_options({{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PUBLIC {{ impl['compile_opts'] }})
|
||||
@ -35,7 +35,7 @@ if(OQS_ENABLE_SIG_{{ family }}_{{ scheme['scheme_c'] }})
|
||||
|
||||
{%- else %}
|
||||
|
||||
if(OQS_ENABLE_SIG_{{ family }}_{{ scheme['scheme_c'] }}_{{ impl['name'] }})
|
||||
if(OQS_ENABLE_SIG_{{ family }}_{{ scheme['scheme_c'] }}_{{ impl['name'] }}{%- if 'alias_scheme' in scheme %} OR OQS_ENABLE_SIG_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}{%- endif %})
|
||||
add_library({{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} OBJECT {% for source_file in impl['sources']|sort -%}{{ impl['upstream']['name'] }}_{{ scheme['pqclean_scheme'] }}_{{ impl['name'] }}/{{ source_file }}{%- if not loop.last %} {% endif -%}{%- endfor -%})
|
||||
{%- endif %}
|
||||
target_include_directories({{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }} PRIVATE ${CMAKE_CURRENT_LIST_DIR}/{{ impl['upstream']['name'] }}_{{ scheme['pqclean_scheme'] }}_{{ impl['name'] }})
|
||||
|
@ -5,8 +5,10 @@
|
||||
#include <oqs/sig_{{ family }}.h>
|
||||
|
||||
{% for scheme in schemes -%}
|
||||
#if defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['scheme'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['alias_scheme'] }}){%- endif %}
|
||||
{% if 'alias_scheme' in scheme %}
|
||||
#if defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['scheme'] }})
|
||||
|
||||
{% endif %}
|
||||
OQS_SIG *OQS_SIG_{{ family }}_{{ scheme['scheme'] }}_new(void) {
|
||||
|
||||
OQS_SIG *sig = malloc(sizeof(OQS_SIG));
|
||||
@ -29,9 +31,13 @@ OQS_SIG *OQS_SIG_{{ family }}_{{ scheme['scheme'] }}_new(void) {
|
||||
|
||||
return sig;
|
||||
}
|
||||
{%- if 'alias_scheme' in scheme %}
|
||||
#endif
|
||||
{%- endif -%}
|
||||
|
||||
{%- if 'alias_scheme' in scheme %}
|
||||
|
||||
#if defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['alias_scheme'] }})
|
||||
/** Alias */
|
||||
OQS_SIG *OQS_SIG_{{ family }}_{{ scheme['alias_scheme'] }}_new(void) {
|
||||
|
||||
@ -55,6 +61,7 @@ OQS_SIG *OQS_SIG_{{ family }}_{{ scheme['alias_scheme'] }}_new(void) {
|
||||
|
||||
return sig;
|
||||
}
|
||||
#endif
|
||||
{%- endif -%}
|
||||
|
||||
{%- for impl in scheme['metadata']['implementations'] if impl['name'] == scheme['default_implementation'] %}
|
||||
@ -85,7 +92,7 @@ extern int {{ scheme['metadata']['default_verify_signature'] }}(const uint8_t *
|
||||
|
||||
{%- for impl in scheme['metadata']['implementations'] if impl['name'] != scheme['default_implementation'] %}
|
||||
|
||||
#if defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }})
|
||||
#if defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
|
||||
{%- if impl['signature_keypair'] %}
|
||||
extern int {{ impl['signature_keypair'] }}(uint8_t *pk, uint8_t *sk);
|
||||
{%- else %}
|
||||
@ -109,9 +116,9 @@ extern int PQCLEAN_{{ scheme['pqclean_scheme_c']|upper }}_{{ impl['name']|upper
|
||||
OQS_API OQS_STATUS OQS_SIG_{{ family }}_{{ scheme['scheme'] }}_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
{%- for impl in scheme['metadata']['implementations'] if impl['name'] != scheme['default_implementation'] %}
|
||||
{%- if loop.first %}
|
||||
#if defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }})
|
||||
#if defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
|
||||
{%- else %}
|
||||
#elif defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }})
|
||||
#elif defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
|
||||
{%- endif %}
|
||||
{%- if 'required_flags' in impl and impl['required_flags'] %}
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
@ -143,9 +150,9 @@ OQS_API OQS_STATUS OQS_SIG_{{ family }}_{{ scheme['scheme'] }}_keypair(uint8_t *
|
||||
OQS_API OQS_STATUS OQS_SIG_{{ family }}_{{ scheme['scheme'] }}_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key) {
|
||||
{%- for impl in scheme['metadata']['implementations'] if impl['name'] != scheme['default_implementation'] %}
|
||||
{%- if loop.first %}
|
||||
#if defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }})
|
||||
#if defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
|
||||
{%- else %}
|
||||
#elif defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }})
|
||||
#elif defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
|
||||
{%- endif %}
|
||||
{%- if 'required_flags' in impl and impl['required_flags'] %}
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
@ -177,9 +184,9 @@ OQS_API OQS_STATUS OQS_SIG_{{ family }}_{{ scheme['scheme'] }}_sign(uint8_t *sig
|
||||
OQS_API OQS_STATUS OQS_SIG_{{ family }}_{{ scheme['scheme'] }}_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key) {
|
||||
{%- for impl in scheme['metadata']['implementations'] if impl['name'] != scheme['default_implementation'] %}
|
||||
{%- if loop.first %}
|
||||
#if defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }})
|
||||
#if defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
|
||||
{%- else %}
|
||||
#elif defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }})
|
||||
#elif defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['scheme'] }}_{{ impl['name'] }}) {%- if 'alias_scheme' in scheme %} || defined(OQS_ENABLE_SIG_{{ family }}_{{ scheme['alias_scheme'] }}_{{ impl['name'] }}){%- endif %}
|
||||
{%- endif %}
|
||||
{%- if 'required_flags' in impl and impl['required_flags'] %}
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
set(_ML_KEM_OBJS "")
|
||||
|
||||
if(OQS_ENABLE_KEM_ml_kem_512_ipd)
|
||||
if(OQS_ENABLE_KEM_ml_kem_512_ipd OR OQS_ENABLE_KEM_ml_kem_512)
|
||||
add_library(ml_kem_512_ipd_ref OBJECT kem_ml_kem_512_ipd.c pqcrystals-kyber-standard_ml-kem-512-ipd_ref/cbd.c pqcrystals-kyber-standard_ml-kem-512-ipd_ref/indcpa.c pqcrystals-kyber-standard_ml-kem-512-ipd_ref/kem.c pqcrystals-kyber-standard_ml-kem-512-ipd_ref/ntt.c pqcrystals-kyber-standard_ml-kem-512-ipd_ref/poly.c pqcrystals-kyber-standard_ml-kem-512-ipd_ref/polyvec.c pqcrystals-kyber-standard_ml-kem-512-ipd_ref/reduce.c pqcrystals-kyber-standard_ml-kem-512-ipd_ref/symmetric-shake.c pqcrystals-kyber-standard_ml-kem-512-ipd_ref/verify.c)
|
||||
target_compile_options(ml_kem_512_ipd_ref PUBLIC -DKYBER_K=2)
|
||||
target_include_directories(ml_kem_512_ipd_ref PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqcrystals-kyber-standard_ml-kem-512-ipd_ref)
|
||||
@ -14,7 +14,7 @@ if(OQS_ENABLE_KEM_ml_kem_512_ipd)
|
||||
set(_ML_KEM_OBJS ${_ML_KEM_OBJS} $<TARGET_OBJECTS:ml_kem_512_ipd_ref>)
|
||||
endif()
|
||||
|
||||
if(OQS_ENABLE_KEM_ml_kem_512_ipd_avx2)
|
||||
if(OQS_ENABLE_KEM_ml_kem_512_ipd_avx2 OR OQS_ENABLE_KEM_ml_kem_512_avx2)
|
||||
add_library(ml_kem_512_ipd_avx2 OBJECT pqcrystals-kyber-standard_ml-kem-512-ipd_avx2/basemul.S pqcrystals-kyber-standard_ml-kem-512-ipd_avx2/cbd.c pqcrystals-kyber-standard_ml-kem-512-ipd_avx2/consts.c pqcrystals-kyber-standard_ml-kem-512-ipd_avx2/fq.S pqcrystals-kyber-standard_ml-kem-512-ipd_avx2/indcpa.c pqcrystals-kyber-standard_ml-kem-512-ipd_avx2/invntt.S pqcrystals-kyber-standard_ml-kem-512-ipd_avx2/kem.c pqcrystals-kyber-standard_ml-kem-512-ipd_avx2/ntt.S pqcrystals-kyber-standard_ml-kem-512-ipd_avx2/poly.c pqcrystals-kyber-standard_ml-kem-512-ipd_avx2/polyvec.c pqcrystals-kyber-standard_ml-kem-512-ipd_avx2/rejsample.c pqcrystals-kyber-standard_ml-kem-512-ipd_avx2/shuffle.S pqcrystals-kyber-standard_ml-kem-512-ipd_avx2/symmetric-shake.c pqcrystals-kyber-standard_ml-kem-512-ipd_avx2/verify.c)
|
||||
target_include_directories(ml_kem_512_ipd_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqcrystals-kyber-standard_ml-kem-512-ipd_avx2)
|
||||
target_include_directories(ml_kem_512_ipd_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
|
||||
@ -23,7 +23,7 @@ if(OQS_ENABLE_KEM_ml_kem_512_ipd_avx2)
|
||||
set(_ML_KEM_OBJS ${_ML_KEM_OBJS} $<TARGET_OBJECTS:ml_kem_512_ipd_avx2>)
|
||||
endif()
|
||||
|
||||
if(OQS_ENABLE_KEM_ml_kem_768_ipd)
|
||||
if(OQS_ENABLE_KEM_ml_kem_768_ipd OR OQS_ENABLE_KEM_ml_kem_768)
|
||||
add_library(ml_kem_768_ipd_ref OBJECT kem_ml_kem_768_ipd.c pqcrystals-kyber-standard_ml-kem-768-ipd_ref/cbd.c pqcrystals-kyber-standard_ml-kem-768-ipd_ref/indcpa.c pqcrystals-kyber-standard_ml-kem-768-ipd_ref/kem.c pqcrystals-kyber-standard_ml-kem-768-ipd_ref/ntt.c pqcrystals-kyber-standard_ml-kem-768-ipd_ref/poly.c pqcrystals-kyber-standard_ml-kem-768-ipd_ref/polyvec.c pqcrystals-kyber-standard_ml-kem-768-ipd_ref/reduce.c pqcrystals-kyber-standard_ml-kem-768-ipd_ref/symmetric-shake.c pqcrystals-kyber-standard_ml-kem-768-ipd_ref/verify.c)
|
||||
target_compile_options(ml_kem_768_ipd_ref PUBLIC -DKYBER_K=3)
|
||||
target_include_directories(ml_kem_768_ipd_ref PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqcrystals-kyber-standard_ml-kem-768-ipd_ref)
|
||||
@ -32,7 +32,7 @@ if(OQS_ENABLE_KEM_ml_kem_768_ipd)
|
||||
set(_ML_KEM_OBJS ${_ML_KEM_OBJS} $<TARGET_OBJECTS:ml_kem_768_ipd_ref>)
|
||||
endif()
|
||||
|
||||
if(OQS_ENABLE_KEM_ml_kem_768_ipd_avx2)
|
||||
if(OQS_ENABLE_KEM_ml_kem_768_ipd_avx2 OR OQS_ENABLE_KEM_ml_kem_768_avx2)
|
||||
add_library(ml_kem_768_ipd_avx2 OBJECT pqcrystals-kyber-standard_ml-kem-768-ipd_avx2/basemul.S pqcrystals-kyber-standard_ml-kem-768-ipd_avx2/cbd.c pqcrystals-kyber-standard_ml-kem-768-ipd_avx2/consts.c pqcrystals-kyber-standard_ml-kem-768-ipd_avx2/fq.S pqcrystals-kyber-standard_ml-kem-768-ipd_avx2/indcpa.c pqcrystals-kyber-standard_ml-kem-768-ipd_avx2/invntt.S pqcrystals-kyber-standard_ml-kem-768-ipd_avx2/kem.c pqcrystals-kyber-standard_ml-kem-768-ipd_avx2/ntt.S pqcrystals-kyber-standard_ml-kem-768-ipd_avx2/poly.c pqcrystals-kyber-standard_ml-kem-768-ipd_avx2/polyvec.c pqcrystals-kyber-standard_ml-kem-768-ipd_avx2/rejsample.c pqcrystals-kyber-standard_ml-kem-768-ipd_avx2/shuffle.S pqcrystals-kyber-standard_ml-kem-768-ipd_avx2/symmetric-shake.c pqcrystals-kyber-standard_ml-kem-768-ipd_avx2/verify.c)
|
||||
target_include_directories(ml_kem_768_ipd_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqcrystals-kyber-standard_ml-kem-768-ipd_avx2)
|
||||
target_include_directories(ml_kem_768_ipd_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
|
||||
@ -41,7 +41,7 @@ if(OQS_ENABLE_KEM_ml_kem_768_ipd_avx2)
|
||||
set(_ML_KEM_OBJS ${_ML_KEM_OBJS} $<TARGET_OBJECTS:ml_kem_768_ipd_avx2>)
|
||||
endif()
|
||||
|
||||
if(OQS_ENABLE_KEM_ml_kem_1024_ipd)
|
||||
if(OQS_ENABLE_KEM_ml_kem_1024_ipd OR OQS_ENABLE_KEM_ml_kem_1024)
|
||||
add_library(ml_kem_1024_ipd_ref OBJECT kem_ml_kem_1024_ipd.c pqcrystals-kyber-standard_ml-kem-1024-ipd_ref/cbd.c pqcrystals-kyber-standard_ml-kem-1024-ipd_ref/indcpa.c pqcrystals-kyber-standard_ml-kem-1024-ipd_ref/kem.c pqcrystals-kyber-standard_ml-kem-1024-ipd_ref/ntt.c pqcrystals-kyber-standard_ml-kem-1024-ipd_ref/poly.c pqcrystals-kyber-standard_ml-kem-1024-ipd_ref/polyvec.c pqcrystals-kyber-standard_ml-kem-1024-ipd_ref/reduce.c pqcrystals-kyber-standard_ml-kem-1024-ipd_ref/symmetric-shake.c pqcrystals-kyber-standard_ml-kem-1024-ipd_ref/verify.c)
|
||||
target_compile_options(ml_kem_1024_ipd_ref PUBLIC -DKYBER_K=4)
|
||||
target_include_directories(ml_kem_1024_ipd_ref PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqcrystals-kyber-standard_ml-kem-1024-ipd_ref)
|
||||
@ -50,7 +50,7 @@ if(OQS_ENABLE_KEM_ml_kem_1024_ipd)
|
||||
set(_ML_KEM_OBJS ${_ML_KEM_OBJS} $<TARGET_OBJECTS:ml_kem_1024_ipd_ref>)
|
||||
endif()
|
||||
|
||||
if(OQS_ENABLE_KEM_ml_kem_1024_ipd_avx2)
|
||||
if(OQS_ENABLE_KEM_ml_kem_1024_ipd_avx2 OR OQS_ENABLE_KEM_ml_kem_1024_avx2)
|
||||
add_library(ml_kem_1024_ipd_avx2 OBJECT pqcrystals-kyber-standard_ml-kem-1024-ipd_avx2/basemul.S pqcrystals-kyber-standard_ml-kem-1024-ipd_avx2/cbd.c pqcrystals-kyber-standard_ml-kem-1024-ipd_avx2/consts.c pqcrystals-kyber-standard_ml-kem-1024-ipd_avx2/fq.S pqcrystals-kyber-standard_ml-kem-1024-ipd_avx2/indcpa.c pqcrystals-kyber-standard_ml-kem-1024-ipd_avx2/invntt.S pqcrystals-kyber-standard_ml-kem-1024-ipd_avx2/kem.c pqcrystals-kyber-standard_ml-kem-1024-ipd_avx2/ntt.S pqcrystals-kyber-standard_ml-kem-1024-ipd_avx2/poly.c pqcrystals-kyber-standard_ml-kem-1024-ipd_avx2/polyvec.c pqcrystals-kyber-standard_ml-kem-1024-ipd_avx2/rejsample.c pqcrystals-kyber-standard_ml-kem-1024-ipd_avx2/shuffle.S pqcrystals-kyber-standard_ml-kem-1024-ipd_avx2/symmetric-shake.c pqcrystals-kyber-standard_ml-kem-1024-ipd_avx2/verify.c)
|
||||
target_include_directories(ml_kem_1024_ipd_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqcrystals-kyber-standard_ml-kem-1024-ipd_avx2)
|
||||
target_include_directories(ml_kem_1024_ipd_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
|
||||
|
@ -4,6 +4,8 @@
|
||||
|
||||
#include <oqs/kem_ml_kem.h>
|
||||
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_1024_ipd) || defined(OQS_ENABLE_KEM_ml_kem_1024)
|
||||
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_1024_ipd)
|
||||
|
||||
OQS_KEM *OQS_KEM_ml_kem_1024_ipd_new(void) {
|
||||
@ -29,7 +31,9 @@ OQS_KEM *OQS_KEM_ml_kem_1024_ipd_new(void) {
|
||||
|
||||
return kem;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_1024)
|
||||
/** Alias */
|
||||
OQS_KEM *OQS_KEM_ml_kem_1024_new(void) {
|
||||
|
||||
@ -54,19 +58,20 @@ OQS_KEM *OQS_KEM_ml_kem_1024_new(void) {
|
||||
|
||||
return kem;
|
||||
}
|
||||
#endif
|
||||
|
||||
extern int pqcrystals_ml_kem_1024_ipd_ref_keypair(uint8_t *pk, uint8_t *sk);
|
||||
extern int pqcrystals_ml_kem_1024_ipd_ref_enc(uint8_t *ct, uint8_t *ss, const uint8_t *pk);
|
||||
extern int pqcrystals_ml_kem_1024_ipd_ref_dec(uint8_t *ss, const uint8_t *ct, const uint8_t *sk);
|
||||
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_1024_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_1024_ipd_avx2) || defined(OQS_ENABLE_KEM_ml_kem_1024_avx2)
|
||||
extern int pqcrystals_ml_kem_1024_ipd_avx2_keypair(uint8_t *pk, uint8_t *sk);
|
||||
extern int pqcrystals_ml_kem_1024_ipd_avx2_enc(uint8_t *ct, uint8_t *ss, const uint8_t *pk);
|
||||
extern int pqcrystals_ml_kem_1024_ipd_avx2_dec(uint8_t *ss, const uint8_t *ct, const uint8_t *sk);
|
||||
#endif
|
||||
|
||||
OQS_API OQS_STATUS OQS_KEM_ml_kem_1024_ipd_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_1024_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_1024_ipd_avx2) || defined(OQS_ENABLE_KEM_ml_kem_1024_avx2)
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
|
||||
#endif /* OQS_DIST_BUILD */
|
||||
@ -82,7 +87,7 @@ OQS_API OQS_STATUS OQS_KEM_ml_kem_1024_ipd_keypair(uint8_t *public_key, uint8_t
|
||||
}
|
||||
|
||||
OQS_API OQS_STATUS OQS_KEM_ml_kem_1024_ipd_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) {
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_1024_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_1024_ipd_avx2) || defined(OQS_ENABLE_KEM_ml_kem_1024_avx2)
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
|
||||
#endif /* OQS_DIST_BUILD */
|
||||
@ -98,7 +103,7 @@ OQS_API OQS_STATUS OQS_KEM_ml_kem_1024_ipd_encaps(uint8_t *ciphertext, uint8_t *
|
||||
}
|
||||
|
||||
OQS_API OQS_STATUS OQS_KEM_ml_kem_1024_ipd_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) {
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_1024_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_1024_ipd_avx2) || defined(OQS_ENABLE_KEM_ml_kem_1024_avx2)
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
|
||||
#endif /* OQS_DIST_BUILD */
|
||||
|
@ -4,6 +4,8 @@
|
||||
|
||||
#include <oqs/kem_ml_kem.h>
|
||||
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_512_ipd) || defined(OQS_ENABLE_KEM_ml_kem_512)
|
||||
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_512_ipd)
|
||||
|
||||
OQS_KEM *OQS_KEM_ml_kem_512_ipd_new(void) {
|
||||
@ -29,7 +31,9 @@ OQS_KEM *OQS_KEM_ml_kem_512_ipd_new(void) {
|
||||
|
||||
return kem;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_512)
|
||||
/** Alias */
|
||||
OQS_KEM *OQS_KEM_ml_kem_512_new(void) {
|
||||
|
||||
@ -54,19 +58,20 @@ OQS_KEM *OQS_KEM_ml_kem_512_new(void) {
|
||||
|
||||
return kem;
|
||||
}
|
||||
#endif
|
||||
|
||||
extern int pqcrystals_ml_kem_512_ipd_ref_keypair(uint8_t *pk, uint8_t *sk);
|
||||
extern int pqcrystals_ml_kem_512_ipd_ref_enc(uint8_t *ct, uint8_t *ss, const uint8_t *pk);
|
||||
extern int pqcrystals_ml_kem_512_ipd_ref_dec(uint8_t *ss, const uint8_t *ct, const uint8_t *sk);
|
||||
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_512_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_512_ipd_avx2) || defined(OQS_ENABLE_KEM_ml_kem_512_avx2)
|
||||
extern int pqcrystals_ml_kem_512_ipd_avx2_keypair(uint8_t *pk, uint8_t *sk);
|
||||
extern int pqcrystals_ml_kem_512_ipd_avx2_enc(uint8_t *ct, uint8_t *ss, const uint8_t *pk);
|
||||
extern int pqcrystals_ml_kem_512_ipd_avx2_dec(uint8_t *ss, const uint8_t *ct, const uint8_t *sk);
|
||||
#endif
|
||||
|
||||
OQS_API OQS_STATUS OQS_KEM_ml_kem_512_ipd_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_512_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_512_ipd_avx2) || defined(OQS_ENABLE_KEM_ml_kem_512_avx2)
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
|
||||
#endif /* OQS_DIST_BUILD */
|
||||
@ -82,7 +87,7 @@ OQS_API OQS_STATUS OQS_KEM_ml_kem_512_ipd_keypair(uint8_t *public_key, uint8_t *
|
||||
}
|
||||
|
||||
OQS_API OQS_STATUS OQS_KEM_ml_kem_512_ipd_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) {
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_512_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_512_ipd_avx2) || defined(OQS_ENABLE_KEM_ml_kem_512_avx2)
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
|
||||
#endif /* OQS_DIST_BUILD */
|
||||
@ -98,7 +103,7 @@ OQS_API OQS_STATUS OQS_KEM_ml_kem_512_ipd_encaps(uint8_t *ciphertext, uint8_t *s
|
||||
}
|
||||
|
||||
OQS_API OQS_STATUS OQS_KEM_ml_kem_512_ipd_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) {
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_512_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_512_ipd_avx2) || defined(OQS_ENABLE_KEM_ml_kem_512_avx2)
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
|
||||
#endif /* OQS_DIST_BUILD */
|
||||
|
@ -4,6 +4,8 @@
|
||||
|
||||
#include <oqs/kem_ml_kem.h>
|
||||
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_768_ipd) || defined(OQS_ENABLE_KEM_ml_kem_768)
|
||||
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_768_ipd)
|
||||
|
||||
OQS_KEM *OQS_KEM_ml_kem_768_ipd_new(void) {
|
||||
@ -29,7 +31,9 @@ OQS_KEM *OQS_KEM_ml_kem_768_ipd_new(void) {
|
||||
|
||||
return kem;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_768)
|
||||
/** Alias */
|
||||
OQS_KEM *OQS_KEM_ml_kem_768_new(void) {
|
||||
|
||||
@ -54,19 +58,20 @@ OQS_KEM *OQS_KEM_ml_kem_768_new(void) {
|
||||
|
||||
return kem;
|
||||
}
|
||||
#endif
|
||||
|
||||
extern int pqcrystals_ml_kem_768_ipd_ref_keypair(uint8_t *pk, uint8_t *sk);
|
||||
extern int pqcrystals_ml_kem_768_ipd_ref_enc(uint8_t *ct, uint8_t *ss, const uint8_t *pk);
|
||||
extern int pqcrystals_ml_kem_768_ipd_ref_dec(uint8_t *ss, const uint8_t *ct, const uint8_t *sk);
|
||||
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_768_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_768_ipd_avx2) || defined(OQS_ENABLE_KEM_ml_kem_768_avx2)
|
||||
extern int pqcrystals_ml_kem_768_ipd_avx2_keypair(uint8_t *pk, uint8_t *sk);
|
||||
extern int pqcrystals_ml_kem_768_ipd_avx2_enc(uint8_t *ct, uint8_t *ss, const uint8_t *pk);
|
||||
extern int pqcrystals_ml_kem_768_ipd_avx2_dec(uint8_t *ss, const uint8_t *ct, const uint8_t *sk);
|
||||
#endif
|
||||
|
||||
OQS_API OQS_STATUS OQS_KEM_ml_kem_768_ipd_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_768_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_768_ipd_avx2) || defined(OQS_ENABLE_KEM_ml_kem_768_avx2)
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
|
||||
#endif /* OQS_DIST_BUILD */
|
||||
@ -82,7 +87,7 @@ OQS_API OQS_STATUS OQS_KEM_ml_kem_768_ipd_keypair(uint8_t *public_key, uint8_t *
|
||||
}
|
||||
|
||||
OQS_API OQS_STATUS OQS_KEM_ml_kem_768_ipd_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key) {
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_768_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_768_ipd_avx2) || defined(OQS_ENABLE_KEM_ml_kem_768_avx2)
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
|
||||
#endif /* OQS_DIST_BUILD */
|
||||
@ -98,7 +103,7 @@ OQS_API OQS_STATUS OQS_KEM_ml_kem_768_ipd_encaps(uint8_t *ciphertext, uint8_t *s
|
||||
}
|
||||
|
||||
OQS_API OQS_STATUS OQS_KEM_ml_kem_768_ipd_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key) {
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_768_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_KEM_ml_kem_768_ipd_avx2) || defined(OQS_ENABLE_KEM_ml_kem_768_avx2)
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_BMI2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
|
||||
#endif /* OQS_DIST_BUILD */
|
||||
|
@ -113,12 +113,15 @@
|
||||
#cmakedefine OQS_ENABLE_KEM_ml_kem_512_ipd 1
|
||||
#cmakedefine OQS_ENABLE_KEM_ml_kem_512 1
|
||||
#cmakedefine OQS_ENABLE_KEM_ml_kem_512_ipd_avx2 1
|
||||
#cmakedefine OQS_ENABLE_KEM_ml_kem_512_avx2 1
|
||||
#cmakedefine OQS_ENABLE_KEM_ml_kem_768_ipd 1
|
||||
#cmakedefine OQS_ENABLE_KEM_ml_kem_768 1
|
||||
#cmakedefine OQS_ENABLE_KEM_ml_kem_768_ipd_avx2 1
|
||||
#cmakedefine OQS_ENABLE_KEM_ml_kem_768_avx2 1
|
||||
#cmakedefine OQS_ENABLE_KEM_ml_kem_1024_ipd 1
|
||||
#cmakedefine OQS_ENABLE_KEM_ml_kem_1024 1
|
||||
#cmakedefine OQS_ENABLE_KEM_ml_kem_1024_ipd_avx2 1
|
||||
#cmakedefine OQS_ENABLE_KEM_ml_kem_1024_avx2 1
|
||||
|
||||
#cmakedefine OQS_ENABLE_SIG_DILITHIUM 1
|
||||
#cmakedefine OQS_ENABLE_SIG_dilithium_2 1
|
||||
@ -135,12 +138,15 @@
|
||||
#cmakedefine OQS_ENABLE_SIG_ml_dsa_44_ipd 1
|
||||
#cmakedefine OQS_ENABLE_SIG_ml_dsa_44 1
|
||||
#cmakedefine OQS_ENABLE_SIG_ml_dsa_44_ipd_avx2 1
|
||||
#cmakedefine OQS_ENABLE_SIG_ml_dsa_44_avx2 1
|
||||
#cmakedefine OQS_ENABLE_SIG_ml_dsa_65_ipd 1
|
||||
#cmakedefine OQS_ENABLE_SIG_ml_dsa_65 1
|
||||
#cmakedefine OQS_ENABLE_SIG_ml_dsa_65_ipd_avx2 1
|
||||
#cmakedefine OQS_ENABLE_SIG_ml_dsa_65_avx2 1
|
||||
#cmakedefine OQS_ENABLE_SIG_ml_dsa_87_ipd 1
|
||||
#cmakedefine OQS_ENABLE_SIG_ml_dsa_87 1
|
||||
#cmakedefine OQS_ENABLE_SIG_ml_dsa_87_ipd_avx2 1
|
||||
#cmakedefine OQS_ENABLE_SIG_ml_dsa_87_avx2 1
|
||||
|
||||
#cmakedefine OQS_ENABLE_SIG_FALCON 1
|
||||
#cmakedefine OQS_ENABLE_SIG_falcon_512 1
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
set(_ML_DSA_OBJS "")
|
||||
|
||||
if(OQS_ENABLE_SIG_ml_dsa_44_ipd)
|
||||
if(OQS_ENABLE_SIG_ml_dsa_44_ipd OR OQS_ENABLE_SIG_ml_dsa_44)
|
||||
add_library(ml_dsa_44_ipd_ref OBJECT sig_ml_dsa_44_ipd.c pqcrystals-dilithium-standard_ml-dsa-44-ipd_ref/ntt.c pqcrystals-dilithium-standard_ml-dsa-44-ipd_ref/packing.c pqcrystals-dilithium-standard_ml-dsa-44-ipd_ref/poly.c pqcrystals-dilithium-standard_ml-dsa-44-ipd_ref/polyvec.c pqcrystals-dilithium-standard_ml-dsa-44-ipd_ref/reduce.c pqcrystals-dilithium-standard_ml-dsa-44-ipd_ref/rounding.c pqcrystals-dilithium-standard_ml-dsa-44-ipd_ref/sign.c pqcrystals-dilithium-standard_ml-dsa-44-ipd_ref/symmetric-shake.c)
|
||||
target_compile_options(ml_dsa_44_ipd_ref PUBLIC -DDILITHIUM_MODE=2)
|
||||
target_include_directories(ml_dsa_44_ipd_ref PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqcrystals-dilithium-standard_ml-dsa-44-ipd_ref)
|
||||
@ -14,7 +14,7 @@ if(OQS_ENABLE_SIG_ml_dsa_44_ipd)
|
||||
set(_ML_DSA_OBJS ${_ML_DSA_OBJS} $<TARGET_OBJECTS:ml_dsa_44_ipd_ref>)
|
||||
endif()
|
||||
|
||||
if(OQS_ENABLE_SIG_ml_dsa_44_ipd_avx2)
|
||||
if(OQS_ENABLE_SIG_ml_dsa_44_ipd_avx2 OR OQS_ENABLE_SIG_ml_dsa_44_avx2)
|
||||
add_library(ml_dsa_44_ipd_avx2 OBJECT pqcrystals-dilithium-standard_ml-dsa-44-ipd_avx2/consts.c pqcrystals-dilithium-standard_ml-dsa-44-ipd_avx2/invntt.S pqcrystals-dilithium-standard_ml-dsa-44-ipd_avx2/ntt.S pqcrystals-dilithium-standard_ml-dsa-44-ipd_avx2/packing.c pqcrystals-dilithium-standard_ml-dsa-44-ipd_avx2/pointwise.S pqcrystals-dilithium-standard_ml-dsa-44-ipd_avx2/poly.c pqcrystals-dilithium-standard_ml-dsa-44-ipd_avx2/polyvec.c pqcrystals-dilithium-standard_ml-dsa-44-ipd_avx2/rejsample.c pqcrystals-dilithium-standard_ml-dsa-44-ipd_avx2/rounding.c pqcrystals-dilithium-standard_ml-dsa-44-ipd_avx2/shuffle.S pqcrystals-dilithium-standard_ml-dsa-44-ipd_avx2/sign.c pqcrystals-dilithium-standard_ml-dsa-44-ipd_avx2/symmetric-shake.c)
|
||||
target_include_directories(ml_dsa_44_ipd_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqcrystals-dilithium-standard_ml-dsa-44-ipd_avx2)
|
||||
target_include_directories(ml_dsa_44_ipd_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
|
||||
@ -23,7 +23,7 @@ if(OQS_ENABLE_SIG_ml_dsa_44_ipd_avx2)
|
||||
set(_ML_DSA_OBJS ${_ML_DSA_OBJS} $<TARGET_OBJECTS:ml_dsa_44_ipd_avx2>)
|
||||
endif()
|
||||
|
||||
if(OQS_ENABLE_SIG_ml_dsa_65_ipd)
|
||||
if(OQS_ENABLE_SIG_ml_dsa_65_ipd OR OQS_ENABLE_SIG_ml_dsa_65)
|
||||
add_library(ml_dsa_65_ipd_ref OBJECT sig_ml_dsa_65_ipd.c pqcrystals-dilithium-standard_ml-dsa-65-ipd_ref/ntt.c pqcrystals-dilithium-standard_ml-dsa-65-ipd_ref/packing.c pqcrystals-dilithium-standard_ml-dsa-65-ipd_ref/poly.c pqcrystals-dilithium-standard_ml-dsa-65-ipd_ref/polyvec.c pqcrystals-dilithium-standard_ml-dsa-65-ipd_ref/reduce.c pqcrystals-dilithium-standard_ml-dsa-65-ipd_ref/rounding.c pqcrystals-dilithium-standard_ml-dsa-65-ipd_ref/sign.c pqcrystals-dilithium-standard_ml-dsa-65-ipd_ref/symmetric-shake.c)
|
||||
target_compile_options(ml_dsa_65_ipd_ref PUBLIC -DDILITHIUM_MODE=3)
|
||||
target_include_directories(ml_dsa_65_ipd_ref PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqcrystals-dilithium-standard_ml-dsa-65-ipd_ref)
|
||||
@ -32,7 +32,7 @@ if(OQS_ENABLE_SIG_ml_dsa_65_ipd)
|
||||
set(_ML_DSA_OBJS ${_ML_DSA_OBJS} $<TARGET_OBJECTS:ml_dsa_65_ipd_ref>)
|
||||
endif()
|
||||
|
||||
if(OQS_ENABLE_SIG_ml_dsa_65_ipd_avx2)
|
||||
if(OQS_ENABLE_SIG_ml_dsa_65_ipd_avx2 OR OQS_ENABLE_SIG_ml_dsa_65_avx2)
|
||||
add_library(ml_dsa_65_ipd_avx2 OBJECT pqcrystals-dilithium-standard_ml-dsa-65-ipd_avx2/consts.c pqcrystals-dilithium-standard_ml-dsa-65-ipd_avx2/invntt.S pqcrystals-dilithium-standard_ml-dsa-65-ipd_avx2/ntt.S pqcrystals-dilithium-standard_ml-dsa-65-ipd_avx2/packing.c pqcrystals-dilithium-standard_ml-dsa-65-ipd_avx2/pointwise.S pqcrystals-dilithium-standard_ml-dsa-65-ipd_avx2/poly.c pqcrystals-dilithium-standard_ml-dsa-65-ipd_avx2/polyvec.c pqcrystals-dilithium-standard_ml-dsa-65-ipd_avx2/rejsample.c pqcrystals-dilithium-standard_ml-dsa-65-ipd_avx2/rounding.c pqcrystals-dilithium-standard_ml-dsa-65-ipd_avx2/shuffle.S pqcrystals-dilithium-standard_ml-dsa-65-ipd_avx2/sign.c pqcrystals-dilithium-standard_ml-dsa-65-ipd_avx2/symmetric-shake.c)
|
||||
target_include_directories(ml_dsa_65_ipd_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqcrystals-dilithium-standard_ml-dsa-65-ipd_avx2)
|
||||
target_include_directories(ml_dsa_65_ipd_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
|
||||
@ -41,7 +41,7 @@ if(OQS_ENABLE_SIG_ml_dsa_65_ipd_avx2)
|
||||
set(_ML_DSA_OBJS ${_ML_DSA_OBJS} $<TARGET_OBJECTS:ml_dsa_65_ipd_avx2>)
|
||||
endif()
|
||||
|
||||
if(OQS_ENABLE_SIG_ml_dsa_87_ipd)
|
||||
if(OQS_ENABLE_SIG_ml_dsa_87_ipd OR OQS_ENABLE_SIG_ml_dsa_87)
|
||||
add_library(ml_dsa_87_ipd_ref OBJECT sig_ml_dsa_87_ipd.c pqcrystals-dilithium-standard_ml-dsa-87-ipd_ref/ntt.c pqcrystals-dilithium-standard_ml-dsa-87-ipd_ref/packing.c pqcrystals-dilithium-standard_ml-dsa-87-ipd_ref/poly.c pqcrystals-dilithium-standard_ml-dsa-87-ipd_ref/polyvec.c pqcrystals-dilithium-standard_ml-dsa-87-ipd_ref/reduce.c pqcrystals-dilithium-standard_ml-dsa-87-ipd_ref/rounding.c pqcrystals-dilithium-standard_ml-dsa-87-ipd_ref/sign.c pqcrystals-dilithium-standard_ml-dsa-87-ipd_ref/symmetric-shake.c)
|
||||
target_compile_options(ml_dsa_87_ipd_ref PUBLIC -DDILITHIUM_MODE=5)
|
||||
target_include_directories(ml_dsa_87_ipd_ref PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqcrystals-dilithium-standard_ml-dsa-87-ipd_ref)
|
||||
@ -50,7 +50,7 @@ if(OQS_ENABLE_SIG_ml_dsa_87_ipd)
|
||||
set(_ML_DSA_OBJS ${_ML_DSA_OBJS} $<TARGET_OBJECTS:ml_dsa_87_ipd_ref>)
|
||||
endif()
|
||||
|
||||
if(OQS_ENABLE_SIG_ml_dsa_87_ipd_avx2)
|
||||
if(OQS_ENABLE_SIG_ml_dsa_87_ipd_avx2 OR OQS_ENABLE_SIG_ml_dsa_87_avx2)
|
||||
add_library(ml_dsa_87_ipd_avx2 OBJECT pqcrystals-dilithium-standard_ml-dsa-87-ipd_avx2/consts.c pqcrystals-dilithium-standard_ml-dsa-87-ipd_avx2/invntt.S pqcrystals-dilithium-standard_ml-dsa-87-ipd_avx2/ntt.S pqcrystals-dilithium-standard_ml-dsa-87-ipd_avx2/packing.c pqcrystals-dilithium-standard_ml-dsa-87-ipd_avx2/pointwise.S pqcrystals-dilithium-standard_ml-dsa-87-ipd_avx2/poly.c pqcrystals-dilithium-standard_ml-dsa-87-ipd_avx2/polyvec.c pqcrystals-dilithium-standard_ml-dsa-87-ipd_avx2/rejsample.c pqcrystals-dilithium-standard_ml-dsa-87-ipd_avx2/rounding.c pqcrystals-dilithium-standard_ml-dsa-87-ipd_avx2/shuffle.S pqcrystals-dilithium-standard_ml-dsa-87-ipd_avx2/sign.c pqcrystals-dilithium-standard_ml-dsa-87-ipd_avx2/symmetric-shake.c)
|
||||
target_include_directories(ml_dsa_87_ipd_avx2 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/pqcrystals-dilithium-standard_ml-dsa-87-ipd_avx2)
|
||||
target_include_directories(ml_dsa_87_ipd_avx2 PRIVATE ${PROJECT_SOURCE_DIR}/src/common/pqclean_shims)
|
||||
|
@ -4,6 +4,8 @@
|
||||
|
||||
#include <oqs/sig_ml_dsa.h>
|
||||
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_44_ipd) || defined(OQS_ENABLE_SIG_ml_dsa_44)
|
||||
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_44_ipd)
|
||||
|
||||
OQS_SIG *OQS_SIG_ml_dsa_44_ipd_new(void) {
|
||||
@ -28,7 +30,9 @@ OQS_SIG *OQS_SIG_ml_dsa_44_ipd_new(void) {
|
||||
|
||||
return sig;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_44)
|
||||
/** Alias */
|
||||
OQS_SIG *OQS_SIG_ml_dsa_44_new(void) {
|
||||
|
||||
@ -52,19 +56,20 @@ OQS_SIG *OQS_SIG_ml_dsa_44_new(void) {
|
||||
|
||||
return sig;
|
||||
}
|
||||
#endif
|
||||
|
||||
extern int pqcrystals_ml_dsa_44_ipd_ref_keypair(uint8_t *pk, uint8_t *sk);
|
||||
extern int pqcrystals_ml_dsa_44_ipd_ref_signature(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen, const uint8_t *sk);
|
||||
extern int pqcrystals_ml_dsa_44_ipd_ref_verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t mlen, const uint8_t *pk);
|
||||
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_44_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_44_ipd_avx2) || defined(OQS_ENABLE_SIG_ml_dsa_44_avx2)
|
||||
extern int pqcrystals_ml_dsa_44_ipd_avx2_keypair(uint8_t *pk, uint8_t *sk);
|
||||
extern int pqcrystals_ml_dsa_44_ipd_avx2_signature(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen, const uint8_t *sk);
|
||||
extern int pqcrystals_ml_dsa_44_ipd_avx2_verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t mlen, const uint8_t *pk);
|
||||
#endif
|
||||
|
||||
OQS_API OQS_STATUS OQS_SIG_ml_dsa_44_ipd_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_44_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_44_ipd_avx2) || defined(OQS_ENABLE_SIG_ml_dsa_44_avx2)
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
|
||||
#endif /* OQS_DIST_BUILD */
|
||||
@ -80,7 +85,7 @@ OQS_API OQS_STATUS OQS_SIG_ml_dsa_44_ipd_keypair(uint8_t *public_key, uint8_t *s
|
||||
}
|
||||
|
||||
OQS_API OQS_STATUS OQS_SIG_ml_dsa_44_ipd_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key) {
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_44_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_44_ipd_avx2) || defined(OQS_ENABLE_SIG_ml_dsa_44_avx2)
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
|
||||
#endif /* OQS_DIST_BUILD */
|
||||
@ -96,7 +101,7 @@ OQS_API OQS_STATUS OQS_SIG_ml_dsa_44_ipd_sign(uint8_t *signature, size_t *signat
|
||||
}
|
||||
|
||||
OQS_API OQS_STATUS OQS_SIG_ml_dsa_44_ipd_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key) {
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_44_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_44_ipd_avx2) || defined(OQS_ENABLE_SIG_ml_dsa_44_avx2)
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
|
||||
#endif /* OQS_DIST_BUILD */
|
||||
|
@ -4,6 +4,8 @@
|
||||
|
||||
#include <oqs/sig_ml_dsa.h>
|
||||
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_65_ipd) || defined(OQS_ENABLE_SIG_ml_dsa_65)
|
||||
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_65_ipd)
|
||||
|
||||
OQS_SIG *OQS_SIG_ml_dsa_65_ipd_new(void) {
|
||||
@ -28,7 +30,9 @@ OQS_SIG *OQS_SIG_ml_dsa_65_ipd_new(void) {
|
||||
|
||||
return sig;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_65)
|
||||
/** Alias */
|
||||
OQS_SIG *OQS_SIG_ml_dsa_65_new(void) {
|
||||
|
||||
@ -52,19 +56,20 @@ OQS_SIG *OQS_SIG_ml_dsa_65_new(void) {
|
||||
|
||||
return sig;
|
||||
}
|
||||
#endif
|
||||
|
||||
extern int pqcrystals_ml_dsa_65_ipd_ref_keypair(uint8_t *pk, uint8_t *sk);
|
||||
extern int pqcrystals_ml_dsa_65_ipd_ref_signature(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen, const uint8_t *sk);
|
||||
extern int pqcrystals_ml_dsa_65_ipd_ref_verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t mlen, const uint8_t *pk);
|
||||
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_65_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_65_ipd_avx2) || defined(OQS_ENABLE_SIG_ml_dsa_65_avx2)
|
||||
extern int pqcrystals_ml_dsa_65_ipd_avx2_keypair(uint8_t *pk, uint8_t *sk);
|
||||
extern int pqcrystals_ml_dsa_65_ipd_avx2_signature(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen, const uint8_t *sk);
|
||||
extern int pqcrystals_ml_dsa_65_ipd_avx2_verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t mlen, const uint8_t *pk);
|
||||
#endif
|
||||
|
||||
OQS_API OQS_STATUS OQS_SIG_ml_dsa_65_ipd_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_65_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_65_ipd_avx2) || defined(OQS_ENABLE_SIG_ml_dsa_65_avx2)
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
|
||||
#endif /* OQS_DIST_BUILD */
|
||||
@ -80,7 +85,7 @@ OQS_API OQS_STATUS OQS_SIG_ml_dsa_65_ipd_keypair(uint8_t *public_key, uint8_t *s
|
||||
}
|
||||
|
||||
OQS_API OQS_STATUS OQS_SIG_ml_dsa_65_ipd_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key) {
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_65_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_65_ipd_avx2) || defined(OQS_ENABLE_SIG_ml_dsa_65_avx2)
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
|
||||
#endif /* OQS_DIST_BUILD */
|
||||
@ -96,7 +101,7 @@ OQS_API OQS_STATUS OQS_SIG_ml_dsa_65_ipd_sign(uint8_t *signature, size_t *signat
|
||||
}
|
||||
|
||||
OQS_API OQS_STATUS OQS_SIG_ml_dsa_65_ipd_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key) {
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_65_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_65_ipd_avx2) || defined(OQS_ENABLE_SIG_ml_dsa_65_avx2)
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
|
||||
#endif /* OQS_DIST_BUILD */
|
||||
|
@ -4,6 +4,8 @@
|
||||
|
||||
#include <oqs/sig_ml_dsa.h>
|
||||
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_87_ipd) || defined(OQS_ENABLE_SIG_ml_dsa_87)
|
||||
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_87_ipd)
|
||||
|
||||
OQS_SIG *OQS_SIG_ml_dsa_87_ipd_new(void) {
|
||||
@ -28,7 +30,9 @@ OQS_SIG *OQS_SIG_ml_dsa_87_ipd_new(void) {
|
||||
|
||||
return sig;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_87)
|
||||
/** Alias */
|
||||
OQS_SIG *OQS_SIG_ml_dsa_87_new(void) {
|
||||
|
||||
@ -52,19 +56,20 @@ OQS_SIG *OQS_SIG_ml_dsa_87_new(void) {
|
||||
|
||||
return sig;
|
||||
}
|
||||
#endif
|
||||
|
||||
extern int pqcrystals_ml_dsa_87_ipd_ref_keypair(uint8_t *pk, uint8_t *sk);
|
||||
extern int pqcrystals_ml_dsa_87_ipd_ref_signature(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen, const uint8_t *sk);
|
||||
extern int pqcrystals_ml_dsa_87_ipd_ref_verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t mlen, const uint8_t *pk);
|
||||
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_87_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_87_ipd_avx2) || defined(OQS_ENABLE_SIG_ml_dsa_87_avx2)
|
||||
extern int pqcrystals_ml_dsa_87_ipd_avx2_keypair(uint8_t *pk, uint8_t *sk);
|
||||
extern int pqcrystals_ml_dsa_87_ipd_avx2_signature(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen, const uint8_t *sk);
|
||||
extern int pqcrystals_ml_dsa_87_ipd_avx2_verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t mlen, const uint8_t *pk);
|
||||
#endif
|
||||
|
||||
OQS_API OQS_STATUS OQS_SIG_ml_dsa_87_ipd_keypair(uint8_t *public_key, uint8_t *secret_key) {
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_87_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_87_ipd_avx2) || defined(OQS_ENABLE_SIG_ml_dsa_87_avx2)
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
|
||||
#endif /* OQS_DIST_BUILD */
|
||||
@ -80,7 +85,7 @@ OQS_API OQS_STATUS OQS_SIG_ml_dsa_87_ipd_keypair(uint8_t *public_key, uint8_t *s
|
||||
}
|
||||
|
||||
OQS_API OQS_STATUS OQS_SIG_ml_dsa_87_ipd_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key) {
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_87_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_87_ipd_avx2) || defined(OQS_ENABLE_SIG_ml_dsa_87_avx2)
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
|
||||
#endif /* OQS_DIST_BUILD */
|
||||
@ -96,7 +101,7 @@ OQS_API OQS_STATUS OQS_SIG_ml_dsa_87_ipd_sign(uint8_t *signature, size_t *signat
|
||||
}
|
||||
|
||||
OQS_API OQS_STATUS OQS_SIG_ml_dsa_87_ipd_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key) {
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_87_ipd_avx2)
|
||||
#if defined(OQS_ENABLE_SIG_ml_dsa_87_ipd_avx2) || defined(OQS_ENABLE_SIG_ml_dsa_87_avx2)
|
||||
#if defined(OQS_DIST_BUILD)
|
||||
if (OQS_CPU_has_extension(OQS_CPU_EXT_AVX2) && OQS_CPU_has_extension(OQS_CPU_EXT_POPCNT)) {
|
||||
#endif /* OQS_DIST_BUILD */
|
||||
|
@ -10,7 +10,7 @@ fi
|
||||
if [[ "$1" = "ML-DSA-44-ipd" || "$1" = "ML-DSA-44" ]]; then
|
||||
|
||||
file=tests/PQC_Intermediate_Values/ML-DSA-44.txt
|
||||
scheme_name=ML-DSA-44-ipd
|
||||
scheme_name=$1
|
||||
|
||||
sh tests/test_sig_vectors.sh "$scheme_name" "$file" "$build_dir"
|
||||
if [ $? != 0 ]; then
|
||||
@ -20,7 +20,7 @@ if [[ "$1" = "ML-DSA-44-ipd" || "$1" = "ML-DSA-44" ]]; then
|
||||
elif [[ "$1" = "ML-DSA-65-ipd" || "$1" = "ML-DSA-65" ]]; then
|
||||
|
||||
file=tests/PQC_Intermediate_Values/ML-DSA-65.txt
|
||||
scheme_name=ML-DSA-65-ipd
|
||||
scheme_name=$1
|
||||
|
||||
sh tests/test_sig_vectors.sh "$scheme_name" "$file" "$build_dir"
|
||||
if [ $? != 0 ]; then
|
||||
@ -30,7 +30,7 @@ elif [[ "$1" = "ML-DSA-65-ipd" || "$1" = "ML-DSA-65" ]]; then
|
||||
elif [[ "$1" = "ML-DSA-87-ipd" || "$1" = "ML-DSA-87" ]]; then
|
||||
|
||||
file=tests/PQC_Intermediate_Values/ML-DSA-87.txt
|
||||
scheme_name=ML-DSA-87-ipd
|
||||
scheme_name=$1
|
||||
|
||||
sh tests/test_sig_vectors.sh "$scheme_name" "$file" "$build_dir"
|
||||
if [ $? != 0 ]; then
|
||||
@ -40,7 +40,7 @@ elif [[ "$1" = "ML-DSA-87-ipd" || "$1" = "ML-DSA-87" ]]; then
|
||||
elif [[ "$1" = "ML-KEM-512-ipd" || "$1" = "ML-KEM-512" ]]; then
|
||||
|
||||
file=tests/PQC_Intermediate_Values/ML-KEM-512.txt
|
||||
scheme_name=ML-KEM-512-ipd
|
||||
scheme_name=$1
|
||||
|
||||
sh tests/test_kem_vectors.sh "$scheme_name" "$file" "$build_dir"
|
||||
if [ $? != 0 ]; then
|
||||
@ -50,7 +50,7 @@ elif [[ "$1" = "ML-KEM-512-ipd" || "$1" = "ML-KEM-512" ]]; then
|
||||
elif [[ "$1" = "ML-KEM-768-ipd" || "$1" = "ML-KEM-768" ]]; then
|
||||
|
||||
file=tests/PQC_Intermediate_Values/ML-KEM-768.txt
|
||||
scheme_name=ML-KEM-768-ipd
|
||||
scheme_name=$1
|
||||
|
||||
sh tests/test_kem_vectors.sh "$scheme_name" "$file" "$build_dir"
|
||||
if [ $? != 0 ]; then
|
||||
@ -60,7 +60,7 @@ elif [[ "$1" = "ML-KEM-768-ipd" || "$1" = "ML-KEM-768" ]]; then
|
||||
elif [[ "$1" = "ML-KEM-1024-ipd" || "$1" = "ML-KEM-1024" ]]; then
|
||||
|
||||
file=tests/PQC_Intermediate_Values/ML-KEM-1024.txt
|
||||
scheme_name=ML-KEM-1024-ipd
|
||||
scheme_name=$1
|
||||
|
||||
sh tests/test_kem_vectors.sh "$scheme_name" "$file" "$build_dir"
|
||||
if [ $? != 0 ]; then
|
||||
|
@ -62,7 +62,10 @@ static void hexStringToByteArray(const char *hexString, uint8_t *byteArray) {
|
||||
static inline bool is_ml_dsa(const char *method_name) {
|
||||
return (0 == strcmp(method_name, OQS_SIG_alg_ml_dsa_44_ipd))
|
||||
|| (0 == strcmp(method_name, OQS_SIG_alg_ml_dsa_65_ipd))
|
||||
|| (0 == strcmp(method_name, OQS_SIG_alg_ml_dsa_87_ipd));
|
||||
|| (0 == strcmp(method_name, OQS_SIG_alg_ml_dsa_87_ipd))
|
||||
|| (0 == strcmp(method_name, OQS_SIG_alg_ml_dsa_44))
|
||||
|| (0 == strcmp(method_name, OQS_SIG_alg_ml_dsa_65))
|
||||
|| (0 == strcmp(method_name, OQS_SIG_alg_ml_dsa_87));
|
||||
}
|
||||
|
||||
static void MLDSA_randombytes_init(const uint8_t *entropy_input, const uint8_t *personalization_string) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user