Cipher Block Modes

ss
3 min readSep 23, 2018

--

Cipher block modes主要就是將明文切成一塊一塊,再去對每個block做加解密的探討,我在這邊簡單介紹一下(詳情看維基或是google),總共四種ECB,CBC,CFB,CTR,

Electronic Codebook Mode(ECB)

首先第一個最簡單也是最好理解,簡單來說就是把明文切成一塊一塊的,分別對他們去做加密,解密也是一樣的,好處是我可能同時對他們加密,也可以同時對他們解密,加快速度,但安全性就沒那麼好了,可以看下圖就能很快理解了(圖片來源: 維基百科)

Cipher Block Chaining Mode(CBC)

這個要直接解釋就有點困難了,一樣我們用圖來搭配,會比較容易理解,首先第一塊明文會跟一個IV去做XOR再去進行加密,之後的密文是需要被第二塊明文拿去做XOR再下去加密,以此類推,所以在加密的過程中,整個區塊鍊沒辦法加快速度(因為要一直等前面的那個block),但也比較安全,重點是,解密是可以同時解密的!! 因為解密是拿前一個密文(密文全部都會一起送來,所以你不用向加密一樣要等前面那個處理好),所以解密可以被加速

Cipher Feedback Mode(CFB)

這個就比較複雜一點,首先會將IV與key去做加密的動作,之後加密出來的結果M在跟plantext去做XOR,得到的密文將會是下一個block的IV(這樣的比喻可能不太好,但看圖應該能理解我在說什麼),一樣在解密的部分就跟上一個一樣可以對所有block同時進行解密,加密則無法(依賴前一個產生的密文)

Counter Mode(CTR)

最後一個就是一樣輸入一個IV跟key做加密,但不一樣的是根據順序在IV裡加入一個counter值,在跟明文做XOR,這樣做的好處是除了加密可以所有block,同時加之外,解密也可以,大幅提升速度

以上圖片來源皆來自維基百科

--

--

ss
ss

No responses yet