Hawkynt

CRC-32-IEEE

CRC-32 (IEEE 802.3) standard used in Ethernet, zip files, and many protocols Uses 32-bit polynomial with reflected input processing.

Properties

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

Security

Status: πŸŽ“ Educational Only

Known vulnerabilities

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.

Documentation

References

Test vectors

4 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 e8b7be43

Vector 3 β€” String β€˜abc’

Field Value
input 616263
expected 352441c2

Vector 4 β€” String β€˜123456789’

Field Value
input 313233343536373839
expected cbf43926

← All algorithms