I have another idea. I know its retarded, but you can tell me how.
You could split the encrypting and decrypting a different way - like folding paper hamburger style instead of hotdog. Instead of having a program with a module that does all of the process of decrypting, the receiving program only knows how to handle keys. The message itself contains the code to read the message. Meaning, the algorithm used is kept a secret, like the private key, but of course private keys don't go in messages. By doing that, the message, while encrypted, is also a binary that executes itself on whatever machine received it, and it just does one thing : deletes itself on a timer. Or, slightly better, the message contains an incomplete binary and the receiving program does some variation of concatenation to complete it in a predictable way. But the key thing that made me think this is, encryption is pointless unless the sender can be confident that the message was deleted - hence, turning the message into an executable that deletes itself.
I can think of two flaws already, but I also can think of solutions to those flaws - I just am nervous about my novice level computer lingo. So I'll just see what you say.
