CN108199835B - 一种多方联合私钥解密方法 - Google Patents

一种多方联合私钥解密方法 Download PDF

Info

Publication number
CN108199835B
CN108199835B CN201810051923.8A CN201810051923A CN108199835B CN 108199835 B CN108199835 B CN 108199835B CN 201810051923 A CN201810051923 A CN 201810051923A CN 108199835 B CN108199835 B CN 108199835B
Authority
CN
China
Prior art keywords
party
decryption
private key
ciphertext
service center
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
CN201810051923.8A
Other languages
English (en)
Other versions
CN108199835A (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 JN TASS TECHNOLOGY CO LTD
Original Assignee
BEIJING JN TASS 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 BEIJING JN TASS TECHNOLOGY CO LTD filed Critical BEIJING JN TASS TECHNOLOGY CO LTD
Priority to CN201810051923.8A priority Critical patent/CN108199835B/zh
Publication of CN108199835A publication Critical patent/CN108199835A/zh
Application granted granted Critical
Publication of CN108199835B publication Critical patent/CN108199835B/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/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)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种多方联合私钥解密方法及系统,私钥d由m份私钥因子di组成,i=[1,m],其中m≥2,m份私钥因子di由联合各方在密钥生成时独立秘密产生并秘密保存在各自的设备中;多方联合对密文解密时,需要m个联合方按照一定顺序各自使用自己保存的私钥因子di进行运算而共同参与完成对密文的解密。系统包括m个联合方,每个联合方各自具有独立的子系统,每个子系统包括联合密钥生成模块、倍点运算模块和明文计算模块。本发明的多方联合私钥解密方法及系统,改变了过去私钥解密只能由个体进行运算的限制,将私钥解密扩展到由多个独立个体组成的联合体的情况,并在各方联合完成私钥解密运算的情况下,才可以实现该联合体的私钥解密,安全性更高。

Description

