diff --git a/sources/tech/20171212 Toplip – A Very Strong File Encryption And Decryption CLI Utility.md b/sources/tech/20171212 Toplip – A Very Strong File Encryption And Decryption CLI Utility.md new file mode 100644 index 0000000000..ad3528f60b --- /dev/null +++ b/sources/tech/20171212 Toplip – A Very Strong File Encryption And Decryption CLI Utility.md @@ -0,0 +1,282 @@ +Toplip – A Very Strong File Encryption And Decryption CLI Utility +====== +There are numerous file encryption tools available on the market to protect +your files. We have already reviewed some encryption tools such as +[**Cryptomater**][1], [**Cryptkeeper**][2], [**CryptGo**][3], [**Cryptr**][4], +[**Tomb**][5], and [**GnuPG**][6] etc. Today, we will be discussing yet +another file encryption and decryption command line utility named **" +Toplip"**. It is a free and open source encryption utility that uses a very +strong encryption method called **[AES256][7]** , along with an **XTS-AES** +design to safeguard your confidential data. Also, it uses [**Scrypt**][8], a +password-based key derivation function, to protect your passphrases against +brute-force attacks. + +### Prominent features + +Compared to other file encryption tools, toplip ships with the following +unique and prominent features. + + * Very strong XTS-AES256 based encryption method. + * Plausible deniability. + * Encrypt files inside images (PNG/JPG). + * Multiple passphrase protection. + * Simplified brute force recovery protection. + * No identifiable output markers. + * Open source/GPLv3. + +### Installing Toplip + +There is no installation required. Toplip is a standalone executable binary +file. All you have to do is download the latest toplip from the [**official +products page**][9] and make it as executable. To do so, just run: + +``` +chmod +x toplip +``` + +### Usage + +If you run toplip without any arguments, you will see the help section. + +``` +./toplip +``` + +[![][10]][11] + +Allow me to show you some examples. + +For the purpose of this guide, I have created two files namely **file1** and +**file2**. Also, I have an image file which we need it to hide the files +inside it. And finally, I have **toplip** executable binary file. I have kept +them all in a directory called **test**. + +[![][12]][13] + +**Encrypt/decrypt a single file** + +Now, let us encrypt **file1**. To do so, run: + +``` +./toplip file1 > file1.encrypted +``` + +This command will prompt you to enter a passphrase. Once you have given the +passphrase, it will encrypt the contents of **file1** and save them in a file +called **file1.encrypted** in your current working directory. + +Sample output of the above command would be: + +``` +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 +``` + +To verify if the file is really encrypted., try to open it and you will see +some random characters. + +To decrypt the encrypted file, use **-d** flag like below: + +``` +./toplip -d file1.encrypted +``` + +This command will decrypt the given file and display the contents in the +Terminal window. + +To restore the file instead of writing to stdout, do: + +``` +./toplip -d file1.encrypted > file1.decrypted +``` + +Enter the correct passphrase to decrypt the file. All contents of **file1.encrypted** will be restored in a file called **file1.decrypted**. + +Please don't follow this naming method. I used it for the sake of easy understanding. Use any other name(s) which is very hard to predict. + +**Encrypt/decrypt multiple files +** + +Now we will encrypt two files with two separate passphrases for each one. + +``` +./toplip -alt file1 file2 > file3.encrypted +``` + +You will be asked to enter passphrase for each file. Use different +passphrases. + +Sample output of the above command will be: + +``` +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 +``` + +What the above command will do is encrypt the contents of two files and save +them in a single file called **file3.encrypted**. While restoring, just give +the respective password. For example, if you give the passphrase of the file1, +toplip will restore file1. If you enter the passphrase of file2, toplip will +restore file2. + +Each **toplip** encrypted output may contain up to four wholly independent +files, and each created with their own separate and unique passphrase. Due to +the way the encrypted output is put together, there is no way to easily +determine whether or not multiple files actually exist in the first place. By +default, even if only one file is encrypted using toplip, random data is added +automatically. If more than one file is specified, each with their own +passphrase, then you can selectively extract each file independently and thus +deny the existence of the other files altogether. This effectively allows a +user to open an encrypted bundle with controlled exposure risk, and no +computationally inexpensive way for an adversary to conclusively identify that +additional confidential data exists. This is called **Plausible deniability** +, one of the notable feature of toplip. + +To decrypt **file1** from **file3.encrypted** , just enter: + +``` +./toplip -d file3.encrypted > file1.encrypted +``` + +You will be prompted to enter the correct passphrase of file1. + +To decrypt **file2** from **file3.encrypted** , enter: + +``` +./toplip -d file3.encrypted > file2.encrypted +``` + +Do not forget to enter the correct passphrase of file2. + +**Use multiple passphrase protection** + +This is another cool feature that I admire. We can provide multiple +passphrases for a single file when encrypting it. It will protect the +passphrases against brute force attempts. + +``` +./toplip -c 2 file1 > file1.encrypted +``` + +Here, **-c 2** represents two different passphrases. Sample output of above +command would be: + +``` +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 +**file1 Passphrase #2:** generating keys...Done +Encrypting...Done +``` + +As you see in the above example, toplip prompted me to enter two passphrases. +Please note that you must **provide two different passphrases** , not a single +passphrase twice. + +To decrypt this file, do: + +``` +$ ./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...Done +**file1.encrypted Passphrase #2:** generating keys...Done +Decrypting...Done +``` + +**Hide files inside image** + +The practice of concealing a file, message, image, or video within another +file is called **steganography**. Fortunately, this feature exists in toplip +by default. + +To hide a file(s) inside images, use **-m** flag as shown below. + +``` +$ ./toplip -m image.png file1 > image1.png +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 +``` + +This command conceals the contents of file1 inside an image named image1.png. +To decrypt it, run: + +``` +$ ./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 +``` + +**Increase password complexity** + +To make things even harder to break, we can increase the password complexity +like below. + +``` +./toplip -c 5 -i 0x8000 -alt file1 -c 10 -i 10 file2 > file3.encrypted +``` + +The above command will prompt to you enter 10 passphrases for the file1, 5 +passphrases for the file2 and encrypt both of them in a single file called +"file3.encrypted". As you may noticed, we have used one more additional flag +**-i** in this example. This is used to specify key derivation iterations. +This option overrides the default iteration count of 1 for scrypt's initial +and final PBKDF2 stages. Hexadecimal or decimal values permitted, e.g. +**0x8000** , **10** , etc. Please note that this can dramatically increase the +calculation times. + +To decrypt file1, use: + +``` +./toplip -c 5 -i 0x8000 -d file3.encrypted > file1.decrypted +``` + +To decrypt file2, use: + +``` +./toplip -c 10 -i 10 -d file3.encrypted > file2.decrypted +``` + +To know more about the underlying technical information and crypto methods +used in toplip, refer its official website given at the end. + +My personal recommendation to all those who wants to protect their data. Don't +rely on single method. Always use more than one tools/methods to encrypt +files. Do not write passphrases/passwords in a paper and/or do not save them +in your local or cloud storage. Just memorize them and destroy the notes. If +you're poor at remembering passwords, consider to use any trustworthy password +managers. + +And, that's all. More good stuffs to come. Stay tuned! + +Cheers! + + + + +-------------------------------------------------------------------------------- + +via: https://www.ostechnix.com/toplip-strong-file-encryption-decryption-cli-utility/ + +作者:[SK][a] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]:https://www.ostechnix.com/author/sk/ +[1]:https://www.ostechnix.com/cryptomator-open-source-client-side-encryption-tool-cloud/ +[2]:https://www.ostechnix.com/how-to-encrypt-your-personal-foldersdirectories-in-linux-mint-ubuntu-distros/ +[3]:https://www.ostechnix.com/cryptogo-easy-way-encrypt-password-protect-files/ +[4]:https://www.ostechnix.com/cryptr-simple-cli-utility-encrypt-decrypt-files/ +[5]:https://www.ostechnix.com/tomb-file-encryption-tool-protect-secret-files-linux/ +[6]:https://www.ostechnix.com/an-easy-way-to-encrypt-and-decrypt-files-from-commandline-in-linux/ +[7]:http://en.wikipedia.org/wiki/Advanced_Encryption_Standard +[8]:http://en.wikipedia.org/wiki/Scrypt +[9]:https://2ton.com.au/Products/ +[10]:https://www.ostechnix.com/wp-content/uploads/2017/12/toplip-2.png%201366w,%20https://www.ostechnix.com/wp-content/uploads/2017/12/toplip-2-300x157.png%20300w,%20https://www.ostechnix.com/wp-content/uploads/2017/12/toplip-2-768x403.png%20768w,%20https://www.ostechnix.com/wp-content/uploads/2017/12/toplip-2-1024x537.png%201024w +[11]:http://www.ostechnix.com/wp-content/uploads/2017/12/toplip-2.png +[12]:https://www.ostechnix.com/wp-content/uploads/2017/12/toplip-1.png%20779w,%20https://www.ostechnix.com/wp-content/uploads/2017/12/toplip-1-300x101.png%20300w,%20https://www.ostechnix.com/wp-content/uploads/2017/12/toplip-1-768x257.png%20768w +[13]:http://www.ostechnix.com/wp-content/uploads/2017/12/toplip-1.png +