21 lines
1.0 KiB
C
21 lines
1.0 KiB
C
#ifndef SHA2_OFFSETS_H_
|
|
#define SHA2_OFFSETS_H_
|
|
|
|
/*
|
|
* Offsets of various fields in the address structure when we use SHA2 as
|
|
* the Sphincs+ hash function
|
|
*/
|
|
|
|
#define SPX_OFFSET_LAYER 0 /* The byte used to specify the Merkle tree layer */
|
|
#define SPX_OFFSET_TREE 1 /* The start of the 8 byte field used to specify the tree */
|
|
#define SPX_OFFSET_TYPE 9 /* The byte used to specify the hash type (reason) */
|
|
#define SPX_OFFSET_KP_ADDR 10 /* The start of the 4 byte field used to specify the key pair address */
|
|
#define SPX_OFFSET_CHAIN_ADDR 17 /* The byte used to specify the chain address (which Winternitz chain) */
|
|
#define SPX_OFFSET_HASH_ADDR 21 /* The byte used to specify the hash address (where in the Winternitz chain) */
|
|
#define SPX_OFFSET_TREE_HGT 17 /* The byte used to specify the height of this node in the FORS or Merkle tree */
|
|
#define SPX_OFFSET_TREE_INDEX 18 /* The start of the 4 byte field used to specify the node in the FORS or Merkle tree */
|
|
|
|
#define SPX_SHA2 1
|
|
|
|
#endif /* SHA2_OFFSETS_H_ */
|