Hacl_star.EverCryptSourceThis module exposes the EverCrypt cryptographic provider, which offers agile and multiplexing interfaces for HACL* primitives.
bytes is ultimately an alias for Stdlib.Bytes.t, the type of buffers currently used throughout the library
Algorithms for AEAD (authenticated encryption with additional data)
Agile, multiplexing AEAD interface exposing AES128-GCM, AES256-GCM, and Chacha20-Poly1305
Multiplexing interface for Chacha20-Poly1305
Algorithms for digital signatures and key agreement
Multiplexing interface for ECDH using Curve25519
This interface does not yet support multiplexing and is identical to the one in Hacl.Ed25519
Agile, multiplexing hashing interface, exposing 4 variants of SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512), BLAKE2, and 2 legacy algorithms (SHA-1, MD5). It offers both direct hashing and a streaming interface.
Multiplexing interfaces for SHA-224 and SHA-256 which use Intel SHA extensions when available.
Direct hashing with SHA-224
Direct hashing with SHA-256
Message authentication codes
Portable HMAC implementations. They can use optimised assembly implementations for the underlying hash function, if such an implementation exists and Intel SHA extensions are available (see SHA-2).
Non-agile, multiplexing interfaces for each version of HMAC are also available.
Multiplexing interface for HMAC-SHA-256
Multiplexing interface for HMAC-SHA-384
Multiplexing interface for HMAC-SHA-512
Multiplexing interface for Poly1305
HMAC-based key derivation function
Portable HKDF implementations. They can use optimised assembly implementations for the underlying hash function, if such an implementation exists and Intel SHA extensions are available (see SHA-2).
Multiplexing interface for HKDF using SHA2-256
Multiplexing interface for HKDF using SHA2-384
Multiplexing interface for HKDF using SHA2-512
Deterministic random bit generator