Zitat:
Hast du einen echt zufälligen Schlüssel, der nur den zwei Pateien, die sicher kommunizieren wollen bekannt ist (wie auch immer man das jetzt erreicht hat), bietet sich als absolut sicheres Verfahren die XOR Verschlüsselung an. Hier ist nicht rückrechenbar ob ein Bit entschlüsselt eine 1 oder 0 ist. Da der Schlüssel extrem lang gewählt wurde und echt zufällig ist, alles super. Selbst hier würde natürlich ein Brute-Force Attacke in Frage kommen (aber eben kein anderes Effizienteres Verfahren). Hier sind alle Möglichkeiten gleich wahrscheinlich, also kann auch hier wieder beliebiger Code rauskommen.
Die Frage bleibt aber, wie kommt man an einen Schlüssel der echt zufällig ist und nur zwei Patien bekannt (ohne jegliche Abhörmöglichkeit)?!
Diffie Hellman basierte Verfahren für den Schlüsselaustausch, wobei das ja kein Austausch im eigentlichen Sinne ist, sondern ein parallel laufende Berechnung des gleichen zufälligen Schlüssels auf beiden Seiten. Man müsste also zuerst diese Schlüssel-Vereinbarung durchführen und kann erst danach die Datei verschlüsseln (bei einfachen DH Verfahren).
Aber nochwas zu deine XOR Verschl. Das geht nur dann gut wenn
1.) der Schlüssel minimal so lang ist wie die Nachricht
2.) der Schlüssel zufällig gewählt wurde
3.) der Schlüssel nur einmalig verwendet wurde
Besonders Punkt 1.) ist sehr sehr wichtig. Wir können niemals sicher eine Nachricht aus zb. 1000 Bits verschlüsseln wenn der Schlüssel nur 100 Bits lang ist. Es würde nämlich bedeuten das wir
a.) jeden 100 Bit Block der Nachricht mit dem gelichen Schlüssel XOR verknüpfen, also diesen Schlüssel schon innerhalb der Nachroicht 10 mal benutzen. Dies widerspricht Regel 1.) und 3.). Es sind dann sehr einfache Angriffe möglich die direkt den benutzten Schlüssel ermitteln können. Entwerde mit Hilfe von Choosen Plain Text Attacks, dh. der ANgreifer hat die Möglichkeit das auszuwählen was der User dann verchlüsselt. Man würde dann in diesem Falle einfach eine Nachricht erzeugen die aus 100 0 Bits und 100 1 Bits usw. besteht. Damit kann man direkt den Schlüssel ermitteln.
b.) wir das Passwort als Seed für iregend ein Verfahren benutzen das dann kontinuierlich einen Schlüsselstrom von Bits erzeugt. Nur, wären wir dann im Dilema beweisen zu müssen das die Transformations-Funktion dieser Schlüsselstrom Funktion auch kryptographisch sicher ist. Und defakto könnte wir dann wieder eine Standard Verfahren wie AES benutzen da dort schon dieser Beweis der Sicherheit durchgeführt wurde. Denn im Grunde geht es immer darum aus einem so kurz wie möglichen Passwort einen Datenstrom an Bits zu erzeugen der dann mit der Nachricht verknüpft wird.
@Steganographie:
Steganographie soll nur sicherstellen das ein Angreifer der nicht weis WO und WIE die Daten versteckt wurden diese Daten auch zu finden. Hat ein Angreifer aber einmal die Information WO sie WIE die Daten verstecken reduziert sich das Problem für den angreifer auf die gleiche Problematik/Angriffe die bei normalen Verschl. auch existent sind. Dh. Steganographie OHNE starke Verschlüsselung ist unsinig. Anders ausgedrückt: Möchte man beweisen, mathematrisch wohlgemerkt, das ein jeweiliges Steganographie Verfahren wirklich sicher ist so muß dieses Verfahren als Kern eine starke Verschlüsselung benutzen. Denn nur deren Sicherheit können wir tatsächlich beweisen, den Fakt ob unsere Steganographie sicher vor Entdeckung ist können wir im Grunde garnicht beweisen.
Gruß Hagen