For example, if even the NSA can't protect its own secret hacking tools from leaking, why should anyone expect they, or any such entity for that matter, can be trusted to always protect all their secret keys? Answer: They can't. Any other answer is a fantasy.
Unless I am missing something here, it seems this problem utterly destroys the author's argument.
I mean, they seem to manage pretty well with nuclear weapons.
"Seem to" but no. They don't. With countries like North Korea, Iran, Pakistan and China all having got ahold of the know-how to make nukes, all evidence is that government has failed spectacularly on this front.
While asymmetric key encryption like PGP can indeed be used to encrypt for multiple agencies, is something similar possible for symmetric key encryption algorithms? Presumably when people are storing their own data in encrypted format, it's some symmetric key encryption that is used?
Of course one could get around that by using PGP to encrypt a randomly generated password which then is used as the passkey for symmetric key encryption like aes-256? Like the SSL handshake?
But then the original problem stays. If for some reason, the government's private key were to leak, they'd render all data vulnerable.
But perhaps even THAT can be worked around by issuing the govt. a new private key per user?
Yes and keep in mind that if private keys leak, this fact may be kept hidden from the government, so the vulnerability of the data could also be unknown to the government. And master keys can leak too. Of course the government would work very hard to protect these keys. Just like they protected the NSA's hacking toolkit that leaked.
There's simply no comparison to be made between keys stored and generated offline in a high-end HSM and warez.rar being passed around by a bunch of analysts.
The problem is, once you give the government this special key (ie your recipient #2 on your GPG file), how do you trust them to not let it fall into bad actors' hands?