Building on the work of Kocher[Koc96], Jaffe, and Yun [KJY98], we discuss the notion of side-channel cryptanalysis: cryptanalysis using implementation data. We discuss the notion of side-channel attacks and the vulnerabilities they introduce, demonstrate side-channel attacks against three product ciphers--timing attack against IDEA, processorflag attack against RC5, and Hamming weight attack against DES--and then generalize our research to other cryptosystems.