假如現在 Alice 向 Bob 傳送數字信息,為了保證信息傳送的保密性、真實性、完整性和不可否認性,需要對傳送的信息進行數字加密和簽名,其傳送過程為:
1.Alice 準備好要傳送的數字信息(明文);
2.Alice 對數字信息進行哈希運算,得到壹個信息摘要;
3.Alice 用自己的私鑰對信息摘要進行加密得到 Alice 的數字簽名,並將其附在數字信息上;
4.Alice 隨機產生壹個加密密鑰,並用此密碼對要發送的信息進行加密,形成密文;
5.Alice 用 Bob 的公鑰對剛才隨機產生的加密密鑰進行加密,將加密後的 DES 密鑰連同密文壹起傳送給Bob;
6.Bob 收到 Alice 傳送來的密文和加密過的 DES 密鑰,先用自己的私鑰對加密的 DES 密鑰進行解密,得到 Alice隨機產生的加密密鑰;
7.Bob 然後用隨機密鑰對收到的密文進行解密,得到明文的數字信息,然後將隨機密鑰拋棄;
8.Bob 用 Alice 的公鑰對 Alice 的數字簽名進行解密,得到信息摘要;
9.Bob 用相同的哈希算法對收到的明文再進行壹次哈希運算,得到壹個新的信息摘要;
10.Bob 將收到的信息摘要和新產生的信息摘要進行比較,如果壹致,說明收到的信息沒有被修改過。