  In this paper we explore several contexts where an adversary has an upper
hand over the defender by using special hardware in an attack. These include
password processing, hard-drive protection, cryptocurrency mining, resource
sharing, code obfuscation, etc. We suggest memory-hard computing as a generic
paradigm, where every task is amalgamated with a certain procedure requiring
intensive access to RAM both in terms of size and (very importantly) bandwidth,
so that transferring the computation to GPU, FPGA, and even ASIC brings little
or no cost reduction. Cryptographic schemes that run in this framework become
egalitarian in the sense that both users and attackers are equal in the
price-performance ratio conditions. Based on existing schemes like {Argon2} and
the recent generalized-birthday proof-of-work, we suggest a generic framework
and two new schemes: MTP, a memory-hard Proof-of-Work based on the memory-hard
function with fast verification and short proofs. It can be also used for
memory-hard time-lock puzzles. {MHE}, the concept of memory-hard encryption,
which utilizes available RAM to strengthen the encryption for the low-entropy
keys (allowing to bring back 6 letter passwords).
