Autor |
Beitrag |
Christian R.
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 02.12.07 20:26
Geht bitte nicht immer von Texten aus. Texte habe ich auch schon selbst geknackt. Ich wusste er war deutsch, das gibt mir die Möglichkeit die deutsche Buchstabenhäufigkeit zu verwenden oder Wörterbücher.
Aber ich rede von digitalen Informationen unbekannten Inhaltes. Die Dateinamenserweiterung ist nicht vorhanden.
|
|
gispos
      
Beiträge: 94
WIN 7
XE10, D2007
|
Verfasst: So 02.12.07 20:37
g1o2k4 hat folgendes geschrieben: | wenn der schlüssel unendlich lang ist, ist eine einfache verschiebeverschlüsselung das sicherste wo gibt !^^
siehe OTP (One-Time-Pad)
xor dagegen ist ein scheiß...nur 256 schlüssel, super leicht zu knacken.
ich hab hier nen programm geschrieben das mit xor verschlüsselte texte knacken kann...
|
Dann versuch mal diese Text-Datei zu entschlüsseln, und poste dein Resultat.
Bin gespannt
gruß gispos
Einloggen, um Attachments anzusehen!
|
|
Christian R.
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 02.12.07 20:39
g1o2k4 hat folgendes geschrieben: | xor dagegen ist ein scheiß...nur 256 schlüssel, super leicht zu knacken. |
Wenn man es genau nimmt nur 2 Schlüssel. Denn digital ist's halt nur binär 0 und 1.
In Deinem Fall gehts Du sehr wahrscheinlich davon aus, dass die Daten nur mit einem einzigen Byte verschlüsselt werden. Aber mit folgender Variante wird's schon schwieriger.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| type TABuffer = Array[ 0..2047 ] of Byte; function Crypt ( const pBuffer : TABuffer, const pKey : WideString ) : TABuffer; var I01, I02 : Integer; begin I01 := 0; for I02 := 0 to High( pBuffer ) do begin Result[ I02 ] := pBuffer[ I02 ] xor pKey[ I01 ]; if I01 + 1 > Length( pKey ) then I01 := 0 else Inc( I01 ); end; end; |
|
|
ub60
      
Beiträge: 764
Erhaltene Danke: 127
|
Verfasst: So 02.12.07 21:41
gispos hat folgendes geschrieben: |
Dann versuch mal diese Text-Datei zu entschlüsseln, und poste dein Resultat.
bin gespannt
gruß gispos |
Hallo gispos,
wenn ich das richtig sehe, hast Du Deine 71 Zeichen lange Textdatei mit einem genau so langen Passwort verschlüsselt, also mit einem anderen Text. Dein Schlüssel besteht aus Worten der Länge 3, 6, 5, 3, 2, 6, 6, ... (Wortlänge beginnend vom ersten Wort). An 59. Stelle endet der erste Satz des Passworts, dann beginnt ein neuer Satz.
Ehe ich weiter Zeit investiere, sag mir mal, ob ich richtig liege.
ub60
|
|
g1o2k4
      
Beiträge: 493
|
Verfasst: Mo 03.12.07 16:20
gispos hat folgendes geschrieben: | Dann versuch mal diese Text-Datei zu entschlüsseln, und poste dein Resultat.
Bin gespannt
gruß gispos |
wie ist das verschlüsselt ? ich hab nur schlüssellänge von einem byte implementiert also 2^8 bit. und jedes zeichen wird halt mit allen 256 schlüsseln "gexort".
|
|
JayEff
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: Mo 03.12.07 16:30
g1o2k4 hat folgendes geschrieben: | wie ist das verschlüsselt ? ich hab nur schlüssellänge von einem byte implementiert also 2^8 bit. und jedes zeichen wird halt mit allen 256 schlüsseln "gexort". |
Du hast behauptet, dass "xor" unsicher im Vergleich zu einer Verschiebung sei.
Was hindert mich daran, bei meinem OTP statt einer Verschiebung xor anzuwenden? In Delphi
Delphi-Quelltext 1: 2: 3: 4:
| for i := 0 to length(text) - 1 do begin code := code + (text[i] xor key[i]); end; | Schätze, genau so hat er gearbeitet  Damit ist wohl deine Aussage g1o2k4 hat folgendes geschrieben: | wenn der schlüssel unendlich lang ist, ist eine einfache verschiebeverschlüsselung das sicherste wo gibt !^^
siehe OTP (One-Time-Pad)
xor dagegen ist ein scheiß...nur 256 schlüssel, super leicht zu knacken. |
widerlegt, da xor keineswegs meine Schlüsselläge auf 2^8 Bit beschränkt
Edit: Argumentiert man wie du, so hat eine Verschiebung nur 26 Schlüssel (Das Alphabet). Du bist offensichtlich von einer monoalphabetischen Verschlüsselung mit xor ausgegangen. Klar, dass monoalphabetische Verschlüsselungen im Vergleich mit polyalphabetischen im punkto Sicherheit weit unterlegen sind
Edit2: In Ada nimmt man für Arrays auch die runden Klammern.  runde durch eckige ersetzt.
Edit3: Gnarr... length(text) - 1
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Zuletzt bearbeitet von JayEff am Mo 03.12.07 16:40, insgesamt 2-mal bearbeitet
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 03.12.07 16:36
g1o2k4 hat folgendes geschrieben: | xor dagegen ist ein scheiß...nur 256 schlüssel, super leicht zu knacken. |
Bitte treffe keine Aussagen über Themen, von denen du keine Ahnung hast. Ist bei einer XOR-Verschlüsselung das Passwort mindestens genauso lang wie der Text, ist XOR absolut sicher.
|
|
g1o2k4
      
