memoryhard
Memoryhard is a term used in computer science to describe an algorithm or function whose performance is constrained primarily by memory usage rather than by CPU speed alone. In practice, memoryhardness is achieved by requiring a large, often randomly accessed memory footprint during computation. This design makes it difficult to accelerate computation with specialized hardware that has relatively high compute power but limited memory per core, and it is widely used to strengthen password hashing and key derivation.
Memory-hard functions (MHFs) are intended to resist efficient time-memory trade-offs. They typically require allocating substantial memory
Common examples include scrypt and Argon2. Argon2, the winner of the Password Hashing Competition, provides tunable
Advantages of memory-hard designs include increased resistance to parallelized cracking and better scalability with hardware that