Qu'est-ce que réellement SHA-256 Cuadernos Lacre · Concept · 19 mai 2026 https://solo2.net/fr/carnets/articulos/ce-qu-est-reellement-le-sha-256.html Une empreinte mathématique qui tient en soixante-quatre caractères et qui change entièrement si une seule virgule du texte original est déplacée. Pourquoi nous l'appelons sceau de cire numérique. --- L'idée simple derrière le nom technique Imaginez qu'il existe une machine avec une seule fente et un seul écran. Par la fente, vous introduisez un texte : un mot, une phrase, un roman entier. Sur l'écran apparaît, quelques instants plus tard, une séquence d'exactement soixante-quatre caractères. Cette séquence, pour le lecteur professionnel, nous l'appelons hash ou résumé cryptographique ; pour le lecteur général, nous pouvons l'appeler pour l'instant une empreinte mathématique du texte, tout comme l'empreinte digitale l'est pour une personne. Si vous introduisez le même texte deux fois, la machine affiche la même empreinte les deux fois. Si vous introduisez un texte légèrement différent — une seule virgule déplacée, une majuscule qui devient minuscule — la machine affiche une empreinte complètement différente de la première. Pas semblable : différente. Ces deux propriétés ensemble — le déterminisme et la sensibilité — sont l'idée simple. Tout le reste du SHA-256 est la machinerie qui les fait bien respecter. Il convient de dire dès le départ ce que la machine ne fait pas. Elle ne chiffre pas le texte. Elle ne le cache pas. Elle ne le garde pas. La machine regarde le texte, calcule l'empreinte, et oublie le texte. L'empreinte ne permet pas de reconstruire le texte qui l'a produite ; elle permet seulement, étant donné un texte candidat, de vérifier s'il coïncide ou non avec l'original. C'est pourquoi nous disons que c'est un résumé à sens unique : on y va, on n'en revient pas. Un hash n'est pas la même chose que chiffrer La confusion est fréquente et il convient de la dissiper : chiffrer et hacher sont des opérations distinctes. Chiffrer consiste à transformer un texte de manière à ce que seul le détenteur de la clé puisse le ramener à sa forme originale. Hacher consiste à produire une empreinte du texte à partir de laquelle le texte original ne peut jamais être récupéré, avec ou sans clé. La première est réversible par conception ; la seconde, irréversible par conception. La conséquence pratique importe. Lorsqu'une application dit « nous gardons votre mot de passe chiffré », il y a quelqu'un qui possède la clé pour le déchiffrer — l'application elle-même, en tout cas. Lorsqu'une application dit « nous gardons votre mot de passe haché », l'application elle-même ne peut pas lire le mot de passe original même si elle le voulait ; elle peut seulement vérifier si celui que vous tapez produit à nouveau la même empreinte. Le second modèle, bien fait, est bien préférable au premier pour stocker des mots de passe. Nous verrons plus tard pourquoi « bien fait » exige un peu plus que le seul SHA-256. Les quatre propriétés qui rendent un hash cryptographique utile Une fonction de hachage qui mérite l'adjectif cryptographique remplit quatre propriétés : 1. Déterminisme. La même entrée produit toujours la même empreinte. 2. Effet avalanche. Un petit changement dans l'entrée produit une empreinte complètement différente, sans ressemblance visible avec la précédente. 3. Résistance à l'inversion. Étant donné une empreinte, il n'est pas informatiquement viable de trouver le texte qui l'a produite. 4. Résistance aux collisions. Il n'est pas informatiquement viable de trouver deux textes différents qui produisent la même empreinte. « Pas informatiquement viable » ne signifie pas « mathématiquement impossible ». Cela signifie que le coût en temps, en énergie et en argent pour y parvenir dépasse d'ordres de grandeur la somme de toute la capacité de calcul raisonnablement disponible. Pour le SHA-256, cette limite se mesure en milliers de milliards d'années, même pour les approches les plus optimistes avec un matériel spécialisé. Ce qui, pour les besoins pratiques du lecteur, revient au même que « c'est impossible ». SHA-256, en particulier Le nom dit tout. SHA est l'acronyme de Secure Hash Algorithm : algorithme de hachage sécurisé. Le nombre 256 indique la taille de l'empreinte en bits : deux cent cinquante-six bits, soit trente-deux octets, qui, affichés en hexadécimal, correspondent aux soixante-quatre caractères que le lecteur reconnaît déjà. Le standard a été publié par le NIST américain, l'organisme qui normalise ce type de fonctions, en 2001 dans le cadre de la famille SHA-2 ; la version actuelle du standard, FIPS 180-4, date de 2015. Les dimensions méritent un instant. Deux cent cinquante-six bits permettent deux à la puissance deux cent cinquante-six valeurs différentes : un nombre à soixante-dix-huit chiffres décimaux, plusieurs ordres de grandeur supérieur au nombre estimé d'atomes dans l'univers observable. Chaque texte au monde — chaque livre, chaque e-mail, chaque message — tombe sur l'une de ces valeurs. La probabilité que deux textes différents coïncident par hasard est, à toutes fins pratiques, indiscernable de zéro. À quoi cela ressemble en code Pourquoi nous l'appelons sceau de cire Dans la correspondance européenne du XVe au XIXe siècle, la cire fermait la lettre. Une goutte de cire fondue, un sceau pressé dessus, et la lettre était marquée de manière unique. Elle ne protégeait pas le contenu du curieux décidé — le papier pouvait être lu à contre-jour, la cire pouvait être brisée — mais elle le prouvait. Toute altération de la fermeture était visible par le destinataire avant même d'ouvrir le papier. La cire n'empêchait pas le dommage ; elle le déclarait. Le SHA-256 du corps de chaque Cuaderno remplit la même fonction dans sa version numérique. Si un seul mot de l'article changeait entre le moment où il a été publié et le moment où vous le lisez, le sceau hexadécimal au bas du texte ne correspondrait plus au SHA-256 du texte que vous avez devant vous. N'importe quel lecteur avec cinq lignes de code pourrait le vérifier. La publication ne peut pas réécrire son histoire sans que le sceau ne la trahisse. Elle ne protège pas contre le dommage ; elle le rend vérifiable. Ce qu'un hash n'est pas Quatre usages sont parfois demandés au SHA-256 alors qu'ils ne lui correspondent pas : 1. Chiffrer. Un hash résume ; il ne cache pas. Si vous voulez que le texte ne puisse pas être lu, vous devez le chiffrer, pas le hacher. 2. Authentifier l'auteur. Un hash ne dit pas qui a écrit le texte, seulement quel texte a été haché. Pour associer une paternité, il faut une signature cryptographique sur le hash, pas le hash seul. 3. Stocker des mots de passe. Il y a ici un piège qu'il convient de comprendre. Le SHA-256 est conçu pour être très rapide — ce qui est bon pour beaucoup de choses, mais mauvais pour celle-ci. Un attaquant doté d'un matériel spécialisé peut tester des milliards de mots de passe par seconde contre un hash SHA-256 jusqu'à trouver le vôtre. Pour enregistrer des mots de passe, il faut utiliser des fonctions de dérivation de clé délibérément lentes comme Argon2, scrypt ou bcrypt, combinées à un sel (une donnée aléatoire unique par utilisateur, qui empêche deux personnes ayant le même mot de passe d'avoir le même hash). 4. Lire le hash comme identifiant de l'auteur. Ce n'est pas le cas. Un hash identifie le contenu. Si deux personnes hachent le mot bonjour avec SHA-256, elles obtiennent toutes les deux le même résumé — et c'est la propriété centrale, pas un défaut : s'il s'agissait de résumés différents, nous ne pourrions pas vérifier la coïncidence entre ce qui est publié et ce qui est reçu. Où apparaît SHA-256 dans votre quotidien Même si vous ne le voyez pas, le SHA-256 soutient une bonne partie de ce que vous utilisez quotidiennement sur Internet. La chaîne de blocs Bitcoin se construit en enchaînant le SHA-256 de chaque bloc au suivant ; modifier un bloc passé oblige à recalculer toute la chaîne ultérieure. Git, le système avec lequel est versionné le code de la moitié du monde, identifie chaque commit par le SHA-256 (dans les versions récentes) ou par son prédécesseur SHA-1 (dans les versions plus anciennes) de son contenu complet. Les certificats HTTPS qui vérifient l'identité d'un site web lorsque vous y entrez portent une empreinte SHA-256 associée. Les téléchargements de logiciels sont souvent accompagnés d'un SHA-256 publié par le développeur pour que vous puissiez vérifier que le fichier n'a pas été altéré en cours de route. Et, comme nous l'avons dit, au bas de chaque Cuadernos Lacre. Pour le lecteur professionnel Quatre rappels opérationnels pour celui qui décide ou audite des systèmes : 1. Hash n'est pas chiffrement. Si un fournisseur confond les deux termes dans sa documentation technique, il convient de demander ce qu'il veut dire exactement. 2. Pour stocker des mots de passe, il ne faut jamais utiliser SHA-256 seul. SHA-256 est too rapide pour cette tâche (voir point 3 de Ce qu'un hash n'est pas). Le standard actuel est Argon2id : lent par conception, configurable selon la capacité du serveur, combiné à un sel aléatoire différent par utilisateur. 3. Pour l'intégrité des documents — contrats, dossiers, fichiers — SHA-256 reste la norme de référence. C'est celui utilisé par les horodateurs qualifiés dans l'UE. 4. Pour une conservation à long terme (décennies), il convient de calculer et d'archiver également un SHA-3 ou un SHA-512 aux côtés du SHA-256 ; la prudence cryptographique recommande de ne pas s'appuyer sur une seule fonction lors d'archivages centenaires. Imaginez que vous ayez monté le circuit de dominos le plus élaboré au monde : des milliers de pièces, des dizaines de bifurcations, des ponts mécaniques et des rampes traversant toute la pièce, soigneusement placés pièce par pièce. Si vous touchez la première pièce, la chaîne tombe selon une séquence précise et reproductible. Même montage, même touche initiale → motif final identique de pièces tombées, encore et encore. Voici ce qui est intéressant : déplacez une seule pièce d'un demi-centimètre sur le côté avant de commencer et touchez à nouveau. Une rampe qui devait s'activer reste inerte, un pont ne tombe pas, une bifurcation différente se déclenche. Le motif final de pièces au sol est complètement méconnaissable par rapport au premier. SHA-256 est mathématiquement ce circuit. Le texte que vous écrivez est la position initiale des pièces. L'algorithme est la touche qui libère la cascade. Et le résultat final — ce que nous appelons hash — est la photo figée du sol quand tout s'est arrêté. Changez une seule virgule du texte original et la photo sera radicalement différente. C'est aussi simple, et aussi drastique que cela. --- Si vous revenez au bas de cet article, vous verrez un sceau hexadécimal de soixante-quatre caractères. C'est le SHA-256 du texte que vous venez de lire, dans cette langue. Si nous traduisions l'article, le sceau serait différent ; si un mot de la version espagnole changeait, le sceau espagnol changerait. Le sceau ne protège pas le contenu — d'autres outils sont là pour cela — mais il l'identifie de manière unique. Et cela, aussi modeste que cela puisse paraître, suffit pour qu'aucune étape de la chaîne éditoriale ne puisse altérer ce qui a été dit sans que cela ne se remarque. Le reste — chiffrer, signer, identifier — se construit sur cette idée simple. Sources et lectures complémentaires - NIST — FIPS PUB 180-4: Secure Hash Standard (SHS), août 2015. Spécification officielle de la famille SHA-2, y compris SHA-256. - RFC 6234 — US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF), IETF, mai 2011. Version normative pour les implémenteurs. - Ferguson, N.; Schneier, B.; Kohno, T. — Cryptography Engineering: Design Principles and Practical Applications (Wiley, 2010). Les chapitres 5 et 6 traitent des fonctions de hachage et de leurs utilisations légitimes et illégitimes. - Nakamoto, S. — Bitcoin: A Peer-to-Peer Electronic Cash System (2008). Exemple pratique de l'utilisation de SHA-256 pour enchaîner les blocs dans une structure immuable par construction. - Règlement (UE) 910/2014 (eIDAS) — cadre pour les prestataires de services d'horodatage électronique qualifiés. SHA-256 est la fonction de référence pour les signatures et sceaux électroniques qualifiés émis dans l'UE. - Implémentation de référence en Zig : std.crypto.hash.sha2.Sha256 dans le dépôt officiel du langage (github.com/ziglang/zig → lib/std/crypto/sha2.zig). C'est la version optimisée et auditée qu'utilise Solo2. Utile pour comparer avec l'implémentation didactique de l'appendice. --- Cuadernos Lacre · Une publication de Menzuri Gestión S.L. · écrite par R.Eugenio · éditée par l'équipe de Solo2. https://solo2.net/fr/carnets/