Browse Source

Fix error for d=1 cases as introduced by 719cb46

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

+ 4
- 2
xmss_fast.c View File

@@ -948,8 +948,10 @@ int xmssmt_sign(unsigned char *sk, bds_state *states, unsigned char *wots_sigs,

SET_LAYER_ADDRESS(addr, 0);
SET_TREE_ADDRESS(addr, (idx_tree + 1));
// mandatory update for NEXT_0 (does not count towards h-k/2)
bds_state_update(&states[params->d], sk_seed, &(params->xmss_par), pub_seed, addr);
// mandatory update for NEXT_0 (does not count towards h-k/2) if NEXT_0 exists
if ((1 + idx_tree) * (1 << tree_h) + idx_leaf < (1UL << h)) {
bds_state_update(&states[params->d], sk_seed, &(params->xmss_par), pub_seed, addr);
}

for (i = 0; i < params->d; i++) {
// check if we're not at the end of a tree


Loading…
Cancel
Save