I have a list of 128bit ciphertexts. I know that the plaintexts were encrypted with AES, 256bit key, ECB mode. Same key was used every time. So I know that if I see ciphertexts that are the same, the corresponding plaintexts are also the same. I know all possible plaintext values. Is it possible to derive the key that was used, or match plaintexts to ciphertexts?

  • $\begingroup$ Generally, no. You haven't defined what mode of operation you use, though. In some special cases, it might be possible to match plaintexts to ciphertexts – for example when using CTR mode (and some others) with a constant IV, attacker that matches one plaintext can match all of them. With any mode, the fact that a plaintext is always encrypted the same can be also useful for the attacker. AES itself tries to be quite secure there, but such a design can make it fragile. $\endgroup$ – v6ak May 30 '18 at 18:00
  • $\begingroup$ Hi, mode that was used is ECB. I have updated the question. $\endgroup$ – Ruan Sunkel May 30 '18 at 19:25
  • $\begingroup$ ECB is kind of class of weaknesses. None of them will allow you to directly decrypt all the data without any additional knowledge or precondition. With ECB, you can easily identify repeated blocks, get some high-level knowledge from “penguing” (see blog.filippo.io/the-ecb-penguin ) and once you guess content of a single block, you can use it on other occurences of the same ciphertext. $\endgroup$ – v6ak May 30 '18 at 19:58

Nope! Not unless you break AES or learn something that narrows the search space for the key.

| 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.