Alice

Parameters known by Alice:

Chooses the shift value \( s \):

Encrypts the message \( m \):

Step y/x

Enter a message (a sentence containing only whitespace and the letters A-Z) that Alice wants to send encrypted to Bob:

Choose a shift value between -26 and 26 (historically, Caesar used a shift of \( 3 \)):

Press Enter to generate the parameters. Use the Left and Right arrow keys to navigate between steps.

Alice chooses the shift value \( s \) and sends it to Bob through a secure channel.

Before Alice can encrypt the message \( m \), she needs to find the index of each letter in the English alphabet, with the letter \( a \) starting at index \( 0 \).

Alice then uses the shift value \( s \) to encrypt the message \( m \).

Before Bob can decrypt the ciphertext \( c \), he needs to find the index of each letter in the ciphertext in the English alphabet, with the letter \( a \) starting at index \( 0 \).

Decryption is almost identical to encryption: instead of adding the two numbers, we subtract them.

Bob

Parameters known by Bob:

Receives the shift value \( s \).

Receives the ciphertext \( c \).

Decrypts the ciphertext \( c \):