Skip to main content

Discrete Mathematical Structures

Subsection 5.5.3 ElGamal

The ElGamal encryption system is a public key encryption algorithm created by Taher Elgamal [3] in 1985. It is based on the Diffie-Hellman key exchange.
Let \(\ZZ_p^\otimes=\{1,2,3,\dots,p-1\}\) and let
\begin{equation*} \otimes: \ZZ_p^\otimes\times\ZZ_p^\otimes\to \ZZ_p^\otimes,\quad a\otimes b=(a\cdot b)\bmod p \end{equation*}
As before we have \(a^{n\otimes}=a^n\bmod p\text{.}\) For \(s\in\ZZ_p^\otimes\) we write \(s^{-1\otimes}\) for the inverse of \(s\) with respect to \(\otimes\) such that
\begin{equation*} (s\otimes s^{-1\otimes})\bmod p=1 \end{equation*}
Figure 5.5.3.1. The El Gamal Cryptosystem
We now show that the message \(M\) that Bob obtains when decrypting the message is equal to Alice’s plain text message \(m\text{.}\) We have
\begin{equation*} M=X\otimes s^{-1\otimes}=(m\otimes s)\otimes s^{-1\otimes}=m\otimes(s\otimes s^{-1\otimes})=m\otimes 1=m. \end{equation*}
Figure 5.5.3.2. Alice and Bob. (https://xkcd.com/177/) Yet one more reason I’m barred from speaking at crypto conferences.