RSA-OAEP 如何解密對稱密鑰消息?
在 RSA-OAEP 加密的對稱密鑰(例如 AES)消息中。當 R 是另一方不知道的隨機數時,該消息隨後被另一方解密。所以當它與它不知道的 A Hash (hash1) 進行異或運算時,它如何取回密鑰。我不認為輸出
Hash2
有任何幫助。正確的?
OAEP 是RSA 的最佳非對稱加密填充,由 M. Bellare、P. Rogaway 於 1995 年開發,並在PKCS#1 v2和RFC 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 $$