Forum: Mikrocontroller und Digitale Elektronik Enigma Walze elektronisch simulieren mit 74er Logik


von Markus (Gast)


Lesenswert?

Hallöchen Freunde.

Mal eine hoffentlich zumindest irgendwie verständliche Frage von mir:

Ich habe mir vorgenommen mal auf papier bzw in Kicad eine Enigma zu 
basteln.
Vom Grundprinzip ist die Enigma ja recht simpel.
Nur habe ich bisher keine Idee, wie ich ohne avr die Rotation der Walzen 
simulieren soll.

Grundsätzlich dachte ich an sowas wie ein Schieberegister mit 26 Blöcken 
gedacht, nur müsste ich auf jeden dieser 26 Blöcke  bei zugreifen 
können.
Und das Ganze pro Tastendruck um eins shiften lassen..
Nimmt man für sowas nen speziellen SRAM oder gibt

Ähh ja vielleicht hat ja jemand nen Tipp.
Danke.

von uwe (Gast)


Lesenswert?

CPLD bzw. FPGA

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Markus schrieb:
> Nur habe ich bisher keine Idee, wie ich ohne avr die Rotation der Walzen
> simulieren soll.

Vielleicht mit grossen (EP)ROMs. Untere Adressbits sind Eingang fuer den 
Buchstaben, obere Adressbits geben die Rotation an, haengen z.b. an 
einem Zaehler, der nach jedem Zeichen eins hochzaehlt...
Muss man aber schon arg engagiert sein, sowas tatsaechlich so machen zu 
wollen.

Gruss
WK

von hard worker (Gast)


Lesenswert?

Dergute W. schrieb:
> Muss man aber schon arg engagiert sein, sowas tatsaechlich so machen zu
> wollen.

Naja, man hat ja sonst nix zu tun.

von Markus (Gast)


Lesenswert?

Eben

von Rainer V. (a_zip)


Lesenswert?

Markus schrieb:
> Vom Grundprinzip ist die Enigma ja recht simpel.
> Nur habe ich bisher keine Idee, wie ich ohne avr die Rotation der Walzen
> simulieren soll.

Dann erzähl doch erst mal, wie du das mit AVR machst! Wir werden es dann 
schon auf's Papier bringen...
Gruß Rainer

von Nosnibor (Gast)


Lesenswert?

Das Enigma-interne 1-aus-26-Signal könnte man durch 5 bit darstellen; 
dann wird aus dem Drehen eine Addition/Subtraktion (modulo 26, d.h. 
aufpassen bei Überlauf).
Eine Walze kann man dann durch zwei Tabellen darstellen (das Signal 
läuft ja immer zweimal durch jede Walze), z.B. in einem kleinen EEPROM. 
Damit können die "Walzen" immernoch steck- und austauschbar sein.

von Rainer V. (a_zip)


Lesenswert?

Nosnibor schrieb:
> z.B. in einem kleinen EEPROM

Da braucht man doch nix zu stecken...ein EEprom programmierst du einfach 
um! Aber jetzt lass doch erst mal. Der TO will was , was er mit AVR so 
nebenbei erledigt, in diskreter Logik auf Papier bringen. Der 
Masochismus sei ihm gegönnt. Dann muß er aber auch selbst mal anfangen. 
Ich zumindest habe keine Lust, ihm sein "Schaltwerk" hinzuschreiben! Ist 
ja seine Idee...
Gruß Rainer

von Markus (Gast)


Lesenswert?

Rainer V. schrieb:
> Nosnibor schrieb:
>
>> z.B. in einem kleinen EEPROM
>
>Der TO will was , was er mit AVR so
> nebenbei erledigt, in diskreter Logik auf Papier bringen. Der
> Masochismus sei ihm gegönnt. Dann muß er aber auch selbst mal anfangen.
> Ich zumindest habe keine Lust, ihm sein "Schaltwerk" hinzuschreiben! Ist
> ja seine Idee...
> Gruß Rainer

Dies

Dies. Die Idee mit 5 bit finde ich schonmal nicht schlecht.

von MaWin (Gast)


Lesenswert?

Markus schrieb:
> Ähh ja vielleicht hat ja jemand nen Tipp

Die Enigma bekommt 1 von 26 Buchstaben als Input und hat einen internen 
Zustand von 26x26x26 Stellungsmöglichkeiten, es ergibt einen Output von 
1 von 26 Lämpchen

Es reicht ein EPROM von 26x26x26x26=456kx5bit, da man die 26 in 5 bit 
verpachen wird mit 20 Adressbits also 1Mx8..

Dazu ein Zahler mit 3 Stellen a 26 Positionen und ein 26 zu 5 
Prioritätsencoder, und hinterher Decoder von 5 bit auf 26 Leitungen.

Der Zähler taktet bei jedem Buchstaben, das EPROM wird je mach Walzen 
und Reflektor programmiert und eingesteckt.

von Rainer V. (a_zip)


Lesenswert?

