數字簽名的過程
數字簽名(又稱公鑰數字簽名)是只有信息的發送者才能產生的別人無法偽造的一段數字串,這段數字串同時也是對信息的發送者發送信息真實性的一個有效證明。它是一種類似寫在紙上的普通的物理簽名,但是使用了公鑰加密領域的技術來實現的,用于鑒別數字信息的方法。一套數字簽名通常定義兩種互補的運算,一個用于簽名,另一個用于驗證。數字簽名是非對稱密鑰加密技術與數字摘要技術的應用。
發送報文時,發送方用一個哈希函數從報文文本中生成報文摘要,然后用發送方的私鑰對這個摘要進行加密,這個加密后的摘要將作為報文的數字簽名和報文一起發送給接收方,接收方首先用與發送方一樣的哈希函數從接收到的原始報文中計算出報文摘要,接著再公鑰來對報文附加的數字簽名進行解密,如果這兩個摘要相同、那么接收方就能確認該數字簽名是發送方的。
數字簽名有兩種功效:一是能確定消息確實是由發送方簽名并發出來的,因為別人假冒不了發送方的簽名。二是數字簽名能確定消息的完整性。因為數字簽名的特點是它代表了文件的特征,文件如果發生改變,數字摘要的值也將發生變化。不同的文件將得到不同的數字摘要。 一次數字簽名涉及到一個哈希函數、接收者的公鑰、發送方的私鑰。
數字簽名技術的應用
數字簽名可以用來干什么呢?
1.網站認證
首先最常見的用處就是用來認證一個網站的身份。
比如我打開百度,百度是怎么保證顯示在我眼前的網頁就一定是百度生成的,不是其他人修改的呢?就是借助數字簽名來實現的。
用IE瀏覽器打開百度,點擊地址欄旁邊的小鎖,再點擊查看證書,就可以看到百度主頁的數字簽名證書了。所謂證書,其實是對公鑰的封裝,在公鑰的基礎上添加頒發者、有效期等信息。
“簽名算法”一欄可以看到,它使用的是sha256RSA,也就是使用SHA-256計算摘要,然后使用RSA對摘要進行簽名。而在“公鑰”一欄則保存著該證書的“本體”,用于驗證簽名的RSA公鑰。
2.代碼簽名
而除此之外,還有個地方我們經常碰到數字簽名的——代碼簽名。
如果Windows上的可執行程序程序來源于正規公司,那么通常它會有代碼簽名,用于確保其來源可靠且未被篡改。以QQ為例,它的數字簽名是這樣的。
精彩閱讀推薦:
數字簽名技術具有什么特性_數字簽名技術的三個安全性
數字簽名技術的主要功能_數字簽名技術的實現過程
-
數字簽名
+關注
關注
2文章
76瀏覽量
13823
發布評論請先 登錄
相關推薦
評論