Alice

Parameters known by Alice:

Chooses the value of $a$ and $b$:

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:

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

Alice first chooses the values $a$ and $b$ at random such that $\gcd(a, 26)=1$ and then she computes the inverse $a^{-1}$ of $a$ with the extended Euclidean algorithm.

She then sends the values $a$, $a^{-1}$ and $b$ 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 $a$ and $b$ 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 $a$ is the inverse $a^{-1}$ used.

Bob

Parameters known by Bob:

Receives the ciphertext $c$
Decrypts the ciphertext $c$: