Crate shs_core

Source
Expand description

Based on Duncan’s fantastic Scuttlebutt Protocol Guide (repo), which he graciously released into the public domain.

Modules§

client
messages
server

Structs§

ClientEphPublicKey
Client ephemeral public key (generated anew for each connection)
ClientEphSecretKey
Client ephemeral secret key
ClientPublicKey
Client long-term public key
ClientSecretKey
Client long-term secret key
ClientSignature
HandshakeOutcome
ServerEphPublicKey
Server ephemeral public key (generated anew for each connection)
ServerEphSecretKey
Server ephemeral secret key
ServerPublicKey
Server long-term public key; known to client prior to the handshake
ServerSecretKey
Server long-term secret key
SharedA
Shared Secret A (client and server ephemeral keys)
SharedB
Shared Secret B (client ephemeral key, server long-term key)
SharedC
Shared Secret C (client long-term key, server ephemeral key)

Enums§

HandshakeError

Functions§

client_to_server_key
Final shared key used to seal and open secret boxes (client to server)
server_to_client_key
Final shared key used to seal and open secret boxes (server to client)