34#ifndef PROTOCORE_MLKEM_H
35#define PROTOCORE_MLKEM_H
44#define MLKEM768_EK_BYTES 1184
45#define MLKEM768_DK_BYTES 2400
46#define MLKEM768_CT_BYTES 1088
47#define MLKEM768_SS_BYTES 32
48#define MLKEM768_MSG_BYTES 32
49#define MLKEM768_D_BYTES 32
50#define MLKEM768_Z_BYTES 32
63void pc_mlkem768_keygen(
const uint8_t d[MLKEM768_D_BYTES],
const uint8_t z[MLKEM768_Z_BYTES],
64 uint8_t ek[MLKEM768_EK_BYTES], uint8_t dk[MLKEM768_DK_BYTES]);
78bool pc_mlkem768_encaps(
const uint8_t ek[MLKEM768_EK_BYTES],
const uint8_t m[MLKEM768_MSG_BYTES],
79 uint8_t ct[MLKEM768_CT_BYTES], uint8_t ss[MLKEM768_SS_BYTES]);
93void pc_mlkem768_decaps(
const uint8_t dk[MLKEM768_DK_BYTES],
const uint8_t ct[MLKEM768_CT_BYTES],
94 uint8_t ss[MLKEM768_SS_BYTES]);
User-facing configuration for ProtoCore.