Learn the basic techniques for cracking codes then practise them using this interactive challenge. There are three levels of difficulty and many different messages to decipher.