RSA加密/解密和簽名/驗(yàn)簽過(guò)程理解

這里將A理解為客戶端,B理解為服務(wù)端,可以比較好理解.

  • 加解密過(guò)程簡(jiǎn)述

A和B進(jìn)行通信加密,B要先生成一對(duì)RSA密鑰,B自己持有私鑰,給A公鑰 --->A使用B的公鑰加密要發(fā)送的內(nèi)容,然后B接收到密文后通過(guò)自己的私鑰解密內(nèi)容

  • 簽名驗(yàn)簽過(guò)程簡(jiǎn)述

A給B發(fā)送消息,A先計(jì)算出消息的消息摘要,然后使用自己的私鑰加密消息摘要,被加密的消息摘要就是簽名.(A用自己的私鑰給消息摘要加密成為簽名)

B收到消息后,也會(huì)使用和A相同的方法提取消息摘要,然后用A的公鑰解密簽名,并與自己計(jì)算出來(lái)的消息摘要進(jìn)行比較-->如果相同則說(shuō)明消息是A發(fā)送給B的,同時(shí),A也無(wú)法否認(rèn)自己發(fā)送消息給B的事實(shí).(B使用A的公鑰解密簽名文件的過(guò)程,叫做"驗(yàn)簽").

數(shù)字簽名的作用:保證數(shù)據(jù)完整性,機(jī)密性和發(fā)送方角色的不可抵賴性
加密與簽字結(jié)合時(shí),兩套公私鑰是不同的

  • 對(duì)簽名和驗(yàn)簽過(guò)程詳細(xì)理解:

簽名過(guò)程:

1. A計(jì)算消息m的消息摘要,記為 h(m)
2. A使用私鑰(n,d)對(duì)h(m)加密,生成簽名s, s滿足:s=(h(m))^d mod n;
   由于A是用自己的私鑰對(duì)消息摘要加密,所以只用使用s的公鑰才能解密該消息摘要,這樣A就不可否認(rèn)自己發(fā)送了該消息給B
3. A發(fā)送消息和簽名(m,s)給B

驗(yàn)簽過(guò)程:

1. B計(jì)算消息m的消息摘要(計(jì)算方式和A相同),記為h(m)
2. B使用A的公鑰(n,e)解密s,得到 H(m), H(m) = s^e mod n
3. B比較H(m)與h(m),相同才能證明驗(yàn)簽成功

對(duì)加密/解密和簽名/驗(yàn)簽完整過(guò)程詳細(xì)理解:

A->B:
1. A提取消息m的消息摘要h(m),并使用自己的私鑰對(duì)摘要h(m)進(jìn)行加密,生成簽名s
2. A將簽名s和消息m一起,使用B的公鑰進(jìn)行加密,生成密文c,發(fā)送給B

B:
1. B接收到密文c,使用自己的私鑰解密c得到明文m和數(shù)字簽名s
2. B使用A的公鑰解密數(shù)字簽名s解密得到H(m)
3. B使用相同的方法提取消息m的消息摘要h(m)
4. B比較兩個(gè)消息摘要。相同則驗(yàn)證成功;不同則驗(yàn)證失敗
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容