2008年9月30日 星期二

安全小事

有好友詢問我一些有關理學家費曼的問題。我就在網上做了一些搜尋,朋友需要的資料尚未找到,但就提省了我有關費曼的一件趣事。

二次世界大戰將結束,費曼被推薦參加‘曼哈頓計劃’,這就是研製原子彈。

可以想像,這些高度保密的軍事基地,生活是會很枯燥的。但費曼天生活潑,於是便經常會和同事開玩笑。

有一次,他嘗試打開一些(好像是三把)鎖著機密資料的密碼鎖。他居然很快就打開了。後來,更令軍方懷疑是否已有間碟潛入,盜取了原子彈機密。

後來證實這個鎖的密碼是‘271828’,為甚麼他可以猜中這個數字呢?

對一般人來說,這個是毫無意義的亂數,但是對物理學家來說,其實就是2.71828……就是e!

e是甚麼,有機會我會另文解釋。但這故事就告訴我們,在選擇密碼時,千萬不要用一些有特別規律的字母或數字。例如‘qwas’,這是甚麼?看看英文鍵盤便知道。當年英國破解德軍的密碼,這點便可記一功。原因就是德軍是要每次通訊都要轉換密鑰的。但前線兵荒馬亂,危急時,很多時密碼員便會貪方便,就用鍵盤上幾個連續的字母作為密鑰,它們看似很‘亂’,但在解密專家的法眼下,何亂之有呢?

後發優勢

今天在媒體上聽到‘後發優勢’一詞,我覺得甚有意思,今天便討論一下。

不要說太久,就算是廿年前,在國內擁有一部私人家居電話就已非常不簡單了。當時,要申請和安裝一個家居電話,可能要花上幾千元,更不要說需要關係,和苦苦的等候。

這種情況,其實不限於國內。事實上,自兩百年前電報的發明後,歐美便一直花大量資源建造其電訊網絡。新中國立國時間短,又百廢待興,更加不要說一場又一場的政治鬥爭。無法建立一個普及的電訊網,並不難理解。

突破點就在手提電話的出現。手提電話在八十代初露頭角,這時其價錢就萬分高昂。但和所有高新科技產品一樣,價錢就隨著時間以幾何級數下降。

相對於有線網絡,無線網絡的建設就簡單得多,成本也便宜得多了。上世紀九十年代,國內便採取跳過有線網絡,集中資源建設手機網絡。特別是農村和偏遠地區,都是近幾年才有接近全面的供電,若要全面的有線網絡覆蓋,都不知是多少年後的事了。

在香港,三四十年前就已有一個接近完備的有線電訊網絡。我小時候雖然家貧,但電話仍視作必需品。但反過來,九十年代香港手機的普及就遠不及國內快。但當時的‘香港電話’總算有點遠見,她們知道有線語音網絡必會被手機所取代,於是便把她們的重要資產,這些蔵在地下的銅線網絡,全部換成光纖。這工程實可用‘浩大’來形容。

今天,在香港,有線網絡主要是用在商業電話系統,手機商的相互連接和最重要的數據通訊(簡單理解便是上網)上。家居電話就日漸式微。我自己的家居電話亦己取消了多年。

約六七年前,我到美國佛羅里達州工幹,這是個先進的旅遊區,美國迪士尼樂園就在這裏。當時香港的寛頻經已普及,但我驚覺他們還是以撥號上網為主!後來和當地人談起,他們說,老東西是不能一夜間全部抛掉的。

香港今天仍以有線上網為主,但第三代的手機網絡(3G),經已實現了以手機網絡上網的可能。事實上,我經已使用這科技有一年多了。當然,現時的價格還是很高,服務水平也低。

但若有一個新興國家,現在甚麼都沒有,她便存在著跳過一切有線網絡,直接使用無線網絡的可能。

幾年前業界經已出了一個新的無線數據通訊標準WiMax。這可視為現在流行的家居無線上網標準Wi-Fi的加強版,它可以有效解決所謂‘最後一里’(註)和相對長途通訊(最遠50km)的問題。2004年,南亞發生大海嘯,有些地方如印尼,所有通訊基建都完全被破壞。WiMax便成了當時的臨時通訊網絡。

其實,建構WiMax 的成本就遠低於一機一線。但美國作為電訊科技的龍頭,在WiMax的應用上便極有保留。這並不是技術的問題,而是政治和經濟或再說明白一點,是‘既得利益’的問題!電訊商投資了這麼大的資金在有線網絡上,這些錢又怎麼辦呢?

註:‘最後一里’是電訊商指由街上的網絡,到最終用戶的最後一段的連接。不要看少這‘最後一里’,很多問題便出於此!例如,接駁有線電話,電訊公司的技術員便要親臨府上,作最後的連接。但你可以想想,手機網絡,祗要買了Sim card,便可立刻開通。若再思考下去,你必會發覺,這‘最後一里’實存在著一大堆的問題。

2008年9月29日 星期一

科學應做些甚麼?

在‘應然、標準、Tautology’發佈後,我收到一些回應。其中一個特別有趣的,便是有關一部電影‘The Day after Tomorrow’(港譯‘明日之後’國內譯‘後天’,國內的譯法實在不知所謂)。

原來,香港的電視台,於上週末播出了這部電影。我久沒看電視,當然不知道。朋友便比對劇情和我所說過的,實在非常有參考價值。

這部戲我在多年前看過,其細節經已有點模糊,但大體的記憶還是清晰的。

首先,我必需說明,但凡論述科學的戲劇都不可以當成是‘真科學’。這是部嚴謹的電影,其科學顧問亦交了八成以上的功課。但仍不乏嚴重的概念錯誤。例如,為了有一個‘大團圓’結局,主角便推論當地面被冰所覆蓋,便會反射太陽光,這樣便會令溫度上升,地球便會漸漸恢復過來。但這就與事實不符,正正因為太陽光被反射,所以不會被地面吸收,這便會令溫度再下降而不是上升,若弄到這個地步,地球祇會越來越冷!

雖有毛病,但它仍然是值得欣賞的。戲中論述了很多‘普世價值’。例如,主角冒死去救自己的兒子,當其他人對他的兒子說:‘這樣惡劣的情況,你的父親是來不了的。’但兒子很有信心的回應:‘他說他會來,他便會來。’

但更重要的,還是戲中討論了科學與政治(行政)的關係。主角作為一位科學家,他就是在國際科學會議上說真話,這就批評了美國的國策,會上,他更和美國副總統‘頂撞’!若科學家也要為政治服務,還算得上是‘科學家’嗎?但就算是在美國,這也不是毫無後果的。他一回國,主管便對他說,機構的預算被大幅削減!主角就是甚麼也不理會繼續回到實驗室。

到了災難真的出現,主角在總統會同主要的官員的緊急會議上,簡報情況、推論和預測後,他的工作便完結了。他就開始其拯救兒子之旅!

多年前,香港有一天下大雨,當時香港教育署並沒有宣佈停課。及後,在立法會上,教育署長受到猛烈的評擊,他辯解時便出了一句名句:‘我不是神仙’。意即,當時的天氣數據,根本就不足夠他作出決定,於是責任不在他。

李署長,你錯了!科學家的責任,祗是提供客觀情況的描述和有限的預測。科學家能做的便是這麼多。停課與否絶對是政治(行政)決定。不論停課與否,都會有其相應的問題,你作為高級官員,享有超高工資,我們就是期望你能作出明智的決定。若錯了,你就應負起責任!

同樣,在戲中,大災難經已發生,不論怎樣做,都會有問題,但作為美國總統,就是要在兩難中作出明智的決定!科學家提供了客觀數據和預測後,他的工作便完結了。之後,便是政治!

我經常對客戶說:‘電腦祗可以提供客觀數據,支援你們作決定,但作決定是你們的責任,若電腦可以代你們作決定,你們還有工作做嗎?你們該清楚電腦遠比你們便宜。’

2008年9月27日 星期六

應然、標準、Tautology

某年,某月,某日,某大城市,下大雨,大水浸。

‘這不是我們政府的錯,我們的渠道是按五十年一遇的標準而設計的,是次大雨是百年一遇的!’

這官員的言論不能說是錯。設計渠道時,工程師應要翻查當地的天氣資料,以決定渠道的容量。這便是科學。

但應是以五十年一遇的雨為設計依據,還是百年一遇呢?百年一遇的意思是平均一百年才會遇到一次。若以這為標準,相對於五十年一遇,建造費用當然會貴得多。是否值得多花這些資源呢?若這些渠道期望使用三十年,可能這三十年內都遇不上一次。

但用了百年一遇的標準就絶對安全嗎?若運氣不好,可能一建成,便遇上了千年一遇的大雨,百年一遇的設計又算是怎麼!

我在‘Hi-Fi與科學的反思’提到科學並不可以回答‘應然’的問題。科學可以相對準確地告訴你,這渠道可應付五十年一遇,還是百年一遇的大雨。但究竟選擇那個標準,就永遠都不是科學可以解答的!

在考慮標準時,科學可提供客觀的參考數據。但定立標準永遠都是一個政治、行政和管理問題,這就是平衡各方利益!雖然可能用了科學數據和方法,但本身就絶不是科學!

這就是‘科學方法’和‘科學’,差之毫釐,謬之千里的分別。

台灣的衞生部長最近便因‘三聚氰胺事件’而引咎辭職,原因是台灣食物可含三聚氰胺的標準比國內高,民進黨更加說:‘台灣人不如中國豬’。原因是國內對豬飼料的標準,就是完全不可以有‘三聚氰胺’的。

定立標準是政治而絶不是科學,由此可見一斑!

廿多年前,要在大亞灣興建核電廠,有環保人士說其保護層並不安全。而當時的香港大學理學院院長潘宗光教授,便出來直指這言論沒有科學證據。我當時正就讀於港大理學院,我和一群同學都深感憤怒。

潘教授沒理由不知道他在誤導全香港市民,安全與否是政治而不是科學問題。‘沒有科學證據證明這東西不安全’是正確的,但絶對與現實無關,這即是tautology。而‘沒有科學證據證明這東西是安全的’同樣是永遠正確的!

2008年9月26日 星期五

非對稱密鑰(八)

今天,我沒有安排甚麼工作,可以說是忙裏偷閒罷!現在寫blog已成為我的一個主要娛樂了。在有興趣時,應做便去要做,可能再過幾天,我便沒有興趣再寫了。

但我又發覺,有些朋友是會花很多心力來看我的blog的,就以今天為例,文章貼出不久,便收到了一些批評和回應,在這裏我實在感謝,也是對我最好的支持。

批評是這樣的,在‘非對稱密鑰(六)’一文中,我寫了‘而有些服務專業人士的機構,便會請申請者自己提交一對匙。’有‘高人’指出,‘一對匙’有手文之誤,應為‘公開匙’。

受教了,確實如此,這是我的手文之誤,對不起。

但細想後,我又覺這不是常識,我應在這事上再多說一點。

對一般人來說,認證機構不是就應提供‘一條龍’服務,我證明了身份和付了服務費,她就給我證書,給我‘私人匙’嗎?

但問題便是既然是你的‘私人匙’那麼你信得過‘認證機構’嗎?

西方的政治哲學,正正就是建基於‘不信任’上。我們特別要小心有權力的東西。所以,我們絶不能信任政府,祗要有丁點異樣,也要假設政府在作惡!同樣,我們不應絶對信任‘認證機構’。我經常和客人說,你公司的商業秘密,我不該、不應更不想知道。若你要我知道,我是會額外收費的,因為,當我知道了,我便有正確處理和保密的責任。就算我信得過我自己,也信不過我自己的員工,於是,我便要製定相應的保密機制,這便要花時間和花錢,所以要額外收費!

同理,‘認證機構’亦不想處理你的‘私人匙’,提供最專業服務的,就祗會要求你提供‘公開匙’讓她加上電子簽署。但有讀者可能會不同意,因在他申請證書時,都是由‘認證機構’同時提供‘公開’和‘私人’匙的。那麼,便要看認證機構有多專業和其服務對像了。你叫一個普通市民,如何能知道怎樣生出這對匙呢?

作為一位電腦工作者,我有責任考慮到最微細的系統漏洞,對我來說,半點也不可以講運氣,你可以說我是悲觀的。但系統設計,就是一點也不可以靠運氣,我寧願相信,這個世界比我聰明的人多的是,祗要是我可以想出來的,就有千千萬萬人可以想得出來。在這千千萬萬的聰明人中,祗要有一兩個有興趣作攻擊,丁點的系統漏洞,也足以令系統崩潰!

業界普遍公認,最安全的密碼系統,就是這些甚麼都公開的‘開放系統’。它的安全來自全世界的一起攻擊,能否受得到長時間攻擊而不破的,便是安全性評估的一個重要指標。自以為是‘天下無敵’,自以為‘世上除了我,誰可想出這麼精妙的東西’,但很多時,都是一攻即破,實為非理性的‘自大’而已!

關乎安全性,一不可靠運氣,更不可自以為是,掩耳盜鈴!

非對稱密鑰(七)

上文中,我提到了‘認證機構’,有了‘認證’,‘匙庫’便變得不太重要了。就如我們一直用的例子,密探會把其身份寫在箱子上,但其實他也可以把由認證機構發出的‘電子證書’附上,‘電子證書’內有他的身份和公開匙。雍正便可先用‘認證機構’的‘公開匙’解密‘電子證書’,自然會知道密探身份,然後用在證書內的‘公開匙’解密。當然,雍正和密探都必需要信任‘認證機構’。

今次,我就說一說,由‘公開匙’計算出‘私人匙’的可能性。其實,這是可能的,不單是可能,要解決的問題亦非常容易理解,這就是質因子化(prime factorization)。

