I got introduced to the ADFGVX cipher, and it seems very tedious to decipher such ciphertexts. If I do not have access to the key square and the keyword, and I am just given the ciphertext and a string of numbers, how do you decipher it? The columnar transposition is another thing that makes it even more difficult to break. (I am assuming that ADFGVX comes with a columnar transposition). I am planning on making a code that can break it. A complete brute force seems possible, just too tiresome.
As you must know, ADFGVX is a German cipher from World War I. It was broken by the French (Painvin) during that war, but not without a major effort, and only on certain days.
It uses fractionation and a Polybius square, followed by a columnar transposition based on a keyword.
In Milton F. Friedman's Military Cryptanalysis, Part IV, pp. 103-149, he goes into detail about how to break this cipher.
There is also a useful paper from 1984, Konheim, A. G. (n.d.). Cryptanalysis of Adfgvx Encipherment Systems. Lecture Notes in Computer Science, 339–341. doi:10.1007/3-540-39568-7_26 (an extended abstract)
Konheim presents a four-step cryptanalytic technique to break ADFGVX.
- Determine which column vectors are adjacent in the array.
- Determine the relative order of the pairs of column vectors.
- Recover the substitution.
- Recover the transposition order of the columns in the array.
One thing that could be looked at first is this: perhaps the Polybius square is not a mixed alphabet after all, but alphabetical.
There is also more modern research in order to attack complete ADFGVX ciphertexts (both partly-known-plaintext attacks and ciphertext-only-attacks).
See chapter 6 of the following PhD thesis: Lasry, G.: A Methodology for the Cryptanalysis of Classical Ciphers with Search Metaheuristics, Kassel University Press. kassel university press (2018) at https://d-nb.info/1153797542/34.
These new results are implemented e.g. in the free, open-source e-learning program CrypTool 2. In ready-to-run templates you can try an ADFGVX dictionary attack or an ADFGVX heuristic analysis with simulated annealing. See the two attached screenshots: ,
As you said -- if you plan writing code that can break ADFGVX, you might even try to improve the results from Lasry and in CrypTool and share your findings again with the open-source community.