🔐

Cryptographic Collision Attack

Jun 24, 2025

Overview

This lecture explains the practical cryptographic attack known as SHAttered, which demonstrates real-world collisions in the SHA-1 hash function and its impacts on digital security.

Breaking SHA-1

  • SHA-1 is a widely-used cryptographic hash function for digital signatures and file integrity verification.
  • The SHAttered attack created two different PDF files with the same SHA-1 hash (collision).
  • This vulnerability can exploit digital signatures by making one valid signature apply to multiple documents with different contents.
  • Example: Signing a low-rent contract could be abused as a valid signature on a high-rent contract due to the collision.

Real-World Impact & Affected Systems

  • Many applications still use SHA-1 despite its official deprecation in 2011.
  • Vulnerable systems include digital certificate signatures, email PGP/GPG signatures, software updates, ISO checksums, backup and deduplication systems, and Git repositories.
  • SVN is affected in versions before 1.9.6 and 1.8.18 but later versions are immune.
  • Modern browsers (Chrome 56+ and Firefox as of Feb 2017) warn users of SHA-1 certificate use.

Defense & Detection

  • Use the provided online tool to test files for SHA-1 collision attacks.
  • GIT is at risk because it relies on SHA-1 for commit and file identification.
  • SHA-1 hardened with counter-cryptanalysis can detect such collision attacks and prevent exploitation.
  • Safer cryptographic hash alternatives like SHA-256 or SHA-3 are recommended.

Attack Details

  • The SHAttered collision required over 9 quintillion SHA-1 computations (approx. 6,500 CPU years or 110 GPU years).
  • The attack is 100,000 times faster than a brute-force birthday attack (which would take 12 million GPU years).
  • No evidence exists that this attack has been abused in the wild as of the announcement.

Key Terms & Definitions

  • SHA-1 — a cryptographic hash function used for data integrity and authentication.
  • Collision — when two different inputs produce the same hash output in a hash function.
  • Counter-cryptanalysis — a method to detect and prevent known and unknown cryptanalytic attacks on hash functions.

Action Items / Next Steps

  • Stop using SHA-1; migrate to SHA-256 or SHA-3 for security.
  • Use the online SHA-1 collision tester for file checking.
  • Update SVN to version 1.9.6+ or 1.8.18+ if using older versions.
  • Be aware of browser warnings regarding insecure SHA-1 certificates.