CN107342865B - 一种基于sm4的认证加密算法 - Google Patents

一种基于sm4的认证加密算法 Download PDF

Info

Publication number
CN107342865B
CN107342865B CN201710470765.5A CN201710470765A CN107342865B CN 107342865 B CN107342865 B CN 107342865B CN 201710470765 A CN201710470765 A CN 201710470765A CN 107342865 B CN107342865 B CN 107342865B
Authority
CN
China
Prior art keywords
state
update
data
plaintext
state value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710470765.5A
Other languages
English (en)
Other versions
CN107342865A (zh
Inventor
李雪松
丁红发
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Big Data Security Engineering Research Center Guizhou Co ltd
Original Assignee
Guizhou Anrong Technology Development Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guizhou Anrong Technology Development Co Ltd filed Critical Guizhou Anrong Technology Development Co Ltd
Priority to CN201710470765.5A priority Critical patent/CN107342865B/zh
Publication of CN107342865A publication Critical patent/CN107342865A/zh
Application granted granted Critical
Publication of CN107342865B publication Critical patent/CN107342865B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及一种基于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。通过本发明的技术方案,能够解决现有技术中数据传输过程中无法保证其传输数据的安全性和完整性的问题。

Description

一种基于SM4的认证加密算法
技术领域
本发明涉及加密算法技术领域,具体涉及一种基于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
步骤S5、根据状态值Su+v+7,按预设认证码生成算法得到明文P的认证码Tag。
优选地,所述步骤S2包括:
步骤S21、输入用户密钥Key、***参数IV和斐波那契数列模256后的32字节16进制序列const,对初始状态S-10,j,j=0,1,2,3,4进行赋值;
Figure GDA0002463939680000031
S-10,1=const1
S-10,2=const0
Figure GDA0002463939680000032
Figure GDA0002463939680000033
步骤S22、载入用户密钥Key和***参数IV初始化16字节的数据集mi={m2k,m2k+1,k=-5,-4,-3,...,-1};
m2k=key
Figure GDA0002463939680000034
步骤S23、将数据集mi和初始状态S-10,i的赋值输入到状态更新函数中进行10轮状态更新,得到10轮状态更新后的状态值S0
步骤S24、将相关数据AD按照128bit分为u组,记为AD={ADi,i=0,1,...u-1}后,将ADi和步骤S23输出的状态值输入到状态更新函数中进行u轮状态更新,得到u轮状态更新后的状态值Su
优选地,所述步骤S23具体为:
将数据集mi和初始状态S-10,i的赋值输入状态更新函数:
Figure GDA0002463939680000035
Si+1,1=SM 4Round(Si,0,T(Si,1))
Si+1,2=SM 4Round(Si,1,T(Si,2))
Si+1,3=SM 4Round(Si,2,T(Si,3))
Si+1,4=SM 4Round(Si,3,T(Si,4))
Figure GDA0002463939680000036
其中,i=-10,-9,...,-1,其中
Figure GDA0002463939680000037
为线性变换;经过10轮状态更新后的状态值为:
Figure GDA0002463939680000038
优选地,所述步骤S24具体为:
将相关数据AD按照128bit分为u组,记为AD={ADi,i=0,1,...u-1};
将ADi和步骤S23输出的状态值输入到状态更新函数中进行u轮状态更新:
Figure GDA0002463939680000041
Si+1,1=SM 4Round(Si,0,T(Si,1))
Si+1,2=SM 4Round(Si,1,T(Si,2))
Si+1,3=SM 4Round(Si,2,T(Si,3))
Si+1,4=SM 4Round(Si,3,T(Si,4))
Figure GDA0002463939680000042
其中,i=0,1,2,...,u-1;经过u轮状态更新后的状态值为:
Figure GDA0002463939680000043
优选地,所述步骤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,
Figure GDA0002463939680000044
其中,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具体为:
计算
Figure GDA0002463939680000045
取T的前t位作为明文P的认证码Tag,64≤t≤128。
本发明采用以上技术方案,至少具备以下有益效果:
由上述技术方案可知,本发明提供的这种基于SM4的认证加密算法,利用国标对称密码算法SM4构造了一种认证加密算法,该算法并不是简单地将加密算法和认证码生成算法组合在一起,而是让加密算法和认证码生成算法进行步骤共享(例如:都利用了状态更新函数更新状态值,而本发明提供的这种状态更新函数是发明人在现有技术的基础上探索构建的,安全性能高,黑客很难基于现有技术进行破解),这种认证加密算法能够提高算法效率,安全性高,是一种能够同时保证数据安全性和完整性的算法。
可以理解的是,在日常生活中,手机验证码已经普及到我们每一个人中,无论是电子支付、身份认证、用户注册等等都必须要使用手机验证码。由此可见,验证码在日常事务中扮演着很重要的角色。但是,一般情况下,短信验证码都是以明文的形式发送到用户的手机上,如此高风险的验证码也是导致了近年来网络诈骗事件频频发生,不法分子凭借截取短信验证码,就可以实施转账操作。而本发明的技术方案,对明文加密的同时,对验证码的生成方式进行了改进,针对验证码的安全漏洞,能够提供相应的安全解决方案(本发明提供的是算法改进后的认证码),保障了验证码的安全性和完整性。同时,SM4是我国对称密码国标算法,具有自主可控权,能够在一定程度上防止国外恶意攻击。进一步提高了数据传输过程中数据的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的基于SM4的认证加密算法的流程示意图;
图2为本发明一实施例提供的基于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。
Figure GDA0002463939680000061
Figure GDA0002463939680000071
表一
由上述技术方案可知,本发明提供的这种基于SM4的认证加密算法,利用国标对称密码算法SM4构造了一种认证加密算法,该算法并不是简单地将加密算法和认证码生成算法组合在一起,而是让加密算法和认证码生成算法进行步骤共享(例如:都利用了状态更新函数更新状态值,而本发明提供的这种状态更新函数是发明人在现有技术的基础上探索构建的,安全性能高,黑客很难基于现有技术进行破解),这种认证加密算法能够提高算法效率,安全性高,是一种能够同时保证数据安全性和完整性的算法。
可以理解的是,在日常生活中,手机验证码已经普及到我们每一个人中,无论是电子支付、身份认证、用户注册等等都必须要使用手机验证码。由此可见,验证码在日常事务中扮演着很重要的角色。但是,一般情况下,短信验证码都是以明文的形式发送到用户的手机上,如此高风险的验证码也是导致了近年来网络诈骗事件频频发生,不法分子凭借截取短信验证码,就可以实施转账操作。而本发明的技术方案,对明文加密的同时,对验证码的生成方式进行了改进,针对验证码的安全漏洞,能够提供相应的安全解决方案(本发明提供的算法改进后的认证码),保障了验证码的安全性和完整性。同时,SM4是我国对称密码国标算法,具有自主可控权,能够在一定程度上防止国外恶意攻击。进一步提高了数据传输过程中数据的安全性。
优选地,所述步骤S2包括:
步骤S21、输入用户密钥Key、***参数IV和斐波那契数列模256后的32字节16进制序列const,对初始状态S-10,j,j=0,1,2,3,4进行赋值;
Figure GDA0002463939680000081
S-10,1=const1
S-10,2=const0
Figure GDA0002463939680000082
Figure GDA0002463939680000083
步骤S22、载入用户密钥Key和***参数IV初始化16字节的数据集mi={m2k,m2k+1,k=-5,-4,-3,...,-1};
m2k=key
Figure GDA0002463939680000084
步骤S23、将数据集mi和初始状态S-10,i的赋值输入到状态更新函数中进行10轮状态更新,得到10轮状态更新后的状态值S0
步骤S24、将相关数据AD按照128bit分为u组,记为AD={ADi,i=0,1,...u-1}后,将ADi和步骤S23输出的状态值输入到状态更新函数中进行u轮状态更新,得到u轮状态更新后的状态值Su
优选地,所述步骤S23具体为:
将数据集mi和初始状态S-10,i的赋值输入状态更新函数:
Figure GDA0002463939680000085
Si+1,1=SM 4Round(Si,0,T(Si,1))
Si+1,2=SM 4Round(Si,1,T(Si,2))
Si+1,3=SM 4Round(Si,2,T(Si,3))
Si+1,4=SM 4Round(Si,3,T(Si,4))
Figure GDA0002463939680000086
其中,i=-10,-9,...,-1,其中
Figure GDA0002463939680000087
为线性变换;经过10轮状态更新后的状态值为:
Figure GDA0002463939680000088
优选地,所述步骤S24具体为:
将相关数据AD按照128bit分为u组,记为AD={ADi,i=0,1,...u-1};
将ADi和步骤S23输出的状态值输入到状态更新函数中进行u轮状态更新:
Figure GDA0002463939680000091
Si+1,1=SM 4Round(Si,0,T(Si,1))
Si+1,2=SM 4Round(Si,1,T(Si,2))
Si+1,3=SM 4Round(Si,2,T(Si,3))
Si+1,4=SM 4Round(Si,3,T(Si,4))
Figure GDA0002463939680000092
其中,i=0,1,2,...,u-1;经过u轮状态更新后的状态值为:
Figure GDA0002463939680000093
优选地,所述步骤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,
Figure GDA0002463939680000094
其中,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具体为:
计算
Figure GDA0002463939680000095
取T的前t位作为明文P的认证码Tag,64≤t≤128。
参见图2,本发明还提出了一种基于SM4的认证解密算法,与上述的基于SM4的认证加密算法配套使用,包括:
步骤S101、输入密文C、密钥Key以及认证码Tag,利用状态更新函数得到数据初始化后的状态值;
步骤S102、对密文C进行分组,对分组后的密文顺序解密,然后再利用状态更新函数更新状态值;
步骤S103、执行加密算法中的认证码生成算法,得到新的认证码Tag’;
步骤S104、比对Tag’和Tag,如果两个认证码相匹配,那么***解密出正确的明文P,否则加密失败,解密出的消息无效,说明明文P可能被篡改。
优选地,所述步骤S102中,对密文C按128bit进行分组。
优选地,所述步骤S102中,对分组后的密文按SM4解密算法顺序解密。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“多个”指两个或两个以上,除非另有明确的限定。

Claims (1)

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进行赋值;
Figure FDA0002484632520000011
S-10,1=const1
S-10,2=const0
Figure FDA0002484632520000012
Figure FDA0002484632520000013
其中,const0表示const的前16个字节,const1表示const的后16个字节;
步骤S22、载入用户密钥Key和***参数IV初始化16字节的数据集mi={m2k,m2k+1,k=-5,-4,-3,...,-1};
m2k=key
Figure FDA0002484632520000014
步骤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的赋值输入状态更新函数:
Figure FDA0002484632520000021
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))
Figure FDA0002484632520000022
其中,i=-10,-9,...,-1,其中
Figure FDA0002484632520000027
为线性变换;经过10轮状态更新后的状态值为:
Figure FDA0002484632520000023
其中,所述步骤S24具体为:
将相关数据AD按照128bit分为u组,记为AD={ADi,i=0,1,...u-1};
将ADi和步骤S23输出的状态值输入到状态更新函数中进行u轮状态更新:
Figure FDA0002484632520000024
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))
Figure FDA0002484632520000025
其中,i=0,1,2,...,u-1;经过u轮状态更新后的状态值为:
Figure FDA0002484632520000026
其中,所述步骤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,
Figure FDA0002484632520000032
其中,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具体为:
计算
Figure FDA0002484632520000031
取T的前t位作为明文P的认证码Tag,64≤t≤128。
CN201710470765.5A 2017-06-20 2017-06-20 一种基于sm4的认证加密算法 Active CN107342865B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710470765.5A CN107342865B (zh) 2017-06-20 2017-06-20 一种基于sm4的认证加密算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710470765.5A CN107342865B (zh) 2017-06-20 2017-06-20 一种基于sm4的认证加密算法

