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