例如:我們以21為例,21可以寫成3X7,這已是最簡單了,因為3和7都是質數。這便是prime factorization。

由‘公開匙’推算‘私人匙’其關鍵就在於要把一個數做prime factorization。如上例,若這個數字是21,那麼就是在接近零時間內解決。但這個數可能是個2048bits或更長的數字而已!2048bits換回十進制,便會超過600位。日常生活,我們會用多少位呢?一百萬是七位數的開始,一億才是九位數的開始,六百個位是多少,難以想像!

根據我有限的知識,數學家至今,仍未有一個快速的方法,去factorize這樣大的數,電腦科學家便嘗試使用‘超級電腦’,即集合成千上萬的電腦,共同破解。但照現時電腦的速度,和我們可以合理集合的電腦,破解所需的時間,也要以十萬年或更大的單位計!

但究竟明天的電腦會有多快呢?若‘量子電腦’能成為商品,它的速度就絶非我們今天可以想像的!可能破解RSA便是在轉眼間。又或,會不會有一位科學家,研究出一個快速的方法呢?

RSA的真正強處,就是公開。全世界都不知有多少研究員,天天都在努力破解它。我便經常看到一些有關的論文。我們當然可以號稱自己的‘盾’是‘天下無敵’、是‘攻不破’的,但是否真的攻不破,就要由‘矛’來決定!

若你對數學有興趣,也可以加入研究的行列,若發現了一個可行的方法,便要立刻向全世界發佈!甚麼,這樣會弄到世界大亂的!但事實就是,若你可研究得到,為甚麼你會假設別人不能呢?最危險的事,莫過於這方法祗掌握在一小撮‘別有用心’的人的手上啊!

非對稱密鑰(六)

上文,‘認證’是甚麼回事呢?

但在討論這個題目前,我需為上文的方法作一些補充。這就是這兩個‘加密’箱子的次序問題。上文所述的,是先用雍正的‘公開匙’,再用密探的‘私人匙’加密,而密探的身份,就寫在後加的箱子上。這樣,訊息雖然不能被讀取,但在運送過程中,人人都可知道是誰向雍正告密。

密探若要保密身份,方法其實十分簡單,祗要把‘加密’的次序倒換便可以了。我不再這麼累贅了,請想想,若還不明白,請再問我罷!

回到‘認證’問題,任何一個‘認證機構’(如香港郵政處),便先為自己生成一對‘匙’,然後,便把其中之一,公告天下。另一‘匙’便要以最高機密的方式貯存。

當我們向郵政署申請‘認證’時,她便會用一個特定程序審核我們的身份,例如,要我們出示身份證明文件等等……當我們的身份被確認後,有些機構便會為我們生成一對的匙,而有些服務專業人士的機構,便會請申請者自己提交一對匙。但無論怎樣,這對匙便會成為‘身份的印記’。

所謂‘電子證書’就是‘認證’構構會用她們的‘私匙’,把你的公開匙和身份加密。由於,他們已把他們的‘公開匙’公告天下,任何人都可以取得,這即是說可以解密這‘電子證書’,從而取得你的‘公開匙’。若通訊雙方都‘信任’有關認證機構,那麼,他們便可以用上文所述的方法,加密訊息,而還可確認雙方的身份了。

這就是所謂的Public Key Infrastructure(PKI)了。

但是,值得我們思考的是,整個系統就是建基在這個‘非對稱密鑰’系統上,所有‘公開匙’(包括認證機構的)都會公告天下。祗要我們有方法,從‘公開匙’計算出‘私人匙’,那麼,整個系統便會立刻崩潰,銀行、財務、個人資料等等……便會立刻完全公開甚或被更改。銀行存款便可能被第三者非法提走、‘別有用心’的人,便可冒充你發出有法律地位,不可推翻的文件……

究竟,我們可不可以由‘公開匙’計算出‘私人匙’呢?下文再續。

非對稱密鑰(五)

上文提到,使用了非對稱密鑰,全國的密探都可以很有信心地秘密傳送訊息給雍正了。

但雍正收到訊息後,並不能核實發件人的身份。要核實發件人身份,可以用以下方法。

由於這把神奇鎖,可接受無限多對的鎖匙,所以,每個密探都可以像雍正一樣,生成一對鎖匙,然後,把其中之一,公告天下,放在一個可信任的地方,任何人都可以取得副本。

好,當他要傳送訊息時,他便要用兩個箱子和兩把鎖,首先,他會用雍正的‘公開匙’把訊息上鎖,然後,把這已上鎖的箱子整個放在另一個箱子內,再用他的‘私人匙’上鎖。在箱子上,他更注明自已的身份。

當箱子送到雍正手上,由於箱子上已注明了發送者的身份,雍正便可以在匙庫內檢出這人的‘公開匙’,這就可以把第一把鎖打開,再用他的‘私人匙’打開第二把鎖。閱讀訊息。由於祗有發送者會有其‘私人匙’,所以,雍正便可以肯定發送者的身份。

你可能會立刻挑戰這個方案,又不是要有一個‘匙庫’。下文我會提到,我們是有方法可以接近不用匙庫的。但就算是上述的‘匙庫’和雍正本來的‘匙庫’,本質上就完全不一樣,因為,雍正本來的是‘私密匙庫’,每條匙都是他與密探的‘共享秘密’。但現在的是公開‘匙庫’,全國的人都可放上自己的‘公開匙’,也可以拿到別人的‘公開匙’。

等等,若人人都可以在匙庫內放進‘公開匙’,那麼又如何肯定他的身份呢?所以,我們還是要一個可信任的人或機構,做一個‘認證’。

香港的郵政處,終在幾年前開始提供‘認證’服務,這實落後於世界。香港還修改相關法例,使用經香港郵政處‘認證’的電子證書,‘簽署’訊息後發送,就視同發送人的親筆簽署,有不可推翻的法律地位。

‘認證’又是甚麼回事呢?下文再續。

2008年9月25日 星期四

荒謬的美國法律

昨天寫了RSA,今天本來想繼續,但由於有點工作要處理,時間不夠了,今天不如說一個有關RSA的趣事。

美國有一條限制戰略性產品出口的法例,戰略性產品本來是指如飛機,大炮等軍事物資。限制武器出口,當然合情合理。

但世界的變化就永遠都比立法快。以前,戰略性產品的定義是清晰的,除在非常特殊的環境下,大炮都可以作‘和平用途’外,把大炮列為戰略性產品,應沒有甚麼值得爭議的地方。但隨著科技的發展,這界線便越來越模糊,為甚麼?美國可以造大炮,為甚麼X國不可以?很多時,就是因為美國掌握了一些材料,而X國是欠缺的。例如,要造大炮,便要有高質素的鋼管,X國可能就是缺了這些鋼管。

於是,不單要管制製成品,就是半製成品和原材料也要受管制,再下去,你可能會問,X國必要輸入鋼管嗎?為甚麼她們不在國內建立練鋼廠,自己練製大炮所需的鋼管呢?於是,就連科學技術也要受管制。若你帶著一批練鋼廠的圖紙,未經申請而離開美國,你便隨時會受到拘捕和檢控。

RSA的論文發表後,全世界的電腦科學家都明白了箇中奧秘。這類發明有一個特點,就是很難想出來,但一寫了出來,行家一看便甚麼都明白,也立刻可以變成電腦程式。立刻可以用。根本就無任何秘密可言。

但加密和解密產品,一向都有重要的軍事價值,自然被列為戰略性產品。在靠機械或硬件加密的年代,這不能說不合理。但在軟件加密和公開算法的年代,這實在是自欺欺人的行為。

很多人天天聽我講民主,還誤以為我相信民主國家必然正確。對不起,真正了解我的朋友,必會知道我並不相信這個世界有絶對真理,為甚麼美國不會錯呢?其實,要數美國的錯誤,真是磬竹難書。前幾年,美國發動反恐戰爭,便是一個大大的錯誤。

民主的優越性,並不在她不會錯誤,而是在錯了後,可以相對迅速地改正。事實上,有關加密產品出口限制的法律,為業界和社會做成了極大的不便,但又全無實質意義。於是,很多熱心人士便以身試法,突顯這法律的荒謬。

就有人把RSA的算法,印在汗衫上,然後穿著公然離境。理論上,他已犯法,但若美國政府真的把他拘捕和檢控,必然是個國際大笑話。但若不理會他,便等如有法不執!

今天我沒有足夠時間去翻查有關資料了,當時海關官員如何處理這位‘公民抗命’的人,我並不知道。但美國政府終在多方壓力和沖擊下,最後也大幅放寛了有關法例。

大白兔糖

小學時,在離家不遠的地方有間小童群益會辦的圖書館,我喜歡看書,這裏很快便變成了我的樂土。但到了中學,我差不多已看了大部我可以看的書。當時,英文書就主要來自英國,價錢不菲。我還記得初一時,買齊教科書就用了兩百多塊。以我的家境和當時的生活水平,這實在是項沉重的負擔。

於是祖國出版的書,便成了我的良伴。初二那年,我發覺不懂微積分便難於進一步理解電子學,所以,我便立志自修微積分。我已不大記得清楚是不是復旦大學的‘數學分析’了,總之,當時我就是買了一套厚厚的大學用書,開始我的微積分之旅。當時,一套這樣的大學用書,也是在十多塊錢左右,等同的英國書,便可能超過一百塊了。

論質素,祖國的書,特別是數學書,絶不亞於英國書。若以數學書而言,英國書可能會寫得比較淺白活潑。但論嚴謹,國內的書肯定就勝一籌。除數學書外,還有電子,哲學等等……

除書本外,國內的副食品亦滋養著我。由於家貧,我很少有吃零食的機會,但經過長時間的累積,有時都可有丁點的零食錢。但用起來便更覺寶貴,國內的零食,價廉物美,質素極高。我進了大學後,才慢慢了解,我小學到初中就正值文革時期,國內物資極為短缺,但仍把最好的食品,出口香港。

我至少有廿多年沒有吃‘大白兔’糖了,但其美味仍深深留在我的記憶中。熟悉我的朋友可能會覺得奇怪,我這個對食沒有多大興趣的人,為甚麼會對味道有這麼深的記憶呢?我想,這是一種感情,一種感恩。

剛看到新聞,‘大白兔’糖又再次驗出含三聚氰胺。祖國最苦難的時期,還把自己僅有的,最好的供應香港。今天,祖國富起來了,但是,但是,我不再有信心吃祖國的食物了!祖國的書,粗製濫造,錯漏百出了!祖國的玩具含有過高的鉛了!祖國的傢俬含有過高的甲酫了!祖國的……

創富當然重要,但創富的過程是否還應有些道德底線呢?

2008年9月24日 星期三

非對稱密鑰(四)

上文說到,在互聯網上,我們遇到一個和郵遞問題類似的難題。互聯網基於設計的特點,在其上的通訊是不安全的。你可假設你在互聯網傳送些甚麼,都會給別人看得見。

好,那麼郵遞問題的解答,不是就可以用於互聯網呢?答案是不可以,問題就出在編碼和解碼的次序上。郵遞問題是假設箱子上有兩個可上鎖的位置,可以以任何的次序解鎖。但現實上的加密和解密,是有一個後來先走(last in first out LIFO)的限制。這個限制一點也不難理解,你想想,你是如何穿衣和脫衣的,除非你在做特技表演,你是不是會先脫掉最後穿上的衣服呢?用郵遞問題的例子,若箱子祗有一個鎖位,有人便會說,沒問題,我拿一個足夠大的箱子,把整個原來的箱子整個放進去,然後上鎖便行了。若是這樣,你便要先解除後來加上的鎖,而不是你本來上的鎖,這樣當然不行。

這問題終由三位麻省理工學院的研究員Ron Rivest, Adi Shamir, and Leonard Adleman解決了。他們於1977年發表的一篇論文講述一個算法,後來更申請了專利,這算法就以他們的姓氏的簡寫命名,這便是著名的RSA算法。

事實上,英國的研究員Clifford Cocks早在1974年便研究出相同的算法,但由於他工作於軍部,這成果一直被列為機密,直至1997年解密後才發表,所以,RSA是獨立發展出來的。

由於這算法用了數論(number theory),若我在此討論,大家可能會覺枯燥。我又嘗試用比諭說一說它是甚麼,但這又會是‘手指非月’,不講數學,就不是真正的理解。

我們想像一下,若雍正有一種非常特別的鎖,這種鎖有一個特點,就是可以大量複制,每把鎖都是一樣的,鎖本身沒有甚麼秘密,每個密探都可以買一把回來。

但這鎖神奇就神奇在鎖匙,它可以接受無限多的鎖匙,但每種鎖匙都是成對的。你可以隨便用任何一條鎖匙把它鎖上,但鎖上後,就連這條用來鎖上的鎖匙都不可以再打開它。唯一可以再打開這把鎖的,便是與它成對的鎖匙。

於是,雍正便可制作為他專用的一對鎖匙,其中一條就嚴格保密地保存,而另一條就公告天下,任何人都可以從一些可信任的渠道取得這條鎖匙的副本,於是當有任何事情要向雍正告密時,便用這鎖匙把訊息上鎖,一上鎖後,就連他自己也無法打開,然後,把箱子送交雍正,在途中由於沒有雍正的另一條鎖匙,箱子便打不開,唯一打開的方法便是到達雍正,他便用他的私人鎖匙打箱子打開。

這樣,送件人可以很有信心,他的訊息不會被第三者讀到。但雍正並不可以確定送件人的身份。其實,是有辦法確認送件人身份的,大家可先想想,下次我再討論。

但你可能懷疑那裏有這把神奇鎖呢?RSA便正正是這把神奇鎖。RSA可以生成一對對的電子鎖匙,若你拿一匙去加密,便要用另一匙解密,反之亦然。非對稱密鑰的‘非對稱’就是說加密和解密要用不同的匙。

