名詞說明
金鑰 (或稱密鑰, key): 在密碼學演算法裡所需要的一個輸入參數, 依不同演算法而會有不同的金鑰類型與長度. 在PGP 加密裡, 金鑰類型通常為RSA 或 DSA,長度則為1024~4096
bits。
本文件及系統內所用之PGP 金鑰名稱係指可以代表PGP金鑰的廣義稱呼, 它可能為使用者名稱(User Name)、電子郵件(eMail)、或使用者名稱加電子郵件 (以 “user name <email>”表示)、或金鑰代號 (Key ID, 是八碼 0-9, A-F組成)、或金鑰指紋(Key Fingerprint, 是20碼0-9, A-F組成)。
對稱式加密式 (Symmetric Algorithm)
加密解密使用相同金鑰的演算法, 稱為對稱式(Symmetric)加密演算法,,如下圖。
非對稱式加密(Asymmetric Algorithm)
加密解密使用不同的兩個金鑰,且此兩個金鑰是成對的(pair),其一為公鑰 (Public key), 另一為私鑰(Private Key),被公鑰加密的資料必須以相對應的私鑰才能解得開;反之,被私鑰加密的資料必須以相對應的公鑰才能解得開。如下圖
常見的非對稱式加密加密演算法如 RSA, DSA等。
加解密(Encryption and Decryption)是用來防範內容被窺視,若要確定內容沒有被竄改, 或證實內容來源, 則必須再使用以下方法。
雜湊函數(Hash Functions)
雜湊函數是一種數學演算法, 將大量的資料變成小量的亂數值, 如下圖
雜湊函數一定具有兩個特性
1. 不同的input 一定得出不同的hash value (或稱訊息摘要, Message Digest)
2. 無法從hash value 倒推得原來的input
Hash value的長度依不同雜湊函數而定,常見的雜湊函數如 MD2, MD5, SHA-1, SHA-128, SHA-256, SHA-512等。
簽章與驗章(Sign and verify)
PGP 主要使用非對稱式加密,每個使用者都擁有一對私鑰(Private Key) 與公鑰(Public Key),資料使用公鑰加密後只能使用它相配對的私鑰解密,資料若使用私鑰加密, 則任何公鑰的持有者可以驗證資料是否確定由私鑰的使用者所傳送。
由於非對稱式加密速度遠比對稱式加密慢很多, 所以只適合加密少量資料, PGP 實際上是使用一把對稱式的金鑰(如Session Key)來加密資料, 再用非對稱式之公要來加密此對稱式的金鑰。
沒有留言:
張貼留言