RSA的安全性
在RSA密碼應(yīng)用中,公鑰KU是被公開(kāi)的,即e和n的數(shù)值是可以被第三方得到的。破解RSA密碼的問(wèn)題就是從已知的e和n的數(shù)值(n等于pq),想辦法求出d的數(shù)值,這樣就可以得到私鑰來(lái)破解密文。
從RSA的原理中我們知道(d*e) mod ((p-1)*(q-1)) = 1,可以推導(dǎo)出d ≡e-1 (mod((p-1)(q-1)))或de≡1 (mod((p-1)(q-1))) 由此我們可以看出。密碼破解的實(shí)質(zhì)問(wèn)題是:從p、q的數(shù)值,去求出(p-1)和(q-1)。換句話說(shuō),只要求出p和q的值,我們就能求出d的值而得到私鑰。
當(dāng)p和q是一個(gè)大素?cái)?shù)的時(shí)候,從它們的積p*q去分解因子p和q,這是一個(gè)公認(rèn)的數(shù)學(xué)難題。比如當(dāng)p*q大到1024位時(shí),迄今為止還沒(méi)有人能夠利用任何計(jì)算工具去完成分解因子的任務(wù)。因此,RSA從提出到現(xiàn)在已近二十年,經(jīng)歷了各種攻擊的考驗(yàn),逐漸為人們接受,普遍認(rèn)為是目前最優(yōu)秀的公鑰方案之一。
但是RSA除了上述優(yōu)點(diǎn)之外,也是有缺點(diǎn)的,RSA的缺點(diǎn)如下:
1)雖然RSA的安全性依賴(lài)于大數(shù)的因子分解,但并沒(méi)有從理論上證明破譯RSA的難度與大數(shù)分解難度等價(jià)。
2)產(chǎn)生密鑰很麻煩,受到素?cái)?shù)產(chǎn)生技術(shù)的限制,因而難以做到一次一密。
3)分組長(zhǎng)度太大,為保證安全性,n 至少也要 600 bits 以上,使運(yùn)算代價(jià)很高,尤其是速度較慢,較對(duì)稱(chēng)密碼算法慢幾個(gè)數(shù)量級(jí);且隨著大數(shù)分解技術(shù)的發(fā)展,這個(gè)長(zhǎng)度還在增加,不利于數(shù)據(jù)格式的標(biāo)準(zhǔn)化。因此,使用RSA只能加密少量數(shù)據(jù),大量的數(shù)據(jù)加密還要靠對(duì)稱(chēng)密碼算法。
4)同樣安全級(jí)別的加密算法,RSA需要更長(zhǎng)的密鑰。這就使運(yùn)算速度較慢,較對(duì)稱(chēng)密碼算法慢幾個(gè)數(shù)量級(jí)。且隨著大數(shù)分解技術(shù)的發(fā)展,這個(gè)長(zhǎng)度還在增加,不利于數(shù)據(jù)格式的標(biāo)準(zhǔn)化。
因此,使用RSA只能加密少量數(shù)據(jù),大量的數(shù)據(jù)加密還要靠對(duì)稱(chēng)密碼算法。實(shí)際應(yīng)用中一般用來(lái)加密對(duì)稱(chēng)算法的密鑰,而密文多用對(duì)稱(chēng)加密算法加密傳輸。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。