當前位置:
首頁 > 最新 > 對稱加密演算法與非對稱加密演算法的優缺點

對稱加密演算法與非對稱加密演算法的優缺點

對稱加密

對稱加密指的就是加密和解密使用同一個秘鑰,所以叫做對稱加密。對稱加密只有一個秘鑰,作為私鑰。

具體演算法有: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以對稱加密演算法來加解密。


網銀比較流行的時候,銀行給我們發一個動態令牌。這個令牌並不使用任何對稱或者非對稱加密的演算法,在整個銀行的認證體系中,動態令牌只是一個一次性口令的產生器,它是基於時間同步方式,每隔60秒產生一個隨機6位動態密碼在其中運行的主要計算僅包括時間因子的計算和散列值的計算。

在用戶從銀行手中拿到動態口令令牌卡的時候,在令牌卡的內部已經存儲了一份種子文件(即圖中鑰匙所代表的seed),這份種子文件在銀行的伺服器里保存的完全一樣的一份,所以對於動態口令令牌來說,這種方式是share secret的。另外在令牌硬體上的設置中,假使有人打開了這個令牌卡,種子文件將會從令牌卡的內存上擦除(待考證)。令牌卡中有了種子文件,並實現了TOTP演算法,在預先設置的間隔時間裡它就能不斷產生不同的動態口令,並顯示到屏幕上,而銀行伺服器上跟隨時間做同樣的計算,也會得到和令牌卡同樣的口令,用作認證。那麼TOTP演算法具體做了什麼操作呢?在RFC6238中有詳細的演算法描述,這裡也會做簡單的敘述。

TOTP是來自 HOTP [RFC4226] 的變形,從統籌上看,他們都是將數據文件進行散列計算,只是HOTP的因子是事件因子,TOTP將因子換成了時間因子,具體的TOTP計算公式(其中的HMAC-SHA-256也可能是 HMAC-SHA-512):TOTP = Truncate(HMAC-SHA-256(K,T))

其中: K 為這裡的種子文件內容; T 為計算出來的時間因子公式中的 HMAC是密鑰相關的哈希運算消息認證碼(Hash-based Message Authentication Code),HMAC運算利用哈希演算法,以一個密鑰和一個消息為輸入,生成一個消息摘要作為輸出。而公式中給出的哈希演算法是 SHA-256,這種哈希演算法目前並沒有好的破解辦法。令牌卡中預先設置了要顯示的口令長度,TOTP 中的 Truncate 操作剪切獲得口令。以上就是動態口令令牌卡的內部原理。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 歪脖貳點零 的精彩文章:

TAG:歪脖貳點零 |