Sunday 2:30 p.m.–3 p.m.
Hash Functions and You: Partners in Freedom
- Audience level:
Our trusty friend, the hash function, is as crucial to programming as linked lists or recursion, but it doesn't always get the press that it deserves. We're going to talk about hash functions, some data structures involving hash functions, the stately bloom filter, and the security implications of password hashing.
In this talk, I describe what a hash function is, and how the unique properties of a hash function can be used to provide abstractions like the hash table. I will talk about bloom filters, a unique data structure that provides set membership information and extreme compression, at the cost of not being sure whether it is entirely correct. We'll learn how to choose hash functions for data structures and for security, what an avalanching hash function is, and what differentiates a cryptographic hash function from a non-cryptographic hash function. We will learn how modern web security is intimately tied to the humble hash function, how to hash passwords, and how _not_ to hash passwords.