Under encryption through permutation, the text is encrypted by changing the sequence of the individual letters (transposition cipher). Particulars about the permutation key input are mentioned in the dialog box key input.
It is first reported 500 B.C., that the encryption through permutation was used by Skytale of Sparta.
Using permutation encryption the text is normally entered row by row in a table of width n (= length of permutation). The ciphertext is now read column by column in the sequence defined by the permutation. Compared with the classic variant, in CrypTool it is possible to read in and read out the plaintext in either columns or rows. Additionally it is possible to determine if the permutation itself is to be carried out line by line or column by column. Column by column is standard here. In the literature sometimes a line by line notation is used. If all three options are toggled the result does not change, as this constitutes an equivalent setting.
As in the other classical encryption algorithms, here spaces, punctuation marks and the distinction between upper and lower case letters are ignored during encryption too (this default behaviour can be changed within CrypTool - see below). For security reasons the length of the plaintext should not be a multiple of the length of the permutation. In genuine applications, in case of doubt filler characters can be used to assist in adhering to this restriction.
A single permutation on its own should not be viewed as cryptographically secure. The chaining of two permutations executed one after the other is, however, regarded as cryptographically secure, provided that the permutations are of different lengths and both lengths are sufficiently long. This means of encryption, referred to as "double permutation", was used by the East-German secret service during the Cold War to communicate with its agents.
Example:
the following example is based on a permutation of length 4 that is defined by the sequence (2, 4, 1, 3). For the sake of readability, spaces and upper/lowercase distinction have been retained (before you apply this example you have to set the following text options in menu Options \ Text Options: Distinguish between upper and lowercase and for Alphabet options Uppercase letters, Lowercase letters and Space).
The plaintext,
"Dies ist ein kurzes Beispiel einer Permutation
"
("This is a brief example of a permutation")
is entered in the table as follows (" " stands for space):
|
|
|
3 (Permutation key) |
|
|
|
|
" " |
|
|
|
" " |
|
|
|
" " |
|
|
|
|
|
|
" " |
|
|
|
|
|
|
|
|
" " |
|
|
|
|
|
" " |
|
|
|
|
|
|
|
|
|
|
|
and results in the following ciphertext:
"esiusiei mtD zBp eetostnr slnPuiiiekeeierran
"
The table shows you, that the ciphertext is the linking of the columns in order 3, 1, 4, 2 (which is determined by the permutation key).
In literature the permutation (2, 4, 1, 3) is sometimes interpreted differently:
Instead of writing the number above the columns and selecting first the column headed by "1" (3. column), the other interpretation select first the column who‚s index equals the first element of the permutations (2. column in the example).
Applying this interpretation yields the following cipher text:
"iiekeeierranstnr slnPuiD...zBp eetoesiusiei mt
"
The two interpretations can be easily transformed into each other by inverting them: the inverse permutation of (2, 4, 1, 3) is (3, 1, 4, 2). Within Options this can be determined.
Besides the identical permutation (1, 2, ..., n-1, n) there also exist other permutations, which are identical with their inverses, e.g. (2, 4, 1, 3, 5).
In CrypTool the permutation used is either derived from the keyword entered or else it is directly specified through numeric values. The permutation is given the length of the keyword. The Permutation Key Input dialog permits the simultaneous entry of a maximum of two permutations. If the input field for the second permutation is not completed, then only one permutation is performed.
How to generate the permutation from the keyword
Starting with the keyword "Schluessel", we shall describe briefly how a permutation is formed from a keyword in CrypTool.
...
...
...
...
Direct specification of permutation
The permutation can be entered also directly in the form of numbers separated by commas – instead of using a keyword. Verification of the permutation for syntactic correctness only takes place when either encryption or decryption is attempted. The permutation must be specified in full. No numbers may be left out or used twice. The permutation generated above (9, 3, 10, 6, 4, 8, 5, 1, 2, 7) is therefore entered as 9,3,10,6,4,8,5,1,2,7
.
Options
You can specify for each permutation:
Both permutations are affected if you choose to use the inverse of the entered permutation.
Traditionally, data is read in by the row and read out by the column. For this reason there are four selection fields for every permutation, from which in each case two are to be selected.