【技术实现步骤摘要】
RSA模数生成方法、RSA密钥生成方法、计算机设备及介质
本专利技术涉及密码学
,特别是涉及一种RSA模数生成方法、RSA密钥生成方法、计算机设备和计算机存储介质。
技术介绍
RSA分布式密钥托管通过在托管平台和客户端分别存储RSA私钥的分量,并要求客户端与托管平台协同执行RSA签名生成操作,以防止密钥托管机构滥用权力。为了确保分布式托管的私钥安全,在生成私钥的阶段就要求两个或多个参与方通过执行安全多方计算协议来产生私钥分量,而不能有任何一个参与方获得完整的RSA私钥。RSA私钥的生成,需要获得一个模数N,该模数N必须是两个素数P和Q的乘积。如何通过安全计算协议来获得满足条件的N成为分布式生成RSA私钥的关键技术。而目前的计算模数N的方案,需要消耗大量运算资源,导致效率低下。根据实际测试,对于1024比特的RSA模数平均需要1小时才能计算出一组RSA私钥。而对于2048比特的RSA模数,大约需要1~2天才能够计算出一组RSA私钥,显然并不具有工程实用价值。
技术实现思路
基于此,有必要提供一种RSA模数生成方法、RSA密钥生成方法、计算机设备和计算机存储介质。一种RSA模数生成方法,所述方法包括:当前参与方产生第一长度随机数,第二长度随机数;当前参与方与对端参与方执行乘法转加法协议处理,当前参与方获得第一加法参数和第二加法参数;第一加法参数与对端参与方持有的第三加法参数共享所述第一长度随机数与对端参与方产生的对端第一长度随机数的乘积,第二加法参数与对端参与方持有的第四加法参数共享第二长度随机数与对端参与方产生的对端第二长度随机数的乘积;当前参与方根据第一 ...
【技术保护点】
一种RSA模数生成方法,其特征在于,所述方法包括:当前参与方产生第一长度随机数,第二长度随机数;当前参与方与对端参与方执行乘法转加法协议处理,当前参与方获得第一加法参数和第二加法参数,第一加法参数与对端参与方持有的第三加法参数共享所述第一长度随机数与对端参与方产生的对端第一长度随机数的乘积,第二加法参数与对端参与方持有的第四加法参数共享第二长度随机数与对端参与方产生的对端第二长度随机数的乘积;当前参与方根据第一长度随机数、第二长度随机数、所述第一加法参数、第二加法参数确定第一模数初始分量;当前参与方基于第一模数初始分量和所述对端参与方持有的第二模数初始分量确定RSA模数。
【技术特征摘要】
1.一种RSA模数生成方法,其特征在于,所述方法包括:当前参与方产生第一长度随机数,第二长度随机数;当前参与方与对端参与方执行乘法转加法协议处理,当前参与方获得第一加法参数和第二加法参数,第一加法参数与对端参与方持有的第三加法参数共享所述第一长度随机数与对端参与方产生的对端第一长度随机数的乘积,第二加法参数与对端参与方持有的第四加法参数共享第二长度随机数与对端参与方产生的对端第二长度随机数的乘积;当前参与方根据第一长度随机数、第二长度随机数、所述第一加法参数、第二加法参数确定第一模数初始分量;当前参与方基于第一模数初始分量和所述对端参与方持有的第二模数初始分量确定RSA模数。2.根据权利要求1所述的方法,其特征在于:当前参与方基于第一模数初始分量和所述对端参与方持有的第二模数初始分量确定RSA模数的方式包括:当前参与方与对端参与方交换第一模数初始分量和第二模数初始分量;当前参与方根据所述第一模数初始分量和第二模数初始分量确定RSA模数。3.根据权利要求1所述的方法,其特征在于:当前参与方基于第一模数初始分量和所述对端参与方持有的第二模数初始分量确定RSA模数的方式包括:当前参与方产生第三长度随机数,使得所述第二长度随机数与所述第三长度随机数之和为奇数、模4余3的奇数、素数或者Blum素数;当前参与方以所述第二长度随机数、第三长度随机数为输入参数,与所述对端参与方执行安全点积协议,获得第一点积协议分量;当前参与方根据第一模数初始分量、第一长度随机数、第三长度随机数以及第一点积协议分量确定第一中间分量;当前参与方与对端参与方交换第一中间分量和所述对端参与方确定的第二中间分量,并根据第一中间分量和第二中间分量确定RSA模数。4.根据权利要求3所述的方法,其特征在于,当前参与方与所述对端参与方执行安全点积协议,获得第一点积协议分量的步骤包括:当前参与方随机生成随机参数;当前参与方以所述第二长度随机数、第三长度随机数以及所述随机参数构建当前参与方点积输入向量,与所述对端参与方执行安全点积协议,获得第一点积协议分量。5.根据权利要求3或4所述的方法,其特征在于,在确定RSA模数之后,还包括步骤:当前参与方在所述RSA模数满足模数试除条件时,放弃该RSA模数。6.根据权利要求3或4所述的方法,其特征在于,在确定RSA模数之后,还包括步骤:当前参与方接收所述对端参与方发送的对端参与方验证参数,并根据所述RSA模数、第一长度随机数、第二长度随机数以及第三长度随机数,确定当前参与方验证参数;当前参与方在所述当前参与方验证参数与所述对端参与方验证参数满足预定关系时,将所述RSA模数作为最终确定的RSA模数。7.根据权利要求3或4所述的方法,其特征在于,在确定RSA模数之后,还包括步骤:当前参与方基于第二长度随机数、第三长度随机数、第一长度随机数以及所述RSA模数,确定当前参与方验证参数,并将该当前参与方验证参数发送给对端参与方;所述当前参与方验证参数用于指示所述对端参与方确定对端参与方验证参数后,在所述当前参与方验证参数与所述对端参与方验证参数满足预定关系时,将所述RSA模数作为最终确定的RSA模数。8.一种RSA模数生成方法,其特征在于,所述方法包括:第一参与方产生长度一第一随机数,长度二第一随机数;第二参与方产生长度一第二随机数和长度二第二随机数;第一参与方基于所述长度一第一随机数与长度二第一随机数,所述第二参与方基于长度一第二随机数和长度二第二随机数,执行乘法转加法协议处理,第一参与方获得第一加法参数和第二加法参数,第二参与方获得第三加法参数和第四加法参数;第一加法参数与第三加法参数共享所述长度一第一随机数与长度一第二随机数的乘积,第二加法参数与第四加法参数共享长度二第一随机数与长度二第二随机数的乘积;所述第一参与方根据所述长度一第一随机数、所述长度二第一随机数、所述第一加法参数、第二加法参数确定第一模数初始分量;所述第二参与方根据所述长度一第二随机数、长度二第二随机数、所述第三加法参数、第四加法参数确定第二模数初始分量;第一参与方与第二参与方基于第一模数初始分量和第二模数初始分量确定RSA模数。9.根据权利要求8所述的方法,其特征在于:第一参与方与第二参与方基于第一模数初始分量和第二模数初始分量确定RSA模数的方式包括:第一参与方与第二参与方交换第一模数初始分量和第二模数初始分量;所述第一参与方或者所述第二参与方根据所述第一模数初始分量和第二模数初始分量确定RSA模数。10.根据权利要求8所述的方法,其特征在于:第一参与方与第二参与方基于第一模数初始分量和第二模数初始分量确定RSA模数的方式包括:第一参与方产生长度三第一随机数,使得所述长度二第一随机数与所述长度三第一随机数之和为奇数、模4余3的奇数、素数或者Blum素数;第二参与方产生长度三第二随机数,使得所述长度二第二随机数与所述长度三第二随机数之和为奇数、模4余3的奇数、素数或者Blum素数;第一参与方以所述长度二第一随机数、长度三第一随机数为输入参数,所述第二参与方以所述长度二第二随机数、长度三第二随机数为输入参数,第一参与方与第二参与方执行安全点积协议,第一参与方获得第一点积协议分量,第二参与方获得第二点积协议分量;第一参与方根据第一模数初始分量、长度一第一随机数、长度三第一随机数以及第一点积协议分量确定第一中间分量;第二参与方根据第二模数初始分量、长度一第二随机数、长度三第二随机数以及第二点积协议分量确定第二中间分量;第一参与方与第二参与方交换第一中间分量和第二中间分量,并根据第一中间分量和第二中间分量确定RSA模数。11.根据权利要求10所述的方法,其特征在于,第一参与方与第二参与方执行安全点积协议,第一参与方获得第一点积协议分量,第二参与方获得第二点积协议分量的步骤包括:第一参与方随机生成第一随机参数,第二参与方随机生成第二随机参数;第一参与方以所述长度二第一随机数、所述长度三第一随机数以及所述第一随机参数构建第一参与方点积输入向量,第二参与方以所述长度二第二随机数、长度三第二随机数以及所述第二随机参数构建第二参与方点积输入向量;第一参与方基于第一参与方点积输入向量、第二参与方基于第二参与方点积输入向量,第一参与方与第二参与方执行安全点积协议,第一参与方获得第一点积协议分量,第二参与方获得第二点积协议分量。12.根据权利要求10或11所述的方法,其特征在于,在确定RSA模数之后,还包括步骤:第一参与方或第二参与方在所述RSA模数满足模数试除条件时,放弃该RSA模数。13.根据权利要求10或11所述的方法,其特征在于,在确定RSA模数之后,还包括下述两项中的至少一项::第一项:第二参与方基于长度二第二随机数、长度三第...
【专利技术属性】
技术研发人员:张永强,
申请(专利权)人:数安时代科技股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。