Name Description Size
config.h 0
curve25519-inline.h 29414
eurydice_glue.h x is already at an array type, no need for cast 14909
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 54615
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. ***************************************************************************** 8494
Hacl_P521.c 59334
Hacl_P521.h Verified C library for ECDSA and ECDH functions over the P-521 NIST curve. This module implements signing and verification, key validation, conversions between various point representations, and ECDH key agreement. ***************************************************************************** 8520
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
libcrux_core.c Return 1 if `value` is not zero and 0 otherwise. 19812
libcrux_core.h A monomorphic instance of core.ops.range.Range with types size_t 5494
libcrux_mlkem_portable.c This function found in impl {(libcrux_ml_kem::vector::traits::Operations for libcrux_ml_kem::vector::portable::vector_type::PortableVector)} 376517
libcrux_mlkem_portable.h This function found in impl {(libcrux_ml_kem::vector::traits::Operations for libcrux_ml_kem::vector::portable::vector_type::PortableVector)} 23507
libcrux_mlkem768.h 3410
libcrux_mlkem768_portable.c Portable decapsulate 5705
libcrux_mlkem768_portable.h Decapsulate ML-KEM 768 Generates an [`MlKemSharedSecret`]. The input is a reference to an [`MlKem768PrivateKey`] and an [`MlKem768Ciphertext`]. 2014
libcrux_sha3.h A portable SHA3 512 implementation. 5098
libcrux_sha3_internal.h This function found in impl {(libcrux_sha3::traits::internal::KeccakItem<1: usize> for u64)} 107659
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