primitiveهای رمزنگاری
WireGuard از ChaCha20، Poly1305، Curve25519، BLAKE2s، HKDF و SipHash24 استفاده میکند.
Handshake
Handshake بر پایه **Noise_IK** است. پس از برقراری کلیدهای لازم، دادهها با کلیدهای متقارن منتقل میشوند.
Forward Secrecy
Handshakeهای دورهای باعث چرخش کلیدها میشوند و پروتکل برای مقابله با packet loss نیز طراحی شده است.
انتقال
تمام packetهای WireGuard روی UDP منتقل میشوند.
منبع: https://www.wireguard.com/protocol/