11

I recently came across this post on Puzzling SE, and after some heavy research I haven't come up with an answer. The issue is that in Deus Ex: Mankind Divided, there is what appears to be an encrypted e-mail in the pocket secretary:

Screenshot of the pocket secretary.

From the game files, this appears to be the string:

FILE: client.pld31bf3856ad364e35.id
CecKIjBrWWr|9Vo2DN6DOWK|86lQSYxno0s|6c4yEcxnoGs|FxAgwKsaX0I|5LMLADBrWGr|SecLIdbTR04|FxAgwMbTQW4|9r2mtqyMtmX|AGVGov0nYGu|8zg5cz0nY0u|EX@DJoCyext|F#6XUkCyN0W

If you treat the pipes as column separators, we get 13 rows of 11 characters each:

CecKIjBrWWr
9Vo2DN6DOWK
86lQSYxno0s
6c4yEcxnoGs
FxAgwKsaX0I
5LMLADBrWGr
SecLIdbTR04
FxAgwMbTQW4
9r2mtqyMtmX
AGVGov0nYGu
8zg5cz0nY0u
EX@DJoCyext
F#6XUkCyN0W

However, this is where the trail often runs cold, though there have been many theories surrounding the e-mail; unfortunately, none seem to have been confirmed, nor denied.


Has anyone decoded this message?

Hazel へいぜる
  • 2,951
  • 10
  • 45
  • 5
    There's the off-chance that this message truly doesn't mean anything and only "looks" encrypted by having jumbled characters. – QBrute Oct 10 '21 at 11:42
  • 1
    Is the answer about finding someone with the key in Prague in the linked question valid? If so you'd have the plain text.. – Journeyman Geek Oct 10 '21 at 14:16
  • I'm not. I've never played the game, and I'm asking if the comment on puzzling (ugh, shouldn't have said it was an answer) valid... – Journeyman Geek Oct 11 '21 at 02:37
  • @JourneymanGeek no; the author of the comment even states this at the end; though it's ran through a special Caesar cipher known as ROT13 (which is common on Puzzling SE to prevent spoilers in comments). If you decipher the ciphertext the author posted it says "I'm joking, please don't downvote me to Hell". – Hazel へいぜる Oct 11 '21 at 20:58

1 Answers1

10

Very hard to find out. We don't even know the set of character used to encrypt that message (if there's a message behind it). It's not a standard Base64 encoding because of @ and # (I already tried every source of characters, btw).

So it must be a sub-set of Unicode, my guess is a ROT-47 alphabet. This, at least, contains every character used in the email:

!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

or maybe a custom set of Base64 containing those two symbols (as per @NickKennedy's comment):

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@#

Now the hardest part: discover the encryption method used.

I had no luck with Caesar's cipher, I tried all combinations using a quick Java program, even with different alphabets.

Other methods like Polybius, Delastelle, Atbash, Rail fence, Playfair and even Enigma machine seem unlikely because we have both uppercase/lowercase letters, numbers and those 2 symbols.

So my guess will be on Vigenere cipher, since it was used for another encrypted email:

Vigenere encrypted email

But again, we may have the same problem: "where's the goddam key?". That enigma already had a big hint to solve the puzzle, since...

the actual key to decrypt it was a sentence in the email.

I don't own the game so I can't investigate, but the key may be, again, under our noses...

Anyway, nobody has decrypted this yet in years, so maybe there's nothing to discover.

pinckerman
  • 37,879
  • 20
  • 117
  • 166
  • 1
    What about base 64 but with @ and # in place of + and /? Not that the resultant byte stream looks all that usable anyway… – Nick Kennedy Oct 10 '21 at 08:29
  • 1
    @NickKennedy I tried writing a Python script using a custom base64 alphabet, but it keeps giving me an error because the string to decode contains @ and # (which are not in ASCII standard), and this causes an invalid padding. – pinckerman Oct 10 '21 at 10:18
  • 2
    Huh? Since when have @ and # not been part of ASCII? – Hong Ooi Oct 10 '21 at 13:56
  • @HongOoi d'oh you're right, I meant base64. But the problem remains, @ and # were not accepted by Python script (that invalid padding problem), since removing them it just says that the message is not a multiple of 4 bytes. – pinckerman Oct 10 '21 at 14:04
  • 2
    Just string-replace #@ in the input and then fill up with = until the length of the (non-whitespace) characters is divisible by 4? Then you can use a standard decoder. (I did this in a text editor, and the output looks like random garbage to me, so no idea if base64 gets you anywhere.) – Caesar Oct 11 '21 at 00:57
  • @Caesar yep already tried that, and got nowhere. I don't think it's a base64 encoding. – pinckerman Oct 11 '21 at 10:06
  • 1
    I wondered whether the hex part of the file name was a key, but simple rotations and xors with the base-64 decoded bytes doesn’t yield anything. – Nick Kennedy Oct 13 '21 at 18:46
  • @NickKennedy yep that could be a hint, I converted that in bits and tried to figure out something but no luck at the moment – pinckerman Oct 13 '21 at 18:56