Inherit
ISerializable
and then implement custom serialization. All you need to do then is to encrypt the data using whatever encryption you want. You can then use a private/public key encryption system to deserialize the data on the other side.
That's what I would do anyway.
[Edit]
See this[
^]
AES encryption[
^]
You can always convert the byte stream to a Base-64 string, then encrypt the string and send it over as plain text, XML, or JSON.