Il y a de fortes chances que vous et vos amis ayez créé un code pour vous transmettre des messages que personne d'autre ne pouvait comprendre. À tout le moins, vous connaissiez des gens comme ça.
Certains gars comme ça ont pris ce jeu au sérieux et l'ont transformé en carrière.
D'autres sont devenus des magiciens – les soi-disant mentalistes. À l'aide de codes, ils utilisent leurs «pouvoirs mentaux» pour deviner des cartes, des nombres, etc.
Ce jeu enfant simple est devenu ce que l'on appelle le chiffrement, le hachage et toutes les autres fonctions, qui produisent un code apparemment illisible à partir d'une entrée donnée.
Aujourd'hui, nous allons plonger dans le monde magique du codage pour voir ce hachage cryptographique est, son fonctionnement interne et ses applications.
Alors, sans plus tarder, allons droit au but.
Qu'est-ce qu'un hachage cryptographique?
le fonction de hachage cryptographique est un type de fonction de hachage utilisé pour fins de sécurité. Il possède plusieurs propriétés qui le distinguent de celle non cryptographique. Décomposons-le étape par étape.
Qu'est-ce qu'un hachage?
Le hachage est la méthode utilisée pour compresser les données.
Pourtant, ce n'est pas la compression typique que tout le monde connaît, comme un fichier .zip ou .rar.
Le hachage crée un code pour les données à l'aide d'un algorithme de hachage. Le code représente une chaîne de caractères, qui agit comme une «empreinte digitale» de ce fichier.
Nous savons tous que les empreintes digitales sont petites, mais elles contiennent une énorme quantité de données. Vous savez, des choses comme nos noms, visages, adresses et autres informations sensibles. Le hachage est similaire – il faut de taille arbitraire morceau de données et le transforme en une séquence de caractères relativement petite.
Peu importe la taille de l'entrée, vous obtenez toujours une sortie de longueur fixe lors du hachage.
Exemples de fonctions de hachage
Voici donc un exemple de la façon dont cela se produit. Pour cette démonstration, nous utiliserons le Secure 256 bits Algorithme de hachage, connu sous le nom de SHA-256. C’est l’un des plus algorithmes de hachage courantset en fin de compte, il est également utilisé par Bitcoin.
Message | Hachage du message |
salut | 3639EFCD08ABB273B1619E82E78C29A7DF02C1051B1820E99FC395DCAA3326B8 |
Bienvenue chez TechJury | B7FFC27E0A6F559E1F63A927B6132A42124CC790F9EFD0FCFF4C3B653AA0DF4B |
(Le contenu de tout cet article) | 9247D0E6C7A2A45976DCC3D2393A52658B6DDFC846d8AF5743400EA12FB9DE74 |
Vous voyez, bien que les messages soient de longueur différente, ils obtiennent tous un hachage de 64 caractères. Ceci est également connu comme un valeur de hachage ou un digérer.
Vous obtiendrez le même résultat de longueur fixe si vous hachez un livre ou même le contenu d'une bibliothèque entière. Vous pouvez également le faire avec d'autres types de données – vidéos, photos, etc.
Ce qui est génial hachages est, vous obtiendrez une valeur de hachage entièrement différente même si vous faites le le plus petit des changements. Il est connu sous le nom de effet d'avalanche.
Donc, si votre petite amie / petit ami supprime toutes les photos que vous avez de votre ex, par exemple, le hachage du dossier changera. De cette façon, vous saurez que quelque chose ne va pas sans vérifier chaque image.
Voyons un autre exemple de la façon dont un fonction de hachage est utile dans la pratique. Pour l'exemple suivant, j'ai haché notre "Qu'est-ce qu'un VPN?", Et il ressemble à ceci:
Ensuite, j'ai supprimé un mot de l'article et je l'ai haché à nouveau. Voici le résultat:
La suppression d'un seul mot a complètement changé la valeurs de hachage. Cela est particulièrement utile si vous souhaitez vérifier si des modifications ont été apportées à un fichier.
C'est encore plus utile lorsque vous traitez de grandes quantités d'informations. Par exemple, une blockchain de crypto-monnaie stockant des milliers de transactions quotidiennement.
Maintenant, approfondissons et voyons ce que hachage cryptographique signifie vraiment.
Explication du hachage cryptographique
Lorsque vous avez besoin de sécurité et de confidentialité, hachage cryptographique entre en jeu. L'inconvénient de hachage cryptographique est-il généralement plus lent que les autres types de hachages. Si vous devez hacher rapidement et que vous n'avez pas besoin d'une sécurité de haut niveau, le hachage non cryptographique est préférable. Par exemple – si vous créez un index de certaines données non sensibles.
La principale différence entre le hachage non cryptographique et cryptographique est que ce dernier est extrêmement difficile à briser. Notez que ce n'est pas impossible. Encore, hachage cryptographique fait craquer un hachage presque impossible.
Pour qu'une fonction de hachage soit un hachage cryptographique, il doit avoir plusieurs propriétés.
Propriétés de la fonction de hachage cryptographique
Si vous souhaitez utiliser le hachage à des fins cryptographiques, la fonction de hachage doit satisfaire à plusieurs exigences pour être considérée comme sécurisée.
Propriété # 1 – Vitesse
Si vous aimez les mots fantaisistes – le fonctions de hachage cryptographiques devrait être efficace sur le plan des calculs. Cela signifie que fonction de hachage devrait être capable de produire un hachage en une fraction de seconde.
La source: Blake2
Propriété # 2 – l'effet d'avalanche
L'effet avalanche signifie que même un changement mineur du message entraînera un changement majeur valeur de hachage.
Message | Hachage du message |
Bienvenue chez TechJury | B7FFC27E0A6F559E1F63A927B6132A42124CC790F9EFD0FCFF4C3B653AA0DF4B |
Bienvenue chez Techjury | 66251AE6324F670BF988465E49B9CEAA2F8C4E72E1D61336D3794301116C092B |
L'utilisation d'un «j» en minuscule dans le deuxième message modifie code de hachage entièrement.
C'est simple exemple de fonction de hachage, mais vous avez l'idée. C'est très pratique et peut rapidement montrer si des données ont été modifiées.
Propriété # 3 – la fonction de hachage cryptographique doit être déterministe
Cela signifie que peu importe le nombre de fois que vous utilisez un fonction de hachage pour le même entrée, vous aurez toujours le même sortie. Cela est évident car si vous avez obtenu au hasard hachages pour le même message, l'ensemble du processus n'aurait aucun sens.
Propriété n ° 4 – Résistance à la pré-image (fonction unidirectionnelle)
Cela signifie qu'il est vraiment difficile d'accéder à l'entrée via la sortie.
En termes simples, vous ne peut pas inverser le fonction de hachage cryptographique pour accéder aux données. Pourtant, cela ne signifie pas qu'il est impossible de voir le message.
Voici l'affaire.
Il existe deux méthodes pour rechercher le message haché.
- Pour comparer le hachage à une liste de hachages existante, comme celle-ci: Dehash.me. Habituellement, les cybercriminels ont leurs propres bases de données de messages traduits (détraqués).
- Pour exécuter une attaque par force brute.
Pour casser un hachage avec force brute, vous devez choisir un message, le hacher et le comparer au hachage que vous avez. Meilleur scénario: vous l'obtenez dès le premier essai. Pourtant, les chances que cela se produise sont extrêmement petit.
Pire scénario: vous le trouverez lors de votre dernier essai. Cela signifie que vous devez hacher tous les messages possibles et les comparer à celui que vous avez. Le nombre est différent selon le algorithme de hachage.
Par exemple, utilisons SHA-256. Dans ce cas, vous devez trouver 2256 -1 valeurs de hachage en premier. Il est sûr de dire que cela ne peut pas être fait dans plusieurs vies et laissez-le à cela.
À présent.
La propriété de résistance à la pré-image du hachage cryptographique joue un rôle important dans la hachage vs chiffrement débat.
À plus pouvez décrypter un message crypté, mais vous ne peut pas faire de même pour un hachage cryptographique.
Vous pouvez considérer le hachage comme un smoothie. Vous ne pouvez pas extraire le message d'un hachage de la même manière que vous ne pouvez pas extraire la banane et le lait d'un smoothie.
Le cryptage, en revanche, ressemble plus à un coffre-fort. Il protège vos objets de valeur, mais il y a toujours un clé qui l'ouvre.
Propriété # 5 – Résistance aux collisions
Cela signifie que deux messages différents ne devrait pas pouvoir pour produire le même valeur de hachage. D'un point de vue mathématique, c'est de toute façon impossible.
Tu sais déjà valeurs de hachage avoir une longueur fixe. Cela signifie qu'il y a combinaisons de sortie limitées. Les entrées, en revanche, sont un infini nombre. Donc, en théorie, il y a une chance que deux messages différents puissent produire le même hachages.
Pourtant, le fonction de hachage en cryptographie fait la chance d'un collision de hachage pratiquement négligeable.
Regardez.
Toutes ces propriétés garantissent la sécurité et la convivialité d'un hachage cryptographique. Il est donc temps de rencontrer les différentes fonctions de hachage cryptographique.
Algorithmes de hachage courants
Il existe différentes classes (familles) d'algorithmes de hachage. La principale différence entre eux est la valeur de hachage que chacun produit et ses propriétés de sécurité.
Voici les plus utilisées:
Algorithme de résumé de message (MD)
MD5 était la fonction de hachage de choix pour de nombreuses entreprises, mais a été cassée1Un algorithme de hachage est considéré comme rompu en cas de collision réussie ou d'attaque de pré-image contre lui. en 2004. Pourtant, de nombreux sites Web continuent d'utiliser la fonction de hachage MD5 pour la vérification des fichiers.
Par exemple, lorsque vous téléchargez un fichier, vous pouvez comparer son hachage à celui du site pour vous assurer que personne ne l'a falsifié.
La famille MD se compose de MD2, MD3, MD4, MD5 (tous ces éléments sont cassés) et MD6 (qui n'est pas si populaire.)
Ici se trouve le exemple de fonction de hachage de MD5.
Message | Hachage MD5 |
Techjury | FECE553512085FF6B5E213C8EFF9F30D |
MD5 produit un 128 bits valeur de hachage avec une longueur de 32 caractères.
En raison de ses défauts, l'algorithme Message Digest n'est plus considéré comme un fonction de hachage cryptographique.
Garantir Algorithme de hachage (SHA)
La plus grande famille de fonctions de hachage cryptographiques se compose de quatre classes:
SHA-0 avait de nombreux défauts et n'était pas largement utilisé. SHA-1 a essayé de les réparer, mais s'est cassé en 2005.
SHA-2 et ses sous-classes sont couramment utilisées aujourd'hui jusqu'à ce que SHA-3 se révèle être une fonction encore plus sûre.
La famille SHA-2 comprend quatre membres – SHA-224, SHA-256, SHA-384 et SHA-512, qui diffèrent par le nombre de bits de leur valeurs de hachage. Jusqu'à présent, il n'y a pas eu d'attaque réussie contre le SHA-2 hachage cryptographique algorithme.
Voilà quelque exemples de fonctions de hachage en utilisant la classe SHA-2.
Message | Techjury |
SHA-256 | FF3E4985DAFF59392EAE60DEC66EC823CAF9575B81903729053A999B9B2C708E |
SHA-384 | 77653BC173A561E3378373F64E447FB3AEDC691F387BB599656E6AB63B9C5D34
523C298C59C94802A478F8C3F36E9CDF |
SHA-512 | C975F1074E969FAEA76C15084881F7694DE4D542F9E4DF934AFA52470952A362
25F7ED63D023AB05746DDAFDFED96D57A7AF5344EB91589A09952D102DD3AB04 |
Résumé des messages d'évaluation des primitives d'intégrité RACE (RIPEMD)
Initialement, RIPEMD a été créé pour un projet de l'Union européenne appelé RIPE. Il existe cinq fonctions de hachage dans la famille RIPEMD.
- RIPEMD
- RIPEMD-128
- RIPEMD-160
- RIPEMD-256
- RIPEMD-320
En 2004, il y a eu une collision dans le RIPEMD d'origine fonction de hachage. C’est pourquoi il n’est plus utilisé. Actuellement, RIPEMD-160 est le plus courant. Voici à quoi ça ressemble:
Message | Digeste RIPEMD-160 |
Techjury | ca25dc64fb00c8becb21eddf50805fbc106eed00 |
Tourbillon
Cette hachage cryptographique Le nom de la fonction n'a rien à voir avec le fabricant d'appareils électroménagers. le Galaxie tourbillon inspiré le nom de l'algorithme.
Ce qui est intéressant avec le Whirlpool algorithme de hachage est que l'un de ses créateurs est Vincent Rijmen, le co-créateur de AES2Standard d'encryptage avancé.
Whirlpool est un 512 bits fonction de hachage, et son résumé représente une chaîne de 128 caractères.
C'est un Exemple du fonction de hachage cryptographique.
Message | Hachage de tourbillon |
Techjury | 2E9A775FA4450549FCB6F6CDC4761865715D46FF8003E93CC614EF7C9E3D42A93
D5A663B4E48674C5155417D686D81ABDBC12FB32A1B650C5E44F24E80156E7D |
Ce sont les plus algorithmes de hachage courants aujourd'hui.
Donc, maintenant que vous connaissez les bases du hachage, voyons ses applications dans la vie réelle.
Hachage dans les crypto-monnaies
Nous avons déjà expliqué qu'est-ce que le Bitcoin et comment fonctionne la blockchain, nous allons donc procéder directement au hachage.
le fonction de hachage cryptographique est essentiel aux crypto-monnaies car il garantit l'une des fonctionnalités les plus importantes de la blockchain – immutabilité.
Étant donné que les chaînes de blocs de crypto-monnaie traitent un grand nombre de transactions, elles utilisent le hachage. Il s'agit d'une approche beaucoup plus pratique et sécurisée que de conserver chaque enregistrement de chaque transaction dans le grand livre.
Dans le cas de Bitcoin, les mineurs exécutent une série de fonctions SHA-256 pour créer le hachage d'un bloc. Ce dernier reçoit alors un horodatage. Une fois que les nœuds ont atteint un consensus, le bloc est ajouté à la blockchain. Non seulement le bloc a son propre hachage, mais il contient également hachage du précédent, les enchaînant ainsi tous ensemble.
En raison de l'effet d'avalanche, aucune tentative de falsification d'un bloc n'est possible. Si quelqu'un essaie de modifier une transaction dans un bloc, il doit également en modifier toutes les consécutives. Une telle opération nécessiterait tellement de puissance de calcul et de temps, qu’elle pratiquement impossible.
Cela fait du hachage une caractéristique cruciale de la sécurité de la blockchain.
À présent.
Différentes crypto-monnaies utilisent différents algorithmes de hachage dans leur blockchain.
Bitcoin, par exemple, utilise SHA-256 pour sa preuve de travail. Pourtant, Bitcoin utilise deux algorithmes de hachage pour générer une adresse publique (clé) – SHA-256 et RIPEMD-160. Cela a été fait par Satoshi Nakamoto pour fournir une meilleure protection des clés publiques et pour diminuer les risques de collision.
Ethereum, d'autre part, utilise le Keccak-256 algorithme de hachage, qui est le fondement de SHA-3.
Au moment de la rédaction de cet article, aucune de ces algorithmes n'avait réussi.
Même si vous n'êtes pas sur le marché des crypto-monnaies, vous utilisez toujours des fonctions de hachage tous les jours.
Comment ça?
Fonctions de hachage dans le stockage des mots de passe
Il existe quatre principales techniques utilisées par les entreprises pour stocker nos mots de passe – en texte brut, avec chiffrement et avec un fonction de hachage. La dernière méthode est une combinaison de deux ou plusieurs de ces techniques.
Voyons quelles sont les différences.
Stockage de mots de passe en texte brut – un grand non-non
Le stockage des mots de passe en texte brut est, eh bien… exactement à quoi cela ressemble.
Comme ça:
Nom d'utilisateur: John Smith
Mot de passe: johnsmith93
La base de données de l'entreprise contient les mêmes informations – utilisateur: John Smith, pass: johnsmith93.
Cela doit être évité si les entreprises apprécient la confidentialité de leurs clients. (Espérons que quelqu'un de Facebook lira ceci.)
L'inconvénient de cette méthode est évident: si les cybercriminels s'infiltrent dans la base de données de l'entreprise, ils peuvent voir tous les noms d'utilisateur et mots de passe.
Stockage des mots de passe à l'aide du cryptage
Le cryptage est un meilleur moyen de sécuriser les mots de passe. Il transforme votre mot de passe en une séquence illisible de chiffres et de lettres.
Voici comment cela fonctionne:
Nom d'utilisateur: John Smith
Mot de passe: johnsmith93
Lorsque l'entreprise utilise le cryptage pour protéger votre mot de passe, l'entrée de la base de données ressemble à ceci:
Nom d'utilisateur: John Smith
Mot de passe: I8Zdy1QBthsk2ie1HHsl + 66bf20fDDcdCtXURqa07iQ =
Si un cybercriminel obtient ce mot de passe, il est inutile – il ne peut pas l'utiliser pour pénétrer dans le compte. Pourtant, il peut, en théorie, être déchiffré.
Dans le cas où un acteur malveillant obtient votre mot de passe crypté, il peut le décrypter à l'aide de divers outils. Pourtant, cela prend plus de temps et nécessite de plus grandes compétences informatiques que d'obtenir simplement un mot de passe en texte brut.
Heureusement, il existe des algorithmes de chiffrement suffisamment puissants pour être une méthode sûre de protection des mots de passe.
Stockage de mots de passe via un algorithme de hachage
Hacher et chiffrement sont souvent confondus avec la même chose et utilisés de manière interchangeable. Pourtant, il y a un différence cruciale entre eux.
La fonction de hachage, comme le cryptage, transforme également votre mot de passe en une séquence illisible de chiffres et de lettres. La différence cruciale est que cela ne fonctionne que une manière. Contrairement au déchiffrement, vous ne pouvez pas inverser le processus de hachage.
Cela étant dit, si un cybercriminel obtient le hachage de votre mot de passe, il ne peut généralement rien y faire.
De nombreuses fonctions de hachage sont disponibles, mais utilisons SHA-256 pour notre exemple.
Nom d'utilisateur: John Smith
Mot de passe (haché): e7c95991f28e529b4d3b37611e5f3b6a6a43600ce148af0c42d3d38c06365af5
À présent.
Bien que le hachage ne puisse pas être inversé dans son texte d'origine, il existe de grandes listes de messages et leurs hachages. Malheureusement, les acteurs malveillants peuvent toujours pirater votre mot de passe s'ils obtiennent sa valeur de hachage. Heureusement, si vous utilisez un mot de passe fort, les chances que cela se produise sont incroyablement faibles. Nous utiliserons un exemple différent dans ce cas.
Exemples de fonctions de hachage dans le stockage de mots de passe
Supposons que votre mot de passe soit 123456. (N'utilisez jamais celui-ci, créer un mot de passe fort au lieu.)
Voici son hachage si nous utilisons le SHA-256 algorithme de hachage:
8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
Malheureusement, ce hachage est configuré dans une liste de messages hachés.
Le problème est encore plus important car de nombreuses personnes utilisent le même mot de passe. Donc, si une base de données est piratée et que les cybercriminels trouvent le hachage d'un mot de passe, ils peuvent l'utiliser pour chaque utilisateur qui utilise le même mot de passe. Sans oublier que beaucoup de gens utilisent le même mot de passe pour différents comptes, ce qui les sortira de la poêle et dans le feu.
Pourtant, vous pouvez faire plusieurs choses pour éviter que cela ne se produise.
Tout d'abord, utilisez un mot de passe fort et créez des mots de passe différents pour différents comptes.
L'autre chose que vous pouvez faire est d'ajouter "sel»Au hachage. UNE haschich salé ajoute une valeur supplémentaire à votre mot de passe et produit un autre hachage de mot de passe pour chaque entrée.
Par exemple, chaque utilisateur qui utilise le mot de passe 123456 et «sels» obtiendra un hachage différent.
Chaque exemple est un haschich salé de 123456.
$ 2y $ 10 $ pIxpMnhlQmt1t.EUYK1G / eHkb7Roo / XhPybKyFZSAqk / 50BW10a8.
$ 2y $ 10 $ sCLqOpeA4R.St / 8IaUWF9.m01MM4YbY.qTwbCY3.K5z.cd5lwxL6W
Alors, quelle est la meilleure façon pour une entreprise de protéger votre mot de passe?
C'est une combinaison de toutes les techniques mentionnées ci-dessus – comme le fait Dropbox, par exemple.
La source: Dropbox
C’est ainsi que vous traitez le hachage tous les jours, sans même vous en rendre compte.
Emballer
Pour résumer, le hachage présente de nombreux avantages.
Vous pouvez hacher n'importe quel type de données – que ce soit pour l'indexation ou pour vérifier les altérations. Cela rend le hachage utile pour les contrats, les téléchargements, le stockage des mots de passe, etc.
Les crypto-monnaies évoluent également. Pas seulement ceux que nous avons maintenant, mais de nouveaux joueurs se réchauffent pour rejoindre le plaisir. Même Facebook publiera Libra en 2020, nous sommes donc tenus d'utiliser encore plus le hachage.
Peut-être que Facebook ouvrira la voie à d'autres grandes entreprises pour libérer leurs propres crypto-monnaies – et pourquoi pas de nouveaux mécanismes de hachage? Seul le temps nous le dira.
À la prochaine!
FAQ
Q: Qu'est-ce qu'une valeur de hachage?
UNE: Vous pouvez penser à la valeur de hachage comme empreinte digitale de toute information – un fichier, un dossier, un bloc de transactions, etc. Une fois que vous fonction de hachage à toutes les données, ce dernier reçoit une valeur de hachage.
Il se compose d'une chaîne de caractères de longueur fixe – comme ceci:
Information | Valeur de hachage |
Bonjour | D44426ACA8AE0A69CDBC4021C64FA5AD68CA32FE |
Q: Qu'est-ce que la cryptographie?
UNE: La cryptographie est la méthode qui protège les données à l'aide de codes (comme le hachage et le chiffrement).
Les développeurs appliquent la cryptographie chaque fois qu’une sécurité et une confidentialité accrues sont nécessaires. Il transforme le texte brut (ou d'autres données) en une chaîne illisible de caractères aléatoires. Cela garantit la sécurité des informations des regards indiscrets.
Q: Qu'est-ce qu'une fonction de hachage?
UNE: le fonction de hachage est l'opération qui transforme des données de taille aléatoire en un longueur fixe chaîne de caractères, également appelée valeur de hachage.
Il existe deux classes de fonctions de hachage – non cryptographique et fonction de hachage cryptographique. Ce dernier est utilisé dans les crypto-monnaies et le stockage des mots de passe et offre une sécurité améliorée.