GnuPG(GNU Privacy Guard或GPG):Linux 下的基於PGP(Pretty Good Privacy)機制的加密及簽名軟體
PGP(Pretty Good Privacy)是一個基於RSA 公開金鑰加密體系的郵件加密軟體,不但可以對使用者的資料保密,以防止非授權者閱讀,還能給郵件加上數位簽章,從而使收信人確信郵件是由您發出的。從而讓人們可以安全地與從未見過的人們通訊,而事先不需要任何保密的渠道用來傳遞密鑰。
GnuPG 是實現安全通訊和資料存放區的一系列工具集,可以做資料加密、數位簽章。
在功能上,它和PGP 是一樣的,但PGP 使用了IDEA專利演算法,使用PGP 會有許可證的問題;而GnuPG 並沒有使用這個演算法,所以對使用者來說使用上沒有任何限制。
GnuPG 支援的演算法有如下。
公開金鑰:RSA、RSA-E、RSA-S、ELG-E、DSA
對稱式加密:3DES、CAST5、BLOWFISH、AES、AES192、AES256、TWOFISH
散列:MD5、SHA1、RIPEMD160、SHA256、SHA384、SHA512
壓縮:不壓縮、ZIP、ZLIB、BZIP2
gpg 指令 [選項] [檔案名稱]
指令:
-s, --sign [檔案名稱] 產生一份簽字
--clearsign [檔案名稱] 產生一份明文簽字
-b, --detach-sign 產生一份分離的簽字
-e, --encrypt 加密資料
-c, --symmetric 僅使用對稱式加密
-d, --decrypt 解密資料(預設)
--verify 驗證簽字
--list-keys 列出密鑰
--list-sigs 列出密鑰和簽字
--check-sigs 列出並檢查密鑰簽字
--fingerprint 列出密鑰和指紋
-K, --list-secret-keys 列出私密金鑰
--gen-key 產生一副新的金鑰組
--delete-keys 從公開金鑰鑰匙環裡刪除密鑰
--delete-secret-keys 從私密金鑰鑰匙環裡刪除密鑰
--sign-key 為某把密鑰添加簽字
--lsign-key 為某把密鑰添加本地簽字
--edit-key 編輯某把密鑰或為其添加簽字
--gen-revoke 產生一份吊銷認證
--export 匯出密鑰
--send-keys 把密鑰匯出到某個公開金鑰伺服器上
--recv-keys 從公開金鑰伺服器上匯入密鑰
--search-keys 在公開金鑰伺服器上搜尋密鑰
--refresh-keys 從公開金鑰伺服器更新所有的本地密鑰
--import 匯入/合并密鑰
--card-status 列印卡狀態
--card-edit 更改卡上的資料
--change-pin 更改卡的 PIN
--update-trustdb 更新信任度資料庫
--print-md 演算法 [檔案] 使用指定的散列演算法列印報文散列值
選項:
-a, --armor 輸出經 ASCII 封裝
-r, --recipient 為收件者“某甲”加密
-u, --local-user 使用這個使用者標識來簽字或解密
-z N 設定壓縮等級為 N (0 表示不壓縮)
--textmode 使用標準的文字模式
-o, --output 指定輸出檔案
-v, --verbose 詳細模式
-n, --dry-run 不做任何改變
-i, --interactive 覆蓋前先詢問
--openpgp 行為嚴格遵循 OpenPGP 定義
--pgp2 產生與 PGP 2.x 相容的報文