Moin,
Hier die Ingrid nochmal...
Und wieder. Die vollständig wiederhergestellte Datei ist http://www.ploetzli.ch/forumtst/plaintext.decrypter-knownkey.try.b290ec282ee4fb1d5c09cb08b3b5497b8e099d5f
sha1sum 9bb6bf454b48b1dce0b383520398a95c3ec7afc2,
md5sum 4390284927d33dd283252dce139d3ca5.
Der Entschlüsselungsalgorithmus geht ungefähr so, ausgehend von dem Schlüssel den ich schon veröffentlicht habe:
- Man teilt die Datei in jeweils 126 Byte große Teile (Schlüssellänge + 1)
- Für jeden Teil:
+ Das letzte Byte ist mit \x00 verschlüsselt, also im Klartext, kann also ignoriert werden
+ Die vorderen 125 Byte jedes Teils sind je byteweise ver-xor-t mit einer rotierten Variante des Schlüssels (key[offset:]+key[:offset]
), offset-berechnung siehe unten
def offset_generator(keylen):
offset=0
diff=119
while True:
yield offset
offset = (keylen+(offset-diff))%keylen
diff = diff-1
if diff < 45: diff = 120
Detaillierte Beschreibung der Vorgehensweise (mit Grafiken in Farbe und Bunt) folgt noch.
--
Henryk Plötz
Grüße aus Berlin
~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
Henryk Plötz
Grüße aus Berlin
~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~