3.2.7 What is DESX?
DESX is a strengthened variant of DES supported by RSA Security's toolkits (see Question 5.2.3). The difference between DES and DESX is that, in DESX, the input plaintext is bitwise XORed with 64 bits of additional key material before encryption with DES and the output is also bitwise XORed with another 64 bits of key material. The security of DESX against differential and linear attack (see Question 2.4.5) appears to be equivalent to that of DES with independent subkeys (see Question 3.2.8) so there is not a great increase in security with regards to these attacks. However the main motivation for DESX was in providing a computationally simple way to dramatically improve on the resistance of DES to exhaustive key search attacks. This improved security was demonstrated in a formal manner by Killian and Rogaway [RK96] and Rogaway [Rog96]. The DESX construction is due to Rivest.