在本指南中,我將解釋在Linux、Mac 或Windows 計算機上使用開源軟件加密文件的選項。然後,您可以跨越距離和時間將這些數字信息傳輸給您自己或他人。
“GNU Privacy Guard”(GPG)程序是PGP(Pretty Good Privacy)的開源版本,它允許:
- 使用密碼進行加密。
- 使用公鑰/私鑰加密的秘密消息傳遞
- 消息/數據認證(使用數字簽名和驗證)
- 私鑰認證(用於比特幣)
選項一
選項一是我將在下面演示的。您可以使用您喜歡的任何密碼來加密文件。任何擁有密碼的人都可以解鎖(解密)文件以查看它。問題是,如何以安全的方式將密碼發送給某人?我們回到最初的問題。
選項二
選項二解決了這個難題 (這裡的操作方法). 我們可以使用某人的公鑰來鎖定文件,而不是使用密碼鎖定文件——“某人”是消息的預期接收者。公鑰來自對應的私鑰,私鑰(只有“某人”擁有)用於解鎖(解密)消息。使用這種方法,不會發送任何敏感(未加密)信息。非常好!
公鑰是可以在互聯網上安全分發的東西。我的是 這裡, 例如。它們通常被發送到密鑰服務器。密鑰服務器就像存儲公鑰的節點。他們保存並同步人們公鑰的副本。這是一個:
你可以進入我的 電子郵件 並在結果中找到我的公鑰。我也存了 這裡 您可以比較您在服務器上找到的內容。
選項三
選項三與秘密信息無關。它是關於檢查消息在傳遞過程中是否被更改。它的工作原理是讓某人擁有私鑰 符號 一些數字數據。數據可以是一封信,甚至可以是軟件。簽名過程會創建一個數字簽名(大量來自私鑰和正在簽名的數據)。這是數字簽名的樣子:
它是一個文本文件,以“開始”信號開始,以“結束”信號結束。中間是一堆實際上編碼大量數字的文本。這個數字是從私鑰(一個巨大的數字)和數據(實際上也總是一個數字;所有數據都是零和計算機的一)派生而來。
任何人都可以通過以下方式驗證數據自原始作者簽名以來沒有更改:
- 公鑰
- 數據
- 簽名
查詢的輸出將為TRUE 或FALSE。 TRUE 表示您下載的文件(或消息)自開發人員簽名後未被修改。很酷! FALSE 表示數據已更改或應用了錯誤的簽名。
選項四
選項四與選項三類似,只是不是檢查數據是否未被修改,然後TRUE 將意味著簽名是由與提供的公鑰相關聯的私鑰生成的。換句話說,簽名的人擁有我們所擁有的公鑰的私鑰。
有趣的是,這就是Craig Wright 要證明他是Satoshi Nakamoto 所要做的一切。他實際上不必花費任何硬幣。
我們已經擁有Satoshi 擁有的地址(類似於公鑰)。然後,克雷格可以用他的私鑰對這些地址進行簽名,並結合任何消息,例如“我真的是中本聰,哈哈!” 然後我們可以結合消息、簽名和地址,如果他是Satoshi,則得到TRUE 結果,如果他不是,則得到CRAIG_WRIGHT_IS_A_LIAR_AND_A_FRAUD 結果。
選項三和四——區別。
這實際上是你信任什麼的問題。如果您相信發件人擁有您擁有的公鑰的私鑰,則驗證會檢查消息是否未更改。
如果您不信任私鑰/公鑰關係,那麼驗證不是關於消息更改,而是密鑰關係。
FALSE 結果是其中之一。
如果你得到一個TRUE 結果,那麼你知道密鑰關係是有效的,並且自從生成簽名以來消息沒有改變。
為您的計算機獲取GPG
GPG 已經帶有Linux 操作系統。如果您不幸使用Mac,或者上帝禁止使用Windows 計算機,那麼您需要下載帶有GPG 的軟件。 可以在此處找到下載說明以及如何在這些操作系統上使用它。
您不需要使用軟件的任何圖形組件,一切都可以從命令行完成。
使用密碼加密文件
創建秘密文件。這可以是一個簡單的文本文件,或者一個包含許多文件的zip 文件,或者一個存檔文件(tar)。根據數據的敏感程度,您可能會考慮在有氣隙的計算機上創建文件。要么是一台沒有WiFi 組件且永遠不會通過電纜連接到互聯網的台式計算機,要么你可以非常便宜地構建一個Raspberry Pi Zero v1.3,使用 這裡的說明。
使用終端(Linux/Mac) 或CMD.exe (Windows),將工作目錄更改為放置文件的位置。如果這沒有意義,請搜索互聯網,然後在五分鐘內您可以了解如何導航特定於您的操作系統的文件系統(搜索:“YouTube 導航文件系統命令提示符”並包括您的操作系統的名稱)。
從正確的目錄中,您可以像這樣加密文件(例如“file.txt”):
gpg -c 文件.txt
那是“gpg”,一個空格,“-c”,一個空格,然後是文件名。
然後系統會提示您輸入密碼。這將加密新文件。如果您在Mac 上使用GPG Suite,請注意默認選中“保存在鑰匙串中”(見下文)。如果密碼特別敏感,您可能不想保存此密碼。
無論您使用哪個操作系統,密碼都會在內存中保存10 分鐘。你可以像這樣清除它:
gpg-connect-agent reloadagent /再見
一旦您的文件被加密,原始文件將保留(未加密),並且將創建一個新文件。您必須決定是否刪除原件。新文件的名稱將與原始文件的名稱相同,但最後會有一個“.gpg”。例如,“file.txt”將創建一個名為“file.txt.gpg”的新文件。然後,您可以根據需要重命名文件,或者您可以通過在上面的命令中添加額外選項來命名文件,如下所示:
gpg -c –輸出MySecretFile.txt file.txt
在這裡,我們有“gpg”,一個空格,“-c”,一個空格,“–output”,一個空格,你想要的文件名,一個空格,你正在加密的文件的名稱。
練習解密文件是個好主意。這是一種方式:
gpg 文件.txt.gpg
這只是“gpg”、一個空格和加密文件的名稱。你不需要輸入任何選項。
GPG 程序會猜測您的意思並嘗試解密文件。如果您在加密文件後立即執行此操作,則可能不會提示您輸入密碼,因為密碼仍在計算機內存中(10 分鐘)。否則,您需要輸入密碼(GPG 稱之為密碼)。
您會注意到使用“ls”命令(Mac/Linux)或“dir”命令(Windows),在您的工作目錄中創建了一個新文件,沒有“.gpg”擴展名。您可以使用(Mac/Linux) 從命令提示符讀取它:
貓文件.txt
解密文件的另一種方法是使用以下命令:
gpg -d 文件.txt.gpg
這與以前相同,但也帶有“-d”選項。在這種情況下,不會創建新文件,而是將文件的內容打印到屏幕上。
您還可以解密文件並指定輸出文件的名稱,如下所示:
gpg -d –輸出文件.txt 文件.txt.gpg
這裡我們有“gpg”,一個空格,“-d”,不是嚴格要求,一個空格,“–output”,一個空格,我們想要的新文件的名稱,一個空格,最後是文件名我們正在解密。
發送加密文件
您現在可以將此文件複製到USB 驅動器,或通過電子郵件發送。它是加密的。只要密碼好(足夠長且足夠複雜)並且不能被破解,沒有人可以閱讀它。
您可以將此消息存儲在電子郵件或云中,將其發送給另一個國家/地區的自己。
一些愚蠢的人將他們的比特幣私鑰以未加密的狀態存儲到雲中,這是非常危險的。但如果包含比特幣私鑰的文件使用強密碼加密,則更安全。如果它不稱為“Bitcoin_Private_Keys.txt.gpg”,則尤其如此——不要那樣做!
警告:重要的是要了解,我絕不鼓勵您將比特幣私鑰信息放在計算機上(硬件錢包 創建是為了讓您永遠不需要這樣做)。我在這裡解釋的是特殊情況,在我的指導下。我的學生在 輔導計劃 將知道他們在做什麼,並且只會使用隔離的計算機,並且知道所有潛在的風險和問題以及避免它們的方法。請不要在計算機中輸入助記詞,除非您是安全專家並且確切地知道自己在做什麼,如果您的比特幣被盜,請不要怪我!
加密文件也可以發送給另一個人,密碼可以單獨發送,可能使用不同的通信設備。與本指南開頭解釋的選項2 相比,這是一種更簡單且安全性較低的方法。
實際上,您可以通過各種方式構建跨距離和跨時間的秘密消息傳遞。如果您了解這些工具,並認真仔細地考慮所有風險和場景,就可以製定一個好的計劃。或者,我可以提供幫助。
祝你好運,比特幣快樂!
這是帕爾曼阿曼的客座文章。所表達的意見完全是他們自己的,不一定反映BTC Inc 或 比特幣雜誌.