CN107483212A - 一种双方协作生成数字签名的方法 - Google Patents

一种双方协作生成数字签名的方法 Download PDF

Info

Publication number
CN107483212A
CN107483212A CN201710694673.5A CN201710694673A CN107483212A CN 107483212 A CN107483212 A CN 107483212A CN 201710694673 A CN201710694673 A CN 201710694673A CN 107483212 A CN107483212 A CN 107483212A
Authority
CN
China
Prior art keywords
equipment
information
signature
elliptic curve
point
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
CN201710694673.5A
Other languages
English (en)
Other versions
CN107483212B (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 ARGUSEC TECHNOLOGY CO LTD
Beijing Infosec Technologies Co Ltd
Original Assignee
WUHAN ARGUSEC TECHNOLOGY CO LTD
Beijing Infosec Technologies 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 WUHAN ARGUSEC TECHNOLOGY CO LTD, Beijing Infosec Technologies Co Ltd filed Critical WUHAN ARGUSEC TECHNOLOGY CO LTD
Priority to CN201710694673.5A priority Critical patent/CN107483212B/zh
Publication of CN107483212A publication Critical patent/CN107483212A/zh
Application granted granted Critical
Publication of CN107483212B publication Critical patent/CN107483212B/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
    • 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/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

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

本发明公开了一种双方协作生成数字签名的方法,包括:第一设备产生随机数k1∈[1,n‑1],根据ECC算法计算椭圆曲线上的点R1=k1*G,并将待签名消息m、椭圆曲线上的点R1打包发送给第二设备,第二设备产生随机数k2∈[1,n‑1],根据ECC算法计算椭圆曲线上的点R2=k2*G,利用其第二私钥d2对待签名消息进行签名,以生成第一签名信息S1,并将S1和R2打包发送给第一设备,第一设备利用其第一私钥d1对待签名消息和第一签名信息S1的组合进行数字签名,以生成完整签名信息S。本发明能够解决现有方法中存在的数字签名安全性较低的技术问题,用户需要随身携带硬件安全设备导致用户成本高、使用复杂度高的技术问题。

Description

一种双方协作生成数字签名的方法
技术领域
本发明属于信息安全领域,更具体地,涉及一种双方协作生成数字签名的方法。
背景技术
目前,业务系统多采用基于数字证书的公钥基础架构(Public KeyInfrastructure,简称PKI)系统来保障业务数据安全,数字证书是由自建认证实体(Certificate Authority,简称CA)或第三方CA签发的,以数字证书为核心的公钥密码机制可以对网络上传输的信息进行加密和解密、数字签名和验证,确保网络上传递消息的机密性、完整性以及交易实体的真实性,签名的不可否认性,从而保障网络应用的安全性。
在以数字证书为核心的PKI系统中,数字签名由客户端调用用户数字证书对应的私钥来独立计算完成。常用的数字签名算法包括RSA签名算法和椭圆曲线数字签名算法,其中椭圆曲线数字签名算法包括国际上使用最广泛的椭圆曲线数字签名算法(EllipticCurve Digital Signature Algorithm,简称ECDSA)和中国国家密码标准的SM2数字签名算法。
然而,现有的数字签名算法存在以下问题:
第一,由于现有方法是通过单独一方参与生成数字签名,会导致数字签名安全性较低;
第二,数字证书对应的用户私钥由用户生成,并由用户保管,容易被黑客窃取;为了保障用户私钥的安全,现在通行的做法是使用专门的安全硬件设备譬如智能卡、U盾、智能密钥设备等来存储和保护用户私钥,但是这就要求用户必须随身携带相应的硬件安全设备才能完成数字签名操作,既增加了用户使用的成本,也增加了用户使用的复杂度。
第三,现有方法无法针对SM2或ECDSA数字签名算法提供相应的两方协作生成数字签名的机制,从而导致其应用范围较窄。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种客户端和服务端协作生成数字签名的方法,其目的在于,解决现有方法中存在的由于单独一方生成签名导致数字签名安全性较低的技术问题,用户需要随身携带硬件安全设备导致用户成本高、使用复杂度高的技术问题,以及由于不能针对SM2或ECDSA数字签名算法提供相应的两方协作生成数字签名的机制而导致的应用范围较窄的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种双方协作生成数字签名的方法,其特征在于,包括以下步骤:
(1)第一设备产生随机数k1∈[1,n-1],根据ECC算法计算椭圆曲线上的点R1=k1*G,并将待签名消息m、椭圆曲线上的点R1打包发送给第二设备,其中n为椭圆曲线的阶,G为椭圆曲线基点,*为椭圆曲线点乘运算。
(2)第二设备产生随机数k2∈[1,n-1],根据ECC算法计算椭圆曲线上的点R2=k2*G,利用其第二私钥d2对待签名消息进行签名,以生成第一签名信息S1,并将S1和R2打包发送给第一设备。
(3)第一设备利用其第一私钥d1对待签名消息和第一签名信息S1的组合进行数字签名,以生成完整签名信息S。
按照本发明的另一方面,提供了一种双方协作生成数字签名的方法,其特征在于,包括以下步骤:
(1)第一设备产生随机数k1∈[1,n-1],根据ECC算法计算椭圆曲线上的点R1=k1*G,根据第一设备的同态加密公钥获取第一密文信息Ck=Encpk(k1),并将待签名消息m、点R1、以及第一密文信息Ck打包发送给第二设备,其中n为椭圆曲线的阶,G为椭圆曲线基点,*为椭圆曲线点乘运算,Enc为同态加密算法,pk为第一设备的同态加密公钥;
(2)第二设备产生随机数k2∈[1,n-1],根据ECC算法计算椭圆曲线上的点R2=k2*G,利用其第二私钥d2对待签名消息进行签名,以生成第一签名信息S1,并将S1和R2打包发送给第一设备;
(3)第一设备利用其第一私钥d1对待签名消息和第一签名信息S1的组合进行数字签名,以生成完整签名信息S。
优选地,步骤(2)中第二设备利用第二私钥d2对待签名消息进行签名,以生成第一签名信息S1的过程包括如下子步骤:
(2-1)第二设备根据随机数k2和椭圆曲线上的点R1计算椭圆曲线上的点R=k2*R1=(rx,ry),其中rx和ry分别为椭圆曲线点R的横坐标和纵坐标。
(2-2)第二设备根据SM2签名算法预处理规则对待签名消息进行预处理,以得到杂凑值e,并根据杂凑值e获取完整签名信息的第一分量r=(e+rx)mod n;
(2-3)第二设备根据其第二私钥d2和完整签名信息的第一分量r计算第二密文信息C1=Encpk(d2 -1·r);
(2-4)第二设备根据随机数k2及其第二私钥d2获取中间值v=k2·d2 -1,根据v和第一密文信息Ck获取第三密文信息C2=v⊙Ck,并根据第三密文信息和第二密文信息获取第一签名信息其中⊙为同态乘运算,为同态加运算。
优选地,步骤(2)中第二设备利用第二私钥d2对待签名消息进行签名,以生成第一签名信息S1的过程包括如下子步骤:
(2-1)第二设备根据随机数k2和椭圆曲线上的点R1计算椭圆曲线上的点R=k2*R1=(rx,ry),其中rx和ry分别为椭圆曲线点R的横坐标和纵坐标。
(2-2)第二设备根据SM2签名算法预处理规则对待签名消息进行预处理,以得到杂凑值e,并根据杂凑值e获取完整签名信息的第一分量r=(e+rx)mod n;
(2-3)第二设备产生随机数ρ,使用该随机数、第二私钥d2以及r获取第二密文信息:C1=Encpk(ρ·n+d2 -1·r);
(2-4)第二设备根据随机数k2及其第二私钥d2获取中间值v=k2·d2 -1,根据v和第一密文信息Ck获取第三密文信息C2=v⊙Ck,并根据第三密文信息和第二密文信息获取第一签名信息其中⊙为同态乘运算,为同态加运算。
优选地,步骤(3)具体包括以下子步骤:
(3-1)第一设备根据第一设备的同态解密私钥sk和第一签名信息S1获取解密结果s′=Decsk(S1),其中Dec为与同态加密算法Enc对应的同态解密算法。
(3-2)第一设备根据解密结果s′、其第一私钥d1以及完整签名信息的第一分量r获取完整签名信息的第二分量s=d1 -1·s′-r;
(3-3)第一设备根据完整签名信息的第一分量s和第二分量r生成完整签名信息S=(r,s)。
优选地,所述方法进一步包括在步骤(1)之前,第一设备验证签名用户的授权验证信息,如果验证通过则进入下一步骤,否则过程结束的步骤。
优选地,所述方法进一步包括在步骤(1)之后、步骤(2)之前,第二设备验证签名用户的授权验证信息,如果验证通过则进入步骤(2),否则过程结束的步骤。
优选地,授权验证信息包括签名用户的静态密码数据,和/或其生理特征数据,和/或其行为特征数据,对于静态密码数据的获取,是通过保存密钥用户录入的静态密码数据来实现,对于生理特征数据和行为特征数据的获取,是通过采集密钥用户的生理特征数据和行为特征数据来实现。
优选地,所述方法进一步包括在步骤(2)之后、步骤(3)之前,第一设备对收到的数字签名信息S1进行验证,以判断该数字签名信息S1是否为第二设备生成的数字签名,验证通过则进入步骤(3),否则过程结束的步骤。
优选地,第一私钥d1可以是在密钥建立阶段由第一设备随机生成并保存,或者第一设备通过执行密钥派生函数生成,或者第一设备直接从外部导入并保存,第二私钥d2可以是在密钥建立阶段由第二设备随机生成并保存,或者第二设备通过执行密钥派生函数生成,或者第二设备直接从外部导入并保存。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
1、本发明的方法由于采用了两个设备同时生成和保存用户的部分私钥,任意一方均不能合成用户的完整私钥,从而保证了用户私钥的安全性,即使一方密钥被黑客窃取,黑客也不能恢复出完整密钥,从而增加了用户签名的安全性;
2、本发明的方法由于采用了两个设备同时参与签名运算流程,用户私钥的两个分散部分只在满足条件下参与运算,生成部分签名,任意一方均不能生成完整的签名,从而进一步保证了用户签名的安全性。
3、本发明用户完整私钥分散保存,任意一方不需要专门的硬件安全设备来保存密钥,从而降低了用户的使用成本和复杂度。
4、本发明针对SM2或ECDSA数字签名算法提供了相应的两方协作生成数字签名的机制,应用范围广。
附图说明
图1是根据本发明一种实施方式的双方协作生成数字签名的方法的流程图。
图2是根据本发明另一种实施方式的双方协作生成数字签名的方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,根据本发明一种实施方式的双方协作生成数字签名的方法包括以下步骤:
(2)第一设备产生随机数k1∈[1,n-1],根据椭圆曲线算法(Elliptic curvecryptography,简称ECC)计算椭圆曲线上的点R1=k1*G,并将待签名消息m、椭圆曲线上的点R1打包发送给第二设备,其中n为椭圆曲线的阶,G为椭圆曲线基点,*为椭圆曲线点乘运算。
具体而言,本发明中的第一设备,可以是客户端,诸如桌面电脑(Desktopcomputer)、笔记本(Laptop)、智能手机(Smart phone)等,也可以是服务端,例如服务器等。
(2)第二设备产生随机数k2∈[1,n-1],根据ECC算法计算椭圆曲线上的点R2=k2*G,利用其第二私钥d2对待签名消息进行签名,以生成第一签名信息S1,并将S1和R2打包发送给第一设备。
具体而言,本发明中的第二设备,可以是客户端,诸如桌面电脑(Desktopcomputer)、笔记本(Laptop)、智能手机(Smart phone)等,也可以是服务端,例如服务器等,当第一设备是客户端时,第二设备是服务端,当第一设备是服务端时,第二设备是客户端。
第二私钥d2可以是在密钥建立阶段由第二设备随机生成并保存,或者第二设备通过执行密钥派生函数生成,或者第二设备直接从外部导入并保存。
(3)第一设备利用其第一私钥d1对待签名消息和第一签名信息S1的组合进行数字签名,以生成完整签名信息S。
具体而言,第一私钥d1可以是在密钥建立阶段由第一设备随机生成并保存,或者第一设备通过执行密钥派生函数生成,或者第一设备直接从外部导入并保存。
作为本发明的进一步改进,本发明的方法还可以包括在上述步骤(1)之前的如下步骤:
(1’)第一设备验证签名用户的授权验证信息,如果验证通过则进入下一步骤,否则过程结束。
授权验证信息包括签名用户的静态密码数据,和/或其生理特征数据,和/或其行为特征数据,对于静态密码数据的获取,是通过保存密钥用户录入的静态密码数据来实现,对于生理特征数据和行为特征数据的获取,是通过采集密钥用户的生理特征数据和行为特征数据来实现。
作为本发明的进一步改进,本发明的方法还可以包括在上述步骤(1)之后,步骤(2)之前的以下步骤:
(2’)第二设备验证签名用户的授权验证信息,如果验证通过则进入步骤(2),否则过程结束。
授权验证信息包括签名用户的静态密码数据,和/或其生理特征数据,和/或其行为特征数据,对于静态密码数据的获取,是通过保存密钥用户录入的静态密码数据来实现,对于生理特征数据和行为特征数据的获取,是通过采集密钥用户的生理特征数据和行为特征数据来实现。
作为本发明的进一步改进,本发明的方法还可以包括在上述步骤(2)之后,步骤(3)之前的以下步骤:
(3’)第一设备对收到的数字签名信息S1进行验证,以判断该数字签名信息S1是否为第二设备生成的数字签名,验证通过则进入步骤(3),否则过程结束。
如图2所示,根据本发明另一种实施方式的双方协作生成数字签名的方法包括以下步骤:
(1)第一设备产生随机数k1∈[1,n-1],根据ECC算法计算椭圆曲线上的点R1=k1*G,根据第一设备的同态加密公钥获取第一密文信息Ck=Encpk(k1),并将待签名消息m、点R1、以及第一密文信息Ck打包发送给第二设备,其中n为椭圆曲线的阶,G为椭圆曲线基点,*为椭圆曲线点乘运算,Enc为同态加密算法,pk为第一设备的同态加密公钥;
具体而言,本发明中的第一设备,可以是客户端,诸如桌面电脑(Desktopcomputer)、笔记本(Laptop)、智能手机(Smart phone)等,也可以是服务端,例如服务器等。
(2)第二设备产生随机数k2∈[1,n-1],根据ECC算法计算椭圆曲线上的点R2=k2*G,利用其第二私钥d2对待签名消息进行签名,以生成第一签名信息S1,并将S1和R2打包发送给第一设备。
具体而言,本发明中的第二设备,可以是客户端,诸如桌面电脑(Desktopcomputer)、笔记本(Laptop)、智能手机(Smart phone)等,也可以是服务端,例如服务器等,当第一设备是客户端时,第二设备是服务端,当第一设备是服务端时,第二设备是客户端。
第二私钥d2可以是在密钥建立阶段由第二设备随机生成并保存,或者第二设备通过执行密钥派生函数生成,或者第二设备直接从外部导入并保存。
(3)第一设备利用其第一私钥d1对待签名消息和第一签名信息S1的组合进行数字签名,以生成完整签名信息S。
具体而言,第一私钥d1可以是在密钥建立阶段由第一设备随机生成并保存,或者第一设备通过执行密钥派生函数生成,或者第一设备直接从外部导入并保存。
在本实施方式下,步骤(2)中第二设备利用第二私钥d2对待签名消息进行签名,以生成第一签名信息S1的过程包括如下步骤:
(2-1)第二设备根据随机数k2和椭圆曲线上的点R1计算椭圆曲线上的点R=k2*R1=(rx,ry),其中rx和ry分别为椭圆曲线点R的横坐标和纵坐标。
(2-2)第二设备根据SM2签名算法预处理规则对待签名消息进行预处理,以得到杂凑值e,并根据杂凑值e获取完整签名信息的第一分量r=(e+rx)mod n;
具体而言,本步骤的具体实现方式可参见GM/T 0009-2012《SM2密码算法使用规范》中第8节的预处理过程。
(2-3)第二设备根据其第二私钥d2和完整签名信息的第一分量r计算第二密文信息C1=Encpk(d2 -1·r);
(2-4)第二设备根据随机数k2及其第二私钥d2获取中间值v=k2·d2 -1,根据v和第一密文信息Ck获取第三密文信息C2=v⊙Ck,并根据第三密文信息和第二密文信息获取第一签名信息其中⊙为同态乘运算,为同态加运算。
作为本发明实施例的进一步改进,上述步骤(2-3)也可被替换为下述步骤(2-3’):
(2-3’)第二设备产生随机数ρ,使用该随机数、第二私钥d2以及r获取第二密文信息:C1=Encpk(ρ·n+d2 -1·r)。
步骤(3)具体包括以下子步骤:
(3-1)第一设备根据第一设备的同态解密私钥sk和第一签名信息S1获取解密结果s′=Decsk(S1),其中Dec为与同态加密算法Enc对应的同态解密算法。
(3-2)第一设备根据解密结果s′、其第一私钥d1以及完整签名信息的第一分量r获取完整签名信息的第二分量s=d1 -1·s′-r;
(3-3)第一设备根据完整签名信息的第一分量s和第二分量r生成完整签名信息S=(r,s)。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种双方协作生成数字签名的方法,其特征在于,包括以下步骤:
(1)第一设备产生随机数k1∈[1,n-1],根据ECC算法计算椭圆曲线上的点R1=k1*G,并将待签名消息m、椭圆曲线上的点R1打包发送给第二设备,其中n为椭圆曲线的阶,G为椭圆曲线基点,*为椭圆曲线点乘运算;
(2)第二设备产生随机数k2∈[1,n-1],根据ECC算法计算椭圆曲线上的点R2=k2*G,利用其第二私钥d2对待签名消息进行签名,以生成第一签名信息S1,并将S1和R2打包发送给第一设备;
(3)第一设备利用其第一私钥d1对待签名消息和第一签名信息S1的组合进行数字签名,以生成完整签名信息S。
2.一种双方协作生成数字签名的方法,其特征在于,包括以下步骤:
(1)第一设备产生随机数k1∈[1,n-1],根据ECC算法计算椭圆曲线上的点R1=k1*G,根据第一设备的同态加密公钥获取第一密文信息Ck=Encpk(k1),并将待签名消息m、点R1、以及第一密文信息Ck打包发送给第二设备,其中n为椭圆曲线的阶,G为椭圆曲线基点,*为椭圆曲线点乘运算,Enc为同态加密算法,pk为第一设备的同态加密公钥;
(2)第二设备产生随机数k2∈[1,n-1],根据ECC算法计算椭圆曲线上的点R2=k2*G,利用其第二私钥d2对待签名消息进行签名,以生成第一签名信息S1,并将S1和R2打包发送给第一设备;
(3)第一设备利用其第一私钥d1对待签名消息和第一签名信息S1的组合进行数字签名,以生成完整签名信息S。
3.根据权利要求2所述的方法,其特征在于,步骤(2)中第二设备利用第二私钥d2对待签名消息进行签名,以生成第一签名信息S1的过程包括如下子步骤:
(2-1)第二设备根据随机数k2和椭圆曲线上的点R1计算椭圆曲线上的点R=k2*R1=(rx,ry),其中rx和ry分别为椭圆曲线点R的横坐标和纵坐标。
(2-2)第二设备根据SM2签名算法预处理规则对待签名消息进行预处理,以得到杂凑值e,并根据杂凑值e获取完整签名信息的第一分量r=(e+rx)mod n;
(2-3)第二设备根据其第二私钥d2和完整签名信息的第一分量r计算第二密文信息C1=Encpk(d2 -1·r);
(2-4)第二设备根据随机数k2及其第二私钥d2获取中间值v=k2·d2 -1,根据v和第一密文信息Ck获取第三密文信息C2=v⊙Ck,并根据第三密文信息和第二密文信息获取第一签名信息其中⊙为同态乘运算,为同态加运算。
4.根据权利要求2所述的方法,其特征在于,步骤(2)中第二设备利用第二私钥d2对待签名消息进行签名,以生成第一签名信息S1的过程包括如下子步骤:
(2-1)第二设备根据随机数k2和椭圆曲线上的点R1计算椭圆曲线上的点R=k2*R1=(rx,ry),其中rx和ry分别为椭圆曲线点R的横坐标和纵坐标。
(2-2)第二设备根据SM2签名算法预处理规则对待签名消息进行预处理,以得到杂凑值e,并根据杂凑值e获取完整签名信息的第一分量r=(e+rx)mod n;
(2-3)第二设备产生随机数ρ,使用该随机数、第二私钥d2以及r获取第二密文信息:C1=Encpk(ρ·n+d2 -1·r);
(2-4)第二设备根据随机数k2及其第二私钥d2获取中间值v=k2·d2 -1,根据v和第一密文信息Ck获取第三密文信息C2=v⊙Ck,并根据第三密文信息和第二密文信息获取第一签名信息其中⊙为同态乘运算,为同态加运算。
5.根据权利要求2所述的方法,其特征在于,步骤(3)具体包括以下子步骤:
(3-1)第一设备根据第一设备的同态解密私钥sk和第一签名信息S1获取解密结果s′=Decsk(S1),其中Dec为与同态加密算法Enc对应的同态解密算法。
(3-2)第一设备根据解密结果s′、其第一私钥d1以及完整签名信息的第一分量r获取完整签名信息的第二分量s=d1 -1·s′-r;
(3-3)第一设备根据完整签名信息的第一分量s和第二分量r生成完整签名信息S=(r,s)。
6.根据权利要求1或2所述的方法,其特征在于,进一步包括在步骤(1)之前,第一设备验证签名用户的授权验证信息,如果验证通过则进入下一步骤,否则过程结束的步骤。
7.根据权利要求1或2所述的方法,其特征在于,进一步包括在步骤(1)之后、步骤(2)之前,第二设备验证签名用户的授权验证信息,如果验证通过则进入步骤(2),否则过程结束的步骤。
8.根据权利要求6或7所述的方法,其特征在于,
授权验证信息包括签名用户的静态密码数据,和/或其生理特征数据,和/或其行为特征数据;
对于静态密码数据的获取,是通过保存密钥用户录入的静态密码数据来实现;
对于生理特征数据和行为特征数据的获取,是通过采集密钥用户的生理特征数据和行为特征数据来实现。
9.根据权利要求1或2所述的方法,其特征在于,进一步包括在步骤(2)之后、步骤(3)之前,第一设备对收到的数字签名信息S1进行验证,以判断该数字签名信息S1是否为第二设备生成的数字签名,验证通过则进入步骤(3),否则过程结束的步骤。
10.根据权利要求1或2所述的方法,其特征在于,
第一私钥d1可以是在密钥建立阶段由第一设备随机生成并保存,或者第一设备通过执行密钥派生函数生成,或者第一设备直接从外部导入并保存;
第二私钥d2可以是在密钥建立阶段由第二设备随机生成并保存,或者第二设备通过执行密钥派生函数生成,或者第二设备直接从外部导入并保存。
CN201710694673.5A 2017-08-15 2017-08-15 一种双方协作生成数字签名的方法 Active CN107483212B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710694673.5A CN107483212B (zh) 2017-08-15 2017-08-15 一种双方协作生成数字签名的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710694673.5A CN107483212B (zh) 2017-08-15 2017-08-15 一种双方协作生成数字签名的方法

Publications (2)

Publication Number Publication Date
CN107483212A true CN107483212A (zh) 2017-12-15
CN107483212B CN107483212B (zh) 2021-04-30

Family

ID=60600512

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710694673.5A Active CN107483212B (zh) 2017-08-15 2017-08-15 一种双方协作生成数字签名的方法

Country Status (1)

Country Link
CN (1) CN107483212B (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108880807A (zh) * 2018-08-02 2018-11-23 中钞信用卡产业发展有限公司杭州区块链技术研究院 私钥签名处理方法、装置、设备和介质
CN109088726A (zh) * 2018-07-19 2018-12-25 郑州信大捷安信息技术股份有限公司 基于sm2算法的通信双方协同签名及解密方法和系统
CN109547199A (zh) * 2018-11-19 2019-03-29 武汉大学 一种多方联合生成sm2数字签名的方法
CN109586912A (zh) * 2018-11-09 2019-04-05 天津海泰方圆科技有限公司 一种sm2数字签名的生成方法、系统、设备及介质
CN109818730A (zh) * 2019-03-06 2019-05-28 矩阵元技术(深圳)有限公司 盲签名的获取方法、装置和服务器
CN109936455A (zh) * 2017-12-19 2019-06-25 航天信息股份有限公司 一种数字签名的方法、装置和系统
CN110061841A (zh) * 2018-01-18 2019-07-26 北京国盾量子信息技术有限公司 一种签名方法、验签方法及装置
CN110324357A (zh) * 2019-07-25 2019-10-11 郑州师范学院 数据发送方法及装置、数据接收方法及装置
CN110690969A (zh) * 2018-07-06 2020-01-14 武汉信安珞珈科技有限公司 一种多方协同完成双向ssl/tls认证的方法和系统
CN111082945A (zh) * 2019-12-20 2020-04-28 浙江工商大学 两方EdDSA协同签名协议
CN111130804A (zh) * 2019-12-27 2020-05-08 上海市数字证书认证中心有限公司 一种基于sm2算法的协同签名方法及装置、系统、介质
CN111371544A (zh) * 2020-05-27 2020-07-03 支付宝(杭州)信息技术有限公司 基于同态加密的预测方法、装置、电子设备及存储介质
CN111817848A (zh) * 2020-06-19 2020-10-23 天津赢达信科技有限公司 一种ecc私钥分段存储的ecdsa签名方法及系统
CN107948189B (zh) * 2017-12-19 2020-10-30 数安时代科技股份有限公司 非对称密码身份鉴别方法、装置、计算机设备及存储介质
CN111866547A (zh) * 2020-07-30 2020-10-30 北京万协通信息技术有限公司 一种新型视频防篡改的方法
CN112084523A (zh) * 2020-09-29 2020-12-15 深圳壹账通智能科技有限公司 文本加密方法及装置、终端设备、存储介质
CN112187469A (zh) * 2020-09-21 2021-01-05 浙江省数字安全证书管理有限公司 一种基于密钥因子的sm2多方协同数字签名方法和系统
CN111447065B (zh) * 2019-01-16 2021-03-09 中国科学院软件研究所 一种主动安全的sm2数字签名两方生成方法
CN113032815A (zh) * 2021-05-18 2021-06-25 杭州海康威视数字技术股份有限公司 一种密钥组合计算管理方法、装置及设备
CN114079564A (zh) * 2020-08-11 2022-02-22 旭尔权(北京)科技有限公司 向两方协作式用户部件签发隐式数字证书的计算方法和系统
CN114567448A (zh) * 2022-04-29 2022-05-31 华南师范大学 一种协同签名方法以及协同签名系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034061A (zh) * 2011-02-16 2011-04-27 福建师范大学 基于密码算法同态性的数据持有性证明方法
US20130212391A1 (en) * 2012-02-09 2013-08-15 Liqun Chen Elliptic curve cryptographic signature
CN103701598A (zh) * 2013-12-05 2014-04-02 武汉信安珞珈科技有限公司 一种基于sm2签名算法的复核签名方法和数字签名设备
CN104243456A (zh) * 2014-08-29 2014-12-24 中国科学院信息工程研究所 适用于云计算的基于sm2算法的签名及解密方法和系统
CN105763322A (zh) * 2016-04-13 2016-07-13 同济大学 一种可混淆的加密密钥隔离数字签名方法及系统
CN106506165A (zh) * 2016-11-02 2017-03-15 西安电子科技大学 基于同态加密的虚拟资产匿名排序方法
CN106685651A (zh) * 2016-12-22 2017-05-17 北京信安世纪科技有限公司 一种客户端和服务端协作生成数字签名的方法
CN106961336A (zh) * 2017-04-18 2017-07-18 北京百旺信安科技有限公司 一种基于sm2算法的密钥分量托管方法和系统
CN107017993A (zh) * 2017-04-01 2017-08-04 北京江南天安科技有限公司 一种多方联合密钥产生和数字签名方法及系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034061A (zh) * 2011-02-16 2011-04-27 福建师范大学 基于密码算法同态性的数据持有性证明方法
US20130212391A1 (en) * 2012-02-09 2013-08-15 Liqun Chen Elliptic curve cryptographic signature
CN103701598A (zh) * 2013-12-05 2014-04-02 武汉信安珞珈科技有限公司 一种基于sm2签名算法的复核签名方法和数字签名设备
CN104243456A (zh) * 2014-08-29 2014-12-24 中国科学院信息工程研究所 适用于云计算的基于sm2算法的签名及解密方法和系统
CN105763322A (zh) * 2016-04-13 2016-07-13 同济大学 一种可混淆的加密密钥隔离数字签名方法及系统
CN106506165A (zh) * 2016-11-02 2017-03-15 西安电子科技大学 基于同态加密的虚拟资产匿名排序方法
CN106685651A (zh) * 2016-12-22 2017-05-17 北京信安世纪科技有限公司 一种客户端和服务端协作生成数字签名的方法
CN107017993A (zh) * 2017-04-01 2017-08-04 北京江南天安科技有限公司 一种多方联合密钥产生和数字签名方法及系统
CN106961336A (zh) * 2017-04-18 2017-07-18 北京百旺信安科技有限公司 一种基于sm2算法的密钥分量托管方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
北京创意先行科技有限公司: "《MCSE多媒体教程》", 31 December 2002 *
国家密码管理局: "5.4.3密钥派生函数", 《SM2椭圆曲线公钥密码算法》 *

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107948189B (zh) * 2017-12-19 2020-10-30 数安时代科技股份有限公司 非对称密码身份鉴别方法、装置、计算机设备及存储介质
CN109936455A (zh) * 2017-12-19 2019-06-25 航天信息股份有限公司 一种数字签名的方法、装置和系统
CN110061841B (zh) * 2018-01-18 2022-02-11 北京国盾量子信息技术有限公司 一种签名方法、验签方法及装置
CN110061841A (zh) * 2018-01-18 2019-07-26 北京国盾量子信息技术有限公司 一种签名方法、验签方法及装置
CN110690969B (zh) * 2018-07-06 2023-06-16 武汉信安珞珈科技有限公司 一种多方协同完成双向ssl/tls认证的方法和系统
CN110690969A (zh) * 2018-07-06 2020-01-14 武汉信安珞珈科技有限公司 一种多方协同完成双向ssl/tls认证的方法和系统
CN109088726A (zh) * 2018-07-19 2018-12-25 郑州信大捷安信息技术股份有限公司 基于sm2算法的通信双方协同签名及解密方法和系统
CN109088726B (zh) * 2018-07-19 2021-01-26 郑州信大捷安信息技术股份有限公司 基于sm2算法的通信双方协同签名及解密方法和系统
CN108880807A (zh) * 2018-08-02 2018-11-23 中钞信用卡产业发展有限公司杭州区块链技术研究院 私钥签名处理方法、装置、设备和介质
CN109586912A (zh) * 2018-11-09 2019-04-05 天津海泰方圆科技有限公司 一种sm2数字签名的生成方法、系统、设备及介质
CN109586912B (zh) * 2018-11-09 2020-04-07 天津海泰方圆科技有限公司 一种sm2数字签名的生成方法、系统、设备及介质
CN109547199B (zh) * 2018-11-19 2021-07-02 武汉大学 一种多方联合生成sm2数字签名的方法
CN109547199A (zh) * 2018-11-19 2019-03-29 武汉大学 一种多方联合生成sm2数字签名的方法
CN111447065B (zh) * 2019-01-16 2021-03-09 中国科学院软件研究所 一种主动安全的sm2数字签名两方生成方法
CN109818730A (zh) * 2019-03-06 2019-05-28 矩阵元技术(深圳)有限公司 盲签名的获取方法、装置和服务器
CN110324357B (zh) * 2019-07-25 2021-09-24 郑州师范学院 数据发送方法及装置、数据接收方法及装置
CN110324357A (zh) * 2019-07-25 2019-10-11 郑州师范学院 数据发送方法及装置、数据接收方法及装置
CN111082945A (zh) * 2019-12-20 2020-04-28 浙江工商大学 两方EdDSA协同签名协议
CN111130804B (zh) * 2019-12-27 2022-09-06 上海市数字证书认证中心有限公司 一种基于sm2算法的协同签名方法及装置、系统、介质
CN111130804A (zh) * 2019-12-27 2020-05-08 上海市数字证书认证中心有限公司 一种基于sm2算法的协同签名方法及装置、系统、介质
CN111371544A (zh) * 2020-05-27 2020-07-03 支付宝(杭州)信息技术有限公司 基于同态加密的预测方法、装置、电子设备及存储介质
CN111817848A (zh) * 2020-06-19 2020-10-23 天津赢达信科技有限公司 一种ecc私钥分段存储的ecdsa签名方法及系统
CN111866547A (zh) * 2020-07-30 2020-10-30 北京万协通信息技术有限公司 一种新型视频防篡改的方法
CN111866547B (zh) * 2020-07-30 2022-07-15 北京万协通信息技术有限公司 一种新型视频防篡改的方法
CN114079564A (zh) * 2020-08-11 2022-02-22 旭尔权(北京)科技有限公司 向两方协作式用户部件签发隐式数字证书的计算方法和系统
CN112187469A (zh) * 2020-09-21 2021-01-05 浙江省数字安全证书管理有限公司 一种基于密钥因子的sm2多方协同数字签名方法和系统
CN112187469B (zh) * 2020-09-21 2023-09-19 浙江省数字安全证书管理有限公司 一种基于密钥因子的sm2多方协同数字签名方法和系统
CN112084523A (zh) * 2020-09-29 2020-12-15 深圳壹账通智能科技有限公司 文本加密方法及装置、终端设备、存储介质
CN113032815A (zh) * 2021-05-18 2021-06-25 杭州海康威视数字技术股份有限公司 一种密钥组合计算管理方法、装置及设备
CN114567448B (zh) * 2022-04-29 2022-08-02 华南师范大学 一种协同签名方法以及协同签名系统
CN114567448A (zh) * 2022-04-29 2022-05-31 华南师范大学 一种协同签名方法以及协同签名系统

Also Published As

Publication number Publication date
CN107483212B (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
CN107483212A (zh) 一种双方协作生成数字签名的方法
EP3642997B1 (en) Secure communications providing forward secrecy
US8429408B2 (en) Masking the output of random number generators in key generation protocols
CN109274503A (zh) 分布式协同签名方法及分布式协同签名装置、软盾系统
US9800418B2 (en) Signature protocol
CN110519046B (zh) 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统
US20140359290A1 (en) Authentication
CN107733648A (zh) 一种基于身份的rsa数字签名生成方法及系统
US20150288527A1 (en) Verifiable Implicit Certificates
CN110535626B (zh) 基于身份的量子通信服务站保密通信方法和系统
CN110138567A (zh) 一种基于ecdsa的协同签名方法
CN113067823B (zh) 邮件用户身份认证和密钥分发方法、系统、设备及介质
CN110380859B (zh) 基于非对称密钥池对和dh协议的量子通信服务站身份认证方法和系统
CN107360002A (zh) 一种数字证书的申请方法
Tsai et al. TTP based high-efficient multi-key exchange protocol
CN109905229B (zh) 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和系统
JP6041864B2 (ja) データの暗号化のための方法、コンピュータ・プログラム、および装置
CN110690969B (zh) 一种多方协同完成双向ssl/tls认证的方法和系统
US20150006900A1 (en) Signature protocol
Tanwar et al. Efficient and secure multiple digital signature to prevent forgery based on ECC
CN116830523A (zh) 阈值密钥交换
CN110519226B (zh) 基于非对称密钥池和隐式证书的量子通信服务端保密通信方法和系统
CN110519040B (zh) 基于身份的抗量子计算数字签名方法和系统
CN110266483B (zh) 基于非对称密钥池对和qkd的量子通信服务站密钥协商方法、系统、设备
EP2395698B1 (en) Implicit certificate generation in the case of weak pseudo-random number generators

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