CN107682151B - 一种gost数字签名生成方法及系统 - Google Patents

一种gost数字签名生成方法及系统 Download PDF

Info

Publication number
CN107682151B
CN107682151B CN201711040478.7A CN201711040478A CN107682151B CN 107682151 B CN107682151 B CN 107682151B CN 201711040478 A CN201711040478 A CN 201711040478A CN 107682151 B CN107682151 B CN 107682151B
Authority
CN
China
Prior art keywords
key
signature
public key
gost
sent
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
CN201711040478.7A
Other languages
English (en)
Other versions
CN107682151A (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 CN201711040478.7A priority Critical patent/CN107682151B/zh
Publication of CN107682151A publication Critical patent/CN107682151A/zh
Application granted granted Critical
Publication of CN107682151B publication Critical patent/CN107682151B/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/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/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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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

Landscapes

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

Abstract

本发明涉及一种GOST数字签名分布式生成方法及系统,通过以下技术方案实现:P1和P2两方参加算法生成,P1和P2在集合{1,2,...,q‑1}中随机选取d和k,P1计算Q1=d1P并发给P2,P2同时生成Q2=d2P发给P1,P1和P2可以同时计算出验证公钥Q=d1d2P。P1计算R1=k1P,使用同态加密方法加密d1和k1发送给P2,P2计算R2=k2P返回给P1。P2通过同态加密的性质,可以计算出rd1d2+ek1k2的密文并将此密文发送至P1,P1解密该密文,并计算签名的第一部分r,在签名验证通过后公布完整的签名(r,s)。本发明复杂度低、安全性高、易验证。

Description

一种GOST数字签名生成方法及系统
技术领域
本发明属于信息安全技术领域,特别是基于两方共同产生GOST数字签名生成方法及系统。
背景技术
数字签名是伴随着信息网络技术的发展而出现的一种安全保障技术,目的就是通过技术手段实现传统的纸面签字或者盖章的功能,用于鉴定签名人的身份以及对一项电子数据内容的认可。它还能验证出文件的原文在传输过程中有无变动,确保传输电子文件的完整性、真实性和不可抵赖性。数字签名是公钥密码体系中重要的一部分,在很多场合有着重要的作用。
GOST标准最初是由苏联政府制定的,作为其国家标准化战略的一部分。苏联解体后,GOST标准获得了区域标准的新地位。它们现在由独立国家联合体颁发的标准化组织欧洲标准化计量和认证委员会(EASC)管理。目前,GOST标准的收集包括12个国家的合格评定活动中广泛使用的2万多种标题。作为独立国家联合体(CIS)的政府和私营部门认证计划的监管基础,GOST标准涵盖能源,石油和天然气,环境保护,建筑,运输,电信,采矿,食品加工等行业。俄罗斯,白俄罗斯,摩尔多瓦,哈萨克斯坦,阿塞拜疆,亚美尼亚,吉尔吉斯斯坦,乌兹别克斯坦,塔吉克斯坦,格鲁吉亚和土库曼斯坦,以上国家除了采用国家制定的标准外,还采用了全部或部分GOST标准。
在某些重要场合,一份文档需要多人签名来保证数据的安全,比如高机密文档的使用或者电子货币的交易中。对于此类问题,比较常见的解决方法是将用户的私钥分割为多份,将分割后的数据分发给多个参与方,当需要使用私钥进行签名时,t个被分割的数据可以恢复用户的私钥,进而产生签名,如果低于t个参与者,则无法恢复私钥。然而,一旦私钥被恢复,任何单独的一方即可在其他参与方不知晓的情况下产生签名。特别是在两方需要共同签名一个合同或协议的情况下,两方中的一方如果获得了原始的签名私钥,则在不经过对方同意的情况下即可对任意合同进行签名。
本发明设计了一种分布式生成GOST数字签名的方案,此方案在两方分布式生成签名的情况下,既能保证签名的正确性,又能保证签名的私钥不被泄露,且生成签名的过程中必须由两方同时参与。
发明内容
本发明的目的是提出两方在不泄漏自己的签名密钥并无法获得完整的签名密钥的情况下完成对消息的签名。
针对本发明的目的,本发明提出了一个两方共同生成GOST数字签名的方案,下面给出具体描述。
在以下对本方案的描述中,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);多个整数相乘(包括整数符号相乘、常数与整数符号相乘),在不产生二义性的情况下,省略掉乘号“·”,如k1·k2简化为k1k2,3·c,简化位3c。其他规范均对应于“GOST R34.10-2001:Digital Signature Algorithm”文档。
本发明时采用如下技术方案实现的:
一种GOST数字签名生成方法,其特征在于,包括:
分布式密钥对生成步骤:P1和P2两方参加算法生成,P1在集合{1,2,...,q-1}中随机选取私钥d1和随机数k1,P2在集合{1,2,...,q-1}中随机选取私钥d2和随机数k2,P1计算Q1=d1P并发给P2,P2同时生成Q2=d2P发给P1,
分布式GOST数字签名生成步骤:P1和P2可以同时计算出GOST数字签名的验证公钥Q=d1d2P。P1计算R1=k1P,使用同态加密方法加密d1和k1发送给P2,P2计算R2=k2P返回给P1。P2通过同态加密的性质,可以计算出rd1d2+ek1k2的密文并将此密文发送至P1,P1解密该密文,并计算签名的第一部分r,在签名验证通过后,P1公布完整的GOST数字签名(r,s)
在上述的一种GOST数字签名生成方法,所述分布式密钥对生成步骤具体包括:
步骤2.1、P1在集合{1,2,…,q-1}中选择第一个部分私钥d1,首先计算第一个部分公钥Q1=d1P,同时P1对Q1产生一个零知识证明π0,即证明d1是正确生成的。P1产生一个同态加密的公私钥对(pk,sk),在这里使用Paillier加密算法,加密d1,得到d1的密文Ckey=Encpk(d1)和(Encpk代表使用公钥pk加密,输出一个加密后的密文),并生成对Ckey的零知识证明π1,即证明Ckey是d1的合法密文,并将Q1,Ckey01发送给P2。
步骤2.2、P2在验证π0和π1的正确性后,在集合{1,2,...,q-1}中选择第二个部分私钥d2,计算第二个部分公钥Q2=d2P,和Q2的零知识证明π2并将Q22发送给P1。P2计算出目标公钥Q=d2Q1=d1d2P,保存d2,Q,Ckey和pk。
步骤2.3、P1计算目标公钥Q=d1Q2=d1d2P,并保存d1,Q,pk和sk。
在上述的一种GOST数字签名生成方法,分布式GOST数字签名生成步骤具体包括:
步骤3.1、P1首先在集合{1,2,…,q-1}中选择第一个临时私钥k1,计算第一个临时公钥R1=k1P和k1的密文Cran=Encpk(k1),同时生成对R1的零知识证明π3和对Cran的零知识证明π4,即证明R1是由k1正确生成的,Cran是由k1正确加密得到的。P1将R1,Cran34发送给P2。
步骤3.2、P2在收到R1,Cran34验证π34,若验证通过则P2在集合{1,2,...,q-1}中选择第二个临时私钥k2,计算第二个临时公钥R2=k2P并生成对R2的零知识证明π5。P2通过R的x坐标xR计算签名的第一部分r=xRmod q,选择一个足够大的数ρ,再使用Ckey和Cran计算密文
Figure BDA0001451351540000041
即C1=Encpk(ρ·q+rd1d2+ek1k2)。P2计算目标临时公钥R=k2R1并将C1,R25发送给P1。
步骤3.3、P1验证π5通过后,计算出目标临时公钥R=k1R2。P1使用自己的私钥sk对C1进行解密运算Decsk(C1)=rd1d2+ek1k2mod q。解密得到的结果rd1d2+ek1k2mod q即等于签名中第二部分s。P1再使用R的x坐标xR计算签名的第一部分r=xRmod q,此时P1使用目标公钥Q验证签名(r,s)的正确性,若签名正确则输出签名,否则终止协议。
一种GOST数字签名生成系统,其特征在于,包括:
分布式密钥对生成单元:P1和P2两方参加算法生成,P1在集合{1,2,...,q-1}中随机选取私钥d1和随机数k1,P2在集合{1,2,...,q-1}中随机选取私钥d2和随机数k2,P1计算Q1=d1P并发给P2,P2同时生成Q2=d2P发给P1,
分布式GOST数字签名生成单元:P1和P2同时计算出GOST数字签名的验证公钥Q=d1d2P。P1计算R1=k1P,使用同态加密方法加密d1和k1发送给P2,P2计算R2=k2P返回给P1。P2通过同态加密的性质,可以计算出rd1d2+ek1k2的密文并将此密文发送至P1,P1解密该密文,并计算签名的第一部分r,在签名验证通过后,P1公布完整的GOST数字签名(r,s)
在上述的一种GOST数字签名生成系统,所述分布式密钥对生成单元进行分布式密钥对生成的具体方法包括:
步骤2.1、P1在集合{1,2,…,q-1}中选择第一个部分私钥d1,首先计算第一个部分公钥Q1=d1P,同时P1对Q1产生一个零知识证明π0,即证明d1是正确生成的。P1产生一个同态加密的公私钥对(pk,sk),在这里使用Paillier加密算法,加密d1,得到d1的密文Ckey=Encpk(d1)和(Encpk代表使用公钥pk加密,输出一个加密后的密文),并生成对Ckey的零知识证明π1,即证明Ckey是d1的合法密文,并将Q1,Ckey01发送给P2。
步骤2.2、P2在验证π0和π1的正确性后,在集合{1,2,...,q-1}中选择第二个部分私钥d2,计算第二个部分公钥Q2=d2P,和Q2的零知识证明π2并将Q22发送给P1。P2计算出目标公钥Q=d2Q1=d1d2P,保存d2,Q,Ckey和pk。
步骤2.3、P1计算目标公钥Q=d1Q2=d1d2P,并保存d1,Q,pk和sk。
在上述的一种GOST数字签名生成系统,分布式GOST数字签名生成单元进行分布式GOST数字签名生成的具体方法包括:
步骤3.1、P1首先在集合{1,2,…,q-1}中选择第一个临时私钥k1,计算第一个临时公钥R1=k1P和k1的密文Cran=Encpk(k1),同时生成对R1的零知识证明π3和对Cran的零知识证明π4,即证明R1是由k1正确生成的,Cran是由k1正确加密得到的。P1将R1,Cran34发送给P2。
步骤3.2、P2在收到R1,Cran34验证π34,若验证通过则P2在集合{1,2,...,q-1}中选择第二个临时私钥k2,计算第二个临时公钥R2=k2P并生成对R2的零知识证明π5。P2通过R的x坐标xR计算签名的第一部分r=xRmod q,选择一个足够大的数ρ,再使用Ckey和Cran计算密文
Figure BDA0001451351540000061
即C1=Encpk(ρ·q+rd1d2+ek1k2)。P2计算目标临时公钥R=k2R1并将C1,R25发送给P1。
步骤3.3、P1验证π5通过后,计算出目标临时公钥R=k1R2。P1使用自己的私钥sk对C1进行解密运算Decsk(C1)=rd1d2+ek1k2mod q。解密得到的结果rd1d2+ek1k2mod q即等于签名中第二部分s。P1再使用R的x坐标xR计算签名的第一部分r=xRmod q,此时P1使用目标公钥Q验证签名(r,s)的正确性,若签名正确则输出签名,否则终止协议。
本发明与现有技术相比具有如下优点和有益效果:首先,目前现有的普通的密钥分割或门限秘密分割,虽然能够将密钥进行分割,但是在签名的阶段,私钥会被恢复并被某一方所掌握,这样降低了多方签名的安全性和公平性,持有私钥的一方便可以完成签名,不需要全部参与方共同完成签名。其次,这类分割最终将完整的签名私钥暴露给其中一方,造成了私钥的泄漏,得到完整签名密钥的一方可以在没有其他参与方参与的情况下对其他文件进行签名。本发明实现了两方分布式生成GOST数字签名的功能,不仅要求生成签名时,两方必须同时参与,同时保证了签名私钥的安全性。
具体实施方式
下面结合实施例对本方案做详细的描述,以下实施方案只表示本发明一种可能的实施方式,不是全部可能的实施方案,不作为对本发明的限定。
对于本方案,需要签名的用户P1和P2的计算装置(如个人电脑、移动通信设备)共同产生GOST数字签名。P1和P2首先要分布式生成密钥对,然后分布式生成GOST数字签名。分布式密钥对生成的过程中如下:
1、P1在集合{1,2,…,q-1}中选择第一个部分私钥d1,首先计算第一个部分公钥Q1=d1P,同时P1对Q1产生一个零知识证明π0,即证明d1是正确生成的。P1产生一个同态加密的公私钥对(pk,sk),在这里使用Paillier加密算法,加密d1,得到d1的密文Ckey=Encpk(d1)和(Encpk代表使用公钥pk加密,输出一个加密后的密文),并生成对Ckey的零知识证明π1,即证明Ckey是d1的合法密文,并将Q1,Ckey01发送给P2。
2、P2在验证π0和π1的正确性后,在集合{1,2,...,q-1}中选择第二个部分私钥d2,计算第二个部分公钥Q2=d2P,和Q2的零知识证明π2并将Q22发送给P1。P2计算出目标公钥Q=d2Q1=d1d2P,保存d2,Q,Ckey和pk。
3、P1计算目标公钥Q=d1Q2=d1d2P,并保存d1,Q,pk和sk。
在分布式GOST数字签名生成的过程中:
1、P1首先在集合{1,2,…,q-1}中选择第一个临时私钥k1,计算第一个临时公钥R1=k1P和k1的密文Cran=Encpk(k1),同时生成对R1的零知识证明π3和对Cran的零知识证明π4,即证明R1是由k1正确生成的,Cran是由k1正确加密得到的。P1将R1,Cran34发送给P2。
2、P2在收到R1,Cran34验证π34,若验证通过则P2在集合{1,2,...,q-1}中选择第二个临时私钥k2,计算第二个临时公钥R2=k2P并生成对R2的零知识证明π5。P2通过R的x坐标xR计算签名的第一部分r=xRmod q,选择一个足够大的数ρ,再使用Ckey和Cran计算密文
Figure BDA0001451351540000081
即C1=Encpk(ρ·q+rd1d2+ek1k2)。P2计算目标临时公钥R=k2R1并将C1,R25发送给P1。
3、P1验证π5通过后,计算出目标临时公钥R=k1R2。P1使用自己的私钥sk对C1进行解密运算Decsk(C1)=rd1d2+ek1k2mod q。解密得到的结果rd1d2+ek1k2mod q即等于签名中第二部分s。P1再使用R的x坐标xR计算签名的第一部分r=xRmod q,此时P1使用目标公钥Q验证签名(r,s)的正确性,若签名正确则输出签名,否则终止协议。
为了是方案的安全性更高,在P1和P2通信中,双方都可以使用零知识证明来证明发送的数据是来自发送方,降低数据被篡改的风险。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

