應用GPG
GPG使用的是非對稱的密鑰體系,用戶擁有一對密鑰,包括一個公鑰和一個私鑰。公鑰對外公布,私鑰則由自己保存。使用公鑰加密的數據可以用私鑰解密,同樣,使用私鑰加密的數據可以用公鑰解密。
非對稱的密鑰可以用來加密和做數字簽名。當用戶關心信息保密性時,使用加密功能;當用戶關注信息完整性及不可抵賴性時,使用數字簽名功能;當用戶需要同時關注信息的機密性、完整性及不可抵賴性時,可以將加密和數學簽名混合使用。
簡單了解這些密碼學概念后,就可以開始真正的應用實踐了。
對文件進行加密和數字簽名
KDE中提供了圖形化的加密操作方法。比如,在KDE中對一個文件加密,只需在KDE文件管理器Konqueror中選中該文件,單擊右鍵選擇“Actions”中的“Encrypt File”就可以加密文件。加密后的文件以.asc結尾。
對于圖形方式的加密操作不多做介紹,下面將重點放在命令行操作方式上,介紹命令行下的各種文件加密和簽名的操作方法。
1.對文件進行數字簽名
#gpg --clearsign policy.txt You need a passphrase to unlock the secret key for user: "test (test) <test@yahoo.com.cn>" 1024-bit DSA key, ID ADD93830, created 2004-07-01
|
運行以上命令,生成一個名為report.txt.asc的文件,該文件中除了原文件信息外還包含數字簽名信息。
2.驗證文件的數字簽名
#gpg --verify policy.txt.asc gpg: Signature made 2004年11月04日 星期四 15時58分07秒 UTC using DSA key ID ADD93830 gpg: Good signature from "test (test) <test@yahoo.com.cn>"
|
以上命令運行的結果顯示該簽名是正確的。
3.用指定的公鑰對文件加密
#gpg --encrypt -r terry@mykms.org report.txt gpg: checking the trustdb gpg: checking at depth 0 signed=0 ot(-/q/n/m/f/u)=0/0/0/0/0/1 gpg: next trustdb check due at 2005-09-10
|
運行以上命令,使用自己的公鑰加密report.txt文件,生成加密文件report.txt.gpg。如果使用編輯軟件打開該加密文件,會發現它包含的是一些不可理解的字符和亂碼。