Use the ChaCha-Poly1305 cipher for the SPTPS protocol.
authorGuus Sliepen <guus@tinc-vpn.org>
Mon, 14 Apr 2014 19:43:45 +0000 (21:43 +0200)
committerGuus Sliepen <guus@tinc-vpn.org>
Mon, 14 Apr 2014 19:43:45 +0000 (21:43 +0200)
commit2980173ee7f8142598fe5e1ab117e463751da310
tree00e7e1fad2fba2b1a28af0cd5790a37454fec185
parent49e3baec20ddad9cc297c3eeb1d13f0e421f69c8
Use the ChaCha-Poly1305 cipher for the SPTPS protocol.

The main reason to switch from AES-256-GCM to ChaCha-Poly1305 is to remove a
dependency on OpenSSL, whose behaviour of the AES-256-GCM decryption function
changes between versions. The source code for ChaCha-Pol1305 is small and in
the public domain, and can therefore be easily included in tinc itself.
Moreover, it is very fast even without using any optimized assembler, easily
outperforming AES-256-GCM on platforms that don't have special AES instructions
in hardware.
src/Makefile.am
src/chacha-poly1305/chacha-poly1305.c [new file with mode: 0644]
src/chacha-poly1305/chacha-poly1305.h [new file with mode: 0644]
src/chacha-poly1305/chacha.c [new file with mode: 0644]
src/chacha-poly1305/chacha.h [new file with mode: 0644]
src/chacha-poly1305/poly1305.c [new file with mode: 0644]
src/chacha-poly1305/poly1305.h [new file with mode: 0644]
src/sptps.c
src/sptps.h