Rsa

RSA-OAEP 如何不受 CCA2 的影響?

  • July 22, 2022

在此處輸入圖像描述

這裡加密完成如下: $$ C=P^e \textrm{mod} , n =(P_1||P_2)^e \textrm{mod} , n. $$ 這是我的場景,CCA2 的對手獲勝。

對手選擇 $ X_1, X_2 $ 大小相同 $ P_1, P_2 $ 並相乘 $ C’=(X_1||X_2)^e \textrm{mod} , n $ 經過 $ C $ 要得到 $ CC’=(P_1X_1||P_2X_2)^e \textrm{mod} , n $ . 敵手要求解密預言機解密 $ CC’ $ 要得到 $ (P_1X_1||P_2X_2) $ . 然後對手可以得到 $ (P_1||P_2) $ 只需乘以 $ (X_1||X_2) $ . 最後,攻擊者可以像 Bob 一樣解密原始消息。

這與教科書 RSA 上的 CCA 相同。我看到 RSA-OAEP 是 IND-CCA2 安全的,但為什麼這種攻擊不可能?

攻擊假設 $$ (P_1\mathbin|P_2)(X_1\mathbin|X_2)\equiv P_1X_1\mathbin|P_2X_2\pmod n $$ 大多數參數沒有理由成立。

注:位大小為 $ P_2X_2 $ 沒有標准定義。在下文中,我假設其目的是使其成為參數大小的總和 $ P_2 $ 和 $ X_2 $ 表示為固定大小的位串¹。

4位參數的反例 $ P_1 $ , $ P_2 $ , $ X_1 $ , $ X_2 $ 全部設置為1111: $ P_1\mathbin|P_2 $ 和 $ X_1\mathbin|X_2 $ 是11111111, $ P_1X_1 $ 和 $ P_2X_2 $ 是11100001,左側 $ (P_1\mathbin|P_2)(X_1\mathbin|X_2) $ 是1111111000000001,右手邊 $ P_1X_1\mathbin|P_2X_2 $ 是1110000111100001。他們沒有理由模數相等 $ n $ .


¹ 另一個合理的定義是 $ P_1X_1\mathbin|P_2X_2 $ 有價值 $ P_1X_1,2^\ell+P_2X_2 $ 在哪裡 $ \ell $ 是位串的常見位大小 $ P_2 $ 和 $ X_2 $ ,但這也不能使等式成立。

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