Claims (2)

1.一种GOST数字签名生成方法,其特征在于,包括:
分布式密钥对生成步骤:P1和P2两方参加算法生成,P1在集合{1,2,...,q-1}中随机选取私钥d1和随机数k1,P2在集合{1,2,...,q-1}中随机选取私钥d2和随机数k2,P1计算Q1=d1P并发给P2,P2同时生成Q2=d2P发给P1;
分布式GOST数字签名生成步骤:P1和P2可以同时计算出GOST数字签名的验证公钥Q=d1d2P;P1计算R1=k1P,使用同态加密方法加密d1和k1发送给P2,P2计算R2=k2P返回给P1;P2通过同态加密的性质,可以计算出rd1d2+ek1k2的密文并将此密文发送至P1,P1解密该密文,并计算签名的第一部分r,在签名验证通过后,P1公布完整的GOST数字签名(r,s);
所述分布式密钥对生成步骤具体包括:
步骤2.1、P1在集合{1,2,…,q-1}中选择第一个部分私钥d1,首先计算第一个部分公钥Q1=d1P,同时P1对Q1产生一个零知识证明π0,即证明d1是正确生成的;P1产生一个同态加密的公私钥对(pk,sk),在这里使用Paillier加密算法,加密d1,得到d1的密文Ckey=Encpk(d1),并生成对Ckey的零知识证明π1,即证明Ckey是d1的合法密文,并将Q1,Ckey01发送给P2;
步骤2.2、P2在验证π0和π1的正确性后,在集合{1,2,...,q-1}中选择第二个部分私钥d2,计算第二个部分公钥Q2=d2P,和Q2的零知识证明π2并将Q22发送给P1;P2计算出目标公钥Q=d2Q1=d1d2P,保存d2,Q,Ckey和pk;
步骤2.3、P1计算目标公钥Q=d1Q2=d1d2P,并保存d1,Q,pk和sk;
分布式GOST数字签名生成步骤具体包括:
步骤3.1、P1首先在集合{1,2,…,q-1}中选择第一个临时私钥k1,计算第一个临时公钥R1=k1P和k1的密文Cran=Encpk(k1),同时生成对R1的零知识证明π3和对Cran的零知识证明π4,即证明R1是由k1正确生成的,Cran是由k1正确加密得到的;P1将R1,Cran34发送给P2;
步骤3.2、P2在收到R1,Cran34后验证π34,若验证通过则P2在集合{1,2,...,q-1}中选择第二个临时私钥k2,计算第二个临时公钥R2=k2P并生成对R2的零知识证明π5;P1通过R的x坐标xR计算签名的第一部分r=xRmod q,选择一个大的数ρ,再使用Ckey和Cran计算密文
Figure FDA0002822481470000021
即C1=Encpk(ρ·q+rd1d2+ek1k2);P2计算目标临时公钥R=k2R1并将C1,R25发送给P1;
步骤3.3、P1验证π5通过后,计算出目标临时公钥R=k1R2;P1使用自己的私钥sk对C1进行解密运算Decsk(C1)=rd1d2+ek1k2mod q;解密得到的结果rd1d2+ek1k2mod q即等于签名中第二部分s;P1再使用R的x坐标xR计算签名的第一部分r=xRmod q,此时P1使用目标公钥Q验证签名(r,s)的正确性,若签名正确则输出签名,否则终止协议。
2.一种GOST数字签名生成系统,其特征在于,包括:
分布式密钥对生成单元:P1和P2两方参加算法生成,P1在集合{1,2,...,q-1}中随机选取私钥d1和随机数k1,P2在集合{1,2,...,q-1}中随机选取私钥d2和随机数k2,P1计算Q1=d1P并发给P2,P2同时生成Q2=d2P发给P1,
分布式GOST数字签名生成单元:P1和P2同时计算出GOST数字签名的验证公钥Q=d1d2P;P1计算R1=k1P,使用同态加密方法加密d1和k1发送给P2,P2计算R2=k2P返回给P1;P2通过同态加密的性质,可以计算出rd1d2+ek1k2的密文并将此密文发送至P1,P1解密该密文,并计算签名的第一部分r,在签名验证通过后,P1公布完整的GOST数字签名(r,s);
所述分布式密钥对生成单元进行分布式密钥对生成的具体方法包括:
步骤2.1、P1在集合{1,2,…,q-1}中选择第一个部分私钥d1,首先计算第一个部分公钥Q1=d1P,同时P1对Q1产生一个零知识证明π0,即证明d1是正确生成的;P1产生一个同态加密的公私钥对(pk,sk),在这里使用Paillier加密算法,加密d1,得到d1的密文Ckey=Encpk(d1),并生成对Ckey的零知识证明π1,即证明Ckey是d1的合法密文,并将Q1,Ckey01发送给P2;
步骤2.2、P2在验证π0和π1的正确性后,在集合{1,2,...,q-1}中选择第二个部分私钥d2,计算第二个部分公钥Q2=d2P,和Q2的零知识证明π2并将Q22发送给P1;P2计算出目标公钥Q=d2Q1=d1d2P,保存d2,Q,Ckey和pk;
步骤2.3、P1计算目标公钥Q=d1Q2=d1d2P,并保存d1,Q,pk和sk;
分布式GOST数字签名生成单元进行分布式GOST数字签名生成的具体方法包括:
步骤3.1、P1首先在集合{1,2,…,q-1}中选择第一个临时私钥k1,计算第一个临时公钥R1=k1P和k1的密文Cran=Encpk(k1),同时生成对R1的零知识证明π3和对Cran的零知识证明π4,即证明R1是由k1正确生成的,Cran是由k1正确加密得到的;P1将R1,Cran34发送给P2;
步骤3.2、P2在收到R1,Cran34后验证π34,若验证通过则P2在集合{1,2,...,q-1}中选择第二个临时私钥k2,计算第二个临时公钥R2=k2P并生成对R2的零知识证明π5;P1通过R的x坐标xR计算签名的第一部分r=xRmod q,选择一个大的数ρ,再使用Ckey和Cran计算密文
Figure FDA0002822481470000041
即C1=Encpk(ρ·q+rd1d2+ek1k2);P2计算目标临时公钥R=k2R1并将C1,R25发送给P1;
步骤3.3、P1验证π5通过后,计算出目标临时公钥R=k1R2;P1使用自己的私钥sk对C1进行解密运算Decsk(C1)=rd1d2+ek1k2mod q;解密得到的结果rd1d2+ek1k2mod q即等于签名中第二部分s;P1再使用R的x坐标xR计算签名的第一部分r=xRmod q,此时P1使用目标公钥Q验证签名(r,s)的正确性,若签名正确则输出签名,否则终止协议。
CN201711040478.7A 2017-10-30 2017-10-30 一种gost数字签名生成方法及系统 Active CN107682151B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711040478.7A CN107682151B (zh) 2017-10-30 2017-10-30 一种gost数字签名生成方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711040478.7A CN107682151B (zh) 2017-10-30 2017-10-30 一种gost数字签名生成方法及系统