Markus schrieb:
> Ich habe mir vorgenommen mal auf papier bzw in Kicad eine Enigma zu
> basteln.
> Vom Grundprinzip ist die Enigma ja recht simpel.

Ganz toll von MaWin (Gast)01.10.2021 18:32...das du es vielleicht 
verstehst, wundert mich nicht...aber der TO soll was lernen und nicht 
einfach nur blöde Projekte zur Bearbeitung hinstellen. MaWin hat Enigma 
kapiert...der TO hat nur geschrieben, dass es pillepalle ist. Wem glaube 
ich nun???
Gruß Rainer

von MaWin (Gast)


Lesenswert?

Rainer V. schrieb:
> das du es vielleicht verstehst, wundert mich nicht...

Inzwischen noch besser.

Den 26x26x26 Zähler bis 17376 kann man als 15 bit Zähler (2xHC393) 
aufbauen und durch ein unbenutztes Ausgangsbit des EPROMs rücksetzen 
lassen, man braucht gar nicht die einzelnen Zählerstufen.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Wie wurde da ein Leerzeichen dargestellt?

von Kolja L. (kolja82)


Lesenswert?

Keine Kleinbuchstaben, keine zahlen, keine Leerzeichen, keine Prosa.

von Gerhard O. (gerhard_)


Lesenswert?

Hier gibt es Schaltbilder ähnlicher Maschinen:
https://www.cryptomuseum.com/pub/files/Fialka_200.pdf

Die Enigma ist zwar echt toll, die Fialka wäre aber technisch viel 
interessanter und uC realisierbar.

: Bearbeitet durch User
von Dieter J. (fossi)


Lesenswert?

Bevor man so einen Beitrg startet, wäre es doch sinnvoll, wenn der TE 
zuerst mal schaut, was man per Suchmaschine unter dem Begriff ENIGMA 
findet.

Warum das Rad neu erfinden?

Hier gibts sehr viele Infos und sogar Bausätze dafür:
https://www.cryptomuseum.com/kits/enigma/index.htm
Der Link zur Bestellung funktioniert zwar nicht mehr. Man müsste sich da 
halt durch die Seite durchhangeln um weitere Infos in Erfahrung bringen 
zu können.
Gruß
fossi

von Egon D. (Gast)


Lesenswert?

Markus schrieb:

> Nur habe ich bisher keine Idee, wie ich ohne avr
> die Rotation der Walzen simulieren soll.

"barrel shifter"

von MaWin (Gast)


Lesenswert?

Dieter J. schrieb:
> Hier gibts sehr viele Infos und sogar Bausätze dafür:

Man hätte die Seite lesen können und

Programmed PIC controller

gefunden, nicht das was er will.

von Percy N. (vox_bovi)


Lesenswert?

MaWin zitierte im Beitrag #6835540:
> Programmed PIC controller

Nahezu die perfekt pleonastische Doppelmoppel-Tautologie.

von (prx) A. K. (prx)


Lesenswert?

Percy N. schrieb:
>> Programmed PIC controller
>
> Nahezu die perfekt pleonastische Doppelmoppel-Tautologie.

Ein Laufhund kann rumstehen, liegen, und laufen, aber nur ein laufender 
Laufhund läuft auch wirklich.

: Bearbeitet durch User
von BlaBla (Gast)


Lesenswert?

Könnt ihr nicht die Überschrift lesen; der TO möchte die Enigma mit 
Logik-IC der Reihe 74xxx nachbauen. Was soll da der Hinweis auf MPU oder 
FPGA etc.

von Nosnibor (Gast)


Lesenswert?

MaWin schrieb:
> Es reicht ein EPROM von 26x26x26x26=456kx5bit, da man die 26 in 5 bit
> verpachen wird mit 20 Adressbits also 1Mx8..
Bei so einem Projekt ist es immer Geschmackssache, welche Details man 
(in all ihrer technischen Umständlichkeit) originalgetreu belassen und 
welche man durch moderne Lösungen ersetzen will.
Man könnte ja auch die ganze Enigma originalgetreu mechanisch nachbauen 
und nur das Bakelit durch 3D-gedrucktes PLA ersetzen, aber das will der 
TO offenbar nicht. Am anderen Ende der Skala stehen die Lösungen, die 
alles wesentliche in einer zentralen Blackbox (µC oder EPROM) 
verschwinden lassen, aber das ist hier wohl auch nicht gefragt.

Mir wäre bei so einem Enigma-Nachbau wichtig, dass man die "Walzen" von 
Hand austauschen kann, um den Tagesschlüssel realistisch einzustellen, 
aber das ist natürlich eine persönliche Vorliebe. Die 1-aus-26-Codierung 
wiederum wäre mir nicht so wichtig, dass ich dafür den Aufwand der 
Barrelshifter treiben wollte. Bei 5bit-Codierung kann man dann wieder 
entscheiden, ob man die Walzen in einem ((E)E)PROM-Baustein verschwinden 
lässt oder als Diodenmatrix transparent macht, alles Geschmackssache.

