Skip to main content

Module link_handshake

Module link_handshake 

Source
Expand description

The link handshake: a Noise KK exchange whose static keys are the two machines’ Lys identities, through lys-core’s X25519 derivation and never a second one (ACCESS-002 R1).

KK means each side knows the other’s static key before the first byte: the importer’s and exporter’s Lys-recorded Ed25519 keys, mapped to their Montgomery form. A third machine, whose static key is not the one the peer expected, fails at the first message; so does a key derived any other way from the same identity, because it is simply a different key.

Structs§

LinkHandshake
One end of a link handshake in progress.
LinkTransport
A keyed link between two proved machines.
LocalMachine
This machine, holding the Lys identity whose derivation keys the link.
MachineIdentity
A machine as Lys records it: its Ed25519 public key.

Enums§

LinkHandshakeError
Why a handshake did not complete.

Constants§

LINK_NOISE_PATTERN
The Noise pattern and primitives every link uses; both ends must agree.
NOISE_MAX_MESSAGE
The largest frame Noise carries.
NOISE_OVERHEAD
Bytes a handshake message or transport frame may need above its payload.