數字簽名,數字信封的基本原理

2021-05-08 07:47:44 字數 2630 閱讀 3939

數字簽名,就是通過在資料單元上附加資料,或對資料單元進行秘密變換,從而使接收者可以確認資料**和完整性。簡單說來,數字簽名是防止他人對傳輸的檔案進行破壞,以及確定發信人的身份的手段。

目前的數字簽名是建立在公共金鑰體制基礎上,它是公用金鑰加密技術的另一類應用。它的主要方式是:報文的傳送方從報文文字中生成乙個128位的雜湊值(又稱報文摘要,數字指紋)。傳送方用自己的私人金鑰對這個雜湊值進行加密來形成傳送方的數字簽名。然後,這個數字簽名將作為報文的附件和報文一起傳送給報文的接收方。報文的接收方首先從接收到的原始報文中計算出128位的雜湊值,接著再用傳送方的公用金鑰來對報文附加的數字簽名進行解密。如果兩個雜湊值相同、那麼接收方就能確認該數字簽名是傳送方的。通過數字簽名能夠實現對原始報文的鑑別。採用數字簽名,能確認以下兩點:第一,資訊是由簽名者傳送的;第二,資訊自簽發後到收到為止未曾作過任何修改。這樣數字簽名就可用來防止電子資訊因易被修改而有人作偽,或冒用別人名義傳送資訊。或發出(收到)信件後又加以否認等情況發生。

應用廣泛的數字簽名方法主要有三種,即:rsa簽名、dss簽名和hash簽名。這三種演算法可單獨使用,也可綜合在一起使用。用rsa或其它公開金鑰密碼演算法的最大方便是沒有金鑰分配問題(網路越複雜、網路使用者越多,其優點越明顯)。因為公開金鑰加密使用兩個不同的金鑰,其中有乙個是公開的,另乙個是保密的。公開金鑰可以儲存在系統目錄內、未加密的電子郵件資訊中、**黃頁(商業**)上或公告牌裡,網上的任何使用者都可獲得公開金鑰。而私有金鑰是使用者專用的,由使用者本身持有,它可以對由公開金鑰加密資訊進行解密。rsa演算法中數字簽名技術實際上是通過乙個雜湊函式來實現的。數字簽名的特點是它代表了檔案的特徵,檔案如果發生改變,數字簽名的值也將發生變化。不同的檔案將得到不同的數字簽名。dss數字簽名是由美國國家標準化研究院和****局共同開發的。由於它是由美國**頒布實施的,主要用於與美國**做生意的公司,其他公司則較少使用,它只是乙個簽名系統,而且美國**不提倡使用任何削弱**竊聽能力的加密軟體,認為這才符合美國的國家利益。hash簽名是最主要的數字簽名方法,也稱之為數字摘要法(digital digest)或數字指紋法(digital finger print)。它與rsa數字簽名是單獨的簽名不同,該數字簽名方法是將數字簽名與要傳送的資訊緊密聯絡在一起,它更適合於電子商務活動。

對電子檔案進行數字簽名並在網上傳輸,其技術實現過程大致如下:首先要在網上進行身份認證,然後再進行簽名,最後是對簽名的驗證。

1. 認證

pki提供的服務首先是認證,即身份識別與鑑別,確認實體即為自己所宣告的實體。認證的前提是甲乙雙方都具有第三方ca所簽發的證書,認證分單向認證和雙向認證。

(1)單向認證是甲乙雙方在網上通訊時,甲只需要認證乙的身份即可。這時甲需要獲取乙的證書,獲取的方式有兩種,一種是在通訊時乙直接將證書傳送給甲,另一種是甲向ca的目錄伺服器查詢索取。甲獲得乙的證書後,首先用ca的根證書公鑰驗證該證書的簽名,驗證通過說明該證書是第三方ca簽發的有效證書。然後檢查證書的有效期及檢查該證書是否已被作廢(lrc檢查)而進入黑名單。

(2)雙向認證。雙向認證是甲乙雙方在網上通訊時,甲不但要認證乙的身份,乙也要認證甲的身份。其認證過程與單向認證過程相同。

