First of all I would like to say hello to all StackExchange users. So far I've been stalking the forum for some time, now it's time to leave the shadows.

In my master thesis I'm writing about heuristic methods in cryptanalysis, etc. ant colony algorithms or genetic algorithms. So far all methods seems to be quite intuitive, but I've got a problem in implementing part of them - most of these methods assume that key length is known. For substitution ciphers there are well known methods (Kasiski test, index of coincidence) of key length recovery.

Unfortunately I can't find any method of recovery key length in transposition block cipher (permutation cipher). Do you know such methods?

All best to you

  • $\begingroup$ You do mean "columnar transposition ciphers" operating on character usually? $\endgroup$
    – SEJPM
    Commented May 13, 2015 at 20:04
  • $\begingroup$ concerning this the term "sliding window technique" may help you. $\endgroup$
    – SEJPM
    Commented May 13, 2015 at 20:14
  • 1
    $\begingroup$ I was thinking about permutation cipher (not columnar transposition), that takes every k characters from message, than reorders according to some permutation, and writes down reordered block in cryptogram. Anyway, I'll check Your suggestion. $\endgroup$ Commented May 13, 2015 at 20:21

1 Answer 1


It really depends on the key schedule. IE, how is the key operated on to find the permutation to be used?

Absent that knowledge, really the only way to know is to launch searches in parallel at different key lengths, and the one that finds the answer first had the right key length. Unfortunately anything more clever than that will utterly depend on how the key is used to generate a permutation.

Just a note: As described, this cipher is terribly insecure; the attack is called parallel anagramming, and is not really more difficult than a crossword puzzle. It breaks the instant the opponent has more than one block, assuming the same permutation is used for multiple blocks.

Permutation ciphers also fall to even a single block of known plaintext.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.