一种多方联合私钥解密方法
技术领域
本发明涉及信息安全技术领域,尤其涉及一种多方联合私钥解密方法。
背景技术
使用SM2公钥密码体系的加解密是基于密钥对(d,P),包括一个公钥P和一个私钥d。其中私钥d被秘密保存,可应用于对公钥加密数据的解密。
传统的方法是解密设备独立秘密生产一组密钥对(d,P),并秘密保存私钥d。需要解密时,解密设备独立使用私钥d对密文C进行解密运算出明文M。
对于SM2椭圆曲线公钥密码算法,使用公钥P对明文M进行加密:
C=En(P,k,M)
其中,En()表示SM2加密运算,P为公钥,k为随机数,M为明文。
得到的密文格式C的格式为:C=C1||C2||C3
其中C1=(x,y)为512比特点坐标数据,C2为密文数据(与明文等长),C3为256比特的数据与公钥结合后的杂凑值;
解密需使用私钥d,即:
M=De(d,C)
其中,De()表示SM2解密运算,d为私钥,C为密文。得到的明文M,关键步骤为:
1.计算[d]C1=(x2,y2);即使用私钥d对密文C1部分计算。
2.计算t=KDF(x2||y2,klen);klen为密文C2的长度;
3.计算明文M=C2⊕t;输出明文M。
在公钥体系下,私钥解密是使用私钥d对加密数据进行运算的结果。对于诸如:笔记本、智能手机、电视机顶盒等终端设备缺乏专门的安全部件时,私钥将很难做到秘密保存,特别是在使用时,更容易遭到蠕虫、木马等恶意软件的攻击,造成私钥泄露。
发明内容
基于此,本发明的目的在于提供一种多方联合私钥解密方法,将私钥解密扩展到由多个独立个体组成的联合体的情况,并在各方联合完成私钥解密运算的情况下,才可以实现该联合体的私钥解密,安全性更高。为实现上述目的,本发明的技术方案如下:
一种多方联合私钥解密方法,私钥d由m份私钥因子di组成,i=[1,m],其中m≥3,m份私钥因子di由联合各方在密钥生成时独立秘密产生并秘密保存在各自的设备中;多方联合对密文C=C1||C2||C3解密时,需要m个联合方按照一定顺序各自使用自己保存的私钥因子di进行运算而共同参与完成对密文C的解密,其中,C1为坐标参数,C2为密文数据,C3为256比特的数据与公钥结合后的杂凑值,“||”表示前后两个数据串的拼接。
使用私钥解密时,m个联合方各自使用自己保存的私钥因子di进行运算,按照1~m顺序,进行运算,其中第i方接收第i-1方的运算结果Ri-1,计算得到结果Ri,并将结果发送给第i+1方。直至最后第m方。计算出明文M。
优选地,m个联合方按照一定顺序各自使用自己保存的私钥因子di进行运算而共同参与完成对密文C的解密,包括如下步骤:
第一顺序方验证C1是否满足SM2椭圆方程且C1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则恢复本方秘密保存的私钥因子d1,使用单向函数fd()计算R1=fd(d1,C1),并将R1、C2和C3发送至第二顺序方;
第二顺序方验证R1是否满足SM2椭圆方程且R1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则恢复本方秘密保存的私钥因子d2,计算R2=fd(d2,R1),并将R2、C2和C3发送至下一顺序方;
以此类推,直至到m个联合方的最后顺序方;
最后顺序方验证Rm-1是否满足SM2椭圆方程且Rm-1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则恢复本方秘密保存的私钥因子dm,计算Rm=fd(dm,Rm-1)=(x,y),同时计算t=KDF(x||y,klen),最后计算出明文M=C2⊕t;其中klen为密文C2的长度,KDF(x||y,klen)为SM2公钥密码算法的密钥派生函数,(x,y)表示椭圆曲线上的点坐标。
进一步地,m个联合方中的每个联合方还可以根据各自的私钥因子di计算出对应的公钥因子Pi,每个联合方还将自己的公钥因子Pi传递给需要的其它联合方,从而可以对传输数据进行加密保护或签名防伪。
优选地,m个联合方按照一定顺序各自使用自己保存的私钥因子di进行运算而共同参与完成对密文C的解密,包括如下步骤:
第一顺序方验证C1是否满足SM2椭圆方程且C1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则恢复本方秘密保存的私钥因子d1,使用单向函数fd()计算R1=fd(d1,C1),并使用私钥因子d1对数据R1||C2||C3进行数字签名S1=(r1,s1),并将结果Q1=R1||C2||C3||r1||s1发送至第二顺序方;
第二顺序方使用第一顺序方的公钥因子P1对数字签名值(r1,s1)进行签名验证,如签名验证不通过,则返回错误,联合解密失败;如签名验证通过,则第二顺序方再验证R1是否满足SM2椭圆方程且R1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则恢复本方秘密保存的私钥因子d2,计算R2=fd(d2,R1),并使用私钥因子d2对数据R2||C2||C3进行数字签名S2=(r2,s2),并将结果Q2=R2||C2||C3||r2||s2发送至下一顺序方;
以此类推,直至到m个联合方的最后顺序方;
最后顺序方使用第m-1方的公钥因子Pm-1对数字签名值(rm-1,sm-1)进行签名验证,如签名验证不通过,则返回错误,联合解密失败;如签名验证通过,则最后顺序方再验证Rm-1是否满足SM2椭圆方程且Rm-1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则恢复本方秘密保存的私钥因子dm,计算Rm=fd(dm,Rm-1)=(x,y),同时计算t=KDF(x||y,klen),最后计算出明文M=C2⊕t;其中klen为密文C2的长度,KDF(x||y,klen)为SM2公钥密码算法的密钥派生函数,(x,y)表示椭圆曲线上的点坐标。
优选地,m个联合方还通过服务中心协调来实现按照一定顺序各自使用自己保存的私钥因子di进行运算而共同参与完成对密文C的解密;其中,各联合方仅与服务中心通信,各联合方分别保存各自的私钥因子di,同时还保存了服务中心的公钥P,服务中心秘密保存了服务中心的私钥d’,同时还保存了各联合方的公钥因子Pi,Pi=[di]G,i=[1,m],G为SM2椭圆曲线的基点;具体步骤如下:
服务中心使用第一顺序方的公钥因子P1对C1进行加密得到密文C1”,并将C1”发送给第一顺序方;
第一顺序方接收服务中心密文数据C1”,恢复本方的私钥因子d1,使用私钥因子d1对密文C1”进行SM2解密得到C1,再验证C1是否满足SM2椭圆方程且C1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则第一顺序方使用单向函数fd()计算R1=fd(d1,C1),并使用服务中心公钥P对数据R1进行SM2加密得到密文R1’,将密文R1’发送给服务中心;
服务中心使用中心私钥d’对R1’进行解密得到R1,再使用第二顺序方的公钥因子P2加密R1得到密文R1”,并将R1”发送给第二顺序方;
第二顺序方接收服务中心密文数据R1”,恢复本方的私钥因子d2,使用私钥因子d2对密文R1”进行SM2解密得到R1,再验证R1是否满足SM2椭圆方程且R1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则第二顺序方使用单向函数计算R2=fd(d2,R1),并使用服务中心公钥P对数据R2进行SM2加密得到密文R2’,将密文R2’发送给服务中心;
服务中心使用中心私钥d’对R2’进行SM2解密得到R2,再使用下一顺序方的公钥因子对R2进行SM2加密得到密文R2”,并将R2”发送给所述下一顺序方;
以此类推,直至到m个联合方的最后顺序方将密文Rm’发送给服务中心;
服务中心使用中心私钥d’对Rm’进行SM2解密得到Rm,计算t=KDF(x||y,klen),最后计算出明文M=C2⊕t;其中,klen为密文C2的长度,KDF(x||y,klen)为SM2公钥密码算法的密钥派生函数,(x,y)表示椭圆曲线上的点坐标。
优选地,m个联合方还通过服务中心协调来实现按照一定顺序各自使用自己保存的私钥因子di进行运算而共同参与完成对密文C的解密;其中,各联合方仅与服务中心通信,各联合方分别保存各自的私钥因子di,同时还保存了服务中心的公钥P,服务中心秘密保存了服务中心的私钥d’,同时还保存了各联合方的公钥因子Pi,Pi=[di]G,i=[1,m],G为SM2椭圆曲线的基点;具体步骤如下:
服务中心使用第一顺序方的公钥因子P1对C1进行SM2加密得到密文C1”,并将C1”发送给第一顺序方;
第一顺序方接收服务中心密文数据C1”,恢复本方的私钥因子d1,使用私钥因子d1对密文C1”进行SM2解密得到C1,再验证C1是否满足SM2椭圆方程且C1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则第一顺序方使用单向函数fd()计算R1=fd(d1,C1),并使用服务中心公钥P对数据R1进行SM2加密得到密文R1’,将密文R1’发送给服务中心;
服务中心使用中心私钥d’对R1’进行SM2解密得到R1,再使用第二顺序方的公钥因子P2对R1进行SM2加密得到密文R1”,并将R1”发送给第二顺序方;
第二顺序方接收服务中心密文数据R1”,恢复本方的私钥因子d2,使用私钥因子d2对密文R1”进行SM2解密得到R1,再验证R1是否满足SM2椭圆方程且R1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则第二顺序方使用单向函数fd()计算R2=fd(d2,R1),并使用服务中心公钥P对数据R2进行SM2加密得到密文R2’,将密文R2’发送服务中心;
服务中心使用中心私钥d’对R2’进行SM2解密,得到R2,再使用下一顺序方的公钥因子对R2进行SM2加密得到密文R2”,并将R2”发送给所述下一顺序方;
以此类推,直至到m个联合方的最后顺序方将密文Rm’发送给服务中心;
服务中心使用中心私钥d’对Rm’进行SM2解密得到Rm,再验证Rm=(x,y)是否满足SM2椭圆方程且Rm不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则服务中心计算t=KDF(x||y,klen),最后计算出明文M=C2⊕t;其中,klen为密文C2的长度,KDF(x||y,klen)为SM2公钥密码算法的密钥派生函数,(x,y)表示椭圆曲线上的点坐标。
优选地,在计算出明文M之后还包括如下步骤:计算u=Hash(x||M||y),并验证u是否等于C3,若是,则输出明文M;否则返回错误,联合解密失败;其中,Hash表示为预定的哈希函数。
本发明的有益效果是:
本发明的多方联合私钥解密方法,改变了过去私钥解密只能由个体进行运算的限制,将私钥解密扩展到由多个独立个体组成的联合体的情况,并在各方联合完成私钥解密运算的情况下,才可以实现该联合体的私钥解密,安全性更高。
在联合私钥解密的过程中,每个个体使用公钥加密或私钥签名的手段,进一步保证信息传递的私密性或真实性,有效防止信息传递过程中的信息泄露或信息伪造等攻击。
鉴于互联网应用的日益广泛应用,手机APP、服务中心、解密中心及多个服务实体与终端联合进行私钥解密成为可能。其显著的效果是单个或多个解密单元的信息泄露并不会造成最终用户私钥的泄露。即只要不是所有的解密单元均被攻破,攻击者并不能到达使用用户私钥解密的目的,而相对集中的数据服务中心,由于设施到位,防控措施有效,可以更好地保护用户私钥因子。
附图说明
图1为本发明一实施例的多方联合私钥解密方法的解密流程示意图;
图2为本发明的多方联合私钥解密方法一实施例的四方有中心联合私钥解密示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明的多方联合私钥解密方法进行进一步详细说明。需要说明的是,在不冲突的情况下,以下各实施例及实施例中的特征可以相互组合。应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。
参照图1,本发明一实施例的多方联合私钥解密方法,私钥d由m份私钥因子di组成,i=[1,m],其中m≥3,m份私钥因子di由联合各方在密钥生成时独立秘密产生并秘密保存在各自的设备中;多方联合对密文C=C1||C2||C3解密时,需要m个联合方按照一定顺序各自使用自己保存的私钥因子di进行运算而共同参与完成对密文C的解密,其中,C1为坐标参数,优选为512比特的坐标数据,C2为密文数据(与明文等长),C3为256比特的数据与公钥结合后的杂凑值,“||”表示前后两个数据串的拼接。
作为一种可优选方式,m个联合方按照一定顺序各自使用自己保存的私钥因子di进行运算而共同参与完成对密文C的解密,包括如下步骤:
第一顺序方验证C1是否满足SM2椭圆方程且C1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则恢复本方秘密保存的私钥因子d1,使用单向函数fd()计算R1=fd(d1,C1),并将R1、C2和C3发送至第二顺序方;
第二顺序方验证R1是否满足SM2椭圆方程且R1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则恢复本方秘密保存的私钥因子d2,计算R2=fd(d2,R1),并将R2、C2和C3发送至下一顺序方;
以此类推,直至到m个联合方的最后顺序方;
最后顺序方验证Rm-1是否满足SM2椭圆方程且Rm-1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则恢复本方秘密保存的私钥因子dm,计算Rm=fd(dm,Rm-1)=(x,y),同时计算t=KDF(x||y,klen),最后计算出密文C对应的明文M=C2⊕t;其中klen为密文C2的长度,KDF(x||y,klen)为SM2公钥密码算法的密钥派生函数,(x,y)表示椭圆曲线上的点坐标。
或者,最后顺序方验证Rm-1是否满足SM2椭圆方程且Rm-1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则恢复本方秘密保存的私钥因子dm,计算Rm=fd(dm,Rm-1);明文计算方验证R=Rm-G=(x,y)的合法性,即R=Rm-G=(x,y)是否满足椭圆方程且R不是无穷远点;若不满足,则返回错误,联合解密失败;若满足,则计算t=KDF(x||y,klen),最后计算出密文C对应的明文M=C2⊕t;其中klen为密文C2的长度,KDF(x||y,klen)为SM2公钥密码算法的密钥派生函数,(x,y)表示椭圆曲线上的点坐标,G为SM2椭圆曲线的基点。
较佳地,在计算出明文M之后还包括如下步骤:计算u=Hash(x||M||y),并验证u是否等于C3,若是,则输出明文M;否则返回错误(报错并退出),联合解密失败。其中,Hash表示为预定的哈希函数。
作为另一种可优选方式,m个联合方按照一定顺序各自使用自己保存的私钥因子di进行运算而共同参与完成对密文C的解密,包括如下步骤:
第一顺序方验证C1是否满足SM2椭圆方程且C1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则恢复本方秘密保存的私钥因子d1,使用单向函数fd()计算R1=fd(d1,C1),并使用私钥因子d1对数据R1||C2||C3进行数字签名S1=(r1,s1),并将结果Q1=R1||C2||C3||r1||s1发送至第二顺序方;
第二顺序方使用第一顺序方的公钥因子P1对数字签名值(r1,s1)进行签名验证,如签名验证不通过,则返回错误,联合解密失败;如签名验证通过,则第二顺序方再验证R1是否满足SM2椭圆方程且R1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则恢复本方秘密保存的私钥因子d2,计算R2=fd(d2,R1),并使用私钥因子d2对数据R2||C2||C3进行数字签名S2=(r2,s2),并将结果Q2=R2||C2||C3||r2||s2发送至下一顺序方;
以此类推,直至到m个联合方的最后顺序方;
最后顺序方使用第m-1方的公钥因子Pm-1对数字签名值(rm-1,sm-1)进行签名验证,如签名验证不通过,则返回错误,联合解密失败;如签名验证通过,则最后顺序方再验证Rm-1是否满足SM2椭圆方程且Rm-1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则恢复本方秘密保存的私钥因子dm,计算Rm=fd(dm,Rm-1)=(x,y),同时计算t=KDF(x||y,klen),最后计算出明文M=C2⊕t;其中klen为密文C2的长度,KDF(x||y,klen)为SM2公钥密码算法的密钥派生函数,(x,y)表示椭圆曲线上的点坐标。
本实施例中,m个联合方中的每个联合方还根据各自的私钥因子di计算出对应的公钥因子Pi,每个联合方还将自己的公钥因子Pi传递给需要的其它联合方。
如图1所示,对于密文C=C1||C2||C3,m个联合方共同完成解密的流程如下:
第一方验证C1合法性,即C1是否满足椭圆方程及C1不是无穷远点;如验证成功,恢复秘密保存的私钥因子d1,计算R1=fd(d1,C1),将R1、C2、C3发送至第二方;如验证失败,返回错误,联合解密失败。
第二方验证R1合法性,即R1是否满足椭圆方程及R1不是无穷远点;如验证成功,恢复秘密保存的私钥因子d2,计算R2=fd(d2,R1),将R2、C2、C3发送至第三方;如验证失败,返回错误,联合解密失败。
一般地:
第i方验证Ri-1合法性,即Ri-1是否满足椭圆方程及Ri-1不是无穷远点;如验证成功,恢复秘密保存的私钥因子di,计算Ri=fd(di,Ri-1),将Ri、C2、C3发送至第i+1方;如验证失败,返回错误,联合解密失败。(报错并退出)
i=1,2,…m,R0=C1
至最后第m方:
第m方验证Rm-1合法性,即Rm-1是否满足椭圆方程及Rm-1不是无穷远点;如验证成功,恢复秘密保存的私钥因子dm,计算Rm=fd(dm,Rm-1)=(x,y)。
第m方计算:
计算t=KDF(x||y,klen);其中klen为密文C2的长度,(x,y)表示椭圆曲线上的点坐标;
计算明文M=C2⊕t;输出明文M。
或者,第m方验证Rm-1合法性,即Rm-1是否满足椭圆方程及Rm-1不是无穷远点;如验证成功,恢复秘密保存的私钥因子dm,计算Rm=fd(dm,Rm-1);明文计算方验证R=Rm-G=(x,y)的合法性,即R=Rm-G=(x,y)是否满足椭圆方程且R不是无穷远点;若不满足,则返回错误,联合解密失败;若满足,则计算t=KDF(x||y,klen),最后计算出密文C对应的明文M=C2⊕t;其中klen为密文C2的长度,KDF(x||y,klen)为SM2公钥密码算法的密钥派生函数,(x,y)表示椭圆曲线上的点坐标,G为SM2椭圆曲线的基点。
上述解密流程的主要特征是,多个联合各方分别秘密保存自己的私钥因子,并使用该私钥因子进行部分解密运算。每个联合方均进行一次,且仅进行一次私钥因子参与的运算,即可得到对密文C解密后的明文M,其中密文C是使用公钥P加密的密文。
由于函数fd()为单向函数,所以各联合方使用私钥因子进行函数fd()运算的结果Ri,不会泄露私钥di的内容。即,无论是联合方还是网络窃听者,均无法仅通过传递的数据Ri、C2、C3来获取私钥因子di,从而保证了私钥的安全性。
较佳地,在计算出明文M之后还包括如下步骤:计算u=Hash(x||M||y),并验证u是否等于C3,若是,则输出明文M;否则返回错误(报错并退出),联合解密失败。其中,Hash表示为预定的哈希函数。
作为再一种可优选方式,m个联合方还通过服务中心协调来实现按照一定顺序各自使用自己保存的私钥因子di进行运算而共同参与完成对密文C的解密;其中,各联合方仅与服务中心通信,各联合方分别保存各自的私钥因子di,同时还保存了服务中心的公钥P,服务中心秘密保存了服务中心的私钥d’,同时还保存了各联合方的公钥因子Pi,Pi=[di]G,i=[1,m],G为SM2椭圆曲线的基点;具体步骤如下:
服务中心使用第一顺序方的公钥因子P1对C1进行SM2加密得到密文C1”,并将C1”发送给第一顺序方;
第一顺序方接收服务中心密文数据C1”,恢复本方的私钥因子d1,使用私钥因子d1对密文C1”进行SM2解密得到C1,使用单向函数fd()计算R1=fd(d1,C1),并使用服务中心公钥P对数据R1进行SM2加密得到密文R1’,将密文R1’发送给服务中心;
服务中心使用中心私钥d’对R1’进行SM2解密得到R1,再使用第二顺序方的公钥因子P2对R1进行SM2加密得到密文R1”,并将R1”发送给第二顺序方;
第二顺序方接收服务中心密文数据R1”,恢复本方的私钥因子d2,使用私钥因子d2对密文R1”进行SM2解密得到R1,计算R2=fd(d2,R1),并使用服务中心公钥P对数据R2进行SM2加密得到密文R2’,将密文R2’发送给服务中心。
服务中心使用中心私钥d’对R2’进行SM2解密得到R2,再使用下一顺序方的公钥因子对R2进行SM2加密得到密文R2”,并将R2”发送给所述下一顺序方;
以此类推,直至到m个联合方的最后顺序方将密文Rm’发送给服务中心;
服务中心使用中心私钥d’对Rm’进行SM2解密得到Rm,计算t=KDF(x||y,klen),最后计算出明文M=C2⊕t;其中,klen为密文C2的长度,KDF(x||y,klen)为SM2公钥密码算法的密钥派生函数。
较佳地,在计算出明文M之后还包括如下步骤:计算u=Hash(x||M||y),并验证u是否等于C3,若是,则输出明文M;否则返回错误(报错并退出),联合解密失败。其中,Hash表示为预定的哈希函数。
作为再一种可优选方式,m个联合方还通过服务中心协调来实现按照一定顺序各自使用自己保存的私钥因子di进行运算而共同参与完成对密文C的解密;其中,各联合方仅与服务中心通信,各联合方分别保存各自的私钥因子di,同时还保存了服务中心的公钥P,服务中心秘密保存了服务中心的私钥d’,同时还保存了各联合方的公钥因子Pi,Pi=[di]G,i=[1,m],G为SM2椭圆曲线的基点;具体步骤如下:
服务中心使用第一顺序方的公钥因子P1对C1进行SM2加密得到密文C1”,并将C1”发送给第一顺序方;
第一顺序方接收服务中心密文数据C1”,恢复本方的私钥因子d1,使用私钥因子d1对密文C1”进行SM2解密得到C1,再验证C1是否满足SM2椭圆方程且C1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则第一顺序方使用单向函数fd()计算R1=fd(d1,C1),并使用服务中心公钥P对数据R1进行SM2加密得到密文R1’,将密文R1’发送给服务中心;
服务中心使用中心私钥d’对R1’进行SM2解密得到R1,再使用第二顺序方的公钥因子P2对R1进行SM2加密得到密文R1”,并将R1”发送给第二顺序方;
第二顺序方接收服务中心密文数据R1”,恢复本方的私钥因子d2,使用私钥因子d2对密文R1”进行SM2解密得到R1,再验证R1是否满足SM2椭圆方程且R1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则第二顺序方使用单向函数fd()计算R2=fd(d2,R1),并使用服务中心公钥P对数据R2进行SM2加密得到密文R2’,将密文R2’发送服务中心;
服务中心使用中心私钥d’对R2’进行SM2解密得到R2,再使用下一顺序方的公钥因子对R2进行SM2加密得到密文R2”,并将R2”发送给所述下一顺序方;
以此类推,直至到m个联合方的最后顺序方将密文Rm’发送给服务中心;
服务中心使用中心私钥d’对Rm’进行SM2解密得到Rm,再验证Rm=(x,y)是否满足SM2椭圆方程且Rm不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则服务中心计算t=KDF(x||y,klen),最后计算出明文M=C2⊕t;其中,klen为密文C2的长度,KDF(x||y,klen)为SM2公钥密码算法的密钥派生函数,(x,y)表示椭圆曲线上的点坐标。
较佳地,在计算出明文M之后还包括如下步骤:计算u=Hash(x||M||y),并验证u是否等于C3,若是,则输出明文M;否则返回错误(报错并退出),联合解密失败。其中,Hash表示为预定的哈希函数。
根据本发明的另一方面,还提供了一种多方联合私钥解密系统,包括m个联合方,每个联合方各自具有独立的子系统,每个子系统包括:
联合密钥生成模块,用于联合各方生成私钥d,私钥d由m份私钥因子di组成,i=[1,m],其中m≥3,该私钥di是在密钥生成时由m个联合方各自分别产生并秘密保存在各自的设备中;
倍点运算模块,用于SM2椭圆曲线的倍点运算;
明文计算模块,用于多方联合私钥解密时计算明文M。
对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
实例一
本实施例涉及的是三方联合解密的实现,一种典型的应用是一个合伙人公司有三个主要领导,分别是第一方:市场总监,第二方:总经理和第三方:董事长。公司重要数据M使用公司的公钥P进行了加密(密文为C),该密文文件C解密需使用公司私钥d进行解密。为安全起见,公司私钥d分别由三个私钥因子di(i=1,2,3)组成,即:d=g(d1,d2,d3)。三方各保管公司私钥的一个私钥因子,只有三方联合解密才会解密该文件C。并约定最后一方为明文获取方。三方的解密设备可以是他们使用的个人电脑、手机或专用解密设备,如USB-KEY。
以下实例以SM2非对称密码算法为例,说明三方(m=3)联合解密的实现。
同时,为保障消息来源的真实性,多方解密消息过程中增加了消息签名,以确定消息的真伪。
1、联合解密前提
第一方(市场总监):
秘密保存了第一方的加密密钥因子d1,同时保存了第二方和第三方的公钥因子P2、P3,其中Pi=[di]G,i=1,2,3;G为SM2的椭圆曲线基点。
第二方(总经理):
秘密保存了第二方的加密密钥因子d2,同时保存了第一方和第三方的公钥因子P1、P3
第三方(董事长):
秘密保存了第三方的加密密钥因子d3,同时保存了第一方和第二方的公钥因子P1、P2
密文C=C1||C2||C3
2、联合解密过程
令函数fd(d,R)为SM2椭圆曲线的倍点运算,即:
X=fd(d,R)=[d]R
其中X、R为SM2定义的椭圆曲线上的点,X是点R的d倍点,G为SM2的椭圆曲线基点。
步骤1:第一方对密文C进行合法性验证,即验证C1是否满足SM2椭圆方程及C1不是无穷远点,如验证成功,恢复秘密保存的私钥因子d1,计算R1=fd(d1,C1),并使用私钥因子d1对数据R1||C2||C3进行数字签名S1=(r1,s1),并将结果Q1=R1||C2||C3||r1||s1发送至第2方;
如验证失败,返回错误,联合解密失败。
步骤2:第2方对使用第1方的公钥因子P1对数字签名值(r1,s1)进行签名验证。如验证不通过,说明数据Q1是非法的,返回错误,联合解密失败。如验证通过,说明数据Q1是合法的,则进行如下步骤:
对数据R1进行合法性验证,即验证R1是否满足SM2椭圆方程及R1不是无穷远点,如验证成功,恢复秘密保存的私钥因子d2,计算R2=fd(d2,R1),并使用私钥因子d2对数据R2||C2||C3进行数字签名S2=(r2,s2),并将结果Q2=R2||C2||C3||r2||s2发送至第3方;
如验证失败,返回错误,联合解密失败。
步骤3:第3方对使用第2方的公钥因子P2对数字签名值(r2,s2)进行签名验证。如验证不通过,说明数据Q2是非法的,返回错误,联合解密失败。如验证通过,说明数据Q2是合法的,则进行如下步骤:
对数据R2进行合法性验证,即验证R2是否满足SM2椭圆方程及R2不是无穷远点,如验证失败,返回错误,联合解密失败。
如验证成功,恢复秘密保存的私钥因子d3,计算R3=fd(d3,R2)=(x,y);同时计算:
计算t=KDF(x||y,klen);其中klen为密文C2的长度,(x,y)表示椭圆曲线上的点坐标;
计算明文M=C2⊕t。
这样,通过三方的联合解密过程,最终第三方获得解密的明文M。
在联合解密过程中,对传送的数据进行了数字签名,有效避免了数据被篡改或假冒数据的发生。
实例二
本实施例涉及的是有中心四方联合解密的实现,多方联合私钥解密方法,也可以是有中心的系统构成,其特点是中心负责与联合的各个联络及通信,使得各方不需相互发送消息或结果。在中心的协调下,各方使用各自的私钥因子完成联合解密过程。
在有中心的情况下,联合解密的各方与中心之间还可以具有相互独有的加密密钥对即可以对各方与中心之间的信息进行加密,也可以对该信息进行签名以保证各方与中心之间信息的机密性和真实性。
一种典型的应用是公司A的机密文件有四个掌管人,四个掌管人各自具有公司解密私钥的一个私钥因子,只有四个掌管人联合私钥解密才会完成公司的文件的解密。服务中心是一个对外提供服务的机构,在该服务中心的配合下完成各方的联合私钥解密工作。
机密文件被公司A的公钥加密成密文C,密文C托管在服务中心保管。当服务中心收到买方客户B需要该秘密文件的采购协议,并按照约定将相关款项支付给公司A后,A公司即对密文C进行解密。解密过程由四个掌管人联合解密完成。
以下实例以SM2非对称密码算法为例,说明有中心的四方联合私钥解密的实现。
参照图2,图2是四方有中心联合私钥解密示意图。
1、有中心的四方联合私钥解密前提
四个联合私钥解密方:
分别保存各自的私钥因子di,(i=1,2,3,4)。四方同时保存了服务中心的公钥P。
服务中心:
秘密保存了服务中心的私钥d’,同时保存了四个联合解密的公钥因子Pi,其中Pi=[di]G,i=1,2,3,4;G为SM2的椭圆曲线基点。
密文C=C1||C2||C3
2、有中心四方联合私钥解密流程
有中心的多方私钥解密流程需在服务中心的指挥下完成,由于各联合方地位平等,所以服务中心流程可以任意制定该流程中各方的先后次序。为方便起见,假定服务中心按照1-2-3-4的顺序进行。其步骤为:
步骤1a:服务中心使用第1方的公钥因子P1对C1进行加密,得到密文C1”,并将C1”发送给第1方;
步骤1b:第1方接收服务中心密文数据C1”,恢复本方的私钥因子d1,使用私钥因子d1对密文C1”进行解密得到C1。验证C1是否满足SM2椭圆方程及C1不是无穷远点。如验证成功,则计算R1=fd(d1,C1),并使用服务中心公钥P对数据R1进行加密得到密文R1’,将密文R1’发送服务中心。
如C1验证失败,返回错误,联合解密失败。
步骤2a:服务中心使用中心私钥d’对R1’进行解密得到R1,再使用第2方的公钥因子P2加密R1,得到密文R1”,并将R1”发送给第2方;
步骤2b:第2方接收服务中心密文数据R1”,恢复本方的私钥因子d2,使用私钥因子d2对密文R1”进行解密得到R1。验证R1是否满足SM2椭圆方程及R1不是无穷远点。如验证成功,则计算R2=fd(d2,R1),并使用服务中心公钥P对数据R2进行加密得到密文R2’,将密文R2’发送服务中心。
如R1验证失败,返回错误,联合解密失败。
步骤3a:服务中心使用中心私钥d’对R2’进行解密,得到R2,再使用第3方的公钥因子P3加密R2,得到密文R2”,并将R2”发送给第3方;
步骤3b:第3方接收服务中心密文数据R2”,恢复本方的私钥因子d3,使用私钥因子d3对密文R2”进行解密,得到R2。验证R2是否满足SM2椭圆方程及R2不是无穷远点。如验证成功,则计算R3=fd(d3,R2),并使用服务中心公钥P对数据R3进行加密得到密文R3’,将密文R3’发送服务中心。
如R2验证失败,返回错误,联合解密失败。
步骤4a:服务中心使用中心私钥d’对R3’进行解密,得到R3,再使用第4方的公钥因子P4加密R3,得到密文R3”,并将R3”发送给第4方;
步骤4b:第4方接收服务中心密文数据R3”,恢复本方的私钥因子d4,使用私钥因子d4对密文R3”进行解密,得到R3。验证R3是否满足SM2椭圆方程及R3不是无穷远点。如验证成功,则计算R4=fd(d4,R3),并使用服务中心公钥P对数据R4进行加密,将密文R4’发送服务中心。
如R3验证失败,返回错误,联合解密失败。
步骤5a:服务中心使用中心私钥d’对R4’进行解密,得到R4,验证R4=(x,y)是否满足SM2椭圆方程及R4不是无穷远点。如验证成功,则:
计算t=KDF(x||y,klen);其中klen为密文C2的长度,(x,y)表示椭圆曲线上的点坐标;
计算明文M=C2⊕t。
通过以上步骤,在服务中心指挥下,四方联合完成私钥的解密。解密后的明文M由服务中心通过安全途径提供给买方客户B。
上述通信过程均使用了非对称密码算法对通信内容进行了加密,其优点是,由于使用了公钥加密,只有具有私钥的一方才可以正确解密并获得正确明文。
以上各实施方式的多方联合私钥解密的方法及系统,改变了过去私钥解密只能由个体进行运算的限制,将私钥解密扩展到由多个独立个体组成的联合体的情况,并在各方联合完成私钥解密运算的情况下,才可以实现该联合体的私钥解密。在联合私钥解密的过程中,每个个体使用公钥加密或私钥签名的手段,进一步保证信息传递的私密性或真实性,有效防止信息传递过程中的信息泄露或信息伪造等攻击。
鉴于互联网应用的日益广泛应用,手机APP,服务中心、解密中心及多个服务实体与终端联合进行用户解密成为可能。以上各实施例的多方联合私钥解密的方法及系统,其显著的效果是单个或多个解密单元的信息泄露并不会造成最终用户私钥的泄露。即只要不是所有的解密单元均被攻破,攻击者并不能到达使用用户私钥解密的目的,而相对集中的数据服务中心,由于设施到位,防控措施有效,可以更好地保护用户私钥因子。
本发明的主要特点为:
多方各自秘密保管自己的私钥因子di,私钥d可以表述为私钥因子的函数,即d=g(d1,d2,…dm)。任何一方、多方或网络监听者均不能获取完整私钥d。任何一方的私钥因子di,网络监听者及其它方均不能获取。
联合解密时需由多方共同联合进行运算,各自按照一定顺序使用自己秘密保存的私钥di进行运算,相互配合最终结果完成解密过程,最终得到多方联合私钥解密的明文M。多方联合解密由多方分别使用各自的私钥因子di共同运算才可以完成,缺失任何一方都无法完成联合解密;各方使用相同的单向函数fd()进行运算;
各方根据各自的私钥因子di计算对应的公钥因子Pi,并将公钥因子Pi传递给需要的其它方。私钥因子di可以进行本方的独立的数字签名或数据解密,具有其公钥因子的其它方可以使用公钥因子Pi进行签名验证或数据加密。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。

