Il y a de fortes chances que, de retour dans la journée, vos amis et vous-même ayez créé un code pour vous faire passer des messages que personne d'autre ne pourrait comprendre. À tout le moins, vous connaissiez des gens comme ça.
Certains gars comme celui-là ont pris ce match au sérieux et en ont fait une 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 simple pour enfants est devenu ce que l’on appelle le cryptage, 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 quel hachage cryptographique est, son fonctionnement interne et ses applications.
Alors, sans plus tarder, passons directement au crible.
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 a plusieurs propriétés qui le distinguent de celui non cryptographique. Décrivons-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 connait, comme un fichier .zip ou .rar.
Le hachage crée un code pour les données en utilisant un algorithme de hachage. Le code représente une chaîne de caractères qui agissent comme une «empreinte digitale» de ce fichier.
Nous savons tous que les empreintes digitales sont petites, mais elles contiennent une quantité énorme de données. Vous savez, des choses comme nos noms, visages, adresses et autres informations sensibles. Le hachage est similaire – il faut un de taille arbitraire données et la transforme en une séquence relativement petite de caractères.
Peu importe la taille de l'entrée, vous obtenez toujours une sortie de longueur fixe quand hachage.
Exemples de fonction de hachage
Voici donc un exemple de la façon dont cela se produit. Pour cette démonstration, nous allons utiliser la solution sécurisée 256 bits. Algorithme de hachage, connu sous le nom de SHA-256. C’est l’un des plus algorithmes de hachage communset comme il se trouve – il est également utilisé par Bitcoin.
Message | Hachage du message |
salut | 3639EFCD08ABB273B1619E82E78C29A7DF02C1051B1820E99FC395DCAA3326B8 |
Bienvenue sur TechJury | B7FFC27E0A6F559E1F63A927B6132A42124CC790F9EFD0FCFF4C3B653AA0DF4B |
(Le contenu de cet article entier) | 9247D0E6C7A2A45976DCC3D2393A52658B6DDFC846d8AF5743400EA12FB9DE74 |
Vous voyez, bien que les messages soient de longueur différente, ils reçoivent 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, images, etc.
Qu'est-ce qui est génial chez hachage vous obtiendrez une valeur de hachage totalement différente même si vous faites le le plus petit des changements. Il est connu comme le effet d'avalanche.
Donc, si votre petite amie / petit ami supprime toutes les images 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?”Article, 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. Ceci 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 chaîne de blocs crypto-monnaie stockant des milliers de transactions quotidiennement.
Maintenant plongons plus profondément et voyons ce que hachage cryptographique signifie vraiment.
Explication du hachage cryptographique
Lorsque vous avez besoin de sécurité et de confidentialité, le hachage cryptographique entre en jeu. Les inconvénients de hachage cryptographique est-il généralement plus lent que les autres types de hash. Si vous avez besoin de hachage rapide 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 données non sensibles.
La principale différence entre le hachage non cryptographique et cryptographique est que ce dernier est extrêmement difficile à casser. Notez que ce n'est pas impossible. Encore, hachage cryptographique rend le craquage d'un hash 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 remplir plusieurs conditions pour être considérée comme sécurisée.
Propriété n ° 1 – Vitesse
Si vous aimez les mots de fantaisie – le fonctions de hachage cryptographiques devrait être efficace sur le plan informatique. Cela signifie que le fonction de hachage devrait être capable de produire un hash en une fraction de seconde.
La source: Blake2
Propriété n ° 2 – l'effet avalanche
L’effet avalanche signifie que même une modification mineure du message entraînera une modification majeure de la valeur de hachage.
Message | Hachage du message |
Bienvenue sur TechJury | B7FFC27E0A6F559E1F63A927B6132A42124CC790F9EFD0FCFF4C3B653AA0DF4B |
Bienvenue sur Techjury | 66251AE6324F670BF988465E49B9CEAA2F8C4E72E1D61336D3794301116C092B |
L’utilisation d’un «j» minuscule dans le deuxième message change le 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 permet de voir rapidement si des données ont été modifiées.
Propriété n ° 3 – la fonction de hachage cryptographique doit être déterministe
Cela signifie peu importe combien de fois vous utilisez un fonction de hachage pour le même entrée, vous aurez toujours le même sortie. Ceci est évident puisque si vous avez au hasard hachage pour le même message, tout le processus n'aurait aucun sens.
Propriété n ° 4 – Résistance avant l'image (fonction unidirectionnelle)
Cela signifie qu’il est très difficile d’entrer à l’entrée via la sortie.
En termes simples, vous ne peut pas inverser le fonction de hachage cryptographique pour obtenir les données. Cela ne signifie toutefois pas qu’il est impossible de voir le message.
Voici le deal.
Il existe deux méthodes pour trouver 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écomposé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.
Le pire scénario – vous le trouvez 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, en fonction du algorithme de hachage.
Par exemple, utilisons SHA-256. Dans ce cas, vous devez trouver 2256 -1 les valeurs de hachage en premier. C’est sûr de dire que cela ne peut pas être fait en plusieurs vies et en rester là.
À 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échiffrer un message chiffré, mais vous ne peux pas faire de même pour un hachage cryptographique.
Vous pouvez penser au hasch comme un smoothie. Vous ne pouvez pas extraire le message d’un hachage de la même manière que vous ne pouvez extraire la banane et le lait d’un smoothie.
Le chiffrement, par contre, s'apparente davantage à un coffre-fort. Il protège vos objets de valeur, mais il y a toujours clé ça l'ouvre.
Propriété no 5 – Résistance à la collision
Cela signifie que deux messages différents ne devrait pas pouvoir produire le même valeur de hachage. D'un point de vue mathématique, c'est impossible de toute façon.
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 est possible que deux messages différents produisent le même message hachage.
Pourtant, le fonction de hachage en cryptographie rend les chances d'un collision de hachage pratiquement négligeable.
Regardez.
Toutes ces propriétés assurent la sécurité et la facilité d'utilisation 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 différence fondamentale entre eux est la valeur de hachage produite par chacun et ses propriétés de sécurité.
Voici les plus couramment utilisés:
Algorithme de résumé de message (MD)
MD5 était la fonction de hachage de choix pour de nombreuses entreprises, mais était cassé1Un algorithme de hachage est considéré comme cassé lorsqu'il a réussi une attaque par collision ou par pré-image. en 2004. Néanmoins, de nombreux sites Web continuent à 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 est composée de MD2, MD3, MD4, MD5 (toutes cassées) et de MD6 (qui n’est pas si populaire que ça.)
Ici se trouve le exemple de fonction de hachage de MD5.
Message | MD5 hash |
Techjury | FECE553512085FF6B5E213C8EFF9F30D |
MD5 produit un 128 bits valeur de hachage avec 32 caractères de longueur.
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’a pas été largement utilisé. SHA-1 a essayé de les réparer, mais a été cassé en 2005.
SHA-2 et ses sous-classes sont couramment utilisés jusqu'à ce que SHA-3 se révèle être une fonction encore plus sécurisée.
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 leurs bits. valeurs de hachage. Jusqu'ici, il n'y a pas eu d'attaque réussie sur 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é de message d'évaluation de primitives d'intégrité RACE (RIPEMD)
Initialement, RIPEMD a été créé pour un projet de l’Union européenne appelé RIPE. Il y a 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 | RIPEMD-160 Digest |
Techjury | ca25dc64fb00c8becb21eddf50805fbc106eed00 |
Tourbillon
Ce hachage cryptographique nom de fonction n’a rien à voir avec le fabricant de l’appareil ménager. le Whirlpool Galaxie a inspiré le nom de l'algorithme.
Ce qui est intéressant à propos du 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 condensé représente une chaîne de 128 caractères.
C'est un Exemple du fonction de hachage cryptographique.
Message | Whirlpool hash |
Techjury | 2E9A775FA4450549FCB6F6CDC4761865715D46FF8003E93CC614EF7C9E3D42A93
D5A663B4E48674C5155417D686D81ABDBC12FB32A1B650C5E44F24E80156E7D |
Ce sont les plus algorithmes de hachage communs aujourd'hui.
Alors, maintenant que vous connaissez les bases du hachage, voyons ses applications dans la vie réelle.
Hashing dans les cryptomonnaies
Nous avons déjà expliqué ce que Bitcoin est et comment fonctionne la blockchain, nous allons donc tout droit au hachage.
le fonction de hachage cryptographique Crypto-monnaies est essentielle car elle garantit l’une des caractéristiques les plus importantes de la blockchain – immutabilité.
Puisque 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. Ensuite, ce dernier reçoit un horodatage. Une fois que les nœuds ont atteint un consensus, le bloc est ajouté à la blockchain. Non seulement le bloc a ses propre hash, mais il contient aussi le hash du précédent, les enchaînant ainsi tous ensemble.
En raison de l'effet d'avalanche, toute tentative d'altération d'un bloc n'est pas possible. Si quelqu'un tente de modifier une transaction dans un bloc, il doit également modifier chaque transaction consécutive. Une telle opération nécessiterait tellement de temps et de puissance de calcul 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 générer une adresse publique (clé) – SHA-256 et RIPEMD-160. Satoshi Nakamoto s’est chargé de cette tâche afin de mieux protéger les clés publiques et de réduire les risques de collision.
Ethereum, quant à lui, utilise le Keccak-256 algorithme de hachage, qui est le fondement de SHA-3.
Au moment de la rédaction de ce manuel, aucun de ces algorithmes n’a été attaqué avec succès.
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 de mot de passe
Il existe quatre techniques principales utilisées par les entreprises pour stocker nos mots de passe – en texte brut, avec cryptage et avec 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 des mots de passe en texte brut – un grand non-non
Stocker des mots de passe en texte brut est, eh bien… exactement ce que cela ressemble.
Comme ça:
Nom d'utilisateur: John Smith
Mot de passe: johnsmith93
La base de données de la société contient les mêmes informations – utilisateur: John Smith, passe: johnsmith93.
Cela devrait être évité si les entreprises attachent de l'importance à la vie privée de leurs clients. (J'espère que quelqu'un de Facebook va lire ceci.)
L’inconvénient de cette méthode est évidente: si des cybercriminels s’infiltrent dans la base de données de la société, 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 ça fonctionne:
Nom d'utilisateur: John Smith
Mot de passe: johnsmith93
Lorsque la société utilise le chiffrement pour protéger votre mot de passe, l'entrée de la base de données se présente comme suit:
Nom d'utilisateur: John Smith
Mot de passe: I8Zdy1QBthsk2ie1HHsl + 66bf20fDDcdCtXURqa07iQ =
Si un cybercriminel obtient ce mot de passe, il est inutile: il ne peut l’utiliser pour pénétrer dans le compte. Pourtant, il peut, en théorie, être déchiffré.
Si un acteur malveillant obtient votre mot de passe crypté, il peut le décrypter à l'aide de divers outils. Néanmoins, cela prend plus de temps et nécessite davantage de compétences en informatique que la simple obtention d'un mot de passe en texte brut.
Heureusement, il existe des algorithmes de cryptage suffisamment puissants pour protéger efficacement les mots de passe.
Stockage des mots de passe via un algorithme de hachage
Hacher et cryptage sont souvent confondus avec la même chose et utilisés de manière interchangeable. Pourtant, il existe 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 dit, si un cybercriminel obtient le hash de votre mot de passe, il ne peut généralement rien faire avec.
Il existe de nombreuses fonctions de hachage 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é, il existe de grandes listes de messages et leurs hachages. Malheureusement, des 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 allons utiliser un exemple différent dans ce cas.
Exemples de fonctions de hachage dans le stockage de mots de passe
Disons que votre mot de passe est 123456. (N’utilisez jamais celui-là, créer un mot de passe fort au lieu.)
Voici son hash si nous utilisons le SHA-256 algorithme de hachage:
8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
Malheureusement, ce hachage se configure dans une liste de messages désagrégés.
Le problème avec cela est encore plus grand parce que beaucoup de gens utilisent le même mot de passe. Ainsi, 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 utilisant 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 à frire et les mettra au feu.
Néanmoins, vous pouvez faire plusieurs choses pour empêcher que cela ne se produise.
D'abord et avant tout, utilisez un mot de passe fort et créez différents mots de passe pour différents comptes.
L’autre chose que vous pouvez faire est d’ajouter «sel”Au hash. UNE hash salé ajoute une valeur supplémentaire à votre mot de passe et produit un mot de passe hash pour chaque entrée.
Par exemple, chaque utilisateur qui utilise le mot de passe 123456 et «sels» recevra un hachage différent.
Chaque exemple est un hash salé de 123456.
$ 2a $ 10 $ pIxpMnhlQmt1t.EUYK1G / eHkb7Roo / XhPybKyFZSAqk / 50BW10a8.
$ 2a $ 10 $ sCLqOpeA4R.St / 8IaUWF9.m01MM4YbY.qTwbCY3.K5z.cd5lwxL6W
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 Dropbox, par exemple.
La source: Dropbox
C’est ainsi que l’on traite avec le hachage au quotidien, sans même s’en rendre compte.
Emballer
Pour résumer, le hachage présente de nombreux avantages.
Vous pouvez traiter n'importe quel type de données, que ce soit pour l'indexation ou pour vérifier les modifications. Cela rend le hachage utile pour les contrats, les téléchargements, le stockage de mots de passe, etc.
Les crypto-monnaies évoluent également. Pas seulement ceux que nous avons maintenant, mais de nouveaux joueurs se préparent pour rejoindre le plaisir. Même Facebook va libérer la Balance en 2020, nous sommes donc obligés d’utiliser encore plus le hachage.
Peut-être que Facebook ouvrira la voie à d’autres grandes entreprises pour la libération de 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 l’empreinte digitale de toute information – un fichier, un dossier, un bloc de transactions, etc. fonction de hachage à toute donnée, cette dernière reçoit une valeur de hachage.
Il consiste en 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 cryptage).
Les développeurs appliquent la cryptographie chaque fois qu’il est nécessaire de renforcer la sécurité et la confidentialité. 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 une correspondance longueur fixe chaîne de caractères, également connue sous le nom de 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-devises et le stockage de mots de passe et offre une sécurité améliorée.