After reading different techniques to achieve authenticated key-agreement (X3DH, HMQV, Asynchronous Ratcheting tree, An efficient protocol for authenticated key agreement, I understood that all these approaches enforce implicit authentication --Alice is sure that only a specifically identified Bob can derive the same key -- explicit authentication is enforced by they use of a trusted server or digital certificates, which are parts of Public key infrastructures (PKIs).

As an alternative to PKIs, I learned that PAKE (password-authenticated key exchange) can be used. However, those schemes usually assume parties involved in the key-agreement already have a pre-shared password, or one party has the password and the other has enough information to recognize the password [Do all pake assume that all parties already have a password?]

However, I want to achieve a key-agreement without relying on PKIs or pre-shared secrets.

Hence is there a way to perform a key-agreement resistant to a man in the middle attack without the use of PKIs or pre-shared secret?

  • 4
    $\begingroup$ Face-to-face or tell your public keys by phone. Also Station-To-Station protocol $\endgroup$
    – kelalaka
    Jun 7, 2020 at 21:01
  • 1
    $\begingroup$ exactly. Examples of "face-to-face" or equivalent are (a) bluetooth pairing -- both devices show you a 6-digit number, which you visually verify are the same and hit "pair" or "accept" on both devices, (b) Signal messenger -- visual readout and check with your correspondent that he/she has the same value. $\endgroup$
    – user30713
    Jun 8, 2020 at 4:57


Your Answer

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

Browse other questions tagged or ask your own question.