猿问

加密/解密在两个不同的openssl版本之间不能很好地工作

加密/解密在两个不同的openssl版本之间不能很好地工作

我已经下载并编译了openssl-1.1.0

我可以加密,并使用相同的exe解密openssl(如这里

me@ubuntu:~/openssl-1.1.0$ LD_LIBRARY_PATH=. ./apps/openssl aes-256-cbc -a -salt -in file.txt -out file.txt.encenter aes-256-cbc encryption password: 123Verifying - enter aes-256-cbc encryption password:me@ubuntu:~/openssl-1.1.0$ LD_LIBRARY_PATH=. apps/openssl aes-256-cbc -a -d -in file.txt.enc -out file.txt.decenter aes-256-cbc decryption password: 123

openssl用于:libcrypto.so.1.1, libssl.so.1.1

当我尝试openssl使用我的ubuntu上安装的解密时,它使用: /lib/x86_64-linux-gnu/libssl.so.1.0.0, /lib/x86_64-linux-gnu/libcrypto.so.1.0.0

我收到一个错误:

me@ubuntu:~/openssl-1.1.0$ openssl aes-256-cbc -a -d -in file.txt.enc -out file.txt.dec2enter aes-256-cbc decryption password: 123bad decrypt140456117421728:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:539:

可能是什么原因导致的 谢谢


桃花长相依
浏览 2234回答 3
3回答

HUH函数

在Openssl 1.1中,默认摘要从MD5更改为SHA256尝试使用-md md5cgs@ubuntu:~$ echo "it-works!" > file.txtcgs@ubuntu:~$ LD_LIBRARY_PATH=~/openssl-1.1.0/ openssl-1.1.0/apps/openssl aes-256-cbc -a -salt -in ~/file.txt -out ~/file.txt.enc -md md5enter aes-256-cbc encryption password:Verifying - enter aes-256-cbc encryption password:cgs@ubuntu:~$ LD_LIBRARY_PATH=~/openssl-1.0.1f/ openssl-1.0.1f/apps/openssl aes-256-cbc -a -in ~/file.txt.enc -denter aes-256-cbc decryption password:it-works!丑陋的细节:输入的密码不是由aes(或其他加密)使用,但命令隐式从中导出密钥。密钥派生使用在openssl 1.1中更改的消息摘要使用SHA256而不是MD5作为默认摘要。如果你想保持简单的密码,而不是开始搞乱键盘军事(-K,-iv)只需用-md强制相同的摘要

慕少森

OpenSSL 1.1和LibreSSL之间也可能发生此问题。在这种情况下,以及在可用的更安全的消息摘要的其他情况下,您应该避免使用-md md5加密新文件,因为MD5算法具有广泛的漏洞。您应该使用-md sha256或所有版本支持的其他更安全的消息摘要。-md md5应仅用于解密旧文件,理想情况下应使用sha256重新加密。这也在OpenSSL FAQ中提到:消息摘要用于从人工输入的密码短语创建加密/解密密钥。在OpenSSL 1.1.0中,我们从MD5更改为SHA-256。我们这样做是作为整体改变的一部分,以摆脱现在不安全和破碎的MD5算法。如果您有旧文件,请使用“-md md5”标志对其进行解密。要检查您正在使用的不同版本支持哪些消息摘要,请运行openssl help:LibreSSL 2.2.7(包含在macOS 10.13 High Sierra中):$ openssl help…Message Digest commands (see the `dgst' command for more details)gost-mac          md4               md5               md_gost94ripemd160         sha               sha1              sha224sha256            sha384            sha512            streebog256streebog512       whirlpool…OpenSSL 1.1f:$ openssl help…Message Digest commands (see the `dgst' command for more details)blake2b512        blake2s256        gost              md4md5               rmd160            sha1              sha224sha256            sha384            sha512…
随时随地看视频慕课网APP
我要回答