今年 6 月,DES 在短短三天半內就被解決的消息成為了頭條新聞,但這個實驗的意義在於它實際上實現了我們原則上已知的事情 – 如果真實的金鑰長度被很好地縮小,即使是 Brute Force Effort 也可以相當有效率地找到金鑰。這個實驗的意義在於它證明了原則上已知的事情 – 如果真實的金鑰長度縮減的很好,Brute Force Effort 也可以相當有效率的找到金鑰。這個實驗的意義並不在於 DES 是危險的,而是在使用任何密碼時,都必須考慮實際的金鑰長度。
有各種方法可以增加密碼的強度,但這些方法都很昂貴。包括加密在內的安全性,首先要將資訊的重要性分類。
</blockquote
EFF 的 DES 破解程式</h2
今年 6 月,DES 在短短三天半內就被破解,成為頭條新聞。解決這個問題的組織稱為電子自由基金會 (EFF),他們花了一年半的時間製造了一台有許多專用晶片的機器,並在三天半的時間內擊敗了 RSA 的 DES 挑戰賽。
這是使用稱為「純文字攻擊」(Plain Text Attack) 的方法完成的。據說成本為 25 萬美元,其中 8 萬美元為人事費用,當然這並不能讓 10 個人工作一年半,儘管他們是兼職,所以可以說人事費用又花了一年半。
儘管如此,也許 1,000,000 美元就足以製造一台能夠在幾天內找出 DES 金鑰的機器。這剛好是 DES,但事實上其他類型的加密也是如此。 順帶一提,他們估計如果金錢不是問題,要製造一台能在幾秒鐘內解決一個金鑰的機器也相對容易。一直以來,人們都說 DES 有特別的技巧,讓政府更容易解開,但他們已經證明,應該可以用錢來解開,而不需要做任何類似的事情。
如何解決 DES (和其他區塊密碼)
首先,如何解決 DES (和其他密碼)。(順便一提,據說流密碼器比較容易解決。(順便一提,據說流式密碼較容易解決)。
基本上分兩步來解。
第一步是硬體,排除明顯不同的金鑰。
然後,在第二步中,剩下的鑰匙會在軟體中搜尋。
排除明顯不同鑰匙的方法如下。
首先,將文字分割成 16 字節的片段。將它分割成兩部分,每部分 8 位元組。工作從前 8 位元組開始。
首先,使用給定的金鑰解密第一個位元組。如果 「有趣」,則解碼下一個位元組。在此,「有趣 」表示解碼結果在預期的字元代碼空間內。例如,假設原始文字只包含 [A-Z][a-z][0-9] 和兩個標點符號,則解碼結果是有趣的機率只有 62/256 = 1/4。(如果是錯誤的按鍵,256 個字元會被視為隨機出現)。如果這是有趣的,對下一個位元組做同樣的處理。如果這也是有趣的,則對下一個位元組執行相同的動作:檢查 8 個位元組,只有 1/(48) 會被報告為有趣。對下一個 8 位元組執行相同的動作。兩者都是有趣的概率是 (1/(48))2。現在軟體必須檢查的鍵數是 224,比 256 有明顯的改善。
現在要做的是將這 224 的文字與字典進行比較,以判斷文字是否正確。這是第二階段。這個過程是瓶頸,因此成功的關鍵之一就是您可以減少多少次按住這個步驟的次數。
DES Cracker 就是這樣在三天多一點的時間內成功解碼所有的文字。 這就是被稱為 Plain Text Attack 的方法。
更有效的方法是已知純文字攻擊 (Known Plain Text Attack)。 這是指在加密區塊的某個位置有一個已知的文字。在這種情況下,上述的 62/256 就變成了 1/256 。那麼 SOFTWARE 要檢查的 Keys 數量就是、
((1/28)2)8*2128 = 1
這與第一行的前兩位數字相同。這表示即使金鑰是 128 位元,軟體也不需要檢查金鑰。
<br
(已知)純文字攻擊的意義
。
這個 (已知) 純文字攻擊的意義非常重要。它之所以重要,是因為在許多情況下,事先就知道在哪裡可以找到某些文字。例如,MS Word 文件以特定字串開始,網頁要求以 GET 開始,郵件通常以 From 開始,如此類推。這表示逐一訊息加密實際上可能用處不大。
此外,在簡單隧道的情況下,由於 IP 標頭在資料部分已加密,因此可以對其進行純文字攻擊。因此,隧道加密降低了密碼的強度,雖然看似隧道加密會比較好,因為 IP 位址是不可見的,但考慮一下密碼機制就會發現,情況剛好相反。
換句話說,加密並不總是足夠的。 即使金鑰的長度再長,如果實際的金鑰空間(Key Space)很狹窄,也是沒有意義的。因此,僅根據金鑰的長度來說加密的強度是無稽之談。順帶一提,除了以上所述,實際的金鑰空間也取決於加密演算法。舉例來說,RSA 密碼依賴因數化的難度,但目前大約 100 位數的數字就可以被正確地因數化。2128 是一個 39 位數的數字,所以在 RSA 密碼中 128 位元的金鑰是完全不足夠的。(相比之下,128 位元金鑰(例如 IDEA)則相當安全)。
無論如何,使用加密來保護安全性是一個需要適當設計的領域。
<br
應該如何處理
。
現在,從上面的內容,我們已經看到保護您的資料其實相當困難。當然,您的資料真正被破解的機率相當低。您不會為了區區一個破解者而投資一百萬美元在這種事情上。因此,在網路上被破解者攻破的機率是無限低的。
以下是一些可以假設為真正破解者的人。
<
ul>
</ul
無論哪種方式,政府都會破解。是否專線並不重要。基本上,我們應該假設美國所允許的方法隨時都會受到國防部的監控,所以就不說了。接下來是企業間諜行為,雖然他們也不是沒有可能創造出類似 DES Cracker 的東西。這是比較難察覺的。這相對上較難偵測,因為與破解程式不同的是,他們永遠不會宣佈他們已經解決了這個問題。不過話又說回來,如果你不透過公共網路,你也不安全:任何會花費一百萬美元來製造一個機器並破解它的公司,在此之前都會在其他公司有內應。而且他們會想辦法利用他來搶走資料,所以加密是一件好事。這是因為竊取資訊的成本從支付內部供應商的成本,變成了支付內部供應商的成本加上破解加密的成本。
有一些方法可以使密碼本身更難破解。其中一個基本方法是增加金鑰長度,但其變體是超級加密。這是一種讓人無法進行純文字攻擊的方法,涉及兩個階段的加密:如果使用兩個階段的加密,第一階段解開後,出來的文字就是隨機文字,根本無法過濾。位元的真正金鑰長度。它的難度是純文字攻擊案例的 1024 倍,所以,嗯,不是那麼容易解決。與其解決此問題,倒不如給一位即將退休的董事會成員一份顧問工作。
您是否會這麼做,取決於取得資訊的人可以從中獲得多少利益。即使資訊對公司非常重要 (例如一旦洩漏,就會損害公司的信譽),但如果無法為他人賺錢,也沒有人會花錢在這上面。在這個意義上,安全 (包括加密) 始於資訊重要性的分類。