O decodificador Openssl do arquivo criptografado não funciona mais

3

Atualizei recentemente meu computador para testes Debian de 64 bits. Desde então, a descriptografia de arquivos que foram criptografados com o openssl no Debian de 32 bits não funciona mais.

Eu usei para criptografar arquivos assim:

$ openssl des3 -in bla.txt -out bla.txt.des3

e decifre assim:

$ openssl des3 -d -in bla.txt.des3 -out bla.txt

Isso ainda funciona se eu chroot em um backup da antiga instalação de teste do Debian de 32 bits. Na instalação de 64 bits, recebo o seguinte erro:

$ openssl des3 -d -in bla.txt.des3 -out bla.txt
enter des-ede3-cbc decryption password:
bad decrypt
140219224302720:error:06065064:digital envelope outines:EVP_DecryptFinal_ex:bad decrypt:crypto/evp/evp_enc.c:529:

Qual é a maneira correta de invocar openssl no sistema de teste Debian de 64 bits para decodificar os arquivos?

EDIT informações da versão:

antigo (32 bits no chroot):

$ openssl version
OpenSSL 1.0.2j  26 Sep 2016
$ dpkg -l | grep ssl
ii  libssl1.0.2:i386                                            1.0.2j-1                             i386         Secure Sockets Layer toolkit - shared libraries
ii  openssl                                                     1.0.2j-1                             i386         Secure Sockets Layer toolkit - cryptographic utility
ii  ssl-cert                                                    1.0.38                               all          simple debconf wrapper for OpenSSL
$ ldd /usr/bin/openssl
  linux-gate.so.1 (0xf7729000)
  libssl.so.1.0.2 => /usr/lib/i386-linux-gnu/libssl.so.1.0.2 (0xf769c000)
  libcrypto.so.1.0.2 => /usr/lib/i386-linux-gnu/libcrypto.so.1.0.2 (0xf7498000)
  libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7493000)
  libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf72dc000)
  /lib/ld-linux.so.2 (0x5663b000)

novo (64 bits):

$ openssl version
OpenSSL 1.1.0c  10 Nov 2016
$ dpkg -l | grep ssl
ii  libssl1.0.2:amd64                                           1.0.2j-4                          amd64        Secure Sockets Layer toolkit - shared libraries
ii  libssl1.1:amd64                                             1.1.0c-2                          amd64        Secure Sockets Layer toolkit - shared libraries
ii  openssl                                                     1.1.0c-2                          amd64        Secure Sockets Layer toolkit - cryptographic utility
ii  ssl-cert                                                    1.0.38                            all          simple debconf wrapper for OpenSSL
$ ldd /usr/bin/openssl 
linux-vdso.so.1 (0x00007ffe63c76000)
libssl.so.1.1 => /usr/lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007f9b74487000)
libcrypto.so.1.1 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f9b73ff6000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9b73df2000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9b73bd5000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9b73837000)
/lib64/ld-linux-x86-64.so.2 (0x000055a182164000)
    
por hochl 21.12.2016 / 18:56

1 resposta

2

Isso ocorre porque o padrão para o resumo da mensagem foi alterado de md5 para sha-256 no OpenSSL 1.1.0. Descriptografar coisas usando o resumo antigo permanece possível, se você explicitar:

openssl des3 -d -in bla.txt.des3 -out bla.txt -md md5
    
por 26.10.2018 / 18:16