2008年8月28日 星期四

金庸茶館的一篇舊作

金庸茶館的logo

金老慮新舊不兩立,金學不偏安,故改書以出版也。以金老之明,量金迷之力,故知金老改版,力弱敵強也。然不改版,金朝亦亡,惟坐而待亡,孰與改之,是故改版而弗疑也。金老改版之日,寢不安席,食不知味,思惟改書,宜先改人,故深思舊版,並日而食─金老非不自惜也,顧金朝不可偏安於舊版,故冒責罵以奉自身之原意,而議者以為非計。今評論家疲於二版,又務於舊版,兵法乘勞,此改版之時也,僅陳其事如下:
藥師才貫文武,智謀淵深,然自封邪名,卻常被俗規所縛,莫愁三言二語,竟能要脅其行必以宗師,此老身之未解一也;無忌內力,殊絕於人,其醫道也,彷彿扁鵲,然困於三使,逼於屠龍,二番生死不辨,二度誤食迷藥,然後偽定一時耳,此老身之未解二也......﹝此段有興者自行添加﹞

夫難平者,事也。昔還珠樓主劍俠一出,威震神州,當此時,樓迷拊手,謂天下已定─然後金老東取白羽,西取王度盧、鄭證因,舉兵北征,樓迷授心,此群儒之失計,而金朝將成也─然後女權抬頭,毀罵鹿鼎,段譽癡迷,天龍遭議;凡事如是,未可逆料。金老鞠躬盡瘁,死而後已,至於成敗利鈍,非其明所能逆睹也。


這是我在金庸茶館的一篇玩笑之作,改後出師表來的。雖然是玩笑之作,但是裡面多少有寫中一些金庸改版的動機吧。

2008年8月21日 星期四

密碼學雜談



我們第一次接觸到密碼,很可能是在武俠小說或偵探小說裡面。武俠小說裡面的絕世武功,經常不是清清楚楚的寫成一看即懂文章,而是用涵義隱晦不明的詩句,甚至是用特殊藥水寫在白紙上的無字天書。而偵探小說中常有所謂死前留言。被害者不希望加害者破壞死前留言,於是用一種讓加害者無法辨認其涵義,甚至無法察覺到其存在的方式,指出加害者的身分。

但是以上這些嚴格來講不算密碼學的範疇。以上所採用的方法,並不是把訊息變成密碼,而是讓人不知道有這段訊息的存在。而現在密碼學所研究的,都是假設想要破解密碼的人,能夠知道哪些文字 (或任何可以用來表意的物件) 是密碼。第一段文章中所採用的辦法,都是基於兇手的愚笨來保證密碼的安全。而現代密碼學要研究的,卻是即使兇手聰明絕頂,甚至集天下智慧於一身,也無法在有效期間內,解開其涵義的密碼。也唯有如此假設之下所產生的密碼,才有安全性可言。

現代的密碼,多半是基於數學理論所產生的。數學上的運算有所謂不對稱性。例如微積分,我們知道積分是微分的逆運算,但是積分卻比微分更困難。運用這種不對稱性,我們可以構造出一個密碼系統。例如現在流行的RSA密碼,就是植基於將某數因數分解,比起將質數相乘困難得多的特性,所建構出來的。加密解密其實互為逆運算,只是解密比起加密要困難幾億倍,除非,你事先就知道某個關鍵數字。這個關鍵數字就是所謂的「私密金鑰」。即使用目前已知最好的方法,和最快的電腦,仍然要花幾百萬年才能算出這個關鍵數字,這在很大程度上,就保證了加密過的文字不會被破解。

不過這裡有一個吊詭之處。RSA密碼的安全性是建立在「因數分解很難」(請注意,我們這裡用的,都是超過兩百位數的數字,而不是小學習題中的五六位數) 這件事上,但是現在數學理論上的發展,隨著整數性質的更深入了解,更快的因數分解方式不斷的被找出。換句話說,數學發展本身很容易會造成密碼系統越來越脆弱。例如,當初說幾百萬年才能分解出的RSA-129,不到二十年就被分解出來了。

所以不可避免的,私密金鑰的位數會越來越多,因此人類會越來越依賴電腦。但是太過於依賴電腦本身就是一件不安全的事。便利和安全,本來就是不可兼得。所以生活在這個時代,我們所能作的,就是盡量讓自己免於被攻擊。如果沒有太多人要危害你,你的密碼稍微不安全一點也無所謂,是吧?