CN108055134B - 椭圆曲线点数乘及配对运算的协同计算方法及系统 - Google Patents

椭圆曲线点数乘及配对运算的协同计算方法及系统 Download PDF

Info

Publication number
CN108055134B
CN108055134B CN201711318078.8A CN201711318078A CN108055134B CN 108055134 B CN108055134 B CN 108055134B CN 201711318078 A CN201711318078 A CN 201711318078A CN 108055134 B CN108055134 B CN 108055134B
Authority
CN
China
Prior art keywords
party
devices
elliptic curve
secret
calculation
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
CN201711318078.8A
Other languages
English (en)
Other versions
CN108055134A (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 CN201711318078.8A priority Critical patent/CN108055134B/zh
Publication of CN108055134A publication Critical patent/CN108055134A/zh
Application granted granted Critical
Publication of CN108055134B publication Critical patent/CN108055134B/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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token

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)
  • Mobile Radio Communication Systems (AREA)

Abstract

发明涉及椭圆曲线点的计算方法:素数n为椭圆曲线点群G的阶;第一方有[1,n‑1]中的秘密h,预先有Qh=hQ,Q群G中的元;第一方要计算Qr=rQ时,r是不等于h且需保密的整数,第一方将w=(rh‑1)mod n发送给第二方;第二方计算Qr=wQh;发明涉及配对运算的计算方法:素数n是双线性映射e:G1×G2→GT中G1、G2、GT的阶;g=e(S,R),S、R是群G1、G2中的元;第一方有[1,n‑1]中的秘密u以及gu=gu;第一方要计算gr=gr时,r是不等于u且需保密的整数,第一方将w=(r‑u)mod n发送给第二方;第二方将计算的gw=gw发送给第一方;第一方计算gr=gwgu

Description

