對稱算法使用一個密鑰,給定一個明文和一個密鑰,加密產生密文,其長度和明文大致相同,解密時,使用讀密鑰與加密密鑰相同。常見的對稱加密算法有DES、3DES、AES、Blowfish、IDEA、RC5、RC6。
對稱加密優缺點
優點:計算量小、加密效率高,與公鑰加密相比運算速度快。
缺點:不能作為身份驗證,密鑰發放困難,安全性得不到保證。
對稱加密的四種工作模式
1、電子密碼本模式 Electronic Code Book(ECB)
這種模式是最早采用和最簡單的模式,它將加密的數據分成若干組,每組的大小跟加密密鑰長度相同,然后每組都用相同的密鑰進行加密。
要點:數據分組,每組長度與密鑰長度相同,每組分別加密,適用加密小消息
優點:算法簡單,有利于并行計算,且誤差不會被傳送;
缺點:電子編碼薄模式用一個密鑰加密消息的所有塊,如果原消息中重復明文塊,則加密消息中的相應密文塊也會重復,容易對明文進行主動的攻擊。所以,電子編碼薄模式適于加密小消息。
2、加密塊鏈模式 Cipher Block Chaining(CBC)
CBC 模式的加密首先也是將明文分成固定長度的塊,然后將前面一個加密塊輸出的密文與下一個要加密的明文塊進行異或操作,將計算的結果再用密鑰進行加密得到密文。
第一明文塊加密的時候,因為前面沒有加密的密文,所以需要一個初始化向量。跟ECB 方式不一樣,通過連接關系,使得密文跟明文不再是一一對應的關系,破解起來更困難,而且克服了只要簡單調換密文塊可能達到目的的攻擊。
要點:數據分組,長度與密鑰相同。長度一樣的初始化向量。初始化向量與密文抑或之后,再加密,結果與下一個數據塊抑或再加密。
優點:不容易主動攻擊,安全性好于ECB,適合傳輸長度長的報文,是SSL、IPSec的標準。
缺點:密文不利于并行計算,容易造成誤差傳遞,且需要初始化向量IV。
3、加密反饋模式 Cipher Feedback Mode(CFB)
面向字符應用程序的加密要使用流加密算法,可以使用加密反饋模式進行加密。在此模式下,數據用更小的單元加密,如可以是8位,這個長度小于定義的塊長(通常是 64 位)。
要點:數據分組,數據塊更小。64位向量左移8位,再補上上輪所得的密文高8(c)位。密鑰和向量加密得k,k高8位與明文異或得到下一輪的密文。
優點:分組密碼轉化為流模式,隱藏了明文模式,可以及時加密傳送小于分組的數據。
缺點:密文不利于并行計算,如果一個明文單元損壞,則會影響多個密文單元,需要唯一的初始化向量。
4、輸出反饋模式 Output Feedback Mode(OFB)
輸出反饋模式與 CFB 相似,惟一差別是,CFB 中密文填入加密過程下一階段,而
在 OFB 中,初始化向量加密過程的輸入填入加密過程下一階段。
要點:數據分組,數據塊更小(這里取8bit)。64位向量左移8位,再補上上輪所得的k高8(c)位。密鑰和向量加密得k。k高8位與明文異或得到下一輪的密文。
優點:分組密碼轉化為流模式,隱藏了明文模式,可以及時加密傳送小于分組的數據。
缺點:密文不利于并行計算,如果一個明文單元損壞,則會影響多個密文單元,且對明文的主動攻擊是可能的。
-
AES
+關注
關注
0文章
103瀏覽量
33206 -
DES
+關注
關注
0文章
64瀏覽量
48199
原文標題:對稱加密算法
文章出處:【微信號:NeXt8060,微信公眾號:HALCON圖像處理與機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論