atomic.h |
Simple helper class to expand std::atomic with copy constructor and copy
assignment operator, i.e. for use as element in a container like
std::vector. The construction of instances of this wrapper is NOT atomic
and needs to be properly guarded.
|
1217 |
info.txt |
|
586 |
xmss.h |
An XMSS: Extended Hash-Based Signature public key.
[1] XMSS: Extended Hash-Based Signatures,
Request for Comments: 8391
Release: May 2018.
https://datatracker.ietf.org/doc/rfc8391/
|
14577 |
xmss_address.h |
Generic XMSS Address type holding 256 Bits of data. Properties
of all three address formats L-Tree-Address, Hash-Tree-Address,
OTS-Hash-Address can be called depending on the type currently
assigned to the XMSS address using set_type().
|
13549 |
xmss_common_ops.cpp |
|
2432 |
xmss_common_ops.h |
Operations shared by XMSS signature generation and verification operations.
|
2864 |
xmss_hash.cpp |
|
2159 |
xmss_hash.h |
A collection of pseudorandom hash functions required for XMSS and WOTS
computations.
|
5091 |
xmss_index_registry.cpp |
|
2149 |
xmss_index_registry.h |
A registry for XMSS private keys, keeps track of the leaf index for
independend copies of the same key.
|
3442 |
xmss_key_pair.h |
A pair of XMSS public and private key.
|
1262 |
xmss_parameters.cpp |
|
5836 |
xmss_parameters.h |
Descibes a signature method for XMSS, as defined in:
[1] XMSS: Extended Hash-Based Signatures,
Request for Comments: 8391
Release: May 2018.
https://datatracker.ietf.org/doc/rfc8391/
|
2999 |
xmss_privatekey.cpp |
The code requires sizeof(size_t) >= ceil(tree_height / 8)
Maximum supported tree height is 20, ceil(20/8) == 3, so 4 byte
size_t is sufficient for all defined parameters, or even a
(hypothetical) tree height 32, which would be extremely slow to
compute.
|
14132 |
xmss_privatekey.h |
|
267 |
xmss_publickey.cpp |
|
3815 |
xmss_publickey.h |
|
265 |
xmss_signature.cpp |
|
2698 |
xmss_signature.h |
Creates a signature from an XMSS signature method and a uint8_t sequence
representing a raw signature.
@param oid XMSS signature method
@param raw_sig An XMSS signature serialized using
XMSS_Signature::bytes().
|
3757 |
xmss_signature_operation.cpp |
|
3669 |
xmss_signature_operation.h |
Signature generation operation for Extended Hash-Based Signatures (XMSS) as
defined in:
[1] XMSS: Extended Hash-Based Signatures,
Request for Comments: 8391
Release: May 2018.
https://datatracker.ietf.org/doc/rfc8391/
|
2528 |
xmss_tools.h |
Helper tools for low level byte operations required
for the XMSS implementation.
|
3105 |
xmss_verification_operation.cpp |
|
4788 |
xmss_verification_operation.h |
Provides signature verification capabilities for Extended Hash-Based
Signatures (XMSS).
|
2043 |
xmss_wots.h |
Descibes a signature method for XMSS Winternitz One Time Signatures,
as defined in:
[1] XMSS: Extended Hash-Based Signatures,
Request for Comments: 8391
Release: May 2018.
https://datatracker.ietf.org/doc/rfc8391/
|
25956 |
xmss_wots_addressed_privatekey.h |
Wrapper class to pair an XMSS_WOTS_PrivateKey with an XMSS Address. Since
the PK_Ops::Signature interface does not allow an extra address
parameter to be passed to the sign(RandomNumberGenerator&), the address
needs to be stored together with the key and passed to the
XMSS_WOTS_Signature_Operation() on creation.
|
2307 |
xmss_wots_addressed_publickey.h |
Wrapper class to pair a XMSS_WOTS_PublicKey with an XMSS Address. Since
the PK_Ops::Verification interface does not allow an extra address
parameter to be passed to the sign(RandomNumberGenerator&), the address
needs to be stored together with the key and passed to the
XMSS_WOTS_Verification_Operation() on creation.
|
2858 |
xmss_wots_parameters.cpp |
|
3818 |
xmss_wots_parameters.h |
|
306 |
xmss_wots_privatekey.cpp |
|
2888 |
xmss_wots_privatekey.h |
|
303 |
xmss_wots_publickey.cpp |
|
2116 |
xmss_wots_publickey.h |
|
303 |