¿Por qué vim se queja de una criptografía débil cuando usa blowfish2?

9

Abrí un documento de 2015 que guardé usando el cifrado incorporado en vim ( :X). Eso fue salva usando blowfishen el momento.

El mensaje que recibí ahora (2017) fue este:

Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: *********************************************
Enter same key again: *********************************************

Pensé que era extraño, pero supuse que tenía que ver con algún defecto, y después de leer sobre los métodos de cifrado, lo hice set cryptomethod=blowfish2. Esto funciona después de abrirlo, mostrando cryptomethod como blowfish 2. ¡El problema es que todavía recibo el mensaje sobre el uso de cifrado débil! ¿Por qué? ¿Hay restos de la antigua firma de cifrado blowfish1? ¿Tengo que exportar el texto y volver a guardarlo para arreglarlo?

oligofren
fuente
2
Intente cifrarlo nuevamente con blowfish2 (eso solo funciona si todas sus versiones de vim son lo suficientemente nuevas)
Christian Brabandt

Respuestas:

10

El método de cifrado se almacena en el archivo y no se actualiza automáticamente.

Puedes ver esto con less:

$ less a
VimCrypt~02!!<C7>\<E1>wZzm
^E^X^Z<92>5<C9>I6<9C>S

VimCrypt~01!es cm=zip, VimCrypt~02!es cm=blowfish, y creo que puedes deducir lo que VimCrypt~03!significa :-)

Para actualizar un archivo, ábralo, configúrelo explícitamente cm=blowfish2y escríbalo:

$ vim a
Need encryption key for "a"
Warning: Using a weak encryption method; see :help 'cm'
Enter encryption key: [enter-key]

:set cm?
  cryptmethod=blowfish
:set cm=blowfish2
:w
"a" [blowfish2] 1L, 3C written
:q

$ less a
VimCrypt~03!O[P<D5>1<D1><DA>^Zis<88>q<AB><99><8C><A6><C4><FB>6
a lines 1-1/1 (END)
Martin Tournoij
fuente