還有一點是非常重要的,我們會有一個相對簡單的方法去生成一對的匙。但若祗得一匙,要計算出另一匙,就會萬分困難。這亦是RSA保護所在。RSA面世後,便經常提出挑戰,這就是請全世界的‘駭客’由一特定的匙,計算破解另一匙出來。

以目前電腦的計算能力來考慮,我們還可以合理地相信RSA是穩妥可靠的。但RSA會不會在下一秒被破解,便祗有天才知道了。

Hi-Fi與科學的反思

在‘兩件小事’一文發佈後,有朋友不服氣地說,他明明在書上看過,THD小於1%才算得上是Hi-Fi(high fidelity高保真音響),那會有THD高達幾個百份點的,都算得上是Hi-Fi。

但是我要問,這個標準是誰定的?又或Hi-Fi是否等同好音響呢?

有關第一個問題,標準可能是德國的DIN 45500。我並沒有認真讀過這標準,但這標準經已有三十多年的歷史了。在這三十多裏,這標準究竟有多少次更新,我實不知道,但請不要拿第一版的數字用於今天。

第二個問題就更加有趣,符合了標準,可以稱之為Hi-Fi,就等如是好音響嗎?

還記得我曾寫過有關‘圖像壓縮’的文章嗎?那麼聲音呢?今天,應沒有人未聽過mp3,有人還會誤以為mp3是微型唱機。實在,mp3是聲音壓縮算法。是很早(若不是最早)流行的算法,之後,便有多種聲音壓縮算法出現。

mp3是個lossy的算法,這即是說,它會去掉聲音某些部份以達至檔案的縮小。明顯地,這便是失真!‘金耳朵’們必會認為mp3等經壓縮的聲音難登大雅之堂,但這些算法就比拼得火熱,有些參數,例如壓縮比,是比較具體的,可以簡單量度的。但又如何量度那個聲音比較好呢?

我們還可以用失真率嗎?對不起,不可以,因為失真是必然的!這就類似用jpeg做壓縮,就必然有水波紋(artifacts) ,這就是失真,問題是最後這張圖片是給人看的,所以,我們不應由它是否有失真來決定它的質素,我們的感覺才是最重要的。

同理,音響系統是由人來聽的,不論硬指標有多好,都並不代表一定好。事實上,音響界就長期批評,現時使用的指標,祗是因工程學上容易量度而已,絶不反映有關系統的質素。

回到比試各種聲音壓縮算法的質素,最被音響界接受的,就是雙盲試驗(double blind test),這就是給一群測試者,在毫不知悉所聽的音樂為何種算法所產生的情況下,主觀評分,甚或記下其主觀評語。

但不要誤會,我並不完全否定硬數據的意義。例如,我永遠不會通過電話聽音樂。因為,祗要你檢視一下電話的技術標準,你就絶不會覺得可通過電話來欣賞音樂。硬數據也可令我對產品或事情有一個大概的印象。例如,若我要為一個禮堂設計音響系統,我便應由各種硬數據,如禮堂的面積和高度,擴音機的輸出該多少,speaker的效率,預計聽眾的人數,聽眾的質素,禮堂的主要用途等等……去製定基本方案。
但若你將花十萬元以上去買一套高檔音響,而你祗是基於硬數據,我就祗可以說你是‘附庸風雅’了!

哲學上,科學從來都不應回答‘應然’的問題。這就是說,科學可以告訴我們這部擴音機在1W RMS輸出時THD是0.3%,這是個客觀的事實,但科學就絶‘不應’回答,你該買這部機與否。

最近,有一項科學研究,發現有多妻的男人,相對於祗有一妻或無妻的男人而言,壽命比較長,活力也比較好。這是個嚴謹的研究,其結論是個客觀事實,但這並不能告訴我們應否實行一夫多妻制!我個人就寧願短命一點,也不會多要一位妻子。‘應然’從來都不在科學的範疇!

本來,科學一直都不當自己是真理,科學家就是要懷疑,要挑戰常識。打破舊概念就是科學家的基本工作。但今天,科學不單被當成‘絶對真理’,而且被極度濫用。祗要在產品上,加上一堆看不明白的英文字母和數字,產品便立刻升價n倍。

‘你看我的speaker輸出有1,000W,你這部才50W,收工啦!’

可惜,他並不知道他的1,000W是PMPO,而50W是RMS呢!就算是1,000W是RMS,就代表是好音響嗎?

2008年9月23日 星期二

MD5

上次說MD5變成了發牢騷,今次我真正說一說MD5是甚麼。

MD5是one way hash的一種,hash中文譯為‘雜湊算法’,我非常不喜歡這個譯法,比較可取的是譯法是‘摘要算法’或索性音譯成‘哈希算法’。

我們可以從‘摘要算法’作為理解的起點。當你看了一部兩小時的電影後,我想知道其內容,你無需用兩小時,可能你祗用兩分鐘,便可大概把內容告訴我。這便是‘摘要’。

當然千萬不要錯誤理解,MD5算法可以有‘智能’地抽取文章的重點,MD5算法祗是可以把不論長度的內容,計算出一個128bits(即一個128位的二進制數字)。由於計算過程全都是deterministic的,所以相同的內容,必會產生相同的結果。這個結果實在沒有任何資訊上的意義,但它就可以視為一個內容的電子簽署。例如,你可發佈一篇文章,但接收者無法得知是否有人曾更改其內容。於是,你便可使用MD5算法,由你的文章生成一個128bits的數字,你就在一個可信任的途徑,例如你的官方網站,發佈這個數字,你的讀者便可以用他們接收的檔案,又生成一個MD5數字,若兩者一致,他便有信心信息在傳送途中未經修改。

例如:

我有一個檔案(註一),內有一句

這是一個試驗

其MD5數值便是
d82d27c49b1b62a6987b4333b1a18d48

你可能會奇怪,為甚麼除0-9外,還有a,b……,其實,這是16進制數字,a代表10,b代表11,…,f代表15

好,我在原來的文檔上加多一個句號,令其變成
這是一個試驗。

那麼,MD5數值便立刻變成
7133a749cb00378b2f7cb6c54f3a8184

祗是多加一個句號,變化就這麼大!應說是完全的不同。這就是md5保護能力所在。理論上,你不能在改了一個字後,又對其他內容作出調整,從而再產生相同的電子簽署!(註二)

MD5廣泛用於Unix系統的密碼貯存上,當你輸入密碼後,系統便會計算其MD5值,然後加以貯存(註三)。下次當你登入時,系統又再計算你輸入密碼的MD5值,若兩者相同,便視為准許登入。這樣做的好處就是,若密碼檔案給人讀取了,他看到的仍是MD5數字,他也無法得知你的密碼,就好像我們不能從d82d27c49b1b62a6987b4333b1a18d48算出是由‘這是一個試驗’生成一樣。所以,若你掉失了密碼,系統管理員也不可以告訴你,你的密碼是甚麼,他可以做的祗是幫你重設另一個密碼而已。

安全警告會請你不要用一些有意義的字詞來當密碼,便是這個原因。在密碼學上,有一種名為字典攻擊(dictionary attack)的方法,這就是把字典上的英文字的MD5全計算出來,若你是用一些英文字如‘hello’作密碼的話,攻擊者便很容易從MD5碼配對出你的密碼來!

註一:MD5不會理會內容,它祗是一種數字的配對。由於我是以中文做例子,而中文就存在著多種不同的編碼方法,若你用相同的句子,而得出不相同的MD5數字,請不要奇怪。這應是編碼的問題。

註二:我早前都說過,編碼和破解存在著辯證的關係,如上文所說,在2008年,便有研究員開發出一些偽冒MD5的算法。其實,自MD5面世後,經已有很多部份破解的算法出現。

註三:針對MD5後來出現的弱點,UNIX系統增加了一個名為salt的數字,組合後才計算MD5。基本上,從已知的資料上判斷,UNIX的密碼系統,仍然是安全的。

兩件小事

小時候,我對電子學有濃厚的興趣,我就和很多人一樣研究擴音機。擴音機有極多工程指標,一大堆的英文簡寫甚麼THD,TIM,RMS,SNR等等……這些嚇人的東西,就是嚇不到我。

但漸漸,我開始發現一些‘反智’的現象,例如THD(Total Harmonic Distortion總諧波失真)就是量度擴音機能否如實擴大訊號。中檔位擴音機一般都可做到0.1%甚至是0.01%以下。但高檔位擴音機就會是幾個甚至是十個百份點。

後來,我還看到一句名句:‘硬數據,祗是用來欺騙落後地區的工具!’

吓!我原來是‘落後’!

高中時在化學課學到了dextrose,於是就了解了stereoisomer(立體異構)的概念。Stereoisomer就是一些化學結構完全相同,所以在大部份化學分析中都分辨不到。Dextrose(D-glucose)就是身體可消化和吸收的單糖,L-glucose就和它有完全相同的化學特性,可以通過全完相同的化學測試,但就不可以被身體消化和吸收。分辨它們的方法都是近代才發展出來的。

吓!化學分析可以說這是糖,但原來身體是根本不可以吸收的。

類似的經驗數之不盡。再說下去,大家都會睡覺了。很多人都會‘迷信’科學,把‘科學’看成是絶對真理。我對此實不敢苟同,科學的本質正正就是承認自己並不是真理。THD提供一個客觀的參考,主要是量度輸入輸出的差異。本身全無問題。但商人便會誤導人‘低失真’就等如‘好音樂’,‘好音樂’其實和‘低失真’並沒有甚麼邏輯關係的。

同樣,甚麼‘高鈣’就等如‘有益健康’嗎?對不起,有太多的證據令我不得不相信,這些‘高鈣’產品,正正就是令人體內‘鈣質’流失的原凶。牛奶正正就是骨質疏鬆症的主要原因。

更不要說‘三聚氰胺’就是高蛋白的營養品了!

MD5的反思

昨天在說‘挑戰與回應算法’時,在註釋中我提到MD5算法,有朋友看了說這個已聞名已久,但一直都不了解實在是甚麼,想多了解一些。今天,本來我想講一講MD5,但在資料搜集的過程我有一個反思,我現先和各位分享一下,遲些有機會才和大家說MD5的詳情。

我先講一個故事。廿多年前,當時電腦病毒尚未於一般人的概念裏出現。我第一次在科學雜誌看到電腦病毒的綜合報導時,便有一研究員的訪問,這研究員在大學裏進行電腦病毒的實驗,病毒以驚人的速度擴散,大學管理層立刻制止他的實驗。對此他表示強烈的不滿,他向記者說,大學可以阻止我做實驗,但她們可以阻止‘別有用心’的人做實際嗎?電腦病毒是危險的,但正因如此,我們更加應該‘正面’研究。

這又和MD5有甚麼關係?就是因為要寫MD5,我在網上翻查資料,維基百科的中英文版就存在著很大的分歧,在中文版有一句是這樣的‘顯然這樣會為病毒大開方便之門’。其上文就是在討論近年對MD5的弱點的研究成果,其中一個最新對MD5攻擊的方法。以文字論,這句實有價值判斷!這就好像說,你這個研究結果就是為‘別有用心’的人提供了工具。而類似的言論在英文版就找不到。

相對於善,有惡。人至少在口頭上都是喜善惡惡的。所以,很多人都會迴避‘惡’,例如,很多人視‘性工作者’為惡,見到她(他)們便‘閃’開。但有人類歷史以來,就有‘性工作者’。這是個不爭的事實。難道不許學者研究電腦病毒,就是沒有電腦病毒嗎?我們看不見‘性工作者’,就是沒有‘性工作者’嗎?

無論怎樣說,西方在這問題上態度是比較開放的。特別在資訊科技界,我們公認開源式,即將所有秘密和寫法都公開的密碼,為最穩妥安全的密碼系統。甚麼?明明是密碼,不就是要保密,公開了還有甚麼機密?

一個盾有多強,去問造盾者是不全面的。盾的強度應由矛來決定!同樣,評估一鎖的真正強度,應是開鎖人而不是造鎖人的工作!開源式密碼系統就是可讓全世界的‘駭客’都可以研究和攻擊。若你想出一個天下無敵的密碼系統,這祗是你自己認為是天下無敵而已。是否真的天下無敵,就要由全世界的‘駭客’來決定。

經驗告訴我們,沒有一個密碼系統在想出來時便覺得自己有問題的。但真正的問題就永遠在攻擊中發現。

我在上文假設‘性工作者’是惡,其實這個假設本身經已有問題,但就算真的是惡,這也是必要之惡。一個社會真的可以一個‘性工作者’也沒有嗎?積極而有建設性的態度應是承認和面對。而不是掩耳盜鈴。

不少研究員的工作,就是要找出密碼系統的弱點。這些研究成果可能是致命性的。但難道他們不去做,‘別有用心’的人就不可以去做嗎?

我經常聽到‘統一思想’,但若思想統一了,便不會有今天的資訊科技。

2008年9月22日 星期一

挑戰與回應算法

在‘非對稱密鑰(三)’中提到有一種簡單的安全登入算法。有友人向我說有興趣,我今天,便先說這個。

上次我用了亞里巴巴的例子,不論你將密碼變成甚麼樣子,祗要是每次都是一樣的,偷聽者都可以依樣重覆。

明顯地,若要偷聽者聽了也無用,就必需每次都不同。那麼該怎樣做。

其實,在人類社會,這就一點也不新鮮。幾百年前,漕幫的勢力非常大,若你自認是漕幫中人,行走江湖,你便會用一堆‘介口’和‘共通知識’來確認身份。

例如:有人會問你:‘你們的船初一是掛甚麼旗?’

‘青龍旗’。

