The Easy PGP Encryption Solutions
 
 
加密基本知識  

密碼學(Cryptography)通常指加密(encryption)演算法:將普通資訊(明文,plaintext)轉換成難以理解的資料(密文,ciphertext)的過程;解密(decryption)演算法則是其相反的過程:由密文轉換回明文;加解密包含了這兩種演算法,一般加密即同時指稱加密(encrypt或encipher)與解密(decrypt或decipher)的技術。

加解密的具體運作由兩部分決定:一個是演算法,另一個是密鑰(金鑰, Key)。密鑰是一個用於加解密演算法的秘密參數,通常只有通訊者擁有。

Pretty Good Privacy (PGP) 是由 Philip Zimmermann 在1991年開發出來的. PGP 是利用對稱式與非對稱式加密演算法及雜湊函數等組合而成, 可用來保護電腦資料與檔案, 以及身份認證。

PGP加密是全球最知名的保護資料安全方式,也是使用最廣的加密方式。國際組織也定出OpenPGP 的標準規範 (RFC 4880) ,以達成不同產品間產生的加密資料可以互通。

密碼學基本名詞

金鑰 (或稱密鑰, 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組成) Keyname: 金鑰名稱。

對稱式加密 (Symmetric Algorithm)

加密解密使用相同金鑰(同一個Key)的演算法, 稱為對稱式(Symmetric)加密演算法,,如下圖。

symmetric

常見之對稱式加密演算法如 DES, Triple-DES, AES 等。

非對稱式加密 (Asymmetric Algorithm)

加密解密使用不同的兩個金鑰,且此兩個金鑰是成對的(pair),其一為公鑰 (Public key), 另一為私鑰(Private Key),被公鑰加密的資料必須以相對應的私鑰才能解得開;反之,被私鑰加密的資料必須以相對應的公鑰才能解得開。如下圖。

Asymmetric

常見的非對稱式加密加密演算法如 RSA, DSA等。


加解密(Encryption and Decryption)是用來防範內容被窺視,若要確定內容沒有被竄改, 或證實內容來源, 則必須再使用以下方法。

雜湊函數(Hash Functions)

雜湊函數是一種數學演算法, 將大量的資料變成小量的亂數值, 如下圖。

hash

雜湊函數一定具有兩個特性:

不同的input 一定得出不同的hash value (或稱訊息摘要, Message Digest)。
無法從hash value 倒推得原來的input。

由此可得一個應用, 若兩Hash值相同, 表示原來值相同, 此可確認資料沒變動(竄改)。
Hash value的長度依不同雜湊函數而定,常見的雜湊函數如 MD2, MD5, SHA-1, SHA-128, SHA-256, SHA-512等。

簽章與驗章(Sign and verify)

簽章及驗章是利用雜湊函數及非對稱式加密的技術來達到確認文件來源(作者)及文件內容是沒被更動過的。如下圖簽章示意圖。

signing

上圖簽章過程大意為:
1. 先將檔案經過Hash 後得到 Message Digest (即hash value)。
2. 再使用私鑰將這Message Digest加密, 產生的結果稱為簽章(Signature)。
3. 最後將檔文與簽章一併寄給對方。


若要驗證該檔案是否完整並屬該作者所為, 即驗證該簽章是否與檔案相關:
1. 使用相同的Hash演算法, 算出該檔案的hash value。
2. 使用公鑰將簽章解密得出。
3. 比較這兩個值, 若不同則表示該檔案內容被改過或簽章私鑰與公鑰不符(非該作者)。

 

(版權所有, 請勿盜用)


 
 
© Copyright 2010-2011 Asiapeak Information Technology Inc.