web-dev-qa-db-ja.com

1つのボックスでopensslを使用してファイルを復号化できるのに、別のボックスでは復号化できないのはなぜですか?

内部に少しテキストが入った単純な暗号化ファイルがあります。それはdes3で暗号化されており、私は鍵を知っています。ただし、私は一生かけてkali VMで復号化することはできません。 LInux Mintでは正常に動作しますVMただし、私はここでうまくいきます...何が問題なのですか?

これが機能する復号化です:

user@user-virtual-machine ~/Desktop $ openssl des3 -d -in TheKeyIsInHere.des3 -pass pass:aramisthethird
GJC13 says the key is nuorjbwyldurrurykpym
user@user-virtual-machine ~/Desktop $

そして、これが壊れたものです:

root@chkali:~/Desktop/new# openssl des3 -d -in TheKeyIsInHere.des3 -pass pass:aramisthethird
bad decrypt
139786246681728:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:crypto/evp/evp_enc.c:529:
�c]z��6z��oք��n&ΰ�Xqroot@chkali:~/Desktop/new# 

ファイルはどちらの場合も同じです(md5sumによって検証されます)。

6
Carrot

1.1.0でopenssl encがパスワードベースのキー導出に使用するデフォルトのハッシュがSHA256に変更されましたが、以前のバージョンではMD5になりました。これは同じパスワードから別のキーを生成し(通常のように使用される場合はソルト)、異なるキーで暗号化および復号化しようとすると、ガベージ、エラー、またはその両方が生成されます。

既存のデータに対してこれを修正するには、1.1.0で-md md5を指定して下位バージョンからデータを復号化し、下位バージョンで-md sha256を指定して1.1.0からデータを復号化します。今後は、-mdを明示的に指定することを検討してください。詳細については https://crypto.stackexchange.com/questions/3298/is-there-a-standard-for-openssl-interoperable-aes-encryption/35614#35614 (開示:鉱山)を参照してください

14