Bachelor's Thesis

Password Guessing with Generative AI

Final Thesis 3.55 MB

Author of thesis: Bc. Adam Brída

Acad. year: 2025/2026

Supervisor: Ing. Radek Hranický, Ph.D.

Reviewer: Ing. Ondřej Ondryáš

Abstract:

This bachelor's thesis deals with the use of generative artificial intelligence
in the field of password cracking. Its main goal is to design and implement a
tool for generating candidate passwords and to compare it with existing deep
learning methods. The proposed solution uses a hybrid architecture
CVAE-ScratchGAN, which was designed as part of this thesis. This architecture
combines a conditional variational autoencoder for controlling the structure
of passwords and a generative adversarial network for achieving realistic
passwords. The tool is capable of learning the password distribution from
large datasets of leaked passwords (e.g., RockYou) and generating new
plausible passwords based on the learned distribution. The results of the
experimental evaluation demonstrate that the proposed model is an effective
alternative to current approaches. Compared to other tools, it stands out
mainly for its lower computational complexity, the ability to generate
passwords based on structural policies, and high generation speed, allowing it
to outperform well-known transformer-based models in time-constrained
scenarios.

Keywords:

Password guessing, generative AI, deep learning, CVAE, ScratchGAN, hybrid architecture, cybersecurity

Date of defence

15.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A.

Topics for thesis defence

  1. Proč byl vliv techniky label smoothing v sekci 6.7 ověřován pouze na samostatném modelu CVAE, a ne v kontextu celé vaší architektury? Lze očekávat, že by se jeho vliv změnil po zapojení adversariální složky?
  2. Jak by bylo možné navržený generátor prakticky začlenit do reálného procesu lámání hesel, například v kombinaci s klasickými pravidlovými, maskovými nebo hybridními útoky? V jakých situacích by podle vás měl oproti těmto přístupům praktickou výhodu?
  3. Jaký praktický dopad má skutečnost, že model nedodržuje požadovanou strukturu ve 100 % případů a generuje nezanedbatelný podíl duplikátů? Jak by bylo možné tyto dva problémy omezit bez výrazného snížení rychlosti generování?
  4. Na jakém slovníku jste trénoval? Jak dlouho probíhalo trénování?
  5. Můžete se vyjádřit k náhodnosti generovaných hesel?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. František Zbořil, Ph.D. (předseda)
doc. Mgr. Kamil Malinka, Ph.D. (místopředseda)
Ing. Jiří Matoušek, Ph.D. (člen)
Ing. Vladimír Veselý, Ph.D. (člen)
doc. Ing. Vítězslav Beran, Ph.D. (člen)

Supervisor’s report
Ing. Radek Hranický, Ph.D.

Student kompletně od základu navrhl a implementoval vlastní novou architekturu na bázi transformátorů. Na základě ní vytrénoval model a vytvořil generátor hesel, který v časově omezených experimentech předčí všechny známé přístupy postavené na generativní AI. Na bakalářskou práci se, dle mého názoru, jedná o úctyhodný výkon. Doporučuji tedy hodnocení "A".

Evaluation criteria Verbal classification
Information about assignment

Zadání bylo definováno poměrně otevřeně a poskytlo studentovi v řešení "volnou ruku". Student si zvolil náročnou cestu tvorby vlastní transformátorové architektury, kterou úspěšně navrhl, implementoval, natrénoval a experimentálně ověřil. Zadání považuji za splněné ve všech bodech.

Work with literature

Student využil doporučenou literaturu a další relevantní zdroje si samostatně dohledal.

Activity during solution, consultations, communication

Student byl nadprůměrně aktivní a pravidelně přicházel s vlastními novými nápady, které za konzultace se mnou realizoval. Výraznou část práce dokončil již v zimním semestru. Na schůzky docházel vždy připraven a dohodnuté termíny plnil typicky v předstihu.

Activity during completion

Práce byla dokončena ve výrazném předstihu před odevzdáním, její obsah jsem připomínkoval a student mé připomínky následně zapracoval.

Publication activity, awards

