Vigenere-Verschlüsseung

Knacken von Verschlüsselungen bei den Projekten RC5-72, Enigma@Home und anderen
Nachricht
Autor
der EXE

Vigenere-Verschlüsseung

#1 Ungelesener Beitrag von der EXE » 08.03.2005 15:56

Hallo Leute, ich sitze nun schon seit geraumer Zeit an einem Text, der sich einfach nicht entschlüsseln lässt, vielleicht bin ich ja auch schon dicht dran, aber ich komme nicht drauf.
Der Text sieht folgendermassen aus:

WXQTY\YBG\_]BVQW]GZTSBSLW^GF_SXFMW_[Z_A_F\@SGIT]EW\AY[WTGF\ZZB\TTGTY\_S[GXZWZK_W AZ^ZT[J[XQZ\_C\\UWY_TGT\WWEV[_Q]Y\GXQIDBTGUSSF@XSTQXFS[FTVTGM@WRF_SGZTTSYWKAUPWY YX^PZUPL@S[Z__^XTSXQ\SA_^\@XZWTFX[_^_PTTZUPWPSSVYXBFMSS[WTZZTW\RP]TZEFZZS\WTZUPW DYGGT]]TLA[TPYQ_PUW]AA^ZXFZZS^R\DWF@ABP^TQ_AQSZAV_USPKW^PAVQCT\FEV[PREPWHCX@E[TG \\RP@WQX[]^_V[TZCT]SDFF\NDX[W_FCXQ]QPWS\TTZTEVA_AZ^ZBZUSXRVF]TXVWQYZR\K@OWD]VXY] \ZZS[\UQCQPWATUWQ_YXABTQKA]T]WX@]UCXP]WDOFGQCFZZA\]UQ_ZQ\SQRBGUPKUSR]TFTF[W[PAZ@ YTMG[RVZQCAJ[XQWXQP[JFDP]VA_R\\QG\BGUPWUSR]TFBZ_@CP[F]TXVWQYZR\K@\\BQVR_T[^WXTFB [\@\AEP]AFPPC[E\\_GCTRWBP]F]TQPWBZ^P\PBR_WG@R\WYLU]ZVCDTGP\EOZTXVPJFS@VC@FPKVS[W XQBR\AU]ZT\EPWFAPWTFU@KQ^PZ_SAF^WEAFT@KA\AEL@EQ\Z]WDQFCWYPP\SOZTX\TKY_PADZVQPWS[ GFQUPKDYXQ^PT[XGEXRC_XPKFYQVCB^[_^CRITAVPWGXQ[DVBVQ@W@QTF_TLAW[CT]]A

Ich bin mir ziemlich sicher, dass die Schlüssellänge 9 ist (zumindest der Koinzidenzindex sagt das) und die Sprache ist 100% deutsch (war angegeben).
Wer Lust hat, schreibt mir, ich habe ein kleines C-Programm für den Text geschrieben, sitze aber nun schon seit Stunden davor. Vielleicht sehen viele Augen mehr als meine 2.
Ich kann auch meine schon (vielleicht richtigen) Ergebnisse angeben.

Vielen Dank und viel Spass!

EXE
p.s.: mailadresse ist: exe@fatsound.de

Der EXE

Zwischenergebnisse

#2 Ungelesener Beitrag von Der EXE » 09.03.2005 13:14

Ok, ich stelle mal meine bisherigen Ergebnisse online:
Text sieht so aus:

sieeYeYiGun]BVQe]GeeSBSLe^GinSiFMe_nenAnFereGIe]EWenYnseiF\ZZi\deieYe_enGinWZi_WAe^nenJ
[nie\_C\eUWY_eie\neEV[ne]YeGniIDBeGUSeF@iSeiXFenieVeGMrWRinSGZTTeYsKAtenYYX^PnteLrenen
_^XTSniuSAn^ernZseFin_^_edentenPeSVhXBFMSensenZTniRenenEFZZe\sentenDYGGe]]TLn[TcheneU
e]AA^niFZZe^R\DWF@nie^eenAQSZAVnUSeie^eAVeCTeFEV[PREenHCX@E[eGeiRe@Weind^_V[enCT
dSDFi\NDX[e_Fdie]itee\deneEVn_Ae^nBZUSnRVF]eXVeQYeR\K@OeD]ViY]\ZZenuteCiteATUWenYXniT
QKA]Tden@ntCiedeDOiGeCFZZA\ntenZQieiRBiteiUeRneFeF[e[eAZ@YTMG[RVZeCAJ[nisiePnJFDenV
AnReiQGuBitenUeRneFBZ_rCe[F]eXVeQYeR\K@eiiiVR_en^enTiB[\@enEenAFPeC[E\uniCTReienF]eitei
Z^P\PBR_WG@R\WYLU]ZVCDeGtiEOeeXVeJFe@VC@FeidensieBRenU]ee\EenFAeseFt@iQ^eenSAF
^eEAie@KAenEL@Ee\ZdeDiiCWYetieOeeX\TiY_eADnViteenGFeteiDYXQ^PenXGEXRC_ieiFYiVCB^n_^
CRIeAVenGni[DVBVQrW@QeFnTLnWnde]]A

geänderte zeichen nach textteilen:
wo ich mir noch unsicher bin, hab ich ein ? gesetzt
0 Z=e ]=n F=i W=s? T=d?
1 T=e _=n X=i? U=t?
2 Q=e Z=n G=i?
3 T=e _=n X=i? U=t?
4 P=e [=n Q=i? \=r?
5 P=t W=n \=e K=i ]=d?
6 A=n W=e V=d? \=i? @=r?
7 S=e X=n? B=i?
8 P=e [=n Q=i? \=r?

vielen Dank schonmal fürs Anschauen!

Benutzeravatar
SpeedKing
TuX-omane
TuX-omane
Beiträge: 2943
Registriert: 12.09.2003 17:14

Re: Vigenere-Verschlüsseung

#3 Ungelesener Beitrag von SpeedKing » 09.03.2005 14:06

der EXE hat geschrieben:Ich bin mir ziemlich sicher, dass die Schlüssellänge 9 ist (zumindest der Koinzidenzindex sagt das) und die Sprache ist 100% deutsch (war angegeben).
Ich bin jetzt zu faul, die Sachen zusammenzusuchen. Erklär uns doch bitte mal schnell, was die Schlüssellänge bedeutet, was der Koinzidenzindex ist und wie das Verschlüsselungsverfahren prinzipiell wohl ausgesehen hat. Nur ganz oberflächlich, daß einer, der es schonmal gewußt hat, sich wieder auskennt.

der EXE

kurze Wiedereinführung

#4 Ungelesener Beitrag von der EXE » 09.03.2005 14:55

Ok, Vigenere ist eine polyalphabetische Verschlüsselung, bei der ein Schlüsselwort zyklisch über den Klartext geschrieben wird.
Beispiel:
GEHEIMGEHEIMGE
ICHBRAUCHEHILFE

wird nun laut dem Vigenere-Quadrat verschlüsselt.

ABCDEF....XYZ
BCDEFG...YZA
CDEFGH...ZAB
....
....
.
.
.

Klassisch beinhaltet dieses die Buchstaben A bis Z, beim meinem Problem ist es noch auf einige Sonderzeichen erweitert.
Hat man die Schlüssellänge mittels des Kassisky-Verfahrens ermittelt, (hier nun unerheblich) liegen nun entsprechend der Länge des Schlüsselwortes x, x Substitutionsverschlüsselungen vor.
Heisst beim obigen Beispiel: jeder 1,7,12 usw. Buchstabe wird mittels G verschlüsselt.
Man kann nun eine Häufigkeitsanayse machen und laut den typischen Häufigkeiten der Buchstaben auf die Klartextzeichen schliessen.
Bei meinem Problem ist die Schlüssellänge 9, daher die 9 Teiltexte (0-8 )

Ich beantworte auch gern weitere Fragen.
Ich kann auch auf Anfrage gern meinen C-Quelltext und den Text schicken.
Das C-Programm fragt nach der wahrscheinlichen Schlüssellänge und zählt dann die Zeichen in den entsprechenden Teiltexten.

0 @(5) A(4) C(2) F(8)i G(3) I(3) P(1) Q(3) R(3) T(3)d U(1) V(9) W(9)s Z(12)e [(5) \(5) ](8)n ^(3) _(1)
1 A(1) B(3) C(5) D(3) E(2) F(4) G(1) K(2) P(3) R(4) S(1) T(25)e U(3)t V(2) W(2) X(7)i Y(2) Z(2) \(3) ^(4) _(9)n
2 @(3) A(6) B(2) C(1) D(2) F(6) G(6)i N(1) P(1) Q(16)e R(1) S(5) U(1) V(2) W(1) X(3) Y(1) Z(12)n [(2) \(5) ](7) _(4)
3 A(1) B(7) C(7) D(1) E(4) F(2) G(1) K(3) P(3) S(1) T(16)e U(8)t V(3) W(3) X(6)i Y(2) Z(1) \(3) ](6) ^(2) _(8)n
4 @(4) A(4) B(1) E(1) F(9) G(4) P(18)e Q(5)i R(2) S(1) T(9) V(2) W(1) X(4) Y(5) Z(6) [(7)n \(4)r ^(1)
5 @(1) C(1) J(4) K(8)i L(5) M(4) O(1) P(6)t Q(4) R(2) T(2) U(3) V(3) W(9)n X(3) Z(5) [(2) \(14)e ](5)d ^(2) _(3)
6 @(6)r A(9)n D(2) F(6) G(4) H(1) P(1) Q(1) S(6) T(1) U(4) V(1)d W(21)e Y(3) Z(5) [(3) \(7)i ^(3) _(3)
7 A(3) B(7)i C(3) D(5) E(8) Q(3) R(2) S(19)e U(1) W(6) X(9)n Y(5) Z(1) [(3) ](3) ^(3) _(6)
8 @(3) A(5) F(3) G(7) L(1) O(3) P(13)e Q(9)i R(6) S(1) T(4) V(3) X(4) Y(4) Z(3) [(10)n \(5)r ](2) ^(1)
sieeYeYiG\n]BVQe]GeeSBSLe^GinSiFMe_nenAnFereGIe]EWenYnseiFrZZirdeieYe_enGinWZi_WAe^nenJ[nie\_CreUWY_eierne
EV[ne]YeGniIDBeGUSeF@iSeiXFenieVeGMrWRinSGZTTeYsKAtenYYX^PnteLrenen_^XTSni\SAn^ernZseFin_^_edentenPeSVY
XBFMSensenZTniRenenEFZZersentenDYGGe]]TLn[TPYeneUe]AA^niFZZe^R\DWF@nie^eenAQSZAVnUSeie^eAVeCTeFEV[P
REenHCX@E[eGeiRe@Weind^_V[enCTdSDFi\NDX[e_FCie]iteerdeneEVn_Ae^nBZUSnRVF]eXVeQYeR\K@OeD]ViY]rZZen\teC
iteATUWenYXniTQKA]Tden@ntCiedeDOiGeCFZZArntenZQieiRBiteiUeRneFeF[e[eAZ@YTMG[RVZeCAJ[nisiePnJFDenVAnRei
QG\BitenUeRneFBZ_rCe[F]eXVeQYeR\K@eiiiVR_en^enTiB[\@enEenAFPeC[Er\niCTReienF]eiteiZ^P\PBR_WG@R\WYLU]ZVC
DeGtiEOeeXVeJFe@VC@FeidensieBRenU]ee\EenFAeseFt@iQ^eenSAF^eEAie@KAenEL@Ee\ZdeDiiCWYetieOeeX\TiY_eAD
nViteenGFeteiDYXQ^PenXGEXRC_ieiFYiVCB^n_^CRIeAVenGni[DVBVQrW@QeFnTLnWnCe]]A
In welchem Teilstueck soll welcher Buchstabe ersetzt werden?
Beispiel:]$ 0 A e

so sieht das Ding aus.

Benutzeravatar
SpeedKing
TuX-omane
TuX-omane
Beiträge: 2943
Registriert: 12.09.2003 17:14

#5 Ungelesener Beitrag von SpeedKing » 09.03.2005 17:09

Hmmmm...
Das ganze wird hier doch noch drastisch dadurch erschwert, daß man nicht weiß, wie das Zielalphabet aussieht.
D.h. man weiß nicht ob z.B.
ABC...XYZ[]\_@
oder
A[B\C@D....
benutzt wurde.

Gibt es da überhaupt eine zumindest teilanalytische Lösung, oder muß man das rein Brute Force knacken?

der EXE

Zwischenergebnisse

#6 Ungelesener Beitrag von der EXE » 09.03.2005 17:45

Das Zielalphabet sind nur Buchstaben A-Z. Zumindest waren die anderen Texte so verschlüsselt. (musste noch einen englischen Substitutionstext und je einen deutschen Substitutions und Transpositionstext lösen)
daher weiss ich auch, dass dieser deutsch und mit Viginere verschlüsselt ist. :-)
Bei den letzten 3 waren auch keine Leerzeichen mitverschlüsselt.
Brute Force geht auch nur, wenn du ein Stück Klartext hast. Und den habe ich nicht.

Benutzeravatar
SpeedKing
TuX-omane
TuX-omane
Beiträge: 2943
Registriert: 12.09.2003 17:14

#7 Ungelesener Beitrag von SpeedKing » 09.03.2005 18:15

Für mich war jetzt das Quellalphabet das Klartextalphabet, das Zielalphabet das der verschlüsselten Botschaft, das ja offensichtlich einen paar Sonderzeichen enthält.

Und mit Brute Force ist das natürlich immer zu knacken, die Anzahl der Möglichkeiten ist begrenzt und bei einem so einfachen Verfahren sicher so klein, daß man nicht Jahrtausende rechnen muß (wahrscheinlich eher Tage bis Wochen). Durch die Verwendung der Buchstabenhäufigkeiten kann man das natürlich noch drastisch beschleunigen, es bleibt aber trotzdem Brute Force.
Aber du willst es ja durch ein intelligentes Probierverfahren lösen, was mit den richtigen Werkzeugen viel schneller gehen dürfte. Allerdings fällt mir jetzt auch nicht mehr dazu ein als du eh schon hast.

Aber ich spiele noch etwas damit herum.
Wobei ich, ehrlich gesagt, deine Ersetzung nach Textteilen nicht kapiere.
Es ist ein Key mit 9 Zeichen. D.h. jeder 9. Buchstabe wird nach den gleichen Regeln codiert. Hast du den Text bei dir in 9er-Spalten vorliegen?

Benutzeravatar
Börni
Prozessor-Polier
Prozessor-Polier
Beiträge: 139
Registriert: 12.12.2004 13:56

#8 Ungelesener Beitrag von Börni » 09.03.2005 20:27

hmm .. ich habe ein bisschen rumgegoogelt um das verschlüsselungsferfahren zu verstehen und bin auf diese seite gestossen ;)
http://www.mathe.tu-freiberg.de/~dempe/ ... igvers.htm

