建立一個主要因素指數是否可行?
如果破解者已經花費 X 年時間通過執行現有素數密鑰的每個排列來建構素數索引,是否有可能在例如 1 週的時間內破解 RSA 密鑰 $ 2^{2048} $ ?
我知道這將花費大量時間來完成,但它只會完成一次。顯然,計算這樣一個索引將花費大量時間,並且必須由擁有適量資源的人來完成。給定公鑰,您將能夠查找兩個素數是什麼,從而立即檢索私鑰。
破解 256 AES 會更容易,因為 AES 密鑰通常是使用 RSA 私鑰生成的。
是否有可能建立這樣的索引?這需要多長時間才能完成排列,也許使用世界上最快的電腦?
讓我們假設您可以建構一個包含所有素數的大表。然後……什麼?你將如何使用它?你會查什麼?
如果您“只是”掃描表格並嘗試將數字除以每個素數,那麼這稱為試除法;無需儲存素數(它們可以即時重新生成;這是昂貴的除法)。然而,這是一種效率極低的分解算法。我們知道更好的分解算法(儘管如此,在 2048 位 RSA 模數的表面上產生最輕微的划痕卻完全失敗)。
當然,1024 位素數的列表是如此之大,以至於儲存它,甚至簡單地生成每個素數,都是非常不可行的。大約有 $ 2^{1014} $ 這樣的素數;那是接近 $ 10^{308} $ . 假設你是一個無所不能但非常無聊的神,你決定使用一個儲存設備來儲存這些素數,該儲存設備為每個素數使用一個氫原子的大小(我們作為人類,當然不能在這麼小的一個空間,但是,嘿,這對全能的上帝來說是小菜一碟)。已知宇宙的體積約為 $ 10^{79} $ 米3 . 氫原子的體積接近 $ 10^{-30} $ 米3 . 所以我們古怪的神性可以包裝 $ 10^{109} $ 整個宇宙的價值。他還需要 $ 10^{199} $ 完整的宇宙來儲存它們。 $ 10^{199} $ 是一個令人難以置信的數字(如果您的頭腦沒有被它所迷惑,那麼它一定已經被其他東西所迷惑了)。是百億 十億 十億 十億 十億 十億 十億 十億 十億 十億 十億 十億 十億 換句話說,很多。而且我們仍在談論由原子大小的整數組成的完整宇宙。