noise_sv2

Crates.ionoise_sv2
lib.rsnoise_sv2
version1.4.0
created_at2021-06-14 17:26:11.989702+00
updated_at2025-07-09 17:49:44.127408+00
descriptionSv2 noise
homepagehttps://stratumprotocol.org
repositoryhttps://github.com/stratum-mining/stratum
max_upload_size
id410018
size117,184
SV2-bot (SV2-bot)

documentation

https://docs.rs/noise_sv2

README

noise_sv2

crates.io docs.rs rustc+ license codecov

noise_sv2 is primarily intended to secure communication in the Stratum V2 (Sv2) protocol. It handles the necessary Noise handshakes, encrypts outgoing messages, and decrypts incoming responses, ensuring privacy and integrity across the communication link between Sv2 roles. See the Protocol Security specification for more details.

Key Capabilities

  • Secure Communication: Provides encryption and authentication for messages exchanged between different Sv2 roles.
  • Cipher Support: Includes support for both AES-GCM and ChaCha20-Poly1305.
  • Handshake Roles: Implements the Initiator and Responder roles required by the Noise handshake, allowing both sides of a connection to establish secure communication.
  • Cryptographic Helpers: Facilitates the management of cryptographic state and encryption operations.

Usage

To include this crate in your project, run:

cargo add noise_sv2

This crate can be built with the following feature flags:

  • std: Enable usage of rust std library, enabled by default.

In order to use this crate in a #![no_std] environment, use the --no-default-features to remove the std feature.

Examples

This crate provides example on establishing a secure line:

  1. Noise Handshake Example: Establish a secure line of communication between an Initiator and Responder via the Noise protocol, allowing for the encryption and decryption of a secret message.
Commit count: 3337

cargo fmt