CN110324357B - 数据发送方法及装置、数据接收方法及装置 - Google Patents
数据发送方法及装置、数据接收方法及装置 Download PDFInfo
- Publication number
- CN110324357B CN110324357B CN201910676974.4A CN201910676974A CN110324357B CN 110324357 B CN110324357 B CN 110324357B CN 201910676974 A CN201910676974 A CN 201910676974A CN 110324357 B CN110324357 B CN 110324357B
- Authority
- CN
- China
- Prior art keywords
- signature
- sub
- private key
- representing
- formula
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 involving digital signatures
Abstract
本申请公开的数据发送方法应用于发送端,其能够利用双私钥和椭圆曲线加密算法对待发送的数据进行签密,从而可提高数据安全性。其中,椭圆曲线加密算法的密钥更短小,签密计算量更小,因此可提高签密效率和数据发送效率;其中灵活性和安全性也更高。相应地,本申请提供的数据发送装置,数据接收方法及装置也同样具有上述技术效果。
Description
技术领域
本申请涉及信息安全技术领域,特别涉及数据发送方法及装置、数据接收方法及装置。
背景技术
在现有技术中,为了提高数据安全,发送端在发送数据时,会对数据先进行加密,而后将加密后的数据发送至接收端。其中,发送端在加密数据时,往往使用密钥对加密数据,如:发送端用私钥加密数据,接收端用对应的公钥解密数据。
目前,发送端通常使用单个私钥加密数据,相应地,接收端利用与该私钥对应的公钥解密数据,即整个过程使用一对密钥(即发送端的私钥和公钥),因此其安全性有待提高。并且,常用的加密算法多使用哈希函数和冗余函数,这两种函数的计算量均比较大,因此计算效率和发送效率降低。
因此,如何提高数据安全性和发送效率,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种数据发送方法及装置,一种数据接收方法及装置,以提高数据安全性和发送效率。其具体方案如下:
第一方面,本申请提供了一种数据发送方法,应用于发送端,包括:
获取待发送的目标数据;
利用加密密钥对目标数据进行加密,获得目标数据的密文;
计算与发送端的第一私钥对应的第一子签名,以及与发送端的第二私钥对应的第二子签名;
获取由椭圆曲线加密算法确定的椭圆曲线参数,并根据椭圆曲线参数计算第三子签名;
根据目标数据计算验证子签名;
将密文、第一子签名、第二子签名、第三子签名以及验证子签名组合为签密数据,并将签密数据发送至接收端。
优选地,加密密钥的生成过程包括:
按照预设的加密密钥生成公式生成加密密钥,加密密钥生成公式为:KAB=ryB=(k,l);
优选地,计算与发送端的第一私钥对应的第一子签名,以及与发送端的第二私钥对应的第二子签名,包括:
按照预设的目标公式组计算第一子签名和第二子签名,目标公式组为:
优选地,根据椭圆曲线参数计算第三子签名,包括:
按照预设的第一公式计算第三子签名,第一公式为:R1=rG;
优选地,根据目标数据计算验证子签名,包括:
按照预设的第二公式计算验证子签名,第二公式为:R2=αG;
第二方面,本申请提供了一种数据发送装置,应用于发送端,包括:
获取模块,用于获取待发送的目标数据;
加密模块,用于利用加密密钥对目标数据进行加密,获得目标数据的密文;
第一计算模块,用于计算与发送端的第一私钥对应的第一子签名,以及与发送端的第二私钥对应的第二子签名;
第二计算模块,用于获取由椭圆曲线加密算法确定的椭圆曲线参数,并根据椭圆曲线参数计算第三子签名;
第三计算模块,用于根据目标数据计算验证子签名;
发送模块,用于将密文、第一子签名、第二子签名、第三子签名以及验证子签名组合为签密数据,并将签密数据发送至接收端。
第三方面,本申请提供了一种数据接收方法,应用于接收端,包括:
接收发送端发送的签密数据;
其中,签密数据包括:目标数据的密文,与发送端的第一私钥对应的第一子签名,与发送端的第二私钥对应的第二子签名,发送端根据椭圆曲线参数计算得到的第三子签名,以及发送端根据目标数据计算得到的验证子签名;
根据密文、第一子签名、第二子签名、椭圆曲线参数、与第一私钥对应的第一公钥以及与第二私钥对应的第二公钥,计算目标子签名;
判断目标子签名和验证子签名是否一致;
若是,则利用解密密钥解密密文,获得目标数据。
优选地,解密密钥的生成过程包括:
按照预设的解密密钥生成公式生成解密密钥,解密密钥生成公式为:KAB=xBR1=(k,l);
其中,KAB中的k表示所述解密密钥;xB表示接收端的私钥;R1表示所述第三子签名。
优选地,根据密文、第一子签名、第二子签名、椭圆曲线参数、与第一私钥对应的第一公钥以及与第二私钥对应的第二公钥,计算目标子签名,包括:
按照预设的第三公式计算目标子签名;
其中,所述第三公式为:R2'表示所述目标子签名,G表示所述椭圆曲线参数,c表示所述密文;表示与所述第一私钥对应的第一公钥, 表示所述第一私钥;表示与所述第二私钥对应的第二公钥, 表示所述第二私钥;β=s1+s2,s1表示所述第一子签名;s2表示所述第二子签名。
第四方面,本申请提供了一种数据接收装置,应用于接收端,包括:
接收模块,用于接收发送端发送的签密数据;
其中,签密数据包括:目标数据的密文,与发送端的第一私钥对应的第一子签名,与发送端的第二私钥对应的第二子签名,发送端根据椭圆曲线参数计算得到的第三子签名,以及发送端根据目标数据计算得到的验证子签名;
目标子签名计算模块,用于根据密文、第一子签名、第二子签名、椭圆曲线参数、与第一私钥对应的第一公钥以及与第二私钥对应的第二公钥,计算目标子签名;
判断模块,用于判断目标子签名和验证子签名是否一致;
解密模块,用于若目标子签名和验证子签名一致,则利用解密密钥解密密文,获得目标数据。
本申请提供的数据发送方法应用于发送端,其能够利用双私钥和椭圆曲线加密算法对待发送的数据进行签密,从而可提高数据安全性。其中,椭圆曲线加密算法的密钥更短小,签密计算量更小,因此可提高签密效率和数据发送效率;其中灵活性和安全性也更高。
相应地,本申请提供的数据发送装置,数据接收方法及装置也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种数据发送方法流程图;
图2为本申请公开的一种数据发送装置示意图;
图3为本申请公开的一种数据接收方法流程图;
图4为本申请公开的一种数据接收装置示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,目前,发送端通常使用单个私钥加密数据,相应地,接收端利用与该私钥对应的公钥解密数据,即整个过程使用一对密钥(即发送端的私钥和公钥),因此其安全性有待提高。为此,本申请提供了一种数据发送方法及装置、一种数据接收方法及装置,能够降低计算量,提高签密效率和数据发送、接收效率以及数据安全性。
参见图1所示,本申请实施例公开了一种数据发送方法,应用于发送端,包括:
S101、获取待发送的目标数据;
S102、利用加密密钥对目标数据进行加密,获得目标数据的密文;
S103、计算与发送端的第一私钥对应的第一子签名,以及与发送端的第二私钥对应的第二子签名;
S104、获取由椭圆曲线加密算法确定的椭圆曲线参数,并根据椭圆曲线参数计算第三子签名;
S105、根据目标数据计算验证子签名;
S106、将密文、第一子签名、第二子签名、第三子签名以及验证子签名组合为签密数据,并将签密数据发送至接收端。
在本实施例中,加密密钥的生成过程包括:按照预设的加密密钥生成公式生成加密密钥,加密密钥生成公式为:KAB=ryB=(k,l);其中,KAB中的k表示所述加密密钥;yB表示所述接收端的公钥;r为随机数,且
在本实施例中,计算与发送端的第一私钥对应的第一子签名,以及与发送端的第二私钥对应的第二子签名,包括:按照预设的目标公式组计算第一子签名和第二子签名,目标公式组为:
在本实施例中,根据目标数据计算验证子签名,包括:按照预设的第二公式计算验证子签名,第二公式为:R2=αG;其中,R2表示所述验证子签名,G表示所述椭圆曲线参数,α为中间参数,且α=((t1+t2)m)modn;m表示所述目标数据,t1和t2为随机数,且n为预设正整数。其中,G为椭圆曲线E上的一个点,E为有限域GF(p)上的椭圆曲线。G的阶为满足安全要求的素数n,即nG=O,其中O是无穷远点。
可见,本申请实施例公开的数据发送方法,能够利用双私钥和椭圆曲线加密算法对待发送的数据进行签密,从而可提高数据安全性。其中,椭圆曲线加密算法的密钥更短小,签密计算量更小,因此可提高签密效率和数据发送效率;其中灵活性和安全性也更高。
下面对本申请实施例提供的一种数据发送装置进行介绍,下文描述的一种数据发送装置与上文描述的一种数据发送方法可以相互参照。
参见图2所示,本申请实施例公开了一种数据发送装置,应用于发送端,包括:
获取模块201,用于获取待发送的目标数据;
加密模块202,用于利用加密密钥对目标数据进行加密,获得目标数据的密文;
第一计算模块203,用于计算与发送端的第一私钥对应的第一子签名,以及与发送端的第二私钥对应的第二子签名;
第二计算模块204,用于获取由椭圆曲线加密算法确定的椭圆曲线参数,并根据椭圆曲线参数计算第三子签名;
第三计算模块205,用于根据目标数据计算验证子签名;
发送模块206,用于将密文、第一子签名、第二子签名、第三子签名以及验证子签名组合为签密数据,并将签密数据发送至接收端。
在一种具体实施方式中,还包括加密密钥生成模块,其具体用于:
按照预设的加密密钥生成公式生成加密密钥,加密密钥生成公式为:KAB=ryB=(k,l);
在一种具体实施方式中,第一计算模块具体用于:
按照预设的目标公式组计算第一子签名和第二子签名,目标公式组为:
在一种具体实施方式中,第二计算模块具体用于:
按照预设的第一公式计算第三子签名,第一公式为:R1=rG;
在一种具体实施方式中,第三计算模块具体用于:
按照预设的第二公式计算验证子签名,第二公式为:R2=αG;
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种数据发送装置,其能够利用双私钥和椭圆曲线加密算法对待发送的数据进行签密,从而可提高数据安全性。其中,椭圆曲线加密算法的密钥更短小,签密计算量更小,因此可提高签密效率和数据发送效率;其中灵活性和安全性也更高。
参见图3所示,本申请实施例公开了一种数据接收方法,应用于接收端,包括:
S301、接收发送端发送的签密数据;
其中,签密数据包括:目标数据的密文,与发送端的第一私钥对应的第一子签名,与发送端的第二私钥对应的第二子签名,发送端根据椭圆曲线参数计算得到的第三子签名,以及发送端根据目标数据计算得到的验证子签名;
S302、根据密文、第一子签名、第二子签名、椭圆曲线参数、与第一私钥对应的第一公钥以及与第二私钥对应的第二公钥,计算目标子签名;
S303、判断目标子签名和验证子签名是否一致;若是,则执行S304;若否,则执行S305;
S304、利用解密密钥解密密文,获得目标数据;
S305、生成签密数据错误的提示信息。
在本实施例中,解密密钥的生成过程包括:
按照预设的解密密钥生成公式生成解密密钥,解密密钥生成公式为:KAB=xBR1=(k,l);
其中,KAB中的k表示所述解密密钥;xB表示接收端的私钥;R1表示所述第三子签名。
在本实施例中,根据密文、第一子签名、第二子签名、椭圆曲线参数、与第一私钥对应的第一公钥以及与第二私钥对应的第二公钥,计算目标子签名,包括:
按照预设的第三公式计算目标子签名;
其中,所述第三公式为:R2'表示所述目标子签名,G表示所述椭圆曲线参数,c表示所述密文;表示与所述第一私钥对应的第一公钥, 表示所述第一私钥;表示与所述第二私钥对应的第二公钥, 表示所述第二私钥;β=s1+s2,s1表示所述第一子签名;s2表示所述第二子签名。
其中,第三公式可按照下述过程进行验证:
需要说明的是,本实施例还可以同时满足前向安全性和可公开验证性。前向安全性指的是任何人都不能利用发送端的私钥解密经该私钥加密后的密文信息,即私钥加密后的密文不能再由该私钥解密成明文。可公开验证性指的是接收端可将接收到的签密数据提供给第三方可信中心进行解签密证实,验证过程中不需要接收端的私钥,第三方在安全可信的基础上证实信息发送端确实发送过该信息,这样发送端不能否认,验证过程中也不需要提供明文数据。
本实施例满足前向安全性和可公开验证性的理由如下:若发送端的双私钥被窃取,本实施例能够保证接收端可以得到明文数据外,其余攻击者均无法获得,这主要体现在获取解密密钥上,获取解密密钥的途径有两种:第一种:由KAB=ryB=(k,l)可知,获取解密密钥需要知道r,而R1=rG,想要解出r等同于求解椭圆曲线离散对数问题,故而难度高。第二种,由KAB=xBR1=(k,l)可知,获取解密密钥需要知道接收端的私钥,而接收端的私钥一般不会被窃取。因此无论是获得r还是接收端的私钥,对于攻击者均是难以实现的,故而本实施例具有前向安全性。
若发送端否认签密,接收端可将接收到的签密数据提供给第三方可信中心进行解签密证实,验证过程中不需要接收端的私钥,第三方在安全可信的基础上证实信息发送端确实发送过该信息,这样发送端不能否认,验证过程中也不需要提供明文数据。因此本实施例具有可公开验证性。
需要说明的是,本实施例中的、与上述实施例相同或类似描述,请参见上述实施例,本实施例在此不再赘述。
由上可见,本实施例公开了一种数据接收方法,其在接收到签密数据后,首先对签密数据进行验证,若验证通过,则对数据进行解密,从而可获得具体数据。如此可避免无效的解密的操作,从而可节约计算机资源,提高处理效率。本实施例摒弃了惯用的哈希函数或者冗余函数,利用椭圆曲线加密算法具有密钥长度和签名长度短的优势,降低了签名的计算量,还能同时提供前向安全性和可公开验证性两种性质。
同时,签密技术在各个领域已经得到了广泛的应用,如防火墙和电子现金支付等。安全的签密技术可以实现信息的保密传输和签名的身份认证,保障交易过程安全进行。在物联网、云计算等相关领域,可利用签密技术进行密钥分发和节点的可信认证。
下面对本申请实施例提供的一种数据接收装置进行介绍,下文描述的一种数据接收装置与上文描述的一种数据接收方法可以相互参照。
参见图4所示,本申请实施例公开了一种数据接收装置,应用于接收端,包括:
接收模块401,用于接收发送端发送的签密数据;
其中,签密数据包括:目标数据的密文,与发送端的第一私钥对应的第一子签名,与发送端的第二私钥对应的第二子签名,发送端根据椭圆曲线参数计算得到的第三子签名,以及发送端根据目标数据计算得到的验证子签名;
目标子签名计算模块402,用于根据密文、第一子签名、第二子签名、椭圆曲线参数、与第一私钥对应的第一公钥以及与第二私钥对应的第二公钥,计算目标子签名;
判断模块403,用于判断目标子签名和验证子签名是否一致;
解密模块404,用于若目标子签名和验证子签名一致,则利用解密密钥解密密文,获得目标数据。
在一种具体实施方式中,还包括解密密钥生成模块,其具体用于:
按照预设的解密密钥生成公式生成解密密钥,解密密钥生成公式为:KAB=xBR1=(k,l);
其中,KAB中的k表示所述解密密钥;xB表示接收端的私钥;R1表示所述第三子签名。
在一种具体实施方式中,目标子签名计算模块具体用于:
按照预设的第三公式计算目标子签名;
其中,所述第三公式为:R2'表示所述目标子签名,G表示所述椭圆曲线参数,c表示所述密文;表示与所述第一私钥对应的第一公钥, 表示所述第一私钥;表示与所述第二私钥对应的第二公钥, 表示所述第二私钥;β=s1+s2,s1表示所述第一子签名;s2表示所述第二子签名。
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种数据接收装置,其在接收到签密数据后,首先对签密数据进行验证,若验证通过,则对数据进行解密,从而可获得具体数据。如此可避免无效的解密的操作,从而可节约计算机资源,提高处理效率。
本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (4)
1.一种数据发送方法,其特征在于,应用于发送端,包括:
获取待发送的目标数据;
利用加密密钥对所述目标数据进行加密,获得所述目标数据的密文;
计算与发送端的第一私钥对应的第一子签名,以及与所述发送端的第二私钥对应的第二子签名;
获取由椭圆曲线加密算法确定的椭圆曲线参数,并根据所述椭圆曲线参数计算第三子签名;
根据所述目标数据计算验证子签名;
将所述密文、所述第一子签名、所述第二子签名、所述第三子签名以及所述验证子签名组合为签密数据,并将所述签密数据发送至接收端;
其中,所述加密密钥的生成过程包括:
按照预设的加密密钥生成公式生成所述加密密钥,所述加密密钥生成公式为:KAB=ryB=(k,l);
其中,所述计算与发送端的第一私钥对应的第一子签名,以及与所述发送端的第二私钥对应的第二子签名,包括:
按照预设的目标公式组计算所述第一子签名和所述第二子签名,所述目标公式组为:
其中,所述根据所述椭圆曲线参数计算第三子签名,包括:
按照预设的第一公式计算所述第三子签名,所述第一公式为:R1=rG;
其中,所述根据所述目标数据计算验证子签名,包括:
按照预设的第二公式计算所述验证子签名,所述第二公式为:R2=αG;
2.一种数据发送装置,其特征在于,应用于发送端,包括:
获取模块,用于获取待发送的目标数据;
加密模块,用于利用加密密钥对所述目标数据进行加密,获得所述目标数据的密文;
第一计算模块,用于计算与发送端的第一私钥对应的第一子签名,以及与所述发送端的第二私钥对应的第二子签名;
第二计算模块,用于获取由椭圆曲线加密算法确定的椭圆曲线参数,并根据所述椭圆曲线参数计算第三子签名;
第三计算模块,用于根据所述目标数据计算验证子签名;
发送模块,用于将所述密文、所述第一子签名、所述第二子签名、所述第三子签名以及所述验证子签名组合为签密数据,并将所述签密数据发送至接收端;
其中,所述加密密钥的生成过程包括:
按照预设的加密密钥生成公式生成所述加密密钥,所述加密密钥生成公式为:KAB=ryB=(k,l);
其中,所述计算与发送端的第一私钥对应的第一子签名,以及与所述发送端的第二私钥对应的第二子签名,包括:
按照预设的目标公式组计算所述第一子签名和所述第二子签名,所述目标公式组为:
其中,所述根据所述椭圆曲线参数计算第三子签名,包括:
按照预设的第一公式计算所述第三子签名,所述第一公式为:R1=rG;
其中,所述根据所述目标数据计算验证子签名,包括:
按照预设的第二公式计算所述验证子签名,所述第二公式为:R2=αG;
3.一种数据接收方法,其特征在于,应用于接收端,包括:
接收发送端发送的签密数据;
其中,所述签密数据包括:目标数据的密文,与发送端的第一私钥对应的第一子签名,与所述发送端的第二私钥对应的第二子签名,所述发送端根据椭圆曲线参数计算得到的第三子签名,以及所述发送端根据所述目标数据计算得到的验证子签名;
根据所述密文、所述第一子签名、所述第二子签名、所述椭圆曲线参数、与所述第一私钥对应的第一公钥以及与所述第二私钥对应的第二公钥,计算目标子签名;
判断所述目标子签名和所述验证子签名是否一致;
若是,则利用解密密钥解密所述密文,获得所述目标数据;
其中,所述第一子签名和所述第二子签名基于目标公式组计算得到,所述目标公式组为:
其中,所述发送端根据椭圆曲线参数计算得到的第三子签名,包括:
所述发送端按照预设的第一公式计算所述第三子签名,所述第一公式为:R1=rG;
其中,所述发送端根据所述目标数据计算得到的验证子签名,包括:
所述发送端按照预设的第二公式计算所述验证子签名,所述第二公式为:R2=αG;
其中,所述解密密钥的生成过程包括:
按照预设的解密密钥生成公式生成所述解密密钥,所述解密密钥生成公式为:KAB=xBR1=(k,l);
其中,KAB中的k表示所述解密密钥;xB表示接收端的私钥;R1表示所述第三子签名;(k,l)是一个坐标点,k和l均为实数;
其中,所述根据所述密文、所述第一子签名、所述第二子签名、所述椭圆曲线参数、与所述第一私钥对应的第一公钥以及与所述第二私钥对应的第二公钥,计算目标子签名,包括:
按照预设的第三公式计算目标子签名;
4.一种数据接收装置,其特征在于,应用于接收端,包括:
接收模块,用于接收发送端发送的签密数据;
其中,所述签密数据包括:目标数据的密文,与发送端的第一私钥对应的第一子签名,与所述发送端的第二私钥对应的第二子签名,所述发送端根据椭圆曲线参数计算得到的第三子签名,以及所述发送端根据所述目标数据计算得到的验证子签名;
目标子签名计算模块,用于根据所述密文、所述第一子签名、所述第二子签名、所述椭圆曲线参数、与所述第一私钥对应的第一公钥以及与所述第二私钥对应的第二公钥,计算目标子签名;
判断模块,用于判断所述目标子签名和所述验证子签名是否一致;
解密模块,用于若所述目标子签名和所述验证子签名一致,则利用解密密钥解密所述密文,获得所述目标数据;
其中,所述第一子签名和所述第二子签名基于目标公式组计算得到,所述目标公式组为:
其中,所述发送端根据椭圆曲线参数计算得到的第三子签名,包括:
所述发送端按照预设的第一公式计算所述第三子签名,所述第一公式为:R1=rG;
其中,所述发送端根据所述目标数据计算得到的验证子签名,包括:
所述发送端按照预设的第二公式计算所述验证子签名,所述第二公式为:R2=αG;
其中,所述解密密钥的生成过程包括:
按照预设的解密密钥生成公式生成所述解密密钥,所述解密密钥生成公式为:KAB=xBR1=(k,l);
其中,KAB中的k表示所述解密密钥;xB表示接收端的私钥;R1表示所述第三子签名;(k,l)是一个坐标点,k和l均为实数;
其中,所述根据所述密文、所述第一子签名、所述第二子签名、所述椭圆曲线参数、与所述第一私钥对应的第一公钥以及与所述第二私钥对应的第二公钥,计算目标子签名,包括:
按照预设的第三公式计算目标子签名;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910676974.4A CN110324357B (zh) | 2019-07-25 | 2019-07-25 | 数据发送方法及装置、数据接收方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910676974.4A CN110324357B (zh) | 2019-07-25 | 2019-07-25 | 数据发送方法及装置、数据接收方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110324357A CN110324357A (zh) | 2019-10-11 |
CN110324357B true CN110324357B (zh) | 2021-09-24 |
Family
ID=68124625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910676974.4A Active CN110324357B (zh) | 2019-07-25 | 2019-07-25 | 数据发送方法及装置、数据接收方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110324357B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112702582B (zh) * | 2021-01-06 | 2022-07-15 | 贵州大学 | 一种基于sm2的监控视频安全传输方法和设备 |
CN113779645B (zh) * | 2021-11-12 | 2022-02-22 | 南京大学 | 一种量子数字签名和量子数字签密方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101547099A (zh) * | 2009-05-07 | 2009-09-30 | 张键红 | 基于椭圆曲线的自认证签名方法与装置 |
CN107483212A (zh) * | 2017-08-15 | 2017-12-15 | 武汉信安珞珈科技有限公司 | 一种双方协作生成数字签名的方法 |
CN109245903A (zh) * | 2018-09-29 | 2019-01-18 | 北京信安世纪科技股份有限公司 | 双方协同生成sm2算法的签名方法、装置及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8108678B1 (en) * | 2003-02-10 | 2012-01-31 | Voltage Security, Inc. | Identity-based signcryption system |
US9690949B1 (en) * | 2012-02-15 | 2017-06-27 | Impinj, Inc. | Proxy-based reader authentication by trusted authority |
-
2019
- 2019-07-25 CN CN201910676974.4A patent/CN110324357B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101547099A (zh) * | 2009-05-07 | 2009-09-30 | 张键红 | 基于椭圆曲线的自认证签名方法与装置 |
CN107483212A (zh) * | 2017-08-15 | 2017-12-15 | 武汉信安珞珈科技有限公司 | 一种双方协作生成数字签名的方法 |
CN109245903A (zh) * | 2018-09-29 | 2019-01-18 | 北京信安世纪科技股份有限公司 | 双方协同生成sm2算法的签名方法、装置及存储介质 |
Non-Patent Citations (3)
Title |
---|
A Review of Signcryption Schemes Based on Hyper Elliptic Curve;Shamsher Ullah;《2017 3rd International Conference on Big Data Computing and Communications (BIGCOM)》;20171116;第51-58页 * |
一个可公开验证和前向安全的签密方案;杨靖;《计算机工程与应用》;20100501;第46卷(第13期);第108-111页 * |
基于椭圆曲线的数字签名算法研究;王起月;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190115;第25-26页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110324357A (zh) | 2019-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11323276B2 (en) | Mutual authentication of confidential communication | |
JP3560439B2 (ja) | 暗号キーの回復を実行する装置 | |
Barker et al. | Transitions: Recommendation for transitioning the use of cryptographic algorithms and key lengths | |
CN109510708B (zh) | 一种基于Intel SGX机制的公钥密码计算方法和系统 | |
EP3642997A1 (en) | Secure communications providing forward secrecy | |
US20020038420A1 (en) | Method for efficient public key based certification for mobile and desktop environments | |
EP2173055A1 (en) | A method, a system, a client and a server for key negotiating | |
JP2016036166A (ja) | 証明書不要公開鍵基盤に基づく安全なクライアント・サーバ通信プロトコルを設計するシステムと方法 | |
WO2021120871A1 (zh) | 认证密钥协商方法、装置、存储介质及设备 | |
CN109274502B (zh) | 公钥加密及密钥签名的创建方法、设备及可读存储介质 | |
WO2007125877A1 (ja) | 通信装置、及び通信システム | |
CN102946602A (zh) | 移动信息系统的隐私保护加密方法 | |
JP6043804B2 (ja) | 組み合わされたデジタル証明書 | |
CN101931536A (zh) | 一种无需认证中心的高效数据加密及认证方法 | |
CN110324357B (zh) | 数据发送方法及装置、数据接收方法及装置 | |
JP2014515125A (ja) | データの暗号化のための方法、コンピュータ・プログラム、および装置 | |
US20150006900A1 (en) | Signature protocol | |
Barker et al. | Sp 800-131a. transitions: Recommendation for transitioning the use of cryptographic algorithms and key lengths | |
CN112350820A (zh) | 多接收者签密方法、发送端、接收端、系统及存储介质 | |
Panda et al. | A modified PKM environment for the security enhancement of IEEE 802.16 e | |
KR101793528B1 (ko) | 무인증서 공개키 암호 시스템 | |
CN109905232B (zh) | 一种签解密方法、系统、设备及计算机可读存储介质 | |
JP6067474B2 (ja) | 電子署名検証方法および電子署名検証システム | |
Barker et al. | Recommendation for the Transitioning of Cryptographic Algorithms and Key Lengths | |
Caytiles et al. | ECC based authentication scheme for securing data contents over open wireless network systems |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |