我认为 scrypt(bcrypt(password)) 比使用单独的 (s|b)crypt 更好吗?特别是在考虑两种算法的两个不同密钥时。
我也对一些论文感兴趣。
我认为 scrypt(bcrypt(password)) 比使用单独的 (s|b)crypt 更好吗?特别是在考虑两种算法的两个不同密钥时。
我也对一些论文感兴趣。
当考虑到 scrypt 所针对的攻击模型时, scrypt(bcrypt(password)) 的安全性会降低- 即需要尽可能昂贵的硬件来进行暴力攻击。
但是,如果您认为 scrypt 构造或 scrypt 中使用的原语(SHA256、Salsa20)容易失败,那么使用 bcrypt 也会带来另一个加密原语(河豚)。但是,也可能完全没有任何好处。
一般来说,我强烈建议不要在没有真正理解后果并证明获得一些有意义的好处的情况下组合这样的方法。
编辑:哦,如果你不知道,scrypt 在它自己的方法之前和之后都使用 PBKDF2,这可能是最广泛使用的强密码散列方法 - 当然比 bcrypt 更常用。
编辑:关于这个问题的最接近的加密论文可能是那些评估 TLS PRF 结构中的 SHA1 和 MD5 组合的论文,例如:Hash Function Combiners in TLS and SSL。
我不完全确定这里的政策,但是当某些东西几乎比谷歌搜索要少时,真的应该把它作为一个问题放在这里吗?
确定 scrypt(bcrypt(password)) 是否优于单一 (s|b)crypt 完全取决于您对“更好”的定义。
虽然我当然没有声称自己在密码学方面具有远程能力或经验,但在我看来,将它们结合起来似乎比单独使用它们更强大。