Calculer une empreinte SHA 1 SHA 256 et SHA 512 sous
  • 1 avril 2025
  • ComputaSYS
  • 0


I. Présentation

Dans ce tutoriel, nous allons apprendre à calculer une empreinte SHA-1, SHA-256 ou encore SHA-512 sous Linux. Cette méthode vous permettra de calculer et contrôler l’empreinte d’un fichier ou d’une chaîne de caractères via trois commandes dédiées, disponibles sur la plupart des systèmes Linux.

Il faut savoir que l’algorithme de hachage SHA-1 n’est pas le plus récent ni le plus robuste. Bien qu’il soit plus sûr que le très connu MD5, on lui préfère désormais le SHA-256 ou même le SHA-512. Ces derniers génèrent des empreintes avec plus de bits, respectivement 256 (32 octets) et 512 bits (64 octets), contre 160 bits pour SHA-1. Cela contribue à leur plus grande robustesse et à réduire les risques de collisions.

Pour cette raison, SHA-256 et SHA-512 sont aujourd’hui largement privilégiés. Toutefois, ils ne sont pas infaillibles et pourraient être vulnérables à long terme face aux avancées en cryptanalyse et à l’informatique quantique.

Mais qu’est-ce qu’une empreinte, et pourquoi est-elle si importante ? Commençons par un bref rappel.

Version originale de l’article : 03 avril 2013.

II. Rappel : qu’est-ce qu’une empreinte, ou hash ?

Un hash, aussi appelée empreinte cryptographique ou checksum (somme de contrôle), est une suite de caractères unique générée à partir d’une donnée (un texte ou un fichier). Elle permet de vérifier l’intégrité d’un fichier ou d’un texte : si un seul bit change, l’empreinte sera totalement différente.

Le contrôle d’intégrité intervient dans de nombreux contextes, mais principalement pour des besoins de cybersécurité. On cherche alors à vérifier qu’un fichier n’a pas été modifié depuis une dernière situation connue, ou qu’il n’a pas été altéré durant son transfert. Ainsi, à l’image de l’empreinte de nos doigts, l’empreinte d’un fichier est censée être unique. 

Maintenant que nous avons fait ce rapide rappel, voyons comment vérifier l’empreinte d’un fichier sous Linux.

III. Utiliser les commandes shaXsum pour calculer une empreinte sous Linux

Nous allons utiliser les commandes sha1sum, sha256sum et sha512sum afin de générer les empreintes d’un fichier sous Linux. Cela permettra d’utiliser les algorithmes SHA-1, SHA-256 ou SHA-512 en fonction. Le choix de l’algorithme peut être guidé par des besoins de sécurité et de performances.

Voici quelques exemples pratiques pour calculer l’empreinte d’un fichier avec les algorithmes de hachage SHA-1, SHA-256 et SHA-512 :

# Calculer l’empreinte SHA-1 d’un fichier
$ sha1sum document.txt
3d2636af5068b1af3199ee1d3f3796a348339d2f document.txt

# Calculer l’empreinte SHA-256 d’un fichier
$ sha256sum document.txt
12a1f36c7d1b4ece74ce916e126d99515b750c3066e08ef3536e14cefde42108 document.txt

# Calculer l’empreinte SHA-512 d’un fichier
$ sha512sum document.txt
8ca31053f0349f3161980db84e97462e0e263b69de3740c6cac5aa6d66f96943cfe2953904cb8c515be847a755cd563ada3698ff515667a936355db820303696 document.txt

Comme vous pourrez le constater, les hashs produits sont de différentes longueurs et ces trois commandes s’utilisent de la même façon. Nous pouvons, par exemple, les utiliser pour vérifier l’intégrité de deux ou plusieurs fichiers, notamment pour les comparer : 

Calcul des empreintes SHA-256 de trois fichiers sous Linux.

Dans cet exemple, dans lequel nous utilisons SHA-256, les deux premiers fichiers sont identiques (même hash SHA-256 généré), mais le troisième est différent.

On peut aussi vouloir mettre cette empreinte dans un fichier pour que les utilisateurs puissent la comparer à nouveau. Généralement, les empreintes sont enregistrées dans un fichier avec l’extension .checksum  :

$ sha256sum document.txt
12a1f36c7d1b4ece74ce916e126d99515b750c3066e08ef3536e14cefde42108 > documents.txt.checksum

Enfin, nous pouvons calculer l’empreinte d’une chaîne de caractères de la manière suivante :

$ echo « Ceci est une chaîne de caractères. » | sha256sum
151c792da29674e1f697191ef58544a18943395b86b33c211aafddffa2cbce83 –

IV. Contrôler l’intégrité d’un fichier sous Linux 

Faisons à présent un petit essai de contrôle d’intégrité grâce à l’unE des trois commandes que nous venons de voir. Je vous invite à vous rendre sur la page de téléchargement de VirtualBox et à télécharger n’importe quelle version de l’installateur : 

Téléchargement d’un installateur VirtualBox.

Vous remarquerez également un lien « SHA256 checksums » qui contient les hashs de chacun des fichiers proposés. J’ai, par exemple, téléchargé l’installeur Windows dont le checksum est 35c42c98b784974a965c358a9bda63b6cb4edde80db83f87daa2fee83e6cfad6.

Récupération de l’empreinte numérique du fichier téléchargé.

Une fois le fichier téléchargé, je contrôle son intégrité avec la commande sha256sum : 

Contrôle de l’intégrité du fichier téléchargé via son empreinte SHA-256.

Les empreintes SHA-256 sont les mêmes. Je peux en conclure que le fichier est intègre, cela me confirme qu’il n’a pas été altéré durant son transfert.

V. Conclusion

Vous êtes maintenant en mesure de calculer simplement l’empreinte SHA1, SHA-256 et SHA-512 d’un fichier ou d’une chaine de caractère. Cela peut vous être utile notamment pour calculer l’intégrité d’un fichier.

Je vous invite à consulter nos nombreux autres tutoriels sur Linux et ses commandes : IT-Connect.fr – Linux

Co-fondateur d’IT-Connect.fr.
Auditeur/Pentester chez Orange Cyberdéfense.



Source link

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *