Kryptografické systémy

Úvod do kryptografie (NMMB212)

Organizace

Cvičení se bude konat každý týden v pondělí od 14:00 v učebně K11.
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í

Huffmanovo kódování, hrátky s Vigenerovou/Vernamovou šifrou, Pythoní okénko (Jupyter, typové anotace, datové typy) notebook

3. cvičení

Huffmanovo kódování, entropie, brute-force, náběh na SPN

4. cvičení

Implementace SPN, DES

5. cvičení

AES, hledání inverzu, compression oracle, Vaudenayův útok na padding oracle

6. cvičení

Padding oracle, operační módy

7. cvičení

LFSR (G<->F), kombinátory

8. cvičení

Hashovací fce, brute-force na hashovací funkce, Merkle-Damgard a jeho varianty, sponges

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 (splněné úkoly)

  • Vigenere: Najděte klíč ve tvaru KRYPTO{...} a společně s postupem mi ho pošlete na e-mail. Zadáno 13.2.
  • WPS: Najděte klíč ve tvaru KRYPTO{...} a společně s postupem mi ho pošlete na e-mail. Zadáno 27.2.
  • Linearní SPN: Najděte klíč ve tvaru KRYPTO{...} a společně s postupem mi ho pošlete na e-mail. Zadáno 6.3.
  • Compression oracle: Najděte klíč ve tvaru KRYPTO{...} a společně s postupem mi ho pošlete na e-mail. Zadáno 20.3. (deadline dvojnásobný)
  • Padding oracle: Najděte klíč ve tvaru KRYPTO{...} a společně s postupem mi ho pošlete na e-mail. Zadáno 20.3. (deadline je dvojnásobný)
  • A5/1: Najděte klíč ve tvaru KRYPTO{...} a společně s postupem mi ho pošlete na e-mail. Zadáno 5.4.
  • TOTP: Najděte klíč ve tvaru KRYPTO{...} a společně s postupem mi ho pošlete na e-mail. Zadáno 18.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.