對稱加密和非對稱加密

2021-10-10 08:07:20 字數 2102 閱讀 3509

1、通訊雙方都只一把相同的公鑰,甲方用這把相同的公鑰對密文加密後傳送給乙方,乙方收到後再用相同的公鑰進行解密,這就是對稱加密。

2、對稱加密最大的問題就是a和b之間的加密/解密key必須是唯一的。也就是如果a和c 要加密通訊,同時還不想讓c知道a/b之間的通訊內容。那麼a/c之間的加密/解密用的key就不能和a/b之間的一樣,鏈結一旦便多,這種機制將很難管理大量的key。非對稱加密 就是在此環境下誕生的。非對稱加密有公鑰和私鑰。公鑰隨意公開,私鑰自己私密儲存。

1、通訊雙方各有一對自己的且不同於對方的金鑰對(一把公鑰和一把私鑰),雙方在開始通訊之前需要先相互交換公鑰,具體做法:甲方將自己的公鑰複製乙份給乙方,乙方收到後將甲方的公鑰自己保留,然後乙方再用甲方的公鑰加密自己的公鑰傳送給甲方,甲方收到後用自己的私鑰解密自己的公鑰就得到乙方的公鑰,這樣雙方就各自拿到了對方的公鑰。

2、那麼後面再進行通訊的時候,雙方用對方的公鑰加密資訊然後傳送給對方,對方收到後,用自己的私鑰進行解密即可。

非對稱加密之公鑰/私鑰

1.公鑰與私鑰原理

1)鮑勃有兩把鑰匙,一把是公鑰,另一把是私鑰

2)鮑勃把公鑰送給他的朋友們----帕蒂、道格、蘇珊----每人一把。

3)蘇珊要給鮑勃寫一封保密的信。她寫完後用鮑勃的公鑰加密,就可以達到保密的效果。

4)鮑勃收信後,用私鑰解密,就看到了信件內容。這裡要強調的是,只要鮑勃的私鑰不洩露,這封信就是安全的,即使落在別人手裡,也無法解密。

5)鮑勃給蘇珊回信,決定採用"數字簽名"。他寫完後先用hash函式,生成信件的摘要(digest)。

6)然後,鮑勃使用私鑰,對這個摘要加密,生成"數字簽名"(signature)。

7)鮑勃將這個簽名,附在信件下面,一起發給蘇珊。

8)蘇珊收信後,取下數字簽名,用鮑勃的公鑰解密,得到信件的摘要。由此證明,這封信確實是鮑勃發出的。

9)蘇珊再對信件本身使用hash函式,將得到的結果,與上一步得到的摘要進行對比。如果兩者一致,就證明這封信未被修改過。

10)複雜的情況出現了。道格想欺騙蘇珊,他偷偷使用了蘇珊的電腦,用自己的公鑰換走了鮑勃的公鑰。此時,蘇珊實際擁有的是道格的公鑰,但是還以為這是鮑勃的公鑰。因此,道格就可以冒充鮑勃,用自己的私鑰做成"數字簽名",寫信給蘇珊,讓蘇珊用假的鮑勃公鑰進行解密。

11)後來,蘇珊感覺不對勁,發現自己無法確定公鑰是否真的屬於鮑勃。她想到了乙個辦法,要求鮑勃去找"證書中心"(certificate authority,簡稱ca),為公鑰做認證。證書中心用自己的私鑰,對鮑勃的公鑰和一些相關資訊一起加密,生成"數字證書"(digital certificate)。

12)鮑勃拿到數字證書以後,就可以放心了。以後再給蘇珊寫信,只要在簽名的同時,再附上數字證書就行了。

13)蘇珊收信後,用ca的公鑰解開數字證書,就可以拿到鮑勃真實的公鑰了,然後就能證明"數字簽名"是否真的是鮑勃籤的。

對稱加密和非對稱加密!

主要是對稱加密和非對稱加密兩種。可供各位參考 using system using system.collections.generic using system.linq using system.text using system.security.cryptography using syst...

對稱加密和非對稱加密!

對稱加密演算法 對稱加密演算法是應用較早的加密演算法,技術成熟。在對稱加密演算法中,資料發信方將明文 原始資料 和加密金鑰一起經過特殊加密演算法處理後,使其變成複雜的加密密文傳送出去。收信方收到密文後,若想解讀原文,則需要使用加密用過的金鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文...

對稱加密和非對稱加密

對稱加密是最快速 最簡單的一種加密方式,加密 encryption 與解密 decryption 用的是同樣的金鑰 secretkey 對稱加密有很多種演算法,由於它效率很高,所以被廣泛使用在很多加密協議的核心當中。非對稱加密為 資料的加密 與解密提供了乙個非常安全的方法,它使用了一對金鑰,公鑰 p...