Hi!
Ich wollte mal fragen, wie sicher eine mehrfache XOR-Verschlüsselung ist.
Die einfache XOR-Verschlüsselung soll ja nicht sehr sicher sein.
Aber wenn man den Text mehrmals mit verschiedenen Schlüsseln verschlüsselt, wie sieht es dann aus?
Hier mal mein Sourcecode:
Also die erste crypt Methode verschlüsselt den Text XOR mit einem einzigen Zeichen.
Die überladene crypt Methode verschlüsselt den Text XOR mit einem String, wenn der am Ende ist, fangt der Algorithmus damit wieder von vorne an.
Die encrypt Methode verschlüsselt den Text nacheinander mit verschiedenen String aus einem Array.
Die decrypt Methode entschlüsselt den Text mit encrypt mit dem umgedrehten Schlüsselarray.
Durch das mehrfache Verschlüsseln kann man mit Klartext XOR verschlüsselter Text nicht mehr den Key herausfinden.
Wie sicher ist dieser Mehrfach-XOR-Algorithmus?
LG!
Ich wollte mal fragen, wie sicher eine mehrfache XOR-Verschlüsselung ist.
Die einfache XOR-Verschlüsselung soll ja nicht sehr sicher sein.
Aber wenn man den Text mehrmals mit verschiedenen Schlüsseln verschlüsselt, wie sieht es dann aus?
Hier mal mein Sourcecode:
Java:
public static String crypt(String text, char key) {
StringBuilder s = new StringBuilder(text);
for(int i = 0; i < s.length(); i++) {
s.setCharAt(i, (char)(s.charAt(i) ^ key));
}
return s.toString();
}
public static String crypt(String text, String key) {
if(key.length() == 1) return crypt(text, key.charAt(0));
StringBuilder s = new StringBuilder(text);
for(int i = 0, j = 0; i < s.length(); i++, j++) {
s.setCharAt(i, (char)(s.charAt(i) ^ key.charAt(j)));
if(j == key.length() - 1) j = 0;
}
return s.toString();
}
public static String encrypt(String text, String[] key) {
for(int i = 0; i < key.length; i++) {
text = crypt(text, key[i]);
}
return text;
}
public static String decrypt(String text, String[] key) {
List<String> rkey = Arrays.asList(key);
Collections.reverse(rkey);
return encrypt(text, rkey.toArray(new String[0]));
}
Also die erste crypt Methode verschlüsselt den Text XOR mit einem einzigen Zeichen.
Die überladene crypt Methode verschlüsselt den Text XOR mit einem String, wenn der am Ende ist, fangt der Algorithmus damit wieder von vorne an.
Die encrypt Methode verschlüsselt den Text nacheinander mit verschiedenen String aus einem Array.
Die decrypt Methode entschlüsselt den Text mit encrypt mit dem umgedrehten Schlüsselarray.
Durch das mehrfache Verschlüsseln kann man mit Klartext XOR verschlüsselter Text nicht mehr den Key herausfinden.
Wie sicher ist dieser Mehrfach-XOR-Algorithmus?
LG!