/*
* SPDX - FileCopyrightText : 2025 Cryspen Sarl < info @ cryspen . com >
*
* SPDX - License - Identifier : MIT or Apache - 2 . 0
*
* This code was generated with the following revisions :
* Charon : 667 d2fc98984ff7f3df989c2367e6c1fa4a000e7
* Eurydice : 2381 cbc416ef2ad0b561c362c500bc84f36b6785
* Karamel : 80 f5435f2fc505973c469a4afcc8d875cddd0d8b
* F * : 71 d8221589d4d438af3706d89cb653cf53e18aab
* Libcrux : 68 dfed5a4a9e40277f62828471c029afed1ecdcc
*/
#ifndef libcrux_mlkem1024_H
#define libcrux_mlkem1024_H
#include "eurydice_glue.h"
#if defined (__cplusplus)
extern "C" {
#endif
#include "libcrux_core.h"
#define LIBCRUX_ML_KEM_MLKEM1024_VECTOR_U_COMPRESSION_FACTOR ((size_t)11 U)
#define LIBCRUX_ML_KEM_MLKEM1024_C1_BLOCK_SIZE \
(LIBCRUX_ML_KEM_CONSTANTS_COEFFICIENTS_IN_RING_ELEMENT * \
LIBCRUX_ML_KEM_MLKEM1024_VECTOR_U_COMPRESSION_FACTOR / (size_t)8 U)
#define LIBCRUX_ML_KEM_MLKEM1024_RANK ((size_t)4 U)
#define LIBCRUX_ML_KEM_MLKEM1024_C1_SIZE \
(LIBCRUX_ML_KEM_MLKEM1024_C1_BLOCK_SIZE * LIBCRUX_ML_KEM_MLKEM1024_RANK)
#define LIBCRUX_ML_KEM_MLKEM1024_VECTOR_V_COMPRESSION_FACTOR ((size_t)5 U)
#define LIBCRUX_ML_KEM_MLKEM1024_C2_SIZE \
(LIBCRUX_ML_KEM_CONSTANTS_COEFFICIENTS_IN_RING_ELEMENT * \
LIBCRUX_ML_KEM_MLKEM1024_VECTOR_V_COMPRESSION_FACTOR / (size_t)8 U)
#define LIBCRUX_ML_KEM_MLKEM1024_CPA_PKE_CIPHERTEXT_SIZE \
(LIBCRUX_ML_KEM_MLKEM1024_C1_SIZE + LIBCRUX_ML_KEM_MLKEM1024_C2_SIZE)
#define LIBCRUX_ML_KEM_MLKEM1024_T_AS_NTT_ENCODED_SIZE \
(LIBCRUX_ML_KEM_MLKEM1024_RANK * \
LIBCRUX_ML_KEM_CONSTANTS_COEFFICIENTS_IN_RING_ELEMENT * \
LIBCRUX_ML_KEM_CONSTANTS_BITS_PER_COEFFICIENT / (size_t)8 U)
#define LIBCRUX_ML_KEM_MLKEM1024_CPA_PKE_PUBLIC_KEY_SIZE \
(LIBCRUX_ML_KEM_MLKEM1024_T_AS_NTT_ENCODED_SIZE + (size_t)32 U)
#define LIBCRUX_ML_KEM_MLKEM1024_CPA_PKE_SECRET_KEY_SIZE \
(LIBCRUX_ML_KEM_MLKEM1024_RANK * \
LIBCRUX_ML_KEM_CONSTANTS_COEFFICIENTS_IN_RING_ELEMENT * \
LIBCRUX_ML_KEM_CONSTANTS_BITS_PER_COEFFICIENT / (size_t)8 U)
#define LIBCRUX_ML_KEM_MLKEM1024_ETA1 ((size_t)2 U)
#define LIBCRUX_ML_KEM_MLKEM1024_ETA1_RANDOMNESS_SIZE \
(LIBCRUX_ML_KEM_MLKEM1024_ETA1 * (size_t)64 U)
#define LIBCRUX_ML_KEM_MLKEM1024_ETA2 ((size_t)2 U)
#define LIBCRUX_ML_KEM_MLKEM1024_ETA2_RANDOMNESS_SIZE \
(LIBCRUX_ML_KEM_MLKEM1024_ETA2 * (size_t)64 U)
#define LIBCRUX_ML_KEM_MLKEM1024_IMPLICIT_REJECTION_HASH_INPUT_SIZE \
(LIBCRUX_ML_KEM_CONSTANTS_SHARED_SECRET_SIZE + \
LIBCRUX_ML_KEM_MLKEM1024_CPA_PKE_CIPHERTEXT_SIZE)
typedef libcrux_ml_kem_types_MlKemCiphertext_64
libcrux_ml_kem_mlkem1024_MlKem1024Ciphertext;
typedef libcrux_ml_kem_types_MlKemPrivateKey_83
libcrux_ml_kem_mlkem1024_MlKem1024PrivateKey;
typedef libcrux_ml_kem_types_MlKemPublicKey_64
libcrux_ml_kem_mlkem1024_MlKem1024PublicKey;
#define LIBCRUX_ML_KEM_MLKEM1024_RANKED_BYTES_PER_RING_ELEMENT \
(LIBCRUX_ML_KEM_MLKEM1024_RANK * \
LIBCRUX_ML_KEM_CONSTANTS_BITS_PER_RING_ELEMENT / (size_t)8 U)
#define LIBCRUX_ML_KEM_MLKEM1024_SECRET_KEY_SIZE \
(LIBCRUX_ML_KEM_MLKEM1024_CPA_PKE_SECRET_KEY_SIZE + \
LIBCRUX_ML_KEM_MLKEM1024_CPA_PKE_PUBLIC_KEY_SIZE + \
LIBCRUX_ML_KEM_CONSTANTS_H_DIGEST_SIZE + \
LIBCRUX_ML_KEM_CONSTANTS_SHARED_SECRET_SIZE)
#if defined (__cplusplus)
}
#endif
#define libcrux_mlkem1024_H_DEFINED
#endif /* libcrux_mlkem1024_H */
Messung V0.5 in Prozent C=98 H=100 G=98
¤ Dauer der Verarbeitung: 0.7 Sekunden
(vorverarbeitet am 2026-10-11)
¤
*© Formatika GbR, Deutschland