Разработчик Джейсон Доненфилд (Jason A. Donenfeld) выпустил первую крупную версию клиентского ПО WireGuard для Windows под номером 1.0, а также драйверы WireGuardNT 1.0, которые обеспечивают поддержку VPN WireGuard в ядре Windows 10 и 11. Эти компоненты совместимы с архитектурами AMD64, x86 и ARM64. Код ядра распространяется по лицензии GPLv2, а клиентское ПО — под лицензией MIT.
Реализация WireGuard 1.0 для Windows базируется на кодовой базе Linux-версии, адаптированной под сетевой стек NDIS и сущности ядра Windows. По данным OpenNET, в сравнении с wireguard-go, рботающим в пространстве пользователя и использующим сетевой интерфейс Wintun, новая версия WireGuardNT демонстрирует значительный рост производительности за счёт устранения операций переключения контекста и копирования пакетов между ядром и пространством пользователя. Аналогично Linux, OpenBSD и FreeBSD, обработка протокола происходит непосредственно на уровне сетевого стека.
Версия 1.0 стала важной вехой, решив ряд задач: применена функция NdisWdfGetAdapterContextFromAdapterHandle() вместо менее безопасных методов хранения состояния драйвера, реализован точный контроль MTU через перехват системных вызовов, а также внедрена поддержка стандарта C23. WireGuard использует современные криптографические методы, обеспечивая высокую скорость и простоту использования, что подтверждено крупными внедрениями и официальными аудитами.
В основе протокола лежит концепция маршрутизации по ключам шифрования, где каждому сетевому интерфейсу соответствует закрытый ключ, а для установления соединения применяется обмен открытыми ключами, похожий на SSH. Механизм Noise_IK из Noise Protocol Framework отвечает за согласование ключей без необходимости запуска дополнительного демона в пространстве пользователя. Передача данных происходит через UDP с поддержкой роуминга — смены IP-адреса VPN-сервера без разрыва соединения.
Для шифрования WireGuard применяет потоковый шифр ChaCha20 и алгоритм аутентификации Poly1305, разработанные ведущими криптографами. Они считаются более быстрыми и безопасными аналогами AES-256-CTR и HMAC, не требующими аппаратного ускорения. Генерация общего секретного ключа осуществляется с помощью протокола Диффи-Хеллмана на эллиптических кривых Curve25519, а для хеширования используется алгоритм BLAKE2s (RFC7693).