von Dr. Sommer (Gast)


Lesenswert?

Nosnibor schrieb:
> Am anderen Ende der Skala stehen die Lösungen, die
> alles wesentliche in einer zentralen Blackbox (µC oder EPROM)
> verschwinden lassen,

das ist noch nicht das Ende der Skala, da kommt noch die App für's 
iPhone

von Gerhard O. (gerhard_)


Lesenswert?

Vor zwanzig Jahren testete ich eine funktionierende Drei Walzen Enigma 
auf einem PIC uC. Das Program war ein Portierung eines MSDOS C Programs 
mit dem CCS C Compiler auf einen 18F452. Das Programm wuchs natprlich 
leider nicht auf meinen Mist. Die Original PC Sourcen schickte mir 
damals ein leider schon verstorbener Historian von Bletchley Park 
Geschichte. Ich testete Ver- und Entschlüsselung erfolgreich gegen einen 
Windows Dreirad Enigma Emulator der unter W2K lief. Das Original 
Programm konnte auch Bomba Crib Such-Funktionen. Testete ich damals 
allerdings nicht. Der UC Enigma arbeitete übrigens super schnell. Ein 
Block von ein paar hundert Buchstaben Text wurde praktisch im 
Sekundenbruchteil umgesetzt. Habe allerdings im Augenblick keine Ahnung 
ob die damaligen Arbeitsunterlagen und Sourcen bei mir noch existieren. 
Es war nur ein Versuch und kein richtiges Projekt.

Mir wäre eine diskreter Logikaufbau eigentlich zu kompliziert und 
aufwendig. Mit einem uC geht das viel leichter und kleiner, zumindest 
ist das meine Ansicht. Allerdings wäre ein solcher Ansatz lehrreich. 
Aber dann besser in CMOS Logik. Die Barrelshifter wären mir zu 
aufwendig. Im uC geht das leichter. Da sieht man doch daß die 
mechanische Enigma Umsetzung doch durch ihre Einfachheit besticht. Was 
mit Logik sehr aufwendig machbar ist, wurde mit dem Walzenkonzept höchst 
elegant gelöst.

http://www.tatjavanvark.nl/index.html
http://www.tatjavanvark.nl/tvv1/pht10.html

An sich finde ich die auf die Enigma beruhende Weiterentwicklung der 
Fialka wesentlich interessanter. Die Enigma hatte wegen der UKW eine 
schwerwiegende Schwäche weil ein Buchstabe nicht gegen sich selber 
verschlüsselt werden konnte. Dieser Fehler wurde bei der Fialka behoben. 
Mit ihren 10 Walzen und Steckbrett und fachgemässer Anwendung ist sie 
wahrscheinlich auch heute noch nur schwer zu knacken. Allerdings dürfte 
zukünftige Quantum Computer Technik möglicherweise auch zu deren 
Versagen führen.

Naja, das waren meine damaligen Spielereien...

: Bearbeitet durch User
von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Ich denke ein AVR kriegt eine Enigma-Nachbildung recht problemlos in 
Software hin. Man muß nur einen recht großen nehmen, damit man eine 
entsprechende Anzahl Pins bekommt. Prinzipiell ist das nichts weiter als 
eine Wanderung durch look up tables.

Ansonsten war die Enigma mit ihren Walzen und Steckfeldern ansich ja ein 
rein mechanischer Aufbau. Wenn man das elektrisch nachbilden will, mit 
einer Software oder so, dann muß man auch eine Eingabemöglichkeit für 
den Grundzustand der Maschine schaffen. Sprich die Steckbrücken oder 
Grundstellung der Rotoren, welche Rotoren, welche Umkehrwalze. Wenn man 
allein diesen Teil in Hardware belassen will, dann wird das schon sehr 
aufwendig, da das bereits ein wesentlicher Bestandteil für die 
eigentliche Funktion der Maschine ist.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Kolja L. schrieb:
> Keine Kleinbuchstaben, keine zahlen, keine Leerzeichen, keine
> Prosa.

Das hat man davon wenn man ungenau ist. Ich meinte natürlich, wie wird 
ein Leerzeichen aus einem Schriftstück umcodiert übertragen?
Die Verwender waren ja eher informatikmäßig kaum gebildet.

Ich denke, die Beschränkung auf 26 Walzenstellungen war auch einer der 
Schwachpunkte. Vielleicht ist es schwierig, mehr Positionen mechanisch 
zu realisieren. Hm, Drehwähler aus der Telefontechnik hatten VIEL mehr 
Abgriffe.

Muß halt alles mechanisch sehr robust sein.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

> Die Verwender waren ja eher informatikmäßig kaum gebildet.
Das würde ich so nicht sagen. Erstens muß man keine Intelligenzbestie 
sein um eine solche Maschine nach genau definierten (deutschen) 
Richtlinien zu betreiben und zweitens kannten sich Funker damals noch 
mit ihrer Technik aus.

