2 repositorios
Memory access patterns that do not depend on secret data to prevent side-channel timing attacks.
Distinct from Cache-Aware Memory Access: Distinct from cache-aware access by focusing on security and timing-attack prevention rather than performance optimization.
Explore 2 awesome GitHub repositories matching software engineering & architecture · Constant-Time Memory Access. Refine with filters or upvote what's useful.
Esta es una implementación criptográfica de la función de memoria dura Argon2, que sirve como biblioteca de hashing de contraseñas y función de derivación de claves. Transforma contraseñas y sales en hashes seguros y genera claves criptográficas diseñadas para resistir ataques de cracking de hardware de alta velocidad. La biblioteca utiliza un diseño de memoria dura que requiere una cantidad significativa de RAM para evitar la aceleración mediante GPUs o ASICs. Incorpora acceso a memoria independiente de los datos para bloquear ataques de temporización de canal lateral y admite la integración de claves secretas o peppers para proteger contra ataques de fuerza bruta en sales comprometidas. Las capacidades adicionales incluyen la codificación de hash de contraseñas para almacenamiento y transporte, la capacidad de vincular hashes a datos de contexto específicos y una gestión de memoria segura que limpia los búferes sensibles inmediatamente después de su uso.
Employs data-independent memory access patterns to block side-channel timing attacks.
Liboqs es una biblioteca en C que proporciona una interfaz unificada para algoritmos criptográficos resistentes a la computación cuántica, incluyendo encapsulación de claves y mecanismos de firma digital. Está diseñada para facilitar la integración de la seguridad post-cuántica en protocolos y aplicaciones existentes, asegurando la protección de datos contra futuras amenazas de computadoras cuánticas a gran escala. La biblioteca se distingue por un enfoque en implementaciones de alta seguridad y resistencia a canales laterales, utilizando primitivas de tiempo constante para evitar la fuga de información basada en el tiempo. Ofrece una configuración extensa en tiempo de compilación, permitiendo a los desarrolladores seleccionar algoritmos específicos y gestionar el tamaño del binario, lo que permite el despliegue en diversos entornos que van desde servidores hasta sistemas embebidos con recursos limitados. El proyecto incluye herramientas integrales para pruebas de rendimiento e inyección de entropía agnóstica al hardware, apoyando el uso de generadores de números aleatorios personalizados. También proporciona arneses de prueba incorporados para verificar la ejecución en tiempo constante y evaluar la eficiencia de las operaciones criptográficas a través de varias arquitecturas de procesador.
Implements constant-time memory access patterns to prevent timing-based side-channel information leakage.