茉莉的密文:揭秘一只靈狐撲朔迷離的身世【Fox Hime Zero】-Galgame與密碼學(xué)#1

一些意義不明的話語總是令人匪夷所思,特別是出現(xiàn)在以文本閱讀為主要內(nèi)容的galgame當(dāng)中,這一期解密我們從Fox Hime Zero中茉莉所說的這一段話開始……

話說得很含糊不清,不是么?單看這一段話,我們不可能從中讀出什么有用的信息,而對于一句普通的呢喃,就算上網(wǎng)搜索,也不可能得出任何有用的結(jié)果。
但我們深知,茉莉不是一般人,她作為一只靈狐,話中有隱藏的含義十分正常,作為人類的我們,在直面這句話時要理解它的全部含義是難如登天的。
先聯(lián)系上下文,此時的源和茉莉之間已經(jīng)萌生出了初步的感情,兩人甚至已經(jīng)有過親密接觸,而在茉莉的理解上,她化作狐形時已經(jīng)被源看光過一次,即使這一點并不被源所承認(rèn)。
既然如此,茉莉內(nèi)心的羞澀就已經(jīng)暴露無遺了。我們知道,感情發(fā)展到一定階段后,女孩子開始講謎語是很常見的事情,在這里茉莉特意使用密文來和源進行交流,也正應(yīng)驗了這一點。
源身在當(dāng)下,理解不了這樣的密文幾乎是必然,況且AA社并沒有賦予他足以媲美量子計算機的超強頭腦。那么筆者就在這里嘗試著為他,也為各位無法理解這段密文的旁觀者們,破譯一下這段密文吧。
詳細(xì)的解密步驟,還請聽我娓娓道來:

首先,我們有密文:
茉莉
「你、你還管這個……那是那時候……我們都……那個……」
前面已經(jīng)提到過,光用眼睛看絕對看不出什么端倪,那么我們先嘗試第一步解密。
靈狐相較于當(dāng)時的人類而言是實打?qū)嵉母叩任拿鳎跁憾ㄆ涑饺祟愐粋€技術(shù)等級的前提下,可以推測靈狐文明在20世紀(jì)初已經(jīng)進入信息時代。一些現(xiàn)代常用的編碼,靈狐有足夠的能力發(fā)明并應(yīng)用于實際。
漢字能夠使用的加密方式很少,一般情況下,漢字的處理都以Unicode編碼的形式進行。
所以我們先將這段話轉(zhuǎn)換為Unicode編碼:

得到了:
\u4f60\u3001\u4f60\u8fd8\u7ba1\u8fd9\u4e2a\u2026\u2026\u90a3\u662f\u90a3\u65f6\u5019\u2026\u2026\u6211\u4eec\u90fd\u2026\u2026\u90a3\u4e2a\u2026\u2026
接下來慢慢開始有頭緒了,每一個字符的Unicode編碼中包含一個由四位構(gòu)成的結(jié)構(gòu)單元,對于多余的部分,也就是\u,茉莉沒有必要進行這樣繁復(fù)的加密工作,我們可以直接將它們?nèi)サ?。再者,此處我們只提出語句的主要內(nèi)容進行轉(zhuǎn)換,因為這才是密文的核心,前后兩個括號的加入反而會對解密產(chǎn)生阻礙。剔除其中標(biāo)點符號對應(yīng)的編碼,得到:
4F604F608FD87BA18FD94E2A90A3662F90A365F6501962114EEC90FD90A34E2A
提到Unicode,很容易聯(lián)想到與Unicode聯(lián)系十分緊密的編碼ASCII,全名美國信息交換標(biāo)準(zhǔn)代碼。
在信息時代的條件下,靈狐必定對西方文化有一定的認(rèn)知,再結(jié)合當(dāng)時美國的發(fā)展?fàn)顩r,可以斷定靈狐能夠先于美國發(fā)明出ASCII,因此茉莉具有了解到ASCII碼的條件,不排除茉莉在加密過程中使用ASCII的可能。
我們將上面的Unicode轉(zhuǎn)換為ASCII編碼:

可以看到,ASCII編碼中除了每一個結(jié)構(gòu)單元中包含的符號以外,留下的就只有純數(shù)字,將符號剔除,可以得到這樣一串?dāng)?shù)字:
52705448527054485670685655666549567068575269506557486551545450705748655154537054534849575450494952696967574870685748655152695065
純數(shù)字的解密方式很多,但是結(jié)合靈狐的實際情況來看,靈狐文化中融合了相當(dāng)大一部分的華夏文化,而在華夏傳統(tǒng)文化,特別是中醫(yī)理論中,6的倍數(shù)是十分重要的,這些數(shù)字與天地、以及人體的運行都有很大的關(guān)系,其中最重要的當(dāng)屬36。
這似乎是一個巧合,36=10+26,十進制阿拉伯?dāng)?shù)字有10個,而英文字母有26個,加在一起剛好等于36,這構(gòu)成了36進制。
由此我們得到了這串?dāng)?shù)字的正確解密方法,將其轉(zhuǎn)換為36進制的形式:

得到了一串包含阿拉伯?dāng)?shù)字1~9和英文字母A~Z的文字:
19UNGN93CHM7KW7AXGUH3IUBC4PN1UZC6KXY5SBA1XYONUJ1737XRD19A468E8A23RYDRDD0S3CU6WKZ7YX
那么接下來我們要怎么對這段文字進行處理呢?這里陷入了一個難關(guān)。
試試看能不能從當(dāng)時茉莉的情感狀態(tài)中找到提示:
依照當(dāng)時的情況,茉莉?qū)υ从挟a(chǎn)生感情,原密文中說話說的扭扭捏捏,這是心動的表現(xiàn)。
我們在Fox Hime Zero的附加文件中找到“心動”(需要MoriChan附加DLC):

