#noise

noise-protocol

Noise Protocol Framework implementation

7 releases

0.1.3 Apr 10, 2020
0.1.2 Apr 10, 2020
0.1.1 Oct 7, 2019
0.1.0 May 20, 2019
0.0.2 Feb 27, 2017

#625 in Cryptography

Download history 127/week @ 2022-06-02 114/week @ 2022-06-09 84/week @ 2022-06-16 74/week @ 2022-06-23 118/week @ 2022-06-30 92/week @ 2022-07-07 76/week @ 2022-07-14 73/week @ 2022-07-21 110/week @ 2022-07-28 156/week @ 2022-08-04 109/week @ 2022-08-11 150/week @ 2022-08-18 133/week @ 2022-08-25 63/week @ 2022-09-01 113/week @ 2022-09-08 142/week @ 2022-09-15

480 downloads per month
Used in 3 crates

Unlicense

47KB
1K SLoC

../README.md


lib.rs:

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.

Dependencies

~67KB