Unknown 11-24-19

This one was a tough one to diagnose the type even though the correct type ranked fairly high in my analyzer. I needed the crib to solve it. It fit in multiple places.

Crib: APTLZAVTFWVVYZVUFVBYM

EGRXC TYNHQ TEBPQ XYKPB RYVYL FDYBY GFBVK AIMOS SLXUP SECOS WYCVJ CINTS ZGKPB RKEMC JXKGA UEIZX VAECV EUEQM VAKCB XRXRB FJTUL WTSAU ENFBM ITFGD F

Unknown 11-23-19

Here’s a randomly generated cipher of unknown type. One ID test put the correct type in second place, one put it in third place, and one didn’t mention it. Looking at the ciphertext I guessed the type correctly and my hill-climber solved it without a crib. I doubt if it needs a crib.

???
DONFO GPOOR YOUNG MREVE EALLD AYAND SOMET IMESN INOLA SAWTI THGUO
HTANS EVIRI STHGI NLLAR NGWEL LSIRY OUDHT HATRO OMOFA MO.

Unknown 11-20-19

Here’s a randomly generated cipher of unknown type. All my ID tests put correct type on top. I needed the crib to solve it. Both hill-climber and key search got practical solutions. Finished off a few letters by hand.

???
NOYTA ZYYLJ GUQUU YAIRU LAFWK TWOGF TGGXF FSCWG BKEIH HVBTI LCBUJ
UOYAL KSXTA KLGJV BQOGL DSQKC IEGZO FKNGU JGLJG BJCWU MUNMU TKZYY
DYAHN CDMFA PIUXB MCUNY AZJMH WDRFK YGQXH SMWQQ HBYMG UVGLH FFNPY
LPMEH BIWUI IGXBS JGHZB U.

Caesar-shifted crib: WYJWUFXYYJSYWFNS

Unknown 11/19/19

My Analyzer placed the correct type in 10th place. I had to peek at the type. Then my hillclimber didn’t solve it, so I had to place the crib. I finally solved it by key search.

glxnwolgkiwhmdgfeimkpeueyrvhoezbwsnqkqdepegmzfqkmqndvfdveqcrwpuyzfpixsxgwrrqlaphheesglvnkefbldke

crib: INXQNPJXGZYXMJ This fits several places but the correct placement seemed clear to me.

UNKNOWN 11-16-19

Here is a randomly generated cipher of unknown type. My work on this one turned into a comedy of errors. I eliminated several types, including the correct one, by pasting the wrong ciphertext into some of my conversion programs. Then I decided it was a type that probably needed a crib, so I pasted the Caesar-shifted plaintext into a minimum crib program and started it running. After 15 minutes the program hadn’t come up with a crib. This was too long so I guessed there was a bug in my program. I searched through the source code but couldn’t find anything wrong. About this time I noticed I had used the wrong ciphertext in some of my programs. Putting in the correct ciphertext led to the correct ciphertype. But it still took me about half an hour to solve the con. I didn’t need a crib. But I’ll add a Caesar-shifted crib.

???
20341 50124 37220 35061 30132 91513 77881 55372 37532 10155 74532
03203 40924 32912 25367 81537 24372 20302 91453 29135 94715 04539
77130 28538 72185 34121 24721 43724 32913 00802 75253 97713 20235
12361 12376 81320 34477 13723 29174 30722 81.

crib: YBJSYD

Unknown 11-15-19

Here’s a randomly generated cipher of unknown type. All my ID tests put the correct type on top. Solved it without a crib. I’ll include a caesar-shifted crib.

???
95147 23714 18164 14953 96618 15724 95948 49695 97952 31839 68495
29529 01618 18979 51680 93182 61815 16879 89531 89275 12181 63597
72955 79547 24951 47236 18153 18418 97875 81613 9508.

crib: INSNSL

Tridigital 11-14-19

84621 27836 18660 14881 40968 61254 89609 46872 48400 25326 24225
38186 60140 34567 27124 20722 21614 61453 8161

The ciphertext is a sentence randomly chosen from gutenberg.org. My Recursion program found the correct full plaintext in less than 2 seconds without a crib after I manually replaced the separator digit with spaces. I had to determine the keys using separate programs and working by hand. I’ll provide a crib. One of the words uses the British spelling.

crib: HMZIVWI

The Power of Recursion

I wrote a few days ago about a recursive word-finding algorithm I used to solve Key Phrase ciphers. I’ve since learned that it works on simple substitution ciphers as long as word breaks are known and the words are in the reference list. Today I tried it on a Tridigital and it works there too once the blank digit is replaced with spaces.

In fact, the program is so fast that most times a sufficient solution appears on the screen in less than a second. I say sufficient, because there is usually something incorrect in the solution, typically one of the smaller words, e.g. “up” for “of” or “that” for “what.” Despite two or three of those, the overall meaning is clear and the wrong words can be easily replaced and the key determined.

Where it is slow is on those texts where the longest words are not near the top in the frequency lists, especially if they are not longer than eight letters. The program is likely to find a great many apparent solutions that are incorrect or simply finding many partially correct ones many levels deep before rejecting them.

I’ve found that tweaking the frequency lists to improve their accuracy makes a considerable difference. I’ve been using Google N-grams website to check my list data and found that even though I used Google’s data set, they don’t agree. There are several reasons for this such as Google measuring capitalized words differently from lower case and words with apostrophes as two words. I’ve been checking my list against a large text source I compiled made of dozens of books downloaded from gutenberg.org which also helps.