Git est une base de données adressable par contenu qui utilise des fonctions de hachage comme clés pour stocker le contenu des fichiers. Pendant deux décennies, Git s'est appuyé sur SHA-1, l'algorithme que Linus Torvalds a sélectionné en 2005. SHA-1 produit une sortie de 160 bits, rendant les collisions accidentelles mathématiquement improbables, avec environ 1,4 septillion de fichiers nécessaires pour en déclencher une.
Cependant, des cryptographes ont publié des attaques de collision, notamment SHAttered en 2017 et SHA-1 is a Shambles en 2020. Bien que les collisions accidentelles restent pratiquement impossibles, ces attaques démontrent que des collisions intentionnelles sont théoriquement possibles, bien que coûteuses. En réponse, la prochaine version de Git 3.0 prévoit de remplacer l'algorithme de hachage par défaut SHA-1 par le plus fort SHA-256.
Cette transition obligera les développeurs à mettre à jour leurs dépôts et outils existants, représentant un effort mondial significatif pour un changement offrant des avantages de sécurité pratiques marginaux pour la plupart des utilisateurs. Cette migration représente une entreprise mondiale coûteuse avec peu de valeur tangible pour le développeur moyen.
Source: Hacker News · Résumé par HeadlinesBriefing