2. 數字簽名與驗證過程

網上通訊的雙方,在互相認證身份之後,即可傳送簽名的資料電文。數字簽名的全過程分兩大部分,即簽名與驗證。即發方將原文用雜湊演算法求得數字摘要,用簽名私鑰對數字摘要加密得數字簽名,發方將原文與數字簽名一起傳送給接受方;收方驗證簽名,即用發方公鑰解密數字簽名,得出數字摘要;收方將原文採用同樣雜湊演算法又得一新的數字摘要,將兩個數字摘要進行比較,如果二者匹配,說明經數字簽名的電子檔案傳輸成功。

數字簽名原理中定義的是對原文做數字摘要和簽名並傳輸原文,在很多場合傳輸的原文是要求保密的,要求對原文進行加密的數字簽名方法如何實現?這裡就要涉及到「數字信封」的概念。「電子信封」基本原理是將原文用對稱金鑰加密傳輸,而將對稱金鑰用收方公鑰加密傳送給對方。收方收到電子信封,用自己的私鑰解密信封,取出對稱金鑰解密得原文。其詳細過程如下:

(1) 發方a將原文資訊進行雜湊運算,得一雜湊值即數字摘要md;

(2) 發方a用自己的私鑰pva,採用非對稱rsa演算法,對數字摘要md進行加密,即得數字簽名ds;

(3) 發方a用對稱演算法des的對稱金鑰sk對原文資訊、數字簽名sd及發方a證書的公鑰pba採用對稱演算法加密,得加密資訊e;

(4) 發方用收方b的公鑰pbb,採用rsa演算法對對稱金鑰sk加密,形成數字信封de,就好像將對稱金鑰sk裝到了乙個用收方公鑰加密的信封裡;

(5) 發方a將加密資訊e和數字信封de一起傳送給收方b;

(6) 收方b接受到數字信封de後,首先用自己的私鑰pvb解密數字信封,取出對稱金鑰sk;

(7) 收方b用對稱金鑰sk通過des演算法解密加密資訊e,還原出原文資訊、數字簽名sd及發方a證書的公鑰pba;

(8) 收方b驗證數字簽名,先用發方a的公鑰解密數字簽名得數字摘要md;

(9) 收方b同時將原文資訊用同樣的雜湊運算,求得乙個新的數字摘要md』;

(10)將兩個數字摘要md和md』進行比較,驗證原文是否被修改。如果二者相等,說明資料沒有被篡改,是保密傳輸的,簽名是真實的;否則拒絕該簽名。

這樣就做到了敏感資訊在數字簽名的傳輸中不被篡改,未經認證和授權的人,看不見原資料,起到了在數字簽名傳輸中對敏感資料的保密作用。

數字簽名 數字信封

什麼是數字簽名?只有資訊的傳送者才能產生的別人無法偽造的一段數字串 是傳送者傳送資訊真實性的乙個有效證明 數字簽名解決什麼問題?保證資訊傳輸的完整性 傳送者的身份認證 防止交易中的抵賴發生 數字簽名的原理或步奏 rsa簽名 明文加上摘要演算法運算得到摘要值,然後用摘要值加上簽名演算法在加上私鑰做非對...

數字信封 數字簽名

2019 08 06 19 51 51 數字簽名是用來表明資料傳送者身份的,有了簽名就說明這個資料是傳送都發出來的。為什麼?因為可以用你的公鑰開啟你的簽名資訊,獲取明文的hash值。數字信封,被公鑰加密後的對稱密碼被稱為數字信封,用於對稱金鑰的交換。數字證書,用來證明資料傳送者的身份的。為什麼能證明...

白話數字簽名 1 基本原理 新

摘要 本系列通過通俗易懂的講解,讓您就像讀 一般,輕輕鬆鬆就能理解數字簽名的基本原理和應用方法 即使您是乙個並不精通計算機的企業老總,也能讀懂本篇文章 然後我們再逐步深入技術細節,最後將給出乙個在b s資訊系統中使用數字簽名的demo。由於數字簽名基於非對稱加密技術,所以我們需要先囉嗦一下對稱加密和...