Skip to content

Commit

Permalink
Add 12 XMSS and 16 XMSSMT parameters. (#1489)
Browse files Browse the repository at this point in the history
* populate all 28 XMSS parameters

* clean up

* remove wanrings in scanbuild

* change free to OQS_MEM_insecure_free

* fix build warning

* fix integer in i386 platforms

* proper type for sigs_remain and sig_maximum

* remove size_t in signature remain and total

* make scan-build happy
  • Loading branch information
ducnguyen-sb authored and SWilson4 committed May 14, 2024
1 parent e356ebf commit a7e26d9
Show file tree
Hide file tree
Showing 73 changed files with 5,812 additions and 324 deletions.
28 changes: 28 additions & 0 deletions .CMake/alg_support.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -499,6 +499,34 @@ endif()

option(OQS_ENABLE_SIG_STFL_XMSS "Enable XMSS algorithm family" ON)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmss_sha256_h10 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmss_sha256_h16 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmss_sha256_h20 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmss_shake128_h10 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmss_shake128_h16 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmss_shake128_h20 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmss_sha512_h10 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmss_sha512_h16 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmss_sha512_h20 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmss_shake256_h10 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmss_shake256_h16 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmss_shake256_h20 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmssmt_sha256_h20_2 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmssmt_sha256_h20_4 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmssmt_sha256_h40_2 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmssmt_sha256_h40_4 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmssmt_sha256_h40_8 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmssmt_sha256_h60_3 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmssmt_sha256_h60_6 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmssmt_sha256_h60_12 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmssmt_shake128_h20_2 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmssmt_shake128_h20_4 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmssmt_shake128_h40_2 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmssmt_shake128_h40_4 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmssmt_shake128_h40_8 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmssmt_shake128_h60_3 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmssmt_shake128_h60_6 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_xmssmt_shake128_h60_12 "" ON "OQS_ENABLE_SIG_STFL_XMSS" OFF)


if((OQS_MINIMAL_BUILD STREQUAL "ON"))
message(FATAL_ERROR "OQS_MINIMAL_BUILD option ${OQS_MINIMAL_BUILD} no longer supported")
Expand Down
27 changes: 27 additions & 0 deletions src/oqsconfig.h.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -193,3 +193,30 @@

#cmakedefine OQS_ENABLE_SIG_STFL_XMSS 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmss_sha256_h10 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmss_sha256_h16 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmss_sha256_h20 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmss_shake128_h10 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmss_shake128_h16 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmss_shake128_h20 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmss_sha512_h10 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmss_sha512_h16 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmss_sha512_h20 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmss_shake256_h10 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmss_shake256_h16 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmss_shake256_h20 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmssmt_sha256_h20_2 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmssmt_sha256_h20_4 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmssmt_sha256_h40_2 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmssmt_sha256_h40_4 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmssmt_sha256_h40_8 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmssmt_sha256_h60_3 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmssmt_sha256_h60_6 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmssmt_sha256_h60_12 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmssmt_shake128_h20_2 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmssmt_shake128_h20_4 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmssmt_shake128_h40_2 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmssmt_shake128_h40_4 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmssmt_shake128_h40_8 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmssmt_shake128_h60_3 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmssmt_shake128_h60_6 1
#cmakedefine OQS_ENABLE_SIG_STFL_xmssmt_shake128_h60_12 1
Loading

0 comments on commit a7e26d9

Please sign in to comment.