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

時間 2021-06-01 07:13:47

1樓:maxdeath

晚上睡不著正好刷到了這個問題,想了一下反而更精神了。

反對 @武傑 高票答案。

我的答案是可能,而且其實很簡單,就是一次一密的變種而已。

重點是,要透過丹布朗民科式的描述試圖去理解他說的究竟是個什麼東西。然後你會發現他說的就是這麼一件事:所謂窮舉就是搜尋密文所代表的所有可能的狀態空間。

然後我們怎麼判斷是不是找到了明文呢?就是看狀態空間中哪乙個是自然語言,這裡,他預設了加密的明文一定是自然語言。

於是,這個所謂的旋轉明文密碼就是乙個密文的狀態空間恰好就是所有同等長度的自然語言的一種加密方式。舉個例子,現在告訴你說我想加密三字經裡的一句話,然後我加密的方式是把它隨機替換成任何一句三字經裡的話。然後現在給你密文,即某句三字經裡的話,問你明文是什麼。

你無法暴力破解,因為三字經裡的任何一句話都有同樣的概率可能是明文,換句話說,密文沒有對你猜明文這個行為給予任何額外資訊量。因此這個密碼無法通過密文暴力破解,而這其實就是一次一密的原理。

多說一點的話,一次一密通常是被描述成乙個和明文等長隨機生成只用一次的金鑰,但是這些限定的背後,核心是金鑰的資訊熵不能少於明文,而和明文等長隨機生成只能用一次的作用是保證明文熵不可能比這個更大了。

然而,如果我們知道明文只可能是自然語言,甚至說,英語的話,就好像我們知道明文只可能是三字經裡的一句話一樣,這個時候,金鑰的只要能保證熵和明文一樣就夠了,換句話說,加密後的密文如果可能的狀態空間正好均勻覆蓋了整個三字經的話,他就是乙個不可破解的,用於加密三字經的密碼了。

所以說,丹布朗描述的這個旋轉明文密碼其實就是乙個用於自然語言的,對於任何明文,密文的狀態空間都是所有等長的自然語言的一次一密而已。它的加密方式就是把一段自然語言隨機地替換成另外一段可能的自然語言。它確實是無法被破解的,因為密文不帶來任何資訊量。

2樓:蕭井陌

高中的時候同桌給我看達文西密碼,乙個週末看完,覺得有種上當受騙的感覺。。。

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

的數字排列中能否找到 e 的數字排列?

syh 提問者應該是覺得既然是無限,那麼肯定是包羅永珍的,所以花時間找,肯定可以找到所有的可能性 甚至如果1代表出生,2代表死亡,3代表上學,475839397代表tinder match到我老婆,8878838代表我的名字,也許我努力找就能找到我一生的故事。然後 代表我爸,努力找還能找到他一生的故...

電磁場中電場的旋度的物理意義

得飲閒茶 這個其實很簡單。總共有兩種型別的場線,一種是有頭有尾,另外一種是乙個圈,無頭無尾的。光用散度只能說明第一種線是否存在,還要有旋度說明第二種線是否存在。有散無旋,只有第一種線 有旋無散,只有第二種線。有散有旋,兩種都有。 曾彥博 1.我一開始也糾結這個問題,但現在不了。乙個問題回答到差不多的...

戰爭中的殲敵數字是怎麼來的?

硫磺叔 看法國老電影王中王,開局兩個飛行員對決 乙個擊中另乙個,但是這個先迫降 於是兩人都認為自己擊落了對方 於是迫降後第一件事就是在自己飛機上畫擊落標誌。於是繼續開打。 陳銘楷 炮兵實力太強的話,火力準備後步兵只要打掃戰場,以及.統計戰果。統計方式.一條手臂加一條大腿算乙個人,兩條手臂算乙個,腦袋...