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

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

我不确定是否应该在 stackoverflow 还是超级用户上询问这个问题。

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

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

答案1

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

当 Trucrypt 解密一团数据并且头部与预期相匹配时,它会报告解密成功。如果您使用错误的密码,它仍会“解密”文本,但会将头部解密为乱码,并导致解密检查失败。

以下是规范的链接镜子),你可以看到,要使它成为一个有效的标头,必须满足许多条件(解密后的字节 64-67 应始终为 ASCII 值TRUE,字节 132-251 必须全部为0's,等等)。如果你解密一个数据块,但它与该标头格式不匹配,则说明解密失败。

相关内容