椭圆曲线点数乘及配对运算的协同计算方法及系统
技术领域
本发明属于信息安全技术领域,特别是针对基于双线性映射(配对运算)的标识密码中的椭圆曲线点数乘(标量乘运算)及配对运算的协同计算方法及系统。
背景技术
与PKI(Public Key Infrastructure)数字证书技术相比,标识密码(IdentityBased Cryptography,IBC)技术由于用户体验好,技术实现简单,目前日益受到人们的重视,具有广阔的应用前景。目前的标识密码算法大多是采用基于双线性映射(配对运算)的算法,其中的双线性映射(配对运算)为:
e:G1×G2→GT时,其中G1、G2是加法循环群,GT是一个乘法循环群,G1、G2、GT的阶是素数n,即若P、Q、R分别为G1、G2中的元,则e(P,Q)为GT中的元,且:
e(P+R,Q)=e(P,Q)e(R,Q),
e(P,Q+R)=e(P,Q)e(P,R),
e(aP,bQ)=e(P,Q)ab
在实际应用中,G1、G2通常是椭圆曲线点加法群(而GT通常是构建在整数上的乘法群),因此,这种基于双线性映射(配对运算)标识密码算法在应用时,需要实时进行椭圆曲线点数乘计算(标量乘运算)和配对运算,而椭圆曲线点数乘计算和配对运算的计算量比较大,尤其是配对运算,这对于大多数计算装置包括智能手机等移动终端并不存在问题的,但是,对于资源受限装置,比如无线传感器、智能穿戴装置、无线传感器甚至通常的USB Key,由于它们的计算能力较弱,实时进行这种大计算量的椭圆曲线点数乘计算以及配对运算(双线性映射运算)会存在问题,主要是计算速度很难满足实时要求。
发明内容
本发明的目的是针对基于双线性映射(配对运算)的标识密码算法在资源受限智能装置中应用时,由于装置计算能力受限,很难快速地进行实时椭圆曲线点数乘计算以及配对运算的问题,提出相应的解决方案。
针对以上发明目的,本专利申请提出的技术方案包括针对基于双线性映射(配对运算)的标识密码算法的椭圆曲线点数乘及配对运算的协同计算方法及系统。
在以下对本发明技术方案的描述中,若P、Q是加法群G1、G2中的元,则P+Q表示P、Q在加法群上的加,P-Q表示P加上Q的逆元(加法逆元),kP或[k]P表示k个P在加法群上的加,即P+P+...+P(共有k个P)(若k是负数,则是|k|个P相加的结果的加法逆元);
省略号“...”,表示多个同样(类型)的数据项或多个同样的运算;
若a、b是乘法群GT中的元,则ab或a·b表示a、b在乘法群GT上的乘(只要不产生无二义性,“·”可以省略),a-1表示a在乘法群中逆元(乘法逆元),at表示t个a在乘法群GT上相乘(t是负数,则是|t|个a相乘的结果的乘法逆元),即幂运算,at的另一种表达方式是a^t;
多个整数相乘(包括整数符号相乘、常数与整数符号相乘),在不产生二义性的情况下,省略掉乘号“·”,如k1·k2简化为k1k2,3·c,简化为3c;
若c为整数,则c-1表示整数c的模n乘法逆(即cc-1mod n=1);如无特别说明,本专利发明中整数的乘逆都是针对群G1、G2、GT的阶n的模n乘法逆;
mod n表示模n运算(modulo operation);还有,模n运算的算子mod n的优先级是最低的,如a+b mod n等同于(a+b)mod n,a-b mod n等同于(a-b)mod n,ab mod n等同于(ab)mod n。
本专利申请提出的椭圆曲线点数乘的协同计算方法又包括两个方案,具体如下。
方案一、
椭圆曲线点数乘的协同计算方法的方案一针对的是阶为素数n的椭圆曲线点群G;
此方案涉及两方:第一方和第二方,其中第一方保存有[1,n-1]区间中的一个整数秘密h,h对应有第一方预先计算得到或知道的Qh=hQ,其中Q是群G中的一个元;
当第一方需要计算Qr=rQ时,其中r是第一方在[1,n-1]中随机选择的一个不等于h且需保密的整数,第一方与第二方按如下方式完成Qr的协同计算:
第一方将满足关系w=(rh-1)mod n的w发送给第二方,其中h-1为h的模n乘法逆(即(hh-1)mod n=1);
第二方计算Qr=wQh,其中Qh由第一方在计算过程中发送给第二方或者是第二方预先知道的;
第二方将Qr发送给第一方,则Qr即为所求。
以上方法中的Q是需要保密的或者是无需保密的。
当以上所述方法用于双线性映射(配对运算)e:G1×G2→GT时,其中G1、G2是加法群,GT是乘法群,G1、G2、GT的阶是素数n,则所述G对应群G1或G2,而Q是G1或G2中的元。
方案二、
椭圆曲线点数乘的协同计算方法的方案二同样针对的是阶为素数n的椭圆曲线点群G;
此方案二同样涉及两方:第一方和第二方,其中第一方保存有[1,n-1]区间中的一个整数秘密h,h对应有第一方预先计算得到或知道的Qh=hQ,其中Q是群G中的一个元;
当第一方需要计算Qr=rQ时,其中r是第一方在[1,n-1]中随机选择的一个不等于h且需保密的整数,第一方与第二方按如下方式完成Qr的协同计算:
第一方将满足关系w=(r-h)mod n的w发送给第二方;
第二方计算Qr=wQ+Qh,其中Q、Qh由第一方在计算过程中发送给第二方或者是第二方预先知道的;
第二方将Qr发送给第一方,则Qr即为所求。
基于以上所述椭圆曲线点数乘的协同计算方法的方案一和方案二,可构建相应的椭圆曲线点数乘的协同计算系统,包括两个装置,其中一个装置作为所述椭圆曲线点数乘的协同计算方法中的第一方,另一个装置作为所述椭圆曲线点数乘的协同计算方法中的第二方;当作为第一方的装置需要计算Qr=rQ时,其中r是作为第一方的装置在[1,n-1]中随机选择的一个需保密的整数,两个装置按所述椭圆曲线点数乘的协同计算方法的方案一或方案二计算得到Qr
本专利申请提出的配对运算的协同计算方法又包括两个方案,以满足不同的密码运算需求,具体如下。
方案一、
配对运算的协同计算方法的方案一针对的是第一方预先知道的元的配对计算,此方案涉及双线性映射(配对运算)e:G1×G2→GT,其中G1、G2是加法群,GT是乘法群,G1、G2、GT的阶是素数n;
此方案涉及两方:第一方和第二方,其中第一方保存有[1,n-1]区间中的一个整数秘密u,以及gu=gu,其中g=e(S,R),S、R分别是群G1、G2中的元;
当第一方需要计算gr=gr时(即计算gr=e(S,R)r时),其中r是第一方在[1,n-1]中随机选择的一个不等于u且需保密的整数,第一方与第二方按如下方式完成gr的计算:
第一方将满足关系w=(r-u)mod n的w发送给第二方;
第二方计算gw=gw,将gw发送给第一方(g是第二方预先知道的,或者在计算过程中第一方将S、R发送给第二方,之后由第二方根据S、R动态计算);
第一方计算gr=gwgu,则gr即为所求。
(此方案一避免了第一方实时进行gr幂运算,只要最后的gr是保密的,此方法就是安全的)
基于前述配对运算的协同计算方法的方案一,可构建相应的配对运算的协同计算系统,系统包括两个装置,其中一个装置作为所述配对运算的协同计算方法中的第一方,另一个装置作为所述配对运算的协同计算方法中的第二方;当作为第一方的装置需要计算gr=gr时,其中r是作为第一方的装置在[1,n-1]中随机选择的一个需保密的整数,两个装置按所述配对运算的协同计算方法的方案一计算得到gr
方案二、
配对运算的协同计算方法的方案二针对的是涉及第一方的秘密Qs,如私钥,的配对计算;此方案二涉及双线性映射(配对运算)e:G1×G2→GT,其中G1、G2是加法群,GT乘法群,G1、G2、GT的阶是素数n;
第一方保存有秘密t,t是[1,n-1]中的整数;
第一方或第三方预先计算得到Qc=t-1Qs,t-1是t的模n乘法逆(即(t-1t)mod n=1),Qs是G2或G1中的一个元,Qs是第二方不知道的秘密(比如Qs是第一方的私钥);
当第一方需要计算gv=e(V,Qs)或gv=e(Qs,V)时,其中V是G1或G2中的一个元,第一方与第二方按如下方式完成gv的计算:
第一方将V发送给第二方;
第二方计算gc=e(V,Qc)或gc=e(Qc,V),其中Qc由第一方发送给第二方,或者第二方预先保存有Qc
第二方将gc发送给第一方;
第一方计算gv=(gc)t(群GT中的幂运算),则gv即为所求。
(此方案二避免了第一方实时进行e(V,Qs)配对运算)
以上所述配对运算的协同计算方法的方案二中,若第二方包括m个装置,其中m≥2,Qc由第二方的m个装置通过共享秘密方式共享(分享),则第二方中的m个装置通过协同计算得到gc=e(V,Qc)或gc=e(Qc,V)(注意:Qc由第二方中的m个装置进一步共享不是必须的)。
以上所述配对运算的协同计算方法的方案二中,若所述Qc由第二方中的m个装置通过共享秘密方式共享(分享),其中m≥2,则第二方中的m个装置共享Qc的方式包括秘密共享方案一和秘密共享方案二,具体如下。
Qc秘密共享方案一、
m个装置分别有秘密Q1,t2,…,tm,其中Q1=t1Qs,(t1t2…tm)mod n=t-1(t1,t2,…,tm的模n乘积);
而第二方中的m个装置通过如下方式计算得到gc
分享有秘密Q1的装置计算得到g1=e(V,Q1)或g1=e(Q1,V);
分享有秘密t2的装置计算得到
Figure GDA0002496758180000061
依此类推,最后分享有秘密tm的装置计算得到
Figure GDA0002496758180000071
则gc=gm
Qc秘密共享方案二、
m个装置分别有秘密Q1=t1Qs,Q2=t2Qs,…,Qm=tmQs,且(t1+t2+…+tm)mod n=t-1(t1,t2,…,tm的模n和);
而第二方中的m个装置通过如下方式计算得到gc
分享有秘密tiQs的装置计算得到gi=e(V,Qi)或gi=e(Qi,V),i=1,…,m;
最后由第二方中的一个装置或由第一方计算得到gc=g1g2…gm
基于以上所述配对运算的协同计算方法的方案二,可构建相应的配对运算的协同计算系统,系统包括m+1个装置,其中m≥1;m+1个装置中的一个装置作为所述配对运算的协同计算方法中的第一方,而其他的m个装置作为第二方;当作为第一方的装置需要计算gv=e(V,Qs)或gv=e(Qs,V)时,其中V是G1或G2中的一个元素,相应地Qs是G2或G1中的一个元素,Qs是第二方不知道的秘密,m+1个装置按所述配对运算的协同计算方法计算得到gv
基于本发明的椭圆曲线点数乘的协同计算方法和系统、配对运算的协同计算方法和系统,结合具体实施例可以看到,当第一方需要进行椭圆曲线点数乘和/或配对运算时,可以在不暴露自己秘密的情况下,由第二方完成复杂的、计算量大的椭圆曲线点数乘运算和/或配对运算,尤其是复杂的、计算量大的配对运算,而第一方自己仅负责完成整数群上的乘运算或幂运算。在实际应用中,第一方通常是一个资源受限装置,而第二方的装置不属于资源受限装置,比如第一方是一个无线传感器、智能穿戴装置,而第二方是与无线传感器、智能穿戴装置交互的网关、计算设备,再比如,第一方式是USB Key,使用用户秘密进行运算,而第二方是USB Key插入的用户计算机,负责进行复杂的椭圆曲线点数乘以及配对运算。
本发明的方法及系统避免了资源受限装置进行复杂的椭圆曲线点计算及配对运算,从而使得基于双向性映射(配对运算)的标识密码技术能够在资源受限装置(如无线传感器、智能穿戴装置、USB Key)中得到应用。在本发明的方法及系统中,只要作为资源受限方的第一方保护好自己的秘密,作为非资源受限方的第二方无需是一个可信的一方。
附图说明
无。
具体实施方式
下面结合实施例对本发明作进一步的描述。以下实施例仅是本发明列举的几个可能的实施例,不代表全部可能的实施例,不作为对本发明的限定。
实施例1、
此实施例针对的是SM9中的加密运算。SM9是国家密码管理局颁布的一种基于双线性映射(配对运算)的标识密码算法。
SM9算法通过双线性映射(配对运算)完成如下映射:
e:G1×G2→GT时,其中G1、G2是椭圆曲线点群(加法群),GT是一个整数乘法群,G1、G2、GT的阶是素数n(注:在SM9中G1、G2、GT的阶用的符号N,N对应本专利申请的n)。
在SM9进行加密计算的过程中,加密方要计算C1=(H1(IDB||hid,n))rP1+rPpub,其中H1是散列函数,IDB是解密方的身份标识,是一个字节表示的私钥生成函数标识符,P1是群G1的生成元,Ppub=sP1是主公钥,s是主密钥(主私钥),r是[1,n-1]中随机选择的整数,其中的关键是计算Q1=(H1(IDB||hid,n))rP1和Q2=rPpub
在此实施例中,进行加密计算的一方是一个资源受限装置(如无线传感器、智能穿戴装置、USB Key等)。
此实施例通过如下方式计算得到Q1和Q2
1)此资源受限装置作为前述椭圆曲线点数乘的协同计算方法中的第一方,与一个具有充分计算能力的第二方,通过采用前述椭圆曲线点数乘的协同计算方法的方案一或方案二,实时计算得到Q1=(H1(IDB||hid,n))rP1,此时的(H1(IDB||hid,n))r整个数对应于前述椭圆曲线点数乘的协同计算方法的方案一或方案二中的需保密的随机整数r,P1是前述椭圆曲线点数乘的协同计算方法的方案一或方案二中的Q,P1是第一方、第二方都预先知道的元;
2)此资源受限装置作为前述椭圆曲线点数乘的协同计算方法的方案一或方案二中的第一方,与一个具有充分计算能力的第二方,通过采用前述椭圆曲线点数乘的协同计算方法的方案一或方案二,实时计算得到Q2=rPpub,此时的r对应于前述椭圆曲线数乘点的协同计算方法的方案一或方案二中的需保密的随机整数r,Ppub是前述椭圆曲线点数乘的协同计算方法的方案一或方案二中的Q,Ppub是第一方、第二方都预先知道的元;
3)在以上计算中,针对Q1和Q2所采用的h和Gh是不同的(否则会泄密)。
计算得到Q1和Q2之后,再由第二方计算得到C1=Q1+Q2
在SM9进行加密计算的过程中,加密方还要计算gr=gr,其中g=e(Ppub,P2),P2是群G2的生成元,r是[1,n-1]中的一个随机整数。
由于进行加密计算的一方是一个资源受限装置(如无线传感器、智能穿戴装置),此资源受限装置作为前述配对运算的协同计算方法的方案一中的第一方,与一个具有充分计算能力的第二方,通过采用前述配对运算的协同计算方法的方案一,实时计算得到gr,此时,g即为前述配对运算的协同计算方法的方案一中的g,Ppub、P2为此方案一中的S、R,且S、R为第一方、第二方都预先知道的元;在计算gr中所采用的u与实施例1中计算Q1和Q2时所采用的h是不同的。
此实施例中第一方计算得到的gr除了对解密方外,对其他方需保密;只有gr保密,即便第二方在计算的C1过程中作弊,只会造成解密方无法正常解密数据,不会造成被加密的信息泄露。
实施例2、
此实施例针对的是SM9中的解密运算。
在SM9进行解密计算的过程中,解密方要计算w1=e(C1,dB),其中dB是需要保密的解密方的私钥。
同实施例1一样,进行解密计算的一方是一个资源受限装置(如无线传感器、智能穿戴装置、USB Key等)。
此资源受限装置作为前述配对运算的协同计算方法的方案二中的第一方,与一个具有充分计算能力的第二方,通过采用前述配对运算的协同计算方法的方案二,计算得到w1=e(C1,dB),此时的w1即为前述配对运算的协同计算方法的方案二中的gv,dB是此方案二中的Qs,C1是此方案二中的V。
实施例3、
此实施例与实施例2的差别在于,具有充分计算能力的第二方又包括m个装置,m≥2,m个装置按前述Qc秘密共享方案一,共享私钥dB的秘密;在协同计算w1=e(C1,dB)的过程中,第二方的m个装置使用共享的秘密,按照与Qc秘密共享方案一相对应的配对运算的协同计算方式,进行相应的计算。
实施例4、
此实施例与实施例3的差别在于,第二方又包括m个装置,m≥2,m个装置按前述Qc秘密共享方案二,共享私钥dB的秘密;在协同计算w1=e(C1,dB)的过程中,第二方的m个装置使用共享的秘密,按照与Qc秘密共享方案二相对应的配对运算的协同计算方式,进行相应的计算。
实施例5、
此实施例针对的是SM9中的数字签名运算。
在SM9进行数字签名计算的过程中,签名方要计算gr=gr,其中g=e(P1,Ppub),P1是群G1的生成元,r是[1,n-1]中的一个随机整数。
此实施例中,进行数字签名计算的一方是一个资源受限装置(如无线传感器、智能穿戴装置、USB Key等)。
此资源受限装置作为前述配对运算的协同计算方法的方案一中的第一方,与一个具有充分计算能力的第二方,通过采用前述配对运算的协同计算方法的方案一,实时计算得到gr,此时,g即为方案一中的g,P1、Ppub为方案一中的S、R,且S、R为第一方、第二方都预先知道的元。
完成gr计算后,签名方还要计算[l]dA(注意,这里方括号内的是代表变量的字母“l”不是数字“1”,下同),其中是用户的私钥。签名方,即资源受限装置,作为前述配对运算的协同计算方法的方案一中的第一方,与一个具有充分计算能力的第二方,通过采用前述椭圆曲线点数乘的协同计算方法的方案一,实时计算得到[l]dA,此时的,dA对应前述椭圆曲线点数乘的协同计算方法的方案一中的Q,但Q需要保密,而l对应前述椭圆曲线点数乘的协同计算方法的方案一中的r;此时,计算[l]dA所采用h与计算gr时所采用的u不同(其实相同也不影响安全)。
对于SM9的数字签名,签名过程中的配对运算并非完全由第二方完成的,第一方是参与了计算,因此,在数字签名的过程中,如果进行参与配对运算的第二方作弊,只会造成数字签名结果是错的、无法验证通过,并不会造成签名被伪造;
对于SM9的签名验证,不涉及敏感信息,但是,为了防止作弊,针对配对值g=e(P1,Ppub)的幂运算必须由验证方进行,其他椭圆曲线点数乘、加法以及其他配对运算可以由验证方之外的一方进行。
对于本专利申请的方法,对于数据加密、解密以及数字签名,涉及敏感信息的配对运算并非完全由第二方完成的,第一方是参与了计算,且最后的结果是第二方无法知道的,因此,在数据加密、解密以及数字签名的过程中,如果参与配对运算的第二方作弊,只会造成加密结果是错的、加密信息无法正确解密,并不会造成敏感信息本身的泄露,只会造成签名结果是错的,验证无法通过,不会造成签名被假冒,而通常情况下,与第二方是正在与第一方交互的一方,在这种情况下第二方没有理由自己给自己捣乱。
基于本发明的方法可构建相应的系统,系统包括两个装置,其中一个装置是一个资源受限装置,如无线传感器、智能穿戴装置、USB Key等,此资源受限装置作为所述椭圆曲线点数乘的协同计算方法和/或配对运算的协同计算方法中的第一方,另一个装置为非资源受限装置,如与资源受限装置交互的网关、计算设备、用户计算机等,此非资源受限装置作为所述椭圆曲线点数乘的协同计算方法和/或配对运算的协同计算方法中的第二方;当作为第一方的装置需要进行标识密码运算时,两个装置采用本发明的椭圆曲线点数乘的协同计算方法(方案一或方案二)和/或配对运算的协同计算方法(方案一或方案二)完成相应的密码运算,如实施前述实施例1、2、5。
进一步地,若,如实施例3、4,由m+1个装置实施本专利发明的配对运算的协同计算方法的方案二,其中m≥2,则基于配对运算的协同计算方法的方案二所构建的协同计算系统包括m+1个装置,其中一个装置是一个资源受限装置,如无线传感器、智能穿戴装置、USBKey等,此资源受限装置作为所述配对运算的协同计算方法中的第一方,另外m个装置为非资源受限装置,此m个装置为非资源受限装置一起作为所述配对运算的协同计算方法中的第二方,按前述Qc秘密共享方案一或方案二,对Qc进行密码共享(分享);当作为一方的装置需要计算gv=e(V,Qs)或gv=e(Qs,V)时,第二方中的m个装置按前述Qc秘密共享方案一或方案二通过协同计算得到gc=e(V,Qc)或gc=e(Qc,V);第一方计算gv=(gc)t(群GT中的幂运算)。
其他未说明的具体技术实施,对于相关领域的技术人员而言是众所周知,不言自明的。

