Oya, Feendz!

Any of you wonderful folks interested in cryptography, specifically manual encryption/decryption?

I happen to have a tiny bit of experience here. If there's enough interest, I can provide a primer on one pretty good method.

Y'all let me know, ok?

## Replies

A couple of last things, Feendz: if you have a longer message to encrypt, say, a paragraph or two, once you've encrypted it, either send it as a single long string of numbers (with spaces in between), or in five-character groups. Doing so further breaks up any patterns, such as word length.

Second, this is a cipher, not a code. A code is where you use unrelated words to talk about something you want to keep secret.

If you *really* want to give cryptanalysts ulcers, use codewords in your message, *then* encrypt it. They may be able to break the cipher, but they'll have no idea what you're talking about.

I used it during my divorce. I documented everything my ex did, then encrypted it, and stored it in my Dropbox account. This, of course, was for my personal use.

I also copied the one-time pad and sent it, and all of the encrypted data, to a close friend from my military days (separately, of course), in case I lost anything.

On top of that, any time I send sensitive information to him (or just something one or the other of us wants to keep pruvate), it's encrypted. Because we're both D&D players, I usually say something in the email about it being for a game or campaign setting one or the other of us is working on.

This can be used to encrypt anything you want to keep secret/private. If you give a copy of the one-time pad to someone you want to privately share information with, any correspondence with them can be encrypted.

Understand, however, that this is very basic encryption--it probably ain't gonna stop, say, the NSA from reading your email if they really want to.

Thank you, Aren! This is an incredible wealth of information. Where do you see manual encryption best used?

For a final layer of security, never use the same substitution set or encryption/decryption matrices twice. The more often a particular cipher is used, the more data cryptanalysts can collect about it, and the easier it is to break.

A stack of these substitution sets and key matrices is known as a 'one-time pad.' Generally, a clear-text code-phrase or string of numbers precedes or follows the encrypted message which indicates which hey sets to use to decrypt it.

All of this, by the way, is open-source information; I got the procedure from a college math textbook, and the information on one-time pads from a Tom Clancy novel.

Earlier, I mentioned factoring, and that larger numbers are harder to decrypt than smaller ones.

The reason these are important is because we used multiplication of a matrix to encrypt our data. Matrix multiplication works differently than straight up multiplication: the elements of the first row of the first matrix get multiplied by the corresponding element if the first *column* of the second matrix, then are added together. This produces *the first number* of the resulting matrix (in our case, the top number). Then the second row if the first matrix is multiplied by the second column of the second matrix and added together to get the second number of our matrix.

In order to undo this, a cryptanalyst would have to start by finding all of the factors of each number in our message, and looking for a repeating pattern. Bigger numbers have more factors.

4088, for instance, can be factored into 2 and 2044, 4 and 1022, 7 and 584, 8 and 511, 14 and 292, and those are just the ones smaller than 50. The original number, 260 (corresponding to B), is *not* a factor of 4088.

Then you would have to figure out the matrix used. I have no idea how to go about this, but I'm sure it's possible.

Our modern digital encryption is based on the matrix method, only using much larger matrices, and numbers with hundreds of digits. The fastest supercomputers we have would take thousands of years to break that particular level of encryption.

Noe, we have our encryption and decryption keys. What's next?

Well, we convert our message into numbers. I'm working from my phone, so I'll keep it short.

Let's use "boomstick."

We need our message to have an even number of characters, so let's throw in an X at the end:

Boomstickx

Using our random numbers from earlier, we get:

260, 892, 892, 965, 124, 873, 758, 832, 635, 979.

Now, the next part is a bit of a slog, because we're going to break our message up into two-character groups, and we have to redefine a new matrix for every group.

The first group is going to be the matrix

260

892

A 2 x 1 matrix. So, using the same procedure as before, we'll define [B] as a 2 x 1 matrix with 260 on top and 892 on bottom:

Now that our second matrix is defined, hit 2nd, Quit.

Now we need to multiply the two matrices.

Hit 2nd, Matrix, select [A], 2nd, Matrix, select [B], enter. You'll see this:

4088 and 5240 are the first two characters in our message.

Now, redefine [B] as

892

965

And repeat the process:

Repeat the process, redefining [B] each time with the next two-character group, and our message is now:

4088, 5240, 5644, 7501, 3740, 4737, 4844, 6434, 5186, 6800.

You'll notice that, even though we have a repeated letter "o" in the original message, the numbers do not repeat.

Decryption is the same process, substituting the inverse matrix

-2.5, 2

1.5, -1

For matrix [A].

Next