CN109361519B - 一种改进的包含秘密的数的生成方法及系统 - Google Patents

一种改进的包含秘密的数的生成方法及系统 Download PDF

Info

Publication number
CN109361519B
CN109361519B CN201811498006.0A CN201811498006A CN109361519B CN 109361519 B CN109361519 B CN 109361519B CN 201811498006 A CN201811498006 A CN 201811498006A CN 109361519 B CN109361519 B CN 109361519B
Authority
CN
China
Prior art keywords
mod
secret
integer
generating
encryption
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
CN201811498006.0A
Other languages
English (en)
Other versions
CN109361519A (zh
Inventor
龙毅宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University of Technology WUT
Original Assignee
Wuhan University of Technology WUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University of Technology WUT filed Critical Wuhan University of Technology WUT
Priority to CN201811498006.0A priority Critical patent/CN109361519B/zh
Publication of CN109361519A publication Critical patent/CN109361519A/zh
Application granted granted Critical
Publication of CN109361519B publication Critical patent/CN109361519B/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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3033Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test

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)
  • Lock And Its Accessories (AREA)

Abstract

发明为包含秘密的数的生成方法:装置1有秘密g1、w1,装置2有秘密g2、w2;装置1在[1,n‑1]内任选整数a1、a2且(a1a2)mod n=1,计算s0=E((a1w1 )mod n),s1=(a1w1g1)mod n;装置1将s0、s1发送给装置2;装置2在[1,n‑1]内任选整数b1、b2且(b1+b2)mod n=0,计算s2=((((w2g2)mod n)+z1n)⊙s0)⊕E(z2n+b1),s3=(w2s1+b2)mod n;装置2将s2、s3发送给装置1;装置1计算c=a2(s3+D(s2))mod n;E(·)、D(·)分别是用装置1的密钥的加法同态加密的加密、解密运算。

Description

