Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#32

Re: VerschlüsselungsProgramm

  Alt 21. Jul 2004, 18:05
Logisch, das ist die Funktion im RC4 Algorithmus, eben eine Modulo 256 Operation. In diesem Sinne ist in meinem Code alles in Ordnung und der Code setzt absichtlich auf das Verhalten das bei der Addition eines Bytes +x beim Überlauf eine modulo 256 Operation impliziert ausgeführt wird.
Allerdings, ich gebe dir Recht das dies einem klar definierten Verhalten eines Sources ohne Fehler widerspricht.

Man könnte es so umschreiben:

R := (R + D[S] + K) mod 256; wobei dann aber der Compiler ineffizienteren Code erzeugen muß da er das Zwischenresultat von "R + D[S] + K" nicht mehr im Bereich Byte sondern Word oder sogar Integer durchführen muß. Desweiteren muß dann das Zwischenresultat mit $FF maskiert werden, eben modulo 256. Dies ist wiederum ein zusätzlicher Maschinenbefehl.

Sogesehen habe ich so programmiert das ohne Überlaufprüfungen der Compiler den "effizientesten" Code erzeugen muß. Der gemeldete Überlauffehler ist also für die korrekte Funktionsweise des Algorithmus irrelevant. (ein fehlerhafter Fehler )

Gruß hagen
  Mit Zitat antworten Zitat