also .. so wie ich das verstehe kannst du die schlüssellänge nicht anhand des buchstaben, der sich in regelmässigen abständen immer wieder wiederholt, festmachen, obwohl es hier seeehr auffällig zu sein scheint .. das würde sonst heissen, dass auch im klartext immer an der position der gleiche Buchstabe befinden würde ... so habe ich das jetzt zumindest verstanden ...
wenn du keinen schlüssel hast, dann wird es sehr schwer den text zu entschlüsseln .. ich bin nicht auf den richtigen schlüssel gekommen bei einem kleinen test wo ich ihn bereits kannte ohne ihn zu verwenden..

die sonderzeichen machen mir hier auch zu schaffen da ich nur da man nicht genau weiss was für sonderzeichen das alphabet an welcher stelle beinhaltet..

hab mich jetzt das erste mal in so eine thematik eingelesen :D sehr interessant muss ich sagen ;)

hab sogar die uni seite gefunden wo die aufgabenstellung steht *g* 15. märz abgabe.. hau rein ;)
Bild
Bild

der EXE

Zwischenergebnisse

#9 Ungelesener Beitrag von der EXE » 11.03.2005 17:44

Natürlich habe ich die Schlüssellänge nicht anhand sich wiederholender Buchstaben ausgemacht, sondern per Koinzidenzindex errechnet. Ich bin auch etwas weiter gekommen, trotzdem komme ich nicht wirklich weiter. Ich stelle meine Ergebnisse nochmal online.
Achtung:
0 @(5)r A(4) C(2) F(8)i G(3) I(3) P(1) Q(3)h R(3) T(3)g U(1) V(9)s W(9)d Z(12)e [(5)h \(5)r ](8)n ^(3) _(1)
1 A(1) B(3)s C(5)t D(3) E(2) F(4)d G(1) K(2)c P(3) R(4) S(1) T(25)e U(3)d V(2) W(2) X(7)i Y(2) Z(2) \(3) ^(4) _(9)n
2 @(3) A(6)u B(2) C(1) D(2) F(6) G(6)r N(1) P(1) Q(16)e R(1) S(5) U(1) V(2) W(1) X(3) Y(1) Z(12)n [(2) \(5) ](7)i _(4)
3 A(1) B(7)s C(7)t D(1) E(4)t F(2)d G(1) K(3) P(3) S(1) T(16)e U(8)d V(3) W(3) X(6)i Y(2) Z(1) \(3) ](6) ^(2) _(8)n
4 @(4) A(4) B(1) E(1) F(9)s G(4) P(18)e Q(5) R(2) S(1) T(9) V(2)c W(1) X(4) Y(5)d Z(6) [(7)n \(4)i ^(1)
5 @(1) C(1) J(4) K(8)i L(5) M(4)r O(1) P(6) Q(4)h R(2) T(2) U(3) V(3) W(9)n X(3) Z(5)c [(2) \(14)e ](5) ^(2) _(3)
6 @(6)r A(9)n D(2) F(6) G(4) H(1) P(1) Q(1) S(6) T(1) U(4) V(1) W(21)e Y(3) Z(5)h [(3) \(7) ^(3) _(3)
7 A(3) B(7) C(3) D(5) E(8)i Q(3) R(2) S(19)e U(1) W(6) X(9)n Y(5)s Z(1) [(3) ](3) ^(3) _(6)g
8 @(3) A(5) F(3)s G(7) L(1) O(3) P(13)e Q(9) R(6) S(1) T(4) V(3)c X(4)t Y(4)d Z(3) [(10)n \(5)i ](2) ^(1)
dieedeYBG\nische]GeeSsSLe^GinSisregnenunsereGIeiEWenYnderdichBigerede_enGinWZi_WAe^nenJ[nQe
\_tieUWd_ereineichne]deGnQIDBeGUSes@iSeQXFenieVeGrrWRinSGZTTeddKudenYYt^PndeLrenen_^XTS
nQ\Sun^ernZdeFin_^gegendenPeSsYXssrSendenZTn\RenenEscheidendenDYGGei]TLn[TPYeneUe]AA^nisc
he^R\DWs@nBe^eenAhSZAsnUSeie^eAVetTeFichPREenHCt@t[eGe\Re@Wein]^gchentT]SDsi\NDX[egsCie
]QPeeigeneEVngAe^nsZUSnRsdieXVeQdeR\K@OeD]siY]ichen\detQPeATUWendXnBTQKu]T]en@ndCie]eD
OiGetschAindenZh\eQRsrdeiUeRneFes[e[eAZ@YTrG[RsZetAJ[nQdiePnJFDenVunRe\QG\srdenUeRneFsZ
_rCehdieXVeQdeR\K@e\BQsR_en^enTis[\@enienAFPeC[ii\nrtTReBendieQPeBZ^P\PBR_WG@R\WdLU]Zst
DeGP\iOeeXVeJFe@st@deiVendiesRenU]ee\EenFAedeFd@iQ^eenSAs^eiAie@KAeniL@te\Z]eDQitWYeP\e
OeeX\TiYgeADnVQPeenGdedeiDYtQ^PenXGitRt_ieiFYQstB^n_^CRIeuVenGnQhDVschrW@QeFnTLnWnC
ei]A
In welchem Teilstueck soll welcher Buchstabe ersetzt werden?
Beispiel:]$ 0 A e

Die 9 Textteile sind die sich wiederholenden, durch das selbe Zeichen verschlüsselten Teile des Textes, in denen ich dann die Zeichenhäufigkeiten zähle.
Meine"intelligenten" Werkzeuge sind mein C-Programm, was die Häufigkeiten in den 9 Teilen zählt und eine Tabelle mit Zeichen-, Bi- und Trigrammhäufigkeiten der deutschen Sprache.
Ich hoffe, ich bekomme das Ding bis Dienstag auf die Reihe, die restlichen 3 Texte hab ich schon. :-)

