Crate kuska_handshake[][src]

Re-exports

pub extern crate sodiumoxide;

Modules

Structs

The transport agnostic boxstream receiving side.

The transport agnostic boxstream sending side.

The client/server state reached when a handshake has been performed.

The Handshake type maintains the different states that happen in each step of the handshake, allowing it to advance to completion.

The initialization data of a handshake that exists in every state of the handshake.

Type used to group all the values obtained during a successful handshake that can be used to stablish a secure authenticated channel.

The header of a message in the boxstream.

A pair of key and nonce used for encryption/decryption of every message in the boxstream.

The server state that can receive the client auth.

The server state that can receive the client hello.

The client state that can receive the server accept.

The client state that can receive the server hello.

The client state that can send the client auth.

The client state that can send the client hello.

The server state that can send the server accept.

The server state that can send the server hello.

The shared secret obtained after a successful handshake.

Enums

Result of a successful decryption within a boxstream.

Helper type used to define the kind of public key in a scalar multiplication. Used to define scalar multiplication errors.

Helper type used to define the kind of private key in a scalar multiplication. Used to define scalar multiplication errors.

Constants

Size of the client auth message.

Size of the client hello message.

Max length of encrypted body (with MAC detached)

Length of decrypted header (body_len || enc_body_mac)

Length of encrypted header (with MAC prefixed)

Size of the server accept message.

Size of the server hello message.

Traits

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