cl-noise-protocol 0.2.0

Noise Protocol Framework implementation.
Documentation
  • Coverage
  • 100%
    104 out of 104 items documented0 out of 0 items with examples
  • Size
  • Source code size: 50.59 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 6.55 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • blckngm/noise-rust
    71 19 3
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • conradludgate

Noise-Rust

Crates.io Docs.rs

Implementation of the Noise Protocol Framework in Rust.

Status

Revision 34 is implemented.

Test vectors from cacophony and snow are successfully verified.

Philosophy

  • Simple: straightforward implementation, small amount of code, almost no dependencies, supports no_std. Feature alloc can optionallly be used as an alternative to std.
  • Fast: static dispatch, no heap allocation necessary.
  • Unopinionated: flexible, primitive API, does not dictate how it should be used.

Documentation

Crates

This repository contains several crates. The noise-protocol crate contains the abstract implementation of the protocol framework. noise-rust-crypto provides concrete implementations of the needed crypto primitives. It is a wrapper for x25519-dalek and RustCrypto crates.

The following table shows what primitives each of these crates supports:

X25519 AES-256-GCM Chacha20-Poly1305 SHA-256 SHA-512 BLAKE2s BLAKE2b
rust-ring
rust-crypto

You can also plug in other primitive implementations by implementing the DH, Cipher and Hash traits.

no_std usage

The noise-protocol crate supports no_std, if default features are disabled.

License

Unlicense.