Quiz Entry - updated: 2026.07.14
What are six core public-key techniques every crypto student should master?
RSA computation, RSA homomorphic property, Diffie-Hellman key distribution, ElGamal encryption, double signatures (secret exponent splitting), and blind signatures.
* Six public-key techniques worth mastering. *
These six are:
| Algorithm | Type | Key Concept |
|---|---|---|
| RSA computation | Encryption + Signatures | $c = m^e \mod N$, $m = c^d \mod N$ |
| RSA homomorphic property | Attack/Feature | $E(m_1) \cdot E(m_2) = E(m_1 \cdot m_2)$ |
| Diffie-Hellman | Key exchange | Shared $K = g^{ab} \mod p$ without exchanging $a$ or $b$ |
| ElGamal encryption | Encryption | DH-based, probabilistic, mask message with $K$ |
| Double signatures | Multi-party signing | Split $d = d_1 \cdot d_2 \mod \varphi(N)$ or $d = d_1 + d_2$ |
| Blind signatures | Privacy-preserving signing | Blind with $r^e$, sign, unblind with $r^{-1}$ |
Tip: For each algorithm, be able to:
- Explain the protocol steps
- Perform a numerical example with small numbers
- Explain why it's secure (what hard problem it relies on)
- Identify its weaknesses and countermeasures
Go deeper:
Public-key cryptography (Wikipedia) — RSA, Diffie-Hellman, ElGamal and signatures in one place.
Blind signature (Wikipedia) — Chaum's trick for signing a message you can't see.