rsa公鑰和私鑰

關於RSA,我見過解釋的最好最簡單明瞭的帖子!!!

公鑰和私鑰在一些銀行系統、第三方支付系統SDK中經常會遇到,剛接觸公鑰私鑰的朋友們估計很難區分兩者的區別。

RSA公鑰和私鑰是什麼?

首先來說,RSA是一種非對稱加密算法,它是由三位數學家(Rivest、Shamir、Adleman)設計出來的。非對稱加密是相對於對稱加密而言的。對稱加密算法是指加密解密使用的是同一個祕鑰,而非對稱加密是由兩個密鑰(公鑰、私鑰)來進行加密解密的,由此可見非對稱加密安全性更高。

公鑰顧名思義就是公開的密鑰會發放給多個持有人,而私鑰是私有密碼往往只有一個持有人。

公私鑰特性

  • 公鑰與私鑰是成對出現的;

  • 私鑰文件中包含了公鑰數據,所以可以基於私鑰導出公鑰;

  • 密鑰越長,越難破解,所以2048位密鑰比1024位密鑰要更安全;

  • 公鑰和私鑰都是密鑰,被公開的那個就是公鑰,沒有被公開的那個就是私鑰。

公鑰和私鑰都可用於加密和解密

公鑰和私鑰都可以用於加解密操作,用公鑰加密的數據只能由對應的私鑰解密,反之亦然。雖說兩者都可用於加密,但是不同場景使用不同的密鑰來加密,規則如下:

1、私鑰用於簽名、公鑰用於驗籤

簽名和加密作用不同,簽名並不是爲了保密,而是爲了保證這個簽名是由特定的某個人簽名的,而不是被其它人僞造的簽名,所以私鑰的私有性就適合用在簽名用途上。

私鑰簽名後,只能由對應的公鑰解密,公鑰又是公開的(很多人可持有),所以這些人拿着公鑰來解密,解密成功後就能判斷出是持有私鑰的人做的簽名,驗證了身份合法性。

2、公鑰用於加密、私鑰用於解密,這才能起到加密作用

因爲公鑰是公開的,很多人可以持有公鑰。若用私鑰加密,那所有持有公鑰的人都可以進行解密,這是不安全的!

若用公鑰加密,那隻能由私鑰解密,而私鑰是私有不公開的,只能由特定的私鑰持有人解密,保證的數據的安全性。

 

 

爲什麼RSA公鑰每次加密得到的結果都不一樣?

https://www.jianshu.com/p/e300f7735c87

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章