[GH-ISSUE #172] AES-GCM cipher support: interested in a PR to AmneziaWG? #84

Closed
opened 2026-10-13 21:03:24 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @janeblower on GitHub (Aug 6, 2026).
Original GitHub issue: https://github.com/amnezia-vpn/amneziawg-go/issues/172

Hello!

I have a long-standing pain point — chacha20-poly1305 encryption in WG.

This isn't much of an issue in the userspace implementation of the protocol (there's already so much overhead besides the cipher itself). However, kernel WG plays a fairly large role in my work — KubeSpan, an SDN fabric in Proxmox, routers, etc.

On modern hardware, especially server-grade AMD CPUs, the performance difference between aes-gcm and chacha20 is simply massive. (You can find an example of my benchmarks here: https://forum.proxmox.com/threads/feature-ipsec-for-sdn.184374/).

https://github.com/janeblower/wireguard-go/blob/cipher-negotiation/CIPHERS.md

I finally got around to it and bolted aes-gcm onto wireguard-go (as a starting point). It works and is fully backward-compatible with vanilla WG. But, as I mentioned, userspace and Go add so much overhead that the performance difference doesn't really show.

So, here's what I'd like to ask you:

If I implement the same thing in the kmod and submit a PR to AmneziaWG, would it have a chance of being accepted or even considered? I understand that getting this into official WireGuard is basically unrealistic, but are there any chances of pushing it into AWG?

Originally created by @janeblower on GitHub (Aug 6, 2026). Original GitHub issue: https://github.com/amnezia-vpn/amneziawg-go/issues/172 Hello! I have a long-standing pain point — chacha20-poly1305 encryption in WG. This isn't much of an issue in the userspace implementation of the protocol (there's already so much overhead besides the cipher itself). However, kernel WG plays a fairly large role in my work — KubeSpan, an SDN fabric in Proxmox, routers, etc. On modern hardware, especially server-grade AMD CPUs, the performance difference between aes-gcm and chacha20 is simply massive. (You can find an example of my benchmarks here: https://forum.proxmox.com/threads/feature-ipsec-for-sdn.184374/). https://github.com/janeblower/wireguard-go/blob/cipher-negotiation/CIPHERS.md I finally got around to it and bolted aes-gcm onto wireguard-go (as a starting point). It works and is fully backward-compatible with vanilla WG. But, as I mentioned, userspace and Go add so much overhead that the performance difference doesn't really show. So, here's what I'd like to ask you: If I implement the same thing in the kmod and submit a PR to AmneziaWG, would it have a chance of being accepted or even considered? I understand that getting this into official WireGuard is basically unrealistic, but are there any chances of pushing it into AWG?
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
amnezia-vpn/amneziawg-go#84
No description provided.