[−][src]Module libp2p::noise
Noise protocol framework support for libp2p.
This crate provides libp2p_core::InboundUpgrade
and libp2p_core::OutboundUpgrade
implementations for various noise handshake patterns (currently IK, IX, and XX)
over a particular choice of DH key agreement (currently only X25519).
All upgrades produce as output a pair, consisting of the remote's static public key
and a NoiseOutput
which represents the established cryptographic session with the
remote, implementing tokio_io::AsyncRead
and tokio_io::AsyncWrite
.
Usage
Example:
use libp2p_core::Transport; use libp2p_tcp::TcpConfig; use libp2p_noise::{Keypair, X25519, NoiseConfig}; let keys = Keypair::<X25519>::new(); let transport = TcpConfig::new().with_upgrade(NoiseConfig::xx(keys)); // ...
Modules
rt1 | Futures performing 1 round trip. |
rt15 | Futures performing 1.5 round trips. |
Structs
Keypair | DH keypair. |
NoiseConfig | The protocol upgrade configuration. |
NoiseOutput | A noise session to a remote. |
ProtocolParams | The parameters of a Noise protocol, consisting of a choice for a handshake pattern as well as DH, cipher and hash functions. |
PublicKey | DH public key. |
X25519 | A X25519 key. |
Enums
IK | Type tag for the IK handshake pattern. |
IX | Type tag for the IX handshake pattern. |
NoiseError | libp2p_noise error type. |
XX | Type tag for the XX handshake pattern. |
Traits
Protocol | A Noise protocol over DH keys of type |