什么是 AES-GCM加密算法
AES是一種對(duì)稱加密算法,它的相關(guān)概念在此不贅述。
GCM ( Galois/Counter Mode) 指的是該對(duì)稱加密采用Counter模式,并帶有GMAC消息認(rèn)證碼。
在詳細(xì)介紹AES-GCM之前,我們先了解一些相關(guān)概念。
下文中出現(xiàn)的符號(hào):
Ek | 使用秘鑰k對(duì)輸入做對(duì)稱加密運(yùn)算 |
XOR | 異或運(yùn)算 |
Mh | 將輸入與秘鑰h在有限域GF(2^128)上做乘法 |
當(dāng)我們有一段明文,需要對(duì)其進(jìn)行AES加密時(shí),需要對(duì)明文進(jìn)行分組,分組長度可為128,256,或512bits。采用ECB模式的分組密碼算法加密過程如下圖:
由上圖可以看出,明文中重復(fù)的排列會(huì)反映在密文中。
并且,當(dāng)密文被篡改時(shí),解密后對(duì)應(yīng)的明文分組也會(huì)出錯(cuò),且解密者察覺不到密文被篡改了。也就是說,ECB不能提供對(duì)密文的完整性校驗(yàn)。
因此,在任何情況下都不推薦使用ECB模式。
在計(jì)數(shù)器模式下,我們不再對(duì)密文進(jìn)行加密,而是對(duì)一個(gè)逐次累加的計(jì)數(shù)器進(jìn)行加密,用加密后的比特序列與明文分組進(jìn)行 XOR得到密文。過程如下圖:
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。