1、 毕业设计(论文)开题报告 题 目 RSA 加密体制的改进与实现 学生姓名 班级学号 专业 计算机科学与技术 RSA算法是第一个既能用于数据加密也能用于数字签名的算法,它易于理解和操作。同时 RSA也是被研究得最广泛的公钥算法,从提出到现在已有二十年,经历了各种攻击的考验,逐 渐为人们接受,在各种安全或认证领域,均起着安全核心的作用,被普遍认为是目前最优秀的 公钥方案之一。但由于RSA算法核心进行的都是大数计算,使得相同条件下RSA最快的情况也 比DES慢上100倍,无论是软件还是硬件实现,速度一直是RSA的缺陷。因此,对提高RSA加密 体制改进的研究是一个非常有意义的课题。 当今的信息社会中
2、,每天都有大量的信息在传输、交换、存储和处理,而这些几乎都要依 赖计算机系统来完成。一旦计算机系统发生安全问题,就可能造成信息的丢失、篡改、伪造、 假冒,以及系统遭受破坏等严重后果。因此,如何有效地保证计算机系统的安全,是当前一个 十分重要的问题。 通常保障网络信息安全的方法有两大类,一是以防火墙技术为代表的被动防卫型。二是建 立在数据加密,用户授权确认机制上的开放型网络安全保障技术。RSA 算法属于后者,它已成 为一种应用极广的公钥密码体制。在广泛的应用中,不仅它的实现技术日趋成熟,而且安全性 也逐渐得到事实的证明,因此人们对 RSA 十分重视,并且提出了许多基于 RSA 的其他公钥密 码体
3、制。 RSA 公钥加密算法最初是 1977 年由 Ron Rivest、Adi Shamirh 和 LenAdleman 在(美国麻 省理工学院)开发的。RSA 取名来自开发他们三者的名字。RSA 是目前最有影响力的公钥加密 算法,它能够抵抗到目前为止已知的所有密码攻击,已被 ISO 推荐为公钥数据加密标准。RSA 算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因 式分解却极其困难,因此可以将乘积公开作为加密密钥。 RSA 是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验, 逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。RSA 的
4、安全性依赖于大数的因子分 解,但并没有从理论上证明破译 RSA 的难度与大数分解难度等价。它是一种非对称密码算法, 所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。 RSA 的算法涉及三个参数,n、e1、e2。 其中,n 是两个大质数 p、q 的积,n 的二进制表示时所占用的位数,就是所谓的密钥长度。 e1 和 e2 是一对相关的值,e1 可以任意取,但要求 e1 与(p-1)*(q-1)互质;再选择 e2,要求 (e2*e1)mod(p-1)*(q-1)=1。 (n 及 e1),(n 及 e2)就是密钥对。 RSA 加解密的算法完全相同,设 A 为明文, B为
5、密文, 则: A=Be1 mod n; B=Ae2 mod n; e1 和 e2 可以互换使用,即: A=Be2 mod n;B=Ae1 mod n 可以看出,RSA加密体制主要基于数论当中的欧拉定理进行一系列的数学变换,以实现加 解密和身份验证。在变换过程中,RSA必需经历大数的模幂乘运算。由于模幂乘运算存在耗时 过多的缺陷,导致RSA的效率受到一定程度的影响,制约其更进一步发展。 RSA 的缺点主要有:A)产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一 密。B)分组长度太大,为保证安全性,n 至少也要 600bits 以上,使运算代价很高,尤其是速 度较慢,较对称密码算法慢几个
6、数量级;且随着大数分解技术的发展,这个长度还在增加,不 利于数据格式的标准化。目前,SET(Secure Electronic Transaction)协议中要求 CA 采用 2048bits 长的密钥,其他实体使用 1024 比特的密钥。C)RSA 密钥长度随着保密级别提高,增加很快。 本课题设计目的在于从数学理论角度出发, 研究当前 RSA 加密体制各算法原理, 分析其安 全性和效率,并结合各传统实现算法优点,提出新型组合算法,改进 RSA 加解密运行速度。 本文主要分文四大部分, 第一部分会就加密体制形成的背景及相关知识进行阐述, 并对 RSA 加密体制与其他加密体制的优缺点进行基本的分析。第二部分主要阐述 RSA 加密体制的数学理 论基础。第三部分主要就 RSA 加密体制的安全性、优势和不足进行详细阐述和分析,了解其产 生原因,提出相应的解决方案。第四部分会分析当前 RSA 各种实现算法的理论基础,分析当前 几种 RSA 的实现算法及其加快运算速度的原理并对它们进行分析、 比较、 归纳。 结合各自优点, 进而提出具体的改进算法并最终实现。以提高加密、解密的速度