Publications (2)

Publication Number Publication Date
CN107682151A CN107682151A (zh) 2018-02-09
CN107682151B true CN107682151B (zh) 2021-02-02

Family

ID=61143689

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711040478.7A Active CN107682151B (zh) 2017-10-30 2017-10-30 一种gost数字签名生成方法及系统

Country Status (1)

Country Link
CN (1) CN107682151B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108964906B (zh) * 2018-07-19 2021-05-28 数安时代科技股份有限公司 协同ecc的数字签名方法
CN108667625B (zh) * 2018-07-19 2021-09-24 数安时代科技股份有限公司 协同sm2的数字签名方法
CN108667627B (zh) * 2018-07-20 2021-05-11 武汉大学 基于两方协同的sm2数字签名方法
CN108667626B (zh) * 2018-07-20 2020-03-03 陕西师范大学 安全的两方协作sm2签名方法
CN109474422B (zh) * 2018-11-19 2021-07-02 武汉大学 一种多方协同产生sm2数字签名的方法
CN111447065B (zh) * 2019-01-16 2021-03-09 中国科学院软件研究所 一种主动安全的sm2数字签名两方生成方法
CN110011781B (zh) * 2019-03-04 2020-05-19 华中科技大学 用于交易金额加密且支持零知识证明的同态加密方法和介质
CN110135909A (zh) * 2019-05-15 2019-08-16 山东工商学院 基于零知识证明的数据处理方法、系统、设备及存储介质
CN111340489B (zh) * 2020-02-21 2023-11-14 数据通信科学技术研究所 可监管的交易接收者保护方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1946020A (zh) * 2006-10-11 2007-04-11 武汉大学 安全高效率的椭圆曲线加解密参数
CN1953374A (zh) * 2006-09-21 2007-04-25 中国船舶重工集团公司第七○九研究所 移动自组织网络中用于分布式身份认证的安全引导模型
CN104639329A (zh) * 2015-02-02 2015-05-20 浙江大学 基于椭圆曲线码的用户身份相互认证方法
CN106506156A (zh) * 2016-12-15 2017-03-15 北京三未信安科技发展有限公司 一种基于椭圆曲线的分布式门限签名方法
CN106851635A (zh) * 2016-12-15 2017-06-13 北京三未信安科技发展有限公司 一种基于身份的分布式签名方法及系统
CN107017993A (zh) * 2017-04-01 2017-08-04 北京江南天安科技有限公司 一种多方联合密钥产生和数字签名方法及系统
CN107124274A (zh) * 2017-05-18 2017-09-01 深圳奥联信息安全技术有限公司 基于sm2的数字签名方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120100046A (ko) * 2011-03-02 2012-09-12 삼성전자주식회사 분산 환경 네트워크에서 컨텐츠의 접근 제어를 위한 장치 및 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1953374A (zh) * 2006-09-21 2007-04-25 中国船舶重工集团公司第七○九研究所 移动自组织网络中用于分布式身份认证的安全引导模型
CN1946020A (zh) * 2006-10-11 2007-04-11 武汉大学 安全高效率的椭圆曲线加解密参数
CN104639329A (zh) * 2015-02-02 2015-05-20 浙江大学 基于椭圆曲线码的用户身份相互认证方法
CN106506156A (zh) * 2016-12-15 2017-03-15 北京三未信安科技发展有限公司 一种基于椭圆曲线的分布式门限签名方法
CN106851635A (zh) * 2016-12-15 2017-06-13 北京三未信安科技发展有限公司 一种基于身份的分布式签名方法及系统
CN107017993A (zh) * 2017-04-01 2017-08-04 北京江南天安科技有限公司 一种多方联合密钥产生和数字签名方法及系统
CN107124274A (zh) * 2017-05-18 2017-09-01 深圳奥联信息安全技术有限公司 基于sm2的数字签名方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Note on ‘Design of improved password authentication and update scheme based on elliptic curve cryptography’";何德彪 等;《Mathematical and Computer Modelling》;20120229;第1661-1664页 *

