Name Description Size
config.h 0
curve25519-inline.h 29414
Hacl_Chacha20.c 7706
Hacl_Chacha20.h 1802
Hacl_Chacha20_Vec128.c 43855
Hacl_Chacha20_Vec128.h 1845
Hacl_Chacha20_Vec256.c 65595
Hacl_Chacha20_Vec256.h 1845
Hacl_Chacha20Poly1305_32.c 21574
Hacl_Chacha20Poly1305_32.h Encrypt a message `m` with key `k`. The arguments `k`, `n`, `aadlen`, and `aad` are same in encryption/decryption. Note: Encryption and decryption can be executed in-place, i.e., `m` and `cipher` can point to the same memory. @param k Pointer to 32 bytes of memory where the AEAD key is read from. @param n Pointer to 12 bytes of memory where the AEAD nonce is read from. @param aadlen Length of the associated data. @param aad Pointer to `aadlen` bytes of memory where the associated data is read from. @param mlen Length of the message. @param m Pointer to `mlen` bytes of memory where the message is read from. @param cipher Pointer to `mlen` bytes of memory where the ciphertext is written to. @param mac Pointer to 16 bytes of memory where the mac is written to. 3797
Hacl_Chacha20Poly1305_128.c 70201
Hacl_Chacha20Poly1305_128.h Encrypt a message `m` with key `k`. The arguments `k`, `n`, `aadlen`, and `aad` are same in encryption/decryption. Note: Encryption and decryption can be executed in-place, i.e., `m` and `cipher` can point to the same memory. @param k Pointer to 32 bytes of memory where the AEAD key is read from. @param n Pointer to 12 bytes of memory where the AEAD nonce is read from. @param aadlen Length of the associated data. @param aad Pointer to `aadlen` bytes of memory where the associated data is read from. @param mlen Length of the message. @param m Pointer to `mlen` bytes of memory where the message is read from. @param cipher Pointer to `mlen` bytes of memory where the ciphertext is written to. @param mac Pointer to 16 bytes of memory where the mac is written to. 3810
Hacl_Chacha20Poly1305_256.c 69988
Hacl_Chacha20Poly1305_256.h Encrypt a message `m` with key `k`. The arguments `k`, `n`, `aadlen`, and `aad` are same in encryption/decryption. Note: Encryption and decryption can be executed in-place, i.e., `m` and `cipher` can point to the same memory. @param k Pointer to 32 bytes of memory where the AEAD key is read from. @param n Pointer to 12 bytes of memory where the AEAD nonce is read from. @param aadlen Length of the associated data. @param aad Pointer to `aadlen` bytes of memory where the associated data is read from. @param mlen Length of the message. @param m Pointer to `mlen` bytes of memory where the message is read from. @param cipher Pointer to `mlen` bytes of memory where the ciphertext is written to. @param mac Pointer to 16 bytes of memory where the mac is written to. 3810
Hacl_Curve25519_51.c 12175
Hacl_Curve25519_51.h Compute the scalar multiple of a point. @param out Pointer to 32 bytes of memory, allocated by the caller, where the resulting point is written to. @param priv Pointer to 32 bytes of memory where the secret/private key is read from. @param pub Pointer to 32 bytes of memory where the public point is read from. 2772
Hacl_Curve25519_64.c 12922
Hacl_Curve25519_64.h Compute the scalar multiple of a point. @param out Pointer to 32 bytes of memory, allocated by the caller, where the resulting point is written to. @param priv Pointer to 32 bytes of memory where the secret/private key is read from. @param pub Pointer to 32 bytes of memory where the public point is read from. 2772
Hacl_Ed25519.c 70453
Hacl_Ed25519.h Verified C library for EdDSA signing and verification on the edwards25519 curve. ****************************************************************************** 4430
Hacl_Hash_SHA3.c 26882
Hacl_Hash_SHA3.h 3836
Hacl_IntTypes_Intrinsics.h 2762
Hacl_IntTypes_Intrinsics_128.h 2778
Hacl_Krmllib.h 2145
Hacl_P256.c 65315
Hacl_P256.h Verified C library for ECDSA and ECDH functions over the P-256 NIST curve. This module implements signing and verification, key validation, conversions between various point representations, and ECDH key agreement. ***************************************************************************** 8554
Hacl_P384.c Private key validation. The function returns `true` if a private key is valid and `false` otherwise. The argument `private_key` points to 48 bytes of valid memory, i.e., uint8_t[48]. The private key is valid: • 0 < `private_key` < the order of the curve 4793
Hacl_P384.h Verified C library for ECDSA and ECDH functions over the P-384 NIST curve. This module implements signing and verification, key validation, conversions between various point representations, and ECDH key agreement. ***************************************************************************** 2275
Hacl_P521.c Private key validation. The function returns `true` if a private key is valid and `false` otherwise. The argument `private_key` points to 66 bytes of valid memory, i.e., uint8_t[66]. The private key is valid: • 0 < `private_key` < the order of the curve 5035
Hacl_P521.h / /* Key validation 1891
Hacl_Poly1305_32.c 19009
Hacl_Poly1305_32.h 1993
Hacl_Poly1305_128.c 93046
Hacl_Poly1305_128.h 2143
Hacl_Poly1305_256.c 120385
Hacl_Poly1305_256.h 2143
Hacl_Streaming_Types.h 2674
internal
karamel
lib_intrinsics.h GCC versions prior to 5.5 incorrectly optimize certain intrinsics. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81300 CLANG versions prior to 5 crash on certain intrinsics. See https://bugs.llvm.org/show_bug.cgi?id=24943 2758
libintvector.h We include config.h here to ensure that the various feature-flags are properly brought into scope. Users can either run the configure script, or write a config.h themselves and put it under version control. 37259