26#include "libssh/crypto.h"
27#include "libssh/libssh.h"
28#include "libssh/session.h"
38 size_t ciphertext_size;
39#ifdef HAVE_GCRYPT_MLKEM
41 enum gcry_kem_algos alg;
42#elif defined(HAVE_OPENSSL_MLKEM)
54#define MLKEM_SHARED_SECRET_SIZE 32
56typedef unsigned char ssh_mlkem_shared_secret[MLKEM_SHARED_SECRET_SIZE];
59kex_type_to_mlkem_info(
enum ssh_key_exchange_e kex_type);
61int ssh_mlkem_init(ssh_session session);
63int ssh_mlkem_encapsulate(ssh_session session,
64 ssh_mlkem_shared_secret shared_secret);
66int ssh_mlkem_decapsulate(
const ssh_session session,
67 ssh_mlkem_shared_secret shared_secret);