Chopped, Stored, Secured – The Story of the Hash Function
4 days ago
- #cryptography
- #data security
- #hash function
- Peter Luhn introduced the idea of using math to verify and store information.
- The birthday problem explains collisions in hash tables, and the Rabin-Karp algorithm uses rolling hash for string searching.
- Hashing was first defined by Arnold Dumey in 1956, who developed indexing to map data to memory addresses using mathematical transformations.
- Indexing involves converting words to numbers (e.g., base 37), finding a prime number slightly less than addressable locations, and using modulo to determine storage addresses.
- Indexing later became known as polynomial hash, and the term 'hash' originates from the French word 'hacher,' meaning to chop.
- Cryptographic hashes use one-way functions to secure data, such as passwords, by making it computationally impossible to reverse the hash to plain text.
- One-way functions like high-degree polynomials over finite fields and discrete exponentiation are preimage resistant, meaning no known efficient inverse exists.
- Finite fields (e.g., Fp) have a finite number of elements, adding complexity and making brute-force attacks extremely time-consuming.
- Collisions in hash functions can compromise security, and quantum computers pose a threat by potentially reversing one-way functions faster.
- Cryptographic hashes are also used in digital signatures and blockchain technology.