Succinctly:
Encryption and searching are conflicting objectives.
Offline Mobile Data is a security nightmare. If the data is sent unobfuscated or unecrypted, even if obfuscated before displaying, the communication channel can be observed.
In addition, the application can be taken offline, and investigated.
But if the transmitted records are encrypted before persistance, the data becomes unsearchable.
This is probably not a bad thing.
Conclusion:
XAct.IHasEncryptionApplied and call it a day.SqlServer can store encrypted information, and search on it. It's not at all what we are talking about here, but worth knowing.
Another concept is searching on encrypted data.
See: http://blogs.msdn.com/b/lcris/archive/2005/12/22/506931.aspx
That said, in case the concept still entertains… here are some further on the subject:
Consider encoding the data before transmitting it, using the public key of the server (not client). The client has access to this to encode search terms with the same public key, therefore being able to match the exact same value.
Consider scanning the document for words, encoding each one, and saving that encrypted list, and transmitting that with the record.