Steam版路徑為Steam\steamapps\common\FoxHimeZero\MoriChan\Emoticons\Heart.png

這樣一張圖片里面會包含什么信息?
肯定不能只用眼睛看,圖片是很常用的用于隱藏信息的載體,這一技術(shù)稱為圖片隱寫。
我們用Winhex將這張圖片打開:

能找到什么?這張圖片是用Adobe Photoshop CC 2017編輯的,XMP核心版本是5.6-c138 79.159824,還有呢?
其中有一串id,非??梢?,也許這是我們要找的突破口:
id=W5M0MpCehiHzreSzNTczkc9d
采用附加密鑰的固定加密方式,常見的一種是HMACMD5,也就是MD5哈希函數(shù)構(gòu)造出的一種消息驗證代碼(HMAC),通過將得到的id作為密鑰,轉(zhuǎn)碼剛剛得到的36進制文字:

得到了:eaa41048299457edf747e8e99131b1a3
茉莉的套路很明顯,這是一個不可逆加密,目的是徹底斷絕從原文反推出密文的可能性,以此來防止未來有人通過原文找出她當(dāng)時到底對源說了什么。
由于這種算法依然有窮舉法爆破的可能性,茉莉極有可能進行二次加密。
因此,我們再進行一次MD5加密:

得到了:ACAF57A16EFEBCC7
密文越來越短了,不是嗎?茉莉最終想表達的意思應(yīng)該比較簡明扼要,就差最后幾步了。
探索進行到這里,茉莉使用的都是帶有實際字符的密文,但是她不可能僅僅局限于具象化的加密方式,她一定會將密文變得抽象化。
談到抽象的密文,一個典型便是摩爾斯電碼:

得到了:
.-/-.-./.-/..-./...../--.../.-/.----/-...././..-././-.../-.-./-.-./--...
非常抽象……基本看不出是什么東西。
但是茉莉的千層套路就是這樣,她一定留了將其具象化的手段。
觀察一下,摩爾斯電碼只有長音和短音,是不是有點像……
二進制?
我們把短音看作0,長音看作1試試看:
能夠得到:01 1010 01 0010 00000 11000 01 01111 10000 0 0010 0 1000 1010 1010 11000
我們距離最終的結(jié)果已經(jīng)很接近了!
想想這一串二進制代碼到底要轉(zhuǎn)成什么進制?
16進制編碼可以用來加密文件,這也是很常用的加密方式,而十進制和八進制卻很少被用來加密。
試試看將這串?dāng)?shù)字一一對應(yīng),轉(zhuǎn)成16進制:1a120181f100208aa18
將這段16進制編碼解密

得到了:
....?. .?.
這便是茉莉最終想表達的意思。

乍一看可能還看不太出來,現(xiàn)在我來給大家翻譯一下:
對于其中的拉丁字母?,查閱資料:?在18世紀(jì)時被正式引入西班牙語字母中,西班牙語中讀做e?e(/?e?e/),代表的發(fā)音為“腭化的n”,即[?]。
中世紀(jì)之前,?這個字母并不存在。直到1803年,?才進入西班牙皇家學(xué)院(Real Academia Espa?ola)字典。
另外,?還被用于布列塔尼語和羅興亞語,以及閩南語的某些轉(zhuǎn)寫方案中,以表示將其前面的元音鼻音化。
在日語羅馬化中,?曾經(jīng)表示其中的音位[?],但是很快被ny取代。
閩南語在這里是一個非常值得注意的地方,西班牙語距離茉莉所處的當(dāng)下似乎太遙不可及了,而日語僅僅是配音,與她的文化關(guān)系不是很大,因此她更有可能是是閩南語的使用者。
對于其后的反嘆號,查閱資料:倒掛在句首的問號和感嘆號,最初是由西班牙皇家學(xué)院于1754年在《皇家學(xué)院正字法》(La ortografía de la Real Academia)中提出的。使用倒掛問號?和倒掛感嘆號?的初衷,是方便讀者在閱讀一些較長的句子時,從一開始就能知道該句子是疑問句或感嘆句。
兩條線索都指向了西班牙語,我們不得不承認(rèn)茉莉?qū)ξ靼嘌勒Z有所了解,可見這只靈狐的身世極其復(fù)雜。
綜合以上分析,這段密文可以理解為一個感嘆句,再對點號重排列,最終結(jié)果為“…嗯~…!”
——資料源自Wikipedia

我們暫且先拋開這一聲發(fā)音的實際含義不談,因為茉莉使用西班牙語字符這一事實似乎比她想表達的意思本身更加令人震驚。
看來靈狐知識面之廣泛并非空穴來風(fēng),茉莉幼時一定沒少受琉璃的熏陶。劇情中的茉莉看似認(rèn)知淺薄,但實際上她的視角早已經(jīng)擴展到世界尺度,甚至超越相當(dāng)一部分時間尺度了。
至于茉莉在這句話中想要表達的意思,我已經(jīng)翻譯得很徹底了。相信如果源能夠理解到這一步,他也會明白茉莉為什么不肯直接把原意說出來。
那么,對茉莉所說密文的解密就已經(jīng)全部完成了,喜歡的話,麻煩給個三連~