RSA公鑰指數的選取

2021-10-10 09:22:11 字數 742 閱讀 5525

rsa公鑰指數的選取

1:什麼是rsa公鑰指數。

首先了解一下rsa金鑰的建立流程。如下圖所示:

(1)選擇兩個不同的大素數p和q;

(2)計算公共模數(n=pq)和尤拉數(eular=(p-1)(q-1));

(3)選擇公鑰指數e;

(4)計算inverse(d);

(5)生成公鑰、私鑰;

上述流程**現的e就是公鑰指數。

2:公鑰指數的選取。

公鑰指數是可以隨意選取的,但是為了提高rsa的加密速度實際使用中公鑰指數最長用的三個值是3、17、65537(=2^16+1,65537的二進位制表示中只有兩個1,所以需要17次乘法來實現指數運算)。pem建議用3。pkcs#1建議用3或65537。x.509建議用65537。這樣選取主要是為了提高加密或簽名驗證的效能,因為3、17或65537分別只需要2或17次模乘運算,而乙個隨機選擇的e(假設n是1024-bit)則大約需要1000次模乘運算。這種方法刻意把公鑰指數選的小一點,其對應私鑰指數就會很大,這麼做的目的是節約公鑰運算的時間。因為正常使用中都是用公鑰加密,所以需要節約大部分人的時間。而極少部分人也會選用私鑰解密,那麼就只能少數服從多數了。

在選用公鑰指數時,人們普遍會認為3和17沒有65537安全。然而這種想法並沒有合理的依據。實際上採用這三個值中的任何乙個都不存在安全問題。前提是使用正確的填充方案。

RSA公鑰密碼演算法

此演算法的 過程為 開始時選擇兩個素數p和q,計算它們的積n作為加密和解密時的模。接著需要計算n的尤拉函式值 n n 表示小於n且與n互素的正整數的個數。選擇與 n 互素的整數e計算d 圖表圖示如下 模擬實現 include include include int jm int m,int e,in...

RSA公鑰私鑰生成

公私鑰生成 1.openssl genrsa out rsa private key 2048.pem 2048 生成rsa私鑰,以x509編碼,指定生成的金鑰的位數 2048 注 該步驟生成的私鑰只為供第二步使用,並無實際用處 2.openssl pkcs8 topk8 in rsa privat...

RSA 公鑰和私鑰

首先明確一點,公鑰和私鑰是成對出現的。乙個負責加密,另乙個負責解密。公開的就是公鑰,自己留著的就是私鑰。所以不管加密還是解密金鑰都是可以是公鑰或者私鑰的。所以如果別人發東西給我,我就需要把加密金鑰給別人,解密金鑰自己藏著,這樣就是公鑰加密,私鑰解密。如果我想讓別人確認我的身份,我就需要把解密金鑰給別...