只有知道公鑰、密文以及字母表中的每個字母都被單獨加密,才能找到 RSA 私鑰
如果知道密文和公鑰並且(英文)字母表的每個字母都已單獨加密,是否有一種方法可以在沒有 n 因式分解的情況下確定私鑰(或 phi 值)?
有沒有辦法確定私鑰(或 phi 值)而不 $ n $ 如果知道密文和公鑰並且(英文)字母表的每個字母都已單獨加密,則分解?
不,為了正確選擇公鑰和私鑰。
論據:如果有人知道 $ n $ , $ e $ , 和一個匹配的私有指數 $ d $ , 那麼可以考慮 $ n $ 不費吹灰之力。如果知道的話也一樣 $ n $ 和 $ \varphi(n) $ . 看這個如何。因此,如果所問的問題一般來說是可能的,那麼考慮因素並不難 $ n $ ,所問的不包括在內。
另一種說法:半個世紀以來,研究人員一直在嘗試並未能找到如何分解公共模數 $ n $ (或找工作 $ d $ ) 通過為教科書 RSA 充分利用明文/密文對;即使他們被允許迭代地選擇明文或密文也是如此。
順便說一句,在 RSA 的許多定義中,有幾個等效的私鑰,並且無法分辨哪個是私鑰。
另一方面,如果 $ n $ 足夠小,可以被分解,或者如果有一個小的 $ d $ 那行得通,然後一個工作 $ d $ 可以找到(通過 RSA 中使用的一種正常方法計算,或者通過列舉小的 $ d $ 並根據可用的明文/密文對檢查它們)。結論是:討論 RSA 的安全性與密鑰選擇不當(包括, $ n $ 或者 $ d $ 少於幾百個十進制數字)是沒有意義的。
第一的; 教科書 RSA 不安全;例如,當私有指數為 3 並且消息短於 $ \sqrt[3]{n} $ 那麼立方體根攻擊很容易訪問消息以消除機密性。這就是為什麼我們需要像 PKCS#1 v1.5 或必須使用 OAEP 這樣的安全填充。
第二; 公鑰系統中的加密是免費的。即,任何人都可以獲取您的公鑰並加密盡可能多的消息,無論是一位還是一個字元或更多。
現在,假設可以得到 $ d $ 或者 $ \varphi $ 從加密的短消息和相應的消息(沒有提到是否有安全填充)幾乎等同於因式分解(計算 $ \varphi $ 不容易分解 $ n $ RSA論文,發現 $ d $ 可以生產 $ \varphi $ )或一個可以因素 $ n $ 從 $ d $
假設教科書 RSA 可以在給定的情況下被破壞,並且安全填充可以防止這種攻擊,因為它們是 CPA 安全的。請記住,在 RSA 中,加密是免費的,沒有人可以強迫攻擊者使用填充。因此,他們可以隨意加密盡可能多的消息而無需安全填充,然後破解您的私鑰。
因此,如果您可以使用給定的方式破壞 Textbook RSA,那麼您也可以破壞安全填充。這不是辦法!