Zdrojové kódy svého díla student zveřejnil jako open-source na portálu GitHub pod licencí MIT: https://github.com/adambrida/CVAE-ScratchGAN-Password-guesser.

Z výsledků práce vznikne odborná žurnálová/konferenční publikace.

Points proposed by supervisor: 95

Grade proposed by supervisor: A

Reviewer’s report
Ing. Ondřej Ondryáš

Pan kolega Brída odvedl velké množství práce, ve které prokázal schopnosti převyšující běžný záběr našeho bakalářského studijního programu. Navrhl a implementoval vlastní hybridní architekturu generátoru hesel, kterou porovnal s existujícími přístupy. Oceňuji zejména samotný rozsahu jeho přístupu k zadání a poměrně široké experimentální vyhodnocení, které ukazuje, že navržený model v jistém směru překonává jiné současné metody založené na hlubokém učení.


Za slabší stránku považuji především způsob prezentace a zasazení výsledků. Některé důležité koncepty použité ve vlastním řešení nejsou v teoretické části vysvětleny dostatečně samostatně a některé závěry jsou formulovány silněji, než podle mého názoru ukazují provedené experimenty. Práce by zasloužila podrobnější diskusi omezení a zejména diskuzi navrženého přístupu v širším kontextu problematiky lámání hesel, včetně úvahy nad tím, zda (resp. kdy) má opravdu smysl takto složitou architekturu používat, zvlášť když některé její části poskytují téměř zanedbatelná zlepšení.


Zejména kvůli připomínkám k struktuře textu a práci s literaturou navrhuji hodnocení stupněm B, nicméně v případě dobré obhajoby doporučuji komisi zvážit i hodnocení stupněm A.

Evaluation criteria Verbal classification Points
The difficulty of the assignment

Evaluation level: more difficult assignment

Zadání je formulováno velmi obecně a nespecifikuje žádné konkrétní cíle generátoru, záleželo tedy na studentovi, jaká kritéria úspěšnosti a jak komplexní způsob řešení zvolí. Pokud ale předpokládáme, že cílem závěrečné práce by mělo být přinést nějakou inovaci, pak jde o složitější úkol vyžadující pochopení různých pokročilých technik strojového učení.

Presentation level of the technical report

Myslím si, že by textu práce prospělo lepší zamyšlení nad tím, jaké informace potřebuje čtenář znát, aby mohl pochopit navržené řešení. V kap. 3 jsou ukázky konkrétních řešení problému generování hesel propleteny se stručnými popisy některých konceptů strojového učení, které ale nejsou samonosné, a přitom se pak při popisu vlastního řešení předpokládá jejich znalost. Tyto koncepty by měly být podrobněji popsány v kap. 4.

Podstatnou částí návrhu je např. enkodér na bázi rekurentní sítě BiGRU – princip RNN a sítí GRU je však jen stručně nastíněn v kap. 3, síť BiGRU je pak popsána v podstatě jen jednou větou v sekci 5.5.1, kde je také jen vágně a hlavně nepodloženě popsán důvod použití této modifikace. Dále např. v kap. 4.2 není jasné, kde začíná popis algoritmu REINFORCE.

74
Formal preparation of a technical report

Po stránce typografické a pravopisné k práci téměř nemám výhrady. Obrázky 5.3 a 5.4 se vyznačují podivnou kombinací češtiny a angličtiny. To v práci zejména vyniká, když se jinak pan kolega (v některých případech na můj vkus až přehnaně) snaží využívat počeštělou terminologii. Zejména kap. 3 je občas napsána až příliš populárně-naučným stylem („přišli s revoluční myšlenkou“, použití 1. os. v pl.).

90
Realisation output

