I work for a large non-US based international organisation. Regarding the recent leaks about the NSA breaking most encryption on the internet, we now know the US and UK governments are actively involved in weakening encryption standards and backdooring hardware and software. Unfortunately what exact encryption is broken is unknown, we do know the encryption protocols currently in use on the internet are from Suite B. We are highly concerned that the NSA may be using this capability to steal trade secrets, intellectual property and other information from our organisation that will benefit the US government, companies and industry, or allow them to patent an invention before we have had the chance. We need stronger encryption programs that will give us more protection.
Apparently "strong encryption works" according to Sir Edward Snowden. But what is considered "strong encryption"? There is clear evidence of it working as he managed to originally communicate with the Guardian reporters about his plans and leak highly classified information without the NSA knowing about it. It is not known what encryption he was using for that. I've seen posts saying TLS is highly likely to be broken, as they could use a secret court order to gain the root certificates from Certificate Authorities in the US allowing them to perform a transparent MITM attack on most communications as it transits US/UK networks.
There have also been discussions about backdoored RNGs which have been pushed by the NSA e.g. Dual EC DRBG. Obviously they should be avoided and proper random number generators used. The problems potentially go deeper than that however. The TLS protocol is made up of other algorithms. As you know a Diffie-Hellman key exchange is used to exchange symmetric keys between two parties. These symmetric block-ciphers could also be compromised.
Block-cipher encryption may have unknown attacks on it. As you know with the DES standard, the NSA is at least 20 years ahead of academia and the commercial world in terms of cryptanalysis and employs the best mathmeticians in the world. Not to mention they have many supercomputers and viable quantum computers. We also know the US government in the 1970s - late 1990s used to block export of cryptography over 64 bits. Now those restrictions are now "conveniently" lifted and they now recommend Suite B which has a maximum of 256 bits.
Suite B comprises of the Advanced Encryption Standard (AES) with key sizes of 128 and 256 bits. The two modes specified are Counter Mode (CTR) and Galois/Counter Mode (GCM). Because the government recommends "256 bit" as the highest "top secret" security level and given that their mandate is to backdoor and weaken encryption systems so they can leverage that capability in their surveillance network, then clearly 256 bits or the algorithms in particular (e.g. AES) cannot be trusted. Also it appears we cannot trust anything written or endorsed by the US government anymore as they could be pushing standards that they know have secret weaknesses.
References:
theguardian.com/world/2013/sep/05/nsa-gchq-encryption-codes-security
theguardian.com/world/interactive/2013/sep/05/nsa-project-bullrun-classification-guide
wired.com/threatlevel/2013/09/nsa-router-hacking/
g1.globo.com/fantastico/noticia/2013/09/nsa-documents-show-united-states-spied-brazilian-oil-giant.html
arstechnica.com/security/2013/01/secret-backdoors-found-in-firewall-vpn-gear-from-barracuda-networks/
en.wikipedia.org/wiki/Data_Encryption_Standard#NSA.27s_involvement_in_the_design
en.wikipedia.org/wiki/Cryptography_export_laws
en.wikipedia.org/wiki/NSA_Suite_B
en.wikipedia.org/wiki/D-Wave_Two
top500.org
This post is not inviting speculation, modification or opinion on the information presented. I am asking for answers to these specific questions:
- Will doubling or even quadrupling the 256 bit block size to 512 bit or 1024 bit make it considerably more difficult for a powerful attacker to attack? I assume rework of the key schedule will be required, correct? When the block size is increased the key size should match as well, correct?
- I know Threefish exists with 512 bit and 1024 bit key and block sizes. What other non US government approved and public domain block-cipher algorithms are there but which still have reliable security analysis done on them from the community? Are there any open source libraries using this algorithm?
- I understand TrueCrypt can chain algorithms for better protection for storage e.g. Twofish-Serpent-AES using XTS mode. Does this provide actual verifiable protection against algorithm weaknesses or are there attacks against this? Can this method be used for communications as well?
- If the number of rounds in the encryption process was increased beyond the standard number, perhaps by a variable pre-agreed number between sender and recipent, would this increase the security margin of current algorithms significantly?
- What other modes of block-cipher encryption are considered more secure than the government recommended ones (CTR, GCM and XTS)?
- What other encryption methods or open source programs could be used as an alternative to block-ciphers for encrypting data more securely?