Creating Your Own Secure Messages – Part 2
Creating Your Own Secure Messages – Part 2 by DaytonPrepper1 – Survival Blog
Yesterday we talked about how to create and use a One Time Pad. Today we will talk about another way of encoding messages. I am sure I am not creating anything new with this method, but I have not seen it before nor do I have a name for it. My working name is Word Grid Substitution.
Description of the Method
The heart of this method is a 25,000 word grid. The current word grid is 10×2500. I take the message to be encoded and search for the first word from a random spot in the list. When the word is found, the coordinates are then recorded. The encoded message is then a simple list of grid coordinates. Your contact would need to have the exact word grid and spreadsheet to decode the message.
Building the Word Grid
I used a lot of public sources to gather this list of words for the word grid. I pulled in several open source books. Then, there was some work to do word frequency counts to help determine two things– determine what words appear frequently in the English language and in what ratio they appeared. For example, the word “the” appears in the word grid 63 times, the letter “a” 28 times, the letter “I” 30 times, and the word “one” five times. This allows the messages to contain the same words but show different encodings, so that word patterns are harder to spot. I also used word lists on different topics as well as a lot of abbreviations, acronyms, country names, capitals, states, books of the Bible, body parts, food names, plants, trees, et cetera.
Numbers Converted to Words
The list contains no actual numbers, only the words for numbers. I wrote a specific macro that converts numbers into words. The reason for this is that I would need every number included within the word grid, otherwise. By converting to words, I just need the number words along with words like hundred, thousand, million, et cetera. For example: 1,234.56 would be converted to “one thousand two hundred thirty four point five six”.
I still find new words that I do not have in the grid from time to time. When this happens, the user is prompted to substitute a similar word and then continue to encode. The missing word is then added to a list. The next time the word grid is updated, that word will be included.
Sorting The Word Grid
I sort the word grid by using the same approach as yesterday’s example. I sort the first column only, then sort the first two columns using column two as the key. Then I sort the first three columns using column 3 as the key. I follow that pattern all the way to the end using all ten columns and using the tenth column as the key. This leaves column ten in alphanumeric order. I solve that by then using Excel’s random number generator to number each of the rows, and sort the entire grid by that column.
I also use this same process to sort through the rows. This ensures that words are moving between rows and columns during the sorting process.
Using With Multiple Contacts
I wanted to be able to use this spreadsheet with multiple contacts. I had the idea of using simple offsets to accomplish it. By this I mean that when the message is encoded the grid coordinates are offset with a predetermined offset number. For example, if the word “one” had a coordinate of 844-3 and I had an agreed upon offset with Group Bravo to use an offset of +10,-1, the coordinate would become 854-2. This would allow for somewhat secure communications with several groups that might share this same spreadsheet. If the message was meant for all groups, there would be no offset.
Challenge and Response to Authenticate
When using open communication sources, such as radio, I would also suggest using some form of a challenge and response system to authenticate that you are talking with your correct contact. An exchange might go like this:
- BaseStationA – “Alpha calling Bravo” – spoken English
- BaseStationB – “This is Bravo, go ahead” – spoken English
- BaseStationA – Issues the Challenge Code Tango 6 encoded as “854-9 802-1”
- BaseStationB – Responds with encoded response Zulu 3 encoded as “1287-4 1350-2”
- Each station then crosses off their challenge and response from their list and continues their encoded conversation
This would basically be a challenge and response list that both you and your contact have. After one has been used, it is crossed out and the next one is used for the next conversation.