一次性墊理論上可以破解嗎?
有人告訴我一次性便箋是唯一完美的加密,因為恢復消息的唯一方法是知道密鑰。
例如,對於 100 位的目標位串,我無法掃描所有 100 位的位串並與目標進行異或,希望能恢復消息。這種方法將產生所有可以用 100 位表示的消息。
然而,並不是所有的位串都是隨機的,例如
11111111111111
比01101001001101
. 這一觀察似乎與牢不可破的一次性便箋簿的想法相矛盾。我們知道兩個隨機位串彼此獨立,也獨立於非隨機位串。因此,知道一個隨機位串將不允許您縮短第二個位串的描述,反之亦然。因此,如果我們隨機生成一個位串 BS1,那麼當與密鑰 BS2 進行異或運算時,它將產生第三個不可壓縮的位串 BS3。
**證明:**如果 BS3 是可壓縮的,那麼知道 BS1 將允許我們用簡短的描述來描述 BS2(即 BS3)。那麼,BS1和BS2不是都是隨機的,也不是獨立的。它們是隨機但不獨立的唯一情況是,如果一個是另一個的一部分。
這意味著如果將 BS1 與密文 BS4 異或得到可壓縮的 BS5,則 BS1 至少是 BS2 的一部分或包含 BS2 的一部分。
所以,至少在理論上,一次性墊似乎是可破壞的,儘管這種方法是不可計算的,因為我們需要計算一個位串是真正隨機的。
這個論點與我所學的相矛盾,我想知道 OTP 是否只是因為隨機性不可計算而被認為是完美的。
例如,對於 100 位的目標位串,我無法掃描所有 100 位的位串並與目標進行異或,希望能恢復消息。這種方法將產生所有可以用 100 位表示的消息。
這不是一次性便箋被認為是安全的原因。原因是即使你嘗試了所有可能的密鑰,你也得到了所有可能的明文,你沒有辦法選擇哪個是正確的。明文/密文/密鑰流的大小無關緊要。
然而,並不是所有的位串都是隨機的,例如
111111111111
比01101001001101
. 這一觀察似乎與牢不可破的一次性便箋簿的想法相矛盾。
111111111111``01101001001101
當隨機選擇時,它與或任何其他具有相同大小的值具有相同的可能性。證明:如果 BS3 是可壓縮的,那麼知道 BS1 將允許我們用簡短的描述來描述 BS2(即 BS3)。那麼,BS1和BS2不是都是隨機的,也不是獨立的。它們是隨機但不獨立的唯一情況是,如果一個是另一個的一部分。
如果值是某些值比其他值更有可能的集合的一部分,則它們是可壓縮的。情況並非如此 $ C = P \oplus K $ 如果 $ K $ 是完全隨機的。這是因為 $ C $ 也將是完全隨機的,獨立於 $ P $ 隨機與否。
這意味著如果將 BS1 與密碼 BS4 進行異或運算得到可壓縮的 BS5,則 BS1 至少是 BS2 的一部分或包含 BS2 的一部分。
永遠不會出現這種情況,因為 BS5 不可壓縮;由於上述原因,BS5 的每個可能值都與 BS5 的其他值一樣可能。