Joost Rijneveld 51790b9d57 | há 7 anos | |
---|---|---|
test | há 7 anos | |
ui | há 7 anos | |
.gitignore | há 7 anos | |
.travis.yml | há 7 anos | |
LICENSE | há 7 anos | |
Makefile | há 7 anos | |
README.md | há 7 anos | |
fips202.c | há 7 anos | |
fips202.h | há 7 anos | |
hash.c | há 7 anos | |
hash.h | há 7 anos | |
hash_address.c | há 7 anos | |
hash_address.h | há 7 anos | |
params.c | há 7 anos | |
params.h | há 7 anos | |
randombytes.c | há 7 anos | |
randombytes.h | há 7 anos | |
utils.c | há 7 anos | |
utils.h | há 7 anos | |
wots.c | há 7 anos | |
wots.h | há 7 anos | |
xmss.c | há 7 anos | |
xmss.h | há 7 anos | |
xmss_commons.c | há 7 anos | |
xmss_commons.h | há 7 anos | |
xmss_core.c | há 7 anos | |
xmss_core.h | há 7 anos | |
xmss_core_fast.c | há 7 anos |
This repository contains the reference implementation that accompanies the Internet Draft “XMSS: Extended Hash-Based Signatures”, draft-irtf-cfrg-xmss-hash-based-signatures
.
This reference implementation supports all parameter sets as defined in the Draft 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).
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
.
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.