Autor Beitrag
D0P3 F!$H
Gast
Erhaltene Danke: 1



BeitragVerfasst: Do 28.11.02 20:21 
Jo, jetzt ist es besser!
Kannst du mal gucken, ob du auch auf dasselbe Ergebnis wie ich?
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
||||||||||||||||||||||||||
XVZNYEIWGAKMUSQOBDFHJLCPRTXVZNYEIWGAKMUSQOBDFHJLCPRT

ABCDEFGHIJKLMNOPQRSTUVWXYZ
||||||||||||||||||||||||||
FAIVLPEKQDTNZJHGRCXMYSWBOU

ABCDEFGHIJKLMNOPQRSTUVWXYZ
||||||||||||||||||||||||||
PAIBRCJEKMFLGDQVZNTOWYHXUS

ABCDEFGHIJKLMNOPQRSTUVWXYZ
||||||||||||||||||||||||||
FVPJIAOYEDRZXWGCTKUQSBNMHL

Klar: Arschkriecher
Code: FBVZUIDISUHIX


Ich habe vor jeder Walze das Alphabet gelassen, weil der Code nur eine Hilfe ist, um herauszfinden, ob das Programm so verschlüsselt wie ich es will. Und weil es dann einfacher ist, die richtige Position im Alphabet zu finden.

Zitat:
Na, wie hat der Greis das gemacht?
Was sagt man da! Noch nicht verkalkt und senil! :twisted:

Aber das alter hat auch seine Vorteile: Man muss nicht mehr arbeiten, darf soviel Unsinn labern wie man will ... :twisted:
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 28.11.02 20:43 
Der erste Buchstabe ist richtig. Beim zweiten weiß ich es nicht. Wie drehst Du Deine Walzen nochmal?

Zitat:
Man muss nicht mehr arbeiten, darf soviel Unsinn labern wie man will ...

Für wie alt hälst Du mich?

MfG,
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
D0P3 F!$H
Gast
Erhaltene Danke: 1



BeitragVerfasst: Do 28.11.02 20:49 
Ich habe folgende Buchstabenanordnung auf der 1. Walze vor dem 1. eingegebenen Buchstaben: XVZNYEIWGAKMUSQOBDFHJLCPRT

Nach dem 1. eingegebenen Buchstaben dreht die 1. Walze sich um eine Stelle weiter: VZNYEIWGAKMUSQOBDFHJLCPRTX

Dies wiederholt sich nach jedem weiteren eingegebenen Buchstaben.

Zitat:
Für wie alt hälst Du mich?
:oops: 25 - 30 !? *schleim* (Nein, mein ich ernst mit 25 - 30!)
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 29.11.02 15:03 
Hmmm, irgendwie habe ich momentan ein Brett vor'm Kopf: Könntest Du vielleicht noch den "Pfad" für den zweiten Buchstaben aufschreiben?

Zitat:
25 - 30 !? *schleim* (Nein, mein ich ernst mit 25 - 30!)

Nö! Ich werde im April 21. Ätsch! Ver**scht!

MfG,
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
D0P3 F!$H
Gast
Erhaltene Danke: 1



BeitragVerfasst: Fr 29.11.02 17:46 
Zitat:
Könntest Du vielleicht noch den "Pfad" für den zweiten Buchstaben aufschreiben?
Ich weiss zwar nicht genau, was du meinst, aber ich mach dei Verschlüsselung mal ausführlich!

Der eingegebene Klartext ist: Arschkriecher
Die 1. Walze ist: XVZNYEIWGAKMUSQOBDFHJLCPRT (Walze III, Char XI)
Die 2. Walze ist: FAIVLPEKQDTNZJHGRCXMYSWBOU (Walze VII, Char XVI)
Die 3. Walze ist: PAIBRCJEKMFLGDQVZNTOWYHXUS (Walze III, Char XI)
Die Reflektor ist: FVPJIAOYEDRZXWGCTKUQSBNMHL (Reflektor I)

Nach jedem eingegebenen Buchstaben dreht sich die 1. Walze um einen Buchstaben weiter.
Nach dem 1. eingegebenen Buchstaben sieht die 1. Walze dann so aus:
ausblenden Quelltext
1:
VZNYEIWGAKMUSQOBDFHJLCPX					

Nach dem 2. eingegebenen Buchstaben sieht die 1. Walze dann so aus:
ausblenden Quelltext
1:
ZNYEIWGAKMUSQOBDFHJLCPXV					

