Encryption

CPA Secure 選擇明文方案

  • February 6, 2021

給出的 IND-CPA 安全方案的範例通常是:

對於隨機 r,

Enc_k(m) =(r|| E_k(r) XOR m) 其中 E 是 PRF

但是 r 和 k 的作用真的很重要嗎?也就是說,這不是同樣安全嗎?

Enc_k(m) =(r|| E_r(k) XOR m) ?

偽隨機 $ E $ 旨在以某種適當的方式對現實世界的密碼算法進行建模,因此通常假設攻擊者可以計算 $ E_k(x) $ 對全部 $ k $ 和 $ x $ ,並且可以計算 $ E_k^{-1}(y) $ 對全部 $ k $ 和 $ y $ .

在 CPA 中,您讓攻擊者選擇 $ m $ . 如果你再給他 $ (r \mathop| E_r(k) \oplus m) $ , 他可以利用他的知識 $ m $ 去尋找 $ E_r(k) $ , 既然你明確地告訴他什麼 $ r $ 是,他可以反轉 $ E_r $ 去尋找 $ k $ . 噗,一點安全感都沒有。


**當心:**事實證明(見評論)我可能誤解了這個問題。如果 $ E $ 實際上是一個偽隨機函式,那麼該屬性應該在它的兩個參數中是對稱的(並且將其中一個寫為下標只是暗示它們的預期角色),並且 $ E_r(k) $ 和 $ E_k(r) $ 確實同樣安全。另一方面,那麼 $ E $ 不能將其實例化為普通密碼,因為密碼,即使是理想密碼,實際上也不是 PRF。

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