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