Qu'est-ce que le SHA ?

Publié le 13 août 2026

← Tous les termes du glossaire Aller à la lettre S

L'algorithme Secure Hash Algorithm (SHA) est une famille de fonctions de hachage cryptographiques qui transforment des données de n'importe quelle longueur en un résumé de longueur fixe, ou « empreinte ». Il sert de base aux contrôles d'intégrité, aux signatures numériques et à la confiance dans les certificats, et permet l'authentification des tunnels dans les protocoles IPsec, TLS et DTLS.

Points clés à retenir

  • La fonction SHA transforme toute donnée d'entrée en un résumé de longueur fixe qui permet de vérifier l'intégrité de celle-ci.
  • La norme SHA-1 est obsolète ; la norme SHA-2 (SHA-256, SHA-384, SHA-512) constitue désormais la référence.
  • SHA-3 repose sur une architecture interne différente, qui sert de solution de secours à SHA-2.
  • HMAC-SHA associe l'algorithme SHA à une clé secrète pour authentifier les messages.
  • VersaLes transformations IKE, IPsec, TLS et DTLS proposent toutes un hachage basé sur SHA.

Sur cette page : Pourquoi est-ce important ?Comment ça marcheTypesSHA et VersaFAQ

Pourquoi le SHA est-il important ?

Presque tous les mécanismes permettant de vérifier que les données n'ont pas été altérées reposent sur une fonction de hachage, et SHA est la famille de fonctions adoptée comme norme sur Internet. Les autorités de certification signent les certificats à l'aide de résumés basés sur SHA ; les sessions TLS et IPsec utilisent SHA, directement ou via HMAC, pour s'assurer que les paquets n'ont pas été altérés pendant leur transit ; et les éditeurs de logiciels publient des sommes de contrôle SHA-256 afin de permettre la vérification des téléchargements.

C'est également pour cette raison que l'histoire de la fonction SHA revêt une importance particulière. La fonction SHA-1, qui a dominé le marché pendant deux décennies, a été compromise en 2017 par une attaque par collision, ce qui a contraint les navigateurs et les autorités de certification à migrer vers la fonction SHA-2. Savoir quelle variante de la fonction SHA utilise un système est une condition préalable fondamentale pour déterminer si ses garanties d'intégrité sont toujours valables.

Qu'est-ce que le SHA ?

Une fonction de hachage prend une entrée de taille quelconque et produit une sortie de longueur fixe : le condensé. SHA-256, par exemple, renvoie toujours 256 bits, que l’entrée soit d’un octet ou d’un gigaoctet. Trois propriétés rendent cette fonction utile : elle est unidirectionnelle (il est mathématiquement impossible de retrouver l’entrée à partir du résumé), déterministe (une même entrée produit toujours le même résumé) et résistante aux collisions (il est pratiquement impossible de trouver deux entrées différentes produisant le même résumé).

Utilisé seul, l'algorithme SHA génère des empreintes numériques des données à des fins de contrôle d'intégrité. Associé à une clé secrète sous la forme HMAC-SHA (Hash-based Message Authentication Code), il permet d'authentifier les messages, en prouvant à la fois que les données n'ont pas été altérées et qu'elles proviennent d'une personne détenant la clé partagée. C'est ce que les protocoles IPsec et TLS utilisent pour authentifier les paquets et les messages d'établissement de connexion.

Types de SHA

L'algorithme SHA-1 génère un condensé de 160 bits et a été publié en 1995. Une attaque par collision avérée (l'étude « SHAttered » de 2017) a mis fin à sa résistance aux collisions, et son utilisation est désormais déconseillée pour les nouveaux déploiements – bien qu'il figure toujours dans certaines options de configuration héritées.

SHA-2 est la norme actuellement en vigueur, publiée en 2001. Il s'agit d'une famille de fonctions de hachage de différentes tailles — SHA-224, SHA-256, SHA-384, SHA-512 et des variantes tronquées —, parmi lesquelles SHA-256 constitue la référence la plus couramment utilisée pour les certificats TLS, la signature de code et les transformations IPsec. Aucune attaque par collision n'est connue à ce jour pour SHA-2.

Le SHA-3, publié en 2015, présente une structure différente : il utilise une architecture de type « sponge » (Keccak) plutôt que le modèle Merkle–Damgård commun au SHA-1 et au SHA-2. Il a été normalisé à titre de solution de secours, et non de remplacement, et son utilisation dans les protocoles réseau est aujourd’hui moins répandue que celle du SHA-2.

SHA & Versa