Nach dem 3. eingegebenen Buchstaben sieht die 1. Walze dann so aus:
ausblenden Quelltext
1:
NYEIWGAKMUSQOBDFHJLCPXVZ					

Und so weiter und so fort!

Das folgende Schema benutze ich, um "vorherzusagen" welcher Buchstabe nun rauskommt. Nach jedem "eingegebenen" Buchstaben musst du die Reihe "XVZNYEIWGAKMUSQOBDFHJLCPRTXVZNYEIWGAKMUSQOBDFHJLCPRT" um den vordersten Buchstaben verkürzen.
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
ABCDEFGHIJKLMNOPQRSTUVWXYZ 
|||||||||||||||||||||||||| 
XVZNYEIWGAKMUSQOBDFHJLCPRTXVZNYEIWGAKMUSQOBDFHJLCPRT 

ABCDEFGHIJKLMNOPQRSTUVWXYZ 
|||||||||||||||||||||||||| 
FAIVLPEKQDTNZJHGRCXMYSWBOU 

ABCDEFGHIJKLMNOPQRSTUVWXYZ 
|||||||||||||||||||||||||| 
PAIBRCJEKMFLGDQVZNTOWYHXUS 

ABCDEFGHIJKLMNOPQRSTUVWXYZ 
|||||||||||||||||||||||||| 
FVPJIAOYEDRZXWGCTKUQSBNMHL
Bei mir kommt dann sowohl in der "Vorhersage" als auch im Programm selbst "FBVZUIDISUHIX" raus.

Für die ersten 3 eingegebenen Buchstaben mach ich mal auf reiner Höflichkeit den Weg nach:
ausblenden Quelltext
1:
2:
3:
A->X X->B B->A A->F
R->F F->P P->V V->B
S->J J->D D->B B->V


Zitat:
Hmmm, irgendwie habe ich momentan ein Brett vor'm Kopf:
Habe ich nun den Nebel gelüftet?


Zitat:
Nö! Ich werde im April 21. Ätsch! Ver**scht!
Ich würde schwören, du bist 25 - 30. Denn deine perfekte Artikulation und deine überquellende Weisheit lassen auf ein höheres Alter schließen als 21.
Aber eins noch: Am 4.12 werd ich 17!
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 29.11.02 18:07 
Zitat:
Habe ich nun den Nebel gelüftet?

Oh ja! Und er war sehr viel dichter, als ich dachte. Irgendwie war ich davon ausgegangen, dass sich jede Walze immer um einen Buchstaben weiter dreht, aber das stimmt natürlich nicht.

Zitat:
Denn deine perfekte Artikulation und deine überquellende Weisheit lassen auf ein höheres Alter schließen als 21.

Danke! :oops: :oops: :oops: (In 25 Jahren oder so werde ich wohl nicht mehr Danke sagen, wenn jemand mein Alter zu hoch schätzt! :wink: )

Zitat:
Aber eins noch: Am 4.12 werd ich 17!

Witzig: ich habe am 12.4. Geburtstag.

MfG,
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
D0P3 F!$H
Gast
Erhaltene Danke: 1



BeitragVerfasst: Fr 29.11.02 18:14 
Zitat:
Oh ja! Und er war sehr viel dichter, als ich dachte. Irgendwie war ich davon ausgegangen, dass sich jede Walze immer um einen Buchstaben weiter dreht, aber das stimmt natürlich nicht.
Freut mich , dass ich helfen konnte. Und du hast das richtig erkannt mit dem Weiterdrehen! :D

Zitat:
Danke! :oops: :oops: :oops: (In 25 Jahren oder so werde ich wohl nicht mehr Danke sagen, wenn jemand mein Alter zu hoch schätzt! :wink: )
Gern geschehen!
Wäre eine interessante Frage, ob du dich in 25 Jahren geschmeichelt fühlen würdest, wenn man dich jünger einschätzt als du bist! 8)

Zitat:
Witzig: ich habe am 12.4. Geburtstag.
LOL!

Aber du hast mir immer noch nicht gesagt, ob mein Programm nun richtig funktioniert oder nicht! :evil:
Ich muss vielleicht als Erläuterung noch dazu sagen, dass mein Programm bisher noch keinen Ring und kein Steckbrett hat. Wird wahrscheinlich auch nicht mehr kommen!
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 29.11.02 20:58 
Hi!

Wäre in der Tat 'ne tolle Leistung von mir gewesen, wenn ich auf die eigentliche Frage geantwortet hätte....



