The Lai–Massey scheme is a cryptographic structure used in the design of block ciphers.[1] [2] It is used in IDEA and IDEA NXT. The scheme was originally introduced by Xuejia Lai[3] with the assistance of James L. Massey, hence the scheme's name, Lai-Massey.
The Lai-Massey Scheme is similar to a Feistel Network in design, using a round function and a half-round function. The round function is a function which takes two inputs, a sub-key and a Data block, and which returns one output of equal length to the Data block. The half-round function takes two inputs and transforms them into two outputs. For any given round, the input is split into two halves, left and right.
Initially, the inputs are passed through the half-round function. In each round, the difference between the inputs is passed to the round function along with a sub-key, and the result from the round function is then added to each input. The inputs are then passed through the half-round function. This is then repeated a fixed number of times, and the final output is the encrypted data. Due to its design, it has an advantage over a Substitution-permutation network since the round-function does not need to be inverted - just the half-round - enabling it to be more easily inverted, and enabling the round-function to be arbitrarily complex. The encryption and decryption processes are fairly similar, decryption instead requiring a reversal of the key schedule, an inverted half-round function, and that the round function's output be subtracted instead of added.
Let
F
H
K0,K1,\ldots,Kn
0,1,\ldots,n
Then the basic operation is as follows:
Split the plaintext block into two equal pieces, (
L0
R0
For each round
i=0,1,...,n
(Li+1',Ri+1')=H(Li'+Ti,Ri'+Ti),
where
Ti=F(Li'-Ri',Ki)
(L0',R0')=H(L0,R0)
Then the ciphertext is
(Ln+1,Rn+1)=(Ln+1',Rn+1')
Decryption of a ciphertext
(Ln+1,Rn+1)
i=n,n-1,\ldots,0
(Li',Ri')=H-1(Li+1'-Ti,Ri+1'-Ti),
where
Ti=F(Li+1'-Ri+1',Ki)
(Ln+1',Rn+1')=H-1(Ln+1,Rn+1)
Then
(L0,R0)=(L0',R0')
The Lai–Massey scheme offers security properties similar to those of the Feistel structure. It also shares its advantage over a substitution–permutation network that the round function
F
The half-round function is required to prevent a trivial distinguishing attack . It commonly applies an orthomorphism
\sigma
H(L,R)=(\sigma(L),R),
\sigma
x\mapsto\sigma(x)-x
2n
H
n.5
n