1. What is Cryptography?#

Simply put, cryptography involves the mathematics of secrecy. Stemming from the two Greek words: kryptos, meaning secret, and grapho, meaning to write. Cryptography began with the need for people to send and receive messages securely, without the ability for a third party to read their communications. Many people come to learn about cryptography through military usage, as these stories make for dramatic examples. While the urgency of military operations certainly advanced the mathematics and technology used in cryptography, these situations are only a portion of the story. Modern communications such as text messaging, online retail, and electronic currency also play an essential role.

The mathematics of cryptography will allow you to:

  • hide your sensitive information

  • verify that it has been transmitted correctly

  • verify the identify of the sender

This online resource will introduce you to the mathematics and programming skills needed to explore these topics and implement many of the cryptographic methods discussed.

Who is this resource for? You should have a basic understanding of algebra and statistics, or be willing to learn some when needed.

What mathematics will you learn?

Throughout the course you’ll learn:

  • elementary number theory

  • statistical methods

  • linear algebra

This resource will not go through the rigorous mathematical proofs of the methods covered. Instead, theorems will be presented with examples to highlight their use. You will learn the exploratory processes that led to the theorem’s results.

What programming concepts will you learn? You will learn to use the Python programming language to:

  • write documented code that is easy to read

  • perform operations with different types of data

  • solve problems iteratively using loops

  • compute large values using specialized functions

These concepts will unlock the power of your computer to encrypt and decrypt multiple forms of data.