The key text used is a portion of The C Programming Language (1978 edition), and the tabula recta is the tableau.
Apart from possibly greater entropy density of the files, and the ease of automation, there is little practical difference between such variants and traditional methods.
A more compact running key can be used if one combinatorially generates text using several start pointers (or combination rules).
An example would be BDA (Berkhoff deflater algorithm)[citation needed], each ciphertext output character has at least one noun, verb, adjective and adverb associated with it.
Nested-BDA will run the output through the reencryption process several times, producing several layers of "plaintext-looking" ciphertext - each one potentially requiring "human-in-the-loop" to try to interpret its non-existent semantic meaning.
If the running key is truly random, never reused, and kept secret, the result is a one-time pad, a method that provides perfect secrecy (reveals no information about the plaintext).
However, if (as usual) the running key is a block of text in a natural language, security actually becomes fairly poor, since that text will have non-random characteristics which can be used to aid cryptanalysis: for example, William F. Friedman suggested a ciphertext-only attack during WWI against most frequent letters encoded by other most frequent letters.
[2] As a result, the entropy per character of both plaintext and running key is low, and the combining operation is easily inverted.
To attack the cipher, a cryptanalyst may run guessed probable plaintexts along the ciphertext, subtracting them out from each possible position.
When the result is a chunk of something intelligible, there is a high probability that the guessed plain text is correct for that position (as either actual plaintext, or part of the running key).
For this purpose, the KGB advised agents to use documents like almanacs and trade reports, which often contain long lists of random-looking numbers.
Suppose that there are 100 million key texts that might plausibly be used, and that on average each has 11 thousand possible starting positions.