英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料
一个增强和安全的RSA密钥生成方案(esrkgs)
. thangavel, p. varalakshmi, mukund murrali, k. nithya
信息技术部门,麻省理工学院,安娜大学,金奈,辰诺,600044,塔米尔纳杜,印度
2014年6月
摘要:公钥密码学可以被认为是密码学领域中最伟大和最优秀的革命。公钥密码系统用于保密和认证。一个这样的公钥密码系统是RSA密码系统。本文提出了一种基于RSA公钥密码体制的改进和增强方案。与仅基于两个大质数的传统RSA算法相比,所提出的算法利用四个大质数来增加系统的复杂性。在提出的增强和安全的RSA密钥生成方案(esrkgs)中,公共组件n是两个大素数的乘积,但加密(e)和解密(d)密钥的值基于四个大素数(n)使系统高度安全。利用现有的因子分解技术,只有找到素数p和q是可能的。单凭n的知识不足以找到e和d,因为它们基于n。 esrkgs的密码分析所需的时间高于传统的RSA密码系统。因此该系统高度安全,不易破坏。在传统的RSA方案,最近的RSA修改方案和我们的方案之间进行比较,证明我们所提出的技术是有效的。
关键词:密码体制;RSA算法;公钥;私钥;加密;解密
一 介绍
安全性是通过保护信息免受未经授权的用户手中传递出去的保密的概念。为了保证数据的安全,它必须隐藏,以防止未授权用户的访问(机密性),防止修改(完整性)和在需要时可供授权人员使用(可用性)。因此,机密性,完整性和可用性是三个安全目标。安全目标可以用几种技术来实现,其中密码学是最常用和最普遍的技术。密码术是希腊起源的术语,意思是秘密写作。在早些时候,密码学仅涉及加密和解密过程,但今天密码学涉及更复杂的过程。密码系统通常具有三个主要维度,即明文转换为密文所涉及的操作,所使用的密钥的数量以及处理纯文本的方法。基于此,密码系统有两大类。一个是对称密钥密码系统(或共享密钥密码系统),另一个是非对称密钥密码系统(或公钥密码系统)。在对称密钥密码系统中,加密和解密使用相同的密钥完成,而在公钥密码系统中,使用两个不同的密钥完成加密和解密。在两个密钥中,一个密钥是私密的,另一个是公开的。通常使用公钥进行加密,使用私钥进行解密,但是一些方案反过来也是如此。在公钥密码系统中,从公钥中找到私钥在计算上是不可行的。一个公钥密码体制有六个组成部分:1)纯文本; 2)加密算法; 3)公钥; 4)私钥; 5)解密算法; 6)密文。整个密码体系围绕这些关键部分发展。公钥密码系统可用于加密/解密,创建数字签名和密钥交换。在公钥密码系统中,最流行的是由atm开发的rsa密码系统。 rsa算法可以描述如下。
算法1.1:
RSA_Keygen() 输入:俩个大素数p和q; 输出:公钥组件{e,n} 私钥组件{d,n} 程序: n=p*q; /* 计算欧拉函数phi*/ phi;(n)=(p-1)*(q-1) 找到一个满足1 lt;e lt;phi;(n)和gcd(e,phi;(n))= 1的随机数e; 计算一个随机数d,使得d=e-1mod(phi;(n)); RSA_Encrypt() 明文:m(lt;n) 输出: 密文c; 程序: a将消息(或明文)M(lt;n)与公钥一起传送给b; b使用a给的公钥e生成一个密文c; 密文c=memod n; RSA_Decrypto() 输入: 密文c; 输出: 解密文件p; 程序: b将密文c发送给a; a使用私钥d解密文件得到文件d; p=cdmod n; |
为了加强安全性,基于两个质数的RSA算法可以在AL—Hamami和Aldariseh(2012)和Ivyetal的作品中看到,但是这两种方法的缺点是,由于加密和解密不涉及复杂性,所以可以通过传输公钥的知识容易地获得原始消息。夏尔马等人提出了RSA算法的另一种变体,在RSA上使用改进的子集和加密。子集和问题是对np-完整类问题的一个很好的介绍。这种方法在操作上非常复杂。所以安全级别高于以前的方法,但由于基于因式分解的原因,该方法无法有效地抵御暴力攻击。本文通过引入一种名为“修改试用分割技术”的新技术来实现大数量的rsa算法。该工作通过引入增强的rsa算法,其中从关键字中消除了n的分布,从而不能追溯到因子p和q。基于改进的蒙哥马利算法的收缩RSa密码体制和基于硬件实现的中国剩余定理(crt)技术。 rsa的另一个变种叫做beairsa(批量加密助手改进的rsa),它通过传输一些解密计算求幂来提高批量rsa解密性能。本论文rsa系统分为四个阶段:设置,渗流,指数和渗出。这个方案加速了解密过程。开发了一种新颖的模乘算法及其应用加密算法。后面的工作是通过使用中国剩余定理和强素数标准加速RSA, 引入高效的模乘算法。介绍一种新的算法(sa_rsa),该算法提出了乔东函数的设计,并将它们应用于rsa公开密钥密码体制,其中一个公钥和一个私钥用于开发协议以提供安全通信,由Majan和Easo(2012)介绍。该计划表明,密钥大小的增加会增加系统的安全性。
在本文中,提出了一种增强的rsa密钥生成方案(esrkgs),以减少在rsa情况下可能发生的直接攻击。该方案基于四个大素数而不是两个。此外,密钥不直接依赖于公钥n。因此在所提出的方法中任何类型的暴力攻击都是困难的。
第二部分综述了最近几种改进的RSA算法及其在这些方法中的不足之处。在第3节中详细说明了所提出的算法ESRKGS。在第4节中说明了所提出方法的数学证明。在第5节中,对该方法与其它方法的性能进行了比较,结果表明,与其他系统相比,ESRKGS不易被蛮力攻击。最后,在第6节中讨论了本算法的结论。
二 相关工作
许多研究人员已经提出了一些修改rsa算法的建议。用每种情况下使用的算法讨论几个最近提出的和主要的修改。
2.1基于n素数的rsa密码系统(ivyetal.2012)
在这项工作中,引入四个素数对RSA进行了修正。该算法描述如下:
算法2.1基于n素数的rsa密码系统
Keygen() 输入: 四个大素数p,q,r和s; 输出: 公钥组件{e,n}; 私钥组件{d,n}; 程序: N=p*q*r*s; /* 计算欧拉函数phi*/ phi;(n)=(p-1)*(q-1)*(r-1)*(s-1) 找到一个满足1 lt;e lt;phi;(n)和gcd(e,phi;(n))= 1的随机数e; 计算一个随机数d,使得d=e-1mod(phi;(n)); |
2.2使用安全的RSA加密和解密(jamgekar and joshi, 2013)
在这种方法中,从明文中计算密文带来了复杂性。在解密部分也使用了类似的级别复杂度。该算法可以描述如下:
算法2.2安全的RSA加密和解密
Keygen() 输入: 四个大素数p,q,r和s; 输出: 公钥组件{n,m,g,e}; 私钥组件{d,lambda;,mu;}; 程序: n=p*q; m=g*e; /* 计算欧拉函数n*/ phi;(n))=(p-1)*(q-1); /* 计算欧拉函数m*/ lambda;(m)=(r-1)*(s-1); 找到一个满足1 lt;e lt;phi;(n)和gcd(e,phi;(n))= 1的随机数e; 计算秘密指数d,满足1 lt;d lt;phi;使得e*dmod(phi;)=1; 选择整数g=m 1 /*计算模逆*/ mu;=lambda;-1mod n; Encrypt() 输入: 明文s(lt;n); 输出: 密文c; 程序: 选一个随机整数r,rlt;m; 计算密文c=gs^(e mod n)*rmmod m2; Decrypto() 输入: 密文,c; 输出: 解密文本,s; 程序: 计算明文s, S=(((clambda;mod m2-1)/m)* mu;mod m)dmod n |
这种方法克服了以前算法的缺点。该算法还使用四个素数,密钥生成阶段与RSA相似。该系统是高度安全的,因为加密和解密不仅依赖于N,而且还计算了其他新的因素。该算法的缺点是加密和解密计算非常复杂。有几个参数被引入,其需求没有明显的理由。因此,它增加了系统的开销。
2.3改进的RSA算法(ChabRA和Mthur,2011)
该方法消除了转移N的需要,因此黑客很难从所使用的质数中获得结论。该系统的缺点是攻击者可以很容易地以已知的k,p和d的值攻击系统。该算法可以描述如下:
算法2.3 改进的RSA算法
Keygen() 输入:俩个大素数p和q; 输出:公钥组件kp; 私钥组件ks; 程序: n=p*q; /* 计算欧拉函数phi n*/ phi;(n)=(p-1)*(q-1) 随机取一个数kp,满足lg nlt;kplt;n且gcd(kp,n)=1; 计算一个随机数d: 如果pgt;q,则n-plt;dlt;n且d与n互质; 如果plt;q,则n-qlt;dlt;n且d与n互质; d常用的公式是kp*ksmod(d)=1; ks可以用公式kp*ks=1 mod(d); Encrypt() 输入: 明文,m(lt;n); 输出: 密文,c; 程序: 计算密文, c=mk(p)mod d; Decrypt() 输入: 密文,c; 输出: 解密文本,m; 程序: 计算明文, m=ck(s)mod d; |
三 提出的模型
所提出的ESRKGS方案专注于消除上面讨论的RSA系统的主要问题。大多数RSA系统很容易被破解,因为密钥的计算是基于N.而N可以很容易地用因式分解找到(ALI和SalaMi,2004;LeSTRA,1987),因为它仅仅是一个2素数的乘积。如果得到这个N,黑客可以很容易地找到密钥,从而破坏系统。在下面的部分中讨论了使所提出的系统更加高效的RSA算法的主要修改。
3.1 esrkgs密钥生成
提议的esrkgs密钥生成涉及四个素数的使用。 e,d的值取决于n的值,它是4个素数的乘积。 e的计算也不是直接的。需要值e1,e2来查找e1的值,从而增加攻击系统所花费的时间。只有n的值被保留为公共和私人组件。因此具有n知识的攻击者无法确定所有的素数,这些素数是找到n的值和随后的d的基础。参数e1也增加了系统的复杂性。出于安全目的,所有选择的素数的位长与传统RSA算法长度相同。算法如下:
算法3.1 esrkgs密钥生成
Esrkgs_Key_gen() 输入: 四个大素 剩余内容已隐藏,支付完成后下载完整资料 资料编号:[23273],资料为PDF文档或Word文档,PDF文档可免费转换为Word |
课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。