Categorygithub.com/flynn/noise
modulepackage
1.1.0
Repository: https://github.com/flynn/noise.git
Documentation: pkg.go.dev

# README

noise Go Reference CI Status

This is a Go package that implements the Noise Protocol Framework. See the documentation for usage information.

# Packages

# Functions

NewCipherSuite returns a CipherSuite constructed from the specified primitives.
NewHandshakeState starts a new handshake using the provided configuration.
UnsafeNewCipherState reconstructs a CipherState from exported components.

# Constants

MaxMsgLen is the maximum number of bytes that can be sent in a single Noise message.
MaxNonce is the maximum value of n that is allowed.

# Variables

CipherAESGCM is the AES256-GCM AEAD cipher.
CipherChaChaPoly is the ChaCha20-Poly1305 AEAD cipher construction.
DH25519 is the Curve25519 ECDH function.
ErrShortMessage is returned by ReadMessage if a message is not as long as it should be.
HashBLAKE2b is the BLAKE2b hash function.
HashBLAKE2s is the BLAKE2s hash function.
HashSHA256 is the SHA-256 hash function.
HashSHA512 is the SHA-512 hash function.

# Structs

A CipherState provides symmetric encryption and decryption after a successful handshake.
A Config provides the details necessary to process a Noise handshake.
A DHKey is a keypair used for Diffie-Hellman key agreement.
A HandshakePattern is a list of messages and operations that are used to perform a specific Noise handshake.
A HandshakeState tracks the state of a Noise handshake.

# Interfaces

A Cipher is a AEAD cipher that has been initialized with a key.
A CipherFunc implements an AEAD symmetric cipher.
A CipherSuite is a set of cryptographic primitives used in a Noise protocol.
A DHFunc implements Diffie-Hellman key agreement.
A HashFunc implements a cryptographic hash function.

# Type aliases

A MessagePattern is a single message or operation used in a Noise handshake.