I am studying the vulnerability of DES algorithm.

Let there be a DES system with 5 keys, 56bits each. Encryption works as follows: (It's in this order on purpose)


With k2=k3 and k4=k5

Where C = Cipher,
M = plain text
DEC = Decryption
ENC = Encryption
-kn = Is the number of key used, we have 5 keys so k1-k5.

So my question is, from what I understand, the difference between DES encryption and decryption is only the key used (or more like the order in which the keys are being used) so they just cancel out one another if the keys in two subsequent enc/dec operations are equal?

So, with bruteforce being applied, can C (the result) be figured in 2^(1x56) time complexity vulnerability or in a 2^(3x56) one? This is unclear to me, because if DEC and ENC are equivalent, then $DEC_{k4}(Dec_{k5}(M))$ will in fact cancel each other. Same for $ENC_{k2}(ENC_{k3}(M))$. Leaving us with $DEC_{k1}(M)$ which is, from what I understand, a single DES encryption on M. (Equal to $ENC_{k1}$).


1 Answer 1


because if DEC and ENC are equivalent, then $DEC_{k4}(DEC_{k5}(M))$ will in fact cancel each other.

Actually, just because DEC and ENC are similar (identical except for subkey generation) doesn't make them 'equivalent'. $DEC_{k4}(DEC_{k4}(M))$ does not, in fact, cancel each other out (unless $k4$ happens to be a 'weak key', that is, one of four specific values).

On the other hand, to answer the larger question you're pondering, the cipher you're considering is essentially $F_{k1}(G_{k2}(H_{k4}(M)))$, for some key-dependent permutations $F, G, H$, and 56 bit $k_1, k_2, k_5$ values. It should be obvious how a meet-in-the-middle attack would address this.

  • $\begingroup$ Thank you! So in conclusion, you are describing a O(2^3*56) efficiency case, for those F G H functions, except for that particular usage of weak keys, where 2 keys would cancel each other out and we would end up with O(2^1*56)? $\endgroup$
    – nimrod891
    Commented Aug 18, 2022 at 10:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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