如此這般,這就是提出問題(挑戰)和回答(回應),假設就是兩者間有一些共同的知識。而這些知識是第三者沒有的。最理想就是每條題目都祗用一次,那麼,其他人聽了也沒用,因為你再不會出相同的題目。

在人類社會,這接近不可能,所以,經常都可以有冒充的情況。但電腦就比較穩妥,所謂題目(挑戰)很多時都是一個隨機產生的亂數,祗要這個數字足夠大,和亂數產生器足夠好,就很有可能每次都不同了。

具體算法會像這樣的。

你經過自己的電腦,要求登入一遠端電腦。

遠端電腦接到你的要求,便隨機產生一亂數,然後以特定的格式傳回。

你收到這數字後,便把自己的密碼和這亂數用一特定方法結合,然後,用一個特定的算法加密(註),然後送回遠端電腦。

由於遠端電腦‘知道’你的密碼,也知道自己送出的亂數,它便用同樣方法把它們結合,加密,若與傳回來的相同,登入便成功了。

若有第三者一直都在‘監聽’你們的‘對話’,但也不可以假冒,因為這個亂數是不會再用的。

挑戰與回應算法還有很多有趣的應用。下文再談。

註:通常會使用one way hash,one way的意思便是單向,意思是編碼後便很難(如果不是不可能的話)得回本來的文本。常用的方法是md5。

2008年9月19日 星期五

非對稱密鑰(三)

互聯網的出現改變了世界,這是不爭的事實。但你可能不知,互聯網的設計,是並不保密的。

用一個不完全準確的比喻,互聯網就好比無線電廣播,任何人有一部收音機,校到你正使用的頻道,都可以收聽得到你的廣播。

嚴格來說,互聯網比較保密一點,至少普通人不可拿一部收音機去監聽你的通訊。但在專業的角度來說,偷偷監察你在互聯網上的通訊,就一點也不困難。

你可有想過,當你新登記某一網上服務時,你根本就不可能和有關網站有任何共同秘密。情況便非常類似上文提到的郵遞問題。甚麼,不是有密碼的嗎?這正正是類似的地方啊!若還不明白,請停下來想一想。

就算是大家互建了密碼,一樣有問題。

在童話亞里巴巴與四十大盜中,亞里巴巴偷聽到賊頭向山洞說:‘芝麻開門’,山洞便打開了。他照樣做,山洞也打開了,於是他便發現了寶藏……

這當然是童話,但亦說明了一個密碼學難題,不要說資料,就算是我們慣用的登入密碼,祗要被人看見或偵測到,他人亦可依樣畫葫蘆,那裏還有秘密呢?

好,那麼我便在輸入密碼時,要小心沒有人偷看,沒有人偷錄,沒有人偷……很好,這些都是必要的。可惜,如上所說,基於互聯網的設計,你永遠都不可以假設資料傳送是保密的。

甚麼?連密碼傳送都不安全?那麼先把密碼加密然後傳送,不是解決問題了嗎?對一半,錯一半。若你是和對方約好了一個固安的密鑰,那麼加密與否便變得毫無意義了,因為不論你的密碼變成甚麼,但每次都一樣,於是,冒充者根本不需理會你本來的密碼是甚麼,就傳送這個加密了,但每次都一樣的便行了!

針對這個問題,電腦科學家開發了一些相對簡單的登入協議(login protocol),是可以解決這問題的。但在互聯網,就永遠不及非對稱密鑰的流行和普遍。

上文的郵遞問題,不就是可以解決問題嗎?可惜,基於一個基本的數學問題,郵遞問題的解答並不能用於互聯網上。為甚麼?下文再續。

非對稱密鑰(二)

在討論上次問題的答案前,我先和大家研究一下密碼學的一些基本概念。

所謂密碼,其實有點像鎖和鎖匙,理論上,每把鎖便對應一款(不是一條)鎖匙,若不是甚麼‘自動鎖’,我們便會用這鎖匙把鎖鎖上,要打開鎖時,便用同一款鎖匙。

就以最簡單的單替代移位碼為例,這方法就是把要加密的英文字母,移動一定的位置,例如,相方約好了移4位,這即是說凡a便寫成e,b便寫成f,如此類推,v就寫成z,而w便寫成a。

例如boy便會寫成fsc,這樣,一篇經過這樣編碼的明文,便會變成看似毫無意義的密文。這個方法便好像一把鎖,而4便是鎖匙(密鑰),這裏便用這個鎖和匙,把明文‘鎖’起來。

接收一方祗要知道方法和密鑰(在這裏便是4),便可由密文回復出明文來(解鎖)。

但請你千萬不要再用這種‘低能密碼’,祗要略加訓練,一個普通人都可用手動方法,迅速解密。其中最簡單的方法便是窮盡法(exhaustion),因為密鑰的可能性祗有25個(0和26都不可用),窮盡這25個可能亦祗是轉眼間的事而已!

這即是說,加密了的密文,其實是存在被破譯的可能性,這門學問便稱為密碼分析學(cryptanalysis)。長久以來,這都是語文學家(特別是精通多國語言的)的專利。直到第二次世界大戰前,機械加密開始流行,數學家在這門學問的地位便變得越來越重要。今天,加密的對像不再限於自然語言,而是任何的電腦數據,語言學家差不多全淡出,取而代之的便是數學家。

密碼和密碼破解就存在著辯證的關係,上述的低能方法實太容易被破解了,新的編碼方法便應運而生,接著便是新的破解方法。但不論方法如何複雜,從抽象層面看,都是一把鎖(編碼和解碼算法)和一條鎖匙(key一個共同的秘密,在上例便是4)。而加密的key,同時也是解密的key。

這種方法不錯,但要面對一個問題,這就是加密者與解密者必需有一個共同秘密。就以第二次世界大戰為例,潛艇一出海,便可能要一兩個月才回航,於是,它們便要帶著一本密鑰本,由於重用同一密鑰太多,被破解的機會便越高,所以,它們會每天都轉換密鑰。可是,若這密鑰本落在敵方,問題便大了!

還記得雍正要管理千多條鎖匙嗎?若你覺這已不簡單,就再想想二次大戰時,不要說是要破解敵軍密碼,就算是己方也要為每個通訊單位,每天檢出不同的密鑰,實在已非常不簡單!事實上,就以德軍為例,他們還會以密鑰本的當天密鑰作起點,傳送即時選取的密鑰,然後以該密鑰來作正式通訊之用。然後,又會另選密鑰,在通訊結束前傳送,作為下次通訊之用。情況實比想像中複雜得多了。

但無論密碼系統多嚴密,還是要解決密鑰分發(key distribution)的問題!

昨天的問題,其實就是密鑰分發問題的一些思考。你和朋友就是沒有預先約定的密鑰。相對於雍正的例子,他便要在北京接見密探,親授盒子和鎖匙。這即是說,未經雍正授匙的,便不可能以這種方法秘密上書了!

昨天問題的解決方法可以是這樣的,你先把物品上鎖寄到你的朋友處,你的朋友無開鎖的鎖匙,但他再在箱上加上自己的鎖,然後再把箱子寄回給你,你就解除你的鎖(因你有自己鎖匙),然後,把剩下你朋友的鎖的箱子再寄給你的朋友,這次,他便可以用他的鎖匙打開箱子了。

以上理念,給了我們一些啟示。但並不適合於直接用於密碼學上,原因下次再討論罷。

2008年9月18日 星期四

誰會珍惜當你還擁有

友人在國內小住了數天,回港後和我分享了一個‘奇怪’問題,這就是他的親戚的電腦忘了拔掉電源,於雷雨時損壞了。

十多年前,我為一間國內孤兒院做了點義務顧問工作,當時,她們便遇上了雷擊的問題。主要問題就是電力系統被雷電擊中,高壓便會損壞器材、傷人、甚至引起火警。

在香港,打雷閃電也時有發生,但我們鮮覺有拔掉電源的需要。雷雨時,祗要我們身處室內,就等如安全。

為甚麼同一個自然現像,會這樣不‘公平’呢?並不是‘雷公’特別照顧香港,祗是香港執行了非常嚴格的避雷標準而已。

有人會說,香港的輸電系統主要在地下,當然不受雷電影響。這對一半,錯一半。香港的確主要靠地下電纜輸電,但在輸配電學上,我們都少不了變壓站,變壓站就是要把高壓轉換成二百多伏的家用電壓。在我當時服務的孤兒院,問題便出在她們自己的變壓器上。所以,我便建議他們要做好避雷,但這項工程的造價,就一點也不便宜了。有關詳情,有機會再討論罷!

但今天我更想說的就是,會有多少個香港人覺打雷是個問題呢?不單是避雷,很多基礎建設,我們都會視為理所當然的,但實在,並不是我們想像的‘當然’。

就以供水和排水系統為例,少有香港人會察覺它們的存在,直至大雨水浸,才會罵政府建渠不力!事實上,現代城市的概念也祗有幾百年歷史,在古時,羅馬的供水系統何其先進,但也沒有排水系統!排水系統在西方,實在是大城市發生嚴重瘟疫後,痛定思痛的產物!

其中一件令孫中山先生生萌起革命之想的事,正是他在香港時,可以自由地在街上走動,人身安全有治安系統保障,但回到家鄉(香山,現中山),每次出門都要由‘武裝’人員保護!

他更問:‘在外國,國民納了稅,政府會為他們提供治定保障,建學校,建道路,建教堂等等……但大清子民納了稅,清廷又做了些甚麼呢?’

廿多年前,我有一位讀土木工程的好友,他告訴我,我們每天走的路,其建造是何其複雜和昂貴的。自此,我每到一地,都會簡單地檢視其道路和各種土木工程建設,結果是令我驚訝的!不要把意外都說成是天災,很多災難實源於工程之始!

今天我是不是轉軚了,我居然為香港政府歌功頌德!請不要誤會,我堅決地認為,良好的基建是政府必然的責任,政府就是在用人民的錢,受人民的授權。但有權的政府就必然是頭凶惡的怪物,祗要一有機會,便會作惡。幾十年前,香港何嘗不是充滿了偷工減料的工程項目呢!轉變就在三十多年前,廉政公署的成立,再加上言論自由的提升,傳媒罵政府罵得凶,罵得狠,一有問題出現,便絶不放過這頭怪獸而已。

今天,極多的香港傳媒都‘歸邊’了,有人便會說這就是和諧,這就是團結,這就是效率!但到有一天,當我們的水務處很有效率地為市民提供‘毒’水,傳媒也‘顧全大局’、維持‘和諧’地為政府歌功頌德,請想想會怎樣。

官員被傳媒罵得狗血淋頭時,當然會痛恨傳媒,而傳媒亦不乏無理取鬧之舉。但我個人就寜願傳媒罵錯一千次,也不能放過政府一次!

和諧並不是強制言論;團結並不是剝削;效率更不是不理市民的死活,官員想做便做!當你擁有時,便會當成理所當然,不懂得去珍惜,更不懂得去維護。

’and/or’

又有‘高人’指點我的文筆,這就是在‘語言邏輯’一文內,有一句『西醫的‘偏見’及/或‘利益’』。‘高人’批評我這句並不是中文。我又一次受教了。

寫出這一句,可能我是受了英文‘and/or’的影響。但其實這亦不是正宗的英文,其意思便包含了三種可能性,這就是西醫的‘偏見’又或是‘利益’。這個‘及’就是講既是‘偏見’又有‘利益’。

若你曾寫過電腦程式,你便會發覺這個‘and’在電腦程式內是沒有必要的。在編寫程式時,當你寫if (a or b) then……(註)那麼祗要a正確又或b正確以至a,b同時正確,這條件都會視為正確。但當有人問你:‘Coffee or tea?’你就祗可以選擇其中之一,不可以同時要咖啡和茶!

這就是說英文的‘or’是‘exclusive or’,而‘or’在邏輯語言上便是‘inclusive or’。在一些嚴謹的文字裏(特別是法律文件),便經常要使用‘inclusive or’ ,‘and/or’就等如‘inclusive or’。

但中文寫作,需有‘詩意的含混’,這就是我最不擅長的,‘高人’批評得是。可惜,我的資質低劣,改善的空間實在有限!

非對稱密鑰(一)

若論上世紀偉大發明,非對稱密鑰(Asymmetric Cipher)可謂當之無愧。在未來的幾天,我便討論一下這是甚麼。

雍正建立了一個嚴密的密探系統,據說當時可以直接上書雍正就有千多人。雍正會授予這些‘密探’一個盒子,這個上鎖的盒子有兩條一樣的鎖匙,雍正和‘密探’各持其一,於是當雍正接到這個上鎖盒子,便可肯定訊息是來自‘密探’,在傳送途中亦無被偷看。

要這個系統成功運作,當然會有很多假設,例如,雍正和‘密探’都沒有掉失鎖匙,盒子足夠堅固,不用鎖匙便不能開鎖等等……

以上的描述我作了一個不嚴謹的推論,這和鎖的設計有關,就是我假設上鎖時是需要用鎖匙的。這樣,雍正才可肯定訊息是來自‘密探’。今天,很多鎖都無需使用鎖匙上鎖,若是這樣,雍正便不能肯定訊息來自‘密探’了。事實是怎樣,我尚未考證得到。

先假設當時的鎖是要用鎖匙來上鎖的,那麼,若用今天密碼學的術語,這便是對稱式密鑰(Symmetric Cipher),‘對稱’的意思就是上鎖的鎖匙,便等如開鎖的鎖匙。而雍正與‘密探’之間就要有一個‘共享秘密’(shared secret),這就是一式兩條的銷匙。

以當時的科技,要做出千多把不同的鎖和鎖匙(有一說是從荷蘭進口的),就一點也不簡單,何況雍正還要有系統地存貯和提取相應的鎖匙,可以想像是何等的複雜!

