January 27, 2011

  • 介紹幾本剛看完的書﹕(怎麼本來打算簡介也寫得那麼長…)

    世界第一簡單密碼學》三谷政昭、佐藤伸一,新店﹕世茂,2009

    漫畫形式,本來打算買給學校的,不過看過部分內容覺得有點難。找了個中七純數班的同學來問,結果連他也覺得難,那就決定留給自己看算了。

    當然,如果只看漫畫的話就不難(看漫畫有多難﹖),本書介紹共通金鑰密碼(如DES, AES)和公開金鑰密碼(分別是使用質因數分解為技術的如RSA、和使用離散對數的)。在漫畫以外,介紹了 DES 的運作方式和模數(即同餘數)、質因數分解的數學基礎和 RSA 密碼運算等。

    如果單是了解模數、或質因數分解,其實也不算難,難的是把它們結合一起的方程式。方某的附加數平平、純數更沒讀過,自然就更難理解。漫畫畫得再萌也沒用。

    相比而言,以往介紹過關於密碼的書籍,如《碼書》和《密碼傳奇》,比較集中於歷史部分。《碼書》的數學描述也不多,所以對不熟數學的讀者會較方便可觀。


    圖解重型武器》大波篤司,板橋﹕楓書坊,2009
    圖解特種警察》毛利元貞,板橋﹕楓書坊,2010

    (留意﹕「重型武器」一般是指一兩個人無法搬動的裝備如大炮坦克車之類,這本書介紹的重型機槍、迫擊炮之類其實仍屬於一般「輕型武器」的範圍。作者已在序言說明,是為了跟之前那本介紹手槍、步槍為主的《圖解輕兵器事典》相對才這樣叫。)

    上次介紹過同系列的《圖解戰車事典》,都是給一般讀者看的入門小書,旨在簡單介紹一下相關的知識。

    有趣的倒是大波篤司在網上被一些軍事發燒友狠批,說他胡說八道,不懂就亂說。不過像其他網友回應的,這種書本來就是寫給外行人看,那麼短的篇幅也不可能說得很詳細。再者,你看得出有問題的話,倒是證明了你已有相當的水準,已不是這些小書的目標讀者。
    例如批評者提及書中討論槍管口徑和彈頭的關係,忽略了膛線。但回應者說作者在另一本書有提及,這裡只是高度簡化的說法。而且有很多時候,其實是翻譯不好導致整本書讀起來很爛(當然這是出版社找不懂的人來翻譯、又沒找專家「執漏」的問題,正如我已經批評過一本文科生翻譯的科普書)。
    對這個問題,往維基百科一看,原來很多時候,彈頭的直徑是等於或略大於槍管口徑。這種細節恐怕已超出一般讀者(總之非槍械愛好者)的理解範圍了,而且也不是(約)一頁B5紙可以解釋得了的事。作者略而不提,應該是可以諒解的。

    不過寫專題文章很多時候都是這樣,很難在專門人士和一般讀者之間掌握平衡。例如少學者寫科普文章,除了因為科普文章對升職評等沒用之外,另一原因就是寫科普文章難免要簡化理論、多用比喻,然後就會被同行指責「有錯」、「誤導讀者」之類。於是科普文章就留待行外人寫,結果不就是錯得更多了麼﹖

    另一篇個人書評,亦批評大波篤司在戰車和彈道學上「撈過界」,同系列這幾本書「僅在描摹出該類事物之輪廓」不能作準。在這系列中,他欣賞毛利元貞那本《圖解特種警察》,因為作者本人有相關工作經驗,而且為影視作品擔任顧問,花了不少篇幅去解釋「影像的真實性」和實際作戰的分別。
    的確,本書這這方面很能發揮「消除誤會」的作用。不過反過來在實際戰術方面往往以「事關機密」不便多談,倒卻未必滿足到一些喜歡刺激的讀者。

    另外有趣的比較,兩本書一起讀就會發現。大波篤司強調軍隊面對敵國士兵,如果殺得太過火會招致國際批判﹔警察面對罪犯,只要法律和輿論許可就能放手去幹,於是連「空尖彈」、「反軍品步槍」也不怕對人用。毛利元貞則反過來,說特警隊的責任是拘捕犯人送交法辦,每開一槍都要寫報告,不如軍方特種部隊,誰阻我就殺誰,對恐怖份子多開幾槍確保打死也沒所謂。聽起來好像是軍隊和警方互相推卸的樣子。
    不過我比較認同毛利說的,除非是窮兇極惡的恐怖份子,否則警方總不能隨便殺人的,但軍隊面對敵人,只要未投降的話殺了也當成天經地義。何況,如果真的面對窮兇極惡的恐怖份子,通常就會直接找軍方特種部隊來收拾了吧﹖再者,警方用空尖彈的主要理由,是避免流彈穿過人體誤傷旁人,而非增大中彈者的傷害。

    ---

    筆記,或挑骨頭﹕

    《世界第一簡單密碼學》

    p.74 「NSA是在世界各地進行諜報活動的組織喔﹗」

    NSA美國國家安全局,任務是截聽資訊和解讀密碼情報,並不是一個搞間諜的組織,所需情報可在國內就收集到、或者靠友邦情報組織提供。作者似乎把它和中央情報局、聯邦調查局之類搞混了。

    p.158 「a^φ(n) = 1 (mod n)……由於 a^φ(n) X a = a^φ(n)+1,因此顯然下式也成立﹕a^φ(n)+1 = a (mod n)」(歐拉定理)

    為何不是 1+a (mod n)﹖

    p. 160-161 「任意2個正整數的乘積等於最小公倍數和最大公因數的乘積」

    「對於和15互質的自然數a,可成立下式﹕a^4k = 1 (mod15)  k為非負整數

    換句話說,a連乘至φ(N)次方為止,以(p-1)和(q-1)的最小公倍數L為周期,最大公因數G次之中,至少會出現『1』。」

    其實也不太明白。

    《圖解重型武器》

    p.87 「由於德軍有很多種三腳架都可以將腳的角度作自由的變換,所以盟軍的士兵也會將其稱為『蝗蟲』(Grasshopper)。」

    Grasshopper是草蜢吧﹖雖然草蜢過多就變成蝗蟲,但蝗蟲的英文是 locust

    p.136 「使得使用者不得不必須要自行製作彈藥」

    非常繞口,「令使用者不得不自行製作彈藥」就是。

    p.217註火箭馬達 「Engin」應為「Engine」

    《圖解特種警察》

    p.36 「日本國內有景仰美國,想要脫離情緒性思考,學習理論性思考的風氣。不過這種風氣的代價就是進口了心理疾病。一心一意改變價值觀的結果,使得人們無法坦率的表達感情。也因此有些人心理扭曲到要以大量殺人或連續命案表達自我。」

    現代社會如何發展到刺激連續殺人是一回事,但「理性思考導致心理病」恐怕是沒關係的吧﹖而且以日本傳統文化和禮儀而言,「無法坦率表達感情」恐怕也不是西風東漸才出現的事。

    p.90 「排」應為「綵排」

    p.112 提及的 CQC 其實到 p.124 才有介紹,應該在提出時就提供全名。

