协同ECC的数字签名方法与流程

文档序号:16198325发布日期:2018-12-08 06:21阅读:2527来源:国知局
导航: X技术> 最新专利> 电子通信装置的制造及其应用技术
协同ECC的数字签名方法与流程

本申请涉及密码学技术领域,尤其涉及一种协同ecc的数字签名方法。

背景技术

协同计算是当代分布式网络中常见的计算模型;处于网络中相互不可信的参与方,需要在不泄露自己秘密的情况下协同计算出各方预定的任务,提供安全多方计算的隐私性,正确性等核心功能。基于协同计算思想的协同签名,成为协同计算过程中提供不可伪造功能的核心方式,其中,ecdsa签名算法作为国际认可的椭圆曲线数字签名算法,已经在全球范围内广泛使用,提供数字签名的完整性、可验证性和不可抵赖性等核心特征。然而,在某些应用场景下,为了保障签名过程的公平性和协作性,ecdsa签名数据需要在多方协作的情况下共同生成,并要保证该过程的隐私、正确和高效。而传统的解决方案普遍存在参与方通信和计算复杂度较高的情况。



技术实现要素:

基于此,有必要提供一种协同ecc的数字签名方法。

一种协同ecc的数字签名方法,包括:

第一参与方计算待签名数据的摘要,获得数据摘要,并向第二参与方发送第一消息,所述第一消息携带所述数据摘要;

第二参与方接收所述第一消息,并基于第二参与方的第二参与方签名份额以及所述数据摘要进行合成,获得第一参与方签名份额密文;

第二参与方向第一参与方发送第二消息,所述第二消息携带所述第一参与方签名份额密文;

第一参与方解密第一参与方签名份额密文,获得第一参与方签名份额。

基于如上所述的实施例中的方案,其在第一参与方获得待签名数据的数据摘要后,第二参与方基于该数据摘要以及第二参与方签名份额,通过合成的方式得到第一参与方签名份额密文,并发送给第一参与方。其通过具有同态性质的密码体制进行运算,避免了多次的数据交换和运算,减少了通信和计算的复杂度。

附图说明

图1为一个实施例中的协同ecc的数字签名方法的流程示意图;

图2是一个实施例中获得第一参与方签名份额密文的流程示意图;

图3是另一个实施例中获得第一参与方签名份额密文的流程示意图;

图4为一个实施例中协同ecc的数字签名方法的交互流程示意图;

图5为另一个实施例中协同ecc的数字签名方法的交互流程示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

如图1所示,一个实施例中的协同ecc的数字签名方法,包括下述步骤s11至步骤s14。

步骤s11:第一参与方计算待签名数据的摘要,获得数据摘要,并向第二参与方发送第一消息,所述第一消息携带所述数据摘要。

待签名数据是指需要参与方对其进行签名的数据,计算待签名数据的数据摘要的方式,可以采用任何可能的方式进行。

在一个实施例中,该第一消息还可以携带第一参与方持有的第一公钥份额以及第一参与方持有的第一临时公钥份额。其中,第一参与方持有的第一公钥份额与第二参与方持有的第二公钥份额,共同组成密钥对中的完整公钥。第一参与方与第二参与方可以加法共享该完整公钥,即完整公钥为第一公钥份额与第二公钥份额之和。第一参与方与第二参与方也可以乘法共享该完整公钥,即完整公钥为第一公钥份额与第二私钥份额之积。第一参与方与第二参与方也可以通过其他的方式共享该完整公钥,本实施例不做具体限定。第一参与方与第二参与方共享完整临时公钥的方式类似,即第一参与方与第二参与方可以加法共享完整临时公钥,也可以乘法共享完整临时公钥。

相应地,第一参与方持有的第一私钥份额,第二参与方持有第二私钥份额,第一私钥份额与第二私钥份额共同组成密钥对中的完整私钥。第一参与方与第二参与方可以加法共享该完整私钥,也可以乘法共享该完整私钥,也可以通过其他方式共享该完整私钥。

步骤s12:第二参与方接收所述第一消息,并基于第二参与方的第二参与方签名份额以及所述数据摘要进行合成,获得第一参与方签名份额密文。

一个实施例中,在第一消息还携带第一参与方持有的第一公钥份额以及第一参与方持有的第一临时公钥份额的情况下,第二参与方还基于第一公钥份额以及第二参与方持有的第二私钥份额获得完整公钥,并基于第一临时公钥份额以及第二参与方持有的第二临时私钥份额获得完整临时公钥。

一个实施例中,第二参与方基于所述第一公钥份额以及第二参与方持有的第二私钥份额获得完整公钥,可以包括:第二参与方基于第二参与方持有的第二私钥份额,确定第二参与方持有的第二公钥份额;第二参与方基于所述第一公钥份额和所述第二公钥份额获得完整公钥。第二参与方基于所述第一临时公钥份额以及第二参与方持有的第二临时私钥份额获得完整临时公钥,可以包括:第二参与方基于第二参与方持有的第二临时私钥份额,确定第二参与方持有的第二临时公钥份额;第二参与方基于所述第一临时公钥份额和所述第二临时公钥份额获得完整临时公钥。

其中,第一参与方与第二参与方加法共享该完整公钥的情况下,完整公钥为第一公钥份额与第二公钥份额之和,在第一参与方与第二参与方乘法共享该完整公钥的情况下,完整公钥为第一公钥份额与第二私钥份额之积。第一参与方与第二参与方也可以通过其他的方式共享该完整公钥,本实施例不做具体限定。类似地,基于第一参与方与第二参与方对完整临时公钥的乘法共享或者加法共享,完整临时公钥可以是第一临时公钥份额与第二临时私钥份额的乘积,或者是第一临时公钥份额与第二临时公钥份额的和。

一个实施例中,第二参与方合成完整公钥之后,还生成与完整公钥对应的ecc数字证书。第二参与方可以基于完整临时公钥计算第二参与方签名份额。

一个实施例中,在第二参与方接收所述第一消息之后,第二参与方基于第二参与方的第二参与方签名份额、所述第一参与方签名参数密文以及所述数据摘要进行合成之前,还可以包括步骤:

第二参与方与第一参与方协同执行针对第一参与方签名参数密文的证明知识协议的证明和验证。

在一个实施例中,第一参与方还可以在上述证明知识协议的证明和验证的执行之前,确定第一参与方签名参数密文,确定的该第一参与方签名参数密文还可以传输到第二参与方。第一参与方可以通过各种可能的方式将第一参与方签名参数密文传输到第二参与方。

在本申请的一个具体实施例中,第一参与方可以在上述证明知识协议的证明的执行过程中确定第一参与方签名参数密文。

第一参与方签名参数密文可以采用各种可能的方式进行确定。

