From 3c7b8f93cdb3461e3a47d16c7a1b1da40e696c8c Mon Sep 17 00:00:00 2001 From: Ruben Bokobza Date: Mon, 2 Oct 2023 14:51:43 +0300 Subject: [PATCH 1/3] Update wots.c Change csum to unsigned long long --- wots.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wots.c b/wots.c index d9c8449..b74496f 100644 --- a/wots.c +++ b/wots.c @@ -82,7 +82,7 @@ static void base_w(const xmss_params *params, static void wots_checksum(const xmss_params *params, int *csum_base_w, const int *msg_base_w) { - int csum = 0; + unsigned long long csum = 0; unsigned char csum_bytes[(params->wots_len2 * params->wots_log_w + 7) / 8]; unsigned int i; From 9836c17dbb06453728d76ba1caf542210a43ca6f Mon Sep 17 00:00:00 2001 From: Ruben Bokobza Date: Mon, 2 Oct 2023 14:55:25 +0300 Subject: [PATCH 2/3] Update wots.c Change lengths from signed int to unsigned int --- wots.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/wots.c b/wots.c index d9c8449..18c7652 100644 --- a/wots.c +++ b/wots.c @@ -100,7 +100,7 @@ static void wots_checksum(const xmss_params *params, /* Takes a message and derives the matching chain lengths. */ static void chain_lengths(const xmss_params *params, - int *lengths, const unsigned char *msg) + unsigned int *lengths, const unsigned char *msg) { base_w(params, lengths, params->wots_len1, msg); wots_checksum(params, lengths + params->wots_len1, lengths); @@ -139,7 +139,7 @@ void wots_sign(const xmss_params *params, const unsigned char *seed, const unsigned char *pub_seed, uint32_t addr[8]) { - int lengths[params->wots_len]; + unsigned int lengths[params->wots_len]; uint32_t i; chain_lengths(params, lengths, msg); @@ -163,7 +163,7 @@ void wots_pk_from_sig(const xmss_params *params, unsigned char *pk, const unsigned char *sig, const unsigned char *msg, const unsigned char *pub_seed, uint32_t addr[8]) { - int lengths[params->wots_len]; + unsigned int lengths[params->wots_len]; uint32_t i; chain_lengths(params, lengths, msg); From f00a6896bf10f139ae2a769445137042c2f134fb Mon Sep 17 00:00:00 2001 From: Ruben Bokobza Date: Mon, 2 Oct 2023 14:57:16 +0300 Subject: [PATCH 3/3] Update wots.c Change signed int to unsigned int --- wots.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wots.c b/wots.c index d9c8449..2876b24 100644 --- a/wots.c +++ b/wots.c @@ -80,7 +80,7 @@ static void base_w(const xmss_params *params, /* Computes the WOTS+ checksum over a message (in base_w). */ static void wots_checksum(const xmss_params *params, - int *csum_base_w, const int *msg_base_w) + int *csum_base_w, const unsigned int *msg_base_w) { int csum = 0; unsigned char csum_bytes[(params->wots_len2 * params->wots_log_w + 7) / 8];