數字信封是指發送方使用接收方的公鑰來加密對稱密鑰后所得的數據,其目的是來確保對稱密鑰的傳輸的安全性。采用數字信封時,接收方需要使用自己的私鑰才能打開數字信封得到對稱密鑰。
數字信封的加/解密過程如下圖所示。甲要事先獲取乙的公鑰,具體說明如下:

(1)甲使用對稱密鑰對明文進行加密,生成密文信息。
(2)甲使用乙的公鑰加密對稱密鑰,生成數字信封。
(3)甲將數字信封和密文信息一起發送給乙。
(4)乙接收到甲的加密信息后,使用自己的私鑰打開數字信封,得到對稱密鑰。
(5)乙使用對稱密鑰對密文進行解密,得到最初的明文。
從以上加/解密過程中,可以看出,數字信封技術結合了對稱加密和公鑰加密的有點,解決了對稱密鑰的發布安全問題和公鑰加密速度慢的問題。提高了安全性、擴張性和效率等。但是,數字信封技術還是有一個比較大的問題,就是無法確保信息是來自真正的對方。
試想,如果攻擊者攔截甲發給乙的信息,用自己的對稱密鑰加密一份偽造的信息,並用乙的公鑰加密攻擊者自己的對稱密鑰,生成數字信封;然后把偽造的加密信息,以及偽造的數字信封一起發送給乙。乙收到加密信息后,用自己的私鑰可以成功解密數字信封,在利用還原出的對稱密鑰(這個是攻擊者的對陣密鑰)即可還原出加密的明文信息了,這樣一來,乙則始終認為這份本來是攻擊者偽造的信息是甲發送的。這樣的結局可能是損失慘重,如攻擊者修改了甲發送乙的投標書的標底。
此時,需要一種方法去報接收方收到的信息就是指定的發送方發送的,這就用數字簽名技術了。
