Matematická kryptografie a kryptoanalýza I (NMMB335)
Organizace
Cvičení se bude konat každý druhý týden ve středu od 10:40 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í
Booleovské funkce, korelace, parity, SPN a distinguisher2. cvičení
Difuze3. cvičení
Hledání cest v grafu (matice přechodu tu), hledání cest v SPN s danou přechodovou maticí.4. cvičení
5. cvičení
Jaké cesty hledáme a proč (obrázek).Zápočet
Zápočet bude udělen za vypracování alespoň 4 z 5 domácích úloh, které budou zadány během semestru. Deadline na odevzdání je 14 dní, nebude-li řečeno jinak.- SPN: implementace SPN v Pythonu s délkou bloku 16 bitů, S-Boxy o šířce 4 bitů, a permutací posouvající i-tý bit na (i % 4) * 4 + (i // 4) pozici. Funkci S-Boxu si můžete vymyslet (musí být bijekce). SPN by měla mít flexibilní počet rund. Zadáno 11.10. Deadline 25.10.
- Cesty 1: naimplementujte si hledání cest v SPN rekurzí tester. Stačí dostatečně dobrá cesta. Zadáno 17.11., deadline 23.12. V případě podezření na chybu v testeru, bez váhání pište!
- Cesty 2: naimplementujte si hledání cest v SPN prohledáváním do šířky tester. Stačí dostatečně dobrá cesta. Zadáno 17.11., deadline 23.12. V případě podezření na chybu v testeru, bez váhání pište!
- Korelační matice: najděte korelační matici pro zadaný SBox. Bude se vám hodit funkce dumps z knihovny json. Úloha. Zadáno 23.11., deadline 10.12. Úlohu jsem testoval, ale bugy se mohou stát. Kdyžtak se ptejte!
- Lineární útok: najděte klíč lineárním útokem. Úloha. Deadline konec semestru. Úlohu jsem testoval, ale bugy se mohou stát. Kdyžtak se ptejte!