Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
Joost Rijneveld 49f72fd1a7
Update README to point to RFC
vor 5 Jahren
test Prevent overrunning stack for large benchmarks vor 6 Jahren
ui Fix OID parsing vor 6 Jahren
.gitignore Clean up tests vor 7 Jahren
.travis.yml Add TravisCI configuration vor 7 Jahren
LICENSE Simplify licensing using LICENSE file vor 7 Jahren
Makefile Add benchmarking binary/target vor 6 Jahren
README.md Update README to point to RFC vor 5 Jahren
fips202.c Clean up includes vor 7 Jahren
fips202.h Perform various reformatting / renaming vor 7 Jahren
hash.c Fix prf when n != 32 vor 7 Jahren
hash.h Rename hash functions to tweaked hashes vor 7 Jahren
hash_address.c Make addr type switching not zero out remainder vor 7 Jahren
hash_address.h Rename parameters for readability and consistency vor 7 Jahren
params.c Allow more flexible parameter selection vor 6 Jahren
params.h Allow more flexible parameter selection vor 6 Jahren
randombytes.c Refactor for more consistent style and readability vor 7 Jahren
randombytes.h Perform various reformatting / renaming vor 7 Jahren
utils.c Move ull-byte-conversions to separate utils file vor 7 Jahren
utils.h Move ull-byte-conversions to separate utils file vor 7 Jahren
wots.c Rename hash functions to tweaked hashes vor 7 Jahren
wots.h Fix typo in WOTS comments: n-byte messages, not m vor 7 Jahren
xmss.c Store OID in bigendian notation in pk and sk vor 6 Jahren
xmss.h Perform various reformatting / renaming vor 7 Jahren
xmss_commons.c More explicitly label pk parts in verification vor 7 Jahren
xmss_commons.h Do not expose l_tree function vor 7 Jahren
xmss_core.c Change order of SK elements to match RFC vor 6 Jahren
xmss_core.h Allow more flexible parameter selection vor 6 Jahren
xmss_core_fast.c Change order of SK elements to match RFC vor 6 Jahren

README.md

XMSS reference code Build Status

This repository contains the reference implementation that accompanies RFC 8391: “XMSS: eXtended Merkle Signature Scheme”.

This reference implementation supports all parameter sets as defined in the RFC at run-time (specified by prefixing the public and private keys with a 32-bit oid). Implementations that want to use compile-time parameter sets can remove the struct xmss_params function parameter.

When using the current code base, please be careful, expect changes and watch this document for further documentation. In particular, xmss_core_fast.c is long due for a serious clean-up. While this will not change its public API or output, it may affect the storage format of the BDS state (i.e. part of the secret key).

Dependencies

For the SHA-2 hash functions (i.e. SHA-256 and SHA-512), we rely on OpenSSL. Make sure to install the OpenSSL development headers. On Debian-based systems, this is achieved by installing the OpenSSL development package libssl-dev.

License

This reference implementation was written by Andreas Hülsing and Joost Rijneveld. All included code is available under the CC0 1.0 Universal Public Domain Dedication.