暗網潛航——密碼學科普—孫子鬼谷 大衍求一

  密碼學除了研究如何不被人發現及破解重要內容外,也要察覺被人修改的痕跡。當中原理,竟然與中國古算術有關。

  約公元四世紀,中國數學名著《孫子算經》下卷第二十六題,記載一個影響密碼學的重要計算方法,名叫「物不知數」,又叫做「鬼谷算」。原題為:「今有物不知其數,三三數之二,五五數之三,七七數之二,問物幾何?」意思是:「求一個除三餘二,除五餘三,除七餘二的整數。」書中給出的答案是二十三。

  至南宋時,大數學家秦九韶於「數書九章」中,對「物不知數」做出完整系統的解答;明朝數學家程大位在《算法統宗》中將解法編成易於上口的歌訣:「三人同行七十希,五樹梅花廿一支,七子團圓正半月,除百零五便得知。」這道題傳到歐洲後,一八七四年馬蒂生(L.Mathiesen)指出,孫子的解法符合高斯定理,並稱這個定理為「中國剩餘定理」(Chinese remainder theorem)。

  對數字比較感敏的人會發現,二十三是一個質數,不能做因數分解。在密碼學中,質數是主要的保護機制,原因是「單向函數」(One Way Hash) 和 「公開金鑰密碼架構」(Public Key Infrastructure、PKI),都會應用這類特別的數字。

  單向函數是製作「訊息指紋」(message fingerprint)的重要工具,其他人接收信息時,只要把附帶在數據中的訊息指紋數值進行計算,就可以驗證數據傳輸時有否被改動或添加新的內容。因為數據被改動,就不可能逆向算出相同的數值,故此可以保障數據完整性。

  公開金鑰密碼架構也應用單向函數算法,所以公鑰可大方於網絡公開,無需擔心被反向破解或偽裝,任何人都可以直接下載公鑰把數據加密,但只有「私鑰」的接收者才可以解密數據。這個機制應用之一,是我們智能身份證上的身份認證系統。

  保護加密訊息的機制,其實早在公元四世紀已發明出來。而我所屬的「香港公匙基建論壇」更是代表中國香港,聯同中國、日本、韓國、新加坡、台灣及馬來西亞,一同創立「亞洲PKI論壇」,協調區內電子身份的共同標準和互通性呢!

TOZ聯合創辦人

龐博文


hd