TEMOIS HNSM CSPNHSOIIOM SPO SONN NSM SHIN SPO NONSSIHN OCEOS ES SPO SHISS IS SPO WNIS SIIS SIMMOH SIH SPO PIHIOI SPOS SIIIOM CNIS SPO THNII N ONT IS NONO N NEOWO IS ONWIS NSM N SHGEST NNS
This is a random quote from gutenberg.org. The key is also from a random sentence in gutenberg and the final word is truncated. I was able to solve it using computer-assisted word searches by patterns.
I was toying with some ideas and noticed that it is possible to create a word pattern based on the frequency of the letters. It works by comparing the normal frequency of each letter in the word with the other letters and numbering them in order of most frequent to least, with duplicate letters given sequential numbers, not repeats. For example CHASTENED gets the pattern 974631528. E being the most frequent letter, the first E gets the 1, the second E the 2, then T, and so on. For words longer than 10 letters, using the alphabet instead of numbers would be necessary. It could also be done using repeats, like Myszkowski, so both E’s would get the 1 in the example.
I’ve noticed that for shorter words there are many duplicates, i.e. words with the same pattern, but for longer ones, there are relatively few. For words over seven letters long, many have unique patterns. So far I have not found a use for these patterns in solving, but it seems like there should be one. These patterns could be useful for an Aristocrat in finding a long word if the ciphertext was long enough enough to have reliable frequency data, I suppose, but there are much easier ways of solving those. It seems like the patterns might be used somehow in those types with word breaks like Ragbaby or Sequence.
If anyone has any ideas on how to use these patterns please post your comments. I can provide a sample pattern list for words of length 3 to 9 if you contact me.
Here’s a randomly generated cipher of unknown type. Two of my ID tests put the correct type on top and one ID test put it in second place. Both a key search and a hill-climber solved it quickly with no crib. I added the “NeDB” database program (written for node.js) to my generator so the cipher was saved in json format to my new random cipher database file.
The plaintext is randomly chosen from Gutenberg.org. The type and key are randomly chosen by my program. My analyzer placed the correct type in 7th place. My programs had trouble solving it, but I eventually solved it with my hillclimber using the crib. The crib in Caesar is LWFSIRJXFNS
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.
My analyzer put the correct type in first place, but my hillclimber was unable to solve it without the crib. I solved it by key searching using the crib. It’s one random sentence from Gutenberg.org, but the last two words are cut off. The crib is: SVXLIGSPHWYR
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.
My analyzer placed the correct type as number two. My autosolver solved the text very quickly. However, finding the original key was quite difficult. The text is random from Wikipedia; the key consists of two random unconnected words. I found an equivalent pair of words – the first one correct, but the second one incorrect. Combined they condense to the same string as the original pair. If you want to find the exact original keywords, here’s a hint: FIJSVIGSRHIRWEXMSRXLIGSQFMRIHPIRKXLMWRMRIXIIR
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.