Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Matěj Bedřich
Acad. year: 2025/2026
Supervisor: Ing. Anton Firc, Ph.D.
Reviewer: Ing. Jakub Liška
During the second world war, the axis powers used the enigma machine to maintain communication security. The goal of this thesis is to describe the way the enigma machine achieves this security and use this knowledge to recreate the machine using modern technology. The problem is solved by analyzing the cryptography methods employed by the enigma cipher, understanding the mechanical composition of the enigma machine and using that knowledge to replicate it physically using modern technologies such as micro-controllers and 3D printing.
microcontrollers, ciphering, Enigma, 3D printing, prototyping
Date of defence
16.06.2026
Result of the defence
Defended (thesis was successfully defended)
Grading
E
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 E.
Topics for thesis defence
Language of thesis
English
Faculty
Fakulta informačních technologií
Department
Department of Intelligent Systems
Study programme
Information Technology (BIT)
Composition of Committee
doc. Ing. Jan Kořenek, Ph.D. (předseda) doc. Ing. Ondřej Lengál, Ph.D. (místopředseda) Ing. Bohuslav Křena, Ph.D. (člen) Ing. Šárka Květoňová, Ph.D. (člen) Ing. David Bařina, Ph.D. (člen)
Supervisor’s reportIng. Anton Firc, Ph.D.
Práce dodává hlavní očekávaný výstup, tedy prototyp moderní repliky šifrovacího stroje Enigma. Z práce je patrné, že některé části byly zpracovány s dostatkem času a dosahují dobré kvality, například úvod do kryptografie, vysvětlení principu šifrování Enigmy a návrh i sestavení prototypu. U jiných částí je naopak zřejmý časový tlak před odevzdáním. S ohledem na nižší aktivitu studenta během semestru, nemožnost konzultovat finální verzi a výše uvedené nedostatky hodnotím práci stupněm D (65b).
Zadání práce hodnotím jako průměrně náročné. Cílem bylo sestrojit moderní repliku šifrovacího stroje Enigma a zveřejnit ji jako open-source DIY kit, který by bylo možné využít ve výuce nebo při popularizaci kryptografie. Splnění zadání vyžadovalo nastudování základů kryptografie, současných technologií a trendů v oblasti vestavěných systémů a integraci jednotlivých komponent s využitím dostupných součástek a softwaru. K naplnění zadání mám však určité výhrady. V práci chybí některé vedlejší teoretické části, zejména rozpad nákladů a výrobní tolerance ve vztahu k výrobním technologiím. Open-source kit je zpracován velmi stručně a vyžadoval by podrobnější rozpracování. Rovněž diskuze dosažených výsledků je poměrně strohá. Hlavní části zadání však byly ve výsledku splněny.
Práce s literaturou mohla být lepší. Práce cituje převážně online zdroje a dokumentaci, což je vzhledem k povaze zadání do určité míry pochopitelné a očekávatelné. Minimálně část věnovaná výrobním technologiím však mohla být podložena širším množstvím odborných článků. Student si jinak relevantní literaturu a další zdroje dohledával samostatně a při řešení je využíval.
Aktivita studenta během semestru byla slabší. Větší část práce byla realizována až těsně před termínem odevzdání, což se projevilo na nerovnoměrné kvalitě jednotlivých částí. Průběžná komunikace a konzultace mohly být pravidelnější.
Práce byla dokončena na poslední chvíli a bez možnosti konzultace finální verze. Tento postup omezil prostor pro zapracování připomínek před odevzdáním.
Publikační činnost zahrnuje zveřejnění open-source kitu požadovaného zadáním.
Grade proposed by supervisor: D
Reviewer’s reportIng. Jakub Liška
Predložená práca napĺňa väčšinu bodov zadania, no s výhradami. Fyzický prototyp bol zrealizovaný a softvérová logika je funkčná, avšak prototyp nebol dotiahnutý do plne prezentovateľného stavu. Klávesnica ani lampboard nemali popisky a konfiguračné rozhranie nebolo možné bližšie preskúmať. Okrem toho práca trpí viacerými nedostatkami, medzi ktoré patrí nedostatočná práca s literatúrou, nesúlad medzi citovaným repozitárom a odovzdaným kódom, absencia licencie a neúplná open-source dokumentácia. Hodnotenie 49 bodov považujem za hraničné. Pokiaľ študent na obhajobe preukáže dostatočné znalosti o realizovanom projekte a uspokojivo zodpovie položené otázky, komisia môže rozhodnúť v prospech lepšieho hodnotenia.
Evaluation level: moderately difficult assignment
Zadanie bakalárskej práce považujem za primerne náročné. Zadanie síce požaduje zostrojenie a naprogramovanie funkčného fyzického prototypu, no vzhľadom na požadovanú funkcionalitu sa nejedná o elektronicky nijak komplikované zariadenie, rovnako tak ani po stránke SW.
Logická štruktúra práce je na prvý pohľad prehľadná. Kapitoly postupujú od teórie cez návrh až po implementáciu a testovanie. Nadväznosť kapitol je však nerovnomerná. Niektoré časti na seba plynulo nadväzujú, zatiaľ čo iné pôsobia ako samostatné celky bez zreteľného prepojenia s kontextom práce. Osobitnou výhradou je kapitola 2 venovaná kryptografii, ktorá pôsobí chaoticky. Koncepty sú radené bez jasnej logickej postupnosti a pasáž o asymetrickej kryptografii je pre tému práce len okrajovo relevantná.
Práca je písaná v anglickom jazyku na slušnej jazykovej úrovni, avšak text vykazuje znaky strojovo generovaného alebo strojovo prekladaného obsahu, naznačujú to opakujúce sa "em-dash" konštrukcie, frekventované použitie frázy „for simplicity's sake" a miestami neprirodzená syntax. V čestnom prehlásení autor použitie žiadneho AI nástroja neuvádza, čo môže vzbudzovať otázky ohľadom transparentnosti tvorby práce.
Z typografického hľadiska možno identifikovať viacero nedostatkov. Popisky tabuliek sú umiestnené pod tabuľkami namiesto správnej polohy nad nimi. Na niektorých miestach autor namiesto dynamického odkazovania cez LaTeX label použil natvrdo zapísané číslo kapitoly, čo spôsobuje nesprávne odkazy, napr. na začiatku kapitoly 3, kde sa autor odkazuje na prvú kapitolu, no z textu vyplíva, že sa jedná o referenciu na druhú kapitolu. Vyskytuje sa aj zámenné použitie „chapter" namiesto „section". Obrázky sú veľkostne nekonzistentné a niektoré zaberajú zbytočne celú stranu na konci kapitoly. Práca je sadzaná v konfigurácii pre obojstrannú tlač, čo pri takomto rozsahu zanieslo do dokumentu zbytočné prázdne strany.
Softvérová časť projektu je funkčná. Šifrovacia logika Enigmy vrátane mechanizmu double-step je implementovaná správne a overená porovnaním s online emulátorom. Kód je modulárne členený a verzia odovzdaná do ISVUT obsahuje unit testy. Na demonštrácii však nebol preukázaný korektný end-to-end chod fyzického prototypu, nakoľko klávesnica ani lampboard nemali popisky a konfiguračné webové rozhranie bolo prezentované len na telefóne autora bez možnosti bližšieho preskúmania. Double-step anomália je implementovaná v kóde, no v texte práce nie je ako samostatný jav pomenovaná, je len načrtnutá v rámci popisu fungovania rotorov.
Štruktúra konfiguračného súboru settings.js požadovaného zadaním nie je v práci nikde zdokumentovaná, formát možno odvodiť len z premennej _DEFAULTS v zdrojovom kóde. V súboroch aj v repozitári chýba označenie autora a licencie. V komentároch implementácie je uvedený port logiky zo C# do Pythonu, no nie je bližšie popísaný ani bibliograficky, ani licenčne.
Závažným zistením je nesúlad medzi citovaným GitHub repozitárom a kódom odovzdaným do IS – repozitár neobsahuje unit testy, opravu robustnosti načítania nastavení ani správnu štruktúru priečinkov (python/ vs. micropython/ v README). Verejný repozitár uvedený v poznámke pod čiarou v texte práce teda nepredstavuje úplný open-source výstup práce, čo je v priamom rozpore s cieľom bodu 5 zadania. Obsahuje len textový popis zapojenia, no neobsahuje potrebnú schému zapojenia ani pokročilejší návod.
Práca má prevažne inžiniersky charakter. Autor navrhol a fyzicky realizoval funkčný prototyp repliky Enigmy, ktorý kombinuje 3D tlač, embedded systémy a softvérovú implementáciu šifrovacej logiky. Nejde o rozšírenie publikovaných vedeckých poznatkov, ale o praktickú realizáciu s edukačným potenciálom v oblasti kryptografie, histórie výpočtovej techniky a embedded systémov. Širšiemu praktickému využitiu a reprodukcii projektu však bránia nedostatky identifikované v predchádzajúcich sekciách – najmä neúplná open-source dokumentácia, absencia licencie a nesúlad medzi citovaným repozitárom a odovzdaným kódom.
Evaluation level: assignment fulfilled with minor reservations
Body 3 a 6 boli splnené v plnom rozsahu. Autor popísal návrh repliky vrátane softvérovej architektúry a konfiguračného rozhrania cez WiFi, a diskusia výsledkov, obmedzení a možností ďalšieho rozvoja je obsiahnutá v závere práce.
Bod 1 bol splnený čiastočne. Autor analyzoval fungovanie Enigmy a jej historický kontext, no teoretická kapitola venovaná kryptografii pôsobí chaoticky. Autor mieša koncepty bez jasnej logickej nadväznosti a obsahuje pomerne rozsiahlu pasáž o asymetrickej kryptografii, ktorá je pre tému práce len okrajovo relevantná. Symetrická kryptografia, do ktorej Enigma priamo spadá, pritom nie je explicitne definovaná.
Bod 2 bol splnený len čiastočne. Autor uvádza tabuľkové porovnanie platforiem a výber Raspberry Pi Pico W stručne zdôvodňuje, no argumentácia je povrchná. V texte chýba podrobnejšie posúdenie z hľadiska ceny, počtu I/O pinov, spotreby energie a knižničného ekosystému. Rovnako absentujú výrobné tolerancie pre 3D tlač a bezpečnostné požiadavky (napájanie, EMC, mechanická bezpečnosť).
Bod 4 bol splnený čiastočne. Softvérová logika bola overená jednotkovými testmi a prototyp bol validovaný porovnaním s online simulátorom. V texte však chýbajú explicitne definované integračné testy a end-to-end testy šifrovania a dešifrovania tých istých správ rovnakým kľúčom.
Bod 5 bol splnený s drobnými výhradami. Výstup práce je zverejnený ako open source na GitHub vrátane zdrojového kódu, 3D modelov a dokumentácie zostavenia, no chýba kompletný schematický diagram zapojenia v otvorenom formáte.
Evaluation level: meets the minimum requirements only
Predložená technická správa dosahuje približne 46 normostrán (vrátane zarátaných obrázkov tvoriacich cca 13% rozsahu), čo síce spĺňa stanovené minimum 40 normostrán, avšak pohybuje sa na jeho dolnej hranici a nedosahuje obvyklého rozmedzia 60–80 normostrán. Z obsahového hľadiska je nižší rozsah čiastočne vysvetliteľný tým, že kapitola 2 venovaná kryptografii obsahuje pasáže len okrajovo relevantné pre tému práce, zatiaľ čo niektoré kľúčové časti (výber platformy, testovanie) sú spracované pomerne povrchne a menšom rozsahu, než by si zadanie vyžadovalo.
Výber študijných prameňov je kvantitatívne aj kvalitatívne nedostatočný – zoznam obsahuje iba 16 zdrojov, z ktorých 4 sú datasheety alebo produktové materiály, jeden zdroj je odkaz na obrázok a jeden zdroj sa odkazuje na videorozhovor, čo je pre akademickú prácu tohto charakteru neštandardné. Téma Enigmy je pritom historiograficky aj kryptologicky bohatá a ponúka množstvo relevantných akademických publikácií, ktoré autor nevyužil. Ako príklad uvediem absenciu zdrojov k príbuzným šifrovacím strojom, ako napríklad britský Typex.
Závažné nedostatky sa vyskytujú aj v samotnom formáte bibliografických záznamov – online zdroje nie sú označené ako [online] a chýbajú dátumy prístupu, čo nie je v súlade s normou ČSN ISO 690. Každý záznam z literatúry sa v texte vyskytuje práve raz, pričom niektoré zdroje sú citované výhradne v popisku obrázka ako zdroj prevzatého obrázka, napríklad datasheet Waveshare PCF8574 dosky je citovaný len pri obrázku 5.2, hoci samotná doska je opisovaná aj v tele textu bez akejkoľvek citácie. Takýto prístup k citovaniu, kde zdroj slúži skôr ako formálne splnenie povinnosti, než ako skutočné odkazovanie na použitú literatúru, hraničí s porušením citačnej etiky.
Grade proposed by reviewer: F
Responsibility: Mgr. et Mgr. Hana Odstrčilová