- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
①分组密码:
数据分组长度=128位、密钥长度=128位
数据处理单位:字节( 8位),字(32位))
②密码算法结构:
基本轮函数加迭代
解密算法与加密算法相同
;二、SMS4 密码概况
②密码算法结构:
;三、SMS4 密码算法
1、基本运算:
① 模2加:⊕,32 比特异或运算
② 循环移位: i ,把32位字循环左移i 位
2、基本密码部件:
① 非线性字节变换部件S盒:
☆ 8位输入、8位输出。
☆本质上, 8位的非线性置换。
☆设输入位a,输出位b,表示为:
b=S_Box(a)
; S盒中数据为16进制数;☆S盒的置换规则:
以输入的前半字节为行号,后半字节为列号,行列交叉点处的数据即为输出。
举例:设输入为“ef ”,则行号为e,列号为f ,于是S 盒的输出值为表中第e 行和第f 列交叉点的值,
Sbox(‘ef’)= ‘84’。
②非线性字变换?:32位字的非线性变换
▼4个S盒并行置换;
▼设输入字A=(a0,a1,a2,a3),输出字B=(b0,b1,b2,b3),
B= ?(A)=(S_box(a0), S_box(a1), S_box(a2), S_box(a3))
;②非线性变换?:32位字的非线性变换
输入字A
非线性
变换?
输出字B;③字线性部件L变换:
☆ 32位输入、32位输出。
☆设输入位B,输出位C,表为:
C=L(B)
☆运算规则:
C=L(B)
=B⊕(B2)⊕(B10)⊕(B18) ⊕(B24)
④字合成变换T:
☆由非线性变换τ 和线性变换L 复合而成;
☆ T(X)=L(τ(X))。先S盒变换,再L变换。
;3、轮函数F:
☆输入数据:(X0,X1,X2,X3),128位,四个32位字。
☆输入轮密钥:rk ,32位字。
☆输出数据:32位字。
☆轮函数F :
F(X0,X1,X2,X3,rk)
= X0 ⊕T( X1⊕ X2⊕ X3⊕rk) ;3、轮函数F:
2 10 18 24
;4、密钥扩展算法:
输入加密密钥:MK=(MK0,MK1,MK2,MK3)
输出轮密钥:rki ,i=0,1…,30,31
中间数据:Ki,i=0,1…,34,35
密钥扩展算法:
① (K0,K1,K2,K3)=(MK0⊕FK0,MK1⊕FK1,MK2⊕FK2,MK3⊕FK3)
② For i=0,1…,30,31 Do
iki= Ki+4= Ki⊕T’(Ki+1 ⊕Ki+2 ⊕ Ki+3 ⊕ CKi)
说明:T’ 变换与加密算法轮函数中的T 基本相同,只将其中的线性变换L 修改为以下:L’
L’ (B)=B⊕(B 13)⊕(B 23)
;4、密钥扩展算法:
①常数FK
在密钥扩展中使用一些常数
FK0=(A3B1BAC6),FK1=(56AA3350),FK2=(677D9197 ), FK3=(B27022DC)。;4、密钥扩展算法:
②固定参数CK
32 个固定参数Cki,i=0,1,2…31
00070e15, 1c232a31, 383f464d, 545b6269,
70777e85, 8c939aa1, a8afb6bd, c4cbd2d9,
e0e7eef5, fc030a11, 181f262d, 343b4249,
50575e65, 6c737a81, 888f969d, a4abb2b9,
c0c7ced5,
文档评论(0)