{
  "slug": "hash-collision",
  "term": "Hash collision",
  "aliases": [
    "Digest collision"
  ],
  "definition": "A hash collision occurs when two distinct inputs produce the same digest under the same hash function and parameters.",
  "note": "Hashing identical bytes twice is not a collision. Finding any colliding pair differs from finding a replacement for an already specified original, which is a second-preimage problem. [nist-collision] [nist-second-preimage] A stale or misplaced record with its own valid digest can pass a check without any collision. [hesela-integrity]",
  "status": "shipping",
  "advantages": [],
  "limitations": [
    {
      "text": "Collision resistance concerns the difficulty of finding colliding inputs, not an assertion that every input has a unique digest.",
      "citationIds": [
        "nist-hash"
      ]
    },
    {
      "text": "CRC undetected-error probabilities require a stated error model and cannot be treated as universal device failure rates.",
      "citationIds": [
        "rfc3385"
      ]
    }
  ],
  "related": [
    "checksum",
    "cryptographic-hash",
    "merkle-tree",
    "deduplication"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "citations": [
    {
      "id": "nist-collision",
      "title": "NIST CSRC glossary: collision",
      "url": "https://csrc.nist.gov/glossary/term/collision",
      "accessed": "2026-10-12"
    },
    {
      "id": "nist-second-preimage",
      "title": "NIST CSRC glossary: second preimage resistance",
      "url": "https://csrc.nist.gov/glossary/term/second_preimage_resistance",
      "accessed": "2026-10-12"
    },
    {
      "id": "nist-hash",
      "title": "NIST CSRC glossary: cryptographic hash function and security properties",
      "url": "https://csrc.nist.gov/glossary/term/cryptographic_hash_function",
      "accessed": "2026-10-12"
    },
    {
      "id": "rfc3385",
      "title": "RFC 3385: iSCSI CRC/Checksum Considerations, sections 1-2 and 10 (historical error-model analysis)",
      "url": "https://www.rfc-editor.org/rfc/rfc3385.html",
      "accessed": "2026-10-12"
    },
    {
      "id": "hesela-integrity",
      "title": "Hesela: Why a valid checksum can still return the wrong data",
      "url": "https://hesela.com/analyses/checksums-identity-and-lost-writes/",
      "accessed": "2026-10-12"
    }
  ],
  "updated": "2026-10-12"
}
