對稱加密和非對稱加密

2022-05-15 14:33:10 字數 3204 閱讀 1545

a 和 b 要把他們的通訊內容加密, 如果a/b使用相同的加密解密key,那這就是 對稱加密。

對稱加密最大的問題就是a和b之間的加密/解密key必須是唯一的。也就是如果a和c 要加密通訊,同時還不想讓c知道a/b之間的通訊內容。那麼a/c之間的加密/解密用的key就不能和a/b之間的一樣。

鏈結一旦便多,這種機制將很難管理大量的key。

非對稱加密 就是在此環境下誕生的。非對稱加密有公鑰和私鑰。公鑰隨意公開,私鑰自己私密儲存。

比如 a 把公鑰發給b, c。 當b,c與a通訊時,先把約定好的見面訊號用公鑰加密,a收到後,用私鑰解密,當解密後的資料就是提前約定好的見面訊號的話,a 就認為b,c是受信鏈結。

如果此時d也給a傳送資訊,但卻沒有正確的公鑰。a就無法得到正確的見面訊號,就不會受理d的請求。

對稱加密採用了對稱密碼編碼技術,它的特點是檔案加密和解密使用相同的金鑰加密

也就是金鑰也可以用作解密金鑰,這種方法在密碼學中叫做對稱加密演算法,對稱加密演算法使用起來簡單快捷,金鑰較短,且破譯困難,除了資料加密標準(des),另乙個對稱金鑰加密系統是國際資料加密演算法(idea),它比des的加密性好,而且對計算機功能要求也沒有那麼高

對稱加密演算法在電子商務交易過程中存在幾個問題:

1、要求提供一條安全的渠道使通訊雙方在首次通訊時協商乙個共同的金鑰。直接的面對面協商可能是不現實而且難於實施的,所以雙方可能需要借助於郵件和**等其它相對不夠安全的手段來進行協商;

2、金鑰的數目難於管理。因為對於每乙個合作者都需要使用不同的金鑰,很難適應開放社會中大量的資訊交流;

3、對稱加密演算法一般不能提供資訊完整性的鑑別。它無法驗證傳送者和接受者的身份;

4、對稱金鑰的管理和分發工作是一件具有潛在危險的和煩瑣的過程。對稱加密是基於共同保守秘密來實現的,採用對稱加密技術的**雙方必須保證採用的是相同的金鑰,保證彼此金鑰的交換是安全可靠的,同時還要設定防止金鑰洩密和更改金鑰的程式。

假設兩個使用者需要使用對稱加密方法加密然後交換資料,則使用者最少需要2個金鑰並交換使用,如果企業內使用者有n個,則整個企業共需要n×(n-1) 個金鑰,金鑰的生成和分發將成為企業資訊部門的惡夢。

常見的對稱加密演算法有des、3des、blowfish、idea、rc4、rc5、rc6和aes

與對稱加密演算法不同,非對稱加密演算法需要兩個金鑰:公開金鑰(publickey)和私有金鑰(privatekey)。

公開金鑰與私有金鑰是一對,如果用公開金鑰對資料進行加密,只有用對應的私有金鑰才能解密;如果用私有金鑰對資料進行加密,那麼只有用對應的公開金鑰才能解密。因為加密和解密使用的是兩個不同的金鑰,所以這種演算法叫作非對稱加密演算法。

非對稱加密演算法實現機密資訊交換的基本過程是:甲方生成一對金鑰並將其中的一把作為公用金鑰向其它方公開;得到該公用金鑰的乙方使用該金鑰對機密資訊進行加密後再傳送給甲方;甲方再用自己儲存的另一把專用金鑰對加密後的資訊進行解密。甲方只能用其專用金鑰解密由其公用金鑰加密後的任何資訊。

非對稱加密的典型應用是數字簽名。

常見的非對稱加密演算法有:rsa、ecc(移動裝置用)、diffie-hellman、el gamal、dsa(數字簽名用)

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...