Earlier quoted context omitted.
Why would it be pushed to the client? Seems to me you can do this just as well on server side, and work more on ensuring Server Client interface security. Crypto tokens would be a start.
How would you do a full text search on the server if the server only holds an encrypted version of the data? To my knowledge, no homomorphic encryption algorithms exist that can be used for practical applications such as full-text search. The way to tackle this would be to make index creation on the client incremental: any new messages are downloaded, decrypted, indexed, the index encrypted and uploaded back to the s…
There has also been a lot of theoretical work in topics like predicate- and functional-encryption which could eventually be used for richer queries.