[发明专利]一种基于SM4的认证加密算法有效

专利信息
申请号: 201710470765.5 申请日: 2017-06-20
公开(公告)号: CN107342865B 公开(公告)日: 2020-07-10
发明(设计)人: 李雪松;丁红发 申请(专利权)人: 贵州安融科技发展有限公司
主分类号: H04L9/32 分类号: H04L9/32;H04L9/08;H04L9/06
代理公司: 北京细软智谷知识产权代理有限责任公司 11471 代理人: 张肖
地址: 550003 贵州省贵阳市贵安新区马场*** 国省代码: 贵州;52
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 sm4 认证 加密算法
【权利要求书】:

1.一种基于SM4的认证加密算法,其特征在于,包括:

步骤S1、定义加密算法所需要的变量参数;其中,所述变量参数包括:用户密钥Key、系统参数IV、斐波那契数列模256后的32字节16进制序列const;

步骤S2、输入用户密钥Key、系统参数IV和斐波那契数列模256后的32字节16进制序列const,利用状态更新函数得到数据初始化后的状态值Su

步骤S3、将明文P和Su输入到状态更新函数中进行v轮状态更新,得到状态值Su+v;同时,将明文P和Su利用对称密码算法SM4进行加密,得到密文C;

步骤S4、定义临时参数tmp,将临时参数tmp和Su+v输入到状态更新函数中进行7轮状态更新,得到状态值Su+v+7

步骤S5、根据状态值Su+v+7,按预设认证码生成算法得到明文P的认证码Tag;

其中,所述步骤S2包括:

步骤S21、输入用户密钥Key、系统参数IV和斐波那契数列模256后的32字节16进制序列const,对初始状态S-10,j,j=0,1,2,3,4进行赋值;

S-10,1=const1

S-10,2=const0

其中,const0表示const的前16个字节,const1表示const的后16个字节;

步骤S22、载入用户密钥Key和系统参数IV初始化16字节的数据集mi={m2k,m2k+1,k=-5,-4,-3,...,-1};

m2k=key

步骤S23、将数据集mi和初始状态S-10,j的赋值输入到状态更新函数中进行10轮状态更新,得到10轮状态更新后的状态值S0

步骤S24、将相关数据AD按照128bit分为u组,记为AD={ADi,i=0,1,...u-1}后,将ADi和步骤S23输出的状态值输入到状态更新函数中进行u轮状态更新,得到u轮状态更新后的状态值Su

其中,所述步骤S23具体为:

将数据集mi和初始状态S-10,j的赋值输入状态更新函数:

Si+1,1=SM4Round(Si,0,T(Si,1))

Si+1,2=SM4Round(Si,1,T(Si,2))

Si+1,3=SM4Round(Si,2,T(Si,3))

Si+1,4=SM4Round(Si,3,T(Si,4))

其中,i=-10,-9,...,-1,其中为线性变换;经过10轮状态更新后的状态值为:

其中,所述步骤S24具体为:

将相关数据AD按照128bit分为u组,记为AD={ADi,i=0,1,...u-1};

将ADi和步骤S23输出的状态值输入到状态更新函数中进行u轮状态更新:

Si+1,1=SM4Round(Si,0,T(Si,1))

Si+1,2=SM4Round(Si,1,T(Si,2))

Si+1,3=SM4Round(Si,2,T(Si,3))

Si+1,4=SM4Round(Si,3,T(Si,4))

其中,i=0,1,2,...,u-1;经过u轮状态更新后的状态值为:

其中,所述步骤S3包括:

步骤S31、将输入的明文P按16-byte分为v组,记为P={Pm,m=0,1,...v-1},若最后一个明文分组Pv-1不足128bits,用0进行填充补齐;

步骤S32、将Pm和步骤S2输出的状态值Su输入到状态更新函数中进行v轮状态更新,得到状态值Su+v

步骤S33、利用对称密码算法SM4加密Pm和步骤S1输出的状态值Su,得到密文C=C0||C1||...||Cv-1,Cm=SM4(Pm,Su+m),其中,Su+m作为加密密钥,Su+m根据步骤S22中的状态更新函数求解Su+m+1=StateUpdate(Su+m,Pm);

其中,所述步骤S4包括:

步骤S41、定义临时参数tmp,其中,msglen为明文P的消息长度,adlen为相关数据AD的数据长度;

步骤S42、将临时参数tmp和步骤S3输出的状态值Su+v输入到状态更新函数中进行7轮状态更新,得到状态值Su+v+7=(Su+v+7,0,Su+v+7,1,Su+v+7,2,Su+v+7,3,Su+v+7,4);

其中,所述步骤S5具体为:

计算取T的前t位作为明文P的认证码Tag,64≤t≤128。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵州安融科技发展有限公司,未经贵州安融科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710470765.5/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top