|
為什麼王小雲破譯大數密碼是錯誤?第一節-命題我們想想,命題是怎麼產生的?需要怎麼樣去證明? 演繹證明某事肯定是這樣,演繹是從一般到特殊,只有演繹推理形式是必然有效的,因為大範疇的存在,是小範疇存在的充分條件,所以,演繹推理是必然的因果關係推理。歸納說明某事在實際上是有效的,歸納是從一些特殊到一般。溯因推理是說某事可能是這樣。溯因推理是推理形式最弱的一種。溯因推理藉助不完全歸納預測成為一個命題叫做猜想(證明一個猜想是告訴你結果,讓你按照規則找出原因-過程的必然性,把道理講清楚)。歸納只能預測,不能證明。我們證明一個數學命題就是一種整體上弱勢溯因加歸納推理,每一個局部需要強勢演繹推理。為什麼不能用歸納法證明?因為設立命題時使用少量樣本歸納出來的,再用少量樣本證明,就不可靠了。舉例哥德巴赫猜想:原始信息(6=3+3,8=3+5,..。就是逐一歸納有限的樣本,具有某種性質(兩個素數之和),於是歸納推出“哥德巴赫猜想”推導出(預測)有無窮多個的數量樣本也具有某種性質)。歸納中每一個必須是成立的,不能有例外。在有限數量基礎上歸納產生的猜想,通過演繹證明是不對等的。歸納是在一個有窮大的樣本中逐一列舉, 只要樣本空間沒有被窮盡, 使用的都是簡單枚舉歸納推理。而命題是對於無窮大的樣本, 我們根本不可能窮盡該樣本空間, (例如哥德巴赫猜想中的偶數就有無窮多個)因此只能使用簡單枚舉歸納推理,簡單枚舉歸納推理是一種擴大了前提條件的推理, 它的結論是不可靠的。使用歸納推理提出假說, 其假說是非常脆弱的, 因為對它的逐一證實是絕對不可能的, 除非你窮盡樣本空間, 而一旦如此, 你使用的已經不是歸納推理了。它的脆弱性體現在只要一個反例, 就可以推翻這個假說命題。無窮多個樣本的數學定理必須是全稱判斷,數學家必須完成一個:由歸納出來的有限個事實樣本去證實無窮多個元素的--不可能完全證實的命題進行演繹方法證明,並且結論是全稱肯定判斷的正確三段論只能是第一格的AAA式。這是絕大多數數學命題證明無法做到的。溯因加歸納推理是從結果追溯原因的推理,溯因推理是關於採納假說的推理.,採納一個留待觀察的假說-歸納產生的全稱命題, 它僅以疑問的或猜測的方式斷定其結論是真的。歸納推理是基於有限觀察的、從有限樣本推出一般結論的推理, 它的前提是關於個別事物具有某種性質的論斷, 結論卻試圖得出全體事物皆具有此性質的論斷。不完全歸納出來的全稱判斷形成的待證命題,怎麼可能通過演繹推理回到初始信息?讓初始信息變成一個定理?歸納產生的樣本,推導出命題,歸納的樣本沒有進入命題因果關係;沒有進入證據鏈,前提不是結論(即全稱判斷的命題)的必然原因,所以只能是猜測。 因為少量歸納產生的元素具有某種屬性,誇大和膨脹了命題(有無窮多個元素),證明命題時候就要填補這個誇大的空缺。 大數分解與命題產生的機理恰恰相反,大數是由演繹產生的,素因數與乘積是因果關係,而分解是相關關係:大前提:a和b都是素數(全稱肯定判斷A)。小前提:a xb=c(全稱肯定判斷A)。結論:c是一個合數(全稱肯定判斷)。分解當然也可以用演繹完成,將c逐一試除,最終完成精確分解。但是,大數構造的密碼,要求在短時間分解,無法在幾萬年持續試除,所以,只能通過少量的-有限的-有效的工作解決。就是在逐一試除中抽樣(取樣)一些素數,那麼,這個工作就是歸納法了。設立哥德巴赫猜想的歸納單項都是明確的,例如,6=3+3,10=5+5,不能出現反例,否則,命題無法推出。大數分解證明中的歸納是猜測的,每一個試除都是例外,直到最後一個成立。13試除不行,那麼就17試除吧,再不行,就下一個。看出來了沒?你要拿出方案證明大數分解可以在短時間完成,就要對·變量c和a,b進行演繹推理,概括出絕對的規律。設大數c可以有1000位數,1001位數,....。c是一個變量;a也是變量,是有待歸納的變量,是一種獨立的變量,不會因為c的變化而變化。就是說,c與a是相關關係,不是因果關係。(大家知道三體問題,太陽-地球-月亮,他們的兩兩之間關係是明確的,三體問題是因果關係。但是,依然是二階變化率,即變化率的變化率,是二階邏輯問題,是無法一次性證明的)。 大數分解的大數c與素因數a是更加詭異的變量,比三體問題更加複雜,兩個獨立的變量c和a要求達到一致,並且對於所有的-並且無窮多個的c,找到一種能夠一次性解決的分解方法,哥德巴赫猜想證明是因果關係;大數分解是相關關係,數學證明針對的是因果關係。大數分解是相關關係,不屬於證明範圍。這是神的工作,人類永遠不能做到。所以,王小雲大數密碼破譯是痴人說夢。王小雲院士真地破解了 大數密碼了 嗎?在 2004 年,王小雲院士與其他研究人員合作發表了一篇名為《Collisions for Hash Functions》的論文,展示了如何通過碰撞攻擊生成具有相同 MD5 哈希值的兩個不同輸入。所謂的“破解”其實誤導了很多人,並不是說扔給王小雲一個 MD5 散列值,然後她馬上就能算出一個原文來。從密文推算出明文理論上是不可能的,所以王小雲的研究成果並不能通過 MD5 的散列值逆向推算出明文。即給定 Hash 值,王小雲不能逆向計算出 M。MD5(M)=Hash1其中 M 指密碼的明文,Hash 表示密碼散列後的密文。實際上,王小雲的研究成果如下:MD5(M1)=MD5(M2)1即給定消息 M1,能夠計算獲取 M2,使得 M2 產生的散列值與 M1 產生的散列值相同。如此,MD5 的抗碰撞性就已經不滿足了,使得 MD5 不再是安全的散列算法。這樣一來,MD5 用於數字簽名將存在嚴重問題,因為可以篡改原始消息,而生成相同的 Hash 值。這裡,簡單地用王教授的碰撞法給大家舉個簡單的例子。假如用戶 A 給 B 寫了個 Email 內容為 Hello,然後通過王教授的碰撞法,可能得到 Fuck 這個字符串的摘要信息和 Hello 這個字符串產生的摘要信息是一樣的。如果 B 收到的 Email 內容為 Fuck,經過 MD5 計算後的,B 也將認為 Email 並沒有被修改!但事實並非如此。王小雲院士的研究報告表明,MD4,MD5,HAVAL-128 和 RIPEMD 均已被證實存在上面的漏洞,即給定消息 M1,能夠找到不同消息 M2 產生相同的散列值,即產生 Hash 碰撞。後來在 2005 年,王小雲同其他研究人員又發布了一篇論文《Finding Collisions in the Full SHA-1》,理論上證明了 SHA-1 也同樣存在碰撞的漏洞。隨着時間的推移,計算機計算能力不斷增強和攻擊技術的不斷進步,SHA-1算法的安全性逐漸受到威脅。在2017年,Google研究人員宣布成功生成了第一個實際的SHA-1碰撞,這意味着攻擊者可以通過特定的方法找到兩個不同的輸入,但它們具有相同的SHA-1哈希值。5.結論雖然 MD5、SHA1 已經被證實在數字簽名存在安全問題,但是 MD5、SHA1 在密碼的散列存儲方面還是很安全的算法,只要密碼足夠複雜,加鹽且迭代次數足夠多,抗得住主流的口令破解方法,如暴力破解、彩虹表、字典攻擊、詞表重整攻擊、概率上下文無關文法等。
|