Mit zwei Passwörtern XOR verschlüsseln
-
Wenn ich einen Text mit zwei unterschiedlich langen Passwörtern XOR verschlüssele, ist das dann genauso, wie mit einem das die Länge password1.length * password2.length hat?
Ist das dann auch genau so sicher?
-
OttoNormal schrieb:
Wenn ich einen Text mit zwei unterschiedlich langen Passwörtern XOR verschlüssele, ist das dann genauso, wie mit einem das die Länge password1.length * password2.length hat?
Ist das dann auch genau so sicher?
Nein, das dürfte so sicher sein wie die Verschlüsselung mit einem Passwort der Länge max(password1.length, passwort2.length). Sind die beiden Passwörter (teilweise) gleich, hebst du die Verschlüsselung (teilweise) sogar wieder auf, sicherer wird es also dadurch nicht.
edit: Hatte dein Posting falsch gelesen. Ich denke du hast Recht, es verhält sich dann wie ein Passwort, dessen Länge größer sein kann als max(pw1.length, pw2.length). Allerdings werden ziemlich sicher (ähnlich Vigenere-Chiffre) Wiederholungen erkennbar, sodass die tatsächliche Sicherheit nicht einem Passwort der Länge pw1.length*pw2.length entspricht. Bei gleich langen Passwörtern gilt natürlich, was ich zuerst geschrieben habe, da verbessert sich die Sicherheit kein Stück.
-
In der Theorie gilt Gesamtpasswortlänge:=length(p1)*length(p2), wenn length(p1) und length(p2) Primzahlen sind.
Im allgemeinen Fall ist die Gesamtpasswortlänge kgV(length(p1),length(p2)) (kgV: kleinstes gemeinsames Vielfache).
In der Praxis könnten jedoch noch weitere negative Effekte durch Wiederholungen dazukommen (hier kann ich wenig zu sagen).
-
Wenn ich jetzt nur kleien Buchstaben für das erste und nur große für das zweite verwende, sollte sich das mit dem Aufheben doch wegfallen.
Wenn ich dann ein 7 stelliges und ein 11 stelliges Passwort verwende müsste das ja einem 77 stelligen entsprechen, aber irgendwie wird wohl doch mit den Wiederholungen die Sicherheit sinken. Es kann ja doch nicht sein das man sich ein 7 und 11 stelliges Passwort merk und das dann genauso sicher ist wie 77 stellig.
-
Ich verstehe nicht von was für einem Kryptosystem ihr hier redet.
Soll jetzt ein die Chiffrierung jetzt dadurch statt finden, in dem man ein Klartextblock mit den beiden Schlüsseln XOR-t?
Na dann sind wir wieder bei Vigenère.
Mal angenommen wir nehmen zwei zufällige Schlüssel pwd1 und pwd2, die unabhängig von einander gewählt wurden. Dann ist pwd = pwd1 XOR pwd2 genau so gut wie jedes andere passwort der länge max(pwd1.len, pwd2.len), dass man zufällig gewählt hätte.
Wie man auf die Idee kommt die Schlüssellängen zu multiplizieren ist mir schleierhaft.
-
bja schrieb:
Wie man auf die Idee kommt die Schlüssellängen zu multiplizieren ist mir schleierhaft.
Wenn Du ein XOR mit einem SChlüssel der Länge 3 machst und einem Schlüssel der Länge 2, dann sieht das doch so aus, daß Du auch die Schlüssel entsprechend erst hintereinanderlegen und XORen kannst und dann mit dem resultierenden Schlüssel arbeiten kannst.
abcabc
dededeWie man hier schön sieht, ist keine der übereinanderstehenden Buchstabenkombinationen doppelt und was da steht ist ein Schlüssel der Länge 6. Sind die beiden Längen nicht verschiedene Primzahlen, dann muß das evtl. noch verkürzt werden.
Daher kommt wohl im Wesentlichen diese Idee der Multiplikation.
MfG Jester
-
Stimmt, die genannten Argumente haben etwas.
Prinzipiell stimmt es schon, dass erst das selbe Passwort sich nach kgV(length(a),length(b)) wiederholt.
Allerdings ist bedingt dadurch, dass sich das ganze zumindest in Teilen wiederholt die Sicherheit max(length(a),length(b)). Hier gebe ich euch Recht.
-
wolfgke schrieb:
Allerdings ist bedingt dadurch, dass sich das ganze zumindest in Teilen wiederholt die Sicherheit max(length(a),length(b)). Hier gebe ich euch Recht.
In welcher Einheit wird denn Deine Sicherheit gemessen?
Ich habe doch oben gezeigt, daß es funktioniert. Wenn man mit nicht teilerfremden Längen arbeitet, dann muß man die "unsicheren" Position aus dem Schlüssel rausnehmen, sodaß man den äquivalenten kgV(length1, length2)-Schlüssel erhält.
-
Sorry, aber das kann so nicht stimmen. Wenn ich 2 Schluessel der Laengen x und y miteinander kombiniere, KANN kein Schluessel rauskommen, dessen kryptografische Staerke einem Schluessel der Laenge x+y+1 entspricht. Denn es gilt immernoch: Der Gegner kenn das Verfahren!
Auch wenn der Schluessel scheinbar die Laenge x*y hat: Der Gegner wird einfach alle Kombinationen von 2 kurzen Schluesseln durchprobieren...
-
Das ist natürlich ein berechtiger Einwand. Vielleicht sollten wir da ein bißchen genauer differenzieren. Das Verfahren führt praktisch eine XOR-Verschlüsselung mit einem x*y großen Schlüssel durch. Dieser Schlüssel ist wohl auch der kleinste, der genau diese Verschlüsselung erzeugt. Mit einem kleinere Schlüssel wäre das nicht zu errreichen. Insofern kann man schon sagen, daß es einer Verschlüsselung mit einem Schlüssel der Länge x*y entspricht.
Allerdings lassen sich nicht alle Schlüssel der Länge x*y so zerlegen, daß sie aus einem Schlüssel der Länge x und aus einem der Länge y bestehen. Daher werden dadurch nicht alle möglichen Schlüssel der Länge x*y benutzt. Damit ist das System dann natürlich auch nicht so sicher, wie wenn alle Schlüssel in Frage kämen.