Kryptografické systémy

Úvod do kryptografie (NMMB212)

Organizace

Cvičení se bude konat každý týden ve čtvrtek od 17:20 v učebně K6.
Pokud mě budete chtít kontaktovat, pak nejlépe při/po cvičení nebo e-mailem na adrese adolf.[prijmeni]@matfyz.cz. V předmětu e-mailu prosím použijte kód předmětu, snížíte pravděpodobnost, že e-mail zapadne.
Stránky přednášky jsou zde.

1. cvičení

Historie kryptografie, základní pojmy, louskání strých šifer (Vigenere), typy útoků

2. cvičení

Útok na Vigenereovu šifru, Vernamova šifra, Python type hints, Pythoní datové typy, předávání referencí

3. cvičení

Huffmanovo kódování, entropie, konstrukce moderních šifer, implementace SPN

4. cvičení

DES, meet-in-the-middle attack

5. cvičení

meet-in-the-middle attack, AES, inverz v GF(2^n)

6. cvičení

operační módy blokových šifer, padding oracle, compression oracle

7. cvičení

Hashovací funkce

7. cvičení

Hashovací funkce, MAC, TOTP

Zápočet

Vyřešit alespoň 3/4 úloh vyvěšovaných každý týden s občasnou přestávkou (řešení + postup). Hard deadline červenec. Dále vyžaduji buďto aktivní účast na cvičeních anebo odevzdání řešení zadávaných úloh do 2 týdnů od zadání.

Domácí úlohy

  • Vigenere: Najděte klíč ve tvaru KRYPTO{...} a společně s postupem mi ho pošlete na e-mail. Zadáno 1.3.
  • WPS: Najděte klíč ve tvaru KRYPTO{...} a společně s postupem mi ho pošlete na e-mail. Zadáno 14.3. Prodloužený deadline 3 týdny.
  • Linearní SPN: Najděte klíč ve tvaru KRYPTO{...} a společně s postupem mi ho pošlete na e-mail. Zadáno 14.3.
  • Compression oracle: Najděte klíč ve tvaru KRYPTO{...} a společně s postupem mi ho pošlete na e-mail. Zadáno 28.3. (soft-deadline 3 týdny)
  • Padding oracle: Najděte klíč ve tvaru KRYPTO{...} a společně s postupem mi ho pošlete na e-mail. Zadáno 28.3. (soft-deadline 3 týdny)
  • A5/1: Najděte klíč ve tvaru KRYPTO{...} a společně s postupem mi ho pošlete na e-mail. Zadáno 12.4.
  • TOTP: Najděte klíč ve tvaru KRYPTO{...} a společně s postupem mi ho pošlete na e-mail. Zadáno 26.4.
  • Bestest RSA: Najděte klíč ve tvaru KRYPTO{...} a společně s postupem mi ho pošlete na e-mail. Platí až hard deadline.
  • Short task: Najděte klíč ve tvaru KRYPTO{...} a společně s postupem mi ho pošlete na e-mail. Platí až hard deadline
  • RSA po čínsku: Najděte klíč ve tvaru KRYPTO{...} a společně s postupem mi ho pošlete na e-mail. Platí až hard deadline

Stará cvičení ze kterých beru občas příklady. Nejde o úlohy na zápočet.