I am fairly new to cryptography and I am trying to understand this picture here. I have some questions regarding this picture.

  1. What should be an identifer for a side? For example, in the picture, it says that A sends an identifer with a nonce to B. Should I just set a fix alias for each side, something like String ID_A = "ID_A"?
  2. Would AES make sense here, or would RSA be better?

Again, I apologize if these questions do not make much sense, but I am new and trying to grasp the idea.

EDIT: I have updated some further details.

enter image description here

enter image description here

  • $\begingroup$ Yes. I have now updated with some further details. Thank you! $\endgroup$ – thehollow May 11 at 16:06

There are a few non-standard/confusing things about this picture. I'll address them in a minute.

1) Yes, you can set a fixed alias for each party. You will want to make sure that the aliases are unique, public, and verifiable.

2) You're right that RSA is better to use here than AES. In particular, the encryption scheme here is asymmetric, that is, the encryption key is different than the decryption key. Since AES is a symmetric key primitive, it wouldn't really make sense to use it here.

The notation $E(PR_a,K_s)$ is syntactically incorrect. You don't encrypt using the private key in an asymmetric encryption scheme.

However, the real problem seems to be that you want to be using a signature scheme in that particular location rather than an encryption scheme. To understand why this is the case you need to understand the difference between privacy and authenticity:

Privacy ensures that nobody can read a message except for the person/people holding the decryption key. Authenticity ensures that a message really was sent by a particular person. Encryption schemes generally provide only privacy. However, if you want authenticity in the asymmetric setting, you probably want to use a digital signature scheme -- that is, person A can sign a message, and anybody can verify that the message was in fact signed by A.

(For RSA in particular, you could think of the decryption function as a signing function and then think of the encryption function as a verification function and this will give you a digital signature scheme. But this is not at all true in general. It only works for RSA because of the particular details of the RSA algorithm.)

| improve this answer | |

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.