產生熵以建立 RSA 金鑰

產生熵以建立 RSA 金鑰

我想知道如何使我的伺服器盡可能安全。我使用 OpenSSH 使用 RSA 金鑰連接到它。然而,該方法有一點讓我困擾:為了產生 RSA 金鑰,我沒有產生「熵」。

以下是一個範例:在 Windows 上,若要使用 VeraCrypt 加密資料夾,系統會要求使用者執行互動(滑鼠移動)以使 RSA 金鑰更加隨機。我們可以在 openssl 或 libressl 中重現它嗎?

此外,我在某處讀到,如果您了解 CPU(通常是政府)的設計,您可能會大大減少暴力破解 RSA 私鑰的時間。

答案1

我在某處讀到,如果您了解 CPU(通常是政府)的設計,您可能會大大減少暴力破解 RSA 私鑰的時間。

了解原因很重要,您所描述的熵不適用於 RSA 金鑰。

在 RSA 中,這種不對稱性是基於兩個大質數乘積因式分解的實際困難,即「因式分解問題」。

來源:RSA(密碼系統)

同樣地,

證書產生的全部要點是從您的檔案或隨機數產生器建立隨機數,作為演算法的雜訊輸入以產生非常大的素數。訣竅在於獲得這些素數。在 4096 位元的熵池中,正如haveged(8)將提供的那樣,在所有時間都充滿的情況下,某人重新產生相同質數的能力,即使他們完全了解您的系統也是極不可能的。

來源:用於產生 OpenSSL 金鑰的良好熵來源

OpenSSL 和 LibreSSL 預設情況下使用作業系統的核心作為熵來源。 除了暴力嘗試之外,沒有已知的漏洞可以破解具有顯著且適當大小的 RSA 金鑰。

OpenSSL 和 LibreSSL 本身並不支援你想要的。但是,您可以使用類似的東西PuTTY 密鑰產生器,做你想做的事。使用 OpenSSL 產生憑證時,您需要使用透過適當的 OpenSSL 指令產生的金鑰。

我們可以在 openssl 或 libressl 中重現它嗎?

OpenSSL 和 LibreSSL 不支援從老鼠移動中收集熵。

相關內容