【技术实现步骤摘要】
一种两方SM2数字签名生成方法
本专利技术属于信息安全
,涉及数字签名生成方法,尤其涉及一种两方SM2数字签名生成方法。
技术介绍
SM2椭圆曲线公钥密码算法(简称SM2)是由国家密码管理局于2010年12月17日发布的公钥加密标准。在商用密码体系中,SM2主要用于替换RSA(Rivest-Shamir-Adleman)加密算法。SM2基于椭圆曲线密码学(ECC),安全性与NISTPrime256相当。SM2签名流程如图1所示,SM2验签流程如图2所示。在使用SM2签名的过程中,如果密钥只由一方来保管,往往有泄露或监管的风险,因此在许多应用场景中就需要密钥被两方(可能完全不互信)分别持有,且签名只有在两方的共同参与下才能生成,任何一方都无法单独的生成签名。但是,两方SM2数字签名并不能直接生成。在现有的两方SM2签名生成方案中,有些基于秘密共享的方法实现,但是,这类方法必须公开自己的秘密给对方,私钥使用一次之后必须重新协商,并且计算量也比较大,无法满足某些场景的实际需求。Paillier加密系统是1999年由PascalPaillier专利技术的概率公钥加密系统,基于复合剩余类的困难问题。该加密算法是一种同态加密,满足加法和数乘同态,即:其中:m1,m2为消息,Dsk()为解密函数,Epk()为加密函数,+pk为同态加,×pk为同态乘,sk为私钥,pk为公钥。
技术实现思路
为了克服上述现有技术的不足,本专利技术提供一种两方SM2数字签名生成方法,该方法允许不互相信任的双方可以在不泄露自己的私钥的情况下签出只有双方合作才可以签出的签名。本专利技术基于Pa ...
【技术保护点】
1.一种两方SM2数字签名的生成方法,所述SM2为SM2椭圆曲线公钥密码算法的简称;所述方法基于Paillier同态加密方案实现;假设d是双方的公共私钥,满足d≡nd1d2‑1,其中
【技术特征摘要】
1.一种两方SM2数字签名的生成方法,所述SM2为SM2椭圆曲线公钥密码算法的简称;所述方法基于Paillier同态加密方案实现;假设d是双方的公共私钥,满足d≡nd1d2-1,其中是第一方的私钥;是第二方的私钥;表示阶为n的有限域;P、P1、P2均为双方所共知的公钥;P=dG、P1=d1G、P2=d2G;G为椭圆曲线的基点;通过以下步骤实现两方合作对消息m签出公钥P对应的SM2签名:1)初始化,执行如下操作:11)由可信的第三方生成参数其中均为安全质数;12)可信第三方随机生成阶为的参数h2:随机数13)可信第三方计算14)对两方均公开h1、h2,销毁χ;2)进行签名:两方合作对消息m签出私钥d1d2-1对应的签名,且签名过程中两方均不会向对方泄露自己的私钥;具体执行如下操作:21)第一方生成临时私钥k1,并将消息m及(d1)-1、(d1)-1k1用pk加密后的值即<m,α,ζ>发给第二方;pk为第一方的Paillier加密的公钥;22)第二方对从第一方收到的数据进行一致性校验,并生成临时私钥k2,将Q2=k2G发送给第一方;23)第一方收到Q2后计算出临时公钥Q;并将Q附带一个零知识证明П发送给第二方;П可使第二方确信第二方后续发送给第一方的消息不会泄露自己的私钥;24)第二方收到<Q,Π>后,校验П及Q;如果校验通过,利用步骤21)收到的α、ζ、m、Q及自己的临时私钥k2、私钥x2,进行一系列同态乘操作×pk及同态加操作+pk,生成密文u;第二方将u、u′←Epk′((k2)-1及零知识证明Π′即<u,u′,П′>发送给第一方;25)第一方收到<u,u′,П′>后对u、u′及П′进行校验,校验通过后解密u,经过计算得到签名;3)验签:其他人利用公钥P对第一方得到的签名进行验签;4)生成证明ProofП及进行校验;执行如下操作:ProofΠ满足:其中,pk=<N,g>为Paillier同态加密的公钥;sk=<N,g,λ(N)>为对应的私钥,满足N>n6;假设生成证明的一方知道η1,r1,使得[η1]P1≡G,[η2/η1]G≡Q1,及生成证明Proof∏的步骤包括:41)生成随机参数,包括:σ、β、γ、ρ1、δ、μ、v、ρ2、ρ3、∈;42)计算得到ProofΠ中的各项参数,包括:z1、U1、u2、u3、z2、Y、V1、V2、v3、v4、e、s1、s2、s3、t1、t2、t3、t4;43)生成Proof∏:П←<z1,U1,u2,u3,z2,Y,V1,V2,v3,v4,s1,s2,s3,t1,t2,t3,t4>;5)ProofП′的生成及校验;ProofП′构造为如下形式:其中,pk=<N,g>;sk=<N,g,λ(N)>及pk′=<N′,g′>、sk′=<N′,g′,λ(N′)>为两对Paillier加密的公私钥,且满足N>n8,N′>n6,n1,n2∈[-n4,n4],Dsk(m3)=n1,Dsk(m4)=n2,生成证明方已知:η1,r1,使得[η1]P2≡G、[η2/η1]G≡Q2、及ProofΠ′的构建过程包括:51)生成随机参数,包括:α、β、γ、ρ1、δ、μ、v、ρ2、ρ3、ρ4、∈、σ、τ;52)计算ProofΠ′中的各项参数,包括:z1、U1、u2、u3、z2、Y、V1、V2、v3、v4、z3、v5、e、s1、s2、s3、t1、t2、t3、t4、t5、t6;53)生成ProofΠ′:Π′←<z1,U1,u2,u3,z2,z3,Y,V1,V2,v3,v4,v5,s1,s2,s3,t1,t2,t3,t4,t5,t6>通过上述步骤,实现两方合作生成SM2数字签名。2.如权利要求1所述两方SM2数字签名的生成方法,其特征是,在步骤24)计算过程中,第二方加一个很大的随机数cn来混淆明文,使得第一方在解密得到明文后也很难获取Bob私钥的任何信息。3.如权利要求1所述两方SM2数字签名的生成方法,其特征是,步骤24)具体执行如下操作:241)如果则终止交互;242)如果verify(∏)=false则终止交互;243)计算m的Hash:e←hash(m);244)计算椭圆曲线上的点:(x′,y′)←Q;245)计算:r′←(e+x′)modn;246)计算逆:z2←(d2)-1modn;237)生成随机数:248)计算:u←(ζ×pkz2k2)+pk(α×pk(-r′z2))+pk(Epk(-r′))+pk(Epk(cn));用pk’加密:u′←Epk’(z2);249)生成零知识证明,表示为:然后,第二方将<u,...
【专利技术属性】
技术研发人员:关志,王珂,陈霄,陈钟,南湘浩,
申请(专利权)人:北京大学,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。