Also: ich weiß nicht, wann Du die anderen Walzen weiterdrehst (im Moment fällt mir auch nicht ein, wann dass bei der echten Enigma passierte), aber davon mal abgesehen, kann ich keinen Fehler entdecken. Auf den ersten Blick zumindest nicht.

MfG,
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
D0P3 F!$H
Gast
Erhaltene Danke: 1



BeitragVerfasst: Fr 29.11.02 21:08 
Zitat:
Wäre in der Tat 'ne tolle Leistung von mir gewesen, wenn ich auf die eigentliche Frage geantwortet hätte....
Du hast voll den Durchblick :mrgreen:

Zitat:
Also: ich weiß nicht, wann Du die anderen Walzen weiterdrehst
Das ging doch so.
NORMAL:
Die 1. Walze dreht sich nach jedem Buchstaben um eine Stelle weiter
Die 2. Walze dreht sich um eine Stelle weiter, wenn die 1. Walze eine volle Umdrehung gemacht hat (alle 26 Buchstaben)
Die 3. Walze dreht sich um eine Stelle weiter, wenn die 2. Walze eine volle Umdrehung gemacht hat (alle 26*26 Buchstaben!?)

SPEZIELL:
Es gibt dann ja noch den Ring. Dadurch wurde das Ganze doch verschoben. Dann war die "Umdrehung" schon bei z.B. 17 Buchstaben.
Und es gibt dann ja auch die Möglichkeit, dass wenn eine Walze eine volle Umdrehung gemacht hat, wird die vordere Walze nicht nur um eine Stelle weitergedreht, sondern um z.B. 8.

Zitat:
Auf den ersten Blick zumindest nicht.
8) Ohhh, yeahhh, baby! :twisted:
D0P3 F!$H
Gast
Erhaltene Danke: 1



BeitragVerfasst: Sa 30.11.02 11:02 
Mhhh ...

Mein Programm muss irgendwo falsch laufen!

Ich habe jetzt 3 Walzen hin + Reflektor + 3 Walzen zurück.
Es kommt auch das raus was ich "vorhergesagt" habe, aber wenn ich den Code wieder eingebe, kommt nicht der Klartext raus.

so funktioniert mein Programm:
ausblenden volle Höhe Quelltext
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:
32:
33:
34:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
||||||||||||||||||||||||||
XVZNYEIWGAKMUSQOBDFHJLCPRTXVZNYEIWGAKMUSQOBDFHJLCPRT
{1. Walze: immer den 1. Buchstaben nach Eingabe löschen}
   
ABCDEFGHIJKLMNOPQRSTUVWXYZ
||||||||||||||||||||||||||
FAIVLPEKQDTNZJHGRCXMYSWBOU
{2. Walze}

ABCDEFGHIJKLMNOPQRSTUVWXYZ
||||||||||||||||||||||||||
PAIBRCJEKMFLGDQVZNTOWYHXUS
{3. Walze}

ABCDEFGHIJKLMNOPQRSTUVWXYZ
||||||||||||||||||||||||||
FVPJIAOYEDRZXWGCTKUQSBNMHL
{Reflektor}

ABCDEFGHIJKLMNOPQRSTUVWXYZ
||||||||||||||||||||||||||
PAIBRCJEKMFLGDQVZNTOWYHXUS
{3. Walze}

ABCDEFGHIJKLMNOPQRSTUVWXYZ
||||||||||||||||||||||||||
FAIVLPEKQDTNZJHGRCXMYSWBOU
{2. Walze}

ABCDEFGHIJKLMNOPQRSTUVWXYZ
||||||||||||||||||||||||||
XVZNYEIWGAKMUSQOBDFHJLCPRTXVZNYEIWGAKMUSQOBDFHJLCPRT
{1. Walze: immer den 1. Buchstaben nach Eingabe löschen}


Klartext ist 'Arschkriecher' und als Code kommt 'GIBXXRIXJELYS' raus. Wenn ich aber als Klartext 'GIBXXRIXJELYS' eingebe, kommt 'SHNMRQBQHSANH' aus Code raus.

Daraus folgere ich, dass der Reflektor nichr richtig funkionieren muss. Denn bei der Eingabe des 'A' von 'Arschkriecher' wird im Reflektor das 'A' (Ausgabe der 3. Walze) zum 'F' (Ausgabe des Reflektors).
Gebe ich aber das "G" von 'GIBXXRIXJELYS' ein, so wird im Reflektor das 'Z' (Ausgabe der 3. Walze) zum 'L' (Ausgabe des Reflektors).

