2010-06-16 72 views
11

對加密數據的暴力攻擊如何知道他們何時找到正確的密鑰來解密數據?有沒有辦法知道數據被解密,除了讓人看着它?如果它不是人性化的數據呢?蠻力解密攻擊如何知道他們何時找到了正確的解決方案?

+1

某人是否有可能以這種方式對數據進行加密,以便能夠以多種方式對其進行解密,從而生成多個有效但不同的結果? (也許只有其中一個是正確的。) – JAB 2010-06-16 18:25:43

+0

@JAB:你可以通過一次性按鈕自動獲得它......這只是OTP僅在某些受限制的情況下有用。 – dmckee 2010-06-16 18:32:45

+3

**回答以下非編程相關問題:**通過利用純文本的冗餘和格式的已知或預期屬性。在加密之前,愛麗絲可以通過有效地壓縮純文本來使夏娃的生活更加艱難。 – dmckee 2010-06-16 18:36:30

回答

7

這取決於加密方法。例如,使用RSA加密,如果您正在查找私鑰,則您知道在公鑰爲該數字的倍數時找到了私鑰。

8

密碼分析師希望知道密文和明文。將密文解密爲該明文的密鑰當然是正確的密鑰。

沒有已知的明文,必須知道數據的格式。例如,純文本HTML包含標籤。電話目錄明文包含電話號碼。等等。

+0

...這就是爲什麼你應該在應用加密之前,用祕密私人語言*寫出超超級祕密信息的原因。 ;) ......當然,這種語言仍然可以被破譯,但它會使破解信息的工作更加困難。 – FrustratedWithFormsDesigner 2010-06-16 18:26:45

+2

...或者只是多次加密。無意中,我正在完成戴夫布朗的恐怖書*數碼堡壘* – 2010-06-16 18:29:09

+2

@Adam根特:不要打擾。幾乎任何其他活動都更值得。 – FrustratedWithFormsDesigner 2010-06-16 18:31:05

3

這取決於算法。使用許多算法只有一個正確的解密密鑰。當你擁有密鑰時,你可以很容易地驗證它是多項式時間中正確的密鑰。

使用一些算法,雖然不可能知道您何時擁有正確的密鑰。所有純文本(正確的長度)可以給出輸出。這種方案的一個例子是具有XOR加密的one-time pad。但是,如果重複使用一次性密碼,密文可以相互異或以除去密鑰,然後可以使用諸如frequency analysis之類的技術來提取兩個明文消息以確定它是什麼類型的數據以及最有可能的解密是什麼。

+0

+1一次性墊! ...雖然我認爲他們被稱爲一次性墊*,因爲他們不能被重用......或者他們可以但是強烈推薦反對。 – FrustratedWithFormsDesigner 2010-06-16 18:29:29

+1

@Frustrated:如果你重用他們,他們會失去*所有*那美妙的數學保證安全... – dmckee 2010-06-16 18:34:24

+3

如果你重用他們,他們是兩次墊。 – 2010-06-16 18:59:46