Take the 2-minute tour ×
Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. It's 100% free, no registration required.

In order to setup an authenticated shared secret key between two clients, I am faced with the choice between two possibilities:

  • A: Let users set a (low-entropy) shared password and then perform some password-authenticated key exchange that is resilient to low-entropy secrets (as described here, for example).
  • B: Generate a high-entropy shared key and use it directly as a shared key.

Are there any advantages to A, especially when users must communicate the password/key through a separate channel in both cases?

N.B. The resulting shared key is used only once per client (Alice -> Bob and Bob -> Alice) and subsequently destroyed.

share|improve this question
The problem is how would to generate the shared key without allowing impersonation. If you can do that securely, then go for it. Passwords are just a concession to the feeble human mind. –  CodesInChaos Jun 29 '13 at 10:33
The advantage to A is that a password can be (significantly more easily) remembered. $\hspace{.7 in}$ –  Ricky Demer Jun 29 '13 at 22:08
Do either of you care to put your comments as answers? –  mikeazo Oct 29 '13 at 13:59
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.