Hash Lab

Checksum

CRC-64

A 64-bit cyclic redundancy check. The wider output catches longer error bursts than CRC-32 and reduces the collision rate on multi-GiB files to a negligible level. Two common polynomials live in production code, and they produce different digests for the same input , pick deliberately.

At a glance

Output64 bits (16 hex chars)
OperationPolynomial division in GF(2)
Throughput~3-7 GiB/s with SIMD
StatusNon-cryptographic; accidental-corruption detection only

The two common variants

NamePolynomialWhere
CRC-64 (ISO)0x000000000000001BISO 3309, tape archives, some checksum tools
CRC-64 (ECMA-182)0x42F0E1EBA9EA3693XZ utils, .xz archives

Where it shows up

vs CRC-32

CRC-64 catches all single-bit errors, all double-bit errors within a span of 264−1 bits, and all error bursts up to 64 bits. The expected collision rate on random inputs is 232, so it’s comfortably overspecified for any single-file integrity check.

References

Visualize

CRC-64 on your input

11 bytes · 0-bit digest

Hex digest

Bit grid (0 bits, teal = 1, slate = 0)

Byte pixel art (0 bytes, hue = byte value mod 360°)

Avalanche , flipping the lowest bit of the first input byte changed 0 of 0 output bits

Quick quiz

Test yourself on crc-64

10 multiple-choice questions. Pick an answer for each, then submit to see explanations.

  1. Q1.What is the output size of CRC-64?

  2. Q2.Which polynomial does XZ utils use for CRC-64?

  3. Q3.ISO 3309 polynomial value:

  4. Q4.Are CRC-64 and CRC-32 cryptographic?

  5. Q5.Expected random-collision rate for CRC-64:

  6. Q6.Two .xz archives produce CRC-64s using:

  7. Q7.Could CRC-64 reasonably authenticate a remote API request?

  8. Q8.Which of these uses CRC-64?

  9. Q9.Does CRC-64 protect against bit-flips in long error bursts better than CRC-32?

  10. Q10.Which compression / archive format does NOT typically use CRC-64?

0 of 10 answered