對稱加密指的就是加密和解密使用同乙個秘鑰,所以叫做對稱加密。對稱加密只有乙個秘鑰,作為私鑰。
具體演算法有:des,3des,tdea,blowfish,rc5,idea。常見的有:des,aes,3des等等。
演算法公開、計算量小、加密速度快、加密效率高。
秘鑰的管理和分發非常困難,不夠安全。在資料傳送前,傳送方和接收方必須商定好秘鑰,然後雙方都必須要儲存好秘鑰,如果一方的秘鑰被洩露,那麼加密資訊也就不安全了。另外,每對使用者每次使用對稱加密演算法時,都需要使用其他人不知道的唯一秘鑰,這會使得收、發雙方所擁有的鑰匙數量巨大,金鑰管理成為雙方的負擔。
非對稱加密指的是:加密和解密使用不同的秘鑰,一把作為公開的公鑰,另一把作為私鑰。公鑰加密的資訊,只有私鑰才能解密。私鑰加密的資訊,只有公鑰才能解密(這個非常重要)。 私鑰只能由一方安全保管,不能外洩,而公鑰則可以發給任何請求它的人。非對稱加密使用這對金鑰中的乙個進行加密,而解密則需要另乙個金鑰。
我們常見的數字證書、加密狗即是採用非對稱加密來完成安全驗證的。
主要演算法:rsa、elgamal、揹包演算法、rabin、hd,ecc(橢圓曲線加密演算法)。常見的有:rsa,ecc
安全性更高,公鑰是公開的,秘鑰是自己儲存的,不需要將私鑰給別人。
加密和解密花費時間長、速度慢,只適合對少量資料進行加密。
對稱加密演算法相比非對稱加密演算法來說,加解密的效率要高得多。但是缺陷在於對於秘鑰的管理上,以及在非安全通道中通訊時,金鑰交換的安全性不能保障。所以在實際的網路環境中,會將兩者混合使用.
例如針對c/s模型,
服務端計算出一對秘鑰pub/pri。將私鑰保密,將公鑰公開。
客戶端請求服務端時,拿到服務端的公鑰pub。
客戶端通過aes計算出乙個對稱加密的秘鑰x。 然後使用pub將x進行加密。
客戶端將加密後的密文傳送給服務端。服務端通過pri解密獲得x。
然後兩邊的通訊內容就通過對稱金鑰x以對稱加密演算法來加解密。(這部分就是ssl/tls 傳輸安全的核心點之一)
對稱加密和非對稱加密!
主要是對稱加密和非對稱加密兩種。可供各位參考 using system using system.collections.generic using system.linq using system.text using system.security.cryptography using syst...
對稱加密和非對稱加密!
對稱加密演算法 對稱加密演算法是應用較早的加密演算法,技術成熟。在對稱加密演算法中,資料發信方將明文 原始資料 和加密金鑰一起經過特殊加密演算法處理後,使其變成複雜的加密密文傳送出去。收信方收到密文後,若想解讀原文,則需要使用加密用過的金鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文...
對稱加密和非對稱加密
對稱加密是最快速 最簡單的一種加密方式,加密 encryption 與解密 decryption 用的是同樣的金鑰 secretkey 對稱加密有很多種演算法,由於它效率很高,所以被廣泛使用在很多加密協議的核心當中。非對稱加密為 資料的加密 與解密提供了乙個非常安全的方法,它使用了一對金鑰,公鑰 p...