SHA-0 (ou SHA comme elle était nommée à l'origine), est une fonction de hachage cryptographique, conçue par la NSA sur le modèle des fonctions MD4 et MD5 de Ron Rivest et publiée en 1993 par le NIST (standard FIPS-180). Elle fournit une empreinte de 160 bits. Elle a été rapidement mise de côté pour des raisons de sécurité insuffisante (non explicitées à l'époque), et légèrement modifiée pour donner la fonction SHA-1, publiée par le NIST en 1995 (standard FIPS-180-1).
La fonction SHA-0 a cependant continué à être étudiée un temps dans le monde académique, en tant que version affaiblie de SHA-1.
Le constat de faiblesses dans la conception de SHA-0 a été attribué à la NSA. Il a été confirmé en 1998 par la découverte par Antoine Joux et Florent Chabaud d'une attaque théorique qui permet d'obtenir une collision (deux données ayant la même empreinte) en complexité moindre que l'attaque des anniversaires (261 contre 280 opérations).
Une collision complète sur SHA-0 a été découverte par Antoine Joux et al. et annoncée le . Elle fonctionne en environ 251 opérations, en utilisant une amélioration de la méthode de Joux et Chabaud, tout en tirant bénéfice également d'une autre attaque proposée la même année par Eli Biham et Rafi Chen.
En 2006 a été publiée une méthode permettant de trouver une collision en 236 opérations.
Il n'existe par contre pas d'attaque connue pour la recherche de pré-image (trouver un message ayant une empreinte donnée) ou de seconde pré-image (étant donné un message et son empreinte, trouver un autre message ayant même empreinte), mais l'usage de SHA-0 est de toute façon tout à fait déconseillé.