jokey2
Erfahrenes Mitglied
Sch..., Matthias hat recht, Ich habe Mist erzählt, es sollte gehen.
Angenommen, das Klartextbyte ist 221, das Schlüsselbyte = 112, dann wäre die Summe 333, d.h. im Cryptbyte steht 78. Wenn man jetzt von 78 wieder die 112 abzieht, dann hat man -34. und wenn man jetzt noch 255 - 34 rechnet, hat man wieder 221.
man muß also nur schauen, ob das Cryptbyte kleiner ist als das Schlüsselbyte und dementsprechend rechnen:
Verschlüsseln:
Entschlüsseln:
Sorry für die ganze Verwirrung, manchmal sollte man halt vorher denken! :-(
Angenommen, das Klartextbyte ist 221, das Schlüsselbyte = 112, dann wäre die Summe 333, d.h. im Cryptbyte steht 78. Wenn man jetzt von 78 wieder die 112 abzieht, dann hat man -34. und wenn man jetzt noch 255 - 34 rechnet, hat man wieder 221.
man muß also nur schauen, ob das Cryptbyte kleiner ist als das Schlüsselbyte und dementsprechend rechnen:
Verschlüsseln:
Code:
unsigned char cryptbyte = plainbyte + keybyte; //Überlauf wird ignoriert
Code:
if(cryptbyte > keybyte)
plainbyte = cryptbyte - keybyte;
else
plainbyte = 255 - (keybyte - cryptbyte); // oder plainbyte = 255 - keybyte + cryptbyte;