lnd/brontide
Trevin Hofmann a13ac90d46 multi: add link to LICENSE in README license badges (#100) 2017-01-12 16:31:08 -08:00
..
README.md multi: add link to LICENSE in README license badges (#100) 2017-01-12 16:31:08 -08:00
conn.go brontide: exclude MAC length from cipher text packet length prefix 2017-01-07 21:21:52 -08:00
listener.go brontide: implement handshake versioning enforcement per the spec 2016-11-30 19:11:58 -08:00
noise.go brontide: modify key rotation to match test vectors in spec 2017-01-09 19:12:48 -08:00
noise_test.go brontide: exclude MAC length from cipher text packet length prefix 2017-01-07 21:21:52 -08:00

README.md

brontide

[Build Status] (https://travis-ci.org/lightningnetwork/lnd) [MIT licensed] (https://github.com/lightningnetwork/lnd/blob/master/LICENSE) [GoDoc] (http://godoc.org/github.com/lightningnetwork/lnd/brontide)

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