Eigentlich müsste aber wenn das 'A' beim Klartext zum 'F' wird, beim Code das 'F' zum wieder zum 'A' werden, weil ja sonst der verschlüsselte Buchstabe nie zum Klartextbuchstaben werden kann.

Im Programm selbst sieht die Verschlüsselung so aus:
ausblenden Quelltext
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:
PositionWalze1 := Ord(GedrueckteTaste) - 64 + DrehungenWalze1;
if (PositionWalze1 >= 27) then Dec(PositionWalze1, 26);
KodierterChar := Walze1[PositionWalze1];

PositionWalze2 := Ord(KodierterChar) - 64 + DrehungenWalze2;
if (PositionWalze2 >= 27) then Dec(PositionWalze2, 26);
KodierterChar := Walze2[PositionWalze2];

PositionWalze3 := Ord(KodierterChar) - 64 + DrehungenWalze3;
if (PositionWalze3 >= 27) then Dec(PositionWalze3, 26);
KodierterChar := Walze3[PositionWalze3];

PositionReflektor := Ord(KodierterChar) - 64;
KodierterChar := Reflektor[PositionReflektor];

PositionWalze3 := Ord(KodierterChar) - 64 + DrehungenWalze3;
if (PositionWalze3 >= 27) then Dec(PositionWalze3, 26);
KodierterChar := Walze3[PositionWalze3];

PositionWalze2 := Ord(KodierterChar) - 64 + DrehungenWalze2;
if (PositionWalze2 >= 27) then Dec(PositionWalze2, 26);
KodierterChar := Walze2[PositionWalze2];

PositionWalze1 := Ord(KodierterChar) - 64 + DrehungenWalze1;
if (PositionWalze1 >= 27) then Dec(PositionWalze1, 26);
KodierterChar := Walze1[PositionWalze1];

KodierterText := KodierterText + KodierterChar;



Wo liegt der Fehler ???
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 30.11.02 13:14 
Oh! Ich habe noch etwas vergessen! So einfach ist das mit dem Reflektor doch nicht!

1. Die Walzen werden erst gedreht, nachdem das Zeichen das zweite Mal durchgegangen ist, nachdem es "reflektiert" wurde.

2. Du brauchst "inverse Walzen". Durch die schickst Du das Zeichen nämlich, nachdem es durch den Reflektor gegangen ist. Eine inverse Walze sieht (für Zahlen) so aus:

Original: 5 7 9 3 1 0 4 2 6 8

invertiert: 5 4 7 3 6 0 8 1 9 2

und so erhälst Du eine inverse Walze (die Positionen sind von 0 bis 9 durchnummeriert):
Original[0]=5. Also wird Invers[5]:=0
Original[1]=7. Also wird Invers[7]:=1;
Original[2]=9. Also wird Invers[9]:=2;
...

Für jede Walze brauchst eine invertierte Walze. Ist das Zeichen durch die drei Walzen und den Reflektor, schickst Du es jetzt nicht durch die Walzen, sondern durch die invertierten Walzen. Und zwar in der folgenden Reihenfolge:

1. Walze
2. Walze
3. Walze
Reflektor
3. invertierte Walze
2. invertierte Walze
1. invertierte Walze

So, ich glaube jetzt funktioniert es. Die invertierten Walzen werden mit den nicht invertierten Walzen mitgedreht.

MfG,
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
D0P3 F!$H
Gast
Erhaltene Danke: 1



BeitragVerfasst: Sa 30.11.02 15:04 
Zitat:
Die Walzen werden erst gedreht, nachdem das Zeichen das zweite Mal durchgegangen ist, nachdem es "reflektiert" wurde.
Das habe ich zwar nicht genau gewusst, aber mir mal gedacht, dass es so sein müsste.

Zitat:
Du brauchst "inverse Walzen". Durch die schickst Du das Zeichen nämlich, nachdem es durch den Reflektor gegangen ist.
Ist ja auch logisch, jetzt wo du es sagst. :)
Du meinst das so:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
ABCDEFGHIJKLMNOPQRSTUVWXYZ 
|||||||||||||||||||||||||| 
XVZNYEIWGAKMUSQOBDFHJLCPRT 
{1. Walze 'normal', also oben das Alphabet; linker Walzeneingang ist alphabetisch}

