區塊鏈將被毀滅?全面解讀黎曼猜想
近日,「黎曼猜想」四個字突然被刷屏。
欲顛覆世界的區塊鏈竟然要被顛覆了?
圈內充斥著恐慌!
而一切的根源來自於9月24日,媒體發布的一則關於「黎曼猜想被證明」短訊。
2018年9月20日,菲爾茲獎和阿貝爾獎雙料得主、英國皇家學會前主席Michael Atiyah爵士宣稱自己證明了黎曼猜想,並將在9月24日海德堡獲獎者論壇上宣講。
看內容只是數學界的一件大事,為何網上會傳言「區塊鏈」將亡?黎曼猜想究竟是什麼?和區塊鏈有什麼關係?它真的會毀滅區塊鏈嗎?
「黎曼猜想」是什麼?
「黎曼猜想」由數學家波恩哈德?黎曼於1859年提出。簡單來說,黎曼猜想就是一個找素數的方法。
波恩哈德?黎曼
(波恩哈德?黎曼(公元1826—1866年),是德國著名的數學家,他在數學分析和微分幾何方面作出過重要貢獻,他開創了黎曼幾何,並且給後來愛因斯坦的廣義相對論提供了數學基礎。)
回憶一下:素數指那些只能被1和自己整除的整數,比如2、3、5、7。而每個整數都能表示成有限個素數的乘積,比如,6=2*3,8=2*2*2,因此素數可以看做是自然數體系的原子。
無數的數學家表現出了對素數的興趣,尤其是素數在自然數中的分布:區間內到底有多少個素數?比如2、3、5、7、11、13、17,我們假設17後面的下一個素數是P,那麼這個P是多少呢?如果一直找下去,我們該如何知道下一個P是多少呢?
這就是黎曼猜想要解決的問題,他想找到素數精確的分布規律。
實際上,早在古希臘時代,人們就已經發現了素數,但是直到現在,依然沒有完全揭開素數的神秘面紗。
黎曼猜想從被提出到現在,一直懸而未決,困擾世人長達一個半世紀。德國數學家希爾伯特在1900年,將黎曼猜想列為23個著名的數學問題之一。在2000年提出的 「千年大獎問題」中,黎曼猜想又赫然在列。
如今,邁克爾?阿蒂亞(Michael Atiyah)爵士宣稱自己證明了黎曼猜想,看上去,這應該是數學界的狂歡。那麼,這個黎曼ζ函數ζ(s)的零點分布的猜想,為什麼會對加密貨幣產生影響呢?
佔據加密演算法半壁江山的非對稱演算法
「黎曼猜想被證明對互聯網的安全加密方式造成相當的影響。因為目前主要的非對稱加密包括RSA密鑰加密等都是基於大數的分解。基於大數分解的流行加密方案原則上可以在多項式時間內破譯。而黎曼猜想得證,將會為找到那樣一個多項式時間的高效演算法提供強烈的提示。」
這是南大周志華教授,物理學家賴光澤微博發布的有關黎曼猜想被證明的消息。聽著是不是晦澀難懂?
要想明白黎曼猜想為什麼會對加密貨幣造成影響,首先我們要先理解加密貨幣加密的原理。
首先要先明確一個關鍵詞:非對稱加密演算法。
全世界所有的加密貨幣的加密方式無非是「對稱加密」和「非對稱加密」兩大類,而黎曼猜想所能影響的就是使用非對稱加密的加密貨幣。
假如現實世界中存在A和B進行通訊,為了實現在非安全的通訊通道上實現信息的保密性、完整性、可用性(即信息安全的三個性質),A和B約定使用非對稱加密通道進行通訊。
非對稱加密演算法邏輯原理
A和B是要通訊的兩個用戶,CA則是密鑰管理系統。在這個系統里,如果A要和B進行加密通訊,那麼A首先要在CA處生成自己的簽名證書、加密證書兩張證書,然後A將自己要發送的信息通過哈希(Hash)運算將信息打包成摘要,並且用加密證書加密,在此之後在加上自己的簽名證書。
然後發送給用戶B,B在通過與CA協商時獲得的公鑰、私鑰以及簽名證書和加密證書來對A發過來的信息進行拆解。這樣一次加密信息的交流就完成了。
這就是非對稱加密演算法。
素數與RSA演算法
非對稱加密演算法是基於RSA演算法實現的,而RSA演算法基於一個十分簡單的數論事實:將兩個大素數相乘十分容易,但是想要對其乘積進行因式分解卻極其困難。
在RSA演算法中,生成秘鑰的方式是:隨機生成兩個超大的素數(一般是幾百位),相乘得到一個合數,破解密碼需要將合數分解,找到那兩個素數。
果殼網友「零天」解釋,這就相當於,你握著密碼能夠解開密文,但是,給你密文你卻怎麼也找不到那個解開密文的密碼。因此,我們可以將乘積公開作為加密密鑰。
舉一個具體的例子(太長可不看):
我們假設有兩個不同的素數p和q,然後我們計算二者的乘積n=pq和Φ(n)=(p-1)(q-1);然後我們選擇一個大於1小於Φ(n)的隨機整數e,使得gcd(e,Φ(n))=1;註:gcd即最大公約數;
之後,我們計算d使得d*e=1mod Φ(n);註:即d*e mod Φ(n) =1;
對每一個密鑰k=(n,p,q,d,e),定義加密變換為Ek(x)=xe mod n,解密變換為Dk(x)=yd mod n,這裡x,y∈Zn;
最後,p,q銷毀,以為公開密鑰,為私有密鑰。
大家是不是已經被繞暈了,沒關係,接下來一個例子會讓大家一清二楚的。
到這裡,公鑰和密鑰已經確定。公鑰為(N, e) = (33, 3),密鑰為(N, d) = (33, 7)。
這樣就是一次信息交流中,公鑰和私鑰的誕生方式,這樣在進行信息傳遞(買進、賣出等一系列行為)時,往往會選擇數額極大的兩個素數來進行RSA演算法加密,因此破解起來十分困難。因為素數越大,破解的難度幾乎是呈幾何性倍增。
RSA演算法會運用在很多互聯網領域,比如保護你的微信聊天隱私等等。可以說,素數是現代密碼學的支柱。
因此,如果黎曼猜想被證明,如果我們知道素數分布的規律,那麼RSA演算法、非對稱加密甚至現代密碼學,會不會被攻破呢?
黎曼猜想對加密貨幣有什麼影響?
黎曼猜想發表於1859年,主要解決了素數的分布問題,之後有大約1000多條數學理論基於該猜想被提出,也就是說很多數學家已經在拿著黎曼猜想在使用了。
如果它能破解某個加密體系那早就被提出來了,但是我們依然期待本次阿蒂亞爵士對黎曼猜想的證明,因為他有可能帶來全新的工具。
RSA的安全性依賴的大整數分解(正確的說,應該是如果誰能夠分解大整數,那麼他就能破解RSA;但是破解RSA的人不一定能夠分解大整數)。而目前最有效的分解演算法當屬數域篩法,但依然不能有效的分解大整數。
如何隨機的選取兩個大素數是安全使用RSA的基礎條件。但實際上,如何判定一個數是否是素數並不簡單,尤其是當這個數很大的時候。
目前最常用的素數判定演算法是Miller-Rabin素數判定演算法,但該演算法只能確定性的判斷一個數不是素數,不能得出待測數是素數的確定性結論,所以通常我們對待測數進行多次Miller-Rabin判定來提升正確性。
2004年Manindra Agrawal等人首次證明了能夠在多項式時間(計算機能承受的時間)內確定性的判定一個數是否是素數。但該演算法耗時還是太大,並不能在實際上使用:比如要判定一個2048位的數是不是素數,需要近10億次2048位大整數的乘法。
RSA曾經爆出過的後門事件中,正是因為非隨機的選取大素數,導致有可能同一個素數被兩個用戶選取使用,這時使用公約數演算法就能很輕鬆的分解這兩個用戶使用的大整數了。
在區塊鏈中,使用得最多的是基於橢圓曲線的相關演算法,並不直接與素數相關。我們知道橢圓曲線有豐富的數學特性,比如英國數學家安德魯懷爾斯利用橢圓曲線證明了費馬大定理,日本數學家望月新一利用橢圓曲線證明了abc猜想(雖然最近該論文受到了一定的質疑)。
橢圓曲線與黎曼猜想或者證明黎曼猜想的工具之間有什麼聯繫,我們拭目以待。
但至少,黎曼猜想是否被證明,都與區塊鏈無關!
如果說黎曼猜想真正對加密貨幣造成威脅的話,那麼也只能是部分投機者利用黎曼猜想造成的恐慌心裡來操控幣價。


※Fomo 3D大獎揭曉,DApp反被貼上懷疑的標籤?
※「鏈動全球?2018區塊鏈全球行峰會」在港舉行 業界人士共話發展
TAG:比特萬象 |