Alice

Parameters known by Alice:

Generates the key \( k \).

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:

Enter the keyword (a word shorter than the message, containing only the letters A-Z) to be used as the key:

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

Alice generates the key \( k \) from the keyword \( kw \), ensuring that \( k \) has the same length as the message \( m \). If the keyword is shorter than the message, it is repeated until its length matches that of the message.

She then sends the key \( k \) to Bob through a secure channel.

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

Alice then uses the key \( K \) to encrypt the message \( m \).

Before Bob can decrypt the ciphertext \( c \), he needs to determine the index in the English alphabet for 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.

Bob

Parameters known by Bob:

Receives the key \( k \).

Receives the ciphertext \( c \).

Decrypts the ciphertext \( c \):