03-密码学基础-数字摘要hash的介绍
思考:
SHA-1、SHA-2、SHA-3的區別是什么?
sha怎么讀的?
SHA-1、sha1有什么區別?
SHA-512/224和SHA-512/256又是什么?
什么場景下,才會使用SHA-3?
SHAKE128和SHAKE256是什么?
安全散列演算法(Secure Hash Algorithm,縮寫為SHA)是一個密碼雜湊函數家族,是FIPS所認證的安全雜湊演算法。能計算出一個數位訊息所對應到的,長度固定的字串(又稱訊息摘要)的算法。且若輸入的訊息不同,它們對應到不同字串的機率很高。
SHA家族的演算法,由美國國家安全局(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。
| MD5 | 128 | |
| SHA-0 | 160 | |
| SHA-1 | 160 | |
| SHA-2 | SHA-224 SHA-256 SHA-384 SHA-512 | 224 256 384 512 |
| SHA-3 | SHA-224 SHA-256 SHA-384 SHA-512 SHA-512/224 SHA-512/256 | 224 256 384 512 224 256 |
SHA-3示例:
SHA3-224("")
6b4e03423667dbb73b6e15454f0eb1abd4597f9a1b078e3f5b5a6bc7
SHA3-256("")
a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a
SHA3-384("")
0c63a75b845e4f7d01107d852e4c2485c51a50aaaa94fc61995e71bbee983a2ac3713831264adb47fb6bd1e058d5f004
SHA3-512("")
a69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26
SHAKE128("", 256)
7f9c2ba4e88f827d616045507605853ed73b8093f6efbc88eb1a6eacfa66ef26
SHAKE256("", 512)
46b9dd2b0ba88d13233b3feb743eeb243fcd52ea62b81b82b50c27646ed5762fd75dc4ddd8c0f200cb05019d67b592f6fc821c49479ab48640292eacb3b7c4be
總結
以上是生活随笔為你收集整理的03-密码学基础-数字摘要hash的介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: optee HSM的实现
- 下一篇: 专题目录20211013-ongoing