一种RSA变体密码体制的模数分解方法技术

技术编号:34324334 阅读:31 留言:0更新日期:2022-07-31 00:50
一种RSA变体密码体制的模数分解方法,对于RSA变体密码体制的公私钥对进行分类讨论,在公私钥对满足N2<ed<N3时,提出利用枚举方法连续测试候选值从而找到合适的k值来计算关键方程,该方法可以在确定时间内分解模数N。当公私钥对满足条件变为N3<ed<N4,这时通过格理论分析技巧、LLL算法求出格中短向量、Coppersmith方法的变体以及Howgrave

【技术实现步骤摘要】
一种RSA变体密码体制的模数分解方法


[0001]本专利技术涉及变体算法安全性领域,具体涉及一种RSA变体密码体制的模数分解方法。

技术介绍

[0002]密码算法的安全性分析工作是密码算法设计工作中不可或缺的一个重要环节,任何一个新密码算法的提出都需要经过安全性分析。然而,这方面的工作相对而言是比较繁复和困难的,目前很多实际的密码算法的安全性都是没有得到严格证明的。因此,为了保障使用的安全性,所有密码算法都是有生命周期的,即密码设计者和专家会根据相关研究和技术发展的趋势估计出一个时间段,密码算法在该时间段内使用应该是比较安全的。
[0003]从密码分析的角度来看,自RSA算法专利技术以来,对其攻击的分析一直在进步。简单地说,找到用户的个人私钥是攻击RSA算法的手段之一。当攻击者获得私钥时,用户与其他人之间的通信将不再安全。攻击者可以截获加密通信并对其解密以获得原始明文。另一方面,整数因子分解问题也与RSA算法的安全性有关,尤其是在已知部分旁道信息的情况下。如果整数分解问题得到有效解决,则意味着攻击者可以将RSA算法的用户公钥的模N分解为p、q,然后计算用户的私钥d。此时,无论如何选择公钥和私钥对,RSA算法是完全不安全的。
[0004]RSA算法的安全性分析一方面有助于设计更可靠、更安全的公钥密码算法,另一方面也有助于开发新的密码分析方法。自格分析技术提出后,成为RSA算法安全性分析的主要手段。格分析技术的基础是格约简算法,它是一种内涵丰富的数学工具,对它的深入研究可以促进对其他公钥密码算法的分析。<br/>[0005]实际上在具体算法实现中还有其它RSA变体算法,它们或是为了提高加解密的效率;或是为了分摊加密端与解密端的资源消耗;或是为了抵御部分已知攻击。尽管之前密码学家已经研究过RSA算法及其几种特殊情况(包括一些RSA变体算法),但仍然缺乏广泛深入的分析。同时,从RSA算法的安全性分析中提取的数学问题也缺乏进一步的研究。因此,利用格分析技术从广度和深度分析RSA及其变种算法的安全性,不仅具有理论指导意义,而且具有实际应用意义。

技术实现思路

[0006]为了丰富格密码在RSA算法上的应用,提高变体RSA算法的安全性,本专利技术公开了一种RSA变体密码体制的模数分解方法,包括如下步骤:
[0007]步骤1,在高斯整数域内对RSA变体密码体制进行研究分析;设定模数设为N=p
·
q,其中p和q是相同位大小的两个素数,p=|P|,q=|Q|,P、Q是两个相同位大小的高斯素数的乘积,给出公私钥对(e,d);
[0008]步骤2,对于不同的公私钥对情况,对于公私钥对N2&lt;ed&lt;N3转入步骤3,对于公私钥对N3&lt;ed&lt;N4转入步骤4;
[0009]步骤3,满足条件N2&lt;ed&lt;N3,利用枚举方法连续测试候选值从而找到合适的k值来计
算关键方程,以恢复N的因数分解;
[0010]步骤4,满足条件N3&lt;ed&lt;N4,结合LLL算法、格分析技术以及改进Coppersmith方法,同时基于Howgrave

Graham算法的近似整数公因子的应用将模方程求解问题转化成了格上短向量的求解问题来完成对RSA模数N的分解,在O(2log
12
N)时间内恢复N的因数分解。
[0011]进一步地,步骤1中,所述RSA变体密码体制的关键方程为:ed

k(|P|

1)(|Q|

1)=1,欧拉函数为:去模后变体RSA算法的关键方程为:ed

k(p2‑
1)(q2‑
1)=1。
[0012]进一步地,步骤1中,所述RSA变体密码体制包括密钥生成算法、加密过程和解密过程,其中;
[0013]密钥生成算法:随机挑选一个与互素的e作为公钥,并计算作为私钥,最后公布自己的公钥(N,e),而私钥(p,q,d)则需要保密;
[0014]加密过程:设e,d是两个整数,使得存在,然后,在高斯整数域上的RSA方案中,明文m∈Z[i],用c≡m
e
(mod N)加密,得到密文为c;
[0015]解密过程:设e,d是两个整数,使得存在,密文c∈Z[i],用m≡c
d
(mod N)解密,得到明文m。
[0016]进一步地,步骤1中,所述RSA变体密码体制中,对于参数要求q&lt;p,得出以下估计:
[0017]由模数为N=p
·
q得到,当且仅当时,p+q取得最小值因为q&lt;p,所以得到以下估计:
[0018]基于欧拉函数给出以下估计:
[0019][0020]进一步地,步骤3中,所述枚举方法具体包括如下步骤:
[0021]步骤S3

