Bachelor's Thesis

Replication of the Enigma Encryption Machine as an Open-source DIY Kit

Final Thesis 2.13 MB

Author of thesis: Matěj Bedřich

Acad. year: 2025/2026

Supervisor: Ing. Anton Firc, Ph.D.

Reviewer: Ing. Jakub Liška

Abstract:

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.

Keywords:

microcontrollers, ciphering, Enigma, 3D printing, prototyping

Date of defence

16.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaEznamka

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

  1. Fyzický prototyp nebol na demonštrácii prezentovaný v plne funkčnom stave: klávesnica ani lampboard nemali popisky. Čo bránilo dotiahnuť prototyp do prezentovateľného stavu a aký je aktuálny stav zariadenia?
  2. Autor uvádza tabuľkové porovnanie platforiem a výber Raspberry Pi Pico W zdôrazňuje jeho kompaktnú veľkosť a integrovanú Wi‑Fi konektivitu. Zároveň však v sekcii 8.2 sám uvádza ESP32 ako vhodnú alternatívu. Prečo teda nebolo zvolené ESP32, keď disponuje porovnateľnou Wi‑Fi konektivitou, navyše aj Bluetooth, a autor sám ho považuje za dostatočnú náhradu?
  3. Konfigurácia zariadenia prebieha cez webové rozhranie, no práca obsahuje len jediný screenshot bez podrobnejšieho popisu funkcionality či návodu na použitie. Ako má používateľ vedieť, ako zariadenie nakonfigurovať, a prečo nebolo webové rozhranie dôkladnejšie zdokumentované?

Language of thesis

English

Faculty

Department

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 report
Ing. 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).

Evaluation criteria Verbal classification
Information about assignment

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.

Work with literature

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.

Activity during solution, consultations, communication

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ší.

Activity during completion

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.

Publication activity, awards

Publikační činnost zahrnuje zveřejnění open-source kitu požadovaného zadáním.

Points proposed by supervisor: 65

Grade proposed by supervisor: D

Reviewer’s report
Ing. 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 criteria Verbal classification Points
The difficulty of the assignment

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.

Presentation level of the technical report

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á.

70
Formal preparation of a technical report

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.

60
Realisation output

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.

55
Usability of results

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.

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

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.

Extent of the technical report

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.

Work with literature

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.

49
Topics for thesis defence:
  1. Fyzický prototyp nebol na demonštrácii prezentovaný v plne funkčnom stave: klávesnica ani lampboard nemali popisky. Čo bránilo dotiahnuť prototyp do prezentovateľného stavu a aký je aktuálny stav zariadenia?
  2. Autor uvádza tabuľkové porovnanie platforiem a výber Raspberry Pi Pico W zdôrazňuje jeho kompaktnú veľkosť a integrovanú Wi‑Fi konektivitu. Zároveň však v sekcii 8.2 sám uvádza ESP32 ako vhodnú alternatívu. Prečo teda nebolo zvolené ESP32, keď disponuje porovnateľnou Wi‑Fi konektivitou, navyše aj Bluetooth, a autor sám ho považuje za dostatočnú náhradu?
  3. Konfigurácia zariadenia prebieha cez webové rozhranie, no práca obsahuje len jediný screenshot bez podrobnejšieho popisu funkcionality či návodu na použitie. Ako má používateľ vedieť, ako zariadenie nakonfigurovať, a prečo nebolo webové rozhranie dôkladnejšie zdokumentované?
Points proposed by reviewer: 49

Grade proposed by reviewer: F

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