[][src]Crate noise_protocol

Rust implementation of the Noise Protocol Framework.

Basic Usage

Initialize a HandshakeState with HandshakeState::new or HandshakeStateBuilder, call HandshakeState::write_message and HandshakeState::read_message to complete the handshake, and finally call HandshakeState::get_ciphers to get a pair of CipherState to encrypt/decrypt further transport messages.

Crypto Primitives

This crate only contains an abstract implementation of the protocol. Concrete implementations of the crypto primitives, wrapping around some popular libraries, are provided in sibling crates, e.g., noise-ring, noise-sodiumoxide and noise-rust-crypto.

Other implementations of the crypto primitives can be easily plugged in by implementing the DH, Cipher and Hash traits.

Modules

patterns

Handshake patterns.

Structs

CipherState

A CipherState can encrypt and decrypt data.

Error

Handshake error.

HandshakeState

Noise handshake state.

HandshakeStateBuilder

Builder for HandshakeState.

Enums

ErrorKind

Handshake error kind.

Traits

Cipher

An AEAD.

DH

A DH.

Hash

A hash function.

U8Array

A trait for fixed size u8 array.