Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Bc. Adam Brída
Acad. year: 2025/2026
Supervisor: Ing. Radek Hranický, Ph.D.
Reviewer: Ing. Ondřej Ondryáš
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.
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)
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
Language of thesis
Czech
Faculty
Fakulta informačních technologií
Department
Department of Information Systems
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 reportIng. 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".
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.
Student využil doporučenou literaturu a další relevantní zdroje si samostatně dohledal.
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.
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.
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.
Grade proposed by supervisor: A
Reviewer’s reportIng. 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 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í.
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.
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.).
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:
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í).
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.
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).
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é.
Grade proposed by reviewer: B
Responsibility: Mgr. et Mgr. Hana Odstrčilová