I'm implementing impossible differential cryptanalysis on 3.5 round IDEA using the methods in "Miss in the middle attack on IDEA and Khufu" paper.

In the first step, I need to provide $2^{32}$ pairs that are identical in $X_2$ and $X_4$ and have all the possibilities in $X_1$ and $X_3$ to start the cryptanalysis.

So I've tried to collect the text for various books to provide the first plaintext and the second plaintext of the pair is computed so that it matches the input difference of the pairs.

But all the text that I come up with is equivalent to only 2 million plaintexts so I'm repeating this for the rest of the pairs to reach $2^{32}$ pairs.

Is this correct or should I have to get unique text for each pair and if that's what I should do where I could find these large texts?


1 Answer 1


Modern cryptography is based on security analysis assuming no weaknesses in plaintext, i.e., no characteristics of English or any other natural language.

So you don't need to use "books" (if I understand what you are doing correctly) to generate plaintexts with the difference structure required. You generate plaintexts at random with the prescribed structure.

So you just iterate through structures pseudorandomly.

  1. Iterate $2^{32}$ times for $i=1,\ldots,2^{32}$ and for each structure (list) $S_i=[]:$
  2. Pick $X_2$ at random (and set $X_4$ equal to it)
  3. Loop: Pick $X_1$ and $X_3$ over all possibilities
  4. Append $[X_1,X_2,X_3,X_3]$ to the structure $S_i$
  5. End Loop
  6. Your structure $S_i$ is ready
  7. End

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.