Close

2022-05-09

SHA-1 has broken in practice

We have broken SHA-1 in practice.

We have broken SHA-1 in practice.

This industry cryptographic hash function standard is used for digital signatures and file integrity verification and protects a wide spectrum of digital assets, including credit card transactions, electronic documents, open-source software repositories, and software updates.

It is now practically possible to craft two colliding PDF files and obtain a SHA-1 digital signature on the first PDF file which can also be abused as a valid signature on the second PDF file.

For example, by crafting the two colliding PDF files as two rental agreements with different rent, it is possible to trick someone to create a valid signature for a high-rent contract by having him or she signs a low-rent contract.

Today, many applications still rely on SHA-1, even though theoretical attacks have been known since 2005, and SHA-1 was officially deprecated by NIST in 2011. We hope our practical attack on SHA-1 will increase awareness and convince the industry to quickly move to safer alternatives, such as SHA-256.

Any application that relies on SHA-1 for digital signatures, file integrity, or file identification is potentially vulnerable. These include:

  • Digital Certificate signatures
  • Email PGP/GPG signatures
  • Software vendor signatures
  • Software updates
  • ISO checksums
  • Backup systems
  • Deduplication systems
  • GIT

GIT strongly relies on SHA-1 for the identification and integrity checking of all file objects and commits. It is essentially possible to create two GIT repositories with the same head commit hash and different contents, say a benign source code and a backdoored one. An attacker could potentially selectively serve either repository to targeted users. This will require attackers to compute their own collision.

for the full article, samples, and papers visit, We have broken SHA-1 in practice.