Implementation of the Noise Protocol Framework in Rust.
Revision 34 is implemented.
Test vectors from cacophony and snow are successfully verified.
no_std. Feature use_alloc can optionallly be used
as an alternative to std.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 usageThe noise-protocol crate supports no_std, if default features are
disabled.
Unlicense.
$ claude mcp add noise-rust \
-- python -m otcore.mcp_server <graph>