天天看點

vc++網絡安全程式設計範例(15)-導出會話密鑰

   vc++網絡安全程式設計範例(15)-導出會話密鑰    

密鑰(Cryptographic key)是一個基于RSA公匙加密體系的郵件加密軟體。它能對你的郵件加上數字簽名進而使收信人可以确信郵件是你發來的。它讓你可以安全地和你從未見過的人們通訊,事先并不需要任何保密的管道用來傳遞密匙。它采用了:審慎的密匙管理,一種RSA和傳統加密的雜合算法,用于數字簽名的郵件文摘算法,加密前壓縮等,還有一個良好的人機工程設計。它的功能強大,有很快的速度。密鑰(Cryptographic key)是用在加密和解密過程的會話(均衡)密鑰和用在認證過程中公共密鑰和私有密鑰。在這三種密鑰中,會話密鑰和私有密鑰必須一直保密。(

PGP加密系統是采用公開密鑰加密與傳統密鑰加密相結合的一種加密技術。它使用一對數學上相關的鑰匙,其中一個(公鑰)用來加密資訊,另一個(私鑰)用來解密資訊。   PGP采用的傳統加密技術部分所使用的密鑰稱為“會話密鑰”(sek)。每次使用時,PGP都随機産生一個128位的IDEA會話密鑰,用來加密封包。公開密鑰加密技術中的公鑰和私鑰則用來加密會話密鑰,并通過它間接地保護封包内容。   PGP中的每個公鑰和私鑰都伴随着一個密鑰證書。它一般包含以下内容: 密鑰内容(用長達百位的大數字表示的密鑰) 密鑰類型(表示該密鑰為公鑰還是私鑰) 密鑰長度(密鑰的長度,以二進制位表示) 密鑰編号(用以唯一辨別該密鑰) 建立時間 使用者辨別 (密鑰建立人的資訊,如姓名、電子郵件等) 密鑰指紋(為128位的數字,是密鑰内容的提要表示密鑰唯一的特征) 中介人簽名(中介人的數字簽名,聲明該密鑰及其所有者的真實性,包括中介人的密鑰編号和辨別資訊)   PGP把公鑰和私鑰存放在密鑰環(KEYR)檔案中。PGP提供有效的算法查找使用者需要的密鑰。   PGP在多處需要用到密碼,它主要起到保護私鑰的作用。由于私鑰太長且無規律,是以難以記憶。PGP把它用密碼加密後存入密鑰環,這樣使用者可以用易記的密碼間接使用私鑰。   PGP的每個私鑰都由一個相應的密碼加密。PGP主要在3處需要使用者輸入密碼: 需要解開受到的加密資訊時,PGP需要使用者輸入密碼,取出私鑰解密資訊 當使用者需要為檔案或資訊簽字時,使用者輸入密碼,取出私鑰加密 對磁盤上的檔案進行傳統加密時,需要使用者輸入密碼