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