# 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. While many people come to learn about cryptography through military usage, as these stories make for dramatic examples and the urgency of military operations certainly advanced the mathematics and technology used in cryptography, these situations are only a portion of the story. In modern communications such as text messaging, online retail, and electronic currency cryptography plays an essential role. The mathematics of cryptography will allow you to hide your sensitive information, verify that it has been transmitted correctly, and ensure that the sender of the message is actually who they claim to be.

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. To begin your studies you should have a basic understanding of algebra and statistics. Along the way you’ll learn some elementary number theory, statistical methods, and linear algebra. This resource will not go through the rigorous mathematical proofs of the mathematics that will be used, but rather demonstrate that theorems are true and emphasize the thought processes that led to their results. In your study of the Python programming language you’ll learn about various data types, iteration methods, functions, and methods that will be useful to unlock the power of your computer to implement the cryptography techniques you’ll be learning.