论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
·S变换
Camellia算法采用的S盒(见式(3))是一个GF(28)上的可逆变换,它加强了算法的安全性并且适用于小硬件设计。众所周知,GF(28)上函数的最大差分概率的最小值被证明为2-6,最大线性概率的最小值推测为2-6。Camellia算法选择GF(28)上能够获得最好的差分和线性概率的可逆函数作S盒,而且S盒每个输出比特具有高阶布尔多项式,使得对Camellia进行高阶差分攻击是困难的。S盒在GF(28)上输入、输出相关函数上的复杂表达式,使得插入攻击对Camellia无效。
S:L→L
(l'1(8),l'1(8),l'1(8),l'1(8),l'1(8),l'1(8),l'1(8),l'1(8)→
*s1(l'1(8)),s2(l'2(8)),s3(l'3(8)),s4('4(8)),s2(l'5(8)),s3(l'6(8)),
s4(l'7(8),s1(l'8(l8(8)))
其中, s2:y(8)=s1(x(8))=h(g(f(0xC5 x(8)))) 0x6E
s2:Y(8)=s2(x(8))=s1(x(8))<<<1 (3)
s3:y(8)=s3(x(8))=s1(x(8))>>>1
s4:y(8)=s4(x(8))=s1(x(8))<<<1
算法中构造了四个不同的S盒,提高了Camellia算法抵抗阶段差分攻击的安全性。为了在小硬件上设计实现,GF(28)上的元素可以表示成系数为GF(24)上的多项式。这样,在实现S盒时,只需运用子域GF(24)上很少的操作。s1变换中所采用的f、h、g函数分别如(4)、(5)、(6)式所示。