Digital Signatures, CCA Security, Authenticated Encryption and HPKE
The public-key alternative to message authentication.
accept or rejectThe same security framework, a new setting.
Digital signatures with trapdoors.
Discrete log-based signatures.
How does the verifier get the right public key?
The right security target for encryption.
Closing the loop on textbook RSA.
\[ \begin{aligned} &z \leftarrow (d \| \texttt{00\ldots01} \| m) \quad\text{s.t. } |z| = (t - h - 8) \text{ bits} \\ &z' \leftarrow z \oplus W(r) \\ &r' \leftarrow r \oplus H(z') \\ &x \leftarrow (\texttt{00}^8 \| r' \| z') \quad\text{s.t. } |x| = t \text{ bits} \\ &\textbf{return } x \end{aligned} \]
From CCA security to practical AEAD.
reject
reject (useless)reject: decrypt or reject if tamperedAES-GCM internals and nonce misuse resistance.
\[ \begin{aligned} &k_m \leftarrow E(k, 0^{128}) \\ &x \leftarrow (N \| 0^{31} \| 1) \in \{0, 1\}^{128} \\ &x' \leftarrow x + 1 \\ &c \leftarrow \text{CTR-Encrypt}(k, x', m) \\ &d' \leftarrow \text{ZeroPad}(d, 128),\quad c' \leftarrow \text{ZeroPad}(c, 128) \\ &h \leftarrow \text{GHASH}(k_m,\; d' \| c' \| \text{length}(d) \| \text{length}(c)) \\ &t \leftarrow h \oplus E(k, x) \\ &\textbf{return } (c, t) \end{aligned} \]
Hybrid public-key encryption: RFC 9180.
| Mode | Extra key material | Sender authentication | Typical use case |
|---|---|---|---|
| Base (0x00) | None | No | Simple message encryption |
| PSK (0x01) | PSK + PSK_ID | PSK only | IoT bootstrapping |
| Auth (0x02) | Sender static key | Yes | Secure logging |
| Auth-PSK (0x03) | Both | Yes | Hardened channels |
AEAD with an extra guarantee.
What did we learn?
Ask now, catch me after class, or email eoin@eoin.ai
© 2026 Eoin O’Brien. All rights reserved.