Autor Beitrag
Gravitar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 41

Win XP
D6 Ent
BeitragVerfasst: Di 13.03.12 16:35 
Hi,

hat von Euch schon jemand ein Programm zum knacken des Enigma-Codes geschrieben? Also quasi eine Turing-Bombe in Delphi?

Habe hier im Forum schon einiges rumgesucht, aber meistens "nur" einiges über Enigma-Simulatoren gefunden.

Viele Grüße, Andreas
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 762
Erhaltene Danke: 127



BeitragVerfasst: Di 13.03.12 19:19 
user profile iconGravitar hat folgendes geschrieben Zum zitierten Posting springen:
Hi,
1.) hat von Euch schon jemand ein Programm zum knacken des Enigma-Codes geschrieben?
2.) Also quasi eine Turing-Bombe in Delphi?

1. ja
2. nein, aber so ähnlich

Zuerst einmal einige Prinzipielle Aussagen:
  • Es gibt nicht DIE Enigma, es wurden viele verschiedene Enigma-Varianten hergestellt.
  • Man muss den Einsatzbereich (Marine, Heer, ...) und die Zeit wissen, zu der die Mitteilung abgesetzt wurde, da es verschiedene Schlüsselverfahren gab.
  • Ohne einen eventuellen Inhalt oder ohne mehrere (viele!) Sprüche des gleichen Tages hat man überhaupt keine Chance, verschlüsselte Meldungen zu knacken, für Brute Force ist die heutige Rechnerkapazität zu schwach.


Eine Turing-Bombe funktioniert nur, wenn man eine Reihe von Informationen ("Cribs") über die verschlüsselte Nachricht hat. Es gibt im Internet übrigens einen Turing-Bomben-Simulator (frode.web.cern.ch/fr...o/Shaylor/bombe.html), leider nicht in Delphi.

Eventuell beschreibst Du Dein Problem genauer, damit man Dir helfen kann.

ub60
Gravitar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 41

Win XP
D6 Ent
BeitragVerfasst: Mi 14.03.12 14:09 
Hi ub60,

super. Der von dir genannte Artikel ist sehr aufschlussreich.

Ich wollte mich mal an das Entschlüsseln einer Heeres-Enigma machen (3 von 5 Walzen). Dabei (noch) ohne Beachtung des Steckerboards. Über Cribs versuche ich die Anzahl der zu untersuchenden Walzeneinstellungen inkl. Ringeinstellung zu minimieren.

Ob ich jetzt genauso vorgehe, wie Alan Turing, weiss ich noch nicht. Vielleicht ergeben sich ja noch einige eigene Ideen.

Um die 712.882.560 Varianten durchzurechnen wird vermutlich einige Zeit vergehen. Um so erstaunlicher ist, dass Turing das vor über 60 Jahren hinbekommen hat.

Liegt denn dein Programm in Delphi vor? Kann man da evtl. Ideen saugen?
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 762
Erhaltene Danke: 127



BeitragVerfasst: Mi 14.03.12 17:42 
Hallo Gravitar,