JQWRFSITGUKVLDPXOYNZMBHAEC
||||||||||||||||||||||||||
ABCDEFGHIJKLMNOPQRSTUVWXYZ
{1. Walze 'invers', also unten das Alphabet; rechter Walzeneingang ist alphabetisch}
Zu kompliziert ? :wink:

Zitat:
Die invertierten Walzen werden mit den nicht invertierten Walzen mitgedreht.
Ist klar, weil sie ja identisch sind. Sprich: 3. Walze "normal" und "inversiv" ist dasselbe, nur von der anderen Walzenseite.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 30.11.02 19:09 
Ist nicht zu kompliziert. Scheint so richtig zu sein. Bis wann musst Du das Zeug abgeben?

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
D0P3 F!$H
Gast
Erhaltene Danke: 1



BeitragVerfasst: So 01.12.02 14:16 
8) Es funktioniert !!! 8)

Danke!

Mein Programm verschlüsselt jetzt mit drei Walzen (hin und zurück) und Reflektor.
Wenn ich den Klartext verschlüssel und dann den Code bei selbiger Ausgangsstellung eingebe, kommt wieder der Klartext raus.
Das heisst doch wohl, mein Programm funktioniert richtig im Sinne der echten Enigma, oder?


Ich poste mal zur Vorsicht meinen Quellcode:
ausblenden Quelltext
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:
PositionWalze1 := Ord(GedrueckteTaste) - 64 + DrehungenWalze1;
if (PositionWalze1 >= 27) then Dec(PositionWalze1, 26);
KodierterChar :=Walze1[PositionWalze1];

PositionWalze2 := Ord(KodierterChar) - 64 + DrehungenWalze2;
if (PositionWalze2 >= 27) then Dec(PositionWalze2, 26);
KodierterChar :=Walze2[PositionWalze2];

PositionWalze3 := Ord(KodierterChar) - 64 + DrehungenWalze3;
if (PositionWalze3 >= 27) then Dec(PositionWalze3, 26);
KodierterChar := Walze3[PositionWalze3];

PositionReflektor := Ord(KodierterChar) - 64;
KodierterChar := Reflektor[PositionReflektor];

PositionWalze3 := Pos(KodierterChar, Walze3) + (26 - DrehungenWalze3);
if (PositionWalze3 >= 27) then Dec(PositionWalze3, 26);
KodierterChar := Chr(PositionWalze3 + 64);

PositionWalze2 := Pos(KodierterChar, Walze2) + (26 - DrehungenWalze2);
if (PositionWalze2 >= 27) then Dec(PositionWalze2, 26);
KodierterChar := Chr(PositionWalze2 + 64);

PositionWalze1 := Pos(KodierterChar, Walze1) + (26 - DrehungenWalze1);
if (PositionWalze1 >= 27) then Dec(PositionWalze1, 26);
KodierterChar := Chr(PositionWalze1 + 64);

KodierterText := KodierterText + KodierterChar;


Den ersten Teil bis zum Reflektor kennst du ja schon.
Dann kommt der Rückweg.
Dort wird vom kodierten Char, der aus dem Reflektor kommt, die Position desselben in der 3. Walze ermittelt. Und der aus der 3. Walze herauskommende Char ist der, der im Alphabet an der zuvor ermittelten Position steht.
Der restliche Verschlüsselungsrückweg erfolgt ähnlich.

Ein Beispiel:
ausblenden volle Höhe Quelltext
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:
32:
33:
34:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
||||||||||||||||||||||||||
XVZNYEIWGAKMUSQOBDFHJLCPRTXVZNYEIWGAKMUSQOBDFHJLCPRT
{1. Walze}

ABCDEFGHIJKLMNOPQRSTUVWXYZ
||||||||||||||||||||||||||
FAIVLPEKQDTNZJHGRCXMYSWBOU
{2. Walze}

ABCDEFGHIJKLMNOPQRSTUVWXYZ
||||||||||||||||||||||||||
PAIBRCJEKMFLGDQVZNTOWYHXUS
{3. Walze}

ABCDEFGHIJKLMNOPQRSTUVWXYZ
||||||||||||||||||||||||||
FVPJIAOYEDRZXWGCTKUQSBNMHL
{Reflektor}

PAIBRCJEKMFLGDQVZNTOWYHXUS
||||||||||||||||||||||||||
ABCDEFGHIJKLMNOPQRSTUVWXYZ
{3. Walze}

FAIVLPEKQDTNZJHGRCXMYSWBOU
||||||||||||||||||||||||||
ABCDEFGHIJKLMNOPQRSTUVWXYZ
{2. Walze}

