Encryption 密码破解者如何知道它何时';结束了吗?

Encryption 密码破解者如何知道它何时';结束了吗?,encryption,passwords,cryptography,Encryption,Passwords,Cryptography,我想我遗漏了一些关于基于密码的数据加密的基本信息 破解基于密码哈希的登录身份验证的工具在成功登录时知道找到了正确的密码(或仍然与哈希匹配的备用密码)。但是,使用密码作为密钥源破解基于文件或流的加密的工具如何知道何时成功?在我看来,不同的尝试密码会将加密的源流转换为不同的目标字节集,而特定的密码会生成“正确”的字节集。我不明白破解工具如何识别出它有正确的未加密字节集,停止尝试并报告“破解!” 大多数情况下,纯文本使用已知模式。如果完全随机,则攻击者无法区分成功与失败。可能会返回一组密钥,其中只有一

我想我遗漏了一些关于基于密码的数据加密的基本信息


破解基于密码哈希的登录身份验证的工具在成功登录时知道找到了正确的密码(或仍然与哈希匹配的备用密码)。但是,使用密码作为密钥源破解基于文件或流的加密的工具如何知道何时成功?在我看来,不同的尝试密码会将加密的源流转换为不同的目标字节集,而特定的密码会生成“正确”的字节集。我不明白破解工具如何识别出它有正确的未加密字节集,停止尝试并报告“破解!”

大多数情况下,纯文本使用已知模式。如果完全随机,则攻击者无法区分成功与失败。可能会返回一组密钥,其中只有一个是正确的。也就是说,大多数纯文本包含足够的信息(如较长的英文文本)来区分正确的键和错误的键

此外,加密模式可能泄漏足够的信息来区分纯文本和随机文本。分组密码模式-例如-尤其可能使用某种纯文本。此填充在块加密之前添加,通常包含可识别信息。以PKCS#5/7填充模式为例


请注意,加密算法本身甚至需要抵抗已知的纯文本攻击,因此即使您已经知道解密文本的外观,也不可能找到密钥。但是,使用密码会削弱现代密码的有效密钥数量,因此密码的强度至关重要。

请注意,密码不应直接用作密钥,你应该使用一个基于密码的密钥派生函数,比如PBKDF2,它的迭代次数很高,这样就更难破解密码了。好的,谢谢。那是我的怀疑。因此,这让我相信,未知格式的加密二进制数据,或者至少攻击者不知道的加密二进制数据,更具抵抗力。@Everett B是的,是的,但不要指望隐蔽性带来的安全性。还要注意,大多数数据都使用某种协议,协议可以与随机数据区分开来。这可能是一个unicode字节顺序标记,一个JPEG头,ASN.1 DER结构,任何东西。感谢您为分组密码纯文本填充添加的信息。很高兴知道!