1. [14 II] Wprowadzenie. Historia kryptografii (szyfr Cezara, Vigenere'a, afiniczny, ...). Rodzaje ataków na systemy szyfrowania: ciphertext only, known plaintext, chosen plaintext, chosen ciphertext. Security by obscurity versus postulat Kerckhoffa.
2. [21 II] Tajność doskonała. Nierozróżnialność. One-Time Pad (Vernam). Twierdzenie Shannona.
3. [28 II] Szyfry blokowe jako permutacje pseudolosowe. Sieci permutacyjno-zamieniające. Schemat Feistela (sieć Feistela). DES. AES.
4. [6 III] Tryby szyfrowania (ECB, CBC, Counter mode). Funkcje haszujące.
5. [13 III] Message Authentication Codes, konstrukcja nested MAC, HMAC. Konstrukcja schematu szyfrowania odpornego na atak typu chosen-ciphertext.
6. [20 III] Kryptografia (szyfrowanie, uwierzytelnianie, uzgadnianie klucza, dystrybucja kluczy) klucza symetrycznego vs. kryptografia asymetryczna. Grupy, grupy cykliczne, generatory. Tw. Eulera, Uzgodnienie klucza Diffie-Hellman. Książkowe RSA, OAEP.
7. [27 III] Dzielenie tajemnic.
8. [3 IV] Podpisy niezaprzeczalne, fail-stop.
9. [17 IV] Detekcja i korekcja błędów. Algorytm Luhna. Kody Hamminga.
[slajdy]10. [25 IV] Kompresja bezstratna. Entropia. Kody Huffmana.
[slajdy]11. [8 V] Kompresja bezstratna. Kody Tunstalla. Kodowanie arytmetyczne. Kodowanie słownikowe.
[slajdy]12. [15 V] Kompresja stratna. Kwantyzacja.
[slajdy]