La difficulté pour casser ce code (cryptanalyse) est liée au fait que les occurrences de lettres du message original ne peuvent pas être repérées simplement par leur fréquence relative sans connaitre les positions relatives où les deux moitiés du code sont situées. Toutefois, le nombre de recombinaisons possibles reste assez faible, même lorsque la clé est assez longue, et il est possible de repérer des fréquences caractéristiques si le message original est suffisamment long, simplement en explorant les paires de codes à tous les intervalles possibles ; on en déduit la longueur de la clé, donc la largeur des tables de transposition.
Puis avec les fréquences de chaque paire obtenue, on en déduit les premières lettres (en commençant par les plus fréquentes dans la langue supposée du message, par exemple les lettres e, s, a, n), et on déduit les autres lettres moins fréquentes par des recherches dans un dictionnaire. La table de codage contenant assez peu de cases (26 lettres et 10 chiffres) il est possible de la remplir ainsi entièrement assez facilement à l'aide de ces statistiques connues propres à la langue utilisée dans le message original.
Une amélioration de cet algorithme de chiffrement consiste à utiliser des tables de codage beaucoup plus larges, par exemple une table tridimensionnelle 6x6x6 contenant des cellules pour des groupes de lettres ou pour une lettre accompagnée d'un chiffre issu d'une suite aléatoire connue; on obtient alors 3 codes par lettre ou chiffre original, on peut coder aussi les ponctuations et différencier les majuscules, voire les espaces séparateurs. La clé de transposition peut aussi être augmentée en utilisant une table de transposition bien plus large.