现代密码学:第30讲 SM4算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
现代密码学第三十讲SM4算法信息与软件工程学院
第三十讲SM4算法
SM4术语说明
SM4轮函数
SM4密钥扩展
SM4概况
•SM4分组密码算法是国家密码管理局于2006年1月6日公布的无线局域网产品使用的密码算法,是国内官方公布的第一个商用密码算法。
•SM4是一个分组密码算法,分组长度和密钥长度均为128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构。
•它的解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
SM4算法的术语说明
•
表示e-比特的向量集,中的元素称为字节,中的元素称为字
•S 盒是一个固定的8比特输入8比特输出的置换,记为•SM4中的采用了两个基本运算:,32比特异或;,32比特
循环左移i 位。
82
Z 322
Z (.)
Sbox ⊕i << SM4算法的术语说明(续) •SM4算法的加密密钥长度为128比特,表示为, 其中,为字。 •轮密钥为, ,为字。轮密钥由加密密钥通过密钥扩展算法生成。 • 为系统参数, •为固定参数,用于密钥扩展算法。 ) ,,,(3210MK MK MK MK MK =i MK 3,2,1,0=i ),,,(3110rk rk rk i rk ),,,(3210FK FK FK FK FK =),,,(3110CK CK CK CK = 第三十讲SM4算法 SM4术语说明 SM4轮函数 SM4密钥扩展 SM4加密算法整体结构 SM4 的轮函数 •设输入为,轮密钥为,则轮 函数为: •其中称为合成置换,是一个由非线性变换和一个线性变换复合而成的可逆变换,即 4322 321)(),,,(Z X X X X i i i i ∈+++32 2Z rk i ∈322 322:Z Z T →(.)) ((.)τL T =i 4123123(,,,,)(),0,1, ,31 i i i i i i i i i i X F X X X X rk X T X X X rk i +++++++==⊕⊕⊕⊕= X i X i+1X i+2 X i+3 rk i a 0a 1a 2a 3 b 0b 1b 2b 3 s s s s B<<<2B<<<10B<<<18 B<<<24 C X i+4 A τ B 函数T L SM4的S盒 y 0123456789a b c d e f x 0d690e9fe cc e13d b716b614c228fb2c05 12b679a762a be04c3aa44132649860699 29c4250f491ef987a33540b43ed cf ac62 3e4b31c a9c908e89580df94fa758f3f a6 44707a7fc f37317ba83593c19e6854f a8 5686b81b27164da8b F8eb0f4b70569d35 61e240e5e6358d1a225227c3b01217887 7d40046579f d327524c3602e7a0c4c89e 8ea bf8a d240c738b5a3f7f2ce f96115a1 9e0ae5d a49b341a55ad933230f58c b1e3 a1d f6e22e8266ca60c02923ab0d534e6f b d5db3745de fd8e2f03ff6a726d6c5b51 c8d1b af92bb dd bc7f11d95c411f105a d8 d0a c13188a5cd7b bd2d74d012b8e5b4b0 e8969974a0c96777e65b9f109c56e c684 f18f07d ec3a dc4d2079ee5f3e D7cb3948 SM4的S 盒说明 •非线性变换τ中所使用的S 盒是一个具有很好密码学特性的、由8比特输入产生8比特输出的置换 •在设计原理上,SMS4比AES 的S 盒设计多了一个仿射变换 •即•SMS4有很高的灵活性,所采用的S 盒可以灵活地被替换,以应对突发性的安全威胁。算法的32轮迭代采用串行处理,这与AES 中每轮使用代换和混淆并行地处理整个分组有很大不同。 B B Ax A y ++=-1 )( SM4的加密算法和解密算法 •设明文输入为,密文为,轮密钥为。加密变换为: •SM4算法的解密变换和加密变换结构相同,不同的仅是轮密钥的使用顺序。 •加密时轮密钥的使用顺序为,•解密时轮密钥的使用顺序为。 4322 3210) (),,,(Z X X X X ∈43223210)(),,,(Z Y Y Y Y ∈322Z rk i ∈i 4123123(,,,,)(),0,1,,31 i i i i i i i i i i X F X X X X rk X T X X X rk i +++++++==⊕⊕⊕⊕=),,,(),,,(323334353210X X X X Y Y Y Y =) ,,,(3110rk rk rk ),,,(03031rk rk rk SM4解密的合理性 4012331012331353433323131343332313433323131 (,,,,) () () ()()Y F Y Y Y Y rk Y T Y Y Y rk X T X X X rk X T X X X rk T X X X rk X ==⊕⊕⊕⊕=⊕⊕⊕⊕=⊕⊕⊕⊕⊕⊕⊕⊕=) ,,,(),,,(323334353210X X X X Y Y Y Y =i 4123123(,,,,)(),0,1,,31 i i i i i i i i i i X F X X X X rk X T X X X rk i +++++++==⊕⊕⊕⊕=353134333231() X X T X X X rk =⊕⊕⊕⊕