Como saber quais partes de um arquivo binário estão mudando

Como saber quais partes de um arquivo binário estão mudando

Existe uma ferramenta que posso ver quais partes do arquivo estão sendo modificadas? Já vi ferramentas que mostram quais segmentos do meu disco rígido estão sendo acessados, mas quero algo semelhante para um único arquivo, se existir algo assim.

Estou criptografando um arquivo e quero ver se, depois que uma parte é gravada no disco, essa parte muda novamente. Por exemplo, uma vez que o primeiro MB do arquivo é criptografado e salvo no disco e o programa segue em frente, qualquer coisa nesse primeiro MB é atualizada assim que a criptografia é concluída.

Como contexto detalhado, tenho um processo em que uso o gpg4win para criptografar um arquivo muito grande (36 GB) e, em seguida, preciso transferi-lo por FTP para um servidor remoto. Ambas as etapas desse processo levam muitas horas, mas o FTP demora um pouco mais. Se a criptografia continuar estendendo o arquivo, mas o início permanecer inalterado, então posso iniciar o processo de FTP assim que o arquivo estiver um pouco dentro. Se o cabeçalho do meu arquivo criptografado for atualizado no final, porém, eu tenho esperar até que essas etapas sejam concluídas antes de iniciar o upload.

Responder1

Geralmente isso é alguma variante de umrsync 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, isso só funciona se o arquivo não mudartodosos blocos quando é escrito. Assim, esteparágrafo citadoé algo para ter em mente:

A criptografia de disco geralmente usa modos de finalidade especial projetados especificamente para o aplicativo. Os modos de criptografia de bloco estreito ajustáveis ​​(LRW, XEX e XTS) e os modos de criptografia de bloco largo (CMC e EME) são projetados para criptografar setores de um disco com segurança. (Veja a teoria da criptografia de disco)

OpenGPG é um sistema criptográfico misto (mistura cifras assimétricas e simétricas para atingir seu objetivo). No momento, não encontro nada sobre as cifras usadas E sua aplicação para deltas em nível de bloco. Você pode querer escolher uma solução criptográfica diferente (por exemplo, openssl), com base nestas observações:http://www.daemonology.net/blog/2009-06-11-cryptographic-right-answers.html

Dito isto:

são ferramentas para calcular uma diferença binária e mesclar as partes posteriormente.

Relacionado:Backup incremental (delta) de dados criptografados

informação relacionada