Paper 2016/989
Scrypt is Maximally Memory-Hard
Joël Alwen, Binyi Chen, Krzysztof Pietrzak, Leonid Reyzin, and Stefano Tessaro
Abstract
Memory-hard functions (MHFs) are hash algorithms whose evaluation cost is dominated by memory cost. As memory, unlike computation, costs about the same across different platforms, MHFs cannot be evaluated at significantly lower cost on dedicated hardware like ASICs. MHFs have found widespread applications including password hashing, key derivation, and proofs-of-work. This paper focuses on scrypt, a simple candidate MHF designed by Percival, and described in RFC 7914. It has been used within a number of cryptocurrencies (e.g., Litecoin and Dogecoin) and has been an inspiration for Argon2d, one of the winners of the recent password-hashing competition. Despite its popularity, no rigorous lower bounds on its memory complexity are known. We prove that scrypt is optimally memory hard, i.e., its cumulative memory complexity (cmc) in the parallel random oracle model is $\Omega(n^2 w)$, where $w$ and $n$ are the output length and number of invocations of the underlying hash function, respectively. High cmc is a strong security target for MHFs introduced by Alwen and Serbinenko (STOC '15) which implies high memory cost even for adversaries who can amortise the cost over many evaluations and evaluate the underlying hash functions many times in parallel. Our proof is the first showing optimal memory hardness for any MHF. Our result improves both quantitatively and qualitatively upon the recent work by Alwen et al. (EUROCRYPT '16) who proved a weaker lower bound of $\Omega(n^2 w /\log^2 n)$ for a restricted class of adversaries.
Note: Clarifications and minor fixes from previous versions.
Metadata
- Available format(s)
- Publication info
- Preprint. MINOR revision.
- Keywords
- scryptmemory-hard functionspassword hashing
- Contact author(s)
- reyzin @ cs bu edu
- History
- 2016-12-21: revised
- 2016-10-17: received
- See all versions
- Short URL
- https://ia.cr/2016/989
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2016/989, author = {Joël Alwen and Binyi Chen and Krzysztof Pietrzak and Leonid Reyzin and Stefano Tessaro}, title = {Scrypt is Maximally Memory-Hard}, howpublished = {Cryptology {ePrint} Archive, Paper 2016/989}, year = {2016}, url = {https://eprint.iacr.org/2016/989} }