CN111901102A - 数据传输方法、电子设备以及可读存储介质 - Google Patents
数据传输方法、电子设备以及可读存储介质 Download PDFInfo
- Publication number
- CN111901102A CN111901102A CN202010597019.4A CN202010597019A CN111901102A CN 111901102 A CN111901102 A CN 111901102A CN 202010597019 A CN202010597019 A CN 202010597019A CN 111901102 A CN111901102 A CN 111901102A
- Authority
- CN
- China
- Prior art keywords
- public key
- parameter
- signature value
- data
- preset
- 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.)
- Granted
Links
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供一种数据传输方法、电子设备以及可读存储介质,旨在不传递公钥的情况下实现签名和数据传输。其中,数据传输方法应用于数据发送方,该方法包括:生成目标数据的数字摘要,并将所述数字摘要转换为第一中间参数;随机生成中间公钥;根据所述中间公钥、所述第一中间参数以及预设椭圆参数,生成第一签名值;根据预先获得的保密公钥、所述第一中间参数、所述预设椭圆参数以及所述第一签名值,生成第二签名值;将所述目标数据、所述第一签名值以及所述第二签名值发送给数据接收方,以使得数据接收方根据接收的各数据,利用预设的推导算法推导所述数据发送方的保密公钥,并利用推导出的保密公钥进行签名验证。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种数据传输方法、电子设备以及可读存储介质。
背景技术
在一些应用场景中,数据发送方在向数据接收方传输数据之前,需要利用非对称加密技术对数据执行签名操作,使得数据接收方在接收到数据之后,可以验证其接收的数据是否来自于数据发送方并验证数据是否被篡改。
具体地,数据发送方在向数据接收方传输数据之前,首先利用摘要生成算法(例如SM3密码杂凑算法)生成原始数据的数字摘要;然后利用其掌握的私钥对数字摘要执行签名操作,获得数字摘要对应的数字签名;最后将原始数据、数字签名以及其掌握的公钥发送给数据接收方。数据接收方接收到上述各数据后,首先利用其接收的公钥对其接收的数字签名执行解密操作,获得数字摘要;然后利用摘要生成算法(例如SM3密码杂凑算法)生成其接收的原始数据的数字摘要;最后比较两个数字摘要,如果两个数字摘要相同,则数据验证通过,如果两个数字摘要不同,则数据验证失败。
可见上述数据传输过程中,数据发送方需要将其掌握的公钥发送给数据接收方。然而通常情况下,由于公钥的长度较大,超长的公钥在网络传输中进行频繁传输会徒增网络开销。
发明内容
本发明实施例的目的在于提供一种数据传输方法、电子设备以及可读存储介质,旨在不传递公钥的情况下实现签名和数据传输。具体技术方案如下:
在本发明实施例的第一方面,提供一种数据传输方法,应用于数据发送方,所述方法包括:
根据预设的摘要生成算法,生成目标数据的数字摘要,并根据预设的数字化处理方式,将所述数字摘要转换为第一中间参数;
根据预设的密钥生成算法,随机生成中间公钥;
根据所述中间公钥、所述第一中间参数以及预设椭圆参数,生成第一签名值;
根据预先获得的保密公钥、所述第一中间参数、所述预设椭圆参数以及所述第一签名值,生成第二签名值;
将所述目标数据、所述第一签名值以及所述第二签名值发送给数据接收方,以使得所述数据接收方根据所述目标数据、所述第一签名值以及所述第二签名值,利用预设的推导算法推导所述数据发送方的所述保密公钥,并利用推导出的所述保密公钥进行签名验证。
在本发明实施例的第二方面,提供另一种数据传输方法,应用于数据接收方,所述方法包括:
接收数据发送方发送的目标数据、第一签名值以及第二签名值,其中,所述第一签名值是所述数据发送方根据中间公钥、第一中间参数以及预设椭圆参数而生成的,所述中间公钥是所述数据发送方根据预设的密钥生成算法而随机生成的,所述第一中间参数是由所述目标数据的数字摘要转换而来的,所述第二签名值是所述数据发送方根据预先获得的保密公钥、所述第一中间参数、所述预设椭圆参数以及所述第一签名值而生成的,所述第二签名值与所述中间公钥在坐标系中的象限具有映射关系;
根据预设的摘要生成算法,生成所述目标数据的数字摘要,并根据预设的数字化处理方式,将所述数字摘要转换为第二中间参数;
根据所述第一签名值、所述第二签名值、所述预设椭圆参数以及所述第二中间参数,计算所述中间公钥;
根据所述第二中间参数、所述预设椭圆参数、所述第一签名值以及计算出的中间公钥,推导所述数据发送方的所述保密公钥;
利用推导出的所述保密公钥进行签名验证。
在本发明实施例的第三方面,提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现本发明任一实施例所提供的数据传输方法。
在本发明实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任一实施例所提供的数据传输方法。
相比于现有技术,本发明中的数据发送方在向数据接收方发送目标数据之前,首先生成目标数据的数字摘要,并将数字摘要转换为第一中间参数,使数字摘要能以第一中间参数的形式,参与运算。数据发送方还生成中间公钥,并根据该中间公钥、第一中间参数以及预设椭圆参数,生成第一签名值,以及根据预先获得的保密公钥、第一中间参数、预设椭圆参数以及第一签名值,生成第二签名值。最后,数据发送方将目标数据、第一签名值以及第二签名值发送给数据接收方。数据接收方基于这三者,利用预设的推导算法推导出数据发送方掌握的公钥,并根据推导出的公钥进行签名验证。
可见本发明中,数据发送方在不需要向数据接收方发送公钥的情况下,数据接收方能根据数据发送方发送的各个数据,推导出数据发送方的公钥,并利用其进行签名验证。如此,可以节省因超长公钥在网络传输中频繁传输而导致的网络开销。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,以下描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1是本申请一实施例提出的数据传输方法的流程示意图;
图2是本申请另一实施例提出的数据传输方法的流程示意图;
图3是本申请另一实施例提出的数据传输方法的流程示意图;
图4是本申请一实施例提出的椭圆曲线的示意图;
图5是本发明一实施例提出的电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在一些需要进行数据签名的场景中,数据发送方在向数据接收方传输数据之前,首先利用摘要生成算法(例如SM3密码杂凑算法)生成原始数据的数字摘要;然后利用其掌握的私钥对数字摘要执行签名操作,获得数字摘要对应的数字签名;最后将原始数据、数字签名以及其掌握的公钥发送给数据接收方。数据接收方接收到上述各数据后,首先利用其接收的公钥对其接收的数字签名执行解密操作,获得数字摘要;然后利用摘要生成算法(例如SM3密码杂凑算法)生成其接收的原始数据的数字摘要;最后比较两个数字摘要,如果两个数字摘要相同,则数据验证通过,如果两个数字摘要不同,则数据验证失败。
可见上述数据传输过程中,数据发送方需要将其掌握的公钥发送给数据接收方。然而通常情况下,由于公钥的长度较大,超长的公钥在网络传输中进行频繁交互会徒增网络开销。
为此,本发明通过以下多个实施例提出数据传输方法、电子设备以及可读存储介质,旨在不传递公钥的情况下实现签名和数据传输,以节省因超长公钥在网络传输中频繁传输而导致的网络开销。
参考图1,图1是本申请一实施例提出的数据传输方法的流程示意图,该数据传输方法应用于数据发送方。如图1所示,该数据传输方法包括以下步骤:
步骤S11:根据预设的摘要生成算法,生成目标数据的数字摘要,并根据预设的数字化处理方式,将所述数字摘要转换为第一中间参数。
其中,目标数据是指:数据发送方需要传递给数据接收方的数据。为便于理解,假设数据发送方有一份交易数据,数据发送方当前需要对该份交易数据执行签名操作,并将签名发送给数据接收方。如此,该份交易数据作为本次数据传输任务中的目标数据,也即是数据发送方需要传递给数据接收方的数据。
其中,目标数据的数字摘要是一个字符串,为了使数字摘要能参与后续运算,上述步骤S11将数字摘要转换为第一中间参数。如此,数字摘要能以第一中间参数的形式,参与后续运算。其中,第一中间参数为大整数,所谓大整数,是指长度足够长的整数。例如第一中间参数可以是长度不低于50位的整数。
在本发明的一些具体实施方式中,可以将SM3国密杂凑算法选用为预设的摘要生成算法。如此,在执行上述步骤S11时,根据SM3国密杂凑算法,生成目标数据的数字摘要。需要说明的是,SM3国密杂凑算法是本发明的一种可选算法,本发明对摘要生成算法的具体选用方式不做限定。
步骤S12:根据预设的密钥生成算法,随机生成中间公钥。
本发明中,数据发送方预先获得并保存有密钥对,该密钥对包括一份私钥和一份公钥(即下文所述的保密公钥),该密钥对的私钥和公钥均需保密。
而在上述步骤S12中,数据发送方需要根据密钥生成算法,随机生成中间公钥,该中间公钥不同于数据发送方预先获得的保密公钥。具体地,数据发送方的保密公钥可参与每次的数据传输任务,而数据发送方可针对每次数据传输任务分别生成不同的中间公钥,并在该次数据传输任务中利用该次数据传输任务中生成的中间公钥。为便于理解,假设数据发送方预先生成并保存了密钥对,该密钥对中包括保密公钥M和私钥KM。数据发送方在数据传输任务1中,需要利用到保密公钥M和私钥KM,还需要生成并利用中间公钥Q1。数据发送方在数据传输任务2中,仍然需要利用到保密公钥M和私钥KM,还需要生成并利用中间公钥Q2。
在本发明的一些具体实施方式中,可以将SM2国密算法(一种椭圆曲线密码算法)选用为预设的密钥生成算法。如此,在执行上述步骤S12时,根据SM2国密算法随机生成中间公钥。具体地,根据SM2国密算法的推荐参数n生成随机大整数KQ,该大整数KQ可视为一个私钥。其中n是一种椭圆参数,具体地,n是椭圆曲线的基点G的阶,n的具体数值可以是SM2国密算法的推荐数值FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123。然后基于公式Q=KQ*G,生成中间公钥Q。其中,G为椭圆曲线的基点,上述公式是生成公钥的现有公式,本发明对其不做赘述。
需要说明的是,SM2国密算法是本发明的一种可选算法,本发明对密钥生成算法的具体选用方式不做限定。
步骤S13:根据所述中间公钥、所述第一中间参数以及预设椭圆参数,生成第一签名值。
其中,第一签名值作为整个签名的一部分。此外,如下文所提及的第二签名值和第三签名值,也均作为整个签名的一部分。
在本发明的一些具体实施方式中,数据发送方在执行上述步骤S13时,具体可以基于公式R=(Qx%n)+e计算所述第一签名值。其中,R表示所述第一签名值,Qx表示所述中间公钥的x轴坐标值,n表示所述预设椭圆参数,e表示所述第一中间参数,%表示取模运算。
本发明中,中间公钥Q实际上是位于椭圆曲线上的一个点位,中间公钥Q的点位位置是由上述预设密钥生成算法所确定的。而椭圆曲线又位于坐标系中,该坐标系包括x轴和y轴,因此中间公钥Q具有相应的x轴坐标值Qx和y轴坐标值Qy。此外,n是预设椭圆参数,具体地,n是椭圆曲线的基点G的阶,其具体数值参见上文,此处不再赘述。e是上述步骤S11中计算出的第一中间参数,e用于表征目标数据的数字摘要。
步骤S14:根据预先获得的保密公钥、所述第一中间参数、所述预设椭圆参数以及所述第一签名值,生成第二签名值。
如前所述,保密公钥是数据发送方预先获得并保存的密钥对中的公钥,考虑到保密公钥算作一种敏感数据,因此可以对保密公钥采取保密措施。
在本发明的一些具体实施方式中,数据发送方在执行上述步骤S14时,具体可以基于公式V=2(M+e-R)/n计算所述第二签名值,其中,V表示所述第二签名值,M表示所述保密公钥,e表示所述第一中间参数,R表示所述第一签名值,n表示所述预设椭圆参数,/表示取余运算。
本发明中,保密公钥M实际上是位于椭圆曲线上的一个点位,保密公钥M的点位位置是由生成该保密公钥M的算法确定的。而椭圆曲线又位于坐标系中,该坐标系包括x轴和y轴,因此保密公钥M具有相应的x轴坐标值Mx和y轴坐标值My。在上述公式V=2(M+e-R)/n中,M是由Mx和My计算出的数值,本发明不限定如何通过Mx和My计算出M,例如在一些实施例中M等于Mx和My的乘积,在另一些实施例中M等于Mx和My的加和。此外,e是上述步骤S11中计算出的第一中间参数,e用于表征目标数据的数字摘要。R是上述步骤S13中生成的第一签名值。n是预设椭圆参数,具体地,n是椭圆曲线的基点G的阶,其具体数值参见上文,此处不再赘述。
如前所述,中间公钥Q实际上是位于椭圆曲线上的一个点位,中间公钥Q的点位位置是由上述预设密钥生成算法所确定的。而椭圆曲线又位于坐标系中,该坐标系被x轴和y轴划分为四个象限,因此中间公钥的点位位置应当位于这四个象限中的某一象限中。而本发明中,通过上述公式计算出的第二签名值可用于表征中间公钥在坐标系中的象限,换言之,第二签名值与中间公钥在坐标系中的象限具有映射关系。
需要说明的是,上述步骤S11至步骤S14作为数据发送方所掌握的签名算法,与之对应的,数据接收方掌握了推导算法(下文将进行介绍,此处暂不赘述)。数据发送方所掌握的签名算法与数据接收方所掌握的推导算法相匹配,以确保数据接收方在接收到数据发送方发送的各数据后,能基于其掌握的推导算法,推导出数据发送方的保密公钥,从而可以利用推导出的保密公钥执行验签操作。
步骤S15:将所述目标数据、所述第一签名值以及所述第二签名值发送给数据接收方,以使得所述数据接收方根据所述目标数据、所述第一签名值以及所述第二签名值,利用预设推导算法推导所述数据发送方的所述保密公钥,并利用推导出的所述保密公钥进行签名验证。
相比于现有技术,本发明中的数据发送方在向数据接收方发送目标数据之前,首先生成目标数据的数字摘要,并将数字摘要转换为第一中间参数,使数字摘要能以第一中间参数的形式,参与运算。数据发送方还生成中间公钥,并根据该中间公钥、第一中间参数以及预设椭圆参数,生成第一签名值,以及根据预先获得的保密公钥、第一中间参数、预设椭圆参数以及第一签名值,生成第二签名值。最后,数据发送方将目标数据、第一签名值以及第二签名值发送给数据接收方。数据接收方基于这三者,利用预设的推导算法推导出数据发送方掌握的公钥,并根据推导出的公钥进行签名验证。
可见本发明中,数据发送方在不需要向数据接收方发送公钥的情况下,数据接收方能根据数据发送方发送的各个数据,推导出数据发送方的公钥,并利用其进行签名验证。如此,可以节省因超长公钥在网络传输中频繁传输而导致的网络开销。
参考图2,图2是本申请另一实施例提出的数据传输方法的流程示意图,该数据传输方法应用于数据发送方。如图2所示,该数据传输方法包括以下步骤:
步骤S21:根据预设的摘要生成算法,生成目标数据的数字摘要,并根据预设的数字化处理方式,将所述数字摘要转换为第一中间参数。
步骤S22:根据预设的密钥生成算法,随机生成中间公钥。
步骤S23:根据所述中间公钥、所述第一中间参数以及预设椭圆参数,生成第一签名值。
步骤S24:根据预先获得的保密公钥、所述第一中间参数、所述预设椭圆参数以及所述第一签名值,生成第二签名值。
步骤S25:根据所述保密公钥对应的私钥、所述第一中间参数、所述第一签名值、所述中间公钥对应的私钥以及所述预设椭圆参数,生成第三签名值。
步骤S26:将所述目标数据、所述第一签名值、所述第二签名值以及所述第三签名值发送给数据接收方,以使得所述数据接收方根据所述目标数据、所述第一签名值以及所述第二签名值,利用预设推导算法推导所述数据发送方的所述保密公钥,并利用推导出的所述保密公钥进行签名验证。
其中,步骤S21至步骤S24的具体实施方式,可参考上述步骤S11至步骤S14的具体实施方式,本发明在此暂不赘述。
在本发明的一些具体实施方式中,数据发送方在执行上述步骤S25时,具体可以基于公式计算所述第三签名值,其中,S表示所述第三签名值,e表示所述第一中间参数,KM表示所述保密公钥对应的私钥,R表示所述第一签名值,KQ表示所述中间公钥对应的私钥,n表示所述预设椭圆参数,%表示取模运算。
本发明中,保密公钥M实际上是位于椭圆曲线上的一个点位,而保密公钥M对应的私钥KM实际上是一个利用密钥生成算法(例如SM2国密算法)随机生成的大整数。同样地,中间公钥Q实际上是位于椭圆曲线上的一个点位,而中间公钥Q对应的私钥KQ实际上也是一个利用密钥生成算法(例如SM2国密算法)随机生成的大整数。如此,KM和KQ作为数值,可以直接参与上述运算。此外,e是上述步骤S21中计算出的第一中间参数,e用于表征目标数据的数字摘要。R是上述步骤S23中生成的第一签名值。n是预设椭圆参数,具体地,n是椭圆曲线的基点G的阶,其具体数值参见上文,此处不再赘述。
需要说明的是,上述步骤S21至步骤S25作为数据发送方所掌握的签名算法,与之对应的,数据接收方掌握了推导算法(下文将进行介绍,此处暂不赘述)。数据发送方所掌握的推导算法与数据接收方所掌握的验签算法相匹配,以确保数据接收方在接收到数据发送方发送的各数据后,能基于其掌握的推导算法,推导出数据发送方的保密公钥,从而可以利用推导出的保密公钥执行验签操作。
参考图3,图3是本申请另一实施例提出的数据传输方法的流程示意图,该数据传输方法应用于数据接收方。如图3所示,该数据传输方法包括以下步骤:
步骤S31:接收数据发送方发送的目标数据、第一签名值以及第二签名值。
其中,所述第一签名值是所述数据发送方根据中间公钥、第一中间参数以及预设椭圆参数而生成的,所述中间公钥是所述数据发送方根据预设的密钥生成算法而随机生成的,所述第一中间参数是由所述目标数据的数字摘要转换而来的。针对第一签名值的具体生成方式,请参见上文,此处暂不赘述。
其中,所述第二签名值是所述数据发送方根据预先获得的保密公钥、所述第一中间参数、所述预设椭圆参数以及所述第一签名值而生成的,所述第二签名值与所述中间公钥在坐标系中的象限具有映射关系。针对第二签名值的具体生成方式,请参见上文,此处暂不赘述。
需要说明的是,本发明中的中间公钥实际上是位于椭圆曲线上的一个点位,中间公钥Q的点位位置是由上述预设密钥生成算法所确定的。而椭圆曲线又位于坐标系中,该坐标系被x轴和y轴划分为四个象限,因此中间公钥的点位位置应当位于这四个象限中的某一象限中。本发明中的第二签名值则用于表征中间公钥的点位位置具体所在的象限,也即,第二签名值与中间公钥在坐标系中的象限具有映射关系。
步骤S32:根据预设的摘要生成算法,生成所述目标数据的数字摘要,并根据预设的数字化处理方式,将所述数字摘要转换为第二中间参数。
本发明中,数据接收方预设的摘要生成算法,应当与数据发送方预设的摘要生成算法保持一致。如前所述,在一些具体实施方式中,数据发送方可以将SM3国密杂凑算法选用为预设的摘要生成算法。在这些具体实施方式中,相应地,数据接收方应当将SM3国密杂凑算法选用为预设的摘要生成算法。如此,在执行上述步骤S32时,数据接收方根据SM3国密杂凑算法,生成目标数据的数字摘要。需要说明的是,SM3国密杂凑算法是本发明的一种可选算法,本发明对摘要生成算法的具体选用方式不做限定。
此外,本发明中,数据接收方预设的数字化处理方式,也应当与数据发送方预设的数字化处理方式保持一致。
本发明中,如果数据接收方在上述步骤S31中接收的目标数据没有被篡改,则数据接收方在步骤S32中基于一致的摘要生成算法所生成的数字摘要,应当与数据发送方在上述步骤S11中所生成的数字摘要相同。同理地,数据接收方在步骤S32中基于一致的数字化处理方式所转换成的第二中间参数,应当与数据发送方在上述步骤S11中所转换成的第一中间参数相同。需要说明的是,如果第二中间参数与第一中间参数不同,则在后续的校验中,会导致校验失败。
步骤S33:根据所述第一签名值、所述第二签名值、所述预设椭圆参数以及所述第二中间参数,计算所述中间公钥。
本发明中,由于第二签名值与中间公钥在坐标系中的象限具有映射关系,因此在得到中间公钥的计算结果之后,可以利用第二签名值限定计算结果的象限,从而更准确地在坐标系中定位中间公钥。
在本发明的一些具体实施方式中,数据接收方在执行上述步骤S33时,具体可以基于公式Qx=R+V×n-e计算所述中间公钥的x轴坐标值,其中,Qx表示所述中间公钥的x轴坐标值,R表示所述第一签名值,V表示所述第二签名值,n表示所述预设椭圆参数,e表示所述第二中间参数。然后根据所述Qx和所述第二签名值,确定所述中间公钥,其中,所述中间公钥在坐标系中的象限由所述第二签名值确定。
本发明中,R即是数据接收方在上述步骤S31中接收的第一签名值。V即是数据接收方在上述步骤S31中接收的第二签名值。n是预设椭圆参数,具体地,n是椭圆曲线的基点G的阶,其具体数值参见上文,此处不再赘述。e是上述步骤S32中计算出的第二中间参数,e用于表征目标数据的数字摘要。
本发明中,在计算出中间公钥的x轴坐标值Qx之后,可以利用中间公钥的x轴坐标值Qx反向推导出中间公钥的y轴坐标值Qy。参考图4,图4是本申请一实施例提出的椭圆曲线的示意图。如图4所示,中间公钥的x轴坐标值Qx反向推导出的y轴坐标值Qy包括两个,导致反向推导出两个位于不同象限的中间公钥Q1和Q2。由于本发明中的第二签名值用于表征中间公钥的点位位置具体所在的象限,也即第二签名值与中间公钥在坐标系中的象限具有映射关系。为此,本发明可以利用第二签名值,从两个y轴坐标值Qy中确定准确的y轴坐标值Qy,最终实现公钥Q在坐标系中的准确定位,也即准确计算出公钥Q。
本发明中,第二签名值与中间公钥在坐标系中的象限之间的映射关系,可以有多种形式,本对此不作限定。示例地,第二签名值的数值属于集合{A,B,C,D},当第二签名值的数值等于A时,第二签名值表征的象限为第一象限。当第二签名值的数值等于B时,第二签名值表征的象限为第二象限。当第三签名值的数值等于C时,第二签名值表征的象限为第三象限。当第二签名值的数值等于D时,第二签名值表征的象限为第四象限。
或者示例地,第二签名值的数值不是离散数值,当第二签名值的数值属于第一数值区间时,第二签名值表征的象限为第一象限。当第二签名值的数值属于第二数值区间时,第二签名值表征的象限为第二象限。当第三签名值的数值属于第三数值区间时,第二签名值表征的象限为第三象限。当第二签名值的数值属于第四数值区间时,第二签名值表征的象限为第四象限。
在本发明的一些具体实施方式中,在计算出中间公钥之后,还可以验证中间公钥的合法性。如果中间公钥不合法,则确定验证失败。在验证公钥合法性时,具体需要验证中间公钥是否满足以下两个条件:
条件1:0<Qx<p且0<Qy<p;
条件2:(Qx 3+a×Qx+b)%p=(Qy 2)%p。
其中,%表示取模运算,Qx是保密公钥Q的x轴坐标值,Qy是保密公钥Q的y轴坐标值,p是SM2国密算法设定的素数,p的数值等于FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF,a也是SM2国密算法设定的素数,a的数值等于FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC,b也是SM2国密算法设定的素数,b的数值等于28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93。
步骤S34:根据所述第二中间参数、所述预设椭圆参数、所述第一签名值以及计算出的中间公钥,推导所述数据发送方的所述保密公钥。
在本发明的一些具体实施方式中,数据接收方在执行上述步骤S34时,具体可以执行以下子步骤:
子步骤S34-1:基于公式E=(-e)%n计算中间运算参数E,其中,e表示所述第二中间参数,n表示所述预设椭圆参数,%表示取模运算。
子步骤S34-3:基于公式Z=(R×F)%n计算中间运算参数Z,其中,R表示所述第一签名值,F为所述中间运算参数F,%表示取模运算。
子步骤S34-4:基于公式K=(E×F)%n计算中间运算参数K,其中,E为所述中间运算参数E,F为所述中间运算参数F,%表示取模运算。
子步骤S34-5:基于公式M=(G×K)+(Q×Z)推导所述数据发送方的所述保密公钥,其中,M表示所述保密公钥,G表示椭圆曲线的基点,K为所述中间运算参数K,Q表示所述计算出的中间公钥,Z为所述中间运算参数Z。
上述各公式中,e是上述步骤S32中计算出的第二中间参数,e用于表征目标数据的数字摘要。n是预设椭圆参数,具体地,n是椭圆曲线的基点G的阶,其具体数值参见上文,此处不再赘述。R是数据接收方在上述步骤S31中接收的第一签名值。E、F、Z、K是相继计算出的中间运算参数。G表示椭圆曲线的基点,是一种坐标,包括x轴坐标值Gx和y轴坐标值Gy。G的具体点位可选用SM2国密算法设定的点位,其中Gx等于32C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7,Gy等于BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0。Q表示计算出的中间公钥,也是一种坐标,包括x轴坐标值Qx和y轴坐标值Qy。相应地,通过上述子步骤S34-5计算出的保密公钥M,也是一种坐标,包括x轴坐标值和y轴坐标值。
在本发明的一些具体实施方式中,在计算出保密公钥之后,还可以验证保密公钥的合法性。如果保密公钥不合法,则确定验证失败。在验证公钥合法性时,具体需要验证保密公钥是否满足以下两个条件:
条件1:0<Mx<p且0<My<p;
条件2:(Mx 3+a×Mx+b)%p=(My 2)%p。
其中,%表示取模运算,Mx是保密公钥M的x轴坐标值,My是保密公钥M的y轴坐标值,p是SM2国密算法设定的素数,p的数值等于FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF,a也是SM2国密算法设定的素数,a的数值等于FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC,b也是SM2国密算法设定的素数,b的数值等于28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93。
需要说明的是,上述步骤S31至步骤S34作为数据接收方所掌握的推导算法,如前所述,该推导算法与数据发送方所掌握的签名算法相匹配,以确保数据接收方在接收到数据发送方发送的各数据后,能基于其掌握的推导算法,推导出数据发送方的保密公钥,从而可以利用推导出的保密公钥执行验签操作。
步骤S35:利用推导出的所述保密公钥进行签名验证。
在本发明的一些具体实施方式中,数据接收方在执行上述步骤S35时,具体可以执行以下子步骤:
具体实现时,数据接收方在上述步骤S31中,还可以接收数据发送方发送的第三签名值。其中,第三签名值是数据发送方根据其保密公钥对应的私钥、第一中间参数、第一签名值、中间公钥对应的私钥以及预设椭圆参数而生成的。对于第三签名值的具体生成方式,请参见上文,此处不再赘述。如此,在子步骤S35-1中,数据接收方可以基于接收的第三签名值,计算中间运算参数H。
子步骤S35-2:基于公式I=(e×H)%n计算中间运算参数I,其中,e表示所述第二中间参数,H表示上述中间运算参数H,n表示所述预设椭圆参数,%表示取模运算。
子步骤S35-3:基于公式L=(R×H)%n计算中间运算参数L,其中,R表示所述第一签名值,H表示上述中间运算参数H,n表示所述预设椭圆参数,%表示取模运算。
子步骤S35-4:基于公式Q=(G×I)+(M×L)再次计算中间公钥Q,其中,G表示椭圆曲线的基点,I表示上述中间运算参数I,M表示推导出的保密公钥,L表示上述中间运算参数L。
子步骤S35-5:基于公式R′=(Qx%n)+e计算签名值R′,其中,Qx表示中间公钥Q的x轴坐标值Qx,n表示所述预设椭圆参数,e表示所述第二中间参数。
子步骤S35-6:比较计算出的R′和接收的第一签名值R,如果两者一致,则验证通过;如果两者不一致,则验证失败。
需要说明的是,上述步骤S35作为数据接收方所掌握的验签算法,该验签算法与数据发送方所掌握的签名算法相匹配,以确保数据接收方在推导出数据发送方的保密公钥后,能基于其掌握的验签算法顺利执行验签操作。
数据发送方在不需要向数据接收方发送公钥的情况下,数据接收方能根据数据发送方发送的各个数据,推导出数据发送方的公钥,并利用其进行签名验证。如此,可以节省因超长公钥在网络传输中频繁传输而导致的网络开销。
此外,在本发明的一些具体实施方式中,数据发送方在向数据接收方发送上述目标数据、第一签名值、第二签名值以及第三签名值时,仍然可以将其保密公钥发送给数据接收方。
数据接收方在利用推导出的所述保密公钥进行签名验证之前(也即执行上述步骤S35之前),数据接收方还可以将推导出的保密公钥与接收的保密公钥进行比较。在两者一致的情况下,才执行上述步骤S35。在两者不一致的情况下,确定签名验证失败。
本发明可以应用于多种应用场景,尤其是可以应用于联盟区块链系统。联盟区块链系统中包括多个分布式节点,多个分布式节点用于运行和维护联盟区块链。每个分布式节点均运行有相同的区块链程序(也可称为记账程序),或者运行有版本不同但基本相同的区块链程序。每个分布式节点的区块链程序中包括签名算法模块、推导算法模块以及验签算法模块。其中,签名算法模块用于实现上述一些实施例中的步骤S11至步骤S14,推导算法模块用于实现上述一些实施例中的步骤S31至步骤S34,验签算法用于实现上述一些实施例中的步骤S35。由于各个分布式节点均运行有上述各个算法模块,因此各个分布式节点之间可以按照本发明提供的数据传输方法,相互传输数据,以节省因超长公钥在网络传输中频繁传输而导致的网络开销。
此外,各个分布式节点也可以对上述各个算法模块,采取保密措施,使得网络攻击者不能轻易获得这些算法模块。由于网络攻击者不能获取到这些算法模块,因此网络攻击者即使截获到分布式节点发出的数据(例如目标数据、第一签名值、第二签名值、第三签名值),也不能推导出分布式节点的保密公钥,确保了保密公钥的安全性。
本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。
所述存储器503,用于存放计算机程序;
所述处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:
根据预设的摘要生成算法,生成目标数据的数字摘要,并根据预设的数字化处理方式,将所述数字摘要转换为第一中间参数;
根据预设的密钥生成算法,随机生成中间公钥;
根据所述中间公钥、所述第一中间参数以及预设椭圆参数,生成第一签名值;
根据预先获得的保密公钥、所述第一中间参数、所述预设椭圆参数以及所述第一签名值,生成第二签名值;
将所述目标数据、所述第一签名值以及所述第二签名值发送给数据接收方,以使得所述数据接收方根据所述目标数据、所述第一签名值以及所述第二签名值,利用预设推导算法推导所述数据发送方的所述保密公钥,并利用推导出的所述保密公钥进行签名验证。
或者,处理器501用于执行存储器503上所存放的程序时,实现如下步骤:
接收数据发送方发送的目标数据、第一签名值以及第二签名值,其中,所述第一签名值是所述数据发送方根据中间公钥、第一中间参数以及预设椭圆参数而生成的,所述中间公钥是所述数据发送方根据预设的密钥生成算法而随机生成的,所述第一中间参数是由所述目标数据的数字摘要转换而来的,所述第二签名值是所述数据发送方根据预先获得的保密公钥、所述第一中间参数、所述预设椭圆参数以及所述第一签名值而生成的,所述第二签名值与所述中间公钥在坐标系中的象限具有映射关系;
根据预设的摘要生成算法,生成所述目标数据的数字摘要,并根据预设的数字化处理方式,将所述数字摘要转换为第二中间参数;
根据所述第一签名值、所述第二签名值、所述预设椭圆参数以及所述第二中间参数,计算所述中间公钥;
根据所述第二中间参数、所述预设椭圆参数、所述第一签名值以及计算出的中间公钥,推导所述数据发送方的所述保密公钥;
利用推导出的所述保密公钥进行签名验证。
或者,处理器501用于执行存储器503上所存放的程序时,实现本发明以上其他方法实施例所提供的数据传输方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据传输方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据传输方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种数据传输方法,其特征在于,应用于数据发送方,所述方法包括:
根据预设的摘要生成算法,生成目标数据的数字摘要,并根据预设的数字化处理方式,将所述数字摘要转换为第一中间参数;
根据预设的密钥生成算法,随机生成中间公钥;
根据所述中间公钥、所述第一中间参数以及预设椭圆参数,生成第一签名值;
根据预先获得的保密公钥、所述第一中间参数、所述预设椭圆参数以及所述第一签名值,生成第二签名值;
将所述目标数据、所述第一签名值以及所述第二签名值发送给数据接收方,以使得所述数据接收方根据所述目标数据、所述第一签名值以及所述第二签名值,利用预设推导算法推导所述数据发送方的所述保密公钥,并利用推导出的所述保密公钥进行签名验证。
2.根据权利要求1所述的方法,其特征在于,所述根据所述中间公钥、所述第一中间参数以及预设椭圆参数,生成第一签名值,包括:
基于公式R=(Qx%n)+e计算所述第一签名值,其中,R表示所述第一签名值,Qx表示所述中间公钥的x轴坐标值,n表示所述预设椭圆参数,e表示所述第一中间参数,%表示取模运算。
3.根据权利要求1所述的方法,其特征在于,所述根据预先获得的保密公钥、所述第一中间参数、所述预设椭圆参数以及所述第一签名值,生成第二签名值,包括:
基于公式V=2(M+e-R)/n计算所述第二签名值,其中,V表示所述第二签名值,M表示所述保密公钥,e表示所述第一中间参数,R表示所述第一签名值,n表示所述预设椭圆参数。
4.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:
根据所述保密公钥对应的私钥、所述第一中间参数、所述第一签名值、所述中间公钥对应的私钥以及所述预设椭圆参数,生成第三签名值;
在将所述目标数据、所述第一签名值以及所述第二签名值发送给所述数据接收方的同时,将所述第三签名值发送给所述数据接收方。
6.一种数据传输方法,其特征在于,应用于数据接收方,所述方法包括:
接收数据发送方发送的目标数据、第一签名值以及第二签名值,其中,所述第一签名值是所述数据发送方根据中间公钥、第一中间参数以及预设椭圆参数而生成的,所述中间公钥是所述数据发送方根据预设的密钥生成算法而随机生成的,所述第一中间参数是由所述目标数据的数字摘要转换而来的,所述第二签名值是所述数据发送方根据预先获得的保密公钥、所述第一中间参数、所述预设椭圆参数以及所述第一签名值而生成的,所述第二签名值与所述中间公钥在坐标系中的象限具有映射关系;
根据预设的摘要生成算法,生成所述目标数据的数字摘要,并根据预设的数字化处理方式,将所述数字摘要转换为第二中间参数;
根据所述第一签名值、所述第二签名值、所述预设椭圆参数以及所述第二中间参数,计算所述中间公钥;
根据所述第二中间参数、所述预设椭圆参数、所述第一签名值以及计算出的中间公钥,推导所述数据发送方的所述保密公钥;
利用推导出的所述保密公钥进行签名验证。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一签名值、所述第二签名值、所述预设椭圆参数以及所述第二中间参数,计算所述中间公钥,包括:
基于公式Qx=R+V×n-e计算所述中间公钥的x轴坐标值,其中,Qx表示所述中间公钥的x轴坐标值,R表示所述第一签名值,V表示所述第二签名值,n表示所述预设椭圆参数,e表示所述第二中间参数;
根据所述Qx和所述第二签名值,确定所述中间公钥,其中,所述中间公钥在坐标系中的象限由所述第二签名值确定。
8.根据权利要求6所述的方法,其特征在于,所述根据所述第二中间参数、所述预设椭圆参数、所述第一签名值以及计算出的中间公钥,推导所述数据发送方的所述保密公钥,包括:
基于公式E=(-e)%n计算中间运算参数E,其中,e表示所述第二中间参数,n表示所述预设椭圆参数,%表示取模运算;
基于公式Z=(R×F)%n计算中间运算参数Z,其中,R表示所述第一签名值,F为所述中间运算参数F,%表示取模运算;
基于公式K=(E×F)%n计算中间运算参数K,其中,E为所述中间运算参数E,F为所述中间运算参数F,%表示取模运算;
基于公式M=(G×K)+(Q×Z)推导所述数据发送方的所述保密公钥,其中,M表示所述保密公钥,G表示椭圆曲线的基点,K为所述中间运算参数K,Q表示所述计算出的中间公钥,Z为所述中间运算参数Z。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤,或者实现权利要求6-8任一所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的方法,或者实现如权利要求6-8任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010597019.4A CN111901102B (zh) | 2020-06-28 | 2020-06-28 | 数据传输方法、电子设备以及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010597019.4A CN111901102B (zh) | 2020-06-28 | 2020-06-28 | 数据传输方法、电子设备以及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111901102A true CN111901102A (zh) | 2020-11-06 |
CN111901102B CN111901102B (zh) | 2023-05-05 |
Family
ID=73207904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010597019.4A Active CN111901102B (zh) | 2020-06-28 | 2020-06-28 | 数据传输方法、电子设备以及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111901102B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113158176A (zh) * | 2021-06-02 | 2021-07-23 | 工业信息安全(四川)创新中心有限公司 | 基于sm2签名的公钥解析方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070064932A1 (en) * | 2005-01-18 | 2007-03-22 | Marinus Struik | Accelerated verification of digital signatures and public keys |
US20120221850A1 (en) * | 2011-02-28 | 2012-08-30 | Certicom Corp. | System and Method for Reducing Computations in an Implicit Certificate Scheme |
EP2495907A1 (en) * | 2011-02-28 | 2012-09-05 | Certicom Corp. | System and method for reducing computations in the derivation of a publick key corresponding to an implicit certificate |
US20120246465A1 (en) * | 2011-03-23 | 2012-09-27 | Research In Motion Limited | Incorporating data into cryptographic components of an ecqv certificate |
CN109274503A (zh) * | 2018-11-05 | 2019-01-25 | 北京仁信证科技有限公司 | 分布式协同签名方法及分布式协同签名装置、软盾系统 |
CN110290108A (zh) * | 2019-05-17 | 2019-09-27 | 深圳市网心科技有限公司 | 一种区块链网络中的数据处理方法、系统及相关设备 |
CN110380862A (zh) * | 2019-06-25 | 2019-10-25 | 济南晟安信息技术有限公司 | 签名验证方法、装置、计算机设备和存储介质 |
-
2020
- 2020-06-28 CN CN202010597019.4A patent/CN111901102B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070064932A1 (en) * | 2005-01-18 | 2007-03-22 | Marinus Struik | Accelerated verification of digital signatures and public keys |
US20120221850A1 (en) * | 2011-02-28 | 2012-08-30 | Certicom Corp. | System and Method for Reducing Computations in an Implicit Certificate Scheme |
EP2495907A1 (en) * | 2011-02-28 | 2012-09-05 | Certicom Corp. | System and method for reducing computations in the derivation of a publick key corresponding to an implicit certificate |
US20120246465A1 (en) * | 2011-03-23 | 2012-09-27 | Research In Motion Limited | Incorporating data into cryptographic components of an ecqv certificate |
CN109274503A (zh) * | 2018-11-05 | 2019-01-25 | 北京仁信证科技有限公司 | 分布式协同签名方法及分布式协同签名装置、软盾系统 |
CN110290108A (zh) * | 2019-05-17 | 2019-09-27 | 深圳市网心科技有限公司 | 一种区块链网络中的数据处理方法、系统及相关设备 |
CN110380862A (zh) * | 2019-06-25 | 2019-10-25 | 济南晟安信息技术有限公司 | 签名验证方法、装置、计算机设备和存储介质 |
Non-Patent Citations (3)
Title |
---|
LIQUAN CHEN ET AL.: "A Public Key Compression Scheme for Fully Homomorphic Encryption Based on Quadratic Parameters With Correction" * |
潘耘等: "基于轻量级CA的无线传感器网络密钥预分配方案", 《通信学报》 * |
顾海华: "隐式认证在移动设备中的应用", 《中国集成电路》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113158176A (zh) * | 2021-06-02 | 2021-07-23 | 工业信息安全(四川)创新中心有限公司 | 基于sm2签名的公钥解析方法、装置、设备及存储介质 |
CN113158176B (zh) * | 2021-06-02 | 2022-08-02 | 工业信息安全(四川)创新中心有限公司 | 基于sm2签名的公钥解析方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111901102B (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111989891B (zh) | 数据处理方法、相关装置及区块链系统 | |
CN109714168B (zh) | 可信远程证明方法、装置和系统 | |
US10178090B2 (en) | System and methods for protecting keys using garbled circuits | |
CN112637836B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN109818730B (zh) | 盲签名的获取方法、装置和服务器 | |
JP6950745B2 (ja) | 鍵交換装置、鍵交換システム、鍵交換方法、及び鍵交換プログラム | |
CN113987554B (zh) | 获取数据授权的方法、装置及系统 | |
CN112347498B (zh) | 一种加密方法、装置、电子设备及可读存储介质 | |
WO2019110018A1 (zh) | 通信网络系统的消息验证方法、通信方法和通信网络系统 | |
WO2021228239A1 (zh) | 资产类型一致性证据生成、交易、交易验证方法及系统 | |
EP1626524A1 (en) | Method of generating a key for device authentication and apparatus using the method, and device authentication method and device authentication apparatus | |
US10129025B2 (en) | Binding data to a network in the presence of an entity with revocation capabilities | |
US8923519B2 (en) | Method of efficient secure function evaluation using resettable tamper-resistant hardware tokens | |
CN111654481B (zh) | 一种身份认证方法、装置和存储介质 | |
KR20200040248A (ko) | 매우 안전한, 데이터의 고속 암호화 및 전송을 위한 컴퓨터-구현 시스템 및 방법 | |
KR101253683B1 (ko) | 연쇄 해시에 의한 전자서명 시스템 및 방법 | |
CN107113168B (zh) | 密钥交换方法、密钥交换系统、密钥装置、终端装置和记录介质 | |
Amintoosi et al. | TAMA: three-factor authentication for multi-server architecture | |
CN107104804A (zh) | 一种平台完整性验证方法和装置 | |
Kumar et al. | Analysis and design of an optimized secure auditing protocol for storing data dynamically in cloud computing | |
CN111901102B (zh) | 数据传输方法、电子设备以及可读存储介质 | |
Ashraf et al. | Lightweight and authentic symmetric session key cryptosystem for client–server mobile communication | |
CN114398618B (zh) | 一种设备身份的认证方法、装置、电子设备及存储介质 | |
CN116318654A (zh) | 融合量子密钥分发的sm2算法协同签名系统、方法及设备 | |
CN115834085A (zh) | 一种生成签名的方法和装置、安全认证方法和装置 |
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 |