密码破解者如何知道它何时完成?

Eve*_*t B 3 encryption passwords cryptography

我想我缺少一些关于基于密码的数据加密的基本知识.

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

Maa*_*wes 5

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

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

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