mein Programm ist im Moment noch eine Nummer kleiner als die Turing-Bombe. Ich kann "nur" die Enigma mit Spruchschlüsselübermittlung entschlüsseln, wie sie bis 1938 eingesetzt wurde. Und das klappt auch nur an bestimmten Tagen bzw. bei bestimmten Walzengrundstellungen. Deshalb wird mein Programm für die Turing-Bombe im Moment wenig bringen. Die steht zwar auch auf meinem Plan, aber irgendwie reicht immer die Zeit nicht :-(.
Obwohl ich Turings Leistung nicht schmälern möchte, möchte ich auf Marian Rejewski (mit Henryk Zygalski und Jerzy Różycki) verweisen, der eigentlich fast im Alleingang die erste Enigma knackte und für die von den Engländern benutzten Verfahren die Vorarbeit leistete. Aus einem Aufsatz Rejewskis habe ich auch die Idee zum Knacken der ersten Enigmas übernommen und dann als Programm umgesetzt.
Viel Erfolg bei Deinem Projekt!

ub60
Gravitar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 41

Win XP
D6 Ent
BeitragVerfasst: Mo 16.07.12 10:03 
Hi,

bin mittlerweile soweit, dass die Enigma (M3 und M4) komplett simuliert wird.

Bei der Anomalie der Rotordrehungen hätte ich noch eine Frage. Danach scheint es so zu sein, dass sich der mittlere Rotor nochmals weiterdreht, sofern er vorher auf eine Position vor der Kerbe gedreht wurde.

Also bei Rotoren 1,2,3 (Kerben bei R,F,W) mit Ringstellung ADU ergeben sich nach den Tastendrücken folgende Stellungen:

ADU -> normale Weiterschaltung Rotor rechts
ADV -> normale Weiterschaltung Rotor rechts
AEW -> normale Weiterschaltung Rotor rechts mit Kerbe W und dadurch Weiterschaltung von mittlerem Rotor
BFX -> Anomalie! Rotor rechts wird normal weitergeschaltet. Mttlerer Rotor aber auch nochmal. Durch Kerbe F auf mittlerem Rotor Weiterschaltung auf linken Rotor
BFY -> normale Weiterschaltung Rotor rechts

Aber wie verhält sich dies bei 4 Rotoren (M4)? Scheinbar ist immer noch nur der Rotor 2 (von rechts gesehen) von der Anomalie betroffen. So richtig?
Gravitar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 41

Win XP
D6 Ent
BeitragVerfasst: Di 17.07.12 15:22 
Sorry,

leider habe ich heute erst gelernt, dass die "Griechenwalzen" bei der M4 gar nicht rotieren. Deshalb stellt sich die Frage auch nicht und es bleibt bei dem seltsamen Verhalten der mittleren Walze.
Gravitar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 41

Win XP
D6 Ent
BeitragVerfasst: So 22.07.12 14:00 
Hier mal der erste Teil (Simulation einer Enigma). M3 und M4 können simuliert werden.

Keine Installation notwendig, verändert keinerlei Einstellungen (Registry, Pfade etc.). Deinstallation mit löschen der Exe).

Der Screenshot zeigt das Beispiel aus Wikipedia zur Enigma. War mein Test, ob auch richtig ver-/entschlüsselt wird.
Einloggen, um Attachments anzusehen!
Ghost127
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 30.08.12 02:26 
Es gibt 3 Möglichkeiten die Enigma zu brechen:

1. Man hat den Schlüssel
2. Hillclimbing (Ciphertext Only Attack)
3. Turing Bombe (Known Plaintext Attack)

Am 31. Juli 2012 wurden 29!!! ENIGMA M4 Nachrichten gebrochen. Ohne Kenntins des Schlüssels....

Siehe: www.enigma.hoerenberg.com

Viele Grüße

Ghost127
Gravitar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 41

Win XP
D6 Ent
BeitragVerfasst: Di 04.09.12 15:58 
user profile iconGhost127 hat folgendes geschrieben Zum zitierten Posting springen:
Es gibt 3 Möglichkeiten die Enigma zu brechen:

1. Man hat den Schlüssel
2. Hillclimbing (Ciphertext Only Attack)
3. Turing Bombe (Known Plaintext Attack)


Ja, ich versuche den 3. + 2. Ansatz. Bin gerade dabei die Loops zu ermitteln. Danach geht es dann bei den möglichen Ringstellungen um die Ermittlung der Steckerpositionen.

user profile iconGhost127 hat folgendes geschrieben Zum zitierten Posting springen:
Am 31. Juli 2012 wurden 29!!! ENIGMA M4 Nachrichten gebrochen. Ohne Kenntins des Schlüssels....

Siehe: www.enigma.hoerenberg.com


Huh, na ich mache mich erst einmal an die M3. Wenn das klappt kommt M4 drann.

Danke für die Hinweise.

Viele Grüße

Andreas
Ghost127
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mo 17.09.12 17:03 
Hallo Gravitar

