Authenticated-Encryption
CCA 安全是否意味著經過身份驗證的加密?
不會。RSA -OAEP在自適應選擇密文攻擊下是無法區分的(在自適應選擇密文攻擊下甚至是不可延展的),但它不是經過身份驗證的加密的一個實例。- 加密郵件的發件人甚至可能對解密郵件的收件人是匿名的。
更一般地說,在成功的選擇密文攻擊中,對手讓誠實的解密者接受偽造的密文,解密它,然後接受生成的純文字。它主要不是密鑰恢復攻擊(儘管在某些情況下它可能會擴展為一種攻擊)。事實上,在任何標準模式下,您都無法將針對安全分組密碼的 CCA 轉變為密鑰恢復攻擊。但是,您可以通過更改密文來更改解密的純文字,除非方案是 NM-CCA2。通常這已經足夠了——大多數針對 SSL/TLS 的攻擊實際上並沒有恢復任何密鑰,而只是讓接收者接受純文字作為真實的,即使它不是真實的。
在非對稱加密的情況下,這變得更加複雜。普通未填充的 RSA 對 CCA 不安全(同時也可以將其用於同態加密)。RSA-OAEP 對 CCA 是安全的,這意味著您不能獲取由其他人加密的 RSA-OAEP 密文,對其進行更改(以任何其他方式替換它,而不是將其替換為使用相同公鑰加密的另一條消息 RSA-OAEP),並讓私鑰的所有者對其進行解密。
不,CCA 並不意味著經過身份驗證的加密。CCA 嘗試使用選擇的密文恢復秘密。設計良好的分組密碼本身應該已經處理了無法檢索密鑰的屬性。如果與正確實現的塊操作模式一起使用,則此屬性應保持。
使用經過身份驗證的加密應該不可能進行 CCA 攻擊,因為如果身份驗證失敗,不應將明文返回給攻擊者。