ssh_kex_kem.c
error_t sshGenerateExchangeHashSignature(SshConnection *connection, uint8_t *p, size_t *written)
Compute the signature on the exchange hash.
Definition: ssh_exchange_hash.c:274
error_t sshParseKexKemMessage(SshConnection *connection, uint8_t type, const uint8_t *message, size_t length)
Parse ML-KEM specific messages.
Definition: ssh_kex_kem.c:587
SSH host key verification.
void sshDumpKey(SshConnection *connection, const char_t *label, const uint8_t *key, size_t keyLen)
Dump secret key (for debugging purpose only)
Definition: ssh_key_material.c:1135
error_t sshVerifyServerHostKey(SshConnection *connection, const SshString *publicKeyAlgo, const SshBinaryString *hostKey)
Verify server's host key.
Definition: ssh_key_verify.c:172
error_t sshVerifyExchangeHashSignature(SshConnection *connection, const SshBinaryString *serverHostKey, const SshBinaryString *signature)
Verify the signature on the exchange hash.
Definition: ssh_exchange_hash.c:333
void kemInit(KemContext *context, const KemAlgo *kemAlgo)
Initialize KEM context.
Definition: kem.c:48
SSH transport layer protocol.
error_t sshUpdateExchangeHashRaw(SshConnection *connection, const void *data, size_t length)
Update exchange hash calculation (raw data)
Definition: ssh_exchange_hash.c:206
SSH certificate verification.
Pure post-quantum key exchange.
error_t kemEncapsulate(KemContext *context, const PrngAlgo *prngAlgo, void *prngContext, uint8_t *ct, uint8_t *ss)
Encapsulation algorithm.
Definition: kem.c:209
error_t sshSendPacket(SshConnection *connection, uint8_t *payload, size_t payloadLen)
Send SSH packet.
Definition: ssh_packet.c:57
bool_t sshIsCertPublicKeyAlgo(const SshString *publicKeyAlgo)
Test if the specified public key algorithm is using certificates.
Definition: ssh_algorithms.c:1644
error_t sshSendNewKeys(SshConnection *connection)
Send SSH_MSG_NEWKEYS message.
Definition: ssh_kex.c:204
error_t sshSelectKemAlgo(SshConnection *connection)
Select key encapsulation mechanism.
Definition: ssh_kex_kem.c:645
Key material generation.
bool_t sshCompareAlgo(const char_t *name1, const char_t *name2)
Compare algorithm names.
Definition: ssh_misc.c:1758
error_t sshVerifyServerCertificate(SshConnection *connection, const SshString *publicKeyAlgo, const SshBinaryString *hostKey)
Verify server's certificate.
Definition: ssh_cert_verify.c:158
error_t sshParseKexKemReply(SshConnection *connection, const uint8_t *message, size_t length)
Parse SSH_MSG_KEX_KEM_REPLY message.
Definition: ssh_kex_kem.c:411
SSH key exchange.
error_t sshParseKexKemInit(SshConnection *connection, const uint8_t *message, size_t length)
Parse SSH_MSG_KEX_KEM_INIT message.
Definition: ssh_kex_kem.c:324
error_t sshFormatKexKemInit(SshConnection *connection, uint8_t *p, size_t *length)
Format SSH_MSG_KEX_KEM_INIT message.
Definition: ssh_kex_kem.c:171
Exchange hash calculation.
error_t kemGenerateKeyPair(KemContext *context, const PrngAlgo *prngAlgo, void *prngContext)
Key pair generation.
Definition: kem.c:100
error_t kemLoadPublicKey(KemContext *context, const uint8_t *pk)
Load public key.
Definition: kem.c:160
error_t kemDecapsulate(KemContext *context, const uint8_t *ct, uint8_t *ss)
Decapsulation algorithm.
Definition: kem.c:240
SSH helper functions.
error_t sshFormatHostKey(SshConnection *connection, uint8_t *p, size_t *written)
Format host key structure.
Definition: ssh_misc.c:875
error_t sshSendKexKemReply(SshConnection *connection)
Send SSH_MSG_KEX_KEM_REPLY message.
Definition: ssh_kex_kem.c:123
SSH packet encryption/decryption.
error_t sshUpdateExchangeHash(SshConnection *connection, const void *data, size_t length)
Update exchange hash calculation.
Definition: ssh_exchange_hash.c:167
error_t sshParseBinaryString(const uint8_t *p, size_t length, SshBinaryString *string)
Parse a binary string.
Definition: ssh_misc.c:1215
error_t sshSendKexKemInit(SshConnection *connection)
Send SSH_MSG_KEX_KEM_INIT message.
Definition: ssh_kex_kem.c:58
Secure Shell (SSH)
SSH algorithm negotiation.
error_t sshFormatKexKemReply(SshConnection *connection, uint8_t *p, size_t *length)
Format SSH_MSG_KEX_KEM_REPLY message.
Definition: ssh_kex_kem.c:215
Debugging facilities.
