“Internet” Without Infrastructure – Part 3, by R.H.

Basic Techniques and Definition of Terms (continued)

  • Sending a message. Sending a message consists of creating a text file containing the message, naming the file as described above, and getting it into a Postmaster’s pouch or multiple Postmasters’ pouches. If you don’t have a way to create a file yourself, a Postmaster can help you.

    The smaller your message is the better chance it has of getting through. You don’t need to go crazy with this. A message that is only 20 characters in length is not really any better than a 1K file (1024 characters). When writing out large numbers of small files, computers tend to waste a lot of space, because of the way the data is stored. A 20 character file is likely to use up 1K of space anyway. Even if your file is 2K, 3K, or even 10K, it’s still a “small” file. The point is that if a lot of people were to try to send large files of 50K, 100K, or a megabyte or more, a Postmaster somewhere along the line may have to delete them, due to a lack of space, but a small file doesn’t run this risk.

    If you want to attempt to send a larger file, also send a very small message telling the recipient that you are also sending the larger file. That way, if the larger one doesn’t get through, the recipient (and eventually you) will at least know what happened.

    In most cases, you will also want to include a return address in your message, so that the person can get back to you if they don’t know, or have lost, your address.

    Of course the contents of a message itself could give away all sorts of information that you may wish to keep private, which is covered in the next topic.

  • Security and Encryption. Really, the only way to be relatively certain that a communication has not been altered or tampered with is to encrypt it. If an encrypted message is tampered with, it can no longer be decrypted by the recipient, so he will know that sabotage has occurred. There are various options for encrypting a message. The best, by far, is to use a modern encryption program, like PGP, which stands for Pretty Good Privacy, now available as GnuPG and Gpg4win. However, this requires that the sender and recipient (or Postmasters on both ends) have the software and the knowledge of how to use it. It’s not highly technical; you just have to learn a few operations. Encryption in general is a large subject, which is covered elsewhere by others, so I won’t try to explain how it works. This article is really about the medium for sending messages, not the content or how to encrypt, but I’ll provide some tips.

    One huge advantage of using PGP is that it allows one person to send a secure message to another person without those two people having agreed on a password in advance. If a person wants to send an encrypted message to someone, all they need to know is that person’s “public key”, and he can send a message that only the intended recipient (with his secret “private key”) can decrypt.

    This same technology also allows messages to be “signed”, which is basically just a special use of encryption. A signed message, though not necessarily secret, can be verified as actually originating from a particular person. If a message has been signed, all you need is the “public key” of the person who purports to have sent it, and you can verify that it really was them. This can be used to solve the problem of verifying blog entries, as mentioned before. If Joe Blogger has a blog at www.JoeBlog.com, he posts a message with a name of, for example, “www.JoeBlog.com 2015-01-15-YREU”, (YREU being random) adding a digital signature at the bottom of the message, which he generates with PGP, using his private key. Anyone interested in the blog can find it in a pouch the same way he would find his your own messages. If it is signed and the “public key” is known, PGP can be used to verify that the message is authentic.

    A public key is quite long and random; it’s definitely not something any normal person is going to be able to remember, but it can be sent in a message, and it can be saved on a USB key or SD card. Each postmaster will eventually have a large “address book” of them. They look something like this:

    mQENBFUMZJoBCACIqaSs9NZegeCYbL7QNQY9hJs3BSy/JcYgf3coy5mXDXDC+L95 x/w4TGBT9jSbwQQD3esYa8eUIAdDAuvHpFipJ+5D4hY0vynkXvWeKzMztMqj3jYR QkcpNOL28M9ezrRMp/X4fN2Yy9k+BkBgmo7M78bYJdH1IsaJ1foOQFqYxC5YSUyY s0bwCKb9tmqEhvpwj2/LnOhlQ/R/H/3th09rc2x6/0tPzYI6j9j9d/X6pzPh1kv6 9cV4yki0/zk5VJtrK5kyasTmjDj7pdc2O9iduJkCxD0f+RKsyziEOaBDOzFSpC99 8kBnr9ccwBMAMiJBy1tUomP+0unkvgdClhenABEBAAG0GXJpY2tAa25vd3dhcmVz b2Z0d2FyZS5jb22JARwEEAECAAYFAlUMZJoACgkQQoRmLC8SB0DaRQf/RwktmFK8 WJSSOj/8h0iouMZj/GACytI/qVZu3pC07av64xjVGREaoBjTQ4AmYTM31ePgHKx7 B6qAGTRVNp/vgsWeu7Nnfu8CEeqgjXvQRKqAcrlH/QmF/0F0vAfYP1YboeVrQCxe trkcSP4XPlRR/Kk3DiwY6nqim4eeEnYTwPKmrMnaMwITt7AzCvvGNYDJyjKvZnDz /BQotUd0ritrJLpMRhFTPd/t/fO+qLBT75WxuarofwHI6ED8Z0jip1hiL/E9f2TO oAbRgo0Dx9KNSCsW7SFExsujN4BPDz+8XM5ctMHSJ4kUl63xAtJAGnBHTjmAMFLe 5wR6KcVIHLNPXQ== =EZ4C

    Another less technical option, other than PGP, is to use the “zip” file format, which can also do encryption. There are free programs, such as 7zip, that will allow you to create an encrypted file that requires a password to open it. It will also shrink a message file in size considerably. This method, though less secure, has the advantage that all you need is a simple, human-readable password to encrypt and decrypt. Large messages or long blog entries can also be “zipped” without a password, just to shrink the file down to a smaller size.

    Yet another option is to use some manual coding method, such as found in children’s code books. However, if you use something as simple as some sort of A-Z substitution, don’t make it too simple and don’t separate words with spaces. It doesn’t take a rocket scientist to figure out that “J MPWF ZPV” means “I LOVE YOU”. Once he has figured that out, he’s well on his way to decrypting your entire message. Remember the Nazis’ mistake as covered in the movie The Imitation Game (I won’t give it away, in case you haven’t seen it yet.)

    An effective, highly secure, yet low-tech method of encryption is called a book cipher. This requires that the sender and receiver have exact copies of the same book. It must be identical. For maximum security, it should be a book that does not exist in electronic form anywhere, but for practical purposes just about any book will do. An old paperback, a children’s book, a particular printing of the Bible, a textbook, any book will do, as long as both copies are identical, page for page and word for word. Then devise a scheme to build messages by pointing out words in the book, or if the desired word is not found in the book, letter by letter. This will take a prior understanding between the sender and receiver and some practice, but it has the advantage of not requiring special software. For example, “15.2.3,18.12.6,17.3.12” means page 15, row 2, word 3, then page 18, row 12, word 6, then page 17, row 3, word 12. You also may need a way to point out individual letters to spell out a word that you can’t find in the book. (Hopefully, you can do this without making it obvious to a cryptologist that you are doing so.)

    At the very least, or in addition to encryption, use vague terms that you are sure will be understood only by the intended recipient. For example, instead of typing “The gold will be dropped off at 123 Pleasant Street, Boise, Idaho on 14 September 2017”, say “It will be at Ma’s place five months before her 60th birthday.”

    There are endless possibilities, which are beyond the scope of this article. The point is that only an encrypted message is truly secure (and even then you have to be careful). That said, if all you are trying to do is let your sister know that Grandma and Grandpa are okay, a message with no encryption is much better than nothing, and it is likely to get through anyway.

    If you want to send an encrypted message to someone but you have neglected to exchange passwords between you in advance, there are a couple of things you can do. If it’s a family member or close friend, you may be able to send an encrypted message along with a hint as to what the password is; something that only you and they would know. For example, at the top of your message, you could write “Password is Grandma’s first name”, which would let them know that the password is “Samantha”.

    Another way is to split a message into two parts, both of which are required for full understanding. One of the messages could be encrypted, while the other one could contain the password. Or you could just write the two parts of the message in some way that required both parts to understand. This is one reason that you should provide multiple addresses to your contacts. If the addresses are completely different, it’s less likely that anyone will be able to match up the password with the message.

    To exchange addresses with a group of people, create a master page of all of your addresses, print out two copies, and cut one of them up to give out to your contacts. If your name is William Smith and you have three contacts named Joe, Sam, and Bill, the master page looks like this:

    ——–

    Joe:
    William Smith
    Primary Address: YRETYTG
    Secondary Address: JH3E656
    Password: UFFYDYERTE

    ———

    Sam:
    William Smith
    Primary Address: YRETHGH
    Secondary Address: JH3EYTY
    Password: YERTWU

    ———

    Bill:
    William Smith
    Primary Address: YRETTRM
    Secondary Address: JH3EHGR
    Password: HERTWR

    ———

    Once everybody else in the group does the same, you’ve got your own network.

    Given a list of names for any group of people, one person can make up random addresses for everyone in the group, print them, and pass them out. For a small group, this is simple enough that it doesn’t really require software, but a website or small application would be helpful for doing the same for large groups. I am not aware of any at this time, but it would not be a difficult task to create one.

    If you are using PGP, you will also need to store public and private keys in addition to addresses, and storing them on paper will not be practical. Use a USB key or SD card for storing all of your keys, passwords, and addresses, and keep a backup. There is software available to help with this, often packaged with PGP, but it is beyond the scope of this article, as it has more to do with the content of messages than the medium itself.

    All of this could be done after TEOTWAWKI, by postmasters establishing contacts using pre TEOTWAWKI email addresses, building up encryption networks and then helping others do the same by passing the addresses and keys back and forth in encrypted messages, but it would be a slow and laborious process. Anyone who has previously exchanged some basic information with his contacts will have the highest level of anonymity and security and will be able to start communicating immediately. It’s much better to do it now, while it’s easy.

    Basically, if you want security (which you do), you need to take full responsibility for it yourself, which is as it should be. This is really a “wild frontier” sort of network, so it’s best not to just assume that everyone else will look out for your best interests and be nice. What this network does is to give you the possibility of getting a packet of information across vast distances to your intended recipient. The rest is up to you. If you are working in a group, assign a designated Postmaster who can help get the rest of the group set up.