Claims (11)

1.一种椭圆曲线点数乘的协同计算方法,其特征是:
所述方法针对的是阶为素数n的椭圆曲线点群G;
所述方法涉及两方:第一方和第二方,其中第一方保存有[1,n-1]区间中的一个整数秘密h,h对应有第一方预先计算得到或知道的Qh=hQ,其中Q是群G中的一个元;
当第一方需要计算Qr=rQ时,其中r是第一方在[1,n-1]中随机选择的一个不等于h且需保密的整数,第一方与第二方按如下方式完成Qr的协同计算:
第一方将满足关系w=(rh-1)mod n的w发送给第二方,其中h-1为h的模n乘法逆;
第二方计算Qr=wQh,其中Qh由第一方在计算过程中发送给第二方或者是第二方预先知道的;
第二方将Qr发送给第一方,则Qr即为所求;
所述第一方是一个进行椭圆曲线点数乘实时计算不能满足要求的资源受限方,而所述第二方是一个进行椭圆曲线点数乘实时计算能满足要求的非资源受限方。
2.一种基于权利要求1所述的椭圆曲线点数乘的协同计算方法的椭圆曲线点数乘的协同计算系统,其特征是:
所述系统包括两个装置,其中一个装置作为所述椭圆曲线点数乘的协同计算方法中的第一方,另一个装置作为所述椭圆曲线点数乘的协同计算方法中的第二方;当作为第一方的装置需要计算Qr=rQ时,其中r是作为第一方的装置在[1,n-1]中随机选择的一个需保密的整数,两个装置按所述椭圆曲线点数乘的协同计算方法计算得到Qr
作为第一方的装置是一个进行椭圆曲线点数乘实时计算不能满足要求的资源受限装置,而作为第二方的装置是一个进行椭圆曲线点数乘实时计算能满足要求的非资源受限装置。
3.一种椭圆曲线点数乘的协同计算方法,其特征是:
所述方法针对的是阶为素数n的椭圆曲线点群G;
所述方法涉及两方:第一方和第二方,其中第一方保存有[1,n-1]区间中的一个整数秘密h,h对应有第一方预先计算得到或知道的Qh=hQ,其中Q是群G中的一个元;
当第一方需要计算Qr=rQ时,其中r是第一方在[1,n-1]中随机选择的一个不等于h且需保密的整数,第一方与第二方按如下方式完成Qr的协同计算:
第一方将满足关系w=(r-h)mod n的w发送给第二方;
第二方计算Qr=wQ+Qh,其中Q、Qh由第一方在计算过程中发送给第二方或者是第二方预先知道的;
第二方将Qr发送给第一方,则Qr即为所求;
所述第一方是一个进行椭圆曲线点数乘实时计算不能满足要求的资源受限方,而所述第二方是一个进行椭圆曲线点数乘实时计算能满足要求的非资源受限方。
4.一种基于权利要求3所述的椭圆曲线点数乘的协同计算方法的椭圆曲线点数乘的协同计算系统,其特征是:
所述系统包括两个装置,其中一个装置作为所述椭圆曲线点数乘的协同计算方法中的第一方,另一个装置作为所述椭圆曲线点数乘的协同计算方法中的第二方;当作为第一方的装置需要计算Qr=rQ时,其中r是作为第一方的装置在[1,n-1]中随机选择的一个需保密的整数,两个装置按所述椭圆曲线点数乘的协同计算方法计算得到Qr
作为第一方的装置是一个进行椭圆曲线点数乘实时计算不能满足要求的资源受限装置,而作为第二方的装置是一个进行椭圆曲线点数乘实时计算能满足要求的非资源受限装置。
5.一种配对运算的协同计算方法,其特征是:
所述方法涉及双线性映射e:G1×G2→GT,其中G1、G2是加法群,GT是乘法群,G1、G2、GT的阶是素数n;
所述方法涉及两方:第一方和第二方,其中第一方保存有[1,n-1]区间中的一个整数秘密u,以及gu=gu,其中g=e(S,R),S、R分别是群G1、G2中的元;
当第一方需要计算gr=gr时,其中r是第一方在[1,n-1]中随机选择的一个不等于u且需保密的整数,第一方与第二方按如下方式完成gr的计算:
第一方将满足关系w=(r-u)mod n的w发送给第二方;
第二方计算gw=gw,将gw发送给第一方;
第一方计算gr=gwgu,则gr即为所求;
所述第一方是一个进行实时配对运算不能满足要求的资源受限方,而所述第二方是一个进行实时配对运算能满足要求的非资源受限方。
6.一种基于权利要求5所述的配对运算的协同计算方法的配对运算的协同计算系统,其特征是:
所述系统包括两个装置,其中一个装置作为所述配对运算的协同计算方法中的第一方,另一个装置作为所述配对运算的协同计算方法中的第二方;当作为第一方的装置需要计算gr=gr时,其中r是作为第一方的装置在[1,n-1]中随机选择的一个需保密的整数,两个装置按所述配对运算的协同计算方法计算得到gr
作为第一方的装置是一个进行实时配对运算不能满足要求的资源受限装置,而作为第二方的装置是一个进行实时配对运算能满足要求的非资源受限装置。
7.一种配对运算的协同计算方法,其特征是:
所述方法涉及双线性映射e:G1×G2→GT,其中G1、G2是加法群,GT乘法群,G1、G2、GT的阶是素数n;
第一方保存有秘密t,t是[1,n-1]中的整数;
第一方或第三方预先计算得到Qc=t-1Qs,t-1是t的模n乘法逆,Qs是G2或G1中的一个元,Qs是第二方不知道的秘密;
当第一方需要计算gv=e(V,Qs)或gv=e(Qs,V)时,其中V是G1或G2中的一个元,第一方与第二方按如下方式完成gv的计算:
第一方将V发送给第二方;
第二方计算gc=e(V,Qc)或gc=e(Qc,V),其中Qc由第一方发送给第二方,或者第二方预先保存有Qc
第二方将gc发送给第一方;
第一方计算gv=(gc)t,则gv即为所求;
所述第一方是一个进行实时配对运算不能满足要求的资源受限方,而所述第二方是一个进行实时配对运算能满足要求的非资源受限方。
8.根据权利要求7所述的配对运算的协同计算方法,其特征是:
若Qc由第二方中的m个装置通过共享秘密方式共享,其中m≥2,则第二方中的m个装置共享Qc的方式包括:m个装置分别有秘密Q1,t2,…,tm,其中Q1=t1Qs,(t1t2…tm)mod n=t-1
而第二方中的m个装置通过如下方式计算得到gc
分享有秘密Q1的装置计算得到g1=e(V,Q1)或g1=e(Q1,V);
分享有秘密t2的装置计算得到g2=(g1)t2
依此类推,最后分享有秘密tm的装置计算得到gm=(gm-1)tm
则gc=gm
9.根据权利要求7所述的配对运算的协同计算方法,其特征是:
若Qc由第二方中的m个装置通过共享秘密方式共享,其中m≥2,则第二方中的m个装置共享Qc的方式包括:m个装置分别有秘密Q1=t1Qs,Q2=t2Qs,…,Qm=tmQs,且(t1+t2+…+tm)modn=t-1
而第二方中的m个装置通过如下方式计算得到gc
分享有秘密tiQs的装置计算得到gi=e(V,Qi)或gi=e(Qi,V),i=1,…,m;
最后由第二方中的一个装置或由第一方计算得到gc=g1g2…gm
10.一种基于权利要求7所述的配对运算的协同计算方法的配对运算的协同计算系统,其特征是:
所述系统包括两个装置,其中一个装置作为所述配对运算的协同计算方法中的第一方,另一个装置作为所述配对运算的协同计算方法中的第二方;当作为第一方的装置需要计算gv=e(V,Qs)或gv=e(Qs,V)时,其中V是G1或G2中的一个元,两个装置按所述配对运算的协同计算方法计算得到gv
作为第一方的装置是一个进行实时配对运算不能满足要求的资源受限装置,而作为第二方的装置是一个进行实时配对运算能满足要求的非资源受限装置。
11.一种基于权利要求8或9所述的配对运算的协同计算方法的配对运算的协同计算系统,其特征是:
所述系统包括m+1个装置,其中m≥2;m+1个装置中的一个装置作为所述配对运算的协同计算方法中的第一方,而其他的m个装置作为第二方;所述第二方中的m个装置按所述共享Qc的方式共享Qc;当作为第一方的装置需要计算gv=e(V,Qs)或gv=e(Qs,V)时,其中V是G1或G2中的一个元素,相应地Qs是G2或G1中的一个元素,Qs是第二方不知道的秘密,m+1个装置按所述配对运算的协同计算方法计算得到gv
作为第一方的装置是一个进行实时配对运算不能满足要求的资源受限装置,而作为第二方的m个装置是进行实时配对运算能满足要求的非资源受限装置。
CN201711318078.8A 2017-12-12 2017-12-12 椭圆曲线点数乘及配对运算的协同计算方法及系统 Active CN108055134B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711318078.8A CN108055134B (zh) 2017-12-12 2017-12-12 椭圆曲线点数乘及配对运算的协同计算方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711318078.8A CN108055134B (zh) 2017-12-12 2017-12-12 椭圆曲线点数乘及配对运算的协同计算方法及系统

