Cryptography
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 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
Assignment 1 (due 7-11 III)
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)
June 24, C-4 41, 11am-2pm
July 1, 11am-1pm