Symmetric

我可以安全地對具有相等長度密鑰的字節數組進行異或嗎

  • June 11, 2020

如果我說 64 個字節,我可以將這些字節與另外 64 個隨機字節進行異或,並有兩個新數組,其中兩個都需要重建第一個?

直覺上我需要一些像 AES 這樣的對稱加密,但我無法弄清楚上面的 XOR 是如何被攻擊的。內容重要嗎?

如果我說 64 個字節,我可以將這些字節與另外 64 個隨機字節進行異或,並有兩個新數組,其中兩個都需要重建第一個?

這稱為XOR 秘密共享,或者在兩個拆分的情況下也稱為(二進制)One-Time-Pad

實際上,如果對於拆分操作的每次執行都使用一個新的獨立隨機字元串,那麼重建總是需要兩個(/所有)共享部分。任何較少數量的共享/部分都不會洩漏有關共享消息的資訊,除了長度和無論如何已知的資訊。

請注意,儘管這不能防止篡改,即如果有人在任一共享中翻轉了位而其他(多個)沒有,則重建的消息將具有位翻轉,而沒有註意到這一點的強大密碼保證。

另請注意,如果將相同的隨機性用於兩條不同的消息,則安全性會嚴重崩潰。當然,如果您對同一條消息重複使用隨機性,那麼對手會注意到這一點。

引用自:https://crypto.stackexchange.com/questions/81293