WireGuard

WireGuard is a communication protocol that implements VPN techniques to create secure, point-to-point connections in routed or bridged configurations.

WireGuard was created by Jason A. Donenfeld.

WireGuard is released under GPLv2.

OpenVPN and IPSec are complex, WireGuard aims to provide a simpler, faster and more modern alternative.

WireGuard utilizes Curve25519 for key exchange, ChaCha20 for encryption, and Poly1305 for data authentication, SipHash for hashtable keys, and BLAKE2s for hashing. It supports layer 3 for both IPv4 and IPv6 and can encapsulate v4-in-v6 and vice versa.