CN111817848B - 一种ecc私钥分段存储的ecdsa签名方法及*** - Google Patents

一种ecc私钥分段存储的ecdsa签名方法及*** Download PDF

Info

Publication number
CN111817848B
CN111817848B CN202010563126.5A CN202010563126A CN111817848B CN 111817848 B CN111817848 B CN 111817848B CN 202010563126 A CN202010563126 A CN 202010563126A CN 111817848 B CN111817848 B CN 111817848B
Authority
CN
China
Prior art keywords
client
server
signature
private key
session data
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
CN202010563126.5A
Other languages
English (en)
Other versions
CN111817848A (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.)
Tianjin Yingdaxin Technology Co ltd
Original Assignee
Tianjin Yingdaxin Technology Co ltd
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 Tianjin Yingdaxin Technology Co ltd filed Critical Tianjin Yingdaxin Technology Co ltd
Priority to CN202010563126.5A priority Critical patent/CN111817848B/zh
Publication of CN111817848A publication Critical patent/CN111817848A/zh
Application granted granted Critical
Publication of CN111817848B publication Critical patent/CN111817848B/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种ECC私钥分段存储的ECDSA签名方法及***。本方法包括两个子算法:公私钥对生成子算法和数字签名子算法;第一步公私钥对生成子算法:客户端随机生成客户端私钥因子,并生成对应的公钥因子,发送给服务器端;第二步数字签名子算法:针对明文消息,所述的客户端计算明文消息的数字摘要,并生成对该明文消息数字摘要的签名会话数据,即客户端签名会话数据,并将所述的客户端签名会话数据发送至所述的服务器;本发明用于ECC私钥分段存储的ECDSA签名方法。

Description

