Skip to content
BlockchainSign
fr

Ce que le hash ne révèle pas

Par Publié le

Ce que le hash ne révèle pas
Photo: Markus Winkler

L'argument de confidentialité du timestamping basé sur les hashes repose sur une propriété : un hash ne vous apprend rien sur l'élément dont il est issu. C'est vrai, il vaut mieux le comprendre que d'y croire sur parole, et cela comporte exactement une réserve.

Qu'est-ce qu'un hash

SHA-256 prend n'importe quelle entrée, quelle que soit sa longueur, et produit une sortie fixe de 256 bits — soit 64 caractères hexadécimaux. La même entrée produit toujours la même sortie. Une modification d'un seul bit génère un résultat totalement différent.

Il s'agit d'une fonction à sens unique : facile à calculer dans le sens direct, impossible à inverser. Ce n'est pas du chiffrement. Il n'y a pas de clé, et rien à déchiffrer.

"hello"  → 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
"hello!" → ce06092fb948d9ffac7d1a376e404b26b7575bef38f9c1b4e7b3fc0d8e4e93e5

Deux entrées distantes d'un caractère, deux sorties totalement indépendantes. C'est intentionnel, et c'est pourquoi un hash ne fuit aucune information sur le contenu.

Ce que la publication d'un hash ne révèle pas

Presque tout :

  • Le contenu. Aucun texte, aucune image, aucune donnée.
  • Le type de fichier. Un PDF, une photographie et une feuille de calcul produisent tous une chaîne de 64 caractères.
  • La taille. Un fichier d'un octet et un fichier de dix gigaoctets ont un hash de la même longueur.
  • Le nom du fichier, l'auteur, les dates ou toute métadonnée, sauf si elles se trouvent à l'intérieur du fichier.
  • S'il ressemble à autre chose. Des fichiers similaires produisent des hashes complètement distincts. Il n'y a pas de correspondance partielle.

Cette dernière propriété est ce qui rend la publication sûre. On ne peut pas comparer un hash avec un autre pour voir si les fichiers sont similaires — seulement s'ils sont identiques.

L'unique réserve

Il existe une exception réelle, et elle mérite d'être exposée clairement plutôt que dissimulée.

Si un document a très peu de valeurs possibles, quelqu'un peut deviner et vérifier. Hasher chaque candidat et comparer.

Disons que vous horodatez un document dont le contenu entier est un nombre entre 1 et 1 000. Un attaquant hache les mille possibilités et trouve le vôtre instantanément. Il en va de même pour une courte phrase tirée d'un ensemble prévisible, une date, un nom unique, ou un modèle avec un seul champ variable.

Ce n'est pas une faiblesse de SHA-256 — il fait exactement ce qu'il doit faire. Le problème est que l'espace des entrées était suffisamment petit pour être exploré.

Quand cela compte : horodater un contenu très court et hautement prévisible.

Quand cela ne compte pas : tout document réel. Un contrat, un manuscrit, un fichier CAO, une photographie, une feuille de calcul — l'espace des fichiers possibles est astronomiquement grand, et deviner n'est pas une stratégie.

La solution, si nécessaire : inclure quelque chose d'imprévisible. Les documents réels le font déjà, car ils contiennent du texte unique, des horodatages ou des données. Si vous devez réellement vous engager sur une valeur minuscule, ajoutez une chaîne aléatoire et conservez-la avec le document — le hash couvrira alors quelque chose d'imprévisible.

Pourquoi cela importe pour l'horodatage

Parce que c'est la propriété sur laquelle tout le reste repose.

Votre fichier est hashé dans votre navigateur. Le résultat de 64 caractères est transmis, et c'est lui qui apparaît sur un registre public de manière permanente. Si cette chaîne révélait quoi que ce soit sur le document, sa publication serait une divulgation — et le produit entier serait inutilisable pour les matériaux confidentiels qu'il est censé protéger.

Ce n'est pas le cas. C'est pourquoi un design breveté avant la patente, un manuscrit, un document d'accord sous NDA ou un secret commercial peuvent être horodatés sans rien quitter votre machine. Voir comment prouver un secret commercial sans le divulguer.

Vous pouvez vérifier le mécanisme plutôt que d'y faire confiance : le générateur de hash SHA-256 gratuit fonctionne entièrement dans votre navigateur, et fonctionne même avec votre connexion coupée.

L'autre face de la même propriété

Parce qu'un hash ne révèle rien, il ne prouve rien non plus par lui-même.

Un hash sans le fichier est une chaîne sans signification. Pour utiliser un timestamp, vous devez produire le fichier original et démontrer qu'il hash vers la valeur enregistrée. Perdez le fichier et le record prouve que quelque chose existait, et rien de plus.

C'est le compromis au cœur de la conception : une confidentialité totale, au prix de la nécessité de conserver le fichier. C'est un bon échange, et ce n'est pas gratuit.

Questions fréquentes

Quelqu'un peut-il inverser un hash SHA-256 pour obtenir mon fichier ?
Non. SHA-256 est une fonction à sens unique, pas du chiffrement — il n'y a pas de clé et rien à déchiffrer. La seule façon de trouver une entrée correspondant à un hash est de deviner des candidats et de les hasher, ce qui est irréalisable pour tout autre chose que du contenu très court et hautement prévisible.
La publication d'un hash révèle-t-elle quoi que ce soit sur mon document ?
Rien sur le contenu, le type, la taille, le nom du fichier ou les métadonnées, et même pas sur le fait qu'il ressemble à un autre fichier — des entrées similaires produisent des hashes complètement distincts, donc il n'y a pas de correspondance partielle. La seule exception concerne le contenu tiré d'un très petit ensemble de possibilités, qui peut être trouvé par devinettes et vérifications.
Quand le hashing n'est-il pas suffisant pour la confidentialité ?
Quand l'espace des entrées est minuscule — un nombre dans une petite plage, un nom unique, une date, ou un modèle avec un seul champ variable. Quelqu'un peut hasher chaque candidat et comparer. Les documents réels ne sont pas vulnérables à cela, et si vous devez vous engager sur une valeur très courte, ajoutez une chaîne aléatoire et conservez-la avec le document.

Prouvez dès aujourd’hui que votre travail existait

Horodatez n’importe quel fichier sur la blockchain Ethereum et recevez un certificat infalsifiable, valable à vie. Votre fichier ne quitte jamais votre navigateur.