|
ProtoCore v1.0.16
Deterministic, zero-heap network stack for embedded targets
|
One key-exchange digest that dispatches SHA-256 or SHA-512 by the negotiated method. More...
#include "protocore_config.h"Go to the source code of this file.
Classes | |
| struct | SshKexHashInitArgs |
| Which of the two KEX hashes the negotiated method binds a digest to. More... | |
| struct | SshKexHashUpdateArgs |
| The bytes absorbed. More... | |
| struct | SshKexHashFinalArgs |
| Where the digest lands. More... | |
| struct | SshKexHashVars |
| struct | SshKexHashNs |
| The entries. More... | |
Macros | |
| #define | SSH_KEXHASH_MAX_LEN 64 |
| Longest exchange hash / session_id the two KEX hashes produce (SHA-512). | |
Functions | |
| void | protocore_ssh_kex_hash_init (uint8_t *work) |
| void | protocore_ssh_kex_hash_update (uint8_t *work) |
| void | protocore_ssh_kex_hash_final (uint8_t *work) |
Variables | |
| SshKexHashVars | SshKexHashV |
| The operands and the outcome. | |
One key-exchange digest that dispatches SHA-256 or SHA-512 by the negotiated method.
RFC 4253 sec 8 ties the exchange hash H (and the sec 7.2 key derivation) to the KEX method's hash: the -sha256 methods (curve25519-sha256, ecdh-sha2-nistp256, dh-group14-sha256, mlkem768x25519-sha256) use SHA-256; -sha512 methods (sntru.nosp@m.p761.nosp@m.x2551.nosp@m.9-sh.nosp@m.a512@.nosp@m.open.nosp@m.ssh.c.nosp@m.om) use SHA-512. Rather than fork every hash site, the exchange hash and the KDF run through this one namespace, so adding a KEX with a different hash is a one-line change and not a new code path.
Definition in file ssh_kexhash.h.
| #define SSH_KEXHASH_MAX_LEN 64 |
Longest exchange hash / session_id the two KEX hashes produce (SHA-512).
Definition at line 26 of file ssh_kexhash.h.
| void protocore_ssh_kex_hash_init | ( | uint8_t * | work | ) |
| void protocore_ssh_kex_hash_update | ( | uint8_t * | work | ) |
| void protocore_ssh_kex_hash_final | ( | uint8_t * | work | ) |
|
extern |
The operands and the outcome.