lnd.xprv/brontide
Conner Fromknecht ed8fe4bc82
brontide/noise: add Flush method
This commit adds a Flush method to the brontide.Machine, which can write
out a buffered message to an io.Writer. This is a preliminary change
which will allow the encryption of the plaintext to be done in a
distinct method from actually writing the bytes to the wire.
2019-04-22 16:03:39 -07:00
..
conn.go brontide/conn: expose ReadNextHeader+ReadNextBody 2019-02-21 20:11:19 -08:00
listener.go brontide/listener: handle SetReadDeadline errors 2019-02-15 18:14:02 -08:00
noise_test.go multi: sort import paths with gofmt 2018-08-02 18:20:49 -07:00
noise.go brontide/noise: add Flush method 2019-04-22 16:03:39 -07:00
README.md multi: fix formatting issues in packge README's 2017-03-27 16:25:25 -07: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