What are the available encrypted communication modules for Libp2p?

I have only seen secio being used for encrypted communication. Are there any other official/non-official encryption modules being worked on?

Yes, the specs for noise are in a ā€œWorking Draftā€ status:


Thereā€™s an ongoing dev grant for implementation: https://github.com/libp2p/devgrants/blob/master/004-noise-handshake-implementations.md
There is a bounty of 3500ā‚¬ for Go and Javascript implementations: https://github.com/ethberlinzwei/Bounties/issues/17

There is also a spec for TLS:


Thereā€™s a Go implementation: https://github.com/libp2p/go-libp2p-tls
I think itā€™s TLS 1.2 and not 1.3. To be checked.

I think that for Javascript, only secio is available: https://github.com/libp2p/js-libp2p#packages
Thereā€™s a stalled issue for TLS 1.3 :https://github.com/libp2p/js-libp2p/issues/9

1 Like