Cryptography
Lectures
What is crypto? (Old) Ciphers: substitution cipher, polyalphabetic, Vigenere,
Enigma
. Perfect secrecy, Vernam cipher.
How to construct a block cipher: substitution-permutation networks, Feistel Networks.
Perfect indistinguishability. Eavesdropping experiment. Pseudorandomness. Constructing encryption scheme from a pseudorandom generators. Bad stream ciphers: E0, A5/1, A5/2, CSS.
Chosen Plaintext Attack. Pseudo-random functions
Pseudo-random permutations. Strong pseudo-random permutations. Message authentication codes
Introdution to public key cryptography (PKC 1).
Number theory. RSA 1 (https://github.com/filipzz/crypto/public_key_crypto_1.ipynb)
PKC 2.
Cyclic groups. Computational Diffie-Helman. (https://github.com/filipzz/crypto/public_key_crypto_2.ipynb)
PKC 3.
Prime-order groups. Finding generators. Quadratic Residues. Diffie-Helman Key Exchange. ElGamal Encryption (https://github.com/filipzz/crypto/public_key_crypto_3.ipynb)
PKC 4.
RSA Encryption: textbook, hybrid encryption, OAEP. Digital signatures. (https://github.com/filipzz/crypto/public_key_crypto_4.ipynb)
Introdution to secure multiparty computation (MPC 1).
Oblivious transfer. (https://github.com/filipzz/crypto/mpc_1_zkp.ipynb)
MPC 2: Zero-knowledge proofs.
Fiat-Shamir identification scheme
. Non-interactive zero-knowledge proofs
Classes
Assignment 1
(due 7-11 III)
Assignment 2
Assignment 3
Assignment 4
Assignment 5
Homeworks
Lab 1:
Lab1
(due: 14 III).
Lab 2:
Lab 2
(due: 3 IV).
Lab 3:
Lab 3
(due: 17 IV).
Lab 4:
Lab 4
(due: 1 V).
List of projects:
Projects
(due: part 1: 3 VI/ part 2: 10/ part 3: 23 VI)
Exam
June 24, C-4 41, 11am-2pm
July 1, 11am-1pm
Biblio
Handbook of Applied Cryptography (www)
-
A. J. Menezes
P. C. van Oorschot
S. A. Vanstone
Cryptography. Theory and practice
-
Douglas R. Stinson
Introduction to modern cryptography
-
Jonathan Katz
Yehuda Lindell
The Foundations of Cryptography (www)
-
Oded Goldreich
Lecture Notes on Cryptography (www)
-
S. Goldwasser
M. Bellare