summaryrefslogtreecommitdiff
path: root/usr.bin/ssh/xmss_hash_address.h
diff options
context:
space:
mode:
authorMarkus Friedl <markus@cvs.openbsd.org>2018-02-23 15:58:39 +0000
committerMarkus Friedl <markus@cvs.openbsd.org>2018-02-23 15:58:39 +0000
commitefd12528daec501da8570788deb6070f90692f96 (patch)
treef45f7801540e0fd233fe1814dff753ee188bebc0 /usr.bin/ssh/xmss_hash_address.h
parent343afb930722267eeb4f1a3b67adae93c1f7acad (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.h37
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);
+
+
+