Commentaires
- Hachez à nouveau la même entrée et comparez le hachage.
- SHA256 est un hachage cryptographique, pas un chiffrement … Et oui, le point est spécifiquement à sens unique. Je vous suggère dapprendre les bases mêmes de ces termes, par exemple même de Wikipedia. Ensuite, vous pouvez venir poser des questions plus spécifiques …
- Possible duplication de Pourquoi les fonctions de hachage sont-elles à sens unique? Si je connais lalgorithme, pourquoi est-ce que ' est-ce que je peux calculer lentrée à partir de celui-ci?
Répondre
Premièrement, il y a une différence entre hachage et cryptage . SHA256 est une fonction de hachage, pas une fonction de cryptage.
Deuxièmement, comme SHA256 nest pas une fonction de cryptage, il ne peut pas être décrypté. Ce que vous voulez dire, cest probablement linverser. Dans ce cas, SHA256 ne peut pas être annulé car il « sa fonction unidirectionnelle . Linverser entraînerait une attaque de préimage , qui va à lencontre de son objectif de conception.
Troisièmement, la vérification SHA256 fonctionne en la calculant à nouveau et en comparant le résultat avec le résultat actuel. Si les deux résultats correspondent, la vérification est réussie. Le contexte théorique est quil est difficile de trouver une autre entrée qui donne le même résultat de hachage. Le non-respect de cette règle crée une attaque de deuxième pré-image , qui va à lencontre de son objectif de conception.
Enfin, les signatures numériques ne sont pas simplement des combinaisons de hachage et clé . Mais une fonction de hachage peut améliorer sa sécurité.
Réponse
SHA256 nest pas une fonction de chiffrement mais un fonction de hachage . La différence fondamentale est que bien que le cryptage soit une fonction bidirectionnelle (étant donné la clé), le hachage nest quune fonction à sens unique: étant donné certaines données, vous pouvez calculer le hachage, étant donné le hachage, il est difficile (et mathématiquement impossible) de récupérer les données .
Jai dit quil est mathématiquement impossible de trouver les données à partir du hachage car généralement une fonction de hachage a un petit codomain (par exemple 256 bits pour SHA256) mais un grand domaine (vous pouvez hacher nimporte quelle chaîne), donc il y aura des collisions: différentes chaînes avec le même hachage.
Pour cette raison, si votre mot de passe est enregistré sous une forme hachée, alors il existe un mot de passe infini (mais ils peuvent être très longs) qui déverrouille votre compte.
La bonne nouvelle est que les collisions sont rares lorsque vous utilisez les fonctions de hachage cryptographique , votre compte est donc toujours en sécurité.
En répondant à la première partie de votre question, la vérification des données est facile: si Alice envoie à Bob un fichier avec la somme de contrôle de hachage, Bob peut facilement calculer le hachage de t le fichier quil a reçu et comparez-le avec le hachage reçu dAlice. Cela suffit généralement pour savoir sil y a eu une erreur lors de la transmission (le fichier est donc corrompu), mais ce nest pas suffisant si la transmission a été modifiée par un attaquant qui a également modifié le hachage. Donc, Alice et Bob ont besoin dun canal sécurisé pour transmettre le hachage (par exemple une page https avec un certificat valide) ou ils doivent signer le hachage dune manière ou dune autre.
Nous passons donc à la réponse à votre deuxième question: Alice peut signer le hash en utilisant sa clé privée avant de lenvoyer à Bob, de cette façon un attaquant ne peut pas la falsifier sans invalider la signature.
Vous pouvez maintenant demander pourquoi Alice signe uniquement avec sa clé RSA (ou similaire) le hachage et pas tout le message, cest parce que le calcul RSA est plus lent que le calcul dun hachage (donc elle ne doit faire la chose lente que sur une petite chaîne: le hachage). Cétait particulièrement vrai lorsque PGP a été créé et que les ordinateurs étaient plus lents.