這個理所當然的系統,又有甚麼問題呢?讓我們先研究一個‘密碼學’的經典問題,這就比較容易理解問題的核心。

在一個極度貪污的國度,其郵政系統已完全腐化了,若你以不上鎖的方法寄送任何東西,郵差都會偷去,但他們也極度懶惰,祗要你把要寄的東西放在上了鎖的箱子內,他們便懶得去解鎖,你的物品便可安全送達。

假設郵寄是你和朋友溝通的唯一途徑,你又如何能使用這個腐化的系統完成物品的傳送呢?

問題的核心就是你可以上鎖然後寄出箱子,箱子也會安全送達,可是,你的朋友並沒有開鎖的鎖匙!你當然可以用另一個箱子和鎖,寄出鎖匙,但你的朋友仍無鎖匙去開這個箱子的鎖。我必需說明,這題目並不是那些‘曲解’字義的IQ題。請不要答:‘用密碼鎖,然後用電話通知朋友開鎖密碼。’‘郵寄是溝通的唯一途徑’,‘唯一’便排除一切郵寄以外的通訊可能。用電話便犯規了!同樣,不要說打爛箱子、找開鎖專家、用百合匙等等……

Win the Battle, Lose the War

在‘危險vs.安全’一文中,我提到這場戰役有很多值得借鑒的地方,今天便讓我們看看這次的成敗應如何評估。

單從戰役的角度出發,日軍取得了空前的勝利。荷里活電影‘珍珠港’把兩位美國機師形容得像‘神’,與日本空軍惡鬥連場,還擊落多部日本戰機。這些都是美國人的自大而已。實際上,日本總共祗損失飛機29架,相對於美國的188架毁滅及155架受重創,可算是微乎其微。當天美軍的表現,祗可以用兩個字來形容:‘窩囊’!

事實上,美軍不單是於1941年12月7日‘窩囊’,而是事前事後都‘不濟’了一段頗長時日!今天,美國當然擁有全世界最可怕的軍備,但當時,日本的‘零式’戰機就領先美國不知多少!更重要的是日本的機師,不論在技術和紀律上都遠勝美國。不要說美國是在毫無預備下被偷襲(註),就是公平的對打,美國的空軍就根本不是日軍的對手,電影中的威猛,絶對是自大而已!

但日本最終都輸了!戰爭的輸贏受無限多的條件影響,但也可以總結為一些主要原因。我個人就覺得,日本最錯誤的地方,就是過早把美國拉入戰團。

美國身處美洲,獨立於當時的歐亞戰場,當時更值大蕭條後的復原時期,民間的厭戰情緒強烈。所以,就算今天我們有很多證據證明羅斯福總統有參戰的企圖,但在美國這個民主國家,總統也不能逆人民的意願行事。要參戰還是要國會通過的!但珍珠港事件的發生,就令羅斯福對日本宣戰議案,變得毫無難度的被國會通過!

日本雖然在珍珠港一役得到空前的勝利,但全未傷及美國的元氣,美國雖然損失了這麼多的飛機,但軍工系統一啟動,戰機便以驚人的速度補充。但更令日本吃不消的是美國的‘軟實力’:資訊戰。

英美合作,令最優秀的數學家為戰爭而貢獻,在‘忍辱波羅密與偉大政治家’一文中,我已提到‘超級情報’及Turing的偉大貢獻。而美國針對日本的‘紫密’(Purple)也有深入的研究,於是就在幾次重大戰役中取得決定性的優勢。例如:美軍破解日本電訊,確認‘中途島’為日本的攻擊目標!‘中途島’一戰,實令日本元氣大傷!成功截殺‘山本五十六’也是由於破解了日軍的通訊!

事實上,日軍也犯了和美軍在珍珠港相同的錯誤,美軍錯信40呎的水深不能使用魚雷,而日本就錯信她們的‘紫密’是不可破解的!但加密與解密,本身就存在著辯證的關係,今天,隨著密碼學的數學理論的完備,更加令我們相信世上並沒有不可破解的密碼,破解祗是時間和資源的問題而已!

十多年前,我有一位同事,有一天在書中‘發現’了單替代密碼(mono alphabetic cipher)系統,他很興奮地對我說,這個系統如何厲害。我當時年少無知,以我當年的記憶力和心算能力,不用電腦也可在短時間內破解這些密碼。結果就是贏了口舌,輸了友誼!

註:就算今天很多文件都解密了,但珍珠港事件仍有頗多存疑的地方,特別是美國經已破解了日本的外交通訊,但為甚麼居然不使用最高級別的通訊通知珍珠港!

2008年9月17日 星期三

抽象

‘先生,請問那裏有酒樓?’

先生轉身過來,用食指一指,小姐按食指方向一看,便看見‘大大酒樓’的光管招牌。

‘知道了,多謝!’

今天,我是否有病,一開始便說廢話。這些瑣事還要寫。是瑣事,是日常生活必然的事情,但請想想,這過程究竟發生了甚麼事?先生用手指指向招牌,但實無到達招牌的實物,小姐要解讀這個訊息,便要在腦中畫一條虛擬的直線,由先生的手指出發,越過空間,最後直線碰觸到招牌,問題才解決。

簡單事情複雜化!我反問,你又可以說出,除人類外,那些物種會有這種能力呢?據我的了解,連我們的遠祖也沒有!下次你到動物園,你試試猩猩會不會理解你的食指。除人外,唯一已知有這種能力的便是狗,狗就是在漫長的純化過程裏,發展出這能力!

不是嗎,我看見很多動物如海豚都可以淩空取物的。在海洋公園,訓練員抛出食物,海豚不就會跳出水面,準確地,漂亮地接上食物嗎?

是,但這限於實在具體的東西如食物,但牠們仍不能理解手指指向!

這個突破實物的思考模式便稱為‘抽象’,相信這是人類獨有的,這亦令我們在進化的過程裏獲得很大的優勢。

考古學家發現了不少穴居人的壁畫,這些壁畫的作用尚未有定論,但肯定有教育的意義,成年人可以通過畫像,教導小孩甚麼是獅子(猛獸),小孩無需親身經歷與獅子的接觸,便可知牠是危險動物,見到牠便懂得逃跑!

畫像就是一種抽象!兩千多年前,佛祖便說,他所教的修行方法就祗是達到‘覺醒’的方法,而不是‘覺醒’本身,我們終極追求的應是‘覺醒’而不是‘方法’。他很形像化地的說了一個比喻,當有人問他月亮是怎樣的,由於他無法把他帶到月亮(對不起,登月計劃祗是幾十年前的事),所以,他祗可以以手指指著月亮。他就是要告誡人們,不要把手指誤認為月亮!

但‘具體’才是動物的本性或‘常態’。‘抽象’仍‘變態’,所以,到佛教廣泛流傳後,佛祖說甚麼已沒多少人理會了。佛祖反對造像,但沒佛像又有甚麼具體的東西去拜呢?

今天,很多人仍把‘玉皇大帝’、‘王母娘娘’當成是佛教的東西呢!

2008年9月16日 星期二

危險vs.安全

昨天是假期,有點時間看看一些舊記錄片,重溫了偷襲珍珠港的一些歷史。

這段歷史值得借鑒的東西很多,今天,我便集中於安全評估這問題上。

珍珠港是美國本土外的一個重要軍事基地,但當時美軍的危機意識很低,其中不少更以一種渡假心態來到這個風光如畫,陽光海灘的地方。更嚴重的問題,就是‘迷信’。

‘迷信’可相對於‘理性’(reasoning)來說,可以理解成沒有理由的信。當時美軍就是‘迷信’於科學和數字。這話何來?這便要從美軍當時的佈防說起。

軍艦和飛機的排佈,可有兩種策略,一是集中,相對於‘集中’當然是‘分散’!‘分散’的好處便是令敵人不能一次過摧毀,而缺點就是難於集中防守,易受游擊式攻擊。

美軍就是採取了‘集中’,表面理由是當地有很多日裔居民,美軍要防範他們的游擊侵襲。但實際是當時美軍錯信一些技術數字。

可以想像,飛機是以轟炸的方式來攻擊船艦的,但要多少個炸彈才可令萬噸級的戰艦沉沒呢!於是,魚雷(torpedoes)便應運而生。魚雷是一種載有烈性炸葯,會沉入水中,在水底鑽穿船艦的鋼板,然後才爆炸的軍備,對船艦有致命性的傷害。

但由飛機投下魚雷,魚雷必會下落到一定的水深,當時的標準便是一百英尺,而珍珠港的水深祗有四十多尺,所以美軍相信,不會受到飛機和魚雷的襲擊。所以,珍珠港的防空意識非常薄弱,甚至連防空氣球也沒有升空。

美軍做不到的,並不代表日軍做不到!日本的軍事科學家改進了魚雷的外形設計,再加上日本機師的高超低飛技術,他們就是可以在四十尺的水深使用魚雷。

日軍的飛機更集中火力轟炸在出口的船艦,這艦一沉,便堵塞了出口,轉不過來的艦隻群便成了‘靜態’目標。不傷亡慘重才奇怪!

其實,一百尺是當時美軍自己的技術限制,並不是金科玉律!日本是有機會突破的!突破了,最安全的地方便會成為最危險的地方。同理,很多人以為做了防疫注射後便會確保安全,但你可有想過有關注射的保護力有多大?有70%的保護力,經已是非常難得了,很多都是在50%以下,天下那有攻不破之盾呢?

今天,對科學和數字‘迷信’是個極普遍的現象,但真正的‘理性’是必需了解有關數字背後所代表的東西是甚麼啊!

2008年9月14日 星期日

三聚氰胺

三聚氰胺(Melamine)俗稱蜜胺、蛋白精,是一種工業原料,化學式為C3H6N6,主要是由尿素在一定溫度和壓力條件下產生

6 (NH2)2CO → C3H6N6 + 6 NH3 + 3 CO2

從它的化學式可以看出,它含氮的成份很重,用它制成的類樹脂產品在加熱時會放出大量氮氣,有極高的阻燃性。所以,一般會用來製作煙灰缸、耐熱食具等等……

它有高度的毒性,絶不可加進食物內。不同於如防腐劑和色素等添加物有其對食物的一定意義,它對食物毫無改進,所以,根本就不應是食物添加劑。

但近日,國內發現了大量添加了三聚氰胺的奶粉,小朋友食用後會引起腎石甚至是腎衰竭。

雖然現在還未有可信任的調查結果(可能永遠也沒有),但按我自己的常識,這絶不是自然的污染,因這種人造物料不存在於奶類自然生產的環境內,這即意味著這添加是主動的、有計劃的。但如上文所說,這並不是防腐劑或色素,對食物毫無好處,為甚麼要加入一些全無好處的毒藥呢?

這其實就是化學分析的問題。奶粉生產商會從各個渠道收集牛奶作為奶粉的原材料,但這些牛奶的質量如何確定呢?若你以為我們可以把牛奶放進一部‘萬能機’,然後,這部機便會告訴我們牛奶的質素如何,你便是被‘科幻片’誤導了。

化學分析並不如常人想得這麼強勁,很多時都祗能測出某特別化學物是否存在,更厲害的便是確定其含量。所以,檢測祗可針對個別問題,例如通過細菌量(註)的測試,可得知牛奶是否有變壞。但這測試並不能告訴我們牛奶是否有受重金屬污染。不要說牛奶可能出現無限多的問題,就算祗是有一百幾十個問題,我們就要有一百幾十個不同的測試,更加嚴重的是我們並不是每個問題都可有相應的測試方法!

從經濟角度考慮,牛奶最容易出現的問題便是加水,因為生產商是會按重量或容量來收購牛奶的,加水稀釋當然會增加收入。另一問題就是當乳牛的健康或營養不良時,其奶便會自然變稀。無論如何,這都影響奶粉商的利潤,所以,奶粉商在收奶時便要確保奶的濃度。

化學分析內有一種檢測蛋白氮含量的方法,這便可間接檢測出奶品的蛋白含量。於是,長期以來都用作奶類產品質量的指標。但是‘上有政策,下有對策’,上文不是說過三聚氰胺的含氮量很重嗎?所以,當奶品加入三聚氰胺後,在是項測試中便會變成優質。錢可收,但受苦的便是我們國家未來的主人翁!

在‘真理’一文中,我提到香港消費者委員會的謬誤,很多不明化學的朋友說我抹黑科學,我全不怪責他們,迷信科學,迷信權威,才是常態啊!

註:我一直在說化學分析,細菌量的測試是生物而不是化學分析,若在嚴謹的討論,我應列舉化學而不是生物分析的例子,但在這裏,這樣比較容易理解而已。

2008年9月12日 星期五

語言邏輯

在綠色生活的圈子,‘牛奶危害健康’久已是不爭的‘常識’.但這就絶對違反大部份西醫的‘偏見’及/或‘利益’!前一陣子,終在香港的傳媒出了一個小突破,香港電台的‘鏗鏘集’製作了一個‘牛奶危害健康’的特輯.

此特輯一播出,甚麼醫學會的代表,甚麼甚麼名醫,都出來捍衛‘牛奶’.當然又是這些‘偽科學’的觀點.有關這些論點的謬誤,有機會再另文討論罷!

但最令我‘嘆為觀止’的,反是一位‘名醫’,在電台節目中就出現了極其反智的語言,他說:‘醫學文獻並沒有牛奶危害健康的論文’.

事實上有沒有,我暫不去討論,但這句的語理邏輯經已是極度的反智,為甚麼?

若我是節目主持,我便會問:‘世界上究竟有多少本醫學期刊(journal),是一千三百一十一本,還是二百四十八本呢?又在那一年開始有醫學期刊呢?還有世界上有多少種語言?’

