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.
|
1220 |
info.txt |
|
458 |
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/
|
11389 |
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().
|
12567 |
xmss_common_ops.cpp |
|
2502 |
xmss_common_ops.h |
Operations shared by XMSS signature generation and verification operations.
|
3006 |
xmss_hash.cpp |
hash IDs are a single uint8_t |
1778 |
xmss_hash.h |
A collection of pseudorandom hash functions required for XMSS and WOTS
computations.
|
5587 |
xmss_index_registry.cpp |
|
2164 |
xmss_index_registry.h |
A registry for XMSS private keys, keeps track of the leaf index for
independend copies of the same key.
|
3331 |
xmss_parameters.cpp |
|
10290 |
xmss_parameters.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/
[2] Recommendation for Stateful Hash-Based Signature Schemes
NIST Special Publication 800-208
Release: October 2020.
https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-208.pdf
|
7856 |
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.
|
18768 |
xmss_publickey.cpp |
algorithm ID -- already consumed by `deserialize_xmss_oid()` |
5570 |
xmss_signature.cpp |
|
2460 |
xmss_signature.h |
Helper class for marshalling an XMSS signature
|
2945 |
xmss_signature_operation.cpp |
rng |
3835 |
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/
|
2683 |
xmss_tools.h |
Helper tools for low level byte operations required
for the XMSS implementation.
|
2795 |
xmss_verification_operation.cpp |
|
3953 |
xmss_verification_operation.h |
Provides signature verification capabilities for Extended Hash-Based
Signatures (XMSS).
|
2193 |
xmss_wots.cpp |
Algorithm 2: Chaining Function.
Takes an n-byte input string and transforms it into a the function
result iterating the cryptographic hash function "F" steps times on
the input x using the outputs of the PRNG "G".
This overload is used in multithreaded scenarios, where it is
required to provide seperate instances of XMSS_Hash to each
thread.
@param params The WOTS parameters to use
@param[out] result An n-byte input string, that will be transformed into
the chaining function result.
@param start_idx The start index.
@param steps A number of steps.
@param adrs An OTS Hash Address.
@param seed A seed.
@param hash Instance of XMSS_Hash, that may only by the thread
executing chain.
|
6249 |
xmss_wots.h |
A Winternitz One Time Signature public key for use with Extended Hash-Based
Signatures.
|
6519 |
xmss_wots_parameters.cpp |
|
4749 |