CDX-2 Cipher Challenge



CDX-2 is a cipher specifically designed for encrypting files (i.e. not streams). The basic idea behind CDX-2 is that it's a repeated-key XOR cipher with the twist that, between rounds, the ciphertext is "rotated" with respect to the key, and this rotation is bit-aligned rather than byte-aligned, so the key bits really get spread around - the idea being to mess up Kasiski distance measurements.
Having said that, it's such a simple idea that I can't really believe it can't be cracked. That's why I've posted it to the sci.crypt sandbox, hosted by Michael Brown.
So - Can you crack CDX-2? Let's find out...

This challenge consists of five ciphertexts. All the ciphertexts are exactly one kilobyte long. All the ciphertexts have been encrypted with the same key. CDX-2 supports keys of any length (well, any number of bytes > 0), but for the purposes of this challenge, I have used a key of only 16 bytes (that is, 128 bits).

You also get the plaintexts for four of the ciphertexts. The challenge is to find the plaintext of the fifth ciphertext, which has been encrypted with the same key as the others.

The challenge is to crack the whole of the ciphertext stored in the cdxchallenge.cipher file. No plaintext is given for this file. If you manage it, please report the fact via the Sandbox (see above), to gain maximum kudos. If you can get the key out too, I'll be very impressed.
I want to give you as much help as I can, so here is an MD5 stamp of the plaintext: 5268528cef9083be911f036e3e58153f. This was generated by md5sum version 2.0.10.
In case you don't have the CDX-2 code, you can find a description and link at http://users.powernet.co.uk/eton/crypto/cdx2.html