BRYCHTA, J. Srovnání kryptografických primitiv využívajících eliptických křivek na různých hardwarových platformách [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2018.
Student zpracoval rozsáhlou rešerši dnešních dostupných knihoven, kde vybral dvě hlavní knihovny OpenSSL a LibECC obsahující primitiva pro práci s eliptickými křivkami. Třetí implementaci zvolil pro ukázka python kód pro práci s křivkami. Dále pak provedl implementaci na 4 hardwarových platformách řady RaspBerry. Dle vlastního návrhu měřících metod pak provedl experimentální měření a to pro výpočetní (časovou) náročnost, paměťovou náročnost a částečně i energetickou náročnost. Z tohoto pohledu lze považovat zadání za splněné i přes drobné nedostatky v části měření energetické náročnosti. Student byl po celou dobu vypracovávání práce aktivní a pravidelně konzultoval jednotlivé kroky práce. Práce je zpracována přehledně a logicky členěna do kapitol, výsledky jsou přehledné s dostatečně vyrovnaným grafickým i textovým zpracováním. Z pohledu formální stránky mám pouze drobnou výtku mám k podkapitolám (převážně u 4.1.X a 4.2.X), kde se vyskytuje přílišné množství podkapitol obsahujících mnohdy pouze jednu větu. Jinak je práce i po formální stránce velmi kvalitní. Z pohledu literatury pak student využil 60 citačních pramenů, což lze považovat za dostatečné množství. Jsou využívány převážně technické dokumentace, ale objevují se i odborné články a knihy. Z pohledu literatury lze vytknout občasné používání pouze obecných odkazů např. citace [30] či [34], které jsou následně i zdvojeny. V neposlední řadě je však nutno zmínit, že student nad rámec vypracování práce byl účastníkem soutěže EEICT2018, což hodnotím velmi kladně a dle mého názoru to vynahrazuje drobné nedostatky v práci.
Předložená diplomová práce obsahuje velké množství odborných a formálních nedostatků. Například jen v kapitole jedna jsou definice kryptografie, kryptoanalýzy a základních kryptografických služeb chybné (př. Autentizace – potvrzuje pravdivost atributu na základě, který je některými údajně pravdivý. Nepopiratelnost – zajišťuje neschopnost autora popřít informaci.). Také matematické definice základních primitiv a operací jsou chybné a nelogické např. str. 15 existence opačného prvku –a : a + (-a)=0, chybí nadefinování inverzního prvku pro konečné pole, pokud nad oborem reálných čísel definujeme operace sčítání a násobení není výsledkem celočíselné pole, definice modula, kongruence a mnohé další. Z těchto zásadních odborných nedostatků v teorii a základního matematického vzdělání je patrno nepochopení problematiky. Text je velice těžko čitelný a srozumitelný, protože působí jako překlad překladačem z anglického zdroje. Některé věty a tvrzení nedávají smysl. Například str. 18 Každý prvek dvojice je aditivum (tj. když jsou přidány dohromady, výsledek je 0) nebo Protože souřadnice bodů jsou prvky pole, lze stále provést addition křížových bodů. Student měl používat české ekvivalenty sčítání bodů nad eliptickou křivkou, inverzní prvek opačný prvek atd. Tímto způsobem je odborná úroveň inženýrské práce na velice nízké úrovni. V praktické části student zvolil knihovny OpenSLL, LibECC a python kód s křivkami viz Tab. 3.1 a realizoval měření výpočetní náročnosti pro HW platformy RPi 0/1/2/3. Testy náročnosti se zaměřily na analýzu vytížení CPU, paměti a proudové spotřeby. Metodologie měření proudové spotřeby není dostatečně vysvětlena, při tomto měření existuje velké množství ovlivňujících faktorů (spotřeba monitoru, šum, vzorkovací frekvence, použitý zdroj, sonda, synchronizace měření atd.). V uvedených pseudokódech na výpočet operací na křivce nejsou popsaný a vysvětleny jednotlivý proměnné a vstupy/výstupy. Komentář a legenda k 5.4 není dostatečné. I přes uvedené výtky lze konstatovat, že student hlavní cíle zadání splnil, navrhuji práci k obhajobě s hodnocením D.
eVSKP id 110101