對(duì)稱算法使用一個(gè)密鑰,給定一個(gè)明文和一個(gè)密鑰,加密產(chǎn)生密文,其長(zhǎng)度和明文大致相同,解密時(shí),使用讀密鑰與加密密鑰相同。常見(jiàn)的對(duì)稱加密算法有DES、3DES、AES、Blowfish、IDEA、RC5、RC6。
對(duì)稱加密優(yōu)缺點(diǎn)
優(yōu)點(diǎn):計(jì)算量小、加密效率高,與公鑰加密相比運(yùn)算速度快。
缺點(diǎn):不能作為身份驗(yàn)證,密鑰發(fā)放困難,安全性得不到保證。
對(duì)稱加密的四種工作模式
1、電子密碼本模式 Electronic Code Book(ECB)
這種模式是最早采用和最簡(jiǎn)單的模式,它將加密的數(shù)據(jù)分成若干組,每組的大小跟加密密鑰長(zhǎng)度相同,然后每組都用相同的密鑰進(jìn)行加密。
要點(diǎn):數(shù)據(jù)分組,每組長(zhǎng)度與密鑰長(zhǎng)度相同,每組分別加密,適用加密小消息
優(yōu)點(diǎn):算法簡(jiǎn)單,有利于并行計(jì)算,且誤差不會(huì)被傳送;
缺點(diǎn):電子編碼薄模式用一個(gè)密鑰加密消息的所有塊,如果原消息中重復(fù)明文塊,則加密消息中的相應(yīng)密文塊也會(huì)重復(fù),容易對(duì)明文進(jìn)行主動(dòng)的攻擊。所以,電子編碼薄模式適于加密小消息。
2、加密塊鏈模式 Cipher Block Chaining(CBC)
CBC 模式的加密首先也是將明文分成固定長(zhǎng)度的塊,然后將前面一個(gè)加密塊輸出的密文與下一個(gè)要加密的明文塊進(jìn)行異或操作,將計(jì)算的結(jié)果再用密鑰進(jìn)行加密得到密文。
第一明文塊加密的時(shí)候,因?yàn)榍懊鏇](méi)有加密的密文,所以需要一個(gè)初始化向量。跟ECB 方式不一樣,通過(guò)連接關(guān)系,使得密文跟明文不再是一一對(duì)應(yīng)的關(guān)系,破解起來(lái)更困難,而且克服了只要簡(jiǎn)單調(diào)換密文塊可能達(dá)到目的的攻擊。
要點(diǎn):數(shù)據(jù)分組,長(zhǎng)度與密鑰相同。長(zhǎng)度一樣的初始化向量。初始化向量與密文抑或之后,再加密,結(jié)果與下一個(gè)數(shù)據(jù)塊抑或再加密。
優(yōu)點(diǎn):不容易主動(dòng)攻擊,安全性好于ECB,適合傳輸長(zhǎng)度長(zhǎng)的報(bào)文,是SSL、IPSec的標(biāo)準(zhǔn)。
缺點(diǎn):密文不利于并行計(jì)算,容易造成誤差傳遞,且需要初始化向量IV。
3、加密反饋模式 Cipher Feedback Mode(CFB)
面向字符應(yīng)用程序的加密要使用流加密算法,可以使用加密反饋模式進(jìn)行加密。在此模式下,數(shù)據(jù)用更小的單元加密,如可以是8位,這個(gè)長(zhǎng)度小于定義的塊長(zhǎng)(通常是 64 位)。
要點(diǎn):數(shù)據(jù)分組,數(shù)據(jù)塊更小。64位向量左移8位,再補(bǔ)上上輪所得的密文高8(c)位。密鑰和向量加密得k,k高8位與明文異或得到下一輪的密文。
優(yōu)點(diǎn):分組密碼轉(zhuǎn)化為流模式,隱藏了明文模式,可以及時(shí)加密傳送小于分組的數(shù)據(jù)。
缺點(diǎn):密文不利于并行計(jì)算,如果一個(gè)明文單元損壞,則會(huì)影響多個(gè)密文單元,需要唯一的初始化向量。
4、輸出反饋模式 Output Feedback Mode(OFB)
輸出反饋模式與 CFB 相似,惟一差別是,CFB 中密文填入加密過(guò)程下一階段,而
在 OFB 中,初始化向量加密過(guò)程的輸入填入加密過(guò)程下一階段。
要點(diǎn):數(shù)據(jù)分組,數(shù)據(jù)塊更小(這里取8bit)。64位向量左移8位,再補(bǔ)上上輪所得的k高8(c)位。密鑰和向量加密得k。k高8位與明文異或得到下一輪的密文。
優(yōu)點(diǎn):分組密碼轉(zhuǎn)化為流模式,隱藏了明文模式,可以及時(shí)加密傳送小于分組的數(shù)據(jù)。
缺點(diǎn):密文不利于并行計(jì)算,如果一個(gè)明文單元損壞,則會(huì)影響多個(gè)密文單元,且對(duì)明文的主動(dòng)攻擊是可能的。
-
AES
+關(guān)注
關(guān)注
0文章
107瀏覽量
33556 -
DES
+關(guān)注
關(guān)注
0文章
65瀏覽量
48734
原文標(biāo)題:對(duì)稱加密算法
文章出處:【微信號(hào):NeXt8060,微信公眾號(hào):HALCON圖像處理與機(jī)器視覺(jué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
對(duì)稱加密算法是什么
軟件加密算法都有哪些,這些算法在哪些方面得到了應(yīng)用
淺談對(duì)稱加密算法與非對(duì)稱密鑰加密算法
采用對(duì)稱加密算法的機(jī)制 GB1584.2-1997
關(guān)于應(yīng)用到游戲中的加密算法的用途及缺陷
解讀保護(hù)數(shù)據(jù)安全的八種軟件加密算法

常見(jiàn)公鑰加密算法有哪些
非對(duì)稱加密算法有什么特點(diǎn)
java實(shí)現(xiàn)非對(duì)稱加密算法的過(guò)程

舉例幾種常見(jiàn)的加密算法

Go常用的加密算法詳細(xì)解讀
嵌入式的RSA非對(duì)稱加密算法

評(píng)論