Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

So, I uploaded a text file in Cryptool and encrypted it with DES-ECB with the key FF FF FF FF FF FF FF FF. I encrypted the cipher text again, with DES-CBC using the same key. Then, I encrypted the obtained text with DES-CBC again.

The first 8 characters match the encrypted text of ECB. The rest of it is different. I would like to know why those 8 characters are similar and why the rest of it are not? It would be very helpful if anyone could explain this to me.

Screenshot of CrypTool in action, showing the described cyphertexts.

share|improve this question
Experts can someone please assist me in understanding this,unable to get into chat due to low reputation. Thanks in advance – Swathi Jul 4 '14 at 6:39
What IV did you use in CBC mode? – Henno Brandsma Jul 4 '14 at 7:09
@HennoBrandsma, Sorry I am a newbie to cryptool.How do we look for initialization vector in cryptool? – Swathi Jul 4 '14 at 13:47
up vote 3 down vote accepted

There are a couple of things going on:

  • First of all, the DES key FF FF FF FF FF FF FF FF happens to be a "DES weak key"; by that, we mean that if you send a block through the cipher twice, it'll end up with the original value; that is:

    $$X = DES_{weak}( DES_{weak} ( X ))$$

  • You are obviously encrypting in CBC mode with a zero IV.

So, let us look at what happens to the first block during your encryption. He's call the initial value of that plaintext block $A$ (which is 44 6F 75 62 6C 65 20 65 in your example)

  • First you encrypt the text in ECB mode. For the first block, this just sends it through DES, resulting in a ciphertext block we're call $B$ (which is A3 77 A8 0A AD 2B EA 6E in your example:

$$B = DES_{weak}(A)$$

  • Then, you encrypt that in CBC mode (with a zero IV). For the first block, this exclusive or's the block with the IV, and sends it through DES. Because we are using a weak key, this results in the original $A$ block, as:

$$DES_{weak}(IV \oplus B) = DES_{weak}(B) = DES_{weak}(DES_{weak}(A)) = A$$

  • Lastly, you encrypt the text again in ECB mode. For the first block, this just redoes what we did in the first pass (because the first block is the exact same value it was):

$$B = DES_{weak}(A)$$

Now, this doesn't happen with the second block; that's because of the CBC mode in the second pass. CBC mode exclusive or's in the value of the first block, and since that is not zero, the second equation does not hold.

share|improve this answer
Thank you for your valuable feedback. It was really helpful. – Swathi Jul 4 '14 at 16:29

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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