加密文件的文件格式

加密文件的文件格式

我有兴趣了解该应用程序生成的加密文件的格式数据守护者据我所知,某种形式的密码转换存储在名为“hexIdentifier”的字段中。我觉得奇怪的是,如果两个文件使用相同的密码保存,那么它们都具有相同的“hexIdentifier”字符串。我不是在宣传这个应用程序,我与该公司没有任何关系。我只是在评估这个应用程序。

答案1

我会非常如果它确实将密码(无论是否编码)存储在加密文件中,我会感到惊讶,因为这样做会表明您对密码学缺乏基本的了解,在这种情况下,如果您需要加密文件的安全,强烈建议您放弃该软件。存储密码没有任何实际意义。

如果它确实存储了密码,即使价格低廉也不是使用它的理由,因为充足其他程序更加安全,甚至自由的(事实上​​,即使是标准档案管理员提供安全加密功能(无需存储密码)。


至于 Data Guardian,我有个坏消息。我做了一些测试,你和 Amazed 是正确的。似乎该hexIdentifier字段不仅与密码相关,甚至不是哈希,而是实际密码!(尽管经过编码,但甚至没有使用大字母表)。

如果您反复使用越来越长的密码(例如一个字符、两个字符、三个字符……)保存同一个文件,这将导致字段发生变化,但大小保持不变(64 位),最多八个字符,然后从九个字符变为 16 个字符,字段变为 128 位,依此类推。换句话说,它会将密码分块(填充?)并以 8 个字符的块进行编码。如果它是一个哈希,无论密码长度如何,字段的大小都会保持不变。因此,它实际上对密码本身进行编码和存储。

程序文件夹中有一个 DLL,表明它使用 Blowfish 分组密码(使用 64 位块 - 还记得上面的 64 位块吗?),因此密码很可能与数据一起加密(尽管与数据分开而不是作为同一流的一部分,这使得它更容易受到攻击)。

我已经在短短几分钟内就找出了该算法的几个方面,仅仅通过运行程序内测试(同时看电视),而无需在反汇编程序中打开它或查看一行代码。我认为对于有适当动机的人来说,完全逆转它不会太难。


总之,如果您需要加密,Data Guardian 就不够可靠(有点违背了名称的目的)。如果您不需要需要如果加密或数据不敏感,那么您可以使用它(它是一个专门的记录保存程序,而不是通用加密程序)。否则,如果需要安全性,那么您最好寻找另一个具有更强加密功能的记录管理程序,或者只需使用普通程序(甚至是 Data Guardian)并使用通用加密程序加密保存的文件(或NTFS 加密)。

您还可以联系开发者并询问他们是否可以实现更强的加密(即使是标准的 Microsoft 加密 API[1][2][3][4]会很好;也加密++很常见,因为 Boost 无法添加一个)。

相关内容