Comments (9)

  • 設A和B為正整數,HCF(A,B)為其最大公因數,LCM(A,B)為最小公倍數。

    已知:
    一、A = m HCF(A,B)
    二、B = n HCF(A,B)
    三、LCM(A,B) = p A
    四、LCM(A,B) = q B

    從(一)和(三),LCM(A,B) = p m HCF(A,B);
    從(二)和(四),LCM(A,B) = q n HCF(A,B);
    推斷 pm=qn。

    LCM(A,B) HCF(A,B) = pm [HCF(A,B)]^2 = qn [HCF(A,B)]^2

    A B = mn [HCF(A,B)]^2 = pq [HCF(A,B)]^2

    因此,若m=q, n=p,AB = LCM(A,B) HCF(A,B)。

    經驗上,確實m=q, n=p,但想不到怎樣證明……

  • 想到了。

    pm = qn ____(1)
    mn = pq ____(2)
    (1)/(2):p/n = n/p 所以 p = n 或 p = -n;但m,n,p,q均為整數,所以p=n。
    同理,可得出m=q。

  • 密碼學,如果要理解當中數學,真係要學羣論等高階數學。但如果純係用,又未必要理解原理,只要跟式行就得。書中應該有XOR、質數特性之類之運算吧。密碼學最本係有咁亂打到咁亂,等人難由輸入輸出,搵到規律出來。另一種要素,就係任你撞,有好多機同時做,都要極之耐嘅時間。DES、AES、RSA都有數學弱點,亦非牢不可破。DES同RSA,一早就有人破咗。最強好似係one time pad。不過唔用就唔記得囉。

  • 你長氣囉 XD
    其實不論長短,你寫的書介都一樣好看。

  • "再者,警方用空尖彈的主要理由,是避免流彈穿過人體誤傷旁人,而非增大中彈者的傷害。"

    本地執法部門的教範可不是這樣說,他們強調的是提高制止力(stopping power).

    即是利用空尖彈擴大傷口的特性,製造大量失血,快速地令犯人因大腦缺血而失能(incapcitate).

    避免過度穿透雖然也是一大考慮,但是並非主要的理由.

    開槍的目的,在於制止犯人傷害其他人(包括執法者本人),

    只要能證明有需要開槍制止犯人,無論犯人中槍後受傷程度如何,

    也是合法開槍,就算犯人死了也是合法被殺.

    林寶一案中就可以看到,儘管只是普通市民,只要執法者能證明該人所為,

    對執法者自己或其他人的生命構成即時危險,

    執法者一樣可以合法開槍,而無需負上法律責任.

    反過來,就算是窮兇極惡的悍匪如季炳雄,他既然睡著了,

    對飛虎隊沒有即時威脅,他們也只能一槍不發地把他抓住.

  • @飛蚊導彈 - 「制止力」書中亦有提及(所以我不提),不過作者的說法似乎是「把動能完全傳給被射中者」而非「大量失血」這一點。

    警察開槍的限制比軍隊多,開槍的機會更少,所以才會用殺傷力那麼大的子彈吧﹖

    @栗姐 - 妳話既o者 :p

    @ruby_omnibus - XOR有講,不過唔難理解所以不提。DES直頭係美國NSA保證破到(限死密鑰長度)先畀你賣。

    one time pad仲簡單,可以是字母轉換表(如果同時用多套字母轉換表就更安全),不過限定「只用一次」。因為只用一次所以無法用機率猜出哪個字母代表哪個,只要密文不太長就可以。德軍那套「奇謎」如果不是因為明文用了固定格式開頭(天氣報告),盟軍就算已有機器在手也未必破解得到。

    @beanchung - 多謝,一陣得閒慢慢溫…

  • 以前讀IVE學過點破。其實破唔難,不過要時間,同埋個個數越大,就要越耐。近期RSA 768bit已經用電腦破左(RSA組織會出條數比人解),正威脅現時大部份https的1024bit,不過一般網上銀行會用2048bit。

  • 方老師挑起我條筋計數的說。

    把「a^φ(n) = 1 (mod n)」重寫成「a^φ(n) = nQ + 1」,以便我個人計算。(設Q為商。)

    兩邊乘以a,
    LHS = [ a^φ(n) ] a = a^[φ(n)+1]
    RHS = (nQ + 1) a = nQa + a

    所以,a^[φ(n)+1] = nQa + a = nQ’ + a(設Q’ = Qa,另一個商。)。換言之,a^[φ(n)+1] = a (mod n)。

  • @beanchung - ~~我完全明白了﹗~~

    不過淨係a^[φ(n)+1] = a (mod n)呢樣,果d mnpq仍是半明不白。:p

Comments are closed.

Post a Comment