Publications (2)

Publication Number Publication Date
CN107342865A CN107342865A (zh) 2017-11-10
CN107342865B true CN107342865B (zh) 2020-07-10

Family

ID=60220802

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710470765.5A Active CN107342865B (zh) 2017-06-20 2017-06-20 一种基于sm4的认证加密算法

Country Status (1)

Country Link
CN (1) CN107342865B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110098940B (zh) * 2019-06-10 2020-02-11 卓尔智联(武汉)研究院有限公司 电子邮件签名方法、装置及存储介质
CN111464296B (zh) * 2020-03-30 2020-12-25 卓尔智联(武汉)研究院有限公司 序列密码生成方法、数据加密方法和数据解密方法
CN112235319B (zh) * 2020-12-09 2021-03-16 卓尔智联(武汉)研究院有限公司 数据加密、解密方法、装置和加解密电路

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105515758A (zh) * 2015-11-27 2016-04-20 桂林电子科技大学 基于Modbus协议的数据并行加密通信方法和***
CN106357380A (zh) * 2016-10-11 2017-01-25 中国信息安全测评中心 Sm4算法的掩码方法及装置
CN106712930A (zh) * 2017-01-24 2017-05-24 北京炼石网络技术有限公司 一种sm4加密方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9513913B2 (en) * 2014-07-22 2016-12-06 Intel Corporation SM4 acceleration processors, methods, systems, and instructions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105515758A (zh) * 2015-11-27 2016-04-20 桂林电子科技大学 基于Modbus协议的数据并行加密通信方法和***
CN106357380A (zh) * 2016-10-11 2017-01-25 中国信息安全测评中心 Sm4算法的掩码方法及装置
CN106712930A (zh) * 2017-01-24 2017-05-24 北京炼石网络技术有限公司 一种sm4加密方法及装置

