哈希函数之SHA家族

我们之前就听说过这个家族,但是并不是很熟悉。今天就来仔细看一下。
SHA,全称:Secure Hash Algorithm. 是一个密码散列函数家族,他能把任意长度的信息,投影成长度固定的字符串。虽然并不是完美的哈希函数(也并不存在完美的哈希函数一说)。
本算法是由美国国家安全局(NSA)所设计,并由美国国家标准与技术研究院(NIST)发布,是美国的政府标准。
其发展历程如下:
SHA-0:1993年发布,当时称做安全散列标准(Secure Hash Standard),发布之后很快就被NSA撤回,是SHA-1的前身。
SHA-1:1995年发布,SHA-1在许多安全协议中广为使用,包括TLS、GnuPG、SSH、S/MIME和IPsec,是MD5的后继者。但SHA-1的安全性在2010年以后已经不被大多数的加密场景所接受。2017年荷兰密码学研究小组CWI和Google正式宣布攻破了SHA-1[1]。
SHA-2:2001年发布,包括SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。SHA-2目前没有出现明显的弱点。虽然至今尚未出现对SHA-2有效的攻击,但它的算法跟SHA-1基本上仍然相似。
SHA-3:2015年正式发布,由于对MD5出现成功的破解,以及对SHA-0和SHA-1出现理论上破解的方法,NIST感觉需要一个与之前算法不同的,可替换的加密散列算法,也就是现在的SHA-3。
(上述内容参考维基百科

posted @ 2021-01-02 04:08  EvanMeetTheWorld  阅读(199)  评论(0)    收藏  举报