Pseudo-Random-Function
CPA 安全加密方案的修改版本
以下加密方案:選擇一個隨機字元串 $ r \leftarrow {0,1}^n $ 併計算密文 $ c= \thinspace <c_0, c_1>= \thinspace <r, F_k(r) \oplus m> $ , 假設 $ F $ 一個PRF;是CPA-secure,因為我們有一個隨機/非確定性的加密過程。為什麼,如果應用修改後的加密過程,即計算密文 $ c’= \thinspace <c_0, c_1’>= \thinspace <r, F_r(k) \oplus m> $ ,這不再是CPA-secure了嗎?我的意思是,這個修改後的加密過程也是不確定的。可能是因為在每次加密呼叫時,PRF 的輸入 $ F $ 是固定值 $ k $ ? 我不確定這是否有意義。
詢問一個已知的 CPA 查詢 $ m $ 然後回來 $ c_0,c_1’ $ . 計算 $ c_1’’ = c_1’ \oplus m $ . 然後,計算 $ F^{-1}_r(c_1’’) $ 這將是 $ k $ . 現在你知道關鍵了。
當然,這種攻擊假設你可以反轉 $ F $ ,但定義中沒有任何內容表明您不能(實際上您通常可以)。