bcrypt 是 10 多年前设计的。
根据自以为是的互联网声音,bcrypt 比 PBKDF2 等替代方案更好,因为它具有 GPGPU 攻击缓解功能(高内存、变异表),尽管这两种算法都有一个可修改的工作因子,可以减慢暴力破解尝试。
我读过 bcrypt 真的只需要 4k 的可变内存,而对于现代 GPU 或 FPGA,它并不比替代品好。
这有多真实?bcrypt 与这些类型的攻击相比是否还有优势?
bcrypt 是 10 多年前设计的。
根据自以为是的互联网声音,bcrypt 比 PBKDF2 等替代方案更好,因为它具有 GPGPU 攻击缓解功能(高内存、变异表),尽管这两种算法都有一个可修改的工作因子,可以减慢暴力破解尝试。
我读过 bcrypt 真的只需要 4k 的可变内存,而对于现代 GPU 或 FPGA,它并不比替代品好。
这有多真实?bcrypt 与这些类型的攻击相比是否还有优势?
bcrypt 比 PBKDF2 更强
不过可能没关系
bcrypt 充其量比 PBKDF2 具有线性优势。也就是说,如果敌人可以在 X 时间内破解一个 PBKDF2 系统,那么他们可以在 n*X 时间内破解一个 bcrypt 系统,对于某个常数 n>1。而 n 可能还不足以产生改变游戏规则的差异。
我的看法是,如果我的密码足够弱,可以在任何合理的时间内被破解,那么将该时间乘以 n(通过更改算法)不会改变太多。
加密越先进,技术就越先进。
bcrypt 很好,因为它允许您扩展大小,使其更难进行传统的计算机攻击。但是,如果您真的担心更复杂的攻击,请研究如何专门防止这些类型的攻击。您可能必须根据攻击的复杂程度使用多种安全措施。
但是对于大多数只想保护用户密码的网站来说,bcrypt 是一个非常好的选择。