Le SHA256 est une fonction de hachage ayant de nombreuses applications dans la vie de tous les jours. Découvrons son fonctionnement et ses applications. Bien sûr, cela n’a rien à voir avec un chat !
Qu’est-ce qu’une fonction de hachage ?
Une fonction de hachage est une fonction mathématique qui permet de transformer une chaîne de caractère de longueur quelconque en une chaine de caractère de longueur fixe. Le but de cette transformation est de la rendre irréversible (notamment aux yeux de personnes malveillantes)
Qu’est-ce que le SHA256 ?
SHA signifie secure hash algorithm. Le SHA256 permet de transformer une chaîne de caractère quelconque en une chaîne de caractère de 256 bits, soit 64 caractères hexadécimaux (utilisant donc les caractères 0123456789abcdef). Il existe d’autres versions de SHA :
- SHA224
- SHA256
- SHA384
- SHA512
Le SHA256 est la version la plus utilisée. Par exemple, le SH256 de “Qu’est-ce que le SHA256 ?” est ca28fa78c4699d34f081517452d98e346640da38f92503cc494f0ad2000f9a74.
Le principe de cette fonction est qu’elle est non réversible : il faudrait tester 2256 ≈ 1,16.1077 combinaisons pour trouver la chaîne qui a conduit à ce résultat, ce qui n’est pas faisable avec les capacités de calcul actuelles. Par exemple, si je vous donne la chaîne de caractères c31118d7d10423acd21b87d223653aec71a8d1ae19786e810b3b031b66afe039, vous seriez incapables de retrouver via la puissance de calcul d’un ordinateur la chaîne de caractères qui a permis d’aboutir à ce résultat. Mais en testant des choses vous pourriez vous apercevoir assez rapidement qu’il s’agit du SHA256 de “progresser-en-maths”. La seule manière de retrouver la chaine originelle est de posséder une base de données et de calculer tous les SHA256 de cette base de données pour voir si on retrouve un résultat qui est strictement le même.
A noter : si on change un tout petit caractère, alors le SHA256 change totalement. Par exemple, si on enlève le point d’interrogation de “Qu’est-ce que le SHA256”, on obtient un résultat totalement différent : 7cc6c26eadd992a4a2d6355e8acdf7e5d8accb4d20666bb2035d6dac2638baf8.
Cet algorithme a été développé aux Etats-Unis par la NSA et la NSIT (National Institute of Standards and Technology)
Quelles sont les applications du SHA256 ?
Vous souhaitez faire un partenariat avec une marque et comparer vos bases de données ? Plutôt que de donner votre base de données à votre partenaire et qu’il possède gratuitement de nouveaux emails (fuite de données personnelles), vous lui partagez le SHA256 de vos mails et il va les comparer aux SHA256 de ses mails.
Mots de passe
Admettons que vous soyez une plateforme. Plutôt que stocker “en clair” les mots de passe de vos utilisateurs et risquer des fuites, vous allez stocker leur SHA256. Lorsque votre utilisateur va tenter de se connecter, on va calculer le SHA256 de ce qu’il a tapé. Si ça matche, la connexion est autorisée. Lors d’une fuite de données, posséder le SHA256 des mots de passe ne va pas aider à récupérer les mots de passe de base.
SHA et Bitcoin
Lorsqu’une transaction sur la blockchain est enregistré, on utilise cette fonction pour pour garantir l’intégrité des informations stockées dans un bloc. Bitcoin utilise le double SHA-256, donc il applique cet algorithme 2 fois.
SHA-256 est également utilisé dans les protocoles de chiffrement populaires tels que SSL, TLS, SSH et les systèmes d’exploitation open source tels qu’Unix/Linux.