5 releases (3 breaking)

0.4.0 May 6, 2024
0.3.0 May 19, 2023
0.2.0 Feb 15, 2023
0.1.1 Feb 6, 2023
0.1.0 Jan 16, 2023

#489 in Cryptography

Download history 50/week @ 2024-06-15 27/week @ 2024-06-22 20/week @ 2024-06-29 22/week @ 2024-07-06 44/week @ 2024-07-13 83/week @ 2024-07-20 29/week @ 2024-07-27 47/week @ 2024-08-03 12/week @ 2024-08-10 47/week @ 2024-08-17 18/week @ 2024-08-24 27/week @ 2024-08-31 61/week @ 2024-09-07 50/week @ 2024-09-14 86/week @ 2024-09-21 24/week @ 2024-09-28

223 downloads per month
Used in 3 crates (via cyphernet)

Apache-2.0

89KB
1.5K SLoC

Noise protocol framework in rust

Build Tests Lints codecov

crates.io Docs Apache-2 licensed

Overview

The library provides pure rust implementation of Noise protocol framework with minimal dependencies made in functional style, where a specific Noise scheme is constructed as a concrete type (like Noise_XK<Secp256,ChaChaPoly,Sha256>).

The library is a part of rust cyphernet suite.

Manifest

Name: noise-framework
Type: Library
Kind: Free software
License: Apache-2.0
Language: Rust
Compiler: 1.65
Author: Maxim Orlovsky
Maintained: Cyphernet DAO, Switzerland
Maintainers:
  Maxim Orlovsky:
    GitHub: @dr-orlovsky
    GPG: EAE730CEC0C663763F028A5860094BAF18A26EC9
    SSH: BoSGFzbyOKC7Jm28MJElFboGepihCpHop60nS8OoG/A
    EMail: dr@orlovsky.ch
  Alexis Sellier:
    GitHub: @cloudhead
    SSH: iTDjRHSIaoL8dpHbQ0mv+y0IQqPufGl2hQwk4TbXFlw

Features

Currently, the library supports following handshake patterns and construction primitives:

  • All interactive handshake fundamental patterns: NN, NK, NX, XN, XK, XX, KN, KK, KX, IN, IK, IX
  • Streaming cipher ChaCha20Poly1305
  • Elliptic curves Secp256k1 and Edward25519
  • Digest functions SHA2-256, SHA2-512, SHA3-256, SHA3-512, BLAKE3

The library currently DOES NOT provide:

  • Other AEAD ciphers than ChaCha20Poly1305;
  • Support for pre-shared secret keys (PSK);
  • Interactive handshake deferred patterns.

Documentation

API reference documentation for the library can be accessed at https://docs.rs/noise-framework/.

Licensing

The libraries are distributed on the terms of Apache 2.0 opensource license. See LICENCE file for the license details.

Dependencies

~1.2–2.8MB
~45K SLoC