假设我想使用一个安全散列算法,比如 bcrypt,并且我想使用一个年轻的 bcrypt 实现,例如称为libfancybcrypt
,而不是一个成熟的实现。
当然,我可以简单地生成几千或几百万个随机字符串,用旧的、完善的库对它们libfancybcrypt
进行哈希处理,最后比较哈希值。所以假设,我已经这样做了,并且有问题的新库对所有随机输入产生了与完善的库相同的结果。
我的问题有两个部分:
假设库作者是可信的。鉴于我上面的随机输入测试:作者不小心引入了一个错误,即存在计算错误哈希的输入的可能性有多大?
假设库作者不可信。鉴于我上面的随机输入测试:作者故意引入某种后门的可能性有多大?
相关但仍然不同: