Jason A. Donenfeld, nivîskarê VPN WireGuard, yekem guhertoya girîng a nermalava xerîdar pêşkêş kir WireGuard bo Windows 1.0, û her weha ajokaran WireGuardNT 1.0 bi portê VPN WireGuard ji bo bingehê Windows 10 û 11, piştgirîya mîmarîyên AMD64, x86, û ARM64 dike. Koda pêkhateyê ji bo kernelê Windows di bin lîsansa GPLv2 de, û nermalava xerîdar jî di bin lîsansa MIT de tê belavkirin.
Port li ser bingeha kodê ya pêkanîna sereke ye. WireGuard ji bo bingehê Linux, ku ji bo karanîna saziyên bingehîn hate veguheztin Windows û stûna tora NDIS. Li gorî pêkanînê wireguard-go, ku di qada bikarhêner de dimeşe û navrûya tora Wintun bikar tîne, WireGuardNT bi rakirina guheztina çarçoveyê û kopîkirina naveroka pakêtê ji kernel bo qada bikarhêner, başkirinên girîng ên performansê pêşkêş dike. Mîna pêkanînên ji bo Linux, OpenBSD û FreeBSD di WireGuardNT hemî mantiqa pêvajoya protokolê rasterast di asta stûna torê de dixebite.
Guhertoya 1.0 wekî qonaxek girîng hate nîşankirin, ku çareserkirina hejmarek pirsgirêkan û bicihanîna erkên armanckirî nîşan da, wek: karanîna fonksiyona NdisWdfGetAdapterContextFromAdapterHandle() li şûna hilanîna kêmtir ewle ya rewşa ajokerê di qada Reserved de û karanîna offsetên bê belge; şopandina rast û bilez a mezinahiya MTU (Yekîneya Veguhestina Herî Zêde) bi rêya desteserkirina bangên pergalê; karanîna standarda C23 di kodê de.
Bila em ji we re bibîr bînin ku VPN WireGuard Bi karanîna rêbazên şîfrekirinê yên nûjen hatiye bicîhkirin, performansek pir bilind peyda dike, bikaranîna wê hêsan e, bê alozî ye, û di hejmarek bicîhkirinên mezin de ku gelek trafîkê birêve dibin, xwe îspat kiriye. Proje ji sala 2015-an vir ve di pêşveçûnê de ye û rêbazên şîfrekirinê yên xwe ji denetim û verastkirinek fermî derbas kiriye. WireGuard Têgeha rêkirina li ser bingeha mifteyê tê bikar anîn, ku tê de girêdana mifteyek taybet bi her navrûya torê û karanîna mifteyên giştî ji bo girêdanê heye.
Guhertina mifteyên giştî ji bo avakirina pêwendiyekê dişibihe SSH-ê. Ji bo danûstandina mifteyan û girêdana bêyî xebitandina daemonek cuda di qada bikarhêner de, mekanîzmaya Noise_IK ji Çarçoveya Protokola Noise tê bikar anîn, dişibihe parastina authorized_keys di SSH-ê de. Veguhestina daneyan bi rêya kapsulkirinê di pakêtên UDP-ê de tê kirin. Guhertin tê piştgirî kirin. navnîşanên IP Serverên VPN (roaming) bêyî qutbûna pêwendiyê bi ji nû ve mîhengkirina otomatîkî ya xerîdar.
Şîfrekirin şîfreya stream ChaCha20 û algorîtmaya rastkirina peyama Poly1305 (MAC) bikar tîne, ku ji hêla Daniel J. Bernstein, Tanja Lange, û Peter Schwabe ve hatî pêşve xistin. ChaCha20 û Poly1305 wekî analogên zûtir û ewledar ên AES-256-CTR û HMAC têne cîh kirin, pêkanîna nermalava ku destûrê dide ku meriv demek darvekirinê ya sabît bêyî karanîna piştgirîya hardware ya taybetî bigihîje. Ji bo afirandina mifteya veşartî ya hevpar, protokola Elliptic Curve Diffie-Hellman di pêkanîna Curve25519 de, ku ji hêla Daniel Bernstein ve jî hatî pêşniyar kirin, tê bikar anîn. Algorîtmaya BLAKE2s (RFC7693) ji bo haşkirinê tê bikar anîn.
Source: opennet.ru
