2 dépôts
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.
Il s'agit d'une implémentation cryptographique de la fonction Argon2, gourmande en mémoire, servant de bibliothèque de hachage de mots de passe et de fonction de dérivation de clé. Elle transforme les mots de passe et les sels en hashs sécurisés et génère des clés cryptographiques conçues pour résister aux attaques de craquage matériel à haute vitesse. La bibliothèque utilise une conception gourmande en mémoire qui nécessite une RAM importante pour empêcher l'accélération via GPU ou ASIC. Elle intègre un accès mémoire indépendant des données pour bloquer les attaques par canal auxiliaire (side-channel) et prend en charge l'intégration de clés secrètes ou de « peppers » pour protéger contre les attaques par force brute sur des sels compromis. Les capacités supplémentaires incluent l'encodage de hash de mot de passe pour le stockage et le transport, la possibilité de lier des hashs à des données contextuelles spécifiques, et une gestion sécurisée de la mémoire qui efface les tampons sensibles immédiatement après utilisation.
Employs data-independent memory access patterns to block side-channel timing attacks.
Liboqs est une bibliothèque C qui fournit une interface unifiée pour les algorithmes cryptographiques résistants aux quantiques, incluant l'encapsulation de clés et les mécanismes de signature numérique. Elle est conçue pour faciliter l'intégration de la sécurité post-quantique dans les protocoles et applications existants, garantissant la protection des données contre les menaces futures des ordinateurs quantiques à grande échelle. La bibliothèque se distingue par un accent sur les implémentations à haute assurance et la résistance aux canaux auxiliaires, utilisant des primitives à temps constant pour empêcher les fuites d'informations basées sur le timing. Elle offre une configuration étendue au moment de la compilation, permettant aux développeurs de sélectionner des algorithmes spécifiques et de gérer la taille du binaire, ce qui permet un déploiement à travers divers environnements allant des serveurs aux systèmes embarqués à ressources limitées. Le projet inclut des outils complets pour l'analyse comparative des performances et l'injection d'entropie agnostique au matériel, prenant en charge l'utilisation de générateurs de nombres aléatoires personnalisés. Il fournit également des harnais de test intégrés pour vérifier l'exécution à temps constant et évaluer l'efficacité des opérations cryptographiques à travers diverses architectures de processeurs.
Implements constant-time memory access patterns to prevent timing-based side-channel information leakage.