github.com/mit-dci/lit@v0.0.0-20221102210550-8c3d3b49f2ce/lndc/README.md (about)

     1  lndc
     2  ==========
     3  
     4  The lndc package implements a secure crypto messaging protocol based off of
     5  the [Noise Protocol Framework](http://noiseprotocol.org/noise.html). The
     6  package exposes the raw state machine that handles the handshake and subsequent
     7  message encryption/decryption scheme. Additionally, the package exposes a
     8  [net.Conn](https://golang.org/pkg/net/#Conn) and a
     9  [net.Listener](https://golang.org/pkg/net/#Listener) interface implementation
    10  which allows the encrypted transport to be seamlessly integrated into a
    11  codebase.
    12  
    13  The secure messaging scheme implemented within this package uses `NOISE_XX` as the handshake for authenticated key exchange. Please note that this is not the same as [brontide](https://github.com/lightningnetwork/lnd/tree/master/brontide) which uses the `NOISE_XK` protocol for handshakes and `lndc` is not compatible with the same.
    14  
    15  This package has intentionally been designed so it can be used as a standalone
    16  package for any projects needing secure encrypted+authenticated communications
    17  between network enabled programs.
    18  
    19  This package requires additional attribution to that of lit since it is adapted from the original [brontide](https://github.com/lightningnetwork/lnd/tree/master/brontide) package. Please see [license](LICENSE) for details.