Straddle Checkerboard Cipher

Key
Spare Positions

Straddle Checkerboard Cipher is a substitution cipher, except that the substitutions are of variable length. It has formed a component of several impotant field ciphers, the most notable being the VIC cipher used by russian spies during the cold war. When combined with other methods of encryption, as shown in the example, the straddling checkerboard can be quite strong.

How it works?

The key for a straddling checkerboard is a permutation of the alphabet e.g. 'fkmcpdyehbigqrosazlutjnwvx', along with 2 numbers e.g. 3 and 7. A straddling checkerboard is set up something like this (using the key information above):

0 1 2 3 4 5 6 7 8 9
   f k m   c p d   y e
3: h b i g q r o s a z
7: l u t j n w v x    

The first row is set up with the first eight key letters, leaving two blank spots. It has no row label. The second and third rows are labelled with whichever two digits didn't get a letter in the top row, and then filled out with the rest of the key letters. Since there are 30 slots in our grid, and we missed two letters in the first row, there will end up being two spare in the other rows. It doesn't matter where these spares go, so long as sender and receiver use the same system.

To encipher, a letter on the top row is simply replaced by the number labelling its column. Letters on the other rows are replaced by their row number, then column number:

D E F E N  D T  H  E E A  S  T  W  A  L  L  O  F T  H  E C A  S  T  L  E
6 9 0 9 74 6 72 30 9 9 38 37 72 75 38 70 70 36 0 72 30 9 4 38 37 72 70 9

So, DEFEND THE EAST WALL OF THE CASTLE becomes 690975672309938377275387070360723094383772709. This may be sent directly, but usually is first input into a second cipher stage, such as a substitution or transposition step. As a simple example, we will add a secret key number (say, 83729) using non-carrying addition:

  837298372983729837298372983729837298372983729
+ 690974672309938377275387070360723094383772709
= 427162944282657104463659953089550282655655428

Then use the same straddling checkerboard to turn it back into letters:

427162944282657104463659953089550282655655428
CMU DMECCMYMDPU FCCDO PEEPH YEPPFMYMDPPDPPCMY

The final ciphertext is then CMUDMECCMYMDPUFCCDOPEEPHYEPPFMYMDPPDPPCMY. Note that it is a different length compared to the original plaintext. Deciphering is simply the reverse of this process. Although the size of groups can vary, deciphering is unambiguous because whenever the next element to be deciphered starts with a 3 or a 7, it is a pair; otherwise, it is a single letter.

TEA (Tiny Encryption Algorithm) is a block cipher notable for its simplicity of description and implementation, typically a few lines of code. TEA Encrypt & Decrypt is a free online tool that for Tiny Encryption Algorithm Encrypt & Decrypt.

TEA Encrypt & Decrypt

TEA (Tiny Encryption Algorithm) is a block cipher notable for its simplicity of description and implementation, typically a few lines of code. TEA Encrypt & Decrypt is a free online tool that for Tiny Encryption Algorithm Encrypt & Decrypt.
XTEA (eXtended TEA) is a block cipher designed to correct weaknesses in TEA. XTEA Encrypt & Decrypt is a free online tool that for eXtended TEA cipher Encrypt & Decrypt.

XTEA Encrypt & Decrypt

XTEA (eXtended TEA) is a block cipher designed to correct weaknesses in TEA. XTEA Encrypt & Decrypt is a free online tool that for eXtended TEA cipher Encrypt & Decrypt.
XXTEA Encrypt & Decrypt is a free online tool that for Corrected Block TEA cipher Encrypt & Decrypt. XXTEA (Corrected Block TEA) is a block cipher designed to correct weaknesses in the original Block TEA.

XXTEA Encrypt & Decrypt

XXTEA Encrypt & Decrypt is a free online tool that for Corrected Block TEA cipher Encrypt & Decrypt. XXTEA (Corrected Block TEA) is a block cipher designed to correct weaknesses in the original Block TEA.
MD5 Encrypt is a process of using the MD5 algorithm to transform a string of any length into a hash. You can use this online tool to perform MD5 Encrypt on any string you want.

MD5 Encrypt

MD5 Encrypt is a process of using the MD5 algorithm to transform a string of any length into a hash. You can use this online tool to perform MD5 Encrypt on any string you want.