Is there any way to change a password using a PAKE-like algorithm, without the server getting the plaintext of either the old or new password?

  • $\begingroup$ Why don't you simply use the hash of your password to store on the server and the server uses a classical salt-based password checking mechanism? The client will always send the hash of their password. $\endgroup$
    – kelalaka
    Feb 25 '20 at 13:19

If you use an augmented PAKE (such as AuCPace or Opaque), the server never gets a copy of the password in the first place. Hence, to update the password, you would reregister with the new password, but the reregistration process wouldn't involve sending the password.

If you use a balanced PAKE (such as Spake-2), well, the server does need the password.

Augmented PAKEs are designed to be used in a client-server scenario (where the client always initiates the negotiation, and we don't want the server to have the password in the clear); balanced PAkES are designed for peer-to-peer scenarios (where either side may want to initiate it, and so both sides need the password)

  • $\begingroup$ I thought OPAQUE only did a key exchange based on a password and a... server-side hash I guess? how does OPAQUE provide password change/registration? $\endgroup$
    – SoniEx2
    Feb 25 '20 at 13:57
  • 1
    $\begingroup$ @SoniEx2: with Opaque, the server has a encrypted value (that contains some signature public/private keys), and one of the inputs to a function that reconstructs the encryption key. The client has the password (which is the other input); during login, the client/server perform a blinded computation that (if everyone is honest) allows the client to reconstruct the encryption key (and retrieve the signature keys). So, to register, they perform the same blinded computation, the client encrypts the signature keys, and that ciphertext is given to the server. Reregistration would be the same. $\endgroup$
    – poncho
    Feb 25 '20 at 14:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.