Also Published As

Publication number Publication date
CN107682151A (zh) 2018-02-09

Similar Documents

Publication Publication Date Title
CN107682151B (zh) 一种gost数字签名生成方法及系统
CN107707358B (zh) 一种ec-kcdsa数字签名生成方法及系统
CN108667626B (zh) 安全的两方协作sm2签名方法
CN109274503B (zh) 分布式协同签名方法及分布式协同签名装置、软盾系统
CN107634836B (zh) 一种sm2数字签名生成方法及系统
CN107733648B (zh) 一种基于身份的rsa数字签名生成方法及系统
CN107579819B (zh) 一种sm9数字签名生成方法及系统
CN107947913B (zh) 一种基于身份的匿名认证方法与系统
CN108199835B (zh) 一种多方联合私钥解密方法
CN110138567B (zh) 一种基于ecdsa的协同签名方法
US9800418B2 (en) Signature protocol
CN106713336B (zh) 基于双重非对称加密技术的电子数据保管系统及方法
CN109639439B (zh) 一种基于两方协同的ecdsa数字签名方法
CN110011803B (zh) 一种轻量级sm2两方协同生成数字签名的方法
CN104767612A (zh) 一种从无证书环境到公钥基础设施环境的签密方法
CN114157427A (zh) 基于sm2数字签名的门限签名方法
CN111654366B (zh) 一种安全的pki与ibc之间的双向异构强指定验证者签名方法
CN104767611A (zh) 一种从公钥基础设施环境到无证书环境的签密方法
CN103297230B (zh) 信息加解密方法、装置及系统
CN113300856A (zh) 一种可证安全的异构混合签密方法
CN111355582A (zh) 基于sm2算法的两方联合签名和解密的方法及系统
US20150006900A1 (en) Signature protocol
US10530581B2 (en) Authenticated broadcast encryption
CN114726546A (zh) 数字身份认证方法、装置、设备和存储介质
CN108055134B (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