hashcat
and extensive experience, hackers are very good at guessing passwords.
Rate-limited or expensive hashing can be used to make it much more difficult to crack a password.
Computationally expensive password hashing functions, such as PBKDF and scrypt, are commonly used for this purpose, but provide limited protection and are expensive to run on end-user devices.
ODIS implements hashing (i.e. PRF evaluation) with a rate limit controlled by the committee of ODIS operators, and can be used to harden a password into a stronger cryptographic key.
As long as this committee remains collectively honest and secure, an attacker cannot make more guesses at a users password than ODIS allows, making it extremely unlikely a good password will be broken.
Using ODIS for key hardening allows passwords to be used in a number of applications, including to create encrypted account backups and as a factor in smart contract account recovery.
Rate limiting
Choosing an appropriately restrictive rate limit is crucial. Using a rate limit that is too restrictive may cause users to become frustrated as their access is denied if they take too many tries to recall their password, and a rate limit that is too loose can allow an attacker a much better chance at guessing the users password. The appropriate rate limit is related to how much entropy the user secret has.- A strong user password can tolerate a loose rate limit, allowing millions of attempts without significant chance of attacker success.
- An average user password can tolerate a moderate rate limit, allowing hundreds of attempts.
- A 4 or 6 digit PIN can tolerate tens of attempts before the attacker has a significant chance of success.