Enigma-Nachrichten enthalten keine Leerzeichen. Die sehen oft so aus wie 
"VONUUUNEUNSECHSANSTUETZPUNKTLUEBECK"... Oder Ziffern waren oft gekürzt 
geschrieben "LAUFENKURSZWOVIRSIBEN".

Eine Schwachstelle war, daß ein Buchstabe nicht in sich selbst codiert 
werden konnte. Also wenn man z.B. ein "A" verschlüsseln will, kommt 
niemals ein "A" wieder raus.

Eine andere Schwachstelle war, daß bei teilweise korrektem Schlüssel 
oftmals Teile der Nachricht gelesen werden können, das was fehlt kann 
man sich evtl. zusammenreimen. Oder wenn die Steckbrücken nicht völlig 
korrekt sind, dann stimmen einzelne Buchstaben nicht, aber im Grunde ist 
die Nachricht lesbar.

Oder man kann auf die Suche nach oftmals verwendeten Wörtern gehen. 
"OBERKOMMANDOWEHRMACHT" z.B. war in sehr vielen Nachrichten enthalten.

: Bearbeitet durch User
von Rainer V. (a_zip)


Lesenswert?

Gerhard O. schrieb:
> Allerdings wäre ein solcher Ansatz lehrreich.
> Aber dann besser in CMOS Logik.

Das ist jetzt natürlich große Geschmacksache. Und welchen Lerneffekt 
sollte eine Umsetzung in TTL-Logik haben?? Du mußt die Logik der 
Verschlüsselung doch auch im AVR oder wem auch immer realisieren. Das 
heißt doch aber zuallererst, dass du verstanden haben mußt, was die 
Maschine macht! Alles Andere ist bestenfalls Nostalgie :-)
Gruß Rainer

von PittyJ (Gast)


Lesenswert?

Mach eine FPGA-Implementierung.
Dann bekommst du die Belegung der LUTs. Und jede LUT kannst du einfach 
mit 74xx nachbauen. Das ist dann eine riesen-Löterei, aber rein 
mechanisch.

Zu LUT siehe auch
https://electronics.stackexchange.com/questions/169532/what-is-an-lut-in-fpga
oder direkt bei Xilinx, etwa
https://www.xilinx.com/support/documentation/user_guides/ug384.pdf

von Gerhard O. (gerhard_)


Lesenswert?

Rainer V. schrieb:
> Gerhard O. schrieb:
>> Allerdings wäre ein solcher Ansatz lehrreich.
>> Aber dann besser in CMOS Logik.
>
> Das ist jetzt natürlich große Geschmacksache. Und welchen Lerneffekt
> sollte eine Umsetzung in TTL-Logik haben?? Du mußt die Logik der
> Verschlüsselung doch auch im AVR oder wem auch immer realisieren. Das
> heißt doch aber zuallererst, dass du verstanden haben mußt, was die
> Maschine macht! Alles Andere ist bestenfalls Nostalgie :-)
> Gruß Rainer

Hallo Rainer,

Stimmt. Mir wäre es eigentlich zu viel HW und Bauaufwand. Und meine VHDL 
Kenntnisse sind mittlerweile viel zu rostig geworden um da schnell etwas 
auf die Beine zu stellen. Abgesehen davon habe ich daheim keine FPGA HW 
und Programmiermöglichkeiten mehr zum rumspielen.

Wenn sich die alten C Sourcen wieder finden lassen, werde ich sie bei 
Interesse hier posten. Mit dem PIC funktionierten die 
Schlüsseloperationen damals einwandfrei. Heute würde ich es aber auf 
einem Arduino laufen lassen. Aber vielleicht existiert schon eine 
Arduino Anwendung dafür. Aber im Augenblick habe ich keine Zeit für 
solche Ablenkungen;-)

Bei der PIC Version konnte man die Walzen und Rotor Einstellungen frei 
wählen. Wie schon gesagt, hätte ich gerne lieber eine Fialka uC Version 
zum Spielen.

Grüße,
Gethard

von foobaz (Gast)


Lesenswert?

> Mach eine FPGA-Implementierung.
> Dann bekommst du die Belegung der LUTs. Und jede LUT kannst du einfach
> mit 74xx nachbauen. Das ist dann eine riesen-Löterei, aber rein
> mechanisch.

Was nen Quatsch. Die 74er Serie gibt es aks "Baubloecke" die
man in einem FPGA verdrahten kann.
Allerdings muesste der TO dann das Dingens wirklich als Design
mit den ollen TTL-Kaefern entwerfen.

Wetten das er nach 10 min schon aufgibt?

von oszi40 (Gast)


Lesenswert?

Gerhard O. schrieb:
> vielleicht existiert schon eine Arduino Anwendung dafür

Gibt es im Store. "Enigma Simulator" Franklin Heath Ltd.
Bevor ich eine Kiste 74er Schaltkreise verlöte, hätte ich schon längst 
nach einer App gesucht. Frage bleibt nur, ob sie nach Hause telefoniert.

