A secure remote client/server terminal, written in Golang. Intended as a test-bed for experimental key exchanges and symmetric session crypto. Integrated traffic chaffing.
Go to file
Russ Magee 3571da5703 Added concept for cipher setup -- nonworking (hkexchan.gox) 2018-01-08 20:23:19 -08:00
demo Split core KEx and net support code 2018-01-08 19:16:55 -08:00
README.md Prototype README.md with theory of operation 2018-01-06 15:41:23 +00:00
herradurakex.go Split core KEx and net support code 2018-01-08 19:16:55 -08:00
hkexchan.gox Added concept for cipher setup -- nonworking (hkexchan.gox) 2018-01-08 20:23:19 -08:00
hkexnet.go Added concept for cipher setup -- nonworking (hkexchan.gox) 2018-01-08 20:23:19 -08:00

README.md

This is an implementation of the 'HerraduraKEx' key exchange algorithm in golang. See github.com/Caume/HerraduraKEx

package herradurakex is a simple golang library to manage key exchanges using the algorithm and (TODO) wraps/extends golang.org/pkg/net/, Listener interface, Dial/Accept methods by providing a HKexConn built on top of the vanilla Conn.

Theory:

  1. Build a standard pkg/net/ Conn c
  2. Build a HKexConn passing in Conn hc (HKexConn implements io.Reader,io.Writer)s
  3. Dial/Listen on hc (it will do the KEx and store session key, negotiate crypto alg.)
  4. Call any pkg/net ops as usual using HKexConn

? -rlm 2018-01-06