【技术实现步骤摘要】
基于SM3算法的认证码生成方法、装置、设备及存储介质
[0001]本专利技术涉及计算机
,尤其涉及一种基于SM3算法的认证码生成方法、装置、设备及存储介质。
技术介绍
[0002]HMAC(Hash
‑
based Message Authentication Code,散列消息认证码)是一种使用密码散列函数,同时结合一个加密密钥,通过特别计算方式之后产生的认证码,所述认证码的生成过程是利用哈希运算,以一个密钥和一个消息为输入,生成一个消息摘要作为输出,其安全性是建立在Hash加密算法基础上的,要求通信双方共享密钥、约定算法、对报文进行Hash运算,形成固定长度的认证码。
[0003]HMAC的应用场景主要是为了保证数据通讯是不被篡改,现有的HMAC认证码的生成通常是基于SHA哈希算法进行实现,SHA是由美国国家安全局提出的一种安全散列算法,存在信息安全隐患,不符合当前的国际形势和国内信息安全市场未来发展需求。因此,现有用于生成HMAC认证码的技术方法存在信息安全隐患的问题。
专利技术内 ...
【技术保护点】
【技术特征摘要】
1.一种基于SM3算法的认证码生成方法,其特征在于,该方法应用于SSD的控制器中,所述方法包括:接收输入的第一密钥和第一数据;根据预设的第一生成策略生成与所述第一密钥对应的第二数据;根据预设的第一加密算法对所述第一数据和所述第二数据进行加密,生成第三数据;根据预设的第二生成策略生成与所述第一密钥对应的第四数据;根据预设的第二加密算法对所述第三数据和所述第四数据进行加密,得到消息认证码。2.根据权利要求1所述的基于SM3算法的认证码生成方法,其特征在于,所述根据预设的第一加密算法对所述第一数据和所述第二数据进行加密,生成第三数据,包括:将所述第一数据与所述第二数据进行组合,得到组合数据;根据所述第一加密算法对所述组合数据进行加密,以生成第二固定字节长度的第三数据。3.根据权利要求2所述的基于SM3算法的认证码生成方法,其特征在于,所述将所述第一数据与所述第二数据进行组合,得到组合数据,包括:根据预存的初始数值对所述第一数据进行取余计算,得到取余值;根据所述取余值将所述第一数据依次插入至所述第二数据中,以组合得到所述组合数据。4.根据权利要求1所述的基于SM3算法的认证码生成方法,其特征在于,所述根据预设的第一生成策略生成与所述第一密钥对应的第二数据,包括:对所述第一密钥与所述第一生成策略中的第一比特序列进行异或运算,生成第一固定字节长度的第二数据。5.根据权利要求4所述的基于SM3算法的认证码生成方法,其特征在于,所述对所述第一密钥与所述第一生成策略中的第一比特序列进行异或运算之前,还包括:获取所述第一密钥的字节长度;若所述第一密钥的字节长度小于所述第一生成策略中配置的第一固定字节长度,则在所述第一密钥的尾端进行填充,直到填充后的第一密钥的字节长度与所述第一固定字节长度相等;若所述第一密钥的字节长度大于所述第一固定字节长度,根据预设的第一加密算法对所述第一密钥进行计算,以得到第二固定字节长度的第一密钥,在第一密钥的尾端进行填充,直到填...
【专利技术属性】
技术研发人员:朱少龙,罗宗扬,张佳磊,蔡辉,
申请(专利权)人:苏州忆联信息系统有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。