I think cryptography is an excellent way to get young people interested in mathematics, science and general problem solving. It is a subject that generates real puzzles, it has a great history (e.g., Enigma), and it is more important today than ever before (e.g., the Internet).

A section on simonsingh.net devoted to cryptography in the classroom has suggestions for how you can use codes and ciphers within mathematics and science lessons. For example, codebreaking by frequency analysis is a fun way to learn about gathering data (How frequent is E? How consistent is the fraction of E's?) and plotting bar charts.