OAEP密碼分析
如果 $ M_1 $ 和 $ M_2 $ 是 $ \operatorname{OAEP} $ 填充、加密和發送,並且對手以某種方式設法繞過加密並檢索 $ \operatorname{OAEP}(M_1) \oplus \operatorname{OAEP}(M_2) $ , 是否有可能檢索到 $ M_1 $ 或者 $ M_2 $ 在沒有任何先驗知識的情況下 $ M_1 $ 和 $ M_2 $ ?
不,知識 $ \operatorname{OAEP}(M_1)\oplus\operatorname{OAEP}(M_2) $ 不披露有關明文的資訊 $ M_1 $ 或者 $ M_2 $ . 特別是它不允許恢復,即使完全了解另一個。更一般地說,它無助於預測任何有效的可計算函式 $ M_1 $ 和 $ M_2 $ .
原因在於定義 $$ \operatorname{OAEP}(M_j)=(\operatorname{MGF}(R_j)\oplus\operatorname{Pad}(M_j))\mathbin|(H(\operatorname{MGF}(R_j)\oplus\operatorname{Pad}(M_j))\oplus R_j) $$ 在哪裡 $ R_j $ 是新鮮的隨機。隨之而來的是知識 $ \operatorname{OAEP}(M_1)\oplus\operatorname{OAEP}(M_2) $ 只給 $$ \begin{align} &\operatorname{MGF}(R_1)\oplus\operatorname{MGF}(R_2)\oplus\operatorname{Pad}(M_1)\oplus\operatorname{Pad}(M_2)\quad\text{ and}\ &H(\operatorname{MGF}(R_1)\oplus\operatorname{Pad}(M_1))\oplus H(\operatorname{MGF}(R_2)\oplus\operatorname{Pad}(M_2))\oplus R_1\oplus R_2 \end{align} $$ 這也不允許重建 $ R_1 $ 或者 $ R_2 $ ,即使完全了解 $ M_1 $ 和 $ M_2 $ . 然後用 $ R_1 $ 和 $ R_2 $ 未知,我們沒有什麼可以連接的知識 $ M_1 $ 和 $ M_2 $ . 這種揮手的論證可以在以下假設下變得嚴格 $ \operatorname{MGF} $ 和 $ H $ 表現為隨機函式。