CryptoAuth is the protocol used in cjdns to establish encrypted sessions and communicate with remote peers.
This is a work-in-progress package that implements cryptoauth. This enables you to build your own golang programs that can communicate using the cryptoauth protocol.
Very alpha.