hessukessu
Kenraali
Liikaa aikaa ja Paint käytössä, niin tässä on tulos.... Itse asiassa tässä versiossa arveluttaa tuo, että kerrallaan liikkuu koodaavista roottoreista vain 3. Ehkäpä niitä olisi syytä olla enemmän. Mutta lienisi aikamoinen parannus tämäkin.
1) Joka kerta, kun kirjainta painetaan, sähköimpulssi lähtee kohdasta 1 ja menee kohtaan 2.
2) Sähköimpulssi lähtee kulkemaan määrätystä (avain1) kohdasta eli kirjaimesta eteenpäin ja ratas siirtää kohtaa 1 pykälän eteenpäin, valmiiksi seuraavaa käyttöä varten. Kun kaikki 26 kirjainta on käyty läpi, ratas palaa alkuperäiseen (avain1) kohtaan ja sama toistuu jne.
3) Pistokepöytä vaihtaa kirjaimet toisiksi (avain2) ja syöttää ne roottorisarja1:een.
4) Roottorisarja1 koodaa kirjaimet "satunnaisiksi" kirjaimiksi.
* 1. roottori liikkuu 3 pykälää joka kirjaimen jälkeen ylöspäin,
* 2. roottori liikkuu 1 pykälän alaspäin joka kirjaimen jälkeen,
* 3. roottori liikkuu 1 pykälän ylöspäin kun 2. roottori on pyörähtänyt kerran ympäri (eli joka 26. kirjaimen jälkeen), jne.
* 4. roottori liikkuu 1 pykälän alaspäin kun 3. roottori on pyörähtänyt kerran ympäri (eli joka 676 kirjaimen jälkeen)-
* 5. roottori liikkuu 1 pykälän ylöspäin kun 4. roottori on pyörähtänyt kerran ympäri (eli joka 17576 kirjaimen jälkeen).
* Lopputuloksena on joka kerta kirjainta painettaessa (eri) "kirjain" X, joka muutetaan de facto numeroksi (1-26).
5) Roottorisarja2 roottoreita pyöritetään X mukaisesti, eli "satunnaisesti", vuorotellen ylöspäin ja alaspäin X verran.
* Ratas siirtää 1. roottoria alaspäin X verran --> Siirrin siirtää rattaan 2. roottoriin kohdalle.
* Kun uutta kirjainta painetaan, ratas siirtää 2. roottoria ylöspäin X verran --> sen jälkeen siirrin siirtää rattaan 3. roottorin kohdalle.
* Kun uutta kirjainta painetaan, ratas siirtää 3. roottoria alaspäin X verran --> Siirrin siirtää rattaan 4. roottorin kohdalle.
* Kun uutta kirjainta painetaan, ratas siirtää 4. roottoria ylöspäin X verran --> Siirrin siirtää rattaan 5. roottorin kohdalle.
* Kun uutta kirjainta painetaan, ratas siirtää 5. roottoria alaspäin X verran -->Siirrin siirtää rattaan takaisin 1. roottorin kohdalle.
* Kun uutta kirjainta painetaan, ratas siirtää 1. roottoria ylöspäin X verran --> Siirrin siirtää rattaan 2. roottorin kohdalle.
* Huomaa, että seuraavalla kerralla kun roottoreita käydään läpi, jokaista roottoria siirretään nyt päinvastaiseen suuntaan kuin viime kerralla kun roottoreita käytiin läpi. Näin ollen 10 kirjaimen painalluksen jälkeen jokainen roottorisarja2 roottoreista on liikkunut "satunnaisen" määrän ylöspäin JA alaspäin!
6) Näppäimistö. Näppäimistössä painettu kirjain syötetään roottorisarja2, joka korvaa sen toisella kirjaimella. Ulostuotettu kirjain syötetään roottorisarja3.
7) Roottorisarja3 vaihtaa sisäänsyötetyn kirjaimen toiseksi oman tilansa ja kytkentöjensä mukaan. Roottorisarjan liikkuminen on selitetty kohdassa 5.
8) Roottorisarja3 roottoreita pyöritetään lineaarisesti ylöspäin ja ne korvaavat sinne syötetyt kirjaimet toisilla kirjaimilla.
* 1. roottori liikkuu 3 pykälää joka kirjaimen jälkeen ylöspäin.
* 2. roottori liikkuu 1 pykälän joka kirjaimen jälkeen ylöspäin.
* 3. roottori liikkuu 1 pykälän ylöspäin kun 2. roottori on pyörähtänyt kerran ympäri (eli joka 26. kirjaimen jälkeen), jne.
* 4. roottori liikkuu 1 pykälän ylöspäin kun 3. roottori on pyörähtänyt kerran ympäri (eli joka 676 kirjaimen jälkeen)-
* 5. roottori liikkuu 1 pykälän ylöspäin kun 4. roottori on pyörähtänyt kerran ympäri (eli joka 17576 kirjaimen jälkeen).
* Lopputuloksena tullut kirjain syötetään ulos kohtaan 9.
9) Ulostullut kirjain painetaan paperinauhalle, syötetään lamppuun, tms. mitä tahansa ulostuloa halutaankin käyttää.
Roottorisarja1 tuottaa siis "satunnaista" dataa, jota käytetään roottorisarja2 roottoreiden liikuttamiseen "satunnaisesti". Tämä aiheuttaa erittäin paljon ongelmia kryptoanalyytikoille, sillä roottorien liikkuminen on hyvin ei-lineaarista, suorastaan kaoottista. Roottorisarja3 puolestaan toimii lineaarisesti, mikä varmistaa, että sattumaltakaan roottorisarja ei tule olemaan samanlainen kahden eri kirjaimen kohdalla (joka teoriassa on mahdollista, koska roottorisarja2 liikkuu kaoottisesti). Roottorisarja3 mahdollistaa yli 450000 merkin mittaiset viestit (vaikka roottori1 jätetään huomiomatta) ennen kuin se on palannut lähtöasetelmaansa. Roottorisarja1 ja roottorisarja2 eivät teoriassa palaa lähtöasetelmaansa "koskaan".
AVAIN1 = Määrätty kohta, josta impulssien kulku aloitetaan. Vaihtuu päivittäin.
AVAIN2 = Pistokepöydän asetukset, jotka vaihtavat kirjaimet toisiksi. Vaihtuu päivittäin.
AVAIN3 = Roottorien järjestys, kaikki roottorit ovat keskenään vaihdettavissa. Eri roottorijärjestysten vaihtoehtojen määrä on 1 307 674 368 000. Vaihtuu päivittäin.
AVAIN4 = Roottorien aloituskirjaimet. Vaihtuu viestikohtaisesti. Lähetetään joko salattuna päiväkohtaisella avaimella viestin alussa tai viestin joukkoon piilotettuna tai selväkielisenä piilotettuna viestin joukkoon päiväavaimen määräämään kohtaan tms.