加密算法中的Lai-Massey結(jié)構(gòu)是什么意思?

在分組加密算法中,除了我們熟知的Feistel結(jié)構(gòu)和SPN結(jié)構(gòu)外,還有一種名為“Lai-Massey”的結(jié)構(gòu)。它是一種比較少見的分組密碼結(jié)構(gòu),采用該結(jié)構(gòu)的密碼算法是IDEA分組加密算法。下面我們就來了解一下Lai-Massey結(jié)構(gòu)。

Lai-Massey結(jié)構(gòu)簡介

Lai-Massey結(jié)構(gòu)起源于密碼學(xué)家Lai和Massey在1990年設(shè)計(jì)的IDEA分組密碼算法,結(jié)構(gòu)名稱由該結(jié)構(gòu)的設(shè)計(jì)者名字組成。

Lai-Massey結(jié)構(gòu)可以提供與Feistel結(jié)構(gòu)相仿的安全性,且輪函數(shù)同樣可以采用不可逆的變換。但由于輪函數(shù)相對復(fù)雜,算法安全性難于分析,在密碼設(shè)計(jì)方面的應(yīng)用沒有Feistel和SPN廣泛。

Lai-Massey結(jié)構(gòu)

Lai-Massey結(jié)構(gòu)的原理

在Lai-Massey結(jié)構(gòu)中,明文被分為左右兩個(gè)n比特部分,L0為左邊部分,R0為右邊部分。然后進(jìn)行r輪運(yùn)算,每輪運(yùn)算都遵循特定的規(guī)則。

這種結(jié)構(gòu)的特點(diǎn)在于加密和解密過程只需替換輪密鑰的使用順序,并且加密與解密互逆的保障是由Lai-Massey結(jié)構(gòu)本身提供,不依賴于F函數(shù)的選取。因此,F(xiàn)函數(shù)的設(shè)計(jì)不受可逆性的條件約束。

Lai-Massey結(jié)構(gòu)的過程

  1. 將明文分為左右兩個(gè)n比特部分,L0為左邊部分,R0為右邊部分。
  2. 進(jìn)行r輪運(yùn)算,每輪運(yùn)算都遵循特定的規(guī)則。這個(gè)過程可以用公式表示為:Lr=Lr-1⊕Fr(Rr-1⊕Lr-1),Rr=Rr-1⊕Fr(Lr-1⊕Rr-1),其中,Lr和Rr分別為第r輪的左右兩部分,F(xiàn)r為輪函數(shù),⊕為按位異或運(yùn)算。
  3. 最終的密文由Lr和Rr組成。

Lai-Massey結(jié)構(gòu)的解密過程與加密過程類似,只需將輪密鑰的使用順序反過來即可。

Lai-Massey結(jié)構(gòu)

Lai-Massey結(jié)構(gòu)的優(yōu)缺點(diǎn)

在Lai-Massey結(jié)構(gòu)中,無論f是什么函數(shù),基本函數(shù)都是可逆的,進(jìn)而確保輪函數(shù)可逆以及整個(gè)密碼算法可逆。并且,Lai-Massey結(jié)構(gòu)的基本函數(shù)是對合的,進(jìn)而確保輪函數(shù)是對合的以及整個(gè)密碼算法是對合的。非常易于得到對合的密碼算法。

但是,Lai-Massey結(jié)構(gòu)還有一些缺點(diǎn),比如擴(kuò)散較慢,算法迭代2輪才能改變輸入的每一位。目前使用Lai-Massey結(jié)構(gòu)算法較少,在實(shí)際應(yīng)用中也無法得到有效地保障。

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