Welcome Guest [Log In] [Register]
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 member-only sections, and use many member-only 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:

Username:   Password:
Add Reply
Vigenere Variants as Straddling Checkerboard Variants
Topic Started: Aug 20 2010, 05:12 PM (3,586 Views)
pineconedegg
Member Avatar
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 monome-dinome 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 top-row 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 mod-10 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 0-9 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 ki = keyi-l + keyi-l+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.
Offline Profile Quote Post Goto Top
 
Rhinedahl
Member
[ *  * ]
Quote:
 
~ 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 ki = keyi-l + keyi-l+1 mod 10, where l is the length of the initial key.

The expansion of 43740675 would be 701463227150954986594...

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.
Offline Profile Quote Post Goto Top
 
Grip2000
no member
[ *  *  *  *  * ]
pineconedegg
Aug 20 2010, 05:12 PM
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.
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

Posted Image

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.

Posted Image

It is as easy with a scrambled Alphabet.
Offline Profile Quote Post Goto Top
 
mok-kong shen
NSA worthy
[ *  *  *  *  *  * ]
Sorry, I don't understand. OP has D + K = N but you have D + K = G.
Offline Profile Quote Post Goto Top
 
fiziwig
Elite member
[ *  *  *  *  * ]
mok-kong shen
Apr 10 2012, 12:21 AM
Sorry, I don't understand. OP has D + K = N but you have D + K = G.
Using two different tableaux means you get two different results.
Offline Profile Quote Post Goto Top
 
mok-kong shen
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".
Offline Profile Quote Post Goto Top
 
coder
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:

Quote:
 
Using two different tableaux means you get two different results.


Have you got it now?
Edited by coder, Apr 10 2012, 09:01 AM.
quot homines tot sententić
Offline Profile Quote Post Goto Top
 
Grip2000
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.
Offline Profile Quote Post Goto Top
 
mok-kong shen
NSA worthy
[ *  *  *  *  *  * ]
Grip2000
Apr 10 2012, 06:22 PM
Beaufort is a bit harder to crack.
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 mok-kong shen, Apr 10 2012, 07:25 PM.
Offline Profile Quote Post Goto Top
 
Grip2000
no member
[ *  *  *  *  * ]
mok-kong shen
Apr 10 2012, 07:14 PM
Thus I deduce that the context of OP's sentence is that the Vigenere table is the one to be used.
Posted Image

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 !!!
Offline Profile Quote Post Goto Top
 
mok-kong shen
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.)
Offline Profile Quote Post Goto Top
 
Grip2000
no member
[ *  *  *  *  * ]
mok-kong shen
Apr 10 2012, 08:24 PM
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.
Thats not necessary!

Posted Image

S -> B = P
I -> U = M
D -> K = G
.
.
.
Offline Profile Quote Post Goto Top
 
fiziwig
Elite member
[ *  *  *  *  * ]
Grip2000
Apr 10 2012, 08:36 PM
mok-kong shen
Apr 10 2012, 08:24 PM
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.
Thats not necessary!

Posted Image

S -> B = P
I -> U = M
D -> K = G
.
.
.
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 Elijah-3 cipher: http://fiziwig.com/crypto/symmetry.html
Offline Profile Quote Post Goto Top
 
mok-kong shen
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?
Offline Profile Quote Post Goto Top
 
Grip2000
no member
[ *  *  *  *  * ]
mok-kong shen
Apr 10 2012, 09:14 PM
Or could you somehow nonetheless "visualize" that table, or part of the table, with closed eyes?
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...
Posted Image
Offline Profile Quote Post Goto Top
 
1 user reading this topic (1 Guest and 0 Anonymous)
Go to Next Page
« Previous Topic · General · Next Topic »
Add Reply