‘名醫’當然不可能知道世上有多少本醫學期刊!又或更直接的說,他根本就不可能窮盡世界上所有的醫學期刊.若他真的能,這便意味著,他要花無限多的時間,而又必需懂得世界上‘所有’的語言!

我實在學不到他這種非理性的自大了,若我是他,我就祗可以這樣說:‘我已翻查了最近三年,十本在行內頗有地位的英文期刊,都找不到有關牛奶危害健康的文章!’

符號邏輯,從來都不在西醫的課程內,西醫不能作精準的邏輯思考就一點也都不奇怪.但我實在震驚,這位‘名醫’就連最基本的語理也出現了這樣嚴重的問題!

或我們現應反省一下,究竟我們把自己的生命和健康交給了誰!

2008年9月11日 星期四

Bionics

小時候,電視曾播放一部名為‘Six million dollar man’的美國片集,中文名為‘無敵金剛’。故事的主角是位太空人(太空=高科技),在一次太空任務的意外中受了重傷,雙腳,右手和一眼(我忘了左還是右)都殘廢了。美國政府用最高的科技把這些換成機械,這花了六百萬美元(今天也不是一個小數目,但這是三十多年前的故事),而他最終成了一個‘超人’特工。

後來,又來了一部‘Bionic woman’,故事就是說‘無敵金剛’的‘平民’女友,也在意外中受了重傷,在‘無敵金敵’的苦苦衷求下,美國政府也把他的女友改造成為‘無敵女金剛’。
 
故事中有一次提到‘bionic’,中文配音把它讀作‘雙電離子’。離譜!

Bionics這字的字源祗少有兩說,純英文的說法是biology(生物學)+ electronics(電子學)。而另一說是由希臘文的"βίον",意思就是生命的組件,加上‘ic’,類似的意思。

Bionics的中文譯法是‘仿生學’,這就是研究生物的結構,然後以工程的方式仿效。如‘無敵金剛’,為傷殘人士製作義肢,當然就是‘仿生學’的範疇。而機械人學,更加少不了仿生學的元素。我的本行:電腦,更加少不了對人體,特別是腦部的研究。人工神經網絡(Artificial neural networks)的面世便是個好例子。

仿生學的應用,除了這些一看便知的高科技外,還有一些非常厲害,但我們習以為常的東西。其中一例便是‘魔術貼’(Velcro),就是這些用於衣服或手袋,碰上便貼上的‘魔術貼’。

魔術貼的意念來自一位瑞士工程師,時間約是1941年,有一天他打獵回來,發覺他自己和他的狗的身上,貼滿了牛膀(Burdock)的種子,他就在顯微鏡下觀察這些種子,發覺種子上有很多小鉤,這些小鉤便可鉤上任何‘有圈’結構的東西,衣物和狗毛就有很多圈。於是他便想出了用小鉤和小圈便可達至扣緊的效果。

但我又要再重覆一次,魔鬼就在細節裏,由意念變成產品,並不如一般人想的簡單。‘魔術貼’也不例外,其中就不知經歷多少辛酸!千萬不要被我這三言兩語,誤以為這是個簡單的過程啊!

真理

中學時,有一位金屬工藝科老師說:‘很多玩音響的人會認為鍍金的電線的音質會好一點,這其實是誤解,金的導電率的確是高,但電鍍層是很薄的,對電阻的降低幫助甚微……’

老師,你錯了!但我並沒有對你有任何不敬,因為你是按科學的思路去思考,你的錯誤,祗是你不明科學的真諦,不能保持開放的思想而已!

我的老師錯在那裏?那麼便要由電鍍的基本說起。所謂電鍍,就是用電化學的方法,把一層金屬,加在另一導電體的表面。現實裏,當然是會把貴重金屬加到一般的材料(註一)上,所以金、銀、鉻等都是常用的電鍍金屬。

當負擔不起使用貴重的黃金做器件,便可以考慮用相對便宜的材料如銅等做器件,然後,在其表面鍍上一層金。那麼,這器件便有金的美觀,而價錢就可大幅減低。

有時,電鍍也並不單為美觀,防止氧化和其他化學侵蝕也是實際原因之一。

電鍍之所以可節省成本,主要原因就是祗要用極少的貴金屬。事實上,鍍上金屬的厚度是影響電鍍成本的重要因素。所以,電鍍技師便會按不同需要,盡量減低電鍍層的厚度。

所以,單從簡單的電阻計算,我的老師是完全正確的。他甚至可以拿這些計算去證明這些宣稱鍍金線會‘靚聲’的人不科學,甚至是騙子!

但這些人真是聽得出鍍金線的聲比較好,究竟誰是誰非呢?

其實是這樣的,我的老師祗懂電學的皮毛,對電磁學接近全無認識,於是便會說出這些‘偽科學’。事實上,有一位化學博士,經常在傳媒上談甚麼東西科學,甚麼東西不科學,可惜,以我粗淺的科學知識,他的錯誤就遠比正確多。在科學先進的今天,若還相信掌握了一些基本的科學知識便可判別一切事物,這絶對是非理性的‘自大’!魔鬼就在細節內!

電磁學內有一個稱為‘皮膚效應’(skin effect)的現象,要精確理解就要用數學,由於這裏不能使用正統數學語言,我又來個比諭,去解釋甚麼是‘皮膚效應’。但千萬要認清,這是比喻,並不是真正的‘皮膚效應’。

想像電力好像一批士兵,他們在上級的恐嚇下由一地步操到另一地。若他們變化很慢,全部都勇往直前,便可以盡用路面。但若他們經常左右擺動,他們便會發生碰撞,亦會互相排斥,由於路中心是大家都可到之地,所以碰撞和排斥便會很厲害,到最後,大家都會被撞回來,結果反是路中心就空無一人,士兵反會集中於路的兩旁。

請不要批評我這個比喻,我自認它實在生硬。但在教科書上根本就找不到更好的比喻,我才被迫做原作者。為甚麼書中無比諭呢?原因便是‘皮膚效應’是比較高深的電磁學理論,要學這個理論的,其抽像思維能力應可直接從公式中去了解,所以無需比喻。我的老師是個修金工的,其抽像思維能力和這個要求實在相差太遠了。

回到本來的問題,皮膚效應就是說,當頻率越高,電流便會越遠離導體的中央,到頻率高到某一水平時,電流便會祗在導體的‘皮膚’流動。‘皮膚效應’便是準確說出,頻率,導體形狀,與皮膚厚度間的關係。

薄薄的鍍金層,對整條電線的電阻影響輕微,但對於高音的傳送就有極大的幫助!

我一直都嘲笑甚麼‘發揚科學真理’,說這句話的人,他們就完全誤解科學,科學家的工作就是要推翻舊有的理論。若把‘科學’看成是‘神聖不可侵犯’的真理,我們就不是回到‘異端審裁處’(註二)的時代嗎?

若有人跟我說,‘皮膚效應’不能再解釋上述現像,因剛發現了‘xyz定律’。若是這樣,我不單不生氣,我反會立刻認真研究‘xyz定律’!若‘xyz定律’真的正確,這就代表了我們的科技又進了一步!又或‘xyz定律’早已出現,祗是我無知而已。若是這樣,我就更高興,因從這刻起,我便認識了‘xyz定律’,對此不再無知了!

這位知名化學博士便經常犯這個毛病。香港的消費者委員會,也經常犯類似的錯誤!

有一次,消委會就說廣東人的最愛‘老火湯’並沒有特別的營養價值。但我對這句的理解應為:‘在極為有限的營養學知識和極度局限的化學分析技巧下,我們找不到老火湯特別有營養的證據!’

他們找不到,便代表沒有嗎?(註三)若你曾在化學實驗室內,和這些‘藥水’打過一段時間的交道,我想你也會像我一樣,不再想信‘找不到,便是沒有!’。

註一:一般人會誤以為電鍍祗可以把金屬鍍到金屬上,實際上,祗要被鍍的物體表面可以導電,便可進行電鍍。有一種技術,就是在塑膠的表面塗上石墨(碳),然後進行電鍍的。

註二:歐洲中世紀時,宗教力量強大,她們會把不合聖經教義的理論列為異端。後來更成立‘異端番裁處’。

註三:這句是我一位‘高人’朋友,李文華醫生經常說的,有關他的空氣論可參考http://www.bhkr.org/text/hkexit/leemanwa_article.pdf

2008年9月10日 星期三

統計

《How to lie with Statistics》(註一)是本不錯的消閒讀物,書中雖欠缺統計學的嚴謹討論,但作者的妙筆卻帶出了不少統計學的盲區。

可惜,今天很多做民調、做市場研究的‘專家’,不要說嚴謹的統計學,就連這本消閒讀物的水平都沒有,信民調,就等如信希特勒是個充滿愛心的人一樣,荒謬!

我有位朋友,他的學歷非常不簡單,首先是電腦系一級榮譽畢業,繼而是甚麼名牌MBA。但其思考能力,我就實不敢恭維,在一次閒談中,我們討論到香港六合彩,他說六合彩開了這麼多期,應可從統計上總結出一些下注方向。

這時,我對這朋友的認識尚淺,而我亦有粗淺地研究過類似問題,我以為他有甚麼真知卓見,於是就洗耳恭聽。

‘我們做民調,做幾十個樣本經已很厲害,很準確了,何況現在有這麼多期的結果!’

我的天,他不單對預測六合彩全無概念,最嚴重的是全弄錯了最基本的‘隨機抽樣’的概念!甚至可以說連‘統計’是甚麼都弄錯了。

今次,我便由統計說起。

想像一下我們若要知道全香港七百多萬人的身高,完全準確的唯一方法,就是為全部七百多萬人度身高。少了一個,也不能說是完全準確!

先不說這是否實際可行,就算真的可以為全港人度了體高,這七百多萬條的原始數據又有甚麼用呢?試想想,我們的腦袋又可以記下多少條數據呢?‘統計’的意思,正正就是要總結出一些數據的特性出來,常用的‘統計’有中央趨勢(central tendency)和離散度(spread)。

最為常人認識的平均(average)(註二),就是中央趨勢的一種。而範圍(range)就是離散度的例子。當我們說香港人平均身高為1.65米,18歲以上的身高範圍是1.2至2.1米。這幾個數字便總結了這七百多萬條數據的某些特性。

正如上文所說,要這些‘統計’完全準確,必需有齊七百幾萬條數據,缺一條也不能說是完全準確。但技術上,這是接近沒可能的,所以,實際上我們是會使用‘估算子’(estimator)。

何謂‘估算子’,這就是當我們不能獲取全部數據時,基於部份的觀察,而對數據的‘統計’作出一些‘估算’。例如,你經已為100名香港人度了體高,那麼,你計算出這100項數據的平均數,然後,你便用這個數來‘估計’全港人的平均體高。

以樣本的平均數去估計全體的平均數,就是一種‘無偏估計子’(unbiased estimator )。限於篇幅,不能詳細討論了,但要留意的是,unbiased並非必然,很多時候我們是有需要使用biased estimator的。

我們必需明白,抽樣調查就是一種‘估算’而不是‘真理’。統計學便開發出很多條件和數學模型來規範和處理這些‘估算’。例如,若你幸運(或不幸)接觸到的100個樣本,都是在1.8米以上的,平均數是1.9米,你就總結香港人的平均體高就是1.9米,這樣合理嗎?

所以,我們會著重‘隨機’抽樣,100個樣本平均身高是1.9米,不可能嗎?若你是在籃球隊找樣本,就一點也不是奇事。‘隨機’(random),就是要亂抽,民調要做到random其實難度很高,因為,會回答問卷的,可能經已是某一特定社群的人。

分析數據時,這些都應考慮進去,而對於有關結果是應這樣傳譯的。例如,有人做了聲稱是random選出的一百個人的體高資料,樣本的平均數是1.7米,那麼,我們也可以‘合理’地估算香港人的平均體高是1.7米。但還要加上一個誤差的機率。

一百個樣本的平均數是1.7米,並沒有任何邏輯關係說明香港人的平均體高就是1.7米。這是一種‘合理’的估算而已。統計學便有一組的理論公式和方法去解說這個問題。假若香港人的真實高度的平均數是1.8米,那麼,若隨機抽樣100人,而其平均數是1.7米的機會是多少,而1.6米又或是1.9米的機會是多少。

如此這般,嚴謹的統計結果應是這樣說的:‘據這100個樣本的統計結果,有95%的信心水平(confidence level)香港人的身高的平均估計為1.6至1.8米’。

留意,這句並沒有說香港人的身高平均必然在1.6至1.8米之間,相反正正說明就是有不在這範圍的可能性,但機會祗是約5%而已!更值得留意的是,是可以收窄範圍的,例如可以說成是介乎1.65 至1.75米間,但這樣信心水平便可能下降到80%!反之亦然。(註三)

可能你們都給我悶死了,嚴謹的學術理應如此,但這些都不是常識,更不是一般人可接受的!

註一:Darrell Huff,‘How to lie with Statistics’ISBN 0-393-31072-8

註二:一般人所理解的平均其實是算術平均(arithmetic mean),平均數其實還可以有多種不同可能的。

註三:所有數字都是舉例,並不是真實數字。

回撥

1992年香港成立了一間名為‘城市電訊’的公司,論當時的規模,頂多算是中型(若不是小型的話),但她們就強烈沖擊了香港的一間超大規模的‘百年老店’。

十多年前,我到印尼工幹,當地長途電話的收費,簡直就令我嘆為觀止,連酒店服務費在內,打回香港每分鐘大概是四十多港元。在香港打到印尼也要十多廿元一分鐘,雖然也不便宜,但尚好罷。於是我便和太太來了個‘手動回撥’,當我在酒店房間內可以和太太通電話時,我便撥回香港,但必需在一分鐘內掛線。然後,太太便會在香港打電話到印尼,繼續再談。

上世紀的九十年代,正值香港移民的高峰期,香港與美加間有著非常巨大的電訊需求。而長途電話收費就存在著極高的非對稱性。當時由香港致電美加,收費每分鐘應在10元以上,相反,由美加打入香港,收費就遠在1元以下。當時,香港電話擁有香港對外長途電話服務的專營權。這便解釋了這個收費的巨大差距!

‘城市電訊’便搶佔了這個機遇,她們並無有自己的電訊網絡。簡單來說,她們的運作原理便類似我在印尼的例子。客戶所撥的號碼實在是接到她們在香港的電腦,通過從香港電話租回來的網絡,她們撥到美加,就在美加再回撥香港,這樣電話費用便大幅下降!用家得益,她們也賺到巨大的利潤。當然,香港電話的利潤便受到破壞性的沖擊!

有人會問,網絡是香港電話的,為甚麼她們要租給‘回撥’公司來打擊自己的生意呢?

她們當然不願意,但香港是個法治的地方,雖不情願,但亦要依法辦事!

這例一開,香港的長途電話費便有如江河日下,及後香政府更以百多憶提早收回香港電話的多項專營權,有人批評這是個‘天價’。但這是便宜還是昂貴,在今天香港電話(電訊盈科)的股票價格上總可有些啟示罷!

2008年9月6日 星期六

模糊邏輯

我善於用‘陰力’。何謂‘陰力’?就是適當控制力度的大小。例如,收緊螺絲,在大部份情況都不是越緊越好的,能做到恰到好處便是陰力。

若你不是一個DIYer,上例可能比較難理解。那麼便請想想一個機械人學上的難題。這就是以金屬機械手(不可以有軟膠)來拿起一隻盛了水的薄玻璃杯。可以想像,力輕了少許,杯便會拿不穩,但重了便會壓爛水杯。

要做得到,最少要解決兩個問題,首先就是機械手上要有適當的感應器,然後,有一個適當算法(algorithm)去處理資料,指揮最合適的力度。

使用一般用途(general purpose)的程序語言,處理這類問便比較麻煩,原因便是它們都是設計來處理清晰精確,或是二分的事情。例如,所有一般用途程序語言都會有類似if ……then……else的控制結構。這即是說,電腦會檢查某一特定條件,符合便做一事,不符合便做另一事。例如,

if income > 20000 then tax = income * 0.15 else tax = 0; (註一)

這是一個簡單化的計稅程序,收入少於或等如20000便無須納稅,若高於20000便要納稅百份之十五。

但回到機械手拿起水杯的問題,用上述的思路,就十分難處理。首先,力何謂大,何謂小,並沒有一個清晰的標準。你想想自己是如何拿起水杯的?你永遠都不會想,我要用100N的力。事實上,力要用多大取決於非常多的條件,例如,杯的表面光滑程度,杯裝有多少水,以至當時的溫度和濕度都對應施多少力都有影響。

上世紀五十年代,電子工程師就開始研究一種非二分化的邏輯,後來便由數學家總結出一門名為模糊邏輯(fuzzy logic)的新科學。二千多年前,希臘哲學家便為邏輯思維定下了一些基本法則。其中第三條便是排中律(law of excluded middle),簡單來說就是,若不是A便是非A。反之亦然。如上例,收入就祗可能是大於20000或不大於20000。並不可能是同時大於又非大於20000(留意,非大於20000包括等如20000)。這不是常識嗎?是,但邏輯就不是常識!所以,必需定好甚麼東西可以接受,甚麼不能。一般用途的電腦程序語言便是建基於排中律!

但我們很多習以為常的概念都不是這樣的。例如:‘今天很熱!’這句話實在是甚麼意思呢?或我們會說:‘若很熱,便開啟空調。’我們都很清楚這句在說甚麼,但若要把這句變成電腦程式,這就‘無能為力’了!我們可以寫

If temperature > 32 then turn_on_air_conditioner();

但是32度就是很熱嗎?

句中的‘很熱’並不單是說溫度,這還有‘濕度’、‘文化’、‘生活習慣’以至‘性別’和‘心情’等等……的考慮!

有一種叫‘去模糊化’(defuzzification)的算法,容許使用一般用途的程序語言去處理有關問題。但永不及使用模糊邏輯來得簡單直接和方便。

由於不能使用正統的數學和邏輯語言,我並不能精準描述模糊邏輯的技巧,而祗可以給大家一個印象,但千萬不要以為這就是模糊邏輯的全部。就好像不要以為萬有引力定律就是規定物體會下跳啊!

就以‘熱’為例,傳統邏輯必需以一些條件清晰地界定為‘熱’與‘非熱’。若‘熱’的溫度標準定於攝氏30度,高於30度的便是熱,相反便是‘非熱’。但模糊邏輯並不會肯定的說是‘熱’還是‘非熱’,而會表達成一個介乎0與1的數字。0代表‘完全非熱’,而1代表‘完全熱’,但 0和1都鮮有發生。例如,30度可能是0.75而20度就可能是0.25。同理,當我們把濕度考慮在內時,不同的濕度便會對應一個介乎0與1間的數字。接著,‘生活習慣’、‘文化’、‘心情’等等都可以用類似的方法處理。

當這些數字按一定的法則結合,便可以得出對‘熱’的一個模糊理解,電腦便可以按這個理解去作出相應的行動。

最近我買了一個模糊邏輯(註二)電飯煲,它的表現確實令我滿意,它就好像‘很有智慧’地處理如米種、米量、水量、濕度、環境溫度等等的問題。 

很多先進的集體運輸系統都是由‘電腦’駕駛的,香港的地下鐵路便是一個好例子(註三),單是列車的準確停站(註四),就一點也不簡單了。能做得到今天的水平,模糊邏輯就功不可沒!


註一:例子是pseudo code,並非任何特定語言。

註二:模糊邏輯給人的印象不好,所以商人把模糊邏輯改成‘快思邏輯’。

註三:地下鐵路是香港鐵路的前身,在和九廣鐵路合併前的名稱。注意,九廣鐵路主要是人手駕車,而地鐵由一開始便是自動駕駛。

註四:特別是地鐵加上了月台膜門後,其停車準確度的要求更大為提高。

2008年9月5日 星期五

是可忍也,孰不可忍也

孔子謂季氏:「八佾舞於庭,是可忍也,孰不可忍也?」

何謂‘八佾舞’?這是一種舞,按周禮,這是天子之禮。就算是國君,‘八佾舞於庭’也是越禮,孔子就是無法忍受這種越禮行為。

對生活在自由世界的人來說,這就有點難理解。我在家中找人跳舞,干你孔子甚麼事?就算我在家中攪色情淫邪,也不關其他人的事。何況,這是正正經經的,有藝術,有紀律的舞蹈!

政治幻想小說‘1984’談到一個非常有趣的概念。這就是生活水平是一個相對而非絶對的概念,所以,小說中的國度,便盡一切辦法去壓抑人民的生活水平,因為當人民的生活水平上升了,當權者便難於享有更高的生活水平!

舉個實例,若大部份人民都祗可以吃得半飽,那麼當權者可以吃得飽,便優於大部份人,優越和滿足感便可以很大。相反,一個安居樂業,絶大部份人民不單吃得飽,而且吃得好,那麼,當權者頂多都是吃得更好!但若大部份人民都吃得更好,當權者又怎麼辦呢?

解決辦法有很多,在‘1984’內,便是壓抑生活水平的上升,但如何做呢?其中一個方法就是壓抑科技和生產力。但書中的國度覺得這樣不可取,因為,這會同時壓抑軍事力量。於是,她便選擇建立長期敵人,當國家永遠在戰爭狀態,人民的生活水平自然不可能上升,甚至,為了愛國,餓死、冷死又有甚麼關係呢!但當權者,就可以吃得飽,穿得暖,其優越和滿足,就值得他們在政治鬥爭中,拼個你死我活!

在春秋時,就採取比較合理和溫和的做法。一個人可享受的生活水平,不單取決於經濟能力,更受社會地位的限制。就算你是首富,也不可以乘超過一定馬匹數目的馬車,不可以穿某些布料,也不可以食某些東西等等……

所以,孔子就是按周禮批評國君越禮。享受與他身份不乎的禮節!

有人會說,孔子批評的不單是生活水平,而是禮!今天的自由社會也會有等級和禮節,例如,祗有國家元首才可以享有多少響的禮炮等等……我部份同意,部份不同意。同意的地方就這是有共識的外交儀式,在外交場合便代表一種禮貌。但在自由社會,我們不可能把這視為神聖不可侵犯的。例如,我們可以拍一套搞笑劇,嘲笑有關儀式,甚至是由一隻貓、一隻狗,去接受廿一響禮炮!若我有機會見到美國總統,最合理的禮便是握手,即當他是個普通人!

人生來自由平等的概念,其實祗有幾百年的歷史!就算在今天,自由和平等的概念也不是理所當然的!

陰陽論(十一)

上文我解釋了中國文化的兩大優點:含混和模糊。今天,我或需再作一點補充。

若斷章取義的看這一句,必會覺我在嘲諷中國文化。但我是真心真意把含混和模糊視為優點。我已和電腦交往了廿多年,總算對電腦有點了解。今天的電腦經已非常先進,但對於含混和模糊的問題,也是無能為力!

越清晰具體的理論,其時空局限性便越強!例如,論語,柏拉圖等是我經常會參考的材料。但我認罪,我重未讀過‘自然哲學的數學原理’!人生面對的問題鮮有清晰具體。在進行顧問服務時,我經常會對客戶說:‘作為高級行政人員,你們就是要處理含混模糊的問題,清晰具體的便應留給電腦!電腦比你們便宜得多!’

好,現在我們便應開始討論《易經》,一本古老的卜卦書。但她對卦象的解釋和編排就對陰陽成了一個體系性的描述。但必先聲明,我的古文水平低劣,記憶力差,背了一卦,便忘了之前的一卦,結果來來去去,在腦中可能都祗是有幾卦而已。對這高深的‘文化遺產’其實連門也未進。可是,近年又不知從那裏來了一個‘好古’熱,人人都著書立說,大講《易經》,還出現了甚麼如‘影響你一生的六十四變’等的謬論!說這句話的人就可能連甚麼是‘變卦’也不知道!

但無論如何,《易經》都是一本‘如假包換’的卜卦書!他對人生,對哲學的啟示都是人後加的!我絶對覺得《易經》不單對我人生有啟示,甚至對我的工作:編寫電腦程式,也有啟示。但若說《易經》是在講電腦,那就是謬誤!

古代沒有電腦,沒有科學,更沒有IPod,但古人卻留下一些含混模糊的概念,這些概念既可以似電腦,也可以似科學,甚至似IPod!這些便是我們的寶貴‘文化遺產’。

2008年9月4日 星期四

陰陽論(十)

在‘陰陽論(八)’中提到,我對陰陽的推論缺乏古文的支持,是絶對的‘不嚴謹’。我承認,但和流行文化相比,我一點也不算‘離譜’。

一講‘陰陽’,不少人就附會它就是‘二進制’,甚至是萊布尼茨(Gottfried Leibniz)是看了八卦後才想出‘二進制’,再進而就是中國就是‘電腦’的始祖,因為電腦是用‘二進制’的。(註一)

基於民族感情的考慮,我不敢說上述推論是荒謬的。

小時候看過一電視片集,其內容是說有一女巫嫁了一位常人,女巫家中的電燈壞了,她的祖母想省錢,便用法術請來了一位‘電學大師’:富蘭克林。富蘭克林來到二十世紀,當然是趣事多多。但女巫祖母就永遠都想不通,為甚麼‘電學大師’會不懂得怎樣修理電燈!

富蘭克林是‘如假包換’的電學大師,但這與電燈無關,更與電腦無關!無關!?電燈和電腦不是都用‘電’的嗎?不是都有個‘電’字的嗎?你居然荒謬到說富蘭克林與電腦無關!!!

好!我錯,但若按此思路,很多‘古文化’都可以宣稱他們的祖先便是‘電腦’始祖,因為他們的祖先都曾經見過閃電!我也可以推論澳洲土著是飛機的始祖,你看他們的‘回力鏢’不就是充滿了流體動力學的智慧嗎!

‘電學大師’算得上是甚麼,電學尚有應用範圍的限制,例如,最少還要有個‘電’字。中國的最高智慧就是可超越一切應用範圍的限制。無處不在,無所不能。

請千萬不要誤會,我是真真正正的欣賞而不是嘲諷這寳貴的‘文化遺產’:含混和模糊。

‘您是我的太陽,您是我的空氣……’肉麻。但受用!可是,為甚麼都沒有說‘我愛您’更沒一句‘我對您一心一意,終生不變’呢?相對於後者,前者便是‘含混’。後者,特別是‘終生不變’是可以證偽的。若‘移情別戀’當然就不是‘終生不變’了。但‘陽光空氣’就完全獨立於現實,‘移情別戀’後仍可以是‘陽光空氣’。

子曰:「小子!何莫學夫詩?詩,可以興,可以觀,可以群,可以怨。邇之事父,遠之事君。多識於鳥獸草木之名。」

由此可見,孔子對《詩經》的高度評價,但詩的真義在那裏呢?中國並沒有好像如荷馬的長篇史詩。對中國人來說,詩有一個非常實用的功能,便是‘含混’。春秋戰國時,外交人員都熟讀《詩經》,以詩對談,好處就是‘含混’。

春秋戰國時代的外交官,就深深掌握這門藝術,例如,A國被B國打敗,A國的‘領導人’逃到了C國,C國供食供住問題不大,但不可以有任何政治承諾,因為不知道將來和B國關係的發展,但又不能不表態,最好的方法便是賦詩一首,含含混混,模模糊糊地說些甚麼‘君子好逑’。A國領導人聽了,C國要和我們談戀愛,我們復國有望了。但在C國而言,若與B國開戰,這首詩當然是這樣理解,但萬一情況相反,便可以稱,他們祗是盡地主之儀,問候一下A國領導人睡得好不好而已。(註二)

