非对称加密和对称加密的区别
一 :概述
在現代密碼學誕生以前,就已經有很多的加密方法了。例如,最古老的斯巴達加密棒,廣泛應用于公元前7世紀的古希臘。16世紀意大利數學家卡爾達諾發明的柵格密碼,基于單表代換的凱撒密碼、豬圈密碼,基于多表代換的維吉尼亞密碼,二戰中德軍廣泛使用的恩格瑪加密機…但最終都找到了有效的破解算法。
現代密碼學的誕生標志是1977年1月由美國國家標準局公布的數據加密標準(Data Encryption Standard,DES)。
在經過20多年之后,為適應現代的安全要求,2000年美國國家和標準技術協會篩選和評測出了被稱為AES(Advanced Encryption Standard)的加密算法作為新的加密標準。目前,AES已被廣泛使用,且未發現致命缺陷。到目前為止,AES是一個安全的加密算法。
然而,在加密算法之外,面臨一個問題,那就是:秘鑰的分發。就是說,解密方如何獲得加密方的秘鑰呢? 從而出現了:對稱加密和非對稱加密
1、對稱加密算法:
加密和解密用到的密鑰是相同的,這種加密方式加密速度非常快,適合經常發送數據的場合。缺點是密鑰的傳輸比較麻煩。如AES算法;
2、非對稱加密算法:
加密和解密用的密鑰是不同的,這種加密方式是用數學上的難解問題構造的,通常加密解密的速度比較慢,適合偶爾發送數據的場合。優點是密鑰傳輸方便。常見的非對稱加密算法為RSA、ECC和EIGamal。
非對稱加密算法的加密模式:
(1)乙方生成兩把密鑰(公鑰和私鑰)。公鑰是公開的,任何人都可以獲得,私鑰則是保密的。
(2)甲方獲取乙方的公鑰,然后用它對信息加密。
(3)乙方得到加密后的信息,用私鑰解密。
?
二:簡介:
對稱加密: 加密和解密的秘鑰使用的是同一個.
非對稱加密:?與對稱加密算法不同,非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。
對稱加密算法: 密鑰較短,破譯困難,除了數據加密標準(DES),另一個對稱密鑰加密系統是國際數據加密算法(IDEA),它比DES的加密性好,且對計算機性能要求也沒有那么高.
?
?三:區別
對稱加密算法相比非對稱加密算法來說,加解密的效率要高得多。但是缺陷在于對于秘鑰的管理上,以及在非安全信道中通訊時,密鑰交換的安全性不能保障。所以在實際的網絡環境中,會將兩者混合使用.
例如針對C/S模型,
服務端計算出一對秘鑰pub/pri。將私鑰保密,將公鑰公開。
客戶端請求服務端時,拿到服務端的公鑰pub。
客戶端通過AES計算出一個對稱加密的秘鑰X。 然后使用pub將X進行加密。
客戶端將加密后的密文發送給服務端。服務端通過pri解密獲得X。
然后兩邊的通訊內容就通過對稱密鑰X以對稱加密算法來加解密。
優點:
????算法公開、計算量小、加密速度快、加密效率高,??安全
?
缺點:
?在數據傳送前,發送方和接收方必須商定好秘鑰,然后 使雙方都能保存好秘鑰。其次如果一方的秘鑰被泄露,那么加密信息也就不安全了。另外,每對用戶每次使用對稱加密算法時,都需要使用其他人不知道的唯一秘鑰,這會使得收、發雙方所擁有的鑰匙數量巨大,密鑰管理成為雙方的負擔。
常見的對稱加密算法有: DES、3DES、Blowfish、IDEA、RC4、RC5、RC6 和 AES?
非對稱加密算法:?公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那么只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種算法叫作非對稱加密算法。
非對稱加密算法實現機密信息交換的基本過程是:甲方生成一對密鑰并將其中的一把作為公用密鑰向其它方公開;得到該公用密鑰的乙方使用該密鑰對機密信息進行加密后再發送給甲方;甲方再用自己保存的另一把專用密鑰對加密后的信息進行解密。甲方只能用其專用密鑰解密由其公用密鑰加密后的任何信息。
速度較慢
常見的非對稱加密算法有:?RSA、ECC(移動設備用)、Diffie-Hellman、El Gamal、DSA(數字簽名用)
?
Hash算法(摘要算法)
Hash算法特別的地方在于它是一種單向算法,用戶可以通過hash算法對目標信息生成一段特定長度的唯一hash值,卻不能通過這個hash值重新獲得目標信息。因此Hash算法常用在不可還原的密碼存儲、信息完整性校驗等。
常見的摘要算法有:?MD2、MD4、MD5、HAVAL、SHA
總結
以上是生活随笔為你收集整理的非对称加密和对称加密的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: unity之中级工程师
- 下一篇: 【USACO15DEC】最大流Max F