一种ECC私钥分段存储的ECDSA签名方法及***
技术领域:
本发明涉及一种ECC私钥分段存储的ECDSA签名方法及***。
背景技术:
椭圆曲线密码学(Elliptic curve cryptography,ECC)是一种公钥密码算法,可以实现加解密和数字签名验签等密码运算,其中的签名算法标准是椭圆曲线数字签名算法ECDSA。
在ECC中,私钥是其核心,一旦私钥发生泄漏,将丧失安全性。为保护私钥安全,部分方案提出将智能卡芯片中的SM2私钥分成两部分,两方协同计算才能对消息实现签名运算,运算双方均无法获取对方部分私钥的任何信息以及ECC私钥的任何信息,即使任何一方被攻击者掌控,都无法伪造签名。
但是,在目前的实现方案中,有的方案交互步骤较多,性能较差,有的方案使用了零知识证明、同态加密等复杂的密码运算,效率较低。
发明内容:
本发明的目的是提供一种效率更高的一种ECC私钥分段存储的ECDSA签名方法及***。
上述的目的通过以下的技术方案实现:
一种ECC私钥分段存储的ECDSA签名方法,本方法包括两个子算法:公私钥对生成子算法和数字签名子算法;
第一步公私钥对生成子算法:
客户端随机生成客户端私钥因子,并生成对应的公钥因子,发送给服务器端;
所述的服务器接收所述的客户端发来的客户端公钥因子,随机生成服务器端私钥因子,并基于客户端公钥因子以及预设的基点,生成最终代表客户端身份的公钥;
第二步数字签名子算法:
针对明文消息,所述的客户端计算明文消息的数字摘要,并生成对该明文消息数字摘要的签名会话数据,即客户端签名会话数据,并将所述的客户端签名会话数据发送至所述的服务器;
所述的服务器接收到所述的客户端发来的签名会话数据,基于所述的客户端签名会话数据和所述的服务器私钥因子,生成服务器端签名会话数据,并将服务器端签名会话数据发送给所述的客户端;
所述的客户端收到服务器端签名会话数据,基于客户端私钥因子及所述的服务器端签名会话数据,生成所述的明文消息的椭圆曲线数字签名算法ECDSA数字签名。
所述的一种ECC私钥分段存储的ECDSA签名方法,客户端与服务器端按照以下流程随机生成各自的私钥因子和相关数据,并最终生成代表客户端A的公钥:
C1:客户端A随机生成d1∈[1,n-1];
C2:客户端A计算P1=[d1]G;
C3:客户端A将P1发送给服务器端;
S1:服务器端随机生成d2∈[1,n-1],d3∈[1,n-1];
S2:服务器端计算:PA=[d2]P1+[d3]G,并公开PA
所述的一种ECC私钥分段存储的ECDSA签名方法,客户端与服务器端对消息m执行以下流程,并最终生成对消息m的椭圆曲线数字签名算法ECDSA数字签名(r,s):
C4:客户端A对消息m做Hash运算,计算e=H(m);
C5:客户端A随机生成整数k1∈[1,n-1],计算Q1=[k1]G,Q1为椭圆曲线上的点;
C6:客户端A将(e,Q1)作为客户端签名会话数据发送给服务器端;
S3:服务器端收到客户端签名会话数据(e,Q1),随机生成k2∈[1,n-1],k3∈[1,n-1];
S4:服务器端计算Q2=[k2]G,Q'=[k2]Q1=(x1',y1'),其中Q'为椭圆曲线上的点,其坐标为(x1',y1'),并计算r'=x1'mod n;
S5:服务器端计算
Figure BDA0002546847920000031
S6:服务器端将(Q2,s1,s2)作为服务器端的签名会话数据发送给客户端;
C7:客户端A收到(Q2,s1,s2)后,计算Q=[k1]Q2=(x1,y1),其中Q为椭圆曲线上的点,其坐标为(x1,y1),并计算r=x1 mod n;
C8:客户端A计算
Figure BDA0002546847920000032
则(r,s)为消息m的ECDSA数字签名。
有益效果:
1.本发明通过将ECC私钥分成两部分,其中一部分在客户端,一部分在服务器端,客户端与服务器端均不知道对方的私钥因子,同时均不能计算出对应的ECC私钥,通过双方按照指定的流程运算,能够实现ECDSA签名,从而有效保护ECC的私钥安全。
2.本发明不使用零知识证明、同态密码等复杂的密码运算,效率更高。
附图说明:
附图1是本发明的算法流程图。
具体实施方式:
下面将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
实施例1:
一种ECC私钥分段存储的ECDSA签名方法,本方法包括两个子算法:公私钥对生成子算法和数字签名子算法;
第一步公私钥对生成子算法:
客户端随机生成客户端私钥因子,并生成对应的公钥因子,发送给服务器端;
所述的服务器接收所述的客户端发来的客户端公钥因子,随机生成服务器端私钥因子,并基于客户端公钥因子以及预设的基点,生成最终代表客户端身份的公钥;
第二步数字签名子算法:
针对明文消息,所述的客户端计算明文消息的数字摘要,并生成对该明文消息数字摘要的签名会话数据,即客户端签名会话数据,并将所述的客户端签名会话数据发送至所述的服务器;
所述的服务器接收到所述的客户端发来的签名会话数据,基于所述的客户端签名会话数据和所述的服务器私钥因子,生成服务器端签名会话数据,并将服务器端签名会话数据发送给所述的客户端;
所述的客户端收到服务器端签名会话数据,基于客户端私钥因子及所述的服务器端签名会话数据,生成所述的明文消息的椭圆曲线数字签名算法ECDSA数字签名。
其中,在椭圆曲线密码学中,使用到的***参数为椭圆曲线E(Fp)、G和n,其中E(Fp)(p是一个大素数)为定义在有限域Fp上的椭圆曲线E,定义在Fp上的椭圆曲线方程为y2=x3+ax+b,其中a,b∈Fp,且(4a3+27b2)modp≠0,其中G为椭圆曲线的一个基点,n为基点G的阶,[夸]G表示大数夸与点G的乘法运算。
实施例2:
实施例1所述的一种ECC私钥分段存储的ECDSA签名方法,客户端与服务器端按照以下流程随机生成各自的私钥因子和相关数据,并最终生成代表客户端A的公钥:
C1:客户端A随机生成d1∈[1,n-1];
C2:客户端A计算P1=[d1]G;
C3:客户端A将P1发送给服务器端;
S1:服务器端随机生成d2∈[1,n-1],d3∈[1,n-1];
S2:服务器端计算:PA=[d2]P1+[d3]G,并公开PA
实施例3:
实施例1所述的一种ECC私钥分段存储的ECDSA签名方法,客户端与服务器端对消息m执行以下流程,并最终生成对消息m的椭圆曲线数字签名算法ECDSA数字签名(r,s):
C4:客户端A对消息m做Hash运算,计算e=H(m);
C5:客户端A随机生成整数k1∈[1,n-1],计算Q1=[k1]G,Q1为椭圆曲线上的点;
C6:客户端A将(e,Q1)作为客户端签名会话数据发送给服务器端;
S3:服务器端收到客户端签名会话数据(e,Q1),随机生成k2∈[1,n-1],k3∈[1,n-1];
S4:服务器端计算Q2=[k2]G,Q'=[k2]Q1=(x1',y1'),其中Q'为椭圆曲线上的点,其坐标为(x1',y1'),并计算r'=x1'mod n;
S5:服务器端计算
Figure BDA0002546847920000051
S6:服务器端将(Q2,s1,s2)作为服务器端的签名会话数据发送给客户端;
C7:客户端A收到(Q2,s1,s2)后,计算Q=[k1]Q2=(x1,y1),其中Q为椭圆曲线上的点,其坐标为(x1,y1),并计算r=x1 mod n;
C8:客户端A计算
Figure BDA0002546847920000052
则(r,s)为消息m的ECDSA数字签名。

