Cómo saber qué partes de un archivo binario están cambiando

Cómo saber qué partes de un archivo binario están cambiando

¿Existe alguna herramienta que pueda ver para ver qué partes del archivo se están modificando? He visto herramientas que me muestran a qué segmentos de mi disco duro se accede, pero quiero algo similar para un solo archivo, si existe algo así.

Estoy cifrando un archivo y quiero ver si, una vez que una parte se escribe en el disco, esa parte vuelve a cambiar. Por ejemplo, una vez que el primer MB del archivo se cifra y se guarda en el disco y el programa continúa, ¿se actualiza todo el contenido de ese primer MB una vez que se realiza el cifrado?

Como contexto detallado, tengo un proceso en el que uso gpg4win para cifrar un archivo muy grande (36 GB) y luego tengo que enviarlo por FTP a un servidor remoto. Ambos pasos de este proceso llevan muchas horas, pero el FTP tarda un poco más. Si el cifrado continúa extendiendo el archivo, pero el comienzo permanece sin cambios, entonces puedo iniciar el proceso FTP tan pronto como el archivo esté un poco más adentro. Sin embargo, si el encabezado de mi archivo cifrado se actualiza al final, tengo esperar hasta que se completen los pasos antes de comenzar la carga.

Respuesta1

Por lo general, se trata de alguna variante de unrsync como algoritmo:

* 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

Obviamente, esto sólo funciona si el archivo no cambia.todolos bloques cuando está escrito. Así, estepárrafo citadoes algo a tener en cuenta:

El cifrado de disco a menudo utiliza modos de propósito especial diseñados específicamente para la aplicación. Los modos de cifrado de bloque estrecho modificables (LRW, XEX y XTS) y los modos de cifrado de bloque ancho (CMC y EME) están diseñados para cifrar de forma segura sectores de un disco. (Ver teoría del cifrado de disco)

OpenGPG es un sistema criptográfico mixto (mezcla cifrados asimétricos y simétricos para lograr su objetivo), en este momento no encuentro nada sobre los cifrados utilizados Y su aplicación para deltas a nivel de bloque. Es posible que desee elegir una solución criptográfica diferente (por ejemplo, openssl), basándose en estas observaciones:http://www.daemonology.net/blog/2009-06-11-cryptographic-right-answers.html

Dicho esto:

son ambas herramientas para calcular una diferencia binaria y fusionar las partes más adelante.

Relacionado:Copia de seguridad incremental (delta) de datos cifrados

información relacionada