Welcome to Crypto. We hope you enjoy your visit. You're currently viewing our forum as a guest. This means you are limited to certain areas of the board and there are some features you can't use. If you join our community, you'll be able to access memberonly sections, and use many memberonly features such as customizing your profile, sending personal messages, and voting in polls. Registration is simple, fast, and completely free. Join our community! If you're already a member please log in to your account to access all of our features: 
Vigenere Variants as Straddling Checkerboard Variants  

Tweet Topic Started: Aug 20 2010, 05:12 PM (3,761 Views)  
pineconedegg  Aug 20 2010, 05:12 PM Post #1 
Elite member

One thing I've noticed in the development of paper and pencil ciphers is that straddling checkerboards are a lot easier to preform than Vigeneres where you have to mentally convert letters to numbers, or carry some sort of paper slide around. I'm really bad at knowing D + K mod 26 = N, but I can easily do 4 + 9 mod 10 = 3 So therefore, I find it a lot easier to turn Vigenere variants into Straddling Checkerboard Variants. ~ Introduction ~ For those who don't know, the Straddling Checkerboard is a monomedinome scheme that uses a table to convert letters into digits. It gives single digits to high frequency letters and double digits to lower frequency letters, attempting to achieve frequency flattening. An unkeyed table looks like this: __0123456789 __ESTONIA_R_ 7_BCDFGHJKLM 9_PQUVWXYZ__ The toprow is a mnemonic for the most frequent letters of the English language (ETAOINSR) and the bottom rows are the remainder of the alphabet. The upper index assigns every number to a letter, and letters assigned to blanks become row indicators to assign double numbers to the other letters. For example, "E" is "0" while P is "90". This also allows the numbers to be listed in one string without spacing, as "090" has no other possibilities but to decrypt to "EP". We key the checkerboard by scrambling the bottom alphabet (everything but the top row) and by scrambling the indicies (the "0123456789") according to a key. There are many ways to do this. For this example, I will take a ten letter keyword: DONNANOBLE and then number it off in alphabetical order (assign 1 to the smallest letter, and so on, treating 0 as the last number, and assigning digits in order to identical letters): DONNANOBLE 3967180254 And then make the checkerboard alphabet by doing a columnar transposition of the alphabet and two spaces with the key. DONNANOBLE ========== bcdfghjklm pquvwxyz__ ABDELNNNOO ========== gkbmldfhcj wzp__uvxqy __3967180254 __ESTONIA_R_ 2_GWKZBPM_L_ 4_DUFVHXCQJY We are now able to convert our plaintext into numbers. "THE PRINCESS IS IN ANOTHER CASTLE" becomes... 6413 2858140399 89 81 01764135 40096253 We're now ready to do encryptions with it. ~ Regular Vigenere ~ Currently, the cipher is pretty simple to break as long as there is no extra step. For more, you can see ~. But now, we are going to add that extra step. You can turn the cipher into a polyalphabetic substitution by adding a key to it. We will convert the key DOCTOR to numbers using our checkerboard, and then add it to the plaintext, mod 10. DOCTOR = 43740675 __6413285814039989810176413540096253 +_4374067543740675437406754374067543 ==================================== __0787242357779554247572167814053796 The resulting number stream is your ciphertext: 07872 42357 77955 42475 72167 81405 3796 Decrypting is the reverse. I find mod10 subtraction very hard, though. 0  4 mod 10 is what? So I like to put the ciphertext at the bottom, and the key where it normally is and play what + key = my ciphertext? __?????????????????????????????????? +_4374067543740675437406754374067543 ==================================== __0787242357779554247572167814053796 Thinking about it that way has always made it go faster for me, but your mileage may vary. ~ The Autokey ~ The autokey is a lot simpler with the checkerboard. Rather than doing like a million Vigenere shifts, you can just make it into arithmetic. We'll use the same key and plaintext as before. __6413285814039989810176413540096253 +_4374067564132858140399898101764135 ==================================== __0787242378161737950465201641750388 The red part is the key, and the other part is the plaintext again, in autokey style. Decryption is similar to the normal Autokey. Use the key to get the plaintext letters, then start using the plaintext letters as the key. ~ Quagmires I, II, III, and IV ~ Unfortunately, the checkerboard isn't using a moving alphabet like the Vigenere, so there isn't much to scramble. However, my hope is that the fact that the checkerboard itself is keyed will make up for this, basically turning any checkerboard variant into a Quagmire variant. However, for more security, you could create a second, completely separate, differently keyed checkerboard. Then use the first checkerboard to change the plaintext into numbers and the second checkerboard to change the keytext into numbers. Another thing one can do for even more complexity and security is to put 10 different checkerboards on separate notecards, and then shuffle through them as you encrypt. This would create a polyalphabetic cipher with a period of 10. Since it would be way too time consuming to create new notecards for each encryption, the order of the notecards could instead be your key. Ten notecards numbered 09 leads themselves to be ordered very nicely with the same kind of key that did the indexing. ~ The Running Key ~ The running key is another variant, where instead of autokeying, you string the key together to create more digits. Our key starts out as "43740675". To create the ninth digit of the key, you would add the first and second number together, mod 10, to get 7. You could then expand any key infinitely, knowing that k_{i} = key_{il} + key_{il+1} mod 10, where l is the length of the initial key. The expansion of 43740675 would be 701463227150954986594... I always found this a bit too tedious to preform, and not much more secure than the autokey, however. Use it if you want. Edited by pineconedegg, Aug 20 2010, 06:23 PM.

~  Pineconedegg A list of my ciphers My Website: Greatplay.net Xj lglelc nzyeltyd deprz.  
Rhinedahl  Aug 20 2010, 06:16 PM Post #2 
Member

This is also known as an additive lagged fibonacci generator. Be careful though  the sequence will always loop back around and start repeating itself after a certain amount of output. 
Grip2000  Apr 9 2012, 08:16 PM Post #3 
no member

that's pretty easy to mentally convert letters like Vigenere. In your imagination first letter is always coordinate 00 in the Example is D coordinate 00 Then go to the right and down to the second letter K in the Example with the coordinate 11 Look in the fix Matrix for this coordinate 11 you will find G If you do not believe it check here with the Beaufort table > look for D at the Top. Go down to the K. On the Left and the right side you will find G. It is as easy with a scrambled Alphabet. 
mokkong shen  Apr 10 2012, 12:21 AM Post #4 
NSA worthy

Sorry, I don't understand. OP has D + K = N but you have D + K = G. 
fiziwig  Apr 10 2012, 02:48 AM Post #5 
Elite member

Using two different tableaux means you get two different results. 
mokkong shen  Apr 10 2012, 07:29 AM Post #6 
NSA worthy

I inferred from OP's "I'm really bad at knowing D + K mod 26 = N, but I can easily do 4 + 9 mod 10 = 3" that the solution N of "D + K mod 26 = N" should be unique, just like the solution 3 of "4 + 9 mod 10 = 3". 
coder  Apr 10 2012, 08:27 AM Post #7 
NSA worthy

And it is unique in the Vigenere table. Grip's example, as he clearly states, uses the Beaufort table. As fiziwig has already said:
Have you got it now? Edited by coder, Apr 10 2012, 09:01 AM.

quot homines tot sententić  
Grip2000  Apr 10 2012, 06:22 PM Post #8 
no member

Beaufort is a bit harder to crack. You can also repeat a Keyword multiple times and uncomplete at the end. For Example Keyword is ZCJAO. Repeated 10 times and then uncomplete at the end and so on. ZCJAO ZCJAO ZCJAO ZCJAO ZCJAO ZCJAO ZCJAO ZCJAO ZCJAO ZCJAO ZC ZCJAO ZCJAO ZCJAO ZCJAO ZCJAO ZCJAO ZCJAO ZCJAO ZCJAO ZCJAO ZC ZCJAO ZCJAO ZCJAO ZCJAO ZCJAO ZCJAO ZCJAO ZCJAO ZCJAO ZCJAO ZC . . . This is too difficult for many Vigenere / Beaufort cracker programs. 
mokkong shen  Apr 10 2012, 07:14 PM Post #9 
NSA worthy

You could certainly use a different table and then get a different solution x of the equation D + K mod 26 = x, where OP has N as x (with his table) and you have G as x (with your table). However, the context of OP's sentence is IMHO to be noted. He wrote "I'm really bad at knowing D + K mod 26 = N". It's apparent that he used the Vigenere. Now if the table were more complicated than Vigenere, a finding of the solution x for D + K mod 26 = x would in my opinion be fairly tough for a human simply using his brain (i.e. not looking at the table and not employing paper and pencil). Thus I deduce that the context of OP's sentence is that the Vigenere table is the one to be used. Or could you readily solve with brain only and for the case of your table the general equation y + z mod 26 = x (with y and z being two "arbitrarily" chosen characters of the alphabet and x being the unknown) for x? I must say that I myself surely can't do that, since I'll have big difficulties to keep in my mind the 26 numerals that ("defacto") have been assigned to the 26 characters of the alphabet for any table that is not Vigenere. Edited by mokkong shen, Apr 10 2012, 07:25 PM.

Grip2000  Apr 10 2012, 08:05 PM Post #10 
no member

I have here a Vigenere Tableaux with a scrambled Alphabet. I can Imagine these 5x5 Matrix because there is a very long German word contain. Last line last regular letters. mod 5 is a simple operation. There are only ideas, not dogma !!! 
mokkong shen  Apr 10 2012, 08:24 PM Post #11 
NSA worthy

What highly interests me is what do you keep in your memory, in order to be able to solve with your brain "alone" the "general" equation y + z = x mod 26. If e.g. y is D and z is K, you have to find out in your brain the integers associated to D and K, say id and ik, and then compute id+ik and then determine the character that corresponds to that numerical sum, don't you? As said, for me that's barely possible. (In the case of the strict Vigenere table, I know A is 0, B is 1, C is 2, etc. etc. and could thus easily solve the equation in that "special" case.) 
Grip2000  Apr 10 2012, 08:36 PM Post #12 
no member

Thats not necessary! S > B = P I > U = M D > K = G . . . 
fiziwig  Apr 10 2012, 09:06 PM Post #13 
Elite member

That is a very slick equivalence! I'd never seen that before. The closest I've come is the study I did of tableau symmetry about two years ago when I was working on cracking the Elijah3 cipher: http://fiziwig.com/crypto/symmetry.html 
mokkong shen  Apr 10 2012, 09:14 PM Post #14 
NSA worthy

Sorry that I yet have difficulties to understand. Could you solve in detail the equation D + K = x mod 26 in that case? Note that that's a mathmatical equation. You have to show that the integers for D, K and x satisfy that equation and you don't look at that table with your eyes (for you have to work that out with your memory alone). Or could you somehow nonetheless "visualize" that table, or part of the table, with closed eyes? 
Grip2000  Apr 10 2012, 09:41 PM Post #15 
no member

Someone can and another one cannot. You must also write down the numbers. Then it is not too bad to write a 5x5 Matrix also... 
1 user reading this topic (1 Guest and 0 Anonymous) 
Go to Next Page  
« Previous Topic · General · Next Topic » 