CN110324357B - 数据发送方法及装置、数据接收方法及装置 - Google Patents

数据发送方法及装置、数据接收方法及装置 Download PDF

Info

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
Application number
CN201910676974.4A
Other languages
English (en)
Other versions
CN110324357A (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.)
Zhengzhou Normal University
Original Assignee
Zhengzhou Normal University
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 Zhengzhou Normal University filed Critical Zhengzhou Normal University
Priority to CN201910676974.4A priority Critical patent/CN110324357B/zh
Publication of CN110324357A publication Critical patent/CN110324357A/zh
Application granted granted Critical
Publication of CN110324357B publication Critical patent/CN110324357B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public 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
    • 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/3247Cryptographic 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);
其中,KAB中的k表示所述加密密钥;yB表示所述接收端的公钥;r为随机数,且
Figure BDA0002143610120000021
优选地,计算与发送端的第一私钥对应的第一子签名,以及与发送端的第二私钥对应的第二子签名,包括:
按照预设的目标公式组计算第一子签名和第二子签名,目标公式组为:
Figure BDA0002143610120000022
其中,s1表示所述第一子签名;s2表示所述第二子签名;
Figure BDA0002143610120000023
表示所述第一私钥,
Figure BDA0002143610120000024
表示所述第二私钥,且
Figure BDA0002143610120000025
m表示所述目标数据;c表示所述密文;t1和t2为随机数,且
Figure BDA0002143610120000026
n为预设正整数。
优选地,根据椭圆曲线参数计算第三子签名,包括:
按照预设的第一公式计算第三子签名,第一公式为:R1=rG;
其中,R1表示所述第三子签名;r为随机数,且
Figure BDA0002143610120000027
G表示所述椭圆曲线参数。
优选地,根据目标数据计算验证子签名,包括:
按照预设的第二公式计算验证子签名,第二公式为:R2=αG;
其中,R2表示所述验证子签名,G表示所述椭圆曲线参数,α为中间参数,且α=((t1+t2)m)modn;m表示所述目标数据,t1和t2为随机数,且
Figure BDA0002143610120000028
n为预设正整数。
第二方面,本申请提供了一种数据发送装置,应用于发送端,包括:
获取模块,用于获取待发送的目标数据;
加密模块,用于利用加密密钥对目标数据进行加密,获得目标数据的密文;
第一计算模块,用于计算与发送端的第一私钥对应的第一子签名,以及与发送端的第二私钥对应的第二子签名;
第二计算模块,用于获取由椭圆曲线加密算法确定的椭圆曲线参数,并根据椭圆曲线参数计算第三子签名;
第三计算模块,用于根据目标数据计算验证子签名;
发送模块,用于将密文、第一子签名、第二子签名、第三子签名以及验证子签名组合为签密数据,并将签密数据发送至接收端。
第三方面,本申请提供了一种数据接收方法,应用于接收端,包括:
接收发送端发送的签密数据;
其中,签密数据包括:目标数据的密文,与发送端的第一私钥对应的第一子签名,与发送端的第二私钥对应的第二子签名,发送端根据椭圆曲线参数计算得到的第三子签名,以及发送端根据目标数据计算得到的验证子签名;
根据密文、第一子签名、第二子签名、椭圆曲线参数、与第一私钥对应的第一公钥以及与第二私钥对应的第二公钥,计算目标子签名;
判断目标子签名和验证子签名是否一致;
若是,则利用解密密钥解密密文,获得目标数据。
优选地,解密密钥的生成过程包括:
按照预设的解密密钥生成公式生成解密密钥,解密密钥生成公式为:KAB=xBR1=(k,l);
其中,KAB中的k表示所述解密密钥;xB表示接收端的私钥;R1表示所述第三子签名。
优选地,根据密文、第一子签名、第二子签名、椭圆曲线参数、与第一私钥对应的第一公钥以及与第二私钥对应的第二公钥,计算目标子签名,包括:
按照预设的第三公式计算目标子签名;
其中,所述第三公式为:
Figure BDA0002143610120000031
R2'表示所述目标子签名,G表示所述椭圆曲线参数,c表示所述密文;
Figure BDA0002143610120000032
表示与所述第一私钥对应的第一公钥,
Figure BDA0002143610120000033
Figure BDA0002143610120000034
表示所述第一私钥;
Figure BDA0002143610120000035
表示与所述第二私钥对应的第二公钥,
Figure BDA0002143610120000036
Figure BDA0002143610120000037
表示所述第二私钥;
Figure BDA0002143610120000038
β=s1+s2,s1表示所述第一子签名;s2表示所述第二子签名。
第四方面,本申请提供了一种数据接收装置,应用于接收端,包括:
接收模块,用于接收发送端发送的签密数据;
其中,签密数据包括:目标数据的密文,与发送端的第一私钥对应的第一子签名,与发送端的第二私钥对应的第二子签名,发送端根据椭圆曲线参数计算得到的第三子签名,以及发送端根据目标数据计算得到的验证子签名;
目标子签名计算模块,用于根据密文、第一子签名、第二子签名、椭圆曲线参数、与第一私钥对应的第一公钥以及与第二私钥对应的第二公钥,计算目标子签名;
判断模块,用于判断目标子签名和验证子签名是否一致;
解密模块,用于若目标子签名和验证子签名一致,则利用解密密钥解密密文,获得目标数据。
本申请提供的数据发送方法应用于发送端,其能够利用双私钥和椭圆曲线加密算法对待发送的数据进行签密,从而可提高数据安全性。其中,椭圆曲线加密算法的密钥更短小,签密计算量更小,因此可提高签密效率和数据发送效率;其中灵活性和安全性也更高。
相应地,本申请提供的数据发送装置,数据接收方法及装置也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种数据发送方法流程图;
图2为本申请公开的一种数据发送装置示意图;
图3为本申请公开的一种数据接收方法流程图;
图4为本申请公开的一种数据接收装置示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,目前,发送端通常使用单个私钥加密数据,相应地,接收端利用与该私钥对应的公钥解密数据,即整个过程使用一对密钥(即发送端的私钥和公钥),因此其安全性有待提高。为此,本申请提供了一种数据发送方法及装置、一种数据接收方法及装置,能够降低计算量,提高签密效率和数据发送、接收效率以及数据安全性。
参见图1所示,本申请实施例公开了一种数据发送方法,应用于发送端,包括:
S101、获取待发送的目标数据;
S102、利用加密密钥对目标数据进行加密,获得目标数据的密文;
S103、计算与发送端的第一私钥对应的第一子签名,以及与发送端的第二私钥对应的第二子签名;
S104、获取由椭圆曲线加密算法确定的椭圆曲线参数,并根据椭圆曲线参数计算第三子签名;
S105、根据目标数据计算验证子签名;
S106、将密文、第一子签名、第二子签名、第三子签名以及验证子签名组合为签密数据,并将签密数据发送至接收端。
在本实施例中,加密密钥的生成过程包括:按照预设的加密密钥生成公式生成加密密钥,加密密钥生成公式为:KAB=ryB=(k,l);其中,KAB中的k表示所述加密密钥;yB表示所述接收端的公钥;r为随机数,且
Figure BDA0002143610120000051
在本实施例中,计算与发送端的第一私钥对应的第一子签名,以及与发送端的第二私钥对应的第二子签名,包括:按照预设的目标公式组计算第一子签名和第二子签名,目标公式组为:
Figure BDA0002143610120000052
其中,s1表示所述第一子签名;s2表示所述第二子签名;
Figure BDA0002143610120000061
表示所述第一私钥,
Figure BDA0002143610120000062
表示所述第二私钥,且
Figure BDA0002143610120000063
m表示所述目标数据;c表示所述密文;t1和t2为随机数,且
Figure BDA0002143610120000064
n为预设正整数。
在本实施例中,根据椭圆曲线参数计算第三子签名,包括:按照预设的第一公式计算第三子签名,第一公式为:R1=rG;其中,R1表示所述第三子签名;r为随机数,且
Figure BDA0002143610120000065
G表示所述椭圆曲线参数。
在本实施例中,根据目标数据计算验证子签名,包括:按照预设的第二公式计算验证子签名,第二公式为:R2=αG;其中,R2表示所述验证子签名,G表示所述椭圆曲线参数,α为中间参数,且α=((t1+t2)m)modn;m表示所述目标数据,t1和t2为随机数,且
Figure BDA0002143610120000066
n为预设正整数。其中,G为椭圆曲线E上的一个点,E为有限域GF(p)上的椭圆曲线。G的阶为满足安全要求的素数n,即nG=O,其中O是无穷远点。
可见,本申请实施例公开的数据发送方法,能够利用双私钥和椭圆曲线加密算法对待发送的数据进行签密,从而可提高数据安全性。其中,椭圆曲线加密算法的密钥更短小,签密计算量更小,因此可提高签密效率和数据发送效率;其中灵活性和安全性也更高。
下面对本申请实施例提供的一种数据发送装置进行介绍,下文描述的一种数据发送装置与上文描述的一种数据发送方法可以相互参照。
参见图2所示,本申请实施例公开了一种数据发送装置,应用于发送端,包括:
获取模块201,用于获取待发送的目标数据;
加密模块202,用于利用加密密钥对目标数据进行加密,获得目标数据的密文;
第一计算模块203,用于计算与发送端的第一私钥对应的第一子签名,以及与发送端的第二私钥对应的第二子签名;
第二计算模块204,用于获取由椭圆曲线加密算法确定的椭圆曲线参数,并根据椭圆曲线参数计算第三子签名;
第三计算模块205,用于根据目标数据计算验证子签名;
发送模块206,用于将密文、第一子签名、第二子签名、第三子签名以及验证子签名组合为签密数据,并将签密数据发送至接收端。
在一种具体实施方式中,还包括加密密钥生成模块,其具体用于:
按照预设的加密密钥生成公式生成加密密钥,加密密钥生成公式为:KAB=ryB=(k,l);
其中,KAB中的k表示所述加密密钥;yB表示所述接收端的公钥;r为随机数,且
Figure BDA0002143610120000071
在一种具体实施方式中,第一计算模块具体用于:
按照预设的目标公式组计算第一子签名和第二子签名,目标公式组为:
Figure BDA0002143610120000072
其中,s1表示所述第一子签名;s2表示所述第二子签名;
Figure BDA0002143610120000073
表示所述第一私钥,
Figure BDA0002143610120000074
表示所述第二私钥,且
Figure BDA0002143610120000075
m表示所述目标数据;c表示所述密文;t1和t2为随机数,且
Figure BDA0002143610120000076
n为预设正整数。
在一种具体实施方式中,第二计算模块具体用于:
按照预设的第一公式计算第三子签名,第一公式为:R1=rG;
其中,R1表示所述第三子签名;r为随机数,且
Figure BDA0002143610120000077
G表示所述椭圆曲线参数。
在一种具体实施方式中,第三计算模块具体用于:
按照预设的第二公式计算验证子签名,第二公式为:R2=αG;
其中,R2表示所述验证子签名,G表示所述椭圆曲线参数,α为中间参数,且α=((t1+t2)m)modn;m表示所述目标数据,t1和t2为随机数,且
Figure BDA0002143610120000078
n为预设正整数。
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种数据发送装置,其能够利用双私钥和椭圆曲线加密算法对待发送的数据进行签密,从而可提高数据安全性。其中,椭圆曲线加密算法的密钥更短小,签密计算量更小,因此可提高签密效率和数据发送效率;其中灵活性和安全性也更高。
参见图3所示,本申请实施例公开了一种数据接收方法,应用于接收端,包括:
S301、接收发送端发送的签密数据;
其中,签密数据包括:目标数据的密文,与发送端的第一私钥对应的第一子签名,与发送端的第二私钥对应的第二子签名,发送端根据椭圆曲线参数计算得到的第三子签名,以及发送端根据目标数据计算得到的验证子签名;
S302、根据密文、第一子签名、第二子签名、椭圆曲线参数、与第一私钥对应的第一公钥以及与第二私钥对应的第二公钥,计算目标子签名;
S303、判断目标子签名和验证子签名是否一致;若是,则执行S304;若否,则执行S305;
S304、利用解密密钥解密密文,获得目标数据;
S305、生成签密数据错误的提示信息。
在本实施例中,解密密钥的生成过程包括:
按照预设的解密密钥生成公式生成解密密钥,解密密钥生成公式为:KAB=xBR1=(k,l);
其中,KAB中的k表示所述解密密钥;xB表示接收端的私钥;R1表示所述第三子签名。
在本实施例中,根据密文、第一子签名、第二子签名、椭圆曲线参数、与第一私钥对应的第一公钥以及与第二私钥对应的第二公钥,计算目标子签名,包括:
按照预设的第三公式计算目标子签名;
其中,所述第三公式为:
Figure BDA0002143610120000081
R2'表示所述目标子签名,G表示所述椭圆曲线参数,c表示所述密文;
Figure BDA0002143610120000082
表示与所述第一私钥对应的第一公钥,
Figure BDA0002143610120000083
Figure BDA0002143610120000084
表示所述第一私钥;
Figure BDA0002143610120000085
表示与所述第二私钥对应的第二公钥,
Figure BDA0002143610120000086
Figure BDA0002143610120000087
表示所述第二私钥;
Figure BDA0002143610120000088
β=s1+s2,s1表示所述第一子签名;s2表示所述第二子签名。
其中,第三公式可按照下述过程进行验证:
Figure BDA0002143610120000091
需要说明的是,本实施例还可以同时满足前向安全性和可公开验证性。前向安全性指的是任何人都不能利用发送端的私钥解密经该私钥加密后的密文信息,即私钥加密后的密文不能再由该私钥解密成明文。可公开验证性指的是接收端可将接收到的签密数据提供给第三方可信中心进行解签密证实,验证过程中不需要接收端的私钥,第三方在安全可信的基础上证实信息发送端确实发送过该信息,这样发送端不能否认,验证过程中也不需要提供明文数据。
本实施例满足前向安全性和可公开验证性的理由如下:若发送端的双私钥被窃取,本实施例能够保证接收端可以得到明文数据外,其余攻击者均无法获得,这主要体现在获取解密密钥上,获取解密密钥的途径有两种:第一种:由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表示所述第三子签名。
在一种具体实施方式中,目标子签名计算模块具体用于:
按照预设的第三公式计算目标子签名;
其中,所述第三公式为:
Figure BDA0002143610120000101
R2'表示所述目标子签名,G表示所述椭圆曲线参数,c表示所述密文;
Figure BDA0002143610120000102
表示与所述第一私钥对应的第一公钥,
Figure BDA0002143610120000105
Figure BDA0002143610120000103
表示所述第一私钥;
Figure BDA0002143610120000104
表示与所述第二私钥对应的第二公钥,
Figure BDA0002143610120000111
Figure BDA0002143610120000112
表示所述第二私钥;
Figure BDA0002143610120000113
β=s1+s2,s1表示所述第一子签名;s2表示所述第二子签名。
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种数据接收装置,其在接收到签密数据后,首先对签密数据进行验证,若验证通过,则对数据进行解密,从而可获得具体数据。如此可避免无效的解密的操作,从而可节约计算机资源,提高处理效率。
本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (4)

