在市場上能找到許多用來保護文件的文檔加密工具。今天我們將討論一款叫做 “toplip” 的命令行文件加密解密工具。它是一款使用AES256強大加密方法的自由開源的加密工具。它同時也使用了 XTS-AES 設計以保護你的隱私數據。它還使用了Scrypt,一種基于密碼的密鑰生成函數來保護你的密碼免于暴力破解。
優秀的特性
相比于其它文件加密工具,toplip 自帶以下獨特且杰出的特性。
非常強大的基于 XTS-AES256 的加密方法。
合理的推諉
加密并嵌入文件到圖片(PNG/JPG)中。
多重密碼保護。
可防護直接暴力破解。
無可辨識的輸出標記。
開源(GPLv3)。
安裝 toplip
沒有什么需要安裝的。toplip是獨立的可執行二進制文件。你所要做的僅是從產品官方頁面下載最新版的toplip并賦予它可執行權限。為此你只要運行:
chmod +x toplip
使用
如果你不帶任何參數運行 toplip,你將看到幫助頁面。
./toplip
請允許我給你展示一些例子。
為了達到指導目的,我建了兩個文件file1和file2。我同時也有toplip可執行二進制文件。我把它們全都保存進一個叫做test的目錄。
加密/解密單個文件
現在讓我們加密file1。為此,運行:
./toplip file1 > file1.encrypted
這行命令將讓你輸入密碼。一旦你輸入完密碼,它就會加密 file1 的內容并將它們保存進你當前工作目錄下一個叫做 file1.encrypted 的文件。
上述命令行的示例輸出將會是這樣:
This is toplip v1.20 (C) 2015, 2016 2 Ton Digital. Author: Jeff Marrison A showcase piece for the HeavyThing library. Commercial support available Proudly made in Cooroy, Australia. More info: https://2ton.com.au/toplip file1 Passphrase #1: generating keys...Done Encrypting...Done
為了驗證文件是否的確經過加密,試著打開它你會發現一些隨機的字符。
為了解密加密過的文件,像以下這樣使用 -d 參數:
./toplip -d file1.encrypted
這行命令會解密提供的文檔并在終端窗口顯示內容。
為了保存文檔而不是寫入到標準輸出,運行:
./toplip -d file1.encrypted > file1.decrypted
輸入正確的密碼解密文檔。file1.encrypted 的所有內容將會存入一個叫做 file1.decrypted 的文檔。
請不要用這種命名方法,我這樣用僅僅是為了便于理解。使用其它難以預測的名字。
加密/解密多個文件
現在我們將使用兩個分別的密碼加密每個文件。
./toplip -alt file1 file2 > file3.encrypted
你會被要求為每個文件輸入一個密碼,使用不同的密碼。
上述命令行的示例輸出將會是這樣:
This is toplip v1.20 (C) 2015, 2016 2 Ton Digital. Author: Jeff Marrison A showcase piece for the HeavyThing library. Commercial support available Proudly made in Cooroy, Australia. More info: https://2ton.com.au/toplip file2 Passphrase #1 : generating keys...Done file1 Passphrase #1 : generating keys...Done Encrypting...Done
上述命令所做的是加密兩個文件的內容并將它們保存進一個單獨的叫做 file3.encrypted 的文件。在保存中分別給予各自的密碼。比如說如果你提供 file1 的密碼,toplip 將復原 file1。如果你提供 file2 的密碼,toplip 將復原 file2。
每個 toplip 加密輸出都可能包含最多四個單獨的文件,并且每個文件都建有各自獨特的密碼。由于加密輸出放在一起的方式,一下判斷出是否存在多個文檔不是一件容易的事。默認情況下,甚至就算確實只有一個文件是由 toplip 加密,隨機數據都會自動加上。如果指定了多于一個文件,每個都有自己的密碼,那么你可以有選擇性地獨立解碼每個文件,以此來否認其它文件存在的可能性。這能有效地使一個用戶在可控的暴露風險下打開一個加密的捆綁文件包。并且對于敵人來說,在計算上沒有一種低廉的辦法來確認額外的秘密數據存在。這叫做“合理的推諉Plausible deniability”,是 toplip 著名的特性之一。
為了從 file3.encrypted 解碼 file1,僅需輸入:
./toplip -d file3.encrypted > file1.encrypted
你將會被要求輸入 file1 的正確密碼。
為了從 file3.encrypted 解碼 file2,輸入:
./toplip -d file3.encrypted > file2.encrypted
別忘了輸入 file2 的正確密碼。
使用多重密碼保護
這是我中意的另一個炫酷特性。在加密過程中我們可以為單個文件提供多重密碼。這樣可以保護密碼免于暴力嘗試。
./toplip -c 2 file1 > file1.encrypted
這里,-c 2 代表兩個不同的密碼。上述命令行的示例輸出將會是這樣:
This is toplip v1.20 (C) 2015, 2016 2 Ton Digital. Author: Jeff Marrison A showcase piece for the HeavyThing library. Commercial support available Proudly made in Cooroy, Australia. More info: https://2ton.com.au/toplip file1 Passphrase #1: generating keys...Donefile1 Passphrase #2: generating keys...Done Encrypting...Done
正如你在上述示例中所看到的,toplip 要求我輸入兩個密碼。請注意你必須提供兩個不同的密碼,而不是提供兩遍同一個密碼。
為了解碼這個文件,這樣做:
$ ./toplip -c 2 -d file1.encrypted > file1.decrypted This is toplip v1.20 (C) 2015, 2016 2 Ton Digital. Author: Jeff Marrison A showcase piece for the HeavyThing library. Commercial support available Proudly made in Cooroy, Australia. More info: https://2ton.com.au/toplip file1.encrypted Passphrase #1: generating keys...Donefile1.encrypted Passphrase #2: generating keys...DoneDecrypting...Done
將文件藏在圖片中
將一個文件、消息、圖片或視頻藏在另一個文件里的方法叫做隱寫術。幸運的是 toplip 默認包含這個特性。
為了將文件藏入圖片中,像如下所示的樣子使用 -m 參數。
$ ./toplip -m image.png file1 > image1.pngThis is toplip v1.20 (C) 2015, 2016 2 Ton Digital. Author: Jeff Marrison A showcase piece for the HeavyThing library. Commercial support available Proudly made in Cooroy, Australia. More info: https://2ton.com.au/toplip file1 Passphrase #1: generating keys...Done Encrypting...Done
這行命令將 file1 的內容藏入一張叫做 image1.png 的圖片中。
要解碼,運行:
$ ./toplip -d image1.png > file1.decrypted This is toplip v1.20 (C) 2015, 2016 2 Ton Digital. Author: Jeff Marrison A showcase piece for the HeavyThing library. Commercial support available Proudly made in Cooroy, Australia. More info: https://2ton.com.au/toplip image1.png Passphrase #1: generating keys...Done Decrypting...Done
增加密碼復雜度
為了進一步使文件變得難以破譯,我們可以像以下這樣增加密碼復雜度:
./toplip -c 5 -i 0x8000 -alt file1 -c 10 -i 10 file2 > file3.encrypted
上述命令將會要求你為 file1 輸入十條密碼,為 file2 輸入五條密碼,并將它們存入單個叫做 file3.encrypted 的文件。如你所注意到的,我們在這個例子中又用了另一個 -i 參數。這是用來指定密鑰生成循環次數。這個選項覆蓋了 scrypt 函數初始和最終 PBKDF2 階段的默認循環次數 1。十六進制和十進制數值都是允許的。比如說 0x8000、10 等。請注意這會大大增加計算次數。
為了解碼 file1,使用:
./toplip -c 5 -i 0x8000 -d file3.encrypted > file1.decrypted
為了解碼 file2,使用:
./toplip -c 10 -i 10 -d file3.encrypted > file2.decrypted
我個人對所有想要保護自己數據的人的建議是,別依賴單一的方法。總是使用多種工具/方法來加密文件。不要在紙上寫下密碼也不要將密碼存入本地或云。記住密碼,閱后即焚。如果你記不住,考慮使用任何可信賴的密碼管理器。
-
二進制
+關注
關注
2文章
795瀏覽量
41643 -
加密
+關注
關注
0文章
304瀏覽量
23914 -
CLI
+關注
關注
1文章
79瀏覽量
8539
原文標題:toplip:一款十分強大的文件加密解密 CLI 工具
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論