CN111565108B - 签名处理方法、装置及系统 - Google Patents

签名处理方法、装置及系统 Download PDF

Info

Publication number
CN111565108B
CN111565108B CN202010677627.6A CN202010677627A CN111565108B CN 111565108 B CN111565108 B CN 111565108B CN 202010677627 A CN202010677627 A CN 202010677627A CN 111565108 B CN111565108 B CN 111565108B
Authority
CN
China
Prior art keywords
signature
private key
communication terminal
sub
encrypted
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
CN202010677627.6A
Other languages
English (en)
Other versions
CN111565108A (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.)
Beijing Infosec Technologies Co Ltd
Original Assignee
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 Beijing Infosec Technologies Co Ltd filed Critical Beijing Infosec Technologies Co Ltd
Priority to CN202010677627.6A priority Critical patent/CN111565108B/zh
Publication of CN111565108A publication Critical patent/CN111565108A/zh
Application granted granted Critical
Publication of CN111565108B publication Critical patent/CN111565108B/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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • 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)
  • Algebra (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例提供一种签名处理方法、装置及系统。具体地,签名密钥分别在参与数据传输的三方独立生成,且签名需要三方合作计算,避免出现某一方密钥泄露,伪造签名成功的问题,同时,签名过程也结合加密算法,使得私钥在协同签名过程中处于加密状态,无需获取私钥的真实数据即可实现加密计算。本申请实施例提供的技术方案适用于涉及不可信云端环境的三方通信的数据传输,提高了密钥的安全性和数据的安全性。

Description

签名处理方法、装置及系统
技术领域
本申请实施例涉及计算机应用技术领域,尤其涉及一种签名处理方法、装置及系统。
背景技术
随着互联网技术的发展,移动办公、移动支付越来越普及,移动信息化和云服务成为趋势。为了保证数据传输的安全性,密码技术是不可或缺的。通常情况下,采用数字签名技术为传输数据进行加密。
对于现有技术中的数字签名,只适用于客户端和服务端两方之间的数据传输,并且要求客户端和服务端都是诚实可信的,若一方不可信,则存在中间人攻击的风险。而现实场景下,移动终端和云环境均是不完全可信的,现有技术中的数字签名并不适用于包括不可信环境的三方之间的数据传输。
发明内容
本申请实施例提供一种签名处理方法、装置及系统,用以解决现有技术中数字签名技术不适用于包括不可信环境的三方之间的数据传输的问题。
本发明的第一方面提供了一种签名处理方法,该方法包括:
第一通信端生成待签名消息的消息摘要及第一部分签名;以及加密第一私钥获得第一加密私钥,并将所述消息摘要、所述第一部分签名及所述第一加密私钥发送至第二通信端;
所述第二通信端生成第二部分签名及结合所述第二部分签名和所述第一部分签名生成第一协同签名;以及加密第二私钥获得第二加密私钥,并基于所述第一加密私钥和所述第二加密私钥加密获得第一中间参数;以及将所述消息摘要、所述第二部分签名、所述第一协同签名、所述第一加密私钥、所述第二加密私钥及所述第一中间参数发送至第三通信端;
所述第三通信端生成第三部分签名及结合所述第三部分签名和所述第一协同签名生成第二协同签名,并基于所述第二协同签名及所述消息摘要获得第一签名;以及加密第三私钥获得第三加密私钥,并基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数;以及将所述第二中间参数及所述第一签名发送至所述第一通信端以及将所述第三中间参数发送至所述第二通信端;其中,所述第一私钥、所述第二私钥以及所述第三私钥分别由所述第一通信端、所述第二通信端以及所述第三通信端各自生成,并由所述第三通信端生成验证公钥;
所述第二通信端基于所述第三中间参数计算获得第四中间参数,并将所述第四中间参数发送至所述第一通信端;
所述第一通信端对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名;以及输出所述第一签名和所述第二签名。
本发明的第二方面提供了一种签名处理装置,该装置包括:
第一生成模块,用于生成待签名消息的消息摘要及第一部分签名;
第一加密模块,用于加密第一私钥获得第一加密私钥;
第一发送模块,用于将所述消息摘要、所述第一部分签名及所述第一加密私钥发送至第二通信端;其中,所述第二通信端用于生成第二部分签名及结合所述第二部分签名和所述第一部分签名生成第一协同签名;以及加密第二私钥获得第二加密私钥,并基于所述第一加密私钥和所述第二加密私钥加密获得第一中间参数;以及将所述消息摘要、所述第二部分签名、所述第一协同签名、所述第一加密私钥、所述第二加密私钥及所述第一中间参数发送至第三通信端;其中,所述第三通信端用于生成第三部分签名及结合所述第三部分签名和所述第一协同签名生成第二协同签名,并基于所述第二协同签名及所述消息摘要获得第一签名;以及加密第三私钥获得第三加密私钥,并基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数;以及将所述第二中间参数及所述第一签名发送至第一通信端以及将所述第三中间参数发送至所述第二通信端,由所述第二通信端基于所述第三中间参数计算获得第四中间参数;
第一签名模块,用于对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名;
第一输出模块,用于输出所述第一签名和所述第二签名。
本发明的第三方面提供了一种签名处理装置,该装置包括:
第一接收模块,用于接收第一通信端发送的待签名消息的消息摘要、第一部分签名及第一加密私钥;其中,所述消息摘要及所述第一部分签名由所述第一通信端生成;所述第一加密私钥由所述第一通信端对第一私钥加密获得;
第二生成模块,用于生成第二部分签名及结合所述第二部分签名和所述第一部分签名生成第一协同签名;
第二加密模块,用于加密第二私钥获得第二加密私钥,并基于所述第一加密私钥和所述第二加密私钥加密获得第一中间参数;
第二发送模块,用于将所述消息摘要、所述第二部分签名、所述第一协同签名、所述第一加密私钥、所述第二加密私钥及所述第一中间参数发送至第三通信端;其中,所述第三通信端用于生成第三部分签名及结合所述第三部分签名和所述第一协同签名生成第二协同签名,并基于所述第二协同签名及所述消息摘要获得第一签名;以及加密第三私钥获得第三加密私钥,并基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数,以及将所述第二中间参数及所述第一签名发送至所述第一通信端;
第二接收模块,用于接收所述第三通信端发送的所述第三中间参数;
计算模块,用于基于所述第三中间参数计算获得第四中间参数,并将所述第四中间参数发送至所述第一通信端;其中,所述第一通信端用于对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名;以及输出所述第一签名和所述第二签名。
本发明的第四方面提供了一种签名处理装置,该装置包括:
第三接收模块,用于接收第二通信端发送的消息摘要、第二部分签名、第一协同签名、第一加密私钥、第二加密私钥及第一中间参数;其中,所述消息摘要以及所述第一加密私钥由第一通信端生成并发送至所述第二通信端;所述第二部分签名由所述第二通信端生成;所述第一协同签名由所述第二通信端结合所述第二部分签名和第一部分签名生成;所述第二加密私钥由所述第二通信端对第二私钥加密获得;所述第一中间参数由所述第二通信端基于所述第一加密私钥和所述第二加密私钥加密获得;
第三生成模块,用于生成第三部分签名及结合所述第三部分签名和所述第一协同签名生成第二协同签名,并基于所述第二协同签名及所述消息摘要获得第一签名;
第三加密模块,用于加密第三私钥获得第三加密私钥,并基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数;
第三发送模块,用于将所述第二中间参数及所述第一签名发送至所述第一通信端以及将所述第三中间参数发送至所述第二通信端;其中,所述第二通信端用于基于所述第三中间参数计算获得第四中间参数,并将所述第四中间参数发送至所述第一通信端;所述第一通信端用于对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名;以及输出所述第一签名和所述第二签名。
本发明的第五方面提供了一种签名处理系统,该系统包括第一通信端、第二通信端及第三通信端;
所述第一通信端,用于生成待签名消息的消息摘要及第一部分签名;以及加密第一私钥获得第一加密私钥,并将所述消息摘要、所述第一部分签名及所述第一加密私钥发送至第二通信端;
所述第二通信端,用于生成第二部分签名及结合所述第二部分签名和所述第一部分签名生成第一协同签名;以及加密第二私钥获得第二加密私钥,并基于所述第一加密私钥和所述第二加密私钥加密获得第一中间参数;以及将所述消息摘要、所述第二部分签名、所述第一协同签名、所述第一加密私钥、所述第二加密私钥及所述第一中间参数发送至第三通信端;
所述第三通信端,用于生成第三部分签名及结合所述第三部分签名和所述第一协同签名生成第二协同签名,并基于所述第二协同签名及所述消息摘要获得第一签名;以及加密第三私钥获得第三加密私钥,并基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数;以及将所述第二中间参数及所述第一签名发送至所述第一通信端以及将所述第三中间参数发送至所述第二通信端;其中,所述第一私钥、所述第二私钥以及所述第三私钥分别由所述第一通信端、所述第二通信端以及所述第三通信端各自生成,并由所述第三通信端生成验证公钥;
所述第二通信端,还用于基于所述第三中间参数计算获得第四中间参数,并将所述第四中间参数发送至所述第一通信端;
所述第一通信端,还用于对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名;以及输出所述第一签名和所述第二签名。
本发明中,签名密钥分别在参与数据传输的三方独立生成,且签名需要三方合作计算,避免出现某一方密钥泄露,伪造签名成功的问题,同时,签名过程也结合加密算法,使得私钥在协同签名过程中处于加密状态,无需获取私钥的真实数据即可实现加密计算,适用于涉及不可信云端环境的三方通信的数据传输,提高了密钥的安全性和数据的安全性。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请提供的一种签名处理方法一个实施例的流程图;
图2示出了本申请提供的一种签名处理方法中密钥生成的流程图;
图3示出了本申请提供的一种签名处理装置一个实施例的结构示意图;
图4示出了本申请提供的一种签名处理装置另一个实施例的结构示意图;
图5示出了本申请提供的一种签名处理装置另一个实施例的结构示意图;
图6示出了本申请提供的一种签名处理系统一个实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本发明实施例主要适用于数据传输场景中,可以在客户端、服务端以及不可信环境的云端之间数据传输的过程中,利用密钥对待传输的消息进行签名处理,保证数据安全性。
在云计算时代的环境下,云服务发展成为趋势,用户可以通过网络以按需、易扩展的方式获得所需服务。云服务可以将企业所需的数据信息放到云端,实现在任何时间、地点,与客户端和服务端建立连接,完成数据存取、运算等目的,方便快捷。为了保护数据安全性,需要采用数字签名技术对传输数据进行加密。
现有技术中,数字签名通常适用于双方通信的数据传输,即客户端和服务端之间,在通信双方分别存储部分私钥,两方联合才能实现对待签名消息的签名或解密操作。然而,该种签名方法适用于通信双方都是诚实可信的,对于有一方是不可信的情况,存在中间人攻击的风险,无法保证签名密钥的安全性以及数据的安全性。考虑到云端环境作为一种虚拟环境,存储信息较多,环境较复杂,容易出现数据滥用、信息被冒用等情况,同时容易受到中间人攻击。也即是说,现有技术中的该种签名方法并不适用于涉及不可信云端环境的三方通信的数据传输。
因此,在涉及云端不可信环境的三方通信的数据传输过程中,为了保护签名密钥的安全性以及数据的安全性,发明人提出了本发明的技术方案,包括:第一通信端生成待签名消息的消息摘要及第一部分签名;以及加密第一私钥获得第一加密私钥,并将所述消息摘要、所述第一部分签名及所述第一加密私钥发送至第二通信端;所述第二通信端生成第二部分签名及结合所述第二部分签名和所述第一部分签名生成第一协同签名;以及加密第二私钥获得第二加密私钥,并基于所述第一加密私钥和所述第二加密私钥加密获得第一中间参数;以及将所述消息摘要、所述第二部分签名、所述第一协同签名、所述第一加密私钥、所述第二加密私钥及所述第一中间参数发送至第三通信端;所述第三通信端生成第三部分签名及结合所述第三部分签名和所述第一协同签名生成第二协同签名,并基于所述第二协同签名及所述消息摘要获得第一签名;以及加密第三私钥获得第三加密私钥,并基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数;以及将所述第二中间参数及所述第一签名发送至所述第一通信端以及将所述第三中间参数发送至所述第二通信端;其中,所述第一私钥、所述第二私钥以及所述第三私钥分别由所述第一通信端、所述第二通信端以及所述第三通信端各自生成,并由所述第三通信端生成验证公钥;所述第二通信端基于所述第三中间参数计算获得第四中间参数,并将所述第四中间参数发送至所述第一通信端;所述第一通信端对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名;以及输出所述第一签名和所述第二签名。本发明中,签名密钥分别在参与数据传输的三方独立生成,且签名需要三方合作计算,避免出现某一方密钥泄露,伪造签名成功的问题,同时,签名过程也结合加密算法,使得私钥在协同签名过程中处于加密状态,无需获取私钥的真实数据即可实现加密计算,适用于涉及不可信云端环境的三方通信的数据传输,提高了密钥的安全性和数据的安全性。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例提供的一种签名处理方法一个实施例的流程图,该方法可以包括以下几个步骤:
101:第一通信端生成待签名消息的消息摘要及第一部分签名;以及加密第一私钥获得第一加密私钥,并将所述消息摘要、所述第一部分签名及所述第一加密私钥发送至第二通信端。
在三方通信进行数据传输的过程中,可以分别以第一通信端、第二通信端和第三通信端来表示参与通信的三方。其中,第一通信端可以指客户端,客户端可以发起签名。
第一通信端发起签名,生成待签名消息的消息摘要,该消息摘也可以指数字摘要,通常是采用单向Hash(哈希)函数将需要加密的明文“摘要”成一串固定长度的密文。
具体地,第一通信端生成待签名消息的消息摘要可以由消息摘要生成公式来完成;
消息摘要公式为:
Figure 631895DEST_PATH_IMAGE001
其中,
Figure 241868DEST_PATH_IMAGE002
表示消息摘要,
Figure 943108DEST_PATH_IMAGE003
表示待签名消息,
Figure 183596DEST_PATH_IMAGE004
表示哈希函数,用于生成消息 摘要该消息摘要可以用于生成第一签名。
第一通信端发起签名,生成待签名消息的消息摘要,并生成第一部分签名,该第一 部分签名可以用
Figure 337497DEST_PATH_IMAGE005
表示,可以用于计算签名。
在实际应用中,签名的生成过程还需要密钥参与计算,其中,密钥可以包括私钥和公钥。因此,在生成待签名消息的消息摘要及第一部分签名之前,也即步骤101之前,还需要生成包括私钥和公钥在内的密钥。如图2所示,为本发明实施例提供的一种签名处理方法中密钥生成的流程图,可以包括以下步骤:
201:第一通信端生成第一私钥;以及基于所述第一私钥生成第一公钥,并将所述第一公钥发送至第二通信端。
在密钥生成以及签名生成的过程中,通常是基于
Figure 485582DEST_PATH_IMAGE006
算法(椭圆曲线公钥密码算 法)来运算。第一通信端、第二通信端和第三通信端共享
Figure 825950DEST_PATH_IMAGE006
算法的椭圆曲线参数
Figure 971761DEST_PATH_IMAGE007
Figure 675275DEST_PATH_IMAGE008
Figure 830312DEST_PATH_IMAGE009
,该椭圆曲线
Figure 240565DEST_PATH_IMAGE010
为定义在有限域
Figure 619594DEST_PATH_IMAGE011
上的椭圆曲线,
Figure 748087DEST_PATH_IMAGE008
为椭圆曲线
Figure 237974DEST_PATH_IMAGE010
Figure 768313DEST_PATH_IMAGE009
阶的基点,
Figure 255926DEST_PATH_IMAGE009
为正整数,
Figure 934032DEST_PATH_IMAGE008
Figure 165293DEST_PATH_IMAGE009
属于椭圆曲线的参数。
其中,在三方通信进行数据传输的过程中,第一通信端指客户端的情况下,第二通信端可以指服务端或云端,其中,云端可以是指部署在云计算环境中的云服务端,与此对应的,第三通信端可以指云端或服务端。例如,第二通信端为服务端,则第三通信端为云端;或第二服务端为云端,则第三通信端为服务端。
第一通信端生成第一私钥,为了方便描述,该第一私钥可以用
Figure 612455DEST_PATH_IMAGE012
表示,并基于该第 一私钥生成第一公钥,该第一公钥可以用
Figure 35084DEST_PATH_IMAGE013
表示,再将第一公钥发送至第二通信端,以便于 第二通信端基于该第一公钥进行后续计算。
可选地,第一通信端生成第一私钥的方法可以包括:
第一通信端随机生成第十随机数,并将所述第十随机数作为第一私钥。
第一通信端生成一个位于
Figure 872590DEST_PATH_IMAGE014
之间的第十随机数,该第十随机数即可以用
Figure 704279DEST_PATH_IMAGE012
表 示,则可以将该第十随机数作为第一私钥。其中,
Figure 474789DEST_PATH_IMAGE009
为正整数。
可选地,第一通信端基于该第一私钥生成第一公钥的方法可以包括:
第一通信端将第一私钥按照第一公钥计算公式生成第一公钥:
该第一公钥计算公式为:
Figure 304205DEST_PATH_IMAGE015
其中,
Figure 691324DEST_PATH_IMAGE013
表示第一公钥,
Figure 529967DEST_PATH_IMAGE012
表示第一私钥,
Figure 889404DEST_PATH_IMAGE008
表示椭圆曲线参数。
第一通信端将第一私钥和椭圆曲线参数进行乘积计算,以生成第一公钥。第一通信端保存第一私钥,并将第一公钥发送至第二通信端以进行后续计算。
202:所述第二通信端生成第二私钥;以及基于所述第二私钥生成第二公钥及结合所述第一公钥和所述第二公钥生成临时公钥,并将所述临时公钥发送至第三通信端。
第二通信端接收第一通信端发送的第一公钥,以及生成第二私钥,该第二私钥可 以用
Figure 952038DEST_PATH_IMAGE016
表示,并基于该第二私钥生成第二公钥,该第二公钥可以用
Figure 764136DEST_PATH_IMAGE017
表示。
可选地,第二通信端生成第二私钥的方法可以包括:
第二通信端随机生成第十一随机数,并将所述第十一随机数作为第二私钥。
第二通信端生成一个位于
Figure 140891DEST_PATH_IMAGE014
之间的第十一随机数,该第十一随机数即可以用
Figure 417152DEST_PATH_IMAGE016
表示,则可以将该第十一随机数作为第二私钥。其中,
Figure 89835DEST_PATH_IMAGE009
为正整数。
可选地,第二通信端基于该第二私钥生成第二公钥的方法可以包括:
第二通信端将第二私钥按照第二公钥计算公式生成第二公钥:
该第二公钥计算公式为:
Figure 654808DEST_PATH_IMAGE018
其中,
Figure 631992DEST_PATH_IMAGE019
表示第二公钥,
Figure 700442DEST_PATH_IMAGE016
表示第二私钥,
Figure 308141DEST_PATH_IMAGE008
表示椭圆曲线参数。
第二通信端将第二私钥和椭圆曲线参数进行乘积计算,以生成第二公钥,再结合第一公钥和第二公钥生成临时公钥。
具体地,第二通信端结合第一公钥和第二公钥可以按照临时公钥生成公式生成临时公钥:
该临时公钥生成公式为:
Figure 157148DEST_PATH_IMAGE020
其中,
Figure 875705DEST_PATH_IMAGE021
表示临时公钥,
Figure 860979DEST_PATH_IMAGE013
表示第一公钥,
Figure 639579DEST_PATH_IMAGE017
表示第二公钥。
第二通信端将生成的第二私钥和临时公钥进行保存,并将临时公钥发送至第三通信端以进行后续计算。
203:所述第三通信端生成第三私钥;以及基于所述第三私钥生成第三公钥及结合所述临时公钥和所述第三公钥生成验证公钥。
第三通信端接收第二通信端发送的临时公钥,以及生成第三私钥,该第三私钥可 以用
Figure 913565DEST_PATH_IMAGE022
表示,并基于该第三私钥生成第三公钥,该第三公钥可以用
Figure 232551DEST_PATH_IMAGE023
表示。
可选地,第三通信端生成第三私钥的方法可以包括:
第三通信端随机生成第十二随机数,并将该第十二随机数作为第三私钥。
第三通信端生成一个位于
Figure 541173DEST_PATH_IMAGE014
之间的第十二随机数,该第十二随机数即可以用
Figure 723630DEST_PATH_IMAGE022
表示,则可以将该第十二随机数作为第三私钥。其中,
Figure 547230DEST_PATH_IMAGE009
为正整数。
可选地,第三通信端基于该第三私钥生成第三公钥的方法可以包括:
第三通信端将第三私钥按照第三公钥计算公式生成第三公钥:
该第三公钥计算公式为:
Figure 342010DEST_PATH_IMAGE024
其中,
Figure 301876DEST_PATH_IMAGE023
表示第三公钥,
Figure 687858DEST_PATH_IMAGE022
表示第三私钥,
Figure 670858DEST_PATH_IMAGE008
表示椭圆曲线参数。
第三通信端将第三私钥和椭圆曲线参数进行乘积计算,以生成第三公钥,再结合第三公钥和临时公钥生成验证公钥。
具体地,第三通信端结合第三公钥和临时公钥可以按照验证公钥生成公式生成验证公钥:
该验证公钥生成公式为:
Figure 331646DEST_PATH_IMAGE025
其中,
Figure 614860DEST_PATH_IMAGE026
表示验证公钥,
Figure 640585DEST_PATH_IMAGE023
表示第三公钥,
Figure 173197DEST_PATH_IMAGE021
表示临时公钥,
Figure 840939DEST_PATH_IMAGE008
表示椭圆曲线参 数。
第三通信端将生成的第三私钥和验证公钥进行保存。
通过由第一通信端、第二通信端和第三通信端三方预先生成各自的私钥,即第一私钥、第二私钥和第三私钥,在三方协同签名的过程中,可以分别利用各自的私钥参与签名计算,避免由一方单独生成全部私钥,减少私钥被泄露的风险,有利于提高私钥的安全性。同时,结合三方各自的公钥生成的验证公钥可以用于对输出的签名进行验证,保证签名的准确性。
第一通信端预先生成第一私钥后,可以加密该第一私钥获得第一加密私钥,该第 一加密私钥可以用
Figure 713080DEST_PATH_IMAGE027
表示,第一加密私钥也可以用于后续的签名计算,并将该消息摘 要、第一部分签名和第一加密私钥发送至第二通信端,以便于第二通信端做一步的签名计 算。
通过将第一私钥加密传输,避免了传输过程被中间人攻击,导致第一私钥泄露的问题,同时,可以实现第二通信端接收到第一加密私钥后,无需明确第一私钥的真实数据,直接基于加密后的第一加密私钥进行相关的签名计算,可以有效保护第二通信端处于不可信环境中的密钥安全性和数据安全性。
102:所述第二通信端生成第二部分签名及结合所述第二部分签名和所述第一部分签名生成第一协同签名;以及加密第二私钥获得第二加密私钥,并基于所述第一加密私钥和所述第二加密私钥加密获得第一中间参数;以及将所述消息摘要、所述第二部分签名、所述第一协同签名、所述第一加密私钥、所述第二加密私钥及所述第一中间参数发送至第三通信端。
第二通信端接收到第一通信端发送的消息摘要、第一部分签名和第一加密私钥, 第二通信端生成第二部分签名,该第二部分签名可以用
Figure 972023DEST_PATH_IMAGE028
表示,并结合该第二部分签名和 第一通信端发送的第一部分签名生成第一协同签名,第一协同签名可以用
Figure 690800DEST_PATH_IMAGE029
表示。其中, 该第一协同签名可以用于后续的签名计算。
可选地,第二通信端结合第二部分签名和第一通信端发送的第一部分签名生成第一协同签名的方法可以包括:
第二通信端将第二部分签名和第一通信端发送的第一部分签名按照第一协同计算公式计算生成第一协同签名:
第一协同计算公式为:
Figure 631074DEST_PATH_IMAGE030
其中,
Figure 420038DEST_PATH_IMAGE029
表示第一协同签名,
Figure 53145DEST_PATH_IMAGE005
表示第一部分签名,
Figure 763612DEST_PATH_IMAGE031
表示第二部分签名。
第二通信端预先生成第二私钥后,可以加密该第二私钥获得第二加密私钥,结合该第二加密私钥和第一通信端发送的第一加密私钥进行加密获得第一中间参数,该第一中间参数也可以用于后续的签名计算。
第二通信端将自身生成的第一中间参数、第二部分签名、第一协同签名、第二加密私钥以及接收到的第一通信端发送的消息摘要、第一加密私钥都发送至第三通信端,以便于第三通信端进行后续的签名计算。
与第一私钥同理,第二私钥也进行加密传输,避免传输过程被中间人攻击,导致第二私钥泄露的问题,同时,可以实现第三通信端接收到第二加密私钥后,无需明确第二私钥的真实数据,直接基于加密后的第二加密私钥进行相关的签名计算,可以有效保护第三通信端处于不可信环境中的密钥安全性和数据安全性。
103:所述第三通信端生成第三部分签名及结合所述第三部分签名和所述第一协同签名生成第二协同签名,并基于所述第二协同签名及所述消息摘要获得第一签名;以及加密第三私钥获得第三加密私钥,并基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数;以及将所述第二中间参数及所述第一签名发送至所述第一通信端以及将所述第三中间参数发送至所述第二通信端;其中,所述第一私钥、所述第二私钥以及所述第三私钥分别由所述第一通信端、所述第二通信端以及所述第三通信端各自生成,并由所述第三通信端生成验证公钥。
第三通信端接收到第二通信端发送的消息摘要、第一中间参数、第二部分签名、第 一协同签名、第一加密私钥和第二加密私钥,第三通信端生成第三部分签名,该第三部分签 名可以用
Figure 304315DEST_PATH_IMAGE032
表示,并结合该第三部分签名和第一协同签名生成第二协同签名,该第二协同 签名可以用
Figure 151048DEST_PATH_IMAGE033
表示。
可选地,第三通信端结合第三部分签名和第一协同签名生成第二协同签名的方法可以包括:
第三通信端将第三部分签名和第一协同签名按照第二协同计算公式计算生成第二协同签名:
第二协同计算公式为:
Figure 751794DEST_PATH_IMAGE034
其中,
Figure 949557DEST_PATH_IMAGE035
表示第二协同签名,
Figure 231633DEST_PATH_IMAGE029
表示第一协同签名,
Figure 198452DEST_PATH_IMAGE032
表示第三部分签名。
第三通信端生成第二协同签名之后,可以基于该第二协同签名和消息摘要获得第 一签名,第一签名可以用
Figure 235679DEST_PATH_IMAGE036
表示,具体可以按照第一签名计算公式进行计算:
该第一签名计算公式为:
Figure 888115DEST_PATH_IMAGE037
Figure 36199DEST_PATH_IMAGE038
其中,
Figure 857525DEST_PATH_IMAGE036
表示第一签名,
Figure 3335DEST_PATH_IMAGE035
表示第二协同签名,
Figure 706849DEST_PATH_IMAGE039
表示
Figure 596308DEST_PATH_IMAGE033
的坐标形式,
Figure 272139DEST_PATH_IMAGE040
表示
Figure 651168DEST_PATH_IMAGE033
的横坐标值,
Figure 45240DEST_PATH_IMAGE041
表示消息摘要,
Figure 472811DEST_PATH_IMAGE042
表示求模计算,
Figure 799887DEST_PATH_IMAGE009
为正整数。
作为签名的一个组成部分,第一签名需要接受验证,避免第一签名出现错误,影响签名其他部分的计算及生成,或占用不必要时间计算签名并输出错误结果,缩短签名的生成时间,提高签名的生成效率。可选地,第三通信端基于第二协同签名及消息摘要获得第一签名之后,该方法还可以包括:
所述第三通信端验证所述第一签名是否等于0;
若是,返回所述第一通信端生成待签名消息的消息摘要及第一部分签名的步骤重新执行;
若否,执行加密第三私钥获得第三加密私钥的步骤。
第三通信端生成第一签名后,需要验证第一签名是否等于0,若第一签名等于0,则证明第一签名错误,无法进行后续签名计算,返回第一通信端生成待签名消息的消息摘要及第一部分签名的步骤重新执行;若第一签名不等于0,则证明第一签名正确,继续执行后续签名计算和生成等操作。
第三通信端预先生成第三私钥后,可以加密该第三私钥获得第三加密私钥,并基于第一加密私钥、第二加密私钥及该第三加密私钥,加密获得第二中间参数及第三中间参数,该第二中间参数及第三中间参数也可以用于签名计算。
第三通信端将生成的第二中间参数及第一签名发送至第一通信端,以便于第一通信端进行签名计算,并将生成的第三中间参数发送至第二通信端进行签名计算。
104:所述第二通信端基于所述第三中间参数计算获得第四中间参数,并将所述第四中间参数发送至所述第一通信端。
第二通信端接收到第三中间参数,并对该第三中间参数进行计算获得第四中间参数,将获得的第四中间参数发送至第一通信端,以便于第一通信端结合第四中间参数和第三通信端发送的第二中间参数等进行第二签名计算。
105:所述第一通信端对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名;以及输出所述第一签名和所述第二签名。
第一通信端接收到第二中间参数和第四中间参数,由于该第二中间参数和第四中间参数在生成过程中是经过加密运算的,因此第一通信端需要对其进行解密获得解密结果,再基于解密结果进行计算获得第二签名。
可选地,第一通信端对第四中间参数及第二中间参数进行解密,并基于解密结果计算获得第二签名的方法可以包括:
所述第一通信端基于所述第四中间参数及所述第二中间参数加密获得第一加密子签名及第二加密子签名;以及对所述第一加密子签名进行解密获得第一子签名,并对所述第二加密子签名进行解密获得第二子签名。
第一通信端接收到第四中间参数和第二中间参数后,考虑到第四中间参数和第二中间参数分别是由第二通信端和第三通信端发送的,且都是经过加密计算得到的,为了使上述加密计算过程正常进行,第一通信端需要先对第四中间参数和第二中间参数进行加密,获得加密的签名部分,从而保证加密过程完整。
再针对加密的签名部分进行解密,即对第一加密子签名进行解密获得第一子签 名,该第一子签名可以用
Figure 287500DEST_PATH_IMAGE043
表示;对第二加密子签名进行解密获得第二子签名,该第二子签 名可以用
Figure 670333DEST_PATH_IMAGE044
表示。该第一子签名和第二子签名可以用于计算第二签名,第二签名可以用
Figure 963911DEST_PATH_IMAGE045
表示。
在计算第二签名的过程中,除了需要第一子签名和第二子签名外,还需要第一签名参与计算。而第一签名是由第三通信端计算生成的,第一通信端需要对该第一签名进行进一步地验证,保证第一签名没有被泄露,提高签名的准确性和安全性,因此,可选地,第三通信端将第二中间参数及第一签名发送至第一通信端的同时,该方法还可以包括:
所述第三通信端将所述第二部分签名、所述第三部分签名及所述第二协同签名发送至所述第一通信端;
所述第一通信端基于所述第二部分签名、所述第三部分签名及所述第二协同签名生成第一验证签名,并利用所述第一验证签名验证所述第一签名;
若验证通过,所述第一通信端基于所述第一子签名和所述第二子签名计算获得第二签名。
第三通信端将第二部分签名、第三部分签名及第二协同签名一并发送至第一通信端,以便于第一通信端对第一签名进行验证。
具体地,第一通信端可以将第二部分签名、第三部分签名及第二协同签名按照第一验证签名生成公式生成第一验证签名:
该第一验证签名生成公式为:
Figure 348756DEST_PATH_IMAGE046
Figure 7271DEST_PATH_IMAGE047
其中,
Figure 172673DEST_PATH_IMAGE048
表示第一验证签名,
Figure 942046DEST_PATH_IMAGE049
表示第三协同签名,
Figure 712556DEST_PATH_IMAGE033
表示第二协同签名,
Figure 338709DEST_PATH_IMAGE005
表示 第一部分签名,
Figure 929090DEST_PATH_IMAGE050
表示
Figure 564471DEST_PATH_IMAGE049
的坐标形式,
Figure 923908DEST_PATH_IMAGE051
表示
Figure 924225DEST_PATH_IMAGE049
的横坐标值,
Figure 798640DEST_PATH_IMAGE041
表示消息摘要,
Figure 939509DEST_PATH_IMAGE042
表示求模计算,
Figure 153453DEST_PATH_IMAGE009
为正整数。
第一通信端利用生成的第一验证签名对第一签名进行验证,具体可以是验证第一验证签名与第一签名是否相等。若二者相等,则验证通过,第一签名正确,且没有被泄露,可以结合该第一签名进行第二签名计算;若二者不相等,则验证不通过,第一签名出现错误,或已被泄露,不可以参与第二签名计算,此时,终止签名。
第一通信端验证第一签名通过后,再基于第一子签名、第二子签名和第一签名计算生成第二签名,具体可以按照第二签名计算公式进行计算:
该第二签名计算公式可以为:
Figure 386988DEST_PATH_IMAGE052
其中,
Figure 686383DEST_PATH_IMAGE045
表示第二签名,
Figure 866828DEST_PATH_IMAGE043
表示第一子签名,
Figure 997595DEST_PATH_IMAGE044
表示第二子签名,
Figure 339715DEST_PATH_IMAGE053
表示第一签名,
Figure 188722DEST_PATH_IMAGE042
表示求模计算,
Figure 641700DEST_PATH_IMAGE009
为正整数。
第一通信端生成第二签名之后,为了保证计算获得的第二签名是正确的,也需要对该第二签名进行验证。因此,可选地,第二通信端基于解密结果计算获得第二签名;以及输出第一签名和第二签名可以包括:
所述第一通信端基于解密结果计算获得第二签名,并验证所述第二签名是否等于0;
若否,输出所述第一签名和所述第二签名;
若是,返回所述第一通信端生成待签名消息的消息摘要及第一部分签名的步骤重新执行。
第一通信端生成第二签名后,需要验证第二签名是否等于0,若第二签名等于0,则证明第二签名错误,无法输出该第二签名,返回第一通信端生成待签名消息的消息摘要及第一部分签名的步骤重新执行;若第二签名不等于0,则证明第二签名正确,继续执行输出第一签名和第二签名的操作。
第一通信段输出的第一签名和第二签名可以用于对待签名消息进行签名加密,从而可以提高三方通信的安全性。可选地,第一通信端输出第一签名和第二签名之后,该方法还可以包括:
所述第三通信端利用所述验证公钥对所述第一签名和所述第二签名进行验证。
第三通信端验证第一签名和第二签名通过后,即可以实现三方安全通信。
本实施例中,签名密钥分别在参与数据传输的三方独立生成,且签名需要三方合作计算,避免出现某一方密钥泄露,伪造签名成功的问题,同时,签名过程也结合加密算法,使得私钥在协同签名过程中处于加密状态,无需获取私钥的真实数据即可实现加密计算,适用于涉及不可信云端环境的三方通信的数据传输,提高了密钥的安全性和数据的安全性。
在某些实施例中,第一通信端生成待签名消息的消息摘要及第一部分签名的方法可以包括:
所述第一通信端生成待签名消息的消息摘要;
所述第一通信端随机生成第一随机数和第二随机数,并基于所述第一随机数生成第一部分签名;以及分别加密所述第一随机数和所述第二随机数获得第一加密数和第二加密数。
可选地,该加密算法可以为同态加密算法。其中,同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。同态加密算法可以包括多种算法函数,都可以实现上述加密的功能,本实施例中对此不做限定。
在三方通信的过程中,对计算签名的重要参数采用同态加密算法进行加密,可以保证重要参数在三方通信的传输过程中具有较高的安全性,参与计算的通信方无需明确该参数的真实数据,即可以完成相应的运算,避免被处于不可信环境的通信方泄露数据,提高安全性。
第一通信段生成待签名消息的消息摘要的过程在前面的实施例部分有详细的说明,在此不再进行赘述。
具体地,第一通信端生成一个位于
Figure 95815DEST_PATH_IMAGE014
之间的第一随机数,该第一随机数即可以 用
Figure 671153DEST_PATH_IMAGE054
表示;以及生成一个位于
Figure 945140DEST_PATH_IMAGE014
之间的第二随机数,该第二随机数即可以用
Figure 264126DEST_PATH_IMAGE055
表示。其 中,
Figure 68353DEST_PATH_IMAGE009
为正整数。之后,第一通信端再基于第一随机数按照第一部分签名计算公式生成第一 部分签名:
该第一部分签名计算公式为:
Figure 752275DEST_PATH_IMAGE056
其中,
Figure 310295DEST_PATH_IMAGE005
表示第一部分签名,
Figure 370655DEST_PATH_IMAGE054
表示第一随机数,
Figure 533783DEST_PATH_IMAGE008
表示椭圆曲线的参数。
为了保证签名过程中三方通信的安全性,数据信息不被泄露,第一通信端可以分 别加密第一随机数和第二随机数以获得第一加密数和第二加密数,其中,该第一加密数可 以用
Figure 450924DEST_PATH_IMAGE057
表示,该第二加密数可以用
Figure 699502DEST_PATH_IMAGE058
表示。
可选地,该加密算法可以为同态加密算法。
可选地,第一通信端将消息摘要、第一部分签名及第一加密私钥发送至第二通信端的同时,该方法还可以包括:
将所述第一加密数及所述第二加密数发送至第二通信端。
其中,该第一加密数和第二加密数可以用于签名过程中重要参数的计算。
可选地,第二通信端生成第二部分签名的方法可以包括:
所述第二通信端随机生成第三随机数、第四随机数、第五随机数以及第六随机数;
所述第二通信端基于所述第三随机数生成第二部分签名。
具体地,第二通信端生成一个位于
Figure 360291DEST_PATH_IMAGE014
之间的第三随机数,该第三随机数即可以 用
Figure 377925DEST_PATH_IMAGE059
表示;以及生成一个位于
Figure 669229DEST_PATH_IMAGE014
之间的第四随机数,该第四随机数即可以用
Figure 201842DEST_PATH_IMAGE060
表示;以 及生成一个位于
Figure 604004DEST_PATH_IMAGE014
之间的第五随机数,该第五随机数即可以用
Figure 974681DEST_PATH_IMAGE061
表示;以及生成一个位 于
Figure 436886DEST_PATH_IMAGE014
之间的第六随机数,该第六随机数即可以用
Figure 660057DEST_PATH_IMAGE062
表示。其中,
Figure 600331DEST_PATH_IMAGE009
为正整数。之后,第二通信 端再基于第三随机数按照第二部分签名计算公式生成第二部分签名:
该第二部分签名计算公式为:
Figure 389296DEST_PATH_IMAGE063
其中,
Figure 22402DEST_PATH_IMAGE028
表示第二部分签名,
Figure 264028DEST_PATH_IMAGE059
表示第三随机数,
Figure 273572DEST_PATH_IMAGE008
表示椭圆曲线的参数。
可选地,第二通信端基于第一加密私钥和第二加密私钥加密获得第一中间参数的方法可以包括:
所述第二通信端对所述第二加密私钥和所述第四随机数加密获得第三加密数,对所述第三随机数和所述第四随机数加密获得第四加密数;以及基于所述第一加密私钥、所述第二私钥、所述第二加密数和所述第三加密数加密获得第一子参数、基于所述第一加密数、所述第二加密数和所述第四加密数加密获得第二子参数;以及对所述第四随机数和所述第五随机数加密获得第五加密数,对所述第四随机数和所述第六随机数加密获得第六加密数,对所述第二加密私钥和所述第六随机数加密获得第七加密数;其中,所述第一子参数和所述第二子参数构成所述第一中间参数。
具体地,第二通信端可以利用同态加密算法对第二加密私钥和第四随机数加密获 得第三加密数
Figure 120305DEST_PATH_IMAGE064
,并利用同态加密算法对第三随机数和第四随机数加密获得第四加密 数
Figure 721051DEST_PATH_IMAGE065
,并利用同态加密算法对第四随机数和第五随机数加密获得第五加密数
Figure 154700DEST_PATH_IMAGE066
, 并利用同态加密算法对第四随机数和第六随机数加密获得第六加密数
Figure 702356DEST_PATH_IMAGE067
,并利用同态 加密算法对第二加密私钥和第六随机数加密获得第七加密数
Figure 465912DEST_PATH_IMAGE068
。其中,该第三至第七加 密数也可以用于签名过程中重要参数的计算。
可选地,第二通信端基于第一加密私钥、第二私钥、第二加密数和第三加密数加密获得第一子参数的方法可以包括:
所述第二通信端基于所述第一加密私钥、所述第二私钥、所述第二加密数和所述第三加密数按照第一加密公式加密获得第一子参数;
该第一加密公式为:
Figure 175242DEST_PATH_IMAGE069
其中,
Figure 657039DEST_PATH_IMAGE070
表示第一子参数;
Figure 8386DEST_PATH_IMAGE016
表示第二私钥;
Figure 564132DEST_PATH_IMAGE058
表示第二加密数;
Figure 772260DEST_PATH_IMAGE060
表示第四随 机数;
Figure 413457DEST_PATH_IMAGE027
表示第一加密私钥;
Figure 302915DEST_PATH_IMAGE064
表示第三加密数;
Figure 41064DEST_PATH_IMAGE071
表示加法同态加密运算,加法同 态加密算法属于同态加密算法。
可选地,第二通信端基于第一加密数、第二加密数和第四加密数加密获得第二子参数的方法可以包括:
所述第二通信端基于所述第一加密数、所述第二加密数和所述第四加密数按照第二加密公式加密获得第二子参数;
该第二加密公式为:
Figure 92197DEST_PATH_IMAGE072
其中,
Figure 283007DEST_PATH_IMAGE073
表示第二子参数;
Figure 209112DEST_PATH_IMAGE059
表示第三随机数;
Figure 801768DEST_PATH_IMAGE058
表示第二加密数;
Figure 289381DEST_PATH_IMAGE060
表示第 四随机数;
Figure 170749DEST_PATH_IMAGE057
表示第一加密数;
Figure 198748DEST_PATH_IMAGE065
表示第四加密数;
Figure 583593DEST_PATH_IMAGE071
表示加法同态加密运算。
该第一子参数和第二子参数共同构成第一中间参数,该第一中间参数可以用于签名的计算。
可选地,第二通信端将消息摘要、第二部分签名、第一协同签名、第一加密私钥、第二加密私钥及第一中间参数发送至第三通信端的同时,该方法还可以包括:
将所述第五加密数、所述第六加密数和所述第七加密数发送至第三通信端。
其中,该第五加密数、第六加密数和第七加密数可以用于重要参数的计算。
可选地,第三通信端生成第三部分签名的方法可以包括:
所述第三通信端随机生成第七随机数和第八随机数,并基于所述第七随机数生成第三部分签名。
具体地,第三通信端生成一个位于
Figure 507686DEST_PATH_IMAGE014
之间的第七随机数,该第七随机数即可以 用
Figure 673089DEST_PATH_IMAGE074
表示;以及生成一个位于
Figure 442461DEST_PATH_IMAGE014
之间的第八随机数,该第八随机数即可以用
Figure 947392DEST_PATH_IMAGE075
表示。其 中,
Figure 839125DEST_PATH_IMAGE009
为正整数。之后,第三通信端再基于第七随机数按照第三部分签名计算公式生成第三 部分签名;
该第三部分签名计算公式为:
Figure 429506DEST_PATH_IMAGE076
其中,
Figure 498175DEST_PATH_IMAGE077
表示第三部分签名,
Figure 919929DEST_PATH_IMAGE074
表示第七随机数,
Figure 185826DEST_PATH_IMAGE008
表示椭圆曲线的参数。
可选地,第三通信端基于第一加密私钥、第二加密私钥及第三加密私钥,加密获得第二中间参数及第三中间参数的方法可以包括:
所述第三通信端基于所述第七随机数和所述第一签名生成第九随机数;以及基于所述第三加密私钥和所述第八随机数加密获得第八加密数;以及基于所述第八随机数和所述第九随机数加密获得第九加密数;以及基于所述第一子参数、所述第一加密私钥、所述第三私钥及所述第八加密数加密获得第三子参数、基于所述第二子参数和所述第九加密数加密获得第四子参数;其中,所述第三子参数和所述第四子参数构成所述第二中间参数;
所述第三通信端基于所述第六加密数和所述第七加密数加密获得第五子参数、基于所述第五加密数和所述第九随机数加密获得第六子参数;其中,所述第五子参数和所述第六子参数构成所述第三中间参数。
具体地,第三通信端可以基于第七随机数和第一签名生成按照第九随机数计算公式计算第九随机数;
该第九随机数计算公式为:
Figure 997924DEST_PATH_IMAGE078
其中,
Figure 640258DEST_PATH_IMAGE079
表示第九随机数,
Figure 916518DEST_PATH_IMAGE074
表示第七随机数,
Figure 87737DEST_PATH_IMAGE053
表示第一签名,
Figure 449448DEST_PATH_IMAGE042
表示求模计 算,
Figure 98735DEST_PATH_IMAGE009
为正整数。
具体地,第三通信端可以利用同态加密算法对第三加密私钥和第八随机数加密获 得第八加密数
Figure 698344DEST_PATH_IMAGE080
;并利用同态加密算法对第八随机数和对第九随机数加密获得第九 加密数
Figure 102780DEST_PATH_IMAGE081
可选地,第三通信端基于第一子参数、第一加密私钥、第三私钥及第八加密数加密获得第三子参数的方法可以包括:
所述第三通信端基于所述第一子参数、所述第一加密私钥、所述第三私钥及所述第八加密数按照第三加密公式加密获得第三子参数;
该第三加密公式为:
Figure 155050DEST_PATH_IMAGE082
其中,
Figure 106563DEST_PATH_IMAGE083
表示第三子参数;
Figure 357416DEST_PATH_IMAGE070
表示第一子参数;
Figure 136016DEST_PATH_IMAGE022
表示第三私钥;
Figure 410003DEST_PATH_IMAGE058
表示第二加 密数;
Figure 728988DEST_PATH_IMAGE075
表示第八随机数;
Figure 772031DEST_PATH_IMAGE084
表示第一加密私钥;
Figure 518270DEST_PATH_IMAGE080
表示第八加密数;
Figure 279553DEST_PATH_IMAGE071
表示加法 同态加密运算。
可选地,第三通信端基于第二子参数和第九加密数加密获得第四子参数的方法可以包括:
所述第三通信端基于所述第二子参数和所述第九加密数按照第四加密公式加密获得第四子参数;
该第四加密公式为:
Figure 339912DEST_PATH_IMAGE085
其中,
Figure 299778DEST_PATH_IMAGE086
表示第四子参数;
Figure 420181DEST_PATH_IMAGE073
表示第二子参数;
Figure 668760DEST_PATH_IMAGE079
表示第九随机数;
Figure 329548DEST_PATH_IMAGE058
表示第 二加密数;
Figure 848648DEST_PATH_IMAGE075
表示第八随机数;
Figure 139952DEST_PATH_IMAGE057
表示第一加密数;
Figure 672564DEST_PATH_IMAGE081
表示第九加密数;
Figure 809147DEST_PATH_IMAGE071
表示加 法同态加密运算。
该第三子参数和第四子参数可以构成第二中间参数,其中,该第二中间参数可以用于签名计算。
可选地,第三通信端基于第六加密数和第七加密数加密获得第五子参数的方法可以包括:
所述第三通信端基于所述第六加密数和所述第七加密数按照第五加密公式加密获得第五子参数;
该第五加密公式为:
Figure 743605DEST_PATH_IMAGE087
其中,
Figure 471390DEST_PATH_IMAGE088
表示第五子参数;
Figure 163402DEST_PATH_IMAGE079
表示第九随机数;
Figure 431573DEST_PATH_IMAGE067
表示第六加密数;
Figure 158220DEST_PATH_IMAGE075
表示第 八随机数;
Figure 791327DEST_PATH_IMAGE068
表示第七加密数;
Figure 298532DEST_PATH_IMAGE089
表示加法同态加密运算。
可选地,第三通信端基于第五加密数和第九随机数加密获得第六子参数的方法可以包括:
所述第三通信端基于所述第五加密数和所述第九随机数按照第六加密公式加密获得第六子参数;
该第六加密公式为:
Figure 42497DEST_PATH_IMAGE090
其中,
Figure 685968DEST_PATH_IMAGE091
表示第六子参数;
Figure 988511DEST_PATH_IMAGE079
表示第九随机数;
Figure 920695DEST_PATH_IMAGE066
表示第五加密数;
Figure 530668DEST_PATH_IMAGE075
表示第 八随机数;
Figure 231907DEST_PATH_IMAGE092
表示基于所述第九随机数和所述第五随机数加密获得的第十加密数;
Figure 206817DEST_PATH_IMAGE071
表示加法同态加密运算。
该第五子参数和第六子参数可以构成第三中间参数,其中,该第三中间参数可以用于签名计算。
第一通信端需要对第三通信端生成的第一签名进行验证,保证第一签名没有被泄露,提高签名的准确性和安全性,因此,可选地,第三通信端将第二中间参数及第一签名发送至第一通信端的同时,该方法还可以包括:
所述第三通信端将所述第二部分签名、所述第三部分签名及所述第二协同签名发送至所述第一通信端。
可选地,第一通信端对第四中间参数及第二中间参数进行解密,并基于解密结果计算获得第二签名的方法可以包括:
所述第一通信端基于所述第四中间参数及所述第二中间参数加密获得第一加密子签名及第二加密子签名;以及对所述第一加密子签名进行解密获得第一子签名,并对所述第二加密子签名进行解密获得第二子签名。
可选地,第一通信端可以基于第三子参数及第七子参数加密获得第一加密子签名;以及基于第四子参数及第八子参数加密获得第二加密子签名。
具体地,第一通信端可以基于第三子参数及第七子参数按照第七加密公式加密获得第一加密子签名;
第七加密公式为:
Figure 688613DEST_PATH_IMAGE093
其中,
Figure 774381DEST_PATH_IMAGE094
表示第一加密子签名;
Figure 392444DEST_PATH_IMAGE095
表示第七子参数;
Figure 538255DEST_PATH_IMAGE083
表示第三子参数;
Figure 179452DEST_PATH_IMAGE071
表示 加法同态加密运算。
第一通信端还可以基于第四子参数及第八子参数按照第八加密公式加密获得第二加密子签名;
第八加密公式为:
Figure 131227DEST_PATH_IMAGE096
其中,
Figure 541480DEST_PATH_IMAGE097
表示第二加密子签名;
Figure 642814DEST_PATH_IMAGE098
表示第八子参数;
Figure 833624DEST_PATH_IMAGE086
表示第四子参数;
Figure 261194DEST_PATH_IMAGE099
表 示加法同态加密运算。
可选地,第一通信端可以利用第四私钥对该第一加密子签名进行解密获得第一子 签名,并利用第四私钥对该第二加密子签名进行解密获得第二子签名,其中,该第四私钥可 以用
Figure 57112DEST_PATH_IMAGE100
表示,可以由第一通信端预先生成并保存,表示同态加密算法的私钥。
具体地,第一通信端可以利用第四私钥按照第一解密公式对第一加密子签名进行解密获得第一子签名:
第一解密公式为:
Figure 607042DEST_PATH_IMAGE101
其中,
Figure 957252DEST_PATH_IMAGE043
表示第一子签名;
Figure 250830DEST_PATH_IMAGE100
表示第四私钥;
Figure 901254DEST_PATH_IMAGE102
表示解密运算;
Figure 559769DEST_PATH_IMAGE103
等于
Figure 725171DEST_PATH_IMAGE094
, 表示第一加密子签名。
第一通信端还可以利用第四私钥按照第二解密公式对第二加密子签名进行解密获得第二子签名:
第二解密公式为:
Figure 760123DEST_PATH_IMAGE104
其中,
Figure 999474DEST_PATH_IMAGE044
表示第二子签名;
Figure 891207DEST_PATH_IMAGE100
表示第四私钥;
Figure 714544DEST_PATH_IMAGE102
表示解密运算;
Figure 553187DEST_PATH_IMAGE105
等于
Figure 974941DEST_PATH_IMAGE106
,表示第二加密子签名。
第一通信端生成第一子签名和第二子签名的同时,还可以基于第二部分签名、第三部分签名及第二协同签名生成第一验证签名,并利用该第一验证签名对第一签名进行验证,待验证通过后,第一通信端才可以基于该第一子签名和该第二子签名计算获得第二签名。
本实施例中,在三方通信涉及到的重要参数计算中,利用同态加密算法,主要是加法同态加密算法计算生成重要参数,保护了数据传输过程的安全性,使得参与计签名计算的通信方无需了解重要参数的真实数据,即可以完成计算过程,避免了被中间人攻击,造成重要参数泄露,从而影响私钥和数据的安全性。适用于涉及不可信云端环境的三方通信的数据传输,提高了密钥的安全性和数据的安全性。
在某些实施例中,第一通信端输出第一签名和第二签名后,即可以利用该第一签名和第二签名对数据进行签名,从而实现安全传输。此时,第三通信端可以利用验证公钥对该第一签名和第二签名进行验证。
第三通信端可以利用验证公钥证明验证公式成立;
若成立,则确定第一签名和第二签名验证成功。
该验证公式为:
Figure 975258DEST_PATH_IMAGE107
其中,
Figure 52936DEST_PATH_IMAGE036
表示第一签名;
Figure 226428DEST_PATH_IMAGE045
表示第二签名;
Figure 440372DEST_PATH_IMAGE012
表示第一私钥;
Figure 673907DEST_PATH_IMAGE016
表示第二私钥;
Figure 973301DEST_PATH_IMAGE022
表示第三私钥;
Figure 950485DEST_PATH_IMAGE054
表示第一随机数;
Figure 284514DEST_PATH_IMAGE108
表示第三随机数;
Figure 688950DEST_PATH_IMAGE074
表示第七随机数。
由第一通信端计算并输出的第二签名是按照第二签名计算公式得到的;
第二签名计算公式为:
Figure 210062DEST_PATH_IMAGE052
由此可知,第三通信端要验证第一签名和第二签名的正确性,也即是证明验证关系式成立;
该验证关系式可以为:
Figure 990936DEST_PATH_IMAGE109
其中,
Figure 680937DEST_PATH_IMAGE036
表示第一签名;
Figure 256274DEST_PATH_IMAGE045
表示第二签名;
Figure 530261DEST_PATH_IMAGE012
表示第一私钥;
Figure 786930DEST_PATH_IMAGE016
表示第二私钥;
Figure 892289DEST_PATH_IMAGE022
表示第三私钥;
Figure 576211DEST_PATH_IMAGE054
表示第一随机数;
Figure 399811DEST_PATH_IMAGE108
表示第三随机数;
Figure 194592DEST_PATH_IMAGE074
表示第七随机数;
Figure 420036DEST_PATH_IMAGE055
表示第二随 机数;
Figure 274860DEST_PATH_IMAGE060
表示第四随机数;
Figure 320176DEST_PATH_IMAGE075
表示第八随机数,
Figure 184227DEST_PATH_IMAGE042
表示求模计算,
Figure 201862DEST_PATH_IMAGE009
为正整数。
基于该验证关系式可以转换为验证公式,第三通信端可以直接利用验证公钥证明 验证公式的正确性。其中,验证公钥为
Figure 289904DEST_PATH_IMAGE026
,且由
Figure 258734DEST_PATH_IMAGE025
可以得到
Figure 723214DEST_PATH_IMAGE110
,由此可以证明:
Figure 595355DEST_PATH_IMAGE111
即第三通信端验证第一签名和第二签名正确,则可以保证数据传输的安全性,适用于涉及不可信云端环境的三方通信的数据传输,提高了密钥的安全性和数据的安全性。
如图3所示,为本发明实施例提供的一种签名处理装置一个实施例的结构示意图,该装置可以包括以下几个模块:
第一生成模块301,用于生成待签名消息的消息摘要及第一部分签名。
第一加密模块302,用于加密第一私钥获得第一加密私钥。
第一发送模块303,用于将所述消息摘要、所述第一部分签名及所述第一加密私钥发送至第二通信端;其中,所述第二通信端用于生成第二部分签名及结合所述第二部分签名和所述第一部分签名生成第一协同签名;以及加密第二私钥获得第二加密私钥,并基于所述第一加密私钥和所述第二加密私钥加密获得第一中间参数;以及将所述消息摘要、所述第二部分签名、所述第一协同签名、所述第一加密私钥、所述第二加密私钥及所述第一中间参数发送至第三通信端;其中,所述第三通信端用于生成第三部分签名及结合所述第三部分签名和所述第一协同签名生成第二协同签名,并基于所述第二协同签名及所述消息摘要获得第一签名;以及加密第三私钥获得第三加密私钥,并基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数;以及将所述第二中间参数及所述第一签名发送至第一通信端以及将所述第三中间参数发送至所述第二通信端,由所述第二通信端基于所述第三中间参数计算获得第四中间参数。
第一签名模块304,用于对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名。
第一输出模块305,用于输出所述第一签名和所述第二签名。
图3所述的签名处理装置应用于图1所示实施例中的第一通信端,可以执行图1所示实施例中第一通信端中所述的签名方法,其实现原理和技术效果不再赘述。对于上述实施例中的签名处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
如图4所示,为本发明实施例提供的一种签名处理装置另一个实施例的结构示意图,该装置可以包括以下几个模块:
第一接收模块401,用于接收第一通信端发送的待签名消息的消息摘要、第一部分签名及第一加密私钥;其中,所述消息摘要及所述第一部分签名由所述第一通信端生成;所述第一加密私钥由所述第一通信端对第一私钥加密获得。
第二生成模块402,用于生成第二部分签名及结合所述第二部分签名和所述第一部分签名生成第一协同签名。
第二加密模块403,用于加密第二私钥获得第二加密私钥,并基于所述第一加密私钥和所述第二加密私钥加密获得第一中间参数。
第二发送模块404,用于将所述消息摘要、所述第二部分签名、所述第一协同签名、所述第一加密私钥、所述第二加密私钥及所述第一中间参数发送至第三通信端;其中,所述第三通信端用于生成第三部分签名及结合所述第三部分签名和所述第一协同签名生成第二协同签名,并基于所述第二协同签名及所述消息摘要获得第一签名;以及加密第三私钥获得第三加密私钥,并基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数,以及将所述第二中间参数及所述第一签名发送至所述第一通信端。
第二接收模块405,用于接收所述第三通信端发送的所述第三中间参数。
计算模块406,用于基于所述第三中间参数计算获得第四中间参数,并将所述第四中间参数发送至所述第一通信端;其中,所述第一通信端用于对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名;以及输出所述第一签名和所述第二签名。
图4所述的签名处理装置应用于图1所示实施例中的第二通信端,可以执行图1所示实施例中第二通信端中所述的签名方法,其实现原理和技术效果不再赘述。对于上述实施例中的签名处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
如图5所示,为本发明实施例提供的一种签名处理装置另一个实施例的结构示意图,该装置可以包括以下几个模块:
第三接收模块501,用于接收第二通信端发送的消息摘要、第二部分签名、第一协同签名、第一加密私钥、第二加密私钥及第一中间参数;其中,所述消息摘要以及所述第一加密私钥由第一通信端生成并发送至所述第二通信端;所述第二部分签名由所述第二通信端生成;所述第一协同签名由所述第二通信端结合所述第二部分签名和第一部分签名生成;所述第二加密私钥由所述第二通信端对第二私钥加密获得;所述第一中间参数由所述第二通信端基于所述第一加密私钥和所述第二加密私钥加密获得。
第三生成模块502,用于生成第三部分签名及结合所述第三部分签名和所述第一协同签名生成第二协同签名,并基于所述第二协同签名及所述消息摘要获得第一签名。
第三加密模块503,用于加密第三私钥获得第三加密私钥,并基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数。
第三发送模块504,用于将所述第二中间参数及所述第一签名发送至所述第一通信端以及将所述第三中间参数发送至所述第二通信端;其中,所述第二通信端用于基于所述第三中间参数计算获得第四中间参数,并将所述第四中间参数发送至所述第一通信端;所述第一通信端用于对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名;以及输出所述第一签名和所述第二签名。
图5所述的签名处理装置应用于图1所示实施例中的第三通信端,可以执行图1所示实施例中第三通信端中所述的签名方法,其实现原理和技术效果不再赘述。对于上述实施例中的签名处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
如图6所示,为本发明实施例提供的一种签名处理系统一个实施例的结构示意图,该系统可以包括第一通信端601、第二通信端602以及第三通信端603;
所述第一通信端,用于生成待签名消息的消息摘要及第一部分签名;以及加密第一私钥获得第一加密私钥,并将所述消息摘要、所述第一部分签名及所述第一加密私钥发送至第二通信端;
所述第二通信端,用于生成第二部分签名及结合所述第二部分签名和所述第一部分签名生成第一协同签名;以及加密第二私钥获得第二加密私钥,并基于所述第一加密私钥和所述第二加密私钥加密获得第一中间参数;以及将所述消息摘要、所述第二部分签名、所述第一协同签名、所述第一加密私钥、所述第二加密私钥及所述第一中间参数发送至第三通信端;
所述第三通信端,用于生成第三部分签名及结合所述第三部分签名和所述第一协同签名生成第二协同签名,并基于所述第二协同签名及所述消息摘要获得第一签名;以及加密第三私钥获得第三加密私钥,并基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数;以及将所述第二中间参数及所述第一签名发送至所述第一通信端以及将所述第三中间参数发送至所述第二通信端;其中,所述第一私钥、所述第二私钥以及所述第三私钥分别由所述第一通信端、所述第二通信端以及所述第三通信端各自生成,并由所述第三通信端生成验证公钥;
所述第二通信端,还用于基于所述第三中间参数计算获得第四中间参数,并将所述第四中间参数发送至所述第一通信端;
所述第一通信端,还用于对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名;以及输出所述第一签名和所述第二签名。
图6所述的签名处理系统可以执行图1所示实施例中所述的签名处理方法,其实现原理和技术效果不再赘述。对于上述实施例中的签名处理系统中各个通信端执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (16)

1.一种签名处理方法,其特征在于,包括:
第一通信端生成待签名消息的消息摘要及第一部分签名;以及加密第一私钥获得第一加密私钥,并将所述消息摘要、所述第一部分签名及所述第一加密私钥发送至第二通信端;
所述第二通信端生成第二部分签名及结合所述第二部分签名和所述第一部分签名生成第一协同签名;以及加密第二私钥获得第二加密私钥,并基于所述第一加密私钥和所述第二加密私钥加密获得第一中间参数;以及将所述消息摘要、所述第二部分签名、所述第一协同签名、所述第一加密私钥、所述第二加密私钥及所述第一中间参数发送至第三通信端;
所述第三通信端生成第三部分签名及结合所述第三部分签名和所述第一协同签名生成第二协同签名,并基于所述第二协同签名及所述消息摘要获得第一签名;以及加密第三私钥获得第三加密私钥,并基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数;以及将所述第二中间参数及所述第一签名发送至所述第一通信端以及将所述第三中间参数发送至所述第二通信端;其中,所述第一私钥、所述第二私钥以及所述第三私钥分别由所述第一通信端、所述第二通信端以及所述第三通信端各自生成,并由所述第三通信端生成验证公钥;
所述第二通信端基于所述第三中间参数计算获得第四中间参数,并将所述第四中间参数发送至所述第一通信端;
所述第一通信端对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名;以及输出所述第一签名和所述第二签名。
2.根据权利要求1所述的方法,其特征在于,所述第一通信端生成待签名消息的消息摘要及第一部分签名之前,所述方法还包括:
第一通信端生成第一私钥;以及基于所述第一私钥生成第一公钥,并将所述第一公钥发送至第二通信端;
所述第二通信端生成第二私钥;以及基于所述第二私钥生成第二公钥及结合所述第一公钥和所述第二公钥生成临时公钥,并将所述临时公钥发送至第三通信端;
所述第三通信端生成第三私钥;以及基于所述第三私钥生成第三公钥及结合所述临时公钥和所述第三公钥生成验证公钥。
3.根据权利要求1所述的方法,其特征在于,所述第一通信端输出所述第一签名和所述第二签名之后,所述方法还包括:
所述第三通信端利用所述验证公钥对所述第一签名和所述第二签名进行验证。
4.根据权利要求1所述的方法,其特征在于,所述第一通信端生成待签名消息的消息摘要及第一部分签名包括:
所述第一通信端生成待签名消息的消息摘要;
所述第一通信端随机生成第一随机数和第二随机数,并基于所述第一随机数生成第一部分签名;以及分别加密所述第一随机数和所述第二随机数获得第一加密数和第二加密数;
所述第一通信端将所述消息摘要、所述第一部分签名及所述第一加密私钥发送至第二通信端的同时,所述方法还包括:
将所述第一加密数及所述第二加密数发送至第二通信端;
所述第二通信端生成第二部分签名包括:
所述第二通信端随机生成第三随机数、第四随机数、第五随机数以及第六随机数;
所述第二通信端基于所述第三随机数生成第二部分签名;
所述第二通信端基于所述第一加密私钥和所述第二加密私钥加密获得第一中间参数包括:
所述第二通信端对所述第二加密私钥和所述第四随机数加密获得第三加密数,对所述第三随机数和所述第四随机数加密获得第四加密数;以及基于所述第一加密私钥、所述第二私钥、所述第二加密数和所述第三加密数加密获得第一子参数、基于所述第一加密数、所述第二加密数和所述第四加密数加密获得第二子参数;以及对所述第四随机数和所述第五随机数加密获得第五加密数,对所述第四随机数和所述第六随机数加密获得第六加密数,对所述第二加密私钥和所述第六随机数加密获得第七加密数;其中,所述第一子参数和所述第二子参数构成所述第一中间参数;
所述第二通信端将所述消息摘要、所述第二部分签名、所述第一协同签名、所述第一加密私钥、所述第二加密私钥及所述第一中间参数发送至第三通信端的同时,所述方法还包括:
将所述第五加密数、所述第六加密数和所述第七加密数发送至第三通信端;
所述第三通信端生成第三部分签名包括:
所述第三通信端随机生成第七随机数和第八随机数,并基于所述第七随机数生成第三部分签名;
所述第三通信端基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数包括:
所述第三通信端基于所述第七随机数和所述第一签名生成第九随机数;以及基于所述第三加密私钥和所述第八随机数加密获得第八加密数;以及基于所述第八随机数和所述第九随机数加密获得第九加密数;以及基于所述第一子参数、所述第一加密私钥、所述第三私钥及所述第八加密数加密获得第三子参数、基于所述第二子参数和所述第九加密数加密获得第四子参数;其中,所述第三子参数和所述第四子参数构成所述第二中间参数;
所述第三通信端基于所述第六加密数和所述第七加密数加密获得第五子参数、基于所述第五加密数和所述第九随机数加密获得第六子参数;其中,所述第五子参数和所述第六子参数构成所述第三中间参数;
所述第三通信端将所述第二中间参数和所述第一签名发送至所述第一通信端以及将所述第三中间参数发送至所述第二通信端包括:
所述第三通信端将所述第三子参数、所述第四子参数和所述第一签名发送至所述第一通信端以及将所述第五子参数和所述第六子参数发送至所述第二通信端;
所述第二通信端基于所述第三中间参数计算获得第四中间参数包括:
所述第二通信端基于所述第五子参数和所述第六随机数计算获得第七子参数、基于所述第六子参数和所述第五随机数计算获得第八子参数;其中,所述第七子参数和所述第八子参数构成所述第四中间参数。
5.根据权利要求4所述的方法,其特征在于,所述第三通信端将所述第二中间参数及所述第一签名发送至所述第一通信端的同时,所述方法还包括:
所述第三通信端将所述第二部分签名、所述第三部分签名及所述第二协同签名发送至所述第一通信端;
所述第一通信端对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名包括:
所述第一通信端基于所述第四中间参数及所述第二中间参数加密获得第一加密子签名及第二加密子签名;以及对所述第一加密子签名进行解密获得第一子签名,并对所述第二加密子签名进行解密获得第二子签名;
所述第一通信端基于所述第二部分签名、所述第三部分签名及所述第二协同签名生成第一验证签名,并利用所述第一验证签名验证所述第一签名;
若验证通过,所述第一通信端基于所述第一子签名和所述第二子签名计算获得第二签名。
6.根据权利要求5所述的方法,其特征在于,所述第一通信端基于所述第四中间参数及所述第二中间参数加密获得第一加密子签名及第二加密子签名包括:
所述第一通信端基于所述第三子参数及所述第七子参数加密获得第一加密子签名;以及基于所述第四子参数及所述第八子参数加密获得第二加密子签名;
所述第一通信端对所述第一加密子签名进行解密获得第一子签名,并对所述第二加密子签名进行解密获得第二子签名包括:
所述第一通信端利用第四私钥对所述第一加密子签名进行解密获得第一子签名,并利用所述第四私钥对所述第二加密子签名进行解密获得第二子签名。
7.根据权利要求1所述的方法,其特征在于,所述第三通信端基于所述第二协同签名及所述消息摘要获得第一签名之后,所述方法还包括:
所述第三通信端验证所述第一签名是否等于0;
若是,返回所述第一通信端生成待签名消息的消息摘要及第一部分签名的步骤重新执行;
若否,执行所述加密第三私钥获得第三加密私钥的步骤。
8.根据权利要求1所述的方法,其特征在于,所述第一通信端基于解密结果计算获得第二签名;以及输出所述第一签名和所述第二签名包括:
所述第一通信端基于解密结果计算获得第二签名,并验证所述第二签名是否等于0;
若否,输出所述第一签名和所述第二签名;
若是,返回所述第一通信端生成待签名消息的消息摘要及第一部分签名的步骤重新执行。
9.根据权利要求4所述的方法,其特征在于,所述第二通信端基于所述第一加密私钥、所述第二私钥、所述第二加密数和所述第三加密数加密获得第一子参数包括:
所述第二通信端基于所述第一加密私钥、所述第二私钥、所述第二加密数和所述第三加密数按照第一加密公式加密获得第一子参数;
所述第一加密公式为:
Figure 212902DEST_PATH_IMAGE001
其中,
Figure 598884DEST_PATH_IMAGE002
表示第一子参数;
Figure 847463DEST_PATH_IMAGE003
表示第二私钥;
Figure 711514DEST_PATH_IMAGE004
表示第二加密数;
Figure 994728DEST_PATH_IMAGE005
表示第四随机 数;
Figure 286032DEST_PATH_IMAGE006
表示第一加密私钥;
Figure 520442DEST_PATH_IMAGE007
表示第三加密数;
Figure 922604DEST_PATH_IMAGE008
表示加法同态加密运算;所述
Figure 60324DEST_PATH_IMAGE009
表 示第二随机数;所述
Figure 522530DEST_PATH_IMAGE010
表示第一私钥;
所述第二通信端基于所述第一加密数、所述第二加密数和所述第四加密数加密获得第二子参数包括:
所述第二通信端基于所述第一加密数、所述第二加密数和所述第四加密数按照第二加密公式加密获得第二子参数;
所述第二加密公式为:
Figure 745701DEST_PATH_IMAGE011
其中,
Figure 951554DEST_PATH_IMAGE012
表示第二子参数;
Figure 209360DEST_PATH_IMAGE013
表示第三随机数;
Figure 108046DEST_PATH_IMAGE004
表示第二加密数;
Figure 308259DEST_PATH_IMAGE005
表示第四随 机数;
Figure 52224DEST_PATH_IMAGE014
表示第一加密数;
Figure 430116DEST_PATH_IMAGE015
表示第四加密数;
Figure 234124DEST_PATH_IMAGE008
表示加法同态加密运算;
所述第三通信端基于所述第一子参数、所述第一加密私钥、所述第三私钥及所述第八加密数加密获得第三子参数包括:
所述第三通信端基于所述第一子参数、所述第一加密私钥、所述第三私钥及所述第八加密数按照第三加密公式加密获得第三子参数;
所述第三加密公式为:
Figure 431887DEST_PATH_IMAGE016
其中,
Figure 979543DEST_PATH_IMAGE017
表示第三子参数;
Figure 946362DEST_PATH_IMAGE018
表示第三私钥;
Figure 186850DEST_PATH_IMAGE004
表示第二加密数;
Figure 871910DEST_PATH_IMAGE019
表示第八随机 数;
Figure 721792DEST_PATH_IMAGE020
表示第一加密私钥;
Figure 543117DEST_PATH_IMAGE021
表示第八加密数;
Figure 954507DEST_PATH_IMAGE008
表示加法同态加密运算;
所述第三通信端基于所述第二子参数和所述第九加密数加密获得第四子参数包括:
所述第三通信端基于所述第二子参数和所述第九加密数按照第四加密公式加密获得第四子参数;
所述第四加密公式为:
Figure 861283DEST_PATH_IMAGE022
其中,
Figure 16321DEST_PATH_IMAGE023
表示第四子参数;
Figure 957732DEST_PATH_IMAGE012
表示第二子参数;
Figure 540023DEST_PATH_IMAGE024
表示第九随机数;
Figure 934095DEST_PATH_IMAGE004
表示第二加 密数;
Figure 892824DEST_PATH_IMAGE019
表示第八随机数;
Figure 924627DEST_PATH_IMAGE014
表示第一加密数;
Figure 677820DEST_PATH_IMAGE025
表示第九加密数;
Figure 559188DEST_PATH_IMAGE008
表示加法同 态加密运算;
所述第三通信端基于所述第六加密数和所述第七加密数加密获得第五子参数包括:
所述第三通信端基于所述第六加密数和所述第七加密数按照第五加密公式加密获得第五子参数;
所述第五加密公式为:
Figure 56029DEST_PATH_IMAGE026
其中,
Figure 972032DEST_PATH_IMAGE027
表示第五子参数;
Figure 630546DEST_PATH_IMAGE024
表示第九随机数;
Figure 999211DEST_PATH_IMAGE028
表示第六加密数;
Figure 34163DEST_PATH_IMAGE019
表示第八随 机数;
Figure 303208DEST_PATH_IMAGE029
表示第七加密数;
Figure 398203DEST_PATH_IMAGE030
表示加法同态加密运算;所述
Figure 254164DEST_PATH_IMAGE031
表示第六随机数;
所述第三通信端基于所述第五加密数和所述第九随机数加密获得第六子参数包括:
所述第三通信端基于所述第五加密数和所述第九随机数按照第六加密公式加密获得第六子参数;
所述第六加密公式为:
Figure 92807DEST_PATH_IMAGE032
其中,
Figure 452244DEST_PATH_IMAGE033
表示第六子参数;
Figure 718140DEST_PATH_IMAGE024
表示第九随机数;
Figure 795817DEST_PATH_IMAGE034
表示第五加密数;
Figure 703731DEST_PATH_IMAGE019
表示第八随 机数;
Figure 183253DEST_PATH_IMAGE035
表示基于所述第九随机数和所述第五随机数加密获得的第十加密数;
Figure 121516DEST_PATH_IMAGE008
表示 加法同态加密运算;所述
Figure 686489DEST_PATH_IMAGE036
表示第五随机数。
10.根据权利要求6所述的方法,其特征在于,所述第一通信端基于所述第三子参数及所述第七子参数加密获得第一加密子签名包括:
所述第一通信端基于所述第三子参数及所述第七子参数按照第七加密公式加密获得第一加密子签名:
所述第七加密公式为:
Figure 866935DEST_PATH_IMAGE037
其中,
Figure 466544DEST_PATH_IMAGE038
表示第一加密子签名;
Figure 74242DEST_PATH_IMAGE039
表示第七子参数;
Figure 126512DEST_PATH_IMAGE017
表示第三子参数;
Figure 845069DEST_PATH_IMAGE040
表示加法 同态加密运算;
所述第一通信端基于所述第四子参数及所述第八子参数加密获得第二加密子签名包括:
所述第一通信端基于所述第四子参数及所述第八子参数按照第八加密公式加密获得第二加密子签名:
所述第八加密公式为:
Figure 299185DEST_PATH_IMAGE041
其中,
Figure 343364DEST_PATH_IMAGE042
表示第二加密子签名;
Figure 381465DEST_PATH_IMAGE043
表示第八子参数;
Figure 903713DEST_PATH_IMAGE023
表示第四子参数;
Figure 212335DEST_PATH_IMAGE040
表示加法 同态加密运算;
所述第一通信端利用第四私钥对所述第一加密子签名进行解密获得第一子签名包括:
所述第一通信端利用第四私钥按照第一解密公式对所述第一加密子签名进行解密获得第一子签名:
所述第一解密公式为:
Figure 161836DEST_PATH_IMAGE044
其中,
Figure 188698DEST_PATH_IMAGE045
表示第一子签名;
Figure 514637DEST_PATH_IMAGE046
表示第四私钥;
Figure 677765DEST_PATH_IMAGE047
表示解密运算;
Figure 798168DEST_PATH_IMAGE048
等于
Figure 577905DEST_PATH_IMAGE038
,表示 第一加密子签名;
所述第一通信端利用第四私钥对所述第二加密子签名进行解密获得第二子签名包括:
所述第一通信端利用第四私钥按照第二解密公式对所述第二加密子签名进行解密获得第二子签名:
所述第二解密公式为:
Figure 943421DEST_PATH_IMAGE049
其中,
Figure 961055DEST_PATH_IMAGE050
表示第二子签名;
Figure 517938DEST_PATH_IMAGE046
表示第四私钥;
Figure 253813DEST_PATH_IMAGE047
表示解密运算;
Figure 187134DEST_PATH_IMAGE051
等于
Figure 59275DEST_PATH_IMAGE052
,表 示第二加密子签名。
11.根据权利要求3所述的方法,其特征在于,所述第三通信端利用所述验证公钥对所述第一签名和所述第二签名进行验证包括:
所述第三通信端利用所述验证公钥验证下述验证公式成立;
若成立,则确定第一签名和第二签名验证成功;
所述验证公式为:
Figure 787060DEST_PATH_IMAGE053
其中,
Figure 10231DEST_PATH_IMAGE054
表示第一签名;
Figure 216084DEST_PATH_IMAGE055
表示第二签名;
Figure 706846DEST_PATH_IMAGE010
表示第一私钥;
Figure 605532DEST_PATH_IMAGE003
表示第二私钥;
Figure 50420DEST_PATH_IMAGE018
表示 第三私钥;
Figure 59964DEST_PATH_IMAGE056
表示第一随机数;
Figure 172277DEST_PATH_IMAGE057
表示第三随机数;
Figure 976285DEST_PATH_IMAGE058
表示第七随机数。
12.根据权利要求2所述的方法,其特征在于,所述第一通信端生成第一私钥包括:
第一通信端随机生成第十随机数,并将所述第十随机数作为第一私钥;
所述第二通信端生成第二私钥包括:
所述第二通信端随机生成第十一随机数,并将所述第十一随机数作为第二私钥;
所述第三通信端生成第三私钥包括:
所述第三通信端随机生成第十二随机数,并将所述第十二随机数作为第三私钥。
13.一种签名处理装置,其特征在于,包括:
第一生成模块,用于生成待签名消息的消息摘要及第一部分签名;
第一加密模块,用于加密第一私钥获得第一加密私钥;
第一发送模块,用于将所述消息摘要、所述第一部分签名及所述第一加密私钥发送至第二通信端;其中,所述第二通信端用于生成第二部分签名及结合所述第二部分签名和所述第一部分签名生成第一协同签名;以及加密第二私钥获得第二加密私钥,并基于所述第一加密私钥和所述第二加密私钥加密获得第一中间参数;以及将所述消息摘要、所述第二部分签名、所述第一协同签名、所述第一加密私钥、所述第二加密私钥及所述第一中间参数发送至第三通信端;其中,所述第三通信端用于生成第三部分签名及结合所述第三部分签名和所述第一协同签名生成第二协同签名,并基于所述第二协同签名及所述消息摘要获得第一签名;以及加密第三私钥获得第三加密私钥,并基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数;以及将所述第二中间参数及所述第一签名发送至第一通信端以及将所述第三中间参数发送至所述第二通信端,由所述第二通信端基于所述第三中间参数计算获得第四中间参数;
第一签名模块,用于对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名;
第一输出模块,用于输出所述第一签名和所述第二签名。
14.一种签名处理装置,其特征在于,包括:
第一接收模块,用于接收第一通信端发送的待签名消息的消息摘要、第一部分签名及第一加密私钥;其中,所述消息摘要及所述第一部分签名由所述第一通信端生成;所述第一加密私钥由所述第一通信端对第一私钥加密获得;
第二生成模块,用于生成第二部分签名及结合所述第二部分签名和所述第一部分签名生成第一协同签名;
第二加密模块,用于加密第二私钥获得第二加密私钥,并基于所述第一加密私钥和所述第二加密私钥加密获得第一中间参数;
第二发送模块,用于将所述消息摘要、所述第二部分签名、所述第一协同签名、所述第一加密私钥、所述第二加密私钥及所述第一中间参数发送至第三通信端;其中,所述第三通信端用于生成第三部分签名及结合所述第三部分签名和所述第一协同签名生成第二协同签名,并基于所述第二协同签名及所述消息摘要获得第一签名;以及加密第三私钥获得第三加密私钥,并基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数,以及将所述第二中间参数及所述第一签名发送至所述第一通信端;
第二接收模块,用于接收所述第三通信端发送的所述第三中间参数;
计算模块,用于基于所述第三中间参数计算获得第四中间参数,并将所述第四中间参数发送至所述第一通信端;其中,所述第一通信端用于对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名;以及输出所述第一签名和所述第二签名。
15.一种签名处理装置,其特征在于,包括:
第三接收模块,用于接收第二通信端发送的消息摘要、第二部分签名、第一协同签名、第一加密私钥、第二加密私钥及第一中间参数;其中,所述消息摘要以及所述第一加密私钥由第一通信端生成并发送至所述第二通信端;所述第二部分签名由所述第二通信端生成;所述第一协同签名由所述第二通信端结合所述第二部分签名和第一部分签名生成;所述第一部分签名由所述第一通信端生成并发送至所述第二通信端;所述第二加密私钥由所述第二通信端对第二私钥加密获得;所述第一中间参数由所述第二通信端基于所述第一加密私钥和所述第二加密私钥加密获得;
第三生成模块,用于生成第三部分签名及结合所述第三部分签名和所述第一协同签名生成第二协同签名,并基于所述第二协同签名及所述消息摘要获得第一签名;
第三加密模块,用于加密第三私钥获得第三加密私钥,并基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数;
第三发送模块,用于将所述第二中间参数及所述第一签名发送至所述第一通信端以及将所述第三中间参数发送至所述第二通信端;其中,所述第二通信端用于基于所述第三中间参数计算获得第四中间参数,并将所述第四中间参数发送至所述第一通信端;所述第一通信端用于对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名;以及输出所述第一签名和所述第二签名。
16.一种签名处理系统,其特征在于,包括第一通信端、第二通信端以及第三通信端;
所述第一通信端,用于生成待签名消息的消息摘要及第一部分签名;以及加密第一私钥获得第一加密私钥,并将所述消息摘要、所述第一部分签名及所述第一加密私钥发送至第二通信端;
所述第二通信端,用于生成第二部分签名及结合所述第二部分签名和所述第一部分签名生成第一协同签名;以及加密第二私钥获得第二加密私钥,并基于所述第一加密私钥和所述第二加密私钥加密获得第一中间参数;以及将所述消息摘要、所述第二部分签名、所述第一协同签名、所述第一加密私钥、所述第二加密私钥及所述第一中间参数发送至第三通信端;
所述第三通信端,用于生成第三部分签名及结合所述第三部分签名和所述第一协同签名生成第二协同签名,并基于所述第二协同签名及所述消息摘要获得第一签名;以及加密第三私钥获得第三加密私钥,并基于所述第一加密私钥、所述第二加密私钥及所述第三加密私钥,加密获得第二中间参数及第三中间参数;以及将所述第二中间参数及所述第一签名发送至所述第一通信端以及将所述第三中间参数发送至所述第二通信端;其中,所述第一私钥、所述第二私钥以及所述第三私钥分别由所述第一通信端、所述第二通信端以及所述第三通信端各自生成,并由所述第三通信端生成验证公钥;
所述第二通信端,还用于基于所述第三中间参数计算获得第四中间参数,并将所述第四中间参数发送至所述第一通信端;
所述第一通信端,还用于对所述第四中间参数及所述第二中间参数进行解密,并基于解密结果计算获得第二签名;以及输出所述第一签名和所述第二签名。
CN202010677627.6A 2020-07-15 2020-07-15 签名处理方法、装置及系统 Active CN111565108B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010677627.6A CN111565108B (zh) 2020-07-15 2020-07-15 签名处理方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010677627.6A CN111565108B (zh) 2020-07-15 2020-07-15 签名处理方法、装置及系统

Publications (2)

Publication Number Publication Date
CN111565108A CN111565108A (zh) 2020-08-21
CN111565108B true CN111565108B (zh) 2020-11-24

Family

ID=72075470

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010677627.6A Active CN111565108B (zh) 2020-07-15 2020-07-15 签名处理方法、装置及系统

Country Status (1)

Country Link
CN (1) CN111565108B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112822026B (zh) * 2021-04-22 2021-09-17 北京信安世纪科技股份有限公司 数字签名方法、装置及系统
CN115134093B (zh) * 2022-08-30 2022-11-15 北京信安世纪科技股份有限公司 数字签名方法及计算设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110492990B (zh) * 2018-05-15 2021-10-15 华为技术有限公司 区块链场景下的私钥管理方法、装置及系统
CN108667625B (zh) * 2018-07-19 2021-09-24 数安时代科技股份有限公司 协同sm2的数字签名方法
CN108964906B (zh) * 2018-07-19 2021-05-28 数安时代科技股份有限公司 协同ecc的数字签名方法
CN109672539B (zh) * 2019-03-01 2021-11-05 深圳市电子商务安全证书管理有限公司 Sm2算法协同签名及解密方法、装置及系统
US11070379B2 (en) * 2019-04-18 2021-07-20 Advanced New Technologies Co., Ltd. Signature verification for a blockchain ledger
CN111200502B (zh) * 2020-01-03 2023-04-07 信安神州科技(广州)有限公司 协同数字签名方法和装置
CN111314089B (zh) * 2020-02-18 2023-08-08 数据通信科学技术研究所 一种基于sm2的两方协同签名方法及解密方法

Also Published As

Publication number Publication date
CN111565108A (zh) 2020-08-21

Similar Documents

Publication Publication Date Title
US11108565B2 (en) Secure communications providing forward secrecy
CN108667626B (zh) 安全的两方协作sm2签名方法
US10785019B2 (en) Data transmission method and apparatus
CN109309569B (zh) 基于sm2算法的协同签名的方法、装置及存储介质
CN107947913B (zh) 一种基于身份的匿名认证方法与系统
CN107707358B (zh) 一种ec-kcdsa数字签名生成方法及系统
CN107634836B (zh) 一种sm2数字签名生成方法及系统
Rodriguez-Henriquez et al. A brief introduction to modern cryptography
CN108199835B (zh) 一种多方联合私钥解密方法
CN107659395B (zh) 一种多服务器环境下基于身份的分布式认证方法及系统
CN110120939B (zh) 一种基于异构系统的可否认认证的加密方法和系统
US11870891B2 (en) Certificateless public key encryption using pairings
CN110113150B (zh) 基于无证书环境的可否认认证的加密方法和系统
CN109547209B (zh) 一种两方sm2数字签名生成方法
CN112564907B (zh) 密钥生成方法及装置、加密方法及装置、解密方法及装置
CN111355582A (zh) 基于sm2算法的两方联合签名和解密的方法及系统
CN111052673A (zh) 匿名广播方法、密钥交换方法、匿名广播系统、密钥交换系统、通信装置、程序
CN111565108B (zh) 签名处理方法、装置及系统
CN114726546A (zh) 数字身份认证方法、装置、设备和存储介质
CN108055134B (zh) 椭圆曲线点数乘及配对运算的协同计算方法及系统
CN106534077B (zh) 一种基于对称密码的可认证的代理重加密系统及方法
CN111245594B (zh) 一种基于同态运算的协同签名方法及系统
US20220038267A1 (en) Methods and devices for secured identity-based encryption systems with two trusted centers
WO2023048711A1 (en) Threshold secret share generation for distributed symmetric cryptography
WO2023055371A1 (en) Replicated secret share generation for distributed symmetric cryptography

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