Truecrypt 如何知道它有正确的密码?

loc*_*ost 4 encryption truecrypt

我不确定是在 stackoverflow 还是超级用户上问这个。

在 truecrypt 文档中,它说 truecrypt 容器与随机数据无法区分。我的问题是,truecrypt 如何知道何时获得了正确的密码并正确解码了加密的容器?

解密后的数据是否具有某种标头来标识它已被正确解密,例如“truecrypt volume”标头?

Sco*_*ain 11

它知道正确的密码,因为在那个加密的容器中有一个已知的标头。

当 Trucrypt 解密一团数据并且标头与它期望的匹配时,它会报告解密成功。如果您使用不正确的密码,它仍然会“解密”文本,但它会将标头解密为乱码并使解密检查失败。

这是规范mirror的链接,您可以看到许多事情必须是真实的才能成为有效的标头(解密后的字节 64-67 应始终为 ASCII 值TRUE,字节 132-251 必须全部为0等)。如果您解密一团数据并且它与该标头格式不匹配,则您知道解密失败。