The interesting thing is that Google can easily read data in Gmail. I would have been happier if it was actually encrypted using the user's password or a one way hash of the user's password.
Easy: encrypt a random encryption key with password (I mean, with a key derived from password). Then encrypt content with this random key. When user changes password, re-encrypt the same key using a new password. No need to re-encrypt contents, because it's still encrypted with the same key.
This is how it's done in most disk encryption software, for example, FileVault.
Comments
The interesting thing is that Google can easily read data in Gmail. I would have been happier if it was actually encrypted using the user's password or a one way hash of the user's password.
Although a core part of Gmail's business case is the context-sensitive ads - they really do read every mail you receive and send.
I like that idea, but what do you do when someone changes their password? Decrypt/Reencrypt all their messages?
Easy: encrypt a random encryption key with password (I mean, with a key derived from password). Then encrypt content with this random key. When user changes password, re-encrypt the same key using a new password. No need to re-encrypt contents, because it's still encrypted with the same key.
This is how it's done in most disk encryption software, for example, FileVault.
store the password change history...