Also Published As

Publication number Publication date
CN107342865A (zh) 2017-11-10

Similar Documents

Publication Publication Date Title
US10609014B2 (en) Un-password: risk aware end-to-end multi-factor authentication via dynamic pairing
US10650373B2 (en) Method and apparatus for validating a transaction between a plurality of machines
Nyang et al. Keylogging-resistant visual authentication protocols
Debnath et al. Brief review on journey of secured hash algorithms
CN105722067A (zh) 移动终端上数据加/解密方法及装置
CN107453880A (zh) 一种云数据安全存储方法和***
CN107342865B (zh) 一种基于sm4的认证加密算法
Mousavi et al. Security of Internet of Things using RC4 and ECC algorithms (case study: smart irrigation systems)
KR101358375B1 (ko) 스미싱 방지를 위한 문자메시지 보안 시스템 및 방법
Goel et al. LEOBAT: Lightweight encryption and OTP based authentication technique for securing IoT networks
WO2013016736A2 (en) Product authentication based upon a hyperelliptic curve equation and a curve pairing function
Elganzoury et al. A new secure one-time password algorithm for mobile applications
CN107689867B (zh) 一种在开放环境下的密钥保护方法和***
Nosrati et al. Security assessment of mobile-banking
CN109412799A (zh) 一种生成本地密钥的***及其方法
Thakur et al. A Comprehensive Review of Wireless Security Protocols and Encryption Applications
Rahim et al. Security Enhancement with USB Flash Disk as Key using AES Algorithm
KR101146509B1 (ko) 모바일 보안카드를 이용한 인터넷 뱅킹 거래 시스템 및 그 방법
KR101271464B1 (ko) 이중 인증 시스템의 비밀키 암호화 방법
Chen et al. Biometric-based remote mutual authentication scheme for mobile device
KR101210411B1 (ko) 공인인증서와 키수열발생기로 생성되는 otp를 이용한 트렌젝션보호 시스템 및 방법
Pawar et al. Survey of cryptography techniques for data security
Jain Enhancing security in Tokenization using NGE for storage as a service
Rawat et al. A review paper on cryptography and network security
Baftiu et al. Encrypted data service for security electronic communications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20190107

