RSA密钥生成方法、计算机设备及介质技术

技术编号:27009423 阅读:31 留言:0更新日期:2021-01-08 17:16
本发明专利技术涉及一种RSA密钥生成方法、计算机设备和介质,一个实施例的RSA密钥生成方法包括:当前参与方获得素数一当前参与方分量、素数二当前参与方分量,与对端参与方共享欧拉函数值,获得第一欧拉函数分量,与对端参与方执行安全点积协议,获得第三点积协议分量,基于第三点积协议分量、第一选择随机数、第一欧拉函数分量、第二选择随机数以及公开指数,确定第一共享参数分量,并与对端参与方交换第一共享参数分量和对端参与方确定的第二共享参数分量后,确定第一整数和第二整数后,根据第一整数和第二整数,确定第一RSA私钥分量。本实施例方案在满足安全性的情况下提高了整体效率。

【技术实现步骤摘要】
RSA密钥生成方法、计算机设备及介质本申请是于2017年12月27日提交中国专利局,申请号为2017114477448,专利技术名称为“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模数生成方法,所述方法包括:第一参与方产生长度一第一随机数,长度二第一随机数;第二参与方产生长度一第二随机数和长度二第二随机数;第一参与方基于所述长度一第一随机数与长度二第一随机数,所述第二参与方基于长度一第二随机数和长度二第二随机数,执行乘法转加法协议处理,第一参与方获得第一加法参数和第二加法参数,第二参与方获得第三加法参数和第四加法参数;第一加法参数与第三加法参数共享长度一第一随机数与长度一第二随机数的乘积,第二加法参数与第四加法参数共享长度二第一随机数与长度二第二随机数的乘积;第一参与方根据长度一第一随机数、长度二第一随机数、所述第一加法参数、第二加法参数确定第一模数初始分量;所述第二参与方根据所述长度一第二随机数、长度二第二随机数、第三加法参数、第四加法参数确定第二模数初始分量;第一参与方与第二参与方基于第一模数初始分量和第二模数初始分量确定RSA模数。一种RSA私钥生成方法,包括步骤:当前参与方获得素数一当前参与方分量、素数二当前参与方分量;其中素数一当前参与方分量与对端参与方获得的素数一对端参与方分量共享素数一,素数二当前参与方分量与对端参与方获得的素数二对端参与方分量共享素数二;当前参与方根据素数一当前参与方分量、素数二当前参与方分量与对端参与方共享欧拉函数值,获得第一欧拉函数分量;当前参与方基于选择的第一选择随机数、第二选择随机数,与对端参与方执行安全点积协议,获得第三点积协议分量;当前参与方基于第三点积协议分量、第一选择随机数、第一欧拉函数分量、第二选择随机数以及公开指数,确定第一共享参数分量;当前参与方与对端参与方交换第一共享参数分量和对端参与方确定的第二共享参数分量后,确定第一整数和第二整数,其中,第一共享参数分量与第二共享参数分量的和值与第一整数的第一乘积,与第二整数与所述公开指数的第二乘积的和值为预设整数;当前参与方根据第一整数和第二整数,确定第一RSA私钥分量。一种RSA私钥生成方法,包括步骤:第一参与方获得素数一第一分量、素数二第一分量,第二参与方获得素数一第二分量、素数二第二分量,素数一第一分量与素数一第二分量共享素数一,素数二第一分量与素数二第二分量共享素数二;第一参与方与第二参与方根据素数一第一分量、素数二第一分量素数一第二分量、素数二第二分量共享欧拉函数值,第一参与方获得第一欧拉函数分量,第二参与方获得第二欧拉函数分量;基于第一参与方选择的第一选择随机数、第二选择随机数,以及第二参与方选择的第三选择随机数、第四选择随机数,第一参与方与第二参与方执行安全点积协议,第一参与方获得第三点积协议分量,第二参与方获得第四点积协议分量;第一参与方基于第三点积协议分量、第一选择随机数、第一欧拉函数分量、第二选择随机数以及公开指数,确定第一共享参数分量;第二参与方基于第三点积协议分量、第三选择随机数、第二欧拉函数分量、第四选择随机数以及所述公开指数,确定第二共享参数分量;第一参与方与第二参与方交换第一共享参数分量和第二共享参数分量后,确定第一整数和第二整数,其中,第一共享参数分量与第二共享参数分量的和值与第一整数的第一乘积,与第二整数与公开指数的第二乘积的和值为预设整数;第一参与方根据第一整数、第二选择随机数和第二整数,确定第一RSA私钥分量,第二参与方根据第一整数、第四选择随机数,确定第二RSA私钥分量。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。根据如上所述的实施例的方案,通过引入较短的随机数,然后基于较短的随机数进行处理得到多个较长的随机数,通过引入随机数的方式来完成RSA模数和RSA密钥,一定程度上兼顾了客户端计算资源不足的缺陷,也在满足一定安全性的情况下提高了整体效率。附图说明图1为一个本实施例方案的应用环境的示意图;图2为一个实施例中的RSA模数生成方法的流程示意图;图3为另一个实施例中的RSA模数生成方法的流程示意图;图4为一个具体示例中的生成RSA模数的交互流程示意图;图5为一个实施例的RSA密钥生成方法的流程示意图;图6为另一个实施例的RSA密钥生成方法的流程示意图;图7为一个具体示例中的生成RSA私钥的交互流程示意图;图8是一个实施例中的计算机设备的内部结构示意图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。图1为一个实施例中的RSA模数和RSA密钥生成方法的本文档来自技高网...

【技术保护点】
1.一种RSA私钥生成方法,其特征在于,包括步骤:/n当前参与方获得素数一当前参与方分量、素数二当前参与方分量,其中素数一当前参与方分量与对端参与方获得的素数一对端参与方分量共享素数一,素数二当前参与方分量与对端参与方获得的素数二对端参与方分量共享素数二;/n当前参与方根据素数一当前参与方分量、素数二当前参与方分量与对端参与方共享欧拉函数值,获得第一欧拉函数分量;/n当前参与方基于选择的第一选择随机数、第二选择随机数,与对端参与方执行安全点积协议,获得第三点积协议分量;/n当前参与方基于第三点积协议分量、第一选择随机数、第一欧拉函数分量、第二选择随机数以及公开指数,确定第一共享参数分量;/n当前参与方与对端参与方交换第一共享参数分量和对端参与方确定的第二共享参数分量后,确定第一整数和第二整数,其中,第一共享参数分量与第二共享参数分量的和值与第一整数的第一乘积,与第二整数与所述公开指数的第二乘积的和值为预设整数;/n当前参与方根据第一整数和第二整数,确定第一RSA私钥分量。/n

【技术特征摘要】
1.一种RSA私钥生成方法,其特征在于,包括步骤:
当前参与方获得素数一当前参与方分量、素数二当前参与方分量,其中素数一当前参与方分量与对端参与方获得的素数一对端参与方分量共享素数一,素数二当前参与方分量与对端参与方获得的素数二对端参与方分量共享素数二;
当前参与方根据素数一当前参与方分量、素数二当前参与方分量与对端参与方共享欧拉函数值,获得第一欧拉函数分量;
当前参与方基于选择的第一选择随机数、第二选择随机数,与对端参与方执行安全点积协议,获得第三点积协议分量;
当前参与方基于第三点积协议分量、第一选择随机数、第一欧拉函数分量、第二选择随机数以及公开指数,确定第一共享参数分量;
当前参与方与对端参与方交换第一共享参数分量和对端参与方确定的第二共享参数分量后,确定第一整数和第二整数,其中,第一共享参数分量与第二共享参数分量的和值与第一整数的第一乘积,与第二整数与所述公开指数的第二乘积的和值为预设整数;
当前参与方根据第一整数和第二整数,确定第一RSA私钥分量。


2.根据权利要求1所述的方法,其特征在于,当前参与方基于选择的第一选择随机数、第二选择随机数,与对端参与方执行安全点积协议,获得第三点积协议分量的步骤包括:
当前参与方随机生成随机参数;
当前参与方以选择的第一选择随机数、第二选择随机数以及所述随机参数构建当前参与方点积输入向量,与所述对端参与方执行安全点积协议,获得第三点积协议分量。


3.根据权利要求1或2所述的方法,其特征在于,在当前参与方确定第一RSA私钥分量之后,还包括步骤:
当前参与方接收对端参与方发送的差值,所述差值为所述对端参与方确定的第二RSA私钥分量和对端参与方私钥分量的差值;
当前参与方根据所述第一RSA私钥分量和所述差值确定当前参与方私钥分量。


4.根据权利要求1或2所述的方法,其特征在于,当前参与方确定第一RSA私钥分量之后,还包括步骤:
当前参与方根据设备ID和用户口令计算出与RSA私钥分量相关的敏感参数;
当前参与方根据所述敏感参数、第一RSA私钥分量派生出所述当前参与方私钥分量。


5.根据权利要求1或2所述的方法,其特征在于,在当前参与方为服务器时,当前参与方确定第一RSA私钥分量之后,还包括步骤:
当前参与方将第五随机数作为当前参与方私钥分量;
当前参与方确定所述第一RSA私钥分量和所述当前参与方私钥分量的差值,并将该差值发送给所述对端参与方;所述差值用于指示所述对端参与方根据所述差值和所述对端参与方确定的第一RSA私钥分量确定第一参与方私钥分量。


6.一种RSA私钥生成方法,其特征在于,包括步骤:
第一参与方获得素数一第一分量、素数二第一分量,第二参与方获得素数一第二分量、素数二第二分量;素数一第一分量与素数一第二分量共享素数一,素数二第一分量与素数二第二分量共享素数二;
第一参与方与第二参与方根...

【专利技术属性】
技术研发人员:张永强
申请(专利权)人:数安时代科技股份有限公司
类型:发明
国别省市:广东;44

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

1