Beiträge: 493
|
Verfasst: Mo 03.12.07 16:57
ich hätte vielleicht "einfaches xor" schreiben sollen.
|
|
Christian R.
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 03.12.07 17:45
@ g1o2k4: Mal optimal angenommen, Du verschlüsselst wirklich nur einen Text mit 2^8 bit. Gehen wir weiter davon aus, dass mir bekannt ist, in welcher Sprache Du den Text verfasst hast. Dann muss ich nicht unbedigt eine BruteForce-Attacke auf Deinen Text loslassen, die alle 2^8 Schlüssel auf Deinen Text anwendet, bis ich ihn lesen kann. In diesem absoluten "Idealfall" nehme ich Buchstabenhäufigkeiten zur Hand.
Es gibt Statistiken, welche darüber Aufschluss geben, in welcher Sprache welche Buchstaben wie oft im Durchschnitt innerhalb eines Textes vorkommen. Die kodierten Zeichen aus Deinem verschlüsselten Text werden nun ebenfalls nach deren Häufigkeit bestimmt. Und ich ersetzte in Deinem Text das Zeichen mit dem Buchstaben aus dem Alphabet, bei dem die Häufigkeit am am nahesten liegt. Fehler sind nicht ausgeschlossen, da einige Buchstaben im Mittel sehr nah beieinander liegende Werte des vorkommens haben. Je länger ein Text, desto höher ist jedoch die Trefferquote. In der Regel reicht dieses Verfahren aus, um einen Text teilweise entschlüsseln zu können. Fehlende Zeichen werden dann meietwegen Korrektur gelesen.
Dieses Verfahren ist nicht nur auf Sprachen, sondern auch auf digitale Daten anwendbar, sowie der Schlüssel im Idealfall 1 Byte lang ist und der zu erwartende Inhalt nach seinem Muster bekannt ist. Dieses Muster ist mit der Buchstabenhäufigkeit vergleichbar.
Eine genaue Erklärung zur Buchstabenhäufigkeit findest Du bei Wikipedia: Wikipedia :: Buchstabenhäufigkeit
|
|
ub60
      
Beiträge: 764
Erhaltene Danke: 127
|
Verfasst: Mo 03.12.07 19:19
Luckie hat folgendes geschrieben: | g1o2k4 hat folgendes geschrieben: | xor dagegen ist ein scheiß...nur 256 schlüssel, super leicht zu knacken. |
Bitte treffe keine Aussagen über Themen, von denen du keine Ahnung hast. |
Da stimme ich Dir zu.
Luckie hat folgendes geschrieben: |
Ist bei einer XOR-Verschlüsselung das Passwort mindestens genauso lang wie der Text, ist XOR absolut sicher. |
Das stimmt nicht!! Deine Aussage ist nur richtig, wenn der Schlüssel aus zufällig erzeugten Daten zusammengesetzt ist, die untereinander keinerlei Zusammenhang haben. Einen Text mit einem anderen Text zu verschlüsseln, der genau so lang ist, ist keinesfalls sicher. Auch, wenn der Schlüsseltext nicht öffentlich bekannt ist (aber zumindest irgend einen Sinn hat).
ub60
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 03.12.07 19:41
Gut, dann ersetz Text durch zufällige Zeichenfolge.
|
|
ub60
      
