Feb

2012

**Challenge Description**

Alice wants to send a message to Bob in secure way. Alice encrypted a plaintext P

_{A}= ¡°IMISSYOU¡± = 0x494D495353594F55 by using DES and obtained ciphertext C_{A}= 0xFA26ED1833264435.

Alice sent the ciphertext C_{A}and the secret key to Bob. The secret key was encrypted by converting each of its letters to a pair of digits giving its position in the typewriter keyboard.

More precisely, the following table is used.

1 2 3 4 5 6 7 8 9 0 1 Q W E R T Y U I O P 2 A S D F G H J K L 3 Z X C V B N M In this manner, ‘A’ is converted to 21, ‘B’ to 35, etc. In transmission, all of the first digits were lost and the received secret key resulted in the pairs:

?8 ?9 ?9 ?4 ?3 ?5 ?9 ?5After a few minutes, Bob recovered the secret key and smiled. Bob decided to reply in the same way. Bob encrypts a plaintext P

_{B}= 0xB6B2B6ACACA6B0AA by using DES and obtained ciphertext C_{B}= 0x05D912E7CCD9BBCA. What is the secret key which Bob used? (0x????????????????) (Bob¡¯s secret key is different from Alice¡¯s secret key)

With the information provided the Key of Alice can be recovered by trying the different options: ILOVEBOB

The plain text of Alice in HEX is 494D495353594F55

When XORed against \xFF this gives B6B2B6ACACA6B0AA which is the Plaintext for Bob

The Cipher text of Alice in HEX is FA26ED1833264435

When XORed against \xFF this gives 05D912E7CCD9BBCA which is the Ciphertext for Bob

So, when using the Key of Alice, which is in HEX 494C4F5645424F42

We can XOR that against \xFF which gives us B6B3B0A9BABDB0BD which is Bob his key and the answer to the challenge.

Code:

perl -e '@a = split(//,"\x49\x4C\x4F\x56\x45\x42\x4F\x42");foreach(@a) { print $_^"\xFF"}'|xxd 0000000: b6b3 b0a9 babd b0bd ........

Answer: B6B3B0A9BABDB0BD