Annotation of src/usr.bin/ssh/xmss_hash_address.c, Revision 1.2
1.2 ! dtucker 1: /* $OpenBSD$ */
1.1 markus 2: /*
3: hash_address.c version 20160722
4: Andreas Hülsing
5: Joost Rijneveld
6: Public domain.
7: */
8: #include <stdint.h>
9: #include "xmss_hash_address.h" /* prototypes */
10:
11: void setLayerADRS(uint32_t adrs[8], uint32_t layer){
12: adrs[0] = layer;
13: }
14:
15: void setTreeADRS(uint32_t adrs[8], uint64_t tree){
16: adrs[1] = (uint32_t) (tree >> 32);
17: adrs[2] = (uint32_t) tree;
18: }
19:
20: void setType(uint32_t adrs[8], uint32_t type){
21: adrs[3] = type;
22: int i;
23: for(i = 4; i < 8; i++){
24: adrs[i] = 0;
25: }
26: }
27:
28: void setKeyAndMask(uint32_t adrs[8], uint32_t keyAndMask){
29: adrs[7] = keyAndMask;
30: }
31:
32: // OTS
33:
34: void setOTSADRS(uint32_t adrs[8], uint32_t ots){
35: adrs[4] = ots;
36: }
37:
38: void setChainADRS(uint32_t adrs[8], uint32_t chain){
39: adrs[5] = chain;
40: }
41:
42: void setHashADRS(uint32_t adrs[8], uint32_t hash){
43: adrs[6] = hash;
44: }
45:
46: // L-tree
47:
48: void setLtreeADRS(uint32_t adrs[8], uint32_t ltree){
49: adrs[4] = ltree;
50: }
51:
52: // Hash Tree & L-tree
53:
54: void setTreeHeight(uint32_t adrs[8], uint32_t treeHeight){
55: adrs[5] = treeHeight;
56: }
57:
58: void setTreeIndex(uint32_t adrs[8], uint32_t treeIndex){
59: adrs[6] = treeIndex;
60: }