MCPcopy Index your code
hub / github.com/blckngm/noise-rust

github.com/blckngm/noise-rust @noise-rust-crypto-v0.6.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release noise-rust-crypto-v0.6.2 ↗ · + Follow
210 symbols 451 edges 12 files 118 documented · 56% updated 4mo ago★ 723 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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 use_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.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 122
Function 60
Class 17
Enum 7
Interface 4

Languages

Rust100%

Modules by API surface

noise-protocol/src/handshakepattern.rs61 symbols
noise-protocol/src/handshakestate.rs38 symbols
noise-rust-crypto/src/lib.rs17 symbols
noise-protocol/src/cipherstate.rs17 symbols
vectors/tests/vectors.rs16 symbols
noise-protocol/src/traits.rs16 symbols
noise-ring/src/lib.rs12 symbols
noise-protocol/src/symmetricstate.rs11 symbols
noise-rust-crypto/src/sensitive.rs10 symbols
noise-ring/src/sensitive.rs10 symbols
vectors/build.rs2 symbols

For agents

$ claude mcp add noise-rust \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page