Hash

RSA-OAEP 如何解密對稱密鑰消息?

  • August 21, 2020

在 RSA-OAEP 加密的對稱密鑰(例如 AES)消息中。當 R 是另一方不知道的隨機數時,該消息隨後被另一方解密。所以當它與它不知道的 A Hash (hash1) 進行異或運算時,它如何取回密鑰。我不認為輸出Hash2有任何幫助。正確的? RSA_OAEP 填充消息

OAEP 是RSA 的最佳非對稱加密填充,由 M. Bellare、P. Rogaway 於 1995 年開發,並在PKCS#1 v2RFC 2437中標準化。

您的圖像隱藏了 OAEP 的一些內部結構。這裡有一個更好的;

在此處輸入圖像描述

MFG 是遮罩生成函式,預計是一個隨機預言機。MFG 類似於密碼散列函式,不同之處在於標準散列函式的輸出是固定大小的,而 MGF 支持可變長度的輸出。

如果 OAEP 是在 XOF(可擴展輸出函式)之後開發的,那麼證明會容易得多。

回到你的問題

當它與它不知道的 A Hash (hash1) 進行異或運算時,它如何取回密鑰。我認為 Hash2 的輸出沒有任何幫助。正確的?

我們可以將上面形式化為;

$$ \begin{align} T &= lhash \mathbin| PS | \texttt{01} \mathbin| Message\ maskedDB &= MFG1(seed) \oplus T \ maskedSeed &= MFG2(maskedDB) \oplus seed\ \end{align} $$

在 PKCS#1 標準中,使用相同的 MFG 作為隨機預言機。我已經通過編號進行了區分。 $ MFG1 $ 被採取 $ seed $ 作為輸入。

現在,您收到一條由 RSA-OAEP 發送給您的消息。你得到 $ maskedSeed $ 和 $ maskedDB $

這 $ seed $ 可以通過計算

$$ seed = maskedSeed \oplus maskedDB $$現在我們知道了 $ seed $ .

現在 $ T $ 可以通過計算

$$ T = MFG1(seed) \oplus maskedDB $$

現在獲取編碼 $ message $ 阻止並檢查它。

$$ T = lhash \mathbin| PS | \texttt{01} \mathbin| Message $$

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