There is no good way for Google to provide encryption within its gmail product without having the user provide the key to the browser/javascript (easily stolen) and or having the key stored on their servers (ease of use).
The unfortunate side effect of encryption is that it is not transparent, it requires users to be completely aware of what is and isn't encrypted and also to be completely aware of where their keys are stored and how they are treated. Defaulting to encryption would just make it so that the majority of the people are unable to communicate and or use the internet at large.
Most people do not use gmail with IMAP so suggesting client side is not going to really work. With encryption stuff like mailing lists will not work either, because you'd need to individually encrypt the message for each and every single recipient on the mailing list.
Oh, come on. Are you really suggesting that a world that managed to build the Internet, where the mathematicians developed concepts like public key encryption and password hashing, where many banks routinely issue physical tokens for two-factor authentication before access to secure systems, and where several nations run national ID databases, we couldn't manage to devise a system where every user has unique credentials to access sensitive systems without those systems themselves being able to decrypt the user's data?
That's a load of nonsense. In the grand scheme of things, solving that problem is easy. We just haven't done it yet, because while Pandora's box is open, not enough people have yet come down with plague.
Sadly, that means things are going to have to get significantly worse before they get better. Still, as the ever-increasing leaks turn into more concrete problems like bad credit because your card was swiped, being arrested based on bad intelligence, or having your political career destroyed because the wrong private comments leaked out, sooner or later enough people with serious influence are going to get hurt for the situation to change.
we couldn't manage to devise a system where every user
has unique credentials to access sensitive systems
without those systems themselves being able to decrypt
the user's data?
In the case of the GMail web interface, which I can tell you it's better than any desktop client I ever used, no, it isn't possible.
It isn't, because then Google cannot render email messages in the browser for you. And if it did decryption with Javascript, it's still their client and their client can still send back information about your emails to them.
Then you've got the problem of losing functionality. I love GMail because it does a good job of searching through my emails, or filtering them. And, ever since I switched to GMail, my spam problems are over.
Of course you could argue that with encrypted emails, spam is eliminated because you can just filter away messages for which you don't have a decryption key.
But this also represents a usability problem - getting the decryption key of every user that sends you email it's a PITA; and it would also prevent unsolicited emails that you do want (like old friends contacting you for the first time, or job offers).
Really, for encrypted email to work, you have to trust the client and it cannot be the default.
I don't think it would eliminate spam - the system would probably use PGP key servers to avoid the hassles of key sharing.
But yes, it's an usability nightmare now that everyone is using webapps. And even with native apps, having to copy the private key from your computer to your smartphone would be over most people's heads.
Well, here in Portugal (and I hear in Belgium they have a similar system) our national ID card can sign and encrypt data using an internal private & public keys. That could be used to encrypt email securely even on a rogue machine.
The main technical problem is the lack of readers. The actual main problem is user education - nobody knows how to work with them.
How would it encrypt email on a rogue machine, securely? If the machine is rogue and has all key presses and has the plaintext how can it be secure then? Sure it is encrypted but it is already compromised.
Oh, sure, the current email is compromised, but not the key (since the encryption/decryption is performed by the card itself). The advantage is that you can use a public machine to check a non-important email without giving them the keys to all others or letting them email faking your identity.
The unfortunate side effect of encryption is that it is not transparent, it requires users to be completely aware of what is and isn't encrypted and also to be completely aware of where their keys are stored and how they are treated. Defaulting to encryption would just make it so that the majority of the people are unable to communicate and or use the internet at large.
Most people do not use gmail with IMAP so suggesting client side is not going to really work. With encryption stuff like mailing lists will not work either, because you'd need to individually encrypt the message for each and every single recipient on the mailing list.