Bachelor's Thesis

Analysis of the pseudo-randomness of HMAC-type authentication functions

Final Thesis 2.99 MB Appendix 16.32 kB

Author of thesis: Peter Ďuroň

Acad. year: 2025/2026

Supervisor: doc. Ing. Karel Burda, CSc.

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

Abstract:

This bachelor thesis examines the experimental analysis of the statistical properties of HMAC-type authentication functions with a focus on their pseudo-randomness. The primary objective involved the design and implementation of a software tool capable of testing selected hash algorithms—MD5, SHA-256, and SHA3-256—within a modified
HMAC framework. Five mapping methods for input and output variables were developed to investigate the impact of bit distribution on the resulting uniformity of the outputs. The analysis utilized the bundle method and Pearson’s chi-squared (𝜒2) goodness-of-fit test to monitor the alignment of measured frequencies with the theoretical binomial
distribution. The results demonstrate that while SHA-256 exhibits high stability across various configurations, MD5 and SHA3-256 show local statistical anomalies under specific mapping types. Experimentally, the mapping method based on bit expansion and cumulative XOR (M5) proved to be the most robust, effectively eliminating the influence of static padding on the resulting pseudo-randomness. The developed software provides
an efficient platform for evaluating authentication functions and identifying potential vulnerabilities in their statistical distribution.

Keywords:

HMAC, pseudo-randomness, hash function, MD5, SHA-256, SHA-3, statistical testing, goodness-of-fit test, mapping, bundle analysis.

Date of defence

16.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of defence

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.

Language of thesis

Czech

Faculty

Department

Study programme

Information Security (BPC-IBE)

Composition of Committee

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)

Supervisor’s report
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ů. Points proposed by supervisor: 82

Grade proposed by supervisor: B

Reviewer’s report
doc. Ing. Václav Zeman, Ph.D.

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ě. Topics for thesis defence:
  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?
Points proposed by reviewer: 88

Grade proposed by reviewer: B

Responsibility: Mgr. et Mgr. Hana Odstrčilová