信息摘要算法、對稱加密、非對稱加密的著眼點都在於信息本身的編解碼,將信息轉換為壹種不易被識別的序列,通過對此序列的反向鑒別來鑒定信息的完整性並解密真實的信息。
在實際使用中,我們需要壹種更加實用的身份識別技術,這種技術類似簽字畫押,壹旦我們簽出的信息發布後,任何人都可以鑒別這條信息是經我們簽發的。數字簽名技術就是解決此類問題產生的技術, 數字簽名技術產生的信息:具有不可抵賴性的。
數字簽名技術是現代網絡中常用的認證技術,這是壹種帶有密鑰的信息摘要算法,主要用途是抗否認。數字簽名技術包對信息摘要使用私鑰加密,任何人拿到公鑰都可以解密並驗證信息。因此可以把數據簽名技術看成是非對稱加密技術和信息摘要技術的合體技術。
數字簽名算法是 公鑰基礎設施 (Public Key Infrastructure , PKI)的基礎,算法要求:可以驗證數據的完整性、有消息,認證數據的來源,起到抗否認的作用。
數字簽名技術本質上還是信息摘要算法,信息摘要算法只是計算出了信息的唯壹串,也就是摘要相同的數據,明文數據肯定相同。信息摘要只能做到信息的完整性,但是無法強有力的保證信息的抗抵賴性。信息摘要的痛點:
數據簽名技術在摘要只是對摘要數據做加密,保證只有信息產生方才產生此簽名串,具體做法如下:
美國 NIST 公布過 DSS( digital signa )
美國國家標準技術局(NIST)在1991年提出過 DSS (數字簽名標準,全稱:Digital Signature Standard)作為 FIPS (美國聯邦信息處理標準)。其中 DSS 僅僅只是壹個標準,裏面指定采用 DSA 作為簽名算法。
前面提到 數字簽名 的核心是 信息摘要算法 、輔助是 非對稱加密算法 ,因此壹般我們提到數字簽名都需要表明采用了哪些算法,如: MD5WithRSA 、 SHA1withDSA 等。
在數字簽名中,其安全性是依賴 非對稱加密算法 的。所以通常情況下,我們不是很關註使用的摘要算法,所以,會有如下劃分:
RSA 、 DSA 、 ECDSA 沒有哪壹方有決定優勢可以將其他競爭對手擊敗: