Crate kuska_handshake

Crate kuska_handshake 

Source

Re-exports§

pub extern crate sodiumoxide;

Modules§

utils

Structs§

BoxStreamRecv
The transport agnostic boxstream receiving side.
BoxStreamSend
The transport agnostic boxstream sending side.
Complete
The client/server state reached when a handshake has been performed.
Handshake
The Handshake type maintains the different states that happen in each step of the handshake, allowing it to advance to completion.
HandshakeBase
The initialization data of a handshake that exists in every state of the handshake.
HandshakeComplete
Type used to group all the values obtained during a successful handshake that can be used to stablish a secure authenticated channel.
Header
The header of a message in the boxstream.
KeyNonce
A pair of key and nonce used for encryption/decryption of every message in the boxstream.
RecvClientAuth
The server state that can receive the client auth.
RecvClientHello
The server state that can receive the client hello.
RecvServerAccept
The client state that can receive the server accept.
RecvServerHello
The client state that can receive the server hello.
SendClientAuth
The client state that can send the client auth.
SendClientHello
The client state that can send the client hello.
SendServerAccept
The server state that can send the server accept.
SendServerHello
The server state that can send the server hello.
SharedSecret
The shared secret obtained after a successful handshake.
SharedSecretPartial

Enums§

Decrypted
Result of a successful decryption within a boxstream.
ScalarMultPk
Helper type used to define the kind of public key in a scalar multiplication. Used to define scalar multiplication errors.
ScalarMultSk
Helper type used to define the kind of private key in a scalar multiplication. Used to define scalar multiplication errors.

Constants§

CLIENT_AUTH_BYTES
Size of the client auth message.
CLIENT_HELLO_BYTES
Size of the client hello message.
MSG_BODY_MAX_LEN
Max length of encrypted body (with MAC detached)
MSG_HEADER_DEC_LEN
Length of decrypted header (body_len || enc_body_mac)
MSG_HEADER_LEN
Length of encrypted header (with MAC prefixed)
SERVER_ACCEPT_BYTES
Size of the server accept message.
SERVER_HELLO_BYTES
Size of the server hello message.

Traits§

State
The State trait is used to implement the typestate pattern for the Handshake.