一种生成RSA密钥并协同RSA签名和解密的方法及系统技术方案

技术编号:28383272 阅读:18 留言:0更新日期:2021-05-08 00:11
本发明专利技术技术方案提供一种合作生成RSA密钥并进行协同RSA签名和解密的方法及系统,其包括两个参与方A和S分别持有素数p的分享值p

【技术实现步骤摘要】
一种生成RSA密钥并协同RSA签名和解密的方法及系统
本专利技术涉及公钥密钥算法领域,并且更具体地,涉及一种生成RSA密钥并协同RSA签名和解密的方法及系统。
技术介绍
RSA公钥密码算法是全球著名的公钥密码算法标准之一,其包括数字签名算法、公钥加密算法。目前RSA公钥密码算法已经广泛用于互联网通信、电子商务和身份认证等领域。在公钥密码
内,私钥的安全保护一直受到工业界和学术界的高度重视,尤其是移动互联网时代,终端更容易受到攻击。因此,对签名私钥的保护需求更为迫切。私钥拆分保存是保护私钥的传统密码技术,针对不同的公钥密码算法分别存在着不同的私钥拆分方法和方案。就RSA公钥密码算法而言,目前的私钥拆分方法分为两类。一类是基于可信第三方的方法,在这类方法中,由可信第三方生成RSA公私钥对,然后把私钥拆分成多个共享值,最后把各个共享值发送给你对应的参与方;另一类是不需要第三方的方法,在这类方法里,由参与方互相合作来生成RSA公钥以及各个参与方的所持有的私钥共享值。第一类方法过度的依赖可信第三方,而在网络世界里难以建立这样的可信第三方,尤其是当可信第三方遭到攻击时,所有用户的安全性就会受到影响,因此这类方法不适合如今的互联网应用。第二类方法去掉了可信第三方,但是现有的方法和技术在计算和通信这两方面的开销巨大,无法针对大于4096比特的RSA模进行密钥拆分。
技术实现思路
为了解决现有技术中的RSA私钥拆分过度依赖可信第三方,安全性不高,以及在不依赖第三方时,密钥拆分计算量大,无法对大于4096比特的RSA模进行拆分的技术问题,本专利技术提供一种生成RSA密钥的方法,所述方法包括:参与方S执行设置的加法同态加密方案的密钥生成算法HKG得到加密密钥pkHE和解密密钥skHE;根据pkHE和pS,采用设置的加法同态加密方案的加密算法HE生成密文cp,根据pkHE和qS,采用HE生成密文cq,并将pkHE、cp和cq发送至参与方A,其中,pS和qS是参与方S持有素数p和q的加法共享值,p=pA+pS且q=qA+qS;参与方A根据pkHE、pA和qA,采用HE生成密文cA,并基于cp、cq、pA、qA和cA生成密文cn,以及将cn发送至参与方S,其中,pA和qA参与方A持有的素数p和q的加法共享值,p=pA+pS且q=qA+qS;参与方S根据skHE和cn,采用设置的加法同态加密方案的解密算法HD解密得到明文n’,并根据pS、qS和n’生成明文n;根据pS、qS和n生成明文φnS,根据pkHE和φnS,采用HE生成密文cφnS,并将e、n和cφnS发送至参与方A,其中,e是参与方S利用随机数发生器从(1,n)中选择的素数;参与方A根据pA、qA和n生成明文φnA,根据pkHE和φnA,采用HE生成密文cφnA,并基于cφnA、cφnS和r1生成密文cmφn,以及将cmφn发送至参与方S,其中,r1是参与方A利用随机数发生器从(1,e)中任意选择的一个自然数;参与方S根据skHE和cmφn,采用HD解密得到明文mφn,根据mφn和e生成明文ηS,并根据pkHE和ηS,采用HE生成密文cηS,以及将cηS发送至参与方A;参与方A根据e和mdA生成明文dA,根据e和r1生成明文ρA,根据ρA、φnA和mdA生成明文r,根据pkHE和r,采用HE生成密文cr,并基于cr、cηS、cφnS、φnA和ρA生成密文cS,以及将cS至参与方S,参与方A保存{n,dA}作为自己的部分密钥片,对应的RSA公钥为{n,e},其中,mdA是参与方A利用随机数发生器从(1,n/216)中任意选择的一个自然数;参与方S根据skHE和cS,采用HD解密得到明文r2,根据r2、φnS和ηS生成明文mdS,以及根据e和mdS生成明文dS;参与方S保存{n,dS}作为自己的部分密钥片,对应的RSA公钥为{n,e}。进一步地,所述参与方S执行设置的加法同态加密方案的密钥生成算法HKG得到加密密钥pkHE和解密密钥skHE;根据pkHE和pS,采用设置的加法同态加密方案的加密算法HE生成密文cp,根据pkHE和qS,采用HE生成密文cq,其表达式为:HKG=(pkHE,skHE)cp=HE(pkHE,pS)cq=HE(pkHE,qS)。进一步地,所述参与方A根据pkHE、pA和qA,采用HE生成密文cA,并基于cp、cq、pA、qA和cA生成密文cn,其表达式为:cA=HE(pkHE,pA×qA)式中,cn为(qA×pS+pA×qS+pA×qA)的密文。进一步地,所述参与方S根据skHE和cn,采用设置的加法同态加密方案的解密算法HD解密得到明文n’,并根据pS、qS和n’生成明文n,根据pS、qS和n生成明文φnS,根据pkHE和φnS,采用HE生成密文cφnS,其表达式为:n′=HD(skHE,cn)n=n+pS×qS。cφnS=HE(pkHE,φnS)。进一步地,所述参与方A根据pA、qA和n生成明文φnA,根据pkHE和φnA,采用加密算法HE生成密文cφnA,并基于cφnA、cφnS和r1生成密文cmφn,其表达式为:cφnA=HE(pkHE,φnA)式中,cφn为(φnA+φnS)的密文,cmφn为r1×(φnA+φnS)的密文。进一步地,所述参与方S根据skHE和cmφn,采用HD解密得到明文mφn,根据mφn和e生成明文ηS,并根据pkHE和ηS,采用HE生成密文cηS,其表达式为:mφn=HD(skHE,cmφn)ηS=(mφn)-1modecηS=HD(pkHE,ηS)。进一步地,所述参与方A根据e和mdA生成明文dA,根据e和r1生成明文ρA,根据ρA、φnA和mdA生成明文r,根据pkHE和r,采用加密算法HE生成密文cr,并基于cφnA、cηS、cφnS、φnA和ρA生成密文cs,其表达式为:ρA=e-r1r=ρA×φnA+1-mdAcr=HE(pkHE,r)式中,cS为{(ρA×φnA+1-mdA)+φnA×[(mφn)-1mode]+ρA×n-12-pS-qS+1的密文。进一步地,所述参与方S根据skHE和cS,采用HD解密得到明文r2,根据r2、φnS和ηS生成明文mdS,以及根据e和mdS生成明文dS,其表达式为:r2=HD(skHE,cS)mdS=r2+ηS×φnS根据本专利技术的另一方面,本专利技术提供一种利用本专利技术生成的RSA密钥进行协同RSA签名的方法,所述方法包括:参与方A通过哈希函数H计算收到的消息m的哈希值h,并发送h至参与方S;参与方S根据h、n和dS生成部分签名ps,并发送ps给参与方A;参与方A根据h、n、ps和dA生成签名s,并输出s作为对消息m的完整数字签名。进本文档来自技高网...

【技术保护点】
1.一种生成RSA密钥的方法,其特征在于,所述方法包括:/n参与方S执行设置的加法同态加密方案的密钥生成算法HKG得到加密密钥pkHE和解密密钥skHE;根据pkHE和p

【技术特征摘要】
1.一种生成RSA密钥的方法,其特征在于,所述方法包括:
参与方S执行设置的加法同态加密方案的密钥生成算法HKG得到加密密钥pkHE和解密密钥skHE;根据pkHE和pS,采用设置的加法同态加密方案的加密算法HE生成密文cp,根据pkHE和qS,采用HE生成密文cq,并将pkHE、cp和cq发送至参与方A,其中,pS和qS是参与方S持有素数p和q的加法共享值,p=pA+pS且q=qA+qS;
参与方A根据pkHE、pA和qA,采用HE生成密文cA,并基于cp、cq、pA、qA和cA生成密文cn,以及将cn发送至参与方S,其中,pA和qA参与方A持有的素数p和q的加法共享值,p=pA+pS且q=qA+qS;
参与方S根据skHE和cn,采用设置的加法同态加密方案的解密算法HD解密得到明文n’,并根据pS、qS和n’生成明文n;根据pS、qS和n生成明文φnS,根据pkHE和φnS,采用HE生成密文cφnS,并将e、n和cφnS发送至参与方A,其中,e是参与方S利用随机数发生器从(1,n)中选择的素数;
参与方A根据pA、qA和n生成明文φnA,根据pkHE和φnA,采用HE生成密文cφnA,并基于cφnA、cφnS和r1生成密文cmφn,以及将cmφn发送至参与方S,其中,r1是参与方A利用随机数发生器从(1,e)中任意选择的一个自然数;
参与方S根据skHE和cmφn,采用HD解密得到明文mφn,根据mφn和e生成明文ηS,并根据pkHE和ηS,采用HE生成密文cηS,以及将cηS发送至参与方A;
参与方A根据e和r1生成明文ρA,根据ρA、φnA和mdA生成明文r,根据pkHE和r,采用HE生成密文cr,并基于cr、cηS、cφnS、φnA和ρA生成密文cs,以及将cs发送至参与方S,根据e和mdA生成明文dA,保存{n,dA}作为自己的部分密钥片,对应的RSA公钥为{n,e},其中,mdA是参与方A利用随机数发生器从(1,n/216)中任意选择的一个自然数;
参与方S根据skHE和cS,采用HD解密得到明文r2,根据r2、φnS和ηS生成明文mdS,以及根据e和mdS生成明文dS;保存{n,dS}作为自己的部分密钥片,对应的RSA公钥为{n,e}。


2.根据权利要求1所述的方法,其特征在于,所述参与方S执行设置的加法同态加密方案的密钥生成算法HKG得到加密密钥pkHE和解密密钥skHE;根据pkHE和pS,采用设置的加法同态加密方案的加密算法HE生成密文cp,根据pkHE和qS,采用HE生成密文cq,其表达式为:
HKG=(pkHE,skHE)
cp=HE(pkHE,pS)
cq=HE(pkHE,qS)。


3.根据权利要求2所述的方法,其特征在于,所述参与方A根据pkHE、pA和qA,采用HE生成密文cA,并基于cp、cq、pA、qA和cA生成密文cn,其表达式为:
cA=HE(pkHE,pA×qA)



式中,cn为(qA×pS+pA×qS+pA×qA)的密文。


4.根据权利要求1所述的方法,其特征在于,所述参与方S根据skHE和cn,采用设置的加法同态加密方案的解密算法HD解密得到明文n’,并根据pS、qS和n’生成明文n,根据pS、qS和n生成明文φnS,根据pkHE和φnS,采用HE生成密文cφnS,其表达式为:
n’=HD(skHE,cn)
n=n’+pS×qS。



cφnS=HE(pkHE,φnS)。


5.根据权利要求1所述的方法,其特征在于,所述参与方A根据pA、qA和n生成明文φnA,根据pkHE和φnA,采用加密算法HE生成密文cφnA,并基于cφnA、cφnS和r1生成密文cmφn,其表达式为:



cφnA=HE(pkHE,φnA)






式中,cφn为(φnA+φnS)的密文,cmφn为r1×(φnA+φnS)的密文。


6.根据权利要求1所述的方法,其特征在于,所述参与方S根据skHE和cmφn,采用HD解密得到明文mφn,根据mφn和e生成明文ηS,并根据pkHE和ηS,采用HE生成密文cηS,其表达式为:
mφn=HD(skHE,cmφn)
ηS=(mφn)-1mode
cηS=HD(pkHE,ηS)。


7.根据权利要求1所述的方法,其特征在于,所述参与方A根据e和mdA生成明文dA,根据e和r1生成明文ρA,根据ρA、φnA和mdA生成明文r,根据pkHE和r,采用加密算法HE生成密文cr,并基于cφnA、cηS、cφnS、φnA和ρA生成密文cs,其表达式为:



ρA=e-r1
r=ρA×φnA+1-mdA
cr=HE(pkHE,r)



式中,cS为{(ρA×φnA+1-mdA)+φnA×[(mφn)-1mode]+ρA×n-12-pS-qS+1的密文。


8.根据权利要求1所述的方法,其特征在于,所述参与方S根据skHE和cS,采用HD解密得到明文r2,根据r2、φnS和ηS生成明文mdS,以及根据e和mdS生成明文dS,其表达式为:
r2=HD(skHE,cS)
mdS=r2+ηS×φnS





9.一种利用权利要求1至8中任意一个方法生成的RSA密钥进行协同RSA签名的方法,其特征在于,所述方法包括:
参与方A通过哈希函数H计算收到的消息m的哈希值h,并发送h至参与方S;
参与方S根据h、n和dS生成部分签名ps,并发送ps给参与方A;
参与方A根据h、n、ps和dA生成签名s,并输出s作为对消息m的完整数字签名。


10.根据权利要求9所述的方法,其特征在于,所述参与方S根据h、n和dS生成部分签名ps,其计算公式为:





11.根据权利要求9所述的方法,其特征在于,所述参与方A根据h、n、ps和dA生成签名s,其计算公式为:





12.一种利用权利要求1至8中任意一个方法生成的RSA密钥进行协同RSA解密的方法,其特征在于,所述方法包括:
参与方A接收密文c,并发送c至参与方S;
参与方S根据c、n和dS生成部分解密密文pc,并发送pc至参与方A;
...

【专利技术属性】
技术研发人员:马昌社王启刚赵伟龚征危学艳赵晋卞芳
申请(专利权)人:航天信息股份有限公司华南师范大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1