Today the internet is being used more than ever in order to store, transfer and access information. As a result, our private information is vulnerable to malicious parties who wish to use it for their own personal benefit. Cryptography uses mathematics in order to hide our private data so that it cannot be accessed by anybody other than ourselves. We begin this paper by exploring the most basic kinds of cryptosystems such as shift transformations, linear transformations and affine transformations as well as the how these cryptosystems are cracked using frequency analysis. We then take a look at how these concepts translate to enciphering matrices. Furthermore, we explain the differences between private and public key cryptography and investigate the RSA cryptosystem which is one of the most common types of public key cryptosystems in use today.