bakalářská práce

Analýza pseudonáhodnosti autentizačních funkcí typu HMAC

Text práce 2.99 MB Příloha 16.32 kB

Autor práce: Peter Ďuroň

Ak. rok: 2025/2026

Vedoucí: doc. Ing. Karel Burda, CSc.

Oponent: doc. Ing. Václav Zeman, Ph.D.

Abstrakt:

Táto bakalárska práca sa zaoberá experimentálnou analýzou štatistických vlastností autentizačných funkcií typu HMAC so zameraním na ich pseudonáhodnosť. Hlavným cieľom bolo navrhnúť a implementovať softvérový nástroj, ktorý umožňuje testovanie vybraných hašovacích algoritmov — MD5, SHA-256 a SHA3-256 — v modifikovanom režime
HMAC. V rámci riešenia bolo navrhnutých päť metód mapovania vstupných a výstupných premenných, ktoré slúžia na skúmanie vplyvu distribúcie bitov na výslednú uniformitu výstupov. Analýza prebiehala prostredníctvom metódy zväzkov a Pearsonovho testu dobrej zhody (𝜒2), pričom sa sledovala miera zhody nameraných početností s teoretickým bino-
mickým rozdelením. Výsledky analýzy preukázali, že kým algoritmus SHA-256 vykazuje najvyššiu mieru stability naprieč rôznymi konfiguráciami, starší algoritmus MD5 a moderný štandard SHA-3 vykazujú pri špecifických typoch mapovania lokálne štatistické anomálie. Experimentálne sa potvrdilo, že najrobustnejšiu metódu predstavuje mapovanie založené na bitovej expanzii a kumulatívnej operácii XOR, ktoré efektívne eliminuje
vplyv statických výplní na výslednú pseudonáhodnosť.

Klíčová slova:

HMAC, pseudonáhodnosť, hašovacia funkcia, MD5, SHA-256, SHA-3, štatistické testovanie, test dobrej zhody, mapovanie.

Termín obhajoby

16.06.2026

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaBznamka

Klasifikace

B

Průběh obhajoby

Student prezentoval výsledky své práce a komise byla seznámena s posudky. Student obhájil bakalářskou práci a odpověděl na otázky členů komise a oponenta.

Jazyk práce

čeština

Fakulta

Ústav

Studijní program

Informační bezpečnost (BPC-IBE)

Složení komise

doc. Ing. Karel Burda, CSc. (předseda)
JUDr. Ing. František Kasl, Ph.D. (místopředseda)
RNDr. Ing. Pavel Šeda, Ph.D. (člen)
Ing. Ľuboš Nagy, Ph.D. (člen)
Ing. Vlastimil Člupek, Ph.D. (člen)
Ing. Jan Pospíšil, Ph.D. (člen)
Ing. Martin Plšek, Ph.D. (člen)

Posudek vedoucího
doc. Ing. Karel Burda, CSc.

V zadání práce bylo požadováno vytvořit program pro testování pseudonáhodnosti autentizačních funkcí typu HMAC. S pomocí tohoto programu se dále požadovalo analyzovat pseudonáhodnost vybraných funkcí HMAC. Jako kritérium pseudoháhodnosti bylo stanoveno binomické rozdělení počtu klíčů mezi danou zprávou a jejími pečetěmi.

Práce je poměrně rozsáhlá (87 stran). První kapitola je úvodem do kryptografie a druhá se věnuje hešovacím funkcím. Následují kapitoly věnované mechanismu HMAC a pseudonáhodnosti. V praktické části práce se autor věnuje konceptu a implementaci programu. Jádro této části práce spočívá v analýze získaných výsledků. Získané výsledky a závěry se jeví velmi zajímavými a budou použity k dalšímu bádání v dané oblasti. 

Po formální stránce je práce kvalitní.

Student pracoval samostatně a pravidelně konzultoval. U teoretických problémů často vyžadoval pomoc, ale na druhou stranu musím ocenit jeho pracovitost.

Celkově konstatuji, že zadání práce bylo splněno v celém rozsahu na velmi dobré úrovni. Z těchto důvodů práci hodnotím stupněm Velmi dobře - 82 bodů. Výsledný počet bodů navržený vedoucím: 82

Známka navržená vedoucím: B

Bakalářská práce se zabývá analýzou pseudonáhodnosti autentizačních funkcí typu HMAC. Cílem bylo vytvořit program pro testování pseudonáhodnosti vybraných funkcí a následně s jeho pomocí provést statistickou analýzu. Zadání považuji vzhledem k bakalářské úrovni studia za nadprůměrně náročné. Vyžadovalo kombinaci znalostí z kryptografie, statistického testování a programování. Student se s tímto zadáním vypořádal na dobré úrovni, i když některé teoretické souvislosti a interpretace výsledků by zasloužily hlubší a přesnější zpracování.

Práce má odpovídající rozsah a je logicky členěna na teoretickou a praktickou část. Autor popisuje základy kryptografie, hešovací funkce, mechanismus HMAC, pseudonáhodnost a použitý statistický aparát. Praktická část obsahuje návrh a implementaci programu, který umožňuje volbu hešovací funkce, typu mapování a množin zpráv, klíčů a výstupních pečetí. Testovány jsou funkce MD5, SHA-256 a SHA3-256, přičemž autor navrhl pět metod mapování vstupních a výstupních proměnných.

Pozitivně hodnotím rozsah provedených experimentů, vytvořený program a snahu o systematickou analýzu výsledků. Výsledky jsou zajímavé a mohou sloužit jako podklad pro další výzkum. Je však nutné zdůraznit, že použitá konstrukce se liší od standardního HMAC, zejména vlastním způsobem mapování vstupů a výstupů a odstraněním některých standardních prvků.

Z odborného pohledu by práce zasloužila podrobnější diskusi vlivu rozdílné velikosti zpracovávaného bloku u MD5 a SHA-256 oproti SHA3-256. Tento rozdíl může ovlivnit účinek navržených mapování i výslednou distribuci výstupních pečetí. V práci je také často používán pojem entropie, avšak bez jeho formální definice a kvantifikace. V této souvislosti by bylo vhodné přesněji rozlišit mezi počtem možných hodnot, bitovou délkou vstupu a skutečnou entropií ve smyslu informační teorie.

Formální a jazyková úroveň práce je celkově dobrá. Text je srozumitelný a výsledky jsou doplněny grafy. Místy se však objevují překlepy, neobratné formulace a drobná nejednotnost terminologie. Práce s literaturou je dostačující, vhodné by však bylo rozsáhlejší využití primárních standardů a odborných publikací.

Odborná úroveň práce je dobrá. Student prokázal schopnost navrhnout experimentální postup, implementovat software a vyhodnotit získaná data.

Celkově práci hodnotím jako zdařilou. Zadání bylo splněno a práce přináší použitelný realizační výstup i zajímavé experimentální výsledky. Práci doporučuji k obhajobě. Otázky k obhajobě:
  1. 1. Mohly být rozdíly mezi funkcemi ovlivněny rozdílnou velikostí zpracovávaného bloku, zejména při srovnání SHA3-256 s MD5 a SHA-256?
  2. 2. Jak by bylo možné v práci formálně definovat entropii vstupních dat?
Výsledný počet bodů navržený oponentem: 88

Známka navržená oponentem: B

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová