轉(zhuǎn)自:https://www.cnblogs.com/jjyz/p/7205083.html
在公司查問題時(shí)遇到一個(gè)關(guān)于公鑰與私鑰和加簽與驗(yàn)簽的問題,當(dāng)時(shí)不太明白,后來弄明白了感覺挺有意思的,所以想分享一下。
為了說明問題,假設(shè)現(xiàn)在有a,b,c三家公司,彼此都有業(yè)務(wù)往來。
假設(shè)a,b公司都會向c公司發(fā)送報(bào)文,而c公司為了能夠保證報(bào)文的安全性便會給a,b公司一個(gè)公鑰(不是什么公司都能向自己發(fā)報(bào)文的,必須是自己指定的公司才可以),自己會有一個(gè)對應(yīng)的私鑰,而a,b公司在向c公司發(fā)送報(bào)文時(shí)就可以使用c公司提供的公鑰對報(bào)文進(jìn)行加密(公鑰主要用來進(jìn)行加密),當(dāng)c公司取得報(bào)文后就會使用自己的私鑰對報(bào)文進(jìn)行解密(私鑰主要用來解密),如果解密成功則表示該報(bào)文是正確的,可以進(jìn)行接收(這就是公鑰與私鑰的使用)。
然而當(dāng)c取得了報(bào)文后,a和b公司都可以向自己發(fā)送報(bào)文,那怎么判斷這個(gè)報(bào)文是a的還是b的呢,這就要用到加簽與驗(yàn)簽了。
為了能夠表明自己的身份,a或b公司便會向自己的報(bào)文里邊加入一個(gè)簽名,c收到報(bào)文后對其進(jìn)行驗(yàn)簽(這也是有一個(gè)加密與解密的過程,這樣便證明了身份)。
總結(jié):公鑰與私鑰是用來加密與加密的,加簽與驗(yàn)簽是用來證明自己身份的。