Breaking The Rectangular Transposition Encryption System

We shall view Rectangular Transposition in a slightly different manner than we did originally. We assume that the sender and receiver choose a secret period p and a secret permutation of length p, say a=(a1,a2,...,ap) where each ai is taken from the set {1,2,...,p} and no two are the same. The plaintext is broken up into blocks of length p and then each block is transposed by the permutation a. For example, if the (i+1)st block of plaintext is Xip+1,Xip+2,...,Xip+p, then the (i+1)st block of cyphertext would be Xip+a1,Xip+a2,...,Xip+ap. This encryption system is vulnerable to a biletter-frequency analysis, since letters that are close together in the plaintext message, tend to stay close together in the cyphertext message.

To break Rectangular Transposition encryption, one guesses a period p and then, uses the given matrix of statistics to determine the validity of p according to the following cases

  1. All the entries in the matrix are approximately the same
  2. Each row except one has a maximum that is much larger than all the other entries in the row. Similarly, each column except one has a maximum that is much larger than all the other entries in the column.
In case 1, the opponent concludes that p was a wrong guess for the period and proceeds to repeat the calculations with another value of p. In case 2, the opponent guessed that p is the right value and from the matrix, reconstructs the permutation by clicking on the cell that contains the maximum value.

The Applet below is programmed to illustrate this codebreaking process.


Applets homepage