Benutzeravatar
Börni
Prozessor-Polier
Prozessor-Polier
Beiträge: 139
Registriert: 12.12.2004 13:56

#10 Ungelesener Beitrag von Börni » 11.03.2005 22:41

hab mir jetzt ein kleines delphi prog geschrieben .. allerdings enthällt das aplphabet keine sonderzeichen .. das musst du mir nochmal kurz erklären wie du das genau meinst mit deinem beispiel ..
und wie sieht dein schlüssel aus ? wenn dein klartext soweit richtig sein sollte müssten diese buchstaben mit einem teil von deinen übereinstimmen "TPMP".. und was hat das mit den kleinbuchstaben auf sich ? ist eigentlich egal oder ?

und was haben diese ganzen zahlen, bustaben und klammern über dem klartext zu bedeuten ? brauche inpuuuut ;)
Bild
Bild

Benutzeravatar
Norman
Klimawolke
Klimawolke
Beiträge: 2188
Registriert: 20.03.2003 14:34
Wohnort: Saarland

#11 Ungelesener Beitrag von Norman » 11.03.2005 23:25

hab sowas mal während der ausbildung geschrieben.
das kannten sogar die alten grieschen :)

ist eigentlich ganz simpel zu lösen, aber fragt mich bitte nicht mehr wie die
"schablone" war, hab das nie gerne gemacht und wieder verdrängt :scatter:

Benutzeravatar
Börni
Prozessor-Polier
Prozessor-Polier
Beiträge: 139
Registriert: 12.12.2004 13:56

#12 Ungelesener Beitrag von Börni » 11.03.2005 23:38

hab oben nen link gepostet mit der "schablone" ;) aber das willste doch wohl net "manuell" machen oder ? *g*
Bild
Bild

Zurück zu „Kryptographie“