Cryptography
Objectives:
At the end of the course the student should:
• comprehend the difference between classic and modern cryptography;
• explain the advantages and disadvantages of symmetric and asymmetric cryptosystems;
• compare modern cryptosystems and cryptographic protocols;
• deepen in the theoretical background of cryptography, and
• develop algorithms and programs in order to implement cryptosystems.
Skills:
Simulation of cryptographic communication, develop and evaluate code in Sage.
Prerequisites:
Undergraduate background in Discrete Mathematics and Computer Science
Content:
Stream Ciphers
Block Ciphers – AES
Public-key Cryptography – RSA, Elgamal, Rabin
Elliptic Curve Cryptography: elliptic curves (EC), EC cryptosystems (ElGamal, Diffie-Hellman key exchange)
Hash functions and Message Authentication Codes (MAC)
Digital signatures
Identity Based Cryptography (ΙΒΕ): encryption schemes with bilinear pairings and quadratic residues, comparison with other public-key encryption/decryption schemes.
Cryptographic Protocols: advanced cryptographic protocols, interactive proofs and zero-knowledge protocols, secure multi-party computation, secure e-voting systems.
Textbooks:
1. Understanding Cryptography, A Textbook for Students and Practitioners, Christof Paar, Jan Pelzl
2. Handbook of Applied Cryptography, A.J. Menezes, P.C. van Oorschot and S.A. Vanstone, http://cacr.uwaterloo.ca/hac/
3. Introduction to Mathematical Cryptography, J. Hoffstein, J. Pipher, J.H. Silverman, Springer.
4. N.Smart, Cryptography, An Introduction, http://www.cs.bris.ac.uk/~nigel/Crypto_Book/
Assessment:
40% project assignment
60% final written examination
Webpage:
http://compus.uom.gr/MINF207/index.php