Botan 2.19.1
Crypto and TLS for C&
|
#include <xmss_hash.h>
Public Member Functions | |
void | f (secure_vector< uint8_t > &result, const secure_vector< uint8_t > &key, const secure_vector< uint8_t > &data) |
void | h (secure_vector< uint8_t > &result, const secure_vector< uint8_t > &key, const secure_vector< uint8_t > &data) |
secure_vector< uint8_t > | h_msg (const secure_vector< uint8_t > &randomness, const secure_vector< uint8_t > &root, const secure_vector< uint8_t > &index_bytes, const secure_vector< uint8_t > &data) |
secure_vector< uint8_t > | h_msg_final () |
void | h_msg_init (const secure_vector< uint8_t > &randomness, const secure_vector< uint8_t > &root, const secure_vector< uint8_t > &index_bytes) |
void | h_msg_update (const uint8_t data[], size_t size) |
size_t | output_length () const |
secure_vector< uint8_t > | prf (const secure_vector< uint8_t > &key, const secure_vector< uint8_t > &data) |
void | prf (secure_vector< uint8_t > &result, const secure_vector< uint8_t > &key, const secure_vector< uint8_t > &data) |
XMSS_Hash (const std::string &h_func_name) | |
XMSS_Hash (const XMSS_Hash &hash) | |
A collection of pseudorandom hash functions required for XMSS and WOTS computations.
Definition at line 21 of file xmss_hash.h.
Botan::XMSS_Hash::XMSS_Hash | ( | const std::string & | h_func_name | ) |
Definition at line 20 of file xmss_hash.cpp.
Botan::XMSS_Hash::XMSS_Hash | ( | const XMSS_Hash & | hash | ) |
Definition at line 15 of file xmss_hash.cpp.
|
inline |
F is a keyed cryptographic hash function used by the WOTS+ algorithm.
[out] | result | The hash calculated using key and data. |
[in] | key | key of length n bytes. |
[in] | data | string of arbitrary length. |
Definition at line 71 of file xmss_hash.h.
void Botan::XMSS_Hash::h | ( | secure_vector< uint8_t > & | result, |
const secure_vector< uint8_t > & | key, | ||
const secure_vector< uint8_t > & | data | ||
) |
Cryptographic hash function h accepting n byte keys and 2n byte strings of data.
[out] | result | The hash calculated using key and data. |
[in] | key | key of length n bytes. |
[in] | data | string of 2n bytes length. |
Definition at line 36 of file xmss_hash.cpp.
secure_vector< uint8_t > Botan::XMSS_Hash::h_msg | ( | const secure_vector< uint8_t > & | randomness, |
const secure_vector< uint8_t > & | root, | ||
const secure_vector< uint8_t > & | index_bytes, | ||
const secure_vector< uint8_t > & | data | ||
) |
Cryptographic hash function h accepting 3n byte keys and data strings of arbitrary length.
randomness | n-byte value. |
root | n-byte root node. |
index_bytes | Index value padded with leading zeros. |
data | string of arbitrary length. |
Definition at line 70 of file xmss_hash.cpp.
References h_msg_init().
secure_vector< uint8_t > Botan::XMSS_Hash::h_msg_final | ( | ) |
Finalizes buffered h_msg computation and retrieves the result.
Definition at line 64 of file xmss_hash.cpp.
Referenced by Botan::XMSS_Signature_Operation::sign().
void Botan::XMSS_Hash::h_msg_init | ( | const secure_vector< uint8_t > & | randomness, |
const secure_vector< uint8_t > & | root, | ||
const secure_vector< uint8_t > & | index_bytes | ||
) |
Initializes buffered h_msg computation with prefix data.
randomness | random n-byte value. |
root | n-byte root node. |
index_bytes | Index value padded with leading zeros. |
Definition at line 47 of file xmss_hash.cpp.
Referenced by h_msg().
void Botan::XMSS_Hash::h_msg_update | ( | const uint8_t | data[], |
size_t | size | ||
) |
Adds a message block to buffered h_msg computation.
data | A message block |
size | Length of the message block in bytes. |
Definition at line 59 of file xmss_hash.cpp.
Referenced by Botan::XMSS_Signature_Operation::update().
|
inline |
Definition at line 137 of file xmss_hash.h.
|
inline |
Pseudoranom function creating a hash out of a key and data using a cryptographic hash function.
[in] | key | An n-byte key value. |
[in] | data | A 32-byte XMSS_Address data value |
Definition at line 54 of file xmss_hash.h.
|
inline |
Pseudoranom function creating a hash out of a key and data using a cryptographic hash function.
[out] | result | The hash calculated using key and data. |
[in] | key | An n-byte key value. |
[in] | data | A 32-byte XMSS_Address data value |
Definition at line 35 of file xmss_hash.h.