Claims (1)

1.一种ECC私钥分段存储的ECDSA签名方法,其特征是: 本方法包括两个子算法:公私钥对生成子算法和数字签名子算法;
第一步公私钥对生成子算法:
客户端随机生成客户端私钥因子,并生成对应的公钥因子,发送给服务器端;
所述的服务器接收所述的客户端发来的客户端公钥因子,随机生成服务器端私钥因子,并基于客户端公钥因子以及预设的基点,生成最终代表客户端身份的公钥;
第二步数字签名子算法:
针对明文消息,所述的客户端计算明文消息的数字摘要,并生成对该明文消息数字摘要的签名会话数据,即客户端签名会话数据,并将所述的客户端签名会话数据发送至所述的服务器;
所述的服务器接收到所述的客户端发来的签名会话数据,基于所述的客户端签名会话数据和所述的服务器私钥因子,生成服务器端签名会话数据,并将服务器端签名会话数据发送给所述的客户端;
所述的客户端收到服务器端签名会话数据,基于客户端私钥因子及所述的服务器端签名会话数据,生成所述的明文消息的椭圆曲线数字签名算法ECDSA数字签名;
客户端与服务器端按照以下流程随机生成各自的私钥因子和相关数据,并最终生成代表客户端A的公钥:
C1:客户端A随机生成d1∈[1 ,n-1];
C2:客户端A计算P1=[d1]G;
C3:客户端A将P1发送给服务器端;
S1:服务器端随机生成d2∈[1 ,n-1],d3∈[1 ,n-1];
S2:服务器端计算:PA=[d2]P1+[d3]G,并公开PA
客户端与服务器端对消息m执行以下流程,并最终生成对消息m的椭圆曲线数字签名算法ECDSA数字签名(r,s):
C4:客户端A对消息m做Hash运算,计算e=H(m);
C5:客户端A随机生成整数k1∈[1 ,n-1],计算Q1=[k1]G,Q1为椭圆曲线上的点;
C6:客户端A将(e ,Q1)作为客户端签名会话数据发送给服务器端;
S3:服务器端收到客户端签名会话数据(e ,Q1),随机生成k2∈[1 ,n-1],k3∈[1 ,n-1];
S4:服务器端计算Q2=[k2]G,Q '=[k2]Q1=(x1 ',y1 '),其中Q '为椭圆曲线上的点,其坐标为(x1 ',y1 '),并计算r '=x1 'mod n;
S5:服务器端计算
Figure 620617DEST_PATH_IMAGE001
S6:服务器端将(Q2 ,s1 ,s2)作为服务器端的签名会话数据发送给客户端;
C7:客户端A收到(Q2 ,s1 ,s2)后,计算Q=[k1]Q2=(x1 ,y1),其中Q为椭圆曲线上的点,其坐
标为(x1 ,y1),并计算r=x1 mod n;
C8:客户端A计算
Figure 741020DEST_PATH_IMAGE002
,则(r ,s)为消息m的ECDSA数字签名。
CN202010563126.5A 2020-06-19 2020-06-19 一种ecc私钥分段存储的ecdsa签名方法及*** Active CN111817848B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010563126.5A CN111817848B (zh) 2020-06-19 2020-06-19 一种ecc私钥分段存储的ecdsa签名方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010563126.5A CN111817848B (zh) 2020-06-19 2020-06-19 一种ecc私钥分段存储的ecdsa签名方法及***

