Additional Public-Key Tools
Stub. A few public-key building blocks and attacks beyond the core theory (already covered): building collision-resistant hash functions directly from the discrete-log or RSA assumptions, a man-in-the-middle attack on unauthenticated Diffie-Hellman key exchange, Merkle puzzles (a partial, quadratic-cost solution to key exchange using only a block cipher), and cryptographic accumulators.
Corresponds to Chapter 10 (one-way trapdoor functions, RSA, Diffie- Hellman key exchange, and the discrete-log assumption family are already covered in public-key-cryptography-foundations and number-theory-for-cryptography). Covers a few remaining tools: building a collision-resistant hash function directly from the discrete-log or RSA assumption (rather than from a dedicated hash design), the classic man-in-the-middle attack showing unauthenticated Diffie-Hellman key exchange is insecure against an active attacker (motivating the authenticated key exchange protocols covered much later), and Merkle puzzles — a cute, pre-public-key-era partial solution letting two parties agree on a shared secret using only a symmetric block cipher, at the cost of quadratic (rather than the attacker’s linear) work. Closes with accumulators as a fun application — compressing a large set into a short value that still supports efficient membership proofs.
Outline (TODO — flesh out each)
- Collision-resistant hash functions from number-theoretic primitives (DL-based, RSA-based)
- Attacks on the anonymous (unauthenticated) Diffie-Hellman protocol
- Merkle puzzles
- Fun application: accumulators