Tag! Ganz interessantes Projekt. Ich denke ein einfaches verschlüsselungsprogramm sollte machbar sein, wenn auch etwas aufwändig. Ihr werdet ws. öfters den Code wegschmeissen dürfen, und alles nochmal schreiben, vor allem am Anfang. Aber das gehört dazu.
Nur bitte aufpassen: Kryptographie ist ein weites und kompliziertes Gebiet das viel Informatik und vor allem Mathematik enthält. Deswegen: verwendet das Programm nicht, um wichtige Dateien zu verschlüsseln. Ich weiß nicht wie gut ihr seid, aber sehr wahrscheinlich nicht gut genug um einen Algorithmus zu schreiben den man als "hinreichend Sicher" bezeichnen könnte.
Spielen: ja.
Verwenden: nein
So ein paar Grundregeln für die Kryptographie
Man geht von 3 Personen aus:
1. Sender
2. Empfänger
3. Abhörer
Die Aufgabe ist folgende: du willst eine Nachricht von 1 zu 2 so verschicken, dass wenn sie 3 liest, er sie nicht versteht.
Es muss etwas geben was 1 und 2 von 3 Unterscheidet, denn ansonsten kann ja sowieso jeder alles lesen. Diese "Unterscheidung" ist oft eine Art "Schlüssel"
Du musst von folgendem ausgehen:
Der Abhörer weiß fast ALLES. Er kennt dein Programm in und auswendig, er kennt die Abläufe die ihr durchführt, er kennt alle algorithmen und auch alle beteiligten. Er kann auch alles sehen was ihr tut. Er hat auch genug Geld um sich die besten Supercomputer der Welt zu kaufen und euren Code so zu knacken.
Es gibt nur 2 dinge, die er nicht weiß: 1. Die Nachricht selbst (ansonsten wäre alle mühe vergebens) und 2. den Schlüssel.
Wieso muss man davon ausgehen? Alles was ihr tut kann man nachvollziehen. Mit einigem Aufwand kann man aus Maschinencode ungefähr herausfinden, was das Programm tut. Man könnte euch bei euren Abläufen beobachten und man könnte eure Algorithmen nachvollziehen.
Deswegen
Shrax hat geschrieben:
Ich hab in der Schule nur als Beispiel mir n kleinen Schlüssel ausgedacht.
das Alphabet:
ABCDEFGHIJKLMNOPQRTUVWYXZ
Jetzt tausche ich das etwas aus:
ABCDEFGHIJKLMNOPQRTUVWYXZ
ZYVTQOMKIGECABDFHJKNPRUWX
Was ja dann der Schlüssel wäre.
das wäre nach der oberen Annahme nicht der Schlüssel, sondern Teil des Algorithmus. Der Abhörer kennt den!
Shrax hat geschrieben:Und dann mache ich kleine zahlen davor die bedeuten dass man bei der ersten zahl z. B. ² 2 Buchstaben vor und bei ²³ Zwei vor und 3 zurück geht.
Also könnte man Hallo Welt so Verschlüsseln:
F³²Z²²C³³C³³F²³
Hallo
R³³O²³C²²N²³³³
Welt
F³²Z²²C³³C³³F²³_R³³O²³C²²N²³³³
Wieso mehrere Zahlen? Der Abhörer braucht nur alle zahlen zusammenfügen und hat dann nur eine einzige. (Er weiß ja, was die zahlen bedeuten!)
Shrax hat geschrieben:Das ist zwar nicht unbedingt sehr Schwer zu knacken aber uns reicht es ;D
Gut, solange ihr es nicht für wichtige Dinge verwendet.
Shrax hat geschrieben:Ich dachte mir jetzt das ich von diesen Leichten Verschlüsselungen 5 Verschiedene mache.
Ich sag ihm dann vorher welchen wir benutzen, und dann bekommt er und ich das Programm und wir können unsere Texte Verschlüsseln.
DAS ist nun der tatsächliche Schlüssel. Die Information darüber, welche Buchstabenzuordnungen ihr verwendet, und sonst gar nichts. Und das sind 5 möglichkeiten. Nicht besonders viel, oder? Sollte für jemanden, der alles weiß und alles kann nicht so schwer sein, oder?
Ich hab nen gegenvorschlag:
Schreibt doch ein simples XOR verschlüsselungsprogramm.
XOR heißt "Ausschließendes Oder" und ist der lieblingsoperator der Kryptographen

Es wird auf zwei Bits angewendet, und produziert ein drittes je nachdem ob die beiden ersten gleich waren oder nicht:
0 XOR 0 = 0 Die beiden waren nicht verschieden
1 XOR 1 = 0 Die beiden waren wieder nicht verschieden
1 XOR 0 = 1 Die beiden waren verschieden
0 XOR 1 = 1 Die beiden waren wieder verschieden
Nun, wie wendet ihr das auf euer Programm an? Buchstaben in eurem Programm sind nur Zeichen, und diese Zeichen sind in wirklichkeit eine Zahl. Und zwar so eine Zahl, die als folge von Bits abgespeichert ist. Wenn ihr einen Schlüssel (also eine Zahl) habt, dann XOR't ihr einfach jedes Bit des schlüssels mit jedem Bit der Nachricht, und kriegt so eure verschlüsselte nachricht heraus.
Und wie gehts wieder zurück? Ganz einfach, XOR't die verschlüsselte Nachricht wieder mit dem Schlüssel. Das XOR hat nämlich eine Nette eigenschaft: XOR't man das ergebnis mit einer der beiden eingangswerte kommt der andere anfangswert hinaus. Nehmen wir die oberen operationen, und sagen wir, dass das erste Bit eure nachricht ist, das zweite der schlüssel und die verschlüsselte nachricht. Dann XOR'en wir wieder das ergebnis mit der zweiten zahl um die erste zu bekommen:
0 XOR 0 = 0
1 XOR 0 = 1
0 XOR 1 = 1
1 XOR 1 = 0
Tataa, schon habt ihr auf der rechten seite (als Nachricht) wieder das was auf oben auf der linken seite Stand.
Ich hoffe ich habe mich verständlich ausgedrückt... Ansonsten nachfragen.
Haters gonna hate, potatoes gonna potate.