Address after: 554300 No. 18 Xingtong Road, Tongren City, Guizhou Province, with No. 1

Applicant after: Li Xuesong

Address before: No. 8, Xingyi Road, Guiyang National High-tech Industrial Development Zone, Guiyang City, Guizhou Province, with No. 12 attached

Applicant before: GUIZHOU XIN'ANCHUANG TECHNOLOGY CO.,LTD.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200608

Address after: 550003 room 224, building 501, Guizhou Electronic Technology Vocational College, Tianji Road, Machang science and technology new town, Gui'an New District, Guiyang City, Guizhou Province

Applicant after: Guizhou Anrong Technology Development Co.,Ltd.

Address before: 554300 No. 18 Xingtong Road, Tongren City, Guizhou Province, with No. 1

Applicant before: Li Xuesong

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240508

Address after: No. 1-4, 9th Floor, Building B, Morgan Center, Lincheng West Road, Guanshanhu District, Guiyang City, Guizhou Province, 550081

Patentee after: Big data security engineering research center (Guizhou) Co.,Ltd.

Country or region after: China

Address before: 550003 room 224, building 501, Guizhou Electronic Technology Vocational College, Tianji Road, Machang science and technology new town, Gui'an New District, Guiyang City, Guizhou Province

Patentee before: Guizhou Anrong Technology Development Co.,Ltd.

Country or region before: China