Kryptografické systémy (NMMB361)
Organizace
Cvičení se bude konat každý druhý týden ve čtvrtek od 19:00 v učebně K3.Pokud mě budete chtít kontaktovat, pak nejlépe při/po cvičení nebo e-mailem na adrese Adolf.[prijmeni]@matfyz.cz. Bude-li zájem, pak během semestru v týdnech, kdy se cvičení nekoná, budou probíhat "programovací" konzultace, kde budu vysvětlovat základy programovacího jazyka Python, nejspíše v rozsahu potřebném pro řešení programovacích úloh na zápočet.
Stránky přednášky jsou zde.
Zápočet
Obyčejně každé cvičení bude zveřejněna sada úloh, jejímž vyřešením bude možné získat kolem 14 bodů. Termín odevzdání bude zpravidla dva týdny. Při pozdním odevzdání budou úlohy ohodnoceny polovičním počtem bodů. Na zápočet budete potřebovat alespoň 60 bodů a celkem bude možné nasbírat až 100 bodů. Celkový počet bodů se promítne i do výsledné známky zkoušky.Dění na cvičení
1. cvičení (22. 2.)
-
Šifra, historické šifry (Skytalé, Caesarova, Vigenerova, Vernamova, afinní), nástin útoků na tyto šifry
2. cvičení (8. 3.)
-
Opakování útoků, formalizace typů útoků, Hillova šifra
3. cvičení (23. 3.)
-
Entropie, Huffmanovo kódování, SPN, DES (základní vlastnosti)
4. cvičení (5. 4.)
-
Inverz v GF(256), AES, operační módy blokových šifer (ECB, CBC, CFB, CFB-l, OFB, CTR)
5. cvičení (19. 4.)
-
LFSR: reprezentace (Galois &lq;-&gq; Fibonnaci, polynom zpětné vazby, linearita LFSR, Geffe); špatný pokus o komentář/vtip k 01 paddingu a Vaudenayovu útoku na CBC
6. cvičení (3. 5.)
-
Hash, KDF, MAC, RSA
7. cvičení (17. 5.)
-
RSA (šifrování/podpis, Bleichenbacher nástin, slepý podpis), D-H (copánkový D-H idea, ECDH idea, MitM), ElGamal (triky s noncí), DSA, Terena CA, generování certifikátu
Domácí úkoly
- 1. sada
- 2. sada (deadline 22.3. 23:59)
- 3. sada (deadline 7.4. 23:59, deadline prodloužen kvůli pozdnímu zveřejnění zadání 3. série)
- 4. sada (deadline 19.4. 23:59)
- 5. sada (deadline 3.5. 23:59) -- opraven překlep v termínu
- 6. sada (deadline 17.5. 23:59)
- 7. sada (deadline 31.5. 23:59, připouštím skeny)
Výsledky domácích úkolů
Literatura
- Cryptography Engineering: Design Principles and Practical Applications (Ferguson, Schneier, Kohno)