Skip to content
This repository has been archived by the owner on Sep 28, 2024. It is now read-only.

go-noisesocket/noisesocket

Repository files navigation

Noise Socket Go - a Noise Socket implementation in Go

Created by

Created by VirgilSecurity, inc.

Installation:

go get -u github.com/go-noisesocket/noisesocket

See sample folder for an example of HTTPS client and server implementations

Supported cryptoprimitives:

  • Noise protocols: XX & IK
  • Symmetric chiphers: AES256-GCM, ChachaPoly1305
  • Hashes: SHA256, SHA512, Blake2b, Blake2s
  • DH: Curve25519

Negotiation data structure:

2 bytes: version (currently 00 01) 1 byte: DH 1 byte: Cipher 1 byte: Hash 1 byte: Template

Values are as follows:

NOISE_DH_CURVE25519 = 1

NOISE_CIPHER_CHACHAPOLY = 1
NOISE_CIPHER_AESGCM     = 2

NOISE_HASH_BLAKE2s = 1
NOISE_HASH_BLAKE2b = 2
NOISE_HASH_SHA256  = 3
NOISE_HASH_SHA512  = 4

NOISE_PATTERN_XX = 9
NOISE_PATTERN_IK = 14

Releases

No releases published

Packages

No packages published

Languages