Recentemente, comecei a usar o Vim para criptografar arquivos de texto (usando o comando :X
e digitando uma chave de criptografia no prompt). Conforme documentado, o Vim solicita a chave quando eu reabrir o arquivo e descriptografar o texto.
Hoje abri um desses arquivos criptografados, mas para minha surpresa, o Vim não me solicitou nenhuma chave e simplesmente exibiu texto criptografado. É claro que reabrei o arquivo várias vezes, mas sempre com o mesmo resultado. (Eu estou usando o Vim 7.3 no OS X. Eu não encontrei nenhuma diferença de comportamento no MacVim vs. a versão não-GUI.)
Eu tenho três palpites vagos sobre o que poderia estar causando esse problema:
- Eu tinha renomeado o arquivo em questão - possivelmente mais de uma vez - depois de ter sido criptografado. Infelizmente, não me lembro se já descriptografei o arquivo com sucesso desde a última renomeação.
- Este arquivo é armazenado na minha pasta Dropbox, portanto, se o arquivo foi alterado de alguma forma no servidor Dropbox, essa versão presumivelmente teria substituído a minha (anteriormente boa) versão local. (No entanto, quando tento recuperar uma versão antiga do arquivo via Dropbox , eu só encontro uma única versão do o arquivo, e eu não posso descriptografar isso.)
- Combinando os dois acima: Eu realmente renomeiei o arquivo para que ele tenha uma extensão
.crypt
, não achando que isso importaria localmente, mas vejo que o Dropbox está realmente identificando esse arquivo (na coluna Kind
) como% código%. Talvez o Dropbox tenha lidado com esse arquivo de maneira diferente, de alguma forma, se o reconhecesse como um arquivo criptografado? (No entanto, quando eu armazeno um arquivo de texto não criptografado com extensão file crypt
, não tenho nenhum problema para lê-lo.)
Eu tentei usar o openssl para recuperar o arquivo, especificamente como .crypt
. Mas isso informa openssl bf -d -in [encrypted file] -out [decrypted file]
(ou pequenas variações).
(Deixe-me preemptivamente deixar claro que tenho 99% de certeza que este não é o caso de eu usar a chave de criptografia errada, pois eu havia descriptografado o arquivo várias vezes no passado, e agora o Vim não está nem solicitando para uma chave. Eu também verifiquei duas vezes que estou usando a tecla certa com o openssl.)
Eu usei a criptografia padrão do Vim, que eu entendo ser blowfish em 7.3 (embora eu tenha tentado alguns outros comandos de cifra com o openssl, mas não tenha certeza de qual pkzip, o que eu entendo ser a criptografia mais antiga do Vim) algoritmo.)
Não encontrei nada de relevante em bad decrypt
1948:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:/SourceCache/OpenSSL098/OpenSSL098-47/src/crypto/evp/evp_enc.c:330:
, exceto tentar usar :help encryption
para garantir que o Vim me peça uma chave para arquivos criptografados, mas ainda não. Esta foi a única solução sugerida em questões um pouco semelhantes que eu encontrei em outro lugar (por exemplo, esta questão , embora digitar a chave sans prompt no meu caso é simplesmente interpretado como comandos a partir do modo normal).
Finalmente, pode ser útil saber que o início do arquivo em questão (antes de todo o lixo criptografado) é "Salgado"; se o Vim salgou a chave de criptografia, o sal poderia, de alguma forma, desaparecer (em termos leigos)?
Só para ficar claro, minhas principais perguntas são:
- O que está fazendo com que o Vim não veja mais o arquivo como criptografado e precise de uma chave de descriptografia? Mesmo que não consiga recuperar o texto, gostaria de poder evitá-lo no futuro, se possível. Por exemplo, está sincronizando um arquivo criptografado com o Dropbox um grande não-não?
- Há mais alguma coisa que eu possa tentar recuperar o texto? Até mesmo a força bruta parece fora de questão, já que não é um problema de falta de chave, mas talvez eu esteja usando indevidamente o openssl ou ignorando outra solução da Vim.
Obrigado!
———
EDIT: Eu notei algo mais que pode ser relevante. Tentei replicar esse problema e, no decorrer disso, percebi que com um arquivo Vim criptografado "bom" (ou seja, um que eu possa descriptografar com êxito), se eu usar o Quick Look para visualizar o arquivo ou se abri-lo no TextEdit, vejo apenas uma única linha de texto que lê algo como :set key=
. Mas quando abro o arquivo com o qual estou tendo problemas, em vez disso, obtenho 130 linhas de texto cifrado aparente, com a primeira linha começando com VimCrypt~01!9‰◊ëMå Ø^efl.œ1b_öä˙ß≥
(como mencionado acima).