Zitat von
Sierra:
Das ich keine Lust habe durch den Algorithmus zu steppen liegt allein an dessen Länge. Denn man muss sich vorstellen, dass, bis man einen #0 Wert gefunden hat, schon einige Zeichen bearbeitet werden müssen. Und das nun von 0 bis 255 und wieder zurück. Da sitzt man ganz schön lange dran.
Aber nur wenn man nicht weiß, was man eigentlich tut. Verschlüssel doch einfach einen Block von lauter #0. Dann sollten alle entschlüsselten Bytes doch wieder #0 sein, oder an Deiner Implementation ist was grundsätzlich falsch.
Zitat:
Jetzt aber zu deinem anderen Tipp. Wie genau funktioniert das? Kannst du mir genauere Angaben machen?
Du weißt, was eine Datei ist oder nicht? Wenn nicht, vergiß am besten die ganze Sache. Ansonsten hier eine Skizze:
Verschlüsseln (setzt Deine realen Proceduren ein)
rc4_int(key, keylen);
rc4_encrypt(plaintext, ciphertext, len);
assign(f,'name.rc4');
rewrite(f,1);
blockwrite(f,ciphertext,len);
close(f);
Entschlüsseln:
rc4_int(key, keylen);
assign(f,'name.rc4');
reset(f,1);
blockread(f,ciphertext,len);
close(f);
rc4_decrypt(ciphertext, plaintext, len);