Claims (2)

1.一种多方联合私钥解密方法,其特征在于,私钥d由m份私钥因子di组成,i=[1,m],其中m≥3,m份私钥因子di由联合各方在密钥生成时独立秘密产生并秘密保存在各自的设备中;多方联合对密文C=C1||C2||C3解密时,需要m个联合方按照预定 顺序各自使用自己保存的私钥因子di进行运算而共同参与完成对密文C的解密,其中,C1为坐标参数,C2为密文数据,C3为256比特的数据与公钥结合后的杂凑值,“||”表示前后两个数据串的拼接;
m个联合方按照预定顺序各自使用自己保存的私钥因子di进行运算而共同参与完成对密文C的解密,包括如下步骤:
第一顺序方验证C1是否满足SM2椭圆方程且C1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则恢复本方秘密保存的私钥因子d1,使用单向函数fd()计算R1=fd(d1,C1),并使用私钥因子d1对数据R1||C2||C3进行数字签名S1=(r1,s1),并将结果Q1=R1||C2||C3||r1||s1发送至第二顺序方;
第二顺序方使用第一顺序方的公钥因子P1对数字签名值(r1,s1)进行签名验证,如签名验证不通过,则返回错误,联合解密失败;如签名验证通过,则第二顺序方再验证R1是否满足SM2椭圆方程且R1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则恢复本方秘密保存的私钥因子d2,计算R2=fd(d2,R1),并使用私钥因子d2对数据R2||C2||C3进行数字签名S2=(r2,s2),并将结果Q2=R2||C2||C3||r2||s2发送至下一顺序方;
以此类推,直至到m个联合方的最后顺序方;
最后顺序方使用第m-1方的公钥因子Pm-1对数字签名值(rm-1,sm-1)进行签名验证,如签名验证不通过,则返回错误,联合解密失败;如签名验证通过,则最后顺序方再验证Rm-1是否满足SM2椭圆方程且Rm-1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则恢复本方秘密保存的私钥因子dm,计算Rm=fd(dm,Rm-1)=(x,y),同时计算t=KDF(x||y,klen),最后计算出明文M=C2⊕t;其中klen为密文C2的长度,KDF(x||y,klen)为SM2公钥密码算法的密钥派生函数,(x,y)表示椭圆曲线上的点坐标;或者,最后顺序方使用第m-1方的公钥因子Pm-1对数字签名值(rm-1,sm-1)进行签名验证,如签名验证不通过,则返回错误,联合解密失败;如签名验证通过,则最后顺序方再验证Rm-1是否满足SM2椭圆方程且Rm-1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则恢复本方秘密保存的私钥因子dm,计算Rm=fd(dm,Rm-1);明文计算方验证R=Rm-G=(x,y)的合法性,即R=Rm-G=(x,y)是否满足椭圆方程且R不是无穷远点;若不满足,则返回错误,联合解密失败;若满足,则计算t=KDF(x||y,klen),最后计算出密文C对应的明文M=C2⊕t;其中klen为密文C2的长度,KDF(x||y,klen)为SM2公钥密码算法的密钥派生函数,(x,y)表示椭圆曲线上的点坐标,G为SM2椭圆曲线的基点;
其中,m个联合方中的每个联合方还根据各自的私钥因子di计算出对应的公钥因子Pi,每个联合方将自己的公钥因子Pi传递给需要的其它联合方,从而完成对传输数据进行加密保护或签名防伪;
或者,m个联合方还通过服务中心协调来实现按照预定顺序各自使用自己保存的私钥因子di进行运算而共同参与完成对密文C的解密;其中,各联合方仅与服务中心通信,各联合方分别保存各自的私钥因子di,同时还保存了服务中心的公钥P,服务中心秘密保存了服务中心的私钥d’,同时还保存了各联合方的公钥因子Pi,Pi=[di]G,i=[1,m],G为SM2椭圆曲线的基点;具体步骤如下:
服务中心使用第一顺序方的公钥因子P1对C1进行SM2加密得到密文C1”,并将C1”发送给第一顺序方;
第一顺序方接收服务中心密文数据C1”,恢复本方的私钥因子d1,使用私钥因子d1对密文C1”进行SM2解密得到C1,再验证C1是否满足SM2椭圆方程且C1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则第一顺序方使用单向函数fd()计算R1=fd(d1,C1),并使用服务中心公钥P对数据R1进行SM2加密得到密文R1’,将密文R1’发送给服务中心;
服务中心使用中心私钥d’对R1’进行SM2解密得到R1,再使用第二顺序方的公钥因子P2对R1进行SM2加密得到密文R1”,并将R1”发送给第二顺序方;
第二顺序方接收服务中心密文数据R1”,恢复本方的私钥因子d2,使用私钥因子d2对密文R1”进行SM2解密得到R1,再验证R1是否满足SM2椭圆方程且R1不是无穷远点,若不满足,则返回错误,联合解密失败;若满足,则第二顺序方使用单向函数计算R2=fd(d2,R1),并使用服务中心公钥P对数据R2进行SM2 加密得到密文R2’,将密文R2’发送给服务中心;
服务中心使用中心私钥d’对R2’进行SM2解密得到R2,再使用第三顺序方的公钥因子P3对R2进行SM2加密得到密文R2”,并将R2”发送给第三顺序方;
以此类推,直至到m个联合方的最后顺序方将密文Rm’发送给服务中心;
服务中心使用中心私钥d’对Rm’进行SM2解密得到Rm,计算t=KDF(x||y,klen),最后计算出明文M=C2⊕t;其中,klen为密文C2的长度,KDF(x||y,klen)为SM2公钥密码算法的密钥派生函数,(x,y)表示椭圆曲线上的点坐标。
2.根据权利要求1所述的多方联合私钥解密方法,其特征在于,在计算出明文M之后还包括如下步骤:计算u=Hash(x||M||y),并验证u是否等于C3,若是,则输出明文M;否则返回错误,联合解密失败;其中,Hash表示为预定的哈希函数。
CN201810051923.8A 2018-01-19 2018-01-19 一种多方联合私钥解密方法 Active CN108199835B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810051923.8A CN108199835B (zh) 2018-01-19 2018-01-19 一种多方联合私钥解密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810051923.8A CN108199835B (zh) 2018-01-19 2018-01-19 一种多方联合私钥解密方法

