Hackerboard WikiHaboBlog

[HaBo]

 
Cryptography & Encryption Ver- und Entschlüsselung, Algorithmen, Kryptoanalyse ? Kryptographie in der Praxis. Blowfish, Triple-DES, XOR u.a.

Vigenère knacken

Diskussion: Vigenère knacken im Forum Cryptography & Encryption, in der Kategorie Security Area; Hi! Ich würde gerne folgenden (mit Vigenère verschlüsselten) Text entschlüsseln: DWM UWXJSF JHNUWND OF JHTERHIH DCOZVBYLFM VFPVFUVB LZS XZBX WIGUWXIHX ...

Antwort
Alt 24.01.10, 18:22   #1 (permalink)
 
Registriert seit: 24.01.10
testing Leistung: Facit NTK
Likes: 0
Standard Vigenère knacken


Hi!

Ich würde gerne folgenden (mit Vigenère verschlüsselten) Text entschlüsseln:
DWM UWXJSF JHNUWND OF JHTERHIH DCOZVBYLFM VFPVFUVB LZS XZBX WIGUWXIHX HITCWYZYTKWHE

CrypTool macht das Super. Schlüssellänge = 3. Schlüssel = ROT.

Nur muss ich das händisch machen. Bisherige Vorgangsweise:

Bestimmung des Passwortes durch Buchstabenhäufigkeit
• Zerlegen Sie den verschlüsselten Text in n Buchstabengruppen
(n=Passwortlänge; 1.Buchst. - 1.Gruppe, 2.Buchst. - 2.Gruppe usw.)
• Bestimmen die Buchstabenhäufigkeiten getrennt in den einzelnen Buchstabengruppen.
• Ermitteln Sie den häufigsten Buchstaben in den einzelnen Gruppen.
• Bestimmen Sie den Offset zum Buchstaben „E“ der in deutschen Texten am
häufigsten vorkommt.

Buchstabengruppen und häufigster vorkommender Buchstabe:
DUJJUDJEICVLVVVZZWUIHCZKE
Häufigste Buchstabe: V
WWSHWOHRHOBFFFBSBIWHIWYW
Häufigste Buchstabe: W
MXFNNFTHDZYMPULXXGXXTYTH
Häufigste Buchstabe: X

Ergibt folgenden Schlüssel: RST

RST <> ROT

Auch andere Tools kommen zu RST. Nur CrypTool kann das bis jetzt entschlüsseln. Aber wie? Ich komme einfach nicht weiter und baue jetzt auf eure Hilfe!

Grüße
testing
testing ist offline   Mit Zitat antworten
Alt 24.01.10, 18:50   #2 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteron
Likes: 371
Standard

Ich bin zwar nicht unbedingt ein Verschlüsselungsexperte, aber wenn ich wissen will wie ein Programm zu seinen Ergebnissen kommt, nehme ich mir normalerweise den Source oder schaue mir das ganze im Debugger an, wenn der Source nicht verfügbar ist. So kann man nachvollziehen welche Algorithmen zum Ergebnis führen.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
   
HaBOT
 

Werbung ist gerade online    
Alt 24.01.10, 20:01   #3 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Hallo,
naja nur den häufigsten Buchstaben zu nehmen und sagen dass dieser dem 'e' entsprechen muss funktioniert eben nicht immer. Es kann auch mal sein, das z.B. das n der häufigste Buchstabe ist.

Stattdessen sollte man sich eher das Histogramm des Textes angucken und schauen wie man es verschieben muss damit es passt, sprich dem Histogramm der deutschen Sprache entspricht.

Ebenso kann es sein, dass CrypTool zuerst RST getestet hat und dann gesehen hat, dass dort nur Mist rauskam (z.B. per Check durch ein Wörterbuch) und dass es ROT sein muss.

Ansonsten hat CrypTool eine super Dokumentation (da es für Lernzwecke gedacht ist) und wenn du die entsprechende Seite aufschlägst findest du bestimmt mehr dazu.
Elderan ist offline   Mit Zitat antworten
Alt 24.01.10, 20:45   #4 (permalink)
Themenstarter
 
