Intro: Send Location With Perfect Secrecy
What if you want to transmit information with perfect secrecy and you don't trust computers or phones at all? Suppose all your keyboards log all your keys in the hardware, and your screens and your routers and your phones. I'm not saying this is true, and I mostly don't use encryption at all, but if it *were* true, what would we do to fight a total surveillance system? Paper, markers, candles, flashlights, and arithmetic done by hand include some of the answers. I'm also interested in code that is both human and machine readable and I am working on several applications of what I dub the "roctal" code, for octal that rocks.
Here is the roctal encoding instructable: Roctal
Step 1: Count Characters in Message
We are using a one time pad here, which is just a series of random numbers the same length as the message we want to send. Understanding roctal code is a prerequisite for this instruct able, and that's something I made up recently so please check that out or be patient while I get that written. In this case I'm encrypting the latitude and longitude coordinates of the Denver Public Library.
The first step is to just figure out how many characters the message is, then add enough to make it the same as other similar messages to prevent an adversary getting any message length info.
Step 2: Roll 3n Random Numbers, Where N Is Number of Characters Using D8
Get three 8 sided dice, one red one blue and one green. red is 64s, green is 8s and blue is 1's. Roll all three n times, where n is the number of characters in the message.
Encode these all on Roctal, which is documented elsewhere on Pinterest and github, and will be soon documented here.
Step 3: Encode Message Into Roctal
Again, you need another instruct able to actually do this, but it should be simple to go through and convert from the octal ASCII values to marks on the *opposite side* of each box from the two identical random number chains we made. For GPS coordinates I want a very simple format that can be put into a search engine. There are a couple of these and I choose to use decimal degrees(as opposed to minutes and seconds).
Step 4: Encrypt Using Flashlight XOR
THis is, if I do say so myself, the clever bit. I have a LED bike light clamped to one of my cardboard structures to hold it in place and hold the pad and message over the light so that the light shines through and you can clearly see both layers. I then perform an XOR on every bit in the message by hand, noting that if there are no marks it goes to zero, if there is a mark on each side it also goes to zero, and if there is a mark on either side and none on the other, there is a mark on the output strip. This output strip is now the cipher text which I can post anywhere without any observable difference between the bits and random noise(up to the randomness of the d&d dice, which should be ok for these crude purposes). I would then upload this to an anonymous image board like imgur and someone could anyonymously download that and print it out by hand themselves, and decrypt using another XOR with their copy of the key.
Step 5: Burn After Reading
This is the best part. burn the original key then flush the ashes down the toilet.
Step 6: Your Friend Decrypts the Message and Finds the Physical Location
Decrypt, put the message into a map search engine, and go to the physical location(Denver public library).