Publications (2)

Publication Number Publication Date
CN108055134A CN108055134A (zh) 2018-05-18
CN108055134B true CN108055134B (zh) 2020-08-25

Family

ID=62124143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711318078.8A Active CN108055134B (zh) 2017-12-12 2017-12-12 椭圆曲线点数乘及配对运算的协同计算方法及系统

Country Status (1)

Country Link
CN (1) CN108055134B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110113165B (zh) * 2019-04-24 2020-09-04 武汉理工大学 支持混合秘密共享的sm2数字签名协同生成方法及系统
CN110688089A (zh) * 2019-09-24 2020-01-14 武汉理工大学 一种针对群元数乘或幂运算的计算方法及系统
CN113014399B (zh) * 2021-03-31 2022-06-03 武汉理工大学 针对资源受限装置的配对运算方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101453331A (zh) * 2002-04-15 2009-06-10 株式会社Ntt都科摩 利用双线性映射的签名方案
EP2360659A1 (en) * 2008-08-29 2011-08-24 National University Corporation Okayama University Pairing computation device, pairing computation method, and pairing computation program
CN103780385A (zh) * 2012-10-23 2014-05-07 航天信息股份有限公司 基于椭圆曲线的盲签名方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101453331A (zh) * 2002-04-15 2009-06-10 株式会社Ntt都科摩 利用双线性映射的签名方案
EP2360659A1 (en) * 2008-08-29 2011-08-24 National University Corporation Okayama University Pairing computation device, pairing computation method, and pairing computation program
CN103780385A (zh) * 2012-10-23 2014-05-07 航天信息股份有限公司 基于椭圆曲线的盲签名方法和装置

