SM4密码算法简介.pdfVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SM4密码算法简介

SMS4 密码算法 本算法是一个分组算法。该算法的分组长度为 128 比特,密钥长度为 128 比特。加密算 法与密钥扩展算法都采用 32 轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮 密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。 1. 术语说明 1.1 字与字节 用Z e 表示 e-比特的向量集,Z 32 中的元素称为字,Z 8 中的元素称为字节。 2 2 2 1.2 S 盒 S 盒为固定的 8 比特输入8 比特输出的置换,记为Sbox(.) 。 1.3 基本运算 在本算法中采用了以下基本运算: ⊕ 32 比特异或 i 32 比特循环左移i 位 1.4 密钥及密钥参量 加密密钥长度为 128 比特,表示为MK=(MK , MK , MK , MK ) ,其中MK (i=0,1,2,3)为 0 1 2 3 i 字。 轮密钥表示为(rk , rk , …, rk ) ,其中rk (i=0,…,31)为字。轮密钥由加密密钥生成。 0 1 31 i FK=(FK , FK , FK , FK )为系统参数,CK=(CK , CK ,…, CK )为固定参数,用于密钥扩 0 1 2 3 0 1 31 展算法,其中 FK (i=0,…,3) 、CK (i=0,…,31)为字。 i i 2. 轮函数 F 本算法采用非线性迭代结构,以字为单位进行加密运算,称一次迭代运算为一轮变换。 设输入为(X , X , X , X ) ∈(Z 32 )4 ,轮密钥为rk ∈Z 32 ,则轮函数F 为: 0 1 2 3 2 2 F (X 0 , X 1 , X 2 , X 3 , rk ) X 0 ⊕T (X 1 ⊕X 2 ⊕X 3 ⊕rk ) 1 2.1 合成置换 T T:Z 32 →Z 32 ,是一个可逆变换,由非线性变换τ和线性变换 L 复合而成,即 T(.)=L(τ(.)) 。 2 2 2.1.1 非线性变换τ τ 由4 个并行的 S 盒构成。 设输入为A (a , a , a , a ) ∈(Z 8 )4 , 输出为B (b , b , b , b ) ∈(Z 8 )4 ,则 0 1 2 3 2 0 1 2 3 2 (b , b , b , b ) τ(A ) ( Sbox (a ), Sbox (a ), Sbox (a ), Sbox (a ) ) 0 1 2 3 0 1 2 3 2.2.2 线性变换 L 非线性变换 τ 的输出是线性变换L 的输入。设输入为B ∈Z 32 ,输出为C ∈Z 32 ,则

文档评论(0)

pengyou2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档