| So what's DESX? DESX is a modification of DES which uses a 64+56+64 bit key, with what is called "pre- and post-whitening". Specifically, break the key into three pieces, 64 bit K1, 56 bit K2, 64 bit K3. Then DESX is defined by: C = K1 xor DES (K2, K3 xor P) where P is plaintext, C is ciphertext, and DES (K, P) is the DES encryption of P under key K. The encryption then has three steps: - XOR the input with K3 - DES encrypt that with K2 - XOR the result with K1 The first and last steps are called "whitening" because by xoring with a random value, any structure is destroyed. White light is a uniform and unstructured mixture of all colors. Whitening has been adopted as a general tool in constructing ciphers these days and many of the AES candidates use it. It makes things more difficult for the cryptanalyst as he won't know exactly what values are being fed into the guts of the cipher.