Send Location With Perfect Secrecy




Introduction: Send Location With Perfect Secrecy

About: I'm an applied physicist by training(phd Yale 2006, BA Berkeley 1998, math and physics), and have done physics research in the federal government and product development in the private sector, starting two o...

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

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

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).

Be the First to Share


    • Trash to Treasure Contest

      Trash to Treasure Contest
    • Raspberry Pi Contest 2020

      Raspberry Pi Contest 2020
    • Wearables Contest

      Wearables Contest

    3 Discussions


    3 years ago

    You've got the right idea, but you probably want to use bigger numbers. Perhaps you could use a d10, or even a d20? That might push it out of the realm of a human being able to crack it by hand.


    Reply 1 year ago

    I was about to ask if D20 were fine too. Nice pro tip!


    3 years ago

    info on how to encode this way is here: