GYŐRI, A. Postkvantová kryptografie na FPGA [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2022.

Posudky

Posudek vedoucího

Smékal, David

Předložená diplomová práce popisuje implementaci kryptografického postkvantového algoritmu FrodoKEM na platformě FPGA v jazyce VHDL. Úkolem bylo analyzovat možnosti realizace, provést implementaci na FPGA kit a návrh otestovat. Text je vhodně rozdělen do jednotlivých kapitol popisující teoretickou i praktickou část práce. Po formální a rozsahové stránce je práce na průměrné úrovni. Vyskytuje se však několik stylistických a gramatických chyb, které úroveň snižují. Student pracoval s dostupnými zdroji literatury, které do práce zahrnul – celkem 28 zdrojů. Rozsahem práce splňuje požadavky diplomové práce. Během řešení nebyla pravidelně využívána konzultace k realizaci návrhu, přesto se student držel předem stanovenými cíli. K práci přistupoval zodpovědně. Problematiku nastudoval a následně provedl návrh a funkční implementaci. Ke konci semestru podcenil čas na nasazení na reálné FPGA zařízení a nezbyl čas na důkladnější otestování. Přestože práce obsahuje výše uvedené nedostatky, cíle práce byly splněny a výsledky jsou dostatečné. Proto doporučuji práci k obhajobě a navrhuji známku C, 76 bodů.

Navrhovaná známka
C
Body
76

Posudek oponenta

Jedlička, Petr

Cílem diplomové práce byla funkční hardwarová implementace postkvantového algoritmu FrodoKEM na platformě FPGA. Po formální stránce je práce na podprůměrné úrovni a vykazuje řadu nedostatků. Za velký nedostatek považuji absenci citací nebo jejich naprosté minimum v částech popisujících teoretické pozadí implementovaného algoritmu (jedná se o podkapitoly 2.1, 3.1, 3.2). V rámci praktické části práce by bylo vhodné místo nic neříkajících a dlouhých částí kódů uvést spíše bloková schémata nebo stavové diagramy implementovaných algoritmů společně s jejich popisem. Ačkoliv je práce psaná slovensky, většina názvů výpisů je v angličtině. Student místy nečlení text do odstavcvů (především Úvod a 5. kapitola). Z drobnějších formálních nedostatků práce lze zmínit výskyt překlepů. Gramatické chyby si vzhledem k jazyku práce nedovoluji posuzovat. Zmíněné nedostatky značně znesnadňují čtenáři orientaci v textu a jeho správné pochopení. Tento problém se týká především praktické části práce, která je z mého pohledu nepřehledná a působící dojmem textu napsaného na poslední chvíli. Praktická část práce začíná čtvrtou kapitolou, která se zabývá popisem zmíněného algoritmu v jazyce VHDL, přičemž způsoby těchto popisů jsou čtenáři přiblíženy především formou částí kódu VHDL, které mají někdy nulovou vypovídací hodnotu. Typickým příkladem je výpis 4.11 v kapitole 4.5. Podle slov autora by výpis měl popisovat spojení tří částí KEM algoritmu v jeden funkční celek. Nicméně výpis nese název "VHDL short part of implementation of Matrix Sub operation" a obsahuje komponenty dvou pamětí bez hodinového signálu a zmíněné tři části KEM algoritmu. Definice těchto komponent však vůbec nezahrnuje datové sběrnice. Je tedy otázkou, jak by takové komponenty mohly fungovat a vzájemně mezi sebou přenášet data. Vzájemné propojení komponent již ve výpisu není provedeno. V rámci této kapitoly dále chybí popis rozhraní vytvořených komponent. V přiložených kódech rovněž postrádám jakoukoliv snahu autora o paralelizaci algoritmu, případně jiné optimalizace pro FPGA (například využití DSP bloků pro matematické operace apod.). V následující kapitole autor popisuje úspěšně provedenou simulaci navržených komponent. Nicméně není zřejmý zdroj referenčních dat, s kterými byly výstupní hodnoty simulovaných komponent porovnány. Doba vykonání algoritmu v simulaci je 33 ms. Autor zde však již neuvádí taktovací frekvenci, společně s kterou by tento údaj měl vypovídající hodnotu. Naopak zde jsou dvě strany věnovány snímkům simulace s průběhy signálů, které však v práci již nejsou dále popsány. V další části se student neúspěšně snažil odsimulované komponenty implementovat na vývojovou desku Nexys A7. Není úplně zřejmé, proč za tímto účelem chtěl komponentu zabalit do IP bloku s AXI4-Lite rozhraním a k čemu konkrétně potřeboval při této implementaci Processing system, jak v práci uvádí, když jeho deska obsahuje pouze samotné FPGA. Výsledkem je neúspěšná implementace navržených komponent na FPGA, kterou student zdůvodňuje absencí Artix-7 Processing systému. V souvislostí s touto skutečností bych byl na místě autora zdrženlivý s tvrzením, že výsledkem práce je funkční implementace klíčových částí algoritmu, přičemž kvalita provedení je na poměrně vysoké úrovni s ohledem na výkon, jak uvádí v závěru práce. Vzhledem k výše uvedeným skutečnostem nepovažuji cíle práce za splněné a hodnotím práci známkou F (48 bodů). Výsledné hodnocení studenta ponechávám na komisi s ohledem na schopnost studenta reagovat na otázky komise.

Navrhovaná známka
F
Body
48

Otázky

eVSKP id 141398