Bonjour amiaplacidus,
Une fonction de hachage est une fonction h possédant les deux propriétés suivantes :
1. propriété de compression : pour tout x, le nombre h(x) est de taille fixée
2. Facilité de calcul : h(x) se calcule facilement
Une fonction de hachage sert à produire une empreinte courte d’un message indépendamment de sa longueur. Elle permettra par exemple de contrôler l’intégrité des données. On peut aussi imaginer, pour signer un message, de signer un haché bien choisi (pour avoir une signature courte). Pour réaliser cet objectif, nous devons imposer des contraintes à notre fonction de hachage.
Soit h : X -> Y une fonction de hachage.
1. h est dite à sens unique si, pour presque tout y de Y, il est calculatoirement infaisable de trouver x tel que y = h(x)
2. h est dite faiblement sans collision si, pour x donné, il est calculatoirement infaisable de trouver x’ tel que h(x’) = h(x)
h est dite sans collision s’il est calculatoirement infaisable de trouver x et x’ tels que h(x) = h(x’)
En pratique, le haché d’un message peut être vu comme une empreinte d’un message ou un condensé. La propriété d’être sans collision permet de se prémunir contre des attaques sur l’intégrité d’un message. Supposons, par exemple, qu’un message M soit déposé sur une page Internet et qu’on l’y laisse pendant plusieurs jours. Comment savoir si le message n’a pas été modifié ? Une solution simple consiste, avant de déposer le message, à calculer une empreinte h(M) par une fonction de hachage h. Pour savoir si le message a été modifié, on calcule une empreinte (ou un haché) du message M’ que l’on a retrouvé. Si h(M’) = h(M), alors nécessairement M = M’. En effet, pour un haché h(M) donné, la propriété d’être faiblement sans collision assure que l’on ne peut (en pratique) trouver M’ différent de M tel que h(M’) = h(M). Garder un haché d’un message pour une comparaison postérieure avec le haché du même message éventuellement modifié permet donc de vérifier l’intégrité d’un message.
Dans le cas précédent, on utilise simplement la notion d’être faiblement sans collision. [Nous verrons comment] le fait d’être aussi sans collision peut être nécessaire comme, par exemple, pour la signature électronique. Dans ce cas, on signe (en pratique) un haché ; le fait de ne pas être capable de trouver une collision à priori garantit la non-répudiation d’un message, à savoir que le signataire a bien signé un message donné et pas un autre (avec le même haché).
source : Licence 3 cours de Mathématiques appliquées ed. Pearson p.462
Concernant la technologie Bitcoin, la fonction de hachage employée est le SHA256 (conçue par la National Security Agency des États-Unis (NSA)) et renvoie une empreinte de longueur fixe sur 256 bits (quel que soit la longueur du message).
De nombreuses sociétés dans le monde on conçu des machines uniquement dédiées au calcul de fonctions de hachage SHA256 en vue de profiter de la création monétaire du réseau Bitcoin. Ces machines sont nommées ASIC et ne servent qu’à cela, faisant ainsi du réseau Bitcoin de loin la plus grande puissance de calcul au monde pour SHA256.
N’hésitez pas à me demander plus de précisions.
24/08 20:51 - Macaque
Je reviens sur le passage : "Pour moi dans ce deuxième cas à moins d’introduire (...)
24/08 20:25 - Macaque
Bonjour, me revoilà. Je pense que la vision théorique que vous avez du rôle du banque fausse (...)
16/08 15:05 - ObjectifObjectif
Bonjour Macaque, Il est difficile d’être d’accord avec une phrase qui dit une (...)
15/08 00:13 - Macaque
De toute manière on s’est fortement éloigné du sujet. Le point de départ étant il me (...)
15/08 00:10 - Macaque
Je crains ne ne pas avoir été clair, et comme je ne pourrais plus vous répondre dans (...)
14/08 23:38 - Macaque
Car si je vous cites, vous disiez : "Toujours est-il que je dois vous demander si vous avez (...)
Agoravox utilise les technologies du logiciel libre : SPIP, Apache, Ubuntu, PHP, MySQL, CKEditor.
Site hébergé par la Fondation Agoravox
A propos / Contact / Mentions légales / Cookies et données personnelles / Charte de modération