El desarrollador de Wireguard ha acelerado significativamente la llamada getrandom() en Linux.

Jason A. Donenfeld, autor de VPN WireGuard, ha presentado parches que aceleran significativamente la obtención de números aleatorios del sistema a través de la función getrandom(), implementada a través de la correspondiente llamada del sistema Linux. La ventaja de esta solución sobre el uso de /dev/random o /dev/urandom es que no está sujeta a ataques de agotamiento de descriptores de archivos, que pueden conducir a claves criptográficas no inicializadas y no aleatorias.

La optimización propuesta se basa en el uso del mecanismo vDSO (virtual dynamic shared object), que permite trasladar el manejador de la llamada del sistema del núcleo al espacio de usuario y evitar cambios de contexto. En el caso de getrandom(), se ha implementado en forma de vDSO la llamada del sistema relacionada con esta función, cuyo código se carga de antemano en el espacio de direcciones del proceso directamente por el núcleo. Este enfoque ha permitido acelerar la obtención de números aleatorios en algunas situaciones hasta 15 veces o más.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster