Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
|
Re: RCx-Verschlüsselung
28. Sep 2009, 12:07
Es ist eine veränderte Version vom RC4. Die erste Veränderung ist eine zusätzliche XOR Operation innerhalb der originalen RC4 Schleife um ein 1 Bytes Feedback Register in den internen Status des RC4 einzuarbeiten. Die zweite Veränderung ist ein 1 Bytes Feedback Register bei der Manipulation des Datenstroms. Beidesmal wird XOR als Operation benutzt und ich habe dabei darauf geachtet das die originale Funktionsweise des RC4 nicht negativ beeinflusst wird wir aber denoch eine positove Verbesserung des originalen RC4 erhalten. Durch die erste Veränderung wird das Gesamtverhalten des RC4 nicht wesentlich verändert. Erst durch die zweite Änderung verändert sich Wesentliches an der Nutzung des Algorithmus. Denn nun benötigen wir für die Ver- und Entschlüsselung zwei unterschiedliche Funktionen. Das ist ungewöhnlich für einen Streamcipher und liegt darin begründet das dieser RCx einen Feedback Ciphermode benutzt.
Durch die Benutzung eines Feedbackregisters werden die Datenströme, eg. die Abhängigkeiten der einzelnen Datenbytes zueindern, verändert und besser in den internen RC4 Status eingearbeitet, was im Original RC4 nicht der Fall ist.
Die dritte Änderung betrifft das Keyshuffling in der Schlüsselinitialisierung. Der wesentlichste Unterschied ist das im RCx dieses Keyshuffling komplexer ist und mathematisch im modularen Ring zu den Primzahlen 257 und MaxInt arbeitet. Auch dies ist im original RC5 nicht der Fall und ich denke das ich damit auf die Weiterentwicklungen der Kryptographie in diesem Bereich reagiert habe.
Ergo: RCx ist RC4 in abgewandelter Form, wobei darauf geachtet wurde das die Kernidee des RC4 nicht negativ verändert wird, sondern an anderen Stellen auf die Weiterentwicklung der Kryptographie reagiert wird. Mit RC5 hat RCx garnichts zu tun, RC5 ist ja auch ein Blockcipher.
Wer die Auswirkungen dieser Änderungen überprüfen möchte verschlüsselt mit RCx und RC4 mal verschiedene Datenströme. Als erstes zb. die Nachrichten "0123456789", "a123456789", "b123456789", "xx23456789", "01234x6789" und vergleicht den Output. Dann mehrmals die Nachricht Zufallsbyte + "123456789". Man wird erkennen das RCx im Ouput wesentlich stärkere Veränderungen bewirkt und das das Einarbeiten eines Zufallsalts am Anfang der Nachricht beim RCx auch eine Wirkung auf den kompletten Output hat ganz im Gegensatz zu RC4.
Gruß Hagen
PS: der Kommentar im Source das es RC5 wäre stammt nicht von mir !
|