lnd/brontide
Oliver Gugger 7dfe4018ce
multi: use btcd's btcec/v2 and btcutil modules
This commit was previously split into the following parts to ease
review:
 - 2d746f68: replace imports
 - 4008f0fd: use ecdsa.Signature
 - 849e33d1: remove btcec.S256()
 - b8f6ebbd: use v2 library correctly
 - fa80bca9: bump go modules
2022-03-09 19:02:37 +01:00
..
bench_test.go brontide: add new benchmark to measure allocs for header+body decrypt 2021-08-27 16:57:09 -07:00
conn.go multi: use btcd's btcec/v2 and btcutil modules 2022-03-09 19:02:37 +01:00
listener.go brontide: fix typo 2020-12-04 23:07:53 +08:00
noise_test.go multi: use btcd's btcec/v2 and btcutil modules 2022-03-09 19:02:37 +01:00
noise.go multi: use btcd's btcec/v2 and btcutil modules 2022-03-09 19:02:37 +01:00
README.md multi: unify code blocks in READMEs 2021-01-22 09:14:11 +01:00

brontide

Build Status MIT licensed GoDoc

The brontide package implements a secure crypto messaging protocol based off of the Noise Protocol Framework. The package exposes the raw state machine that handles the handshake and subsequent message encryption/decryption scheme. Additionally, the package exposes a net.Conn and a net.Listener interface implementation which allows the encrypted transport to be seamlessly integrated into a codebase.

The secure messaging scheme implemented within this package is described in detail in BOLT #8 of the Lightning Network specifications.

This package has intentionally been designed so it can be used as a standalone package for any projects needing secure encrypted+authenticated communications between network enabled programs.

Installation and Updating

⛰  go get -u github.com/lightningnetwork/lnd/brontide