Postmaster Protocols

As mentioned before, a Postmaster is anyone with a computer and a willingness to help. Ideally, they should understand the protocols and frailties of the network, so they can help maintain its integrity and protect it from sabotage or misuse. They should also understand security and encryption and have the tools they need.

At the time of this writing, an 8GB USB key (or Flash drive) or SD card can be had for a few dollars on Amazon or eBay. Larger sizes (up to a terabyte) are also available for more money. Let’s just use 8GB as a base, which is roughly 8 billion characters of information. A short message can be written in 1KB, roughly 1,024 characters of information, allowing millions of messages to be stored in a single “pouch”! On the other hand, there is no need to completely prohibit the sending of slightly larger, or much larger messages, or even a small picture or a short, low-resolution video, as long as there is room for it. One of the important protocols the Postmaster must know is how to deal with overflows of data when swapping files with another Postmaster. The basic rule is that large files get eliminated first. People using the network will quickly understand that the best way to increase the chances that their message will get through is to send the smallest possible file. If a message is limited to a few thousand characters, it is most likely not going to be dropped because of its size. If someone wants to send a photo, the best way to increase their chances is to shrink them down as much as they can. An 8GB flash drive can hold 4,000 200K images, so early on after some TEOTWAWKI event, it is likely that many of these large images would get through. By reducing an image message to 50K or 20K, a sender can increase his chances of getting through considerably. In fact, he can always send a 1K message stating that he is sending an image, followed by separately sending a 20K version of the image, a 50K version, and a 200K version. If there is enough room or capacity, all messages will go through. If there is not enough room the larger ones will be dropped first.

