Public-Key
為什麼 Blum-Goldwasser 的 IND-CCA-2 不安全?
考慮Wikipedia上描述的 Blum-Goldwasser 加密方案。有人告訴我它不是 IND-CCA-2 安全的。
我聽說有延展性,可能與 XOR-ing 有關。但我不明白這一點。如維基百科文章所述,在加密的第 2 步中,我們選擇了一個隨機元素。所以我們對消息的異或每次看起來都完全不同。我們怎麼能在這裡有延展性?
IND-CCA-2 的隨機性是不夠的。如果我們收到一條消息(所以 $ L $ 數據位加上 $ y $ 重建隨機種子),我們可以修改它,比如翻轉第一位,然後請求解密預言機解密修改後的消息(這將具有相同的 $ y $ !),我們將得到。那麼很容易得到原始消息:我們得到消息的相同密鑰流(因為我們有相同的 $ y $ 在修改後的消息中),我們將修改後的消息的純文字與修改後的消息進行異或,我們得到原始挑戰和(通過構造)修改後的消息的密鑰流。所以現在我們也可以解密原始消息了。
或者在更常見的遊戲中:我們選擇一條消息 $ p $ 被加密,我們得到隨機或實際加密。我們從上面執行程序,看看我們返回的內容是否解密到我們的 $ p $ ,如果不是,我們將玩家“暴露”為隨機“玩”。
簡而言之,我們可以要求修改消息解密並獲得有用的資訊。這在 IND-CCA-2 安全系統中是不允許發生的。