一:使用 GPG 對數據進行加密解密簽名 基本的工具使用
1. GPG 是GNUPG 免費開源的gpg加密工具,和同pgp兼容,pgp收費。
2. 在mac上使用 https://gpgtools.org/
下載安裝之后,打開GPG Keychain mac程序,
可以點擊新建創建一份自己的公鑰和私鑰,並把公鑰上傳到開源服務器上,各服務器間數據同步;

創建完成之后!我們對一個文件加密,解密,簽名驗證簽名就可以了!
選中文件,右鍵,服務里面即可看到支持的工具

3. 在 windows 上使用 https://www.gpg4win.org/
下載安裝之后 File new 同樣新建立一份 公鑰密鑰對,也可以上傳到開源公鑰服務器,查詢時以郵件為標識!

同樣,選中要加密或解密的文件 右鍵即可看到提供的服務

4. linux上直接安裝 Gnupg源碼,編譯安裝
http://www.jianshu.com/p/268064e67719
二:加密解密,簽名使用的流程
大致流程:
用戶A用戶名B,分別生成各自的解密對,公鑰A,公鑰B,私鑰A,私鑰B;
數據uA.txt,uB.txt
簽名:用戶A用 私鑰A簽名uA.txt並把公鑰A 發給用戶B,用戶B 用以上工具,先導入公鑰A,然后驗證簽名;
加密:用戶A 先導入用戶B的,公鑰B;然后用 公鑰B加密uA.txt, 發送用戶B,用戶B收到后,用私鑰B解密數據即可;
利用簽名和RSA加密的機制,不僅可以確保數據安全,還可以確保數據未串改以及不可否認性
當然這里尤其重要的一點就是私鑰,,為保證絕對安全,私鑰是不能網絡傳輸的;
以下演示在 mac上簽名加密以 win上驗證簽名和解密
mac 和win的密鑰對交換需要提前導入,並設置互相信任對方的公鑰
mac 上在列表中選中公鑰,右鍵,細節--密鑰---Ownertrust---選擇信任程度
win上 在列表中選中公鑰,右鍵,Change ownertrust---選擇信任程序
1. 簽名文件 以及加密文件 mac.txt (簽名用的是mac的私鑰,加密用的是win的 公鑰)

簽名得到 mac.txt.sig
加密得到 mac.txt.gpg
2. 在 win上 驗證簽名和解密 (驗證簽名用的是mac的公鑰,解密用的是win 的私鑰)


參考:其他基礎請參考,RSA, 數字證書,簽名,公鑰密鑰,非對稱加密等知識
