Usar una biblioteca compartida es una buena idea para obtener correcciones de seguridad sin tener que volver a compilar todas las aplicaciones que usan la biblioteca, pero esto se mantiene solo si existe una biblioteca compartida que usan varias aplicaciones. , y eso es mantenido activamente por otra persona.
En un mundo ideal, ni siquiera descargaría el código fuente para la implementación de Curve25519. Usaría el paquete provisto por el sistema operativo que contiene la biblioteca compartida. Si se encontrara un error, se corregiría en sentido ascendente y el empaquetador publicaría una versión nueva y fija, para que su aplicación (y otras que usen la biblioteca) se beneficiara automáticamente de la solución. Tendría beneficios similares para el rendimiento (por ejemplo, si se produce una nueva implementación más rápida y más optimizada para su hardware actual).
Sin embargo, tal paquete no existe por el momento. DJB no parece estar dispuesto a mantener dicho paquete, para ninguna versión de ningún sistema operativo (de hecho, ha sido bastante vehemente opuesto cómo funciona la mayoría, si no todos, los administradores de paquetes; también expresó dudas sobre bibliotecas compartidas). Si usa el código, usted lo está importando en su aplicación, y el esfuerzo de mantenimiento, es decir, el seguimiento de los cambios y la propagación de versiones fijas, caerá directamente sobre sus hombros. Incluso si lo convierte en una biblioteca compartida, seguirá siendo su biblioteca compartida, no compartida con ninguna otra aplicación. También podrías vincular el código; no cambiará las cosas por seguridad, y será más sencillo.