一日,大臣曾公亮上朝,接到了一個命令,要他與大臣丁度主編一部軍事著作,便於軍隊習用。
曾公亮曾多次拼戰沙場,對抗西夏軍隊。在作戰中,他了解到,軍事通訊一旦被對方截獲,就將陷於被動。因此,他在編寫這本《武經總要》時,特意留意瞭如何傳遞情報這一方面。
他發明出一套嚴謹的軍事通訊密碼,這是迄今發現的最早的正規軍用密碼錶。
他把軍事上經常用到的戰況,用40個短語歸納、表示,每個短語都編上固定的數字程式碼。
1.請弓;2.請箭;3.請刀;4.請甲;5.請槍旗;6.請鍋幕;7.請馬;8.請衣賜;9.請糧料;10.請草料;11.請車牛;12.請船;13.請攻城守縣;14.請添兵;15.請移營;16.請進軍;17.請退軍;18.請固定;19.未見軍;20.見賊訖;21.賊多;22.賊少;23.賊相敵;24.賊添兵;25.賊移營;26.賊進軍;27.賊退軍;28.賊固守;29.圍得賊城;30.解圍城;31.被賊圍;32.賊圍解;33.戰不勝;34.戰大勝;35.戰大捷;36.將士投降;37.將士叛;38.士卒病;39.都將病;40.戰小勝。
這個軍事密碼發明後,立刻得到了應用。
指揮戰爭的人坐鎮在指揮中心,他們在派出將領前,會把打亂順序的程式碼交給將領,並事前約定好,把一首五言詩作為解碼鑰匙。五言詩正好40個字,每個字所在的位置也恰好對應一條短語。
當將領來到前線,遇到需要請示的狀況時,就要寫一封普通的書信,在書信中有意識地寫進那首五言詩中的某一個字,並在這個字上加蓋印章,表示這是個解密的關鍵字。然後,差信使送到指揮中心。
公文送達後,指揮人員看到蓋著印章的字,就會在事前約定好的那首五言詩中去查詢,由此就知道前方要請示或報告什麼事情了。
如果他們約定的五言詩是《渡荊門送別》:
渡遠荊門外,來從楚國遊。
山隨平野盡,江入大荒流。
月下飛天鏡,雲生結海樓。
仍憐故鄉水,萬里送行舟。
那麼,前線將領若是糧食不足,需要後方支援,就要在寫信前先查密碼本,查到“請糧料”是編號9的短語,再看五言詩的第9個字,是“國”字。這樣,在寫信時就要加上“國”字,並在“國”字上蓋印章。指揮中心收到信件後,一查密碼本,便知道前方是要請求糧食供應。
如果指揮中心同意了請示,就寫一封回信,信中也加“國”字,再加蓋印章。反之,如果不同意,就只蓋上一個印章,什麼也不寫。
用詩作為解金鑰匙,還有一個要求,即這首詩裡不能有重複的字。不過,古代五言詩多如繁星,想要找出沒有重複字的詩輕而易舉。曾公亮發明的軍事密碼,在傳遞軍情方面,保密性是很強的。即使信件被截獲,敵人也看不懂,就是送信人也不知道怎麼一回事。
不過,這種方法也有一定的侷限性。比如說“請糧料”,究竟需要多少糧食呢?這個問題曾公亮的密碼就比較難解決了。
(摘自《軍事,國家的骨骼》)