Board Thread:The Last Sovereign Discussion/@comment-31763506-20190716104622/@comment-31763506-20190716165150

71.70.197.47 wrote: Woah, that's crazy impressive to find. I assumed it was random gibberish. So nice on SL for adding the detail and Nice on you for even finding the answer.

It's easy when you explain it.

First I observed that the text was absolutely unpronounceable phonetically, which meant that either it was pure gibberish or a cipher. Since both versions of the the dialogue have Dari open the conversation with "Terrgvatf!" and the guy respond "Terrgvatf!", that argues against it being gibberish, because they're using the same word, and more than that, it's a grammatical salutation. If it's a cipher then it's likely to have been a fairly simple one like an alphabetic substitution, because there's no reason to put much work into it.

I remembered the alphabet frequency analysis technique explained in the Poe short story I linked to, and a superficial review of the dialogue suggested that "r" most likely stood for "e" since it appeared most frequently. The appearance of it as characters 3 & 4 of "Terrgvatf!" make that guess more likely since it's occupying the likely position of a vowel sound and "ee" occurs commonly in English words, often preceded by "r". (In Poe's code, the first word the treasure hunter decodes was "tree".)

It's then a question of going through the standard English salutations looking for a word where the 2nd, 3rd and 4th letters are "ree", which is not a long list. "Terrgvatf!" was "Greetings!". The whole thought process took maybe a minute or two.

That gives us "e" = "r" and "r" = "e", but also the fact that "t" = "g" and "g" = "t", meaning that letters are paired off bidirectionally. The normal Caesar Cipher uses an alphabetic shift, so that if the shift is +5, "Greetings!" would be encoded "Lwjjynslx!". The pairing means that instead of looking for 22 more code letters, there are only 11, 3 of which were already given as "i" = "v" and "v" = "i", "a" = "n" and "n" = "a", and "s" = "f" and "f" = "s".

It was then a matter of putting all the samples of the code in a word document with courier new font (fixed width) and writing out the parts where the code had been decrypted beneath each line with "#" for the missing letters, then looking for obvious solutions for the blanks. SL made it extra easy by including spaces, punctuation and capitalization (but not apostrophes).

"Turanyrfr" partly decoded to "G#ena#ese" and had to be a proper noun given its position in the sentence, so it was an easy to get "u=h"/"h=u" and "y=l"/"l=y" from the obvious "Ghenalese". "greevoyr ivfntr" = "terri#le visage" in a conversation with Monster Dari meant "b=o"/"o=b" from "terrible". "Svar, whfg vtaber zr." translates to "Fine, #ust ignore #e.", so it's fairly obvious "w=j"/"j=w" and "z=m"/"m=z". "rkprcgvbanyyl fgebat" gives "e##e#tionally strong", "k=x"/"x=k" and "c=p"/"p=c", since the first word has to be "exceptionally". That leaves "q=d"/"d=q" as the final pair, completing the decryption.

The hard part was making all the substitutions by hand and keeping the lower case "q" and "g" from getting mixed up.