CN107707358A - 一种ec‑kcdsa数字签名生成方法及系统 - Google Patents

一种ec‑kcdsa数字签名生成方法及系统 Download PDF

Info

Publication number
CN107707358A
CN107707358A CN201711035874.0A CN201711035874A CN107707358A CN 107707358 A CN107707358 A CN 107707358A CN 201711035874 A CN201711035874 A CN 201711035874A CN 107707358 A CN107707358 A CN 107707358A
Authority
CN
China
Prior art keywords
kcdsa
ciphertext
digital signature
public key
calculate
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
Application number
CN201711035874.0A
Other languages
English (en)
Other versions
CN107707358B (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.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
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 Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN201711035874.0A priority Critical patent/CN107707358B/zh
Publication of CN107707358A publication Critical patent/CN107707358A/zh
Application granted granted Critical
Publication of CN107707358B publication Critical patent/CN107707358B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/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
    • H04L9/3252Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种EC‑KCDSA数字签名生成方法及系统,通过以下技术方案实现:参加算法生成的两方P1和P2,在集合{1,2,…,q‑1}中随机选取两个整数x,k,P1计算并发给P2,P2同时生成发给P1,P1和P2可以同时计算出签名的验证公钥y=(x1x2)‑1G。P1计算W1=k1G,使用同态加密方法加密k1发送给P2,P2计算W2=k2G返回给P1。P2通过同态加密的性质,可以计算出x2(k‑e)的密文并将此密文发送至P1,P1解密该密文并使用x1计算出签名s,签名验证通过后,P1公布完整的数字签名(r,s)。本发明复杂度低、安全性高、易验证。

Description

一种EC-KCDSA数字签名生成方法及系统
技术领域
本发明属于信息安全技术领域,特别是基于两方共同产生EC-KCDSA数字签名生成方法及系统。
背景技术
数字签名技术作为信息安全领域内的重要技术手段,为其他领域内的许多应用提供着身份认证、数据完整性保护以及数据不可否认性等服务,是在整个信息领域内建立完整的安全机制所不可缺少的基本手段。作为公钥密码体制的重要分支,数字签名方案能够在消息传递过程中实现身份和消息源鉴别、数据完整性和不可否认性等安全属性。
KCDSA(Korean Certificate-based Digital Signature Algorithm韩国证书数字签名算法)是由韩国互联网安全局(KISA)领导的团队创建的数字签名算法。它是一个ElGamal变体,类似于数字签名算法和GOST R 34.10-94。EC-KCDSA是KCDSA在椭圆曲线上的一个标准算法。
在某些重要场合,一份文档需要多人签名来保证数据的安全,比如高机密文档的使用或者电子货币的交易中。对于此类问题,比较常见的解决方法是将用户的私钥分割为多份,将分割后的数据分发给多个参与方,当需要使用私钥进行签名时,t个被分割的数据可以恢复用户的私钥,进而产生签名,如果低于t个参与者,则无法恢复私钥。然而,一旦私钥被恢复,任何单独的一方即可在其他参与方不知晓的情况下产生签名。特别是在两方需要共同签名一个合同或协议的情况下,两方中的一方如果获得了原始的签名私钥,则在不经过对方同意的情况下即可对任意合同进行签名。
本发明设计了一种分布式生成EC-KCDSA数字签名的方案,此方案在两方分布式生成签名的情况下,既能保证签名的正确性,又能保证签名的私钥不被泄露,且生成签名的过程中必须由两方同时参与。
发明内容
本发明的目的是提出两方在不泄漏自己的签名密钥并无法获得完整的签名密钥的情况下完成对消息的签名。
针对本发明的目的,本发明提出了一个两方共同生成EC-KCDSA数字签名的方案,下面给出具体描述。
在以下对本方案的描述中,Z代表一个整数域,p是一个大于3的素数,b mod p表示b模p运算(modulo operation),p是阶为q的椭圆曲线上的点,若P、Q是椭圆曲线群中的元素(点),则P+Q表示P、Q的点加;k·P=P+P+...+P(共有k个P)表示k个椭圆曲线点P的点加,省略号“...”,表示多个同样(类型)的数据项或多个同样的运算;对于零点,以下运算成立:0+Q=Q+0=Q(Q是椭圆曲线上任意的一个点),c-1表示整数c的模n乘法逆(即c(c)-1mod n=1);a⊕b代表a和b两个比特串的异或运算;多个整数相乘(包括整数符号相乘、常数与整数符号相乘),在不产生二义性的情况下,省略掉乘号“·”,如k1·k2简化为k1k2,3·c,简化位3c,h是一个HASH函数。其他规范均对应于“The Korean Certificate-based DigitalSignature Algorithm”文档。
本发明时采用如下技术方案实现的:
一种EC-KCDSA数字签名生成方法,其特征在于,基于定义数字签名时,有两方参与,一方为P1,一方为P2,具体步骤包括:
分布式密钥对生成步骤:两方P1和P2,在集合{1,2,…,q-1}中随机选取两个整数x,k,P1计算并发给P2,P2同时生成发给P1;
分布式EC-KCDSA数字签名生成步骤:P1和P2同时计算出EC-KCDSA数字签名的验证公钥y=(x1x2)-1G。P1计算W1=k1G,使用同态加密方法加密k1发送给P2,P2计算W2=k2G返回给P1。P2通过同态加密的性质,可以计算出x2(k-e)的密文并将此密文发送至P1,P1解密该密文,并利用自己的私钥x1可以计算出签名s,在签名验证通过后,P1公布完整的EC-KCDSA数字签名(r,s)。
在上述的一种EC-KCDSA数字签名生成方法,所述分布式密钥对生成步骤具体包括:
步骤2.1、P1在集合{1,2,…,q-1}中选择第一个部分私钥x1,计算第一部分公钥并把Q1发送给P2,其中q是EC-KCDSA密码运算所使用的椭圆曲线点群的阶,也即EC-KCDSA密码运算所使用的椭圆曲线点群的基点G的阶,点G的坐标表示为(xg,yg)。然后P1产生同态加密算法的一对公私钥(pk,sk),这里要求选择的同态加密算法具有如下性质,明文相加后再加密得到的密文等同于将这些明文分别加密在相乘得到的密文,密文与某个明文的指数运算等同于此密文对应的明文与另一个明文做乘法运算后的密文。在这里我们用Encpk和Decsk分别代表使用公钥pk加密和使用私钥sk解密,定义为c1,c2的明文“加”运算,定义为c1,c2的明文“减”运算,定义a⊙c运算为c中的明文与a做“乘”运算;
步骤2.2、P2收到Q1后,在集合{1,2,…,q-1}中,选择第二个部分私钥x2,计算第二个部分公钥并将Q2发送给P1。P2随后计算EC-KCDSA的目标公钥并保存x2,Q和pk;
步骤2.3、P1在收到Q2后,计算EC-KCDSA的目标公钥并保存x1,Q,pk和sk。
在上述的一种EC-KCDSA数字签名生成方法,所述分布式EC-KCDSA数字签名生成步骤具体包括:
步骤3.1、P1在集合{1,2,…,q-1}中选择第一个临时私钥k1,计算第一个临时公钥W1=k1G,第一个密文C1=Encpk(k1),并发送W1,C1给P2;
步骤3.2、P2收到W1,C1后,在集合{1,2,…,q-1}中随机选择第二个临时私钥k2,计算第二个临时公钥W2=k2G和目标临时公钥W=k2W1=k1k2G,然后计算W的哈希值r=h(W),再通r过计算一个关于消息m的变量e=r⊕h(z||m)。P2选择一个随机的大数ρ,通过同态加密算法计算第二个密文 并将W2,C2发送给P1。
步骤3.3、P1使用自己的私钥sk解密C2得到Decsk(C2)=x2(k1k2-e)mod q,再利用自己的部分私钥x1计算签名的第二部分s=x1·Decsk(C2)=x1x2(k1k2-e)mod q。P1再使用W2计算目标临时公钥W=k1W2=k1k2G,通过W的哈希值算出签名的第一部分r=h(W)。P1验证EC-KCDSA数字签名(r,s),若验证通过则输出(r,s),否则终止协议。
一种EC-KCDSA数字签名生成系统,其特征在于,基于定义数字签名时,有两方参与,一方为P1,一方为P2,具体包括:
分布式密钥对生成单元:两方P1和P2,在集合{1,2,…,q-1}中随机选取两个整数x,k,P1计算并发给P2,P2同时生成发给P1;
分布式EC-KCDSA数字签名生成单元:P1和P2同时计算出EC-KCDSA数字签名的验证公钥y=(x1x2)-1G。P1计算W1=k1G,使用同态加密方法加密k1发送给P2,P2计算W2=k2G返回给P1。P2通过同态加密的性质,可以计算出x2(k-e)的密文并将此密文发送至P1,P1解密该密文,并利用自己的私钥x1可以计算出签名s,在签名验证通过后,P1公布完整的EC-KCDSA数字签名(r,s)。
在上述的一种EC-KCDSA数字签名生成系统,所述分布式密钥对生成单元进行分布式密钥对生成的具体步骤包括:
步骤5.1、P1在集合{1,2,…,q-1}中选择第一个部分私钥x1,计算第一部分公钥并把Q1发送给P2,其中q是EC-KCDSA密码运算所使用的椭圆曲线点群的阶,也即EC-KCDSA密码运算所使用的椭圆曲线点群的基点G的阶,点G的坐标表示为(xg,yg)。然后P1产生同态加密算法的一对公私钥(pk,sk),这里要求选择的同态加密算法具有如下性质,明文相加后再加密得到的密文等同于将这些明文分别加密在相乘得到的密文,密文与某个明文的指数运算等同于此密文对应的明文与另一个明文做乘法运算后的密文。在这里我们用Encpk和Decsk分别代表使用公钥pk加密和使用私钥sk解密,定义为c1,c2的明文“加”运算,定义为c1,c2的明文“减”运算,定义a⊙c运算为c中的明文与a做“乘”运算;
步骤5.2、P2收到Q1后,在集合{1,2,…,q-1}中,选择第二个部分私钥x2,计算第二个部分公钥并将Q2发送给P1。P2随后计算EC-KCDSA的目标公钥并保存x2,Q和pk;
步骤5.3、P1在收到Q2后,计算EC-KCDSA的目标公钥并保存x1,Q,pk和sk。
在上述的一种EC-KCDSA数字签名生成系统,所述分布式EC-KCDSA数字签名生成单元进行分布式EC-KCDSA数字签名的具体步骤具体:
步骤6.1、P1在集合{1,2,…,q-1}中选择第一个临时私钥k1,计算第一个临时公钥W1=k1G,第一个密文C1=Encpk(k1),并发送W1,C1给P2;
步骤6.2、P2收到W1,C1后,在集合{1,2,…,q-1}中随机选择第二个临时私钥k2,计算第二个临时公钥W2=k2G和目标临时公钥W=k2W1=k1k2G,然后计算W的哈希值r=h(W),再通r过计算一个关于消息m的变量e=r⊕h(z||m)。P2选择一个随机的大数ρ,通过同态加密算法计算第二个密文 并将W2,C2发送给P1。
步骤6.3、P1使用自己的私钥sk解密C2得到Decsk(C2)=x2(k1k2-e)mod q,再利用自己的部分私钥x1计算签名的第二部分s=x1·Decsk(C2)=x1x2(k1k2-e)mod q。P1再使用W2计算目标临时公钥W=k1W2=k1k2G,通过W的哈希值算出签名的第一部分r=h(W)。P1验证EC-KCDSA数字签名(r,s),若验证通过则输出(r,s),否则终止协议。
为了使方案的安全性更高,在P1和P2通信中,双方都可以使用零知识证明来证明发送的数据是来自发送方,降低数据被篡改的风险。
本发明与现有技术相比具有如下优点和有益效果:
首先,目前现有的普通的密钥分割或门限秘密分割,虽然能够将私钥进行分割,但是在签名的阶段,私钥会被恢复并被某一方所掌握,这样降低了多方签名的安全性和公平性,持有完整私钥的一方便可以完成签名,不需要全部参与方共同完成签名。
其次,这类分割最终将完整的签名私钥暴露给其中一方,造成了私钥的泄漏,得到完整签名私钥的一方可以在没有其他参与方参与的情况下对其他文件进行签名。
本发明具有实现复杂度低、安全性高、易验证等特点,使用于两方分布式生成EC-KCDSA数字签名,产生签名的过程必须有两方同时参与,生成签名的过程不会泄漏数字签名的原始签名私钥,保证了私钥的安全性,提高了参与方的公平性。
具体实施方式
下面结合实施例对本方案做详细的描述,以下实施方案只表示本发明一种可能的实施方式,不是全部可能的实施方案,不作为对本发明的限定。
在以下对本方案的描述中,Z代表一个整数域,p是一个大于3的素数,b mod p表示b模p运算(modulo operation),p是阶为q的椭圆曲线上的点,若P、Q是椭圆曲线群中的元素(点),则P+Q表示P、Q的点加;k·P=P+P+...+P(共有k个P)表示k个椭圆曲线点P的点加,省略号“...”,表示多个同样(类型)的数据项或多个同样的运算;对于零点,以下运算成立:0+Q=Q+0=Q(Q是椭圆曲线上任意的一个点),c-1表示整数c的模n乘法逆(即c(c)-1mod n=1);a⊕b代表a和b两个比特串的异或运算;多个整数相乘(包括整数符号相乘、常数与整数符号相乘),在不产生二义性的情况下,省略掉乘号“·”,如k1·k2简化为k1k2,3·c,简化位3c,h是一个HASH函数。其他规范均对应于“The Korean Certificate-based DigitalSignature Algorithm”文档。
在本方案中,生成EC-KCDSA数字签名时,有两方共同参与,一方为P1,一方为P2。成EC-KCDSA数字签名,有如下两阶段:
参与生成EC-KCDSA数字签名的两方,首先要分布式生成密钥对,然后分布式生成EC-KCDSA数字签名。在分布式密钥对生成的过程中如下:
1、P1在集合{1,2,…,q-1}中选择第一个部分私钥x1,计算部分公钥并产生一个Q1的零知识证明π0,即证明Q1是由x1正确产生的,其中q是EC-KCDSA密码运算所使用的椭圆曲线点群的阶,也即EC-KCDSA密码运算所使用的椭圆曲线点群的基点G的阶,点G的坐标表示为(xg,yg)。P1把Q10发送给P2,然后P1产生同态加密算法的一对公私钥(pk,sk)。在这里,我们使用Paillier加密算法。Paillier算法具有如下性质,明文相加后再加密得到的密文等同于将这些明文分别加密在相乘得到的密文,密文与某个明文的指数运算等同于此密文对应的明文与另一个明文做乘法运算后的密文。在这里我们用Encpk和Decsk分别代表使用公钥pk加密和使用私钥sk解密,定义为c1,c2的明文“加”运算,定义为c1,c2的明文“减”运算,定义a⊙c运算为c中的明文与a做“乘”运算;
2、P2在验证π0的正确性后,在集合{1,2,…,q-1}中选择第二个部分私钥x2,计算第二个部分公钥并产生一个Q2的零知识证明π1,即证明Q2是由x2正确产生的。P2将Q21发送给P1,随后计算EC-KCDSA的目标公钥并保存x2,Q和pk;
3、P1在收到Q21后,验证π1的正确性,验证通过后计算EC-KCDSA的目标公钥并保存x1,Q和(pk,sk)。在分布式EC-KCDSA数字签名生成的过程中:
1、P1在集合{1,2,…,q-1}中选择第一个临时私钥k1,计算第一个临时公钥W1=k1G,第一个密文C1=Encpk(k1),并生成W1的零知识证明π2(即证明W1是由k1正确产生的),和C1的零知识证明π3(即证明C1是由k1加密得到的),P1发送W1,C123给P2。
2、P2在收到W1,C123验证π23,若验证通过,则P2在集合{1,2,…,q-1}中选择第二个临时私钥k2,计算第二个临时公钥W2=k2G并生成一个关于W2的零知识证明π4,P2再计算目标临时公钥W=k2W1=kG和W的哈希值r=h(W),再通r过计算一个关于消息m的变量e=r⊕h(z||m)。P2选择一个随机的大数ρ,通过Paillier同态加密算法计算第二个密文 并将W2,C24发送给P1。
3、P1验证π4通过后,使用自己的私钥sk解密C2得到Decsk(C2)=x2(k1k2-e)mod q,再通过自己的部分私钥x1计算签名的第二部分s=x1·Decsk(C2)=x1x2(k1k2-e)mod q。P1再使用W2计算目标临时公钥W=k1W2=k1k2G,通过W的哈希值算出签名的第一部分r=h(W)。P1验证EC-KCDSA数字签名(r,s),若验证通过则输出(r,s),否则终止协议。
为了使方案的安全性更高,在P1和P2通信中,双方都可以使用零知识证明来证明发送的数据是来自发送方,降低数据被篡改的风险。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

Claims (6)

1.一种EC-KCDSA数字签名生成方法,其特征在于,基于定义数字签名时,有两方参与,一方为P1,一方为P2,具体步骤包括:
分布式密钥对生成步骤:两方P1和P2,在集合{1,2,…,q-1}中随机选取两个整数x,k,P1计算并发给P2,P2同时生成发给P1;
分布式EC-KCDSA数字签名生成步骤:P1和P2同时计算出EC-KCDSA数字签名的验证公钥y=(x1x2)-1G;P1计算W1=k1G,使用同态加密方法加密k1发送给P2,P2计算W2=k2G返回给P1;P2通过同态加密的性质,计算出x2(k-e)的密文并将此密文发送至P1,P1解密该密文,并利用自己的私钥x1计算出签名s,在签名验证通过后,P1公布完整的EC-KCDSA数字签名(r,s)。
2.根据权利要求1所述的一种EC-KCDSA数字签名生成方法,其特征在于,所述分布式密钥对生成步骤具体包括:
步骤2.1、P1在集合{1,2,…,q-1}中选择第一个部分私钥x1,计算第一部分公钥并把Q1发送给P2,其中q是EC-KCDSA密码运算所使用的椭圆曲线点群的阶,也即EC-KCDSA密码运算所使用的椭圆曲线点群的基点G的阶,点G的坐标表示为(xg,yg);然后P1产生同态加密算法的一对公私钥(pk,sk),这里要求选择的同态加密算法具有如下性质,明文相加后再加密得到的密文等同于将这些明文分别加密在相乘得到的密文,密文与某个明文的指数运算等同于此密文对应的明文与另一个明文做乘法运算后的密文;在这里我们用Encpk和Decsk分别代表使用公钥pk加密和使用私钥sk解密,定义为c1,c2的明文“加”运算,定义为c1,c2的明文“减”运算,定义运算为c中的明文与a做“乘”运算;
步骤2.2、P2收到Q1后,在集合{1,2,…,q-1}中,选择第二个部分私钥x2,计算第二个部分公钥并将Q2发送给P1;P2随后计算EC-KCDSA的目标公钥并保存x2,Q和pk;
步骤2.3、P1在收到Q2后,计算EC-KCDSA的目标公钥并保存x1,Q,pk和sk。
3.根据权利要求1所述的一种EC-KCDSA数字签名生成方法,其特征在于,所述分布式EC-KCDSA数字签名生成步骤具体包括:
步骤3.1、P1在集合{1,2,…,q-1}中选择第一个临时私钥k1,计算第一个临时公钥W1=k1G,第一个密文C1=Encpk(k1),并发送W1,C1给P2;
步骤3.2、P2收到W1,C1后,在集合{1,2,…,q-1}中随机选择第二个临时私钥k2,计算第二个临时公钥W2=k2G和目标临时公钥W=k2W1=k1k2G,然后计算W的哈希值r=h(W),再通r过计算一个关于消息m的变量P2选择一个随机的大数ρ,通过同态加密算法计算第二个密文 并将W2,C2发送给P1;
步骤3.3、P1使用自己的私钥sk解密C2得到Decsk(C2)=x2(k1k2-e)mod q,再利用自己的部分私钥x1计算签名的第二部分s=x1·Decsk(C2)=x1x2(k1k2-e mod q;P1再使用W2计算目标临时公钥W=k1W2=k1k2G,通过W的哈希值算出签名的第一部分r=h(W);P1验证EC-KCDSA数字签名(r,s),若验证通过则输出(r,s),否则终止协议。
4.一种EC-KCDSA数字签名生成系统,其特征在于,基于定义数字签名时,有两方参与,一方为P1,一方为P2,具体包括:
分布式密钥对生成单元:两方P1和P2,在集合{1,2,…,q-1}中随机选取两个整数x,k,P1计算并发给P2,P2同时生成发给P1;
分布式EC-KCDSA数字签名生成单元:P1和P2同时计算出EC-KCDSA数字签名的验证公钥y=(x1x2)-1G;P1计算W1=k1G,使用同态加密方法加密x1和k1发送给P2,P2计算W2=k2G返回给P1;P2通过同态加密的性质,计算出x2(k-e)的密文并将此密文发送至P1,P1解密该密文,并利用自己的私钥x1计算出签名s,在签名验证通过后,P1公布完整的EC-KCDSA数字签名(r,s)。
5.根据权利要求1所述的一种EC-KCDSA数字签名生成系统,其特征在于,所述分布式密钥对生成单元进行分布式密钥对生成的具体步骤包括:
步骤5.1、P1在集合{1,2,…,q-1}中选择第一个部分私钥x1,计算第一部分公钥并把Q1发送给P2,其中q是EC-KCDSA密码运算所使用的椭圆曲线点群的阶,也即EC-KCDSA密码运算所使用的椭圆曲线点群的基点G的阶,点G的坐标表示为(xg,yg);然后P1产生同态加密算法的一对公私钥(pk,sk),这里要求选择的同态加密算法具有如下性质,明文相加后再加密得到的密文等同于将这些明文分别加密在相乘得到的密文,密文与某个明文的指数运算等同于此密文对应的明文与另一个明文做乘法运算后的密文;在这里我们用Encpk和Decsk分别代表使用公钥pk加密和使用私钥sk解密,定义为c1,c2的明文“加”运算,定义为c1,c2的明文“减”运算,定义运算为c中的明文与a做“乘”运算;
步骤5.2、P2收到Q1后,在集合{1,2,…,q-1}中,选择第二个部分私钥x2,计算第二个部分公钥并将Q2发送给P1;P2随后计算EC-KCDSA的目标公钥并保存x2,Q和pk;
步骤5.3、P1在收到Q2后,计算EC-KCDSA的目标公钥并保存x1,Q,pk和sk。
6.根据权利要求1所述的一种EC-KCDSA数字签名生成系统,其特征在于,所述分布式EC-KCDSA数字签名生成单元进行分布式EC-KCDSA数字签名的具体步骤具体:
步骤6.1、P1在集合{1,2,…,q-1}中选择第一个临时私钥k1,计算第一个临时公钥W1=k1G,第一个密文C1=Encpk(k1),并发送W1,C1给P2;
步骤6.2、P2收到W1,C1后,在集合{1,2,…,q-1}中随机选择第二个临时私钥k2,计算第二个临时公钥W2=k2G和目标临时公钥W=k2W1=k1k2G,然后计算W的哈希值r=h(W),再通r过计算一个关于消息m的变量P2选择一个随机的大数ρ,通过同态加密算法计算第二个密文 并将W2,C2发送给P1;
步骤6.3、P1使用自己的私钥sk解密C2得到Decsk(C2)=x2(k1k2-e)mod q,再利用自己的部分私钥x1计算签名的第二部分s=x1·Decsk(C2)=x1x2(k1k2-e mod q;P1再使用W2计算目标临时公钥W=k1W2=k1k2G,通过W的哈希值算出签名的第一部分r=h(W);P1验证EC-KCDSA数字签名(r,s),若验证通过则输出(r,s),否则终止协议。
CN201711035874.0A 2017-10-30 2017-10-30 一种ec-kcdsa数字签名生成方法及系统 Active CN107707358B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711035874.0A CN107707358B (zh) 2017-10-30 2017-10-30 一种ec-kcdsa数字签名生成方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711035874.0A CN107707358B (zh) 2017-10-30 2017-10-30 一种ec-kcdsa数字签名生成方法及系统

Publications (2)

Publication Number Publication Date
CN107707358A true CN107707358A (zh) 2018-02-16
CN107707358B CN107707358B (zh) 2019-12-24

Family

ID=61176923

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711035874.0A Active CN107707358B (zh) 2017-10-30 2017-10-30 一种ec-kcdsa数字签名生成方法及系统

Country Status (1)

Country Link
CN (1) CN107707358B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108667626A (zh) * 2018-07-20 2018-10-16 陕西师范大学 安全的两方协作sm2签名方法
CN108667627A (zh) * 2018-07-20 2018-10-16 武汉大学 基于两方协同的sm2数字签名方法
WO2018225053A1 (en) * 2017-06-07 2018-12-13 Bar-Ilan University Digital signing by utilizing multiple distinct signing keys, distributed between two parties
CN109660361A (zh) * 2019-02-27 2019-04-19 武汉大学 一种对称环境下多方联合生成sm9数字签名的方法
CN109728910A (zh) * 2018-12-27 2019-05-07 北京永恒纪元科技有限公司 一种高效的门限分布式椭圆曲线密钥生成及签名方法和系统
CN110011803A (zh) * 2019-02-27 2019-07-12 武汉大学 一种轻量级sm2两方协同生成数字签名的方法
CN110061847A (zh) * 2019-04-04 2019-07-26 西安电子科技大学 密钥分布式生成的数字签名方法
CN110061828A (zh) * 2019-04-04 2019-07-26 西安电子科技大学 无可信中心的分布式数字签名方法
CN110399735A (zh) * 2019-06-21 2019-11-01 深圳壹账通智能科技有限公司 加密数据大小关系证明方法、装置、设备及存储介质
CN111010268A (zh) * 2019-11-15 2020-04-14 珠海数字动力科技股份有限公司 基于时间线的动态密码算法
CN111224783A (zh) * 2019-11-26 2020-06-02 复旦大学 一种支持密钥刷新的两方椭圆曲线数字签名算法
WO2020181822A1 (zh) * 2019-03-12 2020-09-17 平安科技(深圳)有限公司 加密数据一致性校验方法、装置、计算机设备及存储介质
CN112131596A (zh) * 2020-09-30 2020-12-25 北京海泰方圆科技股份有限公司 加解密方法、设备及存储介质
CN112417489A (zh) * 2020-12-04 2021-02-26 矩阵元技术(深圳)有限公司 数字签名的生成方法、装置和服务器
CN111447065B (zh) * 2019-01-16 2021-03-09 中国科学院软件研究所 一种主动安全的sm2数字签名两方生成方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1946020A (zh) * 2006-10-11 2007-04-11 武汉大学 安全高效率的椭圆曲线加解密参数
CN101252431A (zh) * 2007-09-06 2008-08-27 广州信睿网络科技有限公司 一种通用的数字签名方案的实现方法
CN101441693A (zh) * 2008-11-25 2009-05-27 西安理工大学 基于椭圆曲线对电子文档数字签名的安全保护方法
US20130013916A1 (en) * 2003-10-28 2013-01-10 Certicom Corp. Method and Apparatus for Verifiable Generation of Public Keys
CN103248478A (zh) * 2013-05-08 2013-08-14 天津大学 基于多方安全协议的密封式电子拍卖方案与验证方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130013916A1 (en) * 2003-10-28 2013-01-10 Certicom Corp. Method and Apparatus for Verifiable Generation of Public Keys
CN1946020A (zh) * 2006-10-11 2007-04-11 武汉大学 安全高效率的椭圆曲线加解密参数
CN101252431A (zh) * 2007-09-06 2008-08-27 广州信睿网络科技有限公司 一种通用的数字签名方案的实现方法
CN101441693A (zh) * 2008-11-25 2009-05-27 西安理工大学 基于椭圆曲线对电子文档数字签名的安全保护方法
CN103248478A (zh) * 2013-05-08 2013-08-14 天津大学 基于多方安全协议的密封式电子拍卖方案与验证方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
何德彪等: "Note on ‘Design of improved password authentication and update", 《MATHEMATICAL AND COMPUTER MODELLING》 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018225053A1 (en) * 2017-06-07 2018-12-13 Bar-Ilan University Digital signing by utilizing multiple distinct signing keys, distributed between two parties
CN108667626A (zh) * 2018-07-20 2018-10-16 陕西师范大学 安全的两方协作sm2签名方法
CN108667627A (zh) * 2018-07-20 2018-10-16 武汉大学 基于两方协同的sm2数字签名方法
CN108667627B (zh) * 2018-07-20 2021-05-11 武汉大学 基于两方协同的sm2数字签名方法
CN109728910A (zh) * 2018-12-27 2019-05-07 北京永恒纪元科技有限公司 一种高效的门限分布式椭圆曲线密钥生成及签名方法和系统
CN111447065B (zh) * 2019-01-16 2021-03-09 中国科学院软件研究所 一种主动安全的sm2数字签名两方生成方法
CN110011803B (zh) * 2019-02-27 2020-10-30 武汉大学 一种轻量级sm2两方协同生成数字签名的方法
CN110011803A (zh) * 2019-02-27 2019-07-12 武汉大学 一种轻量级sm2两方协同生成数字签名的方法
CN109660361B (zh) * 2019-02-27 2020-11-24 武汉大学 一种对称环境下多方联合生成sm9数字签名的方法
CN109660361A (zh) * 2019-02-27 2019-04-19 武汉大学 一种对称环境下多方联合生成sm9数字签名的方法
WO2020181822A1 (zh) * 2019-03-12 2020-09-17 平安科技(深圳)有限公司 加密数据一致性校验方法、装置、计算机设备及存储介质
CN110061828A (zh) * 2019-04-04 2019-07-26 西安电子科技大学 无可信中心的分布式数字签名方法
CN110061847A (zh) * 2019-04-04 2019-07-26 西安电子科技大学 密钥分布式生成的数字签名方法
CN110061847B (zh) * 2019-04-04 2021-05-04 西安电子科技大学 密钥分布式生成的数字签名方法
CN110399735A (zh) * 2019-06-21 2019-11-01 深圳壹账通智能科技有限公司 加密数据大小关系证明方法、装置、设备及存储介质
CN111010268A (zh) * 2019-11-15 2020-04-14 珠海数字动力科技股份有限公司 基于时间线的动态密码算法
CN111224783A (zh) * 2019-11-26 2020-06-02 复旦大学 一种支持密钥刷新的两方椭圆曲线数字签名算法
CN112131596A (zh) * 2020-09-30 2020-12-25 北京海泰方圆科技股份有限公司 加解密方法、设备及存储介质
CN112131596B (zh) * 2020-09-30 2021-11-09 北京海泰方圆科技股份有限公司 加解密方法、设备及存储介质
CN112417489A (zh) * 2020-12-04 2021-02-26 矩阵元技术(深圳)有限公司 数字签名的生成方法、装置和服务器

Also Published As

Publication number Publication date
CN107707358B (zh) 2019-12-24

Similar Documents

Publication Publication Date Title
CN107707358A (zh) 一种ec‑kcdsa数字签名生成方法及系统
CN107733648B (zh) 一种基于身份的rsa数字签名生成方法及系统
CN107579819B (zh) 一种sm9数字签名生成方法及系统
CN107947913B (zh) 一种基于身份的匿名认证方法与系统
CN108667627B (zh) 基于两方协同的sm2数字签名方法
CN108667625B (zh) 协同sm2的数字签名方法
CN107659395B (zh) 一种多服务器环境下基于身份的分布式认证方法及系统
CN110545279A (zh) 兼具隐私和监管功能的区块链交易方法、装置及系统
CN110138567B (zh) 一种基于ecdsa的协同签名方法
CN110120939B (zh) 一种基于异构系统的可否认认证的加密方法和系统
CN107682151B (zh) 一种gost数字签名生成方法及系统
WO2009143713A1 (zh) 双因子组合公钥生成和认证方法
CN110011803B (zh) 一种轻量级sm2两方协同生成数字签名的方法
CN104767612A (zh) 一种从无证书环境到公钥基础设施环境的签密方法
JP2013539295A (ja) メッセージ復元を伴うデジタル署名の認証された暗号化
CN106936584B (zh) 一种无证书公钥密码系统的构造方法
CN109547199B (zh) 一种多方联合生成sm2数字签名的方法
US9088419B2 (en) Keyed PV signatures
US20140321642A1 (en) Group encryption methods and devices
CN107968710A (zh) Sm9数字签名分离交互生成方法及系统
KR20030062401A (ko) 겹선형쌍을 이용한 개인식별정보 기반의 은닉서명 장치 및방법
CN104767611A (zh) 一种从公钥基础设施环境到无证书环境的签密方法
CN107888380A (zh) 一种两方分布式基于身份的rsa数字签名生成方法与系统
CN113300856A (zh) 一种可证安全的异构混合签密方法
López-García et al. A pairing-based blind signature e-voting scheme

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