簡述塊加密算法

我們都知道加密算法分為對稱加密和非對稱加密兩種,但是在對稱加密算法中,還分為塊加密和流加密。今天我們就來了解一下什么是塊加密算法?

塊加密算法的概念

塊加密,英文為Block Cyper,又被稱為分組加密,是一種常見的對稱加密。它并不是指某個算法,而是對稱加密算法中的一種加密方式。

塊加密算法是將固定長度的數(shù)據(jù)塊或純文本數(shù)據(jù)(未加密)轉(zhuǎn)換成長度相同的密碼塊(加密文本)數(shù)據(jù)。該轉(zhuǎn)換的前提是用戶提供密鑰。解密時,要使用相同的密鑰對密碼塊數(shù)據(jù)進(jìn)行逆轉(zhuǎn)換。固定的長度被稱作數(shù)據(jù)塊大小,大多數(shù)密碼塊的固定大小都是64位或128位。

由于塊加密的工作模式允許使用同一個分組密碼密鑰對多于一塊的數(shù)據(jù)進(jìn)行加密,并保證其安全性,一般來說塊加密相比較流加密更安全一些。

塊加密

常見的塊加密算法

  • AES加密算法
  • DES系列加密算法
  • RC系列加密算法

塊加密算法的加密模式

1.ECB模式

這是最簡單最普通的加密模式,就是加密完一輪數(shù)據(jù),接著加密下一輪數(shù)據(jù),不同輪次之間的數(shù)據(jù)間無任何關(guān)系。

塊加密算法

2.CBC模式

這種模式就是上面一輪加密的結(jié)果與下一輪的明文進(jìn)行異或,然后進(jìn)行加密。因?yàn)榈谝粋€明文分組沒有前面的密文與之異或,故需要一個初始向量IV。

塊加密算法

3.CFB

將數(shù)據(jù)進(jìn)行加密的結(jié)果與明文進(jìn)行異或得到密文,然后再將密文進(jìn)行加密再與明文異或得到下一個密文,依次類推。同理,在最開始的時候需要一個初始向量IV。

塊加密算法

4.OFB

將一個初始向量一直加密,每加密一次的結(jié)果與明文進(jìn)行異或得到密文。

塊加密算法

5.CTR

一直加密計數(shù)器,得到加密的結(jié)果與明文進(jìn)行異或得到密文。

塊加密算法

目前常用的對稱加密算法基本上都屬于塊加密算法,其中DES和3DES是使用最多的數(shù)據(jù)塊加密,AES則是更高級的塊加密法。

免責(zé)聲明:素材源于網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系刪稿。