對稱加密
對稱加密指的就是加密和解密使用同乙個秘鑰,所以叫做對稱加密。對稱加密只有乙個秘鑰,作為私鑰。
具體演算法有: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 操作剪下獲得口令。 以上就是動態口令令牌卡的內部原理。
對稱加密與非對稱加密優缺點詳解
對稱加密 雙方使用的同乙個金鑰,既可以加密又可以解密,這種加密方法稱為對稱加密,也稱為單金鑰加密。優點 速度快,對稱性加密通常在訊息傳送方需要加密大量資料時使用,演算法公開 計算量小 加密速度快 加密效率高。缺點 在資料傳送前,傳送方和接收方必須商定好秘鑰,然後 使雙方都能儲存好秘鑰。其次如果一方的...
對稱加密技術與非對稱加密技術優缺點對比
對稱加密 一 對稱加密 雙方使用的同乙個金鑰,既可以加密又可以解密,這種加密方法稱為對稱加密,也稱為單金鑰加密。優點 速度快,對稱性加密通常在訊息傳送方需要加密大量資料時使用,演算法公開 計算量小 加密速度快 加密效率高。缺點 在資料傳送前,傳送方和接收方必須商定好秘鑰,然後 使雙方都能儲存好秘鑰。...
對稱加密 非對稱加密
區別在於加密金鑰和解密金鑰是否一樣,一樣則是對稱加密,不一樣則是非對稱加密。對稱加密計算量小,但若不同的客戶端使用不能的金鑰時,伺服器的複雜大。常用的對稱加密包括 des 3des aes des 3des使用的架構為feistel。des金鑰長度為56位,3des相容des,可設定3個56位密碼,...