[发明专利]一种基于SM4的认证加密算法有效
申请号: | 201710470765.5 | 申请日: | 2017-06-20 |
公开(公告)号: | CN107342865B | 公开(公告)日: | 2020-07-10 |
发明(设计)人: | 李雪松;丁红发 | 申请(专利权)人: | 贵州安融科技发展有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/08;H04L9/06 |
代理公司: | 北京细软智谷知识产权代理有限责任公司 11471 | 代理人: | 张肖 |
地址: | 550003 贵州省贵阳市贵安新区马场*** | 国省代码: | 贵州;52 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 sm4 认证 加密算法 | ||
本发明涉及一种基于SM4的认证加密算法,包括:步骤S1、定义加密算法所需要的变量参数;步骤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。通过本发明的技术方案,能够解决现有技术中数据传输过程中无法保证其传输数据的安全性和完整性的问题。
技术领域
本发明涉及加密算法技术领域,具体涉及一种基于SM4的认证加密算法。
背景技术
近些年,国家对信息安全的关注已经上升到一个空前的高度。由于黑客技术的迅猛发展,人们的日常生活受到严重的影响,如陌生诈骗电话、银行卡密码盗取、支付宝余额不翼而飞以及个人身份信息泄露等。身边的信息危害无处不在,那么如何保障数据的机密性和真实性俨然成为社会讨论的热点话题,也是大家高度关注的课题。
原来用于无线局域网的国密算法SMS4被定义为SM4作为密码行业标准发布。SM4是一个分组对称密钥算法,明文、密钥、密文都是16字节,加密和解密密钥相同。通过32次循环的非线性迭代轮函数来实现加密和解密。其中包括非线性变换S盒,以及由移位异或构成的线性变换。除了256字节的S盒之外,还定义了另外两组参数FK以及CK(具体数据参考密码局网站)。基本过程是首先把16字节密钥按照4字节一组分成4组,然后根据密钥扩展算法,生成32组4字节轮密钥;再把输入的16字节数据也按照4字节一组分成4组然后进行循环运算(这点和AES算法类似)。
认证加密算法是基于对称密码的密码技术。它能够保证数据在信道传输过程中数据的机密性和真实性,让不法分子难以伪造篡改数据,在一定程度上能够解决上述问题。
针对目前数据在传输过程中,无法保证其传输信道的安全性和完整性。那么在传输的过程中,数据有可能被窃取或篡改,导致数据的不可信。目前,手机验证码已经全面普及到我们的生活中,很多登录信息、支付信息以及验证信息都是通过验证码传输到手机上,那这个过程就非常危险。为了解决这一问题,本发明提出一种基于国标对称密码SM4的认证加密算法SMAE,该算法能够保证数据的机密性和完整性,能够在一定程度上解决该问题。
发明内容
有鉴于此,本发明的目的在于克服现有技术的不足,提供一种基于SM4的认证加密算法,以解决现有技术中数据传输过程中无法保证其传输数据的安全性和完整性的问题。
为实现以上目的,本发明采用如下技术方案:
一种基于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;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵州安融科技发展有限公司,未经贵州安融科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710470765.5/2.html,转载请声明来源钻瓜专利网。