2

bcrypt 是 10 多年前设计的。

根据自以为是的互联网声音,bcrypt 比 PBKDF2 等替代方案更好,因为它具有 GPGPU 攻击缓解功能(高内存、变异表),尽管这两种算法都有一个可修改的工作因子,可以减慢暴力破解尝试。

我读过 bcrypt 真的只需要 4k 的可变内存,而对于现代 GPU 或 FPGA,它并不比替代品好。

这有多真实?bcrypt 与这些类型的攻击相比是否还有优势?

4

2 回答 2

2

bcrypt 比 PBKDF2 更强

  1. 尽管现代 GPU 和 FPGA 可能有足够的内存来处理 bcrypt,但与 SHA 哈希系列(大多数 PBKDF2 实现的基础)相比,更高的内存要求仍然会减慢它们的速度。
  2. 与 SHA 系列不同,Blowfish 是一种很难矢量化的算法。矢量化 SHA 对 GPU 非常友好,并允许更多的并行性。

不过可能没关系

bcrypt 充其量比 PBKDF2 具有线性优势。也就是说,如果敌人可以在 X 时间内破解一个 PBKDF2 系统,那么他们可以在 n*X 时间内破解一个 bcrypt 系统,对于某个常数 n>1。而 n 可能还不足以产生改变游戏规则的差异。

我的看法是,如果我的密码足够弱,可以在任何合理的时间内被破解,那么将该时间乘以 n(通过更改算法)不会改变太多。

于 2013-08-22T22:03:14.597 回答
1

加密越先进,技术就越先进。

bcrypt 很好,因为它允许您扩展大小,使其更难进行传统的计算机攻击。但是,如果您真的担心更复杂的攻击,请研究如何专门防止这些类型的攻击。您可能必须根据攻击的复杂程度使用多种安全措施。

但是对于大多数只想保护用户密码的网站来说,bcrypt 是一个非常好的选择。

于 2013-08-22T21:28:40.993 回答