Non, non… oublions la fumette et tentons de résoudre, grâce au hash…, la problématique suivante : comment être sûr que vous avez téléchargé une version non altérée d’un logiciel ?
Prenons, par exemple, le logiciel LibreOffice que vous viendriez de télécharger. N’y aurait-il pas eu un personnage invisible entre la source du téléchargement située, disons à Sydney en Australie, et votre ordinateur portable situé chez vous dans le sud de la France ?
Sur ce long chemin fait de fibres optiques et de serveurs, n’y aurait-il pas eu ce mystérieux « Man In The Middle »? (traduction : un Homme se tenant au milieu…). Ce sournois n’aurait-il pas substitué à la bonne version de LibreOffice, une version contenant un malware, à savoir un logiciel malveillant ?
Ne serait-ce pas formidable qu’une empreinte, ou condensat, ou hash en
anglais
(https://fr.wikipedia.org/wiki/Fonction_de_hachage
) du logiciel
LibreOffice existe sous forme d’une
petite chaine de caractères de type 94EE059335..
qui deviendrait très
différente si un seul
élément du logiciel LibreOffice venait à être modifié malicieusement ?
Par exemple, avec la modification d’un seul élément, ou plus précisément
d’un seul bit,
donc 0
ou 1
en langage binaire informatique, l’empreinte deviendrait
désormais
65BAE0376..
, et non plus 94EE059335..
, révélant ainsi une corruption du
logiciel.
Une empreinte est le résultat d’une fonction mathématique de hachage à sens unique. Le principe a été inventé dans les années 1950. Ce type de fonction produit une empreinte unique de quelques dizaines de caractères hexadécimaux1, de longueur fixe, à partir de tout fichier, ou chaine de caractères, quelle que soit la taille.
Le calcul de l’empreinte est dit « à sens unique » du fait de l’impossibilité de faire le calcul inverse, à savoir, par exemple, partir de l’empreinte de LibreOffice pour retrouver le logiciel complet LibreOffice.
Pour une explication imagée, assez peu « vegan », pensons qu’un bœuf haché peut devenir une saucisse. Cette saucisse est unique car liée à ce bœuf unique et il est impossible de « recréer » le bœuf à partir de cette saucisse.
La famille la plus connue des fonctions de hachage est SHA (Secure Hashing Algorithm) telles que, entre autres, les fonctions SHA-1, SHA-256 et SHA-512.
Insistons bien sur ce point : une même donnée numérique quelconque, produit toujours le même hash (même empreinte) et toujours de la même longueur, soit 64 caractères pour la fonction SHA-256, quelle que soit la taille de la donnée numérique initiale (logiciel, texte, photo, vidéo, fichier PDF, etc.) !
Exemple : la donnée numérique « Test » (ou mot, ou chaine de caractères)
donnera
toujours, avec la fonction SHA-256, l’empreinte suivante :
532EAABD9574880DBF76B9B8CC00832C20A6EC113D682299550D7A6E0F345E
Maintenant si on enlève juste la majuscule, donc « test », cela donne
une empreinte SHA-
256 complètement différente :
9F86D081884C7D659A2FEAA0C55AD015A3BF4F1B2B0B822CD15D6C15B0F00A
Est-ce difficile d’obtenir l’empreinte d’un logiciel ou d’une chaine de caractères ? Pas du tout! Une myriade de logiciels la calculent en trois clics !
Quelques logiciels et sites de calcul d’empreinte :
HashCheck pour Windows https://code.kliu.org/hashcheck/
.
En ligne : https://www.tools4noobs.com/online_tools/hash/
ou
https://md5file.com/calculator
.
Pour les utilisateurs avancés, avec Linux et MacOS, tapez juste la ligne
de commande
suivante dans le terminal : shasum -a 256 ~/Desktop/LibreOffice..
Pour vérifier la non-corruption du logiciel, ne suffirait-il pas, depuis son ordinateur, de calculer l’empreinte de la version téléchargée de LibreOffice, à l’aide d’un logiciel, et de la comparer à l’empreinte annoncée comme la bonne sur le site officiel de l’éditeur de LibreOffice ?
En effet, c’est exactement ce qu’il faut faire! C’est la vérification proposée par quasi tous les sites de téléchargement de logiciels… mais bien peu d’entre nous prenons le temps de cette vérification, pour partie par manque de compréhension de ce procédé pourtant assez simple.
En quoi l’empreinte numérique est-elle vraiment fondamentale ?
Le condensat, synonyme d’empreinte, permet de nombreux usages, dont un particulièrement connu, au moins médiatiquement, à savoir l’incontournable blockchain !
La blockchain n’est finalement, en grande partie, qu’une succession d’empreintes chainées un peu dans l’esprit des poupées russes. Nous allons le voir en détails.
Plutôt que l’authentification de transactions monétaires (type Bitcoin, Monero, etc.), concentrons-nous sur l’authentification de documents (le fonctionnement est identique).
Quelques idées de documents qui pourraient être authentifiés : Vidéo d’un de vos exploits sportifs pouvant, sans cette authentification humaine, être soupçonné d’avoir été « créé par l’IA.. »
Imaginons concrètement devoir authentifier les 3 documents suivants :
Ces 3 documents essentiels doivent être attestés comme irréfutables par le bureau de l’association. Comment le bureau pourrait-il faire? Pourquoi ne pas utiliser une blockchain, ou chaine de blocs en français ?!
Prenons Alice, Bertrand et Cédric, les membres du bureau de l’association foopgp. Chacun de leur côté, ils vont calculer, avec le logiciel de leur choix, l’empreinte de ces trois documents avec la fonction de hachage SHA-256.
Ils vérifient ensuite qu’ils ont bien obtenu les mêmes empreintes et « chainent » alors ces trois empreintes pour en faire leur blockchain de trois blocs (une empreinte par bloc). Cette blockchain simplifiée demeure très sûre pour prouver leur confiance commune en ces documents.
Voyons comment dans les détails :
Création des 3 blocs de la blockchain associative simplifiée (+ le bloc Genesis)
Il contient l’empreinte SHA-256 des deux mots « Bloc Genesis » pour
initier la blockchain
(notion simplifiée pour cet article) :
782B37BF974FDE0C58E62106A9301B2580C88AD7B2D853CDB31200EBAEBD0C
Il contient l’empreinte SHA-256 du 1er document « Clé publique de
foopgp »:
D64732B47FA78219DF6CEA0C9B38357EE665BD15E60A22AA63AF742BF2FB
Nous calculons maintenant l’empreinte de ce 1er bloc qui correspond à l’empreinte des deux empreintes ci-après: [ l’empreinte du bloc Genesis + l’empreinte du document « Clé publique de foopgp » ] soit
782B37BF974FDE0C58E62106A9301B2580C88AD7B2D853CDB31200EBAEBD0C
+
D64732B47FA78219DF6CEA0C9B38357EE665BD15E60A22AA63AF742BF2FB
=
DF388B7F257E79D18E3A9C6BDD38BA3B827954B7B02FDCD8979FFAFEE0AA2F
Il contient l’empreinte SHA-256 du 2e document « Contrat de rachat de
Micromou par
foopgp » :
75ECE12943E867C7EE6F3829A4FC3B1360F31FB37D03592721B4CED85DF9F98D
Nous calculons maintenant l’empreinte de ce 2e bloc qui correspond à l’empreinte des deux empreintes ci-après : [ l’empreinte du 1er bloc + l’empreinte de « Contrat de rachat de Micromou par foopgp » ] soit
DF388B7F257E79D18E3A9C6BDD38BA3B827954B7B02FDCD8979FFAFEE0AA2F
+
75ECE12943E867C7EE6F3829A4FC3B1360F31FB37D03592721B4CED85DF9F98D
=
6C54B6DFB4AF4517476DDA63466ABCAD7B379D7044FDDE9CFC4D3FFAF71D27E
Il contient l’empreinte SHA-256 du 3e document « Rapport d’AG de
l’association
foopgp » :
49A1FE68117D8AFC2479CCE40F959B4A7EF0A457E431185E1F8BCFC7F27586D
Nous calculons maintenant l’empreinte de ce 3e bloc qui correspond à l’empreinte des deux empreintes ci-après : [ l’empreinte du 2e bloc + l’empreinte de « Rapport d’AG de l’association foopgp »
6C54B6DFB4AF4517476DDA63466ABCAD7B379D7044FDDE9CFC4D3FFAF71D27E
+
49A1FE68117D8AFC2479CCE40F959B4A7EF0A457E431185E1F8BCFC7F27586D
=
F843F767B214DA4B7FC358DCB255010AE48E2254E702A21D27D3709973EF
Pour attester que ces documents sont tels que ces empreintes l’indiquent, Alice, Bertrand et Cédric publient l’empreinte du dernier bloc dans leur descriptif twitter-X, facebook, telegram, sur le site foopgp.org, etc. Rappel : le dernier bloc garantit l’intégrité de tous les blocs précédents.
Ils publient donc cette empreinte du 3e et dernier bloc sur leurs réseaux :
F843F767B214DA4B7FC358DCB255010AE48E2254E702A21D27D3709973EF
Plus ils la publient sur de nombreux supports, plus la fiabilité du
processus est
augmentée. Si un attaquant voulait faire croire à une autre version de
leur blockchain,
donc à un ou des documents falsifiés, il devrait arriver à modifier
cette empreinte
F843F...
sur tous les supports, donc arriver à « hacker » chaque compte
twitter-x,
facebook, telegram, etc. des trois membres du bureau. Cela commence à être
compliqué…
Ainsi, le bénéfice essentiel de la blockchain, basée sur ces fonctions de hachage, est que toute personne malveillante faisant circuler, par exemple, une fausse clause dans le contrat de rachat de Micromou par foopgp, serait facilement contredite par cette authentification forte des documents par le bureau de l’association.
En résumé, toute blockchain, monétaire ou non, comme le Bitcoin, le Dji, l’Ether ou le Monero, utilise cette brique fondamentale qu’est le hash ou l’empreinte.
Pour obtenir une blockchain plus complète, une autre brique essentielle, non étudiée dans cet article, est la signature numérique. Elle se base elle-même sur la cryptographie asymétrique mais également, en partie, sur l’empreinte, encore elle !!! …
Au final, la blockchain repose bien sur les épaules du géant « Hash » et sur son Histoire avec une grande H…!
Le monde numérique rend toute description du réel aisément falsifiable par l’Homme ou l’IA. Et si ce bon vieux témoignage humain redevenait notre parade, une fois organisé en blockchain !? Retrouvons sa valeur d’antan grâce au hash… loin des enfumages…
Bons hachages et bonne propagation de la confiance à tous!
Marc Odef
En France, le 11 octobre 2025
Deux vidéos sur le net parmi des milliers sur le sujet
Hash SHA-256 de la photo d’illustration de Chantal & Ole / Unsplash (fumée - fond violet) AC9BDDDA0A03DDAA96B67EEAD3F34D0E35AB67D4100B78E4C585A6417138F5C
Les caractères hexadécimaux sont les 16 caractères suivants : 0
à 9
et A
à F
.
Ex : 94EE059335...
↩︎