An alternative to ssh (<5% total SLOCC) written from scratch in Go. Testbed for candidate PQC (post-quantum cryptography) KEMs and symmetric session encryption algorithms with traffic chaffing.
Go to file
Russ Magee 9885067a48 Added hkexchan.go w/o testing for StreamReader/StreamWriter 2018-01-08 23:08:58 -08:00
demo Added hkexchan.go w/o testing for StreamReader/StreamWriter 2018-01-08 23:08:58 -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.go Added hkexchan.go w/o testing for StreamReader/StreamWriter 2018-01-08 23:08:58 -08:00
hkexnet.go Added hkexchan.go w/o testing for StreamReader/StreamWriter 2018-01-08 23:08:58 -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