二維碼紋身?
自己先前怎么沒有注意到?
約翰心想,這會是過去的自己考慮到現在的狀況,特地留下的后手么?但又為什么要紋在背后?
“你猜的和我猜的一樣準,”他聳聳肩,裝作不在意的樣子回答。同時心想自己必須抽個空掃描一下。“估計是很久以前紋的,我自己都忘了它什么內容。”
“那就掃掃看。”莫莉提議道,有些好奇。
說實話約翰自己也很好奇那個二維碼里到底是什么內容,唯一的一點擔心是莫莉會不會看到不該看的內容。
媽的,看到就看到吧,那又怎么樣?約翰心一橫,下定決心。老子就是說干就干的性格,瞻前顧后,小心翼翼可不是我的作風。
“好吧,正好我也想看看自己紋的什么東西。”他轉過身去,脫掉上衣露出發達的肌肉和精悍的軀干,讓莫莉用手機拍攝自己的紋身。
莫莉從床頭的儲物柜上拿來自己的手機,然后對準約翰背后的二維碼掃描。
滴的一聲。
“這是什么?”
她好奇的把手機屏幕翻過來向約翰展示,上面是一串不明所以的字符,由一長串數字和幾個字母組成,乍看起來沒有任何意義。
不是任何連貫的單詞,也不像任何有意思的縮寫。
“大概是我身材變了,二維碼的內容也亂了。”約翰勉強試著解釋,心里卻在推測其他的可能性。
如果自己失去意識,那么任何人都會有機會掃描自己身上的二維碼紋身。而且有很大的可能性,獲得這個機會的人會是自己的敵人。所以二維碼紋身里面無論里面隱藏著什么秘密,都不可能直白的讓人一眼就看明白。
如果是自己,那么會在這里面隱藏什么信息?約翰試著想,大概會是些密碼提示詞之類的……算了,有機會再試試吧。
沒能弄明白二維碼紋身的內容,莫莉顯得有些失望。“再告訴我點你的事情吧,為什么你會叫約翰·鐸爾?這個名字太古怪了不是么?”
“古怪是相對而言的,而且,這名字也不是我給自己取的。不過,現在我倒發覺它確實挺不錯的。至少可以用來在聊天的時候打開話題。”約翰回答道。“你呢,可以告訴我點你的故事么?”
“我的中名是萊安娜,莫莉·萊安娜·勞。”她告訴約翰。
“這名字很美。”后者誠心稱贊道。
“好了,該辦正事了。”她推開被子,從床上坐起來,開始穿衣服。約翰轉過身去,給她留下點隱私。雖然看不見,但她依然感激的點了點頭。
“來接尸體的直升機今天就會到,梅羅紋加會把事情壓下來,讓一切看起來只是場單純的事故。警察那邊不會起疑,只要沒人遞交書面質詢,接下來就是走走過場。”莫莉一邊穿衣服,一邊說道。
“沒人會質詢的,他就是個殺手。無論背后是誰,肯定比我們更不希望事情敗露。”約翰盯著舷窗外漸漸明亮起來的海面,說道。
“那樣最好,我得處理一些書面上的事。得和船長以及潛店的人談談,你知道的。”莫莉一邊將一件襯衣套在頭上,一邊繼續說下去。“我今天不能帶你下水了,你可以找個其他的潛導。”
“不用了,今天我留在船上陪你。”約翰想都沒想就告訴對方。
莫莉似乎期待的就是這個答案,眼睛里露出些許笑意。“當心,沒有退款。”
“有你在,誰會考慮退款呢?”
------------------------------------------------------------------------------------------------------------------
莫莉和船長談話的時候,約翰·鐸爾一個人在自己的船艙里,仔細的分析二維碼紋身所代表的的一串字符是什么意思。
它掃描出來的結果是四個字符串,每一個都包含了四個數字加字母,乍看起來沒有任何聯系:OODC,1858,0B6C,2FFD。
看到這玩意,約翰·鐸爾首先嘗試了凱撒密碼的破解方式。即每一個字母或數字錯位或者錯幾位對應另一個字母,結果沒有任何有意義的結果。
頻率分析的解密方法也沒有用,樣本太少了。
這看起來也不太可能是什么復雜的程序加密方式,因為每個字符串都只有四個數字加字母,信息密度太低了。
這說明這東西八成只是提示詞或者密碼一類的東西,約翰·鐸爾心想,指導我找到真正的信息用的。既然如此,它就不可能太復雜,而是應該簡單到自己一眼看到就很熟悉。
如果是密碼的話,約翰一邊看著那四個字符串,一邊思索。數字中間夾雜了字母,這是十六進制?
如果是這樣的話,他想,四組數可以折算成兩個經緯度坐標,代表世界上的兩個地點?
可惜接下來他就推翻了自己的猜測,第一個字符串OODC對應十進制的220。地球上怎么可能有經緯度大于一百八十的地方?
他接著解出了剩下的三個字符串,十六進制的1858在十進制下是6232,0B6C在十進制下是2924,等等。
難道這是個數列?約翰心想,難道要我解出它的通項公式?
這可太要命了,如果過去的自己真是這么想的話,那自己可真是個討厭的雜種。計算數列的公式這種東西,約翰·鐸爾打心里不愿意嘗試。
等等,十六進制,該不會是網址吧?他腦子里突然冒出了這個念頭。緊接著越想就越覺得這是自己會做的事情。
但是只有四組數怎么對應一個網址?在IPv6格式下,一個網址應該由八個數字定義才對。
如果是我要隱藏一個網址,我自己會怎么做?約翰在心里對自己發問。
四個數字沒法建立對八個數字的一一映射,他想,莫非我用了恩尼格碼之類的密碼學原理進行加密。
那樣的話難度很大,而且太麻煩了,不像是自己的風格。
他又掃視了一遍那四個數字,突然意識到答案原來如此明顯。
220,6232,2924……這幾個數字恰好都可以用來組成友好數,這絕不可能是個巧合。
友好數是一對數字,指兩個正整數中,彼此的全部正因數之和與另一方相等。比如220和284就是一對友好數,古希臘人在公元前四世紀就發現了。(220的全部正因數相加是:1+2+4+5+10+11+20+22+44+55+110=284。284的全部正因數相加的和是:1+2+4+71+142=220。)
而6232的友好數是6368,2924的友好數2620……這樣一來就得到了八個數,轉換成十六進制,再按照鏡像對稱的原則填寫,就得到了一個八字符串網址。
約翰·鐸爾連忙把自己發現的網址輸入手機瀏覽器上,幸運的是,這艘船上配備有Starlink天線,可以利用這些低軌衛星上網。
幾乎微不可差的延遲后,瀏覽器打開了一個樸素的頁面,一開始什么圖像元素都沒有。只有一個簡樸的對話框跳了出來,要求輸入密碼。顯然,這是為了防止有人誤打誤撞進入了這個網址。
約翰·鐸爾愣了一下,密碼什么的,自己完全不知道啊。那個二維碼里也沒有提示,該怎么辦?
他想了想,先把二維碼里幾個數字分別輸了進去,又連在一起輸了進去,都不正確。然后,他又嘗試了隨機輸入幾個自己第一反應下想出來的數字和字母組合,也不對。
對話框上的文字變了一點,警告他只剩下有限的嘗試次數了。
他停下了動作,思考自己是不是遺漏了什么。
約翰在手機上又調出那個二維碼的紋身,看了又看。
啊,他突然明白過來了,謎面即是謎底,答案不能更明顯了。
那個二維碼紋身其實并不只是二維碼,自己一開始就被誤導了,它本身就是一個詞。
這是一張特殊的書法藝術,名為庫法體,用來書寫波斯文或者阿拉伯文的。它的最大特點之一就是十分工整,徹底的橫平豎直,沒有圓角和斜線。庫法體詞語甚至句子可以被設計成一個長條形矩陣的樣子,或者一個正方形矩陣,里面是線條和點。
這個二維碼被設計成了正好能組成一個庫法體波斯語短句的形式,約翰仔細辨認了一陣,認出來是人的“本質”的意思。
他把這個詞輸入到密碼框里,然后等待。
瀏覽器頁面黑了下去,然后加載了一個自動播放的視頻文件。