Einzelnen Beitrag anzeigen

Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#1

Friedman-Angriff auf eine Vigenère-Verschlüsselung

  Alt 11. Apr 2008, 11:03
Hi,

wir müssen gerade im Informatik Leistungskurs 11. Klasse ein Programm umsetzen, das einen Text ohne bekannten Schlüssel entziffert.

Ich hab mittels dem Koinzidenzindex, etc. die Länge des Schlüssels bestimmt, Buchstaben für Buchstaben in eine Tabelle mit der Spaltenanzahl der Schlüssellänge gepackt und für jede Spalte den häufigsten Buchstaben ermittelt.

Jetzt habe ich z.B. in der 1. Spalte herausgefunden, dass das B am häufigsten vorkommt, in der deutschen Sprache demnach das E ist. Guck ich jetzt auf das Vigenère-Quadrat kann ich ablesen, welcher Buchstabe da zur Verschlüsselung genommen wurde.

Nun möchte ich gerne, dass mein Programm ermittelt, welcher Buchstabe das ist. Also es weiß, dass das B am häufigsten vorkommt und das das E sein muss.

Wie kann ich jetzt berechnen, welcher Buchstabe das im Schlüsselwort ist?

Das kann man doch sicher berechnen, nicht dass ich erst im Array das Vigenère-Quadrat erzeugen muss.

Ich denke mir das is ganz einfach, aber ich hab da irgendwie ein Brett vor dem Kopf.

Edit:

Ich denke ich habe mich ein wenig unverständlich ausgedrückt. Ein Beispiel:


Verschlüsselter Text: KewavpPcllps tga ptb tzwzls Qcyux.

Nach den Berechnungen wissen wir, dass der Schlüssel 5 Buchstaben hat. Jetzt machen wir eine 5-spaltige Tabelle und tragen in jede Zelle nur 1 Buchstaben ein:

Code:
K E W A V
P P C L L
P S T G A
P T B T Z
W Z L S Q
C Y U X
Angenommen - das stimmt jetzt zwar nicht, weil der Text einfach zu kurz ist - P ist, weil er der häufigste Buchstabe in Spalte 1 ist, ein E im Klartext. Jetzt kan nich mir das Vigenere-Quadrat ansehen und nachgucken: P ist der verschlüsselte Buchstabe, E ist der Klartext, mit welchem Buchstaben des Schlüsselworts (um genau zu sein das 1. Zeichen des Schlüssels) wurde er codiert. Damit könnte ich für jede Spalte den jeweiligen Buchstaben ermitteln und hätte am Ende das Passwort. Aber ich weiß nicht wie ich das umsetzen soll.
  Mit Zitat antworten Zitat