Beiträge: 764
Erhaltene Danke: 127
|
Verfasst: Mo 03.12.07 19:45
Luckie hat folgendes geschrieben: | Gut, dann ersetz Text durch zufällige Zeichenfolge. |
Mach ich. Und gleich gehts mir besser.
ub60
|
|
gispos
      
Beiträge: 94
WIN 7
XE10, D2007
|
Verfasst: Di 04.12.07 22:41
ub60 hat folgendes geschrieben: |
wenn ich das richtig sehe, hast Du Deine 71 Zeichen lange Textdatei mit einem genau so langen Passwort verschlüsselt, also mit einem anderen Text. Dein Schlüssel besteht aus Worten der Länge 3, 6, 5, 3, 2, 6, 6, ... (Wortlänge beginnend vom ersten Wort). An 59. Stelle endet der erste Satz des Passworts, dann beginnt ein neuer Satz.
Ehe ich weiter Zeit investiere, sag mir mal, ob ich richtig liege.
ub60 |
Der Schlüssel ist 17 Zeichen lang und ergibt für mich einen Sinn.
Fast so wie JayEff schon vermutet hat:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| function XorString(aText, Key: String): String; var x,i: Integer; begin x:= 1; Result:= aText; for i := 1 to length(text) do begin Result[i]:= Chr(Ord(aText[i]) XOR Ord(Key[x])); inc(x); If x > length(Key) then x:= 1; end; end; |
Und für x gehen da außer "inc" noch ganz andere Sachen!
Gruß gispos
|
|
g1o2k4
      
Beiträge: 493
|
Verfasst: Mi 05.12.07 16:25
Neurologic Scientist hat folgendes geschrieben: | @ g1o2k4: Mal optimal angenommen, Du verschlüsselst wirklich nur einen Text mit 2^8 bit. Gehen wir weiter davon aus, dass mir bekannt ist, in welcher Sprache Du den Text verfasst hast. Dann muss ich nicht unbedigt eine BruteForce-Attacke auf Deinen Text loslassen, die alle 2^8 Schlüssel auf Deinen Text anwendet, bis ich ihn lesen kann. In diesem absoluten "Idealfall" nehme ich Buchstabenhäufigkeiten zur Hand.
Es gibt Statistiken, welche darüber Aufschluss geben, in welcher Sprache welche Buchstaben wie oft im Durchschnitt innerhalb eines Textes vorkommen. Die kodierten Zeichen aus Deinem verschlüsselten Text werden nun ebenfalls nach deren Häufigkeit bestimmt. Und ich ersetzte in Deinem Text das Zeichen mit dem Buchstaben aus dem Alphabet, bei dem die Häufigkeit am am nahesten liegt. Fehler sind nicht ausgeschlossen, da einige Buchstaben im Mittel sehr nah beieinander liegende Werte des vorkommens haben. Je länger ein Text, desto höher ist jedoch die Trefferquote. In der Regel reicht dieses Verfahren aus, um einen Text teilweise entschlüsseln zu können. Fehlende Zeichen werden dann meietwegen Korrektur gelesen.
Dieses Verfahren ist nicht nur auf Sprachen, sondern auch auf digitale Daten anwendbar, sowie der Schlüssel im Idealfall 1 Byte lang ist und der zu erwartende Inhalt nach seinem Muster bekannt ist. Dieses Muster ist mit der Buchstabenhäufigkeit vergleichbar.
Eine genaue Erklärung zur Buchstabenhäufigkeit findest Du bei Wikipedia: Wikipedia :: Buchstabenhäufigkeit |
bruteforce mit dictionary ist einfach zu implementieren, wozu ein verfahren benutzen das nur bei textlänge gegen unendlich (im idealfall) funktioniert. wenn du eine email hast die nur 5 zeilen lang ist, kannste das vergessen und bei bestimmten texten auch. z.b. gibt es je nach thema des textes auch verschiedene häufigkeiten die auftreten. da bräuchte man nen ganzen satz von häufigkeitswerten.
|
|
JayEff
      