Publications (2)

Publication Number Publication Date
CN108199835A CN108199835A (zh) 2018-06-22
CN108199835B true CN108199835B (zh) 2021-11-30

Family

ID=62590126

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810051923.8A Active CN108199835B (zh) 2018-01-19 2018-01-19 一种多方联合私钥解密方法

Country Status (1)

Country Link
CN (1) CN108199835B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109086624A (zh) * 2018-08-03 2018-12-25 北京海泰方圆科技股份有限公司 登录方法和装置
CN109067526A (zh) * 2018-08-15 2018-12-21 数字钱包(北京)科技有限公司 层次公私钥对生成方法和装置
CN109144110B (zh) * 2018-09-14 2020-11-24 北京领云时代科技有限公司 一种无人机集群目标跟踪系统
CN109743171B (zh) * 2018-12-06 2022-04-12 广州博士信息技术研究院有限公司 一种解决多方数字签名、时间戳及加密的密钥串联方法
CN109981592B (zh) * 2019-02-28 2021-07-16 矩阵元技术(深圳)有限公司 多客户端多服务器联合生成密钥的方法和电子设备
CN110535873B (zh) * 2019-09-16 2021-11-05 北京数字认证股份有限公司 应用于数据协同加密系统的加密方法、解密方法
CN112713989B (zh) * 2019-10-25 2023-01-24 航天信息股份有限公司 一种解密方法及装置
CN111147246B (zh) * 2020-02-18 2023-08-08 数据通信科学技术研究所 一种基于sm2的多方协同签名方法及系统
CN111355582A (zh) * 2020-03-03 2020-06-30 成都天瑞芯安科技有限公司 基于sm2算法的两方联合签名和解密的方法及系统
CN111865578B (zh) * 2020-07-09 2022-11-29 暨南大学 一种基于sm2的多接收方公钥加密方法
CN111935163B (zh) * 2020-08-14 2022-08-09 支付宝(杭州)信息技术有限公司 保护隐私的数据联合处理方法及装置
CN112019335B (zh) * 2020-09-18 2023-12-29 上海市数字证书认证中心有限公司 一种基于sm2算法的多方协同加解密方法及装置、系统、介质
CN115865349B (zh) * 2023-02-24 2023-05-09 蓝象智联(杭州)科技有限公司 一种一方加密多方联合解密的数据加解密方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103795523A (zh) * 2014-01-14 2014-05-14 福州市勘测院 用于电子招投标的电子标书多层加解密系统及方法
CN107017993A (zh) * 2017-04-01 2017-08-04 北京江南天安科技有限公司 一种多方联合密钥产生和数字签名方法及系统
CN107196763A (zh) * 2017-07-06 2017-09-22 数安时代科技股份有限公司 Sm2算法协同签名及解密方法、装置与系统
CN107294720A (zh) * 2017-07-07 2017-10-24 广东工业大学 一种素域Fp下的SM2椭圆曲线公钥加密算法的硬件实现系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013031151A (ja) * 2011-06-20 2013-02-07 Renesas Electronics Corp 暗号通信システムおよび暗号通信方法
CN104243456B (zh) * 2014-08-29 2017-11-03 中国科学院信息工程研究所 适用于云计算的基于sm2算法的签名及解密方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103795523A (zh) * 2014-01-14 2014-05-14 福州市勘测院 用于电子招投标的电子标书多层加解密系统及方法
CN107017993A (zh) * 2017-04-01 2017-08-04 北京江南天安科技有限公司 一种多方联合密钥产生和数字签名方法及系统
CN107196763A (zh) * 2017-07-06 2017-09-22 数安时代科技股份有限公司 Sm2算法协同签名及解密方法、装置与系统
CN107294720A (zh) * 2017-07-07 2017-10-24 广东工业大学 一种素域Fp下的SM2椭圆曲线公钥加密算法的硬件实现系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《SM2椭圆曲线公钥密码算法综述》;汪朝晖等;《信息安全研究》;20161130;第2卷(第11期);全文 *

Also Published As

Publication number Publication date
CN108199835A (zh) 2018-06-22

Similar Documents

Publication Publication Date Title
CN108199835B (zh) 一种多方联合私钥解密方法
CN107017993B (zh) 一种多方联合密钥产生和数字签名方法及系统
US11621833B2 (en) Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
US11108565B2 (en) Secure communications providing forward secrecy
CN107634836B (zh) 一种sm2数字签名生成方法及系统
CN107947913B (zh) 一种基于身份的匿名认证方法与系统
CN109309569B (zh) 基于sm2算法的协同签名的方法、装置及存储介质
CN107707358B (zh) 一种ec-kcdsa数字签名生成方法及系统
US11874935B2 (en) Protecting data from brute force attack
US20110145576A1 (en) Secure method of data transmission and encryption and decryption system allowing such transmission
CN112422276B (zh) 一种多方密钥协商的实现方法及系统
CN111565108B (zh) 签名处理方法、装置及系统
JP4615128B2 (ja) 暗号鍵スプリットコンバイナを用いる音声及びデータ暗号化方法
CN114189338B (zh) 基于同态加密技术的sm9密钥安全分发和管理系统及方法
US20230188330A1 (en) System and method for identity-based key agreement for secure communication
KR102304831B1 (ko) 순열그룹 기반의 암호화 기술을 적용한 암호화시스템 및 방법
EP3185504A1 (en) Security management system for securing a communication between a remote server and an electronic device
Surya et al. Single sign on mechanism using attribute based encryption in distributed computer networks
RU2819174C1 (ru) Способ определения источника пакетов данных в телекоммуникационных сетях
Menaria Parul Institute of Engineering and Technology, Computer Science & Engineering, Parul University, Limda, Waghodia, Vadodara
CN118114265A (zh) 联邦学习的安全聚合方法、装置、设备、系统及介质
CN116506162A (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