RangerWickett
Legend
I just wanted to post an errant idea I have. Create a program that reads a document, then follows a list of 'find-replace' commands to edit the document. The words that are replaced are often forms of other words that can be found, and again replaced, with the ultimate result being that the program cascades, changing all the text several times until it has a completely different meaning.
For instance, say you have a sentence:
"Bob likes fish."
The search program see "ob " and replaces it with "reakfast" and it sees "like" and replaces it with "probably i" and sees "fi" and replaces it with "when we're going to kill" and it sees "sh" and replaces it with "Ricardo."
So you end up getting "Breakfast probably is when we're going to kill Ricardo."
But that's not all. After finishing the first runthrough, the program runs again, so if any of the new words contain things that show up in the list of 'find-replace' commands, the meaning would change again.
Ultimately, you'd have a program that goes the other direction. It takes your real message (e.g., "I'm smuggling cocaine. Pick it up at the corner of 5th and MLK at 9pm."), and calculates several tiers of an alternative message so that you end up with an innocuous message. Then the person receives the coded message, runs it through the translation program, and gets the real message.
The program would number each 'find-replace' command, from 0 to 1023, and each coded message would include a number at the end of the page to tell you where to start the find-replace program. Because there are multiple levels of replacement, if you start with 0 and work your way through, when you should have started at 873, you'll end up botching the translation.
So we have two levels of security. The first is that the message has to be translated to get its real meaning, and you have to have the translation program for that to work. The second is that, even with the program, you have to know where in the string to begin, or else you can't translate it without trying all 1024 options.
For instance, say you have a sentence:
"Bob likes fish."
The search program see "ob " and replaces it with "reakfast" and it sees "like" and replaces it with "probably i" and sees "fi" and replaces it with "when we're going to kill" and it sees "sh" and replaces it with "Ricardo."
So you end up getting "Breakfast probably is when we're going to kill Ricardo."
But that's not all. After finishing the first runthrough, the program runs again, so if any of the new words contain things that show up in the list of 'find-replace' commands, the meaning would change again.
Ultimately, you'd have a program that goes the other direction. It takes your real message (e.g., "I'm smuggling cocaine. Pick it up at the corner of 5th and MLK at 9pm."), and calculates several tiers of an alternative message so that you end up with an innocuous message. Then the person receives the coded message, runs it through the translation program, and gets the real message.
The program would number each 'find-replace' command, from 0 to 1023, and each coded message would include a number at the end of the page to tell you where to start the find-replace program. Because there are multiple levels of replacement, if you start with 0 and work your way through, when you should have started at 873, you'll end up botching the translation.
So we have two levels of security. The first is that the message has to be translated to get its real meaning, and you have to have the translation program for that to work. The second is that, even with the program, you have to know where in the string to begin, or else you can't translate it without trying all 1024 options.


