第一百一十一章 編碼方式
深夜的京城內城北麵順天府衙,燈火通明。
深夜的京城內城南麵千步廊中的兵部衙門,燈火通明。
然而,南麵的兵部衙門中,當得知北麵順天府衙那邊都有哪些人在挑燈夜戰時,兵部尚書陸綰,卻破天荒沉不住氣丟下了手中的筆。
而後,跟了他十幾年,眼看陸綰從郎中一路擢升到尚書的一個心腹小吏牛頭不對馬嘴地勸解了兩句,竟是被攆出了門,其他人就更不敢說話了。
“他王大頭可以阿貓阿狗全都請到他的順天府衙去幫忙,我這兵部衙門卻幹幹淨淨,容不得外人擅入!”嘴裏說著這義正詞嚴的話,陸尚書心裏卻窩火不已。
之前在致公樓上被張壽點出關鍵,他也不是沒動過把兒子陸三郎提溜了過來解密的打算,可兵部衙門這種要緊地方,就算他這個尚書,也不能隨隨便便把兒子帶進來!結果倒好,就是他這一猶豫,又不曾吩咐家人把陸三郎禁足,居然被王大頭截胡搶先了!
那個不孝子還居然真的會屁顛屁顛去幫王大頭!
他深深吸了一口氣,用冷淡卻又嚴峻的口氣說:“張博士已經把那些密信的關節挑明了,兵部所有最擅長數字和計算的小吏也都匯聚於此。如若在天明之前解出來,那麽所有人都能將功折罪,如果算不出來,我固然要向皇上請罪,你們也人人有過!這次兵部丟臉丟大了!”
兵部衙門需要一次性破解密信十三封,但順天府衙中有個算學水平相當高明的府尹王大頭,因此張壽再加上三個學生,需要解決的密信隻有一封。
然而,就是這一封信,之前早到一步的齊良和陸三郎顛過來倒過去看了很多遍,琢磨來琢磨去,卻是一頭霧水。
張壽接手之後,卻先把之前號稱解開的十二封信一並檢視了一遍,最後方才去看最後那封尚未解開的信,隨即就沉思了起來。
大約是因為生怕密信要經過檢查又或者其他,避免引起懷疑,解出來那十二封信的內容全都是平淡的家書。這些密信,靠著字與字之間有無橫線來代表一和零,然後用標點符號加以分隔,於是引入二進製數字,再配合千字文作為密碼本,如此就可以輕鬆解開。
而最後這一封信,簡簡單單一張紙,幾十個字,卻竟然是完全前言不搭後語,根本就稱不上句子的字,文筆猶如孩童塗鴉,末了還有一行筆跡娟秀的附注,道是孩子照著千字文裏頭的字,胡亂練筆,雖說有些稚氣,但瞧著有趣,所以寄給在軍中的丈夫瞧一瞧。
看到千字文這三個字,張壽頓時微微一笑,心想這恐怕又是一封用了千字文當密碼本的信,隻不過編碼方式和之前十二封不同。雖說用了一大堆雜亂無章的字,但如果按照前頭十二封信那些看似複雜,其實簡單的編碼方式,這封密信理論上也複雜不到哪去。
畢竟,就算相對簡單,來往密信都已經出了天大的紕漏,接收方居然會把日子算錯了……
這大概是最烏龍最悲傷的事件,怪不得會導致送信方和收信方雙雙自盡。
如果說這加密很簡單的話,移位密碼的可能性最大。
也就是說,把最初的字替換成一定間隔之後的字。而按照簡單密碼的邏輯來說,這種間隔必定存在某種顯而易見的規律。直接把每個字都替換成同一個間隔之後的字,那是最方便的,但也是最容易破解的,如此說來,移位的公式不妨設定為最簡單的y=ax+b,再複雜……
再複雜的話,那就是更複雜的兩次方程式,但既然移位距離肯定是整數,這個x也絕對是整數,所以其實難不到哪去,先從簡單的開始試算好了。
按照簡單密碼的規律來說,密信上的第一個字是原字對應數字的基礎上間隔a+b位置的那個字,第二個字是原字對應數字的基礎上間隔2a+b的字,第三個字就是3a+b……
因為那封信上總共才幾十個字,字數不多,可但凡是移位,則還要考慮到循環的因素,畢竟千字文對應的數字也就到一千為止,從第九百多個字再移位個兩三百,就要回到千字文的開頭去了。
如今他也隻需要驗算前四個數字,說起來計算強度還在可接受範圍之內。
張壽一麵想,一麵隨手在紙上寫寫畫畫,渾然沒發現那位順天府尹王大頭已經悄然站在了自己身後。他自己都沒注意花費了多少時間,就推算出了那個簡單的加密方程y=2x+3。
可倒過來推算那原文起頭四個字時,他著實好生無語……因為仍然是孔大學士!
看來孔大學士真是此次最倒黴的人啊……
代表移位變量的x=1,2,3……
代表移位結果的y=5,7,9……也就是說,把密信上的這些字,分別往回減去5,7,9,然後去找對應位置的字就行了。
照著解出的明碼數字,張壽對照王府尹親自命人抄錄的千字文對應數字表複核了一下記憶,然後在紙上寫下了一行幾十個字。
孔大學士過臨海大營之日,命主將杜衡,盡發叛軍困孔,如帝京恐惶,則伐罪無道,改天易地。
“狂妄!”
張壽剛剛把所有字寫出來,就隻聽身後一聲惱火的厲喝,一扭頭看到背後順天府尹王傑赫然怒發衝冠,他見正算到愁眉苦臉的陸三郎一個激靈跳起衝了過來,他就伸手阻止了陸三郎,一手拿起那張紙,隨即對王傑說:“如今固然已經聯字成句,但王大尹不覺得蹊蹺?”
怒過之後,王傑立時冷靜了下來。他從張壽手中接過那張紙,仔仔細細又端詳了好一會兒,他才沉聲說道:“莫非是,寫信的人分明既為叛臣,卻自稱叛軍?”
“這是其一,我也覺得,如果是真正的叛軍,也許反而會自稱義軍。”
王傑不禁眉頭微挑:“哦,你的意思是,還有其二?”
“這隻是我的一個感覺。”張壽微微一笑,若無其事地說,“十二封信都是用一種密碼寫的,卻偏偏多了這一封用另一種密碼寫的信,還特意生怕人解不出來似的,附注了一句,這是孩童抄的千字文。可試想哪個孩子抄千字文會東抄一個字,西抄一個字,而不成整句?”
鬼鬼祟祟還是湊了過來的陸三郎立刻恍然大悟道:“沒錯沒錯,如此做派,簡直是直接告訴別人,這封信有問題!”
那邊廂放下筆齊良和鄧小呆對視了一眼,齊良也若有所思地說:“我也覺得,那封信上看似孩童塗鴉的文字有些刻意,仿佛是大人模仿孩子筆跡寫的。”
鄧小呆則是突然靈機一動道:“會不會是寫這封信的人本來就沒參透那十二封信的奧妙,卻知道密信的參考是千字文,所以才絞盡腦汁換了一種方式加密,寫了這麽一封信?”
被眾人你一言我一語這一提醒,王傑微微眯起了眼睛,心中為之大凜:“如果我單單隻是把張博士你解出來的這封信稟奏上去,臨海大營主將杜衡就會被當成主謀的叛臣。但隻憑你們說的這些疑點,並不足以洗清他的嫌疑。”
“但也不足以坐實他的嫌疑。”張壽終於忍不住打了個嗬欠,這才懶洋洋地說,“說不定,所謂兩邊自盡的人,其實也隻是替死鬼。說不定,有人想拉下礙事的那位主將,自己頂替上去,說不定……反正萬事皆有可能。但我看來,最大的疑點,莫過於密信編碼方式突然改變。”
“這封王大尹之前沒解出來的信,是按照日期,排在當中的一封信,沒道理後麵往來的信沒有一改到底,仍舊沿用原來的加密方式。總之,這是我從算學角度的看法,是非曲直需要王大尹您自己斟酌裁斷。”
“好,很好。我總算沒白給趙國公府料理掉那兩個吃裏爬外的家夥,否則太夫人未必會同意把你放來。”
王傑那嚴峻的臉上露出了一絲笑容,隨即淡淡地說道,“今夜張博士辛苦了,但夜色太深,委屈你和他們一同留宿我順天府衙,客房我早已命人打掃幹淨,夜宵熱水等等也都在預備。還請不要誤會我軟禁各位,事關重大,我明日朝會把關節稟明時,不會忘記你們的功勞!”