无线局域网产品使用的SMS4密码算法本算法是一个分组算法.
该算法的分组长度为128比特,密钥长度为128比特.
加密算法与密钥扩展算法都采用32轮非线性迭代结构.
解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序.
1.
术语说明1.
1字与字节用表示e-比特的向量集,中的元素称为字,中的元素称为字节.
eZ2322Z82Z1.
2S盒S盒为固定的8比特输入8比特输出的置换,记为Sbox(.
).
1.
3基本运算在本算法中采用了以下基本运算:32比特异或i32比特循环左移i位<<<1.
4密钥及密钥参量加密密钥长度为128比特,表示为MK=(MK0,MK1,MK2,MK3),其中MKi(i=0,1,2,3)为字.
轮密钥表示为(rk0,rk1,…,rk31),其中rki(i=0,…,31)为字.
轮密钥由加密密钥生成.
FK=(FK0,FK1,FK2,FK3)为系统参数,CK=(CK0,CK1,…,CK31)为固定参数,用于密钥扩展算法,其中FKi(i=0,…,3)、CKi(i=0,…,31)为字.
2.
轮函数F本算法采用非线性迭代结构,以字为单位进行加密运算,称一次迭代运算为一轮变换.
设输入为,轮密钥为,则轮函数F为:43223210)(),,,(ZXXXX∈322Zrk∈)(),,,,(32103210rkXXXTXrkXXXXF=12.
1合成置换TT:,是一个可逆变换,由非线性变换τ和线性变换L复合而成,即T(.
)=L(τ(.
)).
322322ZZ→2.
1.
1非线性变换ττ由4个并行的S盒构成.
设输入为,输出为,则4823210)(),,,(ZaaaaA∈=4823210)(),,,(ZbbbbB∈=))(),(),(),(()(),,,(32103210aSboxaSboxaSboxaSboxAbbbb==τ2.
1.
2线性变换L非线性变换τ的输出是线性变换L的输入.
设输入为,输出为,则322ZB∈322ZC∈)24()18()10()2()(<<<<<<<<<<<<==BBBBBBLC2.
2S盒S盒中数据均采用16进制表示.
0123456789abcdef0d690e9fecce13db716b614c228fb2c0512b679a762abe04c3aa4413264986069929c4250f491ef987a33540b43edcfac623e4b31ca9c908e89580df94fa758f3fa644707a7fcf37317ba83593c19e6854fa85686b81b27164da8bf8eb0f4b70569d3561e240e5e6358d1a225227c3b012178877d40046579fd327524c3602e7a0c4c89e8eabf8ad240c738b5a3f7f2cef96115a19e0ae5da49b341a55ad933230f58cb1e3a1df6e22e8266ca60c02923ab0d534e6fbd5db3745defd8e2f03ff6a726d6c5b51c8d1baf92bbddbc7f11d95c411f105ad8d0ac13188a5cd7bbd2d74d012b8e5b4b0e8969974a0c96777e65b9f109c56ec684f18f07dec3adc4d2079ee5f3ed7cb3948例:输入'ef',则经S盒后的值为表中第e行和第f列的值,Sbox('ef')='84'.
23.
加/解密算法定义反序变换R为:),,,(),,,(01233210AAAAAAAAR=,.
3,2,1,0,322=∈iZAi设明文输入为,密文输出为,轮密钥为.
则本算法的加密变换为:43223210)(),,,(ZXXXX∈43223210)(),,,(ZYYYY∈31,.
.
.
,2,1,0,322=∈iZrki.
13,.
.
.
,1,0,)(),,,,(3213214===+++++++irkXXXTXrkXXXXFXiiiiiiiiiii),,,(),,,(),,,(32333435353433323210XXXXXXXXRYYYY==.
本算法的解密变换与加密变换结构相同,不同的仅是轮密钥的使用顺序.
加密时轮密钥的使用顺序为:(rk0,rk1,…,rk31)解密时轮密钥的使用顺序为:(rk31,rk30,…,rk0)4.
密钥扩展算法本算法中加密算法的轮密钥由加密密钥通过密钥扩展算法生成.
加密密钥MK=(MK0,MK1,MK2,MK3),MKi∈,i=0,1,2,3;322Z令Ki∈,i=0,1,…,35,轮密钥为,则轮密钥生成方法为:322Z31,.
.
.
,1,0,322=∈iZrki首先,(K0,K1,K2,K3)=(MK0+FK0,MK1+FK1,MK2+FK2,MK3+FK3)然后,对:31,.
.
.
,2,1,0=i)(3214iiiiiiiCKKKKTKKrk′==++++说明:(1)'T变换与加密算法轮函数中的T基本相同,只将其中的线性变换L修改为以下:'L'L(B)=B+(B<<<13)+(B<<<23);(2)系统参数FK的取值,采用16进制表示为:FK0=(A3B1BAC6),FK1=(56AA3350),FK2=(677D9197),FK3=(B27022DC)(3)固定参数CK的取值方法为:设cki,j为CKi的第j字节(i=0,1,…,31;j=0,1,2,3),即CKi=(cki,0,cki,1,cki,2,cki,3)∈,则ck482)(Zi,j=(4i+j)*7(mod256).
32个固定参数CKi,其16进制表示为:00070e15,1c232a31,383f464d,545b6269,70777e85,8c939aa1,a8afb6bd,c4cbd2d9,e0e7eef5,fc030a11,181f262d,343b4249,50575e65,6c737a81,888f969d,a4abb2b9,c0c7ced5,dce3eaf1,f8ff060d,141b2229,30373e45,4c535a61,686f767d,848b9299,a0a7aeb5,bcc3cad1,d8dfe6ed,f4fb0209,10171e25,2c333a41,484f565d,646b727935.
加密实例以下为本算法ECB工作方式的运算实例,用以验证密码算法实现的正确性.
其中,数据采用16进制表示.
实例一:对一组明文用密钥加密一次明文:0123456789abcdeffedcba9876543210加密密钥:0123456789abcdeffedcba9876543210轮密钥与每轮输出状态:rk[0]=f12186f9X[0]=27fad345rk[1]=41662b61X[1]=a18b4cb2rk[2]=5a6ab19aX[2]=11c1e22ark[3]=7ba92077X[3]=cc13e2eerk[4]=367360f4X[4]=f87c5bd5rk[5]=776a0c61X[5]=33220757rk[6]=b6bb89b3X[6]=77f4c297rk[7]=24763151X[7]=7a96f2ebrk[8]=a520307cX[8]=27dac07frk[9]=b7584dbdX[9]=42dd0f19rk[10]=c30753edX[10]=b8a5da02rk[11]=7ee55b57X[11]=907127fark[12]=6988608cX[12]=8b952b83rk[13]=30d895b7X[13]=d42b7c59rk[14]=44ba14afX[14]=2ffc5831rk[15]=104495a1X[15]=f69e6888rk[16]=d120b428X[16]=af2432c4rk[17]=73b55fa3X[17]=ed1ec85erk[18]=cc874966X[18]=55a3ba22rk[19]=92244439X[19]=124b18aark[20]=e89e641fX[20]=6ae7725frk[21]=98ca015aX[21]=f4cba1f9rk[22]=c7159060X[22]=1dcdfa10rk[23]=99e1fd2eX[23]=2ff60603rk[24]=b79bd80cX[24]=eff24fdcrk[25]=1d2115b0X[25]=6fe46b75rk[26]=0e228aebX[26]=893450adrk[27]=f1780c81X[27]=7b938f4crk[28]=428d3654X[28]=536e4246rk[29]=62293496X[29]=86b3e94frk[30]=01cf72e5X[30]=d206965erk[31]=9124a012X[31]=681edf34密文:681edf34d206965e86b3e94f536e4246实例二:利用相同加密密钥对一组明文反复加密1000000次明文:0123456789abcdeffedcba9876543210加密密钥:0123456789abcdeffedcba9876543210密文:595298c7c6fd271f0402f804c33d3f664
DiyVM是一家低调国人VPS主机商,成立于2009年,提供的产品包括VPS主机和独立服务器租用等,数据中心包括香港沙田、美国洛杉矶、日本大阪等,VPS主机基于XEN架构,均为国内直连线路,主机支持异地备份与自定义镜像,可提供内网IP。最近,商家对香港机房VPS提供5折优惠码,最低2GB内存起优惠后仅需50元/月。下面就以香港机房为例,分享几款VPS主机配置信息。CPU:2cores内存:2GB硬...
Hostodo在九月份又发布了两款特别套餐,开设在美国拉斯维加斯、迈阿密和斯波坎机房,基于KVM架构,采用NVMe SSD高性能磁盘,最低1.5GB内存8TB月流量套餐年付34.99美元起。Hostodo是一家成立于2014年的国外VPS主机商,主打低价VPS套餐且年付为主,基于OpenVZ和KVM架构,美国三个地区机房,支持支付宝或者PayPal、加密货币等付款。下面列出这两款主机配置信息。CP...
华纳云(HNCloud Limited)是一家专业的全球数据中心基础服务提供商,总部在香港,隶属于香港联合通讯国际有限公司,拥有香港政府颁发的商业登记证明,保证用户的安全性和合规性。 华纳云是APNIC 和 ARIN 会员单位。主要提供香港和美国机房的VPS云服务器和独立服务器。商家支持支付宝、网银、Paypal付款。华纳云主要面向国内用户群,所以线路质量还是不错的,客户使用体验总体反响还是比较好...
华硕内网密码泄露为你推荐
cisco2960配置思科2960G交换机如何将配置百兆改为千兆配置支付宝调整还款日蚂蚁借呗还款日能改吗人人视频总部基地落户重庆2019.5.30号以后重庆有了新的迁入户口政策,请问外省户口以一般人才方式迁入重庆,可以按揭买房吗加多宝与王老吉加多宝王老吉有什么区别吗?缤纷网缤纷的意思是什么tumblr上不去为什么,爱看软件打不开?页面一直在加载团购程序团购的流程有哪几种模式地址栏图标电脑地址栏上的所有图标怎么找?社区动力如何大力加强社区基层党组织建设长沙电话号码升位湖南长沙电话号码是几位数
虚拟主机是什么 vpsio BWH 68.168.16.150 一点优惠网 中国智能物流骨干网 赞助 新睿云 华为云服务登录 阿里云官方网站 美国凤凰城 web应用服务器 数据库空间 稳定空间 好看的空间 accountsuspended godaddy中文 卡巴斯基官方下载 以下 西安电信测速网 更多