Criptografia TripleDES usando o subcomando OpenSSL enc

2

Eu tenho uma ferramenta que está usando o OpenSSL para a operação RSA e DES / TDES. Após o processamento por uma ferramenta, recebi key = 4F324364970DBA5DE058EF0EAE54625E e os dados criptografados são como data = D4B596A6724A32B4663965688F28E01C

Aqui, quando eu tento a ferramenta on-line DES_Calculator para descriptografia, tenho exigir texto puro após a descriptografia, o que eu encontrei, precisa tentar TDES com o modo CBC.

Eu tentei fazer o mesmo (descriptografia) com o OpenSSL com o seguinte comando:

 C:\OpenSSL-Win32\bin>openssl enc -d -des-ede-cbc -nosalt -k 4F324364970DBA5DE058
EF0EAE54625E -iv 0000000000000000 -in ENC_DATA -out ENC_DATA_O
bad decrypt
6088:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:.\
crypto\evp\evp_enc.c:529:

em que o conteúdo de ENC_DATA é como

Aqui, quero o mesmo resultado da ferramenta on-line.

Além disso, o mesmo comando está funcionando bem depois que a opção -e foi executada no mesmo conjunto de arquivos. Alguém poderia me dizer por que esse erro ocorreu e como removê-lo?

    
por Arjun 16.05.2016 / 08:33

1 resposta

2

Experimente -K em vez de -k . -k é usado para senhas e -K para chaves em hexadecimais. Você provavelmente não precisará mais da opção -nosalt .

Você precisa usar -nopad e remover o preenchimento de bits.

O preenchimento de bits consiste em um único bit definido como 1 seguido por vários bits definido como 0. Se o texto original consistir em bytes - normalmente é usado - então o preenchimento de bits será igual a um único byte 80 seguido por zero ou mais 00 bytes avaliados.

Atualmente, o preenchimento compatível com PKCS # 7 é geralmente usado. O OpenSSL só é capaz de remover o preenchimento do PKCS # 7.

    
por 16.05.2016 / 12:04