Bevor der To den Lötkolben für die 74er anheizt, wäre ein kleiner 
Logikplan nützlich. https://en.wikipedia.org/wiki/Karnaugh_map

von Lotta  . (mercedes)


Lesenswert?

Als Leerzeichen haben die Verschlüssler wohl das "X" genommen,
aber dann schwächt man ja den algo noch mehr... :-O

Wenn die Enigma ein Schmuckstück werden soll,
würd ich in jede Walze nen modulo 26- Zähler einbauen,
und die Verdrahtung hardwaremäßig vornehmen.
Die "Walze" ist dann ein steckbarer Baustein und kann
ausgetauscht werden, Problem gelöst.

mfg

von H.Joachim S. (crazyhorse)


Lesenswert?

Und mal wieder ne Gelegenheit an Alan Turing zu erinnern. Die Briten 
schmücken sich noch heute mit seiner Genialität. Wie sie es ihm gedankt 
haben steht meist nur in sehr kleinen Buchstaben, viele wissen es gar 
nicht.

von Lotta  . (mercedes)


Lesenswert?

Och ist ja wirklich jammerschade, das Andy wieder den
Zugang über "TOR" total vernagelt hat... :-O :-((

mfg

von Lotta  . (mercedes)


Lesenswert?

H.Joachim S. schrieb:
> Und mal wieder ne Gelegenheit an Alan Turing zu erinnern. Die Briten
> schmücken sich noch heute mit seiner Genialität. Wie sie es ihm gedankt
> haben steht meist nur in sehr kleinen Buchstaben, viele wissen es gar
> nicht.

Ja!!
Undank ist der Welten Lohn!! :-((

mfg

von BlaBla (Gast)


Lesenswert?


von Yalu X. (yalu) (Moderator)


Lesenswert?

Wenn man aus nostalgischen Gründen eine alte Maschine nachbaut, möchte
man einerseits möglichst nahe am Original bleiben, andererseits aber
auch den Bastelaufwand in akzeptablen Grenzen halten.

Da die Enigma (anders als bspw. ein Zuse-Rechner) ziemlich einfach
aufgebaut ist, bietet sich hier ein 1:1-Nachbau mit elektromechanischen
Komponenten an, womit man bei mäßigem Arbeitsaufwand sehr nahe am
Original bleibt. Für solche Dinge eignet sich auch ein 3D-Drucker sehr
gut.

Noch einfacher ist IMHO nur eine Softwarelösung, die wahlweise auf einem
PC, einem Mikroprozessor, einem FPGA oder einer auf EPROMs basierenden
Zustandsmaschine implementiert werden kann. Da hier die mechanischen
Arbeiten (Materialbearbeitung, Löten usw.) teilweise oder sogar komplett
entfallen, spart man Arbeitsaufwand, bewegt sich aber weg vom Original.

Eine Realisierung ausschließlich mit 74er-Bausteinen hingegen wird viel
komplexer als das Original, was dem TE anfangs wohl nicht bewusst war.
Damit bewegt man sich nicht nur vom Original weg, sondern steckt auch
noch ein Vielfaches an Arbeit hinein. Für mich persönlich wäre dies
deswegen keine Option (andere werden natürlich anders darüber denken).

Spannender fände ich es ohnehin, statt einer Enigma eine Turing-Bomb
nachzubauen, wobei ich mich da wegen der höheren Komplexität auf eine
Softwarelösung beschränken würde. Aber auch dafür gibt es schon sehr
gute Implementationen, wie bspw. diese hier:

  http://www.lysator.liu.se/~koma/turingbombe/bombe-simulator/

Dort gibt es übrigens auch sehr hübsche Simulationen der Enigma 3 und 4.

von oszi40 (Gast)


Lesenswert?

Yalu X. schrieb:
> Noch einfacher ist IMHO nur eine Softwarelösung,

Als App auch sehr schön, aber ich wiederhole es nochmals. Man weiß nie, 
ob fremde SW nach Hause telefoniert. Also nur Spielzeug! Herr Mielke 
hätte heute bestimmt eine schöne App ins Netz gestellt und die Eingaben 
hinten herum direkt ans MfS übertragen? Das spart viel Arbeit.

von Yalu X. (yalu) (Moderator)


Lesenswert?

oszi40 schrieb:
> Man weiß nie, ob fremde SW nach Hause telefoniert.

Wieso fremd? Der TE möchte doch selber etwas basteln.

Und meinst du, er möchte die Enigma, falls sie dann irgendwann läuft, 
wirklich zur Übertragung vertraulicher Nachrichten verwenden?

von ๑۩۞۩๑ (Gast)


Lesenswert?

> MfS

Was ist an Google, Microsoft, Apple, Mozilla, Facebook, Cloudflare, ...
besser als das MfS?
Sie verkaufen Deine Daten meistbietend.

Bislang sind sie immer noch mit einem "Ups, das war bestimmt ein
Versehen und tut uns leid." davongekommen.

Das ein staatlich bestallter Datenschuetzer aus den Analyse(n) von
Betriebssystemen Konsequenzen fuer die Verbreitung in Deutschland
ableitet haette, ist auch noch nicht vorgekommen.

von oszi40 (Gast)


Lesenswert?

๑۩۞۩๑ schrieb:
> Das ein staatlich bestallter Datenschuetzer aus den Analyse(n) von
> Betriebssystemen Konsequenzen fuer die Verbreitung in Deutschland
> ableitet haette, ist auch noch nicht vorgekommen.

Solange nicht jeder sein Werkzeug wie einen Hammer fachlich ausreichend 
prüfen kann, ist es schwer von Datensicherheit zu sprechen. Das 
Suchmaschinen mehr finden als sie zeigen und manche Frage ausgewertet 
wird ist klar.
Leider ist heute keiner mehr allein in der Lage eine sichere SW 
herzustellen, weil zu viele Köche den komplexen Brei verderben und zu 
wenige den Überblick über Millionen von Codezeilen haben werden.

von oszi40 (Gast)


Lesenswert?

oszi40 schrieb:
> Überblick über Millionen von Codezeilen haben werden.

... und wenn jetzt einer z.B. MS od. Linux verbieten möchte, geht 
wahrscheinlich bald das Licht aus, weil alles irgendwo davon abhängig 
gemacht wurde.

von omega (Gast)


Lesenswert?

๑۩۞۩๑ schrieb:
>> MfS
>
> Was ist an Google, Microsoft, Apple, Mozilla, Facebook, Cloudflare, ...
> besser als das MfS?

Vielleicht daß besagte Firmen niemanden für Jahre in finstere Kerker 
sperren, misshandeln oder ermorden weil er die falsche Meinung vertritt?

Solche Vergleiche sind einfach nur strunz-dumm! Oder gezielt platziert 
von ehemaligen Folterknechten um die damaligen Zustände zu relativieren. 
Ekelhaft!

von PittyJ (Gast)


Lesenswert?

๑۩۞۩๑ schrieb:
>> MfS
>
> Was ist an Google, Microsoft, Apple, Mozilla, Facebook, Cloudflare, ...
> besser als das MfS?

Bis auf Mozilla sind das doch alles AGs. Sie gehören also nicht einem 
Staat sondern den Aktionären. Und wenn du die Firmenpolitik verändern 
möchtest, kaufst du dir (evtl mit Gleichgesinnten) entsprechend Aktien 
und bestimmst mit.

Wenn man sich aber nicht um Fakten kümmert und handelt, sondern nur 
uninformiert herummeckert, der wird nie Dinge ändern können.

von Thomas (kosmos)


Lesenswert?

ich habe mal eine Walze der Kompaktheit horizontal dargestellt
1
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
2
3
Y T O D K P A E B J Z W N C H Q S X M G F U I L R V

Jeder Buchstabe ist ja einem anderen fest zugeordnet also A->Y B->T usw. 
bei einer Betätigung, dreht sich das ganze um 1 weiter, also muss man ja 
einfach in seiner Tabelle immer nur eins runter, dann 1 runter +1 nach 
rechts, dann einmal runter +2 nach rechts, dann wieder eins runter +3 
nach rechts.... natürlich alle Walzen untereinander (den Startpunkt der 
Walze per Offset eingeben,da diese ja verdreht werden können) irgendwann 
kommt unten die Umkehrwalze und es geht wieder zurück zum Steckbrett das 
auch nochmal fest ohne Rotation die Buchstaben verdreht.

Programmiertechnisch sehe ich keinen so hohen Aufwand. Man braucht eine 
große Tabelle in der man sich per Pointer rumhangelt, es muss immer nur 
der Pointer geändert werden und am Schluss sieht man nach wo man in der 
Tabelle gelandet ist.

Als Beispiel mit TEST und 1 Walze wäre das dann GPFI
T=G E=K+1=P S=M+2=F T=G+3=I

von (prx) A. K. (prx)


Lesenswert?

Thomas O. schrieb:
> Programmiertechnisch sehe ich keinen so hohen Aufwand.

Eine Enigma per Microcontroller zu implementieren ist trivial. Sie in 
dazu völlig unpassenden 74xx ohne Tricks wie ROMs aufzubauen hingegen 
nicht so. Die wurde ja nicht für TTL Logikbausteine konstruiert, sondern 
als Elektromechanik. Das deckt sich nicht.

Es fängt schon damit an, dass die gesamte Signalführung bidirektional 
arbeitet. Kabel und Kontakten ist das egal. Gattern nicht.

: Bearbeitet durch User
von H.Joachim S. (crazyhorse)


Lesenswert?

Es deckt sich überhaupt nicht und macht dementsprechend keinen Sinn.

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Thomas O. schrieb:

> Jeder Buchstabe ist ja einem anderen fest zugeordnet also A->Y B->T usw.
> bei einer Betätigung, dreht sich das ganze um 1 weiter

Das bezweifle ich. M.W. dreht sich lediglich die erste Walze um eine 
Position. Nachdem diese eine Umdrehung vollzogen hat, also nach 26 
Zeichen "überläuft", dreht sich die nächst höhere um eine Position. Bei 
drei Walzen sind das also 26^3 Permutationen.

Ansonsten könnte man auf jede weitere Walze verzichten und nur mit einer 
arbeiten.

Grüßle
Volker

: Bearbeitet durch User
von Cyblord -. (cyblord)


Lesenswert?

Volker B. schrieb:
> Das bezweifle ich. M.W. dreht sich lediglich die erste Walze um eine
> Position. Nachdem diese eine Umdrehung vollzogen hat, also nach 26
> Zeichen "überläuft", dreht sich die nächst höhere um eine Position. Bei
> drei Walzen sind das also 26^3 Permutationen.

Wann ein Übertrag auf die nächste Walze statt findet ist nicht derart 
gleichmäßig. Da gibt es spezielle Kerben in den Walzen. Ein Übertrag 
findet nur bei bestimmten Stellungen statt.

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Cyblord -. schrieb:

> Wann ein Übertrag auf die nächste Walze statt findet ist nicht derart
> gleichmäßig. Da gibt es spezielle Kerben in den Walzen. Ein Übertrag
> findet nur bei bestimmten Stellungen statt.

Danke für die Richtigstellung. Da habe ich wohl den Text im zugeh. Wiki 
zu wörtlich interpretiert: "Da sich bei jedem Tastendruck die Walzen 
ähnlich wie bei einem mechanischen Kilometerzähler weiterdrehen, ändert 
sich das geheime Schlüsselalphabet nach jedem Buchstaben."

Es kam mir nur darauf an, zu erklären, dass es keinen Sinn ergibt, wenn 
sich alle Walzen synchron drehen würden.

Grüßle
Volker

von Cyblord -. (cyblord)


Lesenswert?

Volker B. schrieb:
> Es kam mir nur darauf an, zu erklären, dass es keinen Sinn ergibt, wenn
> sich alle Walzen synchron drehen würden.

Das ist korrekt, das hatte ich aber aus dem Post von Thomas auch so 
nicht rausgelesen.

von Percy N. (vox_bovi)


Lesenswert?

Sehe ich das richtig, dass die Umsetzung der Ringstellung bisher noch 
nicht angesprochen wurde?

von Cyblord -. (cyblord)


Lesenswert?

Percy N. schrieb:
> Sehe ich das richtig, dass die Umsetzung der Ringstellung bisher noch
> nicht angesprochen wurde?

Ist die Ringstellung nicht einfach nur die Startposition aller Walzen?

von Percy N. (vox_bovi)


Lesenswert?

Cyblord -. schrieb:
> Ist die Ringstellung nicht einfach nur die Startposition aller Walzen?

Falls ich das richtig verstanden habe, wurde dadurch sozusagen das 
Alphabet auf der Walze verschoben.

von Cyblord -. (cyblord)


Lesenswert?

Percy N. schrieb:
> Cyblord -. schrieb:
>> Ist die Ringstellung nicht einfach nur die Startposition aller Walzen?
>
> Falls ich das richtig verstanden habe, wurde dadurch sozusagen das
> Alphabet auf der Walze verschoben.

Das geht eigentlich nicht. Jede Walze ist intern fest verdratet.

von Percy N. (vox_bovi)


Lesenswert?

Cyblord -. schrieb:
> Percy N. schrieb:
>
>> Cyblord -. schrieb:
>>
>>> Ist die Ringstellung nicht einfach nur die Startposition aller Walzen?
>>
>> Falls ich das richtig verstanden habe, wurde dadurch sozusagen das
>> Alphabet auf der Walze verschoben.
>
> Das geht eigentlich nicht. Jede Walze ist intern fest verdratet.

Richtig. Aber nach meinem Verständnis verschiebt der Ring das Alphabet 
gegenüber der Verdrahtung. Im Prinzip wäre das tatsächlich lediglich ein 
Offset auf die Walzenstellung, aber die Verschiebung der Schaltnocke 
geht in die Übertragungsfunktion mit ein. Diese sollte durch die 
Ringstellung gegenüber dem Alphabet verschoben werden.

Soweit meine Vorstellung,  sehr mutig auch 'Verständnis' genannt.

von Cyblord -. (cyblord)


Lesenswert?

Percy N. schrieb:
> Soweit meine Vorstellung,  sehr mutig auch 'Verständnis' genannt.

In diesem Detailgrad bin ich da leider auch raus.

Was mir aber noch zur Enigma Simulation einfällt: Es gibt nicht nur 
Walzen sondern auch ein Steckbrett. Müsste auch irgendwie simuliert 
werden bzw. man kann es auch 1:1 direkt aufbauen.

: Bearbeitet durch User
von Percy N. (vox_bovi)


Lesenswert?

Cyblord -. schrieb:
> Was mir aber noch zur Enigma Simulation einfällt: Es gibt nicht nur
> Walzen sondern auch ein Steckbrett. Müsste auch irgendwie simuliert
> werden bzw. man kann es auch 1:1 direkt aufbauen.

Das habe ich extra außen vor gelassen. Das verwirklicht lediglich eine 
statische monoalphabetische Überschlüsselung, täglich wechselnd.

von CM Z. (Gast)


Lesenswert?

Schau dir bitte mal diese Seiten an, vielleicht kannst du aus diesen 
noch ein paar nützliche Tipps und Tricks für das Verständnis und den 
Aufbau entnehmen:

ENIGMA <http://www.rotilom.com/F6IDT/enigma.htm>;

ENIGMA <http://users.telenet.be/d.rijmenants/index.htm>;

Schöne Grüße.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Ich habe hier ein Buch von 1986
ISBN: 9780715620687, 0715620681
The Radio Hacker's Code Book
Von George Sassoon

Darin ein Kapitel über Enigma3 und ein BASIC-Programm, das Enigma3 
simuliert.
https://www.google.de/books/edition/The_Radio_Hacker_s_Code_Book/_aG7AAAACAAJ?hl=de

von Thomas (kosmos)


Lesenswert?

@Volker: Ja so meinte ich das auch nach 26 Buchstaben dreht sich die 2te 
Walze auch wieder um 1 weiter, der Einfachheit halber, habe ich es nur 
mit einer Walze dargestellt.

Man braucht eine große Tabelle mit insgesamt 8 Walzen, Umkehrwalze und 
dem Steckbrett und wählt eben 3 aus 8 Walzen aus und das Steckbrett. 
Dann geht es eben von z.B: Walze 3 auf 5 auf 8, Umkehrwalze und zurück 
durch 8, 5, 3 und dann zum Steckbrett.

von Percy N. (vox_bovi)


Lesenswert?

Cyblord -. schrieb:
> In diesem Detailgrad bin ich da leider auch raus.

In dem Wikipedia-Artikel findet sich
"b) Die Ringstellung
Es gibt jeweils 26 verschiedene Ringstellungen (01 bis 26) für die 
mittlere und die rechte Walze. Der Ring der linken Walze trägt nicht zur 
Vergrößerung des Schlüsselraums bei, da seine Übertragskerbe kein 
Fortschalten einer noch weiter links befindlichen Walze bewirkt. 
Insgesamt sind 26² = 676 Ringstellungen relevant (entspricht etwa 9 
bit)."

Im Umkehrschluss bedeutet das, dass die Fortschaltung durch den Nocken 
am Ring bewirkt wird, dessen Lage an der Walze eben erst durch die 
Ringstellung definiert wird.

Auch heißt es dort

"Die Ringe (Ringstellung), ursprünglich erfunden bereits 1928 von Willi 
Korn,[56] und nicht, wie vielfach falsch publiziert, von seinem Kollegen 
Paul Bernstein,[57][58][59] bestimmen den Versatz zwischen der inneren 
Verdrahtung der Walzen und dem Buchstaben, zu dem der Übertrag auf die 
nächste Walze erfolgt. Außerdem dienten sie zum Schutz vor Spionage. So 
wurde verhindert, dass durch Ablesen der von außen sichtbaren 
Walzenstellung auf die interne Drehposition der Walzen geschlossen 
werden konnte."

von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

Hier das Programm von 1986 und die Beschreibung dazu.
Es lief anscheinend auf einem Z80-Rechner "Sharp PC 3201"
https://www.old-computers.com/museum/photos.asp?t=1&c=811&st=1

: Bearbeitet durch User
von Gerhard O. (gerhard_)


Angehängte Dateien:

Lesenswert?

Im Anhang ist die Quelle meines damaligen Enigma PIC Versuchs dem der 
PIC Code zugrunde lag. Der verschlüsselte Text laesst sich mit anderen 
Enigma Simulatoren wieder entschlüsseln oder die umgekehrte Operation.

: Bearbeitet durch User
von Gerhard O. (gerhard_)


Angehängte Dateien:

Lesenswert?

Falls jemand mit AES spielen möchte ist im Anhang ein kleines AES Test 
Programm (CFB) das auf einem DSPIC33 getestet wurde. Man kann damit ver- 
und entschlüsseln. Der Schlüssel ist 128-Bit.

von Kuno (Gast)


Lesenswert?

Ob ich da eine 26er-Scheibe um 0...26 rotiere, oder einen Summanden
von 0...26 (verwürfelt) bereitstelle ist doch ähnlicher Aufwand.
Wenn man TTL-Held sein will, ohne je irgenwelche Logik kapiert zu haben, 
ist das in Scheibentechnik, oder Relais-, oder Röhren-, oder 
Transistor-, oder Logik-IC-, oder µC-Herangehensweise alles vergleichbar 
unmöglich.

Man muss das Problem erfassen und in die gewählte Technik umsetzen 
können. Und wer's nicht kann, schafft es eben nicht.
GANZ EINFACH.
Tschüs.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.