The aim of this course is to give the
fundamental concepts of cryptography and introduce to students the private key,
public key cryptographic systems, and cryptographic hash functions.
At the end of the course the student is expected to learn: the basic facts about cryptography, internationally standardized cryptographic algorithms, basic cryptanalytic techniques and password cracking.
WEEK 1: Historical introduction to cryptography.
WEEK 2: Introduction to block ciphers.
WEEK 3: Analysis of standardized block ciphers and
other selected ciphers.
WEEK 4: Modes of Operation: ECB, CBC, CFB, OFB, PCBC,
XTS, CTR.
WEEK 5: Block cipher cryptanalysis.
WEEK 6: Cryptographic hash functions. Password-based
key derivation.
WEEK 7: Password cracking.
WEEK 8: Message authentication codes. Authenticated encryption.
WEEK 9: Randomness in Cryptography.
Cryptographically secure random number generators.
WEEK 10: Stream ciphers: Analysis of standardized stream cipher and other selected ciphers.
WEEK 11: Some topics in elementary number
theory.
WEEK 12: Public-key cryptography: Discrete
logarithm and factorization problems.
WEEK 13: Diffie-Hellman key exchange, RSA, DSA,
and ElGamal cryptosystems.
WEEK 14: TLS/SSL Protocol. Security and attacks.