Stroj Enigma je bil mehanska naprava, ki se uporablja za kodiranje in dekodiranje skrivnih sporočil. Med drugo svetovno vojno je nemška vojska uporabljala stroj Enigma za komunikacijo s vojaki na terenu, vojaškimi ladjami in podmornicami. Zavezniški kriptologi, ki delujejo pod kodnim imenom ULTRA, so uspešno razbili večino šifrant Enigma; to je dalo zaveznikom pomemben vir obveščevalnih podatkov za vojna.
Sam stroj Enigma je bil mehanski in je bil zelo podoben pisalnemu stroju. Vsakič, ko je bil pritisnjen tipko, je elektronski signal šel skozi vrsto vrtljivih vrtljivih koles, skozi vtičnico in nato nazaj v drugo smer. Ker je bilo mogoče vsako kolo obrniti, da bi spremenili pot signala, je bilo možno veliko različnih tipk, kolesa pa je bilo mogoče preprosto zavrteti vsakič, ko je bil potreben nov ključ. Kolesa so bila razporejena tako, da se vrtijo ob vsakem pritisku na tipko, zaradi česar je bila Enigma varna pred napadi črkovne frekvence; menjali so tudi začetne položaje koles, pogosto večkrat na dan.
Teoretično naj bi bila Enigma varna pred kakršnimi koli napadi s surovo silo, saj je bilo veliko preveč možnosti šifriranja, da bi jih preizkusili vse eno za drugo. Kasnejše različice Enigme, kot so modeli s štirimi rotorji, ki jih uporabljajo nemške podmornice, so še povečale število kombinacij. Kljub temu so zajeti kodni dokumenti in človeške napake pogosto dajali prednost kriptografom in poljska vojska je že leta 1932 dekodirala tajne nemške komunikacije. Njihovo delo je sčasoma prešlo v Veliko Britanijo in Ameriko, vdor kode pa se je nadaljeval z veliko količino. uspeha skozi celotno vojno, kljub poskusom Nemcev, da bi stroj naredili vse bolj zapleteno.
Uspešno razbijanje kode Enigma je zahtevalo iskanje zakonitosti ali znanih dejavnikov, da bi zmanjšali ogromno število možnih šifr. V nemških sporočilih se je pogosto pojavljalo več preprostih besedil, kot je »Heil Hitler«; to je dalo pomembne namige kriptoanalitikom, ki so lahko iskali po šifriranem sporočilu in videli, kje bi se lahko pojavila takšna fraza. Nemci so posredovali tudi preproste glave s šestimi črkami, ki jih je enostavno analizirati na začetkih sporočil, kot je “EINEIN”, da bi navedli lokacijo šifrirnih koles za preostanek sporočila. Ko je prostor možnih kodnih ključev še vedno postal prevelik, je bilo zgrajenih več primitivnih računalnikov, ki so samodejno preštevali na tisoče možnosti; to je postalo eno izmed prvih opravljenih del na področju računalništva za splošno uporabo.