丹布朗《數字城堡》中的「旋轉明碼電文」能實現嗎?

旋轉明碼電文_百度百科


先說結論
不可能
下面是正文,我將會從兩個維度來描述這個結論

第一個維度,信息來源
抱歉,我實在是不太理解什麼叫做「旋轉明碼電文」,那怎麼辦呢?拋硬幣判斷這個能否實現?
不行,我可不是那種人,那對提問者實在是太不負責了。
要不我們先去查查吧。
百度谷歌了一下查到的所有內容都是《數字城堡》相關的,並且文字都幾乎一致。頓時感覺信息的來源可信度-20%
好,下面來百科,百度百科維基百科互動百科,一一檢索,發現維基百科中沒有此詞條(可信度-10%),百度百科和互動百科中的內容是一模一樣的,並且都很簡單(可信度-10%),描述內容主要為

旋轉明碼電文功能概念最初是在1987年由匈牙利數學家約瑟夫-哈恩在一家不起眼的報紙上提出來的。由於使用蠻力技術的計算機可以通過明碼電文的可識別辭彙模式來破解密碼,哈恩提出了一個新的解密程序,這一程序除設密而外,還可以在不同時間裡轉換解了密的明碼電文。從理論上來說,永恆轉變可以使解密電腦永遠找不到可辨識的辭彙模式,因此當它已經找到了準確答案的時候,它自己卻永遠也不會知道。這種理念有點像殖民火星的想法——從理智層面上講,這是可以理解的,但目前這還遠非人力所能及。

這句話我尼瑪看了三遍沒理解他的意思,為啥?因為這根本就是一個病句!

哈恩提出了一個新的解密程序

注意,這是個解密程序

永恆轉變可以使解密電腦永遠找不到可辨識的辭彙模式,因此當它已經找到了準確答案的時候,它自己卻永遠也不會知道

注意,這裡永恆變換明顯是個加密方式。
在此降低了20個百分點信息可信度這種事情自然也變成了難免的
那好吧,我們姑且相信他是在用解密程序在做加密的事情吧...對於科學而言語病永遠不是大問題,畢竟還有百分之40的信息可信度,那麼我們再查查吧

旋轉明碼電文功能概念最初是在1987年由匈牙利數學家約瑟夫-哈恩在一家不起眼的報紙上提出來的

讓我們不妨去查查這人是誰吧?百度谷歌一下,關鍵詞 「約瑟夫 哈恩」 很不幸,所有的搜索結果都只能指向《數字城堡》這本書,加之三大百科裡面都沒有檢索到任何相關的結果,所有的結果都在指向一個結果——這貨應該就是小說中隨口編出來的一個人物。可信度-20%
那好,最後,我們再看看數字城堡這本書到底是什麼來歷
數字城堡 (豆瓣)
再看看作者丹·布朗_百度百科
沒有任何的相關學科背景,一個完全由興趣引發的愛好者,一個單純的暢銷書作家。
恕我直言,數學和密碼學的研究著作,絕對不是外行人能夠看懂的,當中的數學和邏輯功底是非專科出生的人幾乎不可能具備的——更何況他還是一個作家。
可信度-20%
所以,從第一個維度信息來源,本身這個的來源就是極其不可靠的,因為就是作家結合各種科普小說杜撰出來的一個理論

第二個維度,邏輯上
從邏輯上而言,這也是徹頭徹尾不可行的。並且這種不可行對於任何一個真正了解學習過數學或者是密碼學的人而言都是顯而易見的。
我們先來說說一個概念,雙重密碼
這曾經是在各種科幻小說中被提到的一種神奇密碼,簡而言之就是被加密的實際上是一段已經被加密過的東西,於是當第一層密碼被破解之後計算機無法知道自己已經破解成功。
實際上,這是個徹頭徹尾不了解密碼學的人才會提出來的想法。因為密碼是基於加密演算法的,不同的密碼實際上就是不同加密演算法的逆推,雙重密碼根本沒有解決不可逆推的問題,只不過是讓逆推變得困難了
如果明文是a,那加密實際上就是將a變成b,而解密就是從b重新推得a
fleft( a 
ight) =b
也就是所謂的雙重密碼就是增加了一個函數
gleft( b
ight) =c
明文是a 第一重加密演算法是f第二重加密演算法是g,然後認為就不可能從c破解出a,因為當破解出b的時候根本不知道這是第一步的明文
可是其實你想想也知道啊,實際上不就是這個過程么!
gleft[ fleft( a 
ight)  
ight] =c
然後完全可以把這個雙重加密過程理解為同一個加密演算法,也就是
pleft( x 
ight) =gleft[ fleft( x 
ight)  
ight]
也就是,實際上多重的加密演算法只會提高演算法的複雜度(相當於變成了一個新的加密演算法),不會讓整個演算法的邏輯變得飛躍不可破譯(我才不告訴你現在大量的加密方式都是雙重甚至是多重演算法的符合使用,而切每個演算法都是同樣的方法進行的N多次相同的迭代)
好吧,這裡就說的太多了太專業了,不深入研究,知道結論就行,什麼雙重密碼科幻小說忽悠大家的!
然後至於演算法是基於什麼的?
數學難題,餘數問題,素數難題啊什麼的,這些問題都是已知的,也就是試圖破解你演算法的人都是知道你的加密流程的,阻止他們的只是因為這個數學難題解題帶來了極高的時間複雜度
任何密碼體系都不是,也絕對不應該依賴加密演算法的保密性
否則這個演算法就會變成了真正的秘密,而破譯的對象就變成了密文轉向了演算法,而你為了保密這個演算法又不得不動用別的演算法...於是進入死循環,只要有任何一環被破解了,整個加密體系都會瞬間崩潰。
好的,專業屬性的題外話又瞎扯了一些,回到主題,說說密碼可能不可能不按照演算法來
也就是,什麼,你說要加密是不按照邏輯來怎麼辦?
答案是不可能,因為密碼是需要被解密的
就比如這個旋轉明碼電文這個例子中說的方法吧,這個明文的變動是不是有規律的?明顯的嘛!不然你自己都沒辦法知道這個明文是什麼了那加密還有什麼價值,加密的東西自然得是能解密的啊!解密就是逆向求解!要是不能解密幹嘛不直接一把火燒了啥都沒了...
也就是其實這就是一個隨著時間變換的函數,和銀行的動態密碼差不多的邏輯,絕對談不上不可破解。

最後補充一些私房菜吧,有沒有絕對安全的密碼?
有!
什麼密碼?
一次一密_百度百科

先寫那麼多,下班了...有人看再補充


高中的時候同桌給我看達芬奇密碼,一個周末看完,覺得有種上當受騙的感覺。。。

後來再推薦數字堡壘的時候我就說緩緩,結果一緩就緩到了工作後,可是我已經我學會編程了。。。。


推薦閱讀:

為什麼銀行還在使用六位數字取款密碼?
暴力密碼破解器 ocl-Hashcat-plus 支持每秒猜測最多 80 億個密碼,意味著什麼?
程序員喜歡設置怎樣的密碼?
亞馬遜 (Amazon) 的一鍵下單安全性如何?

TAG:密碼 | 密碼加密 | 密碼學 | 丹·布朗 |