Autor |
Beitrag |
D0P3 F!$H
Gast
Erhaltene Danke: 1
|
Verfasst: Do 28.11.02 20:21
Jo, jetzt ist es besser!
Kannst du mal gucken, ob du auch auf dasselbe Ergebnis wie ich? 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!
Aber das alter hat auch seine Vorteile: Man muss nicht mehr arbeiten, darf soviel Unsinn labern wie man will ... 
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: 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
|
Verfasst: 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? |  25 - 30 !? *schleim* (Nein, mein ich ernst mit 25 - 30!)
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: 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
|
Verfasst: 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:
Quelltext 1:
| VZNYEIWGAKMUSQOBDFHJLCPX |
Nach dem 2. eingegebenen Buchstaben sieht die 1. Walze dann so aus:
Quelltext 1:
| ZNYEIWGAKMUSQOBDFHJLCPXV |
Nach dem 3. eingegebenen Buchstaben sieht die 1. Walze dann so aus:
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. 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: 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.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: 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!  (In 25 Jahren oder so werde ich wohl nicht mehr Danke sagen, wenn jemand mein Alter zu hoch schätzt!  )
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
|
Verfasst: 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!
Zitat: | Danke! (In 25 Jahren oder so werde ich wohl nicht mehr Danke sagen, wenn jemand mein Alter zu hoch schätzt! ) |
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!
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!
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.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: 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
|
Verfasst: 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
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. |  Ohhh, yeahhh, baby! 
|
|
D0P3 F!$H
Gast
Erhaltene Danke: 1
|
Verfasst: 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: 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: 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.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: 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
|
Verfasst: 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: 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 ?
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.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: 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
|
Verfasst: So 01.12.02 14:16
Es funktioniert !!!
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: 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: 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.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: 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
|
Verfasst: 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?
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.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: 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
|
Verfasst: 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. 
|
|
D0P3 F!$H
Gast
Erhaltene Danke: 1
|
Verfasst: Di 03.12.02 18:10
Wie funktionniert nochmal das Steckbrett?
Ich weiss gerade nur, dass dort dann irgendwelche Buchstaben vertauscht wurden. 
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: 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!
|
|