<div dir="ltr"><div>This is a minimalist transport encryption protocol with forward secrecy, based on Curve25519 and ChaCha20+Poly1305</div><div><br></div><a href="http://tinc-vpn.org/git/browse?p=tinc;a=blob;f=doc/SPTPS;hb=refs/heads/1.1">http://tinc-vpn.org/git/browse?p=tinc;a=blob;f=doc/SPTPS;hb=refs/heads/1.1</a><br clear="all">

<div><br></div><div>The basic protocol:</div><div><br></div><div>1) Key Exchange (KEX): create a random D-H key, send pubkey + nonce</div><div>2) Signature (SIG): combine yours and their messages and compute an "ECDSA" signature (one might assume EdDSA here but it's unspecified)</div>

<div>3) Acknowledge (ACK): Compute D-H shared secret, and derive a session key via a KDF with both nonces + "application specific label", then send an empty packet (CurveCP might preload the first message here)</div>

<div><br></div><div>Seems interesting</div><div><br></div>-- <br>Tony Arcieri<br>
</div>