VersaLa configuration du service d’accès sécurisé expose directement l’algorithme SHA dans le tunnel de chiffrement. La configuration de la transformation IKE pour un serveur d’accès sécurisé ou un profil client « SASE » associe un algorithme de chiffrement (3DES, AES 128 bits ou AES 256 bits) à un algorithme de hachage – MD5, SHA-1, SHA-256, SHA-384 ou SHA-512 – pour le canal de contrôle d’échange de clés. La transformation IPsec (ESP) propose les mêmes choix de fonctions SHA pour le tunnel du plan de données, ainsi que des modes GCM qui intègrent l’authentification dans le chiffrement au lieu de l’associer à un hachage SHA distinct.

Le protocole SHA figure également dans les suites de chiffrement TLS et DTLS proposées pour les portails d'accès sécurisés et les sessions client SASE – par exemple, TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384 – où la variante SHA finale définit l’algorithme d’intégrité de la négociation. Les administrateurs ajustent le niveau de sécurité SHA pour chaque tunnel, tant dans les déploiements utilisant des serveurs de sécurité de périmètre ( Secure SD-WAN ) que dans ceux protégés par un pare-feu de nouvelle génération (NGFW) : privilégiez SHA-256 ou un algorithme plus puissant, et considérez SHA-1 et MD5 comme des options de compatibilité uniquement.

Questions fréquentes

Quelle est la différence entre SHA-1 et SHA-256 ?

La fonction SHA-1 génère un condensé de 160 bits et a été compromise face à des attaques par collision ; elle ne doit donc plus être utilisée pour de nouvelles applications de sécurité. La fonction SHA-256, qui fait partie de la famille SHA-2, génère un condensé de 256 bits, ne fait l'objet d'aucune attaque par collision connue dans la pratique et constitue actuellement la norme de référence recommandée.

Le SHA est-il un cryptage ou un hachage ?

Il s'agit d'un hachage, et non d'un chiffrement. Le chiffrement est réversible avec la bonne clé ; le hachage est, par nature, à sens unique : il n'existe aucune clé permettant de retrouver la donnée d'origine à partir d'un condensé SHA. Le SHA vérifie l'intégrité des données et, associé à une clé dans le cadre d'un HMAC, assure leur authentification.

Pourquoi l'algorithme SHA-1 a-t-il été déprécié ?

En 2017, des chercheurs ont mis en évidence un cas concret de collision – deux données d'entrée différentes produisant le même hachage SHA-1 –, remettant ainsi en cause la propriété qui faisait de SHA-1 un algorithme fiable pour les signatures et les certificats. Les navigateurs et les autorités de certification ont alors imposé l'utilisation de SHA-2 ou d'une version ultérieure pour les nouveaux certificats.

Qu'est-ce que HMAC-SHA, et en quoi diffère-t-il de la fonction SHA seule ?

HMAC-SHA combine une fonction de hachage SHA avec une clé secrète pour générer un code d'authentification chiffré. Le SHA seul prouve que les données n'ont pas été altérées ; HMAC-SHA prouve en outre que l'expéditeur détenait la clé partagée, ce que les protocoles IPsec et TLS utilisent pour authentifier le trafic transitant par le tunnel.

Quelle variante SHA dois-je utiliser aujourd'hui ?

Aujourd'hui, SHA-256 est de facto la norme pour les certificats, les poignées de main TLS et les transformations IPsec. Les algorithmes SHA-384 ou SHA-512 offrent une marge de sécurité supplémentaire pour les déploiements nécessitant un niveau de sécurité plus élevé, capables de prendre en charge une taille de hachage plus importante. L'utilisation de SHA-1 et de MD5 doit être strictement limitée à l'interopérabilité avec des pairs hérités ne pouvant pas être mis à niveau.

En savoir plus sur la SHA

Si vous souhaitez en savoir plus, voici des sources auxquelles nous faisons confiance.

RFC 3174 : Algorithme de hachage sécurisé américain n° 1 (SHA-1) RFC 6234 : Algorithmes de hachage sécurisés américains (SHA et HMAC)
La spécification originale de l'algorithme SHA-1 publiée par l'IETF, comprenant le pseudocode et une implémentation de référence complète à des fins de vérification. La spécification de l'IETF portant sur SHA-1 et la famille de fonctions de hachage SHA-2, ainsi que sur les constructions HMAC et HKDF basées sur SHA qui en découlent.

Si vous vous intéressez au SHA, voici quelques liens qui pourraient vous intéresser.

Norme de chiffrement avancée Mode Galois/Counter Sécurité de la couche de transport par datagrammes
L'algorithme symétrique SHA est le plus souvent associé aux transformations IPsec et TLS afin d'assurer à la fois le chiffrement et l'intégrité. Mode de chiffrement authentifié qui intègre le hachage au chiffrement lui-même, proposé comme alternative aux transformations AES-plus-SHA distinctes. Un protocole de tunnel basé sur UDP dont les suites de chiffrement, à l'instar de celles du protocole TLS, intègrent une variante de l'algorithme SHA pour garantir l'intégrité de la phase d'établissement de la connexion.