1. 程式人生 > >公鑰與私鑰和加簽與驗簽

公鑰與私鑰和加簽與驗簽

然而 指定 簽名 判斷 總結 使用 感覺 現在 得到

在公司查問題時遇到一個關於公鑰與私鑰和加簽與驗簽的問題,當時不太明白,後來弄明白了感覺挺有意思的,所以想分享一下。

  為了說明問題,假設現在有a,b,c三家公司,彼此都有業務往來。

  假設a,b公司都會向c公司發送報文,而c公司為了能夠保證報文的安全性便會給a,b公司一個公鑰(不是什麽公司都能向自己發報文的,必須是自己指定的公司才可以),自己會有一個對應的私鑰,而a,b公司在向c公司發送報文時就可以使用c公司提供的公鑰對報文進行加密(公鑰主要用來進行加密),當c公司取得報文後就會使用自己的私鑰對報文進行解密(私鑰主要用來解密),如果解密成功則表示該報文是正確的,可以進行接收(這就是公鑰與私鑰的使用)。

  然而當c取得了報文後,a和b公司都可以向自己發送報文,那怎麽判斷這個報文是a的還是b的呢,這就要用到加簽與驗簽了。

  為了能夠表明自己的身份,a或b公司便會向自己的報文裏邊加入一個簽名,同時都會給c公司一個自己的公鑰用於對自己的簽名進行解密用的,於是當c公司得到報文後,假設使用a提供的公鑰對報文中的簽名進行解密,如果解密成功則說明該報文是a公司提供的(這樣便證明了身份)。

總結:公鑰與私鑰是用來加密與加密的,加簽與驗簽是用來證明自己身份的。

公鑰與私鑰和加簽與驗簽