So erkennen Sie, welche Teile einer Binärdatei sich ändern

So erkennen Sie, welche Teile einer Binärdatei sich ändern

Gibt es ein Tool, mit dem ich sehen kann, welche Teile der Datei geändert werden? Ich habe Tools gesehen, die mir zeigen, auf welche Segmente meiner Festplatte zugegriffen wird, aber ich möchte etwas Ähnliches für eine einzelne Datei, falls es so etwas gibt.

Ich verschlüssele eine Datei und möchte sehen, ob sich ein Teil, nachdem er auf die Festplatte geschrieben wurde, jemals wieder ändert. Wenn beispielsweise das erste MB der Datei verschlüsselt und auf der Festplatte gespeichert ist und das Programm weiterläuft, wird dann irgendetwas in diesem ersten MB aktualisiert, sobald die Verschlüsselung abgeschlossen ist?

Als detaillierter Kontext: Ich habe einen Prozess, bei dem ich gpg4win verwende, um eine sehr große Datei (36 GB) zu verschlüsseln, und sie dann per FTP auf einen Remote-Server übertragen muss. Beide Schritte dieses Prozesses dauern viele Stunden, aber der FTP-Vorgang dauert etwas länger. Wenn die Verschlüsselung die Datei einfach immer weiter ausdehnt, der Anfang aber unverändert bleibt, kann ich den FTP-Vorgang starten, sobald die Datei ein kleines Stückchen weiter ist. Wenn der Header meiner verschlüsselten Datei jedoch am Ende aktualisiert wird, muss ich warten, bis dieser Schritt abgeschlossen ist, bevor ich mit dem Hochladen beginne.

Antwort1

Normalerweise ist das eine Variante einesrsync wie Algorithmus:

* split a file into blocks of x bytes
* build a hash over these x bytes
* compare the hash for each block between both files
* transfer the changed blocks

Dies funktioniert natürlich nur, wenn sich die Datei nicht ändertalledie Blöcke, wenn sie geschrieben werden. Somitzitierter Absatzist etwas, das man im Hinterkopf behalten sollte:

Bei der Festplattenverschlüsselung werden häufig spezielle Modi verwendet, die speziell für die jeweilige Anwendung entwickelt wurden. Optimierbare Schmalblock-Verschlüsselungsmodi (LRW, XEX und XTS) und Breitblock-Verschlüsselungsmodi (CMC und EME) sind für die sichere Verschlüsselung von Sektoren einer Festplatte konzipiert. (Siehe Theorie der Festplattenverschlüsselung)

OpenGPG ist ein gemischtes Kryptosystem (es mischt asymmetrische und symmetrische Chiffren, um sein Ziel zu erreichen). Im Moment finde ich nichts über die verwendeten Chiffren UND ihre Anwendung für Deltas auf Blockebene. Basierend auf diesen Beobachtungen möchten Sie möglicherweise eine andere Kryptolösung (z. B. OpenSSL) auswählen:http://www.daemonology.net/blog/2009-06-11-cryptographic-right-answers.html

Das gesagt:

sind beides Tools, um einen binären Diff zu berechnen und die Teile später zusammenzuführen.

Verwandt:Inkrementelles (Delta-)Backup verschlüsselter Daten

verwandte Informationen