{
  "slug": "cryptographic-hash",
  "term": "Cryptographic hash function",
  "aliases": [
    "Cryptographic digest function"
  ],
  "definition": "A cryptographic hash function deterministically produces a digest and is designed to resist preimage, second-preimage and collision attacks.",
  "note": "Preimage search starts from a target digest; second-preimage search starts from a specified input; collision search may choose both distinct inputs. Designed resistance is not a promise that collisions do not exist. [nist-hash] An unkeyed digest does not authenticate its own origin: replacing both data and the expected digest can preserve a match. HMAC adds a shared secret to authentication; hashing is not encryption. [rfc2104]",
  "status": "shipping",
  "advantages": [],
  "limitations": [
    {
      "text": "Algorithm choice, output length and known attacks determine useful security; a matching digest is not proof of storage durability.",
      "citationIds": [
        "nist-hash",
        "hesela-integrity"
      ]
    }
  ],
  "related": [
    "checksum",
    "hash-collision",
    "merkle-tree",
    "deduplication"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "citations": [
    {
      "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": "rfc2104",
      "title": "RFC 2104: HMAC, sections 1-2 (construction, not current algorithm selection advice)",
      "url": "https://www.rfc-editor.org/rfc/rfc2104.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"
}
