Wouldn't it be more efficient if the client initiated the connection by generating their own message, and encrypting it using their private key, then sending both messages to the server so it would decrypt and compare the messages?

  • 3
    That would allow for a replay of that message. Making the server generate the message (and having a large enough nonce) ensures that replay attacks are not possible.
    – vidarlo
    Sep 12, 2020 at 10:01
  • Makes sense, thank you. You could post it as an answer to close the question. Sep 12, 2020 at 11:21

1 Answer 1


This would essentially allow for a replay attack. Capture the messages, and replay at a later time. To avoid this the server would have to store all previously seen values, to ensure no reuse.

However, by making the server send the nonce, and making it sufficiently big, we can be fairly certain that someone in fact posesses the key if the can return a reply that matches the nonce.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .