Enigma (salauslaite)
Enigman murtaminen toisen maailmansodan aikana

Tiettävästi puolalainen matemaatikko Marian Rejewski mursi ensimmäisenä Enigman salauksen. Saksalaiset matemaatikot olivat hyvin tietoisia menetelmän yhdestä, ”pienestä” heikkoudesta: järjestelmä ei koskaan koodatessa antanut samaa merkkiä mikä sille syötettiin. Eli kirjoitettaessa syötteenä ”A”, se ei koskaan koodautunut ”A”-kirjaimeksi. Laskettiin kuitenkin, että seikan hyödyntäminen salauksen purkamisessa vaatisi matemaattisia laskelmia, joiden eri mahdollisuuksien läpikäyminen veisi enemmän kuin seitsemänkymmentä (70) vuotta, joten tällä heikkoudella ei olisi mitään käytännön merkitystä laskutikkujen ja mekaanisten käsilaskimien aikakaudella; se oli turvallisuuden kannalta hyväksyttävää.
Koska Enigma ei koskaan koodannut mitään kirjainta samaksi kirjaimeksi, oli mahdollista sovittaa rinnakkain salateksti ja oletettu selkoteksti, ja etsiä niiden välisiä kohdistuksia joissa ei ole "osumia" (engl. crash). Tässä englanninkielisestä Wikipediasta lainattu ja suomennettu taulukko, jossa verrataan arveltua selkotekstiä (engl. crib) salatekstiin. Lause Keine besonderen Ereignisse tarkoittaa kutakuinkin "ei mitään raportoitavaa" ja oli vakiomuotoisten tervehdysten ohella melko yleinen osa leipätekstiä. Vertaamalla arveltua selkotekstiä salatekstiin oli mahdollista selvittää katkelma Enigman generoimaa avainvirtaa (tai ehdokkaita sellaiseksi). Ehdokkaiden avulla voitiin eri tekniikoita käyttäen yrittää ratkaista mm. todennäköisiä roottorien alkuasentoja ja järjestyksiä ja siten selvittää avainvirran alku ja loppu sekä purkaa toisia saman avainvirran osilla koodattuja viestejä.
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Salateksti | O | H | J | Y | P | D | O | M | Q | N | J | C | O | S | G | A | W | H | L | E | I | H | Y | S | O | P | J | S | M | N | U |
| Kohdistus 1 |  |  | K | E | I | N | E | B | E | S | O | N | D | E | R | E | N | E | R | E | I | G | N | I | S | S | E |  |  |  |  |
| Kohdistus 2 |  |  |  | K | E | I | N | E | B | E | S | O | N | D | E | R | E | N | E | R | E | I | G | N | I | S | S | E |  |  |  |
| Kohdistus 3 |  |  |  |  | K | E | I | N | E | B | E | S | O | N | D | E | R | E | N | E | R | E | I | G | N | I | S | S | E |  |  |
: Kohdistukset 1 ja 3 mahdolliselle selkotekstille eivät ole mahdollisia, koska niissä on salatekstin kanssa yhteisiä kirjaimia.  Punaiset solut kuvaavat näitä "osumia". Kohdistus 2 on mahdollinen.

Mekaanisena laitteena Enigma on deterministinen eikä se voi tuottaa kuin rajallisen määrän eri avainvirtoja eri lähtöpisteistä alkaen. Todennäköisesti yksikään viesti ei kuitenkaan olisi yhtä pitkä kuin Enigman teoreettinen pisin kertaukseton avainvirta (noin 16 500 merkkiä) joten todennäköisyys että saman viestin tai edes saman päivän tai koko viikon aikana avainvirta alkaisi alusta oli erittäin vähäinen. Avain saatettiin kuitenkin alustaa samana päivänä useamman kerran esimerkiksi toisen viestin purkamista varten. Kiireessä tapahtui myös vahinkoja, esimerkiksi sama viesti saatettiin lähettää uudestaan samalla avainvirralla koodattuna, mutta hieman eri sisällöllä. Tällaisia "päällekkäisyyksiä" (engl. depth) havaittiin välillä, syynä tavallisesti se, että vastaanottaja ei saanut purettua viestiä ja pyysi lähettämään sen uudestaan. Jos kahden lähekkäisen viestin salateksti alkoi samalla merkkisarjalla mutta muuttui sitten, voitiin arvella että viestit on koodattu samalla avaimella (roottorien alkuasennot samat viestin alkaessa) ja käsittelevät todennäköisesti samaa aihetta. Tästä eteenpäin voitiin viestien loppuosiin jälleen soveltaa oletettuja selkotekstejä. Päällekkäisyyksien analysointiin perustuva menetelmä oli tärkeämmässä asemassa Lorenz-salauksen purussa.