Registriert seit: 24.01.10
testing Leistung: Facit NTK
Likes: 0
Standard

@bitmuncher:
An den Sourcecode hab ich auch schon gedacht. Diese Möglichkeit behalte ich mir im Moment noch vor, da es für mein Problem einen Overkill darstellt.

@Elderan:
Danke für den Tipp. Mit n hat es aber auch nicht gepasst.

Das mit dem Histogramm verschieben, bietet JCrypTool an, aber die Analyse damit funktioniert nicht wirklich. Jetzt hab ich es manuell probiert, ohne Erfolg.

Wie könnte Cryptool von RST auf ROT gekommen sein? Durchprobiert?

Die Dokumentation habe ich mir schon angeschaut. Das beiliegende Excel kommt dabei auch auf RST! Ansonsten habe ich bis jetzt keine brauchbaren Informationen für mein Problem gefunden. Bleibt noch die Möglichkeit mit dem Sourcecode ...

Vielen Dank erstmals für eure Hilfe.
testing ist offline   Mit Zitat antworten
Alt 24.01.10, 22:22   #5 (permalink)
 
Registriert seit: 06.06.09
Thunderb0lt Leistung: 8086
Likes: 6
Standard

Was genau ist denn jetzt dein Problem? Willst du wissen, wie man es per Hand löst, oder wie Cryptool auf ROT kommt?

Ich meine eine Häufigkeitsanalyse per Hand zu machen ist bei einer solchen Textlänge ja kein Problem (zur Not hackt man sich schnell ein kleines Prog zusammen, das diese Arbeit erledigt) und Tabellen mit entsprechenden Durchschnittswerten für die deutsche Sprache sollten sich im Internet doch auch reichlich finden lassen.
Thunderb0lt ist offline   Mit Zitat antworten
Alt 24.01.10, 23:30   #6 (permalink)
Themenstarter
 
Registriert seit: 24.01.10
testing Leistung: Facit NTK
Likes: 0
Standard

@ Thunderb0lt:

Im Endeffekt will auf das Ergebnis ROT kommen, wenn ich es händisch durchführe.

Die Korrelation funktioniert für R und T super. Aber genau auf das "O" komme ich auch mit der Korrelation nicht. Deshalb die Frage wie das im Programm implementiert ist.

Häufigkeitsanalyse:

1. Gruppe:
DUJJUDJEICVLVVVZZWUIHCZKE

C 8%
D 8%
E 8%
H 4%
I 8%
J 12%
K 4%
L 4%
U 12%
V 16%
W 4%
Z 12%




2. Gruppe:
WWSHWOHRHOBFFFBSBIWHIWYW

B 13%
F 13%
H 17%
I 9%
O 9%
R 4%
S 9%
W 26%
Y 13%




3. Gruppe:
MXFNNFTHDZYMPULXXGXXTYTH

D 4%
F 9%
G 4%
H 9%
L 4%
M 9%
N 9%
P 4%
T 13%
U 4%
X 22%
Y 9%
Z 4%




Geht auch ganz leicht in CrypTool über Analyse->Werkzeuge zur Analyse->Histogramm

Häufigkeit der deutschen Sprache:

A 6,47%
B 1,93%
C 2,68%
D 4,83%
E 17,48%
F 1,65%
G 3,06%
H 4,23%
I 7,73%
J 0,27%
K 1,46%
L 3,49%
M 2,58%
N 9,84%
O 2,98%
P 0,96%
Q 0,02%
R 7,54%
S 6,83%
T 6,13%
U 4,17%
V 0,94%
W 1,48%
X 0,04%
Y 0,08%
Z 1,14%




Korrelationen:


V -> E = Verschiebung um 17 + Offset (=1) = 18 -> R



W -> R = Verschiebung um 5 + Offset (=1) = 6 -> F??



X -> E = Verschiebung um 19 + Offset (=1) = 20 -> T

