If you're behind a web filter, please make sure that the domain *.kastatic.org is unblocked.

# Modular Math and the Shift Cipher

The Caesar Cipher is a simple cipher, called the Shift Cipher that uses the modulo operator to encrypt and decrypt messages.

The Shift Cipher has a key K, which is an integer from 0 to 25. We will only share this key with people that we want to see our message.

# How to Encrypt:

For every letter in the message M :

1. Convert the letter into the number that matches its order in the alphabet starting from 0, and call this number X.
( A=0, B=1, C=2, ...,Y=24, Z=25)

2. Calculate: Y = (X + K) mod 26

3. Convert the number Y into a letter that matches its order in the alphabet starting from 0.

(A=0, B=1, C=2, ...,Y=24, Z=25)

For Example: We agree with our friend to use the Shift Cipher with key K=19 for our message.
We encrypt the message "KHAN", as follows:

So, after applying the Shift Cipher with key K=19 our message text "KHAN" gave us cipher text "DATG".

We give the message "DATG" to our friend.

# How to decrypt:

For every letter in the cipher text C :

1. Convert the letter into the number that matches its order in the alphabet starting from 0, and call this number Y.
(A=0, B=1, C=2, ..., Y=24, Z=25)

2. Calculate: X= (Y - K) mod 26

3. Convert the number X into a letter that matches its order in the alphabet starting from 0.
(A=0, B=1, C=2, ..., Y=24, Z=25)

Our friend now decodes the message using our agreed upon key K=19. As follows:

So, after decrypting the Shift Cipher with key K=19 our friend deciphers the cipher text "DATG" into the message text "KHAN".

# Why is the Shift Cipher insecure?

A cipher should prevent an attacker, who has a copy of the cipher text but does not know the key, from discovering the contents of the message. Since we only have 26 choices for the key, someone can easily try all of the 26 keys, one by one, until they recover the message. This type of attack is called a brute force attack.

Next let's practice this cipher and earn some energy points! You deserve it.