Week 2 - Hashing Flashcards
What is a hash (hash function)?
Any data length is fed into a hash function, the output is always the same fixed length but always different from the input
How is cryptographic hashing different from encryption?
Cryptographic hash functions should be one-directional and can’t recover the plaintext from output like encryption does
Cryptographic hash functions are very similar to ___ key block ciphers
symmetric (because they operate on blocks of data)
___ is more secure than MD5 hash function
SHA1 hash
What does MIC stand for?
Message Integrity Check
What does a MIC do?
it’s essentially a check sum for a message, ensures contents were modified in transit
How is a MIC different from a MAC from a previous lesson?
MIC doesn’t use secret keys, has no authentication (doesn’t protect against tampering or malicious actions)
What does MIC protect against?
accidental corruption/loss
What’s one crucial application for cryptographic hash functions?
authentication
What should you do instead of storing a plaintext file of your password?
store a hash of the password instead of the password itself (like what every authentication system does)
T or F: If an attacker has unlimited time and/or resources, any system can be brute forced
True (impossible to protect against completely)
What are 2 ways to protect against brute force attacks?
- Make it sufficiently time-consuming and resource-intensive so it’s not practical with useful tech or a useful time frame
- Run the password through the hashing function multiple times (sometimes thousands of times)
What are rainbow tables used for?
used to help speed up the process of recovering passwords from stolen password hashes
How are using rainbow tables different from a brute force attack?
rainbow tables store all possible password values and their hashes, whereas a brute force attack computes each guess attempt
How do you protect against rainbow tables?
password salt (additional data gibberish to make password and salt combo unique) and to make it more time/resource consuming to compute