1,基于公私钥对的模欧拉函数的方程为1,基于公私钥对的模欧拉函数的方程为那么去模方程就变成了ed=1+k(N2‑
p2‑
q2+1),k∈N;
[0022]步骤S3

2,由于由估计方程得到的数量级是N2,定义一个k的低估由此得到:
[0023][0024]步骤S3

3,利用估计方程得出:
[0025][0026]步骤S3

4,由于ed&lt;N3,得到因此,中的六个值存在一个值等于k,其中(i=0,1,

,5);连续测试六个候选值,选择正确的k值,对于这个k值,计算:
[0027][0028]得到模数N,由此可以得出分解N的运行时间为O(2log2N)。
[0029]进一步地,步骤4中,基于ed

1=k(p2‑
1)(q2‑
1),令U=e
·
d

1,s=p2+q2‑
1,通过N和s表示出U,即U=k(N2‑
s),先从N和U中恢复s,然后再通过s直接恢复出关于N的因式分解;得出关于U对欧拉函数的模数方程此时的欧拉函数变为
[0030]进一步地,步骤4包括如下步骤:
[0031]步骤S4

1,设已知s的高阶比特为s0,令X为某个整数,对于给定的|x0|&lt;X,使得s=s0·
X+x0,令那么欧拉函数变为得到以下同余方程组:
[0032][0033][0034]步骤S4

2,对于0≤j≤m,i=0,以及对于j=m,1≤i≤k,基于上述公式,给出这样一个关于x的多项式:
[0035]g
ij
(x)=x
i
(x

N2+s0X)
j
U
m

j
[0036]步骤S4
‑本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种RSA变体密码体制的模数分解方法,其特征在于:所述方法包括如下步骤:步骤1,在高斯整数域内对RSA变体密码体制进行研究分析;设定模数设为N=p
·
q,其中p和q是相同位大小的两个素数,p=|P|,q=|Q|,P、Q是两个相同位大小的高斯素数的乘积,给出公私钥对(e,d);步骤2,对于不同的公私钥对情况,对于公私钥对N2<ed<N3转入步骤3,对于公私钥对N3<ed<N4转入步骤4;步骤3,满足条件N2<ed<N3,利用枚举方法连续测试候选值从而找到合适的k值来计算关键方程,以恢复N的因数分解;步骤4,满足条件N3<ed<N4,结合LLL算法、格分析技术以及改进Coppersmith方法,同时基于Howgrave

Graham算法的近似整数公因子的应用将模方程求解问题转化成了格上短向量的求解问题来完成对RSA模数N的分解,在O(2log
12Ⅳ)时间内恢复Ⅳ的因数分解。2.根据权利要求1所述的一种RSA变体密码体制的模数分解方法,其特征在于:步骤1中,所述RSA变体密码体制的关键方程为:ed

k(|P|

1)(|Q|

1)=1,欧拉函数为:去模后变体RSA算法的关键方程为:ed

k(p2‑
1)(q2‑
1)=1。3.根据权利要求1所述的一种RSA变体密码体制的模数分解方法,其特征在于:步骤1中,所述RSA变体密码体制包括密钥生成算法、加密过程和解密过程,其中;密钥生成算法:随机挑选一个与互素的e作为公钥,并计算作为私钥,最后公布自己的公钥(N,e),而私钥(p,q,d)则需要保密;加密过程:设e,d是两个整数,使得存在,然后,在高斯整数域上的RSA方案中,明文m∈Z[i],用c≡m
e
(modN)加密,得到密文为c;解密过程:设e,d是两个整数,使得存在,密文c∈Z[i],用m≡c
d
(modN)解密,得到明文m。4.根据权利要求1所述的一种RSA变体密码体制的模数分解方法,其特征在于:步骤1中,所述RSA变体密码体制中,对于参数要求q<p,得出以下估计:由模数为N=p
·
q得到,当且仅当时,p+q取得最小值因为q<p,所以得到以下估计:基于欧拉函数给出以下估计:5.根据权利要求1所述的一种RSA变体密码体制的模数分解方法,其特征在于:步骤3中,所述枚举方法具体包括如下步骤:步骤S3

1,基于公私钥对的模欧拉函数的方程为1,基于公私钥对的模欧拉函数的方程为那么去模方程就
变成了ed=1+k(Ⅳ2

p2‑
q2+1),k∈N;步骤S3

2,由于由估计方程得到的数量级是N2,定义一个k的低估由此得到:步骤S3

3,利用估计方程得出:步骤S3

4,由于ed<N3,得到因此,中的六个值存在一个值等于k,其中(i=0,1,...,5);连续测试六个候选值,选择正确的k值,对于这个k值,计算:得到模数N,由此可以得出分解N的运行时间为O(2log2N)。6.根据权利要求1所述的一种RSA变体密码体制的模数分解方法,其特征在于:步骤4中,基于ed

1=k(p2‑
1)(q2‑
1),令U=e
·
d

1,s=p2+q2‑
1,通过Ⅳ和s表示出U,即U=k(N2‑
s),先从N和U中恢复s,然后再通过s直接恢复出关于N的因式分解;得出关于U对欧拉函数的模数方程此时的欧拉函数变为7.根据权利要求6所述的一种RSA变体密码体制的模数分解方法,其特征在于:...

【专利技术属性】
技术研发人员:耿明达王少辉
申请(专利权)人:南京邮电大学
类型:发明
国别省市:

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

1