• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            The Fourth Dimension Space

            枯葉北風寒,忽然年以殘,念往昔,語默心酸。二十光陰無一物,韶光賤,寐難安; 不畏形影單,道途阻且慢,哪曲折,如渡飛湍。斬浪劈波酬壯志,同把酒,共言歡! -如夢令

            從《暗算》看密碼學(轉)

            前一陣子看了電視劇《暗算》,蠻喜歡它的構思和里面的表演。其中有一個故事提到了密碼學,故事本身不錯,但是有點故弄玄虛。不過有一點是對的,就是當今的密碼學是以數學為基礎的。(沒有看過暗算的讀者可以看一下介紹,http://ent.sina.com.cn/v/2005-10-17/ba866985.shtml
            因為我們后面要多次提到這部電視劇。)

            密碼學的歷史大致可以推早到兩千年前,相傳名將凱撒為了防止敵方截獲情報,用密碼傳送情報。凱撒的做法很簡單,就是對二十幾個羅馬字母建立一張對應表,比如說
                


            這樣,如果不知道密碼本,即使截獲一段信息也看不懂,比如收到一個的消息是 EBKTBP,那么在敵人看來是毫無意義的字,通過密碼本解破出來就是 CAESAR 一詞,即凱撒的名字。這種編碼方法史稱凱撒大帝。當然,學過信息論的人都知道,只要多截獲一些情報,統計一下字母的頻率,就可以解破出這種密碼。柯藍道爾在他的“福爾摩斯探案集”中“跳舞的小人”的故事里已經介紹了這種小技巧。在很長時間里,人們試圖找到一些好的編碼方法使得解密者無法從密碼中統計出明碼的統計信息,但是,基本上靠經驗。有經驗的編碼者會把常用的詞對應成多個密碼, 使得破譯者很難統計出任何規律。比如,如果將漢語中的“是”一詞對應于唯一一個編碼 0543,那么破譯者就會發現 0543 出現的特別多。但如果將它對應成十個密碼 0543,3737,2947 等等,每次隨機的挑一個使用,每個密碼出現的次數就不會太多,而且破譯者也無從知道這些密碼其實對應一個字。這里面雖然包含著樸素的概率論的原理,但是并不科學化。另外,好的密碼必須做到不能根據已知的明文和密文的對應推斷出新的密文的內容。歷史上有很多在這方面設計得不周到的密碼的例子。在第二次世界大戰中,日本軍方的密碼設計就很成問題。美軍破獲了日本很多密碼。在中途島海戰前,美軍截獲的日軍密電經常出現 AF 這樣一個地名,應該是太平洋的某個島嶼,但是美軍無從知道是哪個。于是,美軍就逐個發表自己控制的每個島嶼上的假新聞。當美軍發出“中途島供水系統壞了”這條假新聞后,從截獲的日軍情報中又看到 AF 供水出來問題的電文,美軍就斷定中途島就是 AF。事實證明判斷正確,美軍在那里成功地伏擊了日本主力艦隊。

            事實上,在第二次世界大戰中,很多頂尖的科學家包括提出信息論的香農都在為美軍情報.部門工作,而信息論實際上就是情報學的直接產物。香農提出信息論后,為密碼學的發展帶來了新氣象。根據信息論,密碼的最高境界是使得敵人在截獲密碼后,對我方的所知沒有任何增加,用信息論的專業術語講,就是信息量沒有增加。一般來講,當密碼之間分布均勻并且統計獨立時,提供的信息最少。均勻分布使得敵人無從統計,而統計獨立能保證敵人即使看到一段密碼和明碼后,不能破譯另一段密碼。這也是《暗算》里傳統的破譯員老陳破譯的一份密報后,但無法推廣的原因,而數學家黃依依預見到了這個結果,因為她知道敵人新的密碼系統編出的密文是統計獨立的。有了信息論后,密碼的設計就有了理論基礎,現在通用的公開密鑰的方法,包括《暗算》里的“光復一號”密碼,就是基于這個理論。

            公開密鑰的原理其實很簡單,我們以給上面的單詞 Caesar 加解密來說明它的原理。我們先把它變成一組數,比如它的 Ascii 代碼 X=099097101115097114(每三位代表一個字母)做明碼?,F在我們來設計一個密碼系統,對這個明碼加密。

            1,找兩個很大的素數(質數)P 和 Q,越大越好,比如 100 位長的, 然后計算它們的乘積 N=P×Q,M=(P-1)×(Q-1)。

            2,找一個和 M 互素的整數 E,也就是說 M 和 E 除了 1 以外沒有公約數。

            3,找一個整數 D,使得 E×D 除以 M 余 1,即 E×D mod M = 1。

            現在,世界上先進的、最常用的密碼系統就設計好了,其中 E 是公鑰誰都可以用來加密,D 是私鑰用于解密,一定要自己保存好。乘積 N 是公開的,即使敵人知道了也沒關系。

            現在,我們用下面的公式對 X 加密,得到密碼 Y。
                


            好了,現在沒有密鑰 D,神仙也無法從 Y 中恢復 X。如果知道 D,根據費爾馬小定理,則只要按下面的公式就可以輕而易舉地從 Y 中得到 X。
                


            這個過程大致可以概況如下:
                


            公開密鑰的好處有:

            1.簡單。

            2.可靠。公開密鑰方法保證產生的密文是統計獨立而分布均勻的。也就是說,不論給出多少份明文和對應的密文,也無法根據已知的明文和密文的對應來破譯下一份密文。更重要的是 N,E 可以公開給任何人加密用,但是只有掌握密鑰 D 的人才可以解密, 即使加密者自己也是無法解密的。這樣,即使加密者被抓住叛變了,整套密碼系統仍然是安全的。(而凱撒大帝的加密方法有一個知道密碼本的人泄密,整個密碼系統就公開了。)

            3.靈活,可以產生很多的公開密鑰E和私鑰D的組合給不同的加密者。

            最后讓我們看看破解這種密碼的難度。首先,要聲明,世界上沒有永遠破不了的密碼,關鍵是它能有多長時間的有效期。要破公開密鑰的加密方式,至今的研究結果表明最好的辦法還是對大字 N 進行因數分解,即通過 N 反過來找到 P 和 Q,這樣密碼就被破了。而找 P 和 Q 目前只有用計算機把所有的數字試一遍這種笨辦法。這實際上是在拼計算機的速度,這也就是為什么 P 和 Q 都需要非常大。一種加密方法只有保證 50 年計算機破不了也就可以滿意了。前幾年破解的 RSA-158 密碼是這樣因數分解的

            395058745832651445264197678006144819960207764603049364541393760515793556265294
            50683609727842468219535093544305870490251995655335710209799226484977949442955603
            = 3388495837466721394368393204672181522815830368604993048084925840555281177 ×11658823406671259903148376558383270818131012258146392600439520994131344334162924536139

            現在,讓我們回到《暗算》中,黃依依第一次找的結果經過一系列計算發現無法歸零,也就是說除不盡,我猜她可能試圖將一個大數 N 做分解,沒成功。第二次計算的結果是歸零了,說明她找到的 N=P×Q 的分解方法。當然,這件事能不能用算盤完成,我就不知道了,但我覺得比較夸張。另外我對該電視劇還有一個搞不懂的問題就是里面提到的“光復一號”密碼的誤差問題。一個密碼是不能有誤差的,否則就是有的密鑰也無法解碼了。我想可能是指在構造密碼時,P 和 Q 之一沒找對,其中一個(甚至兩個都)不小心找成了合數,這時密碼的保密性就差了很多。如果誰知道電視劇里面講的“誤差”是指什么請告訴我。另外,電視劇里提到馮?諾依曼,說他是現代密碼學的祖宗,我想是弄錯了,應該是香農。馮?諾依曼的貢獻在發明計算機和提出博弈論(game theory)。

            不管怎么樣,我們今天用的所謂最可靠的加密方法的數學原理其實就這么簡單,一點也不神秘,無非是找幾個大素數做一些乘除和乘方運算就可以了。

            posted on 2009-04-08 21:51 abilitytao 閱讀(534) 評論(0)  編輯 收藏 引用

            亚洲AV日韩AV天堂久久| 精品久久久无码中文字幕| 久久成人国产精品免费软件| 一本色道久久综合| 中文国产成人精品久久不卡| 久久99国产精品99久久| 久久久久亚洲AV成人网| 亚洲va中文字幕无码久久| 国产精品久久久久久久| 欧美日韩精品久久久久| 国产精品久久久久无码av| 亚洲国产精品嫩草影院久久 | 亚洲午夜久久久久久久久电影网 | 99久久国产热无码精品免费久久久久| 精品久久人人做人人爽综合| 亚洲精品白浆高清久久久久久 | 久久香综合精品久久伊人| www久久久天天com| 久久婷婷五月综合97色直播| 9999国产精品欧美久久久久久| 久久受www免费人成_看片中文| 2020最新久久久视精品爱| 久久一日本道色综合久久| 亚洲中文字幕伊人久久无码| 91久久福利国产成人精品| 2021少妇久久久久久久久久| 久久久久亚洲av综合波多野结衣 | 亚洲AV日韩精品久久久久久| 久久综合九色欧美综合狠狠| 国产精品免费看久久久香蕉| 久久人人爽人人爽人人AV东京热 | 久久久久99精品成人片直播| 久久亚洲AV无码精品色午夜| 中文精品99久久国产| 三级片免费观看久久| 欧美日韩精品久久久久| 久久久WWW免费人成精品| 久久久久国产| 中文字幕无码久久精品青草| 亚洲欧美一区二区三区久久| 久久天天躁夜夜躁狠狠|