Hash#

EverCrypt provides multiple hash algorithms, i.e., …

  • Blake2B,

  • Blake2S,

  • SHA2-224,

  • SHA2-256,

  • SHA2-384,

  • SHA2-512,

  • SHA1, and

  • MD5

… via a unified interface.

Typedefs#

Warning

doxygentypedef: Cannot find typedef “Hacl_Streaming_Functor_state_s___EverCrypt_Hash_state_s____” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

State to hold incremental state.

Warning

doxygentypedef: Cannot find typedef “EverCrypt_Hash_alg” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Spec_Hash_Definitions_SHA2_224#
Spec_Hash_Definitions_SHA2_256#
Spec_Hash_Definitions_SHA2_384#
Spec_Hash_Definitions_SHA2_512#
Spec_Hash_Definitions_SHA1#
Spec_Hash_Definitions_MD5#
Spec_Hash_Definitions_Blake2S#
Spec_Hash_Definitions_Blake2B#

Warning

doxygentypedef: Cannot find typedef “EverCrypt_Hash_broken_alg” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygentypedef: Cannot find typedef “EverCrypt_Hash_alg13” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygentypedef: Cannot find typedef “EverCrypt_Hash_e_alg” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

typedef struct EverCrypt_Hash_state_s_s EverCrypt_Hash_state_s#

Warning

doxygentypedef: Cannot find typedef “EverCrypt_Hash_state” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygentypedef: Cannot find typedef “EverCrypt_Hash_Incremental_state” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Functions#

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_hash” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

a Algorithm to use. dst Pointer to digest. input Pointer to message. len Length of message.


Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_Incremental_create_in” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Create a hash state.

a Algorithm to use.

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_Incremental_init” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Initialize hash state).

s The hash state.

EverCrypt_Error_error_code EverCrypt_Hash_Incremental_update(EverCrypt_Hash_Incremental_state_t *state, uint8_t *chunk, uint32_t chunk_len)#

Feed an arbitrary amount of data into the hash. This function returns EverCrypt_Error_Success for success, or EverCrypt_Error_MaximumLengthExceeded if the combined length of all of the data passed to update (since the last call to init) exceeds 2^61-1 bytes or 2^64-1 bytes, depending on the choice of algorithm. Both limits are unlikely to be attained in practice.

Feed the next chunk of the message that will be hashed.

p The hash state. data Pointer to the next chunk of the message that will be hashed. len Length of the next chunk of the message that will be hashed.

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_Incremental_finish” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Finish the hash calculation and write the digest to dst.

s The hash state. dst Pointer to digest.

void EverCrypt_Hash_Incremental_free(EverCrypt_Hash_Incremental_state_t *state)#

Free a state previously allocated with create_in.

Cleanup the hash state.

s The hash state.


Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_string_of_alg” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_uu___is_MD5_s” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_uu___is_SHA1_s” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_uu___is_SHA2_224_s” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_uu___is_SHA2_256_s” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_uu___is_SHA2_384_s” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_uu___is_SHA2_512_s” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_uu___is_Blake2S_s” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_uu___is_Blake2S_128_s” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_uu___is_Blake2B_s” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_uu___is_Blake2B_256_s” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_alg_of_state” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_create_in” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_create” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_init” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_update_multi_256” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_update” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_update_multi” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_update_last_256” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_update_last” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_finish” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_free” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_copy” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_hash_256” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_hash_224” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

uint32_t EverCrypt_Hash_Incremental_hash_len(Spec_Hash_Definitions_hash_alg a)#

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_Incremental_block_len” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_Incremental_finish_md5” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_Incremental_finish_sha1” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_Incremental_finish_sha224” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_Incremental_finish_sha256” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_Incremental_finish_sha384” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_Incremental_finish_sha512” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_Incremental_finish_blake2s” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Warning

doxygenfunction: Cannot find function “EverCrypt_Hash_Incremental_finish_blake2b” in doxygen xml output for project “HACL Packages” from directory: ../../build/doxygen/xml/

Spec_Hash_Definitions_hash_alg EverCrypt_Hash_Incremental_alg_of_state(EverCrypt_Hash_Incremental_state_t *s)#

Perform a run-time test to determine which algorithm was chosen for the given piece of state.