XVZNYEIWGAKMUSQOBDFHJLCPRTXVZNYEIWGAKMUSQOBDFHJLCPRT
||||||||||||||||||||||||||
ABCDEFGHIJKLMNOPQRSTUVWXYZ
{1. Walze}
Gebe ich nun ein "A" ein, so wird es in der 1. Walze zum "X", in der 2. Walze zum "B" und in der 3. Walze zum "A". Im Reflektor wird es zum "F". Auf dem Rückweg wird es zum "K", zum "H" und die Ausgabe ist ein "T".

Gebe ich nun das "T" ein, um die Verschlüsselung rückgängig zu machen, so wird es in der 1. Walze zum "H", in der 2. Walze zum "K" und in der 3. Walze zum "F". Im Reflektor wird es zum "A". Auf dem Rückweg wird es zum "B", zum "X" und die Ausgabe ist ein "A".

Einfacher sieht es so aus:
A -> X; X -> B; B -> A; A -> F; F -> K; K -> H; H -> T
T -> H; H -> K; K -> F; F -> A; A -> B; B -> X; X -> A

Man sieht das die Verschlüsselung von links nach rechts die Entschlüsselung von rechts nach links ist und umgekehrt.

Zitat:
Bis wann musst Du das Zeug abgeben?
Am 3.2.2003. Warum interessiert dich das? Du hast doch den Quellcode schon.


Zuletzt bearbeitet von D0P3 F!$H am Mo 03.02.03 19:19, insgesamt 1-mal bearbeitet
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 01.12.02 18:54 
Prima, dass es jetzt klappt. Der Quellcode sieht auch ganz gut aus, obwohl der Praxistest natürlich sehr viel verlässlicher ist, als das bloße drüber gucken.

Zitat:
Warum interessiert dich das? Du hast doch den Quellcode schon.
Ich habe mich nur gefragt, ob Du noch Zeit hast, ein Steckbrett einzubauen.

MfG,
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
D0P3 F!$H
Gast
Erhaltene Danke: 1



BeitragVerfasst: So 01.12.02 20:12 
Also der Praxistest ist zwar nur kurz gewesen (20 verschiedene Ausgangsstellungen), aber wenn bei der Entschlüsselung immer der zuvor eingegebene Klartext rauskommt, so wird es wohl funktionieren, oder? :wink:


Wegen Steckbrett, Ring und Co ... die wollte ich eigentlich weglassen.
Erstens ist mir das im Moment ein bisschen zu schwierig, aber damit habe ich mich auch noch nicht beschäftigt, also sollte ich eigentlich keine voreiligen Schlüsse ziehen.

Ich habe nämlich erstmal vor, eine Tastatur und das Leuchbrett einzubauen, damit das Programm echter aussieht. Und das dürfte ja nicht soi schwierg sein (Hoffe ich jedenfalls). Habe mich ja schon mal wegen Array of TImage umgeschaut.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 01.12.02 21:03 
Hmmm, mit grafischer Umsetzung habe ich mich nie so sehr auseinander gesetzt. Meine Programme verwenden eigentlich immer nur die Standardkomponenten. In den Sachen kann ich Dir dann nicht so helfen, obwohl ich es versuchen werde.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
D0P3 F!$H
Gast
Erhaltene Danke: 1



BeitragVerfasst: So 01.12.02 21:11 
Also ein Array of TImage hab ich schon mal zur Probe programmiert. Das ist ja auch einfach.

Ob das aber auch mit dem Programm zusammen klappt, muss ich aber noch ausprobieren. :wink:
D0P3 F!$H
Gast
Erhaltene Danke: 1



BeitragVerfasst: Di 03.12.02 18:10 
Wie funktionniert nochmal das Steckbrett?
Ich weiss gerade nur, dass dort dann irgendwelche Buchstaben vertauscht wurden. :wink:
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 03.12.02 18:48 
Viel mehr ist auch nicht dahinter. Man konnte jeweils zwei Buchstaben miteinander verbinden, so dass diese dann vertauscht wurden.
Wenn man A mit G verbunden hat, so wird G in die Verschlüsselung geschickt, wenn man A drückt und andersrum. Kommt ein G aus der Verschlüsselung, so erscheint ein A und andersum.

Tja, das wär's eigentlich auch schon.

MfG,
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Ist die Frage beantwortet? Das Problem gelöst?

Dann klicke hier, um das Thema entsprechend zu markieren!