Paper 2015/788

Cracking-Resistant Password Vaults using Natural Language Encoders

Rahul Chatterjee, Joseph Bonneau, Ari Juels, and Thomas Ristenpart


Password vaults are increasingly popular applications that store multiple passwords encrypted under a single master password that the user memorizes. A password vault can greatly reduce the burden on a user of remembering passwords, but introduces a single point of failure. An attacker that obtains a user’s encrypted vault can mount offline brute-force attacks and, if successful, compromise all of the passwords in the vault. In this paper, we investigate the construction of encrypted vaults that resist such offline cracking attacks and force attackers instead to mount online attacks. Our contributions are as follows. We present an attack and supporting analysis showing that a previous design for cracking-resistant vaults—the only one of which we are aware—actually degrades security relative to conventional password-based approaches. We then introduce a new type of secure encoding scheme that we call a natural language encoder (NLE). An NLE permits the construction of vaults which, when decrypted with the wrong master password, produce plausible-looking decoy passwords. We show how to build NLEs using existing tools from natural language processing, such as n-gram models and probabilistic context-free grammars, and evaluate their ability to generate plausible decoys. Finally, we present, implement, and evaluate a full, NLE-based cracking-resistant vault system called NoCrack.

Available format(s)
Publication info
Published elsewhere. MAJOR revision.36th IEEE Symposium on Security and Privacy (Oakland 2015)
Honey EncryptionPasswordPassword vaultPassword managersPCFGencoding
Contact author(s)
rc737 @ cornell edu
2015-08-07: received
Short URL
Creative Commons Attribution


      author = {Rahul Chatterjee and Joseph Bonneau and Ari Juels and Thomas Ristenpart},
      title = {Cracking-Resistant Password Vaults using Natural Language Encoders},
      howpublished = {Cryptology ePrint Archive, Paper 2015/788},
      year = {2015},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.