‘易經’是卜卦書,‘黃帝內經’是醫書,‘詩經’就是寫些男女之情,花鳥蟲魚。她們本身從未說過是甚麼大道理或哲學。有關‘否’和‘泰’,易經文中祗是很模糊地說出一些卦象。上文全是我個人的推演和理解!既然是我個人的推演,那麼我想用到甚麼領域都可以。無怪,比‘電學大師’厲害得多少倍。

但子曰:‘邇之事父,遠之事君。’本來是男女之情,花語蟲魚也可以上升到立身處世,以至政治層面!所以,我們把古文推廣成人生大道理,也是孔子所認同的。但若有一天,人類開發出可以和古人對談的科技,而‘關雎’的作者就直接告訴我們,‘關雎’祗是講‘溝女’,沒有任何大道理的話,也請放過他,不要把他打成是傷害民族感情的賣國賊啊!

註一:萊布尼茨與八卦的關係,我會另文討論。

註二:‘關雎’:‘窈窕淑女,君子好逑……悠哉悠哉,輾轉反側。’‘關雎’就是描述一男子對一女子的愛慕,追求不得,夜不入眠。最後都是大團圓結局!

我識搵錢

‘爸爸,今天為甚麼這麼晚才回來陪我玩?’

‘爸爸要搵錢,搵錢很艱難的。’

‘我識搵錢!’

爸爸面色一沉,祗有七歲的女兒何來會識搵錢呢?立刻便向壞處想!

‘快告訴我,是誰教你搵錢的?’

‘是我自己學的。我見到大人怎樣搵錢,我都識。’

‘怎樣搵錢?’

‘就是走到提款機前,按幾按,錢便出來!我都識喇!’

……

‘充’明老師:‘牛頓有一天在樹下沉思,被從樹上掉下來的蘋果擊中,因此想出了凡物體都會下跌的萬有引力定律!’

……

愛因斯坦終於成名了,一大群紀者擁到他的住處,大家都想採訪一下這個世上祗有幾個人讀得懂的相對論是甚麼?

對著這群科學白痴,愛因斯坦真是無言以對。結果他說:‘相對……相對就是你對著愛人,一小時也會變成一分鐘。對著你不喜歡的人,一分鐘也會變一小時!’

翌日,報紙便‘如實’報導。

幾十年後

教授:‘相對論就是對著愛人……’

學生:‘相對論好像不是說這些!’

教授:‘還有錯嗎?這是愛因斯坦說的!’

……

我收到‘高人’指點,他說我文筆累贅,例如在‘陰陽論(九)’中,便有‘用不嚴謹的思路’一句,‘思路’就是‘思路’甚麼‘嚴謹’‘不嚴謹’,根本整句都是不必要的。

小弟文筆累贅是鐵一般的事實,但這句絶不能刪去。這絶對是不科學、不嚴謹的思路!把萬有引力定律說成是物體必定向下跌,並不比‘錢是提款機來的’高明。但若不停地說萬遍,可能我們都會相信這是‘真理’了。

限於水平和篇幅,說一些簡化了的科學點滴,給大家娛樂娛樂一下尚可,但我根本就不可能談嚴謹的科學!若我不說明,而大家把我文中的東西當成是真科學,我就真是成了科學罪人了!

就以‘陰陽論(九)’中的推論為例,為甚麼急速降溫,晶體一定會細。必然性在那裏?或更基本的,為甚麼必會生成晶體?好,就算是生成了細小的晶體,又為甚麼一定會變硬呢?

若從物理學的角度出發,根本就不可能這樣思考問題?單從變硬這個問題說,物理學絶不能接受‘變硬了’三個字。為甚麼?沒有物理模型和量化,就不是物理學!甚麼是物理模型,有機會我再另文討論。量化就是要問,如何量度‘硬度’,再問‘硬了多少’,再問‘這個量是如何計算出來的’……

事實上,若把鐵提練得很純,碳含量很少(重量計少於0.3%),那就不論怎樣急速降溫,鐵都是不會顯著變硬的!

而類似的工序可以用於玻璃科技,這便是一般人所說的‘強化玻璃’(或‘鋼化玻璃’),但玻璃經此程序是表面變軟,而不是變硬!

在科技世界,鮮有‘萬能定律’。愛恩斯坦就有一句名言:‘常識祗是人十八歲前的偏見而已!’

後記:
上文我有些失控,一說到‘偽科學’我便會失控,敬希各位原諒!千萬不要以為掌握了一些基本原則,就是掌握了科學。事實上,魔鬼就在細節內!若熱處理就是水冷,又何來高下之分呢?

2008年9月3日 星期三

陰陽論(九)

上文完結時,我預告了今次我會討論一下有關中國文化的一些基本問題。文章其實經已寫好,祗是在最後編輯階段。但昨天發現了一個有趣的話題,還是先和大家分享罷!

這就是昨天在網上聽到馬鼎盛在電台節目‘講東講西’裏提到一段歷史,他說:‘周恩來總理每次接見英國代辦(註一)時,都會拜託他帶回一些刀片……’

這是甚麼問題,難道中國有核子彈,有人造衞星,但就是做不出一片高質素的刀片來服侍總理的鬚!究竟刀片是個甚麼問題?

任何事情都可以是陰陽問題,要做出一片高質素刀片也是一個陰陽問題。但這個正正是陰陽,甚或中國文化的基本盲點,有關這概念,我會另文再討論。

刀片的材料主要是鋼,小時候,我無法理解鐵與鋼的分別。事實上,從非專業角度,兩者分別是非常模糊的。簡單來說,鋼就是經過一些特別處理的鐵。練鋼粗略可分為兩個步驟,提純和熱處理。

提純就是控制鐵的雜質,又或特別加進一些雜質以改變成品的特性。其中最需控制的便是碳。有關雜質對鋼的品質的影響,有機會再另文再討論罷。

而說到熱處理,我想你必定見過有關畫面,劍匠把燒紅了的鐵用錘打成劍型,然後把它放進冷水,蒸氣上升,劍匠大叫一聲‘好劍’,然後吐血而死!(註二)

把高溫的鐵放進冷水,這就是熱處理。用今天的科學語言解釋,這樣做就是要減小鐵晶體的體積。又是‘火星文’了,或你可這樣理解,同一個容器,用以盛載沙或石,那樣的體積會比較大?常識會告訴我們,同樣的容器,可盛載沙的體積會比石頭大。為甚麼?原因就是石與石間會有很多空間,相比下,體積較小的沙粒之間,空間就遠少於石與石的空間。

用不嚴謹的思路,我們可以理解若把鐵的晶體理解成沙或石,讓高溫的鐵慢慢降低溫度,結果就是石。但若急速降低溫度,便是沙。我們又可再推斷,晶體越小,硬度便越高!穿透沙是何等的難,但穿透充滿空間的石塊,相對來說便容易得多了。(註三)

如刀劍等利器,其‘利’就來自‘硬’。兩刀相碰,‘軟’為‘硬’所破,硬者便是‘利’(註四)!那麼便易辦了,把鐵溫提到最高,然後用最冷的水,再不夠就加冰,就不是可練出最硬的鋼嗎?那怕練不出給周總理用的刀片呢?

這想法便是‘極陽’!若‘獨陽’(即‘至硬’)可完全解決問題,那麼一切事情便簡單了。但‘獨陽’有一個大問題,就是脆(brittle)。玻璃的硬度比鋼高,你絶對可以理解玻璃是何等的‘利’。但那位大俠願意用玻璃做佩劍呢?除非他是傳說中的‘一招了’!

過硬的刀具就會容易斷裂,最理想的刀是外硬而內軟,又或‘外陽而內陰’,對有相當厚度的刀具而言,這並不太困難,祗要有一個非常高溫的爐,在熱力尚未滲透刀內,便迅速降溫,就可以做到,外硬而內軟,或‘外陽而內陰’。

但是,鐵是良好的熱導體,就以刀片為例,在電光火石間熱便會深入刀內!

工程師和科學家就不知花了多少精力去改進練鋼科技。今天,這方面仍以日本和德國為最先進!

原則上,練鋼科技便是一個‘陰陽調和’的問題。原來又是‘陰陽’問題,又是中國的偉大‘文化遺產’,這足以令我這個中國人‘感覺良好’。但為甚麼周總理還是要用進口刀片呢?這更是我們要深思的問題!


註一:當時中英的外交關係祗是‘代辦級’,所以,英國註中代表是‘代辦’而不是‘領事’。

註二:劍匠為何吐血最少可以有兩個解釋,一是他們以‘精氣’練劍,劍成便人亡。二是他們使用了滲碳技術,早期的滲碳技術就是用氰化物(Cyanide)的,若處理不當,便會中毒而死。

註三:我在本文中忽略了雜質,特別是碳對鋼材的影響。這其實是十分重要的,必須留意。

註四:‘利’當然也和形狀有關,磨刀就是把刀鋒磨成特定形狀,形狀與硬度便是要相配合,才可做出最‘利’的刀具。

2008年9月1日 星期一

陰陽論(八)

上文說到有關獲取友誼和易經之間的關係。現暫不解釋易卦是怎樣的,先介紹易經內和這事有關的兩支卦。

有一成語‘否極泰來’,你可知甚麼是‘否’和‘泰’呢?‘否’和‘泰’其實就是易經內的兩支卦!想想‘國泰民安’的意思,便可理解‘泰’的意義。而‘否’正正與‘泰’相反。所以,‘否極泰來’的意思正是壞事盡了好事便會來。(註一)

‘泰’的卦象如何呢?易卦是由兩八卦組成的,這些以後我會再詳細討論。坤上乾下為‘泰’。‘坤’就是至陰至柔,相反‘乾’就是至陽至剛!還記得我說過‘上’為‘陽’,‘下’為‘陰’嗎?這即是說,陰在上(陽位),陽在下(陰位),就是‘好’,‘吉祥’,‘安寧’……

陰在陽位,陽在陰位,‘國’便會‘泰’,‘民’便會‘安’。吓!儒家不是講秩序,講階級,講倫常的嗎?不是陰在陰位,陽在陽位才正確的嗎?‘否’正是乾上坤下,但正正是‘壞’!

上例正正反映了‘陰陽’的一個‘超越常識’的概念。這就是‘變化’,‘易’即‘變’。整本‘易經’其實就正正是講‘變’,教我們如何‘變’。同樣,‘陰陽’也是‘變’。

那麼,‘泰’和‘變’又有何關係呢?陰在陽位,陽在陰位,於是便可以有‘交流’。例如,太陽是‘陽’,太陽在天,‘陽’在‘陽位’當然可以視為正常,但‘陰陽’便沒有交流了。若長時間保持不變,便是旱災!但若水在天,雨便可從上而下,陰陽就有交流,是‘好’現像!當然,有人會說,長期下雨就不是水災嗎?正是!所以,‘變’才是重要,理想的情況便是陰在陽位,但陰在適當時間便下降到‘陰位’,‘陽氣’又重來,但‘陰氣’又慢慢上升,這樣偱環不息,就是最‘吉祥’了。

相反,‘否’便是陰在陰位,陽在陽位,‘陰陽’便無可能交流了,死水一潭,是‘壞’!

這個啟示就極有用了,今人處事,很多時都犯了‘極陽’或‘極陰’的毛病。好像這個世界祗有兩種人,一是幫人的人(陽),另一便是受人幫的人(陰)。正如我以前說過,人就是‘喜陽惡陰’的。人們會歌頌幫人的人,而鄙視要受人幫助的人。‘孤陰不生,獨陽不增’的道理,以前我已說過。今天,我們還要知道,陰陽必需交流,交流才是好事!

就以上文的借錢為例,很多慷慨之人會漸漸發展出‘強者的自大’,越去幫人就越接受不了別人的幫助。但這就是走向‘極陽’又或‘缺乏陰陽交流’。我和太太回國內山區進行一點社區服務工作時,一落村探訪便經常會遇到一個問題,這就是村民會很熱情地拿出他們僅有的口糧來招待我們。初時,我們實不忍吃他們這些口糧,但漸漸我們又發覺,其實這樣是會令他們極難堪的。後來,我們便很自然的,該吃便吃。

若人把自己置於‘給人恩惠’的‘道德高地’來進行社會服務,這就已是一種錯誤。同樣,以‘低人一等’的心態來接受幫助,也是一種錯誤!在我身邊,有不少‘菩薩’。他們有些是經常幫助我的人,但也有些是要受我幫助的人。我當然感謝前者,但可能我就更感謝後者給我付出的機會。而且,今天的‘陰’明天可能會變成‘陽’,同樣,今天的‘陽’,明天也可能變成‘陰’!

‘陰’和‘陽’祗是在某一特定時空的相對概念而已!執著於‘陽’或‘陰’都是一種錯誤!‘陰’‘陽’互動交流才應是我們中華文化的高度智慧!

寫到這裏,‘高人’又會批評我不夠嚴謹,把自己的概念強加於古人之口。我認罪,我確拿不出古文來印證我的具體說法!但同時,這正正是研究中國文化的一大盲點!基本上,中國文化就是著重含混和模糊(註二)。下文我會再詳加討論。

註一:‘否極泰來’的‘極’字其實亦是‘易經’內的概念。這就是‘動爻’和‘變卦’。有關‘動爻’和‘變卦’,我會另文詳細解釋。

註二:有未受過抽象思維訓練的人會把這些說成是抽象,但我絶不能同意!中國文化就祗有含混和模糊而絶無抽象,。

網誌存檔