|
Botan
2.13.0
Crypto and TLS for C++11
|
#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 |
| void | prf (secure_vector< uint8_t > &result, const secure_vector< uint8_t > &key, const secure_vector< uint8_t > &data) |
| secure_vector< uint8_t > | prf (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.
References BOTAN_ASSERT.
| 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.
Referenced by Botan::XMSS_WOTS_PublicKey::chain().
| 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.
Referenced by Botan::XMSS_WOTS_PrivateKey::at(), and Botan::XMSS_Common_Ops::randomize_tree_hash().
| 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.
Referenced by Botan::XMSS_WOTS_PublicKey::chain().
|
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.
Referenced by Botan::XMSS_WOTS_PrivateKey::at(), Botan::XMSS_WOTS_PublicKey::chain(), and Botan::XMSS_Common_Ops::randomize_tree_hash().
|
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.
1.8.9.1