Generates the key \( k \)
Encrypts the message \( m \):
Enter a message (a sentence containing only whitespace and the letters A-Z) that Alice wants to send encrypted to Bob:
Hit enter to generate the parameters and use the left and right arrow keys to navigate.
Alice generates a completely random key \( k \) with the same length as the message \( m \).
She then sends the key \( k \) through a secure channel to Bob.
Before Alice can encrypt the message \( m \) she needs the index in the English alphabet of each letter in the message \( m \) with the letter \( a \) starting at index \( 0 \).
Alice then use the key \( k \) to encrypt the message \( m \).
Before Bob can decrypt the ciphertext \( c \) he needs the index in the English alphabet of each letter in the ciphertext \( c \) with the letter \( a \) starting at index \( 0 \).
Decryption is almost identical to encryption: Instead of adding the two numbers we subtract them.
Receives the key \( k \)
Receives the ciphertext \( c \)
Decrypts the ciphertext \( c \):