general introduction:
symmetric encryption: semantic security, negligible advantage of adversary, example: one-time pad,
asymmetric encryption: public and private key, application for confidentiality, example: RSA, digital signatures: properties, signing key and verification key,
plain RSA implementation and attack via multiplication,
hash function for digital signatures, random oracle model for hash function, bit commitment based on hash functions,
Shamir key transport protocol, Discrete Logarithm Problem and role of cryptographic assumptions
symmetric encryption:
stream ciphers,
LFSR and their weaknesses, A5/1, shrinking generator, RC4,
substitution ciphers and frequency analysis,
block ciphers, encryption modes: ECB, CBC, CFB, counter mode
Feistel architecture,
DES,
key-length problem for DES, triple DES (why "double DES" does not work),
background of RC5 design, NIST competition and AES construction,
cryptanalysis of stream ciphers:
differential cryptanalysis: idea for a single round, fault analysis against the last round,
3-round DES, 4-round DES and characteristics,
linear cryptanalysis.
asymmetric encryption: RSA:
RSA generation -- weak randomness and repetitions of modulus n, attack when n is shared,
CRT implementation of RSA, fault attack in case of CRT, encryption:
Paillier, El Gamal,
signatures: RSA, ElGamal, DSS, Schnorr,
ROM and signatures with provable properties: Goh-Jarecki scheme and reduction to CDH,
bilinear mappings, an ID-based scheme
commitments: based on hash functions, Pedersen commitments
authentication protocols: symmetric methods: challenge and response with shared key, roaming mechanism
used in telecommunication, mutual authentication and design rules,
asymmetric methods: challenge and response with signatures,
privacy problems, static Diffie-Hellman, interactive proofs of knowledge,
interactive proof for graph isomorphism problem, zero-knowledge proofs: information-theoretic, computational,
Fiat-Feige-Shamir protocol, EAC protocol,
password authentication with PACE