在一个实施例中,第一参与方签名参数密文可以包括:对第一私钥份额进行加密获得的第一私钥份额密文,以及对第一临时私钥份额进行加密获得的第一临时私钥份额密文。

此时,第二参与方与第一参与方协同执行对所述第一参与方签名参数密文的证明知识协议的证明和验证,可以包括:

第二参与方与第一参与方协同执行对所述第一私钥份额密文的证明知识协议的证明和验证;

第二参与方与第一参与方协同执行对所述第一临时私钥份额密文的证明知识协议的证明和验证。

其中,针对第一私钥份额密文和第一临时私钥份额密文的证明知识协议的证明和验证,两者可以不分先后顺序串行执行,或并行执行。

在一个实施例中,可以基于证明明文知识协议完成对第一私钥份额密文的证明知识协议的证明和验证。具体可以是基于第一参与方与第二参与方之间的交互完成对第一私钥份额密文的证明知识协议的证明和验证。此时,第二参与方与第一参与方协同执行对所述第一私钥份额密文的证明知识协议的证明和验证,包括:

第一参与方基于第一私钥份额计算出第一私钥份额密文,计算第一参与方承诺,并向第二参与方发送第一证明消息,所述第一证明消息包括:所述第一私钥份额密文与所述第一参与方承诺;

第二参与方接收第一证明消息,选择第二参与方挑战,并将第二参与方挑战发送给第一参与方;

第一参与方接收第二参与方挑战,基于第二参与方挑战计算第一响应和第二响应,并向第二参与方发送第二证明消息,所述第二证明消息包括:所述第一响应和所述第二响应;

第二参与方接收第二证明消息,并在第二证明消息和第一证明消息满足预定的数学运算关系时,完成证明和验证的过程。

在一个实施例中,也可以在上述证明明文知识协议的基础上减少交互次数,来完成对第一私钥份额密文的证明知识协议的证明和验证。此时,第二参与方与第一参与方协同执行对所述第一私钥份额密文的证明知识协议的证明和验证,包括:

第一参与方基于第一私钥份额计算出第一私钥份额密文,并计算第一参与方承诺;

第一参与方计算第一参与方挑战,基于第一参与方挑战计算第三响应和第四响应,并向第二参与方发送证明消息,所述证明消息包括:所述第一私钥份额密文、所述第一参与方承诺、所述第三响应和所述第四响应;

第二参与方计算第二参与方挑战,并基于第二参与方挑战,验证第一私钥份额密文和第一参与方承诺,与第三响应和第四响应之间满足预定的数学运算关系时,完成证明和验证的过程。

第二参与方与第一参与方协同执行对所述第一临时私钥份额密文的证明知识协议的证明和验证的过程,与第二参与方与第一参与方协同执行对所述第一私钥份额密文的证明知识协议的证明和验证的过程类似,在此不再展开赘述。

在一个实施例中,第一参与方签名参数密文包括:对第一参与方生成的第一参与方签名因子进行加密获得的第一参与方签名因子密文。其中,第一参与方签名因子的数目可以结合实际需要进行设定,一个实施例中的第一参与方签名因子包括:第一参与方生成的第一签名因子和第三签名因子。此时,第一参与方签名因子密文包括:对第一签名因子加密获得的第一签名因子密文,以及对第三签名因子加密获得的第三签名因子密文。

第一签名因子和第三签名因子可以采用各种可能的方式生成。一个实施例中,第一参与方可以基于第一临时私钥份额计算出第一签名因子,并基于第一临时私钥份额和第一私钥份额计算出第三签名因子。在另一个实施例中,可以在第一参与方挑选一个盲化因子(本实施例中称为第二盲化因子)之后,第一参与方基于第一临时私钥份额、第二盲化因子计算出第一签名因子,并基于第一临时私钥份额、第一私钥份额和第二盲化因子计算出第三签名因子。

此时,第二参与方与第一参与方协同执行对所述第一参与方签名参数密文的证明知识协议的证明和验证,可以包括:

第二参与方与第一参与方协同执行对所述第一签名因子密文的证明知识协议的证明和验证;

第二参与方与第一参与方协同执行对所述第三签名因子密文的证明知识协议的证明和验证。

其中,针对第一签名因子密文和第三签名因子密文的证明知识协议的证明和验证,两者可以不分先后顺序串行执行,或并行执行。

以第一签名因子密文为例,第二参与方与第一参与方协同执行对所述第一签名因子密文的证明知识协议的证明和验证,可以包括:

第二参与方与第一参与方协同执行对所述第一签名因子密文的证明零元知识协议的证明和验证;

第二参与方与第一参与方协同执行对所述第一签名因子密文的证明明文知识协议的证明和验证。

在一个实施例中,第二参与方与第一参与方协同执行对所述第一签名因子密文的证明零元知识协议的证明和验证时,具体可以是基于第一参与方与第二参与方之间的交互完成对第一签名因子密文的证明知识协议的证明和验证。此时,第二参与方与第一参与方协同执行对所述第一签名因子密文的证明零元知识协议的证明和验证,包括:

第一参与方计算第一签名因子密文,计算第一参与方承诺,并向第二参与方发送第一证明消息,第一证明消息包括:第一签名因子密文与第一参与方承诺;

第二参与方接收第一证明消息,选择第二参与方挑战,并将第二参与方挑战发送给第一参与方;

第一参与方接收第二参与方挑战,基于第二参与方挑战计算出第五响应,并向第二参与方发送第二证明消息,第二证明消息包括:第五响应;

第二参与方接收第二证明消息,并在第二证明消息和第一证明消息满足预定的数学运算关系时,完成证明和验证的过程。

在一个实施例中,也可以在上述证明零元知识协议的基础上减少交互次数,来完成对第一签名因子密文的证明知识协议的证明和验证。此时,第二参与方与第一参与方协同执行对所述第一签名因子密文的证明零元知识协议的证明和验证,包括:

第一参与方计算出第一签名因子密文,并计算第一参与方承诺;

第一参与方计算第一参与方挑战,基于第一参与方挑战计算第六响应,并向第二参与方发送证明消息,所述证明消息包括:所述第一签名因子密文、所述第一参与方承诺和所述第六响应;

第二参与方计算第二参与方挑战,并基于第二参与方挑战,验证第一签名因子密文、第一参与方承诺与第六响应之间满足预定的数学运算关系时,完成证明和验证的过程。

其中,第二参与方与第一参与方协同执行对所述第一签名因子密文的证明明文知识协议的证明和验证的过程,与上述证明明文知识协议的证明和验证的过程的原理相同,在此不再展开赘述。

在一个实施例中,第一参与方还生成同态密码机制的相关参数,第一参与方可以基于同态密码机制的相关参数进行相关加密,获得上述第一参与方签名参数密文。

一个实施例中,在第一参与方确定了第一参与方签名参数密文的情况下,第二参与方基于第二参与方的第二参与方签名份额以及所述数据摘要进行合成,获得第一参与方签名份额密文,可以采用下述方式进行:

第二参与方基于第二参与方的第二参与方签名份额、所述第一参与方签名参数密文以及所述数据摘要进行合成,获得第一参与方签名份额密文。

其中,在一个实施例中,如第一参与方签名参数密文包括第一私钥份额密文和第一临时私钥份额密文时,第二参与方基于第二参与方的第二参与方签名份额、所述第一参与方签名参数密文以及所述数据摘要进行合成,获得第一参与方签名份额密文,具体可以包括步骤s1211至步骤s1214。

步骤s1211:第二参与方确定第一盲化因子。

步骤s1212:第二参与方与第一参与方协同执行针对盲化临时签名份额密文的证明明文知识协议的证明和验证,所述盲化临时签名份额密文基于第一临时私钥份额密文、第二临时私钥份额以及第一盲化因子获得。

步骤s1213:第一参与方与第二参与方协同执行针对第一盲化签名份额密文进行证明明文知识协议的证明和验证;通过解密所述盲化临时签名份额密文,获得盲化临时签名份额;并基于盲化临时签名份额获得第一盲化签名份额,加密所述第一盲化签名份额获得所述第一盲化签名份额密文。一个实施例中,可以通过对所述盲化临时签名份额取逆,获得所述第一盲化签名份额。

步骤s1214:第二参与方计算第二参与方签名份额;并基于第一盲化因子、第一盲化签名份额密文、第一私钥份额密文、第二私钥份额、第二参与方签名份额和数据摘要进行合成,获得第一参与方签名份额密文。

一个实施例中,在上述步骤s1214中,第二参与方基于第一盲化因子、第一盲化签名份额密文、第一私钥份额密文、第二私钥份额、第二参与方签名份额和数据摘要进行合成,获得第一参与方签名份额密文,可以包括步骤s12141至步骤s12143。

步骤s12141:第二参与方基于第一盲化因子和第一盲化签名份额密文进行合成获得第一子签名份额密文。

步骤s12142:第二参与方对第一私钥份额密文、第二私钥份额、第二参与方签名份额和数据摘要进行合成,得到第二子签名份额密文。

步骤s12143:第二参与方基于第一子签名份额密文和第二子签名份额密文进行合成,获得第一参与方签名份额密文。

在另一个实施例中,如第一参与方签名参数密文包括第一签名因子密文和第三签名因子密文时,第二参与方基于第二参与方的第二参与方签名份额、所述第一参与方签名参数密文以及所述数据摘要进行合成,获得第一参与方签名份额密文,具体可以包括步骤s1221至步骤s1222。

步骤s1221:第二参与方基于第二参与方的第二参与方签名份额以及所述数据摘要,生成第二参与方签名因子。

在一个实施例中,该第二参与方签名因子可以包括两个签名因子,本实施例中记为:第二签名因子和第四签名因子。其中,第二参与方可以基于第二临时私钥份额和数据摘要计算出第二签名因子,并基于第二临时私钥份额、第二私钥份额和第二参与方签名份额计算出第四签名因子。另一方面,第二参与方也可以挑选第三盲化因子后,基于第二临时私钥份额、数据摘要和第三盲化因子计算出第二签名因子,并基于第二临时私钥份额、第二私钥份额、第二参与方签名份额和第三盲化因子计算出第四签名因子。

在另一个实施例中,该第二参与方签名因子可以包括三个签名因子,本实施例中记为:第二签名因子、第四签名因子和第五签名因子。其中,第二参与方可以基于第二临时私钥份额和数据摘要计算出第二签名因子,并基于第二临时私钥份额和第二参与方签名份额计算出第四签名因子,并基于第二临时私钥份额、第二私钥份额和第二参与方签名份额计算出第五签名因子。另一方面,第二参与方也可以挑选第四盲化因子后,基于第二临时私钥份额、数据摘要和第四盲化因子计算出第二签名因子,基于第二临时私钥份额、第二参与方签名份额和第四盲化因子计算出第四签名因子,并基于第二临时私钥份额、第二私钥份额、第二参与方签名份额以及第四盲化因子计算出第五签名因子。

步骤s1222:第二参与方基于第一参与方签名因子密文以及第二参与方签名因子进行合成,获得第一参与方签名份额密文。

第二参与方基于第一参与方签名因子密文以及第二参与方签名因子进行合成的方式,可以采用任何可能的方式进行,本实施例不做具体限定。

步骤s13:第二参与方向第一参与方发送第二消息,所述第二消息携带所述第一参与方签名份额密文。

步骤s14:第一参与方解密第一参与方签名份额密文,获得第一参与方签名份额。

以下结合其中几个实施例进行详细解释说明。在该实施例中,参与双方(第一参与方与第二参与方,本实施例中分别记为参与方1和参与方2),双方约定椭圆曲线密码体制参数并选取阶为素数n的生成元g。其中,生成元g是椭圆曲线上的一个点,其作用是通过g运算生成椭圆曲线上的其他点,通过选取阶为素数n的生成元g,可以确保椭圆曲线上的运算可以基于椭圆曲线离散对数问题进行运算,确保安全性。

其中,第一参与方持有第一私钥份额d1,第二参与方持有第二私钥份额d2,第一私钥份额d1和第二私钥份额d2共同构成完整的私钥d。第一参与方持有第一临时私钥份额k1,第二参与方持有第二临时私钥份额k2,第一临时私钥份额k1和第二临时私钥份额k2共同构成完整的临时私钥k。

基于私钥和临时私钥的构造形式的不同,可以有不同的方式。例如私钥可以通过加法共享的方式构造获得,也可以通过乘法共享的方式构造获得。相应地,临时私钥可以通过加法共享的方式构造获得,也可以通过乘法共享的方式构造获得。

以下分别以临时私钥分别由加法共享和乘法共享为例,分别进行说明。

实施例一:临时私钥形如加法共享。

一个实施例中,基于加法分享来构造出临时私钥的方式,也可以称为形如加法共享。在通过加法分享来构造出临时私钥时,其形式可记为k=k1+k2。

在加法分享构造出临时私钥的前提下,可通过加法分享来构造出私钥,其形式可记为d=d1+d2;也可以通过乘法分享构造出私钥,其形式可记为d=d1d2。其中d是共享私钥,是一份完整的私钥,d1是参与方1持有的私钥份额(本申请实施例中记为第一私钥份额),d2是参与方2持有的私钥份额(本申请实施例中记为第二私钥份额)。k是临时共享私钥,是一份完整的临时私钥,k1是参与方1持有的临时私钥份额(本申请实施例中记为第一临时私钥份额),k2是参与方2持有的临时私钥份额(本申请实施例中记为第二临时私钥份额)。

