PBKDF2 密钥正在解密没有相同盐的 AES?

问题描述 投票:0回答:1

如果不保存和重复使用 PBKDF2 中的盐,以下如何可能?

这是我正在做的encrypt文件:

openssl aes-256-cbc -pbkdf2 -in secret.txt -out secret.enc -a -kfile kfile.file

在哪里

secret.txt = "secret message"
,和
kfile.file = "password"

然后我运行以下命令decrypt刚刚加密的文件:

openssl aes-256-cbc -pbkdf2 -d -in secret.enc -out secret.decrypted -a -kfile kfile.file

解密后的文件结果

secret.decrypted = "secret message"

据我所知,我需要用于 PBKDF2 的初始盐来导出相同的解密密钥,为什么这里显然不是这种情况?

当运行

openssl aes-256-cbc -help
时,它声明默认情况下在KDF中使用盐。

encryption aes pbkdf2 cbc-mode
1个回答
1
投票

(隐式生成的)随机 8 字节盐和密文自动连接。另外,前面加上了

Salted__
的ASCII编码:

<ASCII encoding of Salted__>|<8 bytes salt>|<ciphertext>

-a
选项导致结果被 Base64 编码。由于固定前缀
Salted__
,因此数据总是以
U2FsdGVkX1
开头。

© www.soinside.com 2019 - 2024. All rights reserved.