Cryptography
Lectures
What is crypto? (Old) Ciphers: substitution cipher, polyalphabetic, Vigenere,
Enigma
. Perfect secrecy, Vernam cipher.
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)
Algorithms for factoring
Algorithms for computing discrete logs
Post-quantum cryptography
Elliptic curve cryptography
Introdution to secure multiparty computation (MPC 1).
Contact tracing. 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
MPC 3: Commitment schemes. Secret sharing. Garbled circuits. GMW (Goldreich, Micali, Widgerson) algorithm. Fully-homomorphic encryption.
Classes
Assignment 1
Assignment 2
Assignment 3
Homeworks
Lab 1:
Lab1
(due: 11 IV).
Lab 2:
Lab 2
(due: 18 IV).
Lab 3:
Lab 3
(due: 25 IV).
Lab 4:
Lab 4
(due: 23 V).
Lab 5:
Lab 5
(due: 30 V).
Lab 6:
Lab 6
(due: 13 VI).
Preliminary list of projects:
Project
Exam
The exam: 25 VI 13-15. A list of problems is
HERE
. You need to solve them and write the solutions down on a piece of paper. Then take pictures of your solutions and email them before 15:00.
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