因此,在本实施例中,可以包含两种方案:其中一种为加法分享临时私钥k=k1+k2和加法分享私钥d=d1+d2;另外一种为加法分享临时私钥k=k1+k2和乘法分享私钥d=d1d2。

参考图4所示,在该实施例中,在具体实施时,参与方1对待签名数据m进行摘要运算,获得数据摘要e=h(m)。随后,参与方1生成参与方1持有的第一私钥份额d1∈[1,n-1],该第一私钥份额d1可通过随机的方式生成,并基于持有的第一私钥份额d1计算参与方1的第一公钥份额d1=d1g。参与方1还生成参与方1持有的第一临时私钥份额k1∈[1,n-1],并基于持有的第一临时私钥份额k1计算参与方1的第一临时公钥份额k1=k1g。其中,g为椭圆曲线密码体制参数中阶为素数n的生成元,该生成元g可以由参与方1与参与方2共同约定。参与方1还调用同态密码体制的密钥生成算法keygen生成密钥对(pk,sk)。

然后,参与方1向参与方2发送第一消息,该第一消息携带数据摘要e、第一公钥份额d1和第一临时公钥份额k1。

参与方2接收到参与方1发送的第一消息后,与参与方1协同执行针对第一参与方签名参数密文的证明知识协议的证明和验证阶段。在本实施例中,第一参与方签名参数密文包括第一私钥份额密文和第一临时私钥份额密文。一个实施例中,第一私钥份额密文和第一临时私钥份额密文可以在证明知识协议的证明过程中生成,其中,参与方1对第一私钥份额d1进行加密,获得第一私钥份额密文,并对第一临时私钥份额k1进行加密,获得第一临时私钥份额密文。具体的加密方式可以采用任何可能的方式进行,以enc表示加密算法,获得的第一私钥份额密文可记为de=enc(d1),获得的第一临时私钥份额密文可记为ke=enc(k1)。

在执行证明知识协议的证明和验证时,可以采用不同的证明知识协议。例如,证明明文知识协议。在证明明文知识协议中,在不泄露秘密信息的前提下,证明者向验证者证明知道密文c对应的明文m,满足一定的关系,例如renc={((c,pk),(m,r))|c=encpk(m,r)}。此时,在该过程中,参与方2接收到参与方1发送的第一消息后,参与方1作为证明者,参与方2作为验证者,完成证明明文知识协议的证明和验证。

由于证明明文知识协议涉及到两种类型,一种为交互型,用ppk(c,m)表示;一种为非交互型,用nippk(c,m)表示。

交互型的证明明文知识协议ppk(c,m)的原理如下所述。在证明阶段,证明者基于明文m计算出密文c,并计算出承诺b。一个实施例中计算出的密文c可以是c=gmrnmodn2,承诺b可以是b=gxunmodn2,其中g、r、n均是同态密码体制的相关参数,x∈zn,随后,证明者将密文c和承诺b发送给验证者。验证者选择随机挑战q∈zn并发送给证明者。证明者接收到随机挑战q∈zn之后,结合明文m和挑战q∈zn计算出响应w和z,一个实施例中计算出的响应w和z可以为:w=(x+qm)modn和z=urqgtmodn2,其中t满足条件x+qm=w+tn。然后,证明者将计算出的响应w和z发送给验证者。在验证阶段,验证者计算接收到的密文c和承诺b,与此次接收的响应w和z,是否满足一定的数学运算关系,一个应用示例中可计算gwznmodn2是否等于bcqmodn2。如果满足(例如上述示例中gwznmodn2等于bcqmodn2),则表明密文c是明文m的加密。

其中,g是从中选取的生成元;m是从zn中选取的明文;r是从中选取的随机数;n是rsa模数;x是从zn中选取的随机数;u是从中选取的随机数;zn是所有小于n的正整数组成的集合;q是哈希值。

具体在本实施例中,详细的基于交互型的证明明文知识协议ppk(c,m),针对第一参与方签名参数密文(本实施例中为第一私钥份额密文和第一临时私钥份额密文)进行证明知识协议的证明和验证时,对第一私钥份额密文和第一临时私钥份额密文的证明和验证可以不分先后顺序,并行执行。

以对第一私钥份额密文进行证明和验证为例,详细的基于交互型的证明明文知识协议的证明和验证的详细过程可以包括如下步骤a1至步骤a4。

步骤a1:参与方1作为证明者,基于第一私钥份额计算出第一私钥份额密文,并计算承诺(本实施例中称为第一参与方承诺),并向参与方2发送第一证明消息,第一证明消息包括:第一私钥份额密文与第一参与方承诺。

步骤a2:参与方2作为验证者,接收第一证明消息,并选择随机挑战(本实施例中称为第二参与方挑战),并将第二参与方挑战发送给参与方1。

步骤a3:参与方1接收第二参与方挑战,并基于第二参与方挑战计算出响应w和z,本实施例中将基于参与方2返回的挑战生成的w和z分别称为第一响应和第二响应,并向参与方2发送第二证明消息,第二证明消息包括:第一响应和第二响应。

一个应用示例中,可以基于明文m和第二参与方挑战计算出第一响应,并基于第二参与方挑战和同态密码体制的相关参数计算出第二响应。

步骤a4:参与方2接收第二证明消息,并在第二证明消息和第一证明消息满足一定的数学运算关系时,证明参与方1知道第一私钥份额密文对应的明文,完成证明和验证的过程。其中,第二证明消息和第一证明消息满足的数学运算关系,可以是第一私钥份额密文和第一参与方承诺,与第一响应和第二响应之间满足的数学运算关系,以上述示例中为例,例如可以是gwznmodn2等于bcqmodn2

基于交互型的证明明文知识协议对第一临时私钥份额密文的证明和验证过程,可以与上述基于交互型的证明明文知识协议对第一私钥份额密文的证明和验证过程类似,在此不再展开赘述。

非交互型的证明明文知识协议nippk(c,m)的原理如下所述。在证明阶段,证明者基于明文m计算出密文c,并计算出承诺b。一个实施例中计算出的密文c可以是c=gmrnmodn2,承诺b可以是b=gxunmodn2,其中g、r、n均是同态密码体制的相关参数,x∈zn,随后,证明者计算挑战q,只要能够保证挑战q的随机性和不确定性,证明者可以通过任何可能的方式计算出挑战q,例如一个实施例中可通过哈希函数计算出挑战q,例如q=h(c||b)modn,其中h(·)是安全哈希函数,并计算响应w和z,一个实施例中计算出的响应w和z可以为:w=(x+qm)modn和z=urqgtmodn2,其中t满足条件x+qm=w+tn。然后,证明者将c、b、w和z发送给验证者。在验证阶段,验证者计算挑战q=h(c||b)modn,并计算接收到的密文c和承诺b,与接收到的响应w和z,是否满足一定的数学运算关系,一个应用示例中可计算gwznmodn2是否等于bcqmodn2;如果满足(例如上述示例中gwznmodn2等于bcqmodn2),则表明密文c是明文m的加密。

