Crate noise_protocol [] [src]

Rust implementation of the Noise Protocol Framework.

Typically, you use HandshakeState::new() or HandshakeStateBuilder to initialize a HandshakeState, then call write_message and read_message to complete the handshake. Once the handshake is completed, you call get_ciphers to get ciphers that you can use to encrypt/decrypt further messages.

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

Modules

patterns

Handshake patterns.

rand

Random number generator.

Structs

CipherState

A CipherState can encrypt and decrypt data.

HandshakeState

Noise handshake state.

HandshakeStateBuilder

Builder for HandshakeState.

Enums

NoiseError

Noise error type.

Traits

Cipher

An AEAD.

DH

A DH.

Hash

A hash function.

RandomGen

A random number generator.

U8Array

A trait for fixed size u8 array.