008
08.10.2005, 20:54 Uhr
0xdeadbeef
Gott (Operator)
|
Das Verfahren sieht auf den ersten Blick nicht schlecht aus, aber sein Anwendungsbereich ist beschränkt. XOR-Verschlüsselungen sind generell leicht zu knacken, wenn man schon eine grobe Ahnung davon hat, was man eigentlich nachher rauskriegen will. Das macht es ungeeignet für alle Datenbestände, die bestimmten Einschränkungen unterlegen sind, zum Beispiel Klartext. Wenn ich weiß, dass die Nachricht, die da gerade verschlüsselt geschickt wird, Klartext ist, kann ich davon ausgehen, dass die meisten Zeichen darin < 128 und mit gesetztem 32er bit sind. Etwas weniger als die Hälfte wird außerdem das 64er bit gesetzt haben - all das sind Angriffspunkte, die eine solche XOR-Verschlüsselung potentiell aushebeln können.
Wenn ich dann zum Beispiel noch weiß, dass es eine E-Mail ist (oder ich halt das Format der Nachricht kenne) und damit große Teile des Headers schon im Voraus kenne, erfahre ich sehr schnell große Teile des ersten Schlüssels. Im schlimmsten Fall hat die Nachricht einen bekannten Header von mehr als 1000 Byte - die Implikationen sind offensichtlich.
Für kurze Nachrichten ist der Algorithmus besonders ungeeignet, denn dann brauche ich den zweiten und dritten Schlüssel nicht mal vollständig zu kennen. Den dritten Schlüssel muss ich erst ab einem Datenvolumen von einem Gigabyte vollständig kennen, bis zu einem Megabyte reicht es, wenn ich sein erstes Byte kenne. Analog gilt das für den zweiten Schlüssel bei Nachrichten unter einem Megabyte respektive einem Kilobyte.
Dazu kommt, dass XOR assoziativ ist, die mehrfache VerXORung also so oder so nur sehr begrenzt effektiv ist.
Für ne Facharbeit wird das Verfahren wohl reichen, aber in der echten Welt würde man sowas nicht einsetzen. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |