The traditional model of cryptography examines the security of cryptographic primitives as mathematical functions.This approach does not account for the physical side effects of using these primitives in the real world.A more realistic model employs the concept of a side channel. A side channel is a source of information that is inherent to a physical implementation of a primitive.Research done in the last half of the 1990s has shown that the information transmitted by side channels, such as execution time, computational faults and power consumption, can be detrimental to the security of ciphers like DES and RSA. This thesis surveys the techniques of side channel cryptanalysis presented in [Kocher1996], [Boneh1997], and [Kocher1998] and shows how side channel information can be used to break implementations of DES and RSA.Some specific techniques covered include the timing attack, differential fault analysis, simple power analysis and differential power analysis.Possible defenses against each of these side channel attacks are also discussed.