Cryptology ePrint Archive: Report 2018/112

Just in Time Hashing

Benjamin Harsha and Jeremiah Blocki

Abstract: In the past few years billions of user passwords have been exposed to the threat of offline cracking attempts. Such brute-force cracking attempts are increasingly dangerous as password cracking hardware continues to improve and as users continue to select low entropy passwords. Key-stretching techniques such as hash iteration and memory hard functions can help to mitigate the risk, but increased key-stretching effort necessarily increases authentication delay so this defense is fundamentally constrained by usability concerns. We introduce Just in Time Hashing (JIT), a client side key-stretching algorithm to protect user passwords against offline brute-force cracking attempts without increasing delay for the user. The basic idea is to exploit idle time while the user is typing in their password to perform extra key-stretching. As soon as the user types in the first character(s) of their password our algorithm immediately begins filling memory with hash values derived from the character(s) that the user has typed thus far. We conduct a user study to guide the development of JIT e.g. by determining how much extra key-stretching could be performed during idle cycles or how many consecutive deletions JIT may need to handle. Our security analysis demonstrates that JIT can substantially increase guessing costs over traditional key-stretching algorithms with equivalent (or less) authentication delay. Specifically an empirical evaluation using existing password datasets demonstrates that JIT increases guessing costs by nearly an order of magnitude in comparison to standard key-stretching techniques with comparable delay. We provide a proof-of-concept implementation of a Just in Time Hashing algorithm by modifying Argon2.

Category / Keywords: cryptographic protocols / Just in Time Hashing, Passwords, Memory Hard Functions

Original Publication (with major differences): Proceedings of the 3rd IEEE European Symposium on Security and Privacy (EURO S&P 2018)

Date: received 30 Jan 2018, last revised 23 Apr 2020

Contact author: jblocki at purdue edu

Available format(s): PDF | BibTeX Citation

Note: Correcting typo in the definition of advantage

Version: 20200423:172327 (All versions of this report)

Short URL:

[ Cryptology ePrint archive ]