1:什么是RSA公鑰指數(shù)。 首先了解一下RSA密鑰的建立流程。如下圖所示: ![]() (1)選擇兩個(gè)不同的大素?cái)?shù)p和q; (2)計(jì)算公共模數(shù)(n=pq)和歐拉數(shù)(eular=(p-1)(q-1)); (3)選擇公鑰指數(shù)e; (4)計(jì)算inverse(d); (5)生成公鑰、私鑰; 上述流程中出現(xiàn)的e就是公鑰指數(shù)。 2:公鑰指數(shù)的選取。 公鑰指數(shù)是可以隨意選取的,但是為了提高RSA的加密速度實(shí)際使用中公鑰指數(shù)最長用的三個(gè)值是3、17、65537(=2^16+1,65537的二進(jìn)制表示中只有兩個(gè)1,所以需要17次乘法來實(shí)現(xiàn)指數(shù)運(yùn)算)。PEM建議用3。PKCS#1建議用3或65537。X.509建議用65537。這樣選取主要是為了提高加密或簽名驗(yàn)證的性能,因?yàn)?/font>3、17或65537分別只需要2或17次模乘運(yùn)算,而一個(gè)隨機(jī)選擇的e(假設(shè)n是1024-bit)則大約需要1000次模乘運(yùn)算。這種方法刻意把公鑰指數(shù)選的小一點(diǎn),其對應(yīng)私鑰指數(shù)就會(huì)很大,這么做的目的是節(jié)約公鑰運(yùn)算的時(shí)間。因?yàn)檎J褂弥卸际?/font>用公鑰加密,所以需要節(jié)約大部分人的時(shí)間。而極少部分人也會(huì)選用私鑰解密,那么就只能少數(shù)服從多數(shù)了。 在選用公鑰指數(shù)時(shí),人們普遍會(huì)認(rèn)為3和17沒有65537安全。然而這種想法并沒有合理的依據(jù)。實(shí)際上采用這三個(gè)值中的任何一個(gè)都不存在安全問題。前提是使用正確的填充方案。 |
有什么填充方案嗎?學(xué)習(xí)下 |
填充方案可以采用PKCS1中規(guī)定的RSA_PKCS1_PADDING 填充方案,按照規(guī)則使用隨機(jī)數(shù)填充 |
專業(yè)性太強(qiáng)了,看不懂,還是請大神來白話一下吧 |
講解的真細(xì)致 之前只知道是加密解密 不清楚還有指數(shù)這個(gè)說法 |
基本都用65536的,很少有用其他的。要么就換成ECC算法了,強(qiáng)度高,速度快。 |
說的太絕對了,得有個(gè)前提條件,同樣安全強(qiáng)度條件下,ECC速度更快 |
是所有芯片都支持RSA嗎? |
不是所有的芯片都支持RSA的,芯片算法不一樣 |
公鑰的意思是不是就是公開,私鑰是私有,但是公鑰和私鑰之間有運(yùn)算關(guān)系, |
公鑰會(huì)不會(huì)影響私鑰的安全性呢? |
RSA是非對稱算法,只要保證私鑰不被泄露,加密數(shù)據(jù)就不會(huì)泄露,公鑰不會(huì)影響私鑰的安全 |
RSA是否可以選擇公鑰的大小,即有512/1024位嗎? |
xiaoyuhzou1228 發(fā)表于 2020-11-11 16:04 RSA可以選擇公鑰的大小,比如512位、1024位、1280位、2048位等等,目前使用的大多是1024位以上的 |
為何公鑰指數(shù)和公鑰運(yùn)算時(shí)間有關(guān)系?樓主能再說明一下嗎? |
為什么RSA 公鑰指數(shù)(e=65537)更安全? |
這是一個(gè)推薦使用的公鑰指數(shù),選這個(gè)值的目的只是一個(gè)介于低指數(shù)攻擊和運(yùn)算效率之間的一個(gè)折中考慮,即以防萬一"e=3"被攻破而僥幸"e=65537"可能還是安全的。 |
什么是RSA?什么是公鑰指數(shù)?為什么要選取? |
RSA是利用模數(shù)和指數(shù)生成的公鑰加密。 |
RSA是一種公鑰加密算法 |