I'd like for someone calling a contract to be able to send me secret info. Lets say it's just the person's physical address because they bought something from me. They don't want to just put that info on the blockchain, they'd like to keep it secret so only I have it.
1) Somehow use some form of PKI encryption so the message can only be read by me, then transmit the encrypted message through a call to my contract? (And then I'd have to have some part constantly watching for this.)
2) Wait for Whisper, which may or may not be able to interact with Ethereum contracts and may or may not ever become integrated into Mist and web3.js?
I'm looking into developing something in about a month's time, so the option 1 becomes more appealing to me unless Whisper is further along than I'm thinking. If you think that option 1 is best, can you please provide an example?