diff --git a/hash.c b/hash.c index 6f5eaff..0f9aa23 100644 --- a/hash.c +++ b/hash.c @@ -38,7 +38,7 @@ static int core_hash(const xmss_params *params, shake256(out, 64, in, inlen); } else { - return 1; + return -1; } return 0; } diff --git a/params.c b/params.c index 0a721a8..1ac7211 100644 --- a/params.c +++ b/params.c @@ -174,7 +174,7 @@ int xmss_parse_oid(xmss_params *params, const uint32_t oid) break; default: - return 1; + return -1; } switch (oid) { case 0x01000001: @@ -198,7 +198,7 @@ int xmss_parse_oid(xmss_params *params, const uint32_t oid) break; default: - return 1; + return -1; } switch (oid) { case 0x01000001: @@ -223,7 +223,7 @@ int xmss_parse_oid(xmss_params *params, const uint32_t oid) break; default: - return 1; + return -1; } params->d = 1; params->tree_height = params->full_height / params->d; @@ -289,7 +289,7 @@ int xmssmt_parse_oid(xmss_params *params, const uint32_t oid) break; default: - return 1; + return -1; } switch (oid) { case 0x01000001: @@ -333,7 +333,7 @@ int xmssmt_parse_oid(xmss_params *params, const uint32_t oid) break; default: - return 1; + return -1; } switch (oid) { case 0x01000001: @@ -387,7 +387,7 @@ int xmssmt_parse_oid(xmss_params *params, const uint32_t oid) break; default: - return 1; + return -1; } switch (oid) { case 0x01000001: @@ -441,7 +441,7 @@ int xmssmt_parse_oid(xmss_params *params, const uint32_t oid) break; default: - return 1; + return -1; } params->tree_height = params->full_height / params->d; diff --git a/params.h b/params.h index 48478c7..3cc76bd 100644 --- a/params.h +++ b/params.h @@ -33,26 +33,26 @@ typedef struct { /** * Accepts strings such as "XMSS-SHA2_10_256" * and outputs OIDs such as 0x01000001. - * Returns 1 when the parameter set is not found, 0 otherwise + * Returns -1 when the parameter set is not found, 0 otherwise */ int xmss_str_to_oid(uint32_t *oid, const char* s); /** * Accepts takes strings such as "XMSSMT-SHA2_20/2_256" * and outputs OIDs such as 0x01000001. - * Returns 1 when the parameter set is not found, 0 otherwise + * Returns -1 when the parameter set is not found, 0 otherwise */ int xmssmt_str_to_oid(uint32_t *oid, const char* s); /** * Accepts OIDs such as 0x01000001, and configures params accordingly. - * Returns 1 when the OID is not found, 0 otherwise. + * Returns -1 when the OID is not found, 0 otherwise. */ int xmss_parse_oid(xmss_params *params, const uint32_t oid); /** * Accepts OIDs such as 0x01000001, and configures params accordingly. - * Returns 1 when the OID is not found, 0 otherwise. + * Returns -1 when the OID is not found, 0 otherwise. */ int xmssmt_parse_oid(xmss_params *params, const uint32_t oid); diff --git a/xmss.c b/xmss.c index 7b9253a..0638f3e 100644 --- a/xmss.c +++ b/xmss.c @@ -13,7 +13,7 @@ int xmss_keypair(unsigned char *pk, unsigned char *sk, const uint32_t oid) unsigned int i; if (xmss_parse_oid(¶ms, oid)) { - return 1; + return -1; } for (i = 0; i < XMSS_OID_LEN; i++) { pk[i] = (oid >> (8 * i)) & 0xFF; @@ -37,7 +37,7 @@ int xmss_sign(unsigned char *sk, oid |= sk[i] << (i * 8); } if (xmss_parse_oid(¶ms, oid)) { - return 1; + return -1; } return xmss_core_sign(¶ms, sk + XMSS_OID_LEN, sm, smlen, m, mlen); } @@ -54,7 +54,7 @@ int xmss_sign_open(unsigned char *m, unsigned long long *mlen, oid |= pk[i] << (i * 8); } if (xmss_parse_oid(¶ms, oid)) { - return 1; + return -1; } return xmss_core_sign_open(¶ms, m, mlen, sm, smlen, pk + XMSS_OID_LEN); } @@ -65,7 +65,7 @@ int xmssmt_keypair(unsigned char *pk, unsigned char *sk, const uint32_t oid) unsigned int i; if (xmssmt_parse_oid(¶ms, oid)) { - return 1; + return -1; } for (i = 0; i < XMSS_OID_LEN; i++) { pk[i] = (oid >> (8 * i)) & 0xFF; @@ -86,7 +86,7 @@ int xmssmt_sign(unsigned char *sk, oid |= sk[i] << (i * 8); } if (xmssmt_parse_oid(¶ms, oid)) { - return 1; + return -1; } return xmssmt_core_sign(¶ms, sk + XMSS_OID_LEN, sm, smlen, m, mlen); } @@ -103,7 +103,7 @@ int xmssmt_sign_open(unsigned char *m, unsigned long long *mlen, oid |= pk[i] << (i * 8); } if (xmssmt_parse_oid(¶ms, oid)) { - return 1; + return -1; } return xmssmt_core_sign_open(¶ms, m, mlen, sm, smlen, pk + XMSS_OID_LEN); } diff --git a/xmss_core_fast.c b/xmss_core_fast.c index 3d74527..e56ead3 100644 --- a/xmss_core_fast.c +++ b/xmss_core_fast.c @@ -328,8 +328,8 @@ static void treehash_update(const xmss_params *params, } /** - * Performs one treehash update on the instance that needs it the most. - * Returns 1 if such an instance was not found + * Performs treehash updates on the instance that needs it the most. + * Returns the updated number of available updates. **/ static char bds_treehash_update(const xmss_params *params, bds_state *state, unsigned int updates, @@ -370,7 +370,7 @@ static char bds_treehash_update(const xmss_params *params, /** * Updates the state (typically NEXT_i) by adding a leaf and updating the stack - * Returns 1 if all leaf nodes have already been processed + * Returns -1 if all leaf nodes have already been processed **/ static char bds_state_update(const xmss_params *params, bds_state *state, const unsigned char *sk_seed, @@ -384,7 +384,7 @@ static char bds_state_update(const xmss_params *params, unsigned int nodeh; int idx = state->next_leaf; if (idx == 1 << params->tree_height) { - return 1; + return -1; } // only copy layer and tree address parts