一种改进的包含秘密的数的生成方法及系统
技术领域
本发明属于信息安全技术领域,特别是一种改进了的包含秘密的数的生成方法及系统。
背景技术
在实际应用中,尤其是密码应用中,有可能需要在不暴露两个装置(系统)的秘密的情况下计算得到c=w1w2(g1+g2)mod n,这里,g1、w1是其中一个装置(系统)的秘密,g2、w2是另一个装置的秘密,n是一个素数,mod n表示求模n余数运算,它的运算优先级最低。
针对此问题,本专利申请的发明人在专利申请“包含秘密的数和椭圆曲线点的生成方法及系统”(专利申请号:201710984613.7)中提出了相应的技术方案,方案采用了同态加密算法。但此专利申请中的方案也存在不足:计算比较复杂,比如,同态加密的加密运算次数较多,且需要两次判断采用同态加密算法加密后的数是否为0的加密结果,这些都降低了计算效率。
发明内容
本发明的目的是提出一种改进的包含秘密的数据的生成方法,以克服现有技术方案的不足。
本发明提出的改进的包含秘密的数的生成方法具体如下。
所述包含秘密的数的生成方法涉及被称为第一装置和第二装置的两个装置,其中,第一装置有[1,n-1]中的整数秘密g1、w1,第二装置有[1,n-1]中的整数秘密g2、w2,n是一个素数(这里g1和w1,g2和w2,可能相关,也可能不相关);
所述第一装置、第二装置按如下方式计算得到包含秘密g1、w1、g2、w2的数c=w1w2(g1+g2)mod n:
第一装置在[1,n-1]内随机选择整数a1、a2(两个各中的一个是随机选的,另一个计算得到),且使得(a1a2)mod n=1;
第一装置计算s0=E((a1w1)mod n),s1=(a1w1g1)mod n,其中,E(·)是使用第一装置的公钥的加法同态加密的加密运算;
第一装置将s0、s1发送给第二装置;
第二装置检查s0是否是0的加密结果,检查s1是否为0,若s0是0的加密结果,或者s1为0,则终止后续操作,否则,继续后续操作;
第二装置在[1,n-1]内随机选择整数b1、b2(两个数中一个是随机选择的,另一个是计算得到的),且使得(b1+b2)mod n=0,然后计算s2=((((w2g2)mod n)+z1n)⊙s0)⊕E(z2n+b1),s3=(w2s1+b2)mod n;
第二装置将s2、s3发送给第一装置;
第一装置接收到s2、s3后,计算s4=D(s2),其中D(·)是使用第一装置的私钥的加法同态加密的解密运算;
第一装置检查s3和s4是否为0,若s3或s4为0,则终止后续操作,否则,继续后续操作;
第一装置计算c=(a2(s3+s4))mod n;
在以上计算过程中,⊕表示同态加密的密文数的加运算(对应相应明文数相加后的加密结果),⊙表示同态加密中的明文数与密文数的乘运算(对应多个相同密文数的⊕累加);z1、z2是只有第二装置知道的整数;
以上过程中所使用的加法同态加密针对被加密的明文数进行运算所对应的模m大于n。
在以上所述包含秘密的数的生成方法中,z1是第二装置随机选择的整数,或者按预定的规则选择的整数,或者固定选择的整数(包括固定取值0),而所述z2是第二装置随机选择的整数;所述z1、z2的取值范围不限于[1,n-1],且z1、z2的取值是整数(可正、可负,可为0);当s0对应的明文数(即(a1w1)mod n)的取值在[1,n-1]范围内时,z1、z2的取值使得s2对应的明文数不超出加法同态加密的明文数的补码的表示范围,或者使得s2对应的明文数超出加法同态加密的明文数的补码的表示范围的概率极小(具体应用中可接受的概率)。
对于以上所述包含秘密的数的生成方法:
若每次计算时w2的取值是[1,n-1]中的随机数,则第二装置无需检查s0是否是0的加密结果(当然,继续进行检查也无妨)。
这里所说的每次c计算,既包括一次完整的、正确的c计算,也包括在一次c计算过程中出现了错误时,重新进行的一次c计算。
完成c的计算后,需通过一定的方式,验证c的有效性,从而确定c是预期的计算结果(即确定它确实是w1w2(g1+g2)mod n);若c是用于生成其他数据的,则需通过一定的方式,验证由c生成的数据的有效性,从而确定由c生成的数据是预期的结果。
在有些情况下,第一装置在(向调用方)返回或发布c前,或者在返回或发布由c生成的数据前,必须在不暴露自身秘密的情况下验证c的有效性,从而确定c是预期的计算结果,或者验证由c生成的数据的有效性,从而确定由c生成的数据是预期的结果;而在有些情况下,这种验证操作不必在第一装置返回或发布c前,或者不必在第一装置返回或发布由c生成的数据前进行。
若第一装置之外的其他装置或系统(其中包括第二装置)能够获得c或能够从由c生成的数据中获解c(即通过一定的方式从由c生成的数据中计算得到c),而且每次计算c时(w1g1)mod n的取值不是[1,n-1]中的随机数,则第一装置在返回或发布c前,或者在第一装置返回或发布由c生成的数据前,必须在不暴露自身秘密的情况下验证c的有效性或验证由c生成的数据的有效性。
若第一装置之外的其他装置和系统(其中包括第二装置)不能够获得c也不能够从由c生成的数据中获解c,或者每次计算c时(w1g1)mod n的取值是[1,n-1]中的随机数,则验证c的有效性的操作不必在第一装置返回或发布c前进行,验证由c生成的数据的有效性的操作不必在第一装置返回或发布由c生成的数据前进行。
若第一装置之外的其他装置和系统(其中包括第二装置)不能够获得c也不能够从由c生成的数据中获解c,且从(w1g1)mod n的值无法获解秘密w1和g1,则每次计算c时a1、a2被允许是非保密的数(而且a1、a2都为1也是允许的)(若w1、g1采用的取值方式使得从第二装置的角度,(w1g1)mod n的计算式不包含未知量,或者包含的未知量的个数大于等于2,则从(w1g1)mod n的值无法获解秘密w1和g1;而若w1、g1采取的取值方式,使得从第二装置的角度,(w1g1)mod n计算式包含的未知量个数恰好为1,则从(w1g1)mod n的值有可能获解秘密w1和g1,实施例7即为这种可获解秘密w1和g1的情形)。
若第一装置之外的其他装置和系统(其中包括第二装置)能够获得c,或者能够从由c生成的数据中获解c,且(w1g1)mod n计算式是已知常数(即从第二装置的角度,(w1g1)mod n计算式不包含未知量),则所述包含秘密的数的生成方法不适用。
以上所述包含秘密的数的生成方法可以扩展为第一装置、第二装置计算得到包含秘密g1、w1、g2、w2,以及已知常数h的数c=(w1w2(g1+g2+h))mod n:
第一装置以(g1+h)mod n作为新的g1,然后第一装置使用新的g1、与第二装置按前述包含秘密的数的生成方法计算得到c=(w1w2(g1+g2))mod n,则计算得到的c即为所求;
或者,第二装置以(g2+h)mod n作为新的g2,然后第二装置使用新的g2、与第一装置按前述包含秘密的数的生成方法计算得到c=(w1w2(g1+g2))mod n,则计算得到的c即为所求。
以上包含秘密的数的生成方法可以扩展到三方的情形,具体如下:
在第一装置、第二装置之外,还有第三装置,第三装置有[1,n-1]中的整数秘密g3、w3(这里g3和w3可能相关,也可能不相关);
所述第一装置、第二装置、第三装置按如下方式计算得到包含秘密g1、w1、g2、w2、g3、w3的数c3=w1w2w3(g1+g2+g3)mod n:
第一装置和第二装置先按前述包含秘密的数的生成方法,生成包含秘密的数c=w1w2(g1+g2)mod n;
之后,第一装置在[1,n-1]内随机选择整数a11、a12(两个数中一个是随机选择的,另一个是计算得到的),且使得(a11a12)mod n=1;
第一装置计算s10=E((a11w1)mod n),s11=(a11c)mod n;
第一装置将s10发送给第二装置;
第一装置将s11发送给第三装置;
第二装置计算s20=w2⊙s10
第二装置将s20发送给第三装置;
第三装置检查s20是否是0的加密结果,检查s11是否为0,若s20是0的加密结果,或者s11为0,则终止后续操作,否则,继续后续操作;
第三装置在[1,n-1]内随机选择整数b31、b32(两个数中一个是随机选择的,另一个是计算得到的),且使得(b31+b32)mod n=0,然后计算s32=((((w3g3)mod n)+z31n)⊙s20)⊕E(z32n+b31),s33=(w3s11+b32)mod n,其中z31、z32是只有第三装置知道的整数;
第三装置将s32、s33发送给第一装置;
第一装置接收到s32、s33后,计算s34=D(s32);
第一装置检查s33和s34是否为0,若s33或s34为0,则终止后续操作,否则,继续后续操作;
第一装置计算c3=(a12(s33+s34))mod n,则c3即为所求。
以上计算过程中z31的取值方式与z1的相同,z32的取值方式与z2的相同;第三装置无需检查s20是否是0的加密结果的条件,无需检查s11是否为0的条件,与第二装置无需检查s0是否是0的加密结果的条件,无需检查s1是否为0的条件相同。
对于此包含三方的包含秘密的数据的生成方法,第一装置在将s11提交给第三装置前,无需检查c的有效性。
此包含三方的包含秘密的数据的生成方法成立的前提是第三装置不与第一装置合谋,否则会导致第二装置的秘密泄露。
同样地,完成c3的计算后,需通过一定的方式,验证c3的有效性,从而确定c3是预期的计算结果(即它确实是w1w2w3(g1+g2+g3)mod n);若c3是用于其他数据的生成的,则需通过一定的方式,验证由c3生成的数据的有效性,从而确定由c3生成的数据是预期的结果。
同样地,在有些情况下,第一装置在(向调用方)返回或发布c3前,或者在返回或发布由c3生成的数据前,必须在不暴露自身秘密的情况下验证c3的有效性,从而确定c3是预期的计算结果,或者必须验证由c3生成的数据的有效性,从而确定由c3生成的数据是预期的结果;而在有些情况下,这种验证操作不必在第一装置返回或发布c3前,或者在返回或发布由c3生成的数据前进行,比如,若第一装置之外的其他装置和系统不能够获得c3也不能够从由c3生成的数据中获解c3,或者每次计算c3时c的取值从第一装置的角度是[1,n-1]中的随机数,则验证c3的有效性的操作不必在第一装置在返回或发布c3前进行,验证由c3生成的数据的有效性的操作不必在第一装置返回或发布由c3生成的数据前进行。
基于本发明的方法,两个装置能够在不暴露各自的秘密g1、w1和g2、w2的情况下,计算得到包含秘密的数w1w2(g1+g2)mod n。与“包含秘密的数和椭圆曲线点的生成方法及系统”(专利申请号:201710984613.7)中的技术方案相比,本发明的方法具有如下优点:
1)加法同态加密运算的次数减少;
2)检查采用同态加密算法加密后的数是否为0的加密结果,最多只需进行一次,而且在每次计算时,若w2是[1,n-1]中的随机数,则检查采用同态加密算法加密后的数是否为0的加密结果不是必须的,而具体应用中这是最常见的情况;
3)s2中包含有在[1,n-1]中随机选取的整数b1,这使得第一装置通过分析、分解s4得到(w2g2)mod n的值变得非常困难,同时,s3中包含有在[1,n-1]中随机选取的整数b2,这也使得第一装置通过分析、分解s3得到w2变得非常困难,所有这些都提高了方案的安全性。
附图说明
无。
具体实施方式
对于加法同态加密算法,目前有许多的这类算法,可以选择一个即可。在实施加法同态加密算法时,实施的加法同态加密针对加密前的明文数的模m要远大于n,若m的二进制位数是L,而n的二进制位数是S,则L至少是S的两倍。
下面结合实施例对本发明作进一步的描述,以下实施例不代表全部可能的实施例,不作为对本发明的限定。
在以下描述中,如无特别说明,当出现一个数的乘法逆时,表示的是此数的模n乘法逆。
实施例1、
此实施例描述了本发明的方法在基于秘密共享的SM2密码算法中的应用。SM2是国家商用密码管理局颁布的一种椭圆曲线密码算法。本发明这里的mod n算子对应于SM2中的modn。
在此实施例中,被称为第一装置、第二装置的两个密码装置分别在[1,n-1]中随机选择整数d1、d2,并通过关系(d1+d2)mod n=(1+dA)-1间接(隐含)地产生用户的SM2私钥dA,其中n是SM2椭圆曲线点群基点G的阶,(1+dA)-1是(1+dA)的模n乘法逆。为了进行SM2密码运算,两个装置需要在不暴露各自的秘密d1、d2的情况下,计算用户SM2私钥dA对应的公钥[dA]G=[((d1+d2)mod n)-1]G-G。为此,两个装置按如下方式通过实施本发明的方法计算得到[dA]G。
第一装置、第二装置分别在[1,n-1]中随机选择整数w1、w2作为秘密,第一装置以d1作为g1,第二装置以d2作为g2,然后按前面所述的包含秘密的数的生成方法,通过交互计算得到c=w1w2(g1+g2)mod n,即计算得到c=w1w2(d1+d2)mod n。
之后第一装置计算G1=[(w1c-1)mod n]G,其中c-1是c的模n乘法逆;第二装置计算G2=[w2]G1-G;则G2就是用户公钥[dA]G。
在此实施例中,由于w2是每次计算时第二装置在[1,n-1]中随机选择的整数,因此,在计算过程中第二装置检查s0是否是0的加密结果不是必须的。
在此实施例中,由于c并不对外公开,而且通过G1也无法获得c,因此,第一装置在向第二装置返回G1前,验证G1的有效性不是必须的。
在此实施例中,由于c并不对外公开,而且通过G1也无法获得c,且从(w1g1)mod n的取值无法获解秘密w1和g1,故每次计算c时a1、a2可以是不保密的数,最简单的是取a1、a2值都为1。
若需要验证G2的有效性、确定其是用户的SM2私钥dA对应的公钥,则可以通过如下方式:
第二装置取Q0=G2+G=[w2]G1
第一装置计算Q1=[d1]Q0
第二装置计算Q2=[d2]Q0
第一或第二装置计算Q=Q1+Q2;若Q=G,则G2是用户的有效公钥,G2是预期的计算结果,否则,不是。
实施例2、
此实施例描述了本发明的方法在基于秘密共享的SM2数字签名中的应用。
在此实施例中,被称为第一装置、第二装置的两个密码装置分别在[1,n-1]中随机选择整数d1、d2,并通过关系(d1d2)mod n=(1+dA)-1间接(隐含)地产生用户的SM2私钥dA,其中n是SM2椭圆曲线点群基点G的阶,(1+dA)-1是(1+dA)的模n乘法逆。
两个装置可在不暴露各自秘密d1、d2的情况下,计算用户SM2私钥dA对应的公钥[dA]G=[((d1d2)mod n)-1]G-G(做到此点很容易,在此不详细描述)。
下面看两个装置如何在不暴露各自秘密d1、d2的情况下,利用本发明的包含秘密的数的生成方法,协同生成使用用户的SM2私钥dA针对消息M的SM2数字签名。
第一装置、第二装置分别在[1,n-1]中随机选择整数k1、k2;第一装置计算G0=[k1]G,将G0传送给第二装置;
第二装置计算G1=[k2]G0,计算r=(e+x1)mod n,x1取自(x1,y1)=G1,e是从用户标识和消息M导出的杂凑值(即散列值)(按SM2算法,e是从用户标识IDA等参数导出的杂凑值ZA同消息M合并后的数据的杂凑值,参见SM2规范);
若r=0,则第二装置重新选择k2,重新计算G1、r,直到r≠0。
之后,第一装置以k1作为g1,以d1作为w1,第二装置以r(k2)-1mod n作为g2,以d2k2mod n作为w2,两个装置按前面所述的包含秘密的数的生成方法,计算得到c=w1w2(g1+g2)mod n(即c=(k1+r(k2)-1)d1d2k2mod n),然后第一装置计算s=(c-r)mod n。若(s+r)modn≠0,则(r,s)就是针对消息M的数字签名,若(s+r)mod n=0,则从第二装置选择k2开始重新计算r、s,或者从第一装置选择k1开始重新计算r、s,直到(s+r)mod n≠0。
在此实施例中,由于k2是每次计算时由第二装置在[1,n-1]中随机选择的整数,d2是常数,故w2是[1,n-1]中的随机数,因此,在计算过程中第二装置检查s0是否是0的加密结果不是必须的。
此实施例中,由于s是需要(向签名者、以及依赖方)返回的、公开的,且从s得到c是简单的,因此,第一装置在返回或发布s前,必须先验证、确定(r,s)是针对消息M的有效数字签名,若验证通过,则返回、公开数字签名,否则,不返回、不公开,报告错误。
实施例3、
此实施例同样描述了本发明的方法在基于秘密共享的SM2数字签名中的应用。
在此实施例中,被称为第一装置、第二装置的两个密码装置分别在[1,n-1]中随机选择整数d1、d2,并通过关系(d1+d2)mod n=(1+dA)-1间接(隐含)地产生用户的SM2私钥dA,其中n是SM2椭圆曲线点群基点G的阶,(1+dA)-1是(1+dA)的模n乘法逆。
如实施例1,两个装置可在不暴露各自秘密d1、d2的情况下,计算用户SM2私钥dA对应的公钥[dA]G=[((d1+d2)mod n)-1]G-G。
下面看两个装置如何在不暴露各自秘密d1、d2的情况下,利用本发明的包含秘密的数的生成方法,协同生成使用用户的SM2私钥dA针对消息M的SM2数字签名。
第一装置、第二装置分别在[1,n-1]中随机选择整数k1、k2
第一装置计算G1=[k1]G,将G1传送给第二装置;
第二装置计算G2=[k2]G,Q=G1+G2,计算r=(e+x1)mod n,x1取自(x1,y1)=Q,e是从用户标识和消息M导出的杂凑值(即散列值)(按SM2算法,e是从用户标识IDA等参数导出的杂凑值ZA同消息M合并后的数据的杂凑值,参见SM2规范);
若r=0,则第二装置重新选择k2,重新计算G2、Q、r,直到r≠0;
之后,第一装置在[1,n-1]中随机选择一个整数w1,第二装置在[1,n-1]中随机选择一个整数w2
两个装置按本发明的方法,通过交互计算得到:
c1=w1w2(k1+k2)mod n,c2=((w1)-1(w2)-1(d1+d2))mod n;
其中,在计算c2时,第一装置以(w1)-1作为本发明方法中的w1,第二装置以(w2)-1作为本发明方法中的w2
第一装置在计算得到c1、c2后,计算c=(c1c2)mod n;
然后第一装置计算s=(c-r)mod n。若(s+r)mod n≠0,则(r,s)就是针对消息M的数字签名,若(s+r)mod n=0,则从第二装置选择k2开始重新计算r、s,或者从第一装置选择k1开始重新计算r、s,直到(s+r)mod n≠0。
此实施例中,由于s是需要(向签名者、以及依赖方)返回的、公开的,且从s得到c是简单的,因此,第一装置在返回或发布s前,必须先验证、确定(r,s)是针对消息M的有效数字签名,若验证通过,则返回、公开数字签名,否则,不返回、不公开,报告错误。
在此实施例中,计算c2=((w1)-1(w2)-1(d1+d2))mod n时,作为本发明方法中的w2的(w2)-1,不是独立选择的数,故在c2=((w1)-1(w2)-1(d1+d2))mod n的计算过程中第二装置需要判断s0是否是0的加密结果。
实施例4、
此实施例描述了本发明的方法在SM9标识私钥的分割生成(基于秘密共享的私钥生成)中的应用。这里描述的是用于签名的私钥的分割生成,用于加密的私钥的分割生成是完全类似的。SM9是国家商用密码管理局颁布的标识密码算法。
设私钥生成器(Private Key Generator)的主密钥是s,则一个用户标识ID所对应的用于签名的私钥是:dA=[s(hID+s)-1]P1,其中,hID是由用户ID及其他信息计算得到杂凑值(散列值),P1是双线性映射的源域中的两个群中的第一个群的生成元。
假设需要由两个私钥生成器通过秘密分割(共享)方式生成用户私钥dA,其中一个私钥生成器有秘密s1,另一个私钥生成器有秘密s2,且(s1+s2)mod n=s,这里n是P1的阶。
将dA的计算式变换后有dA=P1-[hID(hID+s)-1]P1
以拥有s1的私钥生成器作为第一装置,以拥有s2的私钥生成器作为第二装置;第一装置以(hID+s1)mod n作为g1,在[1,n-1]中随机选择一个整数作为w1;第二装置以s2作为g2,在[1,n-1]中随机选择一个整数作为w2
之后两个装置(私钥生成器)按本发明的方法协同计算得到c=w1w2(g1+g2)mod n。
之后第一装置计算G1=[(hIDw1c-1)mod n]P1,其中c-1是c的模n乘法逆;第一装置将G1提交给第二装置。
第二装置计算G2=P1-[w2]G1;则G2就是用户ID所对应的私钥dA
在此实施例中,由于w2是每次计算时第二装置在[1,n-1]中随机选择的整数,因此,在计算过程中第二装置检查s0是否是0的加密结果不是必须的。
在此实施例中,由于c并不对外公开,而通过G1也无法获得c,因此,在向第二装置返回G1前,第一装置验证G1的有效性不是必须的,
在此实施例中,由于c并不对外公开,而通过G1也无法获得c,且从(w1g1)mod n的取值无法获解秘密w1和g1,故每次计算c时a1、a可以是不保密的数,最简单的是让a1、a2的取值都为1。
任何一个装置或系统(第一装置或第二装置或其他系统)可通过适当的方式验证G2是否是用户ID所对应的私钥,比如,以G2作为用户标识ID对应的私钥对任选的一个消息数据进行签名,然后用用户ID验证签名的有效性,若签名有效,则G2是用户ID所对应的私钥,否则,不是;或者,通过配对计算验证G2是用户ID所对应的私钥。
实施例5、
此实施例同样描述了本发明的方法在SM9标识私钥的分割生成(基于秘密共享的私钥生成)中的应用,与实施例3的不同之处在于,此时的两个私钥生成器的秘密s1、s2与主私钥的关系是(s1s2)mod n=s。
第一装置取g1=(hID(s1)-1)mod n,w1=s1
第二装置取g2=s2,在[1,n-1]中随机选择一个整数作为w2
之后两个装置(私钥生成器)按本发明的方法协同计算得到c=w1w2(g1+g2)mod n。
之后第一装置计算G1=[(hIDc-1)mod n]P1,其中c-1是c的模n乘法逆;第一装置向第二装置提交G1
第二装置计算G2=P1-[w2]G1;则G2就是用户ID所对应的私钥dA
在此实施例中,由于w2是每次计算时第二装置在[1,n-1]中随机选择的整数,因此,在计算过程中第二装置检查s0是否是0的加密结果不是必须的。
在此实施例中,由于第一装置之外的其他装置和系统(其中包括第二装置)不能够获得c也不能获解c,因此每次计算c时(w1g1)mod n的取值是一个非保密的常数hID是允许的(这里说的常数,是指针对同一个用户ID,多次进行私钥生成运算时hID是一个常数,不同的用户ID,hID是不同的)。
在此实施例中,由于c并不对外公开,而通过G1也无法获得c,且从(w1g1)mod n的取值无法获解秘密w1和g1,因此,第一装置向第二装置提交G1前,不必验证G1的有效性,而且每次计算c时a1、a2可以是不保密的数,最简单的是让a1、a2取值都为1。
任何一个装置或系统(第一装置或第二装置或其他系统)可通过适当的方式验证G2是否是用户标识ID所对应的私钥,比如,以G2作为用户标识ID对应的私钥对任选的一个消息数据进行签名,然后用用户ID验证签名的有效性,若签名有效,则G2是用户ID所对应的私钥,否则,不是;或者,通过配对运算验证G2是用户ID所对应的私钥。
实施例6、
此实施例描述了本发明的方法在基于秘密共享的SM9数字签名中的应用。
在此实施例中,被称为第一装置、第二装置的两个密码装置分别有[1,n-1]中的整数秘密d1、d2,其中n是双线性映射中源群的阶;事先有从用户的SM9标识私钥dA计算得到的群元:GA=[((d1d2)mod n)-1]dA(如何事先做到这点,属于本发明之外的事情)。GA非保密。
下面看两个装置如何在不暴露各自秘密d1、d2的情况下,利用本发明的包含秘密的数的生成方法,协同生成针对消息M的SM9数字签名。
第一装置在[1,n-1]中随机选择一个整数r1,第二装置在[1,n-1]中随机选择一个整数r2
第一装置计算得到g的r1次幂,并设其值为t1,其中g=e(P1,Ppub);
第二装置计算得到g的r2次幂,并设其值为t2,其中g=e(P1,Ppub);
这里Ppub为主公钥;
第一或第二装置计算得到t=t1t2
第一或第二装置计算得到h=H2(M||t,n),H2为杂凑(散列)函数(参见SM9规范);
第一装置以(r1-h)mod n作为秘密g1(前提是(r1-h)≠0),以d1作为秘密w1
第二装置以r2作为秘密g2,以d2作为秘密w2
第一装置、第二装置应用本发明的方法计算得到c=w1w2(g1+g2)mod n;
若c≠0,则第一计算得到S=[c]GA
(h,S)即为针对M的SM9数字签名。
在此实施例中,w2本身就是第二装置的私钥,因此秘密检查s0是否为0的加密结果是必须的。
在此实施例中,由于第一装置不返回或公开c,从S也无法解得c,且从(w1g1)mod n的取值无法获解秘密w1和g1,故每次计算c时a1、a2可以是不保密的数,最简单的是让a1、a2取值都为1。
在此实施例中,由于第一装置不返回或公开c,从S也无法解得c,第一装置在返回或公开(h,S)之前,验证(h,S)的有效性不是必须的。当然,验证(h,S)的有效性是很容易的,只需用户标识ID、消息M验证(h,S)是有效的数字签名。
实施例7、
此实施例同样描述了本发明的方法在基于秘密共享的SM9数字签名中的应用。
同样地,在此实施例中,被称为第一装置、第二装置的两个密码装置分别有[1,n-1]中的整数秘密d1、d2,其中n是双线性映射中源群的阶;事先有从用户的SM9标识私钥dA计算得到的群元:GA=[((d1d2)mod n)-1]dA。GA非保密。
下面是两个装置在不暴露各自秘密d1、d2的情况下,利用本发明的包含秘密的数的生成方法,协同生成使用用户的SM9私钥dA针对消息M的SM9数字签名的另一种方式。
第一装置在[1,n-1]中随机选择一个整数r1,第一装置在[1,n-1]中随机选择一个整数r2
第一装置计算得到g的r1次幂,并设其值为t1,其中g=e(P1,Ppub);
第二装置计算得到t1的r2次幂,并设其值为t;
第一或第二装置计算得到h=H2(M||t,n),H2为杂凑(散列)函数(参见SM9规范);
第一装置以((-h)(r1)-1)mod n作为秘密g1,以(r1d1)mod n作为秘密w1;(这里-h是h的模n加法逆)
第二装置以r2作为秘密g2,以d2作为秘密w2
第一装置、第二装置应用本发明的方法计算得到c=w1w2(g1+g2)mod n;
若c≠0,则第一计算得到S=[c]GA
(h,S)即为针对M的SM9数字签名。
在此实施例中,由于第一装置之外的其他装置和系统(其中包括第二装置)不能够获得c也不能获解c,因此每次计算c时(w1g1)mod n的取值是一个非保密的数-h。
在此实施例中,w2本身就是第二装置的私钥,检查s0是否为0的加密结果是必须的。
在此实施例中,虽然第一装置不返回或公开c,从S也无法解得c,但从(w1g1)mod n的取值能获解秘密w1和g1(从第二装置的角度,(w1g1)mod n计算式仅包含一个未知量d1),故每次计算c时a1、a2必须是随机选择的数。
在此实施例中,由于第一装置不返回或公开c,从S也无法解得c,第一装置在返回或公开(h,S)之前,验证(h,S)的有效性不是必须的。当然,验证(h,S)的有效性是很容易的,只需用户标识ID、消息M验证(h,S)是有效的数字签名。
实施例8、
此实施例同样描述了本发明的方法在基于秘密共享的SM9数字签名中的应用。
在此实施例中,被称为第一装置、第二装置的两个密码装置分别有[1,n-1]中的整数秘密d1、d2,其中n是双线性映射中源群的阶;事先有从用户的SM9标识私钥dA计算得到的群元:GA=[((d1+d2)mod n)-1]dA(如何事先做到这点,属于本发明之外的事情)。GA非保密。
下面看两个装置如何在不暴露各自秘密d1、d2的情况下,利用本发明的包含秘密的数的生成方法,协同生成针对消息M的SM9数字签名。
第一装置在[1,n-1]中随机选择一个整数r1,第一装置在[1,n-1]中随机选择一个整数r2
第一装置计算得到g的r1次幂,并设其值为t1,其中g=e(P1,Ppub);
第二装置计算得到g的r2次幂,并设其值为t2,其中g=e(P1,Ppub);
第一或第二装置计算得到t=t1t2
第一或第二装置计算得到h=H2(M||t,n),H2为杂凑(散列)函数(参见SM9规范);
之后,第一装置在[1,n-1]中随机选择一个整数w1,第二装置在[1,n-1]中随机选择一个整数w2
两个装置按本发明的方法,通过交互计算得到:
c1=w1w2(r1+r2-h)mod n,c2=((w1)-1(w2)-1(d1+d2))mod n;
其中,在计算c2时,第一装置以(w1)-1作为本发明方法中的w1,第二装置以(w2)-1作为本发明方法中的w2
第一装置在计算得到c1、c2后,计算c=(c1c2)mod n;
若c≠0,则第一计算得到S=[c]GA
(h,S)即为针对M的SM9数字签名。
在此实施例中,由于第一装置不返回或公开c,从S也无法解得c,第一装置在返回或公开(h,S)之前,验证(h,S)的有效性不是必须的。当然,验证(h,S)的有效性是很容易的,只需用户标识ID、消息M验证(h,S)是有效的数字签名。
在此实施例中,w2本身就是第二装置的私钥,检查s0是否为0的加密结果是必须的。
前面所述实施例1、实施例3、实施例4、实施例8很容易扩展为采用三个装置的情形。
在具体实施中,若需要检查s0是否是0的加密结果,则检查s0是否是0的加密结果的一种方法如下:
第二装置在[1,n-1]中随机选择一个整数q,计算t0=q⊙s0,将t0发送给第一装置;
第一装置计算t1=(D(t0)/((a1w1)mod n),将t1返回给第二装置;
第二装置比较q和t1,若二者相同,则确定s0不是0的加密结果,否则,不能确定s0是0的加密结果。
基于本发明的方法可以构建一个包含秘密的数的生成系统,系统包括两个装置,其中一个装置作为所述包含秘密的数的生成方法中的第一装置,另一个装置作为所述包含秘密的数的生成方法中的第二装置,两个装置按所述包含秘密的数的生成方法生成包含秘密g1、w1、g2、w2的数c=w1w2(g1+g2)mod n。具体地,这里的两个装置可以是专门提供密码服务的装置,或者,其中一个装置是用户装置,如用户电脑、移动终端(智能手机、智能穿戴设备),另一个装置是专门提供密码服务的装置,或者,两个装置都是用户装置,比如,一个是用户电脑、另一个是用户移动终端。
其他未说明的具体技术实施,对于相关领域的技术人员而言是众所周知,不言自明的。

Claims (10)

1.一种包含秘密的数的生成方法,其特征是:
所述包含秘密的数的生成方法涉及被称为第一装置和第二装置的两个装置,其中,第一装置有[1,n-1]中的整数秘密g1、w1,第二装置有[1,n-1]中的整数秘密g2、w2,n是一个素数;
所述第一装置、第二装置按如下方式计算得到包含秘密g1、w1、g2、w2的数c=w1w2(g1+g2)mod n:
第一装置在[1,n-1]内随机选择整数a1、a2,且使得(a1a2)mod n=1;
第一装置计算s0=E((a1w1)mod n),s1=(a1w1g1)mod n,其中,E(·)是使用第一装置的公钥的加法同态加密的加密运算;
第一装置将s0、s1发送给第二装置;
第二装置检查s0是否是0的加密结果,检查s1是否为0,若s0是0的加密结果,或者s1为0,则终止后续操作,否则,继续后续操作;
第二装置在[1,n-1]内随机选择整数b1、b2,且使得(b1+b2)mod n=0,然后计算s2=((((w2g2)mod n)+z1n)⊙s0)⊕E(z2n+b1),s3=(w2s1+b2)mod n;
第二装置将s2、s3发送给第一装置;
第一装置接收到s2、s3后,计算s4=D(s2),其中D(·)是使用第一装置的私钥的加法同态加密的解密运算;
第一装置检查s3和s4是否为0,若s3或s4为0,则终止后续操作,否则,继续后续操作;
第一装置计算c=(a2(s3+s4))mod n;
在以上计算过程中,⊕表示同态加密的密文数的加运算,⊙表示同态加密中的明文数与密文数的乘运算;z1、z2是只有第二装置知道的整数;
以上过程中所使用的加法同态加密针对被加密的明文数进行运算所对应的模m大于n。
2.根据权利要求1所述的包含秘密的数的生成方法,其特征是:
所述z1是第二装置随机选择的整数,或者按预定的规则选择的整数,或者固定选择的整数,而所述z2是第二装置随机选择的整数;所述z1、z2的取值范围不限于[1,n-1],且z1、z2的取值是整数;当s0对应的明文数的取值在[1,n-1]范围内时,z1、z2的取值使得s2对应的明文数不超出加法同态加密的明文数的补码的表示范围,或者使得s2对应的明文数超出加法同态加密的明文数的补码的表示范围的概率极小,所述概率极小指具体应用中所确定的允许的概率。
3.根据权利要求1所述的包含秘密的数的生成方法,其特征是:
若每次计算时w2的取值是[1,n-1]中的随机数,则第二装置无需检查s0是否是0的加密结果。
4.根据权利要求1所述的包含秘密的数的生成方法,其特征是:
若第一装置之外的其他装置或系统能够获得c或能够从由c生成的数据中获解c,而且每次计算c时(w1g1)mod n的取值不是[1,n-1]中的随机数,则第一装置在返回或发布c前,或者在第一装置返回或发布由c生成的数据前,必须在不暴露自身秘密的情况下验证c的有效性或验证由c生成的数据的有效性。
5.根据权利要求1所述的包含秘密的数的生成方法,其特征是:
若第一装置之外的其他装置和系统不能够获得c也不能够从由c生成的数据中获解c,或者每次计算c时(w1g1)mod n的取值是[1,n-1]中的随机数,则验证c的有效性的操作不必在第一装置返回或发布c前进行,验证由c生成的数据的有效性的操作不必在第一装置返回或发布由c生成的数据前进行。
6.根据权利要求1所述的包含秘密的数的生成方法,其特征是:
若第一装置之外的其他装置和系统不能够获得c也不能够从由c生成的数据中获解c,且从(w1g1)mod n的值无法获解秘密w1和g1,则每次计算c时a1、a2被允许是非保密的数。
7.根据权利要求1所述的包含秘密的数的生成方法,其特征是:
若第一装置之外的其他装置和系统能够获得c,或者能够从由c生成的数据中获解c,且(w1g1)mod n计算式是已知常数,则所述包含秘密的数的生成方法不适用。
8.根据权利要求1所述的包含秘密的数的生成方法,其特征是:
所述第二装置检查s0是否是0的加密结果的一种方法如下:
第二装置在[1,n-1]中随机选择一个整数q,计算t0=q⊙s0,将t0发送给第一装置;
第一装置计算t1=(D(t0)/((a1w1)mod n),将t1返回给第二装置;
第二装置比较q和t1,若二者相同,则确定s0不是0的加密结果,否则,不能确定s0是0的加密结果。
9.一种基于权利要求1或2或3或8所述的包含秘密的数的生成方法的包含秘密的数的三方生成方法,其特征是:
在第一装置、第二装置之外,还有第三装置,第三装置有[1,n-1]中的整数秘密g3、w3
所述第一装置、第二装置、第三装置按如下方式计算得到包含秘密g1、w1、g2、w2、g3、w3的数c3=w1w2w3(g1+g2+g3)mod n:
第一装置和第二装置先按前述包含秘密的数的生成方法,生成包含秘密的数c=w1w2(g1+g2)mod n;
之后,第一装置在[1,n-1]内随机选择整数a11、a12,且使得(a11a12)mod n=1;
第一装置计算s10=E((a11w1)mod n),s11=(a11c)mod n;
第一装置将s10发送给第二装置;
第一装置将s11发送给第三装置;
第二装置计算s20=w2⊙s10
第二装置将s20发送给第三装置;
第三装置检查s20是否是0的加密结果,检查s11是否为0,若s20是0的加密结果,或者s11为0,则终止后续操作,否则,继续后续操作;
第三装置在[1,n-1]内随机选择整数b31、b32,且使得(b31+b32)mod n=0,然后计算s32=((((w3g3)mod n)+z31n)⊙s20)⊕E(z32n+b31),s33=(w3s11+b32)mod n,其中z31、z32是只有第三装置知道的整数;
第三装置将s32、s33发送给第一装置;
第一装置接收到s32、s33后,计算s34=D(s32);
第一装置检查s33和s34是否为0,若s33或s34为0,则终止后续操作,否则,继续后续操作;
第一装置计算c3=(a12(s33+s34))mod n,则c3即为所求。
10.一种基于权利要求1-8中任一项所述的包含秘密的数的生成方法的包含秘密的数的生成系统,其特征是:
所述系统包括两个装置,其中一个装置作为所述包含秘密的数的生成方法中的第一装置,另一个装置作为所述包含秘密的数的生成方法中的第二装置,所述两个装置按所述包含秘密的数的生成方法生成包含秘密g1、w1、g2、w2数c=w1w2(g1+g2)mod n。
CN201811498006.0A 2018-12-07 2018-12-07 一种改进的包含秘密的数的生成方法及系统 Active CN109361519B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811498006.0A CN109361519B (zh) 2018-12-07 2018-12-07 一种改进的包含秘密的数的生成方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811498006.0A CN109361519B (zh) 2018-12-07 2018-12-07 一种改进的包含秘密的数的生成方法及系统

Publications (2)

Publication Number Publication Date
CN109361519A CN109361519A (zh) 2019-02-19
CN109361519B true CN109361519B (zh) 2020-06-19

Family

ID=65331792

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811498006.0A Active CN109361519B (zh) 2018-12-07 2018-12-07 一种改进的包含秘密的数的生成方法及系统

Country Status (1)

Country Link
CN (1) CN109361519B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110247759B (zh) * 2019-06-03 2020-07-10 武汉理工大学 一种sm9私钥生成和使用方法及系统
CN110401524B (zh) * 2019-08-27 2022-11-01 武汉理工大学 一种借助同态加密的包含秘密的数的协同生成方法及系统
CN111030811B (zh) * 2019-12-13 2022-04-22 支付宝(杭州)信息技术有限公司 一种数据处理的方法
CN115037441B (zh) * 2022-07-07 2023-11-10 三未信安科技股份有限公司 一种基于同态运算的sm2协同签名方法、装置及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105577357A (zh) * 2015-12-21 2016-05-11 东南大学 基于全同态加密的智能家居数据隐私保护方法
CN106100844A (zh) * 2016-05-24 2016-11-09 天津大学 基于点盲化方法的优化自动双线性对加密方法及装置
CN106254073A (zh) * 2016-08-09 2016-12-21 武汉理工大学 一种针对密文数的运算方法及系统
CN107872322A (zh) * 2017-11-02 2018-04-03 武汉理工大学 基于同态加密的数字签名协同生成方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8971528B2 (en) * 2013-01-29 2015-03-03 Certicom Corp. Modified elliptic curve signature algorithm for message recovery
IT201600076089A1 (it) * 2016-07-20 2018-01-20 St Microelectronics Srl Procedimento per la generazione di una firma digitale di un messaggio, corrispondenti unita' di generazione, apparato elettronico e prodotto informatico
CN107360002B (zh) * 2017-08-15 2020-02-07 武汉信安珞珈科技有限公司 一种数字证书的申请方法
CN107819581B (zh) * 2017-10-20 2019-10-25 武汉理工大学 包含秘密的数和椭圆曲线点的生成方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105577357A (zh) * 2015-12-21 2016-05-11 东南大学 基于全同态加密的智能家居数据隐私保护方法
CN106100844A (zh) * 2016-05-24 2016-11-09 天津大学 基于点盲化方法的优化自动双线性对加密方法及装置
CN106254073A (zh) * 2016-08-09 2016-12-21 武汉理工大学 一种针对密文数的运算方法及系统
CN107872322A (zh) * 2017-11-02 2018-04-03 武汉理工大学 基于同态加密的数字签名协同生成方法及系统

Also Published As

Publication number Publication date
CN109361519A (zh) 2019-02-19

Similar Documents

Publication Publication Date Title
CN109361519B (zh) 一种改进的包含秘密的数的生成方法及系统
CN107634836B (zh) 一种sm2数字签名生成方法及系统
CN109309569B (zh) 基于sm2算法的协同签名的方法、装置及存储介质
CN107872322B (zh) 基于同态加密的数字签名协同生成方法及系统
CN107248909B (zh) 一种基于sm2算法的无证书安全签名方法
CN106603246B (zh) 一种sm2数字签名分割生成方法及系统
US11374910B2 (en) Method and apparatus for effecting a data-based activity
CN107968710B (zh) Sm9数字签名分离交互生成方法及系统
CN106850229B (zh) 基于乘积秘密分割的sm2数字签名生成方法及系统
CN109547209B (zh) 一种两方sm2数字签名生成方法
CN111404952B (zh) 变电站数据加密传输方法、装置、计算机设备和存储介质
CN107104793B (zh) 一种数字签名生成方法及系统
CN109951292B (zh) 精简的sm9数字签名分离交互生成方法及系统
CN112910632B (zh) 一种新型面向多数据用户、保护用户隐私的云端数据完整性验证方法
US11637817B2 (en) Method and apparatus for effecting a data-based activity
WO2023184858A1 (zh) 一种时间戳生成方法、装置、电子设备及存储介质
CN110784300B (zh) 一种基于乘法同态加密的密钥合成方法
CN113343201A (zh) 注册请求处理方法、用户身份信息管理方法及设备
CN109962783B (zh) 基于递进计算的sm9数字签名协同生成方法及系统
CN110401524B (zh) 一种借助同态加密的包含秘密的数的协同生成方法及系统
CN111262691A (zh) 基于混合主密钥的标识私钥生成及使用方法及系统和装置
CN110798313B (zh) 基于秘密动态共享的包含秘密的数的协同生成方法及系统
US11930117B2 (en) Method and apparatus for reversible tokenization with support for embeddable role-based access control
CN113259097A (zh) 基于cpk的可多态配置的密钥生成方法及装置
CN110557260B (zh) 一种sm9数字签名生成方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant