科普 | 現(xiàn)代密碼學(xué)之對稱加密

小風哥
對稱加密是采用單鑰密碼系統(tǒng)的加密方法,同一個密鑰可以同時用作信息的加密和解密,這種加密方法稱為對稱加密,也稱為單密鑰加密。

什么是對稱加密(Symmetric-Key Cryptography)?

對稱加密是采用單鑰密碼系統(tǒng)的加密方法,同一個密鑰可以同時用作信息的加密和解密,這種加密方法稱為對稱加密,也稱為單密鑰加密。

2345截圖20211028093243.png

對于明文plaintext,和對稱秘鑰key

加密過程E(plaintext,key)=ciphertext

解密過程D(ciphertext,key)=plaintext

對稱加密算法

對稱加密的分為分組密碼(block cipher)和流密碼(stream cipher)兩種類型。本文只介紹分組密碼。

分組密碼

對稱加密的分為分組密碼(block cipher)和流密碼(stream cipher)兩種類型。本文只介紹分組密碼。

分組密碼是每次只能處理特定長度的一塊(block)數(shù)據(jù)的一類加解密算法。AES就是一種分組密碼算法。AES加密算法每次可以加密的塊長度是128位(bit)。

分組密碼的模式

ECB模式

使用AES加密算法ECB模式,每次能加密128位數(shù)據(jù),即16個字節(jié)。如果要加密48個字節(jié)內(nèi)容,我們需要把數(shù)據(jù)分為3組,每組16個字節(jié),分別為P1、P2、P3。P1、P2、P3加密后形成的秘文分別為C1、C2、C3,我們把C1、C2、C3依次拼接起來就成為最終的加密結(jié)果。

2345截圖20211028093243.png

ECB模式重要特征是:一段消息若有相同的明文分組,則秘文中也將出現(xiàn)相同的秘文分組;每個分組獨立且前后文無關(guān),直接增加或刪除一個分組不影響其它分組解密過程的正確性。

ECB模式只適合加密較少的數(shù)據(jù),比如秘鑰,對于長的消息ECB可能不安全,攻擊者可以重排或者替換秘文塊進行攻擊。

CBC模式

2345截圖20211028093243.png

CBC模式加密算法的輸入是上一個秘文的下一個明文組的異或“⊕”。

CBC模式加密結(jié)果與前文相關(guān),有利于提高加密結(jié)果的隨機性。一般情況下長消息加密可采用CBC。

其他分組密碼算法

DES(Data Encrytion Standard)算法,又被稱為美國數(shù)據(jù)加密標準,是1972年美國IBM公司研制的對稱密碼體制加密算法。

明文按64位進行分組,密鑰長64位,密鑰事實上是56位參與DES運算(第8、16、24、32、40、48、56、64位是校驗位,使得每個密鑰都有奇數(shù)個1)分組后的明文組和56位的密鑰按位替代或交換的方法形成密文組的加密方法。

DES算法已被破解,目前已經(jīng)沒有企業(yè)使用這種對稱加密算法了。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論