Long before this happens, however, there is another difficulty that is likely to come up. It turns out that computers and these storage devices are usually optimized for a smaller number of relatively large files, rather than very large numbers of very small files. This can cause it to take a very long time, maybe even hours in some cases, to copy even tens of thousands of files from one storage device to another, let alone millions. In a situation where you are trying to conserve battery power, this could be a serious issue. This problem can be greatly alleviated by formatting the USB key or SD card in a particular way. On Windows, you find the device in Windows Explorer; right click on it, and select Format. On a Mac, you go to the Disk Utility application, click on the device, and select Erase. Either way, you will then find some options for how to format it. We want a format that can efficiently deal with lots of small files and one that is compatible with both Windows and Mac, so we choose the “exFat” format and the smallest available “allocation size”, which is 512 bytes. The “allocation size” is the minimum amount of space that a file will take up on that device while formatted in that way, so even a 10 or 20 character message will take up 512 bytes. Also, as soon as a file goes over 512 bytes, even by one character, the file size will jump to 1,024 bytes.

Reformatting in this way will help, but depending on the speed of your computer and other factors, when the number of files reaches a certain point, it may start taking too long to copy the files. This is another place where a tool like 7zip can be extremely helpful. If you have a folder containing hundreds of thousands of messages using up a gigabyte of storage, you may be able to shrink it down to half that size in a matter of minutes. Then you can copy the whole file to a pouch in another couple of minutes. On my computer, I find that the 7zip file manager is much less “laggy” than using Windows directly, especially when dealing with large numbers of files. Your mileage may vary, so this is something that each Postmaster will need to practice with and find the methods that work for him.

