There isn't currently a way to use MultiChain's built-in encryption to do this. So for now you would either need to implement this yourself (see the Electrum lightweight bitcoin client for examples), or you could use a more standard public key encryption scheme such as RSA. It's easy to associate a MultiChain address with another public key by published that key, signed by the address, into a stream, then retrieving it using liststreampublisheritems.