什么是Scrypt算法?Scrypt算法有什么说法?
文 / 酆子辰
2018-02-19 09:36
精品推荐
Scrypt是由著名的FreeBSD黑客 Colin Percival为他的备份服务 Tarsnap开发的。下面小编给大家介绍一下它,希望你能喜欢!
Scrypt不仅计算所需时间长,而且占用的内存也多,使得并行计算多个摘要异常困难,因此利用rainbow
table进行暴力攻击更加困难。Scrypt没有在生产环境中大规模应用,并且缺乏仔细的审察和广泛的函数库支持。但是,Scrypt在算法层面只要没有破绽,它的安全性应该高于PBKDF2和bcrypt。
与其他加密算法比较
PBKDF2
PBKDF2简单而言就是将salted
hash进行多次重复计算,这个次数是可选择的。如果计算一次所需要的时间是1微秒,那么计算1百万次就需要1秒钟。假如攻击一个密码所需的rainbow
table有1千万条,建立所对应的rainbow table所需要的时间就是115天。这个代价足以让大部分的攻击者忘而生畏。
美国政府机构已经将这个方法标准化,并且用于一些政府和军方的系统。 这个方案最大的优点是标准化,实现容易同时采用了久经考验的SHA算法。
bcrypt
bcrypt是专门为密码存储而设计的算法,基于Blowfish加密算法变形而来,由Niels
Provos和David Mazières发表于1999年的USENIX。 bcrypt最大的好处是有一个参数(work
factor),可用于调整计算强度,而且work factor是包括在输出的摘要中的。随着攻击者计算能力的提高,使用者可以逐步增大work
factor,而且不会影响已有用户的登陆。
bcrypt经过了很多安全专家的仔细分析,使用在以安全著称的OpenBSD中,一般认为它比PBKDF2更能承受随着计算能力加强而带来的风险。bcrypt也有广泛的函数库支持,因此我们建议使用这种方式存储密码。
以上就是关于Scrypt算法的相关介绍,希望小编的内容能帮到大家!
|
木蚂蚁资讯频道-全网最新科技新闻和软件游戏资讯教程发布平台(www.mumayi.cn) 版权所有