Ja, die Länge des Passwortes, bzw. dessen Qualität, bestimmt die Sicherheit. Auch das Präprocessing des Passwortes spielt eine Rolle.
1.) benutze RCx statt RC4
2.) wandele das Passwort mit Hilfe einer Hashfunktion und Zufall in einen Sessionkey um. Der Zufallssalt muß dann natürlich mit an die daten drangehangen werden
3.) benutze gute Passwörter. Ein 8 Zeichenkey ist im Grunde unsicher. Er sollte 128 Bit haben mit bester Entropie. Also nur Buchstaben/Ziffern wären 36 Symbole aus einem Set von 256 möglichen. Ein solches Passwort sollte also aus 128 / 8 * 256 / 36 = 113 Zeichen bestehen damit es vergleichbar zu einem 128 Bit binärem und zufälligem Schlüssel ist. Das zeigt sehr schön das Ungleichgewicht zwischen heutzutage benutzten sicheren Algorithmen zum durch Menschen gewähltem Passwort. Ergo: RC4 sollte mit deinem kurzen Passwort ausreichend sein
Durch die Expansion des Passwortes mit Zufall und deren Umwandlung per Hashfunktion in einen Sessionkey hat man zwei wichtige Punkte verbessert
1.) die Hashfunktion schützt das Passwort falls man per Kryptoanalyse die verschlüsselten Daten geknackt hat
2.) durch den Zufallswert entstehen somit immer pseudozufällige Sessionkeys die bewirken das ein und die selbe Nachricht immer anders verschlüsselt wird. Damit fallen viele Kryptoanalyseangriffe flach, Choosen PlainText, Differentielle Analyse usw.
Warum wählst du nicht
DEC ? Benutzt du nur AES_Rijndael und zb. SHA1 dann werden auch nur diese Algos. in deine EXE eingelinkt. Der Overhead dürfte nicht so gewaltig sein und am Ende hast du es auf einfache Weise auch sicher.
Gruß Hagen