Browse Source

Do not perform bds_round for the last leaf

master
Joost Rijneveld 9 years ago
parent
commit
f5a5231c72
1 changed files with 4 additions and 1 deletions
  1. +4
    -1
      xmss_fast.c

+ 4
- 1
xmss_fast.c View File

@@ -690,7 +690,10 @@ int xmss_sign(unsigned char *sk, bds_state *state, unsigned char *sig_msg, unsig
// the auth path was already computed during the previous round
memcpy(sig_msg, state->auth, h*n);

bds_round(state, idx, sk_seed, params, (h - k) >> 1, pub_seed, ots_addr);
if (idx < (1 << h) - 1) {
bds_round(state, idx, sk_seed, params, (h - k) >> 1, pub_seed, ots_addr);
}

sig_msg += params->h*n;
*sig_msg_len += params->h*n;


Loading…
Cancel
Save