### 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:

Use the following key (a word shorter than the message which only contains the letters A-Z):

Hit enter to generate the parameters and use the left and right arrow keys to navigate.

Alice generates the key $k$ of the keyword $kw$ where $k$ must have the same length as the message $m$. If the keyword is shorter than the message, the keyword is repeated until its length is equal to the length of the message.

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.

### Bob

##### Parameters known by Bob:

Receives the key $k$

Receives the ciphertext $c$

Decrypts the ciphertext $c$: