{
  "slug": "cyclic-redundancy-check",
  "term": "Cyclic redundancy check",
  "aliases": [
    "CRC"
  ],
  "definition": "A cyclic redundancy check is an error-detection code computed using polynomial division over binary coefficients.",
  "note": "Specify the generator, protected length and bit conventions; output width alone does not define detection coverage. [rfc3385] Hesela supplies deliberately constructed, same-length payload changes with unchanged CRC values, including a common-multiple pattern that passes both IEEE CRC-32 and CRC-32C. The examples do not estimate collision frequencies or establish independence between checks. [hesela-crc]",
  "status": "shipping",
  "advantages": [],
  "limitations": [
    {
      "text": "A CRC does not authenticate data against intentional modification.",
      "citationIds": [
        "rfc3385"
      ]
    }
  ],
  "related": [
    "checksum",
    "crc32c",
    "crc-burst-error",
    "hamming-distance"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "citations": [
    {
      "id": "rfc3385",
      "title": "Sheinwald et al. RFC 3385: iSCSI CRC/Checksum Considerations, sections 2-3 and 10 (2002)",
      "url": "https://www.rfc-editor.org/rfc/rfc3385.html",
      "accessed": "2026-10-18"
    },
    {
      "id": "hesela-crc",
      "title": "Hesela: CRC polynomials, constructed error patterns and exact small-code enumeration",
      "url": "https://hesela.com/analyses/crc-polynomials-error-patterns/",
      "accessed": "2026-10-18"
    }
  ],
  "updated": "2026-10-19"
}