Publications (2)

Publication Number Publication Date
CN111817848A CN111817848A (zh) 2020-10-23
CN111817848B true CN111817848B (zh) 2023-01-17

Family

ID=72846223

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010563126.5A Active CN111817848B (zh) 2020-06-19 2020-06-19 一种ecc私钥分段存储的ecdsa签名方法及***

Country Status (1)

Country Link
CN (1) CN111817848B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2937484B1 (fr) * 2008-10-22 2011-06-17 Paycool Int Ltd Procede de signature numerique en deux etapes
CN107370599B (zh) * 2017-08-07 2020-07-10 收付宝科技有限公司 一种远程销毁私钥的管理方法、装置和***
CN107483212B (zh) * 2017-08-15 2021-04-30 武汉信安珞珈科技有限公司 一种双方协作生成数字签名的方法
CN109246129B (zh) * 2018-10-12 2020-12-25 天津赢达信科技有限公司 一种可验证客户端身份的sm2协同签名方法及***
CN110138567B (zh) * 2019-05-22 2021-11-26 广州安研信息科技有限公司 一种基于ecdsa的协同签名方法

Also Published As

Publication number Publication date
CN111817848A (zh) 2020-10-23

Similar Documents

Publication Publication Date Title
CN108667626B (zh) 安全的两方协作sm2签名方法
CN110120939B (zh) 一种基于异构***的可否认认证的加密方法和***
CN107733648B (zh) 一种基于身份的rsa数字签名生成方法及***
CN110830236B (zh) 基于全域哈希的身份基加密方法
CN110138567B (zh) 一种基于ecdsa的协同签名方法
CN107483191B (zh) 一种sm2算法密钥分割签名***及方法
US9800418B2 (en) Signature protocol
CN110113150B (zh) 基于无证书环境的可否认认证的加密方法和***
CN109951292B (zh) 精简的sm9数字签名分离交互生成方法及***
CN112118111A (zh) 一种适用于门限计算的sm2数字签名方法
CN115174056B (zh) 一种基于sm9签名的变色龙签名生成方法及装置
US20150006900A1 (en) Signature protocol
CN114448641A (zh) 一种隐私加密方法、电子设备、存储介质以及芯片
CN114726546A (zh) 数字身份认证方法、装置、设备和存储介质
CN108055134B (zh) 椭圆曲线点数乘及配对运算的协同计算方法及***
CN117879833A (zh) 一种基于改进椭圆曲线的数字签名生成方法
CN110798313B (zh) 基于秘密动态共享的包含秘密的数的协同生成方法及***
Liu et al. Identity-based threshold proxy signature from bilinear pairings
CN111817848B (zh) 一种ecc私钥分段存储的ecdsa签名方法及***
Ahirwal et al. Signcryption scheme that utilizes elliptic curve for both encryption and signature generation
CN112511310B (zh) 一种加密身份盲签名的混淆方法
CN111740837A (zh) 一种基于sm9的分布式签名方法及***
CN115174052B (zh) 一种基于sm9签名的适配器签名生成方法及装置
CN109150545B (zh) 基于ECC的(m,N)门限群签名方法
CN115174054B (zh) 一种基于sm9签名的无证书签名生成方法及装置

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
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Room 903, 904, East Tower, Building 5, No. 22, Kaihua Road, Huayuan Industrial Zone, Binhai, Tianjin, 300000

Patentee after: TIANJIN YINGDAXIN TECHNOLOGY CO.,LTD.

Address before: 300000 202, building C07, north of Fuyuan Road, development zone, Wuqing District, Tianjin

Patentee before: TIANJIN YINGDAXIN TECHNOLOGY CO.,LTD.