1.鮑勃有兩把鑰匙,一把是公鑰,另一把是私鑰。
2.鮑勃把公鑰送給他的朋友們—-帕蒂、道格、蘇珊—-每人一把。
3.蘇珊要給鮑勃寫一封保密的信。她寫完後用鮑勃的公鑰加密,就可以達到保密的效果
4.鮑勃收信後,用私鑰解密,就看到了信件內容。這裡要強調的是,只要鮑勃的私鑰不洩露,這封信就是安全的,即使落在別人手裡,也無法解密。
5.鮑勃給蘇珊回信,
決定採用 「數字簽名」
。他寫完後先用hash函式,生成信件的摘要(digest)。
6.然後,鮑勃使用私鑰,對這個摘要加密,生成」數字簽名」(signature)。
7.鮑勃將這個簽名,附在信件下面,一起發給蘇珊。
8.蘇珊收信後,取下數字簽名,用鮑勃的公鑰解密,得到信件的摘要。由此證明,這封信確實是鮑勃發出的。
9.蘇珊再對信件本身使用hash函式,將得到的結果,與上一步得到的摘要進行對比。如果兩者一致,就證明這封信未被修改過。
10.複雜的情況出現了。道格想欺騙蘇珊,他偷偷使用了蘇珊的電腦,用自己的公鑰換走了鮑勃的公鑰。此時,蘇珊實際擁有的是道格的公鑰,但是還以為這是鮑勃的公鑰。因此,道格就可以冒充鮑勃,用自己的私鑰做成」數字簽名」,寫信給蘇珊,讓蘇珊用假的鮑勃公鑰進行解密。
11.後來,蘇珊感覺不對勁,發現自己無法確定公鑰是否真的屬於鮑勃。她想到了乙個辦法,要求鮑勃去找」證書中心」(certificate authority,簡稱ca),為公鑰做認證。證書中心用自己的私鑰,對鮑勃的公鑰和一些相關資訊一起加密,生成」數字證書」(digital certificate)。
12.鮑勃拿到數字證書以後,就可以放心了。以後再給蘇珊寫信,只要在簽名的同時,再附上數字證書就行了。
13.蘇珊收信後,用ca的公鑰解開數字證書,就可以拿到鮑勃真實的公鑰了,然後就能證明」數字簽名」是否真的是鮑勃籤的。
**:
最直白非對稱加解密
與對稱加密演算法不同,非對稱加密演算法需要兩個金鑰 公鑰 publickey 和私鑰 privatekey 公鑰與私鑰是一對,如果用公鑰對資料進行加密,只有用對應的私鑰才能解密 如果用私鑰對資料進行加密,那麼只有用對應的公鑰才能解密。因為加密和解密使用的是兩個不同的金鑰,所以這種演算法叫做非對稱加密...
C 非對稱加密,RSA加解密示例
引入dll bouncycastle.crypto 金鑰實體 金鑰實體 public class rsakey 私鑰 public string privatekey rsa加密和解密 using system using system.collections.generic using syste...
非對稱加解密誰負責加密,誰負責解密
非對稱加密演算法是一種金鑰的保密方法。非對稱加密演算法需要兩個金鑰 公開金鑰 publickey 和私有金鑰 privatekey 公開金鑰與私有金鑰是一對 第一種用法 私鑰簽名,公鑰驗籤。用於簽名 用於讓所有公鑰所有者驗證私鑰所有者的身份並且用來防止私鑰所有者發布的內容被篡改.但是不用來保證內容不...