The information would be encoded by stringing the words together in a phrase. For instance, "Hello, my name is Larry" would hide the message 1, while "Hello, my name is Curly." would hide the message 3. The choice of the name hid the information.
The word 'BAD' would be converted into a string '000010001000100'.
These bits are used to make choices. If there are only two choices, then one bit is chewed up with each choice.
*BlogsPlayer= Orville Baskethands /.1/ Robert Liddlekopf /.1/
Harrison "Harry" Hanihan /.1/
Gerry Johnson /.1/ Lefty Clemson /.1/ Robby Rawhide /.1/
Alberto Juan Turbosino /.1/Bloaty Von Ripple /.1/
Mark Markinson /.1/ Andy Anteriority /.1//
In this case, the word "*BlogsPlayer" is a variable that is going to be replaced by one of the nine choices separated here. The numbers in between (.1) represent the weighting and since they are all equal, they don't make any difference.
Let's say that you want to hide some of the message 'BAD' by choosing one of the players. Each bit of the message is either a 0 or a 1 so it can split the section in half.
For instance, the first bit of the message 0 would mean to choose the first half of the list. That narrows it down to the first five players. The second bit, also 0, would choose the first half of that list. That leaves three players. The third bit, still 0, also choose the first half of that list leaving two players. The last bit, 1, leaves our choice "Robert Liddlekopf".
In this example, four of the five bits of the first letter "B" was hidden by the choice of the player's name.
Another set of bits would have lead to a different player. The string "101" would have produced "Bloaty Von Ripple".
This process is repeated many different times. You can see the entire grammar by clicking here .
But things can get more complicated if you change the grammar as you would change the encryption key to the system. Some have shown that the system can be as difficult to break as RSA-- if you have the right key. Finding the right set of keys, however, is not simple to do. One solution is to randomly permute the grammar. Eventually it will be completely different.
These details are beyond the scope of this article. See my book, Disappearing Cryptography:Being and Nothingness on the Net for more details.
Please include a paragraph stating that you're a US Citizen residing in the United States. Also state that you're aware that the source code MAY be controlled by U.S. Export control laws and that you intend to abide by all of them.
I provide NO support and it's your job to make it compile.