Beiträge: 2971
Windows Vista Ultimate
D7 Enterprise
|
Verfasst: Mi 05.12.07 16:34
g1o2k4 hat folgendes geschrieben: | gibt es je nach thema des textes auch verschiedene häufigkeiten die auftreten. da bräuchte man nen ganzen satz von häufigkeitswerten. |
Es gibt Häufigkeitstabellen die auf ganze Sprachen passen und ...
...es gibt Ausnahmen. Es gibt ein französisches Buch, in welchem kein einziges Mal der Buchstabe 'e' vorkommt. Interessanter ist, es gibt eine deutsche Übersetzung, auf die dies zutrifft
Fügt man Neurologic Scientists Beschreibung ein "genügend langer Text" an, ist sie beinah (mit wirklich wenigen Ausnahmen) uneingeschränkt wahr. Je nach Text genügen 2-3 Sätze, um durch bestimmte Häufigkeitsanalysen auf die Lösung zu kommen... Ein Beispiel wären die häufigsten 2-Buchstaben-Kombinationen wie 'en' sowie das häufigste 3 buchstabige Wort 'die', nicht nur die Häufigkeiten der Buchstaben n>e>...r>s>t etc.
_________________ >+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
|
|
zongo-joe
      
Beiträge: 134
win xp prof
D3, D4, D7
|
Verfasst: Mi 05.12.07 18:11
wie heisst denn das Buch (und seine deutsche Übersetzung) ?
das möcht ich ja mal lesen...
|
|
g1o2k4
      
Beiträge: 493
|
Verfasst: Mi 05.12.07 19:47
JayEff hat folgendes geschrieben: | g1o2k4 hat folgendes geschrieben: | gibt es je nach thema des textes auch verschiedene häufigkeiten die auftreten. da bräuchte man nen ganzen satz von häufigkeitswerten. | Es gibt Häufigkeitstabellen die auf ganze Sprachen passen und ...
...es gibt Ausnahmen. Es gibt ein französisches Buch, in welchem kein einziges Mal der Buchstabe 'e' vorkommt. Interessanter ist, es gibt eine deutsche Übersetzung, auf die dies zutrifft
Fügt man Neurologic Scientists Beschreibung ein "genügend langer Text" an, ist sie beinah (mit wirklich wenigen Ausnahmen) uneingeschränkt wahr. Je nach Text genügen 2-3 Sätze, um durch bestimmte Häufigkeitsanalysen auf die Lösung zu kommen... Ein Beispiel wären die häufigsten 2-Buchstaben-Kombinationen wie 'en' sowie das häufigste 3 buchstabige Wort 'die', nicht nur die Häufigkeiten der Buchstaben n>e>...r>s>t etc. |
es gibt immer ausnahmen: „Natürlich gibt es erklärbare Differenzen: Ein von Zitaten strotzender zoologischer Text
über den Einfluss von Ozon auf die Zebras im Zentrum von Zaire wird eine andere
Häufigkeitsverteilung haben als ein Traktat über die amourösen Aventüren des Balthasar
Matzbach am Rande des Panamakanals.“
wenn man den sicheren weg gehn will nimmt man halt das wörterbuch.
|
|
ub60
      
Beiträge: 764
Erhaltene Danke: 127
|
Verfasst: Mi 05.12.07 20:03
zongo-joe hat folgendes geschrieben: | wie heisst denn das Buch (und seine deutsche Übersetzung) ?
|
Bitte, so heißen Sie:
Georges Perec, 1969 "La disparition"
Eugen Helmlé, 1986 "Anton Voyls Fortgang"
Auch interessant (Text ohne e, i, a, u):
Zitat: | Ottos Mops
Ottos Mops trotzt
Otto: fort Mops fort
Ottos Mops hopst fort
Otto: soso
Otto holt Koks
Otto holt Obst
Otto horcht
Otto: Mops Mops
Otto hofft
Ottos Mops klopft
Otto: komm Mops komm
Ottos Mops kommt
Ottos Mops kotzt
Otto: ogottogott
Ernst Jandl |
ub60 
|
|
zongo-joe
      
Beiträge: 134
win xp prof
D3, D4, D7
|
Verfasst: Mi 05.12.07 20:56
|
|
alzaimar
      
Beiträge: 2889
Erhaltene Danke: 13
W2000, XP
D6E, BDS2006A, DevExpress
|
Verfasst: Mi 05.12.07 21:20
Dein Programm verstehe ich nicht... Man verschlüsselt doch nicht nur mit einer Zahl, sondern mit einem 'etwas längeren' Schlüssel...
Wenn ich einen Text mit dem um 3 Buchstaben verschobenen Vor- und Zunamen meiner Mutter verschlüssele (und die hat einen langen Namen), dürfte dein Programm nicht weit kommen, oder bin ich zu alt, um dein Programm richtig zu bedienen?
_________________ Na denn, dann. Bis dann, denn.
|
|
|