Codemakers seek algorithms immune to quantum attacks
A new member (Gerard) has just posted a comment on a post from months ago where it will not be seen requesting assistance in solving the cipher below. I’m reposting the text here and will send him a link to this page. If anyone solves it or has suggestions, please post them in the comments here.
Could you help me solve this?
NLLMS CFYSH DDODB SUQFF MSBNA AWQFW ELJWM BGNJF LSUXO SGXPQ GCBVU HEBNZ TFDBZ GOCQR HZJCK BEQVI VEOJA RQLTG ELPHL QFYBM AYUTN GDLGS GFXCR KQQHA FJNXY GCVYI EURFG SCKNN DZGUK DXQZB OBOTY OSFIO BFSHF CFMAY
This 2-sentence ciphertext was generated by my random con generator. The text is from gutenberg.org. My program diagnosed it as fractionated Morse and my hill-climber solved it in 1.57 seconds. I’m not going to provide a crib since I think it’s not necessary
FMTMT QQFFG EQFUU NUUGL UWFGS NSQQN YPLFE QSWFP ZGPLX QVVCM UDRNZ GBWHS LNVOQ VVCEN HSQSI VGKYF SQGOP XWFPY LOC
This con is a randomly selected sentence from the Internet. My Analyzer placed the correct cipher type in 17th place! My hill-climber solved it without a crib, but I am including a Caesar-shifted crib: HUKOVWL. Correction: The first sentence was too short, so my program selected the beginning of another sentence to lengthen it. The second sentence is truncated in the middle of a word.
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.
ETFST HOATA BVTIR OHWAI RAUTE RORNI NLRGO EOFTN ULDSS EIRAE ETGAE TOEHL DNETS OROTE ANAAT EHOLM IEASE EERHO HERFT NOHIS WEEOT ANRSE THTEF CASDM EASNS FTRSP P
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
FCAMDKL CERYUEO BWVETEG VPCXLST IBEXVHL YRGMHMP VMYKGOB GZHZQBQ MGEXYML WGAIKAT WWVDHEG VHPGBYK ZYVNKGB PGFUVLB ERCMLPH RMPPNUV RYZLKGO FBXMYTM MGOFMLL VRVMLNI MBUFPEO EBXDETN XVFWDKH
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
VXYCN NAQSO ATNMD GTLGE FNTFG HROYD QGUSD CROEA OGDAD AAOPO EGCAK ACOLT CMTNW AXHSR CONYS MDRSN HCDQG DSDCF ATEEA GLALN YSMDR SNHBA LGTD
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
My program to identify the primer is dependent on repeated digits at the crib location. Thus it depends on knowing the crib location. The process is to increment every 5-digit primer from 1 to 99999, extend the full primer until the digits cover the crib location, then take the segment of the primer where the crib is located and call that primer2. In the preceding con, the crib is 14 letters long. I test each primer2 first for three-digit triplets and search to see if the corresponding crib letters appear as a sequence in the ct. For example, if the primer2 were 19692055125063, my program would first test the three 5’s. The corresponding crib letters for the 5’s triplet would be MOT for the crip “TOPOFAMOUNTAIN”. If MOT does not appear in the ct, then that primer cannot be correct. If it does, I give the primer a score of 5 points. Then I do the same with 2-digit doubles, like the 1, 6, 9 and 0. Those corresponding crib letters form digraphs. If any of those digraphs don’t appear in the ct, again the primer is rejected. If they do, 1 point is given for each such pair. Once all primers have been tested and a score given to each one that isn’t rejected, those are then ordered by score and decryption attempted with the highest-scoring primers first. The process could be extended to 4- or 5-digit groups, but the crib would have to be quite long in most cases.
In the preceding con, there was only one 4-primer group that outscored the correct group. I tested this method on the same con with a shorter crib (12 letters) without a triplet in the corresponding primer2 and the correct primer appeared in the highest-scoring 200 primers. If the crib were to occur over a sequence without many triplets or doubles, this method would not be effective. If the crib were long enough, one would not need to know its location in advance because there would probably be only one 4-primer group and crib location that would work.