You will rarely see me post here since there are better forums for that, and I find almost all political discussions disgusting, but this topic is sufficiently important and at least somewhat related to the "crypto" part of cryptocurrencies.
Under the guise of fighting against online child pornography, American politicians are trying to effectively ban end-to-end encryption on all communication technology platforms for everyone. Newly proposed legislation could force companies like Apple, Google and Facebook to create back doors on their services to make sure law enforcement can easily monitor everything they want or potentially face prosecution for negligently enabling child abuse.
The Eliminating Abusive and Rampant Neglect of Interactive Technologies Act
...
I dare say, this would-be law is
evil. First of all there are dozens of childporn dark net and clear net sites that they are scared of visiting, even for the purpose of taking it down. Second this is going to eliminate people's privacy and everyone's messages will be able to be seen by hacker creeps.
But the more important, relevant-to-this-forum third reason is that passing a ban on encryption shows that these lawmakers do not understand how it works and this has negative consequences for anyone who has secret data to keep safe.
What do I mean by this?End-to-end encryption, or any encrypted communications channel like HTTPS, works by relying on a shared secret to scramble the content of whatever message is being sent. This shared secret is generated by both parties without having to send it across a communications channel, eliminating eavesdropping. HTTPS has nothing to do with this discussion, I just raised as a comparison point. It's not used in the E2E encryption that's targeted by this law.
I'm just going to assume that the end-to-end encryption system used is OpenPGP at this point because I haven't heard of other systems used for this purpose. You wonder that you hear a lot of sites talking about how you should be using end-to-end encryption but for some reason, they never talk details about it.
OpenPGP uses RSA keys, and derives shared secrets, specifically session keys, from RSA keys and RSA is the weakest part of the whole OpenPGP pipeline. You are more likely to see cryptographically weakened RSA public keys being used to defeat encryption than other parts of OpenPGP.
How likely is the NSA to break OpenPGP?It depends on how quickly they can factor large numbers i.e. guess IDEA ciphers, the whole purpose of number theory, or whether they can bypass factoring entirely. Brute forcing is infeasible - but only if the keys are big enough. Most keys are 2048 or 4096 bits which can't be broken in the present.
But there's also a whole list of other attacks they could try against OpenPGP
implementations like bugging the random number generator:
Here's an interesting example of an attack that can be carried out by this malicious source:
Generate a random r.
Try computing H(x,y,r).
If H(x,y,r) doesn't start with bits 0000, go back to step 1.
Output r as z.
This attack forces H(x,y,z) to start 0000, even if x and y were perfectly random. It's fast, taking just 16 computations of H on average.
...
More generally, instead of producing "random" numbers that start with 0000, 0000, 0000, etc., the malicious entropy source can produce "random" numbers that start with successive 4-bit components of AESk(0),AESk(1),... where k is a secret key known only to the attacker. Nobody other than the attacker will be able to detect this pattern.
Or keyboard, memory or disk cache (or even your monitor's radiation) snooping:
https://www.iusmentis.com/technology/encryption/pgp/pgpattackfaq/practicalattacks/#whatpassiveattacksAll this assuming OpenPGP is the end-to-end encryption method. It
might not be the encryption system used in all or even any E2E encrypted programs but strong cryptographic algorithms cannot be exported from the US anyway so it's usually the case that US politicians are dismayed about realistically unbreakable ciphers. So under the disguise of "regulatory compliance" we can expect them to try to introduce a flaw in OpenPGP, because they did exactly that in SSL (re:
FREAK vulnerability) which ended up shooting themselves in the foot as J. Random Hacker could by then cheaply buy computing resources to break them and, uh,
their own websites:
Sites affected by the vulnerability included the US federal government websites fbi.gov, whitehouse.gov and nsa.gov
So, you guys here are using 4096 or at least 2048 bits for your RSA public keys. Imagine if you were forced to use merely 512 bits for your keys (by virtue of using a messaging app made by a company forced to comply), that would be a disaster. That's what these politicians want but they don't realize the disaster part. And if this law gets into effect, it's safe to assume processing power has advanced far enough to allow anyone to break these keys right now.
Now, with such a weakness, the NSA's not going to go out and brute force everyone's or some random person's public key. They will only go after specific people who are most likely very far away from this forum. But as I said above, what's stopping anyone else from brute forcing your keys and causing a general ruckus to the public?