Le hachage est une technique permettant de convertir des données en un code. Ce code est appelé hash et est généralement utilisé pour sécuriser des données importantes ou pour le mining. Dans cette leçon, nous allons parler du hachage. Ce n'est certainement pas facile, mais nous ne nous laisserons pas décourager. Nous y voilà.
✔️ Le hachage consiste à convertir un ensemble de données en un code, le hash, à l'aide d'un calcul prédéterminé.
✔️ Le hachage est souvent utilisé pour sécuriser les mots de passe afin que seul l'utilisateur puisse les lire et pour comparer les sommes de contrôle lors du téléchargement de fichiers.
✔️ Les signatures numériques utilisent le hachage pour l'authentification, le destinataire ayant besoin de la clé privée pour décrypter le message.
✔️ Les crypto-monnaies utilisent le hachage pour le mining, ce qui oblige les ordinateurs à utiliser leur puissance de calcul pour résoudre des énigmes afin de recevoir des récompenses.
Définition :
Le hachage est le processus par lequel un ensemble de données est converti par une fonction en un code, le hash. Qu'est-ce que tu en dis ?
Alors commençons par expliquer ce qu'est un hash. Un hash est le résultat d'un certain type de calcul basé sur des conditions prédéfinies. Un hash se compose d'une série de chiffres et de lettres.
Nous allons donner un exemple de hachage, pour que ce soit un peu plus visuel. Avec SHA (Secure Hashing Algorithm) 256, tu peux obtenir un hash pour n'importe quel type d'information textuelle. Je vais créer deux phrases très similaires, mais dont le résultat (le hash) semble très différent.
La phrase " qu'est-ce que le hash ? " (l'entrée) produit le hash suivant :
a85eaf708bd0da1c0b7206ab8d69c30403b34be19588b71702d420ff9b21f09c (le résultat)
La phrase "Qu'est-ce que le hachage ?" produit un hachage très différent :
4bc6139ce79a8c6aeca74cd9397259fb54d4ea4fc7b930bb74404cfe94c34bcd
SHA-256 produit un hash de 256 bits de long (64 caractères).
Soit dit en passant, les hashs fonctionnent dans un seul sens. Tu peux créer le hash d'une phrase, mais tu ne peux pas reconstruire une phrase à partir du hash.
Un hash doit être configuré de manière à ce que deviner le hash en se basant sur la force brute (en vérifiant simplement toutes les possibilités 1 par 1) demande un effort inacceptable. Plus une fonction de hachage génère de caractères, plus une entrée est difficile à déchiffrer.
L'idée du hachage doit maintenant avoir pris forme dans ton imagination.
Sympa, un tel bocal de hachage. Mais qu'est-ce que tu peux vraiment en faire ?
En général, on peut dire que le hachage est utilisé pour sécuriser les données. Le plus souvent, il est utilisé en informatique pour sécuriser les mots de passe.
Supposons que tu inventes un mot de passe et que tu doives l'envoyer sur Internet en le saisissant quelque part. S'il est envoyé en texte clair sans cryptage ni hash, les pirates peuvent lire ce que tu y saisis. C'est pourquoi les mots de passe sont aujourd'hui convertis en hash, afin que seul l'utilisateur puisse lire ce qu'il saisit.
Le hachage peut également être utilisé lors du téléchargement de fichiers. Tu calcules d'abord le hash du fichier avant de le télécharger, puis tu vérifies si ce que l'on appelle la somme de contrôle est identique. Si les deux valeurs sont identiques, le fichier est l'original. Très pratique si tu ne veux pas que des virus ou des chevaux de Troie passent par les ports.
Un phénomène bien connu du monde de la cryptographie est la signature numérique. Dans ce cas, tu as un expéditeur et un destinataire. Un hash est réalisé à partir d'un message. Sans la clé privée, le message ne peut pas être lu. Le destinataire du message a alors besoin de la clé secrète pour déchiffrer le message. Si le hash du message correspond à celui qui peut être calculé avec cette clé, alors le message est identique au message original.
En cryptocurrency, ils travaillent avec le système de gestion de l'information de l'entreprise. la clé privée et la clé publique pour afficher ton adresse (publique) ou déterminer si tu peux dépenser telle somme d'argent (clé privée).
Il est également utilisé pour les données personnelles. Lorsque tu commandes des articles en ligne dans un magasin, tu crées d'abord un compte. La plupart de tes données sont hachées, ce qui te permet de commander de manière anonyme, mais la livraison peut se faire à ton adresse.
Le hachage peut être davantage sécurisé par des techniques appelées sel et poivre. Le sel te permet d'ajouter un nombre généré de façon aléatoire au hash, après quoi un nouveau hash est créé à partir de ce dernier, ce qui rend le code encore plus difficile à déchiffrer pour les pirates.
Avec pepper, tu ajoutes la même chaîne de 32 caractères aléatoires à tous les enregistrements, ce qui élimine pratiquement toute attaque par force brute.
Lorsque l'on mine des bitcoins, on parle souvent du hashrate. Tu es peut-être maintenant en mesure de deviner ce que cela signifie.
Le hashrate d'un ordinateur est la puissance de calcul qu'il possède pour effectuer une tâche difficile. cryptographique énigme à résoudre. Cette énigme difficile consiste à deviner l'entrée d'un hash. Celui qui le devine en premier obtient l'ajout d'un nouveau bloc à la blockchain et obtient la récompense sous forme de frais de transaction et de nouveaux bitcoins.
Le hashrate du Bitcoin réseau est la puissance de calcul totale de tous les ordinateurs qui minent des bitcoins. Plus elle est élevée, plus l'énigme doit être difficile à résoudre. Le fait est qu'un nouveau block doit être trouvé environ toutes les 10 minutes selon Satoshi Nakamoto. Si la puissance de calcul diminue, disons si de nombreux mineurs abandonnent, alors le puzzle doit devenir plus facile, sinon ces 10 minutes deviennent vite 11 ou 12 minutes et jettent un pavé dans la mare.
Lorsqu'un nouveau bloc est créé dans le bitcoin, il comporte un certain nombre de sections. Chaque bloc contient un hash du bloc précédent. Cela permet de s'assurer que tous les blocs sont stockés de manière séquentielle.
Ensuite, tu rencontres le tx_root, qui est la valeur de hash racine de l'arbre de Merkle qui contient toutes les transactions. On pourrait considérer un Merkle Tree comme une collection de hashs. C'est un diagramme en arbre, où toutes les transactions reçoivent un hash et sont fusionnées jusqu'à ce qu'il ne reste qu'un seul enregistrement avec toutes les transactions (hashs) dans un seul hash, la racine de Merkle ou également appelée hash racine. Avec cette méthode, un bloc est beaucoup moins peuplé que si tu devais y inscrire toutes les transactions, ce qui améliore la vitesse.
Elle est suivie du timestamp. Celui-ci contient l'heure à laquelle le block a été créé. Ainsi, tu ne peux créer des blocs que vers l'avant dans le temps.
Vient ensuite le nonce. Il s'agit d'un hash que le mineur doit deviner pour être autorisé à miner un nouveau bloc.
Dans les cryptocurrency, le hachage est utilisé parce qu'il fonctionne très bien et rapidement. Le hachage apporte également une contribution importante à la sécurité car c'est un système à sens unique. Tu peux générer un hash très facilement, mais deviner l'entrée à partir du hash est presque impossible.
Comme le hachage est essentiel pour la sécurité, il sera déployé encore longtemps. Bien qu'avec l'avènement des ordinateurs quantiques, une nouvelle astuce devra être inventée.