logo资料库

中国商用密码SMS4.ppt

第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
资料共14页,剩余部分请下载后查看
3.6 中国商用密码SMS4 2006年我国国家密码局公布了无线局域网 产品使用的SMS4密码算法。这是我国第一 次公布自己的商用密码算法,意义重大, 影响深远。
3.6.1 SMS4算法描述 SMS4密码概况 ①分组密码: 数据分组长度=128位、密钥长度=128位 数据处理单位:字节( 8位)、字(32位) ②密码算法结构: 基本轮函数加迭代,加密算法和密钥扩展算法都 采用32轮迭代结构 对合运算:解密算法与加密算法相同
3.6.1 SMS4算法描述 密码算法结构 128位密钥 128位明文 密钥 扩展 基本轮函数 迭代控制 128位密文
3.6.1 SMS4算法描述 1.基本运算 ① 模2加:⊕,32比特异或运算 ② 循环移位:<<< i ,把32位字循环左移i 位 2.基本密码部件 (1) S盒 8位输入、8位输出,本质上是 8位的非线性置换。 设输入字节为a,输出字节为b,则S盒的运算表示 为:b=S_Box(a) 例:S_Box(EF)=84
3.6.1 SMS4算法描述 (2)非线性变换:32位字的非线性变换 输入字A 8位输入a0 8位输入a1 8位输入a2 8位输入a3 S盒 S盒 非线性 变换 (置换) (置换) (置换) (置换) S盒 S盒 8位输出b0 8位输出b1 8位输出b2 8位输出b3 输出字B
3.6.1 SMS4算法描述 (3)线性变换部件L 32位输入、32位输出,起到扩散的作用 设输入字为B,输出字为C,则 C=L(B) =B⊕(B<<<2)⊕(B<<<10)⊕(B<<<18)⊕(B<<<24) (4)合成变换T 由非线性变换τ和线性变换L复合而成; 设输入字为X,则先对X进行τ变换,再进行L变 换。 记为:T(X)=L(τ(X))。
3.6.1 SMS4算法描述 3.轮函数 轮函数F的输入为(X0,X1,X2,X3),四个32位字,共128位。 轮密钥rk是一个32位字。 轮函数F的输出是一个32位字。 轮函数F : F(X0,X1,X2,X3,rk)= X0⊕T(X1⊕X2⊕X3⊕rk) = X0⊕L(τ(X1⊕X2⊕X3⊕rk))
3.6.1 SMS4算法描述 2 10 18 24 S S S S S S S S S S S S S S S S S S S S X0 X1 X2 X3 rk 输出
分享到:
收藏