Geändert von testing (24.01.10 um 23:34 Uhr) Grund: Rechtschreibfehler
testing ist offline   Mit Zitat antworten
Alt 25.01.10, 12:03   #7 (permalink)
 
Benutzerbild von metax.
 
Registriert seit: 22.01.07
metax. Leistung: 8086
metax. eine Nachricht über ICQ schicken
Likes: 10
Standard

Hallo,

dir ist hoffentlich klar, dass das mit dem Histogramm und den Buchstabenhäufigkeiten nur eine Heuristik ist (und demnach nicht zwangsläufig zum richtigen Ergebnis führt - sondern nur bei einem Großteil der Eingaben brauchbare Ergebnisse liefert)?
Wenn ich jetzt den String "Ottos Mops kotzt" verschlüssele, hast du mit der Buchstabenhäufigkeit ganz schnell verloren.
Die Heuristik funktioniert natürlich wesentlich besser, wenn du einen sehr langen text hast, weil dann die relativen Buchstabenhäufigkeiten normalerweise gegen die entsprechenden bekannten Grenzwerte für deutsche Sprache konvergieren.

Wenn du also nur einen kurzen Text hast und mit dem Histogramm die Buchstabenhäufigkeiten rausgefunden hast, solltest du noch einen Wörterbuchcheck laufen lassen (wie Elderan bereits sagte) und, wenn Unsinn rauskommt, kannst du dann das Buchstabenmapping noch leicht permutieren (häufige Buchstaben untereinander austauschen).

mfg, metax.
__________________
Wenn keiner zuschaut, teile ich heimlich durch Null!
Meine Homepage: Planet Metax | meine Bilder: DeviantArt | Twitter
metax. ist offline   Mit Zitat antworten
Alt 25.01.10, 17:10   #8 (permalink)
Themenstarter
 
Registriert seit: 24.01.10
testing Leistung: Facit NTK
Likes: 0
Standard

Vielen Dank für die vielen kompetenten Antworten!

Ich muss einsehen, dass der Text einfach zu kurz ist uns wie schon mehrmals von euch erwähnt diese Vorgangsweise nicht die richtigen Ergebnisse liefert. Anscheinend macht Cryptool einen Wörterbuch-Check und permutiert den Schlüssel.

OK, das wollt ich wissen. Das Thema kann nun abgehakt werden. Ich finde, dass sich hier eine tolle Community zusammengefunden hat! Danke nochmals!

LG
testing
testing ist offline   Mit Zitat antworten
Alt 25.01.10, 19:12   #9 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Hallo,
naja ansonsten ist CrypTool open-source (und wie es aussieht die 2.0 Version sogar in .Net). Wenn man es dann ganz genau nachvollziehen will, evt. den Source Code runterladen und die entsprechende Routine raussuchen.

Achja, neben dem Wörterbuchcheck könnte man es evt. (!!) auch nur am Histogram erkennen. Die Methode 'häufigster Buchstabe auf e verschieben' ist zwar sehr leicht, deswegen zumeist angewendet, hat aber seine Schwächen. Was ist, wenn du dieses mapping der Buchstabe y der zweithäufigst benutzte Buchstabe wäre? Eher unwahrscheinlich dass dieses mapping korrekt ist.

Stattdessen sollte ein kluges Programm das Histogramm komplett angucken und schauen welche Verschiebung die Sinnvollste ist. Sprich, so das gewöhnlich häufig vorkommende Buchstaben auch häufig vorkommen würden und selten vorkommende Buchstaben auch mit der entsprechenden Verschiebung selten vorkommt.

Ist aber wie gesagt erheblich komplizierter zu programmieren als 'häufigster Buchstabe durch e ersetzen'.

Geändert von Elderan (25.01.10 um 19:18 Uhr)
Elderan ist offline   Mit Zitat antworten
Antwort

Stichworte
entschlüsseln, häufigkeitsanalyse, vigenère
   

Werbung ist gerade online    

[HaBo] » Security Area » Cryptography & Encryption » Vigenère knacken
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61