lnd/brontide
Olaoluwa Osuntokun 9234956a34
brontide: replace aead/chacha20 with x/crypto/chacha20poly1305
This commit replaces aead’s chacha20 library with the official golang
implementation. We should see a bit of a performance increase on amd64
as the assembly for the library uses the SIMD AVX2 instructions in the
inner loop. In the future assembly will be written for other platforms,
so we’ll see a performance increase across the board.

Fixes #146.
2017-03-15 19:03:24 -07:00
..
conn.go lnd: partially fix golint warnings 2017-03-13 16:30:23 -07:00
listener.go lnd: partially fix golint warnings 2017-03-13 16:30:23 -07:00
noise_test.go lnd: partially fix golint warnings 2017-03-13 16:30:23 -07:00
noise.go brontide: replace aead/chacha20 with x/crypto/chacha20poly1305 2017-03-15 19:03:24 -07:00
README.md multi: add link to LICENSE in README license badges (#100) 2017-01-12 16:31:08 -08:00

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