For added protection against the NSA, encrypt using AES chain block cipher mode, then encrypt the cipher text (the result from the first encryption) again, and repeat as many times as you can afford to repeat. The NSA would probably try brute force searching to go through the search space, and figure out they’ve cracked the code by determining the entropy of the result for each of the keys they test. They know when to stop when they see meaningful text as the result. By encrypting several times, you make it harder for them to determine when they have cracked a code because if they did try the right key, then they would see jumble as the result, almost indistinguishable from the results of the incorrect keys. As you increase the number of re-encryptions, the difficulty of cracking encrypting content becomes more difficult. The NSA will lose its mind trying to figure out when they have cracked the code.
Software like TrueCrypt can do multiple encryption for you. But beware of naive encryption that simply runs in the “Encrypted Code Book” mode. You will need encryption that runs in one of the more sophisticated modes like “Chain Block Cipher” or “Cipher Feedback.” Yes, a quantum computer would make it easier for the NSA to go through the possible keys to try. But by encrypting multiple times (with a DIFFERENT key for each encryption repeat of course), you make the search space difficult by a factor of the key length. Hopefully this helps you keep your stuff out of the NSA’s reach.
-The implications of applying multiple layers of encryption can be quite complex and in the worst case reduce the individual layers’ security - take for example XORing the entire message twice - you end up with the original message! And even if you use two different keys, it’s still equivalent to XORing with one entirely different key. It’s of course more complex with AES, but you’d really do yourself a favour by increasing the key size instead… – Tobias Kienzler