Autor Beitrag
Christian R.
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 94

WIN 7
XE10, D2007
BeitragVerfasst: So 02.12.07 20:37 
user profile icong1o2k4 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



BeitragVerfasst: So 02.12.07 20:39 
user profile icong1o2k4 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.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
type
  TABuffer = Array0..2047 ] of Byte;  // So kann ein Datenpaket aus einem Stream typisiert werden.
// ...
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 764
Erhaltene Danke: 127



BeitragVerfasst: So 02.12.07 21:41 
user profile icongispos 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 493



BeitragVerfasst: Mo 03.12.07 16:20 
user profile icongispos 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Mo 03.12.07 16:30 
user profile icong1o2k4 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
ausblenden 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 :nixweiss: Damit ist wohl deine Aussage
user profile icong1o2k4 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 :nixweiss:

Edit2: In Ada nimmt man für Arrays auch die runden Klammern. :autsch: 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



BeitragVerfasst: Mo 03.12.07 16:36 
user profile icong1o2k4 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 493



BeitragVerfasst: Mo 03.12.07 16:57 
ich hätte vielleicht "einfaches xor" schreiben sollen.
Christian R.
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 03.12.07 17:45 
@user profile icong1o2k4: 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: :arrow: Wikipedia :: Buchstabenhäufigkeit
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 764
Erhaltene Danke: 127



BeitragVerfasst: Mo 03.12.07 19:19 
user profile iconLuckie hat folgendes geschrieben:
user profile icong1o2k4 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.

user profile iconLuckie 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



BeitragVerfasst: Mo 03.12.07 19:41 
Gut, dann ersetz Text durch zufällige Zeichenfolge.
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 764
Erhaltene Danke: 127



BeitragVerfasst: Mo 03.12.07 19:45 
user profile iconLuckie hat folgendes geschrieben:
Gut, dann ersetz Text durch zufällige Zeichenfolge.

Mach ich. Und gleich gehts mir besser. :lol: :lol:

ub60
gispos
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 94

WIN 7
XE10, D2007
BeitragVerfasst: Di 04.12.07 22:41 
user profile iconub60 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:
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 493



BeitragVerfasst: Mi 05.12.07 16:25 
user profile iconNeurologic Scientist hat folgendes geschrieben:
@user profile icong1o2k4: 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: :arrow: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Mi 05.12.07 16:34 
user profile icong1o2k4 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 134

win xp prof
D3, D4, D7
BeitragVerfasst: Mi 05.12.07 18:11 
wie heisst denn das Buch (und seine deutsche Übersetzung) ?
das möcht ich ja mal lesen...
g1o2k4
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 493



BeitragVerfasst: Mi 05.12.07 19:47 
user profile iconJayEff hat folgendes geschrieben:
user profile icong1o2k4 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 764
Erhaltene Danke: 127



BeitragVerfasst: Mi 05.12.07 20:03 
user profile iconzongo-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 :lol:
zongo-joe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 134

win xp prof
D3, D4, D7
BeitragVerfasst: Mi 05.12.07 20:56 
Danke !
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Mi 05.12.07 21:20 
user profile icong1o2k4 hat folgendes geschrieben:
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...
www.tictech.de/BLL/X...pt_Projektordner.rar

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.