1
$\begingroup$

I'm pretty new to the whole cryptography scene, so please forgive me if I make any incorrect statements.

I have a 16MB image that I'm encrypting and authenticating using AES-GCM. I obtain a 16MB encrypted image and a MAC. From what I could tell, this should provide me both confidentiality, authenticity, and integrity. I might be wrong on this.

With that said, is it even necessary to perform ECDSA signing on this encrypted image? I understand that the purpose of ECDSA is to provide authenticity from the person who provides the ciphertext, but since the encrypted image was already authenticated via AES-GCM, this seems like a redundant option.

$\endgroup$
2
  • 1
    $\begingroup$ It may be not so redundant if more than two persons have the symmetric key... $\endgroup$
    – SEJPM
    Jan 17, 2018 at 23:17
  • $\begingroup$ Signing the plaintext message and encrypting the message + signature would make more sense when authenticated encryption is used. It is not required if the security of the message and authentication provide enough protection against the attack vectors. If those are covered then there is no need to sign anything in addition. I was contemplating an answer including this but Ella already wrote a good answer so I'll leave it at this comment. $\endgroup$
    – Maarten Bodewes
    Jan 18, 2018 at 18:15

1 Answer 1

1
$\begingroup$

I have a 16MB image that I'm encrypting and authenticating using AES-GCM. I obtain a 16MB encrypted image and a MAC. From what I could tell, this should provide me both confidentiality, authenticity, and integrity. I might be wrong on this.

This is correct; AES-GCM is designed to offer confidentiality, authenticity, and integrity.

More details

You need to define who is supposed to be able to both verify the authenticity/integrity of your image, and who is supposed to be able to create authentic images.

In the case that you are the sole party that will be creating and accessing the image(s), then using ECDSA (or any signature algorithm) does not offer you any advantages. It will increase implementation complexity, and require more resources for no real benefit.

  • This situation applies if you are storing the image for personal use.

In the case that you are sharing that image with 1 other party, and both parties are allowed to create authentic ciphertexts, then AES-GCM is still sufficient by itself.

  • An example of this type of situation is secure instant messaging*.

If you want the world at large to be able to verify that a given ciphertext was created by yourself, without giving them the ability to create authentic ciphertexts themselves, then you would need to use ECDSA. Considering that the information is also encrypted, this seems like a relatively uncommon use case.

  • An example of this situation might be that you are forming some kind of cryptographic commitment to the image, which will only be revealed at a later date.

*Note: To set up a secured communications channel would likely involve the use of digital signatures; This appears to be beyond the scope of your question

$\endgroup$
1
  • $\begingroup$ This definitely cleared it up. Much appreciated! $\endgroup$
    – P. Li
    Jan 18, 2018 at 7:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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