在公司查問題時遇到一個關於公鑰與私鑰和加簽與驗簽的問題,當時不太明白,后來弄明白了感覺挺有意思的,所以想分享一下。
為了說明問題,假設現在有a,b,c三家公司,彼此都有業務往來。
假設a,b公司都會向c公司發送報文,而c公司為了能夠保證報文的安全性便會給a,b公司一個公鑰(不是什么公司都能向自己發報文的,必須是自己指定的公司才可以),自己會有一個對應的私鑰,而a,b公司在向c公司發送報文時就可以使用c公司提供的公鑰對報文進行加密(公鑰主要用來進行加密),當c公司取得報文后就會使用自己的私鑰對報文進行解密(私鑰主要用來解密),如果解密成功則表示該報文是正確的,可以進行接收(這就是公鑰與私鑰的使用)。
然而當c取得了報文后,a和b公司都可以向自己發送報文,那怎么判斷這個報文是a的還是b的呢,這就要用到加簽與驗簽了。
為了能夠表明自己的身份,a或b公司便會向自己的報文里邊加入一個簽名,c收到報文后對其進行驗簽(這也是有一個加密與解密的過程,這樣便證明了身份)。
總結:公鑰與私鑰是用來加密與加密的,加簽與驗簽是用來證明自己身份的。
