一個密文,多個密鑰,多個消息
我最近遇到了以下想法,有沒有人知道一個名字,如果它真的被使用過?
A 想向 B 發送一條消息(A 和 B 都知道有一個共同的密鑰)並且 C 想攔截它(不知道密鑰)
現在我們假設他們有一個加密方法,讓我們為兩個不同的密鑰定義兩個不同的消息,這兩個密鑰都被編碼在相同的密文中。
使用這種方法,A 可以發送用密鑰加密的秘密消息“明天下雨”,但 A 也可以用另一個密鑰包含消息“明天不下雨”。
如果 C 設法截獲消息並設法找到一個或兩個密鑰,他們仍然什麼都不知道,因為有兩個相互矛盾的消息。但是由於 B 知道使用了哪個密鑰,他們可以使用正確的消息。
如果有這樣的方法,是不是很安全,還是有什麼問題呢?我能想到的唯一問題顯然是密文的大小,並且根據消息的複雜性,您可能必須找到很多消息才能完全“分散”含義。
抱歉,標籤可能不太合適,我沒有找到更好的標籤,因為這只是一個相對模糊的問題。
此功能通常稱為可拒絕加密。對於幾條消息的(無害/有罪)對是可行的。
維基百科:
可拒絕加密使得在沒有正確加密密鑰的情況下無法證明明文消息的存在。這可以通過允許將加密的消息解密為不同的明文來完成,具體取決於所使用的密鑰。如果被迫放棄他或她的加密密鑰,這允許發件人具有合理的否認能力。Julian Assange 和 Ralf Weinmann 在 Rubberhose 文件系統中使用了“可否認加密”的概念,並在 Ran Canetti、Cynthia Dwork、Moni Naor 和 Rafail Ostrovsky 在 1996 年的一篇論文中進行了詳細探討。
有相關的問題和答案,例如,is-there-an-encryption-decryption-algorithm-that-can-give-two-different-outputs和deniable-encryption-from-simple-primitives以及其他一些。