Fortunately, these problems are not likely to develop overnight. Initially there will be a much smaller number of files to deal with. By the time the numbers of files get into the thousands or tens of thousands and eventually to hundreds of thousands or millions, Postmasters will have more experience and will have developed techniques to deal with it. At some point, it makes sense to store all of those thousands of little messages in one large zip file and include a copy of 7zip on the pouch as well, in case the next Postmaster doesn’t already have it. When a pouch is being used to store a small number of large files, instead of huge numbers of small ones, then it will perform better if it is reformatted to a larger allocation size.

Eventually, the Postmasters’ disks could become filled to capacity, causing the system to get clogged. By this time, however, there will be more information available to Postmasters about how long it generally takes for files to make it to their destination. Old files can then be deleted or archived to other storage. Similar to the procedure for deleting large files, the Postmaster would simply sort by the date on the file, with oldest first, and delete as many as is necessary to unclog his system. This is the mechanism that prevents files from staying around forever, long after they are useful to anyone. Files will stay in the system as long as possible but only until the capacity of the system cannot handle it. People will come to understand that their files will persist on the network for a finite period of time, which will depend on the amount of traffic and the capacity of the system.

Related to the deletion of old files, the Postmaster would always delete any files he finds that have dates in the future. This is necessary because it’s possible for someone to set a file date to a future date, and this could be used by people in an attempt to make their files persist longer. By the Postmaster deleting any files with dates later than today, this misuse of the system is averted, and he will have more truthful information to work with regarding the age of files.

By definition, each Postmaster has a computer. Ideally, he would have more available storage than any of the portable storage devices being used, preferably several times the size. If he has a smaller capacity, he can find a way to work with that.

In addition to any pouches being used to transfer data, the Postmaster would have a “Master pouch” that he works from.

In summary, the basic process for the Postmaster is as follows:

  1. When a new pouch is received for merging, he copies it onto his own master pouch, opting to skip any files with duplicate names.
  2. He immediately deletes any messages that have dates later than today’s date. (As mentioned before, this prevents people from falsifying the dates on their files for their own benefit.)
  3. The Postmaster now has a complete set of valid messages in his pouch.
  4. If the Postmaster’s Master pouch is too full to accommodate more data, he may need to delete large files from his own disk and/or from the new disk coming in. In most cases, deleting a few very large files will probably free up plenty of space. Large files are expendable and must give way for the large volume of smaller files.
  5. He then determines whether there is enough room on the pouch he just received for the complete set of valid messages. If so, he can simply copy his master pouch back to the other pouch, again opting to skip any duplicates.
  6. If there is not enough room, then he must first delete all files on the new pouch and then copy the files from his Master pouch to the new pouch by file size, smallest files first. In the absence of better tools, he can do this by copying a large chunk of small files, then a chunk of slightly larger files, and so on, until the portable device is full.

Note that none of this requires any special software. It is done “manually”, using the basic commands of whatever computer is being used. This is not to say that better tools could not be used or developed specifically to help in these tasks, but in the absence of special tools the work can be done manually. This is important, as it helps keep the system from being owned by anyone or controlled in some undesirable way. If the network ever becomes compromised in some way, or is suspected of being compromised, it is always possible to start another network in parallel.

Also keep in mind that this network is a redundant system. There can and should be duplication of files and Postmasters at all times. If one Postmaster only has a small data capacity, he might need to skip a large number of files to update his pouch, but those files that were skipped in his pouch continue to exist on several other devices and may find their way to another Postmaster through some other route. On the other hand, the Postmaster with the small data capacity might happen to pass his files to a traveler who carries his somewhat limited set of files off to the next community or to a larger city, where they end up being forwarded much farther than they would have otherwise. So while large data capacity is preferable, it does not mean that a Postmaster with a smaller data capacity is without value. The ability to seek out or recruit other Postmasters and pass on data is probably much more important. If hundreds of thousands of small messages get through, what’s a few thousand large ones? In addition, if one Postmaster’s computer dies or if a portable device is lost or destroyed or even if the Postmaster himself dies, the network lives on and very little information is actually lost.