Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

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

Sicherheit einer einfachen XOR Verschlüsselung

Diskussion: Sicherheit einer einfachen XOR Verschlüsselung im Forum Cryptography & Encryption, in der Kategorie Security Area; Anzeige Also ich habe vor kurzem begonnen mich in den Verschiedenen Verschlüsselungs möglichkeiten einzulesen und mich zu informieren. Ich habe ...

Antwort
Alt 06.03.08, 14:25   #1 (permalink)
gesperrt
 
Registriert seit: 19.12.07
st0rmy_w4ters Leistung: Facit NTK
Likes: 0
Standard Sicherheit einer einfachen XOR Verschlüsselung

Anzeige

Also ich habe vor kurzem begonnen mich in den Verschiedenen Verschlüsselungs möglichkeiten einzulesen und mich zu informieren.

Ich habe folgendes Programm geschrieben:

Code:
#include <string>
#include <iostream>
#include <stdio.h>
using namespace std;


int main()
{int encrypted[400];
char a[4000],b[400000],c[400000];


int i;



cout<<"Bitte zu Verschlüsselnden Text eingeben"<<endl;

  cin.getline (a,256);

cout<<"Bitte key eingeben"<<endl;
  cin.getline (b,256);
strcat(c,b);

for(i=strlen(b);i<strlen(a);i=strlen(b))
{


strcat(b,c);// Wi gesagt hatte das prog nur schnell geschrieben , Buffer Overflow schutz ist nicht gemacht...

}
printf(" ----------------------\n The Key is : %s \n-----------------------",b);

printf("\n\n\nDEC plain:\n\n\n");
for(int i=0;i<strlen(a);i++)
{
  encrypted[i] = a[i] ; 

printf("%i ",encrypted[i]);
}

printf("\n\n\nVerschlüsselt\n\n\n");

for(int i=0;i<strlen(b);i++)
{
  encrypted[i] = a[i]^b[i] ; 
printf("%i ",encrypted[i]);
}//encryptet bekommt den Wert von

printf("\n");

printf("Decimal Plain decryptet: ");
for(int i=0;i<strlen(a);i++)
{int newd[4000];
 
newd[i] = encrypted[i] ^ b[i] ; 
  
printf("%d ",newd[i]);
}



return 0;
}

Das Programm verknüpft die Bits des Keys mit XOR mit den Bits des Textes.

Meine Frage ist nun wie sicher dieser enfache Xor ist .
Hält das Programm der Krytoanalyse stand oder ist es wegen der aneinandereihung der Keys möglich Häufigkeiten zu analysieren?

Danke

PS:Kennt jemand ein Kryptographie Forum ?
st0rmy_w4ters ist offline   Mit Zitat antworten
Alt 06.03.08, 14:59   #2 (permalink)
 
Registriert seit: 31.07.05
Grafix Leistung: Facit NTK
Likes: 0
Standard RE: Sicherheit einer einfachen XOR Verschlüsselung

Zitat:
Original von st0rmy_w4ters
Hält das Programm der Krytoanalyse stand oder ist es wegen der aneinandereihung der Keys möglich Häufigkeiten zu analysieren?
Wenn der Schlüssel genau so groß ist wie der Klartext (OneTimePad), ist es AFAIK sicher.
Ansonsten sinkt die Sicherheit damit, dass der gleiche Key linear mehrmals benutzt wird.
Bei einem sehr kleinen Schlüssel im Vergleich zum Klartext lässt sich die Länge des Schlüssels statistisch ermitteln und u.U. der Schlüssel selbst. Dies hängt wiederum stark vom Klartext ab, was Häufigkeiten und teilweise bekannte Geheimnisse angeht.
Wenn Schlüssel und Klartext absolut zufällig sind, reicht auch 1 Byte für den Schlüssel (Wobei ein zufälliger Klartext wohl nicht schützenswert ist).

PS: Wenn du dich von der Sicherheit des Verfahrens selbst überzeugen möchtest, kann ich dir CryptTool empfehlen. Es bietet programmgestützte Cryptoanalyse.
Grafix ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 08.03.08, 11:18   #3 (permalink)
gesperrt
Themenstarter
 
Registriert seit: 19.12.07
st0rmy_w4ters Leistung: Facit NTK
Likes: 0
Standard

Danke für deine Antwort .:
Zitat:
Bei einem sehr kleinen Schlüssel im Vergleich zum Klartext lässt sich die Länge des Schlüssels statistisch ermitteln und u.U. der Schlüssel selbst. Dies hängt wiederum stark vom Klartext ab, was Häufigkeiten und teilweise bekannte Geheimnisse angeht.
Was ist deiner Meinung nach sehr klein?
1:25,1:100,1:1000?

Nehmen wir einen typischen deutschen Text und sagen wir man weiß auch das er mit
"Sehr geehrter" anfängt dann wäre es doch schon möglich das passwort auszulesen wenn es kürzer als "Sehr geehrter" ist , oder?

Danke


EDIT:\\
Was ich jetzt noch wissen wollte: wieviel Text man braucht um dieses lineare aneinanderhängen der Strings zu erkennen und einen erfolgreichen Angriff durchzuführen?

OK das mit dem "Sehr geehrter" kann man wirklich "Knacken":
Code:
#include <string>
#include <iostream>
#include <stdio.h>
using namespace std;


int main()
{

int verschluesselt[4000]={39,0,27,6,75,2,28,17,13,1,0,14,23,89,60,0,1,6,75,12,11,19,0,29,16,28,4,10,84,1,18,7,75,12,10,0,69,22,29,5,69,27,7,21,83,0,14,29,13,84,31,6,25,75,14,23,21,6,24,17,5,69,15,27,11,83,44,36,55,121};
int schluessel[4000];
int worte[4000]={83,101,104,114,32,103,101,101,104,114,116,101,114};

long i;


char key[4000];







for(long i=0;i<13;i++)
{
schluessel[i]=verschluesselt[i]^worte[i];
key[i]=schluessel[i];
cout<<key[i];
}
cout<<"\n"<<endl;




return 0;
}
st0rmy_w4ters ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Security Area » Cryptography & Encryption » Sicherheit einer einfachen XOR Verschlüsselung
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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Einen einfachen Link erstellen. frankconvex (Web-) Design und webbasierte Sprachen 4 14.12.06 14:42
Überlegungen zu einer 100% sicheren Verschlüsselung Heinzi Cryptography & Encryption 14 06.01.06 14:16
Kryptoanalyse einer Verschlüsselung xxy Cryptography & Encryption 7 03.12.05 16:56
Programm zur Verschlüsselung einer Partition auf ext. Festplatte Acetaldehyd Cryptography & Encryption 1 22.10.05 21:29
entschlüsseln eines einfachen chiffres klaus1 Cryptography & Encryption 16 05.04.05 20:01


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