CRC-32 used in BZIP2 compression format Uses 32-bit polynomial with normal input processing.
| Property | Value |
|---|---|
| Category | Checksums |
| Sub-category | Cyclic Redundancy Check |
| Security status | π Educational Only |
| Complexity | Intermediate |
| Inventor | W. Wesley Peterson |
| Year | 1961 |
| Origin | πΊπΈ United States |
| Source | algorithms/checksum/crc.js |
Status: π Educational Only
| Issue | Description | Mitigation |
|---|---|---|
| Not Cryptographically Secure | CRC is designed for error detection, not security. It can be easily manipulated by attackers who know the algorithm. | Use cryptographic hash functions (SHA-256, SHA-3) for security purposes. Use CRC only for error detection. |
| Hash Collisions | CRC-32 has limited output space, making collisions relatively easy to find intentionally. | For security applications, use cryptographic hash functions with larger output sizes. |
3 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 β Empty string
| Field | Value |
|---|---|
input |
(empty) |
expected |
00000000 |
Vector 2 β Single character βaβ
| Field | Value |
|---|---|
input |
61 |
expected |
19939b6b |
Vector 3 β String β123456789β
| Field | Value |
|---|---|
input |
313233343536373839 |
expected |
fc891918 |