文档介绍:浅析RSA加密算法摘要:RSA算法不但能用于数据加密,也能用于数字签名,还能检测素数的算法,所以它是目前最有影响力的公钥加密算法,能够抵抗到目前为止已知的所有密码攻击。其安全性依赖于大素数因数分解的困难性。文章主要介绍RSA的加密算法原理、加密与解密过程,存在的攻击,以及参数选择。关键词:非对称密码;RSA算法;加密;素数;参数;量子算法中图分类号:TP311文献标识码:A文章编号:1009-3044(2013)09-2062-02 近年来,网络的发展和普及,解除了人们传统意义上的时间和空间上的束缚,真正实现了全球信息化。但与此同时,由于网络的开放性、互动性和全球性等特性,信息篡改、假冒和窃取等不安全问题也日益增多。因此,信息安全成为当今社会一个热门的话题。在传输信息过程中,为确保信息的安全性和保密性,信息加密成为一种主要措施。加密算法的种类不胜枚举。从2012年为期5天的RSA大会中,可见RSA已经运用到社会中的各个领域,受到了全世界的关注。这主要基于RSA加密算法不仅易于理解和实现,而且安全性好。 1RSA加密算法 [1]中描述RSA算法是在1977年由Rivest、SchaMir和AdleMan发明的。RSA算法是一种既用于数据加密也可以数字签名的非对称密码算法,其安全性依赖于因子分解大数问题。 RSA密码算法是利用陷门单向函数的一种可逆模指数运算,它的安全性是基于大数分解的困难性。下面给出RSA体制的算法流程: 1)RSA加解密算法的初始化第一,加解密系统随机地选取两个非公开的大素数p和q。第二,计算出公开的模数N和非公开的欧拉函数,[N=pq],[φN=p-1q-1]。第三,随机生成一个整数e作为加密秘钥,并使成立。第四,计算d(私钥),使得)成立,即,为安全起见立即销毁p、q及e。 2RSA算法存在攻击尽管对于RSA的密码分析已经研究了三十多年,但它依然是流行和可靠的。可是,在RSA算法实现的细节上存在一些缺陷,这导致了RSA的安全性下降,从而使RSA被攻击者攻破。下面简单地概述一下目前对RSA算法攻击的几种主要方法。 。这是一种最直接和最困难的的方法。一旦对N进行分解成功,就很容易得到密钥e。大整数因子分解一直是数论和密码学理论研究中的主要课题。根据目前的研究表明,目前最快的因式分解算法的复杂度为[Ο2(log2n)log2log2n]。此外,在文献[4]中,作者提出了用于分解强素数乘积构成的RSA模数N的算法,能够进一步提高了运算效率。 。,利用测定RSA解密所进行的模指数的运算时间来估计解密指数d,然后再确定d的值;可以通过将解密运算量与参数d无关来挫败时间攻击;不断强力穷举密钥。 ,过对密文反复用公开密钥加密,可以使明文出现。例:如果取RSA参数(N,e)为(35,17),明文M为33,加密明文:[c=3317mod35=3];再次加密:[317mod35=33],从而得到明文。 ,攻击者不仅对可以密文进行攻击,也可以通过获取明文消息的部分信息进行破译或恢复整个明文。这也是RSA存在的另一个安全性的重要问题。