27#ifndef OCRYPTO_ML_KEM1024_H
28#define OCRYPTO_ML_KEM1024_H
43#define ocrypto_ml_kem1024_SK_SIZE ((4 * 384) + (4 * 384 + 32) + 64)
48#define ocrypto_ml_kem1024_PK_SIZE (4 * 384 + 32)
53#define ocrypto_ml_kem1024_CT_SIZE ((4 * 11 + 5) * 32)
58 ocrypto_sha3_ctx sha3;
62} ocrypto_ml_kem1024_ctx;
76 ocrypto_ml_kem1024_ctx *ctx,
101 ocrypto_ml_kem1024_ctx *ctx,
105 const uint8_t m[32]);
116 ocrypto_ml_kem1024_ctx *ctx,
#define ocrypto_ml_kem1024_PK_SIZE
Definition ocrypto_ml_kem1024.h:48
#define ocrypto_ml_kem1024_SK_SIZE
Definition ocrypto_ml_kem1024.h:43
void ocrypto_ml_kem1024_key_pair(ocrypto_ml_kem1024_ctx *ctx, uint8_t sk[((4 *384)+(4 *384+32)+64)], uint8_t pk[(4 *384+32)], const uint8_t d[32], const uint8_t z[32])
int ocrypto_ml_kem1024_check_key(const uint8_t pk[(4 *384+32)])
void ocrypto_ml_kem1024_encaps(ocrypto_ml_kem1024_ctx *ctx, uint8_t key[32], uint8_t ct[((4 *11+5) *32)], const uint8_t pk[(4 *384+32)], const uint8_t m[32])
#define ocrypto_ml_kem1024_CT_SIZE
Definition ocrypto_ml_kem1024.h:53
void ocrypto_ml_kem1024_decaps(ocrypto_ml_kem1024_ctx *ctx, uint8_t key[32], const uint8_t sk[((4 *384)+(4 *384+32)+64)], const uint8_t ct[((4 *11+5) *32)])
SHA3 algorithms, with 224, 256, 384 and 512 bit outputs.