Razvijač WireGuard značajno je ubrzao poziv getrandom() u Linuxu

Jason Donenfeld, autor VPN-a WireGuard, predstavio je zakrpe koje značajno ubrzavaju dobivanje nasumičnih brojeva od sustava putem funkcije getrandom(), implementirane preko odgovarajućeg sistemskog poziva Linuxa. Prednost ovog rješenja u odnosu na korištenje /dev/random ili /dev/urandom je otpornost na napade na iscrpljenje datotečnih deskriptora, koji mogu dovesti do neinicijaliziranih i neslučajnih kriptografskih ključeva.

Predložena optimizacija temelji se na korištenju mehanizma vDSO (virtual dynamic shared object), što omogućava premještanje obrade sistemskog poziva iz jezgre u korisnički prostor i izbjegavanje prebacivanja konteksta. U slučaju getrandom(), implementacija povezanog sistemskog poziva oblikovana je kao vDSO, a njen kod unaprijed učitava jezgra u adresni prostor procesa. Ovaj pristup je omogućio ubrzanje dobivanja nasumičnih brojeva u nekim situacijama do 15 puta i više.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster