Best practices when encrypting a file with three different ciphers I have some files that contain important information, so I want to encrypt them by the most secure encryption method possible.

I've read countless StackExchange answers on similar questions and some Wikipedia articles about different ciphers, cryptoanalytic attacks, bad software implementations, cipher modes, etc. Google searches have not helped me in deciding which cipher mode is best, as this may depend on other factors that I will choose in my encryption process.

Having realized that one bad choice when encrypting a file may lead to failure, I want to describe my encryption process and have someone review it for anything that might weaken the encryption.  

I do understand that it's impossible to brute force a cipher like AES256, Twofish (256-bit version), or Camellia256--in any practical length of time, according to academic consensus. With that said, I don't want the security of my files to depend on the soundness of a single cipher. Therefore, even if a vulnerability were to be found in one cipher, say AES256, my files would will still be protected by another.

By using multiple ciphers to encrypt my files, I know that I may not be increasing the security of the encryption against brute force per se; rather, I want to increase the security of the encryption against the future failure of a single cipher.

The following may be important in determining things like encryption order, encryption modes, etc. 

Process:

1) I will be using GnuPG, and the ciphers I trust are AES256, Twofish (256 bit), and Camellia256, in that order.

2) There will be about 10 or 20 files, but I'm not sure yet. All the files are less than 1MB, and some only contain a few words/passwords, etc. 

3) Since GnuPG can't encrypt a whole folder, I will need to compress the folder containing my files to a tar.gz file.

4) I will then encrypt this tar.gz file this way:

Enc1=Encrypt(TarFile, Camellia256, Passphrase1)

Enc2=Encrypt(Enc1, Twofish [256 bit], Passphrase2)

Enc3=Encrypt(Enc2, AES256, Passphrase3)

Questions:

I) Does the amount of the encrypted data matter? If so, what are the minimum and maximum sizes for the encrypted data?

II) Should I add some trivial data to the folder that I want to encrypt, like some random .png or .mp3 files, to avoid the cipher leaking some plaintext data? 

How about when I encrypt the Enc1 file, should I add some trivial data to it before encryption? 

III) Since I have to compress the folder that contains all the files to be able to encrypt it, does this weaken the encryption in any way? If this is the case, since I can't encrypt a folder without first compressing it, is there a solution?

IV) Knowing that I trust the security of the ciphers in this order--AES256 > Twofish (256 bit) > Camellia256--which one should I encrypt with first and which should be the last?

V) Since I will be encrypting using these three different ciphers, is it important to use different passphrases for each encryption? 

VI) Knowing that I will only use ANSI characters--this includes alpha-numerals, lower and uppercase and some special characters--what is the minimum size of the passphrase that I should use? Is there a maximum size for the passphrase past which it will be less secure like in some kind of overflow? Can I use 100 characters? How about 1000 characters?

VII) Knowing all of this information about the data that I want to encrypt, and that I value security over speed, which commands/options/flags should I use with GnuPG to encrypt my files for each cipher to offer the best security possible?
I) There is no minimum. Maximum in your case is $2^{64} * 16$ bytes with same key.

II) No. No. GnuPG takes care of that.

III) No. Compressing does not weaken encryption.

IV) I don't think it matters because it is not authenticated encryption.

V) Yes, passphrases must be different.

VI) In your case you can get maximally 256-bits of security per cipher. You should use around 50 characters (depending on complexity) per passphrase. More does not hurt.

VII) I don't think you can tweak anything. It is "best security" by default.


It is important to note that GnuPG does not authenticate files encrypted with symmetric encryption, which means you cannot detect, if it has been modified.

You can read more about cascade encryption here: https://blog.cryptographyengineering.com/2012/02/02/multiple-encryption/