19#include "crypt_types.h"
20#include "bsl_params.h"
25CRYPT_ML_KEM_Ctx *CRYPT_ML_KEM_NewCtx(
void);
27CRYPT_ML_KEM_Ctx *CRYPT_ML_KEM_NewCtxEx(
void *libCtx);
29void CRYPT_ML_KEM_FreeCtx(CRYPT_ML_KEM_Ctx *ctx);
31CRYPT_ML_KEM_Ctx *CRYPT_ML_KEM_DupCtx(CRYPT_ML_KEM_Ctx *ctx);
33int32_t CRYPT_ML_KEM_Ctrl(CRYPT_ML_KEM_Ctx *ctx, int32_t opt,
void *val, uint32_t len);
35int32_t CRYPT_ML_KEM_GenKey(CRYPT_ML_KEM_Ctx *ctx);
45int32_t CRYPT_ML_KEM_SetEncapsKeyEx(CRYPT_ML_KEM_Ctx *ctx,
const BSL_Param *para);
47int32_t CRYPT_ML_KEM_GetEncapsKeyEx(
const CRYPT_ML_KEM_Ctx *ctx, BSL_Param *para);
49int32_t CRYPT_ML_KEM_SetDecapsKeyEx(CRYPT_ML_KEM_Ctx *ctx,
const BSL_Param *para);
51int32_t CRYPT_ML_KEM_GetDecapsKeyEx(
const CRYPT_ML_KEM_Ctx *ctx, BSL_Param *para);
53#ifdef HITLS_CRYPTO_MLKEM_CMP
54int32_t CRYPT_ML_KEM_Cmp(
const CRYPT_ML_KEM_Ctx *a,
const CRYPT_ML_KEM_Ctx *b);
56#define CRYPT_ML_KEM_Cmp NULL
59int32_t CRYPT_ML_KEM_Encaps(CRYPT_ML_KEM_Ctx *ctx, uint8_t *cipher, uint32_t *cipherLen,
60 uint8_t *share, uint32_t *shareLen);
62int32_t CRYPT_ML_KEM_Decaps(CRYPT_ML_KEM_Ctx *ctx, uint8_t *cipher, uint32_t cipherLen,
63 uint8_t *share, uint32_t *shareLen);
65int32_t CRYPT_ML_KEM_PrvKeyValidCheck(CRYPT_ML_KEM_Ctx *ctx);
66#ifdef HITLS_CRYPTO_MLKEM_CHECK
79int32_t CRYPT_ML_KEM_Check(uint32_t checkType, CRYPT_ML_KEM_Ctx *pkey1, CRYPT_ML_KEM_Ctx *pkey2);
CRYPT_Data CRYPT_KemEncapsKey
定义 crypt_types.h:456
CRYPT_Data CRYPT_KemDecapsKey
定义 crypt_types.h:317