Como eliminar gradualmente um arquivo em paralelo à criptografia?

3

Eu preciso criptografar um arquivo enorme, mas não tenho armazenamento suficiente no meu disco rígido para armazenar o arquivo e sua versão criptografada ao mesmo tempo.

Parece ser possível excluir gradualmente o arquivo junto com a criptografia para que o espaço usado permaneça mais ou menos o mesmo.

Se eu criptografar meu arquivo com

 openssl aes-256-cbc  -in myfile -out myfile.aes-256-cbc

Como você sugeriria eliminar gradualmente o arquivo original myfile ao lado da criptografia?

    
por user123456 18.10.2016 / 10:59

1 resposta

2

No Linux, você pode usar fallocate para "furar" um arquivo, ou seja, descartar alguns dos blocos de dados. Requer um sistema de arquivos ext4, XFS ou btrfs (ou tmpfs).

$ perl -e 'print "a" x 16384' > foo
$ ls -sl foo
16 -rw-r--r-- 1 foo foo 16384 Oct 18 13:12 foo
$ fallocate -p -o0 -l 8192 foo
$ ls -sl foo
8 -rw-r--r-- 1 foo foo 16384 Oct 18 13:12 foo

Outros sistemas podem ou não ter recursos similares, mas acho que as únicas chamadas de sistema portáteis relacionadas a isso são posix_fallocate e truncate que realmente não ajudam você desde o primeiro só pode reservar um novo espaço para o arquivo, e o segundo só permite truncar um arquivo do final .

Em qualquer caso, você precisa preparar um programa para, por exemplo, canalize o arquivo de entrada para openssl e descarte as partes do arquivo que já foram lidas (mas não as outras). Não é tão difícil de implementar em qualquer linguagem de programação, mas também não é muito seguro, já que um acidente provavelmente deixaria você com peças inutilizáveis.

Não sei se algum utilitário de criptografia de disco completo pode criptografar uma partição no local.

Além disso, relacionado: Acrescente arquivos enormes uns aos outros sem copiá-los

    
por 18.10.2016 / 12:24