In this module, students will investigate how Symmetric and Public Key Encryption work to achieve the goals of confidentiality of information and integrity/authentication of the sender. They should be able to explain the difference between Symmetric and Public Key Encryption methodologies, and how a one-way function can create a public secret, and the difficulty with which the process can be reversed. The module concludes with the students writing a program that models the public key exchange mechanism of the Die-Hellman Symmetric Key Exchange algorithm.