Twosquare cipher
this wiki
The Twosquare cipher, also called double Playfair, is a manual symmetric encryption technique. It was developed to ease the cumbersome nature of the large encryption/decryption matrix used in the foursquare cipher while still being slightly stronger than the (singlesquare) Playfair cipher.
The technique encrypts pairs of letters (digraphs), and thus falls into a category of ciphers known as polygraphic substitution ciphers. This adds significant strength to the encryption when compared with monographic substitution ciphers which operate on single characters. The use of digraphs makes the twosquare technique less susceptible to frequency analysis attacks, as the analysis must be done on 676 possible digraphs rather than just 26 for monographic substitution. The frequency analysis of digraphs is possible, but considerably more difficult  and it generally requires a much larger ciphertext in order to be useful.
Using twosquare Edit
The twosquare cipher comes in two varieties  horizontal and vertical. The vertical twosquare uses two 5 by 5 matrices one above the other. The horizontal twosquare has the two 5 by 5 matrices side by side. Each of the 5 by 5 matrices contains the letters of the alphabet (usually omitting "Q" or putting both "I" and "J" in the same location to reduce the alphabet to fit). The alphabets in both squares are generally mixed alphabets, each based on some keyword or phrase.
To generate the 5 by 5 matrices, one would first fill in the spaces in the matrix with the letters of a keyword or phrase (dropping any duplicate letters), then fill the remaining spaces with the rest of the letters of the alphabet in order (again omitting "Q" to reduce the alphabet to fit). The key can be written in the top rows of the table, from left to right, or in some other pattern, such as a spiral beginning in the upperlefthand corner and ending in the center. The keyword together with the conventions for filling in the 5 by 5 table constitute the cipher key. The twosquare algorithm allows for two separate keys, one for each matrix.
As an example, here are the vertical twosquare matrices for the keywords "example" and "keyword:"
E X A M P L B C D F G H I J K N O R S T U V W Y Z K E Y W O R D A B C F G H I J L M N P S T U V X Z
Algorithm Edit
Encryption using twosquare is basically the same as the system used in foursquare, except that the plaintext and ciphertext digraphs use the same matrices.
To encrypt a message, one would Follow these steps:
 Split the payload message into digraphs. (help me obi wan kenobi becomes he lp me ob iw an ke no bi)
 For a vertical twosquare, the first character of both plaintext and ciphertext digraphs uses the top matrix, while the second character uses the bottom.
 For a horizontal twosquare, the first character of both digraphs uses the left matrix, while the second character uses the right.
 Find the first letter in the digraph in the upper/left text matrix.
E X A M P L B C D F G H I J K N O R S T U V W Y Z K E Y W O R D A B C F G H I J L M N P S T U V X Z
 Find the second letter in the digraph in the lower/right plaintext matrix.
E X A M P L B C D F G H I J K N O R S T U V W Y Z K E Y W O R D A B C F G H I J L M N P S T U V X Z
 A rectangle is defined by the two plaintext characters and the opposite corners define the ciphertext digraph.
E X A M P L B C D F G H I J K N O R S T U V W Y Z K E Y W O R D A B C F G H I J L M N P S T U V X Z
Using the vertical twosquare example given above, we can encrypt the following plaintext:
Plaintext: he lp me ob iw an ke no bi Ciphertext: HE DL XW SD JY AN HO TK DG
Here is the same twosquare written out again but blanking all of the values that aren't used for encrypting the digraph "LP" into "DL"
     L   D                                L   P      
The rectangle rule used to encrypt and decrypt can be seen clearly in this diagram. The method for decrypting is identical to the method for encryption.
Just like Playfair (and unlike foursquare), there are special circumstances when the two letters in a digraph are in the same column for vertical twosquare or in the same row for horizontal twosquare. For vertical twosquare, a plaintext digraph that ends up with both characters in the same column gives the same digraph in the ciphertext. For horizontal twosquare, a plaintext digraph with both characters in the same row gives (by convention) that digraph with the characters reversed in the ciphertext. In cryptography this is referred to as a transparency. (The horizontal version is sometimes called a reverse transparency.) Notice in the above example how the digraphs "HE" and "AN" mapped to themselves. A weakness of twosquare is that about 20% of digraphs will be transparencies.
E X A M P L B C D F G H I J K N O R S T U V W Y Z K E Y W O R D A B C F G H I J L M N P S T U V X Z
Twosquare cryptanalysis Edit
Like most premodern era ciphers, the twosquare cipher can be easily cracked if there is enough text. Obtaining the key is relatively straightforward if both plaintext and ciphertext are known. When only the ciphertext is known, brute force cryptanalysis of the cipher involves searching through the key space for matches between the frequency of occurrence of digraphs (pairs of letters) and the known frequency of occurrence of digraphs in the assumed language of the original message.
Cryptanalysis of twosquare almost always revolves around the transparency weakness. Depending on whether vertical or horizontal twosquare was used, either the ciphertext or the reverse of the ciphertext should show a significant number of plaintext fragments. In a large enough ciphertext sample, there are likely to be several transparent digraphs in a row, revealing possible word fragments. From these word fragments the analyst can generate candidate plaintext strings and work backwards to the keyword.
A good tutorial on reconstructing the key for a twosquare cipher can be found in chapter 7, "Solution to Polygraphic Substitution Systems," of Field Manual 34402, produced by the United States Army.
See also Edit
