For most of human history, security of data communication has been essential. The relevance of encryption in times of war and (more recently) in the information age is difficult to overestimate. During the 20th century, advances in mathematics and technology prompted the proliferation of many new methods of encryption. Among these methods, the Hill cipher, a polygraphic substitution cipher introduced in 1929, pioneered the use of modular arithmetic and linear algebra in an encryption algorithm. In this paper, we explore the Hill cipher. This expository article includes a discussion of the mathematical framework and implementation of the cipher, as well as examples, a method of plaintext attack, and Python code for the Hill cipher.