Standard 128-bit CRC used in high-performance computing and large data integrity verification Uses 128-bit polynomial with normal input processing.
| Property | Value |
|---|---|
| Category | Checksums |
| Sub-category | Cyclic Redundancy Check |
| Security status | π Educational Only |
| Complexity | Advanced |
| 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-128 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
Source: Educational test vector
| Field | Value |
|---|---|
input |
(empty) |
expected |
00000000000000000000000000000000 |
Vector 2 β Single byte βaβ
Source: Educational test vector
| Field | Value |
|---|---|
input |
61 |
expected |
000000000000000000000000000031a7 |
Vector 3 β String β123456789β
Source: Educational test vector
| Field | Value |
|---|---|
input |
313233343536373839 |
expected |
000000000000180e870396109919b42f |