Samotný návrh architektury se jeví být solidním a smysluplným, což pan kolega podkládá řadou testů. Implementace je s vhodnou mírou detailu popsána v textu práce a zdrojový kód je dobře okomentován. Vzhledem k rozsahu řešení však ve validaci výsledků a ve vyvozených závěrech vidím několik mezer:

  • Autor nevěnuje moc pozornosti popisu použitých datových sad a potenciálním dopadům na trénování a vyhodnocení. Datové sady po (nepříliš dobře zdůvodněné) filtraci obsahovaly pouze hesla s ASCII znaky o délce 4–15 znaků, což autor v závěru nereflektuje.
  • Autor tvrdí, že nástroj „umožňuje plnohodnotné řízené generování“, ale přitom sám ukazuje, že jeho řešení dosahuje jen 86,6% přesnosti dodržení struktury s „průměrnou odchylkou o méně než tři znaky“ (z max. 15).
  • Autor ukazuje, že zapojení adversariální sítě při jím zvolených parametrech vede na zvýšení úspěšnosti útoku ze 4,29 % na 4,78 % při zvýšení podílu duplikátů z 3,56 % na 5,33 %. To otvírá (nediskutovanou) otázku, zda takové zlepšení „stojí za to“. Z textu práce zároveň není zřejmé, jak důležité skutečně je kritérium podílu duplikátů.
90
Usability of results

Práce je akademicky inovativní, přináší architekturu, která dle závěrů autora v konkrétním kritériu překonává současná state-of-the-art řešení. Umím si představit, že by na jejím základě bylo možné stavět i vědeckou publikaci. Bylo by však nutné důkladněji diskutovat a popsat její omezení. Práce se bohužel nezabývá otázkou, jak popsané výsledky mohou být prakticky zasazeny do širší problematiky lámání hesel – např. pokud uvážíme, že klasičtější přístupy na bázi pravidel zvládají dosahovat úspěšnosti v řádu desítek procent, je na povážení, zda má navržený model skutečně nějaký praktický význam (netvrdím, že nemá, ale takové pojednání v práci chybí).

The extent to which the requirements of the assignment have been met

Evaluation level: assignment fulfilled

Pan kolega zadání uchopil důkladně, pro řešení zadaného problému navrhl vlastní architekturu spojující různé typy modelů strojového učení, kterou vcelku pečlivě otestoval. Práce tedy požadavky zadání splňuje.

Extent of the technical report

Evaluation level: is within the usual extent

Práce je s cca 80–90 normostranami spíše delší. Většina obsahu je účelná, ale zejména v kapitolách 2 a 3 by podle mě bylo vhodné některé části vypustit (např. sekce 2.2 a 2.4 jsou pro práci spíše irelevantní) a jiné by mohly být podrobnější (viz níže).

Work with literature

Výběr literatury je veskrze vhodný, snad jen při popisu variačních autoenkodérů, které tvoří jádro práce, by bylo vhodné citovat z kvalitnějších zdrojů, než je [3]. Citování nepovažuji za zcela zvládnuté. V 1. kapitole citace chybí úplně. Ve 2. kapitole by na str. 8 byla vhodná přímá citace příslušných právních norem, dále se zde vyskytují kvalifikátory jako „nejzásadnější“, „nejčastěji se používají“, „nejpopulárnější“, které nejsou podložené. Vhodné zdroje chybí taky v posledních dvou odstavcích kap. 3.5. Práce je postavena na různých datových sadách hesel, na které ale autor odkazuje pouze z poznámky pod čarou, což zde nepovažuji za vhodné.

72
Topics for thesis defence:
  1. Proč byl vliv techniky label smoothing v sekci 6.7 ověřován pouze na samostatném modelu CVAE, a ne v kontextu celé vaší architektury? Lze očekávat, že by se jeho vliv změnil po zapojení adversariální složky?
  2. Jak by bylo možné navržený generátor prakticky začlenit do reálného procesu lámání hesel, například v kombinaci s klasickými pravidlovými, maskovými nebo hybridními útoky? V jakých situacích by podle vás měl oproti těmto přístupům praktickou výhodu?
  3. Jaký praktický dopad má skutečnost, že model nedodržuje požadovanou strukturu ve 100 % případů a generuje nezanedbatelný podíl duplikátů? Jak by bylo možné tyto dva problémy omezit bez výrazného snížení rychlosti generování?
Points proposed by reviewer: 88

Grade proposed by reviewer: B

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