加密算法

簡介

  • 對稱加密: 加密和解密的祕鑰使用的是同一個
  • 非對稱加密: 與對稱加密算法不一樣,非對稱加密算法須要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。
  • hash: 單向算法

對稱加密

優勢: 算法公開、計算量小、加密速度快、加密效率高

缺點:若是有一方丟失密鑰,數據就不安全算法

常見的算法:AES、DES、IDEA、RC四、RC五、RC6安全

非對稱加密

公開密鑰與私有密鑰是一對,若是用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;若是用私有密鑰對數據進行加密,那麼只有用對應的公開密鑰才能解密。由於加密和解密使用的是兩個不一樣的密鑰,因此這種算法叫做非對稱加密算法。性能

優勢: 安全

缺點:速度較慢加密

常見的算法:RSA、ECC、DSA、Diffie-Hellman、
El Gamalhash

Hash(摘要算法)

單向算法,用戶能夠經過hash算法對目標信息生成一段特定長度的惟一hash值,但不能解密,
所以Hash算法經常使用在不可還原的密碼存儲、信息完整性校驗等。效率

常見的摘要算法有: MD二、MD四、MD五、HAVAL、SHA原理

SSL/TLS

由於每次使用非對稱加密消耗的性能不少,那麼能不能和對稱加密結合起來呢?SSL/TLS就是一種這樣的標準,咱們這裏先舉一個例子:客戶端和服務端通訊密碼

原理:客戶端使用服務端的公鑰來 非對稱加密一條密文,這條密文是 對稱密鑰,服務端經過本身的私鑰解密出來知道是對稱加密的密鑰後,後面通訊就使用 對稱加密,這樣安全和性能就能共存了。

風險:在服務端把公鑰發送給客戶端時,被中間人截獲,中間人返回本身的公鑰,客戶端的對稱密鑰就會被中間人用私鑰解密出來,而後中間人再用服務端的公鑰加密發給服務端,這樣後面的對稱加密數據都會被中間人解密通信

解決辦法:CA(證書認證機構),服務端在CA申請證書,客戶端拿到公鑰後去CA驗證是不是服務端的公鑰數據

相關文章
相關標籤/搜索