Paper 2014/429

Memento: How to Reconstruct your Secrets from a Single Password in a Hostile Environment

Jan Camenisch, Anja Lehmann, Anna Lysyanskaya, and Gregory Neven


Passwords are inherently vulnerable to dictionary attacks, but are quite secure if guessing attempts can be slowed down, for example by an online server. If this server gets compromised, however, the attacker can again perform an offline attack. The obvious remedy is to distribute the password verification process over multiple servers, so that the password remains secure as long as no more than a threshold of the servers are compromised. By letting these servers additionally host shares of a strong secret that the user can recover upon entering the correct password, the user can perform further cryptographic tasks using this strong secret as a key, e.g., encrypting data in the cloud. Threshold password-authenticated secret sharing (TPASS) protocols provide exactly this functionality, but the two only known schemes by Bagherzandi et al. (CCS 2011) and Camenisch et al. (CCS 2012) leak the password if a user mistakenly executes the protocol with malicious servers. Authenticating to the wrong servers is a common scenario when users are tricked in phishing attacks. We propose the first t-out-of-n TPASS protocol for any n > t that does not suffer from this shortcoming. We prove our protocol secure in the UC framework, which for the particular case of password-based protocols offers important advantages over property-based definitions, e.g., by correctly modeling typos in password attempts.

Available format(s)
Cryptographic protocols
Publication info
A major revision of an IACR publication in CRYPTO 2014
Contact author(s)
anj @ zurich ibm com
2014-06-11: received
Short URL
Creative Commons Attribution


      author = {Jan Camenisch and Anja Lehmann and Anna Lysyanskaya and Gregory Neven},
      title = {Memento: How to Reconstruct your Secrets from a Single Password in a Hostile Environment},
      howpublished = {Cryptology ePrint Archive, Paper 2014/429},
      year = {2014},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.