the missing encryption algorithms #2
added support for salsa20 , twofish , xtea cryptos.
P.S. salsa20 is really lighting fast.
(Update@21:16 0820: hashicorp/yamux#39, try to fix i/o deadline problem)
Benchmarks:
$ go test -bench . -run=^$
BenchmarkAES128-4 200000 11174 ns/op
BenchmarkAES192-4 100000 12647 ns/op
BenchmarkAES256-4 100000 13452 ns/op
BenchmarkTEA-4 50000 26966 ns/op
BenchmarkSimpleXOR-4 3000000 432 ns/op
BenchmarkBlowfish-4 30000 48540 ns/op
BenchmarkNone-4 20000000 108 ns/op
BenchmarkCast5-4 30000 59313 ns/op
BenchmarkTripleDES-4 2000 856720 ns/op
BenchmarkTwofish-4 20000 66519 ns/op
BenchmarkXTEA-4 20000 77909 ns/op
BenchmarkSalsa20-4 300000 4980 ns/op
PASS
ok github.com/xtaci/kcp-go 23.007s
MD5 (kcptun-linux-amd64-20160820.tar.gz) = 93ed244cc735dcf8539795e2879760e5
MD5 (kcptun-linux-386-20160820.tar.gz) = 92e89dbfc3cbbe83e5224d0850df654f
MD5 (kcptun-darwin-amd64-20160820.tar.gz) = 94687e4562393b82b26ed4f6d8df3721
MD5 (kcptun-darwin-386-20160820.tar.gz) = 6bbd5b4a7f5c0fd57c4968cb8fd2c907
MD5 (kcptun-windows-amd64-20160820.tar.gz) = 06f0c25545444b098b384375929e53ea
MD5 (kcptun-windows-386-20160820.tar.gz) = 12d916d02dfdd74dbf7a5e8bf713ad14
MD5 (kcptun-freebsd-amd64-20160820.tar.gz) = 9377cf860db447326d0e9a705065c285
MD5 (kcptun-freebsd-386-20160820.tar.gz) = 6478f51603aca99989a93d7300c695aa
MD5 (kcptun-linux-arm-20160820.tar.gz) = a8a61fb874c55631696faa5fd38e85a0