I clearly understand the story of Alice and Bob:

Alice and Bob are going to use double DES. They know the keys K1 and K2.

Alice sends to Bob the encrypted message c= EK1(EK2(m)). Bob decrypts the message m = DK2(DK1(c)). Alice and Bob believe that Eve (the hacker) will need to discover both keys K1 and K2 by brute force to decrypt the message.

Eve has intercepted the "message m" and "c = EK1(EK2(m))". She wants to find K1 and K2. She computes EK(m) for all possible keys and stores the results in a list. She computes DK(c) for all possible keys and stores the results in a list. She compares the two lists, and looks for a match. If she founds a match then Eve knows K1andK2.

Now my question (sounds might be silly) is: How did Eve already get about the message? And if Eve gets the message then why she wanted to have the Keys K1 and K2 ?

  • $\begingroup$ Read about known-plaintext attacks. $\endgroup$ – D.W. Mar 18 '14 at 22:09

That isn't a silly question.

Of course, if Eve already knew the contents of all the messages between Alice and Bob, she may have little reason to obtain the key.

However, it's possible that she already know (or can guess) some of the message between Alice and Bob. For this attack, all Eve needs is a guess of 8 bytes of plaintext from a single message, as long as that plaintext block falls on a block boundary. That is a rather weaker requirement than her knowing the entire message.

For example, perhaps Alice always starts here messages to Bob with "Dear Bob"; if Eve guesses that, that gives her the 8 bytes of known plaintext right there. And, if this example sounds a tad contrived (and it's not; I believe that the Allies exploited exactly that against Enigma at times), well, consider that in real life, Alice and Bob may be computers exchanging messages via some protocol; protocols often have great deal of guessable content; far more than what Eve would need.

| improve this answer | |
  • $\begingroup$ In addition of 8 aligned bytes of known plaintext, this attacks requires the ability to check which of about $2^{48}$ candidate keys are correct. This can be accomplished with about 6 other bytes of known plaintext (not necessarily aligned). $\endgroup$ – fgrieu Mar 18 '14 at 17:48

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.