簡述MARS加密算法

1997年,為了替代DES的AES高級加密標(biāo)準(zhǔn)在全球海選,留到最后的有五個(gè)算法有MARS、Rc6、Serpent、Twofish和Rijndael,最終由Rijndael當(dāng)選。我們已經(jīng)簡單了解了其他四個(gè)算法,今天我們就來了解一下MARS加密算法。

MARS

MARS加密算法簡介

MARS加密算法是IBM公司參選AES評選的候選算法,是一種對稱分組密碼算法,它繼承了DES的一些優(yōu)點(diǎn),并在運(yùn)算指令,算法結(jié)構(gòu)和分組長度以及密鑰長度等方面較DES有明顯的優(yōu)勢。

MARS加密算法的原理

MARS算法的分組長度128bits,密鑰長度128~1248bits,MARS算法中使用的字長為32bits。其中使用了Sbox,Sbox是一個(gè)512個(gè)元素的數(shù)組,每個(gè)元素32bits。

MARS加密算法

MARS加密算法的三部分

  • 生成子密鑰

MARS算法子密鑰是由主密鑰生成的,主密鑰是由用戶或應(yīng)用給出的。主密鑰不被直接用于加密或解密,以抵抗來自密鑰方面的攻擊,子密鑰被用來加密和解密。

  • 加密

1、前向混合

前向混合的主要目的是保護(hù)加密內(nèi)核,抵抗來自已知的明文攻擊。

2、加密內(nèi)核

? ? ? 1.數(shù)據(jù)變換

數(shù)據(jù)變換是MARS算法的核心.它是基于Feistel一3型變換的,使用了移位,乘,異或,加和查表等運(yùn)算保障安全性。

? ? ? 2.E-function定義

E-function是外爾斯特拉斯E函數(shù),它是表述強(qiáng)極值必要條件的一個(gè)函數(shù)。

3、向后混合

向后混合其實(shí)就是向前混合的逆過程。

4、密文輸出

經(jīng)過上述操作,即可輸出密文。

MARS加密算法

  • 解密

解密過程大體上和加密類似,只是順序上有所不同,分別為:前向混合——解密內(nèi)核——向后混合——解密結(jié)果。

盡管MARS加密算法沒能當(dāng)選高級加密標(biāo)準(zhǔn),但其安全性已達(dá)到達(dá)到AES標(biāo)準(zhǔn),是一種較為優(yōu)秀的加密算法。

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