[英]How to decrypt the encrypted file using openssl? [closed]
我得到了使用OpenSSL支持的对称加密算法之一进行加密并以base64编码的文件。 对称密码算法未知。 解密所需的密码是“ hiking”。
文件内容为U2FsdGVkX197Fk00w7IT0UQO4SftRXiS19kPPYM3MUiMA + XdAbjSDw ==
首先:我通过执行文件秘密来确定文件类型结果:
secret.out: openssl enc'd data with salted password, base64 encoded
第二:我使用base64命令解密base64
第三:解密base64后,我执行file命令确定文件类型
结果:
secretbase64.out: openssl enc'd data with salted password
第三:我使用opensl使用不同的密码进行解密。错误指出解密不正确。 我在考虑是否有办法确定此文件上使用的密码和摘要
我尝试使用针对不同密码的openssl解密文件。 它显示了错误的解密错误。
openssl enc -aes-128-cbc -d -in secretbase64.out -out secretbase64-aes-128-cbc -k hiking
openssl enc -aes-128-ecb -d -in secretbase64.out -out secretbase64-aes-128-ecb -k hiking
openssl enc -aes-192-cbc -d -in secretbase64.out -out secretbase64-aes-192-cbc -k hiking
我还执行了openssl支持的所有密码。
aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb
aes-256-cbc aes-256-ecb base64 bf
bf-cbc bf-cfb bf-ecb bf-ofb
camellia-128-cbc camellia-128-ecb camellia-192-cbc camellia-192-ecb
camellia-256-cbc camellia-256-ecb cast cast-cbc
cast5-cbc cast5-cfb cast5-ecb cast5-ofb
des des-cbc des-cfb des-ecb
des-ede des-ede-cbc des-ede-cfb des-ede-ofb
des-ede3 des-ede3-cbc des-ede3-cfb des-ede3-ofb
des-ofb des3 desx rc2
rc2-40-cbc rc2-64-cbc rc2-cbc rc2-cfb
rc2-ecb rc2-ofb rc4 rc4-40
seed seed-cbc seed-cfb seed-ecb
seed-ofb
它应该解密文件,我应该看到内容。 每个密码的错误如下所示
bad decrypt
140422261063872:error:0606506D:digital envelope routines:EVP_DecryptFinal_ex:wrong final block length:../crypto/evp/evp_enc.c:525:
有没有办法确定特定文件的准确密码和摘要,并使用openssl解密?
并不是真正的答案,但太多的评论。
openssl enc -d
可以为您完成base64解码,请参见手册页上的-a
但是不,密码(包括模式)和PBKDF哈希未记录在文件中,并且现代密码被设计为与随机数据(因此彼此之间)也没有区别( 长度除外),因此您必须知道或大多猜测参数。 您的密文不是16字节的倍数,因此它不能是AES Camellia SEED的块模式(ECB或CBC)。 它是 8字节的倍数,因此可以是DES三重DES的块模式(OpenSSL具有两个键控选项:des-ede和des-ede3)Blowfish IDEA。 它也可以是任何(块)算法的流模式,也可以是流密码(RC4或ChaCha20或更高版本1.1.0中的流密码),尽管这些可能性较小。
您的“所有密码”列表几乎不是全部。 这是语法帮助中给出的列表,这些密码可以用作命令名称 (以及在OpenSSL的构建中,该构建已将IDEA从构建中删除,就像一些严格的自由构建一样,由于过去有关专利状态的问题,例如Debian)。 这只是enc
命令支持的密码算法的一个子集,更不用说libcrypto了。 使用openssl list-cipher-algorithms
或openssl enc -?
在通过1.0.2或openssl list -cipher-algorithms
(增加的空间)或openssl enc -ciphers
在1.1.0以上版本中的完整列表。 请注意,此列表实际上是EVP支持的算法和模式,但并非命令行enc
支持全部; 特别是enc
不能使用身份验证(也称为AEAD =具有附加数据的身份验证加密)模式,即AES-GCM AES-CCM和ChaCha20-Poly1305或密钥包装模式。
祝好运。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.