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安全。然而這種想法并沒有合理的依據。實際上采用這三個值中的任何一個都不存在安全問題。前提是使用正確的填充方案。 |
有什么填充方案嗎?學習下 |
填充方案可以采用PKCS1中規定的RSA_PKCS1_PADDING 填充方案,按照規則使用隨機數填充 |
專業性太強了,看不懂,還是請大神來白話一下吧 |
講解的真細致 之前只知道是加密解密 不清楚還有指數這個說法 |
基本都用65536的,很少有用其他的。要么就換成ECC算法了,強度高,速度快。 |
說的太絕對了,得有個前提條件,同樣安全強度條件下,ECC速度更快 |
是所有芯片都支持RSA嗎? |
不是所有的芯片都支持RSA的,芯片算法不一樣 |
公鑰的意思是不是就是公開,私鑰是私有,但是公鑰和私鑰之間有運算關系, |
公鑰會不會影響私鑰的安全性呢? |
RSA是非對稱算法,只要保證私鑰不被泄露,加密數據就不會泄露,公鑰不會影響私鑰的安全 |
RSA是否可以選擇公鑰的大小,即有512/1024位嗎? |
xiaoyuhzou1228 發表于 2020-11-11 16:04 RSA可以選擇公鑰的大小,比如512位、1024位、1280位、2048位等等,目前使用的大多是1024位以上的 |
為何公鑰指數和公鑰運算時間有關系?樓主能再說明一下嗎? |
為什么RSA 公鑰指數(e=65537)更安全? |
這是一個推薦使用的公鑰指數,選這個值的目的只是一個介于低指數攻擊和運算效率之間的一個折中考慮,即以防萬一"e=3"被攻破而僥幸"e=65537"可能還是安全的。 |
什么是RSA?什么是公鑰指數?為什么要選取? |
RSA是利用模數和指數生成的公鑰加密。 |
RSA是一種公鑰加密算法 |