我正在使用 TrueCrypt 加密卷。我决定使用它AES
作为加密算法,因为它是政府标准。
但是哪种哈希算法更好(更安全)?RIPEMD-160
或SHA-512
或Whirlpool
?
我正在使用 Mac。
答案1
答案2
我质疑 NIST 委员会为何承认 Serpent 具有卓越的安全性,但仍然选择 Rijndael 和 Sha-256/512 作为 AES。我想知道,当安全性成为首要问题时,为什么委员会不选择它,理由是它不够快。Serpent 在安全性方面得分最高。没错,Rijndael 速度更快,但无论选择什么,硬件兼容性都会像 AES 一样嵌入到 CPU 中。我使用 Serpent 和 Whirlpool,后者与 SHA-512 大致相同。在 SSD 上,在 3 台配备不同英特尔芯片 i5/i7 Haswell、Ivy Bridge 和 Skylake 的台式机和笔记本电脑 Intel i7 中,速度差异不到 5%。据我所知,Serpent/Whirlpool 组合中存在已知后门,这让我的决定变得容易。
答案3
我认为可以从三个方面来看待这个问题。
如果您使用它来保存非非法性质的私人物品,并且您主要担心的是有人窃取您的计算机并翻找它以窃取您的身份等,那么几乎任何相对现代的 HASH 函数都可以,因为对手的资源有限且可能技能娴熟。这将包括较小的商业竞争对手。当然,AES 也可以。
其次,如果您担心的是拥有大量 IT 和技术知识的大型企业对手或大多数州/政府参与者,那么您需要选择两种常见正统建议都接受的方案:SHA-256 或 SHA-512。SHA-512 会导致轻微的性能损失,因此没有理由不使用它,美国政府将它(和 AES)用于最高机密。只要您的加密密钥是安全生成的并且至少有 14 个字符,并且 HASH 函数的种子足够随机,那么暴力破解解决方案在计算上是不可行的(有些网站粗略计算了暴力破解所需的时间)。SHA 和 AES 都经过了广泛的研究,到目前为止,还没有发现比暴力攻击更便宜的弱点。
最后,如果您偏执/心平气静/世界间谍都想利用您,那么不要使用美国政府认为没问题的任何东西,因为他们在这方面有着悠久而可耻的伪造历史(请参阅维基百科,了解美国政府向盟友提供加密的例子,他们已经可以破解这些加密,以及其他肮脏的伎俩)。他们不会将其用于最高机密,这表明出于某种原因,他们担心它在未来(或现在)会很脆弱。然后我建议使用 Serpent 进行加密(因为它的安全性评级高于 AES 决赛选手)或 Camellia,它在非硬件加速算法中运行速度最快。Twofish 在速度上与 Serpent 相差不大,也是开源的,而且可以说比 AES 更安全。在 HASH 函数方面,再次使用 RIPEMD-160(Whirlpool 不再作为 Veracrypt 的选项提供),因为它不是美国政府的,而且是开源的。如果您真的担心,请使用级联方案。但就 HASH 函数而言,RIPEMD-160 正是您在此级别所需要的。