Known-Plaintext-Attack

已知與選擇(明文和密文)和 RSA

  • February 6, 2014

我想知道我是否可以用已知的明文/密文攻擊來破解 RSA(教科書)。

已知純文字

讓 $ c $ 是密文和 $ m $ 明文。

$$ c = m^a \mod n $$ 由於我只有明文和密文,我所能做的就是猜測解密指數 $ a $ 直到我找到一個引領轉彎的人 $ c $ 進入我的已知 $ m $ .

已知密文

在這種情況下,我將不得不考慮 $ n $ (難)為了找到 $ p $ 和 $ q $ .

以上是正確的嗎?如果有人能指出正確的方向,我將不勝感激。

我不確定您要尋找什麼答案;我試圖涵蓋所有明顯的基礎。

實際上,使用 RSA,我們通常假設攻擊者知道公鑰(模數 $ n $ 和公共指數 $ e $ ); 有了這個,他可以加密盡可能多的明文(通過選擇一個值 $ M $ 和計算 $ M^e \bmod n $ )。因此,從這個意義上說,“已知純文字攻擊”一詞並不適用,因為我們假設攻擊者可以進行選擇的純文字攻擊。

至於變種“如果攻擊者有一些明文/密文對,但沒有公鑰怎麼辦?他能做什麼?實際上,如果公共指數不是太大,攻擊者在運氣;如果攻擊者採用兩個已知的明文/密文對 $ P_1, C_1 $ 和 $ P_2, C_2 $ , 他可以計算 $ gcd( P_1^e - C_1, P_2^e - C_2) $ 對於合理的公共指數;如果他猜對了,則該值將是 $ k\cdot n $ 對於某個整數 $ k $ 這極有可能很小。這給了他公鑰。

至於猜測解密指數,好吧,我想攻擊者可以嘗試,但他不太可能成功。眾所周知,加解密指數的知識等價於因式分解;也就是說,如果你知道 $ e $ 和 $ d $ , 你的因素 $ n $ (如果你知道如何分解 $ n $ , 你可以計算 $ d $ 給定 $ e $ )。因此,猜測解密指數是困難的;如果不是這樣,分解的問題就不會更容易了。(而且,如果您問“為什麼不能逐步檢查所有可能的私有指數”,答案是 $ d $ 通常只比小幾位 $ n $ ; 如果 $ n $ 是 1024 位, $ d $ 可能是 1020 位;這是相當多的可能性,無法逐步完成)。

至於字面上的“純密文攻擊”,攻擊者得到一些密文,沒有相應的明文或公鑰,從表面上看,這看起來很困難;但是,我們通常不認為攻擊者會以如此極端的方式步履蹣跚。

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