텍스트가 포함된 간단한 암호화된 파일이 있습니다. 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으로 확인).
답변1
openssl enc
비밀번호 기반 키 파생에 사용되는 기본 해시는 1.1.0에서는 SHA256으로, 이전 버전에서는 MD5로 변경되었습니다. 이는 동일한 비밀번호를 기반으로 다른 키를 생성하며(일반적인 솔트를 사용하는 경우) 암호화 및 해독에 다른 키를 사용하려고 하면 가비지, 오류 또는 둘 다가 생성됩니다.
기존 데이터에 대해 이 문제를 해결하려면 -md md5
1.1.0에서 이전 버전의 데이터 암호 해독을 지정하고, -md sha256
이전 버전에서는 1.1.0에서 데이터 암호 해독을 지정하십시오. 앞으로는 -md
이를 명시적으로 지정하는 것이 좋습니다. 자세한 내용은 다음을 참조하세요.https://crypto.stackexchange.com/questions/3298/is-there-a-standard-for-openssl-interoperable-aes-encryption/35614#35614(공개: 내 것)