I have made an ECB/CBC detection oracle, and am now trying to make a detection oracle that can differentiate between CBC/CFB/OFB/CTR/etc. I can already tell ECB apart from the others due to this reason.

My issue is that, other than ECB, the detection I know how to do at this point involves corrupting a bit of the ciphertext and analyzing the error propagation in the subsequent cleartext (like explained here, and as read about in Applied Cryptography). The problem of course is that this requires knowledge of the key and IV to be able to view the cleartext.

Is it possible to analyze only a ciphertext and determine the block cipher mode used to encrypt it?

  • 1
    $\begingroup$ If the ciphertext's length is not a multiple of the block size, you can rule out ECB, CBC, and PCBC. $\endgroup$ – Leo.W Mar 8 '16 at 9:55
  • 1
    $\begingroup$ You'll have a hard time to differentiate between CTR and OFB... $\endgroup$ – SEJPM Mar 8 '16 at 14:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.