其中,g是从中选取的生成元;m是从zn中选取的明文;r是从中选取的随机数;n是rsa模数;x是从zn中选取的随机数;u是从中选取的随机数;zn是所有小于n的正整数组成的集合;q是哈希值。

具体在本实施例中,详细的基于非交互型的证明明文知识协议nippk(c,m),针对第一参与方签名参数密文(本实施例中为第一私钥份额密文和第一临时私钥份额密文)进行证明知识协议的证明和验证时,对第一私钥份额密文和第一临时私钥份额密文的证明和验证可以不分先后顺序,并行执行。

以对第一私钥份额密文进行证明和验证为例,详细的基于非交互型的证明明文知识协议的证明和验证的详细过程可以包括如下步骤b1至步骤b3。

步骤b1:参与方1作为证明者,基于第一私钥份额计算出第一私钥份额密文,并计算承诺(本实施例中称为第一参与方承诺)。

步骤b2:参与方1作为证明者,计算挑战(本实施例中称为第一参与方挑战),并基于第一参与方挑战计算响应w和z,本实施例中将基于参与方1自身生成的挑战生成的w和z分别称为第三响应和第四响应,并向参与方2发送证明消息,证明消息包括:第一私钥份额密文、第一参与方承诺、第三响应和第四响应。

一个应用示例中,可以基于明文m和第一参与方挑战计算出第三响应,并基于第一参与方挑战和同态密码体制的相关参数计算出第四响应。

步骤b3:参与方2计算挑战(本实施例中称为第二参与方挑战),其中,第二参与方挑战与第一参与方挑战相等,并基于第二参与方挑战,验证第一私钥份额密文和第一参与方承诺,与第三响应和第四响应之间满足一定的数学运算关系时,以上述示例中为例,例如可以是gwznmodn2等于bcqmodn2,证明参与方1知道第一私钥份额密文对应的明文,完成证明和验证的过程。

基于非交互型的证明明文知识协议对第一临时私钥份额密文的证明和验证过程,可以与上述基于非交互型的证明明文知识协议对第一私钥份额密文的证明和验证过程类似,在此不再展开赘述。

据此,在本实施例中,在执行针对第一参与方签名参数密文(本实施例中为第一私钥份额密文和第一临时私钥份额密文)的证明知识协议的证明和验证阶段时,可以结合上述方式证明和验证第一私钥份额密文是第一参与方的第一私钥份额的加密,第一临时私钥份额密文是第一临时私钥份额的加密。

如果证明明文知识协议的验证失败,则结束流程并退出。如果证明明文知识协议的验证通过,则进入后续的步骤。

