Passwords
1.[3p] Each increment of the bcrypt work factor doubles the work. How many times slower is work factor 12 than work factor 5?
Each increment of the bcrypt work factor doubles the work. How many times slower is work factor 12 than work factor 5?
2.[3p] What does a per-user salt actually prevent?
What does a per-user salt actually prevent?
3.[3p] Match each function to the property that decides where it belongs.
Match each function to the property that decides where it belongs.
Argon2id
scrypt
bcrypt
PBKDF2
memory hard but with parameters that interact awkwardly
the only one in Web Crypto, and the weakest of the four
memory hard with all three dials, the default choice today
fine for existing systems, silently truncates input at 72 bytes
Show the answer
Argon2id: memory hard with all three dials, the default choice today scrypt: memory hard but with parameters that interact awkwardly bcrypt: fine for existing systems, silently truncates input at 72 bytes PBKDF2: the only one in Web Crypto, and the weakest of the four
4.[3p] A password hash takes 250 ms and 8 cores are free for hashing. What is the ceiling in logins per second?
A password hash takes 250 ms and 8 cores are free for hashing. What is the ceiling in logins per second?
5.[2p] Which of the three tuning dials is the one an attacker cannot make cheaper with custom hardware?
Which of the three tuning dials is the one an attacker cannot make cheaper with custom hardware?
6.[2p] NIST SP 800-63B recommends forcing every user to change their password every 90 days.
NIST SP 800-63B recommends forcing every user to change their password every 90 days.
7.[3p] Which of these does NIST SP 800-63B actually recommend?
Which of these does NIST SP 800-63B actually recommend?
Select all that apply
8.[3p] The Pwned Passwords check hashes the candidate with SHA-1. Why is a broken hash the right choice here?
The Pwned Passwords check hashes the candidate with SHA-1. Why is a broken hash the right choice here?
9.[3p] Why should a login handler verify against a fixed dummy hash when no account matches the email?
Why should a login handler verify against a fixed dummy hash when no account matches the email?