Hiding messages in plain text, and a decoder to reveal it.
I've created a simple program that decodes plain text into a hidden message. If you'd kindly bear with me, I'd like you to read through this text, and then follow the link to code. I ask you to asses both the method and the code, and give me feedback.
I've long been interested in encoding messages in plain text, so that when one reads them they detect only the letters and message presented directly to them, while a deeper message remains hidden. With my limited mind, I sought a method that would allow me to do this, disregarding the ELS method, because it was too difficult for me. I understand that to conceal a hidden messages within a coherent text, the coding rules must allow for flexibility in the plain text, without which it defeats the point. Thus, I have contrived (once again with my limited mind) a method of encoding and decoding messages in plain text. I call the scheme Garf.
The method begins with the numerical orders of each letter in the message to be encoded. They are changed into a different form, which for the sake of a name I will call Garf notation. In Garf notation, numbers are arrived at from a sequence of numbers from 1 to 3. In such sequences containing only two numbers, they are simply added, and in sequences containing one number, it is simply that number. For all sequences that contain more than two numbers, all numbers except for the first and the last are multiplied together. Then, an operation is performed on the result arrived at so far and the last number based on the first number. One indicates multiplication, two indicated addition, and three indicated subtraction. Each sequence representing one number from 1 to 26 is called a segment. Segments are separated by zeros.
After we have all the segments in one Garf sequence, we find two numbers from 1 to 6 whose absolute difference is the first number in the sequence, and that becomes the first number of an entirely new sequence. We then find a number whose absolute difference in relation to the first new number is the second number in the original sequence. We continue doing this until we are done with all numbers in the Garf sequence. Once we have this new sequence, we must write yet another sequence in which we give two numbers for each number in the original sequence, in which each number in the original sequence is the sum of each pair of numbers in the new sequence, and each new number is from one zero to three.
We have a variety of choices in what numbers we choose, and this is important, because the final sequence will represent letters each of which will be the first letter in each word of our text. The numbers we chose will be the remainder yielded when the alphabetical order of a letter is divided by four. So we can choose from a few different letters for each number in the sequence from zero to three.
Some “Old Crows” I know would tell you that you have missed two key points. One, the encryption is simplistic enough to crack with a minimum of computation effort if an agency suspects some sort of intelligence is encrypted and two the tediousness of embedding and extracting defeats the purpose of any benefits afforded plain text (open) transmission. As a fun exercise, continue to refine and I wish you good luck, who knows, some “agency” may contact you, especially if your looking for a “secure” job opportunity.