Overview
A cryptographic hash function is a fundamental building block of modern security. It takes an input (or 'message') and returns a fixed-size string of bytes. The output is typically a 'fingerprint' of the input.
Key Properties
- Deterministic: The same input always produces the same hash.
- Quick to Compute: The hash can be calculated rapidly.
- Pre-image Resistance: It is infeasible to find the original input from its hash.
- Small Changes, Big Difference: A tiny change in the input produces a completely different hash (the 'avalanche effect').
- Collision Resistance: It is infeasible to find two different inputs that produce the same hash.
Common Uses
- Storing passwords securely.
- Verifying file integrity.
- Digital signatures.