3.2 定義
3.2.1加密表達式
本標準中,由分組密碼規定的函數關系記作:
C=EK(P)
其中:P是明文分組;
C是密文分組;
K是密鑰;
EK是使用密鑰K的加密運算。
3.2.2解密表達式
對應的解密函數記作:
P=DK(C)
DK是使用密鑰K的解密運算。
3.2.3位陣列表達式
由一個大寫字母表示的變量,如上面的P和C,它表示一個一維的位陣列。例如:
A=(a1,a2,···,am)和B=(b1,b2···,bm)
便是兩個m位陣列,其位從1到m編號。所有位陣列的記法都是以下標為1的位處于最左邊。
3.2.4模2加表達式
模2加操作,也稱作“異或”運算,用符號⊕表示,應用到陣列A和B的運算定義為:
A⊕B=(a1⊕b1,a2⊕b2,···,am⊕bm)
3.2.5位選擇表達式
選擇A的最左邊j個位以產生一個j位陣列的操作記作:
A~j=(a1,a2,···,aj)
僅當1≤j≤m(m是A中的位數)時此操作才有定義。
3.2.6移位運算表達式
移位函數Sk定義如下:
已知m位變量X和k位變量F,其中1≤k≤m,移位函數Sk(X|F)的作用是產生以下的m位變量(|是連接運算符,下同):
Sk(X|F)=(Xk+1,Xk+2,···,Xm,f1,f2,···,fk) (k<m)
Sk(X|F)=(f1,f2,···,fk) (k=m)
其作用是將陣列X的各位左移k個位置,舍棄X1,X2,···,Xk,并將陣列F放置在陣列X的最右邊的k個位置上。當k=m時,其作用是F完全取代X。
此函數的一個特例是以全“1”的m位變量I(m)開始,并將k位變量F移到其中。結果為:
Sk(I(m)|F)=(1,1,···,1,f1,f2,···,fk) (k<m)
Sk(I(m)|F)=(f1,f2,···,fk) (k=m)
其中最左邊的m-k位均為“1”。
推薦文章: