WireGuard
What is WireGuard?
WireGuardA modern, minimal VPN protocol that uses a fixed set of state-of-the-art cryptographic primitives and runs as part of the Linux kernel.
WireGuard, created by Jason Donenfeld, is a VPN designed for simplicity and performance, with a codebase orders of magnitude smaller (~4,000 lines) than IPsec or OpenVPN — a small attack surface that makes it far easier to audit. It uses a fixed, non-negotiable cryptographic suite (Curve25519 for key exchange, ChaCha20-Poly1305 for authenticated encryption per RFC 8439, BLAKE2s for hashing, HKDF, and the Noise IK 1-RTT handshake), eliminating the cipher-downgrade and negotiation-complexity flaws that have plagued IPsec/IKE and TLS. Peers are identified by static public keys through a model Donenfeld calls "cryptokey routing," and the handshake provides perfect forward secrecy by rotating ephemeral keys.
The protocol's security was formally verified: Donenfeld and Kevin Milner modeled the handshake in the Tamarin prover, and later work produced a mechanized computational proof in CryptoVerif. WireGuard was mainlined into the Linux kernel in version 5.6 (2020), with userspace and wireguard-go ports for other systems. Running over UDP/51820, it stays silent to unsolicited packets, survives IP roaming seamlessly, and underpins mesh overlays such as Tailscale and Netmaker. A design trade-off is that WireGuard keeps peer state and last-known endpoints, so operators layer it with dynamic address management for large fleets.
flowchart LR
A[Peer A<br/>static public key] -->|Noise IK handshake<br/>1-RTT over UDP/51820| B[Peer B<br/>static public key]
B -->|Ephemeral keys derived| C[Curve25519 shared secret]
C --> D[ChaCha20-Poly1305<br/>encrypted tunnel]
D --> E{Cryptokey routing}
E -->|AllowedIPs match| F[Deliver to peer]
E -->|No match| G[Drop packet]● Examples
- 01
A Tailscale mesh network using WireGuard under the hood to connect laptops, servers, and cloud instances.
- 02
A self-hosted WireGuard concentrator on UDP/51820 providing remote employee access.
● Frequently asked questions
What is WireGuard?
A modern, minimal VPN protocol that uses a fixed set of state-of-the-art cryptographic primitives and runs as part of the Linux kernel. It belongs to the Network Security category of cybersecurity.
What does WireGuard mean?
A modern, minimal VPN protocol that uses a fixed set of state-of-the-art cryptographic primitives and runs as part of the Linux kernel.
How do you defend against WireGuard?
Defences for WireGuard typically combine technical controls and operational practices, as detailed in the full definition above.
What are other names for WireGuard?
Common alternative names include: WireGuard protocol.