1.一种数据发送方法,其特征在于,应用于发送端,包括:
获取待发送的目标数据;
利用加密密钥对所述目标数据进行加密,获得所述目标数据的密文;
计算与发送端的第一私钥对应的第一子签名,以及与所述发送端的第二私钥对应的第二子签名;
获取由椭圆曲线加密算法确定的椭圆曲线参数,并根据所述椭圆曲线参数计算第三子签名;
根据所述目标数据计算验证子签名;
将所述密文、所述第一子签名、所述第二子签名、所述第三子签名以及所述验证子签名组合为签密数据,并将所述签密数据发送至接收端;
其中,所述加密密钥的生成过程包括:
按照预设的加密密钥生成公式生成所述加密密钥,所述加密密钥生成公式为:KAB=ryB=(k,l);
其中,KAB中的k表示所述加密密钥;yB表示所述接收端的公钥;r为随机数,且
Figure FDA0003231321020000011
(k,l)是一个坐标点,k和l均为实数;
其中,所述计算与发送端的第一私钥对应的第一子签名,以及与所述发送端的第二私钥对应的第二子签名,包括:
按照预设的目标公式组计算所述第一子签名和所述第二子签名,所述目标公式组为:
Figure FDA0003231321020000012
其中,s1表示所述第一子签名;s2表示所述第二子签名;
Figure FDA0003231321020000013
表示所述第一私钥,
Figure FDA0003231321020000014
表示所述第二私钥,且
Figure FDA0003231321020000015
m表示所述目标数据;c表示所述密文;t1和t2为随机数,且
Figure FDA0003231321020000016
n为预设正整数;
其中,所述根据所述椭圆曲线参数计算第三子签名,包括:
按照预设的第一公式计算所述第三子签名,所述第一公式为:R1=rG;
其中,R1表示所述第三子签名;r为随机数,且
Figure FDA0003231321020000017
G表示所述椭圆曲线参数;
其中,所述根据所述目标数据计算验证子签名,包括:
按照预设的第二公式计算所述验证子签名,所述第二公式为:R2=αG;
其中,R2表示所述验证子签名,G表示所述椭圆曲线参数,α为中间参数,且α=((t1+t2)m)mod n;m表示所述目标数据,t1和t2为随机数,且
Figure FDA0003231321020000021
n为预设正整数。
2.一种数据发送装置,其特征在于,应用于发送端,包括:
获取模块,用于获取待发送的目标数据;
加密模块,用于利用加密密钥对所述目标数据进行加密,获得所述目标数据的密文;
第一计算模块,用于计算与发送端的第一私钥对应的第一子签名,以及与所述发送端的第二私钥对应的第二子签名;
第二计算模块,用于获取由椭圆曲线加密算法确定的椭圆曲线参数,并根据所述椭圆曲线参数计算第三子签名;
第三计算模块,用于根据所述目标数据计算验证子签名;
发送模块,用于将所述密文、所述第一子签名、所述第二子签名、所述第三子签名以及所述验证子签名组合为签密数据,并将所述签密数据发送至接收端;
其中,所述加密密钥的生成过程包括:
按照预设的加密密钥生成公式生成所述加密密钥,所述加密密钥生成公式为:KAB=ryB=(k,l);
其中,KAB中的k表示所述加密密钥;yB表示所述接收端的公钥;r为随机数,且
Figure FDA0003231321020000022
(k,l)是一个坐标点,k和l均为实数;
其中,所述计算与发送端的第一私钥对应的第一子签名,以及与所述发送端的第二私钥对应的第二子签名,包括:
按照预设的目标公式组计算所述第一子签名和所述第二子签名,所述目标公式组为:
Figure FDA0003231321020000023
其中,s1表示所述第一子签名;s2表示所述第二子签名;
Figure FDA0003231321020000024
表示所述第一私钥,
Figure FDA0003231321020000025
表示所述第二私钥,且
Figure FDA0003231321020000026
m表示所述目标数据;c表示所述密文;t1和t2为随机数,且
Figure FDA0003231321020000027
n为预设正整数;
其中,所述根据所述椭圆曲线参数计算第三子签名,包括:
按照预设的第一公式计算所述第三子签名,所述第一公式为:R1=rG;
其中,R1表示所述第三子签名;r为随机数,且
Figure FDA0003231321020000031
G表示所述椭圆曲线参数;
其中,所述根据所述目标数据计算验证子签名,包括:
按照预设的第二公式计算所述验证子签名,所述第二公式为:R2=αG;
其中,R2表示所述验证子签名,G表示所述椭圆曲线参数,α为中间参数,且α=((t1+t2)m)mod n;m表示所述目标数据,t1和t2为随机数,且
Figure FDA0003231321020000032
n为预设正整数。
3.一种数据接收方法,其特征在于,应用于接收端,包括:
接收发送端发送的签密数据;
其中,所述签密数据包括:目标数据的密文,与发送端的第一私钥对应的第一子签名,与所述发送端的第二私钥对应的第二子签名,所述发送端根据椭圆曲线参数计算得到的第三子签名,以及所述发送端根据所述目标数据计算得到的验证子签名;
根据所述密文、所述第一子签名、所述第二子签名、所述椭圆曲线参数、与所述第一私钥对应的第一公钥以及与所述第二私钥对应的第二公钥,计算目标子签名;
判断所述目标子签名和所述验证子签名是否一致;
若是,则利用解密密钥解密所述密文,获得所述目标数据;
其中,所述第一子签名和所述第二子签名基于目标公式组计算得到,所述目标公式组为:
Figure FDA0003231321020000033
其中,s1表示所述第一子签名;s2表示所述第二子签名;
Figure FDA0003231321020000034
表示所述第一私钥,
Figure FDA0003231321020000035
表示所述第二私钥,且
Figure FDA0003231321020000036
m表示所述目标数据;c表示所述密文;t1和t2为随机数,且
Figure FDA0003231321020000037
n为预设正整数;
其中,所述发送端根据椭圆曲线参数计算得到的第三子签名,包括:
所述发送端按照预设的第一公式计算所述第三子签名,所述第一公式为:R1=rG;
其中,R1表示所述第三子签名;r为随机数,且
Figure FDA0003231321020000041
G表示所述椭圆曲线参数;
其中,所述发送端根据所述目标数据计算得到的验证子签名,包括:
所述发送端按照预设的第二公式计算所述验证子签名,所述第二公式为:R2=αG;
其中,R2表示所述验证子签名,G表示所述椭圆曲线参数,α为中间参数,且α=((t1+t2)m)mod n;m表示所述目标数据,t1和t2为随机数,且
Figure FDA0003231321020000042
n为预设正整数;
其中,所述解密密钥的生成过程包括:
按照预设的解密密钥生成公式生成所述解密密钥,所述解密密钥生成公式为:KAB=xBR1=(k,l);
其中,KAB中的k表示所述解密密钥;xB表示接收端的私钥;R1表示所述第三子签名;(k,l)是一个坐标点,k和l均为实数;
其中,所述根据所述密文、所述第一子签名、所述第二子签名、所述椭圆曲线参数、与所述第一私钥对应的第一公钥以及与所述第二私钥对应的第二公钥,计算目标子签名,包括:
按照预设的第三公式计算目标子签名;
其中,所述第三公式为:
Figure FDA0003231321020000047
R2'表示所述目标子签名,G表示所述椭圆曲线参数,c表示所述密文;
Figure FDA0003231321020000048
表示与所述第一私钥对应的第一公钥,
Figure FDA00032313210200000410
Figure FDA0003231321020000049
表示所述第一私钥;
Figure FDA0003231321020000043
表示与所述第二私钥对应的第二公钥,
Figure FDA0003231321020000044
Figure FDA0003231321020000045
表示所述第二私钥;
Figure FDA0003231321020000046
β=s1+s2,s1表示所述第一子签名;s2表示所述第二子签名。
4.一种数据接收装置,其特征在于,应用于接收端,包括:
接收模块,用于接收发送端发送的签密数据;
其中,所述签密数据包括:目标数据的密文,与发送端的第一私钥对应的第一子签名,与所述发送端的第二私钥对应的第二子签名,所述发送端根据椭圆曲线参数计算得到的第三子签名,以及所述发送端根据所述目标数据计算得到的验证子签名;
目标子签名计算模块,用于根据所述密文、所述第一子签名、所述第二子签名、所述椭圆曲线参数、与所述第一私钥对应的第一公钥以及与所述第二私钥对应的第二公钥,计算目标子签名;
判断模块,用于判断所述目标子签名和所述验证子签名是否一致;
解密模块,用于若所述目标子签名和所述验证子签名一致,则利用解密密钥解密所述密文,获得所述目标数据;
其中,所述第一子签名和所述第二子签名基于目标公式组计算得到,所述目标公式组为:
Figure FDA0003231321020000051
其中,s1表示所述第一子签名;s2表示所述第二子签名;
Figure FDA0003231321020000052
表示所述第一私钥,
Figure FDA0003231321020000053
表示所述第二私钥,且
Figure FDA0003231321020000054
m表示所述目标数据;c表示所述密文;t1和t2为随机数,且
Figure FDA0003231321020000055
n为预设正整数;
其中,所述发送端根据椭圆曲线参数计算得到的第三子签名,包括:
所述发送端按照预设的第一公式计算所述第三子签名,所述第一公式为:R1=rG;
其中,R1表示所述第三子签名;r为随机数,且
Figure FDA0003231321020000056
G表示所述椭圆曲线参数;
其中,所述发送端根据所述目标数据计算得到的验证子签名,包括:
所述发送端按照预设的第二公式计算所述验证子签名,所述第二公式为:R2=αG;
其中,R2表示所述验证子签名,G表示所述椭圆曲线参数,α为中间参数,且α=((t1+t2)m)mod n;m表示所述目标数据,t1和t2为随机数,且
Figure FDA0003231321020000057
n为预设正整数;
其中,所述解密密钥的生成过程包括:
按照预设的解密密钥生成公式生成所述解密密钥,所述解密密钥生成公式为:KAB=xBR1=(k,l);
其中,KAB中的k表示所述解密密钥;xB表示接收端的私钥;R1表示所述第三子签名;(k,l)是一个坐标点,k和l均为实数;
其中,所述根据所述密文、所述第一子签名、所述第二子签名、所述椭圆曲线参数、与所述第一私钥对应的第一公钥以及与所述第二私钥对应的第二公钥,计算目标子签名,包括:
按照预设的第三公式计算目标子签名;
其中,所述第三公式为:
Figure FDA0003231321020000061
R2'表示所述目标子签名,G表示所述椭圆曲线参数,c表示所述密文;
Figure FDA0003231321020000062
表示与所述第一私钥对应的第一公钥,
Figure FDA0003231321020000063
Figure FDA0003231321020000064
表示所述第一私钥;
Figure FDA0003231321020000065
表示与所述第二私钥对应的第二公钥,
Figure FDA0003231321020000066
Figure FDA0003231321020000067
表示所述第二私钥;
Figure FDA0003231321020000068
β=s1+s2,s1表示所述第一子签名;s2表示所述第二子签名。
CN201910676974.4A 2019-07-25 2019-07-25 数据发送方法及装置、数据接收方法及装置 Active CN110324357B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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