Expected previous knowledge
You should have a rough idea of the definition of the following terms:
- group, field, ℤ/3ℤ
- discrete probability space, uniform distribution, random variable, stochastic independence, event, conditional probability,
- Turing machine, nondeterminism, polynomial time, P, NP
Preliminary outline
- Theoretical foundations of cryptography
- Perfect secrecy
- Computational security (w.r.t. probabilistic polynomial-time adversaries)
- Attacks: eavesdropping, chosen-plain-text, chosen-cipher-text
- Cryptographic primitives:
- Pseudorandom generators/functions/permutations
- One-way functions and permutations (with trapdoor information)
- Equivalence of cryptographic primitives
- Relation to complexity theory (P vs NP, P vs UP)
- Collision-resistant hash functions
- ...
- Private-key encryption and message authentication codes (MACs)
- Theoretical constructions using cryptographic primitives
- stream cipher, block cipher
- Practical constructions of block ciphers
- Substitution-permutation Networks (AES)
- Feistel networks (DES)
- Tweakable block ciphers (XEX-mode)
- Construction of MACs:
- from pseudorandom functions
- from collision-resistant hash functions using the Merkle-Damgard construction:
- ...
- Public-key encryption and signatures
- Diffie-Hellman key exchange
- Algebraic and number theoretical foundations
- Factoring, RSA-assumption, discrete logarithm, (elliptic curves)
- Relation to cryptrographic primitives
- Public-key encryption schemes:
- Signatures
- ...