参与方2生成第二私钥份额d2∈[[1,n-1],该第二私钥份额d2可通过随机的方式生成,并基于第二私钥份额d2和第一公钥份额d1获得完整公钥d。一个实施例中,完整公钥d可以是被参与方1和参与方2乘法共享,此时d=d2d1=d1d2g=dg。另一个实施例中,完整公钥d可以是被参与方1和参与方2加法共享,此时,也可以是基于第二私钥份额d2计算出第二公钥份额d2=d2g之后,基于第一公钥份额d1和第二公钥份额d2获得完整公钥d=d1+d2=(d1+d2)g=dg。获得完整公钥d后,生成与完整公钥d对应的ecc数字证书。

参与方2生成第二临时私钥份额k2∈[1,n-1],该第二临时私钥份额k2∈[1,n-1]可通过随机的方式生成,并基于第二临时私钥份额k2计算出第二临时公钥份额k2=k2g之后,基于第一临时公钥份额k1和第二临时公钥份额k2获得完整临时公钥k=k1+k2=(k1+k2)g=kg=(x1,y1)。

随后,参与方2挑选临时随机数作为盲化因子x′∈[1,n-1](本实施例中记为第一盲化因子),并对第一临时私钥份额密文ke=enc(k1)、第二临时私钥份额k2∈[1,n-1]以及第一盲化因子x′∈[1,n-1]进行合成,获得盲化临时签名份额密文:reversee=(ke·enc(k2))x′=(enc(k1)·enc(k2))x′=enc((k1+k2)x′modn)。

随后,参与方2作为证明者,参与方1作为验证者,参与方2与参与方1对盲化临时签名份额密文进行证明知识协议的证明和验证。

其中,在进行证明知识协议的证明和验证时,可以进行证明明文知识协议的证明和验证。如上所述,可以采用交互型的证明明文知识协议ppk(c,m)进行,也可以采用非交互型的证明明文知识协议nippk(c,m)进行。具体的对盲化临时签名份额密文reversee进行证明明文知识协议的证明和验证的原理,与上述证明明文知识协议的原理相同,此处不再展开赘述。

如果证明知识协议的验证失败,则结束流程并退出。如果证明知识协议的验证通过,则进入后续的步骤。

参与方1解密盲化临时签名份额密文reversee,得到盲化临时签名份额reverse=dec(enc(reversee))=(k1+k2)x′modn。随后,参与方1基于盲化临时签名份额reverse获得第一盲化签名份额reverse′。在基于盲化临时签名份额reverse获得第一盲化签名份额reverse′时,可以采用任何可能的方式进行,在一个实施例中,可以通过对盲化临时签名份额reverse取逆,从而获得第一盲化签名份额reverse′,即reverse′=((k1+k2)x′)-1modn=(k1+k2)-1x′-1modn。获得第一盲化签名份额reverse′之后,参与方1对第一盲化签名份额reverse′进行加密,获得第一盲化签名份额密文reverse′e=enc(reverse′)。

随后,参与方1作为证明者,参与方2作为验证者,参与方1与参与方2对第一盲化签名份额密文reverse′e进行证明知识协议的证明和验证。

其中,在进行证明知识协议的证明和验证时,可以进行证明明文知识协议的证明和验证。如上所述,可以采用交互型的证明明文知识协议ppk(c,m)进行,也可以采用非交互型的证明明文知识协议nippk(c,m)进行。具体的对第一盲化签名份额密文reverse′e进行证明明文知识协议的证明和验证的原理,与上述证明明文知识协议的原理相同,此处不再展开赘述。

如上所述,由于证明知识协议涉及交互型ppk(c,m)和非交互型nippk(c,m)。因此,在采用交互型的证明知识协议时,则执行ppk(reverse′e,reverse′)的证明和验证,在采用非交互型的证明知识协议时,则执行nippk(reverse′e,reverse′)的证明和验证。

如果证明知识协议的验证失败,则结束流程并退出。如果证明知识协议的验证通过,则进入后续的步骤。

参与方2计算第二参与方签名份额,该第二参与方签名份额可以是ecc签名份额,该第二参与方签名份额可基于完整临时公钥k=(x1,y1)的参数x1而定,如第二参与方签名份额为r=x1modn。若计算结果为r=0,则参与方2返回上述生成第二临时私钥份额的步骤,重新生成新的第二临时私钥份额,并重复上述过程。否则,进入后续的步骤。

随后,参与方2对第一盲化因子x′和第一盲化签名份额密文reverse′e进行合成得到第一子签名份额密文s′1,其中的一个合成计算方式可以记为:

参与方2对第一私钥份额密文de、第二私钥份额d2、第二参与方签名份额r和数据摘要e进行合成,得到第二子签名份额密文s′2。

一个实施例中,在完整公钥d被参与方1和参与方2加法共享的情况下,可记为:

另一个实施例中,在完整公钥d被参与方1和参与方2乘法共享的情况下,可以记为:

参与方2对第一子签名份额密文s′1和第二子签名份额密文s′2进行合成,获得第一参与方签名份额密文se,可记为se=s′1·s′2=enc(k-1(e+dr)modn)。

随后,参与方2向参与方1发送第二消息,第二消息包括第二参与方签名份额r和第一参与方签名份额密文se。

参与方1接收该第二消息,对第一参与方签名份额密文se进行解密,从而获得第一参与方签名份额s=dec(enc(se))=k-1(e+dr)modn。如果获得的第一参与方签名份额s=0,则返回上述参与方2生成第二临时私钥份额的步骤,参与方2重新生成新的第二临时私钥份额,并重复上述过程。否则,获得的由第二参与方签名份额r和第一参与方签名份额s组成的签名对(r,s)就是合法的ecc签名。

实施例二:临时私钥形如乘法共享。

一个实施例中,基于乘法分享来构造出临时私钥的方式,也可以称为形如乘法共享。在通过乘法分享来构造出临时私钥时,其形式可记为k=k1*k2。

在乘法分享构造出临时私钥的前提下,可通过乘法分享来构造出私钥,其形式可记为d=d1d2;也可以通过加法分享来构造出私钥,其形式可记为d=d1+d2。其中d是共享私钥,是一份完整的私钥,d1是参与方1持有的私钥份额(本申请实施例中记为第一私钥份额),d2是参与方2持有的私钥份额(本申请实施例中记为第二私钥份额)。k是临时共享私钥,是一份完整的临时私钥,k1是参与方1持有的临时私钥份额(本申请实施例中记为第一临时私钥份额),k2是参与方2持有的临时私钥份额(本申请实施例中记为第二临时私钥份额)。

因此,在本实施例中,可以包含两种方案:其中一种为乘法分享临时私钥k=k1*k2和乘法分享私钥d=d1d2;另外一种为乘法分享临时私钥k=k1*k2和加法分享私钥d=d1+d2。

在该实施例中,参考图5所示,在具体实施时,参与方1对待签名数据m进行摘要运算,获得数据摘要e=h(m)。随后,参与方1生成参与方1持有的第一私钥份额d1∈[1,n-1]。该第一私钥份额d1可通过随机的方式生成,并基于持有的第一私钥份额计算参与方1的第一公钥份额d1=d1g。参与方1还生成参与方1持有的第一临时私钥份额k1∈[1,n-1],并基于持有的第一临时私钥份额k1计算参与方1的第一临时公钥份额k1=k1g。参与方1还调用同态密码体制的密钥生成算法keygen生成密钥对(pk,sk)。

然后,参与方1向参与方2发送第一消息,该第一消息携带数据摘要e、第一公钥份额d1和第一临时公钥份额k1。

参与方2接收到参与方1发送的第一消息后,与参与方1协同执行针对第一签名因子密文和第三签名因子密文的证明知识协议的证明和验证阶段。在本实施例中,第一参与方签名参数密文包括第一签名因子密文和第三签名因子密文。

一个实施例中,第一签名因子密文和第三签名因子密文可以在证明知识协议的证明过程中生成。在证明知识协议的证明和验证的过程中,参与方1计算出第一签名因子密文和第三签名因子密文。

一个实施例中,可以基于第一临时私钥份额k1计算出第一签名因子u,如并基于第一临时私钥份额k1和第一私钥份额d1计算出第三签名因子v,如

在另一个实施例中,参与方1也可以在挑选盲化因子x(本实施例中记为第二盲化因子)后,基于第一临时私钥份额k1和第二盲化因子x计算出第一签名因子u,如并基于第一临时私钥份额k1、第一私钥份额d1以及第二盲化因子x计算出第三签名因子v,如可以理解,在实际技术应用中,也可以采用其他的方式计算出第一签名因子u和第三签名因子v。

随后,参与方1加密第一签名因子u,获得第一签名因子密文,并加密第三签名因子v,获得第三签名因子密文。具体的加密方式可以采用任何可能的方式进行,以enc表示加密算法,获得的第一签名因子密文可记为ue=enc(u),获得的第三签名因子密文可记为ve=enc(v)。

在执行证明知识协议的证明和验证时,可以采用不同的证明知识协议。例如,本实施例中可以完成证明零元知识协议的证明和验证后,再完成证明明文知识协议的证明和验证。证明明文知识协议的协议原理在上述实施例中已经说明,在此不再赘述。

证明零元知识协议中,在不泄露秘密信息的前提下,证明者向验证者证明密文c是零元0的加密,满足一定的关系,例如:lzero={((c,pk),(0,r))|c=encpk(0,r)}。此时,在该过程中,参与方2接收到参与方1发送的第一消息后,参与方1作为证明者,参与方2作为验证者,完成证明零元知识协议的证明和验证。

由于证明零元知识协议涉及到两种类型,一种为交互型,用pzk(c,m)表示;一种为非交互型,用nipzk(c,m)表示。

交互型的证明零元知识协议pzk(c,m)的原理如下所述。在证明阶段,证明者基于明文m计算密文c,并计算出承诺b。一个实施例中计算出的密文c可以是c=gmrnmodn2(如果m=0,则c=rnmodn2),承诺b可以是b=unmodn2,其中g、r、n均是同态密码体制的相关参数,随后,证明者将密文c和承诺b发送给验证者。验证者选择随机挑战q∈zn并发送给证明者。证明者接收到随机挑战q∈zn之后,结合挑战q∈zn计算出响应z,一个实施例中计算出的响应z可以为:z=urqmodn2。随后,证明者将计算出的响应z发送给验证者。在验证阶段,验证者计算接收到的密文c、承诺b与此次接收的响应z,是否满足一定的数学运算关系,一个应用示例中可计算znmodn2是否等于bcqmodn2;如果相等,则表明密文c是零元0的加密。

其中,g是从中选取的生成元;m是从zn中选取的明文;r是从中选取的随机数;n是rsa模数;u是从中选取的随机数;zn是所有小于n的正整数组成的集合;q是哈希值。

具体在本实施例中,详细的基于交互型的证明零元知识协议pzk(c,m),针对第一参与方签名参数密文(本实施例中为第一签名因子密文和第三签名因子密文)进行证明知识协议的证明和验证时,对第一签名因子密文和第三签名因子密文的证明和验证可以不分先后顺序,并行执行。

以对第一签名因子密文进行证明和验证为例,详细的基于交互型的证明零元知识协议pzk(c,m)的证明和验证的详细过程可以包括如下步骤c1至步骤c4。

步骤c1:参与方1作为证明者,计算出第一签名因子密文,并计算承诺(本实施例中称为第一参与方承诺),并向参与方2发送第一证明消息,第一证明消息包括:第一签名因子密文与第一参与方承诺。

步骤c2:参与方2作为验证者,接收第一证明消息,并选择随机挑战(本实施例中称为第二参与方挑战),并将第二参与方挑战发送给参与方1。

步骤c3:参与方1接收第二参与方挑战,并基于第二参与方挑战计算出响应z,本实施例中将基于参与方2返回的挑战生成的z称为第五响应,并向参与方2发送第二证明消息,第二证明消息包括:第五响应。

一个实施例中,可以与第二参与方挑战和同态密码体制的相关参数计算出第五响应。

步骤c4:参与方2接收第二证明消息,并在第二证明消息和第一证明消息满足一定的数学运算关系时,证明参与方1知道第一签名因子密文对应的明文,完成证明和验证的过程。其中,第二证明消息和第一证明消息满足的运算关系,可以是第一签名因子密文和第一参与方承诺,与第五响应之间满足的数学运算关系,以上述示例中为例,例如可以是znmodn2是否等于bcqmodn2

基于交互型的证明零元知识协议对第三签名因子密文的证明和验证过程,可以与上述基于交互型的证明零元知识协议对第一签名因子密文的证明和验证过程类似,在此不再展开赘述。

非交互型的证明零元知识协议nipzk(c,m)的原理如下所述。在证明阶段,证明者基于明文m计算出密文c,并计算出承诺b。一个实施例中计算出的密文c可以是c=gmrnmodn2(如果m=0,则c=rnmodn2),承诺b可以是b=unmodn2,其中g、r、n均是同态密码体制的相关参数,随后,证明者计算挑战q,只要能够保证挑战q的随机性和不确定性,证明者可以通过任何可能的方式计算出挑战q,例如一个实施例中可通过哈希函数计算出挑战q,例如q=h(c||b)modn,其中h(·)是安全哈希函数,并计算响应z,一个实施例中计算出的响应z可以为:z=urqmodn2。然后,证明者将c、b和z发送给验证者。在验证阶段,验证者计算挑战q=h(c||b)modn,并计算接收到的密文c和承诺b,与接收到的响应z,是否满足一定的数学运算关系,一个应用示例中可计算znmodn2是否等于bcqmodn2;如果相等,则表明密文c是零元0的加密。

其中,g是从中选取的生成元;m是从zn中选取的明文;r是从中选取的随机数;n是rsa模数;u是从中选取的随机数;zn是所有小于n的正整数组成的集合;q是哈希值。

具体在本实施例中,详细的基于非交互型的证明零元知识协议nipzk(c,m),针对第一参与方签名参数密文(本实施例中为第一签名因子密文和第三签名因子密文)进行证明知识协议的证明和验证时,对第一签名因子密文和第三签名因子密文的证明和验证可以不分先后顺序,并行执行。

以对第一签名因子密文进行证明和验证为例,详细的基于非交互型的证明零元知识协议nipzk(c,m)的证明和验证的详细过程可以包括如下步骤d1至步骤d4。

步骤d1:参与方1作为证明者,计算出第一签名因子密文,并计算承诺(本实施例中称为第一参与方承诺)。

步骤d2:参与方1作为证明者,计算挑战(本实施例中称为第一参与方挑战),并基于第一参与方挑战计算响应z,本实施例中将基于参与方1自身生成的挑战生成的z称为第六响应,并向参与方2发送证明消息,证明消息包括:第一签名因子密文、第一参与方承诺和第六响应。

一个应用示例中,可以基于第一参与方挑战和同态密码体制的相关参数计算出第六响应。

步骤d3:参与方2计算挑战(本实施例中称为第二参与方挑战),其中第二参与方挑战与第一参与方挑战相等,并基于第二参与方挑战,验证第一签名因子密文和第一参与方承诺,与第六响应之间满足一定的数学运算关系时,以上述示例中为例,例如可以是znmodn2是否等于bcqmodn2,证明参与方1知道第一签名因子密文对应的明文,完成证明和验证的过程。

基于非交互型的证明零元知识协议对第三签名因子密文的证明和验证过程,可以与上述基于非交互型的证明零元知识协议对第一签名因子密文的证明和验证过程类似,在此不再展开赘述。

据此,在本实施例中,在执行针对第一签名因子密文和第三签名因子密文的证明知识协议的证明和验证阶段时,可以结合上述方式,先进行针对第一签名因子密文和第三签名因子密文执行证明零元知识协议的证明和验证,如果证明零元知识协议的验证成功,则结束流程并退出,如果证明零元知识协议的验证失败,再针对第一签名因子密文和第三签名因子密文执行证明明文知识协议的证明和验证,如果证明明文知识协议的验证失败,则结束流程并退出。如果证明明文知识协议的验证通过,则进入后续的步骤。

参与方2生成第二私钥份额d2∈[1,n-1],该第二私钥份额d2可通过随机的方式生成,并基于第二私钥份额d2和第一公钥份额d1获得完整公钥d。一个实施例中,完整公钥d可以是被参与方1和参与方2乘法共享,此时d=d2d1=d1d2g=dg。另一个实施例中,完整公钥d可以是被参与方1和参与方2加法共享,此时,也可以是基于第二私钥份额d2计算出第二公钥份额d2=d2g之后,基于第一公钥份额d1和第二公钥份额d2获得完整公钥d=d1+d2=(d1+d2)g=dg。获得完整公钥d后,生成与完整公钥d对应的ecc数字证书。

参与方2生成第二临时私钥份额k2∈[1,n-1],该第二临时私钥份额k2∈[1,n-1]可通过随机的方式生成,并基于第二临时私钥份额k2和第一临时公钥份额k1获得完整临时公钥k=k2k1=k1k2g=kg=(x1,y1)。

随后,参与方2计算第二参与方签名份额,该第二参与方签名份额可以是ecc签名份额,该第二参与方签名份额可基于完整临时公钥k=(x1,y1)的参数x1而定,如第二参与方签名份额为r=x1modn。若计算结果为r=0,则参与方2返回上述生成第二临时私钥份额的步骤,重新生成新的第二临时私钥份额,并重复上述过程。否则,进入后续的步骤。

随后,参与方2计算出第一参与方签名份额密文se。

一个实施例中,在完整公钥d被参与方1和参与方2乘法共享的情况下,参与方2可通过下述方式计算出第一参与方签名份额密文se。

参与方2计算第二签名因子a和第四签名因子b。一个实施例中,可以基于第二临时私钥份额k2和数据摘要e计算出第二签名因子a,如并基于第二临时私钥份额k2、第二私钥份额d2和第二参与方签名份额r计算出第四签名因子b,如在另一个实施例中,参与方2也可以在挑选盲化因子y(本实施例中称为第三盲化因子)后,基于第二临时私钥份额k2、数据摘要e和第三盲化因子y计算出第二签名因子a,如并基于第二临时私钥份额k2、第二私钥份额d2、第二参与方签名份额r和第三盲化因子y计算出第四签名因子b,如可以理解,在实际技术应用中,也可以采用其他的方式计算出第二签名因子a和第四签名因子b。

随后,参与方2基于第一签名因子密文ue、第二签名因子a、第三签名因子密文ve以及第四签名因子b进行合成,获得第一参与方签名份额密文se。可记为:

在另一个实施例中,在完整公钥d被参与方1和参与方2加法共享的情况下,参与方2可通过下述方式计算出第一参与方签名份额密文se。

参与方2计算第二签名因子a、第四签名因子b以及第五签名因子c。

一个应用实施例中,可以基于第二临时私钥份额k2和数据摘要e计算出第二签名因子a,如并基于第二临时私钥份额k2和第二参与方签名份额r计算出第四签名因子b,如并基于第二临时私钥份额k2、第二私钥份额d2和第二参与方签名份额r计算出第五签名因子c,如

在另一个应用实施例中,参与方2也可以在挑选盲化因子z(本实施例中称为第四盲化因子)后,基于第二临时私钥份额k2、数据摘要e和第四盲化因子z计算出第二签名因子a,如并基于第二临时私钥份额k2、第二参与方签名份额r和第四盲化因子z计算出第四签名因子b,如并基于第二临时私钥份额k2、第二私钥份额d2、第二参与方签名份额r以及第四盲化因子z计算出第五签名因子c,如可以理解,在实际技术应用中,也可以采用其他的方式计算出第二签名因子a、第四签名因子b和第五签名因子c。

此时,在计算出了第二签名因子a、第四签名因子b和第五签名因子c的情况下,参与方2可基于第一签名因子密文ue、第二签名因子a、第三签名因子密文ve、第四签名因子b以及第五签名因子c进行合成,获得第一参与方签名份额密文se。可记为:

在获得第一参与方签名份额密文se之后,参与方2向参与方1发送第二消息,第二消息包括第二参与方签名份额r和第一参与方签名份额密文se。

参与方1接收该第二消息,对第一参与方签名份额密文se进行解密,从而获得第一参与方签名份额s=dec(enc(se))=k-1(e+dr)modn。如果获得的第一参与方签名份额s=0,则返回上述参与方2生成第二临时私钥份额的步骤,参与方2重新生成新的第二临时私钥份额,并重复上述过程。否则,获得的由第二参与方签名份额r和第一参与方签名份额s组成的签名对(r,s)就是合法的ecc签名。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

完整全部详细技术资料下载
当前第1页 1  2 
相关技术
  • 一种安全高效的区块链实现方法...
  • 群密钥安全管理方法、装置、电...
  • 密码存储方法及装置与流程
  • 连续变量量子密钥分发中拒绝服...
  • 信息验证方法、系统、装置与流...
  • 一种基于群组密钥池的改进型K...
  • 一种动态公式及多同步动态密码...
  • 一种基于量子保密通信技术的配...
  • 基于群组通信的身份认证系统和...
  • 一种基于群组密钥池的Kerb...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1
电子签名生成器相关技术
  • 电子签名生成方法及系统的制作方法
  • 一种电子签名方法及装置的制造方法
  • 电子签名装置及方法
  • 电子装置和电子装置的输入签名处理方法
  • 具有旋转式音频转接器的电子签名设备的制造方法
  • 电子签名系统的制作方法
  • 用于电子签名的电子证据处理方法、系统及动态码服务系统的制作方法
  • 一种新型电子签名记录方法
  • 一种电子签名装置的制造方法
  • 一种耳机孔塞电子签名器的制造方法

哆哆女性网鼠年男宝宝起什么名字好听萱字的起名幻冥界给姓刘男孩起名奥起名的寓意四大养生气功周公解梦同学霸气 的网名女性群聊名字起什么好呢富阳网站建设公司反叛的鲁鲁修第二季给教育起名虞城县全友家居乐平网站建设企业网络整合营销推广培训机遇与挑战作文素材宁波SEO周易风水之家奖状制作网站伤感电台稿子关于责任的个性签名彬字起名的含义起名送货公司起名属猴海底两万里第二十一章读后感餐饮网站建设公司六盘水seo个人签名怎么练中国算命大师机械厂公司名字起名大全淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻不负春光新的一天从800个哈欠开始有个姐真把千机伞做出来了国产伟哥去年销售近13亿充个话费竟沦为间接洗钱工具重庆警方辟谣“男子杀人焚尸”男子给前妻转账 现任妻子起诉要回春分繁花正当时呼北高速交通事故已致14人死亡杨洋拄拐现身医院月嫂回应掌掴婴儿是在赶虫子男孩疑遭霸凌 家长讨说法被踢出群因自嘲式简历走红的教授更新简介网友建议重庆地铁不准乘客携带菜筐清明节放假3天调休1天郑州一火锅店爆改成麻辣烫店19岁小伙救下5人后溺亡 多方发声两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#青海通报栏杆断裂小学生跌落住进ICU代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了当地回应沈阳致3死车祸车主疑毒驾武汉大学樱花即将进入盛花期张立群任西安交通大学校长为江西彩礼“减负”的“试婚人”网友洛杉矶偶遇贾玲倪萍分享减重40斤方法男孩8年未见母亲被告知被遗忘小米汽车超级工厂正式揭幕周杰伦一审败诉网易特朗普谈“凯特王妃P图照”考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼恒大被罚41.75亿到底怎么缴男子持台球杆殴打2名女店员被抓校方回应护栏损坏小学生课间坠楼外国人感慨凌晨的中国很安全火箭最近9战8胜1负王树国3次鞠躬告别西交大师生房客欠租失踪 房东直发愁萧美琴窜访捷克 外交部回应山西省委原副书记商黎光被逮捕阿根廷将发行1万与2万面值的纸币英国王室又一合照被质疑P图男子被猫抓伤后确诊“猫抓病”

哆哆女性网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化