• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 使用gnupg為文件傳送文件加密

    發表于:2007-07-04來源:作者:點擊數: 標簽:
    本文講述了使用gnupg做簡單的文件傳輸加密,更多的信息可以從http://www.gnupg.org 獲
    本文講述了使用gnupg做簡單的文件傳輸加密,更多的信息可以從http://www.gnupg.org獲取。

    0. 下載并安裝gnupg 1.2.1或更高的版本,可以從http://www.gnupg.org獲取到完整的源代碼以及相關信息。

    1. 運行gnupg,創建默認的~/.gnupg目錄及相關文件。

        $ gpg

        注意這里可能提示: "gpg: Warning: using insecure memory!",這個問題詳細的解決方法請參照gnupg的網站FAQ的6.1節
              http://www.gnupg.org/(en)/documentation/faqs.html#q6.1

    2. 創建一個新的公私鑰匙對(key pair)

        $ gpg --gen-key
       
        按提示一步步做到最后,注意*千萬*不要忘記或泄漏我們的私匙(passphrase)!
        我們假定最后的用戶信息為:

            You selected this USER-ID:
                "somebody (sb.) <somebody@somewhere.com>"

    3. 創建一個撤銷證書(revocation certification)并做好備份

        $ gpg --output somebody_gpg_revoke.asc --armor --gen-revoke somebody@somewhere.com
        將這份證書(somebody_gpg_revoke.asc)保存/備份到安全的位置。

        注意在任何時刻我們都可以使用
           $ gpg --list-key
        查看當前可用的key
    4. 導出公匙

        $ gpg --output somebody_gpg_asc.gpg --armor --export somebody@somewhere.com

        注意這個公匙文件(somebody_gpg_asc.gpg)是需要和別人交換發給別人使用的。我們也可以將此證書發送到某些知名的服務器。
        請參見相關文檔

    5. 現在我們假定需要將文件testfile.txt發送到用戶 anotherone@elsewhere.com
        這里簡單的介紹一下PGP的建立過程。

        a) 用戶A獲取用戶B的公匙文件,并導入改公匙
        b) 用戶A簽名用戶B的公匙文件。
        c) 用戶A通過用戶B的公匙加密文件F,并將加密過后的文件F.asc發送給用戶B
        d) 用戶c獲取到文件F.asc,并通過自己的私匙解密文件F.asc并還原為文件F

     
        公匙雖然是公開的,但目前理論上絕對是安全的。其基本原理為任意一個合數都可以分解為多個質數的乘積。比如
            8 = 2*2*2
           14 = 2*7
        但一個數很小的時候我們能很快發現這些互質的數(eg: 39 = 13 * 3),但當這個數很大的時候卻很難找到這些互質的數了,如:
           995757614766768701903 = 13757413 * 72379713741731
        已經基本不可能退出這兩個互質的數(不一定是真正的質數,這里僅為做一個簡單的演示)了。實際我們采用的數字通常為1024-bit
        這樣產生的結果即使在目前最快的計算機上計算,至少也需要幾千年的時間才可能得出最終的結果。

    6. 導入anotherone@elsewhere.com的公匙。

        $ gpg --import anotherone_gpg_asc.gpg
        可以通過
        $ gpg --list-key
        驗證是否導入成功

    7. 簽名該公匙文件
        $ gpg --edit-key anotherone@elsewhere.com
        $ # fpr
        $ sign
           # 按要求輸入相關簽名信息。
        $ # check
        $ write
       
    8. 通過用戶anotherone@elsewhere.com的公匙加密需要傳送的文件testfile.txt
        $ gpg --armor --encrypt --recipient anotherone@elsewhere.com testfile.txt
        得到文件testfile.txt.asc,將此文件發送到用戶anotherone@elsewhere.com。

    9. 用戶anotherone@elsewhere.com收到文件testfile.txt.asc后,利用自己的私匙解密該文件
        $ gpg --decrypt testfile.txt.asc
        得到文件testfile.txt


    注:測試通過的情況多出了兩步,即用戶anotherone@elsewhere.com也導入了somebody@somewhere.com的公匙并做了數字簽名。
          


    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>