BARTOŇOVÁ, V. Optimalizace bezpečnostních algoritmů pro smartkarty [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2011.

Posudky

Posudek vedoucího

Hajný, Jan

Zadáním diplomové práce bylo důkladné seznámení s vývojovým prostředím .NET pro smartkarty a implementace optimalizovaných výpočtů, které mohou být nadále využity v kryptografii. Klíčovým úkolem byla implementace rychlého modulárního sčítání a násobení velkých čísel na smartkartě, které pak mohou být využity u složitějších algoritmů. Odevzdaná práce obsahuje teoretickou část věnovanou bezpečnosti, část věnovanou popisu smartkaret a část věnovanou samotnému řešení projektu. V teoretickém úvodu je popsány základní principy modulární aritmetiky (nazvané jako "Jedno-modulová aritmetika zbytkových tříd") a šifry na ní založené. Popis je často nepřesný a zmatečný. Kapitola obsahuje témata, která se týkají zadání pouze nepřímo, a naopak postrádá zásadní teorii týkající se optimalizace výpočtů (např. popis algoritmů pro optimalizované modulární násobení - Combova metoda, Montgomeryho metoda, akcelerace pomocí binomického rozvoje atd.). Druhá část, věnovaná smartkartám samotným, obsahuje obecný technický popis těchto zařízení. Sekce, která je věnována samotnému řešení projektu, je poměrně strohá (9 str.). Je zde popsán algoritmus použitý pro sčítání a násobení, v obou případech je využito nejjednodužší metody, tzv. "tužka a papír". Nevhodně je vyřešena i reprezentace velkých čísel, kde je číslo ukládáno jako string a pak je s každou číslicí počítáno po převodu na integer. Tento postup je neefektivní a díky výkonnostním omezením smartkarty jej považuji za nepoužitelný. Navržený algoritmus je testován pouze na PC, na smartkartě nebyl funkční. Cílem práce byla implementace optimalizovaných algoritmů pro modulární sčítání a násobení na smartkartě. Řešení prezentované v této práci však tyto cíle nesplňuje - není jej možné na smartkartě vůbec spustit a i kdyby to možné bylo, jeho efektivita by byla velice nízká. Je to způsobeno jak nevhodnou reprezentací velkých čísel, tak použitým algoritmem. Tomuto problému bylo možné zabránit konzultacemi, bohužel studentka je nevyužila a nereagovala ani na výzvy a dotazy na stav práce. Také vzhledem k faktu, že cíle projektu nebyly nijak náročné a byly již na zapůjčené smartkartě v minulosti realizovány, považuji zadání za nesplněné.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Splnění zadání F 15/50
Aktivita během řešení a zpracování práce (práce s literaturou, využívání konzultací, atd.) F 5/20
Formální zpracování práce C 15/20
Využití literatury B 8/10
Navrhovaná známka
F
Body
43

Posudek oponenta

Malina, Lukáš

Diplomová práce se zabývá výzkumem technologie Smartcard a implementací kryptografických algoritmů v tomto prostředí. Cílem práce bylo navrhnout komunikaci s kartou a pokusit se optimalizovat výpočty modulární aritmetiky. Práce se skládá ze dvou teoretických kapitol zabývající se problematikou bezpečnostních algoritmů a smartkaret. Třetí kapitola popisovala praktickou činnost, kde se studentka zabývala návrhem matematických operací a jejich simulací. Implementace jako konzolová aplikace byla testována pouze na osobním počítači nikoliv na čipové kartě. Formální zpracování je na velmi dobré úrovni. Avšak obrázky ve 3 kapitole 3.1, 3.2 a 3.3 nejsou v příliš dobré kvalitě. Odborná úroveň práce byla na uspokojivé úrovni. Teoretická část zabývající se modulární aritmetikou není propracována příliš do hloubky, čímž pak vzniká problém ve fázi teoretického návrhu. Dále bych vytknul jen ojedinělé méně podstatné chyby, např. na straně 27 je uváděna špatná délka klíče kryptosystému DES (správně 56 bitů, ne 64 b). Zadání práce nebylo splněno dostatečně. V práci chyběl rozbor i jiných metod a přístupů modulárního násobení, které byli pro návrh klíčové. Nicméně samotný návrh algoritmů nebyl řešen dostatečně. Navrhované metoda násobení zvaná tužka a papír o dekadickém základu spolu s konverzí na datový typ string není v praxi dostatečně efektivní a téměř se nepoužívá (alespoň ne v modulární aritmetice). Násobení lze řešit lépe pomocí jiného algoritmu v kombinaci s rozšířením dekadické báze na bytovou, 16 či 32 bitovou bázi a čísla přímo zpracovávat jako pole datových typů byte či integer o délce 16 či 32 bitů. Dalším nedostatkem byla skutečnost, že se nepodařilo navrhnuté řešení nahrát na kartu z důvodů, které jsou popsány na str. 42, čímž neobstojí ani návrh komunikace mezi kartou a PC. Interpretace výsledků obsahovala jen výstupy simulace neefektivního návrhu násobení a sčítání na osobním počítači, tudíž byla pouze na dostatečné úrovni. Celkové hodnocení díky uvedeným nedostatkům činí E / 54 b.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Splnění požadavků zadání F 4/20
Odborná úroveň práce D 32/50
Interpretace výsledků a jejich diskuse E 10/20
Formální zpracování práce B 8/10
Navrhovaná známka
E
Body
54

Otázky

eVSKP id 39804