“Suppose one of you wants to build a tower. Will he not first sit down and estimate the cost to see if he has enough money to complete it? For if he lays the foundation and is not able to finish it, everyone who sees it will ridicule him, saying, ‘This fellow began to build and was not able to finish.’ Or suppose a king is about to go to war against another king. Will he not first sit down and consider whether he is able with ten thousand men to oppose the one coming against him with twenty thousand? -Luke 14:28-31
So I like the idea of trying to force some kind of digraphic solution out of K4. I have some assumptions that may prove to be ridiculously wrong but it’d be nice to be able to test them with some certainty of saying, “Well, I had a decent chance at getting it to work if it was supposed to work that way.” Why should I even care? The problem with a brute force attempt is that you are hoping to take advantage of weaknesses in the ciphering method. You have to make some assumptions and then grind away on an answer. If it fails to yield anything then it’s hard to make a definitive claim that it’s not the method you were trying because with a different combination of keywords or transpositions, maybe it would have. It’d be nice to come away with a “it’s probably not that” at least if not an out-and-out success.
Here are the assumptions I’m going to be testing, please note that these are the reverse of how Sanborn/Scheidt would have put them in place:
- The 7 letters KRYPTOS are some kind of block in the way of solving K4 and are to be removed. It’s easier in my mind to make a 90-letter message that starts/ends with Kryptos than to have it show up in ciphertext after some difficult algorithm. I can’t guarantee this step is before or after the next.
- There is some transposition that has scrambled the ciphertext. As I said in the prior assumption, KRYPTOS could have been added before or after this step.
- Finally there is some digraphic substitution of the 90 letters either by Playfair, Bifid, Hill or even a straddling checkerboard.
So if you were encrypting, you would write out a 90-letter message plus the word Kryptos. You would then take only 90 letters and perform some polygraphic substitution. Taking this substitution product, you would transpose it thereby breaking up the digraphs which would further complicate the message. The word Kryptos can be added before or after the transposition to seal the deal.
What I need is an appropriate number of K4 variants to test against some of the more common digraphic substitution methods. I don’t want to spend the rest of my life checking 1,000 of them but I don’t know right now that I can conclusively say how K4 was to be transposed. I would like to try enough arrangements of the letters so that I can know that I gave it a pretty good shot.
So we have 97 “spaces” and theoretically every letter of the alphabet could work right? 26 to the 97th power = very large number = 1.788194493390383949803344212848e+137 = different versions of K4. This isn’t exactly right. We have to remember that there are a set number of each letter in K4 so the actual “upper limit” is the chance that each spot could be one of the 8 K’s, 2 E’s etc. This number can be calculated straight from the frequency analysis:
4x5x2x3x2x4x4x2x4x3x8x4x1x3x5x3x4x4x6x6x6x2x5x2x1x4 = 36,691,771,392,000 or 36 trillion orientations. But is that right either? It doesn’t seem right but I’m also not a statistician.
I’m off to study probability…
…found “Introduction to probability” by Charles Miller Grinstead, James Laurie Snell at Google Books…
Leaving out KRYPTOS, you want the number of different transpositions with 90 characters found in K4?
Well, it’s 90! divided by the factorial of each letter’s frequency.
So that would be approximately 2.0567 *10^124 possibilities. Have fun!
That sounds like the opposite of fun Vorlath…
Whaaaat? Don’t you have a couple supercomputers laying around?
Actually, you don’t really need to check EVERY possibility. You can check the first letters if they give something like english. Triple letters would be out. I’m sure there would be other conditions, especially if you had a dictionary where one or two letter mistakes were allowed. You could cut down the amount of possibilities to something manageable, even on today’s machines.
The real problem is the permutations in your grid. Those all have to be available unless you use some kind of hill climbing algorithm.
Okay, so I’m trying to catch up…
So if my n = 90 and I choose an r = 10 instead of 90, then I am working to figure the available permutations of a 10 letter sequence with 90 available right? So P = 90!/(90-10)!?
I’m not saying I want to hand-check 3 million, more just trying to force this stuff into the ole noggin’.