Here’s a cipher of unknown type. Two of my ID tests put the correct type on top, but the other test put it fifth on the list. Key search and PH hill-climbing both solved it without a crib. I’ll add a caesar-shifted crib.
Here’s a screenshot of two/four square converging key search program. It has a grid for selecting which routes to use in the search. You could just choose all routes, but that makes the program take forever, especially in a tri-square key search where you are searching three keysquares.
The part of the display that took the longest to figure out was combining the giant size checkboxes in the grid with the ordinary sized 6×6 checkbox. That took a lot of searching through the web for information about html and css tags.
Here’s a randomly generated cipher of unknown type. I had a hard time solving it. Within a certain range of periods all my ID tests got the correct type. But this period range was not correct for this cipher! With a different range none of my ID tests put the correct type on top. I tried a lot of different hill-climbing combinations and finally hit on the correct combination. With the correct combination of settings the hill-climber solved it without a crib. I’ll include a caesar-shifted crib.
Here’s a randomly generated Vigenere running key cipher. I solved it without a crib using a key search program and a combination interactive solver and hill-climbing program. Both of these programs used local servers to run. The word search server was listening on port 3000, and the hill-climber was listening on port 8080. The search program ran through a list of about 600,000 words and phrases, looking for a corresponding plaintext that included a word or phrase at least 7 letters long. The key search returned four possibilities, one with a 9 letter phrase and three with 7 letters phrases. Three out of the four results actually occurred in the solution. I filled in the rest of the plaintext by switching back and forth between the hill-climber and the interactive solver.
For a crib I’ll include the (caesar-shifted) phrase whose corresponding plaintext included the 9 letter phrase.
Here’s a randomly generated cipher of unknown type. All my ID tests put the correct type on top. PH hill-climbing solved it without a crib. Key search solved it also. I’ll include a caesar-shifted crib.
Here’s a randomly generated keyphrase cipher. My hill-climber and word search programs were enough to solve it without a crib. I’ll include a caesar-shifted crib. The punctuation was left out of the ciphertext.
SSSEHORONH AH TEOSNLR SSSEHORONH LRN RSESS FR ON ORS LENLOOOEN ON IROLR IS RES LE NEO TEEHSO ORRO O OSH ET HEF.
caesar-shifted crib: BMNHM.
Note: The key was randomly selected from a list of about 1000 keyphrases. I generated the list by looping through lines of poetry. From each line of poetry I removed the beginning words until there were 26 letters left if possible, also I tried removing words from the end until 26 letters were left, and also I tried removing words at random until 26 letters were left. This particular key makes sense and can be found with an internet search.
Making a keyphrase by removing words at random is probably not a very efficient method of proceeding. I think a problem like this is called a “knapsack” problem in the literature. Knapsack problems are like traveling salesman problems — there is no general algorithm for solving them, but some reasonably good algorithms probably exist.
Here’s one more Vigenere running key cipher. It took me a long time to solve this using the word/phrase search program and the combination interactive solver and hill-climber. I kept going back and forth between all 3 of these. The initial search turned up a pretty good phrase, which I’ll include in caesar-shifted form. But I still had to do a lot more searches with various options. The searches did turn up the short initial word, and the longer word at position 23 (relative to starting at 0). With the position 23 word in place, the hill-climber got the exact solution. I’ll include a screenshot of the word/phrase search options.
Here’s a randomly generated Vigenere Running key cipher. I was able to solve it without a crib by using a program that drags a huge list of phrases across the cipher and uses logs of digraphs to score the corresponding plaintext strings. If the log digraph score of a plaintext string is high enough then the string is parsed into individual words (and partial words at the beginning and end of the string). If the parse is successful and one of the plaintext words is long enough then the phrase and corresponding plaintext string is saved to disk.
I set the length of a plaintext word to 7 or more letters. With this setting I got 35 phrase-plaintext pairs out of about 600,000 starting phrases. I used these 35 results as a collection of cribs and was then able to get the solution with a combination interactive and hill-climbing running key solver.