Skip to content

Commit

Permalink
Various fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
ashman-p authored and SWilson4 committed May 14, 2024
1 parent 982b440 commit ddae644
Show file tree
Hide file tree
Showing 10 changed files with 430 additions and 43 deletions.
12 changes: 12 additions & 0 deletions .CMake/alg_support.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -551,6 +551,18 @@ cmake_dependent_option(OQS_ENABLE_SIG_STFL_lms_sha256_h25_w4 "" ON "OQS_ENABLE_S
cmake_dependent_option(OQS_ENABLE_SIG_STFL_lms_sha256_h25_w8 "" ON "OQS_ENABLE_SIG_STFL_LMS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_lms_sha256_h5_w8_h5_w8 "" ON "OQS_ENABLE_SIG_STFL_LMS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_lms_sha256_h10_w4_h5_w8 "" ON "OQS_ENABLE_SIG_STFL_LMS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_lms_sha256_h10_w8_h5_w8 "" ON "OQS_ENABLE_SIG_STFL_LMS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_lms_sha256_h10_w2_h10_w2 "" ON "OQS_ENABLE_SIG_STFL_LMS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_lms_sha256_h10_w4_h10_w4 "" ON "OQS_ENABLE_SIG_STFL_LMS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_lms_sha256_h10_w8_h10_w8 "" ON "OQS_ENABLE_SIG_STFL_LMS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_lms_sha256_h15_w8_h5_w8 "" ON "OQS_ENABLE_SIG_STFL_LMS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_lms_sha256_h15_w8_h10_w8 "" ON "OQS_ENABLE_SIG_STFL_LMS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_lms_sha256_h15_w8_h15_w8 "" ON "OQS_ENABLE_SIG_STFL_LMS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_lms_sha256_h20_w8_h5_w8 "" ON "OQS_ENABLE_SIG_STFL_LMS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_lms_sha256_h20_w8_h10_w8 "" ON "OQS_ENABLE_SIG_STFL_LMS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_lms_sha256_h20_w8_h15_w8 "" ON "OQS_ENABLE_SIG_STFL_LMS" OFF)
cmake_dependent_option(OQS_ENABLE_SIG_STFL_lms_sha256_h20_w8_h20_w8 "" ON "OQS_ENABLE_SIG_STFL_LMS" OFF)


if((OQS_MINIMAL_BUILD STREQUAL "ON"))
message(FATAL_ERROR "OQS_MINIMAL_BUILD option ${OQS_MINIMAL_BUILD} no longer supported")
Expand Down
2 changes: 1 addition & 1 deletion src/common/sha2/sha2_armv8.c
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,7 @@ void oqs_sha2_sha256_inc_armv8(sha256ctx *state, const uint8_t *in, size_t len)
}

for (size_t i = 0; i < incr; ++i, state->data_len++, in_index++) {
state->data[state->data_len] = in[in_index++];
state->data[state->data_len] = in[in_index];
}

if (state->data_len < 64) {
Expand Down
2 changes: 0 additions & 2 deletions src/oqsconfig.h.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,5 @@
#cmakedefine OQS_ENABLE_SIG_STFL_lms_sha256_h15_w1 1
#cmakedefine OQS_ENABLE_SIG_STFL_lms_sha256_h15_w2 1
#cmakedefine OQS_ENABLE_SIG_STFL_lms_sha256_h15_w4 1
#cmakedefine OQS_ENABLE_SIG_STFL_lms_sha256_h15_w8 1
#cmakedefine OQS_ENABLE_SIG_STFL_lms_sha256_h20_w1 1
#cmakedefine OQS_ENABLE_SIG_STFL_lms_sha256_h5_w8_h5_w8 1
#cmakedefine OQS_ENABLE_SIG_STFL_lms_sha256_h10_w4_h5_w8 1
2 changes: 1 addition & 1 deletion src/sig_stfl/lms/external/hss_alloc.c
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,7 @@ signed long initial_mem_target = mem_target; /* DEBUG HACK */
/* This is a signed type so that the comparison works as */
/* expected if mem_target is negative */
size_t stack_used;
unsigned long mem = compute_level_memory_usage(i, j,
unsigned long mem = (unsigned long)compute_level_memory_usage(i, j,
level_height[i], hash_size[i], &subtree_levels[i],
&stack_used );
/* # of sublevels this would have */
Expand Down
6 changes: 3 additions & 3 deletions src/sig_stfl/lms/external/hss_sign.c
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ static int generate_merkle_signature(
hss_seed_derive_done(&derive);
if (!success) return 0;
}
signature += ots_sig_size; signature_len -= ots_sig_size;
signature += ots_sig_size; signature_len -= (unsigned)ots_sig_size;

/* Write the LM parameter set */
if (signature_len < 4) return 0;
Expand Down Expand Up @@ -253,7 +253,7 @@ bool hss_create_signed_public_key(unsigned char *signed_key,
unsigned len_public_key = 8 + I_LEN + hash_size;

/* Now, generate the signature */
if (!(unsigned int)generate_merkle_signature( signed_key, len_signature,
if ((int)0 == generate_merkle_signature( signed_key, len_signature,
parent, w, public_key, len_public_key)) {
return false;
}
Expand Down Expand Up @@ -303,7 +303,7 @@ static void do_gen_sig( const void *detail, struct thread_collection *col) {
const unsigned char *message = d->message;
size_t message_len = d->message_len;

if (!(unsigned int)generate_merkle_signature(signature, signature_len,
if ((int)0 == generate_merkle_signature(signature, signature_len,
w->tree[ levels-1 ], w, message, message_len)) {
goto failed;
}
Expand Down
2 changes: 1 addition & 1 deletion src/sig_stfl/lms/external/hss_verify_inc.c
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ bool hss_validate_signature_init(
/* to validate) */
if (signature_len < 4) goto failed;
lm_type = (param_set_t)get_bigendian( signature, 4 );
unsigned l_pubkeylen = lm_get_public_key_len(lm_type);
unsigned l_pubkeylen = (unsigned)lm_get_public_key_len(lm_type);
if (l_pubkeylen == 0 || l_pubkeylen > signature_len) goto failed;
const unsigned char *l_pubkey = signature;
signature += l_pubkeylen; signature_len -= l_pubkeylen;
Expand Down
4 changes: 2 additions & 2 deletions src/sig_stfl/lms/sig_stfl_lms_functions.c
Original file line number Diff line number Diff line change
Expand Up @@ -707,8 +707,8 @@ OQS_STATUS oqs_deserialize_lms_key(OQS_SIG_STFL_SECRET_KEY *sk, const size_t sk_
oqs_lms_key_data *lms_key_data = NULL;
uint8_t *lms_sk = NULL;
uint8_t *lms_aux = NULL;
int aux_buf_len = 0;
uint8_t lms_sk_len = hss_get_private_key_len((unsigned )(1), NULL, NULL);
size_t aux_buf_len = 0;
size_t lms_sk_len = hss_get_private_key_len((unsigned )(1), NULL, NULL);

if (sk == NULL || sk_buf == NULL || (sk_len == 0) || (sk_len < lms_sk_len )) {
return OQS_ERROR;
Expand Down
Loading

0 comments on commit ddae644

Please sign in to comment.