Also Published As

Publication number Publication date
CN108055134A (zh) 2018-05-18

Similar Documents

Publication Publication Date Title
CN108667626B (zh) 安全的两方协作sm2签名方法
CN109309569B (zh) 基于sm2算法的协同签名的方法、装置及存储介质
CN107634836B (zh) 一种sm2数字签名生成方法及系统
CN108173639B (zh) 一种基于sm9签名算法的两方合作签名方法
CN107707358B (zh) 一种ec-kcdsa数字签名生成方法及系统
CN110830236B (zh) 基于全域哈希的身份基加密方法
CN108667625B (zh) 协同sm2的数字签名方法
CN108667627B (zh) 基于两方协同的sm2数字签名方法
CN110120939B (zh) 一种基于异构系统的可否认认证的加密方法和系统
US11870891B2 (en) Certificateless public key encryption using pairings
US9705683B2 (en) Verifiable implicit certificates
CN107579819A (zh) 一种sm9数字签名生成方法及系统
CN101079701B (zh) 高安全性的椭圆曲线加解密方法和装置
US9800418B2 (en) Signature protocol
CN112564907B (zh) 密钥生成方法及装置、加密方法及装置、解密方法及装置
CN110113150B (zh) 基于无证书环境的可否认认证的加密方法和系统
CN114157427A (zh) 基于sm2数字签名的门限签名方法
CN104767612A (zh) 一种从无证书环境到公钥基础设施环境的签密方法
CN104767611B (zh) 一种从公钥基础设施环境到无证书环境的签密方法
CN106972924A (zh) 加密、解密、电子签章、验证签章的方法及装置
CN108055134B (zh) 椭圆曲线点数乘及配对运算的协同计算方法及系统
CN113132104A (zh) 一种主动安全的ecdsa数字签名两方生成方法
US20150006900A1 (en) Signature protocol
US20220038267A1 (en) Methods and devices for secured identity-based encryption systems with two trusted centers
CN107682158B (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