Lines Matching refs:kex
101 struct kex *kex = ssh->kex; in kex_gen_client() local
104 switch (kex->kex_type) { in kex_gen_client()
111 r = kex_dh_keypair(kex); in kex_gen_client()
114 r = kex_ecdh_keypair(kex); in kex_gen_client()
118 r = kex_c25519_keypair(kex); in kex_gen_client()
121 r = kex_kem_sntrup761x25519_keypair(kex); in kex_gen_client()
124 r = kex_kem_mlkem768x25519_keypair(kex); in kex_gen_client()
133 (r = sshpkt_put_stringb(ssh, kex->client_pub)) != 0 || in kex_gen_client()
144 struct kex *kex = ssh->kex; in input_kex_gen_reply() local
178 switch (kex->kex_type) { in input_kex_gen_reply()
185 r = kex_dh_dec(kex, server_blob, &shared_secret); in input_kex_gen_reply()
188 r = kex_ecdh_dec(kex, server_blob, &shared_secret); in input_kex_gen_reply()
192 r = kex_c25519_dec(kex, server_blob, &shared_secret); in input_kex_gen_reply()
195 r = kex_kem_sntrup761x25519_dec(kex, server_blob, in input_kex_gen_reply()
199 r = kex_kem_mlkem768x25519_dec(kex, server_blob, in input_kex_gen_reply()
212 kex->hash_alg, in input_kex_gen_reply()
213 kex->client_version, in input_kex_gen_reply()
214 kex->server_version, in input_kex_gen_reply()
215 kex->my, in input_kex_gen_reply()
216 kex->peer, in input_kex_gen_reply()
218 kex->client_pub, in input_kex_gen_reply()
225 kex->hostkey_alg, ssh->compat, NULL)) != 0) in input_kex_gen_reply()
233 if ((kex->flags & KEX_INITIAL) != 0) { in input_kex_gen_reply()
234 if (kex->initial_hostkey != NULL || kex->initial_sig != NULL) { in input_kex_gen_reply()
238 if ((kex->initial_sig = sshbuf_new()) == NULL) { in input_kex_gen_reply()
242 if ((r = sshbuf_put(kex->initial_sig, signature, slen)) != 0) in input_kex_gen_reply()
244 kex->initial_hostkey = server_host_key; in input_kex_gen_reply()
250 explicit_bzero(kex->c25519_client_key, sizeof(kex->c25519_client_key)); in input_kex_gen_reply()
251 explicit_bzero(kex->sntrup761_client_key, in input_kex_gen_reply()
252 sizeof(kex->sntrup761_client_key)); in input_kex_gen_reply()
253 explicit_bzero(kex->mlkem768_client_key, in input_kex_gen_reply()
254 sizeof(kex->mlkem768_client_key)); in input_kex_gen_reply()
261 sshbuf_free(kex->client_pub); in input_kex_gen_reply()
262 kex->client_pub = NULL; in input_kex_gen_reply()
277 struct kex *kex = ssh->kex; in input_kex_gen_init() local
299 switch (kex->kex_type) { in input_kex_gen_init()
306 r = kex_dh_enc(kex, client_pubkey, &server_pubkey, in input_kex_gen_init()
310 r = kex_ecdh_enc(kex, client_pubkey, &server_pubkey, in input_kex_gen_init()
315 r = kex_c25519_enc(kex, client_pubkey, &server_pubkey, in input_kex_gen_init()
319 r = kex_kem_sntrup761x25519_enc(kex, client_pubkey, in input_kex_gen_init()
323 r = kex_kem_mlkem768x25519_enc(kex, client_pubkey, in input_kex_gen_init()
342 kex->hash_alg, in input_kex_gen_init()
343 kex->client_version, in input_kex_gen_init()
344 kex->server_version, in input_kex_gen_init()
345 kex->peer, in input_kex_gen_init()
346 kex->my, in input_kex_gen_init()
355 if ((r = kex->sign(ssh, server_host_private, server_host_public, in input_kex_gen_init()
356 &signature, &slen, hash, hashlen, kex->hostkey_alg)) != 0) in input_kex_gen_init()
371 if (kex->initial_hostkey == NULL && in input_kex_gen_init()
373 &kex->initial_hostkey)) != 0) in input_kex_gen_init()