Department of Electrical Engineering, IIT Bombay
October 21, 2025
A public-key encryption scheme is a triple of PPT algorithms (\textsf{Gen}, \textsf{Enc}, \textsf{Dec}) such that:
(pk,sk) \leftarrow \textsf{Gen}(1^n)
For m \in \mathcal{M}_{pk}, c \leftarrow \textsf{Enc}_{pk}(m).
m \coloneqq \textsf{Dec}_{sk}(c), where m \in \mathcal{M}_{pk} \cup \{\perp\}.
It is required that \textsf{Dec}_{sk}\left( \textsf{Enc}_{pk}\left( m \right) \right) = m for any message m \in \mathcal{M}_{pk}, except with negligible probability over the randomness of \textsf{Enc} and \textsf{Dec}
In public-key encryption, the adversary always has access to an encryption oracle
Proposition: If a public-key encryption scheme has indistinguishable encryptions in the presence of an eavesdropper, it is CPA-secure
In 1985, Taher El Gamal constructed a public-key encryption scheme based on the Diffie-Hellman protocol
\textsf{Gen}:
\textsf{Enc}:
\textsf{Dec}:
Theorem: If the DDH problem is hard relative to \mathcal{G}, then the El Gamal encryption scheme is CPA-secure.
Proof
Consider the following PPT algorithm D that attempts to solve the DDH problem
Case 1: h_3 = g^z for uniform z \in \mathbb{Z}_q
Case 2: h_3 = g^{xy}