{"id":14,"date":"2026-06-10T09:13:27","date_gmt":"2026-06-10T09:13:27","guid":{"rendered":"https:\/\/shattered.io\/fr\/2026\/06\/10\/collision-sha1\/"},"modified":"2026-06-10T09:13:27","modified_gmt":"2026-06-10T09:13:27","slug":"collision-sha1","status":"publish","type":"post","link":"https:\/\/shattered.io\/fr\/cryptography\/collision-sha1\/","title":{"rendered":"SHAttered : la premi\u00e8re collision pratique de SHA-1 (2017)"},"content":{"rendered":"<h2 id=\"le-jour-ou-sha-1-a-cede\">Le jour o\u00f9 SHA-1 a c\u00e9d\u00e9<\/h2>\n<p>Le 23 f\u00e9vrier 2017, les chercheurs du CWI Amsterdam et de Google ont annonc\u00e9 conjointement avoir produit la premi\u00e8re collision pratique de l&#8217;algorithme de hachage SHA-1. Baptis\u00e9e SHAttered, cette d\u00e9monstration n&#8217;\u00e9tait pas une simple faiblesse th\u00e9orique de plus : elle fournissait deux fichiers PDF r\u00e9els, diff\u00e9rents, partageant exactement la m\u00eame empreinte SHA-1. Pour la premi\u00e8re fois, une collision contre cet algorithme passait de la sp\u00e9culation \u00e0 la r\u00e9alit\u00e9 concr\u00e8te.<\/p>\n<p>L&#8217;\u00e9v\u00e9nement a eu un retentissement consid\u00e9rable dans le monde de la s\u00e9curit\u00e9, car SHA-1 \u00e9tait encore pr\u00e9sent dans de nombreux syst\u00e8mes : certificats, gestion de versions, signatures de documents et de logiciels. La preuve que l&#8217;algorithme pouvait \u00eatre bris\u00e9 en pratique a transform\u00e9 une recommandation prudente d&#8217;abandon en une n\u00e9cessit\u00e9 urgente.<\/p>\n<h2 id=\"quest-ce-quune-collision-et-pourquoi-cest-grave\">Qu&#8217;est-ce qu&#8217;une collision et pourquoi c&#8217;est grave<\/h2>\n<p>Une fonction de hachage associe \u00e0 n&#8217;importe quelle entr\u00e9e une empreinte de longueur fixe. Comme le nombre d&#8217;entr\u00e9es possibles est infini et que le nombre d&#8217;empreintes est fini, il existe forc\u00e9ment des entr\u00e9es diff\u00e9rentes qui aboutissent \u00e0 la m\u00eame empreinte. C&#8217;est math\u00e9matiquement in\u00e9vitable. La s\u00e9curit\u00e9 d&#8217;une fonction de hachage ne repose donc pas sur l&#8217;absence de collisions, mais sur l&#8217;impossibilit\u00e9 pratique d&#8217;en trouver une volontairement.<\/p>\n<p>Une collision se produit lorsqu&#8217;on parvient \u00e0 exhiber deux messages distincts, disons A et B, tels que leur empreinte soit identique. Tant que personne ne sait fabriquer une telle paire, la fonction reste digne de confiance. Le jour o\u00f9 quelqu&#8217;un y parvient avec des moyens raisonnables, toute garantie d&#8217;int\u00e9grit\u00e9 fond\u00e9e sur cette fonction s&#8217;\u00e9croule.<\/p>\n<p>Le danger est facile \u00e0 saisir avec un exemple. Imaginez un contrat num\u00e9rique sign\u00e9. La signature porte en r\u00e9alit\u00e9 sur l&#8217;empreinte du document, pas sur le document entier. Si un attaquant peut cr\u00e9er deux contrats au contenu diff\u00e9rent mais \u00e0 l&#8217;empreinte identique, il fait signer la version anodine, puis substitue la version frauduleuse. La signature reste valide pour les deux, car le syst\u00e8me de v\u00e9rification ne voit que l&#8217;empreinte commune. C&#8217;est exactement le sc\u00e9nario que les collisions rendent possible.<\/p>\n<h2 id=\"la-paire-de-fichiers-shattered\">La paire de fichiers SHAttered<\/h2>\n<p>La d\u00e9monstration de 2017 a produit deux documents PDF au contenu visuellement distinct. Ces deux fichiers partagent la m\u00eame empreinte SHA-1 :<\/p>\n<pre><code>38762cf7f55934b34d179ae6a4c80cadccbb7f0a\n<\/code><\/pre>\n<p>Pour bien marquer la diff\u00e9rence, les chercheurs ont aussi calcul\u00e9 l&#8217;empreinte SHA-256 de chacun. Sous SHA-256, les deux fichiers donnent des empreintes totalement diff\u00e9rentes, ce qui prouve sans ambigu\u00eft\u00e9 qu&#8217;il s&#8217;agit de deux fichiers r\u00e9ellement distincts et non d&#8217;une duplication. Autrement dit, la collision n&#8217;existe que sous SHA-1 ; un algorithme plus solide les distingue imm\u00e9diatement.<\/p>\n<p>Vous pouvez examiner la paire de documents publi\u00e9e \u00e0 l&#8217;appui de l&#8217;annonce : <a href=\"https:\/\/shattered.io\/static\/shattered-1.pdf\">shattered-1.pdf<\/a> et <a href=\"https:\/\/shattered.io\/static\/shattered-2.pdf\">shattered-2.pdf<\/a>. Les d\u00e9tails techniques de la m\u00e9thode figurent dans l&#8217;<a href=\"https:\/\/shattered.io\/static\/shattered.pdf\">article de recherche<\/a> qui accompagne la publication.<\/p>\n<h2 id=\"leffort-de-calcul-derriere-lattaque\">L&#8217;effort de calcul derri\u00e8re l&#8217;attaque<\/h2>\n<p>Produire cette collision n&#8217;a rien eu de trivial. L&#8217;attaque a n\u00e9cessit\u00e9 environ 9,2 quintillions de calculs SHA-1, soit un nombre \u00e0 dix-neuf chiffres. Pour donner un ordre de grandeur en temps machine, cela repr\u00e9sente \u00e0 peu pr\u00e8s 6 500 ann\u00e9es-processeur de calcul sur CPU, compl\u00e9t\u00e9es par environ 110 ann\u00e9es de calcul sur GPU pour la phase la plus intensive.<\/p>\n<p>Ces chiffres m\u00e9ritent d&#8217;\u00eatre nuanc\u00e9s. D&#8217;un c\u00f4t\u00e9, ils montrent que l&#8217;attaque restait hors de port\u00e9e d&#8217;un particulier isol\u00e9 en 2017 : il fallait des ressources comparables \u00e0 celles d&#8217;une grande organisation. De l&#8217;autre, ils d\u00e9montraient que l&#8217;attaque \u00e9tait bel et bien r\u00e9alisable, et non plus seulement envisageable sur le papier. Or, en cryptographie, le co\u00fbt d&#8217;une attaque ne fait que baisser avec le temps, \u00e0 mesure que le mat\u00e9riel devient plus rapide et meilleur march\u00e9. Une attaque co\u00fbteuse aujourd&#8217;hui devient abordable demain.<\/p>\n<p>L&#8217;approche employ\u00e9e ne consistait pas \u00e0 essayer des entr\u00e9es au hasard jusqu&#8217;\u00e0 tomber sur une co\u00efncidence, ce qui aurait \u00e9t\u00e9 irr\u00e9aliste. Les chercheurs ont exploit\u00e9 des faiblesses structurelles de SHA-1 mises en \u00e9vidence par plus d&#8217;une d\u00e9cennie de cryptanalyse, en construisant une collision dite \u00e0 pr\u00e9fixe identique. Cette technique tire parti de la marge de man\u0153uvre offerte par le format PDF pour ins\u00e9rer des donn\u00e9es qui orientent le calcul vers l&#8217;empreinte voulue.<\/p>\n<h2 id=\"une-rupture-longtemps-annoncee\">Une rupture longtemps annonc\u00e9e<\/h2>\n<p>SHA-1 n&#8217;est pas tomb\u00e9 du jour au lendemain. D\u00e8s le milieu des ann\u00e9es 2000, des travaux de cryptanalyse avaient montr\u00e9 que la r\u00e9sistance r\u00e9elle de l&#8217;algorithme \u00e9tait bien inf\u00e9rieure \u00e0 ce que sa conception laissait esp\u00e9rer. La communaut\u00e9 savait qu&#8217;une collision pratique n&#8217;\u00e9tait qu&#8217;une question de temps et de ressources. Les organismes de normalisation et les grands acteurs du web avaient d&#8217;ailleurs commenc\u00e9 \u00e0 planifier la transition vers SHA-256 plusieurs ann\u00e9es avant 2017.<\/p>\n<p>SHAttered a transform\u00e9 ce risque latent en fait accompli. La d\u00e9monstration a servi de point de bascule : ce qui \u00e9tait jusque-l\u00e0 un argument prudent en faveur de la migration est devenu une preuve irr\u00e9futable que le maintien de SHA-1 exposait \u00e0 un danger concret.<\/p>\n<h2 id=\"les-consequences-sur-lecosysteme\">Les cons\u00e9quences sur l&#8217;\u00e9cosyst\u00e8me<\/h2>\n<p>L&#8217;annonce a acc\u00e9l\u00e9r\u00e9 l&#8217;abandon de SHA-1 sur plusieurs fronts simultan\u00e9ment.<\/p>\n<p>Du c\u00f4t\u00e9 des certificats TLS, les principaux navigateurs avaient d\u00e9j\u00e0 programm\u00e9 l&#8217;arr\u00eat de la confiance accord\u00e9e aux certificats sign\u00e9s avec SHA-1. La d\u00e9monstration de 2017 a confirm\u00e9 le bien-fond\u00e9 de cette d\u00e9cision et clos le d\u00e9bat. Les autorit\u00e9s de certification ont d\u00e9finitivement bascul\u00e9 vers SHA-256.<\/p>\n<p>Du c\u00f4t\u00e9 de Git, le syst\u00e8me de gestion de versions identifie les objets par leur empreinte SHA-1. La collision a pouss\u00e9 le projet \u00e0 int\u00e9grer des m\u00e9canismes de d\u00e9tection de collision et \u00e0 engager une r\u00e9flexion de fond sur la migration vers une fonction plus solide, afin que deux objets distincts ne puissent pas se faire passer l&#8217;un pour l&#8217;autre.<\/p>\n<p>Du c\u00f4t\u00e9 des signatures de documents et de logiciels, l&#8217;usage de SHA-1 a \u00e9t\u00e9 d\u00e9conseill\u00e9 puis proscrit dans les contextes sensibles. Signer une empreinte SHA-1 revenait d\u00e9sormais \u00e0 signer quelque chose qu&#8217;un adversaire suffisamment motiv\u00e9 pouvait dupliquer.<\/p>\n<h2 id=\"la-lecon-a-retenir\">La le\u00e7on \u00e0 retenir<\/h2>\n<p>L&#8217;histoire de SHA-1 condense une v\u00e9rit\u00e9 essentielle de la cryptographie appliqu\u00e9e : aucun algorithme n&#8217;est \u00e9ternel. Une fonction jug\u00e9e s\u00fbre pendant vingt ans peut \u00eatre mise en \u00e9chec d\u00e8s lors que la puissance de calcul rattrape ses faiblesses th\u00e9oriques. La bonne pratique consiste \u00e0 anticiper, \u00e0 suivre les recommandations des organismes de normalisation et \u00e0 migrer vers des algorithmes modernes comme SHA-256 avant qu&#8217;une attaque ne devienne accessible au plus grand nombre.<\/p>\n<p>SHAttered restera comme un rep\u00e8re historique : la d\u00e9monstration publique, v\u00e9rifiable et reproductible que SHA-1 ne pouvait plus prot\u00e9ger l&#8217;int\u00e9grit\u00e9 des donn\u00e9es. La paire de PDF qui partage l&#8217;empreinte 38762cf7f55934b34d179ae6a4c80cadccbb7f0a en est la trace tangible.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le jour o\u00f9 SHA-1 a c\u00e9d\u00e9 Le 23 f\u00e9vrier 2017, les chercheurs du CWI Amsterdam et de Google ont annonc\u00e9 conjointement avoir produit la premi\u00e8re collision pratique de l&#8217;algorithme de\u2026<\/p>\n","protected":false},"author":2,"featured_media":21,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-14","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cryptography"],"_links":{"self":[{"href":"https:\/\/shattered.io\/fr\/wp-json\/wp\/v2\/posts\/14","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/shattered.io\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/shattered.io\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/shattered.io\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/shattered.io\/fr\/wp-json\/wp\/v2\/comments?post=14"}],"version-history":[{"count":0,"href":"https:\/\/shattered.io\/fr\/wp-json\/wp\/v2\/posts\/14\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/shattered.io\/fr\/wp-json\/wp\/v2\/media\/21"}],"wp:attachment":[{"href":"https:\/\/shattered.io\/fr\/wp-json\/wp\/v2\/media?parent=14"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/shattered.io\/fr\/wp-json\/wp\/v2\/categories?post=14"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/shattered.io\/fr\/wp-json\/wp\/v2\/tags?post=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}