RSA公鑰、私鑰、簽名和驗簽


1 RSA加密算法介紹

RSA又叫非對稱加密算法,這類加密算法有一對秘鑰,其中一個用來加密一個用來解密。這一對秘鑰中你可以選擇一個作為私鑰(自己保存),另一個作為公鑰(對外公開)。用私鑰加密的內容只能用對應的公鑰解密,反之用公鑰加密的內容只能用對應的私鑰解密。還有一種對稱加密算法,其加密秘鑰和解密秘鑰為同一個秘鑰,比如DES。

2 RSA加密過程

假設A 產生了一對秘鑰,私鑰自己保存,公鑰對外公開,且B獲得了A的公鑰。在A,B通信的過程中:
A向B發送信息:A用自己的私鑰加密,B只能用A的公鑰解密。
B向A發送信息:B用A的公鑰加密數據,A只能用自己的私鑰解密
這樣就保證了數據的安全傳輸;但是這中間存在問題,如果B向A發送數據的過程中被C攔截了,且C也有A的公鑰,這樣C就可以用A的公鑰重新加密一份數據發送給A,這樣就篡改了B發送給A的數據。為了避免這種情況,就要說到數字簽名的作用了

3 私鑰簽名,公鑰驗簽

因為在數據傳輸過程中有可能被篡改,因此我們要使用數字簽名技術來校驗發送人的身份,並且事后發送人不能抵賴。下面是數字簽名的過程:用戶還是A和B

1 B向A發送 信息 並且用約定好的摘要算法,把 信息 生成一個摘要,同時B用自己的私鑰對這個摘要進行加密,生成的加密摘要就叫B的簽名

2 把該信息和摘要一塊發送給A

3 A收到B發送的信息,把該信息用相同的摘要算法生成一個摘要,然后用B的公鑰解密A發送過來的摘要,得到一個明文摘要,對比這個明文摘要和B生成的摘要,如果相同說明該信息是B發送的並且該信息沒有被篡改過。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM