WireGuard vs. AmneziaWG: What's the Difference Between the Protocols
HamikVPN, like a number of other services, uses the AmneziaWG protocol — but what does that actually mean? A different encryption algorithm, or something else entirely? Here's a technical look at exactly what changes compared to plain WireGuard, and what stays the same.
WireGuard: a compact protocol with a recognizable signature
WireGuard became popular precisely because of its simplicity: a small codebase, modern cryptography with no choice between dozens of algorithms, and high speed compared to older protocols. The flip side of that simplicity is predictability at the level of individual packets. According to the AmneziaWG technical documentation, standard WireGuard's handshake-initiation packet is always exactly 148 bytes long, its response packet is 92 bytes, and its cookie packet is 64 bytes. Such fixed, repeating sizes and headers form a stable "fingerprint" that traffic-analysis equipment along the connection path can use to recognize the fact that WireGuard is being used at all, even without being able to read the encrypted data itself.
This isn't a theoretical weakness in the encryption — the content of the traffic stays protected. It's about metadata: which protocol you're using is visible from the shape of the packets, even when their content is unreadable. And networks that apply traffic analysis and shaping — from individual mobile carriers to corporate and hotel networks — sometimes handle recognized VPN traffic differently from ordinary traffic, which can affect connection stability.
What AmneziaWG changes: transport-layer obfuscation
AmneziaWG is a fork of the WireGuard-Go implementation that removes exactly this predictability, without touching the cryptographic core. According to the project's official documentation, a few groups of parameters are responsible for this:
- Jc, Jmin, Jmax — before the main handshake, Jc "junk" packets of a random size between Jmin and Jmax bytes are sent. The recipient doesn't parse or validate them — to an outside observer, they look like neutral UDP noise that blurs the characteristic timing and size of a session's start.
- S1–S2 — pseudo-random prefixes (0–32/64 bytes) added to each packet type, making their length variable instead of fixed.
- H1–H4 — WireGuard's predictable header identifiers are replaced with random values from a configured range, so different clients end up with different headers — meaning no single universal detection rule can be written to cover them all.
An important detail: all of these parameters are configured on the server side and must match on the client side, or the tunnel simply won't establish — a regular WireGuard client won't understand such a server, and vice versa.
What stays the same: the cryptographic core
Obfuscation works only at the transport layer — the shape and timing of packets. It doesn't replace or weaken the cryptography itself. As the official WireGuard protocol documentation states, key exchange is built on the Curve25519 elliptic curve, data encryption runs on ChaCha20 paired with the Poly1305 authentication code, and hashing uses BLAKE2s. AmneziaWG inherits this exact set of algorithms unchanged: its developers deliberately left the cryptographic code — already reviewed by independent researchers — untouched, limiting their changes to headers and service packets. From the standpoint of protecting traffic content, there's no difference between WireGuard and AmneziaWG.
What this means in practice
For everyday use, the difference boils down to two things. First, the app and the server need to use the same set of obfuscation parameters — you don't need to configure this by hand as long as both ends use a compatible client, such as the AmneziaVPN app or HamikVPN. Second, the first phase of setting up the connection takes slightly longer because of the junk packets, but that doesn't affect the throughput of an already-established tunnel. If you're comparing services by protocol, it's worth looking not at marketing labels but at the cryptography actually stated in the documentation — the general criteria are covered in our article on how to choose a privacy service.