Deine Software kannst Du dann mit dieser Aufgabe testen:

www.mysterytwisterc3...uring-bombe-enigma-i

Viele Grüße

Ghost127
Gravitar Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 41

Win XP
D6 Ent
BeitragVerfasst: Mi 19.09.12 12:55 
Bei der Ermittlung der Loops komme ich irgendwie nicht weiter. Hat jemand eine schlaue Idee, wie ich aus diesen Buchstabenketten Loops ermittel?

Hier mal das Problem geschildert:

Gegeben seien mehrere Buchstabenpaare wie z.B.

T O T H E P R E S I D E N T O F T H E U N I T E D S T A T E S
C Q N Z P V L I L P E U I K T E D C G L O V W V G T U F L N Z

Die Zeile 1 enthält den vermuteten Klartext (Scrib) und die Zeile 2 das Ergebnis der Verschlüsselung durch die Enigma.

Über die Buchstabenpaare E-P (Pos 5) -> I-P (Pos 10) und E-I (Pos 8 ) ergibt sich nun ein sogenannnter Loop, sprich, aus E aus Pos 5 wird über Pos 10 und Pos 8 wieder ein E (dabei nutzt man die Eigenschaft der Enigma aus, dass das Ver- und Entschlüsseln der Texte mit dem gleichen Schlüssel funktioniert. Also wird aus E ein I an Position 8 und aus I ein E).

Bloss, wie bekommt man aus den dargestellten Buchstabenpaaren gescheite Loops heraus? Bin für Hinweise sehr dankbar.
elektronikgustav
Hält's aus hier
Beiträge: 2
Erhaltene Danke: 1



BeitragVerfasst: Di 14.07.20 18:44 
Ich weiß, ich komme reichlich spät.

Sollte aber noch Interesse an diesem Thema bestehen, dann verweise ich auf mein YOUTUBE-Video "Turing Welchman Bombe Electronic Bombe". Dort beschreibe ich das Entschlüsselungsverfahren Schritt für Schritt, vom Abfangen des Funkspruchs bis zur Ermittlung des Klartextes, sowie die Ermittlung des kompletten Maschinenschlüssels (Walzenlage, Ringstellung und Steckverbindungen)

Meine elektronische Turing-Welchman-Bombe arbeitet mit einem ZILOG 20MHz Z84 Prozessor. Das gleiche Verfahren, realisiert auf einem modernen PC, dürfte um ein mehrfaches schneller laufen, als die von mir gebaute Elektronik.

Würde mich freuen, wenn jemand aus dem Forum dieses Verfahren auf einem PC realisiert. Den Weg kann ich aufzeigen, wenn das Beförderungsmittel ein PC sein soll, muß ich passen.

Elektronikgustav

Für diesen Beitrag haben gedankt: ub60
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 762
Erhaltene Danke: 127



BeitragVerfasst: Mi 15.07.20 12:40 
@elektronikgustav:
Wenn auch mit 8 Jahren Verspätung, ist die Antwort für Enigma-Interessierte sicherlich trotzdem noch interessant.
Ich habe mir eben das knapp 2 Stunden dauernde Video angesehen und muss sagen, dass es das beste Erklärvideo ist, was ich bisher zu diesem Thema gefunden habe. Gut fand ich die "analogen Einschübe" wie Ausdrucke, Holzstäbchen, Schablonen mit Folien usw. Es muss nicht immer Powerpoint sein :D .
Die (ur)alte verwendete Elektronik habe ich sicherlich auch noch irgendwo in der Bastelkiste, würde heutzutage das Projekt aber sicherlich mit anderen Bauelementen (z.B. ESP32 oder Raspberry Pi, Pixeldisplay, ...) angehen, wenn es denn als Hardware gebaut werden sollte.
Da Du ja hier im Programmierforum gepostet hast, nehme ich an, dass Du an einer Umsetzung auf den PC interessiert bist. Bei Fragen zur Umsetzung (z.B in Delphi) bekommst Du hier bestimmt Unterstützung.

ub60