diff options
author | Markus Friedl <markus@cvs.openbsd.org> | 2018-02-23 15:58:39 +0000 |
---|---|---|
committer | Markus Friedl <markus@cvs.openbsd.org> | 2018-02-23 15:58:39 +0000 |
commit | efd12528daec501da8570788deb6070f90692f96 (patch) | |
tree | f45f7801540e0fd233fe1814dff753ee188bebc0 /usr.bin/ssh/xmss_hash_address.h | |
parent | 343afb930722267eeb4f1a3b67adae93c1f7acad (diff) |
Add experimental support for PQC XMSS keys (Extended Hash-Based Signatures)
The code is not compiled in by default (see WITH_XMSS in Makefile.inc)
Joint work with stefan-lukas_gazdag at genua.eu
See https://tools.ietf.org/html/draft-irtf-cfrg-xmss-hash-based-signatures-12
ok djm@
Diffstat (limited to 'usr.bin/ssh/xmss_hash_address.h')
-rw-r--r-- | usr.bin/ssh/xmss_hash_address.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/usr.bin/ssh/xmss_hash_address.h b/usr.bin/ssh/xmss_hash_address.h new file mode 100644 index 00000000000..73cbfd61cf0 --- /dev/null +++ b/usr.bin/ssh/xmss_hash_address.h @@ -0,0 +1,37 @@ +/* +hash_address.h version 20160722 +Andreas Hülsing +Joost Rijneveld +Public domain. +*/ + +#include <stdint.h> + +void setLayerADRS(uint32_t adrs[8], uint32_t layer); + +void setTreeADRS(uint32_t adrs[8], uint64_t tree); + +void setType(uint32_t adrs[8], uint32_t type); + +void setKeyAndMask(uint32_t adrs[8], uint32_t keyAndMask); + +// OTS + +void setOTSADRS(uint32_t adrs[8], uint32_t ots); + +void setChainADRS(uint32_t adrs[8], uint32_t chain); + +void setHashADRS(uint32_t adrs[8], uint32_t hash); + +// L-tree + +void setLtreeADRS(uint32_t adrs[8], uint32_t ltree); + +// Hash Tree & L-tree + +void setTreeHeight(uint32_t adrs[8], uint32_t treeHeight); + +void setTreeIndex(uint32_t adrs[8], uint32_t treeIndex); + + + |