Crate noise_protocol
source ·Expand description
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
- Handshake patterns.
Structs
- A
CipherState
can encrypt and decrypt data. - Handshake error.
- Noise handshake state.
- Builder for
HandshakeState
.
Enums
- Handshake error kind.
Traits
- An AEAD.
- A DH.
- A hash function.
- A trait for fixed size u8 array.