Rsa

如果我們不使用電腦,RSA 是否有意義?

  • January 23, 2021

我最近在想——如果我們把它帶到中世紀時期,RSA 會有用嗎?您是否可以選擇密鑰以便您可以很容易地加密/解密消息,但是考慮到私鑰對於 1000 個人來說,如果他們只使用紙和鉛筆並且不會犯任何錯誤,則需要 1000 多天?

我想了想,也做了一些研究,答案是否定的。

問題是因式分解與素數生成的難度之間的差距在我們可以使用的素數/模數的規模上還不夠大。

到 1588 年發現的最大素數是 524287,這要歸功於 Pietro Cataldi。這是一個人的工作產生的素數。我不知道這需要付出多少努力,但鑑於當時這是一項世界紀錄,我認為我們可以假設這是相當大的努力。

為了獲得一個安全的 RSA 實例,我們可能希望使用兩個六位素數生成一個模數。這已經是相當多的工作了。

然而,一個民族國家可以利用更多的資源。他們可以僱傭一個團隊來嘗試破壞資訊。一個觀察結果是,實際上在 1,000,000 以下的素數並不多:只有 78,498 個!如果我們只考慮 100,000 到 1,000,000 之間的素數,這個數字可以歸結為 68,906。

一個民族國家可以使用埃拉托色尼的篩子找出所有低於 1,000,000 的素數。這將是一次性的努力。然後他們需要攻擊任何模數,它是兩個六位數素數的乘積。

最後,要考慮到特定間諜的模數,他們只需將其提供給一群將通過列表進行工作的人。

假設一個人可以每五分鐘嘗試一個師。考慮到數字的大小,這似乎是相當長的時間。儘管如此,在一個八小時的工作日內,他們每天可以嘗試 96 個師。在 20 個人中,需要 35 天才能完成整個列表。

在實踐中,大多數模數會比這更早解決,因為兩個素數都會出現在列表中的某個位置。

這種攻擊是完全實用的,因此使 RSA 在那個歷史時期對加密毫無用處。

我以“面面相覷”的態度回答這個問題,因為我喜歡這個問題。謝謝d33tah。我嘗試提出一些有用的觀點。也許有人通過評論做出更多貢獻。

術語 RSA 本身是模棱兩可的。我假設在 PKCS#1 + 來自 FIPS 186-4 的密鑰生成內容中定義的整個 RSA 在當時是已知的(也許他們也知道 DSA 和 ECDSA 並做出明智的決定,只使用 RSA,因為它是最方便的)。

因此,我假設 RSA 意味著 RSA 簽名/驗證、填充、RSA 加密、驗證、密鑰生成機制……關於素數的另一個答案確實是完全正確的。沒有理由期望當時已知非常大的素數。但是,如果這些事情已經知道…


克拉克提出了關於技術的三項定律。其中之一是:“任何足夠先進的技術都與魔法無異。”

用於橡膠軟管密碼分析的中世紀方法XKCD:安全性比現在更嚴格(沒有人期望西班牙宗教裁判所)。那時,技能與魔法無法區分的人很可能是審判女巫的合理依據。

隱寫術和密碼學的早期形式(例如凱撒密碼)可以追溯到比中世紀更早的時期。因此,可以很容易地認為,當時一些更不對稱的密碼學可能有利於數學和自然科學的更快進步。也許文藝復興會更早。而且,很可能,現代電腦將完全不同。

密碼學在電腦出現之前肯定是有意義的,當時存在與機密性、完整性和真實性相關的問題。

順便說一句,單獨的 RSA 幾乎沒用。它太慢了。為了快速執行,需要混合加密。另一方面,真實性/完整性可能需要強大的雜湊函式。

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