日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RSA非对称加密算法之公钥和私钥详细介绍

發(fā)布時(shí)間:2025/3/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RSA非对称加密算法之公钥和私钥详细介绍 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)載來自https://www.zhihu.com/question/25912483/answer/31653639

RSA的加密算法

RSA的加密算法。我們從公鑰加密算法和簽名算法的定義出發(fā),用比較規(guī)范的語言來描述這一算法。RSA公鑰加密體制包含如下3個(gè)算法:KeyGen(密鑰生成算法),Encrypt(加密算法)以及Decrypt(解密算法)。。密鑰生成算法以安全常數(shù)作為輸入,輸出一個(gè)公鑰PK,和一個(gè)私鑰SK。安全常數(shù)用于確定這個(gè)加密算法的安全性有多高,一般以加密算法使用的質(zhì)數(shù)p的大小有關(guān)。越大,質(zhì)數(shù)p一般越大,保證體制有更高的安全性。在RSA中,密鑰生成算法如下:算法首先隨機(jī)產(chǎn)生兩個(gè)不同大質(zhì)數(shù)p和q,計(jì)算N=pq。隨后,算法計(jì)算歐拉函數(shù)。接下來,算法隨機(jī)選擇一個(gè)小于的整數(shù)e,并計(jì)算e關(guān)于的模反元素d。最后,公鑰為PK=(N, e),私鑰為SK=(N, d)。。加密算法以公鑰PK和待加密的消息M作為輸入,輸出密文CT。在RSA中,加密算法如下:算法直接輸出密文為。解密算法以私鑰SK和密文CT作為輸入,輸出消息M。在RSA中,解密算法如下:算法直接輸出明文為。由于e和d在下互逆,因此我們有:所以,從算法描述中我們也可以看出:公鑰用于對(duì)數(shù)據(jù)進(jìn)行加密,私鑰用于對(duì)數(shù)據(jù)進(jìn)行解密。當(dāng)然了,這個(gè)也可以很直觀的理解:公鑰就是公開的密鑰,其公開了大家才能用它來加密數(shù)據(jù)。私鑰是私有的密鑰,誰有這個(gè)密鑰才能夠解密密文。否則大家都能看到私鑰,就都能解密,那不就亂套了。

RSA簽名體制

回顧一下RSA簽名體制。簽名體制同樣包含3個(gè)算法:KeyGen(密鑰生成算法),Sign(簽名算法),Verify(驗(yàn)證算法)。。密鑰生成算法同樣以安全常數(shù)作為輸入,輸出一個(gè)公鑰PK和一個(gè)私鑰SK。在RSA簽名中,密鑰生成算法與加密算法完全相同。。簽名算法以私鑰SK和待簽名的消息M作為輸入,輸出簽名。在RSA簽名中,簽名算法直接輸出簽名為。注意,簽名算法和RSA加密體制中的解密算法非常像。。驗(yàn)證算法以公鑰PK,簽名以及消息M作為輸入,輸出一個(gè)比特值b。b=1意味著驗(yàn)證通過。b=0意味著驗(yàn)證不通過。在RSA簽名中,驗(yàn)證算法首先計(jì)算,隨后對(duì)比M’與M,如果相等,則輸出b=1,否則輸出b=0。注意:驗(yàn)證算法和RSA加密體制中的加密算法非常像。所以,在簽名算法中,私鑰用于對(duì)數(shù)據(jù)進(jìn)行簽名,公鑰用于對(duì)簽名進(jìn)行驗(yàn)證。這也可以直觀地進(jìn)行理解:對(duì)一個(gè)文件簽名,當(dāng)然要用私鑰,因?yàn)槲覀兿M挥凶约翰拍芡瓿珊炞帧r?yàn)證過程當(dāng)然希望所有人都能夠執(zhí)行,大家看到簽名都能通過驗(yàn)證證明確實(shí)是我自己簽的。

總結(jié):

1.使用私鑰加密,公鑰解密,用于讓所有公鑰所有者驗(yàn)證私鑰所有者的身份并且用來防止私鑰所有者發(fā)布的內(nèi)容被篡改.但是不用來保證內(nèi)容不被他人獲得.

2.使用公鑰加密,私鑰解密,用于向公鑰所有者發(fā)布信息,這個(gè)信息可能被他人篡改,但是無法被他人獲得.

3.如果甲想給乙發(fā)一個(gè)安全的保密的數(shù)據(jù),那么應(yīng)該甲乙各自有一個(gè)私鑰,甲先用乙的公鑰加密這段數(shù)據(jù),再用自己的私鑰加密這段加密后的數(shù)據(jù).最后再發(fā)給乙,這樣確保了內(nèi)容即不會(huì)被讀取,也不會(huì)被篡改.

總結(jié)

以上是生活随笔為你收集整理的RSA非对称加密算法之公钥和私钥详细介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。